From d84283821bb08d81d887f20a7118caf25b8b2714 Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期二, 27 八月 2024 18:29:10 +0800
Subject: [PATCH] 判断接口返回值是否是字符串,然后解析

---
 pages/modal/5600.vue |  790 +++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 523 insertions(+), 267 deletions(-)

diff --git a/pages/modal/5600.vue b/pages/modal/5600.vue
index b73e1f3..0f9b763 100644
--- a/pages/modal/5600.vue
+++ b/pages/modal/5600.vue
@@ -11,14 +11,15 @@
 				<uni-data-picker class="dv_select" v-if="item.name=='Select'" :class="item.disabled?'input-disabled':''"
 					v-model="item.value" :localdata="item.dict" @change="onEnterChange(item)" :readonly="item.disabled"
 					:clear-icon="false" :popup-title="item.label"></uni-data-picker>
-				<view class="input-wrapper" v-if="item.name=='Input' || item.name=='InputNumber'">
+				<view class="input-wrapper" :style="{'width':`calc(96% - ${item.labelWidth}px)`}"
+					v-if="item.name=='Input' || item.name=='InputNumber'">
 					<text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]"
 						@click="onEnterChange(item)">&#xe568;</text>
 					<input class="uni-input" :class="item.disabled?'input-disabled':''"
 						: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>
@@ -94,7 +95,8 @@
 							<view class="view-bottom" 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>
@@ -143,7 +145,8 @@
 							<view class="view-bottom" 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>
@@ -206,6 +209,8 @@
 				active_id: '',
 				activelist: [],
 				selectAttrObj: {},
+				okLoading: false,
+				ok2Loading: false,
 			};
 		},
 		onLoad(options) {
@@ -216,22 +221,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.ClsID, this.$data.param.Sub_Page[1].UI_Style.ID);
-
-			console.log(this.$data.param);
+			this.loadData(options.paramValue)
 		},
 		//椤甸潰鍒濆鍖栬幏鍙栫劍鐐� 		methods: {
@@ -255,6 +245,47 @@
 						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.ClsID, this.$data.param.Sub_Page[1].UI_Style.ID);
+				console.log(this.$data.param);
 			},
 			changeSwiper(evt) {
 				let index = evt.target.current || evt.detail.current;
@@ -306,19 +337,21 @@
 						$this.$data.head_styledef = ret.result.style_def ? JSON.parse(styledef) : {};
 						// this.form = this.head_styledef.form.model;
 						// console.log($this.$data.head_styledef);
-						$this.$data.head_styledef.form.items.forEach(async (ele, index) => {
-							if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀
-								await this.DictGetInfo(ele.bind.dict, index, 'mast');
-							}
-							if ($this.focusFieldId == "") {
-								if (ele.name == 'Input' || ele.name == 'InputNumber') {
-									$this.setData({
-										focusFieldId: ele.fieldId
-									})
+						if ($this.$data.head_styledef.form?.items) {
+							$this.$data.head_styledef.form.items.forEach(async (ele, index) => {
+								if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀
+									await this.DictGetInfo(ele.bind.dict, index, 'mast');
 								}
-							}
+								if ($this.focusFieldId == "") {
+									if (ele.name == 'Input' || ele.name == 'InputNumber') {
+										$this.setData({
+											focusFieldId: ele.fieldId
+										})
+									}
+								}
 
-						});
+							});
+						}
 					} else {
 						uni.showModal({
 							title: this.translateSys("error") + "1",
@@ -329,9 +362,10 @@
 					}
 				}).catch(ex => {
 					// console.log(ex);
+					let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
 					uni.showModal({
 						title: this.translateSys("error") + "1.1",
-						content: ex.errMsg,
+						content: tip,
 						showCancel: false,
 						confirmText: this.translateSys("cancel")
 					});
@@ -362,11 +396,13 @@
 						// var aa = JSON.stringify(this.detail1_styledef);
 						// $this.$data.detail1StyleDefList.push(JSON.parse(aa));
 						// console.log($this.$data.detail1StyleDefList);
-						$this.detail1_styledef.form.items.forEach(async (ele, index) => {
-							if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀
-								await this.DictGetInfo(ele.bind.dict, index, 'sub');
-							}
-						});
+						if ($this.detail1_styledef.form?.items) {
+							$this.detail1_styledef.form.items.forEach(async (ele, index) => {
+								if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀
+									await this.DictGetInfo(ele.bind.dict, index, 'sub');
+								}
+							});
+						}
 					} else {
 						uni.showModal({
 							title: this.translateSys("error") + "2",
@@ -377,9 +413,10 @@
 					}
 				}).catch(ex => {
 					// console.log(ex);
+					let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
 					uni.showModal({
 						title: this.translateSys("error") + "2.1",
-						content: ex.errMsg,
+						content: tip,
 						showCancel: false,
 						confirmText: this.translateSys("cancel")
 					});
@@ -417,9 +454,10 @@
 					}
 				}).catch(ex => {
 					// console.log(ex);
+					let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
 					uni.showModal({
 						title: this.translateSys("error") + "3.1",
-						content: ex.errMsg,
+						content: tip,
 						showCancel: false,
 						confirmText: this.translateSys("cancel")
 					});
@@ -433,54 +471,47 @@
 					dict_id: dict.id,
 					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.head_styledef);
-						} 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") + "3.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") + "3",
@@ -488,9 +519,114 @@
 						showCancel: false,
 						confirmText: this.translateSys("cancel")
 					});
