From 946dae0a8885b529e7755788ba7872503d9f9d9d Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期二, 20 八月 2024 18:09:31 +0800
Subject: [PATCH] 按钮点击操作成功再有效

---
 pages/modal/5602.vue |  252 +++++++++++++++++++++++++++++++++++--------------
 1 files changed, 178 insertions(+), 74 deletions(-)

diff --git a/pages/modal/5602.vue b/pages/modal/5602.vue
index 402cc3a..66f1fbe 100644
--- a/pages/modal/5602.vue
+++ b/pages/modal/5602.vue
@@ -98,7 +98,8 @@
 							<view v-if="param.Sub_Page[0].OK_Button==true">
 								<button type="default" @tap="cancel"
 									class="btn_cancel">{{translateSys('cancel')}}</button>
-								<button type="primary" @tap="ok" class="btn_add">{{translateSys('ok')}}</button>
+								<button type="primary" @tap="ok" class="btn_add" :class="okLoading?'btn_disabled':''"
+									:disabled="okLoading">{{translateSys('ok')}}</button>
 							</view>
 						</view>
 					</swiper-item>
@@ -147,7 +148,8 @@
 							<view v-if=" param.Sub_Page[1].OK_Button==true">
 								<button type="default" @tap="cancel"
 									class="btn_cancel">{{translateSys('cancel')}}</button>
-								<button type="primary" @tap="ok2" class="btn_add">{{translateSys('ok')}}</button>
+								<button type="primary" @tap="ok2" class="btn_add" :class="ok2Loading?'btn_disabled':''"
+									:disabled="ok2Loading">{{translateSys('ok')}}</button>
 							</view>
 						</view>
 					</swiper-item>
@@ -185,8 +187,8 @@
 		data() {
 			return {
 				title: this.translateSys("sorting"),
-				ClsID: "Sorting_Detail",
-				ClsID2: "Sorting_Result",
+				ClsID: "Distribution_CNTR_Detail",
+				ClsID2: "Picking_Result",
 				param: {},
 				focusFieldId: "",
 				focusOldFieldId: "",
@@ -210,6 +212,8 @@
 				items: [],
 				active_id: '',
 				activelist: [],
+				okLoading: false,
+				ok2Loading: false,
 			};
 		},
 		onLoad(options) {
@@ -220,22 +224,7 @@
 			this.$data.title = options.titlename;
 			this.$data.param = JSON.parse(options.param);
 			// console.log(this.$data.param);
-			//鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�-			this.Head_UIStyleGetInfo(this.$data.ClsID, this.$data.param.Input_UI_Style.ID);
-
-			//鍔犺浇鍒濆鐣岄潰
-			if (this.$data.param.Show_Welcom_Page) {
-				this.$data.param.Welcome_Page.Img = this.$data.param.Welcome_Page.Img.replace(/ /g, '+');
-				this.$data.param.Welcome_Page.Width = parseInt(this.$data.param.Welcome_Page.Width);
-				this.$data.param.Welcome_Page.Height = parseInt(this.$data.param.Welcome_Page.Height);
-			}
-			//鍔犺浇Tab椤电
-			this.$data.items.push(this.$data.param.Sub_Page[0].Name);
-			this.$data.items.push(this.$data.param.Sub_Page[1].Name);
-			this.Detail1_UIstyleGetInfo(this.ClsID, this.$data.param.Sub_Page[0].UI_Style.ID);
-			this.Detail2_UIstyleGetInfo(this.ClsID2, this.$data.param.Sub_Page[1].UI_Style.ID);
-
-			console.log(this.$data.param);
+			this.loadData(options.paramValue)
 		},
 		methods: {
 			setData: function(obj) {
@@ -258,6 +247,50 @@
 						data = data[key2];
 					});
 				});
