From 41e6159cfa12416155adcd6747e48fab28ffc534 Mon Sep 17 00:00:00 2001
From: cyy <cuiqian2004@163.com>
Date: 星期一, 26 八月 2024 22:45:17 +0800
Subject: [PATCH] test

---
 pages/modal/5601.vue |  362 +++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 259 insertions(+), 103 deletions(-)

diff --git a/pages/modal/5601.vue b/pages/modal/5601.vue
index 8684971..503c7dc 100644
--- a/pages/modal/5601.vue
+++ b/pages/modal/5601.vue
@@ -24,7 +24,7 @@
 				<!-- 鏍呮牸甯冨眬 -->
 				<uni-row v-else :gutter="item.setting.gutter">
 					<uni-col
-						:span=" item.setting.spanList && item.setting.spanList[key - 1]? item.setting.spanList[key - 1] : 24 / item.setting.col"
+						:span=" item.setting.spanList && item.setting.spanList[key]? item.setting.spanList[key] : 24 / item.setting.col"
 						v-for="(col,key) in item.setting.colList">
 						<uni-forms-item :label="col.label +'锛�" :label-width="col.labelWidth+'px'">
 							<uni-data-picker v-if="col.name=='Select'" :class="col.disabled?'input-disabled':''"
@@ -84,7 +84,7 @@
 												<!-- 鏍呮牸甯冨眬 -->
 												<uni-row class="demo-uni-row" v-else :gutter="item.setting.gutter">
 													<uni-col
-														:span=" item.setting.spanList && item.setting.spanList[key - 1]? item.setting.spanList[key - 1] : 24 / item.setting.col"
+														:span=" item.setting.spanList && item.setting.spanList[key]? item.setting.spanList[key] : 24 / item.setting.col"
 														v-for="(cols,key) in item.setting.colList">
 														<view v-if="cols!=null">
 															<text class="txt_title"
@@ -116,8 +116,9 @@
 							<view class="view-bottom" v-if="pageData.OK_Button==true">
 								<button type="default" @tap="cancel"
 									class="btn_cancel">{{translateSys('cancel')}}</button>
-								<button type="primary" @tap="ok(pageData)"
-									class="btn_add">{{translateSys('ok')}}</button>
+								<button type="primary" @tap="ok(pageData)" class="btn_add"
+									:class="pageData.okLoading?'btn_disabled':''"
+									:disabled="pageData.okLoading? true:false">{{translateSys('ok')}}</button>
 							</view>
 						</view>
 					</swiper-item>
