Prechádzať zdrojové kódy

Merge branch 'master' of http://47.108.172.52:3000/dayou/item-management-web

GouGengquan 11 mesiacov pred
rodič
commit
85a7e6c41a

+ 3 - 0
src/api/modules/businessProduction.js

@@ -40,5 +40,8 @@ export default {
    // 资产认领实收款到 产品
    assetsDoAllotRealAmountToProd(params) {
       return request.post(`businessProduction/assets/doAllotRealAmountToProd`, params)
+   },
+   commonWareHouse(params){
+      return request.post(`businessProduction/wareHouse?productionNo=${params}`)
    }
 }

+ 49 - 21
src/components/ScanEntry.vue

@@ -1,6 +1,7 @@
 <template>
     <div class="BarCodeScannerDiv">
-        <input required="" type="text" class="input" v-model.trim="scanEntryData" ref="scanInput">
+        <input required="" type="text" class="input" v-model.trim="scanEntryData" ref="scanInput" @keydown="handleScanInput">
+        <i v-show="scanEntryData" class="el-icon-circle-close cleanInputIcon"  @click="clearData()"></i>
         <span class="highlight"></span>
         <span class="bar"></span>
         <label>{{label}}</label>
@@ -8,6 +9,7 @@
 </template>
   
   <script>
+
   export default {
         name: 'scanEntry',
         data() {
@@ -19,48 +21,65 @@
             label:{
                 type: String,
                 default: '',
+            },
+            onFocus:{
+                type: Boolean,
+                default: false
             }
-        },
 
-        mounted() {
-            this.setFocus();
-            this.$refs.scanInput.addEventListener('keydown', this.handleScanInput);
         },
 
+        watch: {
+            onFocus:{
+                handler(newValue){
+                    if(newValue){                    
+                        this.setFocus();                    
+                    }
+                },
+                immediate: true
+            }
+              
+        },
+      
         beforeDestroy() {
             this.$refs.scanInput.removeEventListener('keydown', this.handleScanInput);
+            console.log('scanEntry beforeDestroy');
         },
         methods: {
             setFocus() {
                 this.$nextTick(() => {
-                this.$refs.scanInput.focus();
-                });
+                    this.$refs.scanInput.focus();
+                },1000);
             },
 
             handleScanInput(event) {
 
-            const input = event.target;
-
-            const inputValue = input.value;
-
-            this.scanEntryData = input.value;
+                const input = event.target;
 
+                const inputValue = input.value;
 
-            if (event.key === 'Enter') {
+                this.scanEntryData = inputValue;
+           
+                if (event.key === 'Enter') {
+                    this.$emit('scanEntryFun', inputValue);
+                    
+                    setTimeout(() => {
 
-                setTimeout(() => {
+                        input.value = '';
 
-                    input.value = '';
+                        this.scanEntryData = '';
 
-                    this.scanEntryData = '';
+                    }, 1000);
 
-                }, 100);
+                }
 
-                this.$emit('scanEntryFun', inputValue);
+            },
 
+            clearData() {
+                this.scanEntryData = '';
+                this.showData = '';
+                this.$refs.scanInput.focus();
             }
-
-            },
     },
   
 }
@@ -100,7 +119,7 @@ label {
 }
 
 .input:focus ~ label, .input:valid ~ label {
- top: -20px;
+ top: -10px;
  font-size: 14px;
  color: #5264AE;
 }
@@ -159,4 +178,13 @@ label {
   background: transparent;
  }
 }
+
+.cleanInputIcon{
+ font-size: 20px;
+  color: gray;
+  position: absolute;
+  top: 15px;
+  left: 95%;
+  z-index: 990;
+}
 </style>

+ 7 - 1
src/views/assets/todoList.vue

