From 9b8282bcf5c5fbc22858bbfa15934b7f8a0ab753 Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期三, 10 七月 2024 18:24:55 +0800
Subject: [PATCH] smallwnd

---
 pages/modal/5600.vue |  297 ++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 203 insertions(+), 94 deletions(-)

diff --git a/pages/modal/5600.vue b/pages/modal/5600.vue
index 12f0d9a..1024330 100644
--- a/pages/modal/5600.vue
+++ b/pages/modal/5600.vue
@@ -19,7 +19,8 @@
 						: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)"
-						@keyup.enter="onEnterChange(item)" @blur="onEnterChange(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>
 				</view>
@@ -43,51 +44,53 @@
 								<image class="logo" v-if="detail1StyleDefList.length==0"
 									src="../../images/mobox_log_200x40.png">
 								</image>
-								<div class="dv-panel" v-for="(style,ii) in detail1StyleDefList" @tap="onPanelClick(ii)"
-									:id="'tabpanel'+style.form.htmlobjId"
-									:class="style.form.htmlobjId==active_id?'bk-active':activelist[ii].active==true?'bk-active':''">
-									<div class="dv-panel-input">
-										<div class="dv-input" v-for="(item,index) in style.form.items">
-											<!-- 鏅�甯冨眬 -->
-											<view v-if="item.name!='Layout'">
-												<text class="txt_title"
-													:style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text>
-												<span class="form-item-span" v-if="item.disabled">{{item.value}}</span>
-												<input class="uni-input" v-if="!item.disabled"
-													:type="item.name=='InputNumber'?'number':'text'" :value="item.value"
-													:disabled="item.disabled" :placeholder="item.placeholder" />
-											</view>
-											<!-- 鏍呮牸甯冨眬 -->
-											<uni-row class="demo-uni-row" v-if="item.name=='Layout'">
-												<uni-col :span="24 / item.setting.col"
-													v-for="(cols,key) in item.setting.colList">
-													<view v-if="cols!=null">
-														<text class="txt_title"
-															:style="{'width':cols.labelWidth+'px'}">{{cols.label}}锛�/text>
-														<span class="form-item-span"
-															v-if="cols.disabled">{{cols.value}}</span>
-														<input class="uni-input" v-if="!cols.disabled"
-															:type="cols.name=='InputNumber'?'number':'text'"
-															:value="cols.value" :disabled="cols.disabled"
-															:placeholder="cols.placeholder" />
-													</view>
-												</uni-col>
-											</uni-row>
+								<checkbox-group @change="checkboxChange">
+									<div class="dv-panel" v-for="(style,ii) in detail1StyleDefList"
+										@tap="onPanelClick(ii)" :id="'tabpanel'+style.form.htmlobjId"
+										:class="style.form.htmlobjId==active_id?'bk-active':activelist[ii].active==true?'bk-active':''">
+										<div class="dv-panel-input">
+											<div class="dv-input" v-for="(item,index) in style.form.items">
+												<!-- 鏅�甯冨眬 -->
+												<view v-if="item.name!='Layout'">
+													<text class="txt_title"
+														:style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text>
+													<span class="form-item-span"
+														v-if="item.disabled">{{item.value}}</span>
+													<input class="uni-input" v-if="!item.disabled"
+														:type="item.name=='InputNumber'?'number':'text'"
+														v-model="item.value" :disabled="item.disabled"
+														:placeholder="item.placeholder" />
+												</view>
+												<!-- 鏍呮牸甯冨眬 -->
+												<uni-row class="demo-uni-row" v-if="item.name=='Layout'">
+													<uni-col :span="24 / item.setting.col"
+														v-for="(cols,key) in item.setting.colList">
+														<view v-if="cols!=null">
+															<text class="txt_title"
+																:style="{'width':cols.labelWidth+'px'}">{{cols.label}}锛�/text>
+															<span class="form-item-span"
+																v-if="cols.disabled">{{cols.value}}</span>
+															<input class="uni-input" v-if="!cols.disabled"
+																:type="cols.name=='InputNumber'?'number':'text'"
+																v-model="cols.value" :disabled="cols.disabled"
+																:placeholder="cols.placeholder" />
+														</view>
+													</uni-col>
+												</uni-row>
+											</div>
+										</div>
+										<div class="dv-panel-button">
+
+											<checkbox v-if="param.Sub_Page[0].Select_Button==true" :value="ii"
+												:checked="style.SelBut_Checked" />
+											<!-- <text></text> -->
+
+											<!-- <button type="primary" @click="savaItem(ii)" v-if="param.Sub_Page[0].OK_Button==true">淇濆瓨</Button> -->
+											<button type="warn" @tap="delItem(ii)"
+												v-if="param.Sub_Page[0].Del_Button==true">{{translateSys('delete')}}</button>
 										</div>
 									</div>
