From 303d480e7569a0c0a476b462e843ea76658faac5 Mon Sep 17 00:00:00 2001
From: cyy <cuiqian2004@163.com>
Date: 星期六, 01 三月 2025 17:55:53 +0800
Subject: [PATCH] 5601 modify form smallwmd

---
 pages/modal/5601.vue |  167 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 153 insertions(+), 14 deletions(-)

diff --git a/pages/modal/5601.vue b/pages/modal/5601.vue
index e1d05fc..c8553f1 100644
--- a/pages/modal/5601.vue
+++ b/pages/modal/5601.vue
@@ -274,14 +274,11 @@
 			},
 		},
 		onLoad(options) {
-			console.log(options.titlename, options);
 			uni.setNavigationBarTitle({
 				title: options.titlename
 			}); //璁剧疆椤堕儴鏍囬 
 			this.title = options.titlename;
 			this.param = JSON.parse(options.param);
-
-
 			//鑾峰彇涓绘暟鎹被ID
 			this.ClsID = this.param.master_cls?.id;
 			if (this.ClsID) {
@@ -443,6 +440,9 @@
 								AttrVerify: false,
 								Event: evt,
 							};
+							if (page.After_ok?.ID) {
+								btn.After_Event = page.After_ok;
+							}
 							return [btn, btnCancel];
 						} else return [btnCancel];
 					} else {
@@ -733,7 +733,7 @@
 							.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋� 						var isflag = false;
 
-						if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+						if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� 							$this.onChange(onChangeEvent);
 						}
 						if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌�@@ -816,7 +816,7 @@
 					this.head_styledef.form.model[attr] = item.value;
 					var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠� 
-					if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+					if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� 						this.onChange(onChangeEvent);
 					}
 
@@ -832,7 +832,7 @@
 						let attr = col.fieldId;
 						this.head_styledef.form.model[attr] = col.value;
 						var onChangeEvent = col.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�-						if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+						if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� 							this.onChange(onChangeEvent);
 						}
 						return
@@ -843,7 +843,7 @@
 						let attr = item.fieldId;
 						this.head_styledef.form.model[attr] = item.value;
 						var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�-						if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+						if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� 							this.onChange(onChangeEvent);
 						}
 					}
@@ -860,7 +860,7 @@
 						let attr = col.fieldId;
 						this.head_styledef.form.model[attr] = col.value;
 						var onChangeEvent = col.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�-						if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+						if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� 							this.onChange(onChangeEvent);
 						}
 						return
@@ -871,7 +871,7 @@
 						let attr = item.fieldId;
 						this.head_styledef.form.model[attr] = item.value;
 						var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�-						if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+						if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� 							this.onChange(onChangeEvent);
 						}
 					}
