yuanzhi_kuang 5 gün önce
ebeveyn
işleme
bee4353e15

+ 8 - 0
addon/customer/nx/empBatchAffair/PlatformPreResignEdit.js

@@ -0,0 +1,8 @@
+shr.defineClass("shr.batchAffair.PlatformPreResignEdit", shr.framework.Edit, {
+	
+	initalizeDOM: function() {
+		shr.batchAffair.PlatformPreResignEdit.superClass.initalizeDOM.call(this);
+		var self = this;
+
+	}
+});

+ 273 - 0
addon/customer/nx/empBatchAffair/PlatformPreResignList.js

@@ -0,0 +1,273 @@
+/**
+ * 员工预离职列表
+ */
+shr.defineClass("shr.batchAffair.PlatformPreResignList", shr.framework.List, {
+
+    initalizeDOM: function() {
+        shr.batchAffair.PlatformPreResignList.superClass.initalizeDOM.call(this);
+
+    },
+
+    // 单据反审核
+    doDelete: function(selectedIds) {
+         var _self = this;
+        var url = shr.getContextPath() + "/dynamic.do?method=delete&uipk=" + jsBinder.uipk;
+        shr.showConfirm('您确认要删除吗?',
+        function() {
+            top.Messenger().hideAll();
+            shr.remoteCall({
+                url: url,
+                type: 'POST',
+                param: {
+                    billId: selectedIds,
+                    logModel: shr.toJSON($("#grid").jqGrid("getSelectedRowsData"))
+                },
+                success: function(response) {
+                    shr.showInfo({
+                        message: "成功清除预离职信息",
+                        hideAfter: 5
+                    });
+                    _self.reloadGrid();
+                }
+            });
+        });
+    },
+
+    /**
+	 * 描述:删除操作 
+	 */
+    deleteRecord: function(selectedIds) {
+        var _self = this;
+
+        compareBillStateVal = [0],
+        billState = '';
+        if (_self.beforeAbortBill()) {
+            billState = _self.getGridCellValue('billState');
+            if ($.inArray(billState, compareBillStateVal) != -1) {
+                _self.doDelete(selectedIds);
+            } else {
+                shr.showWarning({
+                    message: '只有单据状态为【未提交】的预离职单,才能被清除!'
+                });
+            }
+        }
+
+    },
+
+    getNewDataAction: function() {
+        var _self = this;
+        // openLoader(1,"正在更新,请稍等..."); 
+        var url = shr.getContextPath() + "/dynamic.do?method=getNewData&uipk=" + jsBinder.uipk;
+        shr.remoteCall({
+            url: url,
+            type: 'POST',
+            success: function(response) {
+                shr.showInfo({
+                    message: "最新名单获取成功",
+                    hideAfter: 5
+                });
+                _self.reloadGrid();
+
+            }
+        });
+        // closeLoader(); 
+    },
+
+    /**
+     * 生成单人离职单
+     */
+    effectSingleEmpResignBillAction: function() {
+        var _self = this;
+        if ($("#grid").jqGrid("getSelectedRows").length == 0) {
+            shr.showWarning({
+                message: "请先选中表格中的数据!"
+            });
+            return;
+        }
+        
+        var billId = _self.getSelectedIds();
+         _self.remoteCall({
+                method: 'createResign',
+                param: {
+                    billId: billId
+                },
+                success: function(reponse) {
+                    if(reponse && reponse.code == 200){
+                        shr.showInfo({
+                            message: '执行成功,请在离职流程跟踪查看生成的数据!'
+                        });
+                    }else{
+                        shr.showError({
+                            message: "执行错误!"
+                        });
+                    }
+                }
+            });
+    },
+
+    //批量维护
+    batchMaintainAction: function() {
+        //当前列表没有数据时,弹出提示语,不出现弹出框
+        var gridData = $("#grid").jqGrid("getRowData");
+        if (!gridData.length) {
+            shr.showInfo({
+                message: '当前列表没有数据!'
+            });
+            return;
+        }
+        var selectedIds = this.getSelectedIds();
+        if (!selectedIds || selectedIds.length == 0) {
+            shr.showError({
+                message: "请先选中表格中的数据!"
+            });
+            return;
+        }
+        var self = this,
+        _propfield_data = [{
+            value: 'applyDate',
+            alias: '提出离职日期',
+            type: 'Date'
+        },
+        {
+            value: 'preResignDate',
+            alias: '预离职日期',
+            type: 'Date'
+        },
+        {
+            value: 'preResignType',
+            alias: '预离职状态',
+            type: 'F7',
+            f7uipk: 'com.kingdee.eas.hr.emp.app.PreResignType.FastFilter.F7',
+            f7value: '',
+            f7valText: '',
+            f7title: '预离职状态'
+        },
+        {
+            value: 'variationReason',
+            alias: '预离职原因',
+            type: 'F7',
+            f7uipk: 'com.kingdee.eas.hr.base.app.VariationReason.FastFilter.F7',
+            f7value: '',
+            f7valText: '',
+            f7title: '预离职原因',
+            f7filter: tempfilter
+        }];
+        //维护字段
+        var data = {};
+        data.propfield_data = _propfield_data;
+        data.maintainEntityName = "com.kingdee.eas.hr.customextend.PlatformPreResign";
+        data.objectName_FieldName = "person.name";
+        data.executeHandler = "com.kingdee.shr.batchAffair.web.handler.EmpBatchPlatformPreResignListHandler";
+        employeeBatchMaintainProp.initBatchMaintainOperate(self, data);
+    },
+    bathPreResignByExcelAction: function() {
+        var curIOModelString = "com.kingdee.eas.hr.customextend.PlatformPreResign";
+        var customData = tempfilter;
+        this.doImportData("bathPreResignByExcel", {
+            tempfilter: tempfilter
+        });
+    },
+
+    // 单据撤回
+    abortBillAction: function() {
+        var _self = this,
+        compareBillStateTxt = ['未审批', '审批中', '审批不通过'],
+        compareBillStateVal = [1, 2, 4],
+        billState = '';
+        if (_self.beforeAbortBill()) {
+            billState = _self.getGridCellValue('billState');
+            if ($.inArray(billState, compareBillStateVal) != -1) {
+                _self.doAbortBill();
+            } else {
+                shr.showWarning({
+                    message: '只有单据状态为' + compareBillStateTxt.join(',') + '的单据,才能被撤回'
+                });
+            }
+        }
+    },
+
+    doAbortBill: function() {
+        var self = this,
+        billId = self.getSelectedIds();
+        shr.showConfirm('撤回单据后,单据状态将变成 \'未提交\' 状态,确认撤回?',
+        function() {
+            self.remoteCall({
+                method: 'abortBill',
+                param: {
+                    billId: billId
+                },
+                success: function(reponse) {
+                    shr.showInfo({
+                        message: '单据撤回成功。'
+                    });
+                    self.reloadGrid();
+                }
+            });
+        });
+    },
+
+    getGridCellValue: function(colName) {
+        var self = this,
+        rowid = self.getSelectedIds(),
+        $grid = $(self.gridId);
+        return $grid.jqGrid("getCell", rowid, colName);
+    },
+
+    beforeAbortBill: function() {
+        var billId = $("#grid").jqGrid("getSelectedRows");
+        if (!billId || billId.length == 0) {
+            shr.showWarning({
+                message: '请先选中表格中的数据!'
+            });
+            return false;
+        } else if (billId.length > 1) {
+            shr.showInfo({
+                message: '请选中一行。'
+            });
+            return false;
+        }
+        return true;
+    },
+
+    // 单据反审核
+    untiCheckAction: function() {
+        var _self = this,
+        compareBillStateVal = [3],
+        billState = '';
+        if (_self.beforeAbortBill()) {
+            billState = _self.getGridCellValue('billState');
+            if ($.inArray(billState, compareBillStateVal) != -1) {
+                _self.doAntiApproval();
+            } else {
+                shr.showWarning({
+                    message: '只有单据状态为【审批通过】的单据,才能被反审批'
+                });
+            }
+        }
+    },
+
+    doAntiApproval: function() {
+        var self = this,
+        billId = self.getSelectedIds();
+        shr.showConfirm('反审批单据后,单据状态将变成 \'未提交\' 状态,确认反审批?',
+        function() {
+            self.remoteCall({
+                method: 'untiCheck',
+                param: {
+                    billId: billId
+                },
+                success: function(reponse) {
+                    shr.showInfo({
+                        message: '单据反审批成功。'
+                    });
+                    self.reloadGrid();
+                }
+            });
+        });
+    },
+
+    //exportToExcelAction:function(){
+    //
+    //	shr.batchAffair.EmpBatchPreResignList.superClass.exportToExcelAction.call(this);
+    //},
+});

