heyuan пре 2 месеци
родитељ
комит
9bbc7c11c1

+ 74 - 0
GDYSL/js/deploy/easweb.ear/shr_web.war/addon/customer/web/js/compensation/batchSubmitShemeBillListEx.js

@@ -0,0 +1,74 @@
+shr.defineClass("shr.compensation.BatchSubmitShemeBillListEx", shr.compensation.BatchSubmitShemeBillList, {
+	initalizeDOM: function () {
+		shr.compensation.BatchSubmitShemeBillListEx.superClass.initalizeDOM.call(this);
+		var _self = this;
+		//
+		$("#submitShemeTemplate").shrPromptBox("option", {
+			//
+			afterOnSelectRowHandler: function (event, data) {
+				console.log(data.value.id);
+				$.block.show({
+					text: '正在生成套打附件,请稍候... <br/> Generating print attachment, please wait...'
+				});
+				_self.remoteCall({
+					method: "customPrint",
+					param: {
+						submitShemeTemplateId: data.value.id,
+						billIds: _self.getSelectedIds()
+					},
+					success: function (data) {
+						window.open(data);
+					},
+					complete(data) {
+						$.block.hide();
+					},
+				});
+			}
+		});
+	},
+	/**
+	 * 模板打印
+	 */
+	customPrintAction: function () {
+		var _self = this;
+		//获取选中行id数组
+		var idArray = _self.getSelectedFields("id");
+		if (idArray.length == 0) {
+			shr.showError({
+				message: "请选择需要打印的单据!</br> You must select at least one record!",
+			});
+			return;
+		}
+		var submitSchemeId;
+		var isError = false;
+		var errorMsg = "";
+		//遍历选中行
+		idArray.forEach(function (rowid) {
+			//提报方案id
+			var submitSchemeIdNew = $("#grid").jqGrid("getCell", rowid, "submitScheme.id");
+			if (!submitSchemeIdNew) {
+				isError = true;
+				errorMsg = "没有找到提报方案id,请检查! </br> No submit scheme id found, please check!";
+				return;
+			}
+			if (submitSchemeId == undefined) {
+				submitSchemeId = submitSchemeIdNew;
+			} else if (submitSchemeId != submitSchemeIdNew) {
+				isError = true;
+				errorMsg = "请选择相同提报方案的单据进行打印! </br> Please select the records with the same submit scheme for printing!";
+				return;
+			}
+		})
+		if (isError) {
+			shr.showError({
+				message: "请选择相同提报方案的单据进行打印! </br> Please select the records with the same submit scheme for printing!",
+				hideAfter: 5
+			});
+			return;
+		}
+		//设置过滤条件
+		$("#submitShemeTemplate").shrPromptBox("setFilter", "calSubmitScheme.id = '" + submitSchemeId + "' and state = '1'");
+		//打开选择框
+		$("#submitShemeTemplate").shrPromptBox("open");
+	},
+});

+ 147 - 0
GDYSL/js/deploy/easweb.ear/shr_web.war/addon/customer/web/js/compensation/submitShemeTemplateEdit.js

@@ -0,0 +1,147 @@
+/**
+ * 提报套打模板Edit.js
+ */
+var fields;
+shr.defineClass("shr.custom.SubmitShemeTemplateEdit", shr.framework.Edit, {
+    initalizeDOM: function () {
+        shr.custom.SubmitShemeTemplateEdit.superClass.initalizeDOM.call(this);
+        var _self = this;
+        $("#addRow_entry").hide();
+        $("#deleteRow_entry").hide();
+        if ($("#state").val() == "1") {
+            //启用状态的模板数据,不允许编辑
+            $("#edit").hide();
+            $("#enable").hide();
+        } else if ($("#state").val() == "0") {
+            //未启用状态的模板数据
+            $("#disable").hide();
+        } else if ($("#state").val() == "2") {
+            //禁用状态的模板数据
+            $("#disable").hide();
+        }
+        if (this.getOperateState() != "VIEW") {
+            $('[id^="attachment_"][id$="_null0"]').shrAttachment("option", {
+                //删除成功回调
+                deleteSuccessCallback: function (value) {
+                    console.log(value);
+                    //清空分录数据
+                    _self.deleteEntry();
+                },
+                //上传成功回调
+                uploadSuccessCallback: function (value) {
+                    //获取上传文件的id
+                    _self.deleteEntry();
+                    _self.updateEntry();
+                }
+            });
+            //提报方案
+            $("#calSubmitScheme").shrPromptBox("option", {
+                //值改变
+                onchange: function (e, value) {
+                    if (!value.current) {
+                        _self.deleteEntry();
+                        return;
+                    }
+                    var id = value.current.id;
+                    if (!value.previous) {
+                        _self.deleteEntry();
+                        _self.updateEntry(id);
+                        return;
+                    }
+                    var oldId = value.previous.id;
+                    //附件id
+                    var attachmentId = _self.getAttachmentId();
+                    if (attachmentId && id) {
+                        //更新分录
+                        if (id != oldId) {
+                            _self.deleteEntry();
+                            _self.updateEntry(id);
+                        }
+                    } else {
+                        _self.deleteEntry();
+                    }
+                }
+            });
+            if (this.getOperateState() == "EDIT") {
+                //更新分录表格字段属性
+                _self.setEditGridOptions(this.initData.submitSchemeFields)
+            }
+        }
+    },
+    /**
+     * 
+     * @param {*} submitSchemeFields 设置编辑表格列属性
+     */
+    setEditGridOptions: function (submitSchemeFields) {
+        $entry = $("#entry");
+        $entry.jqGrid("getGridParam", "colModel").forEach(function (col) {
+            //设置列属性
+            if (col.name == "column" && col.editable && !col.hidden) {
+                // col.formatter = "shrselect";
+                // col.edittype = "shrselect";
+                // col.sorttype = "enum";
+                // col.required = true;
+                col.editoptions = {
+                    enumSource: {
+                        data: submitSchemeFields
+                    }
+                }
+                col.formatoptions = {
+                    enumSource: {
+                        data: submitSchemeFields
+                    }
+                }
+            };
+        });
+    },
+    /**
+     * 
+     * @returns {String} attachmentId 上传文件的id
+     */
+    getAttachmentId: function () {
+        //附件只能上传一个文件
+        var attachmentId = $('[id^="attachment_"][id$="_null0_uploadFileGrid"]').find('tr').eq(1).attr("id");
+        return attachmentId;
+    },
+    /**
+     * 更新分录
+     */
+    updateEntry: function (submitSchemeId) {
+        var _self = this;
+        //获取上传文件的id
+        var attachmentId = _self.getAttachmentId();
+        //提报方案id
+        if (!submitSchemeId) {
+            submitSchemeId = $("#calSubmitScheme").shrPromptBox("getValue").id
+        }
+        var hrOrgUnit = $('#hrOrgUnit').shrPromptBox('getValue');
+        var hrOrgUnitId = hrOrgUnit ? hrOrgUnit.id : "";
+        if (attachmentId && submitSchemeId) {
+            console.log(attachmentId);
+            //获取模板字段
+            var entryData = _self.remoteCall({
+                method: 'addEntryData',
+                param: {
+                    attachmentId: attachmentId,
+                    submitSchemeId: submitSchemeId,
+                    datasource: "2",
+                    costTypeId: "",
+                    hrOrgUnitId: hrOrgUnitId
+                },
+                isTransformParam: true,
+                async: false
+            });
+            //更新分录表格字段属性
+            _self.setEditGridOptions(entryData.submitSchemeFields)
+            //新增分录
+            $("#entry").jqGrid("addLocalRowData", entryData.entryInfos);
+        }
+    },
+
+    /**
+     * 删除分录
+     */
+    deleteEntry: function () {
+        $("#entry").jqGrid('clearGridData');
+    },
+});

