From 2ffd3fc56f81f08ec3dcfb50076e54542685725b Mon Sep 17 00:00:00 2001 From: jt <jt@activesoft.com.cn> Date: 星期一, 29 一月 2024 09:18:14 +0800 Subject: [PATCH] Mobox3PDA-3037调试错误改进 --- pages/modal/5600.vue | 743 ++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 521 insertions(+), 222 deletions(-) diff --git a/pages/modal/5600.vue b/pages/modal/5600.vue index 770efb4..b278da6 100644 --- a/pages/modal/5600.vue +++ b/pages/modal/5600.vue @@ -60,9 +60,9 @@ } .dv-panel{ background-color:#EAFED9; - padding: 10px 0px 1px 0px; - border-radius: 6px; - margin-bottom: 10px; + padding: 20rpx 20rpx 4rpx 0px; + border-radius: 12rpx; + margin-bottom: 20rpx; text-align: right; } .dv-panel-input{ @@ -84,34 +84,35 @@ height: 52rpx; line-height: 34rpx; background: #FFF; - border-radius: 0 !important; + border-radius: 7px !important; color: #2d8cf0; - padding: 10rpx 8rpx 12rpx; - font-size: 34rpx; + padding: 6rpx 8rpx 8rpx; + font-size: 32rpx; font-family: inherit; box-shadow: none !important; transition-duration: 0.1s; - margin-top: 4rpx; + margin-top: 0rpx; } .dv-panel input::-webkit-input-placeholder { font-size: 10rpx; } .dv-panel .form-item-span{ + vertical-align: text-top; color: #2d8cf0; - vertical-align: middle; white-space: normal; word-break: break-all; display: inline-block; width: calc(100% - 100px); } + .dv-panel-button{ display: inline-block; - margin-bottom: 10rpx; margin-right: 20rpx; } .dv-panel-button button { line-height: 1.8; border: none; + font-size: 34rpx; } button.btn_cancel { width:49.5%; @@ -136,20 +137,65 @@ display: inline-block; } .logo { - height: 50px; - width: 230px; + 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; +} </style> <style lang="scss"> .demo-uni-row { - margin-bottom: 10px; + margin-bottom: 0px; display: block; } ::v-deep .uni-row { - margin-bottom: 10px; + margin-bottom: 0px; + } + .view-tabpage ::v-deep .uni-row { + margin-bottom: 5px; } .demo-uni-col { height: 36px; @@ -158,6 +204,7 @@ .demo-uni-row .uni-input{ width: calc(100% - 120px); } + </style> @@ -191,47 +238,164 @@ </view> </view> <view class="view-content"> - <!-- 椤电 --> - <view class="dv-tab"> - <uni-segmented-control :current="current" :values="items" @clickItem="onClickItem" - styleType="button"> - </uni-segmented-control> + <!-- 鍥炬枃/鏂囨湰 --> + <view class="view-imagetext" v-if="pageType=='img_msg' || pageType=='msg'"> + <div class="view-imagetext-uploadlist" :style="{'background-color':page.Bk_Color}"> + <!-- 鍥炬枃 --> + <image :src="page.Img" :style="{'width':page.Width+'px','height':page.Height+'px'}" v-if="pageType=='img_msg'"></image> + + <!-- 鍥炬枃/鏂囨湰 --> + <text class="txt-text" + :style="{'color':page.Txt_Color,'font-size':page.Font_Size,'font-family':page.Font}" + >{{page.Text}}</Text> + </div> </view> - <!-- 姝e湪鐮佺洏 --> - <view v-if="current==0"> + <!-- 澶氶〉绛炬暟鎹垪琛�--> + <view v-if="pageType=='mulit_page_datalist'"> + <!-- 椤电 --> + <view class="dv-tab"> + <uni-segmented-control :current="current" :values="items" @clickItem="onClickItem" + styleType="button"> + </uni-segmented-control> + </view> + <!-- 1#椤电 --> + <view class="view-tabpage" 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"> + <div class="dv-panel-input"> + <div v-for="(item,index) in style.form.items"> + <!-- 鏅�甯冨眬 --> + <view v-if="item.name=='Input'"> + <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="page.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="page.Page[0].OK_Button==true">淇濆瓨</Button> + <button type="warn" @tap="delItem(ii)" v-if="page.Page[0].Del_Button==true">鍒犻櫎</button> + </div> + </div> + </view> + <!-- 2#椤电 --> + <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 + :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">{{cols.value}}</span> + </view> + </uni-col> + </uni-row> + </div> + </div> + <div class="dv-panel-button"> + <checkbox-group v-if="page.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="page.Page[1].OK_Button==true">淇濆瓨</Button> + <button type="warn" @tap="delDataObj(style,ii)" v-if="page.Page[1].Del_Button==true">鍒犻櫎</button> + </div> + </div> + </view> + </view> + <!-- 鍗曟暟鎹垪琛�--> + <view class="view-detalist-centen" v-if="pageType=='datalist'"> + <text class="txt-detalist">{{page.Page_Name}}</Text> <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> - <input type="number"/> - </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" >fsferexggsfsfacxzzgfs</span> - </uni-col> - <uni-col :span="12"> - <text class="txt_title dv-form-item-col" style="width:100px">test锛�/text> - <input type="number" 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"> - <div class="dv-panel-input"> - <div v-for="(item,index) in style.form.items"> - <!-- 鏅�甯冨眬 --> + <div class="dv-panel-input"> + <div v-for="(item,index) in style.form.items"> + <!-- 鏅�甯冨眬 --> <view v-if="item.name=='Input'"> <text class="txt_title" :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text> <span class="form-item-span" v-if="item.disabled">{{item.value}}</span> @@ -244,14 +408,14 @@ :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 dv-form-item-col" :style="{'width':cols.labelWidth+'px'}">{{cols.label}}锛�/text> + <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" @@ -264,39 +428,17 @@ </view> </uni-col> </uni-row> - </div> - </div> - <div class="dv-panel-button"> - <button type="warn" @tap="delItem(0)">鍒犻櫎</button> - </div> - </div> - </view> - <!-- 宸茬爜鐩�--> - <view v-if="current==1"> - <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 - :span="24 / item.setting.col" - v-for="(cols,key) in item.setting.colList" - > - <view v-if="cols!=null" > - <text class="txt_title dv-form-item-col" :style="{'width':cols.labelWidth+'px'}">{{cols.label}}锛�/text> - <span class="form-item-span">{{cols.value}}</span> - </view> - </uni-col> - </uni-row> - </div> - </div> + </div> + </div> <div class="dv-panel-button"> - <button type="warn" @tap="delDataObj(style,ii)">鍒犻櫎</button> + <checkbox-group v-if="page.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="page.OK_Button==true">淇濆瓨</Button> + <button type="warn" @tap="delItem(ii)" v-if="page.Del_Button==true">鍒犻櫎</button> </div> </div> </view> @@ -317,7 +459,7 @@ data() { return { title:'鐮佺洏', - paramJson: {}, + param: {}, focusMateria:false, head_styledef:{ form:{ @@ -330,7 +472,11 @@ detail2StyleDefList:[], // 鍒嗘鍣ㄦ暟鎹� current: 0, - items: ['姝e湪鐮佺洏', '宸茬爜鐩�], + pageType:'', + page:{}, + Before_OK_Event:{}, + After_OK_Event:{}, + items: [], }; }, onLoad(options) { @@ -338,10 +484,33 @@ uni.setNavigationBarTitle({ title: options.titlename}); //璁剧疆椤堕儴鏍囬 this.$data.param = JSON.parse(options.param); // console.log(this.$data.param); - //鑾峰彇CG_Detail锛堟墭鐩樿揣鍝佽〃锛夋暟鎹被鐨勮嚜瀹氫箟琛ㄥ崟鍙傛暟 - this.Head_UIStyleGetInfo('CG_Detail',this.$data.param.Head_Panel_Style.ID); - this.Detail1_UIstyleGetInfo('CG_Detail',this.$data.param.Detail_List_Panel1_Style.ID); - this.Detail2_UIstyleGetInfo('CG_Detail',this.$data.param.Detail_List_Panel2_Style.ID); + //鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�+ this.Head_UIStyleGetInfo(this.$data.param.Cls.ID,this.$data.param.Grid_Style.ID); + + var $this = this; + //鍔犺浇鍒濆鐣岄潰 + this.$data.param.Page_Def.forEach(async ele=>{ + if($this.$data.param.Start_Page == ele.Name){ + if(ele.Type=="img_msg"){ //鍥炬枃 + ele.Img = ele.Img.replace(/ /g,'+'); + ele.Width = parseInt(ele.Width); + ele.Height = parseInt(ele.Height); + } else if(ele.Type=="msg"){ //鏂囨湰 + } else if(ele.Type=="mulit_page_datalist"){ //澶氶〉绛炬暟鎹垪琛�+ $this.$data.items.push(ele.Page[0].Name); + $this.$data.items.push(ele.Page[1].Name); + await $this.Detail1_UIstyleGetInfo(ele.Page[0].Cls.ID,ele.Page[0].UI_Style.ID); + await $this.Detail2_UIstyleGetInfo(ele.Page[1].Cls.ID,ele.Page[1].UI_Style.ID); + } else if(ele.Type=="datalist"){ //鍗曟暟鎹垪琛�+ await $this.Detail1_UIstyleGetInfo(ele.Cls.ID,ele.UI_Style.ID); + } + $this.$data.pageType = ele.Type; + $this.$data.page = ele; + console.log(this.page); + } + }); + // this.Detail1_UIstyleGetInfo('CG_Detail',this.$data.param.Detail_List_Panel1_Style.ID); + // this.Detail2_UIstyleGetInfo('CG_Detail',this.$data.param.Detail_List_Panel2_Style.ID); //椤甸潰鍒濆鍖栬幏鍙栫劍鐐� // this.focusMateria=true; }, @@ -382,7 +551,7 @@ ui_style_id:style_id, }; this.$store.dispatch('UIStyleGetInfo',dataInfo).then(ret=>{ - console.log(ret); + // console.log(ret); if (ret.err_code == 0) { var styledef=""; if(ret.result.style_def){ @@ -392,7 +561,8 @@ if(!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result.style_def); } $this.$data.detail1_styledef = ret.result.style_def? JSON.parse(styledef): {}; - console.log($this.$data.detail1_styledef); + $this.$data.detail1_styledef.SelBut_Checked = false; + // console.log($this.$data.detail1_styledef); // $this.$data.detail1StyleDefList.push($this.$data.detail1_styledef); // let aa = JSON.stringify(this.detail1_styledef); // $this.$data.detail1StyleDefList.push(JSON.parse(aa)); @@ -414,7 +584,7 @@ ui_style_id:style_id, }; this.$store.dispatch('UIStyleGetInfo',dataInfo).then(ret=>{ - console.log(ret); + // console.log(ret); if (ret.err_code == 0) { var styledef=""; if(ret.result.style_def){ @@ -424,7 +594,8 @@ if(!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result.style_def); } $this.$data.detail2_styledef = ret.result.style_def? JSON.parse(styledef): {}; - console.log($this.$data.detail2_styledef); + $this.$data.detail2_styledef.SelBut_Checked = false; + // console.log($this.$data.detail2_styledef); }else{ uni.showModal({title:"閿欒3",content:ret.err_msg,showCancel:false,confirmText:"鍙栨秷"}); @@ -443,8 +614,8 @@ console.log(result.decodedata); item.value = result.decodedata; uni.hideKeyboard(); - var $this = this; + console.log(item); if(item.oldvalue != item.value){ item.oldvalue = item.value; @@ -459,10 +630,13 @@ $this.onChange(onChangeEvent); } if(item.value){ //绗竴涓緭鍏ユ涓嶄负绌�- $this.focusMateria = false; //鍒濆鍖栵紝绗簩涓緭鍏ユfocus灞炴� - setTimeout(function(){ - $this.focusMateria=true; //绗簩涓緭鍏ユ鑾峰彇鐒︾偣 - },1000); + $this.focusMateria = true; //鍒濆鍖栵紝绗簩涓緭鍏ユfocus灞炴� + // setTimeout(function(){ + // $this.focusMateria=true; //绗簩涓緭鍏ユ鑾峰彇鐒︾偣 + setTimeout(function(){ + uni.hideKeyboard(); + },100); + // },500); } // if(onSuffixClickCallbackEvent.id){ //鍚庡浘鏍囩偣鍑讳簨浠� // this.onSuffixClick(onSuffixClickCallbackEvent); @@ -533,40 +707,70 @@ // console.log(ret); if (ret.err_code == 0) { var result = ret.result; - if(result.result_type == 0 && result.action){ - result.action.forEach(item=>{ - if(item.action_type == "insert_subtable_page_row"){ //鐮佺洏涓�- var value = item.value; - $this.viewAceionRow(value); - } else if(item.action_type == "set_subtable_page_content"){ //宸茬爜鐩�- var value = item.value; - if(value.clear == true && $this.$data.detail1StyleDefList.length>0){ //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹�- uni.showModal({ - title: '鎻愮ず', - content: '绯荤粺妫�祴鍒版湁姝e湪鐮佺洏涓殑璐у搧锛岀户缁搷浣滀細娓呯┖锛屾槸鍚︾户缁紵', - success: function (res) { - if (res.confirm) { - $this.$data.detail1StyleDefList=[]; - $this.$data.detail2StyleDefList=[]; - $this.viewAceionContent(value); - } else if (res.cancel) { - $this.$data.detail2StyleDefList=[]; - $this.viewAceionContent(value); + if (result.ret != 0) { + var tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : result.err_info.join('<br/>') : ''; + if (result.ret == 801) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"}); + else uni.showModal({title:'鎻愮ず',content:tip+',鎻愮ず:'+result.ret,showCancel:false,confirmText:"鍙栨秷"}); + return false + }else{ + let tip = result.info ? typeof result.info == 'string' ? result.info : result.info.join('<br/>') : ''; + if (tip) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"}); + + if(result.result_type == 0 && result.action){ + result.action.forEach(item=>{ + if(item.action_type == "insert_subtable_page_row"){ //鐮佺洏涓�+ var value = item.value; + $this.viewAceionRow(value); + } + else if(item.action_type == "set_subtable_page_content"){ //宸茬爜鐩�+ var value = item.value; + if(value.clear == true && $this.$data.detail1StyleDefList.length>0){ //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹�+ uni.showModal({ + title: '鎻愮ず', + content: '绯荤粺妫�祴鍒版湁姝e湪鐮佺洏涓殑璐у搧锛岀户缁搷浣滀細娓呯┖锛屾槸鍚︾户缁紵', + success: function (res) { + if (res.confirm) { + $this.$data.detail1StyleDefList=[]; + $this.$data.detail2StyleDefList=[]; + $this.viewAceionContent(value); + } else if (res.cancel) { + $this.$data.detail2StyleDefList=[]; + $this.viewAceionContent(value); + } } - } + }); + } else { + $this.$data.detail2StyleDefList=[]; + $this.viewAceionContent(value); + } + } + else if(item.action_type == "show_page"){ //鏄剧ず鐣岄潰 + var value = item.value; + $this.$data.param.Page_Def.forEach(async ele=>{ + if(value == ele.Name){ //鍒ゆ柇鑴氭湰鎸囧畾鐨勭晫闈㈠悕绉版槸鍚︾浉鍚�+ if(ele.Type=="img_msg"){ + ele.Width = parseInt(ele.Width); + ele.Height = parseInt(ele.Height); + } else if(ele.Type=="msg"){ + } else if(ele.Type=="mulit_page_datalist"){ + await $this.Detail1_UIstyleGetInfo(ele.Page[0].Cls.ID,ele.Page[0].UI_Style.ID); + await $this.Detail2_UIstyleGetInfo(ele.Page[1].Cls.ID,ele.Page[1].UI_Style.ID); + } else if(ele.Type=="datalist"){ + await $this.Detail1_UIstyleGetInfo(ele.Cls.ID,ele.UI_Style.ID); + } + $this.pageType = ele.Type; + $this.page = ele;//杞浇鎸囧畾鐣岄潰style + } }); - } else { - $this.$data.detail2StyleDefList=[]; - $this.viewAceionContent(value); - } - } - }); - }else{ - // this.detail2StyleDefList=[]; - if(result.info){ - uni.showModal({title:"閿欒4.3",content:result.info,showCancel:false,confirmText:"鍙栨秷"}); + } + }); + }else{ + // this.detail2StyleDefList=[]; + if(result.info){ + uni.showModal({title:"閿欒4.3",content:result.info,showCancel:false,confirmText:"鍙栨秷"}); + } } - } + } }else{ uni.showModal({title:"閿欒4",content:ret.err_msg,showCancel:false,confirmText:"鍙栨秷"}); @@ -583,13 +787,16 @@ } }, //鍔犺浇姝e湪鐮佺洏鍐呭 - viewAceionRow(data){ + viewAceionRow(data,type){ // console.log(data); var styleStr = JSON.stringify(this.$data.detail1_styledef); + if(type){ //纭畾鍚庤剼鏈繘鍏ュ姞杞藉凡鐮佺洏鏁版嵁 + styleStr = JSON.stringify(this.$data.detail2_styledef); + } var detailStyle = JSON.parse(styleStr); data.row.attrs.forEach(attr=>{ detailStyle.form.items.forEach(ele=>{ - if(ele.name=='Input'){ + if(ele.name!='Layout'){ if(ele.fieldId == attr.attr) ele.value = attr.value; } else if(ele.name=='Layout'){ ele.setting.colList.forEach(col=>{ @@ -600,8 +807,15 @@ } }); }); - this.$data.detail1StyleDefList.push(detailStyle); - console.log(this.$data.detail1StyleDefList); + if(type){ //纭畾鍚庤剼鏈繘鍏ュ姞杞藉凡鐮佺洏鏁版嵁 + detailStyle.form.objId = data.row.id; + this.$data.detail2StyleDefList.push(detailStyle); + // console.log(this.$data.detail2StyleDefList); + }else{ + detailStyle.form.attrs = data.row.attrs; + this.$data.detail1StyleDefList.push(detailStyle); + // console.log(this.$data.detail1StyleDefList); + } }, //鍔犺浇宸茬爜鐩樺唴瀹� viewAceionContent(data){ @@ -611,7 +825,7 @@ detailStyle.form.objId = cont.id; cont.attrs.forEach(attr=>{ detailStyle.form.items.forEach(ele=>{ - if(ele.name=='Input'){ + if(ele.name!='Layout'){ if(ele.fieldId == attr.attr) ele.value = attr.value; } else if(ele.name=='Layout'){ ele.setting.colList.forEach(col=>{ @@ -633,11 +847,19 @@ onDetail1EnterChange(item){ //鐮佺洏涓牱寮忓洖杞︿簨浠� console.log(item); }, + savaItem(index){ //淇濆瓨鐮佺洏涓牱寮忛潰鏉�+ // this.detail1StyleDefList.splice(index,1); + uni.showModal({title:"鎻愮ず",content:"淇濆瓨鍔熻兘鏆傛椂鏃犳硶浣跨敤锛�,showCancel:false,confirmText:"鍙栨秷"}); + }, delItem(index){ //鍒犻櫎鐮佺洏涓牱寮忛潰鏉� this.detail1StyleDefList.splice(index,1); }, - delDataObj(style,index){ //鍒犻櫎宸茬爜鐩樻暟 - console.log(style); + savaDataObj(style,index){ //淇濆瓨宸茬爜鐩樻暟 + // this.detail1StyleDefList.splice(index,1); + uni.showModal({title:"鎻愮ず",content:"淇濆瓨鍔熻兘鏆傛椂鏃犳硶浣跨敤锛�,showCancel:false,confirmText:"鍙栨秷"}); + }, + delDataObj(style,index){ //鍒犻櫎宸茬爜鐩樻暟 + // console.log(style); var $this = this; uni.showModal({ title: '鎻愮ず', @@ -674,10 +896,32 @@ }, - - ok(){ //纭畾 - // console.log(this.$data.param.Before_OK_Event); - // console.log(this.$data.param.After_OK_Event); + //纭畾 + ok(){ + var $this = this; + this.$data.param.Page_Def.forEach(async ele=>{ + if($this.pageType == ele.Type){ + if(ele.Type=="img_msg"){ + } else if(ele.Type=="msg"){ + } else if(ele.Type=="mulit_page_datalist"){ + $this.Before_OK_Event = ele.Page[1].Before_ok.ID; + $this.After_OK_Event = ele.Page[1].After_OK_Event.ID; + + } else if(ele.Type=="datalist"){ + $this.Before_OK_Event = ele.Before_ok.ID; + $this.After_OK_Event = ele.After_OK_Event.ID; + } + } + }); + // console.log(this.Before_OK_Event); + // console.log(this.After_OK_Event); + if(this.$data.Before_OK_Event) //鏄惁鏈夌‘瀹氬墠浜嬩欢 + this.sava(this.$data.Before_OK_Event); + else if(this.$data.After_OK_Event) //鏄惁鏈夌‘瀹氬悗浜嬩欢 + this.sava(this.$data.After_OK_Event); + }, + sava(event){ + var $this = this; if(this.$data.detail1StyleDefList.length==0){ uni.showModal({title:"鎻愮ず",content:"娌℃湁姝e湪鐮佺洏鐨勬暟鎹紒",showCancel:false,confirmText:"鍙栨秷"}); return false; @@ -700,88 +944,143 @@ }else detail_attr[item.fieldId] = item.value; }); - detailAttrList.push(detail_attr); + //鍒ゆ柇绫诲瀷鏄惁涓哄椤电鏁版嵁鍒楄〃/鍗曟暟鎹垪琛�+ if($this.pageType=='mulit_page_datalist' || $this.pageType=='datalist'){ + if($this.page.Page[0].Select_Button==true){ //鍒ゆ柇閫夋嫨鎸夐挳鏄惁涓簍rue + if(style.SelBut_Checked==true) + detailAttrList.push(detail_attr); + } else + detailAttrList.push(detail_attr); + } else + detailAttrList.push(detail_attr); }); // console.log(detailAttrList); - - try { - if (this.$data.param.After_OK_Event.ID) { - 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:'', - attrs: Object.keys(attr).map((a) => ({ - attr: a, - value: attr[a] || "", - })) - }); - }); - // console.log(jsonlist); - var data_json = Base64.encode( - JSON.stringify(jsonlist) - ); - var $this = this; - var dataInfo={ - ed_type: 0, - start_transaction: '', - class_id: this.$data.head_styledef.form.clsId, - class_name: '', - event_id: this.$data.param.After_OK_Event.ID, - event_name: '', - data_obj_id: '', - obj_attr: '', - prj_id: '', - ref_cls_id: '', - rel_obj_id: '', - user_login: '', - data_json: data_json, - compose_info: '', - ext_info: '', - global_attr: '', - input_param: input_param, - }; - // console.log(dataInfo); - this.$store.dispatch('runCustomEvent',dataInfo).then(res=>{ - console.log(res); - if (res.err_code == 0) { - var result = res.result; - if(result.result_type == 0){ - $this.$data.head_styledef.form.items.forEach(item => { - item.value = ''; - item.oldvalue = ''; - $this.$data.head_styledef.form.model[item.fieldId] = ''; - }); - $this.$data.detail1StyleDefList=[]; - $this.$data.detail2StyleDefList=[]; - uni.showModal({title:"鎻愮ず",content:"鐮佺洏鎴愬姛",showCancel:false,confirmText:"鍙栨秷"}); - - }else{ - // $this.$data.detail2StyleDefList=[]; - if(result.info){ - uni.showModal({title:"鎻愮ず",content:result.info,showCancel:false,confirmText:"鍙栨秷"}); - } - } - }else{ - uni.showModal({title:"閿欒8",content:res.err_msg,showCancel:false,confirmText:"鍙栨秷"}); - } - }).catch(ex=>{ - // console.log(ex); - uni.showModal({title:"閿欒8.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"}); - }); - } - } catch (ex) { - let tip = typeof ex == "string" ? ex : ex.message; - uni.showModal({title:"閿欒8.2",content:"鎵ц鈥滅‘瀹氬悗鈥濅簨浠跺け璐ワ細" + tip,showCancel:false,confirmText:"鍙栨秷"}); - } + //鑾峰彇姝e湪鐮佺洏閲屾病鏈夋樉绀虹殑瀛楁 + this.$data.detail1StyleDefList.forEach(style=>{ + style.form.attrs.forEach(attr => { + for(var key in detailAttrList){ + let keys = Object.keys(detailAttrList[key]); + let 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:'', + attrs: Object.keys(attr).map((a) => ({ + attr: a, + value: attr[a] || "", + })) + }); + }); + // console.log(jsonlist); + jsonlist.forEach(async (json,key)=>{ + await $this.runCustomEvent(event,input_param,json); + }); }, + //鎵ц纭畾鑴氭湰 + async runCustomEvent(event,input_param,json){ + var $this = this; + var data_json = Base64.encode( + JSON.stringify(json) + ); + var dataInfo={ + ed_type: 0, + start_transaction: true, + class_id: this.$data.head_styledef.form.clsId, + class_name: '', + event_id: event.ID, + event_name: '', + data_obj_id: '', + obj_attr: '', + prj_id: '', + ref_cls_id: '', + rel_obj_id: '', + user_login: '', + data_json: data_json, + compose_info: '', + ext_info: '', + global_attr: '', + input_param: input_param, + }; + // console.log(dataInfo); + this.$store.dispatch('runCustomEvent',dataInfo).then(res=>{ + console.log(res); + if (res.err_code == 0) { + var result = res.result; + if (result.ret != 0) { + var tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : result.err_info.join('<br/>') : ''; + if (result.ret == 801) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"}); + else uni.showModal({title:'鎻愮ず',content:tip+',鎻愮ず:'+result.ret,showCancel:false,confirmText:"鍙栨秷"}); + return false + }else{ + let tip = result.info ? typeof result.info == 'string' ? result.info : result.info.join('<br/>') : ''; + if (tip) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"}); + + if(result.result_type == 0){ + if(result.action){ + result.action.forEach(item=>{ + if(item.action_type == "insert_subtable_page_row"){ //鐮佺洏涓�+ var value = item.value; + //鍔犺浇宸茬粡鐮佺洏鏁版嵁 + $this.viewAceionRow(value,'add'); + //娓呯┖鏉$爜鍐呭 + $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] = ''; + } + }); + //娓呴櫎姝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){ + $this.$data.detail1StyleDefList.splice(index,1); + return; + } + }); + // this.detail2StyleDefList=[]; + uni.showModal({title:"鎻愮ず",content:"鐮佺洏鎴愬姛",showCancel:false,confirmText:"鍙栨秷"}); + } + }); + }else{ + if($this.$data.After_OK_Event.ID != event.ID){ //鍒ゆ柇褰撳墠浜嬩欢鏄惁鏄‘瀹氬悗浜嬩欢 + $this.sava($this.$data.After_OK_Event); //鎵ц纭畾鍚庝簨浠�+ } + } + }else{ + // $this.$data.detail2StyleDefList=[]; + if(result.info){ + uni.showModal({title:"鎻愮ず",content:result.info,showCancel:false,confirmText:"鍙栨秷"}); + } + } + } + }else{ + uni.showModal({title:"閿欒8",content:res.err_msg,showCancel:false,confirmText:"鍙栨秷"}); + } + }).catch(ex=>{ + let tip = typeof ex == "string" ? ex : ex.errMsg; + uni.showModal({title:"閿欒8.1",content:"鎵ц鈥滅‘瀹氬悗鈥濅簨浠跺け璐ワ細" + tip,showCancel:false,confirmText:"鍙栨秷"}); + }); + }, + cancel(e){ //鍙栨秷 uni.navigateBack({ delta:1 //杩斿洖灞傛暟锛�鍒欎笂涓婇〉 -- Gitblit v1.9.1