Browse Source

uat文件更新

yuanzhi_kuang 6 months ago
parent
commit
cdbdcf3057

+ 103 - 0
GDYSL/addon/custmoer/web/js/shr/rpt/AllSalaryList.js

@@ -0,0 +1,103 @@
+
+// 可以查看所有的工资套打js
+shr.defineClass("shr.customer.gtiit.rpt.AllSalaryList", shr.framework.List, {
+	initalizeDOM : function () {
+		var that = this;
+		//that.setColModelData();
+		shr.customer.gtiit.rpt.AllSalaryList.superClass.initalizeDOM.call(this);
+		
+		
+	},
+	/**
+	 * 套打模板名称
+	 */
+	getTemplateName: function() {
+		return '/s-HR/PayrollFT';//客户端合同管理文件夹的路径
+	},
+	/**
+	 * 套打QueryPK
+	 */
+	getTemplateQueryPK: function() {
+		return 'com.kingdee.eas.custom.salarytemplate.app.WagesChromatographyQuery';//数据源名称,如果只有一个数据源可以在这里指定,如果多个数据源需要在PrintHelpDataProvider.java 中指定
+	},
+	/**
+	 * 套打dataProvider
+	 */
+	getTemplateDataProvider: function() {
+		return 'com.kingdee.shr.batchAffair.web.util.PrintHelpDataProvider';//数据处理类,固定,不需要修改
+	},
+	/**
+	 * 套打
+	 */
+	templatePrintAction: function() {//套打方法,固定,不需要修改
+	var selectRows = $("#grid").jqGrid("getSelectedRows");
+	var number=null;
+	if(selectRows.length==0){
+		shr.showError({
+				message: "Please first query and then select the data in the table for template printing!",
+				hideAfter: 5
+			});
+			return;
+		
+	}else if(selectRows.length>1){
+		shr.showError({
+				message: "Please select one of the rows of data!",
+				hideAfter: 5
+			});
+			return;
+	}
+		for (var i = 0; i < selectRows.length; i++) {  
+      // 在这里处理每个选中的行  
+       var rowId = selectRows[i];  
+	  number= $("#grid").jqGrid("getCell",rowId,'calculationNumber');
+      // 根据需要执行其他操作,例如获取行数据或进行其他处理  
+     }
+	 // 判断模板的路径
+	 
+	 var tdTemplateName = null;
+	 if(number=='GT002'){
+		 // 兼职
+		  tdTemplateName='/s-HR/PayrollPT'
+		 // tdTemplateName = this.getTemplateName();
+	 }else if(number='GT001'){
+		 tdTemplateName = this.getTemplateName();
+	 }else{
+		 shr.showError({
+				message: "The calculation scheme for the selected data was not found",
+				hideAfter: 5
+			});
+			return;
+	 }
+	 
+		
+		var dataProvider = this.getTemplateDataProvider();
+		var tdQueryPK = this.getTemplateQueryPK();
+		var billId;
+	    billId = this.getSelectedFields();
+		if (billId && billId.length > 0) {
+			billId =  billId.toString();
+		}else{
+			billId = $("#grid").jqGrid('getDataIDs')[0];
+		}
+		var url =waf.getContextPath()+"/component/ReportTemplate.do?";
+		var param = {
+			method:'initalize',
+			tdTemplateName: tdTemplateName,
+		  	dataProvider: dataProvider,
+		  	billID:billId,
+		  	tdQueryPK:tdQueryPK
+		};
+		url = url + $.param(param);
+	
+		var html = '<iframe name=\'printFrame\' id=\'printFrameId\' frameborder=\'no\' src=\''+url +'\' scrolling=\'no\' width=\'570\' height=\'340\'></iframe>';
+		if($('#templatePrintDialog').length>0) {
+			$('#templatePrintDialog').remove();
+		}
+		$("body").append("<div id='templatePrintDialog'></div>");
+		showDialog("#templatePrintDialog", "chromatography printing", html, [{text: "confirm", click: function() {
+				$('#templatePrintDialog').dialog('close');
+			 	window.frames['printFrame'].jsBinder.reportOk();	
+		}}], null, 500, "close");
+	
+	}
+});	

+ 94 - 0
GDYSL/addon/custom/cmpdesign/web/js/saqs/salaryAdjustQuerySchemeEdit.js

@@ -0,0 +1,94 @@
+shr.defineClass("shr.cmpdesign.SalaryAdjustQuerySchemeEdit", shr.framework.Edit, {
+    initalizeDOM : function() {
+        shr.cmpdesign.SalaryAdjustQuerySchemeEdit.superClass.initalizeDOM.call(this);
+        this.monitorEntry();
+    },
+
+
+    monitorEntry : function (){
+        var _self = this;
+        var $grid = waf("#entrys");
+        if("VIEW" == _self.operateState)
+            return;
+        var $table = waf("table[id^='entry']");
+        var hrOrgUnit = $("#hrOrgUnit").shrPromptBox("getValue");
+        $table.delegate(".ui-promptBox-layout","keyup.shrPromptGrid click",function(){
+            //$("input[id$='_person']").shrPromptBox("setFilter", " hrOrgUnit.id = '" + $("#hrOrgUnit").shrPromptBox("getValue").id + "'");
+            //薪酬项目改变,薪酬标准等要清空
+            $("input[id$='_cmpItem']").shrPromptBox('option', {
+                onchange: function(e, val){
+                    var rowid = $($(e.target).parents('tr')[0]).attr('id');
+                    //清空标准
+                    $grid.wafGrid("setCell",rowid,"cmpItemNumber",val.current.number);
+                    $grid.wafGrid("setCell",rowid,"cmpItemName",val.current.name);
+                    $grid.wafGrid("setCell",rowid,"cmpItemIndex",val.current.dataType.value);
+                }
+            });
+        });
+    },
+
+
+    /**
+     * 保存
+     */
+    saveAction: function(event) {
+        var _self = this;
+        var schemeName = $('#schemeName').shrTextField('getValue');
+        var flag = false;
+        var operateState = _self.getOperateState();
+        var number='';
+        if('EDIT'==operateState){
+            //编辑方法
+            number= $('#number').shrTextField('getValue');
+
+            shr.callHandler(
+                {
+                    handler: "com.kingdee.shr.cmpdesign.web.handler.SalaryAdjustQuerySchemeEditHandler",
+                    action: "checkIsHasSchemeNameByEdit",
+                    param: {
+                        schemeName:schemeName,
+                        number:number
+                    },
+                    async: false,
+                    success : function(res) {
+                        if(res.result) {
+                            flag = res.result;
+                        }
+                    }
+                });
+
+        }else {
+            //新增方法
+            shr.callHandler(
+                {
+                    handler: "com.kingdee.shr.cmpdesign.web.handler.SalaryAdjustQuerySchemeEditHandler",
+                    action: "checkIsHasSchemeName",
+                    param: {
+                        schemeName:schemeName
+                    },
+                    async: false,
+                    success : function(res) {
+                        if(res.result) {
+                            flag = res.result;
+                        }
+                    }
+                });
+        }
+        if(flag){
+            shr.showWarning({
+                message: "方案名称已存在,请修改方案名称"
+            });
+            return;
+        }
+
+        if (_self.validate() && _self.verify()) {
+            _self.doSave(event, 'save');
+        }else{
+            if(_self != top){// in iframe
+                shr.setIframeHeight(window.name);
+            }
+
+        }
+    },
+
+});

+ 82 - 0
GDYSL/addon/custom/cmpdesign/web/js/saqs/salaryAdjustQuerySchemeList.js

@@ -0,0 +1,82 @@
+shr.defineClass("shr.cmpdesign.SalaryAdjustQuerySchemeList", shr.framework.List, {
+	initalizeDOM : function() {
+		shr.cmpdesign.SalaryAdjustQuerySchemeList.superClass.initalizeDOM.call(this);
+	},
+
+	/**
+	 * 启用
+	 */
+	enableSchemeAction:function(){
+		var self = this;
+		var	selectedIds = self.getSelectedIds();
+		if (!selectedIds) {
+			return;
+		}
+		shr.callHandler(
+			{
+				handler: "com.kingdee.shr.cmpdesign.web.handler.SalaryAdjustQuerySchemeListHandler",
+				action: "enableScheme",
+				param: {
+					billIds:selectedIds
+				},
+				async: false,
+				success : function(res) {
+					shr.showInfo({message: "启用成功"});
+					self.reloadGrid();
+				}
+			});
+	},
+
+	/**
+	 * 禁用
+	 */
+	disableSchemeAction:function(){
+		var self = this;
+		var	selectedIds = self.getSelectedIds();
+		if (!selectedIds) {
+			return;
+		}
+		shr.callHandler(
+			{
+				handler: "com.kingdee.shr.cmpdesign.web.handler.SalaryAdjustQuerySchemeListHandler",
+				action: "disableScheme",
+				param: {
+					billIds:selectedIds
+				},
+				async: false,
+				success : function(res) {
+					shr.showInfo({message: "禁用成功"});
+					self.reloadGrid();
+				}
+			});
+	},
+
+	/**
+	 * 描述:删除操作
+	 * @action
+	 */
+	deleteAction:function(){
+
+		var sid = $("#grid").jqGrid("getSelectedRows");
+		for (var i = 0;i<sid.length; i++) {
+			var item = sid[i];
+			var data = $("#grid").jqGrid("getRowData", item);
+			if(data.salarySchemeState == '1'){
+				shr.showWarning({
+					message: "选中的方案含有启用状态的数据,启用状态下的方案不可删除,请先禁用"
+				});
+				return;
+			}
+
+		}
+
+
+		var selectedIds = this.getSelectedIds();
+		if (selectedIds) {
+			this.deleteRecord(selectedIds);
+		}
+	},
+
+
+
+});