@@ -237,7 +237,13 @@ export default {
             } else if (row.currentNodeCode === 'REPORT_OUT_DEPARTMENT_CHECK') {
                 this.$router.push(`/out/warehouse/check?todoBusinessId=${row.assetsId}&sNo=${row.statementNo}&rNo=${row.reportNo}&tId=${row.recordId}&cId=${row.currentNodeId}&nCode=${row.currentNodeCode}&businessType=ASSET_BUSINESS`)
                 return;
-            } else {
+            } else if (row.nodeCode==='STATEMENT_IN' || row.nodeCode==='STATEMENT_OUT' ||
+                row.nodeCode==='REPORT_IN'|| row.nodeCode==='REPORT_OUT' ||
+                row.nodeCode==='LETTER_IN' || row.nodeCode==='LETTER_OUT'){
+                    this.$router.push(`/major/production/in?openDialog=${true}`)
+                return;
+          }
+            else {
                 // 根据节点预设需要激活的tab页面
                 let activeTabName = 'baseInfo';
                 if (row.currentNodeCode === 'DEPARTMENT_ALLOCATION') {

+ 17 - 2
src/views/complex/index.vue

@@ -993,9 +993,15 @@ export default {
       } else {
         this.$router.push(`/major/todo/detail?id=${row.businessId}&doWorkflow=${true}&currentNodeId=${row.currentNodeId}&currentNodeCode=${row.nodeCode}&back=${'/major/todo'}`)
       }
+      if (row.nodeCode==='STATEMENT_IN' || row.nodeCode==='STATEMENT_OUT' ||
+          row.nodeCode==='REPORT_IN'|| row.nodeCode==='REPORT_OUT' ||
+          row.nodeCode==='LETTER_IN' || row.nodeCode==='LETTER_OUT'){
+          this.$router.push(`/major/production/in?openDialog=${true}`)
+      }
     },
     personalToDo(row) {
       const nodeCode = row.nodeCode;
+     
       if (nodeCode === 'REPORT_OUT_APPLY' || nodeCode === 'LETTER_OUT_APPLY') {
         this.$router.push(`/personal/my/order?todoBusinessId=${row.businessId}&orderId=${row.orderId}&tId=${row.taskId}&cId=${row.currentNodeId}`)
       }
@@ -1005,7 +1011,11 @@ export default {
       else if (row.nodeCode === 'BUSINESS_ARCHIVING') {
         this.$router.push(`/personal/toSaveFile`)
         return;
-      }
+      }else if (row.nodeCode==='STATEMENT_IN' || row.nodeCode==='STATEMENT_OUT' ||
+          row.nodeCode==='REPORT_IN'|| row.nodeCode==='REPORT_OUT' ||
+          row.nodeCode==='LETTER_IN' || row.nodeCode==='LETTER_OUT'){
+            this.$router.push(`/major/production/in?openDialog=${true}`)
+          }
       else {
         this.$router.push(`/personal/todo?id=${row.businessId}&currentNodeCode=${row.nodeCode}&orderId=${row.orderId}&doWorkflow=${true}&back=${'/personal/todo/list'}`)
       }
@@ -1031,7 +1041,12 @@ export default {
       } else if (row.currentNodeCode === 'REPORT_OUT_DEPARTMENT_CHECK') {
         this.$router.push(`/out/warehouse/check?todoBusinessId=${row.assetsId}&sNo=${row.statementNo}&rNo=${row.reportNo}&tId=${row.recordId}&cId=${row.currentNodeId}&nCode=${row.currentNodeCode}&businessType=ASSET_BUSINESS`)
         return;
-      } else {
+      } else if (row.nodeCode==='STATEMENT_IN' || row.nodeCode==='STATEMENT_OUT' ||
+          row.nodeCode==='REPORT_IN'|| row.nodeCode==='REPORT_OUT' ||
+          row.nodeCode==='LETTER_IN' || row.nodeCode==='LETTER_OUT'){
+            this.$router.push(`/major/production/in?openDialog=${true}`)
+          }
+      else {
         // 根据节点预设需要激活的tab页面
         let activeTabName = 'baseInfo';
         if (row.currentNodeCode === 'DEPARTMENT_ALLOCATION') {

+ 3 - 1
src/views/finance/fundClaim.vue

@@ -848,7 +848,8 @@ export default {
         descs: 'id',
         keyword: null,
         startDate: null,
-        endDate: null
+        endDate: null,
+        notFinished:true
       },
       myPersonalOrderDialog: false,
       myAssetsOrderDialog: false,
@@ -982,6 +983,7 @@ export default {
       this.getList()
     },
     getList() {
+      this.listQuery.notFinished = true;
       this.$api.financeRealFund.list(Object.assign({}, this.listQuery)).then(res => {
         if (res.code === 200) {
           this.pageData = res.data;

+ 1 - 1
src/views/finance/fundList.vue

@@ -194,7 +194,7 @@
         <span>付款方:</span><span style="color:red;font-weight:bold">{{payer}}</span><span style="margin-left:20px">付款金额:</span><span style="color:red;font-weight:bold">{{amount}}¥</span><span style="margin-left:20px">的认领记录:</span>
       </div>
       <parentTable
-        :data="claimListData" border stripe height="500"
+        :data="claimListData" border stripe isBoard="300"
         style="width: 100%">
         <el-table-column
           align = "center"

+ 25 - 18
src/views/major/detail.vue

@@ -1011,10 +1011,9 @@
                       </el-col>
                       <el-col :xs="24" :sm="12" :lg="6" :span="6">
                       <el-form-item prop="validateCode" label-width="140px" class="postInfo-container-item" label="打印二维码:">
+                        <a @mouseenter="showQrCode(props.row.qrCode)">出入库二维码</a> <a @mouseenter="showQrCode(props.row.validateCode)" style="margin-left: 5px">验证二维码</a>
                         <div class="qr-code-div">
-                          <img id="validateCode" class="qr-code"  @click="printQR(props.row.validateCode)"
-                          :src="props.row.qrCode" 
-                          alt="没有产品" />
+                          <img id="validateCode" class="qr-code" :src="qrCodeUrl" alt="没有产品" @click="printQR()"/>
                         </div>
                       </el-form-item>
                     </el-col>
@@ -2595,6 +2594,7 @@
         },
         doUpload:false,
         productionFinance: [],
+        qrCodeUrl:null
       }
     },
     created() {
@@ -3282,14 +3282,18 @@
           }
         })
       },
-      printQR(path){
-      if (path){
-        let routeUrl = this.$router.resolve({
-          path: `/print/code?path=${path}`
-        });
-        window.open(routeUrl.href, '_blank');
-      }
-    }
+      printQR(){
+        let path = this.qrCodeUrl;
+        if (path){
+          let routeUrl = this.$router.resolve({
+            path: `/print/code?path=${path}`
+          });
+          window.open(routeUrl.href, '_blank');
+        }
+      },
+      showQrCode(url){
+        this.qrCodeUrl = url;
+      } 
     },
 
   }