+ 8 - 0
GDYSL/js/deploy/easweb.ear/shr_web.war/addon/customer/web/js/compensation/submitShemeTemplateList.js

@@ -0,0 +1,8 @@
+/**
+ * 提报套打模板List.js
+ */
+shr.defineClass("shr.custom.submitShemeTemplateList", shr.framework.List, {
+    initalizeDOM: function () {
+        shr.custom.submitShemeTemplateList.superClass.initalizeDOM.call(this);
+    },
+});

+ 21 - 8
patch/20251013(未部署)/eas/server/deploy/easweb.ear/shr_web.war/addon/customer/web/js/compensation/batchSubmitShemeBillListEx.js

@@ -7,6 +7,9 @@ shr.defineClass("shr.compensation.BatchSubmitShemeBillListEx", shr.compensation.
 			//
 			afterOnSelectRowHandler: function (event, data) {
 				console.log(data.value.id);
+				$.block.show({
+					text: '正在生成套打附件,请稍候... <br/> Generating print attachment, please wait...'
+				});
 				_self.remoteCall({
 					method: "customPrint",
 					param: {
@@ -15,7 +18,10 @@ shr.defineClass("shr.compensation.BatchSubmitShemeBillListEx", shr.compensation.
 					},
 					success: function (data) {
 						window.open(data);
-					}
+					},
+					complete(data) {
+						$.block.hide();
+					},
 				});
 			}
 		});
@@ -34,25 +40,32 @@ shr.defineClass("shr.compensation.BatchSubmitShemeBillListEx", shr.compensation.
 			return;
 		}
 		var submitSchemeId;
+		var isError = false;
+		var errorMsg = "";
+		//遍历选中行
 		idArray.forEach(function (rowid) {
 			//提报方案id
 			var submitSchemeIdNew = $("#grid").jqGrid("getCell", rowid, "submitScheme.id");
 			if (!submitSchemeIdNew) {
-				shr.showError({
-					message: "没有找到提报方案id,请检查! </br> No submit scheme id found, please check!",
-					hiddenAfter: 5
-				});
+				isError = true;
+				errorMsg = "没有找到提报方案id,请检查! </br> No submit scheme id found, please check!";
 				return;
 			}
 			if (submitSchemeId == undefined) {
 				submitSchemeId = submitSchemeIdNew;
 			} else if (submitSchemeId != submitSchemeIdNew) {
-				shr.showError({
-					message: "请选择相同提报方案的单据进行打印! </br> Please select the records with the same submit scheme for printing!",
-				});
+				isError = true;
+				errorMsg = "请选择相同提报方案的单据进行打印! </br> Please select the records with the same submit scheme for printing!";
 				return;
 			}
 		})
+		if (isError) {
+			shr.showError({
+				message: "请选择相同提报方案的单据进行打印! </br> Please select the records with the same submit scheme for printing!",
+				hideAfter: 5
+			});
+			return;
+		}
 		//设置过滤条件
 		$("#submitShemeTemplate").shrPromptBox("setFilter", "calSubmitScheme.id = '" + submitSchemeId + "' and state = '1'");
 		//打开选择框