+ 525 - 0
GDYSL/addon/custom/cmpdesign/web/js/sartcq/SalaryAdjustmentRoToColumnQueryList.js

@@ -0,0 +1,525 @@
+
+shr.defineClass("shr.salaryAdjustmentRoToColumnQueryList",shr.framework.List, {
+
+    reportUipk : "com.kingdee.shr.compensation.app.integrate.BatchSubmitShemeBill.billList",
+    rowNumPerPage : 20,
+    gridId: '#reportGrid',
+    colModelData: null,
+    isFirstTimeLoad: true ,
+    initalizeDOM : function() {
+        shr.salaryAdjustmentRoToColumnQueryList.superClass.initalizeDOM.call(this);
+        var self = this;
+        $("#addNew").remove();
+        $("#delete").remove();
+        $('#operationDialog').hide();
+        this.initalSearch();
+        //定时监听 adminOrg的值   用于关闭dialog
+        var tValue = $('#closeDialogFlag').attr("value");
+        setInterval(function(){
+            if(tValue !=$('#closeDialogFlag').attr("value")){
+                //这里写自己的业务逻辑代码
+                $("#iframe1").dialog('close');
+                //tValue = "0";
+                $('#closeDialogFlag').attr("value","0");
+            }
+        },200);
+
+        // 快速查询添加事件
+        $('#searcher').shrSearchBar('option', {
+            afterSearchClick: this.queryGridByEvent
+        });
+
+        //快速过滤展开
+        if($(".filter-containers").is(":hidden")){
+            $("#filter-slideToggle").click();
+        }
+    },
+
+    //设置高级查询
+    initalSearch : function(){
+        $('#grid-toolbar').children().eq(1).append('<div id="searcher" class="pull-right"/>');
+        var searcherFields = [];
+        searcherFields[0] = {columnName:"name",label:"员工姓名"};
+        searcherFields[1] = {columnName:"number",label:"员工编码"};
+       /* searcherFields[2] = {columnName:"legalPerson",label:"法人"};
+        searcherFields[3] = {columnName:"salaryAdjustReason",label:"调薪原因"};*/
+
+        var options = {
+            gridId: "grid",
+            // uipk: "com.kingdee.eas.hr.ats.app.AttenceResult.list",
+            // query: "" ,
+            fields :searcherFields
+            // propertiesUrl: shr.getContextPath()+'/dynamic.do?uipk=com.kingdee.eas.hr.ats.app.AttenceResult.list&method=getProperField'
+        };
+
+        $("#searcher").shrSearchBar(options);
+        //设置其默认的过滤方案
+        // var filter = $("#searcher").shrSearchBar('option', 'filterView');
+        // if ($.isEmptyObject(filter)) {
+        // 	// 如果filter为空
+        // 	if (!$.isEmptyObject($("#searcher").shrSearchBar('option', 'defaultViewId'))) {
+        // 		// 加载默认过滤方案触发表格取数
+        // 		$("#searcher").shrSearchBar('chooseDefaultView');
+        // 	}
+        // }
+    } ,
+
+
+    queryGridByEvent: function(e) {
+        var viewPage;
+        var self=this;
+        if (e.target) {
+            viewPage = shr.getCurrentViewPage(e.target);
+        } else {
+            viewPage = shr.getCurrentViewPage(e);
+        }
+        viewPage.queryAction();
+    }
+
+    /**
+     * 获得search查询条件
+     */
+    ,getSearchFilterItems: function() {
+        var filter = $('#searcher').shrSearchBar('option', 'filterView');
+        if (filter && filter.filterItems) {
+            return filter.filterItems;
+        }
+    },
+
+
+
+    /**
+     * 查询表格
+     */
+    queryGrid: function() {
+        var _self = this;
+        var $grid = $(this.gridId);
+        _self.setFastFilterMap();
+        this.setGridTreeParam();
+        this.setGridCustomParam();
+        this.setBotpFilterItems($grid);
+
+        this.queryFastFilterGrid();
+
+        // selector
+        var selector = this.getSelector();
+        if (typeof selector !== 'undefined') {
+            $grid.setGridParam({ selector: selector	});
+        }
+        // filter
+        var filterItems = this.getFilterItems();
+        $grid.jqGrid("option", "filterItems", filterItems);
+
+        // fastFilter
+        var fastFilterItems = this.getFastFilterItems();
+        if (fastFilterItems) {
+            $grid.jqGrid("option", "fastFilterItems", JSON.stringifyOnce(fastFilterItems));
+        }
+
+        //seniorFilter
+        var advancedFilter = this.getAdvancedFilterItems();
+        if(_self.fastFilterMap && _self.fastFilterMap.fastFilterItems && _self.isReturn){
+            advancedFilter = _self.fastFilterMap.fastFilterItems.advancedFilter;
+        }
+        if(advancedFilter){
+            $grid.jqGrid("option", "advancedFilter", JSON.stringify(advancedFilter));
+        }else{
+            $grid.jqGrid("option", "advancedFilter", null);
+        }
+
+        // sorter
+        var sorterItems = this.getSorterItems();
+        if (sorterItems) {
+            $grid.jqGrid("option", "sorterItems", sorterItems);
+        }
+        var keyField = this.getBillIdFieldName();
+        if (keyField) {
+            $grid.jqGrid("option", "keyField", keyField);
+        }
+        // 修改为通过URL取数
+        if(!_self.isFirstLoadData){
+            $grid.jqGrid('setGridParam', {datatype:'local'});
+            $grid.bind("jqGridLoadComplete", function(e, datas){
+                $grid.jqGrid('showNoRecords');
+            });
+            _self.isFirstLoadData = true;
+        }else{
+            $grid.jqGrid('setGridParam', {datatype:'json'});
+        }
+
+        // reload
+        $grid.jqGrid("reloadGrid");
+        var filtertype = 'normal';
+        var filterValue = filterItems;
+        if(this.getQuickFilterItems()){
+            filtertype = 'QuickFilter';
+            filterValue = this.getQuickFilterItems();
+        }
+        if(this.getCustomFilterItems()){
+            filtertype = 'CustomFilter';
+            filterValue = this.getCustomFilterItems();
+        }
+        var text = {id:this.uipk,text:this.title,filtertype:filtertype,filter:filterValue};
+        var value = {type:2,msg:text};
+        shr.operateLogger(value);
+    },
+
+
+
+
+    queryGridByEvent: function(e) {
+        var viewPage;
+        var self=this;
+        if (e.target) {
+            viewPage = shr.getCurrentViewPage(e.target);
+        } else {
+            viewPage = shr.getCurrentViewPage(e);
+        }
+        // 将页码恢复为第1页
+        $(viewPage.gridId).jqGrid('option', 'page', 1);
+        viewPage.queryAction();
+    },
+
+
+    queryAction : function () {
+        var self = this;
+        //快速过滤,过滤字段(精确):内部管理员工、考勤业务组织、行政组织、时间范围
+        var fastFilterItems = self.getFastFilterItems();
+        //search搜索框过滤,过滤字段(模糊):员工编码、员工姓名
+        var searchFilterItems = self.getSearchFilterItems();
+        if( fastFilterItems == undefined)
+            fastFilterItems = "";
+        if( searchFilterItems == undefined)
+            searchFilterItems = "";
+        if(fastFilterItems["add"] == "")
+            fastFilterItems["add"] = null;
+
+        if(fastFilterItems.SMT_adminOrg.values==''){
+            shr.showWarning({
+                message: "请选择行政组织"
+            });
+            return;
+        }
+        if(fastFilterItems.SMT_hROrgUnit.values==''){
+            shr.showWarning({
+                message: "请选择发薪业务组织"
+            });
+            return;
+        }
+        if(fastFilterItems.applyDate.values==''){
+            shr.showWarning({
+                message: "请选择薪资期间"
+            });
+            return;
+        }
+
+        if(fastFilterItems.applyDate.values.startDate==''){
+            shr.showWarning({
+                message: "请选择开始薪资期间"
+            });
+            return;
+        }
+
+        if(fastFilterItems.applyDate.values.endDate==''){
+            shr.showWarning({
+                message: "请选择结束薪资期间"
+            });
+            return;
+        }
+        if(fastFilterItems.CMP_submitscheme.values==''){
+            shr.showWarning({
+                message: "请选择定调薪查询方案"
+            });
+            return;
+        }
+
+
+
+        //需把视图的filterItem其他条件name="add"改成name="advancedFilter"
+        var advancedFilterItems = self.getAdvancedFilterItems();
+        if(advancedFilterItems != undefined){
+            fastFilterItems["add"] = advancedFilterItems;
+        }
+
+        $("#reportGrid").jqGrid('setGridParam', {
+            datatype : 'json',
+            postData : {
+                'fastFilterItems' : encodeURIComponent($.toJSON(fastFilterItems)),
+                'searchFilterItems' :encodeURIComponent(searchFilterItems),
+                'page1' : 1 //??
+            },
+            page : 0
+        });
+//		$("#reportGrid").trigger("reloadGrid");
+        self.renderDataGrid(fastFilterItems);
+    },
+
+    renderDataGrid : function (fastFilterItems) {
+        var self = this,
+            serviceId =  shr.getUrlRequestParam("serviceId");
+        //submitSchemeId = $submitscheme.data('id');
+        self.remoteCall({
+            method : "getGridColModel",
+            param : {
+                serviceId: serviceId,
+                fastFilterItems:encodeURIComponent($.toJSON(fastFilterItems))
+                //	submitSchemeId: submitSchemeId
+            },
+            success : function (reponse) {
+                self.colModelData = reponse;
+                self.doRenderDataGrid(reponse);
+            }
+        });
+    },
+
+    doRenderDataGrid : function () {
+        var self = this;
+        var reponse = self.colModelData;
+        $("#gbox_reportGrid").remove();//强制清除grid容器的html,这个标签在渲染表格后由jqgrid创建的表格最外层标签
+        $("#reportGrid").remove();
+        $("#gridPager1").remove();
+        $("#adv-div-container").after('<div id="gridPager1"></div><table id="reportGrid"></table>');
+        table = $("#reportGrid");
+        var fastFilterItems = self.getFastFilterItems();
+        //search搜索框过滤,
+        var searchFilterItems = self.getSearchFilterItems();
+        if( fastFilterItems == undefined)
+            fastFilterItems = "";
+        if( searchFilterItems == undefined)
+            searchFilterItems = "";
+        if(fastFilterItems["add"] == "")
+            fastFilterItems["add"] = null;
+
+
+        var advancedFilterItems = self.getAdvancedFilterItems();
+        if(advancedFilterItems != undefined){
+            fastFilterItems["add"] = advancedFilterItems;
+        }
+
+        var postData = {
+            'fastFilterItems' : encodeURIComponent($.toJSON(fastFilterItems)),
+            'searchFilterItems' :encodeURIComponent(searchFilterItems),
+            'page1' : 1
+        };
+        var url = self.getGridDataRequestURL();
+        var colNames = reponse.colNames;
+        var colModel = reponse.colModel;
+        var defaultSortname = reponse.defaultSortname,
+            options = {
+                url : url ,
+                datatype : "json",
+                mtype: "POST",
+                multiselect : true,
+                rownumbers : false,
+                colNames : colNames,
+                colModel : colModel,
+                rowNum : self.rowNumPerPage,
+                // pager : '#gridPager1',
+                postData: postData ,
+//			height : 'auto',
+                height : self.rowNumPerPage > 21 ? '590px' : 'auto'  ,
+                rowList : [20,40,60],
+                recordpos : 'left',
+                recordtext : '({0}-{1})/{2}',
+                gridview : true,
+                shrinkToFit :reponse.colModel.length>10?false:true,
+                viewrecords : true,
+                sortname : defaultSortname,
+                //caption: "Frozen Header",
+                customPager : '#gridPager1',
+                pagerpos:"center",
+                pginputpos:"right",
+                pginput:true,
+                synchTotal:false,
+                onSelectRow: function(id){
+                    //		   	onSelectRow : function(id){
+                    //屏蔽编辑功能
+                    // jQuery('#reportGrid').jqGrid('editRow', id, false, function(){ });
+
+                    if(sidValue.length == 0)
+                    {
+                        sidValue.push(id);
+                        lastsel2 = id;
+                        $("#reportGrid").attr("sid", sidValue.join(","));
+                    }else{
+                        var tempId=true;
+                        for(var idArr=0;idArr< sidValue.length;idArr++) {
+                            // var idArr=sidValue.split(",");
+                            if(sidValue[idArr] == id) {
+                                tempId=false;
+                            }
+                        }
+                        if(tempId){
+                            sidValue.push(id);
+                            lastsel2 = id;
+                            $("#reportGrid").attr("sid", sidValue.join(","));
+                        }
+                    }
+                },
+                editurl: this.dynamicPage_url+ "?method=editRowData"+"&uipk=" + this.reportUipk
+
+            };
+        options.loadComplete = function (data) {
+            if($("#gridPager1").html() == "" && "true" == "true"){
+                $("#reportGrid").setCustomPager("#gridPager1");
+            }
+            if (!$("#gridPager1")[0]) {
+                var pagerDiv = '<div id="gridPager1"></div>';
+                if ($('.editGrid-toolbar')[0]) {
+                    $('.editGrid-toolbar').after(pagerDiv);
+                } else {
+                    //$('#entry_cont').prepend(pagerDiv);
+                }
+                $("#reportGrid").setCustomPager("#gridPager1");
+            }
+
+            shr.setIframeHeight();
+
+            $('#gridPager1_left').click(function(){
+                $('.ui-pg-selbox').show();
+                //$('.ui-pg-selbox').css({"left":"-40px"})
+                $(this).children('.ui-paging-info').hide();
+            });
+            $("#microToolbar").parent().hide()
+            //$("#gridPager1").parent().css({"position":"relative"})
+            $("#gbox_reportGrid").css("margin-top","40px");
+            $("#gridPager1").addClass("shrPage").css({
+                "position":"absolute",
+                "top":"35px",
+                "right":"0px",
+                "background":"#FFF"
+            })
+            // self.handleMicroToolbarInfo();
+            filterItems1  = "" ;
+            //jQuery('#reportGrid').jqGrid('setFrozenColumns');
+            shr.salaryAdjustmentRoToColumnQueryList.superClass.gridLoadComplete.call(this,data);
+            $('.frozen-div').css("top","0");
+            $('.frozen-bdiv').css("top","41px");
+        };
+        // clear table
+        table.html();
+        table.jqGrid(options).jqGrid("reloadGrid");
+        //if(self.isFirstTimeLoad){
+        //jQuery('#reportGrid').jqGrid('setFrozenColumns');//只有第一次才设置冻结列
+        //}
+        self.isFirstTimeLoad = false;
+
+
+    },
+
+    getGridDataRequestURL : function () {
+        return this.dynamicPage_url
+            + "?method=getGridData"
+            + "&uipk=" + this.reportUipk;
+    },
+
+    /**
+     * 导出选中
+     */
+    exportSelectAction:function(){
+        var self = this;
+        var fieldName = this.getExportFieldName();
+        var rowIds = $(this.gridId).getDataIDs();
+        var sid = $("#reportGrid").jqGrid("getSelectedRows");
+        var Exchange_json = [];
+        for (var i = 0;i<sid.length; i++) {
+            var item = sid[i];
+            var data = $("#reportGrid").jqGrid("getRowData", item);
+            Exchange_json.push(data);
+        }
+        var entrysIdStr = '';
+        for(var i = 0;i< Exchange_json.length;i++){
+            if(i<Exchange_json.length-1){
+                entrysIdStr = entrysIdStr + Exchange_json[i].fid+ ",";
+            }else {
+                entrysIdStr = entrysIdStr+ Exchange_json[i].fid;
+            }
+        }
+        if (rowIds) {
+            //获取搜索框内容
+            //快速过滤,过滤字段(精确):内部管理员工、考勤业务组织、行政组织、时间范围
+            var fastFilterItems = self.getFastFilterItems();
+            //search搜索框过滤,过滤字段(模糊):员工编码、员工姓名
+            var searchFilterItems = self.getSearchFilterItems();
+            if( fastFilterItems == undefined)
+                fastFilterItems = "";
+            if( searchFilterItems == undefined)
+                searchFilterItems = "";
+            if(fastFilterItems["add"] == "")
+                fastFilterItems["add"] = null;
+
+            //需把视图的filterItem其他条件name="add"改成name="advancedFilter"
+            var advancedFilterItems = self.getAdvancedFilterItems();
+            if(advancedFilterItems != undefined){
+                fastFilterItems["add"] = advancedFilterItems;
+            }
+            var handler = this.getExportHandler();
+            var param = {
+                serviceId: shr.getServiceId(),
+                fastFilterItems : encodeURIComponent($.toJSON(fastFilterItems)),
+                searchFilterItems :encodeURIComponent(searchFilterItems),
+                method: "exportAll",
+                uipk : this.uipk,
+                handler: handler,
+                entrysIdStr: entrysIdStr
+            }
+            url = self.dynamicPage_url;
+            document.location.href = shr.appendParam(url,param);
+
+        } else {
+            shr.showWarning({
+                message: jsBizMultLan.atsManager_attendanceRecordList_i18n_0
+            });
+        }
+    },
+
+
+
+    //导出全部
+    exportAllAction : function(){
+        var self = this;
+
+        //获取搜索框内容
+        //快速过滤,过滤字段(精确):内部管理员工、考勤业务组织、行政组织、时间范围
+        var fastFilterItems = self.getFastFilterItems();
+        //search搜索框过滤,过滤字段(模糊):员工编码、员工姓名
+        var searchFilterItems = self.getSearchFilterItems();
+        if( fastFilterItems == undefined)
+            fastFilterItems = "";
+        if( searchFilterItems == undefined)
+            searchFilterItems = "";
+        if(fastFilterItems["add"] == "")
+            fastFilterItems["add"] = null;
+
+        //需把视图的filterItem其他条件name="add"改成name="advancedFilter"
+        var advancedFilterItems = self.getAdvancedFilterItems();
+        if(advancedFilterItems != undefined){
+            fastFilterItems["add"] = advancedFilterItems;
+        }
+
+
+
+
+
+
+
+        var handler = this.getExportHandler();
+        var param = {
+            serviceId: shr.getServiceId(),
+            fastFilterItems : encodeURIComponent($.toJSON(fastFilterItems)),
+            searchFilterItems :encodeURIComponent(searchFilterItems),
+            method: "exportAll",
+            uipk : this.uipk,
+            handler: handler
+        }
+        var self = this,
+            url = self.dynamicPage_url;
+        document.location.href = shr.appendParam(url,param);
+
+    },
+
+    getExportHandler: function(){
+        return "com.kingdee.shr.compensation.web.handler.integrate.SalaryAdjustmentRowToColumnQueryList";
+    },
+
+});

