jt
2024-03-07 dcfa09f5bac5a96f342429fec26d84132d556b54
pages/modal/5602.vue
@@ -1,4 +1,7 @@
<style>
.v-headStyle:first-child{
   margin-top: 15rpx;
}
.v-headStyle .txt_title{
  font-size: 34rpx;
  text-align: right;
@@ -62,7 +65,7 @@
    background-color:#efefef;
    padding: 20rpx 20rpx 4rpx 0px;
    border-radius: 12rpx;
    margin-bottom: 20rpx;
    margin: 10rpx 0 20rpx 0;
   text-align: right;
}
.dv-panel-input{
@@ -415,6 +418,7 @@
  onLoad(options) {
   // console.log(options);
   uni.setNavigationBarTitle({ title: options.titlename}); //设置顶部标题 
   this.$data.title = options.titlename;
   this.$data.param = JSON.parse(options.param);
   // console.log(this.$data.param);
    //获取数据类的自定义表单参数
@@ -690,7 +694,7 @@
                   var tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : result.err_info.join('<br/>') : '';
                   if (result.ret == 801) uni.showModal({title:'提示',content:tip,showCancel:false,confirmText:"取消"});
                   else uni.showModal({title:'提示',content:tip+',提示:'+result.ret,showCancel:false,confirmText:"取消"});
                  return false
                  return false;
               }else{
                  var tip = result.info ? typeof result.info == 'string' ? result.info : result.info.join('<br/>') : '';
                  if (tip) uni.showModal({title:'提示',content:tip,showCancel:false,confirmText:"取消"});
@@ -705,21 +709,16 @@
                        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){ //判断是否清空页签内容,正在分拣是否有数据
                           if(value.clear == true && $this.$data.detail1StyleDefList.length>0 && value.page_name == $this.$data.param.Sub_Page[0].Name){ //判断是否清空页签内容,正在分拣是否有数据
                              uni.showModal({
                                 title: '提示',
                                 content: '系统检测到有待分拣中的货品,继续操作会清空,是否继续?',
                                 content: '系统检测到有待分拣中的数据,继续操作会清空,是否继续?',
                                 success: function (res) {
                                    if (res.confirm) {
                                      $this.$data.detail1StyleDefList=[];
                                      $this.$data.detail2StyleDefList=[];
                                      $this.viewAceionContent(value);
                                    } else if (res.cancel) {
                                      if(value.page_name == $this.$data.param.Sub_Page[0].Name){ //判断返回的action的page_name是否是待分拣
                                       $this.$data.detail1StyleDefList=[];
                                      }else{
                                       $this.$data.detail2StyleDefList=[];
                                      }
                                      $this.$data.detail1StyleDefList=[];
                                      $this.viewAceionContent(value);
                                    }
                                 }
@@ -795,6 +794,10 @@
   //加载正在分拣内容
   viewAceionRow(data,type){
      // console.log(data);
     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);
@@ -804,7 +807,10 @@
         }
      }
       var detailStyle = JSON.parse(styleStr);
       data.row.attrs.forEach(attr=>{
      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;
@@ -817,27 +823,28 @@
               }
           });
       });
      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.objId = data.row.id?data.row.id.replace(/-/g,'').replace('{','').replace('}',''):'null';
            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是否是待分拣
@@ -847,6 +854,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'){
@@ -860,13 +868,61 @@
               }
             });
           });
         detailStyle.form.attrs = cont.attrs;
         if(data.page_name == $this.$data.param.Sub_Page[0].Name){ //判断返回的action的page_name是否是待分拣
           $this.$data.detail1StyleDefList.push(detailStyle); //待分拣
           //如果 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);
         }
       });
@@ -1136,7 +1192,7 @@
                var tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : result.err_info.join('<br/>') : '';
                if (result.ret == 801) uni.showModal({title:'提示',content:tip,showCancel:false,confirmText:"取消"});
                else uni.showModal({title:'提示',content:tip+',提示:'+result.ret,showCancel:false,confirmText:"取消"});
               return false
               return false;
            }else{
               var tip = result.info ? typeof result.info == 'string' ? result.info : result.info.join('<br/>') : '';
               if (tip) uni.showModal({title:'提示',content:tip,showCancel:false,confirmText:"取消"});
@@ -1147,7 +1203,8 @@
                    if(item.action_type == "insert_subtable_page_row"){ //分拣中
                     var value = item.value;
                     //加载待分拣数据
                     $this.viewAceionRow(value,'add');
                     $this.viewAceionRow(value,'');
                     // $this.viewAceionRow(value,'add');
                     //清空条码内容
                     $this.$data.head_styledef.form.items.forEach((item,index) => {
                        if(item.fieldId != "S_CNTR_CODE"){
@@ -1165,6 +1222,60 @@
                     });
                     // this.detail2StyleDefList=[];
                     uni.showModal({title:"提示",content:"分拣成功",showCancel:false,confirmText:"取消"});
                    } 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){ //判断是否清空页签内容,待分拣是否有数据
                        uni.showModal({
                           title: '提示',
                           content: '系统检测到有待分拣中的数据,继续操作会清空,是否继续?',
                           success: function (res) {
                              if (res.confirm) {
                                $this.$data.detail1StyleDefList=[];
                                $this.$data.detail2StyleDefList=[];
                                $this.viewAceionContent(value);
                              } else if (res.cancel) {
                                $this.viewAceionContent(value);
                              }
                           }
                        });
                     } else {
                        $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是否是待分拣
                        //清除面板中指定id的数据
                        value.row.forEach(row=>{
                          $this.detail1StyleDefList.forEach((ele,index)=>{
                           if(ele.form.objId == row.id){
                             $this.detail1StyleDefList.splice(index,1);
                           }
                          });
                        });
                     }
                    } else if(item.action_type == "refresh"){  //刷新
                      var value = item.value;
                     //清除待分拣成功的数据
                     // value.forEach((val_id,key)=>{
                     //   this.detail1StyleDefList.forEach((style,index)=>{
                     //     if(style.form.objId == val_id){
                     //       this.detail1StyleDefList.splice(index,1);
                     //       return;
                     //     }
                     //   });
                     // });
                     //刷新当前页面
                     uni.redirectTo({
                        url:'../modal/5602?param='+JSON.stringify(this.$data.param)+"&titlename="+this.$data.title
                     });
                    } else if(item.action_type == "prompt"){  //打开系统提示弹框
                      var value = '';
                     item.value.forEach(ele=>{
                        if(value) value+='\n';
                        value+=ele;
                     });
                     uni.showModal({title:"系统提示",content:value,showCancel:false,confirmText:"关闭"});
                    }
                  });
                 }else{