From bcd40d20e4938069384573f6dfbbe8c7fe978925 Mon Sep 17 00:00:00 2001
From: cyy <cuiqian2004@163.com>
Date: 星期六, 03 八月 2024 13:19:32 +0800
Subject: [PATCH] dictdict

---
 pages/modal/5602.vue |  286 +++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 198 insertions(+), 88 deletions(-)

diff --git a/pages/modal/5602.vue b/pages/modal/5602.vue
index 670fc9c..215603f 100644
--- a/pages/modal/5602.vue
+++ b/pages/modal/5602.vue
@@ -24,7 +24,7 @@
 						:type="item.name=='Input'?'text':'number'" v-model="item.value" :disabled="item.disabled"
 						:placeholder="item.placeholder"
 						:style="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}"
-						:focus="focusFieldId == item.fieldId" @focus="ontap(index,item)"
+						:focus="focusFieldId == item.fieldId" @focus="ontap(index,item)" @click="onClick(item)"
 						@keyup.enter="onEnterChange(item)" @blur="onEnterChange(item)" />
 					<text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
 						@click="onEnterChange(item)">&#xe568;</text>
@@ -220,22 +220,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 +243,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;
@@ -289,7 +318,7 @@
 					}
 				}
 			},
-			
+
 			async Head_UIStyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮� 				var $this = this;
 				var dataInfo = {
@@ -437,53 +466,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,9 +514,41 @@
 						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
+			},
 			ontap(index, item) { //鎵爜鍔熻兘
 				// var $ele = e;
 				this.focusOldFieldId = item.fieldId
@@ -516,21 +571,66 @@
 						if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠� 							$this.onChange(onChangeEvent);
 						}
-						if (item.value) { //杈撳叆妗嗕笉涓虹┖
+						if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌� 							//鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴�
-							const curIndex = $this.head_styledef.form.items.findIndex((ele, index2, arr) => {
-								return (ele.name == 'Input' || ele.name == 'InputNumber') && index2 >
-									index;
-							})
-							if (curIndex > -1) {
-								$this.setData({
-									focusFieldId: $this.head_styledef.form.items[curIndex].fieldId
-								})
+							var findd = false
+							for (let i in $this.head_styledef.form.items) {
+								const ele = $this.head_styledef.form.items[i]
+
+								if (ele.name != "Layout") {
+									if (ele.name == 'Input' || ele.name == 'InputNumber') {
+										if (attr == ele.fieldId) {
+											findd = true
+										} else {
+											if (findd) {
+												$this.setData({
+													focusFieldId: ele.fieldId
+												})
+												break
+											}
+
+										}
+
+									}
+								} else {
+									if (findd) {
+										let curIndex = ele.setting.colList.findIndex((col, index2, arr) => {
+											return (col.name == 'Input' || col.name == 'InputNumber');
+										})
+										if (curIndex > -1) {
+											$this.setData({
+												focusFieldId: ele.setting.colList[curIndex]
+													.fieldId
+											})
+											break
+										}
+
+									} else {
+										let curIndex = ele.setting.colList.findIndex((col, index2, arr) => {
+											return attr == col.fieldId;
+										})
+										if (curIndex > -1) {
+											findd = true
+											let curIndex2 = ele.setting.colList.findIndex((col, index2, arr) => {
+												return (col.name == 'Input' || col.name ==
+														'InputNumber') &&
+													index2 >
+													curIndex;
+											})
+											if (curIndex2 > -1) {
+												$this.setData({
+													focusFieldId: ele.setting.colList[curIndex]
+														.fieldId
+												})
+												break
+											}
+										}
+									}
+
+								}
 							}
-							// setTimeout(function(){
-							// 	uni.hideKeyboard();
-							// },1000);
 						}
+
 						// if(onSuffixClickCallbackEvent.id){   //鍚庡浘鏍囩偣鍑讳簨浠� 						//   this.onSuffixClick(onSuffixClickCallbackEvent);
 						// }
@@ -682,13 +782,18 @@
 								if (result.ret != 0) {
 									var tip = result.err_info ? typeof result.err_info == 'string' ? result
 										.err_info : result.err_info.join('<br/>') : '';
-									if (result.ret == 801) uni.showModal({
-										title: this.translateSys("tip"),
-										content: tip,
-										showCancel: false,
-										confirmText: this.translateSys("cancel")
-									});
-									else uni.showModal({
+									if (result.ret == 801) {
+										if (this.param.Only_Script_Error) {
+											let pos = tip.indexOf("锛�);
+											if (pos > -1) tip = tip.substring(pos + 1);
+										}
+										uni.showModal({
+											title: this.translateSys("tip"),
+											content: tip,
+											showCancel: false,
+											confirmText: this.translateSys("cancel")
+										});
+									} else uni.showModal({
 										title: this.translateSys("tip"),
 										content: tip + ',' + this.translateSys('tip') + ':' + result
 											.ret,
@@ -1655,13 +1760,18 @@
 						if (result.ret != 0) {
 							var tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info :
 								result.err_info.join('<br/>') : '';
-							if (result.ret == 801) uni.showModal({
-								title: this.translateSys("tip"),
-								content: tip,
-								showCancel: false,
-								confirmText: this.translateSys("cancel")
-							});
-							else uni.showModal({
+							if (result.ret == 801) {
+								if (this.param.Only_Script_Error) {
+									let pos = tip.indexOf("锛�);
+									if (pos > -1) tip = tip.substring(pos + 1);
+								}
+								uni.showModal({
+									title: this.translateSys("tip"),
+									content: tip,
+									showCancel: false,
+									confirmText: this.translateSys("cancel")
+								});
+							} else uni.showModal({
 								title: this.translateSys("tip"),
 								content: tip + ',' + this.translateSys('tip') + ':' + result.ret,
 								showCancel: false,

--
Gitblit v1.9.1