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/3018_2.vue |   56 ++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 34 insertions(+), 22 deletions(-)

diff --git a/pages/modal/3018_2.vue b/pages/modal/3018_2.vue
index 483a96a..ffa382f 100644
--- a/pages/modal/3018_2.vue
+++ b/pages/modal/3018_2.vue
@@ -130,7 +130,7 @@
 					</a>
 				</view>
 			</view>
-			<button type="default" @tap="sava" class="btn_add" v-if="dropdownBtns.length==0">{{title}}</button>
+			<button type="default" @tap="sava" class="btn_add" v-if="dropdownBtns.length==0" :class="saving?'btn_disabled':''" :disabled="saving">{{title}}</button>
 			<button type="default" @tap="cancel" class="btn_cancel">{{translateSys('cancel')}}</button>
 
 		</view>
@@ -197,7 +197,8 @@
 				activity: null,
 				receiver: null,
 				intentFilter: null,
-				content: ''
+				content: '',
+				saving:false
 			};
 		},
 		onNavigationBarButtonTap(e) {
@@ -235,7 +236,8 @@
 
 					}
 				})
-			} else if (e.index == 1) {
+			} 
+			else if (e.index == 1) {
 				//鍒锋柊
 				uni.redirectTo({
 					url: '../modal/3018_2?param=' + JSON.stringify(this.$data.param) +
@@ -319,7 +321,7 @@
 					class_id: class_id,
 					ui_style_id: style_id,
 				};
-				this.$store.dispatch('UIStyleGetInfo', dataInfo).then(async(ret) => {
+				this.$store.dispatch('UIStyleGetInfo', dataInfo).then(async (ret) => {
 					// console.log(ret);
 					if (ret.err_code == 0) {
 						var styledef = "";
@@ -332,8 +334,7 @@
 								.style_def);
 						}
 						const styledefHead = styledef ? JSON.parse(styledef) : {};
-						for (let i in styledefHead.form.items)
-						{
+						for (let i in styledefHead.form.items) {
 							const ele = styledefHead.form.items[i]
 							if (ele.name != "Layout") {
 								ele.show = true
@@ -352,10 +353,9 @@
 									}
 								}
 							} else {
-								for (let j in ele.setting.colList)
-								{
+								for (let j in ele.setting.colList) {
 									const col = ele.setting.colList[j]
-							
+
 									if (col) {
 										col.show = true
 										if (col?.useDict) {
@@ -382,7 +382,7 @@
 						$this.setData({
 							head_styledef: styledefHead
 						})
-			
+
 						if ($this.head_styledef.event?.length > 0) {
 							$this.head_styledef.event.forEach(async (a) => { //鍒ゆ柇鏄惁鏄垵濮嬪寲浜嬩欢
 								if (a.event_id == "initial") {
@@ -440,7 +440,7 @@
 						formModel[formItem.fieldId] = itemName;
 					}
 					formItem.dict = list;
-			
+
 					// $this.head_styledef.form.items[index].dictitem=success.result;
 					// this.$store.commit("classAttrList", $this.$data.classAttrList);
 				} catch (ex) {
@@ -742,6 +742,7 @@
 
 
 			ontap(item) { //鎵爜鍔熻兘
+					// console.log("ontap",item);
 				// 鎵撳紑钃濈墮閫傞厤鍣� 				// uni.openBluetoothAdapter({
 				//   success: function() {
@@ -789,13 +790,13 @@
 			},
 			onScanValue(item, value) {
 				const $this = this;
-				console.log("onScanValue", item);
+				//console.log("onScanValue", item);
 				if (item.oldvalue != value) {
 					item.oldvalue = value;
 					item.value = value;
-					var attr = value
+					var attr = item.fieldId;
 					$this.head_styledef.form.model[attr] = value;
-					if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌�+					/*if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌� 						//鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴�
 						var findd = false
 						const items = $this.head_styledef.form.items || []
@@ -859,7 +860,7 @@
 							}
 						}
 					}
-
+					*/
 					var eventid = item.bind.onChangeEvent.id; //鍐呭鍙樺寲鍚庝簨浠� 					if (eventid) {
 						var obj_attr = this.head_styledef.form.model;
@@ -886,12 +887,12 @@
 				}
 			},
 			onClick(item) {
+				// console.log("onClick",item);
 				this.focusFieldId = item.fieldId
 			},
 			onevent(item) {
-				// console.log(e.target);
-				console.log(item);
-				if (item.oldvalue != item.value) {
+					// console.log("onevent",item);
+				if (item.oldvalue != item.value && item.value.trim() != "") {
 					item.oldvalue = item.value;
 					var attr = item.fieldId;
 					this.head_styledef.form.model[attr] = item.value;
@@ -922,8 +923,8 @@
 
 			},
 			onchange(item) {
-				console.log(item);
-				if (item.oldvalue != item.value) {
+				// console.log("onchange",item);
+				if (item.oldvalue != item.value&& item.value.trim() != "") {
 					item.oldvalue = item.value;
 					var attr = item.fieldId;
 					this.head_styledef.form.model[attr] = item.value;
@@ -1756,7 +1757,8 @@
 					title: this.translateSys("loading"),
 					mask: true
 				});
-				var obj_attr = this.head_styledef.form.model;
+				this.saving = true
+				var obj_attr = this.head_styledef.form.model || [];
 				console.log(obj_attr);
 				// var req = Object.keys(obj_attr).map((a) => ({
 				// 	name: a,
@@ -1818,6 +1820,7 @@
 										showCancel: false,
 										confirmText: this.translateSys("cancel")
 									});
+									this.saving = false
 									return;
 								}
 								if (action.info) {
@@ -1866,8 +1869,10 @@
 							confirmText: this.translateSys("cancel")
 						});
 					}
+					this.saving = false
 				}).catch(ex => {
 					console.log(ex);
+					this.saving = false
 					uni.hideLoading();
 					uni.showModal({
 						title: this.translateSys("tip"),
@@ -1878,6 +1883,7 @@
 				});
 			},
 			afterOK() {
+				this.saving = true
 				var obj_attr = this.head_styledef.form.model;
 				// console.log(obj_attr);
 				var input_param = {
@@ -1934,6 +1940,7 @@
 								showCancel: false,
 								confirmText: this.translateSys("cancel")
 							});
+							this.saving = false
 							return false
 						} else {
 							var tip = data.info ? typeof data.info == 'string' ? data.info : data
@@ -1958,8 +1965,10 @@
 							confirmText: this.translateSys("cancel")
 						});
 					}
+					this.saving = false
 				}).catch(ex => {
 					// console.log(ex);
+					this.saving = false
 					uni.showModal({
 						title: this.translateSys('tip') + "7.1",
 						content: ex.errMsg,
@@ -2274,7 +2283,10 @@
 				float: left;
 				display: inline-block;
 			}
-
+			.btn_disabled {
+				background-color: #ddd;
+				color: #888;
+			}
 			.btn_cancel {
 				width: 45%;
 				margin: 0 10rpx;

--
Gitblit v1.9.1