+ 7 - 0
GDYSL/addon/custom/cmpdesign/web/js/sss/synSalaryScheme.js

@@ -0,0 +1,7 @@
+shr.defineClass("shr.synSalaryScheme",shr.framework.List, {
+
+    initalizeDOM : function() {
+        shr.synSalaryScheme.superClass.initalizeDOM.call(this);
+        $('#addNew').hide();
+    },
+})

+ 42 - 0
GDYSL/addon/custom/cmpdesign/web/js/sss/synSalarySchemeEdit.js

@@ -0,0 +1,42 @@
+
+shr.defineClass("shr.synSalarySchemeEdit",shr.framework.Edit, {
+
+    initalizeDOM : function() {
+        shr.synSalarySchemeEdit.superClass.initalizeDOM.call(this);
+    },
+
+    /**
+     * 保存
+     */
+    saveAction: function(event) {
+        var _self = this;
+        var datas = $("#entrys").wafGrid("getAllRowData");
+        var cmpItemFieldSns = [];
+        var fieldTemp;
+        var fileName;
+        for(var i = 0;i < datas.length;i++){
+            fieldTemp = datas[i].cmpItem.fieldSn;
+            fileName = datas[i].cmpItem.name;
+            if(cmpItemFieldSns.indexOf(fieldTemp)!=-1){
+                shr.showWarning({
+                    message: fileName+ '薪酬项目已重复,请删除多余的'+ fileName +'的薪酬项目',
+                    hideAfter: 3
+                });
+                return;
+            }
+            //添加项目到集合
+            cmpItemFieldSns[i] =  fieldTemp;
+        }
+        if (_self.validate() && _self.verify()) {
+            _self.doSave(event, 'save');
+        }else{
+            if(_self != top){// in iframe
+                shr.setIframeHeight(window.name);
+            }
+
+        }
+    },
+})
+
+
+

