Quellcode durchsuchen

1.修复资产提成配置客户经理配置不渲染异常问题
2.待办详情新增根据节点打开默认tab
3.修复多个评估对象取子号后端空指针报错问题
4.修复自定义签字人个数校验不生效的问题

GouGengquan vor 1 Jahr
Ursprung
Commit
091f0c9699
3 geänderte Dateien mit 53 neuen und 26 gelöschten Zeilen
  1. 23 13
      src/views/assets/orderDetail.vue
  2. 22 1
      src/views/assets/todoList.vue
  3. 8 12
      src/views/commission/assets.vue

+ 23 - 13
src/views/assets/orderDetail.vue

@@ -39,7 +39,7 @@
         @click="commit('RESTART')" :disabled="!nodeBusinessInfo.doWorkflow">重置</el-button>
       <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-tabs v-model="activeTabName" @tab-click="handleClick" type="border-card">
       <el-tab-pane name="baseInfo" class="pane-class" :lazy=true>
         <span slot="label"><i class="el-icon-document"></i>基本信息</span>
         <y-detail-page-layout ref="addAssetsOrder" name="assets">
@@ -488,22 +488,22 @@
                 </h3>
               </el-divider>
             </div>
-            <span style="margin-top: 5px;" v-if="currentNode.nodeCode === 'GENERATE_STATEMENT' && couldEdit">
+            <div style="margin-top: 30px; color: red;" v-if="currentNode.nodeCode === 'GENERATE_STATEMENT' && couldEdit">
               选择要提交的意见书:
               <el-select v-model="commitProductionNo" @change="pushProductionNo()" placeholder="请选择要提交的产品"
                 style="width: 300px;">
                 <el-option v-for="(pro, productionNo) in assetsProductionData" v-if="pro.productionType == 'STATEMENT'"
                   :label="pro.productionNo" :value="pro.productionNo" :key="pro.id"></el-option>
               </el-select>
-            </span>
-            <span v-if="currentNode.nodeCode === 'WRITE_REPORT' && couldEdit">
+            </div>
+            <div style="margin-top: 30px; color: red;" v-if="currentNode.nodeCode === 'WRITE_REPORT' && couldEdit">
               选择要提交的报告:
               <el-select v-model="commitProductionNo" @change="pushProductionNo()" placeholder="请选择要提交的产品"
                 style="width: 300px;">
                 <el-option v-for="(pro, productionNo) in assetsProductionData" v-if="pro.productionType !== 'STATEMENT'"
                   :label="pro.productionNo" :value="pro.productionNo" :key="pro.id"></el-option>
               </el-select>
-            </span>
+            </div>
             <div style="margin-top: 30px;">
               <span v-if="currentNode.nodeCode === 'STATEMENT_BOOKBINDING_STAMP'">
                 <span v-for="pro in assetsProductionData" :key="pro.id" style="color: red;">
@@ -865,7 +865,8 @@
           <el-row class="row-style">
             <el-col :xs="24" :sm="12" :lg="12" :span="6" style="width: 350px;">
               <el-form-item label="评估对象:" prop="evaluationTypeId" label-width="120px" class="postInfo-container-item">
-                <el-select v-model="targetForm.evaluationTypeId" @change="getTypeList(targetForm.evaluationTypeId, 2)">
+                <el-select v-model="targetForm.evaluationTypeId"
+                  @change="getTypeList(targetForm.evaluationTypeId, 2), targetForm.evaluationTypeSecId = null">
                   <el-option v-for="(t, id) in assetsEvaluationTargetType" :label="t.typeName" :value="t.id"
                     :key="t.id"></el-option>
                 </el-select>
@@ -1068,7 +1069,7 @@
             </div>
             <el-row class="row-style">
               <el-col v-if="currentNode.nodeCode === 'GENERATE_STATEMENT'">
-                <el-form-item label="评估对象:" prop="productionNo" label-width="120px" class="postInfo-container-item">
+                <el-form-item label="产品号:" prop="productionNo" label-width="120px" class="postInfo-container-item">
                   <el-select v-model="assetsProductionForm.productionNo" @change="getAssetsProductionDetailByNo()"
                     placeholder="请选择" style="width: 300px;">
                     <el-option v-for="statementNo in writeProductionStatementNos" :label="statementNo"
@@ -1077,7 +1078,7 @@
                 </el-form-item>
               </el-col>
               <el-col v-if="currentNode.nodeCode === 'WRITE_REPORT'">
