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. if($("#traceability").val() == "Yes"){
  113. var effectDay = $("#effectDay").shrDateTimePicker("getValue");
  114. var retroactiveDate = $("#retroactiveDate").shrDateTimePicker("getValue");
  115. // 人员id
  116. var personId = shr.getUrlRequestParam("personId");
  117. var money = $("#money").val();
  118. _self.remoteCall({
  119. method: "addReviewData",
  120. param: {personId:personId,effectDay:effectDay,retroactiveDate:retroactiveDate,money:money},
  121. success: function(data) {
  122. },
  123. error : function(){
  124. }
  125. });
  126. }
  127. });
  128. //隐藏编辑
  129. $("#fields_cancel").click(function(){
  130. $("#fileEdit").hide();
  131. shr.setIframeHeight();
  132. });
  133. $("#traceability").on("change", function () {
  134. var traceabilityValue = $("#traceability_el").val();
  135. if(traceabilityValue == "1"){
  136. _self.getField("retroactiveDate").shrDateTimePicker('option', 'required', true);
  137. }else{
  138. _self.getField("retroactiveDate").shrDateTimePicker('option', 'required', false);
  139. }
  140. });
  141. },
  142. addRowAction:function(){
  143. //增加权限控制
  144. $("#money").shrTextField("enable");
  145. _self = this;
  146. if($("#queryTimeCountDataDiv").length > 0 || $("#queryAllTimeCountDataDiv").length > 0){
  147. $("#queryTimeCountDataDiv").remove();
  148. $("#queryAllTimeCountDataDiv").remove();
  149. }
  150. _self.remoteCall({
  151. method : "checkAddRowPerm",
  152. param : {
  153. serviceId : encodeURIComponent(shr.getServiceId()),
  154. },
  155. success : function(datas){
  156. $("#fileEdit").show();
  157. $("label:contains(jsBizMultLan.cod_fixAdjustSalary_i18n_2)").remove();
  158. for (var i = 0; i < datas.length; i++) {
  159. var data = datas[i];
  160. var fieldName = data.name;
  161. var dataType = data.dataType;
  162. var fieldId = fieldName.replace(".", "_");
  163. if(dataType == "F7"){
  164. $('#' + fieldId).shrPromptBox("setValue","");
  165. }else if(dataType == "date"){
  166. $('#' + fieldId).shrDateTimePicker("setValue","");
  167. }else if(dataType == "enum"){
  168. $('#' + fieldId).shrSelect("setValue","");
  169. }else if('adjEmpORelation' == fieldId){
  170. $('#' + fieldId).val("");
  171. }else if(fieldName == "retroactiveDate"){
  172. //追溯发放月份
  173. $("#retroactiveDate").shrDateTimePicker("setValue", "");
  174. }else if(fieldName == "traceability"){
  175. //是否追溯默认为否
  176. $("#traceability").val("No");
  177. }else{
  178. $('#' + fieldId).shrTextField("setValue","");
  179. }
  180. }
  181. //增加默认的发薪业务组织
  182. $("#payHrOrgUnit").shrPromptBox("setValue",adjustHrOrgUnitF7Val);
  183. //需要追加id
  184. $("#standard").shrPromptBox("setValue",$("#defaultCmpStd").shrPromptBox("getValue"));
  185. $('#id').val("");
  186. $('#adjEmpORelation').val("");
  187. //默认回填人民币
  188. $("#currency").shrPromptBox("setValue",{id : _self.initData.currency.id, name : _self.initData.currency.name});
  189. $("label:contains(jsBizMultLan.cod_fixAdjustSalary_i18n_2)",$("#fileEdit")).remove();
  190. $("div.required.error",$("#fileEdit")).removeClass("error");
  191. shr.setIframeHeight();
  192. //增加默认职位,行政组织
  193. var adjustEmpORelations = $(window.parent.frames["resume-001"].document).find("div[id^='entry']");
  194. if(adjustEmpORelations.length>0){
  195. var lastLeffectDate =null;
  196. var $lastAdjustEmpORelation;
  197. for(var i = 0;i <adjustEmpORelations.length;i++){
  198. var $adjustEmpORelation = $(adjustEmpORelations[0]);
  199. var leffectDateStr = $adjustEmpORelation.find("span[id^='leffectDateentry']")[0].value;
  200. var assignType = $adjustEmpORelation.find("span[id^='empOrgRelation_assignType']")[0].value;
  201. var leffectDate = new Date(leffectDateStr);
  202. if(assignType==1&&(lastLeffectDate == null||leffectDate>lastLeffectDate)){
  203. lastLeffectDate = leffectDate;
  204. $lastAdjustEmpORelation = $adjustEmpORelation;
  205. }
  206. }
  207. var positionVal = $adjustEmpORelation.find("span[id^='empOrgRelation_positionentry']")[0];
  208. var adminOrgUnit = $adjustEmpORelation.find("span[id^='empOrgRelation_adminOrg_department']")[0];
  209. var adjEmpORelationId=$adjustEmpORelation.find("form[id='form']").find("input[id =id]").val();
  210. var lastAdminOrgUnit;
  211. if(adminOrgUnit.value){
  212. lastAdminOrgUnit = {'adminOrg.id':adminOrgUnit.value,'adminOrg.name':adminOrgUnit.title,'position.id':positionVal.value,'position.name':positionVal.title};
  213. }else{
  214. var company = $adjustEmpORelation.find("span[id^='empOrgRelation_adminOrg_company']")[0];
  215. lastAdminOrgUnit = {'adminOrg.id':company.value,'adminOrg.name':company.title,'position.id':positionVal.value,'position.name':positionVal.title}
  216. }
  217. $("#adminOrgUnit").shrPromptBox("setValue",lastAdminOrgUnit);
  218. $('#adjEmpORelation').val(adjEmpORelationId);
  219. }
  220. }
  221. });
  222. },
  223. // 编辑时设置初始值
  224. setInitData: function(rowId) {
  225. var _self = this;
  226. _self.remoteCall({
  227. method: "getFieldEditConfig",
  228. param: {},
  229. success: function(datas) {
  230. if (datas) {
  231. var rowDatas = waf("#cmpSchemeF7table").getRowRealData(rowId);
  232. $("#fileEdit").show();
  233. for (var i = 0; i < datas.length; i++) {
  234. var data = datas[i];
  235. var fieldName = data.name;
  236. var dataType = data.dataType;
  237. var fieldId = fieldName.replace(".", "_");
  238. if("adminOrgUnit" == fieldId){
  239. $("#adminOrgUnit").shrPromptBox("setValue", {"adminOrg.id" : rowDatas[fieldName].id, "adminOrg.name":rowDatas[fieldName].name});
  240. }else if (dataType == "F7") {
  241. $("#" + fieldId).shrPromptBox("setValue", rowDatas[fieldName]);
  242. } else if(fieldName == 'money') {
  243. $("#" + fieldId).shrNumberField("setValue", rowDatas[fieldName]);
  244. }else if(fieldName == 'effectDay' || fieldName == 'leffectDay'){
  245. $("#" + fieldId).shrDateTimePicker('setValue', rowDatas[fieldName]);
  246. } else {
  247. $("#" + fieldId).val(rowDatas[fieldName]);
  248. }
  249. }
  250. if(rowDatas.stdLevel && rowDatas.stdLevel.id && rowDatas.stdPoint && rowDatas.stdPoint.id && isControl){
  251. $("#money").shrTextField("disable");
  252. }else{
  253. $("#money").shrTextField("enable");
  254. }
  255. if(rowDatas.standard && rowDatas.standard.id && rowDatas.currency){
  256. $("#currency").shrPromptBox("disable")
  257. }else{
  258. $("#currency").shrPromptBox("enable");
  259. }
  260. //需要追加id
  261. $('#id').val(rowDatas.id_add);
  262. $('#adjEmpORelation').val(rowDatas.adjEmpORelation);
  263. _self.fillRemark(rowDatas.id_add);
  264. }
  265. shr.setIframeHeight();
  266. var thisTraceabilityValue = $("#traceability").val();
  267. if(thisTraceabilityValue == "Yes"){
  268. _self.getField("retroactiveDate").shrDateTimePicker('option', 'required', true);
  269. }
  270. }
  271. });
  272. }
  273. });