fixAdjustSalaryEx.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292
  1. shr.defineClass("shr.customer.gtiit.FixAdjustSalaryEx", shr.cmpdesign.FixAdjustSalary, {
  2. initalizeDOM:function(){
  3. shr.customer.gtiit.FixAdjustSalaryEx.superClass.initalizeDOM.call(this);
  4. },
  5. initEditDiv: function(){
  6. $("#fileEdit").hide();
  7. var _self = this;
  8. $("#fileEdit").children(":first").append('<input type="hidden" id="id"/><span style="float: right;margin-right:20px;" class="shr-toolbar"><button id="fields_save" type="button" name="fields_save" class="shrbtn-primary shrbtn" onclick="">'
  9. +jsBizMultLan.cod_fixAdjustSalary_i18n_15
  10. +'</button><button id="fields_cancel" type="button" name="fields_cancel" class="shrbtn-primary shrbtn" onclick="">'
  11. +jsBizMultLan.cod_fixAdjustSalary_i18n_12
  12. +'</button></span>');
  13. $("#fields_save").click(function(){
  14. window.Messenger().hideAll();
  15. if (_self.validate()==false) {
  16. shr.setIframeHeight();
  17. return;
  18. }
  19. if(!isEditButton){
  20. return;
  21. }
  22. if(_self.moneyError) {
  23. _self.moneyError = false;
  24. return;
  25. }
  26. //isEditButton = false;
  27. var config = _self.getEditColumnConfig();
  28. var param = {
  29. adjEmpORelationId: $("#adjEmpORelation").val(),
  30. adjHrOrgUnit : shr.getUrlRequestParam("adjustHrOrgId"),
  31. personId : shr.getUrlRequestParam("personId"),
  32. id: $("#id").val(),
  33. serviceId : encodeURIComponent(shr.getServiceId()),
  34. };
  35. //校验
  36. if($('#standard').shrPromptBox("getValue") && $('#standard').shrPromptBox("getValue").id){
  37. if($.isEmptyObject($('#stdLevel').shrPromptBox("getValue")) || !$('#stdLevel').shrPromptBox("getValue").id){
  38. shr.showError({
  39. message : jsBizMultLan.cod_fixAdjustSalary_i18n_19,
  40. });
  41. isEditButton = true;
  42. return;
  43. }
  44. }
  45. //拼装后台需要参数
  46. for (var i = 0; i < config.length; i++) {
  47. var columnConfig = config[i];
  48. var fieldName = columnConfig.name;
  49. var fieldId = fieldName.replace(".", "_");
  50. var $field = $("#" + fieldId);
  51. var dataType = columnConfig.dataType;
  52. // 后续如果有枚举类型可以在此添加
  53. if (dataType == "date") {
  54. param[fieldName] = $field.shrDateTimePicker("getValue");
  55. } else if (dataType == "F7") {
  56. var arr = $field.shrPromptBox("getValue");
  57. //多选的需要特殊处理
  58. if(arr && arr.length > 0){
  59. var ids = "";
  60. for(var k = 0;k < arr.length;k++){
  61. ids += arr[k].id + ",";
  62. }
  63. ids = ids.substring(0, ids.length - 1);
  64. param[fieldName] = ids;
  65. }else if(arr && "id" in arr){
  66. param[fieldName] = arr.id;
  67. }
  68. } else if(fieldName == "money") {
  69. param[fieldName] = $field.shrNumberField('getValue');
  70. } else if(fieldName == "adjEmpORelation"){
  71. param[fieldName] = $field.val();
  72. }else if(fieldName == "retroactiveDate"){
  73. //追溯发放月份
  74. param[fieldName] = $field.shrDateTimePicker("getValue");
  75. }else if(fieldName == "traceability"){
  76. //是否追溯
  77. param[fieldName] = $field.val();
  78. }else{
  79. param[fieldName] = $field.shrTextField("getValue");
  80. }
  81. }
  82. if($('#defaultCmpStd').shrPromptBox("getValue")!=null && 'id' in $('#defaultCmpStd').shrPromptBox("getValue")){
  83. param.defaultCmpStd = $('#defaultCmpStd').shrPromptBox("getValue").id;
  84. }else{
  85. param.defaultCmpStd = "";
  86. }
  87. _self.remoteCall({
  88. method: "saveEditData",
  89. param: param,
  90. async: false,
  91. success: function(data) {
  92. shr.showInfo({message:jsBizMultLan.cod_fixAdjustSalary_i18n_1});
  93. var rowdatas = data.afterSaveData;
  94. //清空列表数据
  95. waf("#cmpSchemeF7table").clearGridData()
  96. for(var i = 0;i < rowdatas.length;i++){
  97. waf("#cmpSchemeF7table").wafGrid("addRow",{data:rowdatas[i]});
  98. }
  99. $("#fileEdit").hide();
  100. //删除历史
  101. if($("#queryTimeCountDataDiv").length > 0 || $("#queryAllTimeCountDataDiv").length > 0){
  102. $("#queryTimeCountDataDiv").remove();
  103. $("#queryAllTimeCountDataDiv").remove();
  104. }
  105. isEditButton = true;
  106. shr.setIframeHeight();
  107. },
  108. error : function(){
  109. isEditButton = true;
  110. }
  111. });
  112. var effectDay = $("#effectDay").shrDateTimePicker("getValue");
  113. var retroactiveDate = $("#retroactiveDate").shrDateTimePicker("getValue");
  114. // 人员id
  115. var personId = shr.getUrlRequestParam("personId");
  116. var money = $("#money").val();
  117. _self.remoteCall({
  118. method: "addReviewData",
  119. param: {personId:personId,effectDay:effectDay,retroactiveDate:retroactiveDate,money:money},
  120. success: function(data) {
  121. },
  122. error : function(){
  123. }
  124. });
  125. });
  126. //隐藏编辑
  127. $("#fields_cancel").click(function(){
  128. $("#fileEdit").hide();
  129. shr.setIframeHeight();
  130. });
  131. $("#traceability").on("change", function () {
  132. var traceabilityValue = $("#traceability_el").val();
  133. if(traceabilityValue == "1"){
  134. _self.getField("retroactiveDate").shrDateTimePicker('option', 'required', true);
  135. }else{
  136. _self.getField("retroactiveDate").shrDateTimePicker('option', 'required', false);
  137. }
  138. });
  139. },
  140. addRowAction:function(){
  141. //增加权限控制
  142. $("#money").shrTextField("enable");
  143. _self = this;
  144. if($("#queryTimeCountDataDiv").length > 0 || $("#queryAllTimeCountDataDiv").length > 0){
  145. $("#queryTimeCountDataDiv").remove();
  146. $("#queryAllTimeCountDataDiv").remove();
  147. }
  148. _self.remoteCall({
  149. method : "checkAddRowPerm",
  150. param : {
  151. serviceId : encodeURIComponent(shr.getServiceId()),
  152. },
  153. success : function(datas){
  154. $("#fileEdit").show();
  155. $("label:contains(jsBizMultLan.cod_fixAdjustSalary_i18n_2)").remove();
  156. for (var i = 0; i < datas.length; i++) {
  157. var data = datas[i];
  158. var fieldName = data.name;
  159. var dataType = data.dataType;
  160. var fieldId = fieldName.replace(".", "_");
  161. if(dataType == "F7"){
  162. $('#' + fieldId).shrPromptBox("setValue","");
  163. }else if(dataType == "date"){
  164. $('#' + fieldId).shrDateTimePicker("setValue","");
  165. }else if(dataType == "enum"){
  166. $('#' + fieldId).shrSelect("setValue","");
  167. }else if('adjEmpORelation' == fieldId){
  168. $('#' + fieldId).val("");
  169. }else if(fieldName == "retroactiveDate"){
  170. //追溯发放月份
  171. $("#retroactiveDate").shrDateTimePicker("setValue", "");
  172. }else if(fieldName == "traceability"){
  173. //是否追溯默认为否
  174. $("#traceability").val("No");
  175. }else{
  176. $('#' + fieldId).shrTextField("setValue","");
  177. }
  178. }
  179. //增加默认的发薪业务组织
  180. $("#payHrOrgUnit").shrPromptBox("setValue",adjustHrOrgUnitF7Val);
  181. //需要追加id
  182. $("#standard").shrPromptBox("setValue",$("#defaultCmpStd").shrPromptBox("getValue"));
  183. $('#id').val("");
  184. $('#adjEmpORelation').val("");
  185. //默认回填人民币
  186. $("#currency").shrPromptBox("setValue",{id : _self.initData.currency.id, name : _self.initData.currency.name});
  187. $("label:contains(jsBizMultLan.cod_fixAdjustSalary_i18n_2)",$("#fileEdit")).remove();
  188. $("div.required.error",$("#fileEdit")).removeClass("error");
  189. shr.setIframeHeight();
  190. //增加默认职位,行政组织
  191. var adjustEmpORelations = $(window.parent.frames["resume-001"].document).find("div[id^='entry']");
  192. if(adjustEmpORelations.length>0){
  193. var lastLeffectDate =null;
  194. var $lastAdjustEmpORelation;
  195. for(var i = 0;i <adjustEmpORelations.length;i++){
  196. var $adjustEmpORelation = $(adjustEmpORelations[0]);
  197. var leffectDateStr = $adjustEmpORelation.find("span[id^='leffectDateentry']")[0].value;
  198. var assignType = $adjustEmpORelation.find("span[id^='empOrgRelation_assignType']")[0].value;
  199. var leffectDate = new Date(leffectDateStr);
  200. if(assignType==1&&(lastLeffectDate == null||leffectDate>lastLeffectDate)){
  201. lastLeffectDate = leffectDate;
  202. $lastAdjustEmpORelation = $adjustEmpORelation;
  203. }
  204. }
  205. var positionVal = $adjustEmpORelation.find("span[id^='empOrgRelation_positionentry']")[0];
  206. var adminOrgUnit = $adjustEmpORelation.find("span[id^='empOrgRelation_adminOrg_department']")[0];
  207. var adjEmpORelationId=$adjustEmpORelation.find("form[id='form']").find("input[id =id]").val();
  208. var lastAdminOrgUnit;
  209. if(adminOrgUnit.value){
  210. lastAdminOrgUnit = {'adminOrg.id':adminOrgUnit.value,'adminOrg.name':adminOrgUnit.title,'position.id':positionVal.value,'position.name':positionVal.title};
  211. }else{
  212. var company = $adjustEmpORelation.find("span[id^='empOrgRelation_adminOrg_company']")[0];
  213. lastAdminOrgUnit = {'adminOrg.id':company.value,'adminOrg.name':company.title,'position.id':positionVal.value,'position.name':positionVal.title}
  214. }
  215. $("#adminOrgUnit").shrPromptBox("setValue",lastAdminOrgUnit);
  216. $('#adjEmpORelation').val(adjEmpORelationId);
  217. }
  218. }
  219. });
  220. },
  221. // 编辑时设置初始值
  222. setInitData: function(rowId) {
  223. var _self = this;
  224. _self.remoteCall({
  225. method: "getFieldEditConfig",
  226. param: {},
  227. success: function(datas) {
  228. if (datas) {
  229. var rowDatas = waf("#cmpSchemeF7table").getRowRealData(rowId);
  230. $("#fileEdit").show();
  231. for (var i = 0; i < datas.length; i++) {
  232. var data = datas[i];
  233. var fieldName = data.name;
  234. var dataType = data.dataType;
  235. var fieldId = fieldName.replace(".", "_");
  236. if("adminOrgUnit" == fieldId){
  237. $("#adminOrgUnit").shrPromptBox("setValue", {"adminOrg.id" : rowDatas[fieldName].id, "adminOrg.name":rowDatas[fieldName].name});
  238. }else if (dataType == "F7") {
  239. $("#" + fieldId).shrPromptBox("setValue", rowDatas[fieldName]);
  240. } else if(fieldName == 'money') {
  241. $("#" + fieldId).shrNumberField("setValue", rowDatas[fieldName]);
  242. }else if(fieldName == 'effectDay' || fieldName == 'leffectDay'){
  243. $("#" + fieldId).shrDateTimePicker('setValue', rowDatas[fieldName]);
  244. } else {
  245. $("#" + fieldId).val(rowDatas[fieldName]);
  246. }
  247. }
  248. if(rowDatas.stdLevel && rowDatas.stdLevel.id && rowDatas.stdPoint && rowDatas.stdPoint.id && isControl){
  249. $("#money").shrTextField("disable");
  250. }else{
  251. $("#money").shrTextField("enable");
  252. }
  253. if(rowDatas.standard && rowDatas.standard.id && rowDatas.currency){
  254. $("#currency").shrPromptBox("disable")
  255. }else{
  256. $("#currency").shrPromptBox("enable");
  257. }
  258. //需要追加id
  259. $('#id').val(rowDatas.id_add);
  260. $('#adjEmpORelation').val(rowDatas.adjEmpORelation);
  261. _self.fillRemark(rowDatas.id_add);
  262. }
  263. shr.setIframeHeight();
  264. var thisTraceabilityValue = $("#traceability").val();
  265. if(thisTraceabilityValue == "Yes"){
  266. _self.getField("retroactiveDate").shrDateTimePicker('option', 'required', true);
  267. }
  268. }
  269. });
  270. }
  271. });