cyy
2024-06-14 36e6d0a63a9760d75f6cdc47e867f12b77f63934
pages/modal/5602.vue
@@ -244,7 +244,7 @@
            :class="item.disabled?'input-disabled':''"
            v-model="item.value"
            :localdata="item.dict"
            @change="onChange(item)"
            @change="onEnterChange(item)"
            :disabled="item.disabled"
            :clear="false"
         ></uni-data-select>
@@ -418,7 +418,9 @@
      detail1_styledef:{},
      detail1StyleDefList:[],
      detail2_styledef:{},
      detail2StyleDefList:[],
      detail2StyleDefList:[],//分页数据
     detail1ExtData: {},
     detail2ExtData: {}, //分页扩展数据
     // 分段器数据
     current: 0,
     Before_OK_Event:{},
@@ -454,6 +456,28 @@
   // this.focusMateria=true; 
  },   
  methods: {
     setData: function(obj) {
        let that = this;
        let keys = [];
        let val, data;
        Object.keys(obj).forEach(function(key) {
           keys = key.split(".");
           val = obj[key];
           data = that.$data;
           keys.forEach(function(key2, index) {
              if (index + 1 == keys.length) {
                 that.$set(data, key2, val);
              } else {
                 if (!data[key2]) {
                 that.$set(data, key2, {});
                 }
              }
             data = data[key2];
           });
        });
     },
    async Head_UIStyleGetInfo(class_id,style_id){   //获取自定义表单样式
      var $this = this;
      var dataInfo={
@@ -611,7 +635,6 @@
   
   ontap(item){ //扫码功能
      // var $ele = e;
      //console.log(e.target)
      getApp().onScan((result)=>{
         console.log(result.decodedata);
         item.value = result.decodedata;
@@ -637,7 +660,7 @@
               //    $this.focusMateria=true; //第二个输入框获取焦点
                  setTimeout(function(){
                     uni.hideKeyboard();
                  },100);
                  },1000);
               // },500);
            }
             // if(onSuffixClickCallbackEvent.id){   //后图标点击事件
@@ -671,10 +694,63 @@
          // }
      }
   },
   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:attr["id"]|| "",
           attrs: Object.keys(attr).map((a) => ({
            attr: a,
            value: attr[a] || "",
           })).filter((a)=>{return a.attr != "id"})
         });
      });
      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(
@@ -686,6 +762,16 @@
               )
             );
           var $this = this;
           const jsonList = []
           const itemlist1= $this.getDetailAttrList($this.detail1StyleDefList,$this.param.Sub_Page[0].Select_Button)
           const itemlist2= $this.getDetailAttrList($this.detail2StyleDefList,$this.param.Sub_Page[1].Select_Button)
           jsonList.push({page_name:$this.param.Sub_Page[0].Name,item_list:itemlist1,ext_data:$this.detail1ExtData})
           jsonList.push({page_name:$this.param.Sub_Page[1].Name,item_list:itemlist2,ext_data:$this.detail2ExtData})
           const data_json = Base64.encode(
               JSON.stringify(jsonList)
           );
           var dataInfo={
               ed_type: 0,
            start_transaction: '',
@@ -699,9 +785,9 @@
            ref_cls_id: '',
            rel_obj_id: '',
            user_login: '',
            data_json: '',
            data_json: data_json,
            compose_info: '',
            ext_info: '',
            ext_info: "",
            global_attr: '',
               input_param: input_param,
             };