-                <el-form-item label="评估对象:" prop="productionNo" label-width="120px" class="postInfo-container-item">
+                <el-form-item label="产品号:" prop="productionNo" label-width="120px" class="postInfo-container-item">
                   <el-select v-model="assetsProductionForm.productionNo" @change="getAssetsProductionDetailByNo()"
                     placeholder="请选择" style="width: 300px;">
                     <el-option v-for="reportNo in writeProductionReportNos" :label="reportNo" :value="reportNo"
@@ -1420,6 +1421,8 @@ export default {
       if (this.assetsProductionForm.signatory !== undefined && this.assetsProductionForm.signatory !== null) {
         if (this.assetsProductionForm.signatory.length < 2) {
           return callback(new Error('需至少选择两个签字人'));
+        } else {
+          callback();
         }
       }
     };
@@ -1496,7 +1499,7 @@ export default {
       },
       workflowLogs: [],
       activeName: 'workflowInfo',
-      activeTagName: "baseInfo",
+      activeTabName: "baseInfo",
       nodeBusinessInfo: {
         currentNodePermission: {
           commit: true,
@@ -1824,7 +1827,7 @@ export default {
         ],
         signatory: [
           { required: true, message: '请选择签字人', trigger: 'change' },
-          { required: true, validator: this.checkSignatoryLength, trigger: 'change' }
+          { required: true, validator: checkSignatoryLength, trigger: 'change' }
         ],
         clientName: [
           { required: true, message: '请填写委托方名称', trigger: 'blur' }
@@ -1841,6 +1844,9 @@ export default {
         // evaluatePrice: [
         //   { required: true, message: '请填写评估单价', trigger: 'blur' }
         // ],
+        evaluateAmount: [
+          { required: true, message: '请填写评估总价', trigger: 'blur' }
+        ],
         owner: [
           { required: true, message: '请填写持有人', trigger: 'blur' }
         ],
@@ -1917,6 +1923,9 @@ export default {
     this.disabledStatus = this.$route.query.disabledStatus === 'true';
     this.couldEdit = this.$route.query.couldEdit === 'true';
     this.couldBack = this.$route.query.couldBack === 'true';
+    if(this.$route.query.activeTabName !== null && this.$route.query.activeTabName !== undefined){
+      this.activeTabName = this.$route.query.activeTabName;
+    }
     this.nodeBusinessInfo.doWorkflow = true;
     // 获取页面参数
     this.pageParams.back = this.$route.query.back;
@@ -2679,6 +2688,7 @@ export default {
     },
     // 资产产品意见书取号
     takeAssetsStatementProductionNo() {
+      this.takeAssetsProductionNoDTO.allTargetIdList = this.assetsEvaluationTarget.map(item => item.id);
       // 提交的要取号数组长度与table长度一致则是全部取号
       if (this.takeAssetsProductionNoDTO.targetIdList.length === this.assetsEvaluationTarget.length) {
         this.takeAssetsProductionNoDTO.selectAll = true;
@@ -2785,8 +2795,8 @@ export default {
       this.productionDisabledStatus = status;
       this.writeType = type;
     },
-    // 根据业务id与产品号获取资产产品详细信息
-    getAssetsProductionDetailByNo(index) {
+    // 根据业务id与产品号获取资产产品信息并初始化表单
+    getAssetsProductionDetailByNo() {
       let assetsProductionDetailDTO = new Object();
       assetsProductionDetailDTO.businessId = this.assetsForm.id;
       assetsProductionDetailDTO.productionNo = this.assetsProductionForm.productionNo;
@@ -3384,7 +3394,7 @@ export default {
         cancelButtonText: '取消',
         type: 'warning'
       }).then(() => {
-        if(this.assetsForm.members){
+        if (this.assetsForm.members) {
           this.assetsForm.members = JSON.stringify(this.assetsForm.members);
         }
         this.$api.assets.updateOrderBaseInfo(this.assetsForm).then(res => {

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

@@ -226,6 +226,26 @@ export default {
                 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 {
+                // 根据节点预设需要激活的tab页面
+                let activeTabName = 'baseInfo';
+                if (row.currentNodeCode === 'DEPARTMENT_ALLOCATION') {
+                    activeTabName = 'members';
+                } else if (row.currentNodeCode === 'SPOT_RECONNAISSANCE_DETERMINE_PRICE'
+                    || row.currentNodeCode === 'ASSET_REPORT_TAKE_NO'
+                    || row.currentNodeCode === 'GENERATE_STATEMENT'
+                    || row.currentNodeCode === 'WRITE_REPORT'
+                    || row.currentNodeCode === 'REVIEW_STATEMENT'
+                    || row.currentNodeCode === 'CHECK_REPORT') {
+                    activeTabName = 'target';
+                } else if (row.currentNodeCode === 'REEXAMINE_STATEMENT'
+                    || row.currentNodeCode === 'RECHECK_REPORT'
+                    || row.currentNodeCode === 'FOURTH_CHECK_REPORT'
+                    || row.currentNodeCode === 'STATEMENT_IN'
+                    || row.currentNodeCode === 'STATEMENT_OUT'
+                    || row.currentNodeCode === 'REPORT_IN'
+                    || row.currentNodeCode === 'REPORT_OUT') {
+                    activeTabName = 'production';
+                }
                 this.$router.push({
                     path: "/assets/orderDetail",
                     query: {
@@ -233,7 +253,8 @@ export default {
                         back: '/assets/todoList',
                         couldEdit: true,
                         couldBack: true,
-                        disabledStatus: false
+                        disabledStatus: false,
+                        activeTabName: activeTabName
                     }
                 })
             }

+ 8 - 12
src/views/commission/assets.vue

@@ -6,7 +6,7 @@
         <el-form ref="postForm" class="form-container postInfo-container" style="position: relative;margin-top: 30px">
             <el-tabs v-model="activeName" @tab-click="handleClick" type="border-card">
                 <el-tab-pane label="业务分类提成比例(评估人员)" name="evaluator">
-                    <y-page-list-layout :get-page-list="businessCateMarketerRatioList" :page-list="marketerRatioRecord"
+                    <y-page-list-layout :get-page-list="businessCateMarketerRatioList" :page-list="evaluatorRatioRecord"
                         :page-para="listQuery1">
                         <template slot="left">
                             <el-button size="mini" type="primary" round icon="el-icon-circle-plus-outline"
@@ -17,7 +17,7 @@
                                 <el-option v-for="item in cateList" :key="item.id" :label="item.name" :value="item.id" />
                             </el-select>
                         </template>
-                        <el-table size="medium" slot="table" row-key="id" :data="marketerRatioRecord.records" fit
+                        <el-table size="medium" slot="table" row-key="id" :data="evaluatorRatioRecord.records" fit
                             highlight-current-row :header-row-style="{ color: '#333333' }"
                             style="border-left: 1px solid #EBECED;border-right: 1px solid #EBECED;color: #333333;">
                             <el-table-column label="业务类别" width="800" align="center">
@@ -56,7 +56,7 @@
                     </y-page-list-layout>
                 </el-tab-pane>
                 <el-tab-pane label="业务分类提成比例(客户经理)" name="manager">
-                    <y-page-list-layout :get-page-list="businessCatekeEvaluatorRatioList" :page-list="evaluatorRatioRecord"
+                    <y-page-list-layout :get-page-list="businessCatekeEvaluatorRatioList" :page-list="marketerRatioRecord"
                         :page-para="listQuery2">
                         <template slot="left">
                             <el-button size="mini" type="primary" round icon="el-icon-circle-plus-outline"
@@ -67,7 +67,7 @@
                                 <el-option v-for="item in cateList" :key="item.id" :label="item.name" :value="item.id" />
                             </el-select>
                         </template>
-                        <el-table size="medium" slot="table" row-key="id" :data="evaluatorRatioRecord.records" fit
+                        <el-table size="medium" slot="table" row-key="id" :data="marketerRatioRecord.records" fit
                             highlight-current-row :header-row-style="{ color: '#333333' }"
                             style="border-left: 1px solid #EBECED;border-right: 1px solid #EBECED;color: #333333;">
                             <el-table-column label="业务分类" width="800" align="center">
@@ -179,14 +179,14 @@ export default {
                 size: 10,
                 descs: 'id',
                 businessType: 'ASSET_BUSINESS',
-                userType: 'EVALUATOR'
+                userType: 'MANAGER'
             },
             listQuery2: {
                 page: 1,
                 size: 10,
                 descs: 'id',
                 businessType: 'ASSET_BUSINESS',
-                userType: 'MANAGER'
+                userType: 'EVALUATOR'
             },
             marketerRatioRecord: {
                 records: []
@@ -211,19 +211,15 @@ export default {
     },
     created() {
         this.getBusinessCateList();
-        this.businessCateMarketerRatioList();
+        this.businessCatekeEvaluatorRatioList();
     },
     methods: {
 
         handleClick(tab, event) {
             if (tab.name === 'manager') {
                 this.businessCateMarketerRatioList();
-            } else if (tab.name === 'evaluator') {
-                this.businessCatekeEvaluatorRatioList();
-            } else if (tab.label === '岗位抽成率') {
-                //this.getPostRatio();
             } else {
-                //this.getMarketerRatioList();
+                this.businessCatekeEvaluatorRatioList();
             }
         },