Browse Source

1.添加资产业务评估对象相关页面信息与接口调用

GouGengquan 1 year ago
parent
commit
362b11cf13
2 changed files with 430 additions and 44 deletions
  1. 24 0
      src/api/modules/assets.js
  2. 406 44
      src/views/assets/orderDetail.vue

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

@@ -18,5 +18,29 @@ export default {
     // 根据业务id获取资产业务详情
     getAssetsDetailById(params){
         return request.get(`assets/getAssetsDetailById/${params}`)
+    },
+    // 修改项目负责人与项目成员信息
+    updatePrincipalAndMembers(params){
+        return request.put(`assets/updatePrincipalAndMembers`,params)
+    },
+    // 根据资产业务id获取资产业务评估对象集合
+    getAETargetListByAssetsId(params){
+        return request.get(`assetsEvaluationTarget/getAETargetListByAssetsId/${params}`)
+    },
+    // 获取所有资产评估目的集合
+    getPurpose(){
+        return request.get(`assetsEvaluationTargetPurpose/getPurpose`)
+    },
+    // 获取所有评估方法集合
+    getAssetsEvaluationMethod(){
+        return request.get(`assetsEvaluationMethod/getAssetsEvaluationMethod`)
+    },
+    // 获取所有资产价值类型
+    getAssetsValueType(){
+        return request.get(`assetsValueType/getAssetsValueType`)
+    },
+    // 根据父级id获取资产评估对象类型
+    getTypeList(params){
+        return request.get(`assetsEvaluationTargetType/getTypeList/${params}`)
     }
 }

+ 406 - 44
src/views/assets/orderDetail.vue

@@ -18,8 +18,8 @@
     <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">
+        <y-detail-page-layout ref="addAssetsOrder" name="assets" :editStatus="editStatus">
+          <el-form ref="assetsFrom" :model="assetsFrom" :rules="assetsFromRules" :disabled="disabledStatus">
             <div class="createMajor-main-container">
               <div class="postInfo-container">
                 <div>
@@ -32,42 +32,39 @@
                 </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-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-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-option v-for="(d, id) in allotDepartment" :label="d.name" :value="d.id"
+                          :key="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-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-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-option v-for="(s, index) in assetsBusinessGeners" :label="s.label" :value="s.value"
+                          :key="s.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="entrustAgain"
-                      label-width="140px" class="postInfo-container-item">
+                    <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>
@@ -75,8 +72,7 @@
                 </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-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>
@@ -85,32 +81,35 @@
                     </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-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-option v-for="(c, id) in customerCompany" :label="c.name" :value="c.id"
+                          :key="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-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-option v-for="(s, id) in subCustomerCompany" :label="s.name" :value="s.id"
+                          :key="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">
+                    <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-option v-for="(c, id) in customerContract" :label="c.name" :value="c.id"
+                            :key="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"
@@ -140,15 +139,13 @@
                 </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-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"
+                    <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>
@@ -157,23 +154,22 @@
                     </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-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-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-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>
@@ -205,8 +201,8 @@
                 </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-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>
@@ -215,11 +211,12 @@
                   </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">
+                      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-option v-for="(c, id) in tCustomerCompany" :label="c.name" :value="c.id"
+                            :key="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"
@@ -236,7 +233,8 @@
                       <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-option v-for="(c, id) in tCustomerContract" :label="c.name" :value="c.id"
+                            :key="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"
@@ -270,14 +268,192 @@
       </el-tab-pane>
       <el-tab-pane name="members" class="pane-class" :lazy=true>
         <span slot="label"><i class="el-icon-document"></i>项目人员</span>