@@ -776,6 +862,25 @@
                             }
                           });
                        }
                        else if (item.action_type == "set_subtable_page_row") {
                           $this.viewActionSetRow( item.value)
                        } else if (item.action_type == "set_subtable_page_ext_data") {
                           var value = item.value;
                           if (value.page_name == $this.$data.param.Sub_Page[0].Name) { //判断返回的action的page_name是否是待分拣
                              $this.setData({detail1ExtData:value.ext_data})
                           } else if (value.page_name == $this.$data.param.Sub_Page[1].Name) {
                              $this.setData({detail2ExtData:value.ext_data})
                           }
                        }
                        else if (item.action_type == "clear_subpage_rows") {
                           var value = item.value;
                           if (value.page_name == $this.$data.param.Sub_Page[0].Name) { //判断返回的action的page_name是否是待分拣
                              $this.setData({detail1StyleDefList:[],detail1ExtData:{}})
                           } else if (value.page_name == $this.$data.param.Sub_Page[1].Name) {
                              $this.setData({detail2StyleDefList:[],detail2ExtData:{}})
                           }
                        }
                        else if(item.action_type == "set_dlg_attr"){
                          // value = {"attr":"xxx", "value":"xxx"}
                          var data = item.value;
@@ -810,6 +915,82 @@
         
       }
   },
   operationNumber(value1, value2,operation){
      var number1 = 0
      var number2 =0
      if(value1)
         number1 =  parseInt(value1)
      if(value2)
         number2 =  parseInt(value2)
      if(operation == "+")
      {
         return number1 + number2
      }
      else if(operation == "-")
      {
         return number1 - number2
      }
      else if(operation == "*")
      {
         return number1 * number2
      }
      else if(operation == "/")
      {
         if(number2)
            return number1 / number2
         else
            return number1
      }
      else return number2
   },
   //更新分页签中的列表项内容
   viewActionSetRow(value) {
      const $this = this
      var detailStyleDefList = []
      if(value.page_name == $this.$data.param.Sub_Page[1].Name)
      {
         detailStyleDefList = $this.$data.detail2StyleDefList
      }
      else if(value.page_name == $this.$data.param.Sub_Page[0].Name)
      {
         detailStyleDefList =$this.$data.detail1StyleDefList
      }
      detailStyleDefList.forEach(ele=>{
         value.row.forEach((rowData) => {
             if(ele.form.objId == rowData.id){
               rowData.attrs.forEach(attr=>{
                   ele.form.items.forEach(ele2=>{
                       if(ele2.name!='Layout'){
                         if(ele2.fieldId == attr.attr){
                           ele2.value =$this.operationNumber(ele2.value,attr.value,attr.operation)
                       }
                       } else if(ele2.name=='Layout'){
                         ele2.setting.colList.forEach(col=>{
                           if(col)
                        {
                             if(col.fieldId == attr.attr)
                          {
                           col.value =$this.operationNumber(col.value,attr.value,attr.operation)
                             }
                        }
                         })
                       }
                   });
               });
            }
         })
      });
      if(value.page_name == $this.$data.param.Sub_Page[1].Name)
      {
         $this.setData({detail2StyleDefList:detailStyleDefList})
      }
      else if(value.page_name == $this.$data.param.Sub_Page[0].Name)
      {
          $this.setData({detail1StyleDefList:detailStyleDefList})
      }
   },
   //加载正在分拣内容
   viewAceionRow(data,type){
      // console.log(data);
@@ -861,6 +1042,13 @@
   //加载已分拣内容
   viewAceionContent(data){
      var $this = this;
      if (data.page_name == $this.$data.param.Sub_Page[0].Name) {
         $this.detail1ExtData = data.ext_data || {}
      }
      else if (data.page_name == $this.$data.param.Sub_Page[1].Name) {
         $this.detail2ExtData = data.ext_data || {}
      }
      if(JSON.stringify(data.content) =='{}'){
        return;
      }
@@ -1233,12 +1421,12 @@
                        }
                     });
                     //清除待分拣中成功的数据
                     $this.$data.detail1StyleDefList.forEach((style,index)=>{
                       if(style.form.items[0].fieldId == json.attrs[0].attr && style.form.items[0].value == json.attrs[0].value){
                        $this.$data.detail1StyleDefList.splice(index,1);
                        return;
                       }
                     });
                     // $this.$data.detail1StyleDefList.forEach((style,index)=>{
                     //   if(style.form.items[0].fieldId == json.attrs[0].attr && style.form.items[0].value == json.attrs[0].value){
                     //    $this.$data.detail1StyleDefList.splice(index,1);
                     //    return;
                     //   }
                     // });
                     // this.detail2StyleDefList=[];
                     uni.showModal({title:"提示",content:"分拣成功",showCancel:false,confirmText:"取消"});
                    } else if(item.action_type == "set_subtable_page_content"){  //加载多条数据
@@ -1273,7 +1461,27 @@
                          });
                        });
                     }
                    } else if(item.action_type == "refresh"){  //刷新
                    }
                    else if (item.action_type == "set_subtable_page_row") {
                       $this.viewActionSetRow( item.value)
                    } else if (item.action_type == "set_subtable_page_ext_data") {
                       var value = item.value;
                       if (value.page_name == $this.$data.param.Sub_Page[0].Name) { //判断返回的action的page_name是否是待分拣
                          $this.setData({detail1ExtData:value.ext_data})
                       } else if (value.page_name == $this.$data.param.Sub_Page[1].Name) {
                          $this.setData({detail2ExtData:value.ext_data})
                       }
                    }
                    else if (item.action_type == "clear_subpage_rows") {
                       var value = item.value;
                       if (value.page_name == $this.$data.param.Sub_Page[0].Name) { //判断返回的action的page_name是否是待分拣
                          $this.setData({detail1StyleDefList:[],detail1ExtData:{}})
                       } else if (value.page_name == $this.$data.param.Sub_Page[1].Name) {
                          $this.setData({detail2StyleDefList:[],detail2ExtData:{}})
                       }
                    }
                    else if(item.action_type == "refresh"){  //刷新
                      var value = item.value;
                     //清除待分拣成功的数据
                     // value.forEach((val_id,key)=>{