From f7312bf8f78de9f24cfe5ee1eb9a102d769a4260 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期五, 05 七月 2024 17:03:05 +0800 Subject: [PATCH] inout gaibian --- pages/modal/5600.vue | 1760 +++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 1,112 insertions(+), 648 deletions(-) diff --git a/pages/modal/5600.vue b/pages/modal/5600.vue index 6200ef4..b73e1f3 100644 --- a/pages/modal/5600.vue +++ b/pages/modal/5600.vue @@ -1,318 +1,154 @@ -<style> - .v-headStyle:first-child { - margin-top: 15rpx; - } - - .v-headStyle .txt_title { - font-size: 34rpx; - text-align: right; - display: inline-block; - vertical-align: 12px; - } - - .v-headStyle input { - display: inline-block; - /* border: 1px solid #d5d5d5; */ - /* width: 65%; */ - width: 85%; - height: 52rpx; - line-height: 34rpx; - background: #FFF; - border-radius: 0 !important; - color: #2d8cf0; - padding: 10rpx 8rpx 12rpx; - font-size: 34rpx; - font-family: inherit; - box-shadow: none !important; - transition-duration: 0.1s; - margin-top: 4rpx; - } - - .v-headStyle input::-webkit-input-placeholder { - font-size: 12rpx; - } - - .input-wrapper { - border: 1px solid #d5d5d5; - display: inline-block; - width: 65%; - line-height: 22rpx; - } - - [nvue] uni-view { - position: relative; - border: 0 solid #000; - box-sizing: border-box; - } - - .uni-input { - /* border: none; */ - } - - .uni-icon { - /* border: 1px solid red; */ - width: 8%; - font-family: uniicons; - font-size: 40rpx; - font-weight: 400; - font-style: normal; - /* width: 48rpx; */ - height: 48rpx; - line-height: 48rpx; - color: #2d8cf0; - cursor: pointer; - display: inline-block; - vertical-align: 18rpx; - } - - .view-content { - min-height: 750rpx; - /* border:1px solid red; */ - } - - .dv-panel { - background-color: #efefef; - padding: 20rpx 20rpx 4rpx 0px; - border-radius: 12rpx; - margin: 10rpx 0 20rpx 0; - text-align: right; - /* border: 1px solid red; */ - } - - .dv-panel-input { - width: 100%; - display: inline-block; - text-align: left; - } - - .dv-panel-input .dv-input { - margin-bottom: 2rpx; - } - - .dv-panel .txt_title { - font-size: 34rpx; - text-align: right; - display: inline-block; - } - - .dv-panel input { - vertical-align: middle; - display: inline-block; - border: 1px solid #d5d5d5; - width: 68%; - height: 52rpx; - line-height: 34rpx; - background: #FFF; - border-radius: 7px !important; - color: #2d8cf0; - padding: 6rpx 8rpx 8rpx; - font-size: 32rpx; - font-family: inherit; - box-shadow: none !important; - transition-duration: 0.1s; - margin-top: 0rpx; - } - - .dv-panel input::-webkit-input-placeholder { - font-size: 10rpx; - } - - .dv-panel .form-item-span { - vertical-align: text-top; - color: #2d8cf0; - white-space: normal; - word-break: break-all; - display: inline-block; - width: calc(100% - 100px); - } - - .dv-panel-button { - /* display: inline-block; - margin-right: 20rpx; */ - width: 100%; - text-align: left; - padding-bottom: 20rpx; - } - - .dv-panel-button checkbox-group { - padding-left: 20px; - display: inline-block; - } - - .dv-panel-button button { - text-align: left; - line-height: 1.8; - border: none; - font-size: 34rpx; - width: 180rpx; - display: inline-block; - float: right; - text-align: center; - } - - button.btn_cancel { - width: 49.5%; - margin-top: 50rpx; - padding: 20rpx; - line-height: 1.5; - border: none; - font-size: 38rpx; - font-weight: bold; - float: left; - display: inline-block; - } - - button.btn_add { - width: 49.5%; - margin-top: 50rpx; - padding: 20rpx; - line-height: 1.5; - border: none; - font-size: 38rpx; - font-weight: bold; - float: right; - display: inline-block; - } - - .logo { - height: 100rpx; - width: 460rpx; - display: flex; - margin: 38% auto; - } - - .dv-border { - border: 1px solid red; - } - - .view-imagetext { - text-align: center; - width: 88%; - padding: 20rpx 40rpx 0px 40rpx; - /* border:1px solid red; */ - } - - .view-imagetext .view-imagetext-uploadlist { - padding: 30rpx 0px 10rpx 0px; - vertical-align: middle; - display: inline-block; - width: 100%; - height: 100%; - text-align: center; - line-height: 100%; - border: 2rpx solid transparent; - border-radius: 8rpx; - overflow: hidden; - background: #fff; - position: relative; - /* box-shadow: 0 2rpx 2rpx rgba(0, 0, 0, 0.2); - margin-right: 8rpx; */ - } - - .view-imagetext .txt-text { - display: block; - margin: 20rpx; - font-weight: bold; - } - - .view-detalist-centen { - text-align: center; - width: 100%; - } - - .view-detalist-centen .txt-detalist { - background: #94D5EF; - display: block; - width: 100%; - font-size: 36rpx; - line-height: 80rpx; - font-weight: 500; - } - - .panel-active { - border: 2px solid red; - } - - .bk-active { - background-color: #D6FCB2; - } - - #dv_select { - display: inline-block; - width: 66%; - background: #FFF; - border-radius: 0 !important; - color: #2d8cf0; - /* padding: 10rpx 8rpx 12rpx; */ - font-size: 34rpx; - font-family: inherit; - box-shadow: none !important; - transition-duration: 0.1s; - margin-top: 0rpx; - vertical-align: 20rpx; - } - - #dv_select .uni-select { - border: 2rpx solid #ccc; - border-radius: 0 !important; - color: #2d8cf0; - } - - #dv_select .uni-select__input-text { - color: #2d8cf0; - } - - .input-disabled { - background-color: #f3f3f3 !important; - } -</style> -<style lang="scss"> - .demo-uni-row { - margin-bottom: 0px; - display: block; - } - - ::v-deep .uni-row { - margin-bottom: 0px; - } - - .view-tabpage ::v-deep .uni-row { - margin-bottom: 5px; - } - - .demo-uni-col { - height: 36px; - border-radius: 5px; - } - - .demo-uni-row .uni-input { - width: calc(100% - 120px); - } -</style> - <template> - <view class="content"> + <view class="uni-page-modal-5600"> <!-- 琛ㄥご鏍峰紡 --> - <view class="v-headStyle" v-for="(item,index) in head_styledef.form.items"> - <text class="txt_title" :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text> - <!-- 涓嬫媺妗�鍗曢� item.useDict?item.dict:item.selections--> - <uni-data-select id="dv_select" v-if="item.name=='Select'" :class="item.disabled?'input-disabled':''" - v-model="item.value" :localdata="item.dict" @change="onEnterChange(item)" :disabled="item.disabled" - :clear="false"></uni-data-select> - <view class="input-wrapper" v-if="item.name=='Input' || item.name=='InputNumber'"> - <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]" - @click="onEnterChange(item)"></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="focusMateria" @focus="ontap(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 class="view-header"> + <view class="v-headStyle" v-for="(item,index) in head_styledef.form.items"> + <text class="txt_title" :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text> + <!-- 涓嬫媺妗�鍗曢� item.useDict?item.dict:item.selections--> + <!-- <uni-data-select class="dv_select" v-if="item.name=='Select'" :class="item.disabled?'input-disabled':''" + v-model="item.value" :localdata="item.dict" @change="onEnterChange(item)" :disabled="item.disabled" + :clear="false"></uni-data-select> --> + <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'"> + <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]" + @click="onEnterChange(item)"></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)" + @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> </view> + </view> <view class="view-content"> + <!-- 鐮佺洏鐣岄潰 --> + <view v-if="param.Show_Welcom_Page==false" class="uni-panel-content"> + <!-- 椤电 --> + <view class="dv-tab"> + <uni-segmented-control :current="current" :values="items" @clickItem="onClickItem" + styleType="button"> + </uni-segmented-control> + </view> + <swiper class="view-tabpage" :current="current" @change="changeSwiper"> + <!-- 鐮佺洏鐣岄潰 --> + <swiper-item> + <view class="uni-panel-content"> + <view class="view-tab-content" id="tabpanel"> + <image class="logo" v-if="detail1StyleDefList.length==0" + src="../../images/mobox_log_200x40.png"> + </image> + <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> + </checkbox-group> + </view> + <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> + </view> + </view> + </swiper-item> + <!-- 宸茬爜鐩樼晫闈�--> + <swiper-item> + <view class="uni-panel-content"> + <view class="view-tab-content"> + <image class="logo" v-if="detail2StyleDefList.length==0" + src="../../images/mobox_log_200x40.png"> + </image> + <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> + </checkbox-group> + </view> + <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> + </view> + </view> + </swiper-item> + </swiper> + </view> <!-- 鍥炬枃/鏂囨湰 --> <view class="view-imagetext" v-if="param.Show_Welcom_Page==true"> <div class="view-imagetext-uploadlist"> @@ -323,147 +159,16 @@ :style="{'color':param.Welcome_Page.Txt_Color,'font-size':param.Welcome_Page.Font_Size+'px','font-family':param.Welcome_Page.Font}">{{param.Welcome_Page.Text}}</Text> </div> </view> - <!-- 鐮佺洏鐣岄潰 --> - <view v-if="param.Show_Welcom_Page==false"> - <!-- 椤电 --> - <view class="dv-tab"> - <uni-segmented-control :current="current" :values="items" @clickItem="onClickItem" - styleType="button"> - </uni-segmented-control> - </view> - <!-- 鐮佺洏鐣岄潰 --> - <view class="view-tabpage" id="tabpanel" v-if="current==0"> - <image class="logo" v-if="detail1StyleDefList.length==0" src="../../images/mobox_log_200x40.png"> - </image> - <!-- <div class="dv-panel"> - <div class="dv-panel-input"> - <div > - <text class="txt_title" style="width:100px">test锛�/text> - <span class="form-item-span" >1111</span> - </div> - <div > - <text class="txt_title" style="width:100px">test锛�/text> - <span class="form-item-span" >1111</span> - </div> - <div> - <uni-row class="demo-uni-row"> - <uni-col :span="12"> - <text class="txt_title dv-form-item-col" style="width:100px">test锛�/text> - <span class="form-item-span" >ffaaa</span> - </uni-col> - <uni-col :span="12"> - <text class="txt_title dv-form-item-col" style="width:100px">test锛�/text> - <span class="form-item-span" >ffaaaffaaaffaaaffaaaffaaa</span> - </uni-col> - </uni-row> - </div> - <div> - <uni-row class="demo-uni-row"> - <uni-col :span="12"> - <text class="txt_title dv-form-item-col" style="width:100px">test锛�/text> - <span class="form-item-span" >fsfegfs</span> - </uni-col> - <uni-col :span="12"> - <text class="txt_title dv-form-item-col" style="width:100px">test锛�/text> - <input type="number" class="uni-input input-margintop" style="width: calc(100% - 120px);"/> - </uni-col> - </uni-row> - </div> - </div> - <div class="dv-panel-button"> - <button type="warn" @tap="delItem(0)">鍒犻櫎</button> - </div> - </div> --> - <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> - </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> - </view> - <!-- 宸茬爜鐩樼晫闈�--> - <view class="view-tabpage2" v-if="current==1"> - <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> - </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">鍒犻櫎</button> - </div> - </div> - </view> - </view> </view> - <view v-if="current==0 && param.Sub_Page[0].OK_Button==true"> + <!-- <view class="view-bottom" v-if="current==0 && param.Sub_Page[0].OK_Button==true"> <button type="default" @tap="cancel" class="btn_cancel">鍙栨秷</button> <button type="primary" @tap="ok" class="btn_add">纭畾</button> </view> - <view v-if="current==1 && param.Sub_Page[1].OK_Button==true"> + <view class="view-bottom" v-if="current==1 && param.Sub_Page[1].OK_Button==true"> <button type="default" @tap="cancel" class="btn_cancel">鍙栨秷</button> <button type="primary" @tap="ok2" class="btn_add">纭畾</button> - </view> + </view> --> + </view> </template> @@ -475,10 +180,11 @@ }, data() { return { - title: '鐮佺洏', + title: this.translateSys("coding_disk"), ClsID: 'CG_Detail', param: {}, - focusMateria: false, + focusFieldId: "", + focusOldFieldId: "", head_styledef: { form: { items: [] @@ -487,14 +193,19 @@ detail1_styledef: {}, detail1StyleDefList: [], detail2_styledef: {}, - detail2StyleDefList: [], + detail2StyleDefList: [], //鍒嗛〉鏁版嵁 + detail1ExtData: {}, + detail2ExtData: {}, //鍒嗛〉鎵╁睍鏁版嵁 // 鍒嗘鍣ㄦ暟鎹� current: 0, Before_OK_Event: {}, After_OK_Event: {}, + Before_Del_Event: {}, + After_Del_Event: {}, items: [], active_id: '', activelist: [], + selectAttrObj: {}, }; }, onLoad(options) { @@ -521,9 +232,8 @@ this.Detail2_UIstyleGetInfo(this.ClsID, this.$data.param.Sub_Page[1].UI_Style.ID); console.log(this.$data.param); - //椤甸潰鍒濆鍖栬幏鍙栫劍鐐�- // this.focusMateria=true; }, + //椤甸潰鍒濆鍖栬幏鍙栫劍鐐� methods: { setData: function(obj) { let that = this; @@ -545,6 +255,36 @@ data = data[key2]; }); }); + }, + changeSwiper(evt) { + let index = evt.target.current || evt.detail.current; + 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; @@ -570,22 +310,30 @@ 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: "閿欒1", + title: this.translateSys("error") + "1", content: ret.err_msg, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); } }).catch(ex => { // console.log(ex); uni.showModal({ - title: "閿欒1.1", + title: this.translateSys("error") + "1.1", content: ex.errMsg, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); }); @@ -621,19 +369,19 @@ }); } else { uni.showModal({ - title: "閿欒2", + title: this.translateSys("error") + "2", content: ret.err_msg, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); } }).catch(ex => { // console.log(ex); uni.showModal({ - title: "閿欒2.1", + title: this.translateSys("error") + "2.1", content: ex.errMsg, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); }); @@ -661,19 +409,19 @@ } else { uni.showModal({ - title: "閿欒3", + title: this.translateSys("error") + "3", content: ret.err_msg, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); } }).catch(ex => { // console.log(ex); uni.showModal({ - title: "閿欒3.1", + title: this.translateSys("error") + "3.1", content: ex.errMsg, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); }); @@ -726,30 +474,31 @@ } else { uni.showModal({ - title: "閿欒3.1", + title: this.translateSys("error") + "3.1", content: success.err_msg, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); } }).catch(ex => { // console.log(ex); uni.showModal({ - title: "閿欒3", + title: this.translateSys("error") + "3", content: ex.errMsg, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); }); }, - ontap(item) { //鎵爜鍔熻兘 + ontap(index, item) { //鎵爜鍔熻兘 // var $ele = e; //console.log(e.target) + this.focusOldFieldId = item.fieldId getApp().onScan((result) => { console.log(result.decodedata); item.value = result.decodedata; - uni.hideKeyboard(); + // uni.hideKeyboard(); var $this = this; // if(item.value=='B61DF51DD50645CEB9D152DD77D2466A'){ @@ -769,7 +518,7 @@ // }) // .exec(); // } - console.log(item); + //console.log(item); if (item.oldvalue != item.value) { item.oldvalue = item.value; var attr = item.fieldId; @@ -783,13 +532,20 @@ $this.onChange(onChangeEvent); } if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌�- $this.focusMateria = true; //鍒濆鍖栵紝绗簩涓緭鍏ユfocus灞炴� - // setTimeout(function(){ - // $this.focusMateria=true; //绗簩涓緭鍏ユ鑾峰彇鐒︾偣 - setTimeout(function() { - uni.hideKeyboard(); - }, 1000); - // },500); + //鍒濆鍖栵紝涓嬩釜杈撳叆妗唂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); + } // if(onSuffixClickCallbackEvent.id){ //鍚庡浘鏍囩偣鍑讳簨浠� // this.onSuffixClick(onSuffixClickCallbackEvent); @@ -860,15 +616,16 @@ } }); }); - const jsonlist = []; detailAttrList.forEach(attr => { jsonlist.push({ - id: '', + id: attr["id"] || "", attrs: Object.keys(attr).map((a) => ({ attr: a, value: attr[a] || "", - })) + })).filter((a) => { + return a.attr != "id" + }) }); }); return jsonlist; @@ -878,30 +635,38 @@ try { if (event.id) { + //鑾峰彇琛ㄥご灞炴� + var head_attr = {}; + this.head_styledef.form.items.forEach(item => { + head_attr[item.fieldId] = item.value; + }); var obj_attr = this.head_styledef.form.model; // console.log(obj_attr); var input_param = Base64.encode( JSON.stringify( - Object.keys(obj_attr).map((a) => ({ + Object.keys(head_attr).map((a) => ({ attr: a, - value: obj_attr[a] || "", + value: head_attr[a] || "", })) ) ); var $this = this; const jsonList = [] + const itemlist1 = $this.getDetailAttrList($this.detail1StyleDefList, $this.param.Sub_Page[0] + .Select_Button) + const itemlist2 = $this.getDetailAttrList($this.detail2StyleDefList, $this.param.Sub_Page[1] + .Select_Button) + jsonList.push({ page_name: $this.param.Sub_Page[0].Name, - item_list: [] + item_list: itemlist1, + ext_data: $this.detail1ExtData }) jsonList.push({ page_name: $this.param.Sub_Page[1].Name, - item_list: [] + item_list: itemlist2, + ext_data: $this.detail2ExtData }) - jsonList[0].item_list = $this.getDetailAttrList($this.detail1StyleDefList, $this.param - .Sub_Page[0].Select_Button) - jsonList[1].item_list = $this.getDetailAttrList($this.detail2StyleDefList, $this.param - .Sub_Page[1].Select_Button) const data_json = Base64.encode( JSON.stringify(jsonList) ); @@ -932,26 +697,27 @@ 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: '鎻愮ず', + title: this.translateSys("tip"), content: tip, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); else uni.showModal({ - title: '鎻愮ず', - content: tip + ',鎻愮ず:' + result.ret, + title: this.translateSys("tip"), + content: tip + ',' + this.translateSys('tip') + ':' + result + .ret, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); return false; } else { var tip = result.info ? typeof result.info == 'string' ? result.info : result.info.join('<br/>') : ''; if (tip) uni.showModal({ - title: '鎻愮ず', + title: this.translateSys("tip"), content: tip, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); if (result.result_type == 0 && result.action) { @@ -964,13 +730,22 @@ "set_subtable_page_content") { //宸茬爜鐩� $this.$data.param.Show_Welcom_Page = false; var value = item.value; - if (value.clear == true && $this.$data - .detail1StyleDefList.length > 0 && value - .page_name == $this.$data.param.Sub_Page[0].Name - ) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹�+ if (value.clear_confirm != false && value.clear == + true && + $this.$data.detail1StyleDefList.length > 0 && + value.page_name == $this.$data.param.Sub_Page[0] + .Name + ) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹� uni.showModal({ - title: '鎻愮ず', - content: '绯荤粺妫�祴鍒版湁姝e湪鐮佺洏涓殑璐у搧锛岀户缁搷浣滀細娓呯┖锛屾槸鍚︾户缁紵', + title: this.translateSys("tip"), + content: this.translate( + "are_you_sure_clear_first") + + this.translateSys( + "quotation_mark_left") + value + .page_name + this.translateSys( + "sys.quotation_mark_right") + + this.translate( + "are_you_sure_clear_last"), success: function(res) { if (res.confirm) { $this.$data @@ -1007,11 +782,11 @@ uni.createSelectorQuery() .select("#tabpanel") //瀵瑰簲澶栧眰鑺傜偣 .boundingClientRect(( - container) => { + container) => { uni.createSelectorQuery() .select("#tabpanel" + ele.form.htmlobjId - ) //鐩爣鑺傜偣 + ) //鐩爣鑺傜偣 .boundingClientRect(( target) => { uni.pageScrollTo({ @@ -1027,96 +802,71 @@ } }); } else if (item.action_type == - "set_subtable_page_row") { // value = {"page_name":"鐮佺洏涓�, "row":[{"id":"xx"}]} + "remove_subtable_page_row") { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹� var value = item.value; - var detailStyleDefList = [] - if (value.page_name == $this.$data.param.Sub_Page[1] - .Name) { - detailStyleDefList = $this.$data - .detail2StyleDefList - } else if (value.page_name == $this.$data.param - .Sub_Page[0].Name) { - detailStyleDefList = $this.$data - .detail1StyleDefList + if (value.page_name == $this.param.Sub_Page[0] + .Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞 + //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�+ value.row.forEach(row => { + $this.$data.detail1StyleDefList + .forEach((ele, index) => { + if (ele.form.objId == row + .id) { + $this.$data + .detail1StyleDefList + .splice(index, 1); + } + }); + }); } - detailStyleDefList.forEach(ele => { - value.row.forEach((rowData) => { - if (ele.form.objId == rowData - .id) { - rowData.attrs.forEach( - attr => { - ele.form.items - .forEach( - ele2 => { - if (ele2 - .name != - 'Layout' - ) { - if (ele2 - .fieldId == - attr - .attr - ) { - ele2.value = - $this - .operationNumber( - ele2 - .value, - attr - .value, - attr - .operation - ) - } - } else if ( - ele2 - .name == - 'Layout' - ) { - ele2.setting - .colList - .forEach( - col => { - if ( - col) { - if (col - .fieldId == - attr - .attr - ) { - col.value = - $this - .operationNumber( - col - .value, - attr - .value, - attr - .operation - ) - } - } - } - ); - } - }); - }); + } else if (item.action_type == "set_subtable_page_row") { + $this.viewActionSetRow(item.value) - } + } else if (item.action_type == + "set_subtable_page_ext_data") { + var value = item.value; + if (value.page_name == $this.$data.param.Sub_Page[0] + .Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞 + $this.setData({ + detail1ExtData: value.ext_data }) - + } else if (value.page_name == $this.$data.param + .Sub_Page[1].Name) { + $this.setData({ + detail2ExtData: value.ext_data + }) + } + } else if (item.action_type == "clear_subpage_rows") { + var value = item.value; + if (value.page_name == $this.$data.param.Sub_Page[0] + .Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞 + $this.setData({ + detail1StyleDefList: [], + detail1ExtData: {} + }) + } else if (value.page_name == $this.$data.param + .Sub_Page[1].Name) { + $this.setData({ + detail2StyleDefList: [], + detail2ExtData: {} + }) + } + } else if (item.action_type == + "set_dlg_current_edit_attr") { + if ($this.focusOldFieldId == item.value) { + $this.setData({ + focusFieldId: "" + }) + } else { + $this.setData({ + focusFieldId: $this.focusOldFieldId + }) + } + $this.$nextTick(() => { + $this.setData({ + focusFieldId: item.value + }) }); - if (value.page_name == $this.$data.param.Sub_Page[1] - .Name) { - $this.setData({ - detail2StyleDefList: detailStyleDefList - }) - } else if (value.page_name == $this.$data.param - .Sub_Page[0].Name) { - $this.setData({ - detail1StyleDefList: detailStyleDefList - }) - } } else if (item.action_type == "set_dlg_attr") { // value = {"attr":"xxx", "value":"xxx"} var data = item.value; @@ -1136,10 +886,10 @@ // this.detail2StyleDefList=[]; if (result.info) { uni.showModal({ - title: "閿欒4.3", + title: this.translateSys("error") + "4.3", content: result.info, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); } } @@ -1147,46 +897,102 @@ } else { uni.showModal({ - title: "閿欒4", + title: this.translateSys("error") + "4", content: ret.err_msg, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); } }).catch(ex => { // console.log(ex); uni.showModal({ - title: "閿欒4.1", + title: this.translateSys("error") + "4.1", content: ex.errMsg, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); }); } } catch (ex) { var tip = typeof ex == "string" ? ex : ex.message; uni.showModal({ - title: "閿欒4.2", - content: "鎵ц鈥滃唴瀹瑰彉鍖栧悗鈥濅簨浠跺け璐ワ細" + tip, + title: this.translateSys("error") + "4.2", + content: this.translate('execute_after_change_event_failed') + this.translateSys( + "comma") + + this.translate('reason') + this.translateSys("colon") + tip, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); } }, operationNumber(value1, value2, operation) { + var number1 = 0 + var number2 = 0 + if (value1) + number1 = parseInt(value1) + if (value2) + number2 = parseInt(value2) if (operation == "+") { - return value1 + value2 + return number1 + number2 } else if (operation == "-") { - return value1 - value2 + return number1 - number2 } else if (operation == "*") { - return value1 * value2 + return number1 * number2 } else if (operation == "/") { - if (value2) - return value1 / value2 + if (number2) + return number1 / number2 else - return value1 - } else return value2 + return number1 + } else return number2 + }, + + //鏇存柊鍒嗛〉绛句腑鐨勫垪琛ㄩ」鍐呭 + viewActionSetRow(value) { + const $this = this + var detailStyleDefList = [] + if (value.page_name == $this.$data.param.Sub_Page[1].Name) { + detailStyleDefList = $this.$data.detail2StyleDefList + } else if (value.page_name == $this.$data.param.Sub_Page[0].Name) { + detailStyleDefList = $this.$data.detail1StyleDefList + } + detailStyleDefList.forEach(ele => { + value.row.forEach((rowData) => { + if (ele.form.objId == rowData.id) { + rowData.attrs.forEach(attr => { + ele.form.items.forEach(ele2 => { + if (ele2.name != 'Layout') { + if (ele2.fieldId == attr.attr) { + ele2.value = $this.operationNumber(ele2.value, + attr.value, attr.operation) + } + } else if (ele2.name == 'Layout') { + ele2.setting.colList.forEach(col => { + if (col) { + if (col.fieldId == attr.attr) { + col.value = $this + .operationNumber(col.value, + attr.value, attr + .operation) + } + } + }) + } + }); + }); + } + }) + }); + if (value.page_name == $this.$data.param.Sub_Page[1].Name) { + $this.setData({ + detail2StyleDefList: detailStyleDefList + }) + } else if (value.page_name == $this.$data.param.Sub_Page[0].Name) { + $this.setData({ + detail1StyleDefList: detailStyleDefList + }) + } + }, //鍔犺浇姝e湪鐮佺洏鍐呭 viewAceionRow(data, type) { @@ -1243,6 +1049,11 @@ //鍔犺浇宸茬爜鐩樺唴瀹� viewAceionContent(data) { var $this = this; + if (data.page_name == $this.param.Sub_Page[0].Name) { + $this.detail1ExtData = data.ext_data || {} + } else if (data.page_name == $this.param.Sub_Page[1].Name) { + $this.detail2ExtData = data.ext_data || {} + } if (JSON.stringify(data.content) == '{}') { return; } @@ -1336,6 +1147,9 @@ // console.log($this.$data.detail2StyleDefList); } }); + + + }, onClickItem(e) { //閫夋嫨椤电 // console.log(e); @@ -1345,14 +1159,30 @@ console.log(item); }, delItem(index) { //鍒犻櫎鐮佺洏涓牱寮忛潰鏉�+ + //鍒犻櫎鐮佺洏涓牱寮忛潰鏉�+ this.Before_Del_Event = this.param.Sub_Page[0].Before_Delete; + this.After_Del_Event = this.param.Sub_Page[0].After_Delete; + const style = this.detail1StyleDefList[index]; + //鍒犻櫎鐮佺洏涓牱寮忛潰鏉� this.detail1StyleDefList.splice(index, 1); + if (this.Before_Del_Event?.ID) + //鏄惁鏈夊垹闄ゅ墠浜嬩欢 + this.del(style, this.Before_Del_Event); + else if (this.After_Del_Event?.ID) + //鏄惁鏈夊垹闄ゅ悗浜嬩欢 + this.del(style, this.After_Del_Event); }, delDataObj(style, index) { //鍒犻櫎宸茬爜鐩樻暟 // console.log(style); + + $this.Before_Del_Event = $this.param.Sub_Page[0].Before_Delete; + $this.After_Del_Event = $this.param.Sub_Page[0].After_Delete; + var $this = this; uni.showModal({ - title: '鎻愮ず', - content: '纭畾鍒犻櫎璇ュ凡鐮佺洏鏁版嵁锛�, + title: this.translateSys("tip"), + content: this.translate("are_you_sure_delete_coded_disk_data"), success: function(res) { if (res.confirm) { var objID = style.form.objId; @@ -1367,29 +1197,37 @@ $this.$store.dispatch('dataObjDel', dataInfo).then(ret => { // console.log(ret); if (ret.err_code == 0) { + const style = $this.detail2StyleDefList[index]; $this.detail2StyleDefList.splice(index, 1); + if ($this.Before_Del_Event?.ID) + //鏄惁鏈夊垹闄ゅ墠浜嬩欢 + $this.del2(style, $this.Before_Del_Event); + else if ($this.After_Del_Event?.ID) + //鏄惁鏈夊垹闄ゅ悗浜嬩欢 + $this.del2(style, $this.After_Del_Event); uni.showModal({ - title: "鎻愮ず", - content: "鍒犻櫎鎴愬姛锛�, + title: this.translateSys("tip"), + content: this.translate("delete_success"), showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); + } else { uni.showModal({ - title: "閿欒5", + title: this.translateSys("error") + "5", content: ret.err_msg, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); } }).catch(ex => { // console.log(ex); uni.showModal({ - title: "閿欒5.1", + title: this.translateSys("error") + "5.1", content: ex.errMsg, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); }); } else if (res.cancel) { @@ -1399,6 +1237,169 @@ }); }, + async del(style, event) { + //鑾峰彇琛ㄥご灞炴� + var head_attr = {}; + this.$data.head_styledef.form.items.forEach(item => { + head_attr[item.fieldId] = item.value; + }); + // console.log(head_attr); + //鑾峰彇姝e湪鍒嗘嫞灞炴� + var detailAttrList = []; + 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 ($this.param.Sub_Page[0].Select_Button == true) { //鍒ゆ柇閫夋嫨鎸夐挳鏄惁涓簍rue + if (style.SelBut_Checked == true) + detailAttrList.push(detail_attr); + } else + detailAttrList.push(detail_attr); + + // console.log(detailAttrList); + //鑾峰彇姝e湪鍒嗘嫞閲屾病鏈夋樉绀虹殑瀛楁 + 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; + } + } + } + }); + var input_param = Base64.encode( + JSON.stringify( + Object.keys(head_attr).map((a) => ({ + attr: a, + value: head_attr[a] || "", + })) + ) + ); + var jsonlist = []; + detailAttrList.forEach(attr => { + jsonlist.push({ + id: attr["id"] || "", + attrs: Object.keys(attr).map((a) => ({ + attr: a, + value: attr[a] || "", + })).filter((a) => { + return a.attr != "id" + }) + }); + }); + 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({ + page_name: $this.param.Sub_Page[0].Name, + item_list: jsonlist, + ext_data: $this.detail1ExtData + }) + $this.runCustomEvent(event, input_param, list, '1'); + }, + + async del2(style, event) { + //鑾峰彇琛ㄥご灞炴� + var head_attr = {}; + this.$data.head_styledef.form.items.forEach(item => { + head_attr[item.fieldId] = item.value; + }); + // console.log(head_attr); + //鑾峰彇宸插垎鎷e睘鎬�+ var detailAttrList = []; + 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 ($this.param.Sub_Page[1].Select_Button == true) { //鍒ゆ柇閫夋嫨鎸夐挳鏄惁涓簍rue + if (style.SelBut_Checked == true) + detailAttrList.push(detail_attr); + } else + detailAttrList.push(detail_attr); + //鑾峰彇宸插垎鎷i噷娌℃湁鏄剧ず鐨勫瓧娈�+ 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; + } + } + } + }); + // console.log(detailAttrList); + // return; + var input_param = Base64.encode( + JSON.stringify( + Object.keys(head_attr).map((a) => ({ + attr: a, + value: head_attr[a] || "", + })) + ) + ); + var jsonlist = []; + detailAttrList.forEach(attr => { + jsonlist.push({ + id: attr["id"] || "", + attrs: Object.keys(attr).map((a) => ({ + attr: a, + value: attr[a] || "", + })).filter((a) => { + return a.attr != "id" + }) + }); + }); + 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, + item_list: jsonlist, + ext_data: $this.detail2ExtData + }) + + // console.log(jsonlist); + $this.runCustomEvent(event, input_param, list, '2'); + }, + onPanelClick(value) { // console.log(value); this.active_id = ''; @@ -1423,10 +1424,16 @@ var $this = this; if (this.$data.detail1StyleDefList.length == 0) { uni.showModal({ - title: "鎻愮ず", - content: "娌℃湁姝e湪鐮佺洏鐨勬暟鎹紒", + 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: "鍙栨秷" + confirmText: this.translateSys("cancel") }); return false; } @@ -1487,15 +1494,31 @@ var jsonlist = []; detailAttrList.forEach(attr => { jsonlist.push({ - id: '', + id: attr["id"] || "", attrs: Object.keys(attr).map((a) => ({ attr: a, value: attr[a] || "", })) }); }); + 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, jsonlist, '1'); + $this.runCustomEvent(event, input_param, list, '1'); // jsonlist.forEach(async (json,key)=>{ // await $this.runCustomEvent(event,input_param,json,'1'); // }); @@ -1514,10 +1537,16 @@ var $this = this; if (this.$data.detail2StyleDefList.length == 0) { uni.showModal({ - title: "鎻愮ず", - content: "娌℃湁宸茬爜鐩樼殑鏁版嵁锛�, + title: this.translateSys("tip"), + content: this.translate( + "page.tip_no_data_first") + + this.translateSys( + "quotation_mark_left") + this.param.Sub_Page[1].Name + this.translateSys( + "sys.quotation_mark_right") + + this.translate( + "page.tip_no_data_last"), showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); return false; } @@ -1578,15 +1607,31 @@ var jsonlist = []; detailAttrList.forEach(attr => { jsonlist.push({ - id: '', + id: attr["id"] || "", attrs: Object.keys(attr).map((a) => ({ attr: a, value: attr[a] || "", })) }); }); + 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, + item_list: jsonlist, + ext_data: $this.detail2ExtData + }) + // console.log(jsonlist); - $this.runCustomEvent(event, input_param, jsonlist, '2'); + $this.runCustomEvent(event, input_param, list, '2'); // jsonlist.forEach(async (json,key)=>{ // await $this.runCustomEvent(event,input_param,json,'2'); // }); @@ -1616,6 +1661,7 @@ global_attr: '', input_param: input_param, }; + // console.log(dataInfo); this.$store.dispatch('runCustomEvent', dataInfo).then(res => { console.log(res); @@ -1625,30 +1671,31 @@ 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: '鎻愮ず', + title: this.translateSys("tip"), content: tip, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); else uni.showModal({ - title: '鎻愮ず', - content: tip + ',鎻愮ず:' + result.ret, + title: this.translateSys("tip"), + content: tip + ',' + this.translateSys('tip') + ':' + result.ret, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); return false; } else { var tip = result.info ? typeof result.info == 'string' ? result.info : result.info .join('<br/>') : ''; if (tip) uni.showModal({ - title: '鎻愮ず', + title: this.translateSys("tip"), content: tip, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); - if (result.result_type == 0) { if (result.action) { + // uni.showModal({title:this.translateSys("tip"),content:JSON.stringify(result.action),showCancel:false,confirmText:this.translateSys("cancel")}); + result.action.forEach(item => { if (item.action_type == "insert_subtable_page_row") { //鐮佺洏涓� var value = item.value; @@ -1657,13 +1704,13 @@ //娓呯┖鏉$爜鍐呭 $this.$data.head_styledef.form.items.forEach((item, index) => { - if (item.fieldId != "S_CNTR_CODE") { - item.value = ''; - item.oldvalue = ''; - $this.$data.head_styledef.form.model[item - .fieldId] = ''; - } - }); + if (item.fieldId != "S_CNTR_CODE") { + item.value = ''; + item.oldvalue = ''; + $this.$data.head_styledef.form.model[item + .fieldId] = ''; + } + }); //娓呴櫎姝e湪鐮佺洏涓垚鍔熺殑鏁版嵁 // $this.$data.detail1StyleDefList.forEach((style,index)=>{ // if(style.form.items[0].fieldId == json.attrs[0].attr && style.form.items[0].value == json.attrs[0].value){ @@ -1673,10 +1720,11 @@ // }); // this.detail2StyleDefList=[]; uni.showModal({ - title: "鎻愮ず", - content: "鐮佺洏鎴愬姛", + title: this.translateSys("tip"), + content: this.translate( + 'execute_event_success'), showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); // } else if(item.action_type == "refresh"){ //鍒锋柊 // var value = item.value; @@ -1692,6 +1740,69 @@ // value+=ele; // }); // uni.showModal({title:"绯荤粺鎻愮ず",content:value,showCancel:false,confirmText:"鍏抽棴"}); + } else if (item.action_type == + "remove_subtable_page_row") { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�+ var value = item.value; + if (value.page_name == $this.param.Sub_Page[0] + .Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞 + //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�+ value.row.forEach(row => { + $this.$data.detail1StyleDefList.forEach(( + ele, index) => { + if (ele.form.objId == row.id) { + $this.$data + .detail1StyleDefList + .splice(index, 1); + } + }); + }); + } + } else if (item.action_type == "set_subtable_page_row") { + $this.viewActionSetRow(item.value) + + } else if (item.action_type == "set_subtable_page_ext_data") { + var value = item.value; + if (value.page_name == $this.$data.param.Sub_Page[0] + .Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞 + $this.setData({ + detail1ExtData: value.ext_data + }) + } else if (value.page_name == $this.$data.param.Sub_Page[1] + .Name) { + $this.setData({ + detail2ExtData: value.ext_data + }) + } + } else if (item.action_type == "clear_subpage_rows") { + var value = item.value; + if (value.page_name == $this.$data.param.Sub_Page[0] + .Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞 + $this.setData({ + detail1StyleDefList: [], + detail1ExtData: {} + }) + } else if (value.page_name == $this.$data.param.Sub_Page[1] + .Name) { + $this.setData({ + detail2StyleDefList: [], + detail2ExtData: {} + }) + } + } else if (item.action_type == "set_dlg_current_edit_attr") { + if ($this.focusOldFieldId == item.value) + $this.setData({ + focusFieldId: "" + }) + else { + $this.setData({ + focusFieldId: $this.focusOldFieldId + }) + } + $this.$nextTick(() => { + $this.setData({ + focusFieldId: item.value + }) + }); } }); } else { @@ -1707,29 +1818,31 @@ // $this.$data.detail2StyleDefList=[]; if (result.info) { uni.showModal({ - title: "鎻愮ず", + title: this.translateSys("tip"), content: result.info, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); } } } } else { uni.showModal({ - title: "閿欒8", + title: this.translateSys("error") + "8", content: res.err_msg, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); } }).catch(ex => { var tip = typeof ex == "string" ? ex : ex.errMsg; uni.showModal({ - title: "閿欒8.1", - content: "鎵ц鈥滅‘瀹氬悗鈥濅簨浠跺け璐ワ細" + tip, + title: this.translateSys("error") + "8.1", + content: this.translate("execute_after_ok_event_failed") + this.translateSys( + "comma") + + tip, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); }); }, @@ -1739,6 +1852,357 @@ delta: 1 //杩斿洖灞傛暟锛�鍒欎笂涓婇〉 }); }, + translate(t) { + if (typeof this.$t == "function") return this.$t(`page.${t}`) + else return t; + }, + translateSys(t) { + if (typeof this.$t == "function") return this.$t(`sys.${t}`) + else return t; + }, }, }; -</script> \ No newline at end of file +</script> + +<style lang="scss"> + .uni-page-modal-5600 { + + display: flex; + height: 100vh; + width: 750rpx; + flex-direction: column !important; + + .view-header { + display: flex; + width: 100%; + flex-direction: column; + margin-top: 15rpx; + } + + .v-headStyle { + width: 100%; + } + + .view-content { + display: flex; + flex: 1; + width: 100%; + flex-direction: column; + min-height: 100px; + } + + .dv-tab { + width: calc(100% - 30rpx); + padding: 0 15rpx; + } + + .view-tabpage { + width: 100%; + flex: 1; + } + + .view-tab-content { + display: flex; + flex: 1; + width: calc(100% - 30rpx); + padding: 10rpx 15rpx; + flex-direction: column; + overflow-y: auto; + + } + + .uni-panel-content { + display: flex; + width: 100%; + height: 100%; + flex-direction: column !important; + } + + .view-bottom { + display: flex; + flex-direction: row; + width: calc(100% - 30rpx); + padding: 10rpx 15rpx 30rpx 15rpx; + } + + .v-headStyle .txt_title { + font-size: 34rpx; + text-align: right; + display: inline-block; + vertical-align: 12px; + } + + .v-headStyle input { + display: inline-block; + width: 85%; + height: 52rpx; + line-height: 34rpx; + background: #FFF; + border-radius: 0 !important; + color: #2d8cf0; + padding: 10rpx 8rpx 12rpx; + font-size: 34rpx; + font-family: inherit; + box-shadow: none !important; + transition-duration: 0.1s; + margin-top: 4rpx; + } + + .v-headStyle input::-webkit-input-placeholder { + font-size: 12rpx; + } + + .input-wrapper { + border: 1px solid #d5d5d5; + display: inline-block; + width: 65%; + line-height: 22rpx; + } + + [nvue] uni-view { + position: relative; + border: 0 solid #000; + box-sizing: border-box; + } + + .uni-input { + /* border: none; */ + } + + .uni-icon { + /* border: 1px solid red; */ + width: 8%; + font-family: uniicons; + font-size: 40rpx; + font-weight: 400; + font-style: normal; + /* width: 48rpx; */ + height: 48rpx; + line-height: 48rpx; + color: #2d8cf0; + cursor: pointer; + display: inline-block; + vertical-align: 18rpx; + } + + .dv-panel { + background-color: #efefef; + padding: 20rpx 20rpx 4rpx 0px; + border-radius: 12rpx; + margin: 10rpx 0 20rpx 0; + text-align: right; + /* border: 1px solid red; */ + } + + .dv-panel-input { + width: 100%; + display: inline-block; + text-align: left; + } + + .dv-panel-input .dv-input { + margin-bottom: 2rpx; + } + + .dv-panel .txt_title { + font-size: 34rpx; + text-align: right; + display: inline-block; + } + + .dv-panel input { + vertical-align: middle; + display: inline-block; + border: 1px solid #d5d5d5; + width: 68%; + height: 52rpx; + line-height: 34rpx; + background: #FFF; + border-radius: 7px !important; + color: #2d8cf0; + padding: 6rpx 8rpx 8rpx; + font-size: 32rpx; + font-family: inherit; + box-shadow: none !important; + transition-duration: 0.1s; + margin-top: 0rpx; + } + + .dv-panel input::-webkit-input-placeholder { + font-size: 10rpx; + } + + .dv-panel .form-item-span { + vertical-align: text-top; + color: #2d8cf0; + white-space: normal; + word-break: break-all; + display: inline-block; + width: calc(100% - 100px); + } + + .dv-panel-button { + /* display: inline-block; + margin-right: 20rpx; */ + width: 100%; + text-align: left; + padding-bottom: 20rpx; + } + + .dv-panel-button checkbox { + padding-left: 20px; + display: inline-block; + } + + .dv-panel-button button { + text-align: left; + line-height: 1.8; + border: none; + font-size: 34rpx; + width: 180rpx; + display: inline-block; + float: right; + text-align: center; + } + + button.btn_cancel { + width: 49.5%; + padding: 20rpx; + line-height: 1.5; + border: none; + font-size: 38rpx; + font-weight: bold; + float: left; + display: inline-block; + } + + button.btn_add { + width: 49.5%; + + padding: 20rpx; + line-height: 1.5; + border: none; + font-size: 38rpx; + font-weight: bold; + float: right; + display: inline-block; + } + + .logo { + height: 100rpx; + width: 460rpx; + display: flex; + margin: 38% auto; + } + + .dv-border { + border: 1px solid red; + } + + .view-imagetext { + text-align: center; + width: calc(100% - 80rpx); + padding: 20rpx 40rpx 0px 40rpx; + height: calc(100% - 30rpx); + overflow: hidden; + } + + .view-imagetext .view-imagetext-uploadlist { + padding: 30rpx 0px 10rpx 0px; + vertical-align: middle; + display: inline-block; + width: 100%; + height: 100%; + text-align: center; + line-height: 100%; + border: 2rpx solid transparent; + border-radius: 8rpx; + overflow: hidden; + background: #fff; + position: relative; + /* box-shadow: 0 2rpx 2rpx rgba(0, 0, 0, 0.2); + margin-right: 8rpx; */ + } + + .view-imagetext .txt-text { + display: block; + margin: 20rpx; + font-weight: bold; + } + + .view-detalist-centen { + text-align: center; + width: 100%; + } + + .view-detalist-centen .txt-detalist { + background: #94D5EF; + display: block; + width: 100%; + font-size: 36rpx; + line-height: 80rpx; + font-weight: 500; + } + + .panel-active { + border: 2px solid red; + } + + .bk-active { + background-color: #D6FCB2; + } + + .dv_select { + display: inline-block; + width: 66%; + background: #FFF; + border-radius: 0 !important; + color: #2d8cf0; + /* padding: 10rpx 8rpx 12rpx; */ + font-size: 34rpx; + font-family: inherit; + box-shadow: none !important; + transition-duration: 0.1s; + margin-top: 0rpx; + vertical-align: 20rpx; + } + + .dv_select .uni-select { + border: 2rpx solid #ccc; + border-radius: 0 !important; + color: #2d8cf0; + } + + .dv_select .uni-select__input-text { + color: #2d8cf0; + } + + .input-disabled { + background-color: #f3f3f3 !important; + } + + .demo-uni-row { + margin-bottom: 0px; + display: block; + } + + ::v-deep .uni-row { + margin-bottom: 0px; + } + + .view-tabpage ::v-deep .uni-row { + margin-bottom: 5px; + } + + .demo-uni-col { + height: 36px; + border-radius: 5px; + } + + .demo-uni-row .uni-input { + width: calc(100% - 120px); + } + + + } +</style> \ No newline at end of file -- Gitblit v1.9.1