-				});
+				}
+				// console.log(dataInfo);
+			},
+			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);
+							var ret = _res.data
+								if (typeof ret == 'string') {
+									try {
+										try {
+											try {
+												ret = JSON.parse(ret.replace(/\\"/g, '"'));
+											} catch (ex) {
+												ret = JSON.parse(ret.replace(/\\/g, '\\\\'))
+											}
+										} catch (ex) {
+											ret = JSON.parse(ret.replace(/\\"/g, "'").replace(/[\r\n]/g,
+												'<br>').replace(/[\t]/g, '    '));
+										}
+									} catch (ex) {
+										console.log(ret)
+										return reject('灏唃etDictInfo銆恓son string銆戣浆鎹负銆恓son object銆戝け璐�)
+									}
+								}
+								if (ret.err_code == 0) {
+									resolve(ret);
+								} else {
+									reject({
+										"errMsg": ret.err_msg
+									});
+								}
+							
+							if (ret.err_code == 0) {
+								resolve(ret);
+							} else {
+								reject({
+									"errMsg": ret.err_msg
+								});
+							}
+						},
+						fail: (err) => {
+							// console.log(err);
+							reject(err);
+						}
+					})
+
+				})
+
+			},
+			getUIStyleInfo(info) { //Mobox3鏁版嵁绫荤晫闈㈡牱寮�+				const loginInfo = this.$store.getters.loginid
+				const dataSApi = this.$store.getters.getDataSApi
+				return new Promise((resolve, reject) => {
+					uni.request({
+						url: dataSApi + 'api/class/uistyle/GetInfo?sessionid=' + loginInfo.result
+							.session_id,
+						data: info,
+						method: 'POST',
+						dataType: "json",
+						success: (_res) => {
+							// console.log(_res);
+							var ret = _res.data
+							if (typeof ret == 'string') {
+								try {
+									try {
+										try {
+											ret = JSON.parse(ret.replace(/\\"/g, '"'));
+										} catch (ex) {
+											ret = JSON.parse(ret.replace(/\\/g, '\\\\'))
+										}
+									} catch (ex) {
+										ret = JSON.parse(ret.replace(/\\"/g, "'").replace(/[\r\n]/g,
+											'<br>').replace(/[\t]/g, '    '));
+									}
+								} catch (ex) {
+									console.log(ret)
+									return reject('灏唃etUIStyleInfo銆恓son string銆戣浆鎹负銆恓son object銆戝け璐�)
+								}
+							}
+							if (ret.err_code == 0) {
+								resolve(ret);
+							} else {
+								reject({
+									"errMsg": ret.err_msg || ret.errMsg
+								});
+							}
+						},
+						fail: (err) => {
+							// console.log(err);
+							reject(err);
+						}
+					})
+
+				})
+
 			},
 
+			onClick(item) {
+				this.focusFieldId = item.fieldId
+			},
 			ontap(index, item) { //鎵爜鍔熻兘
 				// var $ele = e;
 				//console.log(e.target)
@@ -519,7 +655,7 @@
 					// 	    .exec();
 					// }
 					//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;
@@ -533,19 +669,62 @@
 						}
 						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
-								})
-							}
-							// setTimeout(function() {
-							// 	uni.hideKeyboard();
-							// }, 1000);
+							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
+											}
+										}
+									}
+
+								}
+							}
 						}
 						// if(onSuffixClickCallbackEvent.id){   //鍚庡浘鏍囩偣鍑讳簨浠� 						//   this.onSuffixClick(onSuffixClickCallbackEvent);
