cuiqian2004
2024-06-17 b1f20a79e8c5635e0f8aeea42df1d5804fd6dc1f
pages/modal/5600.vue
@@ -494,6 +494,8 @@
            current: 0,
            Before_OK_Event: {},
            After_OK_Event: {},
         Before_Del_Event: {},
         After_Del_Event: {},
            items: [],
            active_id: '',
            activelist: [],
@@ -1037,7 +1039,20 @@
                                             .exec();
                                       }
                                    });
                                 } else if (item.action_type == "set_subtable_page_row") {
                              }  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)
                                    
                                 } else if (item.action_type == "set_subtable_page_ext_data") {
@@ -1249,10 +1264,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) == '{}') {
@@ -1360,10 +1375,26 @@
            console.log(item);
         },
         delItem(index) { //删除码盘中样式面板
         //删除码盘中样式面板
        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);
         $this.Before_Del_Event = $this.param.Sub_Page[0].Before_Delete;
         $this.After_Del_Event = $this.param.Sub_Page[0].After_Delete;
            var $this = this;
            uni.showModal({
               title: '提示',
@@ -1382,13 +1413,21 @@
                     $this.$store.dispatch('dataObjDel', dataInfo).then(ret => {
                        // console.log(ret);
                        if (ret.err_code == 0) {
                     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({
@@ -1414,6 +1453,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 = '';
@@ -1502,7 +1674,7 @@
            var jsonlist = [];
            detailAttrList.forEach(attr => {
               jsonlist.push({
                  id: '',
                id:attr["id"]|| "",
                  attrs: Object.keys(attr).map((a) => ({
                     attr: a,
                     value: attr[a] || "",
@@ -1511,9 +1683,8 @@
            });
            const list = []
            list.push({page_name:$this.param.Sub_Page[0].Name,item_list:jsonlist,ext_data:$this.detail1ExtData})
            // console.log(jsonlist);
            $this.runCustomEvent(event, input_param, jsonlist, '1');
         $this.runCustomEvent(event, input_param, list, '1');
            // jsonlist.forEach(async (json,key)=>{
            //    await $this.runCustomEvent(event,input_param,json,'1');
            // });
@@ -1596,7 +1767,7 @@
            var jsonlist = [];
            detailAttrList.forEach(attr => {
               jsonlist.push({
                  id: '',
                id:attr["id"]|| "",
                  attrs: Object.keys(attr).map((a) => ({
                     attr: a,
                     value: attr[a] || "",
@@ -1637,6 +1808,7 @@
               global_attr: '',
               input_param: input_param,
            };
            // console.log(dataInfo);
            this.$store.dispatch('runCustomEvent', dataInfo).then(res => {
               console.log(res);
@@ -1667,9 +1839,10 @@
                        showCancel: false,
                        confirmText: "取消"
                     });
                     if (result.result_type == 0) {
                        if (result.action) {
                     //   uni.showModal({title:"提示",content:JSON.stringify(result.action),showCancel:false,confirmText:"取消"});
                           result.action.forEach(item => {
                              if (item.action_type == "insert_subtable_page_row") { //码盘中
                                 var value = item.value;
@@ -1714,6 +1887,20 @@
                                 // });
                                 // uni.showModal({title:"系统提示",content:value,showCancel:false,confirmText:"关闭"});
                              }
                           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)