cuiqian2004
2024-06-14 c380a8d6e114ff623832d2b34fca52b10537a1d0
pages/modal/5600.vue
@@ -2,12 +2,14 @@
.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; */
@@ -25,23 +27,28 @@
   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%;
@@ -57,10 +64,12 @@
    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;
@@ -69,14 +78,17 @@
   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;
@@ -100,9 +112,11 @@
   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;
@@ -119,10 +133,12 @@
   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;
@@ -133,6 +149,7 @@
    float: right;
   text-align: center;
}
button.btn_cancel {
   width:49.5%;
   margin-top: 50rpx;
@@ -144,6 +161,7 @@
   float: left;
   display: inline-block;
}
button.btn_add {
   width:49.5%;
   margin-top: 50rpx;
@@ -155,21 +173,25 @@
   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;
@@ -186,11 +208,13 @@
  /* 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%;
@@ -204,12 +228,15 @@
  line-height: 80rpx;
  font-weight: 500;
}
.panel-active{
  border:2px solid red;
}
.bk-active{
  background-color: #D6FCB2;
}
#dv_select{
   display: inline-block;
   width: 66%; 
@@ -224,14 +251,17 @@
   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;
}
@@ -241,20 +271,23 @@
      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>
@@ -263,35 +296,19 @@
      <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>
         <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]"
            <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]"
               @click="onEnterChange(item)">&#xe568;</text>
            <input
               class="uni-input"
               :class="item.disabled?'input-disabled':''"
               :type="item.name=='Input'?'text':'number'"
               v-model="item.value"
               :disabled="item.disabled"
            <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]"
               :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)">&#xe568;</text>
          </view>
      </view>
@@ -300,10 +317,10 @@
         <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>
                  :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+'px','font-family':param.Welcome_Page.Font}"
            >{{param.Welcome_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>
         <!-- 码盘界面 -->
@@ -316,7 +333,8 @@
            </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>
               <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 >
@@ -356,42 +374,30 @@
                     <button type="warn" @tap="delItem(0)">删除</button>
                  </div>
               </div> -->
               <div class="dv-panel" v-for="(style,ii) in detail1StyleDefList"
                  @tap="onPanelClick(ii)"
               <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>
                           <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"
                           />
                           <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"
                           >
                           <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>
                                 <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"
                                 />
                                 <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>
@@ -411,23 +417,24 @@
            </view>
            <!-- 已码盘界面 -->
            <view class="view-tabpage2" v-if="current==1">
               <image class="logo" v-if="detail2StyleDefList.length==0" src="../../images/mobox_log_200x40.png"></image>
               <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>
                           <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"
                           >
                           <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>
                                 <text class="txt_title"
                                    :style="{'width':cols.labelWidth+'px'}">{{cols.label}}:</text>
                                 <span class="form-item-span">{{cols.value}}</span>
                              </view>
                           </uni-col>
@@ -442,7 +449,8 @@
                        </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>
                     <button type="warn" @tap="delDataObj(style,ii)"
                        v-if="param.Sub_Page[1].Del_Button==true">删除</button>
                  </div>
               </div>
            </view>
@@ -491,7 +499,9 @@
  },
  onLoad(options) {
   // console.log(options);
   uni.setNavigationBarTitle({ title: options.titlename}); //设置顶部标题
         uni.setNavigationBarTitle({
            title: options.titlename
         }); //设置顶部标题
   this.$data.title = options.titlename;
   this.$data.param = JSON.parse(options.param);
   // console.log(this.$data.param);
@@ -550,7 +560,8 @@
                 //mobox2的style_def是json字符串
                 styledef = ret.result.style_def.replace(/\\/g,"");
                 //mobox3的style_def是base64字符串
                 if(!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result.style_def);
                     if (!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result
                        .style_def);
            }
            $this.$data.head_styledef = ret.result.style_def? JSON.parse(styledef): {};
            // this.form = this.head_styledef.form.model;
@@ -561,11 +572,21 @@
                }
            });
         }else{
            uni.showModal({title:"错误1",content:ret.err_msg,showCancel:false,confirmText:"取消"});
                  uni.showModal({
                     title: "错误1",
                     content: ret.err_msg,
                     showCancel: false,
                     confirmText: "取消"
                  });
         }
      }).catch(ex=>{
         // console.log(ex);
         uni.showModal({title:"错误1.1",content:ex.errMsg,showCancel:false,confirmText:"取消"});
               uni.showModal({
                  title: "错误1.1",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: "取消"
               });
      });
        
    },
@@ -583,7 +604,8 @@
                 //mobox2的style_def是json字符串
                 styledef = ret.result.style_def.replace(/\\/g,"");
                 //mobox3的style_def是base64字符串
                 if(!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result.style_def);
                     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 = true;
@@ -598,11 +620,21 @@
                }
            });
         }else{
            uni.showModal({title:"错误2",content:ret.err_msg,showCancel:false,confirmText:"取消"});
                  uni.showModal({
                     title: "错误2",
                     content: ret.err_msg,
                     showCancel: false,
                     confirmText: "取消"
                  });
         }
      }).catch(ex=>{
         // console.log(ex);
         uni.showModal({title:"错误2.1",content:ex.errMsg,showCancel:false,confirmText:"取消"});
               uni.showModal({
                  title: "错误2.1",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: "取消"
               });
      });
        
    },
@@ -620,18 +652,29 @@
                 //mobox2的style_def是json字符串
                 styledef = ret.result.style_def.replace(/\\/g,"");
                 //mobox3的style_def是base64字符串
                 if(!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result.style_def);
                     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 = true;
            // console.log($this.$data.detail2_styledef);
            
         }else{
            uni.showModal({title:"错误3",content:ret.err_msg,showCancel:false,confirmText:"取消"});
                  uni.showModal({
                     title: "错误3",
                     content: ret.err_msg,
                     showCancel: false,
                     confirmText: "取消"
                  });
         }
      }).catch(ex=>{
         // console.log(ex);
         uni.showModal({title:"错误3.1",content:ex.errMsg,showCancel:false,confirmText:"取消"});
               uni.showModal({
                  title: "错误3.1",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: "取消"
               });
      });
        
    },
@@ -668,8 +711,7 @@
               $this.head_styledef=[];
               $this.head_styledef = head_styledef;
               // console.log($this.head_styledef);
            }
            else{
                  } else {
               if(itemName){
                  $this.detail1_styledef.form.items[index].value=itemName;
                  var attr = $this.detail1_styledef.form.items[index].fieldId;
@@ -683,11 +725,21 @@
            }
            
         }else{
            uni.showModal({title:"错误3.1",content:success.err_msg,showCancel:false,confirmText:"取消"});
                  uni.showModal({
                     title: "错误3.1",
                     content: success.err_msg,
                     showCancel: false,
                     confirmText: "取消"
                  });
         }
      }).catch(ex=>{
         // console.log(ex);
         uni.showModal({title:"错误3",content:ex.errMsg,showCancel:false,confirmText:"取消"});
               uni.showModal({
                  title: "错误3",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: "取消"
               });
      });
   },
   
@@ -770,10 +822,62 @@
          // }
      }
   },
         getDetailAttrList(list, selectButton) {
            const detailAttrList = [];
            list.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 (selectButton == true) { //判断选择按钮是否为true
                  if (style.SelBut_Checked == true)
                     detailAttrList.push(detail_attr);
               } else
                  detailAttrList.push(detail_attr);
            });
            // console.log(detailAttrList);
            //获取正在码盘里没有显示的字段
            list.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;
                        }
                     }
                  }
               });
            });
            const jsonlist = [];
            detailAttrList.forEach(attr => {
               jsonlist.push({
                  id: '',
                  attrs: Object.keys(attr).map((a) => ({
                     attr: a,
                     value: attr[a] || "",
                  }))
               });
            });
            return jsonlist;
         },
   // 内容变化后事件
   async onChange(event) {
       try {
           if (event.id) {
             var obj_attr = this.head_styledef.form.model;
             // console.log(obj_attr);
             var input_param = Base64.encode(
@@ -785,6 +889,22 @@
               )
             );
           var $this = this;
                  const jsonList = []
                  jsonList.push({
                     page_name: $this.param.Sub_Page[0].Name,
                     item_list: []
                  })
                  jsonList.push({
                     page_name: $this.param.Sub_Page[1].Name,
                     item_list: []
                  })
                  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)
                  );
           var dataInfo={
               ed_type: 0,
            start_transaction: true,
@@ -798,7 +918,7 @@
            ref_cls_id: '',
            rel_obj_id: '',
            user_login: '',
            data_json: '',
                     data_json: data_json,
            compose_info: '',
            ext_info: '',
            global_attr: '',
@@ -809,13 +929,30 @@
              if (ret.err_code == 0) {
               var result = ret.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:"取消"});
                           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{
                  var tip = result.info ? typeof result.info == 'string' ? result.info : result.info.join('<br/>') : '';
                  if (tip) uni.showModal({title:'提示',content:tip,showCancel:false,confirmText:"取消"});
                           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=>{
@@ -823,34 +960,42 @@
                           $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 && value.page_name == $this.$data.param.Sub_Page[0].Name){ //判断是否清空页签内容,正在码盘是否有数据
                                    if (value.clear == true && $this.$data
                                       .detail1StyleDefList.length > 0 && value
                                       .page_name == $this.$data.param.Sub_Page[0].Name
                                       ) { //判断是否清空页签内容,正在码盘是否有数据
                              uni.showModal({
                                 title: '提示',
                                 content: '系统检测到有正在码盘中的货品,继续操作会清空,是否继续?',
                                 success: function (res) {
                                    if (res.confirm) {
                                      $this.$data.detail1StyleDefList=[];
                                      $this.viewAceionContent(value);
                                                $this.$data
                                                   .detail1StyleDefList = [];
                                                $this.viewAceionContent(
                                                   value);
                                    } else if (res.cancel) {
                                      $this.$data.detail1StyleDefList=[];
                                      $this.viewAceionContent(value);
                                                $this.$data
                                                   .detail1StyleDefList = [];
                                                $this.viewAceionContent(
                                                   value);
                                    }
                                 }
                              });
                           } else {
                              if(value.page_name == $this.$data.param.Sub_Page[0].Name){ //判断返回的action的page_name是否是待分拣
                                       if (value.page_name == $this.$data.param.Sub_Page[
                                             0].Name) { //判断返回的action的page_name是否是待分拣
                                $this.$data.detail1StyleDefList=[];
                              }else{
                                $this.$data.detail2StyleDefList=[];
                              }
                              $this.viewAceionContent(value);
                           }
                        }
                        else if(item.action_type == "select_subtable_page_row"){
                                 } else if (item.action_type ==
                                    "select_subtable_page_row") {
                           // value = {"page_name":"码盘中", "row":{"id":"xx"}}
                           var value = item.value;
                           $this.detail1StyleDefList.forEach(ele=>{
@@ -861,12 +1006,19 @@
                              //自动滚动到指定元素
                              uni.createSelectorQuery()
                                  .select("#tabpanel")//对应外层节点
                                  .boundingClientRect((container) => {
                                             .boundingClientRect((
                                             container) => {
                                      uni.createSelectorQuery()
                                      .select("#tabpanel"+ele.form.htmlobjId)//目标节点
                                      .boundingClientRect((target) => {
                                                   .select("#tabpanel" +
                                                      ele.form.htmlobjId
                                                      ) //目标节点
                                                   .boundingClientRect((
                                                      target) => {
                                          uni.pageScrollTo({
                                          scrollTop: target.top - container.top,//滚动到实际距离是元素距离顶部的距离减去最外层盒子的滚动距离
                                                         scrollTop: target
                                                            .top -
                                                            container
                                                            .top, //滚动到实际距离是元素距离顶部的距离减去最外层盒子的滚动距离
                                          });
                                      })
                                      .exec();
@@ -874,36 +1026,78 @@
                                 .exec();
                             }
                           });
                        }
                        else if(item.action_type == "set_subtable_page_row"){   // value = {"page_name":"码盘中", "row":[{"id":"xx"}]}
                                 } else if (item.action_type ==
                                    "set_subtable_page_row") { // value = {"page_name":"码盘中", "row":[{"id":"xx"}]}
                           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.$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)
                                          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 (
                                                               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
                                                                                    )
                                                  }
                                               }
                                              });
                                                                     }
                                                                     );
                                            }
                                        });
                                    });
@@ -912,22 +1106,27 @@
                             })
                            
                           });
                           if(value.page_name == $this.$data.param.Sub_Page[1].Name)
                           {
                              $this.setData({detail2StyleDefList:detailStyleDefList})
                                    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(value.page_name == $this.$data.param.Sub_Page[0].Name)
                           {
                               $this.setData({detail1StyleDefList:detailStyleDefList})
                           }
                        }
                        else if(item.action_type == "set_dlg_attr"){
                                 } 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) => {
                                    $this.$data.head_styledef.form.items.forEach(async (
                                       ele, index) => {
                            data.forEach(async (ele2,index) => {
                              if(ele.fieldId == ele2.attr){
                                ele.value = ele2.value;
                                          if (ele.fieldId == ele2
                                             .attr) {
                                             ele.value = ele2
                                                .value;
                              }
                            });
                          });
@@ -936,46 +1135,58 @@
                  }else{
                     // this.detail2StyleDefList=[];
                     if(result.info){
                        uni.showModal({title:"错误4.3",content:result.info,showCancel:false,confirmText:"取消"});
                                 uni.showModal({
                                    title: "错误4.3",
                                    content: result.info,
                                    showCancel: false,
                                    confirmText: "取消"
                                 });
                     }
                  }
               }
                 
              }else{
                 uni.showModal({title:"错误4",content:ret.err_msg,showCancel:false,confirmText:"取消"});
                        uni.showModal({
                           title: "错误4",
                           content: ret.err_msg,
                           showCancel: false,
                           confirmText: "取消"
                        });
              }
           }).catch(ex=>{
              // console.log(ex);
              uni.showModal({title:"错误4.1",content:ex.errMsg,showCancel:false,confirmText:"取消"});
                     uni.showModal({
                        title: "错误4.1",
                        content: ex.errMsg,
                        showCancel: false,
                        confirmText: "取消"
                     });
           });
           }
       } catch (ex) {
           var tip = typeof ex == "string" ? ex : ex.message;
         uni.showModal({title:"错误4.2",content:"执行“内容变化后”事件失败:" + tip,showCancel:false,confirmText:"取消"});
               uni.showModal({
                  title: "错误4.2",
                  content: "执行“内容变化后”事件失败:" + tip,
                  showCancel: false,
                  confirmText: "取消"
               });
         
       }
   },
   operationNumber(value1, value2,operation){
      if(operation == "+")
      {
            if (operation == "+") {
         return value1 + value2
      }
      else if(operation == "-")
      {
            } else if (operation == "-") {
         return value1 - value2
      }
      else if(operation == "*")
      {
            } else if (operation == "*") {
         return value1 * value2
      }
      else if(operation == "/")
      {
            } else if (operation == "/") {
         if(value2)
            return value1 / value2
         else
            return value1 
      }
      else return value2
            } else return value2
    },
   //加载正在码盘内容
   viewAceionRow(data,type){
@@ -994,7 +1205,8 @@
         }
         var detailStyle = JSON.parse(styleStr);
         detailStyle.form.objId = row.id;
         detailStyle.form.htmlobjId = row.id?row.id.replace(/-/g,'').replace('{','').replace('}',''):'null';
               detailStyle.form.htmlobjId = row.id ? row.id.replace(/-/g, '').replace('{', '').replace('}',
                  '') : 'null';
         detailStyle.form.attrs = row.attrs;
         row.attrs.forEach(attr=>{
             detailStyle.form.items.forEach(ele=>{
@@ -1003,7 +1215,8 @@
                 } else if(ele.name=='Layout'){
                   ele.setting.colList.forEach(col=>{
                     if(col){
                       if(col.fieldId == attr.attr) col.value = attr.value;
                              if (col.fieldId == attr.attr) col.value = attr
                                 .value;
                     }
                   });
                 }
@@ -1019,7 +1232,9 @@
                // console.log(this.$data.detail2StyleDefList);
            }else{
               this.$data.detail1StyleDefList.push(detailStyle);
               this.activelist.push({active:false});
                     this.activelist.push({
                        active: false
                     });
               // console.log(this.$data.detail1StyleDefList);
            }
         }
@@ -1039,7 +1254,8 @@
           var detailStyle = JSON.parse(styleStr);
         detailStyle.SelBut_Checked = data.checkbox??true;
         detailStyle.form.objId = cont.id;
         detailStyle.form.htmlobjId = cont.id?cont.id.replace(/-/g,'').replace('{','').replace('}',''):'null';
               detailStyle.form.htmlobjId = cont.id ? cont.id.replace(/-/g, '').replace('{', '').replace('}',
                  '') : 'null';
         detailStyle.form.attrs = cont.attrs;
           cont.attrs.forEach(attr=>{
             detailStyle.form.items.forEach(ele=>{ 
@@ -1048,7 +1264,8 @@
               } else if(ele.name=='Layout'){
                 ele.setting.colList.forEach(col=>{
                   if(col){
                     if(col.fieldId == attr.attr) col.value = attr.value;
                              if (col.fieldId == attr.attr) col.value = attr
                                 .value;
                   }
                 });
               }
@@ -1063,11 +1280,14 @@
                 cont.attrs.forEach(attr=>{
                   style.form.items.forEach(ele=>{ 
                     if(ele.name!='Layout'){
                       if(ele.fieldId == attr.attr) ele.value = attr.value;
                                    if (ele.fieldId == attr.attr) ele.value =
                                       attr.value;
                     } else if(ele.name=='Layout'){
                       ele.setting.colList.forEach(col=>{
                         if(col){
                           if(col.fieldId == attr.attr) col.value = attr.value;
                                          if (col.fieldId == attr
                                             .attr) col.value = attr
                                             .value;
                         }
                       });
                     }
@@ -1080,7 +1300,9 @@
           }else{
             $this.detail1StyleDefList.push(detailStyle); //待分拣
           }
           $this.activelist.push({active:false});
                  $this.activelist.push({
                     active: false
                  });
           // console.log($this.$data.detail1StyleDefList);
         }else{
           if(data.clear == false){
@@ -1091,11 +1313,14 @@
                 cont.attrs.forEach(attr=>{
                   style.form.items.forEach(ele=>{ 
                     if(ele.name!='Layout'){
                       if(ele.fieldId == attr.attr) ele.value = attr.value;
                                    if (ele.fieldId == attr.attr) ele.value =
                                       attr.value;
                     } else if(ele.name=='Layout'){
                       ele.setting.colList.forEach(col=>{
                         if(col){
                           if(col.fieldId == attr.attr) col.value = attr.value;
                                          if (col.fieldId == attr
                                             .attr) col.value = attr
                                             .value;
                         }
                       });
                     }
@@ -1143,14 +1368,29 @@
               // console.log(ret);
               if (ret.err_code == 0) {
                  $this.detail2StyleDefList.splice(index,1);
                  uni.showModal({title:"提示",content:"删除成功!",showCancel:false,confirmText:"取消"});
                           uni.showModal({
                              title: "提示",
                              content: "删除成功!",
                              showCancel: false,
                              confirmText: "取消"
                           });
                  
               }else{
                  uni.showModal({title:"错误5",content:ret.err_msg,showCancel:false,confirmText:"取消"});
                           uni.showModal({
                              title: "错误5",
                              content: ret.err_msg,
                              showCancel: false,
                              confirmText: "取消"
                           });
               }
            }).catch(ex=>{
               // console.log(ex);
               uni.showModal({title:"错误5.1",content:ex.errMsg,showCancel:false,confirmText:"取消"});
                        uni.showModal({
                           title: "错误5.1",
                           content: ex.errMsg,
                           showCancel: false,
                           confirmText: "取消"
                        });
            });
           } else if (res.cancel) {
            
@@ -1182,7 +1422,12 @@
   sava(event){
      var $this = this;
       if(this.$data.detail1StyleDefList.length==0){
         uni.showModal({title:"提示",content:"没有正在码盘的数据!",showCancel:false,confirmText:"取消"});
               uni.showModal({
                  title: "提示",
                  content: "没有正在码盘的数据!",
                  showCancel: false,
                  confirmText: "取消"
               });
         return false;
       }
       //获取表头属性
@@ -1268,7 +1513,12 @@
    sava2(event){
       var $this = this;
        if(this.$data.detail2StyleDefList.length==0){
          uni.showModal({title:"提示",content:"没有已码盘的数据!",showCancel:false,confirmText:"取消"});
               uni.showModal({
                  title: "提示",
                  content: "没有已码盘的数据!",
                  showCancel: false,
                  confirmText: "取消"
               });
          return false;
        }
        //获取表头属性
@@ -1372,13 +1622,30 @@
         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:"取消"});
                     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{
               var tip = result.info ? typeof result.info == 'string' ? result.info : result.info.join('<br/>') : '';
               if (tip) uni.showModal({title:'提示',content:tip,showCancel:false,confirmText:"取消"});
                     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){
                 if(result.action){
@@ -1388,11 +1655,13 @@
                     //加载已经码盘数据
                     $this.viewAceionRow(value,'add');
                     //清空条码内容
                     $this.$data.head_styledef.form.items.forEach((item,index) => {
                                 $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] = '';
                                          $this.$data.head_styledef.form.model[item
                                             .fieldId] = '';
                        }
                     });
                     //清除正在码盘中成功的数据
@@ -1403,7 +1672,12 @@
                     //   }
                     // });
                     // this.detail2StyleDefList=[];
                     uni.showModal({title:"提示",content:"码盘成功",showCancel:false,confirmText:"取消"});
                                 uni.showModal({
                                    title: "提示",
                                    content: "码盘成功",
                                    showCancel: false,
                                    confirmText: "取消"
                                 });
                   //  } else if(item.action_type == "refresh"){  //刷新
                   //    var value = item.value;
                     // //刷新当前页面
@@ -1432,16 +1706,31 @@
               }else{
                  // $this.$data.detail2StyleDefList=[];
                  if(result.info){
                    uni.showModal({title:"提示",content:result.info,showCancel:false,confirmText:"取消"});
                           uni.showModal({
                              title: "提示",
                              content: result.info,
                              showCancel: false,
                              confirmText: "取消"
                           });
                  }
               }
            }
         }else{
            uni.showModal({title:"错误8",content:res.err_msg,showCancel:false,confirmText:"取消"});
                  uni.showModal({
                     title: "错误8",
                     content: res.err_msg,
                     showCancel: false,
                     confirmText: "取消"
                  });
         }
      }).catch(ex=>{
          var tip = typeof ex == "string" ? ex : ex.errMsg;
         uni.showModal({title:"错误8.1",content:"执行“确定后”事件失败:" + tip,showCancel:false,confirmText:"取消"});
               uni.showModal({
                  title: "错误8.1",
                  content: "执行“确定后”事件失败:" + tip,
                  showCancel: false,
                  confirmText: "取消"
               });
      });
   },