Quellcode durchsuchen

资产业务流程

GouGengquan vor 1 Jahr
Ursprung
Commit
4265dec16c

+ 8 - 0
src/api/modules/assets.js

@@ -62,5 +62,13 @@ export default {
     // 根据业务id获取资产业务款项信息
     getOrderFundInvoiceById(params) {
         return request.get(`assets/getOrderFundInvoiceById/${params}`)
+    },
+    // 选择产品,新增产品信息
+    assetsProductionSave(params) {
+        return request.post(`assetsProduction/save`, params)
+    },
+    // 根据业务id获取产品信息类型集合
+    getProductionTypes(params) {
+        return request.get(`assetsProduction/getProductionTypes/${params}`)
     }
 }

+ 4 - 1
src/views/assets/allList.vue

@@ -219,7 +219,10 @@ export default {
         orderDetail(row) {
             this.$router.push({
                 path: "/assets/orderDetail",
-                query: row
+                query: {
+                    row: row,
+                    back: '/assets/allList'
+                }
             })
         }
     }

+ 4 - 1
src/views/assets/myOrderList.vue

@@ -225,7 +225,10 @@ export default {
         orderDetail(row) {
             this.$router.push({
                 path: "/assets/orderDetail",
-                query: row
+                query: {
+                    row: row,
+                    back: '/assets/allList'
+                }
             })
         }
     }

+ 128 - 8
src/views/assets/orderDetail.vue

@@ -281,6 +281,14 @@
             </div>
           </el-form>
         </y-detail-page-layout>
+        <el-row>
+          <el-col>
+            <el-col :span="2">
+              <el-button @click="openProductionDialog" v-if="currentNode.nodeCode === 'PRODUCT_CHOICE'" type="danger"
+                round>选择产品</el-button>
+            </el-col>
+          </el-col>
+        </el-row>
       </el-tab-pane>
       <el-tab-pane name="members" class="pane-class" :lazy=true>
         <span slot="label"><i class="el-icon-document"></i>项目人员</span>
@@ -398,7 +406,8 @@
                     @click="getAssetsTargetDetail(scope.row.id), changeStatus('edit')">
                     编辑
                   </el-button>
-                  <el-button v-if="currentNode.nodeCode === 'SPOT_RECONNAISSANCE'" type="text" size="small" @click="assetsTargetDelete(scope.row.id)">删除</el-button>
+                  <el-button v-if="currentNode.nodeCode === 'SPOT_RECONNAISSANCE'" type="text" size="small"
+                    @click="assetsTargetDelete(scope.row.id)">删除</el-button>
                 </template>
               </el-table-column>
             </el-table>
@@ -636,6 +645,42 @@
         </el-form>
       </div>
     </el-dialog>
+    <el-dialog :visible.sync="productionChoiceDialogVisible">
+      <el-form ref="assetsProductionFrom" :model="assetsProductionFrom" :rules="assetsProductionFromRules">
+        <div class="createMajor-main-container">
+          <div class="postInfo-container">
+            <div>
+              <el-divider content-position="left">
+                <h3 class="title">
+                  <div class="avatar-wrapper icon-title">产品</div>
+                  <div class="icon-info">选择产品</div>
+                </h3>
+              </el-divider>
+            </div>
+            <el-row class="row-style">
+              <el-col :xs="24" :sm="12" :lg="12" :span="6" style="width: 800px;">
+                <el-form-item label="产品类型:" prop="productionType" label-width="120px" class="postInfo-container-item">
+                  <el-radio v-model="assetsProductionFrom.productionType" :label="1" border size="medium">价值意见书</el-radio>
+                  <el-radio v-model="assetsProductionFrom.productionType" :label="2" border size="medium">咨询报告</el-radio>
+                  <el-radio v-model="assetsProductionFrom.productionType" :label="3" border size="medium">评估报告</el-radio>
+                  <el-radio v-model="assetsProductionFrom.productionType" :label="4" border size="medium">意见函</el-radio>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row class="row-style">
+              <el-col :xs="24" :sm="12" :lg="12" :span="6" style="width: 345px;">
+                <el-form-item label="打印份数:" prop="printCount" label-width="120px" class="postInfo-container-item">
+                  <el-input v-model.number="assetsProductionFrom.printCount" class="filter-item" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row class="row-style">
+              <el-button @click="assetsProductionSave" style="width:100%;">提交</el-button>
+            </el-row>
+          </div>
+        </div>
+      </el-form>
+    </el-dialog>
   </div>
 </template>
 <script>
@@ -993,7 +1038,35 @@ export default {
         recordId: null,
         taskData: {}
       },