+        <y-detail-page-layout @save="updatePrincipalAndMembers" ref="addAssetsOrder" name="assets"
+          :editStatus="editStatus">
+          <el-form ref="assetsFrom" :model="assetsFrom" :rules="assetsFromRules" :disabled=disabledStatus>
+            <div class="createMajor-main-container">
+              <div class="postInfo-container">
+                <div style="margin-top: 35px;">
+                  <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="principalId" label-width="120px"
+                      :class="['postInfo-container-item', currentNode.nodeCode === 'DEPARTMENT_ALLOCATION' ? 'task-class' : '']"
+                      :rules="{ required: true, message: '项目负责人不能为空', trigger: 'blur' }">
+                      <el-select v-model="assetsFrom.principalId" placeholder="请选择"
+                        :filterable="currentNode.nodeCode === 'DEPARTMENT_ALLOCATION'"
+                        :clearable="currentNode.nodeCode === 'DEPARTMENT_ALLOCATION'"
+                        :readonly="currentNode.nodeCode != 'DEPARTMENT_ALLOCATION'"
+                        :disabled="currentNode.nodeCode != 'DEPARTMENT_ALLOCATION'">
+                        <el-option v-for="(p, id) in principals" :label="p.name" :value="p.id" :key="p.id"></el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row class="row-style">
+                  <el-col :xs="24" :sm="12" :lg="3" :span="6">
+                    <el-form-item label="项目成员:" prop="members" label-width="120px"
+                      :class="['postInfo-container-item', currentNode.nodeCode === 'DEPARTMENT_ALLOCATION' ? 'task-class' : '']"
+                      :rules="{ required: true, message: '项目成员不能为空', trigger: 'blur' }">
+                      <el-select v-model="assetsFrom.members" placeholder="请选择" multiple
+                        :filterable="currentNode.nodeCode === 'DEPARTMENT_ALLOCATION'"
+                        :clearable="currentNode.nodeCode === 'DEPARTMENT_ALLOCATION'"
+                        :readonly="currentNode.nodeCode != 'DEPARTMENT_ALLOCATION'"
+                        :disabled="currentNode.nodeCode != 'DEPARTMENT_ALLOCATION'" style=" width: 686px">
+                        <el-option v-for="(u, id) in allUsers" :label="u.name" :value="u.id" :key="u.id"></el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+              </div>
+            </div>
+          </el-form>
+        </y-detail-page-layout>
       </el-tab-pane>
       <el-tab-pane name="target" class="pane-class" :lazy=true>
