Преглед на файлове

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

GouGengquan преди 11 месеца
родител
ревизия
f645701d34

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

@@ -72,5 +72,8 @@ export default {
    noTaskConfirmDelivery(params) {
     return request.get(`majorProduction/confirmDelivery/${params}`)
   },
+  pendingList(params){
+    return request.get(`majorProduction/pending`,{ params: params })
+  }
 
 }

+ 40 - 24
src/views/major/detail.vue

@@ -16,6 +16,9 @@
         <WorkflowBoard ref='board' :nodeBusinessInfo="nodeBusinessInfo" />
       </el-collapse-item>
     </el-collapse>
+    <div class="button-area">
+      <el-button class="y-save" round type="info" @click="goBack">返回</el-button>
+    </div>
      <el-tabs v-model="activeTagName" @tab-click="handleClick" type="border-card">
       <el-tab-pane name="order" class="pane-class" :lazy=true>
         <span slot="label"><i class="el-icon-document"></i> 市场订单</span>
@@ -2853,6 +2856,7 @@
               obj.statementNo =this.statementNo;
             }
             if (this.reportNo ){
+              console.log(this.feedback.production)
               if (this.feedback.production.includes("REPORT")){
               obj.reportNo = this.reportNo;
               }else{
@@ -2910,7 +2914,7 @@
               statementNo:statementNo,
               sequence:this.currentNode.sequence,
             }
-            this.$api.majorProduction.list(pro).then(res=>{
+            this.$api.majorProduction.pendingList(pro).then(res=>{
               if (res.code === 200 ){
                  this.productions = res.data;
                  this.nodeBusinessInfo.doSecondCheck =  this.productions[0].secondCheck;
@@ -3312,29 +3316,35 @@
         this.officeFileView(file.name, file.url);
       },
           // 文档预览
-    officeFileView(name, url) {
-      if (name || url) {
-        const route = this.$router.resolve({
-          path: "/office/view/window",
-          query: {
-            // 文档标题
-            title: name,
-            // 文档url地址
-            url: url,
-            mode: 'view'
-          }
-        });
-        // 在新窗口打开页面
-        window.open(route.href, "_blank");
-      } else {
-        this.$notify({
-          title: '失败',
-          message: 'url为空,无法打开,如未保存请保存后再试!',
-          type: 'error',
-          duration: 2000
-        });
-      }
-    },
+      officeFileView(name, url) {
+        if (name || url) {
+          const route = this.$router.resolve({
+            path: "/office/view/window",
+            query: {
+              // 文档标题
+              title: name,
+              // 文档url地址
+              url: url,
+              mode: 'view'
+            }
+          });
+          // 在新窗口打开页面
+          window.open(route.href, "_blank");
+        } else {
+          this.$notify({
+            title: '失败',
+            message: 'url为空,无法打开,如未保存请保存后再试!',
+            type: 'error',
+            duration: 2000
+          });
+        }
+      },
+      goBack() {
+        const back = this.$route.query.back
+        if (back) {
+          this.$router.push(back)
+        }
+      },
     },
 
   }
@@ -3418,4 +3428,10 @@ a:hover{
   cursor: pointer;
   color: #5a9cf8
 }
+
+.button-area {
+  position: absolute;
+  top: 20px;
+  right: 50px;
+}
 </style>

+ 12 - 3
src/views/major/doneList.vue

@@ -47,9 +47,9 @@
             <span>大中型</span>
           </template>
         </el-table-column> -->
-        <el-table-column label="项目名称" align="center" width="300" >
+        <el-table-column label="项目名称" align="center" width="300" show-overflow-tooltip>
           <template slot-scope="{row}">
-            <span>{{ row.productionName==null?row.orderName: row.productionName }}</span>
+            <span>{{ row.productionName==null?row.majorName: row.productionName }}</span>
           </template>
         </el-table-column>
         <el-table-column label="订单号" align="center"  width='150'>
@@ -95,6 +95,7 @@
         <el-table-column label="操作" align="center"  width='100'>
           <template slot-scope="{row}">
             <el-button v-if="row.instanceState==='CLOSED'" type="text" size="small" @click="activate(row)">激活</el-button>
+            <el-button type="text" @click="toDetail(row)">详情</el-button>
           </template>
         </el-table-column>
       </parentTable>
@@ -234,7 +235,15 @@ export default {
             }
           })
       })