+ 186 - 0
addon/customer/nx/empBatchAffair/empBatchPlatformPreResignList.js

@@ -0,0 +1,186 @@
+/**
+ * 员工预离职列表
+ */
+shr.defineClass("shr.batchAffair.EmpBatchPlatformPreResignList", shr.batchAffair.EmpBatchMaintainBaseList, {
+	tempfilter: '',
+	initalizeDOM: function() {
+		shr.batchAffair.EmpBatchPlatformPreResignList.superClass.initalizeDOM.call(this);
+		this.loadMaintainPropFiles();
+			
+		 this.remoteCall({
+					method: "getReasonByDefineType",
+					param: {
+						bizDefineType : '4'
+					},
+					success: function(data) {
+						tempfilter = data.filter;	
+					}
+				});
+	},
+	loadMaintainPropFiles:function(){
+		shr.loadScript(shr.getContextPath() + '/addon/employee/web/js/shr/emp/empBatchParamUtils.js');
+		shr.loadScript(shr.getContextPath() + '/addon/employee/web/js/shr/emp/empBatchDialogUtils.js');
+		shr.loadScript(shr.getContextPath() + '/addon/employee/web/js/shr/emp/employeeBatchMaintainProp.js');
+		shr.loadCss(shr.getContextPath() + '/addon/employee/web/css/shr/emp/employeeBatchMaintainProp.css');
+	},
+	//加载list
+	billListAction:function(){
+	    var self = this;
+	    self.reloadPage({
+			uipk: "com.kingdee.eas.custom.app.PlatPreRes.list"
+		});
+	},
+
+	
+	/**
+	 * 描述:删除操作 
+	 */
+	deleteRecord:function(selectedIds) {
+		var _self = this;
+		var url = shr.getContextPath() + "/dynamic.do?method=delete&uipk="+jsBinder.uipk;
+		shr.showConfirm('您确认要删除吗?', function(){
+			top.Messenger().hideAll();
+			
+			shr.remoteCall({
+				url:url,
+				type:'POST',
+				param: {
+					billId: selectedIds,
+				    logModel:shr.toJSON($("#grid").jqGrid("getSelectedRowsData"))
+				},
+				success : function(response) {
+					 shr.showInfo({
+								message: "成功清除预离职信息",
+								hideAfter: 5
+							});
+				_self.getGrid().jqGrid("reloadGrid");
+				}
+			});	
+		});
+	},
+	 getNewDataAction: function () {
+		 var _self = this;
+		 // openLoader(1,"正在更新,请稍等..."); 
+		 var url = shr.getContextPath() + "/dynamic.do?method=getNewData&uipk="+jsBinder.uipk;
+		 shr.remoteCall({
+				url:url,
+				type:'POST',
+				success : function(response) {
+					 shr.showInfo({
+								message: "最新名单获取成功",
+								hideAfter: 5
+							});
+				_self.getGrid().jqGrid("reloadGrid");
+
+				}
+			});	
+		 // closeLoader(); 
+	 },
+	/**
+     * 生成单人离职单
+     */
+    effectSingleEmpResignBillAction: function () {
+    	var _self = this;
+    	if($("#grid").jqGrid("getSelectedRows").length == 0){
+			shr.showWarning({
+				message: "请先选中表格中的数据!"
+			});
+			return;
+		}
+    	if($("#grid").jqGrid("getSelectedRows").length > 1){
+			shr.showWarning({
+				message: "仅支持单人生成单人离职单,请重新选择!",
+				hideAfter: null
+			});
+			return;
+		}
+    	var billId = _self.getSelectedIds();
+		console.log(billId)
+    	// shr.remoteCall({//数据校验
+		// 	url : shr.getContextPath() + "/dynamic.do?method=effectSingleEmpEnrollBill&uipk="+jsBinder.uipk,
+		// 	type : "POST",
+		// 	param:{"billId":billId},
+		// 	success : function(res){
+		// 		if(res.errorInfo != ""){
+		// 			shr.showWarning({
+		// 				message: res.errorInfo,
+		// 				hideAfter: null
+		// 			});
+		// 			return;
+		// 		}
+				_self.reloadPage({
+					uipk: 'com.kingdee.eas.hr.affair.app.ResignBizBill.formAll',
+					method : 'addNew',
+					personId: billId,
+					ignoreHROrgF7Cache: false
+				});
+		// 	}
+		// });
+	},
+	
+	//批量维护
+	batchMaintainAction:function(){
+		//当前列表没有数据时,弹出提示语,不出现弹出框
+		var gridData=$("#grid").jqGrid("getRowData");
+		if( !gridData.length ){
+			shr.showInfo({message:'当前列表没有数据!'});
+			return;
+		}
+		var selectedIds = this.getSelectedIds();
+		if(!selectedIds || selectedIds.length == 0){
+			shr.showError({
+				message: "请先选中表格中的数据!"
+			});
+			return;
+		}
+		var self = this,
+		_propfield_data = [{value: 'applyDate', alias:'提出离职日期',type:'Date'},
+			{value: 'preResignDate', alias:'预离职日期',type:'Date'},
+			{value: 'preResignType', alias:'预离职状态',type:'F7',f7uipk:'com.kingdee.eas.hr.emp.app.PreResignType.FastFilter.F7',f7value:'',f7valText:'',f7title:'预离职状态'}, 
+			{value: 'variationReason', alias:'预离职原因',type:'F7',f7uipk:'com.kingdee.eas.hr.base.app.VariationReason.FastFilter.F7',f7value:'',f7valText:'',f7title:'预离职原因',
+					f7filter: tempfilter}
+		];
+		//维护字段
+		var data ={};
+		data.propfield_data = _propfield_data;
+		data.maintainEntityName = "com.kingdee.eas.hr.customextend.PlatformPreResign";
+		data.objectName_FieldName = "person.name";
+		data.executeHandler = "com.kingdee.shr.batchAffair.web.handler.EmpBatchPlatformPreResignListHandler";
+		employeeBatchMaintainProp.initBatchMaintainOperate(self,data);
+	},
+	bathPreResignByExcelAction:function(){
+		var curIOModelString = "com.kingdee.eas.hr.customextend.PlatformPreResign";
+		var customData = tempfilter;
+		this.doImportData("bathPreResignByExcel",{tempfilter:tempfilter});
+	},
+	
+	exportToExcelAction:function(){
+	
+		shr.batchAffair.EmpBatchPreResignList.superClass.exportToExcelAction.call(this);
+	},
+	//单个维护
+	onCellSelect: function(rowid, colIndex, cellcontent, e) {
+		var _self = this;
+		_self.selectedRowId = rowid;
+		return;
+		
+		// // 选择的是选择框
+		// if (colIndex == 0) {
+		// 	return;
+		// }
+		
+		// var billId = $(_self.gridId).jqGrid("getCell", rowid, "plaPre.id");
+		// if( billId !="" && billId != undefined ){
+		// 	shr.batchAffair.EmpBatchPlatformPreResignList.superClass.viewAction.call(this,billId);
+		// }else{
+		// 	// addNew
+		// 	var empPosOrgRelaID = $(_self.gridId).jqGrid("getCell", rowid, "empOrgRelation.id");
+		// 	var data = {
+		// 		uipk: this.getEditUIPK(),
+		// 		method: 'addNew',
+		// 		empPosOrgRelaID: empPosOrgRelaID
+		// 	};
+		// 	shr.batchAffair.EmpBatchPlatformPreResignList.superClass.reloadPage.call(this,data);
+		// }
+	}
+});