@@ -3349,24 +3353,27 @@
     .qr-code-div{
   border-radius:10px;
   background-color: RGB(245,245,245); 
-  width: 200px; 
-  height: 200px; 
+  width: 180px; 
+  height: 180px; 
   position:absolute;
-  right:0;
   display: flex;
   justify-content: center;
   align-items: center;
 }
 .qr-code{
-  width: 190px; 
-  height: 190px; 
+  width: 180px; 
+  height: 180px; 
   z-index: 999;
   }
 .qr-code-div:hover {
   cursor: pointer;
   // background-color:RGB(220,220,220); 
-  width: 205px; 
-  height: 205px; 
+  // width: 205px; 
+  // height: 205px; 
 
 }
+a:hover{
+  cursor: pointer;
+  color: #5a9cf8
+}
 </style>

+ 44 - 4
src/views/major/productionIn.vue

@@ -3,8 +3,9 @@
     <div class="title-container">
       <breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
     </div>
-    <y-page-list-layout :page-list="pageData" :page-para="listQuery" :get-page-list="getList">
+    <y-page-list-layout :page-list="pageData" :page-para="listQuery" :get-page-list="getList"> 
       <template slot="left">
+        <el-switch v-model="warehouseDialog" style="margin-top: 5px;margin-left: 20px;" active-text="开启出入库" inactive-text="关闭出入库"></el-switch>
         <el-input v-model="listQuery.keyword" placeholder="关键字搜索..." clearable
           style="margin-left: 20px;width: 500px;float: left;">
         </el-input>
@@ -29,7 +30,7 @@
         <el-button class="filter-item" style="float: left;" round type="success" @click="resetSearch()">重置
         </el-button>
       </template>
-      <parentTable  :data="pageData.records" slot="table" style="width: 100%;">
+      <parentTable  :data="pageData.records" slot="table" style="width: 100%;" :isBoard=600>
         <el-table-column label="产品报告号" align="center" width='300' >
           <template slot-scope="{row}">
             <span>{{ row.reportNo }}</span>
@@ -72,18 +73,28 @@
         </el-table-column>
       </parentTable>
     </y-page-list-layout>