@@ -2571,14 +2571,17 @@
 				})
 			},
 			onBtnClick(btn, pageData) {
+				const $this = this
 				if (btn.Prompt) {
 					const sContent = btn.PromptContent || this.translate("confirm")
 					uni.showModal({
 						title: this.translateSys("tip"),
 						content: btn.PromptContent || this.translate("confirm"),
 						success: function(res) {
-							if (res.confirm) {}
-							this.onButtonClicked(btn, pageData, -1);
+							if (res.confirm) {
+								$this.onButtonClicked(btn, pageData, -1);
+							}
+
 						},
 					})
 
@@ -2587,14 +2590,17 @@
 				}
 			},
 			onRowBtnClick(btn, pageData, index) {
+				const $this = this
 				if (btn.Prompt) {
 					const sContent = btn.PromptContent || this.translate("confirm")
 					uni.showModal({
 						title: this.translateSys("tip"),
 						content: btn.PromptContent || this.translate("confirm"),
 						success: function(res) {
-							if (res.confirm) {}
-							this.onButtonClicked(btn, pageData, index);
+							if (res.confirm) {
+								$this.onButtonClicked(btn, pageData, index);
+							}
+
 						},
 					})
 
@@ -2608,7 +2614,7 @@
 					button: "top",
 					button_name: btn.ShowName,
 					cls_id: btn.Cls_ID,
-					function: "3018",
+					function: "5601",
 					master: {},
 				};
 				if (btn.FunCode == "TriggerEvent") {
@@ -2618,14 +2624,146 @@
 					this.cancel();
 				} else if (btn.FunCode == "Delete") {
 					if (index > -1) {
+						const pageIndex = this.pageDetail.findIndex((
+							page) => {
+							return pageData.Name == page.Name;
+						})
 						const style = pageData.DefList[index];
 						//鍒犻櫎鐮佺洏涓牱寮忛潰鏉� 						pageData.DefList.splice(index, 1);
 						this.del(pageData, style, btn.AfterProcess_Event);
+						this.$set(this.pageDetail, pageIndex, pageData)
 					}
+				} else if (btn.FunCode == "Modify") {
+					if (index > -1) {
+						const style = pageData.DefList[index];
+						if (btn.Edit_dlg.Model == "small") {
+							this.showSmallDialog(btn, style, enviroment, pageData);
+						} else if (btn.Edit_dlg.Model == "form") {
+							this.showFormDialog(btn, style, enviroment, pageData);
+						} else {
+							uni.showModal({
+								title: this.translateSys("tip"),
+								content: this.translateSys("unrealized"),
+								showCancel: false,
+								confirmText: this.translateSys("cancel")
+							});
+						}
+					}
+
 				} else {
 					this.$Message.warning(this.$t("sys.unrealized"));
 				}
+			},
+			//淇敼灏忕獥鍙f暟鎹�+			showSmallDialog(btn, row, enviroment, pageData) {
+				var data = {
+					Add_BtnName: btn.ShowName,
+					EditDlgMode: btn.Edit_dlg.Model,
+					clsid: btn.Cls_ID,
+					objid: "",
+					cls_name: btn.Cls_Name,
+					Edit_dlg: btn.Edit_dlg
+				};
+				const objAttr = {}
+				row.form.items.forEach(item => {
+					if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�+						item.setting.colList.forEach(cols => {
+							if (cols != null) objAttr[cols
+								.fieldId] = cols.value;
+						});
+					} else
+						objAttr[item.fieldId] = item.value;
+				});
+				const url = `../modal/3018?param=${JSON.stringify(data)}&titlename=${btn.Edit_dlg
+					.Name}&editMode=1&objAttr=${JSON.stringify(objAttr)}&type=updateDataObj`
+
+				var $this = this;
+				uni.navigateTo({
+					url: url,
+					events: {
+						// 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�鍒板綋鍓嶉〉闈㈢殑鏁版嵁
+						updateDataObj: function(formData) {
+							const pageIndex = $this.pageDetail.findIndex((
+								page) => {
+								return pageData.Name == page.Name;
+							})
+							if (pageIndex < 0)
+								return
+							Object.assign(row.form.model, formData);
+							row.form.items.forEach(async (ele, index) => {
+								if (ele.name != "Layout") {
+									let value = formData[ele.fieldId]
+									if (value)
+										ele.value = value
+
+								} else {
+									ele.setting.colList.forEach(async (col) => {
+										if (col) {
+											let value = formData[col.fieldId]
+											if (value)
+												col.value = value
+										}
+									});
+								}
+							})
+							$this.$set($this.pageDetail, pageIndex, pageData)
+
+						},
+
+					}
+				});
+			},
+
+			//淇敼鑷畾涔夎〃鍗曟暟鎹�+			showFormDialog(btn, row, enviroment, pageData) {
+				const objAttr = {}
+				row.form.items.forEach(item => {
+					if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�+						item.setting.colList.forEach(cols => {
+							if (cols != null) objAttr[cols
+								.fieldId] = cols.value;
+						});
+					} else
+						objAttr[item.fieldId] = item.value;
+				});
+
+				const url = `../modal/form/index?param=${JSON.stringify(btn)}&titlename=${btn.Edit_dlg
+					.Name}&editMode=1&objAttr=${JSON.stringify(objAttr)}&type=updateDataObj`
+				var $this = this;
+				uni.navigateTo({
+					url: url,
+					events: {
+						// 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�鍒板綋鍓嶉〉闈㈢殑鏁版嵁
+						updateDataObj: function(formData) {
+							const pageIndex = $this.pageDetail.findIndex((
+								page) => {
+								return pageData.Name == page.Name;
+							})
+							if (pageIndex < 0)
+								return
+							Object.assign(row.form.model, formData);
+							row.form.items.forEach(async (ele) => {
+								if (ele.name != "Layout") {
+									let value = formData[ele.fieldId]
+									if (value)
+										ele.value = value
+
+								} else {
+									ele.setting.colList.forEach(async (col) => {
+										if (col) {
+											let value = formData[col.fieldId]
+											if (value)
+												col.value = value
+										}
+									});
+								}
+							})
+							$this.$set($this.pageDetail, pageIndex, pageData)
+
+						},
+					}
+				});
 			},
 			//纭畾
 			ok(pageData) {
@@ -3364,6 +3502,7 @@
 					line-height: 1.5;
 					border: none;
 					font-size: 30rpx;
+					margin-right: 10rpx;
 					display: inline-block;
 					float: right;
 					text-align: center;

--
Gitblit v1.9.1