From 7261df37b887b70f9a168845007e00c744c2db99 Mon Sep 17 00:00:00 2001 From: jt <jt@activesoft.com.cn> Date: 星期一, 04 三月 2024 16:35:02 +0800 Subject: [PATCH] test --- pages/modal/5600.vue | 506 ++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 314 insertions(+), 192 deletions(-) diff --git a/pages/modal/5600.vue b/pages/modal/5600.vue index b278da6..b8d1872 100644 --- a/pages/modal/5600.vue +++ b/pages/modal/5600.vue @@ -1,4 +1,7 @@ <style> +.v-headStyle:first-child{ + margin-top: 15rpx; +} .v-headStyle .txt_title{ font-size: 34rpx; text-align: right; @@ -55,15 +58,16 @@ vertical-align: 18rpx; } .view-content{ - min-height: 760rpx; + min-height: 750rpx; /* border:1px solid red; */ } .dv-panel{ background-color:#EAFED9; padding: 20rpx 20rpx 4rpx 0px; border-radius: 12rpx; - margin-bottom: 20rpx; + margin: 10rpx 0 20rpx 0; text-align: right; + /* border: 1px solid red; */ } .dv-panel-input{ width: 100%; @@ -106,13 +110,25 @@ } .dv-panel-button{ - display: inline-block; - margin-right: 20rpx; + /* display: inline-block; + margin-right: 20rpx; */ + width: 100%; + text-align: left; + padding-bottom: 20rpx; } -.dv-panel-button button { +.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%; @@ -164,8 +180,8 @@ overflow: hidden; background: #fff; position: relative; - box-shadow: 0 2rpx 2rpx rgba(0, 0, 0, 0.2); - margin-right: 8rpx; + /* box-shadow: 0 2rpx 2rpx rgba(0, 0, 0, 0.2); + margin-right: 8rpx; */ } .view-imagetext .txt-text{ display: block; @@ -184,6 +200,12 @@ font-size: 36rpx; line-height: 80rpx; font-weight: 500; +} +.panel-active{ + border:2px solid red; +} +.bk-active{ + background-color: #D6FCB2; } </style> <style lang="scss"> @@ -206,8 +228,6 @@ } </style> - - <template> <view class="content"> @@ -239,27 +259,25 @@ </view> <view class="view-content"> <!-- 鍥炬枃/鏂囨湰 --> - <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> - - <!-- 鍥炬枃/鏂囨湰 --> + <view class="view-imagetext" v-if="param.Show_Welcom_Page==true"> + <div class="view-imagetext-uploadlist"> + <image :src="param.Welcome_Page.Img" + :style="{'width':param.Welcome_Page.Width+'px','height':param.Welcome_Page.Height+'px'}"></image> <text class="txt-text" - :style="{'color':page.Txt_Color,'font-size':page.Font_Size,'font-family':page.Font}" - >{{page.Text}}</Text> + :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="pageType=='mulit_page_datalist'"> + <!-- 鐮佺洏鐣岄潰 --> + <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> - <!-- 1#椤电 --> - <view class="view-tabpage" v-if="current==0"> + <!-- 鐮佺洏鐣岄潰 --> + <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"> @@ -300,7 +318,10 @@ <button type="warn" @tap="delItem(0)">鍒犻櫎</button> </div> </div> --> - <div class="dv-panel" v-for="(style,ii) in detail1StyleDefList"> + <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 v-for="(item,index) in style.form.items"> <!-- 鏅�甯冨眬 --> @@ -339,18 +360,18 @@ </div> </div> <div class="dv-panel-button"> - <checkbox-group v-if="page.Page[0].Select_Button==true"> + <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="page.Page[0].OK_Button==true">淇濆瓨</Button> - <button type="warn" @tap="delItem(ii)" v-if="page.Page[0].Del_Button==true">鍒犻櫎</button> + <!-- <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> - <!-- 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"> @@ -364,8 +385,8 @@ <!-- 鏍呮牸甯冨眬 --> <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" + :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> @@ -376,76 +397,26 @@ </div> </div> <div class="dv-panel-button"> - <checkbox-group v-if="page.Page[1].Select_Button==true"> + <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="page.Page[1].OK_Button==true">淇濆瓨</Button> - <button type="warn" @tap="delDataObj(style,ii)" v-if="page.Page[1].Del_Button==true">鍒犻櫎</button> + <!-- <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 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" 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.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> </view> - <view> + <view 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"> + <button type="default" @tap="cancel" class="btn_cancel">鍙栨秷</button> + <button type="primary" @tap="ok2" class="btn_add">纭畾</button> </view> </view> </template> @@ -459,6 +430,7 @@ data() { return { title:'鐮佺洏', + ClsID:'CG_Detail', param: {}, focusMateria:false, head_styledef:{ @@ -472,48 +444,38 @@ detail2StyleDefList:[], // 鍒嗘鍣ㄦ暟鎹� current: 0, - pageType:'', - page:{}, Before_OK_Event:{}, After_OK_Event:{}, items: [], + active_id:'', + activelist:[], }; }, onLoad(options) { // console.log(options); uni.setNavigationBarTitle({ title: options.titlename}); //璁剧疆椤堕儴鏍囬 + this.$data.title = options.titlename; this.$data.param = JSON.parse(options.param); // console.log(this.$data.param); //鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�- this.Head_UIStyleGetInfo(this.$data.param.Cls.ID,this.$data.param.Grid_Style.ID); + this.Head_UIStyleGetInfo(this.$data.ClsID,this.$data.param.Input_UI_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); + if(this.$data.param.Show_Welcom_Page){ + this.$data.param.Welcome_Page.Img = this.$data.param.Welcome_Page.Img.replace(/ /g,'+'); + this.$data.param.Welcome_Page.Width = parseInt(this.$data.param.Welcome_Page.Width); + this.$data.param.Welcome_Page.Height = parseInt(this.$data.param.Welcome_Page.Height); } - }); - // 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); + //鍔犺浇Tab椤电 + this.$data.items.push(this.$data.param.Sub_Page[0].Name); + this.$data.items.push(this.$data.param.Sub_Page[1].Name); + this.Detail1_UIstyleGetInfo(this.ClsID,this.$data.param.Sub_Page[0].UI_Style.ID); + this.Detail2_UIstyleGetInfo(this.ClsID,this.$data.param.Sub_Page[1].UI_Style.ID); + + console.log(this.$data.param); //椤甸潰鍒濆鍖栬幏鍙栫劍鐐� // this.focusMateria=true; - }, + }, methods: { async Head_UIStyleGetInfo(class_id,style_id){ //鑾峰彇鑷畾涔夎〃鍗曟牱寮� var $this = this; @@ -561,10 +523,10 @@ if(!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result.style_def); } $this.$data.detail1_styledef = ret.result.style_def? JSON.parse(styledef): {}; - $this.$data.detail1_styledef.SelBut_Checked = false; + $this.$data.detail1_styledef.SelBut_Checked = true; // console.log($this.$data.detail1_styledef); // $this.$data.detail1StyleDefList.push($this.$data.detail1_styledef); - // let aa = JSON.stringify(this.detail1_styledef); + // var aa = JSON.stringify(this.detail1_styledef); // $this.$data.detail1StyleDefList.push(JSON.parse(aa)); // console.log($this.$data.detail1StyleDefList); @@ -594,7 +556,7 @@ if(!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result.style_def); } $this.$data.detail2_styledef = ret.result.style_def? JSON.parse(styledef): {}; - $this.$data.detail2_styledef.SelBut_Checked = false; + $this.$data.detail2_styledef.SelBut_Checked = true; // console.log($this.$data.detail2_styledef); }else{ @@ -616,6 +578,23 @@ uni.hideKeyboard(); var $this = this; + // if(item.value=='B61DF51DD50645CEB9D152DD77D2466A'){ + // this.active_id = 'B61DF51DD50645CEB9D152DD77D2466A'; + // // var target = uni.createSelectorQuery().select('#B61DF51DD50645CEB9D152DD77D2466A'); + // uni.createSelectorQuery() + // .select("#tabpanel")//瀵瑰簲澶栧眰鑺傜偣 + // .boundingClientRect((container) => { + // uni.createSelectorQuery() + // .select("#B61DF51DD50645CEB9D152DD77D2466A")//鐩爣鑺傜偣 + // .boundingClientRect((target) => { + // uni.pageScrollTo({ + // scrollTop: target.top - container.top,//婊氬姩鍒板疄闄呰窛绂绘槸鍏冪礌璺濈椤堕儴鐨勮窛绂诲噺鍘绘渶澶栧眰鐩掑瓙鐨勬粴鍔ㄨ窛绂�+ // }); + // }) + // .exec(); + // }) + // .exec(); + // } console.log(item); if(item.oldvalue != item.value){ item.oldvalue = item.value; @@ -686,7 +665,7 @@ var $this = this; var dataInfo={ ed_type: 0, - start_transaction: '', + start_transaction: true, class_id: this.$data.head_styledef.form.clsId, class_name: '', event_id: event.id, @@ -711,18 +690,20 @@ 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 + return false; }else{ - let tip = result.info ? typeof result.info == 'string' ? result.info : result.info.join('<br/>') : ''; + var 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"){ //鐮佺洏涓�+ $this.$data.param.Show_Welcom_Page=false; var value = item.value; $this.viewAceionRow(value); } else if(item.action_type == "set_subtable_page_content"){ //宸茬爜鐩�+ $this.$data.param.Show_Welcom_Page=false; var value = item.value; if(value.clear == true && $this.$data.detail1StyleDefList.length>0){ //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹� uni.showModal({ @@ -734,35 +715,60 @@ $this.$data.detail2StyleDefList=[]; $this.viewAceionContent(value); } else if (res.cancel) { - $this.$data.detail2StyleDefList=[]; + if(value.page_name == $this.$data.param.Sub_Page[0].Name){ //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞 + $this.$data.detail1StyleDefList=[]; + }else{ + $this.$data.detail2StyleDefList=[]; + } $this.viewAceionContent(value); } } }); } else { - $this.$data.detail2StyleDefList=[]; + if(value.page_name == $this.$data.param.Sub_Page[0].Name){ //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞 + $this.$data.detail1StyleDefList=[]; + }else{ + $this.$data.detail2StyleDefList=[]; + } $this.viewAceionContent(value); } } - else if(item.action_type == "show_page"){ //鏄剧ず鐣岄潰 + else if(item.action_type == "select_subtable_page_row"){ + // value = {"page_name":"鐮佺洏涓�, "row":{"id":"xx"}} 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 + $this.detail1StyleDefList.forEach(ele=>{ + $this.activelist[index].active = false; + if(ele.form.objId == value.row.id){ + ele.SelBut_Checked = true; + $this.active_id = ele.form.htmlobjId; + //鑷姩婊氬姩鍒版寚瀹氬厓绱�+ uni.createSelectorQuery() + .select("#tabpanel")//瀵瑰簲澶栧眰鑺傜偣 + .boundingClientRect((container) => { + uni.createSelectorQuery() + .select("#tabpanel"+ele.form.htmlobjId)//鐩爣鑺傜偣 + .boundingClientRect((target) => { + uni.pageScrollTo({ + scrollTop: target.top - container.top,//婊氬姩鍒板疄闄呰窛绂绘槸鍏冪礌璺濈椤堕儴鐨勮窛绂诲噺鍘绘渶澶栧眰鐩掑瓙鐨勬粴鍔ㄨ窛绂�+ }); + }) + .exec(); + }) + .exec(); } }); - } + } + else if(item.action_type == "set_dlg_attr"){ + // value = {"attr":"xxx", "value":"xxx"} + var data = item.value; + $this.$data.head_styledef.form.items.forEach(async (ele,index) => { + data.forEach(async (ele2,index) => { + if(ele.fieldId == ele2.attr){ + ele.value = ele2.value; + } + }); + }); + } }); }else{ // this.detail2StyleDefList=[]; @@ -792,6 +798,10 @@ var styleStr = JSON.stringify(this.$data.detail1_styledef); if(type){ //纭畾鍚庤剼鏈繘鍏ュ姞杞藉凡鐮佺洏鏁版嵁 styleStr = JSON.stringify(this.$data.detail2_styledef); + }else{ + if(data.page_name == this.$data.param.Sub_Page[1].Name){ //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄凡鍒嗘嫞 + styleStr = JSON.stringify(this.$data.detail2_styledef); //寰呭垎鎷�+ } } var detailStyle = JSON.parse(styleStr); data.row.attrs.forEach(attr=>{ @@ -812,17 +822,32 @@ 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); + if(data.page_name == this.$data.param.Sub_Page[1].Name){ //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄凡鍒嗘嫞 + detailStyle.form.objId = data.row.id; + this.$data.detail2StyleDefList.push(detailStyle); + // console.log(this.$data.detail2StyleDefList); + }else{ + detailStyle.form.htmlobjId = data.row.id?data.row.id.replace(/-/g,'').replace('{','').replace('}',''):'null'; + detailStyle.form.objId = data.row.id; + detailStyle.form.attrs = data.row.attrs; + this.$data.detail1StyleDefList.push(detailStyle); + this.activelist.push({active:false}); + // console.log(this.$data.detail1StyleDefList); + } } }, //鍔犺浇宸茬爜鐩樺唴瀹� viewAceionContent(data){ + var $this = this; data.content.forEach(cont=>{ - var styleStr = JSON.stringify(this.$data.detail2_styledef); + var styleStr = JSON.stringify($this.$data.detail2_styledef); + if(data.page_name == $this.$data.param.Sub_Page[0].Name){ //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄爜鐩樹腑 + styleStr = JSON.stringify($this.$data.detail1_styledef); //鐮佺洏涓�+ } var detailStyle = JSON.parse(styleStr); - detailStyle.form.objId = cont.id; + detailStyle.SelBut_Checked = data.checkbox??true; + detailStyle.form.objId = cont.id; + detailStyle.form.htmlobjId = cont.id?cont.id.replace(/-/g,'').replace('{','').replace('}',''):'null'; cont.attrs.forEach(attr=>{ detailStyle.form.items.forEach(ele=>{ if(ele.name!='Layout'){ @@ -836,9 +861,16 @@ } }); }); - this.$data.detail2StyleDefList.push(detailStyle); + detailStyle.form.attrs = cont.attrs; + if(data.page_name == $this.$data.param.Sub_Page[0].Name){ //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄爜鐩樹腑 + $this.$data.detail1StyleDefList.push(detailStyle); //鐮佺洏涓�+ $this.activelist.push({active:false}); + // console.log($this.$data.detail1StyleDefList); + }else{ + $this.$data.detail2StyleDefList.push(detailStyle); //宸茬爜鐩�+ // console.log($this.$data.detail2StyleDefList); + } }); - // console.log(this.detail2StyleDefList); }, onClickItem(e) { //閫夋嫨椤电 // console.log(e); @@ -847,17 +879,9 @@ 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); }, - savaDataObj(style,index){ //淇濆瓨宸茬爜鐩樻暟 - // this.detail1StyleDefList.splice(index,1); - uni.showModal({title:"鎻愮ず",content:"淇濆瓨鍔熻兘鏆傛椂鏃犳硶浣跨敤锛�,showCancel:false,confirmText:"鍙栨秷"}); - }, delDataObj(style,index){ //鍒犻櫎宸茬爜鐩樻暟 // console.log(style); var $this = this; @@ -895,29 +919,24 @@ }); }, - + onPanelClick(value){ + // console.log(value); + this.active_id=''; + this.activelist.forEach(ele=>{ + ele.active = false; + }); + this.activelist[value].active = true; + // console.log(this.$data.activelist); + }, //纭畾 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.Before_OK_Event = this.param.Sub_Page[0].Before_ok; + this.After_OK_Event = this.param.Sub_Page[0].After_ok; + // console.log(this.Before_OK_Event); + // console.log(this.After_OK_Event); + if(this.$data.Before_OK_Event.ID) //鏄惁鏈夌‘瀹氬墠浜嬩欢 this.sava(this.$data.Before_OK_Event); - else if(this.$data.After_OK_Event) //鏄惁鏈夌‘瀹氬悗浜嬩欢 + else if(this.$data.After_OK_Event.ID) //鏄惁鏈夌‘瀹氬悗浜嬩欢 this.sava(this.$data.After_OK_Event); }, sava(event){ @@ -944,29 +963,29 @@ }else detail_attr[item.fieldId] = item.value; }); - //鍒ゆ柇绫诲瀷鏄惁涓哄椤电鏁版嵁鍒楄〃/鍗曟暟鎹垪琛�- 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 + + 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); + detailAttrList.push(detail_attr); }); // console.log(detailAttrList); //鑾峰彇姝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; - } + 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; + } + } } }); }); @@ -992,11 +1011,96 @@ }); // console.log(jsonlist); jsonlist.forEach(async (json,key)=>{ - await $this.runCustomEvent(event,input_param,json); + await $this.runCustomEvent(event,input_param,json,'1'); }); }, + ok2(){ + this.Before_OK_Event = this.param.Sub_Page[1].Before_ok; + this.After_OK_Event = this.param.Sub_Page[1].After_ok; + // console.log(this.Before_OK_Event); + // console.log(this.After_OK_Event); + if(this.$data.Before_OK_Event.ID) //鏄惁鏈夌‘瀹氬墠浜嬩欢 + this.sava2(this.$data.Before_OK_Event); + else if(this.$data.After_OK_Event.ID) //鏄惁鏈夌‘瀹氬悗浜嬩欢 + this.sava2(this.$data.After_OK_Event); + }, + sava2(event){ + var $this = this; + if(this.$data.detail2StyleDefList.length==0){ + uni.showModal({title:"鎻愮ず",content:"娌℃湁宸茬爜鐩樼殑鏁版嵁锛�,showCancel:false,confirmText:"鍙栨秷"}); + return false; + } + //鑾峰彇琛ㄥご灞炴� + var head_attr = {}; + this.$data.head_styledef.form.items.forEach(item => { + head_attr[item.fieldId] = item.value; + }); + // console.log(head_attr); + //鑾峰彇姝e湪鐮佺洏灞炴� + var detailAttrList = []; + this.$data.detail2StyleDefList.forEach(style=>{ + var detail_attr={}; + style.form.items.forEach(item => { + if(item.name == "Layout"){ //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�+ item.setting.colList.forEach(cols => { + if(cols!=null) detail_attr[cols.fieldId] = cols.value; + }); + }else + detail_attr[item.fieldId] = item.value; + }); + + detail_attr['id'] = style.form.objId; + if($this.param.Sub_Page[1].Select_Button==true){ //鍒ゆ柇閫夋嫨鎸夐挳鏄惁涓簍rue + if(style.SelBut_Checked==true) + detailAttrList.push(detail_attr); + } else + detailAttrList.push(detail_attr); + }); + // console.log(detailAttrList); + //鑾峰彇姝e湪鐮佺洏閲屾病鏈夋樉绀虹殑瀛楁 + this.$data.detail2StyleDefList.forEach(style=>{ + style.form.attrs.forEach(attr => { + for(var key in detailAttrList){ + if(style.form.objId == detailAttrList[key]['id']){ + var keys = Object.keys(detailAttrList[key]); + var isflag = true; + keys.forEach((ele) => { + if(ele == attr.attr) isflag = false; + }); + if(isflag) { + detailAttrList[attr.attr] = attr.value; + } + } + } + }); + }); + // 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,'2'); + }); + }, //鎵ц纭畾鑴氭湰 - async runCustomEvent(event,input_param,json){ + async runCustomEvent(event,input_param,json,type){ var $this = this; var data_json = Base64.encode( JSON.stringify(json) @@ -1004,7 +1108,7 @@ var dataInfo={ ed_type: 0, start_transaction: true, - class_id: this.$data.head_styledef.form.clsId, + class_id: this.$data.ClsID, class_name: '', event_id: event.ID, event_name: '', @@ -1029,9 +1133,9 @@ 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 + return false; }else{ - let tip = result.info ? typeof result.info == 'string' ? result.info : result.info.join('<br/>') : ''; + var 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){ @@ -1058,11 +1162,29 @@ }); // this.detail2StyleDefList=[]; uni.showModal({title:"鎻愮ず",content:"鐮佺洏鎴愬姛",showCancel:false,confirmText:"鍙栨秷"}); + // } else if(item.action_type == "refresh"){ //鍒锋柊 + // var value = item.value; + // //鍒锋柊褰撳墠椤甸潰 + // // location.reload(); + // uni.redirectTo({ + // url:'../modal/5600?param='+JSON.stringify(this.$data.param)+"&titlename="+this.$data.title + // }); + // } else if(item.action_type == "prompt"){ //鎵撳紑绯荤粺鎻愮ず寮规 + // var value = ''; + // item.value.forEach(ele=>{ + // if(value) value+='\n'; + // value+=ele; + // }); + // uni.showModal({title:"绯荤粺鎻愮ず",content:value,showCancel:false,confirmText:"鍏抽棴"}); } }); }else{ if($this.$data.After_OK_Event.ID != event.ID){ //鍒ゆ柇褰撳墠浜嬩欢鏄惁鏄‘瀹氬悗浜嬩欢 - $this.sava($this.$data.After_OK_Event); //鎵ц纭畾鍚庝簨浠�+ if(type=='1'){ + $this.sava($this.$data.After_OK_Event); //鎵ц纭畾鍚庝簨浠�+ }else{ + $this.sava2($this.$data.After_OK_Event); //鎵ц纭畾鍚庝簨浠�+ } } } }else{ @@ -1076,7 +1198,7 @@ uni.showModal({title:"閿欒8",content:res.err_msg,showCancel:false,confirmText:"鍙栨秷"}); } }).catch(ex=>{ - let tip = typeof ex == "string" ? ex : ex.errMsg; + var tip = typeof ex == "string" ? ex : ex.errMsg; uni.showModal({title:"閿欒8.1",content:"鎵ц鈥滅‘瀹氬悗鈥濅簨浠跺け璐ワ細" + tip,showCancel:false,confirmText:"鍙栨秷"}); }); }, -- Gitblit v1.9.1