+ 94 - 0
GDYSL/addon/custom/compensation/web/js/cmpPersonHasDynamicListExt.js

@@ -0,0 +1,94 @@
+shr.defineClass("shr.compensation.CmpPersonHasDynamicListExt", shr.compensation.CmpPersonHasDynamicList, {
+    isSum : false,
+    isSchemeItems : false,
+    initalizeDOM : function () {
+        var it = this;
+        //this.initCustomSetting();
+        shr.compensation.CmpPersonHasDynamicListExt.superClass.initalizeDOM.call(this);
+//		this.initBreadcrumb();
+    },
+
+
+    /**
+     * 直接添加需要核算员工名单
+     */
+
+    immediateAddPersonAction : function(){
+        var it = this;
+        var confirmMessage ="是否将已有核算员工清空后(已锁定或已审核除外)添加";
+        it.showDelConfirm(confirmMessage, function(){
+            it.immediateAddPersonExe(1);
+        },function(){it.immediateAddPersonExe(0)});
+
+    },
+
+
+    immediateAddPersonExe : function(isDel){
+        var it = this;
+        var param = {isDel:isDel,cmpschemeid:it.cmpschemeid};
+        it.remoteCall({
+            type : "post",
+            showBlock : true,
+            method : "immediateAddPerson",
+            param : param,
+            success : function(res){
+                shr.showInfo({
+                    message : res.message,
+                    hideAfter : 5
+                });
+                it.queryGrid(true);
+            }
+        });
+    },
+
+    // 添加args支持确认的时候的参数传递   格式如[a, b, c]  数组形式
+    showDelConfirm: function(message, action, cancel, args) {
+        shr.msgHideAll();
+        shr.startMask();
+        var msg = _top.Messenger().post({
+            message: message,
+            hideAfter: null,
+            showCloseButton: true,
+            close: function(){
+                shr.stopMask();
+            },
+            actions: {
+                retry: {
+                    label: "是",
+                    auto: false,
+                    delay: 0,
+                    showCloseButton: true,
+                    action: function() {
+                        shr.msgHideAll();
+                        shr.stopMask();
+                        if (action && $.isFunction(action)) {
+                            if(args){
+                                action.apply(this,args);
+                            }else{
+                                action.apply(this);
+                            }
+                        }
+                    }
+                },
+                cancel: {
+                    label: "否",
+                    action: function() {
+                        shr.msgHideAll();
+                        shr.stopMask();
+                        if (cancel && $.isFunction(cancel)) {
+                            if(args){
+                                cancel.apply(this,args);
+                            }else{
+                                cancel.apply(this);
+                            }
+                        } else {
+                            return msg.cancel();
+                        }
+                    }
+                }
+            }
+        });
+        return msg;
+    },
+
+});

+ 530 - 0
GDYSL/addon/customer/web/js/shr/rpt/EmployeeFacultyAbsenceSummaryList.js