+			},
+
+			async loadData(paramValue) {
+				//鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�+				await this.Head_UIStyleGetInfo(this.$data.ClsID, this.$data.param.Input_UI_Style.ID);
+				//浼犲叆鍙傛暟鍊�+				if (paramValue) {
+					const attrs = paramValue.attrs || [];
+					(this.$data.head_styledef?.form?.items || []).forEach(async (ele, index) => {
+						if (ele.name != "Layout") {
+							attrs.forEach(async (ele2, index2) => {
+								if (ele.fieldId == ele2.name) {
+									ele.value = ele2.value;
+								}
+							});
+						} else {
+							ele.setting.colList.forEach(async (col) => {
+								if (col) {
+									attrs.forEach(async (ele2,
+										index2) => {
+										if (col.fieldId == ele2.name) {
+											col.value = ele2.value;
+										}
+									});
+								}
+							});
+						}
+					})
+				}
+
+				//鍔犺浇鍒濆鐣岄潰
+				if (this.$data.param.Show_Welcom_Page) {
+					this.$data.param.Welcome_Page.Img = this.$data.param.Welcome_Page.Img.replace(/ /g, '+');
+					this.$data.param.Welcome_Page.Width = parseInt(this.$data.param.Welcome_Page.Width);
+					this.$data.param.Welcome_Page.Height = parseInt(this.$data.param.Welcome_Page.Height);
+				}
+				//鍔犺浇Tab椤电
+				this.$data.items.push(this.$data.param.Sub_Page[0].Name);
+				this.$data.items.push(this.$data.param.Sub_Page[1].Name);
+				await this.Detail1_UIstyleGetInfo(this.ClsID, this.$data.param.Sub_Page[0].UI_Style.ID);
+				await this.Detail2_UIstyleGetInfo(this.ClsID2, this.$data.param.Sub_Page[1].UI_Style.ID);
+
+
+				console.log(this.$data.param);
 			},
 			changeSwiper(evt) {
 				let index = evt.target.current || evt.detail.current;
@@ -437,53 +470,47 @@
 					dict_name: dict.name
 				};
 				// console.log(dataInfo);
