Procházet zdrojové kódy

1.资产业务详情页面添加基础信息选项卡及其内容

GouGengquan před 1 rokem
rodič
revize
7d1b31ab4c

+ 9 - 2
src/api/modules/assets.js

@@ -3,13 +3,20 @@ import request from '@/utils/request'
 * 资产业务
 */
 export default {
+    // 资产业务订单新增
     add(params) {
         return request.post(`assets/add`, params)
     },
+    // 资产列表分页查询
     selectPage(params){
-        return request.get('assets/selectPage', { params: params })
+        return request.get(`assets/selectPage`, { params: params })
     },
+    // 我的订单分页查询
     selectMyOrderPage(params){
-        return request.get('assets/selectMyOrderPage',{params: params})
+        return request.get(`assets/selectMyOrderPage`,{params: params})
+    },
+    // 根据业务id获取资产业务详情
+    getAssetsDetailById(params){
+        return request.get(`assets/getAssetsDetailById/${params}`)
     }
 }

+ 3 - 1
src/router/urlMap.js

@@ -94,6 +94,7 @@ import _views_personal_todo from '@/views/personal/todoDetail'
 import _views_assets_all_list from '@/views/assets/allList'
 import _views_assets_my_order_list from '@/views/assets/myOrderList'
 import _views_assets_add_order from '@/views/assets/addAssetsOrder'
+import _views_assets_order_detail from '@/views/assets/orderDetail'
 
 export default {
   _views_set_menu,
@@ -176,5 +177,6 @@ export default {
   _views_personal_todo,
   _views_assets_all_list,
   _views_assets_my_order_list,
-  _views_assets_add_order
+  _views_assets_add_order,
+  _views_assets_order_detail
 }

+ 1 - 1
src/views/assets/addAssetsOrder.vue

@@ -4,7 +4,7 @@
             <breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
             <div class="form-container">
                 <y-detail-page-layout ref="addAssetsOrder" @save="handleCreate" :editStatus="couldEdit" @doRecall="doRecall"
-                    :couldBack="couldBack" :rules="assetsFromRules">
+                    :couldBack="couldBack">
                     <el-form ref="assetsFrom" :model="assetsFrom" :rules="assetsFromRules">
                         <div class="createMajor-main-container">
                             <div class="postInfo-container">

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

@@ -149,7 +149,7 @@ export default {
             nodes: [],
             // 业务类型下拉列表
             assetsBusinessGeners: [
-            {
+                {
                     value: '单项资产',
                     label: '单项资产'
                 }, {
@@ -216,6 +216,12 @@ export default {
                 }
             })
         },
+        orderDetail(row) {
+            this.$router.push({
+                path: "/assets/orderDetail",
+                query: row
+            })
+        }
     }
 }
 </script>

+ 6 - 0
src/views/assets/myOrderList.vue

@@ -222,6 +222,12 @@ export default {
                 }
             })
         },
+        orderDetail(row) {
+            this.$router.push({
+                path: "/assets/orderDetail",
+                query: row
+            })
+        }
     }
 }
 </script>

+ 0 - 65
src/views/assets/oederDetail.vue