+    <el-dialog :visible.sync="warehouseDialog" width="25%" center top="35vh" custom-class="doWarehouseClass"
+      @closed="cleanWareHouseProduction()">
+      <ScanEntry ref="scanEntry" @scanEntryFun="handleScanEntry" label="请扫描二维码或输入产品号" :onFocus="warehouseDialog"/>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="warehouseDialog = false">取 消</el-button>
+        <el-button type="primary" @click="doWareHouse()">确 定</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 <script>
 import YPageListLayout from '@/components/YPageListLayout'
 import Breadcrumb from '@/components/Breadcrumb'
+import ScanEntry from '@/components/ScanEntry'
 
 
 export default {
   name: 'productionIn',
   components: {
     Breadcrumb,
-    YPageListLayout
+    YPageListLayout,
+    ScanEntry
   },
   filters: {
     
@@ -124,9 +135,12 @@ export default {
             }
           }]
       },
+      warehouseDialog:false,
+      scanEntryData:null
     }
   },
   created() {
+    this.warehouseDialog = this.$route.query.openDialog === 'true';
     this.getList();
   },
   methods: {
@@ -168,10 +182,36 @@ export default {
         }
         return '报告';
     },
+    cleanWareHouseProduction() {
+      this.scanEntryData = null;
+      this.$refs.scanEntry.clearData();
+    },
+    handleScanEntry(scanData) {
+      this.scanEntryData = scanData;
+    },
+    doWareHouse(){
+      let productionNo = this.scanEntryData;
+      if (!productionNo){
+        productionNo = this.$refs.scanEntry.scanEntryData;
+      }
+      if (productionNo){
+        
+        this.$api.businessProduction.commonWareHouse(productionNo).then(res=>{
+          if (res.code === 200 && res.data){
+              this.$message({type:'success',message:"操作成功"});
+              this.$refs.scanEntry.clearData();
+          }
+        })
+      }else{
+        this.$message({type:'error',message:"未获取到报告号"});
+      }
+    }
   },
   
 }
 </script>
 <style lang="scss" scoped>
-
+/deep/.doWarehouseClass {
+  border-radius: 10px;
+}
 </style>

+ 22 - 13
src/views/major/todoDetail.vue

@@ -424,7 +424,7 @@
             <el-row>
               <el-col :span="2">
                 <div>
-                  <el-statistic group-separator="," :precision="4" :value="totalEvaluateValue" title="估价对象总价(万)">
+                  <el-statistic group-separator="," :precision="4" :value="totalEvaluateValue" title="总价(万)">
                     <template slot="prefix">
                       <i class="el-icon-coin"></i>
                     </template>
@@ -433,7 +433,7 @@
               </el-col>
               <el-col :span="2">
                 <div>
-                  <el-statistic group-separator="," :precision="2" :value="totalAcreage" title="估价对象总面积(㎡)">
+                  <el-statistic group-separator="," :precision="2" :value="totalAcreage" title="总面积(平)">
                     <template slot="prefix">
                       <i class="el-icon-house"></i>
                     </template>
@@ -744,9 +744,9 @@
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                       <el-form-item prop="validateCode" label-width="140px" class="postInfo-container-item"
                         label="打印二维码:">
+                        <a @mouseenter="showQrCode(props.row.qrCode)">出入库二维码</a> <a @mouseenter="showQrCode(props.row.validateCode)" style="margin-left: 5px">验证二维码</a>
                         <div class="qr-code-div">
-                          <img id="validateCode" class="qr-code" @click="printQR(props.row.validateCode)"
-                            :src="props.row.qrCode" alt="没有产品" />
+                          <img id="validateCode" class="qr-code" :src="qrCodeUrl" alt="没有产品" @click="printQR()"/>
                         </div>
                       </el-form-item>
                     </el-col>
@@ -1263,7 +1263,7 @@
             <el-col :xs="24" :sm="12" :lg="12" :span="8">
               <el-form-item label="实勘人:" prop="sites" :rules="{ required: true, message: '实勘人不能为空', trigger: 'blur' }"
                 label-width="120px" class="postInfo-container-item">
-                <el-select v-model="landTarget.sites" placeholder="请选择" multiple filterable clearable style="width:350px"
+                <el-select v-model="landTarget.sites" placeholder="请选择" multiple filterable clearable style="width:100%"
                   @change="sitesChange()" :readonly="currentNode.nodeCode != 'SPOT_RECONNAISSANCE'"
                   :disabled="currentNode.nodeCode != 'SPOT_RECONNAISSANCE'">
                   <el-option v-for="(u, id) in allUsers" :label="u.name" :value="u.id" :key="u.id"></el-option>