@@ -0,0 +1,530 @@
+var sidValue = [];
+var orgLongNum="";
+var sumType = "1";
+var colNames;
+var colModel;
+shr.defineClass("shr.customer.gtiit.rpt.EmployeeFacultyAbsenceSummaryList", shr.framework.List, {
+    gridId: '#reportGrid',
+    reportUipk :   "com.kingdee.eas.FacultyAbsenceSummaryReport.list002" ,
+    rowNumPerPage : 30, // 设置默认分页30///
+    colModelData: null,
+    isFirstTimeLoad: 0,
+	initalizeDOM : function () {
+		var that = this;
+		that.setColModelData();
+		this.initalSearch();
+		shr.customer.gtiit.rpt.EmployeeFacultyAbsenceSummaryList.superClass.initalizeDOM.call(this);
+		
+		// 快速查询添加事件
+		$('#searcher').shrSearchBar('option', {
+			afterSearchClick: this.queryGridByEvent
+
+		});
+		
+		//$("#deadline").shrDateTimePicker("setValue", new Date());
+		//$("#deadline").trigger("change")
+		//快速过滤展开
+		if($(".filter-containers").is(":hidden")){
+			$("#filter-slideToggle").click();
+	
+		}
+		
+	} 
+	,processF7ChangeEvent : function(){
+		var that = this;
+		$('#personType').shrPromptBox("option", {
+			onchange : function(e, value) {
+			   var info = value.current;
+			   	if(info!=null){
+			   	
+				   if (info.length != undefined) {
+				   		orgLongNum = "";
+				   		for (var index = 0; index < info.length; index++) {
+				   			orgLongNum = orgLongNum + info[index].longNumber + "@" ;
+				   		}
+				   		if (orgLongNum.length > 0) {
+				   			orgLongNum = orgLongNum.substring(0,orgLongNum.length -1);
+				   		}
+				   }else{
+					   	if(info.longNumber !=null && info.longNumber!=''){ 
+					   		orgLongNum = info.longNumber;
+					   	}
+				   }
+				}
+			}
+		});
+  	 }
+  	 /**
+	 * 选择导航节点
+	 */
+	,queryGridByEvent: function(e) {
+		var viewPage;
+		var self=this;
+		if (e.target) {
+			viewPage = shr.getCurrentViewPage(e.target);
+		} else {
+			viewPage = shr.getCurrentViewPage(e);
+		}
+		// 将页码恢复为第1页
+		$(viewPage.gridId).jqGrid('option', 'page', 1);
+		viewPage.queryAction();
+	},
+			 //设置高级查询 
+	initalSearch : function(){
+		$('#grid-toolbar').children().eq(1).append('<div id="searcher" class="pull-right"/>');
+		// $('<div id="searcher" class="pull-right"/>').insertAfter($('#breadcrumb').parent());
+		var searcherFields = [];
+		searcherFields[0] = {columnName:"name",label:'Name'};
+		searcherFields[1] = {columnName:"number",label:'Staff ID'};
+		var options = {
+			gridId: "reportGrid",
+			uipk: "com.kingdee.eas.FacultyAbsenceSummaryReport.list002",
+			// query: "" ,
+			fields :searcherFields
+			//暂时从这里取
+			// propertiesUrl: shr.getContextPath()+'/dynamic.do?uipk=com.kingdee.eas.hr.ats.app.AttendanceResultSumList&method=getProperField'
+		};
+	
+		$("#searcher").shrSearchBar(options);
+		//设置其默认的过滤方案
+		// var filter = $("#searcher").shrSearchBar('option', 'filterView');
+		// if ($.isEmptyObject(filter)) {
+		// 	// 如果filter为空
+		// 	if (!$.isEmptyObject($("#searcher").shrSearchBar('option', 'defaultViewId'))) {
+		// 		// 加载默认过滤方案触发表格取数
+		// 		$("#searcher").shrSearchBar('chooseDefaultView');
+		// 	}
+		// }	
+	}
+	
+	/**
+	 * 获得search查询条件
+	 */
+	,getSearchFilterItems: function() {
+		var filter = $('#searcher').shrSearchBar('option', 'filterView');
+		if (filter && filter.filterItems) {
+			return filter.filterItems;
+		}
+	}
+	,queryAction : function () {
+		var self = this;
+		//search搜索
+		var searchFilterItems = self.getSearchFilterItems();
+		if( searchFilterItems == undefined)
+			searchFilterItems = "" ;
+		//快速过滤
+		var fastFilterItems = self.getFastFilterItems();
+		if(fastFilterItems == undefined){
+			fastFilterItems = "";
+		}
+		if(fastFilterItems["add"] == ""){
+			fastFilterItems["add"] = null;
+		}
+		
+		//R20190625-2369保存方案后,其它条件设置的条件被清空
+		//需把视图的filterItem其他条件name="add"改成name="advancedFilter" 
+		var advancedFilterItems = self.getAdvancedFilterItems();
+		if(advancedFilterItems != undefined){
+			fastFilterItems["add"] = advancedFilterItems;
+		}
+				// 过滤条件不能为空
+		var dateRequiredValidate = shr.fastFilterValidateUtil.requiredValidate(this,{"name":"queryTime","errorMessage":"Please select the query period!"});
+		if(!dateRequiredValidate){
+			return;
+		}
+		
+		
+		$("#reportGrid").jqGrid('setGridParam', {
+			datatype : 'json',
+			postData : {
+				'NewRearch'   : 'newRearch',
+				'fastFilterItems' : $.toJSON(fastFilterItems),
+				'searchFilterItems' : searchFilterItems,
+				'sumType' : sumType,
+				'page' : 1
+			},
+			page : 0
+		});
+		self.doRenderDataGrid();
+	},
+	setColModelData: function () {
+		var self = this;
+		self.remoteCall({
+			method : "getGridColModel",
+			success : function (data) {
+				colNames = data.colNames;
+				colModel = data.colModel;
+			}
+		})
+	},
+	  
+	/**
+	 * 表格数据请求URL
+	 */
+	getGridDataRequestURL : function () {
+		var serviceId = shr.getUrlRequestParam("serviceId");
+		return this.dynamicPage_url + "?method=getGridData" + "&uipk=" + this.reportUipk + '&serviceId='+encodeURIComponent(serviceId); 
+	},
+
+   doRenderDataGrid : function () {
+		var self = this, table = $("#reportGrid");
+		var searchFilterItems = self.getSearchFilterItems();
+		var fastFilterItems = self.getFastFilterItems();
+		if( searchFilterItems == undefined)
+			searchFilterItems = "" ;
+		if( fastFilterItems == undefined)
+			fastFilterItems = "" ;
+		if(fastFilterItems["add"] == ""){
+			fastFilterItems["add"] = null;
+		}
+		
+		//R20190625-2369保存方案后,其它条件设置的条件被清空
+		//需把视图的filterItem其他条件name="add"改成name="advancedFilter" 
+		var advancedFilterItems = self.getAdvancedFilterItems();
+		if(advancedFilterItems != undefined){
+			fastFilterItems["add"] = advancedFilterItems;
+		}
+		
+		postData = {
+			'searchFilterItems' : searchFilterItems,
+			'fastFilterItems' : $.toJSON(fastFilterItems),
+			'page1' : 1
+		};
+
+		var url = self.getGridDataRequestURL();        
+		var	options = {
+			url : url ,
+			datatype : "json",
+			multiselect : true,
+			rownumbers : false,
+			colNames : colNames,
+			colModel : colModel,
+			rowNum : self.rowNumPerPage,
+			// pager : '#gridPager1',
+			mtype: 'POST',
+			postData: postData ,
+//			height : 'auto',
+			height : '600px',
+//			height : self.rowNumPerPage > 21 ? '600px' : 'auto',
+			rowList : [30,45,60],
+			recordpos : 'left',
+			recordtext : '({0}-{1})/{2}',
+			gridview : true,
+			// pginput : true,
+			shrinkToFit :colModel.length>10?false:true,
+			viewrecords : true,
+			//cellEdit:true,
+            // cellsubmit:"clientArray" ,	
+			// sortname : "sumsql.fproposerid",
+			//caption: "Frozen Header",
+			customPager : '#gridPager1',  
+			pagerpos:"center",
+			pginputpos:"right",
+			pginput:true,     
+			synchTotal:"true",
+			onSelectRow: function(id){ 
+				jQuery('#reportGrid').jqGrid('editRow', id, false, function(){});
+				sidValue.push(id);
+				lastsel2 = id;
+				$("#reportGrid").attr("sid", sidValue.join(","));
+			}
+		};
+
+		options.loadComplete = function (data) {
+			if($("#gridPager1").html() == "" && "true" == "true"){
+				$("#reportGrid").setCustomPager("#gridPager1");
+			}
+			
+			shr.setIframeHeight();
+			$('#gridPager1_left').click(function(){
+				$('.ui-pg-selbox').show();
+				$('.ui-pg-selbox').css({"left":"-60px"})
+				$(this).children('.ui-paging-info').hide();
+			});
+			$("#microToolbar").parent().hide()
+			$("#gridPager1").parent().css({"position":"relative"})  
+			$("#gridPager1").addClass("shrPage").css({
+				"position":"absolute",
+				"top":"-25px",
+				"right":"0px",
+				"background":"#FFF"
+			})
+            shr.customer.gtiit.rpt.EmployeeFacultyAbsenceSummaryList.superClass.gridLoadComplete.call(this,data);
+		};
+		table.html();
+		table.jqGrid(options);
+		jQuery("#reportGrid").jqGrid(options).jqGrid("reloadGrid");
+		jQuery('#reportGrid').jqGrid('setFrozenColumns');
+		self.firstTime = 1;
+		
+	},
+	handleMicroToolbarInfo : function () {
+
+		var self = this;
+		var html = "";
+		html += "<div class='shrPage page-Title' >";
+		html += "<span id='gripage' class='ui-paging-info' style='cursor: default;display: inline-block;font-size: 13px;padding: 2px 5px 0 0;'></span>";
+		html += "<span id='prevId'  style='vertical-align: text-top;cursor: pointer;' class='ui-icon ui-icon-seek-prev'></span>";
+		html += "<span id='nextId'  style='vertical-align: text-top;cursor: pointer;' class='ui-icon ui-icon-seek-next'></span></div>";
+		
+		$('#microToolbar').html("");
+		$('#microToolbar').append(html);
+
+		$("#gripage").on("click", self.selectRowNumPerPage);
+		$("#prevId").on("click", self.prePage);
+		$("#nextId").on("click", self.nextPage);
+
+		//页码 (1-4)/4
+		self.updatePageEnable();
+		$("#gripage").text($("#gridPager1_left >div[dir='ltr']").text());
+		$("#gridPager1").hide();
+		 var ids=jQuery("#reportGrid").jqGrid('getDataIDs');
+         var rowdata=jQuery("#reportGrid").jqGrid('getRowData',ids[0]);  
+		
+		shr.setIframeHeight();
+		$("#reportGrid_frozen").parent().height('583px');
+	},
+	updatePageEnable:function () {
+		var temp = $("#gridPager1_left >div[dir='ltr']").text();
+		if (temp.substring(1, temp.indexOf('-')) == '1') {
+			$("#prevId").addClass("ui-state-disabled");
+		} else {
+			$("#prevId").removeClass("ui-state-disabled");
+		}
+
+		if (parseInt(temp.substring(temp.indexOf('-') + 1, temp.indexOf(')'))) >= parseInt(temp.substring(temp.indexOf('/') + 1).replace(new RegExp(",","gm"),""))) {
+			$("#nextId").addClass("ui-state-disabled");
+		} else {
+			$("#nextId").removeClass("ui-state-disabled");
+		}
+	},
+    
+	getCurPage:function(){
+		//(1-4)/4
+		var self = this,
+		rowNum = self.rowNumPerPage;
+		var temp = $("#gridPager1_left >div[dir='ltr']").text();
+		var curPageNum = (parseInt(temp.substring(1, temp.indexOf('-')))-1)/rowNum+1;
+		return curPageNum;
+	},
+
+	prePage : function () {
+		$("#prev_gridPager1").trigger("click");
+		shr.setIframeHeight();
+		$("#gripage").text($("#gridPager1_left >div[dir='ltr']").text());
+	},
+
+	nextPage : function () {
+		$("#next_gridPager1").trigger("click");
+		shr.setIframeHeight();
+		$("#gripage").text($("#gridPager1_left >div[dir='ltr']").text());
+	},
+		
+	selectRowNumPerPage:function(){
+			
+	}
+	
+	,
+	exportToExcelAction : function () {
+		openLoader
+  		var _self = this ;
+  		var url = _self.exportCommonParam();
+  		var fastFilterItems = _self.getFastFilterItems();
+		if( fastFilterItems == undefined)
+			fastFilterItems = "" ;
+		if(fastFilterItems["add"] == ""){
+			fastFilterItems["add"] = null;
+		}
+				
+  		 var serviceId = shr.getUrlRequestParam("serviceId");
+  		url += '&serviceId='+encodeURIComponent(serviceId) + "&isAll=true";
+		//document.location.href = url;
+		var callback=function(psw){
+            var params = _self.getExportAllParams();
+            params.exportPrivteProtected = $.allEncrypt(psw);
+			openLoader(1,jsBizMultLan.atsManager_attendanceResultSumList_i18n_28);
+			shr.ajax({
+				type:"post",
+				url:url,
+				data: $.extend(_self.assemExportData(),{exportPrivteProtected: psw} ),
+				success:function(res){
+					closeLoader();
+					if(null != res && null != res.url){   //这里有可能返回空,所以这里要做飞空判断的,但是不知道这里的业务逻辑,所以这里要问常青和飞羽
+                        shr.redirect(res.url,"");
+                    }
+					//document.location.href = url;
+				},
+				error : function(res){
+					shr.showError({message: jsBizMultLan.atsManager_attendanceResultSumList_i18n_6});
+					closeLoader();
+				}
+			});
+		}
+        if(_self.isNeedExportFilePassword('#exportToExcel')) {
+			fieldSensitiveService.setExportPsw(callback);
+		}else{
+			callback();
+		}
+	},
+		assemExportData:function(exportData){
+		var _self = this ;
+		var fastFilterItems = _self.getFastFilterItems();
+		var advancedFilterItems = _self.getAdvancedFilterItems();
+		if( fastFilterItems == undefined)
+			fastFilterItems = "" ;
+		if(fastFilterItems["add"] == ""){
+			fastFilterItems["add"] = null;
+		}
+		
+		if(advancedFilterItems != undefined){
+			fastFilterItems["add"] = advancedFilterItems;
+		}
+		
+		var postData = {fastFilterItems : $.toJSON(fastFilterItems)};
+		
+		exportData && (postData = $.extend(postData, exportData));
+		return postData;
+	},
+	
+	exportCommonParam : function(){
+		var self = this;
+		var url = shr.getContextPath() + shr.dynamicURL + "?method=exportToExcel";
+		var uipk = "com.kingdee.eas.hr.ats.app.AttendanceResultSumList";
+		var filterItems = self.getQuickFilterItems();
+		var sorder =   $('#reportGrid').jqGrid('getGridParam', 'sortorder') || "";
+		var sordName = $('#reportGrid').jqGrid('getGridParam', 'sortname') || "";
+
+		//标题
+		   url += "&title="+jsBizMultLan.atsManager_attendanceResultSumList_i18n_8;
+		   url = url + '&uipk=' + uipk + "&sidx=" + sordName+"&page=0"+"&sumType="+sumType + "&sord=" + sorder + "&transverse=1";
+		//如果存在高级搜索的条件,则拼上条件。
+		if(filterItems){
+			url += "&searchFilterItems=" + encodeURIComponent(filterItems);
+		}
+		return url;
+	},
+	exportCurrentAction : function(){
+		var Exchange_json=[];
+		var _self = this;
+		var exportData = {
+			exportSelect:"yes",
+			serviceId:shr.getUrlRequestParam("serviceId")
+		};
+		var selectedIds = $("#reportGrid").jqGrid("getSelectedRows");
+		if (selectedIds == undefined || selectedIds.length <= 0 || (selectedIds && selectedIds.length ==
+				1 && selectedIds[0] == "")) {
+			shr.showError({
+				message: "请先选中表格中的数据!",
+				hideAfter: 5
+			});
+			return false;
+		}
+		/*
+		_self.remoteCall({
+			type: "post",
+			async: false,
+			method: "exportCurrent",
+			param: {
+				billIds: selectedIds.toString()
+			},
+		});
+		*/
+		if (selectedIds.length > 0) {
+			for (var i = 0, length = selectedIds.length; i < length; i++) {
+//				personIds.push($("#reportGrid").jqGrid("getCell", selectedIds[i], "id"));
+				var item = selectedIds[i];
+				var data = $("#reportGrid").jqGrid("getRowData", item);
+				
+				var personId=data["personId"] ;
+				var adminOrgUnit=data["adminOrgUnitId"] ;
+				Exchange_json.push({'personId':personId,'adminOrgUnit':adminOrgUnit});
+			}
+		}
+		if(Exchange_json.length > 0){
+			exportData.PersonJson =  $.toJSON(Exchange_json);
+		}else{
+			shr.showWarning({
+				message: jsBizMultLan.atsManager_attendanceResultSumList_i18n_13
+			});
+			return false;
+		}
+		var callback=function(psw){
+            var params = _self.getExportCurrentParams();
+            params.exportPrivteProtected = $.allEncrypt(psw);
+			openLoader(1,jsBizMultLan.atsManager_attendanceResultSumList_i18n_28);
+			shr.ajax({
+				type:"post",
+				url:_self.exportCommonParam(),
+				//method : "toexportCurrent",
+				data: $.extend( _self.assemExportData(exportData),params ),
+				success:function(res){
+					closeLoader();
+					//document.location.href = url;
+					shr.redirect(res.url,"");
+				},
+				error : function(res){
+					shr.showError({message: jsBizMultLan.atsManager_attendanceResultSumList_i18n_6});
+					closeLoader();
+				}
+			});
+		}
+        if(_self.isNeedExportFilePassword('#exportCurrent'))  {
+			fieldSensitiveService.setExportPsw(callback);
+		}else{
+			callback();
+		}
+
+	},
+    //导出选中参数,供领域获取
+    getExportCurrentParams: function() {
+        var _self = this;
+        var isenableexcelpwd = $('#exportCurrent').attr('data-isenableexcelpwd');
+        var fieldName = this.getExportFieldName();
+        if(isenableexcelpwd == 'false') {
+            if(window.isShrSensitiveRuleOpen) isenableexcelpwd = _self.isSensitiveGrid();
+        }
+
+        var ids = $("#reportGrid").jqGrid("getSelectedRows");
+        var params = {
+            supportQueryUuid: false,
+            selectedData: ids,
+            fieldName_key: fieldName,
+            encryptKeys: 'exportPrivteProtected',
+            isEnableExcelPwd: typeof(isenableexcelpwd) === 'undefined' ? 'false' : JSON.parse(isenableexcelpwd)
+        }
+        return params;
+    },
+	
+	exportAllExcelAction:function(){
+        var _self = this;
+		var self = this, table = $("#reportGrid");
+		var searchFilterItems = self.getSearchFilterItems();
+		var fastFilterItems = self.getFastFilterItems();
+		if( searchFilterItems == undefined)
+			searchFilterItems = "" ;
+		if( fastFilterItems == undefined)
+			fastFilterItems = "" ;
+		if(fastFilterItems["add"] == ""){
+			fastFilterItems["add"] = null;
+		}
+		
+		//R20190625-2369保存方案后,其它条件设置的条件被清空
+		//需把视图的filterItem其他条件name="add"改成name="advancedFilter" 
+		var advancedFilterItems = self.getAdvancedFilterItems();
+		
+		if(advancedFilterItems != undefined){
+			fastFilterItems["add"] = advancedFilterItems;
+		}
+		var urlinner = shr.getContextPath() + shr.dynamicURL + "?fastFilterItems="+$.toJSON(fastFilterItems)+"&method=toExcel&handler=com.kingdee.shr.customer.gtiit.rpt.FacultyAbsenceSummaryListHandler"+"&uipk="+shr.getUrlRequestParam('uipk');
+		//var urlinner = shr.getContextPath()  + shr.dynamicURL + "?method=toExcel&handler=com.kingdee.shr.customer.gtiit.rpt.PersonRosterListHandler";
+		//alert(urlinner);
+		openLoader(1,"正在导出,请稍等...");
+		var param2 = "";
+		var test = shr.reloadUrlByPost(urlinner, param2, 'toExcel');
+		
+		closeLoader();
+		
+    }
+
+	
+});	

