cuiqian2004
2024-06-14 c380a8d6e114ff623832d2b34fca52b10537a1d0
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>
@@ -454,6 +454,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={
@@ -670,10 +692,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:'',
           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(
@@ -685,6 +760,14 @@
               )
             );
           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: '',
@@ -698,7 +781,7 @@
            ref_cls_id: '',
            rel_obj_id: '',
            user_login: '',
            data_json: '',
            data_json: data_json,
            compose_info: '',
            ext_info: '',
            global_attr: '',
@@ -775,6 +858,52 @@
                             }
                           });
                        }
                        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
                           }
                           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})
                           }
                        }
                        else if(item.action_type == "set_dlg_attr"){
                          // value = {"attr":"xxx", "value":"xxx"}
                          var data = item.value;
@@ -809,6 +938,28 @@
         
       }
   },
   operationNumber(value1, value2,operation){
      if(operation == "+")
      {
         return value1 + value2
      }
      else if(operation == "-")
      {
         return value1 - value2
      }
      else if(operation == "*")
      {
         return value1 * value2
      }
      else if(operation == "/")
      {
         if(value2)
            return value1 / value2
         else
            return value1
      }
      else return value2
   },
   //加载正在分拣内容
   viewAceionRow(data,type){
      // console.log(data);