-        <span slot="label"><i class="el-icon-document"></i>资产评估对象</span>
+        <span @click="getAETargetListByAssetsId" slot="label"><i class="el-icon-document"></i>资产评估对象</span>
+        <div class="createMajor-main-container">
+          <div class="postInfo-container">
+            <div style="margin-top: 35px;">
+              <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>
+              <el-col :span="2">
+                <div>
+                  <el-statistic group-separator="," :precision="4" :value="totalEvaluateValue" title="估价对象总价(万)">
+                    <template slot="prefix">
+                      <i class="el-icon-coin"></i>
+                    </template>
+                  </el-statistic>
+                </div>
+              </el-col>
+              <el-col :span="2">
+                <!--  v-if="currentNode.nodeCode === 'SPOT_RECONNAISSANCE'" -->
+                <el-button type="danger" @click="openTargetDialog()" round>添加评估对象</el-button>
+              </el-col>
+            </el-row>
+            <el-table ref="multipleTable" :data="assetsEvaluationTarget" stripe :header-row-style="{ color: '#333333' }"
+              border takeNumberItems style="width: 100%; margin-top:20px">
+              <el-table-column type="index" label="序号" width="80" align="center">
+              </el-table-column>
+              <el-table-column prop="purposeName" label="评估目的" align="center" show-overflow-tooltip>
+              </el-table-column>
+              <el-table-column label="评估对象" align="center" show-overflow-tooltip>
+                <template slot-scope="{row}">
+                  <span>{{ row.targetTypename }}</span>
+                  <span>--</span>
+                  <span>{{ row.secTargetTypaName }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column prop="theHolder" label="产权持有人" align="center" show-overflow-tooltip>
+              </el-table-column>
+              <el-table-column prop="valueTypeName" label="价值类型" align="center" show-overflow-tooltip>
+              </el-table-column>
+              <el-table-column prop="totalAssetCarryingAmount" label="总资产账面值(万)" align="center" show-overflow-tooltip>
+              </el-table-column>
+              <el-table-column prop="totalLiabilitiesCarryingAmount" label="总负债账面值(万)" align="center"
+                show-overflow-tooltip>
+              </el-table-column>
+              <el-table-column prop="carryingAmountOfNetAssets" label="净资产账面值(万)" align="center" show-overflow-tooltip>
+              </el-table-column>
+              <el-table-column prop="estimatedValue" label="评估价格(万)" align="center" show-overflow-tooltip>
+              </el-table-column>
+              <el-table-column prop="checkValue" label="审核价格(万)" align="center" show-overflow-tooltip>
+              </el-table-column>
+              <el-table-column label="操作" align="center" width="100" fixed="right">
+                <template slot-scope="scope">
+                  <el-button type="text" size="small">
+                    {{ hanlderType() }}
+                  </el-button>
+                  <el-button v-if="currentNode.nodeCode === 'SPOT_RECONNAISSANCE'" type="text" size="small">删除</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+          </div>
+        </div>
       </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>
+    <el-dialog :visible.sync="targetDialogVisible" custom-class="doWarehouseClass">
+      <div>
+        <el-form ref="targetFrom" :model="targetFrom" style="margin-top:20px" :rules="targetFromRules">
+          <el-divider content-position="left">【资产】评估对象</el-divider>
+          <el-row class="row-style">
+            <el-col :xs="24" :sm="12" :lg="12" :span="6">
+              <el-form-item label="接单部门:" prop="evaluationPurposeId" label-width="120px" class="postInfo-container-item">
+                <el-select v-model="targetFrom.evaluationPurposeId">
+                  <el-option v-for="(p, id) in assetsEvaluationTargetPurpose" :label="p.purposeName"
+                    :value="p.id"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row class="row-style">
+            <el-col :xs="24" :sm="12" :lg="12" :span="6" style="width: 400px;">
+              <el-form-item label="评估对象:" prop="evaluationTypeId" label-width="120px" class="postInfo-container-item">
+                <el-select v-model="targetFrom.evaluationTypeId" @change="getTypeList(targetFrom.evaluationTypeId, 2)">
+                  <el-option v-for="(t, id) in assetsEvaluationTargetType" :label="t.typeName" :value="t.id"
+                    :key="t.id"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="4" :sm="12" :lg="12" :span="6">
+              <el-form-item prop="evaluationTypeSecId" label-width="10px" class="postInfo-container-item">
+                <el-select v-model="targetFrom.evaluationTypeSecId">
+                  <el-option v-for="(t, id) in assetsSecEvaluationTargetType" :label="t.typeName" :value="t.id"
+                    :key="t.id"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row class="row-style">
+            <el-col :xs="24" :sm="12" :lg="12" :span="6" style="width: 400px;">
+              <el-form-item label="产权持有人:" prop="theHolder" label-width="120px" class="postInfo-container-item">
+                <el-input v-model="targetFrom.theHolder" class="filter-item" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row class="row-style">
+            <el-col :xs="24" :sm="12" :lg="12" :span="6">
+              <el-form-item label="价值类型:" prop="assetsValueId" label-width="120px" class="postInfo-container-item">
+                <el-select v-model="targetFrom.assetsValueId">
+                  <el-option v-for="(t, id) in assetsValueType" :label="t.typeName" :value="t.id" :key="t.id"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row class="row-style">
+            <el-col :xs="24" :sm="12" :lg="12" :span="6" style="width: 400px;">
+              <el-form-item label="项目负责人:" label-width="120px">
+                <el-select v-model="targetFrom.principalId" placeholder="请选择" readonly disabled>
+                  <el-option v-for="(u, id) in allUsers" :label="u.name" :value="u.id" :key="u.id"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="12" :span="6">
+              <el-form-item label="实勘人:" prop="members" label-width="120px">
+                <el-select v-model="targetFrom.siteIds" placeholder="请选择" readonly disabled multiple>
+                  <el-option v-for="(u, id) in allUsers" :label="u.name" :value="u.id" :key="u.id"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+    </el-dialog>
   </div>
 </template>
 <script>
@@ -310,6 +486,8 @@ export default {
   },
   data() {
     return {
+      editStatus: false,
+      disabledStatus: true,
       couldEdit: null,
       couldBack: null,
       // 表单项目隐藏字段
@@ -455,7 +633,9 @@ export default {
         // 终端联系电话
         tmobile: null,
         // 分单类型
-        allotType: "指派"
+        allotType: "指派",
+        // 项目成员
+        members: []
       },
       // 客户联系人信息
       linkmanInfo: {
@@ -495,7 +675,68 @@ export default {
       // 终端客户下拉列表
       tCustomerCompany: [],
       // 终端联系人下拉列表
-      tCustomerContract: []
+      tCustomerContract: [],
+      // 项目负责人下拉列表
+      principals: [],
+      // 用户下拉列表
+      allUsers: [],
+      // 资产评估对象信息
+      assetsEvaluationTarget: [],
+      // 估计对象总价
+      totalEvaluateValue: 0.00,
+      // 评估对象表单
+      targetFrom: {
+        // 资产评估目的id
+        evaluationPurposeId: null,
+        // 资产评估对象类型一级id
+        evaluationTypeId: null,
+        // 资产评估对象类型二级id
+        evaluationTypeSecId: null,
+        // 产权持有人
+        theHolder: null,
+        // 资产价值类型id
+        assetsValueId: null,
+        // 项目负责人id
+        principalId: null,
+        // 实勘人id (json 可多个)
+        siteIds: [],
+        // 估价基准日
+        valuationBasisDate: null,
+        // 评估方法id
+        evaluationMethodId: null,
+        // 最终选择的评估方法id
+        choiceEvaluationMethodId: null,
+        // 总资产账面值(万)
+        totalAssetCarryingAmount: null,
+        // 总负债账面值(万)
+        totalLiabilitiesCarryingAmount: null,
+        // 净资产账面值(万)
+        carryingAmountOfNetAssets: null,
+        // 评估结论对应的评估值(万)
+        estimatedValue: null,
+        // 审核价格
+        checkValue: null,
+        // 资料路由信息
+        filePath: null,
+        // 资产业务id
+        assetsId: null
+      },
+      // 资产评估对象评估目的
+      assetsEvaluationTargetPurpose: [],
+      // 资产评估方法
+      assetsEvaluationMethod: [],
+      // 资产价值类型
+      assetsValueType: [],
+      // 资产评估对象类型
+      assetsEvaluationTargetType: [],
+      // 二级资产评估对象类型
+      assetsSecEvaluationTargetType: [],
+      // 评估对象弹窗可视状态
+      targetDialogVisible: false,
+      // 添加评估对象表单校验规则
+      targetFromRules: {
+
+      }
     }
   },
   watch: {
@@ -510,6 +751,7 @@ export default {
     this.getCustomerCompany(0);
     this.getCustomerCompany(1);
     this.getAssetsDetailById(this.pageParams.id);
+    this.getCurrentNodeInfo();
   },
 
   methods: {
@@ -519,6 +761,8 @@ export default {
         if (res.code === 200) {
           this.assetsFrom = res.data;
           this.initCustomerSelect(this.assetsFrom.clienteleType);
+          this.getPrincipalByAllotDepartment();
+          this.getAllUser();
         }
       })
     },
@@ -742,6 +986,124 @@ export default {
     // 打开新增终端客户弹窗
     createTerminalClient() {
       this.createTerminalClientVisible = true;
+    },
+    // 根据部门id获取项目负责人列表
+    getPrincipalByAllotDepartment() {
+      let departmentId = this.assetsFrom.departmentId;
+      if (departmentId) {
+        this.$api.user.usersByDepartmentId(departmentId).then(res => {
+          if (res.code === 200) {
+            this.principals = res.data;
+          }
+        })
+      }
+    },
+    // 获取用户下拉列表
+    getAllUser() {
+      this.$api.user.simpleAll().then(res => {
+        if (res.code === 200) {
+          this.allUsers = res.data;
+        }
+      })
+    },
+    // 获取流程节点信息
+    getCurrentNodeInfo() {
+      if (this.pageParams.id) {
+        this.$api.workNodeInstance.currentNode({ "mainBusiness": "MAJOR_BUSINESS", "businessId": this.pageParams.id, "businessSubId": this.pageParams.businessSubId, "businessMinId": this.pageParams.businessMinId }).then(res => {
+          if (res.code === 200) {
+            if (res.data) {
+              this.currentNode = res.data;
+              this.nodeBusinessInfo.currentInstanceNodeId = res.data.instanceId;
+              this.nodeBusinessInfo.currentNodeInstanceCode = res.data.nodeCode;
+              this.nodeBusinessInfo.currentNodePermission.restartable = res.data.restartable;
+              this.nodeBusinessInfo.currentNodePermission.reversible = res.data.reversible;
+              this.nodeBusinessInfo.currentNodePermission.skippable = res.data.skippable;
+              this.nodeBusinessInfo.currentNodePermission.terminable = res.data.terminable;
+            }
+          }
+        })
+      }
+    },
+    // 修改项目负责人与项目成员信息
+    updatePrincipalAndMembers() {
+      let assetsPrincipalMembers = new Object();
+      assetsPrincipalMembers.principalId = this.assetsFrom.principalId;
+      assetsPrincipalMembers.members = JSON.stringify(this.assetsFrom.members);
+      this.$api.assets.updatePrincipalAndMembers(assetsPrincipalMembers).then(res => {
+        if (res.code === 200 && res.data) {
+          this.$notify({
+            title: '成功',
+            message: '保存成功,请提交节点继续流程。',
+            type: 'success',
+            duration: 2000
+          });
+        }
+      })
+    },
+    // 根据资产业务id获取资产业务评估对象集合
+    getAETargetListByAssetsId() {
+      this.$api.assets.getAETargetListByAssetsId(this.assetsFrom.id).then(res => {
+        if (res.code === 200) {
+          this.assetsEvaluationTarget = res.data;
+        }
+      })
+    },
+    // 获取所有资产评估目的集合
+    getPurpose() {
+      this.$api.assets.getPurpose().then(res => {
+        if (res.code === 200) {
+          this.assetsEvaluationTargetPurpose = res.data;
+        }
+      })
+    },
+    // 获取所有评估方法集合
+    getAssetsEvaluationMethod() {
+      this.$api.assets.getAssetsEvaluationMethod().then(res => {
+        if (res.code === 200) {
+          this.assetsEvaluationMethod = res.data;
+        }
+      })
+    },
+    // 获取所有资产价值类型
+    getAssetsValueType() {
+      this.$api.assets.getAssetsValueType().then(res => {
+        if (res.code === 200) {
+          this.assetsValueType = res.data;
+        }
+      })
+    },
+    // 根据父级id获取资产评估对象类型(id可为空)
+    getTypeList(val, level) {
+      let parentId = val;
+      // 每次进入方法清空二级下拉选择
+      this.targetFrom.evaluationTypeSecId = null;
+      this.assetsSecEvaluationTargetType = [];
+      this.$api.assets.getTypeList(parentId).then(res => {
+        if (res.code === 200) {
+          if (level == 1) {
+            // 等级为1赋值给assetsEvaluationTargetType
+            this.assetsEvaluationTargetType = res.data;
+          } else {
+            // 其他赋值给assetsEvaluationTargetType
+            this.assetsSecEvaluationTargetType = res.data;
+          }
+        }
+      })
+    },
+    // 打开新增评估对象弹窗表单
+    openTargetDialog() {
+      // 可是状态为true
+      this.targetDialogVisible = true;
+      // 初始表单所需信息
+      this.targetFrom.principalId = this.assetsFrom.principalId;
+      this.targetFrom.siteIds = this.assetsFrom.members;
+      if (this.assetsEvaluationTargetPurpose.length == 0 || this.assetsEvaluationMethod.length == 0 || this.assetsValueType.length == 0 || this.assetsEvaluationTargetType.length == 0) {
+        this.getPurpose();
+        this.getAssetsEvaluationMethod();
+        this.getAssetsValueType();
+        this.getTypeList(0, 1);
+      }
+
     }
   }