+ 62 - 0
addon/customer/nx/orgnization/orgEditEx.js

@@ -0,0 +1,62 @@
+/**
+* 组织拓展
+* 202511
+*/
+shr.defineClass("shr.org.AdminOrgUnitEditEx", shr.org.AdminOrgUnitEdit, {
+
+	initalizeDOM:function(){
+		var _self = this;
+		shr.org.AdminOrgUnitEditEx.superClass.initalizeDOM.call(this);
+	 
+		
+		if(_self.getOperateState() != 'VIEW'){
+			//面向修改
+			var fid =  $('#id').val();
+			_self.switchStylePct(fid);
+			//切换上级
+			_self.getField('adminorgext_ProjCat').shrPromptBox("setFilter","BaseInfo.id = ''");
+			_self.getField('parent').shrPromptBox("option",
+				{
+					onchange: function(e, value) {
+						var paId = value.current.id;
+						_self.switchStylePct(paId);
+					}
+				});
+		}
+		
+	},
+	
+	
+	/**
+     * 项目分类过滤与界面
+     */
+	switchStylePct: function(paId) {
+		var _self = this;
+		 
+		shr.callHandler({
+	 			handler: "com.kingdee.eas.hr.org.web.handler.OrgUnitEditHandlerEx",
+	 			action: "getProjectCategoryFilter",
+	 			param:{
+	 				billId : paId ,
+	 			},
+	 			async: true,
+	 			type: "POST",
+	 			success: function (res) {
+					if(res && res.length > 0 ){
+						$("#"+_self.getRealId('adminorgext_ProjCat')).shrPromptBox('option', 'required', true);
+						$("#"+_self.getRealId('adminorgext_ProjCat')).shrPromptBox('enable');
+					}else{
+						$("#"+_self.getRealId('adminorgext_ProjCat')).shrPromptBox('option', 'required', false);
+						$("#"+_self.getRealId('adminorgext_ProjCat')).shrPromptBox('disable');
+					}
+					const arr = res;
+					const sqlString = `(${arr.map(s => `'${s}'`).join(',')})`;
+					_self.getField('adminorgext_ProjCat').shrPromptBox("setFilter","BaseInfo.id in " + sqlString);
+	 			}
+	 		});
+	},
+	
+	
+	 
+	
+});