-									<div class="dv-panel-button">
-										<checkbox-group v-if="param.Sub_Page[0].Select_Button==true">
-											<label>
-												<checkbox :value="style.SelBut_Checked"
-													:checked="style.SelBut_Checked" />
-												<!-- <text></text> -->
-											</label>
-										</checkbox-group>
-										<!-- <button type="primary" @click="savaItem(ii)" v-if="param.Sub_Page[0].OK_Button==true">淇濆瓨</Button> -->
-										<button type="warn" @tap="delItem(ii)"
-											v-if="param.Sub_Page[0].Del_Button==true">鍒犻櫎</button>
-									</div>
-								</div>
+								</checkbox-group>
 							</view>
 							<view class="view-bottom" v-if="param.Sub_Page[0].OK_Button==true">
 								<button type="default" @tap="cancel"
@@ -103,41 +106,40 @@
 								<image class="logo" v-if="detail2StyleDefList.length==0"
 									src="../../images/mobox_log_200x40.png">
 								</image>
-								<div class="dv-panel" v-for="(style,ii) in detail2StyleDefList">
-									<div class="dv-panel-input">
-										<div v-for="(item,index) in style.form.items">
-											<!-- 鏅�甯冨眬 -->
-											<view v-if="item.name!='Layout'">
-												<text class="txt_title"
-													:style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text>
-												<span class="form-item-span">{{item.value}}</span>
-											</view>
-											<!-- 鏍呮牸甯冨眬 -->
-											<uni-row class="demo-uni-row" v-if="item.name=='Layout'">
-												<uni-col v-for="(cols,key) in item.setting.colList"
-													:span="item.setting.spanList?item.setting.spanList[key]:24 / item.setting.col">
-													<view v-if="cols!=null">
-														<text class="txt_title"
-															:style="{'width':cols.labelWidth+'px'}">{{cols.label}}锛�/text>
-														<span class="form-item-span">{{cols.value}}</span>
-													</view>
-												</uni-col>
-											</uni-row>
+								<checkbox-group @change="checkboxChange2">
+									<div class="dv-panel" v-for="(style,ii) in detail2StyleDefList" :key="ii">
+										<div class="dv-panel-input">
+											<div v-for="(item,index) in style.form.items">
+												<!-- 鏅�甯冨眬 -->
+												<view v-if="item.name!='Layout'">
+													<text class="txt_title"
+														:style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text>
+													<span class="form-item-span">{{item.value}}</span>
+												</view>
+												<!-- 鏍呮牸甯冨眬 -->
+												<uni-row class="demo-uni-row" v-if="item.name=='Layout'">
+													<uni-col v-for="(cols,key) in item.setting.colList"
+														:span="item.setting.spanList?item.setting.spanList[key]:24 / item.setting.col">
+														<view v-if="cols!=null">
+															<text class="txt_title"
+																:style="{'width':cols.labelWidth+'px'}">{{cols.label}}锛�/text>
+															<span class="form-item-span">{{cols.value}}</span>
+														</view>
+													</uni-col>
+												</uni-row>
+											</div>
+										</div>
+										<div class="dv-panel-button">
+											<checkbox v-if="param.Sub_Page[1].Select_Button==true" :value="ii"
+												v-model:checked="style.SelBut_Checked" />
+											<!-- <text></text> -->
+
+											<!-- <button type="primary" @click="savaDataObj(style,ii)" v-if="param.Sub_Page[1].OK_Button==true">淇濆瓨</Button> -->
+											<button type="warn" @tap="delDataObj(style,ii)"
+												v-if="param.Sub_Page[1].Del_Button==true">{{translateSys('delete')}}</button>
 										</div>
 									</div>