@@ -558,7 +737,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;
@@ -690,19 +869,24 @@
 							input_param: input_param,
 						};
 						this.$store.dispatch('runCustomEvent', dataInfo).then(ret => {
-							// console.log(ret);
+							console.log(ret);
 							if (ret.err_code == 0) {
 								var result = ret.result;
 								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,
@@ -743,7 +927,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) {
@@ -875,6 +1059,32 @@
 													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;
 														}
@@ -882,6 +1092,7 @@
 												});
 											}
 										});
+										console.log("end")
 									} else {
 										// this.detail2StyleDefList=[];
 										if (result.info) {
@@ -905,9 +1116,10 @@
 							}
 						}).catch(ex => {
 							// console.log(ex);
+							let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
 							uni.showModal({
 								title: this.translateSys("error") + "4.1",
-								content: ex.errMsg,
+								content: tip,
 								showCancel: false,
 								confirmText: this.translateSys("cancel")
 							});
@@ -1000,48 +1212,53 @@
 				if (JSON.stringify(data.row) == '{}') {
 					return;
 				}
-				data.row.forEach(row => {
-					var styleStr = JSON.stringify(this.$data.detail1_styledef);
-					if (type) { //纭畾鍚庤剼鏈繘鍏ュ姞杞藉凡鍒嗘嫞鏁版嵁
-						styleStr = JSON.stringify(this.$data.detail2_styledef);
-					} else {
-						if (data.page_name == this.$data.param.Sub_Page[1].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄凡鍒嗘嫞
-							styleStr = JSON.stringify(this.$data.detail2_styledef); //寰呭垎鎷�-						}
+				var styleStr = JSON.stringify(this.$data.detail1_styledef);
+				if (type) { //纭畾鍚庤剼鏈繘鍏ュ姞杞藉凡鍒嗘嫞鏁版嵁
+					styleStr = JSON.stringify(this.$data.detail2_styledef);
+				} else {
+					if (data.page_name == this.$data.param.Sub_Page[1].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄凡鍒嗘嫞
+						styleStr = JSON.stringify(this.$data.detail2_styledef); //寰呭垎鎷� 					}
-					var detailStyle = JSON.parse(styleStr);
-					detailStyle.form.objId = row.id;
-					detailStyle.form.htmlobjId = row.id ? row.id.replace(/-/g, '').replace('{', '').replace('}',
-						'') : 'null';
-					detailStyle.form.attrs = row.attrs;
-					row.attrs.forEach(attr => {
-						detailStyle.form.items.forEach(ele => {
-							if (ele.name != 'Layout') {
-								if (ele.fieldId == attr.attr) ele.value = attr.value;
-							} else if (ele.name == 'Layout') {
-								ele.setting.colList.forEach(col => {
-									if (col) {
-										if (col.fieldId == attr.attr) col.value = attr
-											.value;
-									}
-								});
-							}
-						});
-					});
+				}
+				data.row.forEach(row => {
 
-					if (type) { //纭畾鍚庤剼鏈繘鍏ュ姞杞藉凡鍒嗘嫞鏁版嵁
-						this.$data.detail2StyleDefList.push(detailStyle);
-						// console.log(this.$data.detail2StyleDefList);
-					} else {
-						if (data.page_name == this.$data.param.Sub_Page[1].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄凡鍒嗘嫞
+					var detailStyle = JSON.parse(styleStr);
+					if (detailStyle.form) {
+						detailStyle.form.objId = row.id;
+						detailStyle.form.htmlobjId = row.id ? row.id.replace(/-/g, '').replace('{', '').replace(
+							'}',
+							'') : 'null';
+						detailStyle.form.attrs = row.attrs;
+						row.attrs.forEach(attr => {
+							detailStyle.form.items.forEach(ele => {
+								if (ele.name != 'Layout') {
+									if (ele.fieldId == attr.attr) ele.value = attr.value;
+								} else if (ele.name == 'Layout') {
+									ele.setting.colList.forEach(col => {
+										if (col) {
+											if (col.fieldId == attr.attr) col.value = attr
+												.value;
+										}
+									});
+								}
+							});
+						});
+
+						if (type) { //纭畾鍚庤剼鏈繘鍏ュ姞杞藉凡鍒嗘嫞鏁版嵁
 							this.$data.detail2StyleDefList.push(detailStyle);
 							// console.log(this.$data.detail2StyleDefList);
 						} else {
-							this.$data.detail1StyleDefList.push(detailStyle);
-							this.activelist.push({
-								active: false
-							});
-							// console.log(this.$data.detail1StyleDefList);
+							if (data.page_name == this.$data.param.Sub_Page[1]
+								.Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄凡鍒嗘嫞
+								this.$data.detail2StyleDefList.push(detailStyle);
+								// console.log(this.$data.detail2StyleDefList);
+							} else {
+								this.$data.detail1StyleDefList.push(detailStyle);
+								this.activelist.push({
+									active: false
+								});
+								// console.log(this.$data.detail1StyleDefList);
+							}
 						}
 					}
 				});
@@ -1057,94 +1274,105 @@
 				if (JSON.stringify(data.content) == '{}') {
 					return;
 				}
+				var styleStr = JSON.stringify($this.$data.detail2_styledef);
+				if (data.page_name == $this.$data.param.Sub_Page[0].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄爜鐩樹腑
+					styleStr = JSON.stringify($this.$data.detail1_styledef); //鐮佺洏涓�+				}
 				data.content.forEach(cont => {
-					var styleStr = JSON.stringify($this.$data.detail2_styledef);
-					if (data.page_name == $this.$data.param.Sub_Page[0].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄爜鐩樹腑
-						styleStr = JSON.stringify($this.$data.detail1_styledef); //鐮佺洏涓�-					}
+
+
 					var detailStyle = JSON.parse(styleStr);
 					detailStyle.SelBut_Checked = data.checkbox ?? true;
-					detailStyle.form.objId = cont.id;
-					detailStyle.form.htmlobjId = cont.id ? cont.id.replace(/-/g, '').replace('{', '').replace('}',
-						'') : 'null';
-					detailStyle.form.attrs = cont.attrs;
-					cont.attrs.forEach(attr => {
-						detailStyle.form.items.forEach(ele => {
-							if (ele.name != 'Layout') {
-								if (ele.fieldId == attr.attr) ele.value = attr.value;
-							} else if (ele.name == 'Layout') {
-								ele.setting.colList.forEach(col => {
-									if (col) {
-										if (col.fieldId == attr.attr) col.value = attr
-											.value;
+					if (detailStyle.form) {
+						detailStyle.form.objId = cont.id;
+						detailStyle.form.htmlobjId = cont.id ? cont.id.replace(/-/g, '').replace('{', '').replace(
+							'}',
+							'') : 'null';
+						detailStyle.form.attrs = cont.attrs;
+
+						cont.attrs.forEach(attr => {
+							detailStyle.form.items.forEach(ele => {
+								if (ele.name != 'Layout') {
+									if (ele.fieldId == attr.attr) ele.value = attr.value;
+								} else if (ele.name == 'Layout') {
+									ele.setting.colList.forEach(col => {
+										if (col) {
+											if (col.fieldId == attr.attr) col.value = attr
+												.value;
+										}
+									});
+								}
+							});
+						});
+						if (data.page_name == $this.$data.param.Sub_Page[0].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
+							//濡傛灉 clear = false 鍒欎笉闇�娓呴櫎锛屾牴鎹甶d鍒ゆ柇鏄惁瀛樺湪锛屼笉瀛樺湪鎻掑叆鍒伴〉闈紝濡傛灉瀛樺湪鐢ㄦ柊鐨勫睘鎬ц鐩�+							if (data.clear == false) {
+								var isflag = true;
+								$this.detail1StyleDefList.forEach((style, index) => {
+									if (style.form.objId == detailStyle.form.objId) {
+										cont.attrs.forEach(attr => {
+											style.form.items.forEach(ele => {
+												if (ele.name != 'Layout') {
+													if (ele.fieldId == attr.attr) ele
+														.value =
+														attr.value;
+												} else if (ele.name == 'Layout') {
+													ele.setting.colList.forEach(col => {
+														if (col) {
+															if (col.fieldId == attr
+																.attr) col.value =
+																attr
+																.value;
+														}
+													});
+												}
+											});
+										});
+										isflag = false;
 									}
 								});
+								if (isflag) $this.detail1StyleDefList.push(detailStyle); //寰呭垎鎷�+							} else {
+								$this.detail1StyleDefList.push(detailStyle); //寰呭垎鎷� 							}
-						});
-					});
-					if (data.page_name == $this.$data.param.Sub_Page[0].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
-						//濡傛灉 clear = false 鍒欎笉闇�娓呴櫎锛屾牴鎹甶d鍒ゆ柇鏄惁瀛樺湪锛屼笉瀛樺湪鎻掑叆鍒伴〉闈紝濡傛灉瀛樺湪鐢ㄦ柊鐨勫睘鎬ц鐩�-						if (data.clear == false) {
-							var isflag = true;
-							$this.detail1StyleDefList.forEach((style, index) => {
-								if (style.form.objId == detailStyle.form.objId) {
-									cont.attrs.forEach(attr => {
-										style.form.items.forEach(ele => {
-											if (ele.name != 'Layout') {
-												if (ele.fieldId == attr.attr) ele.value =
-													attr.value;
-											} else if (ele.name == 'Layout') {
-												ele.setting.colList.forEach(col => {
-													if (col) {
-														if (col.fieldId == attr
-															.attr) col.value = attr
-															.value;
-													}
-												});
-											}
-										});
-									});
-									isflag = false;
-								}
+							$this.activelist.push({
+								active: false
 							});
-							if (isflag) $this.detail1StyleDefList.push(detailStyle); //寰呭垎鎷�+							// console.log($this.$data.detail1StyleDefList);
 						} else {
-							$this.detail1StyleDefList.push(detailStyle); //寰呭垎鎷�-						}
-						$this.activelist.push({
-							active: false
-						});
-						// console.log($this.$data.detail1StyleDefList);
-					} else {
-						if (data.clear == false) {
-							//濡傛灉 clear = false 鍒欎笉闇�娓呴櫎锛屾牴鎹甶d鍒ゆ柇鏄惁瀛樺湪锛屼笉瀛樺湪鎻掑叆鍒伴〉闈紝濡傛灉瀛樺湪鐢ㄦ柊鐨勫睘鎬ц鐩�-							var isflag = true;
-							$this.detail2StyleDefList.forEach((style, index) => {
-								if (style.form.objId == detailStyle.form.objId) {
-									cont.attrs.forEach(attr => {
-										style.form.items.forEach(ele => {
-											if (ele.name != 'Layout') {
-												if (ele.fieldId == attr.attr) ele.value =
-													attr.value;
-											} else if (ele.name == 'Layout') {
-												ele.setting.colList.forEach(col => {
-													if (col) {
-														if (col.fieldId == attr
-															.attr) col.value = attr
-															.value;
-													}
-												});
-											}
+							if (data.clear == false) {
+								//濡傛灉 clear = false 鍒欎笉闇�娓呴櫎锛屾牴鎹甶d鍒ゆ柇鏄惁瀛樺湪锛屼笉瀛樺湪鎻掑叆鍒伴〉闈紝濡傛灉瀛樺湪鐢ㄦ柊鐨勫睘鎬ц鐩�+								var isflag = true;
+								$this.detail2StyleDefList.forEach((style, index) => {
+									if (style.form.objId == detailStyle.form.objId) {
+										cont.attrs.forEach(attr => {
+											style.form.items.forEach(ele => {
+												if (ele.name != 'Layout') {
+													if (ele.fieldId == attr.attr) ele
+														.value =
+														attr.value;
+												} else if (ele.name == 'Layout') {
+													ele.setting.colList.forEach(col => {
+														if (col) {
+															if (col.fieldId == attr
+																.attr) col.value =
+																attr
+																.value;
+														}
+													});
+												}
+											});
 										});
-									});
-									isflag = false;
-								}
-							});
-							if (isflag) $this.detail2StyleDefList.push(detailStyle); //宸插垎鎷�-						} else {
-							$this.detail2StyleDefList.push(detailStyle); //宸插垎鎷�+										isflag = false;
+									}
+								});
+								if (isflag) $this.detail2StyleDefList.push(detailStyle); //宸插垎鎷�+							} else {
+								$this.detail2StyleDefList.push(detailStyle); //宸插垎鎷�+							}
+
+							//console.log($this.$data.detail2StyleDefList);
 						}
-						// console.log($this.$data.detail2StyleDefList);
 					}
 				});
 
@@ -1223,9 +1451,10 @@
 								}
 							}).catch(ex => {
 								// console.log(ex);
+								let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
 								uni.showModal({
 									title: this.translateSys("error") + "5.1",
-									content: ex.errMsg,
+									content: tip,
 									showCancel: false,
 									confirmText: this.translateSys("cancel")
 								});
@@ -1422,21 +1651,22 @@
 			},
 			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") +
-							this.translateSys(
-								"quotation_mark_left") + this.param.Sub_Page[0].Name + this.translateSys(
-								"sys.quotation_mark_right") +
-							this.translate(
-								"page.tip_no_data_last"),
-						showCancel: false,
-						confirmText: this.translateSys("cancel")
-					});
-					return false;
-				}
+				// if (this.$data.detail1StyleDefList.length == 0) {
+				// 	uni.showModal({
+				// 		title: this.translateSys("tip"),
+				// 		content: this.translate(
+				// 				"tip_no_data_first") +
+				// 			this.translateSys(
+				// 				"quotation_mark_left") + this.param.Sub_Page[0].Name + this.translateSys(
+				// 				"quotation_mark_right") +
+				// 			this.translate(
+				// 				"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 => {
@@ -1502,21 +1732,22 @@
 					});
 				});
 				const list = []
-				if (jsonlist.length == 0) {
-					uni.showModal({
-						title: this.translateSys("tip"),
-						content: this.translate("tip_no_select_data"),
-						showCancel: false,
-						confirmText: this.translateSys("cancel")
-					});
-					return;
-				}
+				// if (jsonlist.length == 0) {
+				// 	//this.okLoading = false
+				// 	uni.showModal({
+				// 		title: this.translateSys("tip"),
+				// 		content: this.translate("tip_no_select_data"),
+				// 		showCancel: false,
+				// 		confirmText: this.translateSys("cancel")
+				// 	});
+				// 	return;
+				// }
 				list.push({
 					page_name: $this.param.Sub_Page[0].Name,
 					item_list: jsonlist,
 					ext_data: $this.detail1ExtData
 				})
-				
+
 				// console.log(jsonlist);
 				$this.runCustomEvent(event, input_param, list, '1');
 				// jsonlist.forEach(async (json,key)=>{
@@ -1539,17 +1770,18 @@
 					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 => {
@@ -1615,6 +1847,7 @@
 					});
 				});
 				if (jsonlist.length == 0) {
+					this.ok2Loading = false
 					uni.showModal({
 						title: this.translateSys("tip"),
 						content: this.translate("tip_no_select_data"),
@@ -1670,13 +1903,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,
@@ -1834,8 +2072,18 @@
 							confirmText: this.translateSys("cancel")
 						});
 					}
+					if (type == "1")
+						this.okLoading = false
+					else if (type == "2")
+						this.ok2Loading = false
 				}).catch(ex => {
-					var tip = typeof ex == "string" ? ex : ex.errMsg;
+					let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
+
+					// var tip = typeof ex == "string" ? ex : ex.errMsg;
+					if (type == "1")
+						this.okLoading = false
+					else if (type == "2")
+						this.ok2Loading = false
 					uni.showModal({
 						title: this.translateSys("error") + "8.1",
 						content: this.translate("execute_after_ok_event_failed") + this.translateSys(
@@ -1881,6 +2129,7 @@
 
 		.v-headStyle {
 			width: 100%;
+			margin-bottom: 11rpx;
 		}
 
 		.view-content {
@@ -1926,22 +2175,24 @@
 		}
 
 		.v-headStyle .txt_title {
-			font-size: 34rpx;
+			font-size: 14px;
 			text-align: right;
 			display: inline-block;
-			vertical-align: 12px;
+			// align-items: center;
+			color: #606266;
+			padding: 0 5px 0 0;
+			vertical-align: 10px;
 		}
 
 		.v-headStyle input {
 			display: inline-block;
 			width: 85%;
-			height: 52rpx;
-			line-height: 34rpx;
+			line-height: 14px;
 			background: #FFF;
 			border-radius: 0 !important;
 			color: #2d8cf0;
-			padding: 10rpx 8rpx 12rpx;
-			font-size: 34rpx;
+			padding: 12rpx 8rpx;
+			font-size: 14px;
 			font-family: inherit;
 			box-shadow: none !important;
 			transition-duration: 0.1s;
@@ -2078,16 +2329,21 @@
 
 		button.btn_add {
 			width: 49.5%;
-
 			padding: 20rpx;
 			line-height: 1.5;
 			border: none;
 			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