@@ -260,8 +261,9 @@
 				//鍔犺浇Tab椤电
 				const pageList = this.param.Sub_Page || []
 				for (let i in pageList) {
-					page.DefList = [];
+
 					const page = pageList[i]
+					page.DefList = [];
 					page.StyleDef = await this.Detail_UIstyleGetInfo(
 						this.ClsID,
 						page.UI_Style.ID
@@ -376,69 +378,117 @@
 
 			},
 			async Detail_UIstyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�-				var $this = this;
-				var dataInfo = {
-					class_id: class_id,
-					ui_style_id: style_id,
-				};
-				this.$store.dispatch('UIStyleGetInfo', dataInfo).then(async (ret) => {
-					// console.log(ret);
-					if (ret.err_code == 0) {
-						var styledef = "";
-						if (ret.result.style_def) {
-							//mobox2鐨剆tyle_def鏄痡son瀛楃涓�-							styledef = ret.result.style_def.replace(/\\/g, "");
-							//mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�-							if (!ret.result.style_def.includes('"')) styledef = Base64
-								.decode(ret.result
-									.style_def);
-						}
+				try {
+					var $this = this;
+					var dataInfo = {
+						class_id: class_id,
+						ui_style_id: style_id,
+					};
+					const ret = await this.getUIStyleInfo(dataInfo)
+					var styledef = "";
+					if (ret.result.style_def) {
+						//mobox2鐨剆tyle_def鏄痡son瀛楃涓�+						styledef = ret.result.style_def.replace(/\\/g, "");
+						//mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�+						if (!ret.result.style_def.includes('"')) styledef = Base64
+							.decode(ret.result
+								.style_def);
+					}
 
-						const detailstyledef = ret.result.style_def ? JSON.parse(
-							styledef) : {};
-						detailstyledef.SelBut_Checked = true;
-						for (let index in styledefHead.form.items) {
-							const ele = styledefHead.form.items[index]
+					const detailstyledef = ret.result.style_def ? JSON.parse(
+						styledef) : {};
+					detailstyledef.SelBut_Checked = true;
+					for (let index in detailstyledef.form.items) {
+						const ele = detailstyledef.form.items[index]
 
-							if (ele.name != "Layout") {
-								if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀
-									await this.DictGetInfo(ele.bind.dict,
+						if (ele.name != "Layout") {
+							if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀
+								await this.DictGetInfo(ele.bind.dict,
+									detailstyledef.form
+									.model, ele);
+							}
+						} else {
+							for (let j in ele.setting.colList) {
+								const col = ele.setting.colList[j]
+								if (col?.useDict == true) {
+									await this.DictGetInfo(col
+										.bind.dict,
 										detailstyledef.form
-										.model, ele);
-								}
-							} else {
-								for (let j in ele.setting.colList) {
-									const col = ele.setting.colList[j]
-									if (col?.useDict == true) {
-										await this.DictGetInfo(col
-											.bind.dict,
-											detailstyledef.form
-											.model, col);
-									}
+										.model, col);
 								}
 							}
 						}
-						console.log("Detail_UIstyleGetInfo", detailstyledef);
-						return detailstyledef
-					} else {
-						return {}
-						uni.showModal({
-							title: this.translateSys("error") + "2",
-							content: ret.err_msg,
-							showCancel: false,
-							confirmText: this.translateSys("cancel")
-						});
 					}
-				}).catch(ex => {
+					console.log("Detail_UIstyleGetInfo", detailstyledef);
+					return detailstyledef
+				} catch (ex) {
 					// console.log(ex);
 					uni.showModal({
-						title: this.translateSys("error") + "2.1",
+						title: this.translateSys("error") + "2",
 						content: ex.errMsg,
 						showCancel: false,
 						confirmText: this.translateSys("cancel")
 					});
 					return {}
-				});
+				}
+				// this.$store.dispatch('UIStyleGetInfo', dataInfo).then(async (ret) => {
+				// 	// console.log(ret);
+				// 	if (ret.err_code == 0) {
+				// 		var styledef = "";
+				// 		if (ret.result.style_def) {
+				// 			//mobox2鐨剆tyle_def鏄痡son瀛楃涓�+				// 			styledef = ret.result.style_def.replace(/\\/g, "");
+				// 			//mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�+				// 			if (!ret.result.style_def.includes('"')) styledef = Base64
+				// 				.decode(ret.result
+				// 					.style_def);
+				// 		}
+
+				// 		const detailstyledef = ret.result.style_def ? JSON.parse(
+				// 			styledef) : {};
+				// 		detailstyledef.SelBut_Checked = true;
+				// 		for (let index in detailstyledef.form.items) {
+				// 			const ele = detailstyledef.form.items[index]
+
+				// 			if (ele.name != "Layout") {
+				// 				if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀
+				// 					await this.DictGetInfo(ele.bind.dict,
+				// 						detailstyledef.form
+				// 						.model, ele);
+				// 				}
+				// 			} else {
+				// 				for (let j in ele.setting.colList) {
+				// 					const col = ele.setting.colList[j]
+				// 					if (col?.useDict == true) {
+				// 						await this.DictGetInfo(col
+				// 							.bind.dict,
+				// 							detailstyledef.form
+				// 							.model, col);
+				// 					}
+				// 				}
+				// 			}
+				// 		}
+				// 		console.log("Detail_UIstyleGetInfo", detailstyledef);
+				// 		return detailstyledef
+				// 	} else {
+				// 		return {}
+				// 		uni.showModal({
+				// 			title: this.translateSys("error") + "2",
+				// 			content: ret.err_msg,
+				// 			showCancel: false,
+				// 			confirmText: this.translateSys("cancel")
+				// 		});
+				// 	}
+				// }).catch(ex => {
+				// 	// console.log(ex);
+				// 	uni.showModal({
+				// 		title: this.translateSys("error") + "2.1",
+				// 		content: ex.errMsg,
+				// 		showCancel: false,
+				// 		confirmText: this.translateSys("cancel")
+				// 	});
+				// 	return {}
+				// });
 
 			},
 
@@ -481,12 +531,42 @@
 				}
 
 			},