+ 65 - 0
addon/customer/wwy/compensation/cmpCalDynamicListEx.js

@@ -0,0 +1,65 @@
+
+
+/**
+*
+*薪酬核算向导拓展;
+*/
+shr.defineClass("shr.compensation.CmpCalDynamicListEx", shr.compensation.CmpCalDynamicList, {
+	
+	initalizeDOM : function() {
+		var _self = this;
+		shr.compensation.CmpCalDynamicListEx.superClass.initalizeDOM.call(_self);		
+
+	
+
+	},		
+		
+ 
+	
+	
+	//解除锁定
+	finalizedDataAction : function(){
+		var _self = this;
+		_self.dynCalonfirm("您还有未保存的数据,确认保存并继续操作吗?", function(){
+			var param = _self.getSelectParams(),
+				optParam = {optName:'cancelLock',colName:"cmp_ctb.calstate"};
+			$.extend(param,{
+				cmpschemeid : _self.cmpschemeid,
+				periodYear : _self.calSchemeInfo.periodYear,
+				periodMonth : _self.calSchemeInfo.periodMonth,
+				 
+			});
+			var method = "finalizedData";
+			message = "获取定案数据成功";
+
+			if(_self.checkEditCell()){
+				_self.saveCmpCalDynGridAction(function(){
+					_self.finalizedData(method, param, message);
+				});
+			}else{
+				_self.finalizedData(method, param, message);
+			}
+		});
+	},
+	
+	
+	//保存锁定/解除锁定
+	finalizedData : function(method, param, message){
+		_self = this;
+		_self.remoteCall({
+			type : "post",
+			showBlock : true,
+			method : method,
+			param : param,
+			success : function(data){
+				  _self.queryGrid();
+			 
+				shr.showInfo({
+					message : data.message||message,
+					hideAfter : 30
+				});
+			}
+		});
+	},
+		
+});