-				this.$store.dispatch('DictGetInfo', dataInfo).then(async (success) => {
-					// console.log(success);
-					if (success.err_code == 0) {
-						var list = [];
-						var itemName = '';
-						success.result.dict_item_list.forEach((item) => {
-							if (item.is_default == '1')
-								itemName = item.name;
-							list.push({
-								text: item.value,
-								value: item.name,
-							});
+				try {
+					const res = await this.getDictInfo(dataInfo)
+					var list = [];
+					var itemName = '';
+					res.result.dict_item_list.forEach((item) => {
+						if (item.is_default == '1')
+							itemName = item.name;
+						list.push({
+							text: item.value,
+							value: item.name,
 						});
-
-						if (type == 'mast') { //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ�
-							if (itemName) {
-								$this.head_styledef.form.items[index].value = itemName;
-								var attr = $this.head_styledef.form.items[index].fieldId;
-								$this.head_styledef.form.model[attr] = itemName;
-							}
-							$this.head_styledef.form.items[index].dict = list;
-							var head_styledef = JSON.parse(JSON.stringify($this.head_styledef));
-							$this.head_styledef = [];
-							$this.head_styledef = head_styledef;
-							// console.log($this.$data.detail1StyleDefList);
-						} else {
-							if (itemName) {
-								$this.detail1_styledef.form.items[index].value = itemName;
-								var attr = $this.detail1_styledef.form.items[index].fieldId;
-								$this.detail1_styledef.form.model[attr] = itemName;
-							}
-							$this.detail1_styledef.form.items[index].dict = list;
-							var detail1_styledef = JSON.parse(JSON.stringify($this.detail1_styledef));
-							$this.detail1_styledef = [];
-							$this.detail1_styledef = detail1_styledef;
-							// console.log($this.$data.detail1_styledef);
+					});
+					//鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ�
+					if (type == 'mast') { //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ�
+						if (itemName) {
+							$this.head_styledef.form.items[index].value = itemName;
+							var attr = $this.head_styledef.form.items[index].fieldId;
+							$this.head_styledef.form.model[attr] = itemName;
 						}
-
+						$this.head_styledef.form.items[index].dict = list;
+						var head_styledef = JSON.parse(JSON.stringify($this.head_styledef));
+						$this.head_styledef = [];
+						$this.head_styledef = head_styledef;
+						// console.log($this.head_styledef);
 					} else {
-						uni.showModal({
-							title: this.translateSys("error") + "9.1",
-							content: success.err_msg,
-							showCancel: false,
-							confirmText: this.translateSys("cancel")
-						});
+						if (itemName) {
+							$this.detail1_styledef.form.items[index].value = itemName;
+							var attr = $this.detail1_styledef.form.items[index].fieldId;
+							$this.detail1_styledef.form.model[attr] = itemName;
+						}
+						$this.detail1_styledef.form.items[index].dict = list;
+						var detail1_styledef = JSON.parse(JSON.stringify($this.detail1_styledef));
+						$this.detail1_styledef = [];
+						$this.detail1_styledef = detail1_styledef;
+						// console.log($this.$data.detail1_styledef);
 					}
-				}).catch(ex => {
+
+
+					// $this.head_styledef.form.items[index].dictitem=success.result;
+					// this.$store.commit("classAttrList", $this.$data.classAttrList);
+				} catch (ex) {
 					// console.log(ex);
 					uni.showModal({
 						title: this.translateSys("error") + "9",
@@ -491,8 +518,38 @@
 						showCancel: false,
 						confirmText: this.translateSys("cancel")
 					});
-				});
+				}
 			},
+			getDictInfo(info) { //Mobox3寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛�+				const loginInfo = this.$store.getters.loginid
+				const mobxoSApi = this.$store.getters.getMobxoSApi
+				return new Promise((resolve, reject) => {
+					uni.request({
+						url: mobxoSApi + 'api/dict/GetInfo2?sessionid=' + loginInfo.result.session_id,
+						data: info,
+						method: 'POST',
+						dataType: "json",
+						success: (_res) => {
+							// console.log(_res);
+							const ret = _res.data
+							if (ret.err_code == 0) {
+								resolve(ret);
+							} else {
+								reject({
+									"errMsg": ret.err_msg
+								});
+							}
+						},
+						fail: (err) => {
+							// console.log(err);
+							reject(err);
+						}
+					})
+
+				})
+
+			},
+
 			onClick(item) {
 				this.focusFieldId = item.fieldId
 			},
@@ -506,7 +563,7 @@
 					var $this = this;
 
 					console.log(item);
-					if (item.oldvalue != item.value) {
+					if (item.oldvalue != item.value && item.value.trim() != "") {
 						item.oldvalue = item.value;
 						var attr = item.fieldId;
 						this.head_styledef.form.model[attr] = item.value;
@@ -589,7 +646,7 @@
 			},
 			onEnterChange(item) { //鍥炶溅锛岀偣鍑绘寜閽紝鍙栨秷鑺傜偣浜嬩欢
 				// console.log(item);
-				if (item.oldvalue != item.value) {
+				if (item.oldvalue != item.value && item.value.trim() != "") {
 					item.oldvalue = item.value;
 					var attr = item.fieldId;
 					this.head_styledef.form.model[attr] = item.value;
@@ -779,7 +836,7 @@
 															this.translateSys(
 																"quotation_mark_left") + value
 															.page_name + this.translateSys(
-																"sys.quotation_mark_right") +
+																"quotation_mark_right") +
 															this.translate(
 																"are_you_sure_clear_last"),
 
@@ -913,8 +970,34 @@
 													data.forEach(async (ele2, index) => {
 														if (ele.fieldId == ele2
 															.attr) {
+															if (ele.name ==
+																'Select' &&
+																ele2
+																.choice_list) {
+																const
+																	dictItemList = [];
+																const
+																	choiceList =
+																	ele2
+																	.choice_list ||
+																	[];
+																for (let d in
+																		choiceList) {
+																	const val =
+																		choiceList[
+																			d];
+																	dictItemList
+																		.push({
+																			text: val,
+																			value: val
+																		});
+																}
+																ele.dict =
+																	dictItemList;
+															}
 															ele.value = ele2
 																.value;
+
 														}
 													});
 												});
@@ -1456,21 +1539,23 @@
 			},
 			sava(event) {
 				var $this = this;
+
 				if (this.$data.detail1StyleDefList.length == 0) {
 					uni.showModal({
 						title: this.translateSys("tip"),
 						content: this.translate(
-								"page.tip_no_data_first") +
+								"tip_no_data_first") +
 							this.translateSys(
 								"quotation_mark_left") + this.param.Sub_Page[0].Name + this.translateSys(
-								"sys.quotation_mark_right") +
+								"quotation_mark_right") +
 							this.translate(
-								"page.tip_no_data_last"),
+								"tip_no_data_last"),
 						showCancel: false,
 						confirmText: this.translateSys("cancel")
 					});
 					return false;
 				}
+				this.okLoading = true
 				//鑾峰彇琛ㄥご灞炴�
 				var head_attr = {};
 				this.$data.head_styledef.form.items.forEach(item => {
@@ -1538,6 +1623,7 @@
 					});
 				});
 				if (jsonlist.length == 0) {
+					this.okLoading = false
 					uni.showModal({
 						title: this.translateSys("tip"),
 						content: this.translate("tip_no_select_data"),
@@ -1571,21 +1657,23 @@
 			},
 			sava2(event) {
 				var $this = this;
+
 				if (this.$data.detail1StyleDefList.length == 0) {
 					uni.showModal({
 						title: this.translateSys("tip"),
 						content: this.translate(
-								"page.tip_no_data_first") +
+								"tip_no_data_first") +
 							this.translateSys(
 								"quotation_mark_left") + this.param.Sub_Page[1].Name + this.translateSys(
-								"sys.quotation_mark_right") +
+								"quotation_mark_right") +
 							this.translate(
-								"page.tip_no_data_last"),
+								"tip_no_data_last"),
 						showCancel: false,
 						confirmText: this.translateSys("cancel")
 					});
 					return false;
 				}