-			getDictInfo(info) { //Mobox3寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛�+			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);
+						}
+					})
+
+				})
+
+			},
+			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",
@@ -522,7 +602,7 @@
 					console.log(result.decodedata);
 					item.value = result.decodedata;
 					var $this = this;
-					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;
@@ -610,7 +690,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;
@@ -628,47 +708,48 @@
 			},
 			getDetailAttrList(pageData) {
 				const detailAttrList = [];
-				pageData.DefList.forEach(style => {
-					var detail_attr = {};
-					style.form.items.forEach(item => {
-						if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�-							item.setting.colList.forEach(cols => {
-								if (cols != null) detail_attr[cols
-									.fieldId] = cols.value;
-							});
-						} else
-							detail_attr[item.fieldId] = item.value;
-					});
-
-					detail_attr['id'] = style.form.objId;
-					if (pageData.Select_Button == true) { //鍒ゆ柇閫夋嫨鎸夐挳鏄惁涓簍rue
-						if (style.SelBut_Checked == true)
-							detailAttrList.push(detail_attr);
-					} else
-						detailAttrList.push(detail_attr);
-				});
-				// console.log(detailAttrList);
-				//鑾峰彇姝e湪鐮佺洏閲屾病鏈夋樉绀虹殑瀛楁
-				pageData.DefList.forEach(style => {
-					style.form.attrs.forEach(attr => {
-						for (var key in detailAttrList) {
-							if (style.form.objId == detailAttrList[key][
-									'id'
-								]) {
-								var keys = Object.keys(detailAttrList[key]);
-								var isflag = true;
-								keys.forEach((ele) => {
-									if (ele == attr.attr) isflag =
-										false;
+				if (pageData.DefList) {
+					pageData.DefList.forEach(style => {
+						var detail_attr = {};
+						style.form.items.forEach(item => {
+							if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�+								item.setting.colList.forEach(cols => {
+									if (cols != null) detail_attr[cols
+										.fieldId] = cols.value;
 								});
-								if (isflag) {
-									detailAttrList[attr.attr] = attr.value;
+							} else
+								detail_attr[item.fieldId] = item.value;
+						});
+
+						detail_attr['id'] = style.form.objId;
+						if (pageData.Select_Button == true) { //鍒ゆ柇閫夋嫨鎸夐挳鏄惁涓簍rue
+							if (style.SelBut_Checked == true)
+								detailAttrList.push(detail_attr);
+						} else
+							detailAttrList.push(detail_attr);
+					});
+					// console.log(detailAttrList);
+					//鑾峰彇姝e湪鐮佺洏閲屾病鏈夋樉绀虹殑瀛楁
+					pageData.DefList.forEach(style => {
+						style.form.attrs.forEach(attr => {
+							for (var key in detailAttrList) {
+								if (style.form.objId == detailAttrList[key][
+										'id'
+									]) {
+									var keys = Object.keys(detailAttrList[key]);
+									var isflag = true;
+									keys.forEach((ele) => {
+										if (ele == attr.attr) isflag =
+											false;
+									});
+									if (isflag) {
+										detailAttrList[attr.attr] = attr.value;
+									}
 								}
 							}
-						}
+						});
 					});
-				});
-
+				}
 				const jsonlist = [];
 				detailAttrList.forEach(attr => {
 					jsonlist.push({
@@ -711,6 +792,7 @@
 						var $this = this;
 						const jsonList = []
 						this.pageDetail.forEach((page) => {
+
 							jsonList.push({
 								page_name: page.Name,
 								item_list: $this.getDetailAttrList(page
@@ -718,6 +800,7 @@
 									.Select_Button),
 								ext_data: page.ExtData || {}
 							})
+
 						})
 						const data_json = Base64.encode(
 							JSON.stringify(jsonList)
@@ -742,7 +825,7 @@
 							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) {
@@ -789,6 +872,7 @@
 
 									if (result.result_type == 0 && result.action) {
 										result.action.forEach(item => {
+
 											if (item.action_type ==
 												"insert_subtable_page_row"
 											) { //鐮佺洏涓�@@ -834,7 +918,7 @@
 															.page_name +
 															this
 															.translateSys(
-																"sys.quotation_mark_right"
+																"quotation_mark_right"
 															) +
 															this
 															.translate(
@@ -1069,6 +1153,35 @@
 																			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;
@@ -1092,6 +1205,38 @@
 																							ele2
 																							.attr
 																						) {
+																							if (col
+																								.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
+																										});
+																								}
+																								col.dict =
+																									dictItemList;
+																							}
+
 																							col.value =
 																								ele2
 																								.value;
@@ -1249,7 +1394,7 @@
 					return;
 				}
 				const pageData = this.pageDetail.find((page) => {
-					return value.page_name == page.Name;
+					return data.page_name == page.Name;
 				});
 				if (!pageData)
 					return
@@ -1292,11 +1437,11 @@
 			viewAceionContent(data) {
 				var $this = this;
 				const pageData = $this.pageDetail.find((page) => {
-					return value.page_name == page.Name;
+					return data.page_name == page.Name;
 				});
 				if (!pageData)
 					return
-
+				console.log("viewAceionContent", pageData)
 				pageData.ExtData = data.ext_data || {}
 
 				if (JSON.stringify(data.content) == '{}') {
@@ -1304,7 +1449,7 @@
 				}
 				data.content.forEach(cont => {
 					var styleStr = JSON.stringify(pageData.StyleDef);
-
+					console.log("viewAceionContent2", pageData)
 					var detailStyle = JSON.parse(styleStr);
 					detailStyle.SelBut_Checked = data.checkbox ?? true;
 					detailStyle.form.objId = cont.id;
@@ -1525,19 +1670,20 @@
 					uni.showModal({
 						title: this.translateSys("tip"),
 						content: this.translate(
-								"page.tip_no_data_first") +
+								"tip_no_data_first") +
 							this.translateSys(
 								"quotation_mark_left") + pageData.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;
 				}
 				//鑾峰彇琛ㄥご灞炴�
+				pageData.okLoading = true
 				var head_attr = {};
 				this.$data.head_styledef.form.items.forEach(item => {
 					if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�@@ -1618,6 +1764,7 @@
 					});
 				});
 				if (jsonlist.length == 0) {
+					pageData.okLoading = false
 					uni.showModal({
 						title: this.translateSys("tip"),
 						content: this.translate("tip_no_select_data"),
@@ -1909,7 +2056,9 @@
 								"cancel")
 						});
 					}
+					pageParam.okLoading = false
 				}).catch(ex => {
+					pageParam.okLoading = false
 					var tip = typeof ex == "string" ? ex : ex.errMsg;
 					uni.showModal({
 						title: this.translateSys("error") + "8.1",
@@ -2143,9 +2292,16 @@
 						font-size: 38rpx;
 						font-weight: bold;
 						float: right;
+						color: #fff;
 						display: inline-block;
 					}
 
+					.btn_disabled {
+						background-color: #ddd;
+						color: #888;
+					}
+
+
 				}
 			}
 

--
Gitblit v1.9.1