@@ -1915,6 +1915,7 @@ export default {
       secondCheckUserId: null,
       secondCheckUsers: [],
       productionFinance: [],
+      qrCodeUrl:null
     }
   },
   created() {
@@ -3473,7 +3474,8 @@ export default {
         }
       })
     },
-    printQR(path) {
+    printQR() {
+      let path = this.qrCodeUrl;
       if (path) {
         let routeUrl = this.$router.resolve({
           path: `/print/code?path=${path}`
@@ -3503,6 +3505,9 @@ export default {
           duration: 2000
         });
       }
+    },
+    showQrCode(url){
+      this.qrCodeUrl = url;
     }
   },
 }
@@ -3566,26 +3571,30 @@ export default {
 .qr-code-div {
   border-radius: 10px;
   background-color: RGB(245, 245, 245);
-  width: 200px;
-  height: 200px;
+  width: 180px;
+  height: 180px;
   position: absolute;
-  right: 0;
   display: flex;
   justify-content: center;
   align-items: center;
 }
 
 .qr-code {
-  width: 190px;
-  height: 190px;
+  width: 180px;
+  height: 180px;
   z-index: 999;
 }
 
 .qr-code-div:hover {
   cursor: pointer;
   // background-color:RGB(220,220,220); 
-  width: 205px;
-  height: 205px;
+  // width: 180px;
+  // height: 180px;
 
 }
+
+a:hover{
+  cursor: pointer;
+  color: #5a9cf8
+}
 </style>

+ 6 - 0
src/views/major/todoList.vue

@@ -293,6 +293,12 @@ export default {
           this.$router.push(`/major/my/order?todoBusinessId=${row.businessId}&sNo=${statementNo}&tId=${row.taskId}&cId=${row.currentNodeId}`)
          return;
       }
+      if (row.nodeCode==='STATEMENT_IN' || row.nodeCode==='STATEMENT_OUT' ||
+          row.nodeCode==='REPORT_IN'|| row.nodeCode==='REPORT_OUT' ||
+          row.nodeCode==='LETTER_IN' || row.nodeCode==='LETTER_OUT'){
+          this.$router.push(`/major/production/in?openDialog=${true}`)
+          return;
+      }
       if (reportNo && statementNo){
         this.$router.push(`/major/todo/detail?id=${row.businessId}&reportNo=${reportNo}&statementNo=${row.statementNo}&doWorkflow=${true}&currentNodeId=${row.currentNodeId}&currentNodeCode=${row.nodeCode}&back=${'/major/todo'}`)
       }else if (!reportNo && statementNo){

+ 19 - 9
src/views/personal/readonlyDetail.vue

@@ -355,13 +355,15 @@
                 </el-switch>
               </el-form-item>
             </el-col>
-            <el-col :xs="12" :sm="12" :lg="4" :span="6">
+            <el-col :xs="12" :sm="12" :lg="6" :span="6">
               <el-form-item label="打印二维码:" prop="validateCode" label-width="140px" class="postInfo-container-item">
+                <a @mouseenter="showQrCode(target.qrCode)">出入库二维码</a> <a @mouseenter="showQrCode(target.validateCode)" style="margin-left: 5px">验证二维码</a>
                 <div class="qr-code-div">
-                  <img id="validateCode" class="qr-code" :src="target.validateCode" alt="未定价" @click="printQR()"/>
+                  <img id="validateCode" class="qr-code" :src="qrCodeUrl" alt="未定价" @click="printQR()"/>
                 </div>
               </el-form-item>
             </el-col>
+            
           </el-row>
           <el-row class="row-style">
             <el-col :xs="12" :sm="12" :lg="18" :span="6">
@@ -1248,6 +1250,7 @@ export default {
       houseShow:false,
       immovalbeShow:false,
       landShow:false,
+      qrCodeUrl:null
 
     }
   },
@@ -1467,12 +1470,15 @@ export default {
       })
     },
     printQR(){
-      const path = this.target.validateCode;
+      const path = this.qrCodeUrl;
       let routeUrl = this.$router.resolve({
           path: `/print/code?path=${path}`
       });
       window.open(routeUrl.href, '_blank');
   
+    },
+    showQrCode(url){
+      this.qrCodeUrl = url;
     }
   }
 }