-      pNode:null
+      pNode: null,
+      // 产品选择表单可视状态
+      productionChoiceDialogVisible: false,
+      // 产品表单
+      assetsProductionFrom: {
+        businessId: null,
+        productionNo: null,
+        productionType: null,
+        signatory: null,
+        clientName: null,
+        valuationBasisDate: null,
+        evaluateAcreage: null,
+        evaluateAmount: null,
+        owner: null,
+        printCount: null,
+        createProductionDate: null,
+        comment: null,
+        filePath: []
+      },
+      // 产品选择表单校验规则
+      assetsProductionFromRules: {
+        productionType: [
+          { required: true, message: '请选择产品类型', trigger: 'change' }
+        ],
+        printCount: [
+          { required: true, message: '请填写打印份数', trigger: 'blur' },
+          { type: 'number', message: '请填写数字' }
+        ]
+      }
     }
   },
   watch: {
@@ -1008,8 +1081,8 @@ export default {
     this.getAllotDepartment();
     this.getCustomerCompany(0);
     this.getCustomerCompany(1);
-
-    this.getAssetsDetailById(this.pageParams.id);
+    this.getAssetsDetailById(this.pageParams.row.id);
+    this.getProductionTypes(this.pageParams.row.id);
   },
 
   methods: {
@@ -1037,7 +1110,7 @@ export default {
       verify.nextHandlerId = this.secondCheckUserId;
       if (commit.state === 'PASS') {
         let nodeCode = this.currentNode.nodeCode;
-        this.getProductions(this.majorId, (this.reportNo == null ? this.statementNo : this.reportNo));
+        console.log('3:', this.nodeBusinessInfo);
         switch (nodeCode) {
           case 'WRITE_STATEMENT':
             let notTakeNumberTargets = this.evaluateLandData.filter(function (e) {
@@ -1359,8 +1432,8 @@ export default {
     },
     // 获取流程节点信息
     getCurrentNodeInfo() {
-      if (this.pageParams.id) {
-        this.$api.workNodeInstance.currentNode({ "mainBusiness": "ASSET_BUSINESS", "businessId": this.pageParams.id, "businessSubId": this.pageParams.businessSubId, "businessMinId": this.pageParams.businessMinId }).then(res => {
+      if (this.pageParams.row.id) {
+        this.$api.workNodeInstance.currentNode({ "mainBusiness": "ASSET_BUSINESS", "businessId": this.pageParams.row.id, "businessSubId": this.pageParams.row.businessSubId, "businessMinId": this.pageParams.row.businessMinId }).then(res => {
           if (res.code === 200) {
             if (res.data) {
               this.currentNode = res.data;
@@ -1370,7 +1443,7 @@ export default {
               this.nodeBusinessInfo.currentNodePermission.reversible = res.data.reversible;
               this.nodeBusinessInfo.currentNodePermission.skippable = res.data.skippable;
               this.nodeBusinessInfo.currentNodePermission.terminable = res.data.terminable;
-              this.nodeBusinessInfo.businessId = this.pageParams.id;
+              this.nodeBusinessInfo.businessId = this.pageParams.row.id;
             }
           }
         })
@@ -1624,12 +1697,59 @@ export default {
         }
       })
     },
+    // 获取产品信息类型
+    getProductionTypes(id) {
+      this.$api.assets.getProductionTypes(id).then(res => {
+        if (res.code === 200) {
+          this.nodeBusinessInfo.production = res.data;
+          console.log('1:', this.nodeBusinessInfo.production);
+        }
+      })
+    },
     // 提交节点
     commit(state) {
       this.$refs.board.commit(state);
     },
     getPreviousNode(pNode) {
       this.pNode = pNode;
+    },
+    // 打开产品选择表单弹窗
+    openProductionDialog() {
+      this.productionChoiceDialogVisible = true;
+    },
+    // 选择产品,新增产品信息
+    assetsProductionSave() {
+      this.$refs.assetsProductionFrom.validate(valid => {
+        if (valid) {
+          this.assetsProductionFrom.businessId = this.assetsForm.id;
+          if (this.assetsProductionFrom.productionType == 1) {
+            // 价值意见书
+            this.assetsProductionFrom.productionType = 'STATEMENT';
+          } else if (this.assetsProductionFrom.productionType == 4) {
+            // 意见函
+            this.assetsProductionFrom.productionType = 'LETTER';
+          } else {
+            // 报告
+            this.assetsProductionFrom.productionType = 'REPORT';
+          }
+          this.assetsProductionFrom.filePath = JSON.stringify(this.assetsProductionFrom.filePath);
+          this.taskRecordDTO.recordId = this.currentNode.tasks[0].recordId;
+          this.taskRecordDTO.taskData = this.assetsProductionFrom;
+          this.$api.assets.assetsProductionSave(this.taskRecordDTO).then(res => {
+            if (res.code === 200) {
+              this.$notify({
+                title: '成功',
+                message: '添加资产业务评估对象成功!',
+                type: 'success',
+                duration: 2000
+              });
+              this.getProductionTypes(this.assetsForm.id);
+              this.productionChoiceDialogVisible = false;
+              this.$refs.assetsProductionFrom.resetFields();
+            }
+          })
+        }
+      })
     }
 
   }

+ 1 - 0
src/views/set/workflow/detail.vue

@@ -152,6 +152,7 @@
               <el-option key="4" label="报价反馈节点校验(个贷)" value="CHECK_FEEDBACK"/>
               <el-option key="5" label="出具产品类型校验(个贷)" value="CHECK_PERSONAL_PRODUCTION_TYPE"/>
               <el-option key="6" label="客户类型校验(个贷)" value="CHECK_PERSONAL_CLIENT_TYPE"/>
+              <el-option key="7" label="出具产品类型校验(资产)" value="CHECK_ASSET_PRODUCTION_TYPE"/>
             </el-select>
         </el-form-item>
         <el-form-item label="节点任务:" prop="tasks">