cyy
2024-06-13 88606524ac78768c49d1a277808e580dc7fdbd05
pages/modal/5600.vue
@@ -267,7 +267,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>
@@ -515,6 +515,27 @@
   // 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={
@@ -854,6 +875,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;
@@ -888,53 +955,82 @@
         
       }
   },
   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);
       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){ //判断返回的action的page_name是否是已分拣
           styleStr = JSON.stringify(this.$data.detail2_styledef); //待分拣
         }
      }
       var detailStyle = JSON.parse(styleStr);
       data.row.attrs.forEach(attr=>{
           detailStyle.form.items.forEach(ele=>{
               if(ele.name!='Layout'){
                 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(JSON.stringify(data.row) =='{}'){
         return;
       }
       data.row.forEach(row=>{
         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){ //判断返回的action的page_name是否是已分拣
              styleStr = JSON.stringify(this.$data.detail2_styledef); //待分拣
            }
         }
         var detailStyle = JSON.parse(styleStr);
         detailStyle.form.objId = row.id;
         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=>{
                 if(ele.name!='Layout'){
                   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(type){ //确定后脚本进入加载已分拣数据
             this.$data.detail2StyleDefList.push(detailStyle);
             // console.log(this.$data.detail2StyleDefList);
         }else{
            if(data.page_name == this.$data.param.Sub_Page[1].Name){ //判断返回的action的page_name是否是已分拣
                this.$data.detail2StyleDefList.push(detailStyle);
                // console.log(this.$data.detail2StyleDefList);
            }else{
               this.$data.detail1StyleDefList.push(detailStyle);
               this.activelist.push({active:false});
               // console.log(this.$data.detail1StyleDefList);
            }
         }
       });
      if(type){ //确定后脚本进入加载已码盘数据
          detailStyle.form.objId = data.row.id;
          this.$data.detail2StyleDefList.push(detailStyle);
          // console.log(this.$data.detail2StyleDefList);
      }else{
         if(data.page_name == this.$data.param.Sub_Page[1].Name){ //判断返回的action的page_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;
      if(JSON.stringify(data.content) =='{}'){
        return;
      }
       data.content.forEach(cont=>{
           var styleStr = JSON.stringify($this.$data.detail2_styledef);
         if(data.page_name == $this.$data.param.Sub_Page[0].Name){ //判断返回的action的page_name是否是码盘中
@@ -944,6 +1040,7 @@
         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.attrs = cont.attrs;
           cont.attrs.forEach(attr=>{
             detailStyle.form.items.forEach(ele=>{ 
               if(ele.name!='Layout'){
@@ -957,13 +1054,60 @@
               }
             });
           });
         detailStyle.form.attrs = cont.attrs;
         if(data.page_name == $this.$data.param.Sub_Page[0].Name){ //判断返回的action的page_name是否是码盘中
           $this.$data.detail1StyleDefList.push(detailStyle); //码盘中
         if(data.page_name == $this.$data.param.Sub_Page[0].Name){ //判断返回的action的page_name是否是待分拣
           //如果 clear = false 则不需要清除,根据id判断是否存在,不存在插入到页面,如果存在用新的属性覆盖
           if(data.clear == false){
             var isflag = true;
             $this.detail1StyleDefList.forEach((style,index)=>{
               if(style.form.objId == detailStyle.form.objId){
                 cont.attrs.forEach(attr=>{
                   style.form.items.forEach(ele=>{
                     if(ele.name!='Layout'){
                       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;
                         }
                       });
                     }
                   });
                 });
                 isflag = false;
               }
             });
             if(isflag) $this.detail1StyleDefList.push(detailStyle); //待分拣
           }else{
             $this.detail1StyleDefList.push(detailStyle); //待分拣
           }
           $this.activelist.push({active:false});
           // console.log($this.$data.detail1StyleDefList);
         }else{
           $this.$data.detail2StyleDefList.push(detailStyle); //已码盘
           if(data.clear == false){
             //如果 clear = false 则不需要清除,根据id判断是否存在,不存在插入到页面,如果存在用新的属性覆盖
             var isflag = true;
             $this.detail2StyleDefList.forEach((style,index)=>{
               if(style.form.objId == detailStyle.form.objId){
                 cont.attrs.forEach(attr=>{
                   style.form.items.forEach(ele=>{
                     if(ele.name!='Layout'){
                       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;
                         }
                       });
                     }
                   });
                 });
                 isflag = false;
               }
             });
             if(isflag) $this.detail2StyleDefList.push(detailStyle); //已分拣
           }else{
             $this.detail2StyleDefList.push(detailStyle); //已分拣
           }
         // console.log($this.$data.detail2StyleDefList);
         }
       });
@@ -1106,9 +1250,10 @@
          });
      });
      // console.log(jsonlist);
      jsonlist.forEach(async (json,key)=>{
         await $this.runCustomEvent(event,input_param,json,'1');
      });
      $this.runCustomEvent(event,input_param,jsonlist,'1');
      // jsonlist.forEach(async (json,key)=>{
      //    await $this.runCustomEvent(event,input_param,json,'1');
      // });
   },
    ok2(){
        this.Before_OK_Event = this.param.Sub_Page[1].Before_ok;
@@ -1191,9 +1336,10 @@
           });
       });
       // console.log(jsonlist);
       jsonlist.forEach(async (json,key)=>{
          await $this.runCustomEvent(event,input_param,json,'2');
       });
      $this.runCustomEvent(event,input_param,jsonlist,'2');
       // jsonlist.forEach(async (json,key)=>{
       //    await $this.runCustomEvent(event,input_param,json,'2');
       // });
    },
    //执行确定脚本
    async runCustomEvent(event,input_param,json,type){
@@ -1250,12 +1396,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 == "refresh"){  //刷新