-    }
+    },
+    toDetail(row){
+      let productionType = row.productionType;
+      if (productionType==='STATEMENT'){
+        this.$router.push(`/major/detail?id=${row.majorId}&couldEdit=${false}&statementNo=${row.reportNo}&back=${'/major/my/done'}`)
+      }else{
+        this.$router.push(`/major/detail?id=${row.majorId}&couldEdit=${false}&statementNo=${row.statementNo}&reportNo=${row.reportNo}&back=${'/major/my/done'}`)
+      }
+    },
   },
   
 }

+ 42 - 24
src/views/major/list.vue

@@ -5,110 +5,114 @@
     </div>
     <y-page-list-layout :page-list="pageData" :page-para="listQuery" :get-page-list="getPage">
       <template slot="left">
-        <MoreSearchBar business="MAJOR_BUSINESS" @fliterSearch="fliterSearch" @resetParams="resetParams" :listQuery="listQuery" :nodes="majorNodes"></MoreSearchBar>
+        <MoreSearchBar business="MAJOR_BUSINESS" @fliterSearch="fliterSearch" @resetParams="resetParams" :listQuery="listQuery" :nodes="majorNodes">
+          <template v-slot:otherButton>
+            <el-button class="filter-item" round @click="showAllLabel()">显示全部列</el-button>
+          </template>
+        </MoreSearchBar>
       </template>