-									<div class="dv-panel-button">
-										<checkbox-group v-if="param.Sub_Page[1].Select_Button==true">
-											<label>
-												<checkbox :value="style.SelBut_Checked"
-													:checked="style.SelBut_Checked" />
-												<!-- <text></text> -->
-											</label>
-										</checkbox-group>
-										<!-- <button type="primary" @click="savaDataObj(style,ii)" v-if="param.Sub_Page[1].OK_Button==true">淇濆瓨</Button> -->
-										<button type="warn" @tap="delDataObj(style,ii)"
-											v-if="param.Sub_Page[1].Del_Button==true">{{translateSys('delete')}}</button>
-									</div>
-								</div>
+								</checkbox-group>
 							</view>
 							<view class="view-bottom" v-if="param.Sub_Page[1].OK_Button==true"> <!--  -->
 								<button type="default" @tap="cancel"
@@ -260,6 +262,30 @@
 				this.setData({
 					current: index
 				})
+			},
+			checkboxChange(e) {
+				var items = this.detail1StyleDefList
+				var values = e.detail.value;
+				for (var i = 0, lenI = items.length; i < lenI; ++i) {
+					const item = items[i]
+					if (values.includes(i)) {
+						item.SelBut_Checked = true
+					} else {
+						item.SelBut_Checked = false
+					}
+				}
+			},
+			checkboxChange2(e) {
+				var items = this.detail2StyleDefList
+				var values = e.detail.value;
+				for (var i = 0, lenI = items.length; i < lenI; ++i) {
+					const item = items[i]
+					if (values.includes(i)) {
+						item.SelBut_Checked = true
+					} else {
+						item.SelBut_Checked = false
+					}
+				}
 			},
 			async Head_UIStyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮� 				var $this = this;
@@ -465,7 +491,9 @@
 					});
 				});
 			},
-
+			onClick(item) {
+				this.focusFieldId = item.fieldId
+			},
 			ontap(index, item) { //鎵爜鍔熻兘
 				// var $ele = e;
 				//console.log(e.target)
@@ -508,19 +536,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);
@@ -591,7 +662,6 @@
 						}
 					});
 				});
-
 				const jsonlist = [];
 				detailAttrList.forEach(attr => {
 					jsonlist.push({
@@ -1275,6 +1345,15 @@
 						})
 					});
 				});
+				if (jsonlist.length == 0) {
+					uni.showModal({
+						title: this.translateSys("tip"),
+						content: this.translate("tip_no_select_data"),
+						showCancel: false,
+						confirmText: this.translateSys("cancel")
+					});
+					return;
+				}
 				// console.log(jsonlist);
 				const list = []
 				list.push({
@@ -1347,6 +1426,15 @@
 						})
 					});
 				});
+				if (jsonlist.length == 0) {
+					uni.showModal({
+						title: this.translateSys("tip"),
+						content: this.translate("tip_no_select_data"),
+						showCancel: false,
+						confirmText: this.translateSys("cancel")
+					});
+					return;
+				}
 				const list = []
 				list.push({
 					page_name: $this.param.Sub_Page[1].Name,
@@ -1460,11 +1548,21 @@
 					});
 				});
 				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;
+				}
 				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)=>{
@@ -1562,6 +1660,15 @@
 						}))
 					});
 				});
+				if (jsonlist.length == 0) {
+					uni.showModal({
+						title: this.translateSys("tip"),
+						content: this.translate("tip_no_select_data"),
+						showCancel: false,
+						confirmText: this.translateSys("cancel")
+					});
+					return;
+				}
 				const list = []
 				list.push({
 					page_name: $this.param.Sub_Page[1].Name,
@@ -1660,7 +1767,8 @@
 											// this.detail2StyleDefList=[];
 											uni.showModal({
 												title: this.translateSys("tip"),
-												content:this.translate('execute_event_success'),
+												content: this.translate(
+													'execute_event_success'),
 												showCancel: false,
 												confirmText: this.translateSys("cancel")
 											});
@@ -1776,7 +1884,8 @@
 					var tip = typeof ex == "string" ? ex : ex.errMsg;
 					uni.showModal({
 						title: this.translateSys("error") + "8.1",
-						content: this.translate("execute_after_ok_event_failed") + this.translateSys("comma") +
+						content: this.translate("execute_after_ok_event_failed") + this.translateSys(
+								"comma") +
 							tip,
 						showCancel: false,
 						confirmText: this.translateSys("cancel")
@@ -1986,7 +2095,7 @@
 			padding-bottom: 20rpx;
 		}
 
-		.dv-panel-button checkbox-group {
+		.dv-panel-button checkbox {
 			padding-left: 20px;
 			display: inline-block;
 		}

--
Gitblit v1.9.1