+ 591 - 0
GDYSL/addon/customer/web/js/shr/rpt/fillSignCardEditEx.js

@@ -0,0 +1,591 @@
+shr.defineClass("shr.customer.gtiit.FillSignCardEditEx", shr.ats.FillSignCardEdit, {
+
+    initalizeDOM:function(){
+        shr.customer.gtiit.FillSignCardEditEx.superClass.initalizeDOM.call(this);
+    },
+    setFSCEntry: function (rst) {
+        var _self = this;
+        if (
+            rst.records != null &&
+            rst.records > 0 &&
+            rst.rows != null &&
+            rst.rows.length > 0
+        ) {
+            var id,
+                attendDate,
+                type,
+                fillCardTimeStr,
+                remark,
+                reason_id,
+                reason_name;
+
+            var billId = $("#id").val();
+            var ramarkMap;
+            _self.remoteCall({
+                method: "getToremarks",
+                param: {billId: billId}, 
+                async: false,
+                success: function(data) {
+                    ramarkMap = data;
+                },
+                error : function(){
+                }
+            });
+
+            for (var i = 0; i < rst.rows.length; i++) {
+                var row = rst.rows[i];
+                (id = shr.xssFilter(row["id"])),
+                    (attendDate = shr.xssFilter(row["attendDate"])),
+                    (type_key = shr.xssFilter(row["type.key"])),
+                    (type_value = shr.xssFilter(row["type.value"])),
+                    (fillCardTimeStr = shr.xssFilter(row["fillCardTimeStr"])),
+                    (reason_id = shr.xssFilter(row["reason.id"])),
+                    (reason_name = shr.xssFilter(row["reason.name"])),
+                    (remark = ramarkMap[row["id"]]);
+                var row_fields_work = "";
+                if (
+                    _self.getOperateState() == "ADDNEW" ||
+                    _self.getOperateState() == "EDIT"
+                ) {
+                    row_fields_work =
+                        '<div  class="row-fluid row-block row_field">' +
+                        '<div class="spanSelf">' +
+                        '<input type="hidden" name="id' +
+                        i +
+                        '" value="' +
+                        correctValue(id) +
+                        '" />' +
+                        '<input type="text" id="attendDate' +
+                        i +
+                        '" name="attendDate' +
+                        i +
+                        '" value="' +
+                        correctValue(attendDate) +
+                        '"class="input-height cell-input" validate="{required:true}" />' +
+                        "</div>" +
+                        '<div class="spanSelf"><input type="text"  name="type' +
+                        i +
+                        '" value="" class="input-height cell-input"    validate="{required:true}"/></div>' +
+                        '<div class="spanSelf"><input  type="text" name="reason' +
+                        i +
+                        '" value="" class="input-height cell-input"   validate="{required:true}"/></div>' +
+                        '<div class="spanSelf"><input style="background-color:#daeef8"  length="5" type="text" id="fillCardTimeStr' +
+                        i +
+                        '" name="fillCardTimeStr' +
+                        i +
+                        '" value="' +
+                        correctValue(fillCardTimeStr) +
+                        '" class="input-height cell-input fillCardTime"  placeholder="' +
+                        jsBizMultLan.atsManager_fillSignCardEdit_i18n_17 +
+                        '"  /></div>' +
+                        //                      + '<script type="text/javascript">$(function() {var text_json = {id:"fillCardTimeStr0",name: "fillCardTimeStr0",readonly: "",value: "0",validate: "{required:true,myTmVldt:true}",onChange: null};$("#fillCardTimeStr0").shrTextField(text_json);});</script>'
+                        '<div class="spanSelf"><input  maxlength="255" type="text" name="toremarks' +
+                        i +
+                        '" value="' +
+                        correctValue(remark) +
+                        '" class="input-height cell-input"/></div>';
+                    if (i == 0) {
+                        row_fields_work +=
+                            '<div><a class="rowAdd cursor-pointer" style="font-size: 20px;">+</a></div>';
+                    } else {
+                        row_fields_work +=
+                            '<div><a class="rowAdd cursor-pointer" style="font-size: 20px;">+</a><a class="rowDel cursor-pointer" style="font-size: 17px;">x</a></div>';
+                    }
+                    row_fields_work += "</div>";
+                    $("#fillSignCardEntryInfo").append(row_fields_work);
+                    $(".fillCardTime").on("input", function (e) {
+                        var target = e.target;
+                        var val = $(target).val() || "";
+                        var hasSignal =
+                            val.indexOf(":") !== -1 || val.indexOf(":") !== -1;
+                        if (
+                            val.length === 4 &&
+                            /^\d+$/.test(val) &&
+                            !hasSignal
+                        ) {
+                            var hour = val.slice(0, 2);
+                            val = hour + ":" + val.slice(2);
+                            if (hour < 24) {
+                                $(target).val(val);
+                            }
+                            return;
+                        }
+                        if (
+                            val.length >= 5 &&
+                            /^(\d{2}[:|:]\d{2,})+$/.test(val)
+                        ) {
+                            var hour = val.slice(0, 2);
+                            val = val.slice(0, 5);
+                            if (hour < 24) {
+                                $(target).val(val);
+                            }
+                            return;
+                        }
+                    });
+                    var remarkObj = { l1: "", l2: "", l3: "" };
+                    remarkObj.l1 = correctValue(shr.xssFilter(row["remark_l1"]));
+                    remarkObj.l2 = correctValue(shr.xssFilter(row["remark_l2"]));
+                    remarkObj.l3 = correctValue(shr.xssFilter(row["remark_l3"]));
+                    _self.addRowFieldString(
+                        false,
+                        i,
+                        reason_id,
+                        reason_name,
+                        type_key,
+                        type_value,
+                        remarkObj
+                    );
+                } else if (_self.getOperateState() == "VIEW") {
+                    row_fields_work =
+                        '<div class="row-fluid row-block row_field">' +
+                        '<div class="spanSelf">' +
+                        '<input type="hidden" name="id' +
+                        i +
+                        '" value="' +
+                        correctValue(id) +
+                        '" />' +
+                        '<input type="hidden" id="type' +
+                        i +
+                        '_el" value="' +
+                        correctValue(type_value) +
+                        '" />' +
+                        '<input type="hidden" id="reason' +
+                        i +
+                        '_el" value="' +
+                        correctValue(reason_id) +
+                        '" /> ' +
+                        '<span id="attendDate' +
+                        i +
+                        '" name="attendDate' +
+                        i +
+                        '" class="cell-input">' +
+                        correctValue(attendDate) +
+                        "</span>" +
+                        "</div>" +
+                        '<div class="spanSelf"><span name="type' +
+                        i +
+                        '" class="cell-input">' +
+                        correctValue(type_key) +
+                        "</span></div>" +
+                        '<div class="spanSelf"><span name="reason' +
+                        i +
+                        '" class="cell-input">' +
+                        correctValue(reason_name) +
+                        "</span></div>" +
+                        '<div class="spanSelf"><span name="fillCardTimeStr' +
+                        i +
+                        '"  class="cell-input">' +
+                        correctValue(fillCardTimeStr) +
+                        "</span></div>" +
+                        '<div class="spanSelf"><span name="toremarks' +
+                        i +
+                        '" style = "word-break: break-word;" class="cell-input">' +
+                        correctValue(remark) +
+                        "</span></div>" +
+                        "</div>";
+                    $("#fillSignCardEntryInfo").append(row_fields_work);
+                }
+                atsMlUtile.setTransDateValue("attendDate" + i, attendDate);
+                _self.initAtsBillExplain();
+            }
+        }
+        //添加事件处理
+        //新增
+        $("#fillSignCardEntryInfo a.rowAdd").die("click");
+        $("#fillSignCardEntryInfo a.rowAdd").live("click", function () {
+            var vali = $(
+                "#fillSignCardEntryInfo .row_field:last input[name^=attendDate]"
+            ).attr("name");
+            if (vali != null && vali != "") {
+                var idx = new String(vali).substr(10);
+                var idxA = new Number(idx) + 1;
+                _self.addRowFieldString(
+                    true,
+                    idxA,
+                    null,
+                    null,
+                    null,
+                    null,
+                    null
+                );
+            }
+        });
+
+        //删除
+        $("#fillSignCardEntryInfo a.rowDel").die("click");
+        $("#fillSignCardEntryInfo a.rowDel").live("click", function () {
+            var entryId = $(
+                $(this).closest("div.row_field").children()[0]
+            ).children()[0].value;
+            if (entryId != "" && entryId != null && entryId != undefined) {
+                deletedList += entryId + ",";
+            }
+            $(this).closest("div.row_field").remove();
+        });
+    },
+    addRowFieldString: function (
+        flag,
+        i,
+        reason_id,
+        reason_name,
+        type_key,
+        type_value,
+        remark
+    ) {
+        if (flag) {
+            var row_fields_work =
+                '<div  class="row-fluid row-block row_field">' +
+                '<div class="spanSelf"><input type="hidden" name="id' +
+                i +
+                '" value="" /><input type="text" id="attendDate' +
+                i +
+                '"  name="attendDate' +
+                i +
+                '" value=""class="input-height cell-input" validate="{required:true}" /></div>' +
+                '<div class="spanSelf"><input name="type' +
+                i +
+                '_el" type="hidden"/><input type="text"  name="type' +
+                i +
+                '" value="" class="input-height cell-input"    validate="{required:true}"/></div>' +
+                '<div class="spanSelf"><input type="text" name="reason' +
+                i +
+                '" value="" class="input-height cell-input"   validate="{required:true}"/></div>' +
+                '<div class="spanSelf"><input style="background-color:#daeef8"  length="5" type="text" name="fillCardTimeStr' +
+                i +
+                '" value="" class="input-height cell-input fillCardTime"  placeholder="' +
+                jsBizMultLan.atsManager_fillSignCardEdit_i18n_17 +
+                '" /></div>' +
+                '<div class="spanSelf"><input maxlength="255" type="text" name="toremarks' +
+                i +
+                '" value="" class="input-height cell-input"/></div>' +
+                '<div><a class="rowAdd cursor-pointer" style="font-size: 20px;">+</a><a class="rowDel cursor-pointer" style="font-size: 17px;">x</a></div>' +
+                "</div>";
+
+            $("#fillSignCardEntryInfo").append(row_fields_work);
+            $(".fillCardTime").on("input", function (e) {
+                var v = $(e.target).val() || "";
+                if (/[0-5][0-9][0-5][0-9]/.test(v) && v.length == 4) {
+                    v =
+                        $(e.target).val().substring(0, 2) +
+                        ":" +
+                        $(e.target).val().substring(2, 4);
+                }
+                if (
+                    (/[0-2][0-9]:[0-5][0-9]/.test(v) && v.length == 5) ||
+                    (/[0-2][0-9]:[0-5][0-9]/.test(v) && v.length == 5)
+                ) {
+                    var h = new Number(v.substr(0, 2));
+                    if (h < 24) {
+                        v =
+                            $(e.target).val().substring(0, 2) +
+                            ":" +
+                            $(e.target).val().substring(3, 5);
+                        $(e.target).val(v);
+                    }
+                }
+            });
+        }
+        $('input[name="fillCardTimeStr' + i + '"]').attr(
+            "validate",
+            "{required:true,myTmVldt:true}"
+        );
+        $('input[name="attendDate' + i + '"]').attr(
+            "validate",
+            "{required:true,myTmVldt1:true}"
+        );
+
+        //将【考勤日期】 【补签卡类型】【补签卡原因】封装成F7
+        //备注改成多语言
+        /*$('input[name="remark' + i + '"]')
+            .attr("id", "remark" + i)
+            .shrMultiLangBox({
+                readonly: "",
+                value: remark,
+                validate: "{maxlength:128}",
+                trimAll: false,
+                onChange: null
+            });*/
+
+        //针对从【考勤看板--我要补卡】中进入
+        if (
+            this.strdate != null &&
+            this.strdate != undefined &&
+            this.strdate != ""
+        ) {
+            $('input[name="attendDate' + i + '"]').shrDateTimePicker(
+                "setValue",
+                this.strdate
+            );
+        }
+        //【补签卡类型】
+        var that = this;
+        var select_json = {
+            id: "type" + i,
+            readonly: "",
+            value: "0",
+            onChange: null,
+            validate: "{required:true}",
+            filter: ""
+        };
+        select_json.data = [
+            {
+                value: 1,
+                alias: jsBizMultLan.atsManager_fillSignCardEdit_i18n_1
+            }
+        ];
+        $('input[name="type' + i + '"]').shrSelect(select_json);
+        if (!flag) {
+            $('input[name="type' + i + '"]').val(type_key);
+            $('input[name="type' + i + '_el"]').val(type_value);
+        } else {
+            //如果是新增,默认的就是补卡
+            $('input[name="type' + i + '"]').val(
+                jsBizMultLan.atsManager_fillSignCardEdit_i18n_1
+            );
+            $('input[name="type' + i + '_el"]').val(1);
+        }
+
+        //【考勤日期】
+        var attendDate = atsMlUtile.getFieldOriginalValue("attendDate" + i);
+        $('input[id="attendDate' + i + '"]').shrDateTimePicker({
+            id: "attendDate" + i,
+            tagClass: "block-father input-height",
+            readonly: "",
+            yearRange: "",
+            ctrlType: "Date",
+            value: attendDate,
+            isAutoTimeZoneTrans: false,
+            validate: "{dateISO:true,required:true}",
+            onChange: function () {
+                if (0 == i) {
+                    that.initAtsBillExplain();
+                }
+            },
+            isNewDateCtrl: true
+        });
+
+        //【补签卡原因】
+        var grid_f7_json = { id: "reason" + i, name: "reason" + i };
+        grid_f7_json.subWidgetName = "shrPromptGrid";
+        var object = $('input[name="reason' + i + '"]');
+        grid_f7_json.subWidgetOptions = {
+            title: jsBizMultLan.atsManager_fillSignCardEdit_i18n_4,
+            uipk: "com.kingdee.eas.hr.ats.app.FillSignReason.AvailableList.F7",
+            query: ""
+        };
+        grid_f7_json.subWidgetOptions.isHRBaseItem = true;
+        grid_f7_json.subWidgetOptions.filterConfig = [
+            {
+                name: "isComUse",
+                value: true,
+                alias: jsBizMultLan.atsManager_fillSignCardEdit_i18n_20,
+                widgetType: "checkbox"
+            }
+        ];
+        grid_f7_json.subWidgetOptions.bizFilterFields = "hrOrgUnit";
+        grid_f7_json.subWidgetOptions.f7ReKeyValue =
+            "BaseInfo.id:BaseInfo.name";
+        grid_f7_json.subWidgetName = "specialPromptGrid";
+        grid_f7_json.validate = "{required:true}";
+        object.shrPromptBox(grid_f7_json);
+
+        if (!flag) {
+            object.val(correctValue(reason_name));
+            //利用F7de特性来设置值
+            $("#reason" + i + "_el").val(correctValue(reason_id));
+        } else {
+            //新增行时,补签卡原因取自上一行
+            var preRow = i - 1;
+            $("#reason" + i + "_el").val(
+                correctValue($("#reason" + preRow + "_el").val())
+            );
+            $("#reason" + i).val(correctValue($("#reason" + preRow).val()));
+        }
+    },
+    assembleEntriesData: function () {
+        var entries = [];
+        var lengthArray = [];
+
+        var personDateStr = "";
+
+        if (_self.getOperateState().toUpperCase() != "VIEW") {
+            $("#fillSignCardEntryInfo input[name^=attendDate]").each(function (
+                i,
+                domEle
+            ) {
+                var length = $(domEle)
+                    .attr("name")
+                    .substring("attendDate".length);
+                lengthArray.push(parseInt(length));
+            });
+
+            //将数组由小到大排列
+            if (lengthArray.length > 0) {
+                lengthArray.sort(sortNumber);
+            }
+
+            for (var i = 0; i < lengthArray.length; i++) {
+                var entrie = {
+                    id: correctValue(
+                        $(
+                            '#fillSignCardEntryInfo input[name="id' +
+                                lengthArray[i] +
+                                '"]'
+                        ).val()
+                    ),
+                    attendDate: atsMlUtile.getFieldOriginalValue(
+                        'fillSignCardEntryInfo input[name="attendDate' +
+                            lengthArray[i] +
+                            '"]'
+                    ),
+                    type: new Number(
+                        $(
+                            '#fillSignCardEntryInfo input[type=hidden][id="type' +
+                                lengthArray[i] +
+                                '_el"]'
+                        ).val()
+                    ),
+                    reason: {
+                        id: correctValue(
+                            $(
+                                '#fillSignCardEntryInfo input[type=hidden][id="reason' +
+                                    lengthArray[i] +
+                                    '_el"]'
+                            ).val()
+                        ),
+                        name: correctValue(
+                            $(
+                                '#fillSignCardEntryInfo input[name="reason' +
+                                    lengthArray[i] +
+                                    '"]'
+                            ).val()
+                        )
+                    },
+
+                    fillCardTimeStr: correctValue(
+                        $(
+                            '#fillSignCardEntryInfo input[name="fillCardTimeStr' +
+                                lengthArray[i] +
+                                '"]'
+                        ).val()
+                    ),
+                    toremarks: document.querySelector('#fillSignCardEntryInfo input[name="toremarks'+lengthArray[i]+'"]').value,
+                    person: {
+                        id: $("#entries_person").shrPromptBox("getValue").id
+                    }
+                };
+                var date = entrie.attendDate;
+                var personId = entrie.person.id;
+                if (date && personId) {
+                    if (i > 0) {
+                        personDateStr += ",";
+                    }
+                    personDateStr += personId + "_" + date.substring(0, 10);
+                }
+                entries.push(entrie);
+            }
+        } else {
+            $("#fillSignCardEntryInfo span[name^=attendDate]").each(function (
+                i,
+                domEle
+            ) {
+                var length = $(domEle)
+                    .attr("name")
+                    .substring("attendDate".length);
+                lengthArray.push(parseInt(length));
+            });
+
+            //将数组由小到大排列
+            if (lengthArray.length > 0) {
+                lengthArray.sort(sortNumber);
+            }
+
+            for (var i = 0; i < lengthArray.length; i++) {
+                var entrie = {
+                    id: correctValue(
+                        $(
+                            '#fillSignCardEntryInfo input[name="id' +
+                                lengthArray[i] +
+                                '"]'
+                        ).val()
+                    ),
+                    attendDate: atsMlUtile.getFieldOriginalValue(
+                        '#fillSignCardEntryInfo span[name="attendDate' +
+                            lengthArray[i] +
+                            '"]'
+                    ),
+                    type: new Number(
+                        $(
+                            '#fillSignCardEntryInfo input[type=hidden][id="type' +
+                                lengthArray[i] +
+                                '_el"]'
+                        ).val()
+                    ),
+                    reason: {
+                        id: correctValue(
+                            $(
+                                '#fillSignCardEntryInfo input[type=hidden][id="reason' +
+                                    lengthArray[i] +
+                                    '_el"]'
+                            ).val()
+                        ),
+                        name: correctValue(
+                            $(
+                                '#fillSignCardEntryInfo span[name="reason' +
+                                    lengthArray[i] +
+                                    '"]'
+                            ).text()
+                        )
+                    },
+
+                    fillCardTimeStr: correctValue(
+                        $(
+                            '#fillSignCardEntryInfo span[name="fillCardTimeStr' +
+                                lengthArray[i] +
+                                '"]'
+                        ).text()
+                    ),
+                    toremarks: document.querySelector('#fillSignCardEntryInfo input[name="toremarks'+lengthArray[i]+'"]').value,
+                    person: { id: $("#entries_person").val() }
+                };
+                var date = entrie.attendDate;
+                var personId = entrie.person.id;
+                if (date && personId) {
+                    if (i > 0) {
+                        personDateStr += ",";
+                    }
+                    personDateStr += personId + "_" + date.substring(0, 10);
+                }
+                entries.push(entrie);
+            }
+        }
+
+        if (personDateStr) {
+            _self.remoteCall({
+                type: "post",
+                method: "getPersonAdminOrgUnit",
+                param: { personDateStr: personDateStr },
+                async: false,
+                success: function (res) {
+                    var info = res;
+                    var personAtsInfo = {};
+                    for (var i = 0; i < entries.length; i++) {
+                        var date = entries[i].attendDate;
+                        var personId = entries[i].person.id;
+                        if (date && personId) {
+                            var person_date =
+                                personId + "_" + date.substring(0, 10);
+                            personAtsInfo = info[person_date];
+                            if (personAtsInfo && personAtsInfo.adminOrgUnit) {
+                                entries[i]["adminOrgUnit"] =
+                                    personAtsInfo.adminOrgUnit;
+                                entries[i]["position"] = personAtsInfo.position;
+                            }
+                        }
+                    }
+                }
+            });
+        }
+        return entries;
+    }
+});