-      <parentTable ref="table" v-loading="listLoading" :data="pageData.records" slot="table" style="width: 100%;" @sortTable="sortTable" >
-        <el-table-column label="项目名称" align="center" width="300">
+      <parentTable ref="table" v-loading="listLoading" :data="pageData.records" slot="table" style="width: 100%;" @sortTable="sortTable" @headerClick="switchHeader">
+        <el-table-column label="项目名称" align="center" width="300" v-if="!hiddenLabels.includes('productionName')" prop="productionName">
           <template slot-scope="{row}">
             <span class = "enableClick" @click="orderDetail(row)">{{ row.productionName==null?row.name: row.productionName }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="订单号" align="center" width="150" >
+        <el-table-column label="订单号" align="center" width="150" v-if="!hiddenLabels.includes('orderId')" prop="orderId">
           <template slot-scope="{row}">
             <span class = "enableClick" @click="orderDetail(row)">{{ row.orderId }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="价值意见书号" align="center" width="280" prop="statementNo" sortable>
+        <el-table-column label="价值意见书号" align="center" width="280" v-if="!hiddenLabels.includes('statementNo')" prop="statementNo" sortable >
           <template slot-scope="{row}">
             <span>{{ row.statementNo==null?'-': row.statementNo }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="报告号/复评函号" align="center" width="280" prop="reportNo" sortable>
+        <el-table-column label="报告号/复评函号" align="center" width="280" v-if="!hiddenLabels.includes('reportNo')" prop="reportNo" sortable>
           <template slot-scope="{row}">
             <span>{{ row.reportNo==null?'-': row.reportNo }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="当前节点" align="center" width="130">
+        <el-table-column label="当前节点" align="center" width="130" v-if="!hiddenLabels.includes('nodeName')" prop="nodeName">
           <template slot-scope="{row}">
             <span>{{ row.nodeName }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="待办人" align="center" width="130">
+        <el-table-column label="待办人" align="center" width="130" v-if="!hiddenLabels.includes('handler')" prop="handler">
           <template slot-scope="{row}">
             <span>{{ row.handler }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="委托人" align="center" width="130">
+        <el-table-column label="委托人" align="center" width="130" v-if="!hiddenLabels.includes('clientName')" prop="clientName">
           <template slot-scope="{row}">
             <span>{{ row.clientName==null?'-': row.clientName }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="委托人电话" align="center" width="130">
+        <el-table-column label="委托人电话" align="center" width="130" v-if="!hiddenLabels.includes('clientTel')" prop="clientTel">
           <template slot-scope="{row}">
             <span>{{ row.clientTel==null?'-': row.clientTel }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="产权人" align="center" width="130">
+        <el-table-column label="产权人" align="center" width="130" v-if="!hiddenLabels.includes('owner')" prop="owner">
           <template slot-scope="{row}">
             <span>{{ row.owner==null?'-': row.owner }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="评估总价" align="center" width="130">
+        <el-table-column label="评估总价" align="center" width="130" v-if="!hiddenLabels.includes('evaluateAmount')" prop="evaluateAmount">
           <template slot-scope="{row}">
             <span>{{ row.evaluateAmount==null?'-': row.evaluateAmount/10000 +'万'}}</span>
           </template>
         </el-table-column>
-        <el-table-column label="金融类型" align="center" width="130">
+        <el-table-column label="金融类型" align="center" width="130" v-if="!hiddenLabels.includes('financial')" prop="financial">
           <template slot-scope="{row}">
             <span>{{ row.financial?'金融':'非金融' }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="分单类型" align="center">
+        <el-table-column label="分单类型" align="center" v-if="!hiddenLabels.includes('allotType')" prop="allotType">
           <template slot-scope="{row}">
             <span>{{ row.allotType }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="客户经理" align="center">
+        <el-table-column label="客户经理" align="center" v-if="!hiddenLabels.includes('clientManager')" prop="clientManager">
           <template slot-scope="{row}">
             <span>{{ row.clientManager }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="负责人" align="center">
+        <el-table-column label="负责人" align="center" v-if="!hiddenLabels.includes('principal')" prop="principal">
           <template slot-scope="{row}">
             <span>{{ row.principal==null?'-': row.principal }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="接单部门" align="center" width="130">
+        <el-table-column label="接单部门" align="center" width="130" v-if="!hiddenLabels.includes('department')" prop="department">
           <template slot-scope="{row}">
             <span>{{ row.department }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="评估对象类型" align="center" width="130">
+        <el-table-column label="评估对象类型" align="center" width="130" v-if="!hiddenLabels.includes('businessObjectType')" prop="businessObjectType">
           <template slot-scope="{row}">
             <span>{{ row.businessObjectType }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="客户名称" align="center" width="130">
+        <el-table-column label="客户名称" align="center" width="130" v-if="!hiddenLabels.includes('cclienteleName')" prop="cclienteleName">
           <template slot-scope="{row}">
             <span>{{ row.cclienteleName }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="业务来源" align="center" width="130">
+        <el-table-column label="业务来源" align="center" width="130" v-if="!hiddenLabels.includes('cclienteleSubName')" prop="cclienteleSubName">
           <template slot-scope="{row}">
             <span>{{ row.cclienteleSubName }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="客户联系人" align="center" width="130">
+        <el-table-column label="客户联系人" align="center" width="130" v-if="!hiddenLabels.includes('cclienteleContactName')" prop="cclienteleContactName">
           <template slot-scope="{row}">
             <span>{{ row.cclienteleContactName }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="客户联系人电话" align="center" width="130">
+        <el-table-column label="客户联系人电话" align="center" width="130" v-if="!hiddenLabels.includes('cmobile')" prop="cmobile">
           <template slot-scope="{row}">
             {{ row.cmobile }}
           </template>
         </el-table-column>
-        <el-table-column label="下单时间" align="center" width="110" prop="created" sortable>
+        <el-table-column label="下单时间" align="center" width="110" v-if="!hiddenLabels.includes('created')" prop="created" sortable>
           <template slot-scope="{row}">
             {{ row.created }}
           </template>
@@ -127,6 +131,7 @@ import YPageListLayout from '@/components/YPageListLayout'
 import Breadcrumb from '@/components/Breadcrumb'
 import PermissionButton from '@/components/PermissionButton/PermissionButton'
 import MoreSearchBar from '@/components/MoreSearchBar'
+import { getCookie,setCookie,removeCookie } from '@/utils/auth'
 
 export default {
   name: 'MajorList',
@@ -151,11 +156,15 @@ export default {
         startDate:null,
         endDate:null
       },
-      majorNodes:[]
+      majorNodes:[],
+      hiddenLabels:[]
     }
   },
   created() {
     // this.listQuery.id = this.$route.query.id;
+    if (getCookie("MajorPendingList-hiddenLabels")!=undefined){
+      this.hiddenLabels = JSON.parse(getCookie("MajorPendingList-hiddenLabels"))
+    }
     this.listQuery.keyword = this.$route.query.keyword;
     this.getPage();
     this.getNodeEnum();
@@ -214,6 +223,15 @@ export default {
             this.pageData = res.data;
         }
       })
+    },
+
+    switchHeader(data){
+      this.hiddenLabels.push(data);
+      setCookie("MajorPendingList-hiddenLabels",this.hiddenLabels);
+    },
+    showAllLabel(){
+      removeCookie("MajorPendingList-hiddenLabels");
+      location.reload();
     }
   },
   

+ 1 - 1
src/views/major/saveFileDoneList.vue

@@ -177,7 +177,7 @@ export default {
     },
    
     toDetail(row){
-      this.$router.push(`/major/detail?id=${row.majorId}&couldEdit=${false}&reportNo=${row.reportNo}&pt=${row.production}&back=${'/major/saveFileDone'}`)
+      this.$router.push(`/major/detail?id=${row.majorId}&couldEdit=${false}&reportNo=${row.reportNo}&back=${'/major/saveFileDone'}`)
     },
     aliasProductionType(code){
         if (code === 'STATEMENT'){

+ 33 - 18
src/views/major/todoList.vue

@@ -32,84 +32,85 @@
         </el-button>
         <el-button class="filter-item" style="float: left;" round type="success" @click="resetSearch()">重置
         </el-button>
+        <el-button class="filter-item" style="float: left;" round @click="showAllLabel()">显示全部列</el-button>
       </template>
-      <parentTable  :data="pageData.records" slot="table" style="width: 100%;" @sortTable="sortTable">
-        <el-table-column label="项目名称" align="center" width="300" >
+      <parentTable  :data="pageData.records" slot="table" style="width: 100%;" @sortTable="sortTable" @headerClick="switchHeader">
+        <el-table-column label="项目名称" align="center" width="300" v-if="!hiddenLabels.includes('productionName')" prop="productionName">
           <template slot-scope="{row}">
             <span class="enableClick" @click="toDetail(row)">{{ row.productionName==null?row.orderName: row.productionName }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="订单号" align="center" width="150">
+        <el-table-column label="订单号" align="center" width="150" v-if="!hiddenLabels.includes('orderId')" prop="orderId">
           <template slot-scope="{row}">
             <span class="enableClick" @click="toDetail(row)">{{ row.orderId }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="价值意见书号" align="center" width="280" prop="statementNo" sortable>
+        <el-table-column label="价值意见书号" align="center" width="280" v-if="!hiddenLabels.includes('statementNo')" prop="statementNo" sortable>
           <template slot-scope="{row}">
             <span>{{ row.statementNo==null?'-': row.statementNo }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="报告号/复评函号" align="center" width="280" prop="reportNo" sortable>
+        <el-table-column label="报告号/复评函号" align="center" width="280" v-if="!hiddenLabels.includes('reportNo')" prop="reportNo" sortable>
           <template slot-scope="{row}">
             <span>{{ row.reportNo==null?'-': row.reportNo }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="评估对象类型" align="center" width="120">
+        <el-table-column label="评估对象类型" align="center" width="120" v-if="!hiddenLabels.includes('businessObjectType')" prop="businessObjectType">
           <template slot-scope="{row}">
             <span>{{ row.businessObjectType}}</span>
           </template>
         </el-table-column>
-        <el-table-column label="待办人" align="center">
+        <el-table-column label="待办人" align="center" v-if="!hiddenLabels.includes('handler')" prop="handler">
           <template slot-scope="{row}">
             <span>{{ row.handler }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="当前节点" align="center" width="140">
+        <el-table-column label="当前节点" align="center" width="140" v-if="!hiddenLabels.includes('nodeName')" prop="nodeName">
           <template slot-scope="{row}">
             <span>{{ row.nodeName }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="客户经理" align="center">
+        <el-table-column label="客户经理" align="center" v-if="!hiddenLabels.includes('clientManager')" prop="clientManager">
           <template slot-scope="{row}">
             <span>{{ row.clientManager }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="负责人" align="center">
+        <el-table-column label="负责人" align="center" v-if="!hiddenLabels.includes('principal')" prop="principal">
           <template slot-scope="{row}">
             <span>{{ row.principal==null?'-': row.principal }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="评估对象类型" align="center" width="130">
+        <el-table-column label="评估对象类型" align="center" width="130" v-if="!hiddenLabels.includes('businessObjectType')" prop="businessObjectType">
           <template slot-scope="{row}">
             <span>{{ row.businessObjectType }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="客户名称" align="center" width="130">
+        <el-table-column label="客户名称" align="center" width="130" v-if="!hiddenLabels.includes('cclienteleName')" prop="cclienteleName">
           <template slot-scope="{row}">
             <span>{{ row.cclienteleName }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="业务来源" align="center" width="130">
+        <el-table-column label="业务来源" align="center" width="130" v-if="!hiddenLabels.includes('cclienteleSubName')" prop="cclienteleSubName">
           <template slot-scope="{row}">
             <span>{{ row.cclienteleSubName }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="客户联系人" align="center" width="130">
+        <el-table-column label="客户联系人" align="center" width="130" v-if="!hiddenLabels.includes('cclienteleContactName')" prop="cclienteleContactName">
           <template slot-scope="{row}">
             <span>{{ row.cclienteleContactName }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="客户联系人电话" align="center" width="130">
+        <el-table-column label="客户联系人电话" align="center" width="130" v-if="!hiddenLabels.includes('cmobile')" prop="cmobile">
           <template slot-scope="{row}">
             {{ row.cmobile }}
           </template>
         </el-table-column>
-        <el-table-column label="下单时间" align="center" width="160">
+        <el-table-column label="下单时间" align="center" width="160" v-if="!hiddenLabels.includes('created')" prop="created">
           <template slot-scope="{row}">
             <span>{{ row.created }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="任务创建时间" align="center" width="160" prop="taskCreated" sortable>
+        <el-table-column label="任务创建时间" align="center" width="160" v-if="!hiddenLabels.includes('taskCreated')" prop="taskCreated" sortable>
           <template slot-scope="{row}">
             <span>{{ row.taskCreated }}</span>
           </template>
@@ -129,6 +130,8 @@
 import YPageListLayout from '@/components/YPageListLayout'
 import Breadcrumb from '@/components/Breadcrumb'
 import TransferDialog from '@/components/TaskTransferDialog'
+import { getCookie,setCookie,removeCookie } from '@/utils/auth'
+
 
 export default {
   name: 'MajorTaskTodoList',
@@ -178,10 +181,14 @@ export default {
           }]
       },
       visible:false,
-      recordId:null
+      recordId:null,
+      hiddenLabels:[]
     }
   },
   created() {
+    if (getCookie("MajorTodoList-hiddenLabels")!=undefined){
+      this.hiddenLabels = JSON.parse(getCookie("MajorTodoList-hiddenLabels"))
+    }
     this.getPage();
     this.getMajorNodes();
   },
@@ -318,6 +325,14 @@ export default {
             this.pageData = res.data;
         }
       })
+    },
+    switchHeader(data){
+      this.hiddenLabels.push(data);
+      setCookie("MajorTodoList-hiddenLabels",this.hiddenLabels);
+    },
+    showAllLabel(){
+      removeCookie("MajorTodoList-hiddenLabels");
+      location.reload();
     }
   },
   

+ 1 - 1
src/views/personal/pendingList.vue

@@ -79,7 +79,7 @@
         </el-table-column>
         <el-table-column label="委托人电话" align="center" width="130" v-if="!hiddenLabels.includes('bailoraTel')" prop="bailoraTel">
           <template slot-scope="{row}">
-            <span>{{ row.bailorATel?row.bailorATel:(row.bailorBTel?row.bailorBTel:'-')}}</span>
+            <span>{{ row.bailoraTel?row.bailoraTel:(row.bailorbTel?row.bailorbTel:'-')}}</span>
           </template>
         </el-table-column>
         <el-table-column label="客户经理" align="center" v-if="!hiddenLabels.includes('clientManager')" prop="clientManager">

+ 6 - 4
src/views/personal/todoDetail.vue

@@ -1653,7 +1653,7 @@ export default {
       verify.state = true;
       verify.productionType = this.feedback;
       if (commit.state === 'PASS') {
-        let nodeCode = this.nodeBusinessInfo.currentNodeInstanceCode
+        let nodeCode = this.nodeBusinessInfo.currentNodeInstanceCode;
         switch (nodeCode) {
           case 'DEPARTMENT_ALLOCATION':
             if (!this.personal.outwardStaff) {
@@ -1715,6 +1715,7 @@ export default {
                   type: 'error',
                   duration: 2000
                 });
+                verify.state = false;
               }
               if (ok && nodeCode === 'WRITE_REPORT' && (this.technicReportProd == null || this.technicReportProd.files.length === 0)) {
                 this.$notify({
@@ -1723,6 +1724,7 @@ export default {
                   type: 'error',
                   duration: 2000
                 });
+                verify.state = false;
               }
               if (ok && nodeCode === 'WRITE_LETTER' && (this.letterReprotProd == null || this.letterReprotProd.files.length === 0)) {
                 this.$notify({
@@ -1731,8 +1733,9 @@ export default {
                   type: 'error',
                   duration: 2000
                 });
+                verify.state = false;
               }
-              verify.state = false;
+              
             }
             callback(verify);
             return;
@@ -1746,6 +1749,7 @@ export default {
               return;
             }
             callback(verify);
+            return;
 
           case "CHECK_REPORT":
             if (this.technicReportProd.checkState == null || this.finalReprotProd.checkState == null ||
@@ -2459,7 +2463,6 @@ export default {
     },
     printQR() {
       const path = this.qrCodeUrl;
-      console.log(path)
       if (!path) {
         this.$message("二维码还未生成,无法打印。")
         return;
@@ -2471,7 +2474,6 @@ export default {
 
     },
     showQrCode(url){
-      console.log(url)
       this.qrCodeUrl = url;
     }
   }