+				this.ok2Loading = true
 				//鑾峰彇琛ㄥご灞炴�
 				var head_attr = {};
 				this.$data.head_styledef.form.items.forEach(item => {
@@ -1653,12 +1741,14 @@
 					});
 				});
 				if (jsonlist.length == 0) {
+					this.ok2Loading = false
 					uni.showModal({
 						title: this.translateSys("tip"),
 						content: this.translate("tip_no_select_data"),
 						showCancel: false,
 						confirmText: this.translateSys("cancel")
 					});
+
 					return;
 				}
 				const list = []
@@ -1782,7 +1872,7 @@
 														this.translateSys(
 															"quotation_mark_left") + value
 														.page_name + this.translateSys(
-															"sys.quotation_mark_right") +
+															"quotation_mark_right") +
 														this.translate(
 															"are_you_sure_clear_last"),
 													success: function(res) {
@@ -1923,7 +2013,15 @@
 							confirmText: this.translateSys("cancel")
 						});
 					}
+					if (type == "1")
+						this.okLoading = false
+					else if (type == "2")
+						this.ok2Loading = false
 				}).catch(ex => {
+					if (type == "1")
+						this.okLoading = false
+					else if (type == "2")
+						this.ok2Loading = false
 					var tip = typeof ex == "string" ? ex : ex.errMsg;
 					uni.showModal({
 						title: this.translateSys("error") + "8.1",
@@ -2194,9 +2292,15 @@
 			font-size: 38rpx;
 			font-weight: bold;
 			float: right;
+			color: #fff;
 			display: inline-block;
 		}
 
+		button.btn_disabled {
+			background-color: #ddd;
+			color: #888;
+		}
+
 		.logo {
 			height: 100rpx;
 			width: 460rpx;

--
Gitblit v1.9.1