@@ -1,65 +0,0 @@
-<template>
-  <div class="app-container">
-    <el-collapse v-model="activeName" @change="handleChange">
-      <el-collapse-item>
-        <template slot="title">
-          <span style="font-size:20px; margin-left:20px;letter-spacing:2px;color:red">
-            <i class="el-icon-warning"></i>
-            <span> 当前节点:{{ currentNode == null ? '???' : currentNode.nodeName }}</span>
-            <span> 项目编号:{{ nodeBusinessInfo.businessSubId }}</span>
-          </span>
-          <span style="font-size:15px; margin-left:15px;letter-spacing:2px; color:RGB(168,168,168)">
-            点击展开查看实时流程图
-          </span>
-        </template>
-        <WorkflowBoard ref='board' @workflowCommitVerify="workflowCommitVerify" :nodeBusinessInfo="nodeBusinessInfo" />
-      </el-collapse-item>
-    </el-collapse>
-    <div class="button-area">
-      <el-button v-if="nodeBusinessInfo.currentNodePermission.commit" class="y-save" type="success" round
-        @click="commit('PASS')" :disabled="!nodeBusinessInfo.doWorkflow">提交</el-button>
-      <el-button v-if="nodeBusinessInfo.currentNodePermission.reversible" class="y-save" type="warning" round
-        @click="commit('REVERSE')" :disabled="!nodeBusinessInfo.doWorkflow">退回</el-button>
-      <el-button v-if="nodeBusinessInfo.currentNodePermission.skippable" class="y-save" type="warning" round
-        @click="commit('SKIP')" :disabled="!nodeBusinessInfo.doWorkflow">跳过</el-button>
-      <el-button v-if="nodeBusinessInfo.currentNodePermission.terminable" class="y-save" type="danger" round
-        @click="commit('TERMINATE')" :disabled="!nodeBusinessInfo.doWorkflow">终止</el-button>
-      <el-button v-if="nodeBusinessInfo.currentNodePermission.restartable" class="y-save" type="danger" round
-        @click="commit('RESTART')" :disabled="!nodeBusinessInfo.doWorkflow">重置</el-button>
-      <el-button class="y-save" round type="info" @click="goBack">返回</el-button>
-    </div>
-  </div>
-</template>
-<script>
-import YDetailPageLayout from '@/components/YDetailPageLayout/index_detail'
-import WorkflowBoard from '@/components/workflowBoard'
-import ScanEntry from '@/components/ScanEntry'
-import { isNumber, phoneNumber, postiveInteger, isIdNumber } from '@/utils/validate'
-import { calculateTargetPrice, validateParams } from '@/utils/personalUtil'
-import HouseCertificate from '@/components/personalForms/houseCertificate'
-import LandCertificate from '@/components/personalForms/landCertificate'
-import ImmovableCertificate from '@/components/personalForms/immovableCertificate'
-import EntityInfo from '@/components/personalForms/entityInfo'
-import BackgroundInfo from '@/components/personalForms/backgroundInfo'
-import SellingAbilityInfo from '@/components/personalForms/sellingAbilityInfo'
-import existPNG from '@/assets/images/exist.png'
-import emptyPNG from '@/assets/images/empty.png'
-
-export default {
-  name: 'personalTodoDetail',
-  components: {
-    YDetailPageLayout,
-    WorkflowBoard,
-    ScanEntry,
-    HouseCertificate,
-    LandCertificate,
-    ImmovableCertificate,
-    EntityInfo,
-    BackgroundInfo,
-    SellingAbilityInfo
-  },
-  watch: {
-    
-  }
-}
-</script>

+ 842 - 0
src/views/assets/orderDetail.vue

