cyy
2024-06-17 d370e786bc369c3b161b20a4027ef989fa133208
pages/modal/5602.vue
@@ -410,6 +410,7 @@
      ClsID2: "Sorting_Result",
      param: {},
     focusFieldId:"",
     focusOldFieldId:"",
     head_styledef:{
      form:{
         items:[]
@@ -425,6 +426,8 @@
     current: 0,
     Before_OK_Event:{},
      After_OK_Event:{},
     Before_Del_Event: {},
     After_Del_Event: {},
     items: [],
      active_id:'',
     activelist:[],
@@ -640,6 +643,7 @@
   
   ontap(index,item){ //扫码功能
      // var $ele = e;
      this.focusOldFieldId = item.fieldId
      getApp().onScan((result)=>{
         console.log(result.decodedata);
         item.value = result.decodedata;
@@ -759,13 +763,18 @@
       try {
           if (event.id) {
            
            //获取表头属性
         var head_attr = {};
            this.head_styledef.form.items.forEach(item => {
               head_attr[item.fieldId] = item.value;
            });
             var obj_attr = this.head_styledef.form.model;
             // console.log(obj_attr);
             var input_param = Base64.encode(
               JSON.stringify(
                 Object.keys(obj_attr).map((a) => ({
                 Object.keys(head_attr).map((a) => ({
                   attr: a,
                   value: obj_attr[a] || "",
                   value: head_attr[a] || "",
                 }))
               )
             );
@@ -822,7 +831,7 @@
                        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_confirm != false && value.clear == true && $this.$data.detail1StyleDefList.length>0 && value.page_name == $this.$data.param.Sub_Page[0].Name){ //判断是否清空页签内容,正在分拣是否有数据
                              uni.showModal({
                                 title: '提示',
                                 content: '系统检测到有待分拣中的数据,继续操作会清空,是否继续?',
@@ -870,6 +879,19 @@
                             }
                           });
                        }
                        else if(item.action_type == "remove_subtable_page_row"){  //清除面板中指定id的数据
                           var value = item.value;
                           if(value.page_name == $this.param.Sub_Page[0].Name){ //判断返回的action的page_name是否是待分拣
                              //清除面板中指定id的数据
                              value.row.forEach(row=>{
                                 $this.$data.detail1StyleDefList.forEach((ele,index)=>{
                                    if(ele.form.objId == row.id){
                                      $this.$data.detail1StyleDefList.splice(index,1);
                                    }
                                 });
                              });
                           }
                        }
                        else if (item.action_type == "set_subtable_page_row") {
                           $this.viewActionSetRow( item.value)
                           
@@ -890,9 +912,14 @@
                           }
                        }
                        else if (item.action_type == "set_dlg_current_edit_attr") {
                           if($this.focusFieldId == item.value)
                           if($this.focusOldFieldId == item.value)
                              $this.setData({focusFieldId: ""})
                           $this.setData({focusFieldId:item.value})
                           else{
                              $this.setData({focusFieldId:$this.focusOldFieldId})
                           }
                           $this.$nextTick(()=> {
                              $this.setData({focusFieldId:item.value})
                           });
                        }
                        else if(item.action_type == "set_dlg_attr"){
                          // value = {"attr":"xxx", "value":"xxx"}
@@ -1056,10 +1083,10 @@
   viewAceionContent(data){
      var $this = this;
      
      if (data.page_name == $this.$data.param.Sub_Page[0].Name) {
      if (data.page_name == $this.param.Sub_Page[0].Name) {
         $this.detail1ExtData = data.ext_data || {}
      }
      else if (data.page_name == $this.$data.param.Sub_Page[1].Name) {
      else if (data.page_name == $this.param.Sub_Page[1].Name) {
         $this.detail2ExtData = data.ext_data || {}
      } 
      if(JSON.stringify(data.content) =='{}'){
@@ -1155,11 +1182,24 @@
       console.log(item);
   },
   delItem(index){  //删除分拣中样式面板
       this.detail1StyleDefList.splice(index,1);
    //删除码盘中样式面板
     this.Before_Del_Event = this.param.Sub_Page[0].Before_Delete;
     this.After_Del_Event = this.param.Sub_Page[0].After_Delete;
     const style = this.detail1StyleDefList[index];
     //删除码盘中样式面板
     this.detail1StyleDefList.splice(index, 1);
     if (this.Before_Del_Event?.ID)
      //是否有删除前事件
      this.del(style, this.Before_Del_Event);
     else if (this.After_Del_Event?.ID)
      //是否有删除后事件
      this.del(style, this.After_Del_Event);
   },
    delDataObj(style,index){  //删除已分拣数
      // console.log(style);
     var $this = this;
     $this.Before_Del_Event = $this.param.Sub_Page[0].Before_Delete;
     $this.After_Del_Event = $this.param.Sub_Page[0].After_Delete;
     uni.showModal({
        title: '提示',
        content: '确定删除该已分拣数据!',
@@ -1177,9 +1217,16 @@
            $this.$store.dispatch('dataObjDel',dataInfo).then(ret=>{
               // console.log(ret);
               if (ret.err_code == 0) {
                  $this.detail2StyleDefList.splice(index,1);
                  const style = $this.detail2StyleDefList[index];
                  $this.detail2StyleDefList.splice(index, 1);
                  if ($this.Before_Del_Event?.ID)
                  //是否有删除前事件
                  $this.del2(style, $this.Before_Del_Event);
                  else if ($this.After_Del_Event?.ID)
                  //是否有删除后事件
                  $this.del2(style, $this.After_Del_Event);
                  uni.showModal({title:"提示",content:"删除成功!",showCancel:false,confirmText:"取消"});
               }else{
                  uni.showModal({title:"错误5",content:ret.err_msg,showCancel:false,confirmText:"取消"});
               }
@@ -1194,6 +1241,139 @@
     });
      
    },
   async del(style, event) {
  //获取表头属性
       var head_attr = {};
       this.$data.head_styledef.form.items.forEach(item => {
         head_attr[item.fieldId] = item.value;
       });
       // console.log(head_attr);
       //获取正在分拣属性
     var detailAttrList = [];
     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($this.param.Sub_Page[0].Select_Button==true){ //判断选择按钮是否为true
      if(style.SelBut_Checked==true)
        detailAttrList.push(detail_attr);
     } else
      detailAttrList.push(detail_attr);
       // console.log(detailAttrList);
      //获取正在分拣里没有显示的字段
     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;
         }
        }
      }
     });
      var input_param = Base64.encode(
          JSON.stringify(
            Object.keys(head_attr).map((a) => ({
              attr: a,
              value: head_attr[a] || "",
            }))
          )
      );
       var 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"})
          });
      });
      // console.log(jsonlist);
      const list = []
      list.push({page_name:$this.param.Sub_Page[0].Name,item_list:jsonlist,ext_data:$this.detail1ExtData})
      $this.runCustomEvent(event,input_param,list,'1');
   },
   async del2(style, event) {
        //获取表头属性
      var head_attr = {};
      this.$data.head_styledef.form.items.forEach(item => {
        head_attr[item.fieldId] = item.value;
      });
      // console.log(head_attr);
      //获取已分拣属性
      var detailAttrList = [];
      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($this.param.Sub_Page[1].Select_Button==true){ //判断选择按钮是否为true
         if(style.SelBut_Checked==true)
            detailAttrList.push(detail_attr);
      } else
         detailAttrList.push(detail_attr);
      //获取已分拣里没有显示的字段
      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;
            }
           }
         }
      });
      // console.log(detailAttrList);
 //    return;
      var input_param = Base64.encode(
         JSON.stringify(
           Object.keys(head_attr).map((a) => ({
            attr: a,
            value: head_attr[a] || "",
           }))
         )
      );
      var 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"})
         });
      });
      const list = []
      list.push({page_name:$this.param.Sub_Page[1].Name,item_list:jsonlist,ext_data:$this.detail2ExtData})
      // console.log(jsonlist);
      $this.runCustomEvent(event,input_param,list,'2');
   },
   onPanelClick(value){ //点击面板高亮显示
      // console.log(value);
      this.active_id='';
@@ -1450,14 +1630,13 @@
                    } else if(item.action_type == "set_subtable_page_content"){  //加载多条数据
                     $this.param.Show_Welcom_Page=false;
                     var value = item.value;
                     if(value.clear == true && $this.detail1StyleDefList.length>0){ //判断是否清空页签内容,待分拣是否有数据
                     if(value.clear_confirm != false && value.clear == true && $this.detail1StyleDefList.length>0){ //判断是否清空页签内容,待分拣是否有数据
                        uni.showModal({
                           title: '提示',
                           content: '系统检测到有待分拣中的数据,继续操作会清空,是否继续?',
                           success: function (res) {
                              if (res.confirm) {
                                $this.$data.detail1StyleDefList=[];
                                $this.$data.detail2StyleDefList=[];
                                $this.setData({detail1StyleDefList:[],detail2StyleDefList:[]})
                                $this.viewAceionContent(value);
                              } else if (res.cancel) {
                                $this.viewAceionContent(value);
@@ -1468,15 +1647,15 @@
                        $this.viewAceionContent(value);
                     }
                    } else if(item.action_type == "remove_subtable_page_row"){  //清除面板中指定id的数据
                     var value = item.value;
                     if(value.page_name == $this.page.Sub_Page[0].Name){ //判断返回的action的page_name是否是待分拣
                     var value = item.value;
                     if(value.page_name == $this.param.Sub_Page[0].Name){ //判断返回的action的page_name是否是待分拣
                        //清除面板中指定id的数据
                        value.row.forEach(row=>{
                          $this.detail1StyleDefList.forEach((ele,index)=>{
                           if(ele.form.objId == row.id){
                             $this.detail1StyleDefList.splice(index,1);
                           }
                          });
                           $this.$data.detail1StyleDefList.forEach((ele,index)=>{
                              if(ele.form.objId == row.id){
                                $this.$data.detail1StyleDefList.splice(index,1);
                              }
                           });
                        });
                     }
                    } 
@@ -1500,9 +1679,14 @@
                       }
                    }
                    else if (item.action_type == "set_dlg_current_edit_attr") {
                       if($this.focusFieldId == item.value)
                     if($this.focusOldFieldId == item.value)
                        $this.setData({focusFieldId: ""})
                       $this.setData({focusFieldId:item.value})
                     else{
                        $this.setData({focusFieldId:$this.focusOldFieldId})
                     }
                     $this.$nextTick(()=> {
                        $this.setData({focusFieldId:item.value})
                     });
                    }
                    else if(item.action_type == "refresh"){  //刷新
                      var value = item.value;