+ 106 - 0
addon/customer/wwy/emp/WebmasterEdit.js

@@ -0,0 +1,106 @@
+shr.defineClass("shr.emp.WebmasterEdit", shr.framework.Edit, {
+	
+	initalizeDOM: function() {
+		shr.emp.WebmasterEdit.superClass.initalizeDOM.call(this);
+		var self = this;
+
+	_self.$editGrid = _self.getField("entrys");
+		_self.initEditGridToolBar();
+
+	},
+	
+		/**
+	 * 是否支持导入功能,职等调整现不支持,后续支持后可将该判断开关去掉
+	 */
+	isNeedImportBtn : function(){
+		return true;
+	},
+	
+	
+	/**
+	 * 初始化editGrid的按钮
+	 */
+	initEditGridToolBar : function(){
+		var self = this;
+		 
+		if(self.isNeedImportBtn()){
+			var importBtnHtml = $("<button id='import_entrys' type='button' class='shrbtn-primary shrbtn' name='import'>导入</button>");
+			$('#deleteRow_entrys').css("margin-left","4px");
+			importBtnHtml.insertBefore($('#deleteRow_entrys'));
+			$('#import_entrys').shrButton({
+				actionBinding: 'importAction',
+				subAction: '',
+				customData: ""
+			});
+		}
+	},
+	
+	
+	getEntrysGrid : function(){
+		return $("#entrys");
+	},
+	
+	importAction: function(){
+		var self = this;
+		var hrOrgUnitId = shr.getFieldValue("hrOrgUnit");
+		if(!hrOrgUnitId){
+			shr.showError({
+				message:"请先选择人事业务组织",
+				hideAfter:5
+			});
+			return;
+		}
+//		self.importDoAction();
+		var uipk = shr.getUrlRequestParam("uipk");
+		var serviceId = shr.getUrlRequestParam("serviceId");
+		btnName = 'import';
+		var callback = function(data){
+			if(data && data.length>0){
+				var $editGrid = self.getEntrysGrid();
+				var entryDatas = $editGrid.jqGrid('getRowData');
+				var exist = false;
+				for(var i=0;i<data.length;i++){
+					entry = data[i];
+					exist = false;
+					if(entryDatas.length){
+						$.each(entryDatas, function(i, value){
+							if(value.person.id == entry.person.id){
+								exist = true;
+								return;
+							}
+						});
+					}
+					if(!exist){
+						var newRowId = _self.findNextId($editGrid);
+						$editGrid.jqGrid("addRowData", newRowId, entry, "last");
+					}
+				}
+			}
+		}
+		shr.doImportExcel({ btnName: btnName, uipk: uipk, serviceId: serviceId, customParam: {billId:shr.getUrlRequestParam('billId'),hrOrgUnitId:hrOrgUnitId}}, callback);
+	},
+	
+		/**
+	 * 生成新的rowId
+	 */
+	findNextId : function() {
+        var self = this;
+		var maxId = 0;
+        self.$editGrid.find("tr").each(function () {
+            var id = $(this).attr("id");
+            if(/^[0-9]*$/.test(id)){//如果ids[i]是纯数字则认为是未保存时生成的临时行序号,进行比较,不加这个判断数字开头的id也能成功parseInt()
+	            try {
+	                id = parseInt(id);
+	                if (id > maxId) {
+	                    maxId = id;
+	                }
+	            } catch (e) {
+	            }
+            }
+        });
+        maxId = parseInt(maxId) + 1;
+        return maxId;
+    },
+	
+	
+});