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)"></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