From d0cdbdf4005c58420249d1cafe214462de20d472 Mon Sep 17 00:00:00 2001 From: jt <jt@activesoft.com.cn> Date: 星期五, 02 二月 2024 14:42:57 +0800 Subject: [PATCH] 5600改回码盘专用改进 --- pages/modal/5600.vue | 410 +++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 265 insertions(+), 145 deletions(-) diff --git a/pages/modal/5600.vue b/pages/modal/5600.vue index e619e88..6a31f6f 100644 --- a/pages/modal/5600.vue +++ b/pages/modal/5600.vue @@ -137,13 +137,53 @@ 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"> @@ -164,6 +204,7 @@ .demo-uni-row .uni-input{ width: calc(100% - 120px); } + </style> @@ -197,127 +238,153 @@ </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="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':param.Welcome_Page.Txt_Color,'font-size':param.Welcome_Page.Font_Size,'font-family':param.Welcome_Page.Font}" + >{{param.Welcome_Page.Text}}</Text> + </div> </view> - <!-- 姝e湪鐮佺洏 --> - <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> + <!-- 鐮佺洏鐣岄潰 --> + <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" 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 > - <text class="txt_title" style="width:100px">test锛�/text> - <span class="form-item-span" >1111</span> + <div class="dv-panel-button"> + <button type="warn" @tap="delItem(0)">鍒犻櫎</button> </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 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="param.Coder_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.Coder_Page[0].OK_Button==true">淇濆瓨</Button> + <button type="warn" @tap="delItem(ii)" v-if="param.Coder_Page[0].Del_Button==true">鍒犻櫎</button> </div> </div> - <div class="dv-panel-button"> - <button type="warn" @tap="delItem(0)">鍒犻櫎</button> + </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 + :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="param.Coder_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.Coder_Page[1].OK_Button==true">淇濆瓨</Button> + <button type="warn" @tap="delDataObj(style,ii)" v-if="param.Coder_Page[1].Del_Button==true">鍒犻櫎</button> + </div> </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"> - <button type="warn" @tap="delItem(0)">鍒犻櫎</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 - :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"> - <button type="warn" @tap="delDataObj(style,ii)">鍒犻櫎</button> - </div> - </div> + </view> </view> </view> <view> @@ -336,6 +403,7 @@ data() { return { title:'鐮佺洏', + ClsID:'CG_Detail', param: {}, focusMateria:false, head_styledef:{ @@ -349,7 +417,9 @@ detail2StyleDefList:[], // 鍒嗘鍣ㄦ暟鎹� current: 0, - items: ['姝e湪鐮佺洏', '宸茬爜鐩�], + Before_OK_Event:{}, + After_OK_Event:{}, + items: [], }; }, onLoad(options) { @@ -357,10 +427,22 @@ 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.ClsID,this.$data.param.Input_UI_Style.ID); + + //鍔犺浇鍒濆鐣岄潰 + 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); + } + //鍔犺浇Tab椤电 + this.$data.items.push(this.$data.param.Coder_Page[0].Name); + this.$data.items.push(this.$data.param.Coder_Page[1].Name); + this.Detail1_UIstyleGetInfo(this.ClsID,this.$data.param.Coder_Page[0].UI_Style.ID); + this.Detail2_UIstyleGetInfo(this.ClsID,this.$data.param.Coder_Page[1].UI_Style.ID); + + console.log(this.$data.param); //椤甸潰鍒濆鍖栬幏鍙栫劍鐐� // this.focusMateria=true; }, @@ -411,6 +493,7 @@ 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; // console.log($this.$data.detail1_styledef); // $this.$data.detail1StyleDefList.push($this.$data.detail1_styledef); // let aa = JSON.stringify(this.detail1_styledef); @@ -443,6 +526,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; // console.log($this.$data.detail2_styledef); }else{ @@ -462,8 +546,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; @@ -567,9 +651,12 @@ 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"){ //宸茬爜鐩�+ } + 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({ @@ -590,7 +677,7 @@ $this.$data.detail2StyleDefList=[]; $this.viewAceionContent(value); } - } + } }); }else{ // this.detail2StyleDefList=[]; @@ -640,14 +727,16 @@ 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); + // 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); var detailStyle = JSON.parse(styleStr); detailStyle.form.objId = cont.id; cont.attrs.forEach(attr=>{ @@ -663,9 +752,9 @@ } }); }); - this.$data.detail2StyleDefList.push(detailStyle); + $this.$data.detail2StyleDefList.push(detailStyle); }); - // console.log(this.detail2StyleDefList); + // console.log(this.$data.detail2StyleDefList); }, onClickItem(e) { //閫夋嫨椤电 // console.log(e); @@ -674,10 +763,18 @@ 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){ //鍒犻櫎宸茬爜鐩樻暟 + 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({ @@ -715,14 +812,16 @@ }, - ok(){ //纭畾 - // var $this = this; - // console.log(this.$data.param.Before_OK_Event); - // console.log(this.$data.param.After_OK_Event); - if(this.$data.param.Before_OK_Event) //鏄惁鏈夌‘瀹氬墠浜嬩欢 - this.sava(this.$data.param.Before_OK_Event); - else if(this.$data.param.After_OK_Event) //鏄惁鏈夌‘瀹氬悗浜嬩欢 - this.sava(this.$data.param.After_OK_Event); + //纭畾 + ok(){ + this.Before_OK_Event = this.param.Coder_Page[1].Before_ok; + this.After_OK_Event = this.param.Coder_Page[1].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.ID) //鏄惁鏈夌‘瀹氬悗浜嬩欢 + this.sava(this.$data.After_OK_Event); }, sava(event){ var $this = this; @@ -748,10 +847,31 @@ }else detail_attr[item.fieldId] = item.value; }); - detailAttrList.push(detail_attr); + + if($this.param.Coder_Page[0].Select_Button==true){ //鍒ゆ柇閫夋嫨鎸夐挳鏄惁涓簍rue + if(style.SelBut_Checked==true) + detailAttrList.push(detail_attr); + } else + 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; + } + } + }); + }); + // console.log(detailAttrList); + // return; var input_param = Base64.encode( JSON.stringify( Object.keys(head_attr).map((a) => ({ @@ -783,10 +903,10 @@ ); var dataInfo={ ed_type: 0, - start_transaction: '', - class_id: this.$data.head_styledef.form.clsId, + start_transaction: true, + class_id: this.$data.ClsID, class_name: '', - event_id: this.$data.param.After_OK_Event.ID, + event_id: event.ID, event_name: '', data_obj_id: '', obj_attr: '', @@ -841,8 +961,8 @@ } }); }else{ - if($this.$data.param.After_OK_Event.ID != event.ID){ //鍒ゆ柇褰撳墠浜嬩欢鏄惁鏄‘瀹氬悗浜嬩欢 - $this.sava($this.$data.param.After_OK_Event); //鎵ц纭畾鍚庝簨浠�+ if($this.$data.After_OK_Event.ID != event.ID){ //鍒ゆ柇褰撳墠浜嬩欢鏄惁鏄‘瀹氬悗浜嬩欢 + $this.sava($this.$data.After_OK_Event); //鎵ц纭畾鍚庝簨浠� } } }else{ -- Gitblit v1.9.1