@@ -1576,8 +1582,8 @@ export default {
 .qr-code-div{
   border-radius:10px;
   background-color: RGB(245,245,245); 
-  width: 200px; 
-  height: 200px; 
+  width: 180px; 
+  height: 180px; 
   position:absolute;
   top:-10;
   left:0;
@@ -1586,15 +1592,19 @@ export default {
   align-items: center;
 }
 .qr-code{
-  width: 190px; 
-  height: 190px; 
+  width: 180px; 
+  height: 180px; 
   z-index: 999;
   }
 .qr-code-div:hover {
   cursor: pointer;
   // background-color:RGB(220,220,220); 
-  width: 205px; 
-  height: 205px; 
+  // width: 205px; 
+  // height: 205px; 
 
 }
+a:hover{
+  cursor: pointer;
+  color: #5a9cf8
+}
 </style>

+ 20 - 10
src/views/personal/todoDetail.vue

@@ -385,10 +385,11 @@
                 </el-switch>
               </el-form-item>
             </el-col>
-            <el-col :xs="12" :sm="12" :lg="4" :span="6">
+            <el-col :xs="12" :sm="12" :lg="6" :span="6">
               <el-form-item label="打印二维码:" prop="validateCode" label-width="140px" class="postInfo-container-item">
+                <a @mouseenter="showQrCode('http://47.108.172.52:81/test/code/2024/08/05/川友土预2024080001号.png')">出入库二维码</a> <a @mouseenter="showQrCode('http://47.108.172.52:81/test/code/2024/08/05/川友土预2024080001号_validate.png')" style="margin-left: 5px">验证二维码</a>
                 <div class="qr-code-div">
-                  <img id="validateCode" class="qr-code" :src="target.validateCode" alt="未定价" @click="printQR()" />
+                  <img id="validateCode" class="qr-code" :src="qrCodeUrl" alt="未定价" @click="printQR()"/>
                 </div>
               </el-form-item>
             </el-col>
@@ -1531,7 +1532,8 @@ export default {
       houseShow: false,
       immovalbeShow: false,
       landShow: false,
-      changeCredentials: []
+      changeCredentials: [],
+      qrCodeUrl:null
 
     }
   },
@@ -2459,7 +2461,7 @@ export default {
       }
     },
     printQR() {
-      const path = this.target.validateCode;
+      const path = this.qrCodeUrl;
       console.log(path)
       if (!path) {
         this.$message("二维码还未生成,无法打印。")
@@ -2470,6 +2472,10 @@ export default {
       });
       window.open(routeUrl.href, '_blank');
 
+    },
+    showQrCode(url){
+      console.log(url)
+      this.qrCodeUrl = url;
     }
   }
 }
@@ -2574,8 +2580,8 @@ export default {
 .qr-code-div {
   border-radius: 10px;
   background-color: RGB(245, 245, 245);
-  width: 200px;
-  height: 200px;
+  width: 180px;
+  height: 180px;
   position: absolute;
   top: -10;
   left: 0;
@@ -2585,17 +2591,21 @@ export default {
 }
 
 .qr-code {
-  width: 190px;
-  height: 190px;
+  width: 180px;
+  height: 180px;
   z-index: 999;
 }
 
 .qr-code-div:hover {
   cursor: pointer;
   // background-color:RGB(220,220,220); 
-  width: 205px;
-  height: 205px;
+  width: 180px;
+  height: 180px;
 
 }
+a:hover{
+  cursor: pointer;
+  color: #5a9cf8
+}
 </style>
   

+ 5 - 1
src/views/personal/todoList.vue

@@ -294,7 +294,11 @@ export default {
       else if (row.nodeCode === 'BUSINESS_ARCHIVING'){
           this.$router.push(`/personal/toSaveFile`)
          return;
-      }
+      }else if (row.nodeCode==='STATEMENT_IN' || row.nodeCode==='STATEMENT_OUT' ||
+          row.nodeCode==='REPORT_IN'|| row.nodeCode==='REPORT_OUT' ||
+          row.nodeCode==='LETTER_IN' || row.nodeCode==='LETTER_OUT'){
+            this.$router.push(`/major/production/in?openDialog=${true}`)
+          }
       else{
         this.$router.push(`/personal/todo?id=${row.businessId}&currentNodeCode=${row.nodeCode}&orderId=${row.orderId}&doWorkflow=${true}&isOnline=${row.isOnline}&back=${'/personal/todo/list'}`)
       }