@@ -0,0 +1,842 @@
+<template>
+  <div class="app-container">
+    <el-collapse v-model="activeName" @change="handleChange">
+      <el-collapse-item>
+        <template slot="title">
+          <span style="font-size:20px; margin-left:20px;letter-spacing:2px;color:red">
+            <i class="el-icon-warning"></i>
+            <span> 当前节点:{{ currentNode == null ? '???' : currentNode.nodeName }}</span>
+            <span> 项目编号:{{ nodeBusinessInfo.businessSubId }}</span>
+          </span>
+          <span style="font-size:15px; margin-left:15px;letter-spacing:2px; color:RGB(168,168,168)">
+            点击展开查看实时流程图
+          </span>
+        </template>
+        <WorkflowBoard ref='board' @workflowCommitVerify="workflowCommitVerify" :nodeBusinessInfo="nodeBusinessInfo" />
+      </el-collapse-item>
+    </el-collapse>
+    <el-tabs v-model="activeTagName" @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" :editStatus="false">
+          <el-form ref="assetsFrom" :model="assetsFrom" :rules="assetsFromRules" :disabled="true">
+            <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="6" :span="6">
+                    <el-form-item label="客户经理:" prop="clientManager"
+                      label-width="120px" class="postInfo-container-item">
+                      <el-input :value="assetsFrom.clientManagerName" class="filter-item" readonly disabled
+                        style=" width: 225px" />
+                    </el-form-item>
+                  </el-col>
+                  <el-col :xs="24" :sm="12" :lg="4" :span="6">
+                    <el-form-item label="接单部门:" prop="departmentId" 
+                      label-width="120px" class="postInfo-container-item">
+                      <el-select v-model="assetsFrom.departmentId">
+                        <!-- <el-option v-for="(d, id) in allotDepartment" :label="d.name" :value="d.id"></el-option> -->
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row class="row-style">
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                    <el-form-item prop="name" label-width="120px"
+                      class="postInfo-container-item" label="项目名称:">
+                      <el-input v-model="assetsFrom.name" class="filter-item" />
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row class="row-style">
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                    <el-form-item label="业务类型:" prop="assetsBusinessGener"
+                      label-width="120px" class="postInfo-container-item">
+                      <el-select v-model="assetsFrom.assetsBusinessGener" filterable placeholder="业务类型">
+                        <el-option v-for="(s, index) in assetsBusinessGeners" :label="s.label"
+                          :value="s.value"></el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                    <el-form-item label="客户再次委托:" prop="entrustAgain"
+                      label-width="140px" class="postInfo-container-item">
+                      <el-radio v-model="assetsFrom.entrustAgain" :label="false" border size="medium">否</el-radio>
+                      <el-radio v-model="assetsFrom.entrustAgain" :label="true" border size="medium">是</el-radio>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row class="row-style">
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                    <el-form-item label="客户类型:" prop="clienteleType"
+                      label-width="120px" class="postInfo-container-item">
+                      <el-select v-model="assetsFrom.clienteleType" placeholder="请选择"
+                        @change="changeCustomerType(assetsFrom.clienteleType)">
+                        <el-option label="企业" value="企业"></el-option>
+                        <el-option label="个人" value="个人"></el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                    <el-form-item label="客户名称:" prop="clienteleId" label-width="120px"
+                      class="postInfo-container-item" v-if="itemHideStatus">
+                      <el-select v-model="assetsFrom.clienteleId" placeholder="请选择(可搜索)" @change="findSubClientele(0)"
+                        clearable filterable>
+                        <el-option v-for="(c, id) in customerCompany" :label="c.name" :value="c.id"></el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                    <el-form-item label="业务来源:" prop="clienteleSubId" label-width="120px"
+                      class="postInfo-container-item" v-if="itemHideStatus">
+                      <el-select v-model="assetsFrom.clienteleSubId" placeholder="请选择(可搜索)" @change="getCustomerContract"
+                        clearable filterable>
+                        <el-option v-for="(s, id) in subCustomerCompany" :label="s.name" :value="s.id"></el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row class="row-style">
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                    <el-form-item label="客户联系人:" prop="clienteleContactId"
+                      label-width="120px" class="postInfo-container-item">
+                      <div>
+                        <el-select v-model="assetsFrom.clienteleContactId" placeholder="请选择(可搜索)" clearable filterable
+                          @change="" style="width:60%">
+                          <el-option v-for="(c, id) in customerContract" :label="c.name" :value="c.id"></el-option>
+                        </el-select>
+                        <!-- <el-tooltip class="item" effect="dark" content="没有联系人?点击新增" placement="top-end">
+                          <span style="margin-left:5%;color:RGB(64,158,255);cursor:pointer"
+                            @click="createLinkman(false)">新增</span>
+                        </el-tooltip> -->
+                      </div>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                    <el-form-item label="联系人电话:" prop="mobile" label-width="120px" class="postInfo-container-item">
+                      <el-input :value="assetsFrom.linkmanMobile" class="filter-item" readonly disabled
+                        style=" width: 225px" />
+                    </el-form-item>
+                  </el-col>
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                    <el-form-item label="联系人部门:" prop="department" label-width="120px" class="postInfo-container-item">
+                      <el-input :value="assetsFrom.linkmanDepartment" class="filter-item" readonly disabled
+                        style=" width: 225px" />
+                    </el-form-item>
+                  </el-col>
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                    <el-form-item label="联系人职务:" prop="duty" label-width="120px" class="postInfo-container-item">
+                      <el-input :value="assetsFrom.linkmanDuty" class="filter-item" readonly disabled
+                        style=" width: 225px" />
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row class="row-style">
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                    <el-form-item label="是否证券项目:" prop="security" label-width="140px"
+                      class="postInfo-container-item">
+                      <el-radio v-model="assetsFrom.security" :label="false" border size="medium">否</el-radio>
+                      <el-radio v-model="assetsFrom.security" :label="true" border size="medium">是</el-radio>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                    <el-form-item label="是否资产重组项目:" prop="significantAssetsReorganization"
+                       label-width="200px"
+                      class="postInfo-container-item">
+                      <el-radio v-model="assetsFrom.significantAssetsReorganization" :label="false" border
+                        size="medium">否</el-radio>
+                      <el-radio v-model="assetsFrom.significantAssetsReorganization" :label="true" border
+                        size="medium">是</el-radio>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                    <el-form-item label=" 是否国资项目:" prop="stateAssets"
+                      label-width="140px" class="postInfo-container-item">
+                      <el-radio v-model="assetsFrom.stateAssets" :label="false" border size="medium">否</el-radio>
+                      <el-radio v-model="assetsFrom.stateAssets" :label="true" border size="medium">是</el-radio>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                    <el-form-item label="是否涉及境外资产:" prop="foreignAssetsInvolved"
+                      label-width="200px" class="postInfo-container-item">
+                      <el-radio v-model="assetsFrom.foreignAssetsInvolved" :label="false" border
+                        size="medium">否</el-radio>
+                      <el-radio v-model="assetsFrom.foreignAssetsInvolved" :label="true" border size="medium">是</el-radio>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                    <el-form-item label="是否分配产值:" prop="dispenseBenefit"
+                      label-width="140px" class="postInfo-container-item">
+                      <el-radio v-model="assetsFrom.dispenseBenefit" :label="false" border size="medium">否</el-radio>
+                      <el-radio v-model="assetsFrom.dispenseBenefit" :label="true" border size="medium">是</el-radio>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row class="row-style">
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                    <el-form-item label="委托人:" prop="bailor" label-width="120px" class="postInfo-container-item">
+                      <el-input v-model="assetsFrom.bailor" class="filter-item" style=" width: 225px" />
+                    </el-form-item>
+                  </el-col>
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                    <el-form-item label="委托联系人:" prop="bailorContactName" label-width="120px"
+                      class="postInfo-container-item">
+                      <el-input v-model="assetsFrom.bailorContactName" class="filter-item" style=" width: 225px" />
+                    </el-form-item>
+                  </el-col>
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                    <el-form-item label="委托人联系人电话:" prop="bailorContactTel" label-width="160px"
+                      class="postInfo-container-item">
+                      <el-input v-model="assetsFrom.bailorContactTel" class="filter-item" style=" width: 225px" />
+                    </el-form-item>
+                  </el-col>
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                    <el-form-item label="委托人地址:" prop="bailorAddress" label-width="120px" class="postInfo-container-item">
+                      <el-input v-model="assetsFrom.bailorAddress" class="filter-item" style=" width: 225px" />
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row class="row-style">
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                    <el-form-item label="终端客户类型:" prop="terminalClienteleType"
+                       label-width="140px" class="postInfo-container-item">
+                      <el-select v-model="assetsFrom.terminalClienteleType" placeholder="请选择" style="width:205px">
+                        <el-option label="企业" value="企业"></el-option>
+                        <el-option label="个人" value="个人"></el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="assetsFrom.terminalClienteleType === '企业'">
+                    <el-form-item label="终端客户名称:" prop="terminalClienteleId" label-width="140px"
+                       class="postInfo-container-item">
+                      <div v-if="couldEdit">
+                        <el-select v-model="assetsFrom.terminalClienteleId" placeholder="请选择(可搜索)"
+                          @change="findSubClientele(1)" clearable filterable style="width:80%">
+                          <el-option v-for="(c, id) in tCustomerCompany" :label="c.name" :value="c.id"></el-option>
+                        </el-select>
+                        <!-- <el-tooltip class="item" effect="dark" content="没有终端客户?点击新增" placement="top-end">
+                          <span style="margin-left:5%;color:RGB(64,158,255);cursor:pointer"
+                            @click="createTerminalClient()">新增</span>
+                        </el-tooltip> -->
+                      </div>
+                      <el-input :value="assetsFrom.tterminalClienteleName" class="filter-item" style=" width: 225px"
+                        v-else />
+                    </el-form-item>
+                  </el-col>
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="assetsFrom.terminalClienteleType === '个人'">
+                    <el-form-item label="终端联系人:" prop="terminalClienteleContactId" label-width="120px"
+                      class="postInfo-container-item">
+                      <div v-if="couldEdit">
+                        <el-select v-model="assetsFrom.terminalClienteleContactId" placeholder="请选择(可搜索)" clearable
+                          filterable @change="" style="width:80%">
+                          <el-option v-for="(c, id) in tCustomerContract" :label="c.name" :value="c.id"></el-option>
+                        </el-select>
+                        <!-- <el-tooltip class="item" effect="dark" content="没有联系人?点击新增" placement="top-end">
+                          <span style="margin-left:5%;color:RGB(64,158,255);cursor:pointer"
+                            @click="createTlinkman()">新增</span>
+                        </el-tooltip> -->
+                      </div>
+                      <el-input :value="assetsFrom.tterminalClienteleContactName" class="filter-item"
+                        style=" width: 225px" v-else />
+                    </el-form-item>
+                  </el-col>
+                  <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                    <el-form-item label="终端联系电话:" prop="clienteleType" label-width="150px"
+                      class="postInfo-container-item">
+                      <el-input :value="assetsFrom.tlinkmanMobile" class="filter-item" readonly disabled
+                        style=" width: 215px" />
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row class="row-style">
+                  <el-col :xs="24" :sm="12" :lg="23" :span="12">
+                    <el-form-item label="备注:" prop="remark" label-width="120px" class="postInfo-container-item">
+                      <el-input v-model="assetsFrom.remark" :autosize="{ minRows: 4, maxRows: 4 }" class="filter-item"
+                        type="textarea" />
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+              </div>
+            </div>
+          </el-form>
+        </y-detail-page-layout>
+      </el-tab-pane>
+      <el-tab-pane name="members" class="pane-class" :lazy=true>
+        <span slot="label"><i class="el-icon-document"></i>项目人员</span>
+      </el-tab-pane>
+      <el-tab-pane name="target" class="pane-class" :lazy=true>
+        <span slot="label"><i class="el-icon-document"></i>资产评估对象</span>
+      </el-tab-pane>
+      <el-tab-pane name="finance" class="pane-class" :lazy=true>
+        <span slot="label"><i class="el-icon-document"></i>款项信息</span>
+      </el-tab-pane>
+    </el-tabs>
+  </div>
+</template>
+<script>
+import YDetailPageLayout from '@/components/YDetailPageLayout/index_detail'
+import WorkflowBoard from '@/components/workflowBoard'
+import ScanEntry from '@/components/ScanEntry'
+import { isNumber, phoneNumber, postiveInteger, isIdNumber } from '@/utils/validate'
+import { calculateTargetPrice, validateParams } from '@/utils/personalUtil'
+import HouseCertificate from '@/components/personalForms/houseCertificate'
+import LandCertificate from '@/components/personalForms/landCertificate'
+import ImmovableCertificate from '@/components/personalForms/immovableCertificate'
+import EntityInfo from '@/components/personalForms/entityInfo'
+import BackgroundInfo from '@/components/personalForms/backgroundInfo'
+import SellingAbilityInfo from '@/components/personalForms/sellingAbilityInfo'
+import existPNG from '@/assets/images/exist.png'
+import emptyPNG from '@/assets/images/empty.png'
+
+export default {
+  name: 'personalTodoDetail',
+  components: {
+    YDetailPageLayout,
+    WorkflowBoard,
+    ScanEntry,
+    HouseCertificate,
+    LandCertificate,
+    ImmovableCertificate,
+    EntityInfo,
+    BackgroundInfo,
+    SellingAbilityInfo
+  },
+  data() {
+    return {
+      couldEdit: null,
+      couldBack: null,
+      // 表单项目隐藏字段
+      itemHideStatus: false,
+      createLinkmanVisible: false,
+      // 资产业务下单表单校验规则
+      assetsFromRules: {
+        clientManager: [
+          { required: true, message: '客户经理不能为空', trigger: 'blur' }
+        ],
+        departmentId: [
+          { required: true, message: '请选择接单部门', trigger: 'change' }
+        ],
+        name: [
+          { required: true, message: '项目名称不能为空', trigger: 'blur' }
+        ],
+        assetsBusinessGener: [
+          { required: true, message: '请选择业务类型', trigger: 'change' }
+        ],
+        entrustAgain: [
+          { required: true, message: '请选择客户是否再次委托', trigger: 'change' }
+        ],
+        clienteleType: [
+          { required: true, message: '请选择客户类型', trigger: 'change' }
+        ],
+        clienteleId: [
+          { required: true, message: '请选择客户名称', trigger: 'change' }
+        ],
+        clienteleSubId: [
+          { required: true, message: '请选择业务来源', trigger: 'change' }
+        ],
+        clienteleContactId: [
+          { required: true, message: '请选择客户联系人', trigger: 'change' }
+        ],
+        security: [
+          { required: true, message: '请选择是否证券项目', trigger: 'change' }
+        ],
+        significantAssetsReorganization: [
+          { required: true, message: '请选择是否资产重组项目', trigger: 'change' }
+        ],
+        stateAssets: [
+          { required: true, message: '请选择是否是否国资项目', trigger: 'change' }
+        ],
+        foreignAssetsInvolved: [
+          { required: true, message: '请选择是否 是否涉及境外资产', trigger: 'change' }
+        ],
+        dispenseBenefit: [
+          { required: true, message: '请选择是否是否分配产值', trigger: 'change' }
+        ],
+        terminalClienteleType: [
+          { required: true, message: '请选择终端客户类型', trigger: 'change' }
+        ],
+        terminalClienteleId: [
+          { required: true, message: '终端客户名称不能为空', trigger: 'blur' }
+        ],
+        terminalClienteleContactId: [
+          { required: true, message: '终端联系人不能为空', trigger: 'blur' }
+        ]
+      },
+      workflowLogs: [],
+      activeName: 'workflowInfo',
+      activeTagName: "baseInfo",
+      nodeBusinessInfo: {
+        currentNodePermission: {
+          commit: true,
+          reversible: true,
+          restartable: true,
+          terminable: true,
+          skippable: true,
+        },
+        mainBusiness: "PERSONAL_BUSINESS",
+        doWorkflow: false,
+        businessId: null,
+        currentNodeInstanceId: null,
+        currentNodeInstanceCode: null,
+        production: [],
+        businessSubId: null,
+        ifFeedback: null
+      },
+      currentNode: {
+        flowId: null,
+        pnodeId: null,
+        nodeId: null,
+        flowCode: null,
+        nodeName: "",
+        nodeCode: null,
+        state: "",
+        instanceId: null,
+        sequence: null,
+        restartable: null,
+        reversible: null,
+        skippable: null,
+        terminable: null,
+        tasks: []
+      },
+      assetsFrom: {
+        // 项目名
+        name: null,
+        // 客户经理id
+        clientManagerId: this.$store.getters.userInfo.id,
+        // 客户经理
+        clientManagerName: this.$store.getters.userInfo.name,
+        // 接单部门id
+        departmentId: null,
+        // 资产业务类型
+        assetsBusinessGener: null,
+        // 客户再次委托
+        entrustAgain: null,
+        // 客户类型(企业,个人)
+        clienteleType: null,
+        // 客户id
+        clienteleId: null,
+        // 业务来源(下级客户id)
+        clienteleSubId: null,
+        // 客户联系人id
+        clienteleContactId: null,
+        // 是否证券项目
+        security: null,
+        // 是否资产重组项目
+        significantAssetsReorganization: null,
+        // 是否国资项目
+        stateAssets: null,
+        // 是否涉及境外资产
+        foreignAssetsInvolved: null,
+        // 是否分配产值
+        dispenseBenefit: null,
+        // 委托人
+        bailor: null,
+        // 委托人地址
+        bailorAddress: null,
+        // 委托联系人姓名
+        bailorContactName: null,
+        // 委托人联系人电话
+        bailorContactTel: null,
+        // 终端客户id
+        terminalClienteleId: null,
+        // 终端客户类型
+        terminalClienteleType: null,
+        // 终端联系人id
+        terminalClienteleContactId: null,
+        // 备注
+        remark: null,
+        // 终端联系电话
+        tmobile: null,
+        // 分单类型
+        allotType: "指派"
+      },
+      // 客户联系人信息
+      linkmanInfo: {
+
+      },
+      // 
+      pageParams: {
+
+      },
+      // 业务类型下拉列表
+      assetsBusinessGeners: [
+        {
+          value: '单项资产',
+          label: '单项资产'
+        }, {
+          value: '整体资产',
+          label: '整体资产'
+        }, {
+          value: '无形资产',
+          label: '无形资产'
+        }, {
+          value: '债权',
+          label: '债权'
+        }, {
+          value: '其他',
+          label: '其他'
+        }
+      ],
+      // 接单部门
+      allotDepartment: [],
+      // 客户信息
+      customerCompany: [],
+      // 业务信息(二级客户)
+      subCustomerCompany: [],
+      // 客户联系人下拉列表
+      customerContract: [],
+      // 终端客户下拉列表
+      tCustomerCompany: [],
+      // 终端联系人下拉列表
+      tCustomerContract: []
+    }
+  },
+  watch: {
+
+  },
+  created() {
+    this.couldEdit = true;
+    this.couldBack = true;
+    // 获取页面参数
+    this.pageParams = this.$route.query;
+    this.getAllotDepartment();
+    this.getCustomerCompany(0);
+    this.getCustomerCompany(1);
+    this.getAssetsDetailById(this.pageParams.id);
+  },
+
+  methods: {
+    // 根据业务id获取资产业务详情
+    getAssetsDetailById(id) {
+      this.$api.assets.getAssetsDetailById(id).then(res => {
+        if (res.code === 200) {
+          this.assetsFrom = res.data;
+          this.initCustomerSelect(this.assetsFrom.clienteleType);
+        }
+      })
+    },
+    handleChange() {
+
+    },
+    workflowCommitVerify(val, callback) {
+      let commit = val.commit;
+      let verify = new Object();
+      verify.state = true;
+      verify.productionType = this.feedback;
+      if (commit.state === 'PASS') {
+        let nodeCode = this.nodeBusinessInfo.currentNodeInstanceCode
+        switch (nodeCode) {
+          case 'DEPARTMENT_ALLOCATION':
+            if (!this.personal.outwardStaff) {
+              this.$notify({
+                title: '提示',
+                message: '请确定外业人员后,再提交流程。',
+                type: 'error',
+                duration: 3000
+              });
+              verify.state = false;
+            } else {
+              verify.nextHandlerId = this.personal.outwardStaff;
+            }
+            callback(verify);
+            return;
+          case "DETERMINE_PRICE":
+            if (!this.target.feedback) {
+              verify.state = false;
+              callback(verify);
+              this.decideProductionTypeDialog = true
+              return;
+            }
+          case "GENERATE_STATEMENT":
+            if (this.statementProd == null || this.statementProd.files.length === 0) {
+              this.$notify({
+                title: '提示',
+                message: '请生成或上传房地产意见书后,再提交流程',
+                type: 'error',
+                duration: 3000
+              });
+              verify.state = false;
+            }
+            callback(verify);
+            return;
+          case "REVIEW_STATEMENT":
+            const id = this.statementProd.id
+            this.checkPass(id);
+            callback(verify);
+            return;
+          case "WRITE_REPORT":
+            if (this.technicReportProd == null || this.technicReportProd.files.length === 0) {
+              this.$notify({
+                title: '提示',
+                message: '请生成或上传技术报告后,再提交流程',
+                type: 'error',
+                duration: 3000
+              });
+              verify.state = false;
+              callback(verify);
+              return
+            }
+            if (this.finalReprotProd == null || this.finalReprotProd.files.length === 0) {
+              this.$notify({
+                title: '提示',
+                message: '请生成或上传结果报告后,再提交流程',
+                type: 'error',
+                duration: 3000
+              });
+              verify.state = false;
+              callback(verify);
+              return
+            }
+            callback(verify);
+            return;
+        }
+      }
+    },
+    goBack() {
+      const back = this.$route.query.back
+      if (back) {
+        this.$router.push(back)
+      }
+    },
+    handleClick(tab) {
+
+    },
+    // 改变客户类型时进行值重置的操作
+    changeCustomerType(val) {
+      // 清空联系人下拉列表
+      this.assetsFrom.clienteleContactId = null;
+      this.assetsFrom.clienteleSubId = null;
+      this.customerContract = [];
+      if (val === "企业") {
+        this.getCustomerCompany(0);
+        this.itemHideStatus = true;
+      } else {
+        this.getCustomerContract(1);
+        this.itemHideStatus = false;
+      }
+    },
+    initCustomerSelect(val) {
+      if (val === "企业") {
+        this.getCustomerCompany(0);
+        this.getCustomerContract();
+        this.itemHideStatus = true;
+      } else {
+        this.getCustomerContract(1);
+        this.itemHideStatus = false;
+      }
+    },
+    // 获取部门下拉列表
+    getAllotDepartment() {
+      this.$api.department.allot().then(res => {
+        if (res.code === 200) {
+          this.allotDepartment = res.data;
+        }
+      })
+    },
+    // 获取客户信息
+    getCustomerCompany(val) {
+      if (val === 0) {
+        let simpleAll = new Object();
+        simpleAll.terminal = val;
+        this.$api.customerCompany.simpleAll(simpleAll).then(res => {
+          if (res.code === 200) {
+            this.customerCompany = res.data;
+            this.findSubClientele(0);
+          }
+        })
+      } else {
+        let simpleAll = new Object();
+        simpleAll.terminal = val;
+        this.$api.customerCompany.simpleAll(simpleAll).then(res => {
+          if (res.code === 200) {
+            this.tCustomerCompany = res.data;
+          }
+        })
+      }
+    },
+    // 打开新建客户联系人弹窗
+    createLinkman(val) {
+      // 打开前判断是否已经选择客户信息
+      if (this.assetsFrom.clienteleType === "个人" || this.assetsFrom.clienteleType != null && this.assetsFrom.clienteleId != null && this.assetsFrom.clienteleSubId != null) {
+        this.createLinkmanVisible = true;
+        this.linkmanFrom.terminal = val;
+        this.linkmanFrom.clienteleType = this.assetsFrom.clienteleType;
+        this.linkmanFrom.clienteleId = this.assetsFrom.clienteleId;
+        this.linkmanFrom.clienteleSubId = this.assetsFrom.clienteleSubId;
+        if (this.assetsFrom.clienteleType === '企业') {
+          this.linkmanFrom.ccId = this.assetsFrom.clienteleSubId
+        } else {
+          this.assetsFrom.clienteleSubId = 1;
+          this.linkmanFrom.ccId = this.assetsFrom.clienteleSubId;
+        }
+      } else {
+        this.$notify({
+          title: '警告',
+          message: '请先选择客户!',
+          type: 'warning',
+          duration: 2000
+        });
+      }
+
+    },
+    // 获取客户联系人列表
+    getCustomerContract(val) {
+      // if (this.assetsFrom.clienteleSubId) {
+      let simpleAll = new Object();
+      simpleAll.terminal = 0;
+      if (val === 1) {
+        simpleAll.ccId = val;
+      } else {
+        simpleAll.ccId = this.assetsFrom.clienteleSubId;
+      }
+      this.$api.customerLinkman.simpleAll(simpleAll).then(res => {
+        if (res.code === 200) {
+          this.customerContract = res.data;
+          // if (this.assetsFrom.clienteleContactId) {
+          //   this.assetsFrom.clienteleContactId = null
+          // }
+        }
+      })
+      // }
+    },
+    // 获取二级客户信息(业务来源)
+    findSubClientele(val) {
+      if (val === 0) {
+        if (this.assetsFrom.clienteleId) {
+          let simpleAll = new Object();
+          simpleAll.terminal = val;
+          simpleAll.parentId = this.assetsFrom.clienteleId;
+          this.$api.customerCompany.simpleAll(simpleAll).then(res => {
+            if (res.code === 200) {
+              this.subCustomerCompany = res.data;
+              // if (this.assetsFrom.clienteleSubId) {
+              //   this.assetsFrom.clienteleSubId = null
+              // }
+              // if (this.assetsFrom.clienteleContactId) {
+              //   this.assetsFrom.clienteleContactId = null
+              //   this.customerContract = [];
+              // }
+            }
+          })
+        }
+      } else {
+        if (this.assetsFrom.terminalClienteleId) {
+          let simpleAll = new Object();
+          simpleAll.terminal = val;
+          simpleAll.ccId = this.assetsFrom.terminalClienteleId;
+          this.$api.customerCompany.detail(this.assetsFrom.terminalClienteleId).then(res => {
+            if (res.code === 200) {
+              this.assetsFrom.tmobile = res.data.phone;
+            }
+          })
+        }
+      }
+    },
+    // 打开新增终端客户弹窗
+    createTerminalClient() {
+      this.createTerminalClientVisible = true;
+    }
+  }
+
+}
+</script>
+
+<style lang="scss" scoped>
+.row-style {
+  margin-left: 40px;
+  margin-right: 1%;
+}
+
+.major-radio {
+  width: 92px
+}
+
+.task-class {
+  /deep/ .el-form-item__label {
+    color: red;
+  }
+}
+
+.evaluate-table {
+  margin-left: 40px;
+  margin-top: 35px;
+}
+
+.pane-class {
+  height: 800px;
+  width: 100%;
+  overflow-y: scroll;
+}
+
+/deep/ .cell-class {
+  font-size: 13px;
+  color: black;
+}
+
+.table {
+  /deep/ thead {
+    .el-table-column--selection {
+      .cell {
+        display: none;
+      }
+    }
+  }
+}
+
+/deep/.doWarehouseClass {
+  border-radius: 10px;
+}
+
+.button-area {
+  position: absolute;
+  top: 20px;
+  right: 50px;
+}
+
+.error-type {
+  margin-right: 5px;
+}
+
+.error-type:hover {
+  cursor: pointer;
+}
+
+.box-card {
+  margin-top: 40px
+}
+
+.time {
+  font-size: 13px;
+  color: #999;
+  float: right;
+  margin-top: 5px;
+}
+
+.bottom {
+  margin-top: 13px;
+  line-height: 12px;
+}
+
+.button {
+  float: left;
+}
+
+.image {
+  width: 100%;
+  padding: 0%;
+  display: block;
+}
+
+.control {
+  z-index: 999;
+  position: relative;
+  top: 10px;
+}
+</style>