wucl 1 tahun lalu
induk
melakukan
c20b349392

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

@@ -129,5 +129,24 @@ export default {
     // 根据产品号获取产品实收款
     getProductionRealAmount(params){
         return request.get(`assetsProduction/getProductionRealAmount/${params}`);
+    },
+    // 获取资产项目所有参与人信息
+    getAssetsBusinessMembers(params){
+        return request.get(`assets/getAssetsBusinessMembers`, { params: params })
+    },
+    // 条件查询资产已归档列表
+    selectArchivedPage(params){
+        return request.get(`assets/selectArchivedPage`, { params: params })
+    },
+    // 条件查询资产已终止列表
+    selectTerminatedPage(params){
+        return request.get(`assets/selectTerminatedPage`, { params: params })
+    },
+    // 条件查询资产已终止列表
+    selectRepertoryPage(params){
+        return request.get(`assets/selectRepertoryPage`, { params: params })
+    },
+    markDelivery(params){
+        return request.get(`assetsProduction/markDelivery/${params}`)
     }
 }

+ 37 - 0
src/api/modules/businessPerformanceDistribution.js

@@ -0,0 +1,37 @@
+import request from '@/utils/request'
+/*
+* 业务产品绩效分配
+*/
+export default {
+  list(params) {
+    return request.get(`businessPerformanceDistribution`, { params: params })
+  },
+  detail(params) {
+    return request.get(`businessPerformanceDistribution/detail`, { params: params })
+  },
+  simpleAll() {
+    return request.get(`businessPerformanceDistribution/simpleAll`)
+  },
+  add(params) {
+    return request.post(`businessPerformanceDistribution`, params)
+  },
+  edit(params) {
+    return request.put(`businessPerformanceDistribution`, params)
+  },
+  delete(params) {
+    return request.delete(`businessPerformanceDistribution/${params}`)
+  },
+  // 新增资产绩效分配信息
+  addAssetsPerformanceDistribution(params){
+    return request.post(`businessPerformanceDistribution/addAssetsPerformanceDistribution`, params)
+  },
+  // 获取资产绩效分配信息list
+  getPerformanceDistributionList(params){
+    return request.get(`businessPerformanceDistribution/getPerformanceDistributionList`, { params: params })
+  },
+  // 修改资产绩效分配信息
+  updateAssetsPerformanceDistribution(params){
+    return request.put(`businessPerformanceDistribution/updateAssetsPerformanceDistribution`, params )
+  }
+
+}

+ 4 - 0
src/api/modules/workNodeTaskRecord.js

@@ -28,5 +28,9 @@ export default {
   },
   getTodoTotalNum(){
     return request.get(`workTaskRecord/todoNum`)
+  },
+  // 获取资产业务已办列表
+  getAssetsTaskDoneList(params){
+    return request.get(`workTaskRecord/assets/getAssetsTaskDoneList`,{ params: params })
   }
 }

+ 13 - 0
src/router/urlMap.js

@@ -95,6 +95,11 @@ 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'
+import _views_assets_todo_list from '@/views/assets/todoList'
+import _views_assets_archived_list from '@/views/assets/archivedList'
+import _views_assets_done_list from '@/views/assets/doneList'
+import _views_assets_terminate_list from '@/views/assets/terminateList'
+import _views_assets_repertory_list from '@/views/assets/repertoryList'
 import _views_personal_to_save_file from '@/views/personal/saveFileTodoList'
 import _views_personal_save_file from '@/views/personal/saveFileDoneList'
 import _views_personal_readonly_detail from '@/views/personal/readonlyDetail'
@@ -195,8 +200,16 @@ export default {
   _views_personal_done,
   _views_complex_index,
   _views_major_old_list,
+<<<<<<< HEAD
   _views_commission_major_rate,
   _views_finance_fund_stats,
   _views_income_major_declare_market,
   _views_income_major_declare_evaluate
+=======
+  _views_assets_todo_list,
+  _views_assets_archived_list,
+  _views_assets_done_list,
+  _views_assets_terminate_list,
+  _views_assets_repertory_list
+>>>>>>> 5e86d122d93018877631fa54a29f8ffe14e0d6b8
 }

+ 34 - 0
src/utils/tableUtil.js

@@ -0,0 +1,34 @@
+/**
+ * 获取操作列最大宽度
+ * @returns 
+ */
+export function getOperatorWidth() {
+    // 默认宽度
+    let width = 100
+    // 内间距
+    let paddingSpacing = 5
+    // 外边距
+    let margin = 20;
+
+    const operatorColumn = document.getElementsByClassName('optionDiv')
+    // 如果节点数量大于0-循环这个节点,
+    if (operatorColumn.length > 0) {
+        let buttonCount = 0;
+        for (let i = 0; i < operatorColumn.length; i++) {
+            // 最宽的宽度
+            width = width > operatorColumn[i].offsetWidth ? width : operatorColumn[i].offsetWidth;
+
+            // 计算 <el-button> 标签的数量
+            const buttons = operatorColumn[i].getElementsByClassName('el-button');
+            buttonCount = buttons.length;
+            buttonCount = buttonCount > buttons.length ? buttonCount : buttons.length;
+        }
+
+        // 如果按钮数量大于2,宽度要加上边距*(按钮数量-1)
+        if (buttonCount > 2) {
+            width += (paddingSpacing * (buttonCount - 1))
+        }
+        width += margin;
+    }
+    return width
+}

+ 239 - 0
src/views/assets/TerminateList.vue

@@ -0,0 +1,239 @@
+<template>
+    <div class="app-container">
+        <div class="title-container">
+            <breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
+        </div>
+        <y-page-list-layout :page-list="pageData" :page-para="listQuery" :get-page-list="selectTerminatedPage">
+            <template slot="left">
+                <el-input style="margin-left: 20px;width: 300px;float: left;" class="filter-item"
+                    v-model="listQuery.keyWord" placeholder="项目编号/报告号/项目名称/业务来源" clearable>
+                </el-input>
+                <el-select v-model="listQuery.principalId" filterable placeholder="项目负责人(可搜索)"
+                    style=" width: 200px;margin-left: 10px;float: left;">
+                    <el-option v-for="(u, id) in allUsers" :label="u.name" :value="u.id"></el-option>
+                </el-select>
+                <el-select v-model="listQuery.clientManagerId" filterable placeholder="客户经理(可搜索)"
+                    style=" width: 200px;margin-left: 10px;float: left;">
+                    <el-option v-for="(u, id) in allUsers" :label="u.name" :value="u.id"></el-option>
+                </el-select>
+                <el-select v-model="listQuery.assetsBusinessGener" filterable placeholder="业务类型"
+                    style=" width: 200px;margin-left: 10px;float: left;">
+                    <el-option v-for="(s, value) in assetsBusinessGeners" :label="s.label" :value="s.value"></el-option>
+                </el-select>
+                <el-button class="filter-item" style="margin-left: 10px;float: left;" type="primary" @click="searchList"
+                    round>搜索
+                </el-button>
+                <el-button class="filter-item" style="float: left;" round type="success" @click="resetParams()">重置
+                </el-button>
+            </template>
+            <parentTable ref="table" v-loading="listLoading" :data="pageData.records" slot="table" style="width: 100%;">
+                <el-table-column label="项目编号" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.orderId }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="项目名称" align="center" width="300">
+                    <template slot-scope="{row}">
+                        <span>{{ row.name }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="业务类型" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.assetsBusinessGener }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="意见书号" align="center" width="250">
+                    <template slot-scope="{row}">
+                        <span>{{ row.statementNo }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="报告号" align="center" width="250">
+                    <template slot-scope="{row}">
+                        <span>{{ row.reportNo }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="业务类型" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.assetsBusinessGener }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="客户名称" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.customerName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="业务来源" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.customerSubName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="委托人" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.bailor }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="委托人联系电话" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.bailorContactTel }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="项目负责人" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.principalName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="客户经理" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.clientManagerName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="下单时间" align="center" width="200">
+                    <template slot-scope="{row}">
+                        <span>{{ row.created }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="终止原因" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.comment }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="操作" align="center" width="200" fixed="right">
+                    <template slot-scope="{row}">
+                        <el-button type="success" size="mini" @click="orderDetail(row)">查看</el-button>
+                        <el-button type="danger" size="mini" @click="toAddAssetsOrder(row)">重新下单</el-button>
+                    </template>
+                </el-table-column>
+            </parentTable>
+        </y-page-list-layout>
+    </div>
+</template>
+
+<script>
+import YPageListLayout from '@/components/YPageListLayout'
+import Breadcrumb from '@/components/Breadcrumb'
+import PermissionButton from '@/components/PermissionButton/PermissionButton'
+
+export default {
+    name: 'AssetsAllList',
+    components: {
+        Breadcrumb,
+        YPageListLayout,
+        PermissionButton,
+    },
+    data() {
+        return {
+            pageData: { records: [] },
+            listLoading: false,
+            listQuery: {
+                page: 1,
+                size: 10,
+                current: 1,
+                // 节点code
+                nodeCode: null,
+                // 客户经理id
+                clientManagerId: null,
+                // 项目负责人id
+                principalId: null,
+                // 业务类型
+                assetsBusinessGener: null,
+                // 关键字
+                keyWord: null
+            },
+            // 用户下拉列表
+            allUsers: [],
+            // 业务类型下拉列表
+            assetsBusinessGeners: [
+                {
+                    value: '单项资产',
+                    label: '单项资产'
+                }, {
+                    value: '整体资产',
+                    label: '整体资产'
+                }, {
+                    value: '无形资产',
+                    label: '无形资产'
+                }, {
+                    value: '债权',
+                    label: '债权'
+                }, {
+                    value: '其他',
+                    label: '其他'
+                }
+            ]
+        }
+    },
+    created() {
+        // 获取用户下拉列表
+        this.getAllUser();
+        // 获取资产业务订单
+        this.selectTerminatedPage();
+    },
+    methods: {
+        // 无条件分页查询
+        selectTerminatedPage() {
+            this.$api.assets.selectTerminatedPage(this.listQuery).then(res => {
+                if (res.code === 200) {
+                    this.pageData = res.data;
+                }
+            })
+        },
+        // 条件查询
+        searchList() {
+            // 重置分页
+            this.listQuery.page = 1
+            this.listQuery.size = 10
+            this.selectTerminatedPage()
+        },
+        // 重置搜索条件
+        resetParams() {
+            this.$router.push({ query: {} });
+            this.listQuery = {
+                current: 1,
+                size: 10,
+            }
+            this.selectTerminatedPage();
+        },
+        // 获取所有用户下拉列表
+        getAllUser() {
+            this.$api.user.simpleAll().then(res => {
+                if (res.code === 200) {
+                    this.allUsers = res.data;
+                }
+            })
+        },
+        getNodes() {
+            this.$api.workNode.enum().then(res => {
+                if (res.code === 200) {
+                    this.nodes = res.data
+                }
+            })
+        },
+        orderDetail(row) {
+            this.$router.push({
+                path: "/assets/orderDetail",
+                query: {
+                    row: JSON.stringify(row),
+                    back: '/assets/allList',
+                    couldEdit: false,
+                    couldBack: false,
+                    disabledStatus: true
+                }
+            })
+        },
+        toAddAssetsOrder(row){
+            this.$router.push({
+                path: "/assets/addOrder",
+                query: {
+                    row: JSON.stringify(row),
+                    back: '/assets/terminateList',
+                    couldEdit: true,
+                    couldBack: true,
+                    disabledStatus: false
+                }
+            })
+        }
+    }
+}
+</script>
+
+<style lang="scss" scoped></style>

+ 210 - 144
src/views/assets/addAssetsOrder.vue

@@ -5,7 +5,7 @@
             <div class="form-container">
                 <y-detail-page-layout ref="addAssetsOrder" @save="handleCreate" :editStatus="couldEdit" @doRecall="doRecall"
                     :couldBack="couldBack">
-                    <el-form ref="assetsFrom" :model="assetsFrom" :rules="assetsFromRules">
+                    <el-form ref="assetsForm" :model="assetsForm" :rules="assetsFormRules">
                         <div class="createMajor-main-container">
                             <div class="postInfo-container">
                                 <div>
@@ -19,17 +19,17 @@
                                 <el-row class="row-style">
                                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                                         <el-form-item label="客户经理:" prop="clientManager"
-                                            :rules="assetsFromRules.clientManager" label-width="120px"
+                                            :rules="assetsFormRules.clientManager" label-width="120px"
                                             class="postInfo-container-item">
-                                            <el-input :value="assetsFrom.clientManager" class="filter-item" readonly
+                                            <el-input :value="assetsForm.clientManager" 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"
-                                            :rules="assetsFromRules.departmentId" label-width="120px"
+                                            :rules="assetsFormRules.departmentId" label-width="120px"
                                             class="postInfo-container-item">
-                                            <el-select v-model="assetsFrom.departmentId">
+                                            <el-select v-model="assetsForm.departmentId">
                                                 <el-option v-for="(d, id) in allotDepartment" :label="d.name"
                                                     :value="d.id"></el-option>
                                             </el-select>
@@ -38,18 +38,18 @@
                                 </el-row>
                                 <el-row class="row-style">
                                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
-                                        <el-form-item prop="name" :rules="assetsFromRules.name" label-width="120px"
+                                        <el-form-item prop="name" :rules="assetsFormRules.name" label-width="120px"
                                             class="postInfo-container-item" label="项目名称:">
-                                            <el-input v-model="assetsFrom.name" class="filter-item" />
+                                            <el-input v-model="assetsForm.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"
-                                            :rules="assetsFromRules.assetsBusinessGener" label-width="120px"
+                                            :rules="assetsFormRules.assetsBusinessGener" label-width="120px"
                                             class="postInfo-container-item">
-                                            <el-select v-model="assetsFrom.assetsBusinessGener" filterable
+                                            <el-select v-model="assetsForm.assetsBusinessGener" filterable
                                                 placeholder="业务类型">
                                                 <el-option v-for="(s, value) in assetsBusinessGeners" :label="s.label"
                                                     :value="s.value"></el-option>
@@ -58,11 +58,11 @@
                                     </el-col>
                                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                                         <el-form-item label="客户再次委托:" prop="entrustAgain"
-                                            :rules="assetsFromRules.entrustAgain" label-width="140px"
+                                            :rules="assetsFormRules.entrustAgain" label-width="140px"
                                             class="postInfo-container-item">
-                                            <el-radio v-model="assetsFrom.entrustAgain" :label="false" border
+                                            <el-radio v-model="assetsForm.entrustAgain" :label="false" border
                                                 size="medium">否</el-radio>
-                                            <el-radio v-model="assetsFrom.entrustAgain" :label="true" border
+                                            <el-radio v-model="assetsForm.entrustAgain" :label="true" border
                                                 size="medium">是</el-radio>
                                         </el-form-item>
                                     </el-col>
@@ -70,10 +70,10 @@
                                 <el-row class="row-style">
                                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                                         <el-form-item label="客户类型:" prop="clienteleType"
-                                            :rules="assetsFromRules.clienteleType" label-width="120px"
+                                            :rules="assetsFormRules.clienteleType" label-width="120px"
                                             class="postInfo-container-item">
-                                            <el-select v-model="assetsFrom.clienteleType" placeholder="请选择"
-                                                @change="changeCustomerType(assetsFrom.clienteleType)">
+                                            <el-select v-model="assetsForm.clienteleType" placeholder="请选择"
+                                                @change="changeCustomerType(assetsForm.clienteleType)">
                                                 <el-option label="企业" value="企业"></el-option>
                                                 <el-option label="个人" value="个人"></el-option>
                                             </el-select>
@@ -81,9 +81,9 @@
                                     </el-col>
                                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                                         <el-form-item label="客户名称:" prop="clienteleId" label-width="120px"
-                                            :rules="assetsFromRules.clienteleId" class="postInfo-container-item"
+                                            :rules="assetsFormRules.clienteleId" class="postInfo-container-item"
                                             v-if="itemHideStatus">
-                                            <el-select v-model="assetsFrom.clienteleId" placeholder="请选择(可搜索)"
+                                            <el-select v-model="assetsForm.clienteleId" placeholder="请选择(可搜索)"
                                                 @change="findSubClientele(0)" clearable filterable>
                                                 <el-option v-for="(c, id) in customerCompany" :label="c.name"
                                                     :value="c.id"></el-option>
@@ -92,9 +92,9 @@
                                     </el-col>
                                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                                         <el-form-item label="业务来源:" prop="clienteleSubId" label-width="120px"
-                                            :rules="assetsFromRules.clienteleSubId" class="postInfo-container-item"
+                                            :rules="assetsFormRules.clienteleSubId" class="postInfo-container-item"
                                             v-if="itemHideStatus">
-                                            <el-select v-model="assetsFrom.clienteleSubId" placeholder="请选择(可搜索)"
+                                            <el-select v-model="assetsForm.clienteleSubId" placeholder="请选择(可搜索)"
                                                 @change="getCustomerContract" clearable filterable>
                                                 <el-option v-for="(s, id) in subCustomerCompany" :label="s.name"
                                                     :value="s.id"></el-option>
@@ -105,10 +105,10 @@
                                 <el-row class="row-style">
                                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                                         <el-form-item label="客户联系人:" prop="clienteleContactId"
-                                            :rules="assetsFromRules.clienteleContactId" label-width="120px"
+                                            :rules="assetsFormRules.clienteleContactId" label-width="120px"
                                             class="postInfo-container-item">
                                             <div>
-                                                <el-select v-model="assetsFrom.clienteleContactId" placeholder="请选择(可搜索)"
+                                                <el-select v-model="assetsForm.clienteleContactId" placeholder="请选择(可搜索)"
                                                     clearable filterable @change="getContactInfo" style="width:60%">
                                                     <el-option v-for="(c, id) in customerContract" :label="c.name"
                                                         :value="c.id"></el-option>
@@ -145,51 +145,51 @@
                                 </el-row>
                                 <el-row class="row-style">
                                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
-                                        <el-form-item label="是否证券项目:" prop="security" :rules="assetsFromRules.security"
+                                        <el-form-item label="是否证券项目:" prop="security" :rules="assetsFormRules.security"
                                             label-width="140px" class="postInfo-container-item">
-                                            <el-radio v-model="assetsFrom.security" :label="false" border
+                                            <el-radio v-model="assetsForm.security" :label="false" border
                                                 size="medium">否</el-radio>
-                                            <el-radio v-model="assetsFrom.security" :label="true" border
+                                            <el-radio v-model="assetsForm.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"
-                                            :rules="assetsFromRules.significantAssetsReorganization" label-width="200px"
+                                            :rules="assetsFormRules.significantAssetsReorganization" label-width="200px"
                                             class="postInfo-container-item">
-                                            <el-radio v-model="assetsFrom.significantAssetsReorganization" :label="false"
+                                            <el-radio v-model="assetsForm.significantAssetsReorganization" :label="false"
                                                 border size="medium">否</el-radio>
-                                            <el-radio v-model="assetsFrom.significantAssetsReorganization" :label="true"
+                                            <el-radio v-model="assetsForm.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"
-                                            :rules="assetsFromRules.stateAssets" label-width="140px"
+                                            :rules="assetsFormRules.stateAssets" label-width="140px"
                                             class="postInfo-container-item">
-                                            <el-radio v-model="assetsFrom.stateAssets" :label="false" border
+                                            <el-radio v-model="assetsForm.stateAssets" :label="false" border
                                                 size="medium">否</el-radio>
-                                            <el-radio v-model="assetsFrom.stateAssets" :label="true" border
+                                            <el-radio v-model="assetsForm.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"
-                                            :rules="assetsFromRules.foreignAssetsInvolved" label-width="200px"
+                                            :rules="assetsFormRules.foreignAssetsInvolved" label-width="200px"
                                             class="postInfo-container-item">
-                                            <el-radio v-model="assetsFrom.foreignAssetsInvolved" :label="false" border
+                                            <el-radio v-model="assetsForm.foreignAssetsInvolved" :label="false" border
                                                 size="medium">否</el-radio>
-                                            <el-radio v-model="assetsFrom.foreignAssetsInvolved" :label="true" border
+                                            <el-radio v-model="assetsForm.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"
-                                            :rules="assetsFromRules.dispenseBenefit" label-width="140px"
+                                            :rules="assetsFormRules.dispenseBenefit" label-width="140px"
                                             class="postInfo-container-item">
-                                            <el-radio v-model="assetsFrom.dispenseBenefit" :label="false" border
+                                            <el-radio v-model="assetsForm.dispenseBenefit" :label="false" border
                                                 size="medium">否</el-radio>
-                                            <el-radio v-model="assetsFrom.dispenseBenefit" :label="true" border
+                                            <el-radio v-model="assetsForm.dispenseBenefit" :label="true" border
                                                 size="medium">是</el-radio>
                                         </el-form-item>
                                     </el-col>
@@ -198,28 +198,28 @@
                                     <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"
+                                            <el-input v-model="assetsForm.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"
+                                            <el-input v-model="assetsForm.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"
+                                            <el-input v-model="assetsForm.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"
+                                            <el-input v-model="assetsForm.bailorAddress" class="filter-item"
                                                 style=" width: 225px" />
                                         </el-form-item>
                                     </el-col>
@@ -227,9 +227,9 @@
                                 <el-row class="row-style">
                                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                                         <el-form-item label="终端客户类型:" prop="terminalClienteleType"
-                                            :rules="assetsFromRules.terminalClienteleType" label-width="140px"
+                                            :rules="assetsFormRules.terminalClienteleType" label-width="140px"
                                             class="postInfo-container-item">
-                                            <el-select v-model="assetsFrom.terminalClienteleType" placeholder="请选择"
+                                            <el-select v-model="assetsForm.terminalClienteleType" placeholder="请选择"
                                                 style="width:205px">
                                                 <el-option label="企业" value="企业"></el-option>
                                                 <el-option label="个人" value="个人"></el-option>
@@ -237,11 +237,11 @@
                                         </el-form-item>
                                     </el-col>
                                     <el-col :xs="24" :sm="12" :lg="6" :span="6"
-                                        v-if="assetsFrom.terminalClienteleType === '企业'">
+                                        v-if="assetsForm.terminalClienteleType === '企业'">
                                         <el-form-item label="终端客户名称:" prop="terminalClienteleId" label-width="140px"
-                                            :rules="assetsFromRules.terminalClienteleId" class="postInfo-container-item">
+                                            :rules="assetsFormRules.terminalClienteleId" class="postInfo-container-item">
                                             <div v-if="couldEdit">
-                                                <el-select v-model="assetsFrom.terminalClienteleId" placeholder="请选择(可搜索)"
+                                                <el-select v-model="assetsForm.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>
@@ -252,17 +252,17 @@
                                                         @click="createTerminalClient()">新增</span>
                                                 </el-tooltip>
                                             </div>
-                                            <el-input :value="assetsFrom.tterminalClienteleName" class="filter-item"
+                                            <el-input :value="assetsForm.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 === '个人'">
+                                        v-if="assetsForm.terminalClienteleType === '个人'">
                                         <el-form-item label="终端联系人:" prop="terminalClienteleContactId" label-width="120px"
-                                            :rules="assetsFromRules.terminalClienteleContactId"
+                                            :rules="assetsFormRules.terminalClienteleContactId"
                                             class="postInfo-container-item">
                                             <div v-if="couldEdit">
-                                                <el-select v-model="assetsFrom.terminalClienteleContactId"
+                                                <el-select v-model="assetsForm.terminalClienteleContactId"
                                                     placeholder="请选择(可搜索)" clearable filterable @change="getTcontactInfo"
                                                     style="width:80%">
                                                     <el-option v-for="(c, id) in tCustomerContract" :label="c.name"
@@ -274,14 +274,14 @@
                                                         @click="createTlinkman()">新增</span>
                                                 </el-tooltip>
                                             </div>
-                                            <el-input :value="assetsFrom.tterminalClienteleContactName" class="filter-item"
+                                            <el-input :value="assetsForm.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.tmobile" class="filter-item" readonly disabled
+                                            <el-input :value="assetsForm.tmobile" class="filter-item" readonly disabled
                                                 style=" width: 215px" />
                                         </el-form-item>
                                     </el-col>
@@ -290,7 +290,7 @@
                                     <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 }"
+                                            <el-input v-model="assetsForm.remark" :autosize="{ minRows: 4, maxRows: 4 }"
                                                 class="filter-item" type="textarea" />
                                         </el-form-item>
                                     </el-col>
@@ -303,30 +303,30 @@
             <!-- 新增客户联系人 -->
             <el-dialog :visible.sync="createLinkmanVisible" width="70%" custom-class="createLinkman">
                 <el-divider content-position="left">新增客户联系人</el-divider>
-                <el-form ref="linkmanFrom" :model="linkmanFrom" :rules="linkmanRules">
+                <el-form ref="linkmanForm" :model="linkmanForm" :rules="linkmanRules">
                     <el-row>
                         <el-col :xs="24" :sm="12" :lg="6" :span="6">
                             <el-form-item label="客户类型:" prop="clienteleType" :rules="linkmanRules.clienteleType"
                                 label-width="120px" class="postInfo-container-item">
-                                <el-select v-model="linkmanFrom.clienteleType">
+                                <el-select v-model="linkmanForm.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" v-if="assetsFrom.clienteleType === '企业'">
+                        <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="assetsForm.clienteleType === '企业'">
                             <el-form-item label="客户名称:" prop="clienteleId" :rules="linkmanRules.clienteleId"
                                 label-width="120px" class="postInfo-container-item">
-                                <el-select v-model="linkmanFrom.clienteleId">
+                                <el-select v-model="linkmanForm.clienteleId">
                                     <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" v-if="assetsFrom.clienteleType === '企业'">
+                        <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="assetsForm.clienteleType === '企业'">
                             <el-form-item label="业务来源:" prop="clienteleSubId" :rules="linkmanRules.clienteleSubId"
                                 label-width="120px" class="postInfo-container-item">
-                                <el-select v-model="linkmanFrom.clienteleSubId">
+                                <el-select v-model="linkmanForm.clienteleSubId">
                                     <el-option v-for="(s, id) in subCustomerCompany" :label="s.name"
                                         :value="s.id"></el-option>
                                 </el-select>
@@ -337,17 +337,17 @@
                         <el-col :xs="24" :sm="12" :lg="6" :span="6">
                             <el-form-item label="联系人姓名:" prop="name" :rules="linkmanRules.name" label-width="120px"
                                 class="postInfo-container-item">
-                                <el-input v-model.trim="linkmanFrom.name" class="filter-item" />
+                                <el-input v-model.trim="linkmanForm.name" class="filter-item" />
                             </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 v-model.trim="linkmanFrom.mobile" class="filter-item" />
+                                <el-input v-model.trim="linkmanForm.mobile" class="filter-item" />
                             </el-form-item>
                         </el-col>
                         <el-col :xs="24" :sm="12" :lg="6" :span="6">
                             <el-form-item label="性别:" prop="sex" label-width="120px" class="postInfo-container-item">
-                                <el-select v-model=linkmanFrom.sex>
+                                <el-select v-model=linkmanForm.sex>
                                     <el-option label="男" value="男">男</el-option>
                                     <el-option label="女" value="女">女</el-option>
                                 </el-select>
@@ -355,29 +355,29 @@
                         </el-col>
                         <el-col :xs="24" :sm="12" :lg="6" :span="6">
                             <el-form-item label="身份证号:" prop="idNo" label-width="120px" class="postInfo-container-item">
-                                <el-input v-model.trim="linkmanFrom.idNo" class="filter-item" />
+                                <el-input v-model.trim="linkmanForm.idNo" class="filter-item" />
                             </el-form-item>
                         </el-col>
                     </el-row>
                     <el-row>
                         <el-col :xs="24" :sm="12" :lg="6" :span="6">
                             <el-form-item label="微信号:" prop="wechatNo" label-width="120px" class="postInfo-container-item">
-                                <el-input v-model.trim="linkmanFrom.wechatNo" class="filter-item" />
+                                <el-input v-model.trim="linkmanForm.wechatNo" class="filter-item" />
                             </el-form-item>
                         </el-col>
                         <el-col :xs="24" :sm="12" :lg="6" :span="6">
                             <el-form-item label="QQ号:" prop="qqNo" label-width="120px" class="postInfo-container-item">
-                                <el-input v-model.trim="linkmanFrom.qqNo" class="filter-item" />
+                                <el-input v-model.trim="linkmanForm.qqNo" class="filter-item" />
                             </el-form-item>
                         </el-col>
                         <el-col :xs="24" :sm="12" :lg="6" :span="6">
                             <el-form-item label="毕业院校:" prop="school" label-width="120px" class="postInfo-container-item">
-                                <el-input v-model.trim="linkmanFrom.school" class="filter-item" />
+                                <el-input v-model.trim="linkmanForm.school" class="filter-item" />
                             </el-form-item>
                         </el-col>
                         <el-col :xs="24" :sm="12" :lg="6" :span="6">
                             <el-form-item label="毕业专业:" prop="industry" label-width="120px" class="postInfo-container-item">
-                                <el-input v-model.trim="linkmanFrom.industry" class="filter-item" />
+                                <el-input v-model.trim="linkmanForm.industry" class="filter-item" />
                             </el-form-item>
                         </el-col>
                     </el-row>
@@ -385,12 +385,12 @@
                         <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 v-model.trim="linkmanFrom.department" class="filter-item" />
+                                <el-input v-model.trim="linkmanForm.department" class="filter-item" />
                             </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 v-model.trim="linkmanFrom.duty" class="filter-item" />
+                                <el-input v-model.trim="linkmanForm.duty" class="filter-item" />
                             </el-form-item>
                         </el-col>
                     </el-row>
@@ -398,7 +398,7 @@
                         <el-col :xs="24" :sm="12" :lg="24" :span="6">
                             <el-form-item label="备注:" prop="description" label-width="120px"
                                 class="postInfo-container-item">
-                                <el-input v-model.trim="linkmanFrom.description" class="filter-item" type="textarea" />
+                                <el-input v-model.trim="linkmanForm.description" class="filter-item" type="textarea" />
                             </el-form-item>
                         </el-col>
                     </el-row>
@@ -409,22 +409,22 @@
             <!-- 新增终端客户联系人 -->
             <el-dialog :visible.sync="createTlinkmanVisible" width="70%" custom-class="createLinkman">
                 <el-divider content-position="left">新增终端客户联系人</el-divider>
-                <el-form ref="tLinkmanFrom" :model="tLinkmanFrom" :rules="tLinkmanFromRules">
+                <el-form ref="tLinkmanForm" :model="tLinkmanForm" :rules="tLinkmanFormRules">
                     <el-row>
                         <el-col :xs="24" :sm="12" :lg="6" :span="6">
-                            <el-form-item label="联系人姓名:" prop="name" :rules="tLinkmanFromRules.name" label-width="120px"
+                            <el-form-item label="联系人姓名:" prop="name" :rules="tLinkmanFormRules.name" label-width="120px"
                                 class="postInfo-container-item">
-                                <el-input v-model.trim="tLinkmanFrom.name" class="filter-item" />
+                                <el-input v-model.trim="tLinkmanForm.name" class="filter-item" />
                             </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 v-model.trim="tLinkmanFrom.mobile" class="filter-item" />
+                                <el-input v-model.trim="tLinkmanForm.mobile" class="filter-item" />
                             </el-form-item>
                         </el-col>
                         <el-col :xs="24" :sm="12" :lg="6" :span="6">
                             <el-form-item label="性别:" prop="sex" label-width="120px" class="postInfo-container-item">
-                                <el-select v-model=tLinkmanFrom.sex>
+                                <el-select v-model=tLinkmanForm.sex>
                                     <el-option label="男" value="男">男</el-option>
                                     <el-option label="女" value="女">女</el-option>
                                 </el-select>
@@ -432,29 +432,29 @@
                         </el-col>
                         <el-col :xs="24" :sm="12" :lg="6" :span="6">
                             <el-form-item label="身份证号:" prop="idNo" label-width="120px" class="postInfo-container-item">
-                                <el-input v-model.trim="tLinkmanFrom.idNo" class="filter-item" />
+                                <el-input v-model.trim="tLinkmanForm.idNo" class="filter-item" />
                             </el-form-item>
                         </el-col>
                     </el-row>
                     <el-row>
                         <el-col :xs="24" :sm="12" :lg="6" :span="6">
                             <el-form-item label="微信号:" prop="wechatNo" label-width="120px" class="postInfo-container-item">
-                                <el-input v-model.trim="tLinkmanFrom.wechatNo" class="filter-item" />
+                                <el-input v-model.trim="tLinkmanForm.wechatNo" class="filter-item" />
                             </el-form-item>
                         </el-col>
                         <el-col :xs="24" :sm="12" :lg="6" :span="6">
                             <el-form-item label="QQ号:" prop="qqNo" label-width="120px" class="postInfo-container-item">
-                                <el-input v-model.trim="tLinkmanFrom.qqNo" class="filter-item" />
+                                <el-input v-model.trim="tLinkmanForm.qqNo" class="filter-item" />
                             </el-form-item>
                         </el-col>
                         <el-col :xs="24" :sm="12" :lg="6" :span="6">
                             <el-form-item label="毕业院校:" prop="school" label-width="120px" class="postInfo-container-item">
-                                <el-input v-model.trim="tLinkmanFrom.school" class="filter-item" />
+                                <el-input v-model.trim="tLinkmanForm.school" class="filter-item" />
                             </el-form-item>
                         </el-col>
                         <el-col :xs="24" :sm="12" :lg="6" :span="6">
                             <el-form-item label="毕业专业:" prop="industry" label-width="120px" class="postInfo-container-item">
-                                <el-input v-model.trim="tLinkmanFrom.industry" class="filter-item" />
+                                <el-input v-model.trim="tLinkmanForm.industry" class="filter-item" />
                             </el-form-item>
                         </el-col>
                     </el-row>
@@ -462,12 +462,12 @@
                         <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 v-model.trim="tLinkmanFrom.department" class="filter-item" />
+                                <el-input v-model.trim="tLinkmanForm.department" class="filter-item" />
                             </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 v-model.trim="tLinkmanFrom.duty" class="filter-item" />
+                                <el-input v-model.trim="tLinkmanForm.duty" class="filter-item" />
                             </el-form-item>
                         </el-col>
                     </el-row>
@@ -475,7 +475,7 @@
                         <el-col :xs="24" :sm="12" :lg="24" :span="6">
                             <el-form-item label="备注:" prop="description" label-width="120px"
                                 class="postInfo-container-item">
-                                <el-input v-model.trim="tLinkmanFrom.description" class="filter-item" type="textarea" />
+                                <el-input v-model.trim="tLinkmanForm.description" class="filter-item" type="textarea" />
                             </el-form-item>
                         </el-col>
                     </el-row>
@@ -486,30 +486,30 @@
             <!-- 新增终端客户 -->
             <el-dialog :visible.sync="createTerminalClientVisible" width="70%" custom-class="createLinkman">
                 <el-divider content-position="left">新增终端客户</el-divider>
-                <el-form ref="terminalClientFrom" :model="terminalClientFrom" :rules="terminalClientFromRules">
+                <el-form ref="terminalClientForm" :model="terminalClientForm" :rules="terminalClientFormRules">
                     <el-row>
                         <el-col :xs="24" :sm="12" :lg="8" :span="6">
-                            <el-form-item label="客户名称:" prop="name" :rules="terminalClientFromRules.name"
+                            <el-form-item label="客户名称:" prop="name" :rules="terminalClientFormRules.name"
                                 label-width="120px" class="postInfo-container-item">
-                                <el-input v-model.trim="terminalClientFrom.name" class="filter-item" />
+                                <el-input v-model.trim="terminalClientForm.name" class="filter-item" />
                             </el-form-item>
                         </el-col>
                         <el-col :xs="24" :sm="12" :lg="8" :span="6">
-                            <el-form-item label="企业类型:" prop="companyType" :rules="terminalClientFromRules.companyType"
+                            <el-form-item label="企业类型:" prop="companyType" :rules="terminalClientFormRules.companyType"
                                 label-width="120px" class="postInfo-container-item">
-                                <el-input v-model.trim="terminalClientFrom.companyType" class="filter-item" />
+                                <el-input v-model.trim="terminalClientForm.companyType" class="filter-item" />
                             </el-form-item>
                         </el-col>
                         <el-col :xs="24" :sm="12" :lg="8" :span="6">
                             <el-form-item label="联系电话:" prop="phone" label-width="120px" class="postInfo-container-item">
-                                <el-input v-model.trim="terminalClientFrom.phone" class="filter-item" />
+                                <el-input v-model.trim="terminalClientForm.phone" class="filter-item" />
                             </el-form-item>
                         </el-col>
                     </el-row>
                     <el-row>
                         <el-col :xs="24" :sm="12" :lg="24" :span="6">
                             <el-form-item label="客户地址:" prop="address" label-width="120px" class="postInfo-container-item">
-                                <el-input v-model.trim="terminalClientFrom.address" class="filter-item" />
+                                <el-input v-model.trim="terminalClientForm.address" class="filter-item" />
                             </el-form-item>
                         </el-col>
                     </el-row>
@@ -541,11 +541,16 @@ export default {
         return {
             couldEdit: null,
             couldBack: null,
+            // 页面传参
+            pageParams: {
+                back: null,
+                row: null
+            },
             // 表单项目隐藏字段
             itemHideStatus: false,
             createLinkmanVisible: false,
             // 资产业务下单表单校验规则
-            assetsFromRules: {
+            assetsFormRules: {
                 clientManager: [
                     { required: true, message: '客户经理不能为空', trigger: 'blur' }
                 ],
@@ -614,13 +619,13 @@ export default {
                 ]
             },
             // 新增终端客户联系人表单校验规则
-            tLinkmanFromRules: {
+            tLinkmanFormRules: {
                 name: [
                     { required: true, message: '联系人姓名不能为空', trigger: 'blur' }
                 ]
             },
             // 新增终端客户表单校验规则
-            terminalClientFromRules: {
+            terminalClientFormRules: {
                 name: [
                     { required: true, message: '联系人姓名不能为空', trigger: 'blur' }
                 ],
@@ -660,7 +665,7 @@ export default {
             // 终端联系人下拉列表
             tCustomerContract: [],
             // 资产业务订单
-            assetsFrom: {
+            assetsForm: {
                 // 项目名
                 name: null,
                 // 客户经理id
@@ -713,7 +718,7 @@ export default {
                 allotType: "指派"
             },
             // 新增客户联系人表单
-            linkmanFrom: {
+            linkmanForm: {
                 clienteleType: null,
                 clienteleSubId: null,
                 clienteleId: null,
@@ -734,7 +739,7 @@ export default {
             },
             createTlinkmanVisible: false,
             // 新增终端联系人表单
-            tLinkmanFrom: {
+            tLinkmanForm: {
                 ccId: null,
                 name: null,
                 mobile: null,
@@ -752,7 +757,7 @@ export default {
             },
             createTerminalClientVisible: false,
             // 终端客户联系人信息
-            terminalClientFrom: {
+            terminalClientForm: {
                 name: null,
                 companyType: null,
                 address: null,
@@ -768,15 +773,22 @@ export default {
     created() {
         this.couldEdit = this.$route.query.couldEdit === 'true';
         this.couldBack = this.$route.query.couldBack === 'true';
+        this.pageParams.back = this.$route.query.back;
+        if (this.$route.query.row != null || this.$route.query.row != undefined) {
+            this.pageParams.row = JSON.parse(this.$route.query.row);
+        }
         this.getAllotDepartment();
         this.getCustomerCompany(0);
         this.getCustomerCompany(1);
+        if (this.pageParams.row.assetsId !== null && this.pageParams.row.assetsId !== undefined && this.pageParams.row.assetsId !== '') {
+            this.getAssetsDetailById(this.pageParams.row.assetsId);
+        }
     },
     methods: {
         handleCreate() {
-            this.$refs.assetsFrom.validate(valid => {
+            this.$refs.assetsForm.validate(valid => {
                 if (valid) {
-                    this.$api.assets.add(this.assetsFrom).then(res => {
+                    this.$api.assets.add(this.assetsForm).then(res => {
                         if (res.code === 200) {
                             if (res.data && res.data.instanceNodeId && res.data.state) {
                                 this.$api.workflow.commit(res.data).then(result => {
@@ -801,7 +813,6 @@ export default {
                             if (back) {
                                 this.$router.push(back)
                             }
-                            this.initData();
                         } else {
                             this.$notify({
                                 title: '失败',
@@ -830,8 +841,8 @@ export default {
                 type: 'warning',
                 center: true
             }).then(() => {
-                if (this.assetsFrom.id) {
-                    this.$api.assetsFrom.doRecall(this.assetsFrom.id).then(res => {
+                if (this.assetsForm.id) {
+                    this.$api.assetsForm.doRecall(this.assetsForm.id).then(res => {
                         if (res.code === 200 && res.data) {
                             this.$notify({
                                 title: '成功',
@@ -857,8 +868,8 @@ export default {
         // 改变客户类型时进行值重置的操作
         changeCustomerType(val) {
             // 清空联系人下拉列表
-            this.assetsFrom.clienteleContactId = null;
-            this.assetsFrom.clienteleSubId = null;
+            this.assetsForm.clienteleContactId = null;
+            this.assetsForm.clienteleSubId = null;
             this.customerContract = [];
             if (val === "企业") {
                 this.getCustomerCompany(0);
@@ -891,31 +902,31 @@ export default {
         // 获取二级客户信息(业务来源)
         findSubClientele(val) {
             if (val === 0) {
-                if (this.assetsFrom.clienteleId) {
+                if (this.assetsForm.clienteleId) {
                     let simpleAll = new Object();
                     simpleAll.terminal = val;
-                    simpleAll.parentId = this.assetsFrom.clienteleId;
+                    simpleAll.parentId = this.assetsForm.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.assetsForm.clienteleSubId) {
+                                this.assetsForm.clienteleSubId = null
                             }
-                            if (this.assetsFrom.clienteleContactId) {
-                                this.assetsFrom.clienteleContactId = null
+                            if (this.assetsForm.clienteleContactId) {
+                                this.assetsForm.clienteleContactId = null
                                 this.customerContract = [];
                             }
                         }
                     })
                 }
             } else {
-                if (this.assetsFrom.terminalClienteleId) {
+                if (this.assetsForm.terminalClienteleId) {
                     let simpleAll = new Object();
                     simpleAll.terminal = val;
-                    simpleAll.ccId = this.assetsFrom.terminalClienteleId;
-                    this.$api.customerCompany.detail(this.assetsFrom.terminalClienteleId).then(res => {
+                    simpleAll.ccId = this.assetsForm.terminalClienteleId;
+                    this.$api.customerCompany.detail(this.assetsForm.terminalClienteleId).then(res => {
                         if (res.code === 200) {
-                            this.assetsFrom.tmobile = res.data.phone;
+                            this.assetsForm.tmobile = res.data.phone;
                         }
                     })
                 }
@@ -923,19 +934,19 @@ export default {
         },
         // 获取客户联系人列表
         getCustomerContract(val) {
-            // if (this.assetsFrom.clienteleSubId) {
+            // if (this.assetsForm.clienteleSubId) {
             let simpleAll = new Object();
             simpleAll.terminal = 0;
             if (val === 1) {
                 simpleAll.ccId = val;
             } else {
-                simpleAll.ccId = this.assetsFrom.clienteleSubId;
+                simpleAll.ccId = this.assetsForm.clienteleSubId;
             }
             this.$api.customerLinkman.simpleAll(simpleAll).then(res => {
                 if (res.code === 200) {
                     this.customerContract = res.data;
-                    if (this.assetsFrom.clienteleContactId) {
-                        this.assetsFrom.clienteleContactId = null
+                    if (this.assetsForm.clienteleContactId) {
+                        this.assetsForm.clienteleContactId = null
                     }
                 }
             })
@@ -944,17 +955,17 @@ export default {
         // 打开新建客户联系人弹窗
         createLinkman(val) {
             // 打开前判断是否已经选择客户信息
-            if (this.assetsFrom.clienteleType === "个人" || this.assetsFrom.clienteleType != null && this.assetsFrom.clienteleId != null && this.assetsFrom.clienteleSubId != null) {
+            if (this.assetsForm.clienteleType === "个人" || this.assetsForm.clienteleType != null && this.assetsForm.clienteleId != null && this.assetsForm.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
+                this.linkmanForm.terminal = val;
+                this.linkmanForm.clienteleType = this.assetsForm.clienteleType;
+                this.linkmanForm.clienteleId = this.assetsForm.clienteleId;
+                this.linkmanForm.clienteleSubId = this.assetsForm.clienteleSubId;
+                if (this.assetsForm.clienteleType === '企业') {
+                    this.linkmanForm.ccId = this.assetsForm.clienteleSubId
                 } else {
-                    this.assetsFrom.clienteleSubId = 1;
-                    this.linkmanFrom.ccId = this.assetsFrom.clienteleSubId;
+                    this.assetsForm.clienteleSubId = 1;
+                    this.linkmanForm.ccId = this.assetsForm.clienteleSubId;
                 }
             } else {
                 this.$notify({
@@ -968,9 +979,9 @@ export default {
         },
         // 保存客户联系人信息
         saveLinkman() {
-            this.$refs.linkmanFrom.validate(valid => {
+            this.$refs.linkmanForm.validate(valid => {
                 if (valid) {
-                    this.$api.customerLinkman.add(this.linkmanFrom).then(res => {
+                    this.$api.customerLinkman.add(this.linkmanForm).then(res => {
                         if (res.code === 200) {
                             this.$notify({
                                 title: '成功',
@@ -981,7 +992,7 @@ export default {
                         }
                         this.getCustomerContract();
                         setTimeout(() => {
-                            this.assetsFrom.clienteleContactId = this.customerContract[0].id;
+                            this.assetsForm.clienteleContactId = this.customerContract[0].id;
                             this.getContactInfo();
                         }, 2000)
                         this.createLinkmanVisible = false;
@@ -991,8 +1002,8 @@ export default {
         },
         // 获取联系信息
         getContactInfo() {
-            if (this.assetsFrom.clienteleContactId) {
-                this.$api.customerLinkman.detail(this.assetsFrom.clienteleContactId).then(res => {
+            if (this.assetsForm.clienteleContactId) {
+                this.$api.customerLinkman.detail(this.assetsForm.clienteleContactId).then(res => {
                     if (res.code === 200) {
                         console.log(res.data)
                         this.linkmanInfo = res.data;
@@ -1002,10 +1013,10 @@ export default {
         },
         // 获取终端联系人信息
         getTcontactInfo() {
-            if (this.assetsFrom.terminalClienteleContactId) {
-                this.$api.customerLinkman.detail(this.assetsFrom.terminalClienteleContactId).then(res => {
+            if (this.assetsForm.terminalClienteleContactId) {
+                this.$api.customerLinkman.detail(this.assetsForm.terminalClienteleContactId).then(res => {
                     if (res.code === 200) {
-                        this.assetsFrom.tmobile = res.data.mobile;
+                        this.assetsForm.tmobile = res.data.mobile;
                     }
                 })
             }
@@ -1013,9 +1024,9 @@ export default {
         // 打开新增终端联系人弹窗
         createTlinkman() {
             this.createTlinkmanVisible = true;
-            this.tLinkmanFrom.terminal = 1;
-            this.assetsFrom.clienteleSubId = 1;
-            this.tLinkmanFrom.ccId = this.assetsFrom.clienteleSubId;
+            this.tLinkmanForm.terminal = 1;
+            this.assetsForm.clienteleSubId = 1;
+            this.tLinkmanForm.ccId = this.assetsForm.clienteleSubId;
         },
         // 打开新增终端客户弹窗
         createTerminalClient() {
@@ -1023,9 +1034,9 @@ export default {
         },
         // 保存终端联系信息
         saveClient() {
-            this.$refs.terminalClientFrom.validate(valid => {
+            this.$refs.terminalClientForm.validate(valid => {
                 if (valid) {
-                    this.$api.customerCompany.add(this.terminalClientFrom).then(res => {
+                    this.$api.customerCompany.add(this.terminalClientForm).then(res => {
                         if (res.code === 200) {
                             this.$notify({
                                 title: '成功',
@@ -1036,7 +1047,7 @@ export default {
                         }
                         this.getCustomerCompany(1);
                         setTimeout(() => {
-                            this.assetsFrom.terminalClienteleId = this.tCustomerCompany[0].id;
+                            this.assetsForm.terminalClienteleId = this.tCustomerCompany[0].id;
                             this.findSubClientele(1);
                         }, 2000)
                         this.createTerminalClientVisible = false;
@@ -1046,9 +1057,9 @@ export default {
         },
         // 新增终端联系人
         saveTlinkman() {
-            this.$refs.tLinkmanFrom.validate(valid => {
+            this.$refs.tLinkmanForm.validate(valid => {
                 if (valid) {
-                    this.$api.customerLinkman.add(this.tLinkmanFrom).then(res => {
+                    this.$api.customerLinkman.add(this.tLinkmanForm).then(res => {
                         if (res.code === 200) {
                             this.$notify({
                                 title: '成功',
@@ -1066,14 +1077,68 @@ export default {
                             }
                         })
                         setTimeout(() => {
-                            this.assetsFrom.terminalClienteleContactId = this.tCustomerContract[0].id;
+                            this.assetsForm.terminalClienteleContactId = this.tCustomerContract[0].id;
                             this.getTcontactInfo();
                         }, 2000)
                         this.createTlinkmanVisible = false;
                     })
                 }
             })
+        },
+        // 根据id查询资产订单信息
+        getAssetsDetailById(id) {
+            this.$api.assets.getAssetsDetailById(id).then(res => {
+                if (res.code === 200) {
+                    this.assetsForm.clientManagerId = this.$store.getters.userInfo.id;
+                    this.assetsForm.clientManager = this.$store.getters.userInfo.name;
+                    this.assetsForm.name = res.data.name;
+                    this.assetsForm.departmentId = res.data.departmentId;
+                    this.assetsForm.assetsBusinessGener = res.data.assetsBusinessGener;
+                    this.assetsForm.entrustAgain = res.data.entrustAgain;
+                    this.assetsForm.security = res.data.security;
+                    this.assetsForm.significantAssetsReorganization = res.data.significantAssetsReorganization;
+                    this.assetsForm.stateAssets = res.data.stateAssets;
+                    this.assetsForm.foreignAssetsInvolved = res.data.foreignAssetsInvolved;
+                    this.assetsForm.dispenseBenefit = res.data.dispenseBenefit;
+                    this.assetsForm.remark = res.data.remark;
+                    this.initCustomerSelect(this.assetsForm.clienteleType);
+                    this.getPrincipalByAllotDepartment();
+                    this.getAllUser();
+                    this.getCustomerCompany(1);
+                }
+            })
+            console.log(this.assetsForm);
+        },
+        initCustomerSelect(val) {
+            if (val === "企业") {
+                this.getCustomerCompany(0);
+                this.getCustomerContract();
+                this.itemHideStatus = true;
+            } else {
+                this.getCustomerContract(1);
+                this.itemHideStatus = false;
+            }
+        },
+        // 根据部门id获取项目负责人列表
+        getPrincipalByAllotDepartment() {
+            let departmentId = this.assetsForm.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;
+                }
+            })
         }
+
     }
 }
 </script>
@@ -1106,4 +1171,5 @@ export default {
 
 /deep/.doWarehouseClass {
     border-radius: 10px;
-}</style>
+}
+</style>

+ 11 - 14
src/views/assets/allList.vue

@@ -104,7 +104,7 @@
                 </el-table-column>
                 <el-table-column label="操作" align="center" width="80" fixed="right">
                     <template slot-scope="{row}">
-                        <el-button round type="primary" @click="orderDetail(row)">详情</el-button>
+                        <el-button type="success" size="mini" @click="orderDetail(row)">查看</el-button>
                     </template>
                 </el-table-column>
             </parentTable>
@@ -217,19 +217,16 @@ export default {
             })
         },
         orderDetail(row) {
-            if (row.currentNodeCode === 'REPORT_OUT_DEPARTMENT_CHECK') {
-                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 {
-                this.$router.push({
-                    path: "/assets/orderDetail",
-                    query: {
-                        row: JSON.stringify(row),
-                        back: '/assets/allList'
-                    }
-                })
-            }
-
+            this.$router.push({
+                path: "/assets/orderDetail",
+                query: {
+                    row: JSON.stringify(row),
+                    back: '/assets/allList',
+                    couldEdit: false,
+                    couldBack: false,
+                    disabledStatus: true
+                }
+            })
         }
     }
 }

+ 270 - 0
src/views/assets/archivedList.vue

@@ -0,0 +1,270 @@
+<template>
+    <div class="app-container">
+        <div class="title-container">
+            <breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
+        </div>
+        <y-page-list-layout :page-list="pageData" :page-para="listQuery" :get-page-list="selectArchivedPage">
+            <template slot="left">
+                <el-input style="margin-left: 20px;width: 300px;float: left;" class="filter-item"
+                    v-model="listQuery.keyWord" placeholder="项目编号/报告号/项目名称/业务来源" clearable>
+                </el-input>
+                <el-select v-model="listQuery.principalId" filterable placeholder="项目负责人(可搜索)"
+                    style=" width: 200px;margin-left: 10px;float: left;">
+                    <el-option v-for="(u, id) in allUsers" :label="u.name" :value="u.id"></el-option>
+                </el-select>
+                <el-select v-model="listQuery.clientManagerId" filterable placeholder="客户经理(可搜索)"
+                    style=" width: 200px;margin-left: 10px;float: left;">
+                    <el-option v-for="(u, id) in allUsers" :label="u.name" :value="u.id"></el-option>
+                </el-select>
+                <el-select v-model="listQuery.assetsBusinessGener" filterable placeholder="业务类型"
+                    style=" width: 200px;margin-left: 10px;float: left;">
+                    <el-option v-for="(s, value) in assetsBusinessGeners" :label="s.label" :value="s.value"></el-option>
+                </el-select>
+                <el-select v-model="listQuery.nodeCode" filterable placeholder="流程节点(可搜索)"
+                    style=" width: 200px;margin-left: 10px;float: left;">
+                    <el-option v-for="item in nodes" :label="item.name" :value="item.code">
+                    </el-option>
+                </el-select>
+                <el-button class="filter-item" style="margin-left: 10px;float: left;" type="primary" @click="searchList"
+                    round>搜索
+                </el-button>
+                <el-button class="filter-item" style="float: left;" round type="success" @click="resetParams()">重置
+                </el-button>
+            </template>
+            <parentTable ref="table" v-loading="listLoading" :data="pageData.records" slot="table" style="width: 100%;">
+                <el-table-column label="项目编号" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.orderId }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="分单类型" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.allotType }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="意见书号" align="center" width="250">
+                    <template slot-scope="{row}">
+                        <span>{{ row.statementNo }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="报告号" align="center" width="250">
+                    <template slot-scope="{row}">
+                        <span>{{ row.reportNo }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="项目名称" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.name }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="业务类型" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.assetsBusinessGener }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="客户名称" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.customerName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="业务来源" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.customerSubName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="委托人" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.bailor }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="委托人联系电话" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.bailorContactTel }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="当前节点" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.currentNodeName }}</span>
+                    </template>
+                </el-table-column>
+                <!-- <el-table-column label="当前节点负责人" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.handlerName }}</span>
+                    </template>
+                </el-table-column> -->
+                <el-table-column label="项目负责人" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.principalName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="客户经理" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.clientManagerName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="下单时间" align="center" width="180">
+                    <template slot-scope="{row}">
+                        <span>{{ row.created }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="评估结论对应的评估值(万)" align="center" width="200">
+                    <template slot-scope="{row}">
+                        <span>{{ row.estimatedValue }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="订单应收款(元)" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.shouldAmount }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="订单实收款(元)" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.realAmount }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="标准收费(元)" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.standardAmount }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="折扣比例" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.discount }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="实际开票金额" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.invoiceRealAmount }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="操作" align="center" width="80" fixed="right">
+                    <template slot-scope="{row}">
+                        <el-button type="success" size="mini" @click="orderDetail(row)">查看</el-button>
+                    </template>
+                </el-table-column>
+            </parentTable>
+        </y-page-list-layout>
+    </div>
+</template>
+
+<script>
+import YPageListLayout from '@/components/YPageListLayout'
+import Breadcrumb from '@/components/Breadcrumb'
+import PermissionButton from '@/components/PermissionButton/PermissionButton'
+
+export default {
+    name: 'AssetsAllList',
+    components: {
+        Breadcrumb,
+        YPageListLayout,
+        PermissionButton,
+    },
+    data() {
+        return {
+            pageData: { records: [] },
+            listLoading: false,
+            listQuery: {
+                page: 1,
+                size: 10,
+                current: 1,
+                // 节点code
+                nodeCode: null,
+                // 客户经理id
+                clientManagerId: null,
+                // 项目负责人id
+                principalId: null,
+                // 业务类型
+                assetsBusinessGener: null,
+                // 关键字
+                keyWord: null
+            },
+            // 用户下拉列表
+            allUsers: [],
+            // 节点信息下拉列表
+            nodes: [],
+            // 业务类型下拉列表
+            assetsBusinessGeners: [
+                {
+                    value: '单项资产',
+                    label: '单项资产'
+                }, {
+                    value: '整体资产',
+                    label: '整体资产'
+                }, {
+                    value: '无形资产',
+                    label: '无形资产'
+                }, {
+                    value: '债权',
+                    label: '债权'
+                }, {
+                    value: '其他',
+                    label: '其他'
+                }
+            ]
+        }
+    },
+    created() {
+        // 获取用户下拉列表
+        this.getAllUser();
+        // 获取节点下拉列表
+        this.getNodes();
+        // 获取资产业务订单
+        this.selectArchivedPage();
+    },
+    methods: {
+        // 无条件分页查询
+        selectArchivedPage() {
+            this.$api.assets.selectArchivedPage(this.listQuery).then(res => {
+                if (res.code === 200) {
+                    this.pageData = res.data;
+                }
+            })
+        },
+        // 条件查询
+        searchList() {
+            // 重置分页
+            this.listQuery.page = 1
+            this.listQuery.size = 10
+            this.selectArchivedPage()
+        },
+        // 重置搜索条件
+        resetParams() {
+            this.$router.push({ query: {} });
+            this.listQuery = {
+                current: 1,
+                size: 10,
+            }
+            this.selectArchivedPage();
+        },
+        // 获取所有用户下拉列表
+        getAllUser() {
+            this.$api.user.simpleAll().then(res => {
+                if (res.code === 200) {
+                    this.allUsers = res.data;
+                }
+            })
+        },
+        getNodes() {
+            this.$api.workNode.enum().then(res => {
+                if (res.code === 200) {
+                    this.nodes = res.data
+                }
+            })
+        },
+        orderDetail(row) {
+            this.$router.push({
+                path: "/assets/orderDetail",
+                query: {
+                    row: JSON.stringify(row),
+                    back: '/assets/archivedList',
+                    couldEdit: false,
+                    couldBack: false,
+                    disabledStatus: true
+                }
+            })
+        }
+    }
+}
+</script>
+
+<style lang="scss" scoped></style>

+ 176 - 0
src/views/assets/doneList.vue

@@ -0,0 +1,176 @@
+<template>
+    <div class="app-container">
+        <div class="title-container">
+            <breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
+        </div>
+        <y-page-list-layout :page-list="pageData" :page-para="listQuery" :get-page-list="getAssetsTaskDoneList">
+            <template slot="left">
+                <el-input style="margin-left: 20px;width: 300px;float: left;" class="filter-item"
+                    v-model="listQuery.keyWord" placeholder="项目编号/报告号/项目名称/业务来源" clearable>
+                </el-input>
+                <el-select v-model="listQuery.nodeCode" filterable placeholder="流程节点(可搜索)"
+                    style=" width: 200px;margin-left: 10px;float: left;">
+                    <el-option v-for="item in nodes" :label="item.name" :value="item.code">
+                    </el-option>
+                </el-select>
+                <el-button class="filter-item" style="margin-left: 10px;float: left;" type="primary" @click="searchList"
+                    round>搜索
+                </el-button>
+                <el-button class="filter-item" style="float: left;" round type="success" @click="resetParams()">重置
+                </el-button>
+            </template>
+            <parentTable ref="table" v-loading="listLoading" :data="pageData.records" slot="table" style="width: 100%;">
+                <el-table-column label="项目编号" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.orderId }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="项目名称" align="center" width="300">
+                    <template slot-scope="{row}">
+                        <span>{{ row.assetsName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="意见书号" align="center" width="250">
+                    <template slot-scope="{row}">
+                        <span>{{ row.statementNo }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="报告号" align="center" width="250">
+                    <template slot-scope="{row}">
+                        <span>{{ row.reportNo }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="处理人" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.handlerName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="处理的节点" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.nodeName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="处理意见" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.comments }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="操作状态" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.state }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="开始时间" align="center" width="200">
+                    <template slot-scope="{row}">
+                        <span>{{ row.startDate }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="完成时间" align="center" width="200">
+                    <template slot-scope="{row}">
+                        <span>{{ row.finishTime }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="处理时长" align="center" width="180">
+                    <template slot-scope="{row}">
+                        <span>{{ row.handingTime }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="节点完成状态" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <el-tag v-if="row.instanceState === 'FINISHED'" type="success">已完成</el-tag>
+                        <el-tag v-if="row.instanceState === 'PENDING'" type="warning">进行中</el-tag>
+                    </template>
+                </el-table-column>
+                <el-table-column label="操作" align="center" width="120" fixed="right">
+                    <template slot-scope="{row}">
+                        <el-button type="success" size="mini" @click="orderDetail(row)">查看</el-button>
+                    </template>
+                </el-table-column>
+            </parentTable>
+        </y-page-list-layout>
+    </div>
+</template>
+
+<script>
+import YPageListLayout from '@/components/YPageListLayout'
+import Breadcrumb from '@/components/Breadcrumb'
+import PermissionButton from '@/components/PermissionButton/PermissionButton'
+
+export default {
+    name: 'AssetsAllList',
+    components: {
+        Breadcrumb,
+        YPageListLayout,
+        PermissionButton,
+    },
+    data() {
+        return {
+            pageData: { records: [] },
+            listLoading: false,
+            listQuery: {
+                page: 1,
+                size: 10,
+                current: 1,
+                // 节点code
+                nodeCode: null,
+                // 关键字
+                keyWord: null
+            },
+            nodes: []
+        }
+    },
+    created() {
+        // 获取节点下拉列表
+        this.getNodes();
+        // 获取资产业务订单
+        this.getAssetsTaskDoneList();
+    },
+    methods: {
+        // 无条件分页查询
+        getAssetsTaskDoneList() {
+            this.$api.workNodeTaskRecord.getAssetsTaskDoneList(this.listQuery).then(res => {
+                if (res.code === 200) {
+                    this.pageData = res.data;
+                }
+            })
+        },
+        // 条件查询
+        searchList() {
+            // 重置分页
+            this.listQuery.page = 1
+            this.listQuery.size = 10
+            this.getAssetsTaskDoneList()
+        },
+        // 重置搜索条件
+        resetParams() {
+            this.$router.push({ query: {} });
+            this.listQuery = {
+                current: 1,
+                size: 10,
+            }
+            this.getAssetsTaskDoneList();
+        },
+        getNodes() {
+            this.$api.workNode.enum().then(res => {
+                if (res.code === 200) {
+                    this.nodes = res.data
+                }
+            })
+        },
+        orderDetail(row) {
+            this.$router.push({
+                path: "/assets/orderDetail",
+                query: {
+                    row: JSON.stringify(row),
+                    back: '/assets/archivedList',
+                    couldEdit: false,
+                    couldBack: false,
+                    disabledStatus: true
+                }
+            })
+        }
+    }
+}
+</script>
+
+<style lang="scss" scoped></style>

+ 178 - 23
src/views/assets/myOrderList.vue

@@ -111,6 +111,11 @@
                         <span>{{ row.realAmount }}</span>
                     </template>
                 </el-table-column>
+                <el-table-column label="产品应收款(元)" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.productionShouldAmount }}</span>
+                    </template>
+                </el-table-column>
                 <el-table-column label="标准收费(元)" align="center" width="150">
                     <template slot-scope="{row}">
                         <span>{{ row.standardAmount }}</span>
@@ -126,18 +131,29 @@
                         <span>{{ row.invoiceRealAmount }}</span>
                     </template>
                 </el-table-column>
-                <el-table-column label="操作" align="center" width="200" fixed="right">
+                <el-table-column label="送达状态" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <el-tag v-if="row.reportDelivery" type='success'>已送达</el-tag>
+                        <el-button type="danger" size="mini"
+                            v-if="(!row.reportDelivery || row.reportDelivery == null) && row.reportRepertoryState">标记送达</el-button>
+                    </template>
+                </el-table-column>
+                <el-table-column label="操作" align="center" :min-width="dynamicWidth" fixed="right">
                     <template slot-scope="{row}">
-                        <el-button type="text" @click="orderDetail(row)">详情</el-button>
-                        <el-button type="text" size="small" @click="openShouldAmountDialog(row)">应收款</el-button>
-                        <el-button v-if="row.currentNodeCode === 'REPORT_OUT_APPLY'" type="text"
-                            @click="openRepertoryOutWarehouse(row)">
-                            申请提前出库
-                        </el-button>
-                        <!-- <el-button v-if="row.currentNodeCode === 'REPORT_OUT_APPLY'" type="text"
+                        <div class="optionDiv" style="white-space: nowrap; display: inline-block">
+                            <el-button type="success" size="mini" @click="orderDetail(row)">查看</el-button>
+                            <el-button type="primary" size="mini" @click="openShouldAmountDialog(row)">订单应收款</el-button>
+                            <el-button v-if="row.reportNo !== null" type="success" size="mini"
+                                @click="openProShouldAmountDialog(row)">产品应收款</el-button>
+                            <el-button v-if="row.currentNodeCode === 'REPORT_OUT_APPLY'" type="danger" size="mini"
+                                @click="openRepertoryOutWarehouse(row)">
+                                申请提前出库
+                            </el-button>
+                            <!-- <el-button v-if="row.currentNodeCode === 'REPORT_OUT_APPLY'" type="text"
                             @click="canceladdRepertoryOutWarehouse(row)">
                             撤销出库申请
-                        </el-button> -->
+                            </el-button> -->
+                        </div>
                     </template>
                 </el-table-column>
             </parentTable>
@@ -168,6 +184,33 @@
                 <el-button type="primary" @click="saveShouldAmount()">确 定</el-button>
             </span>
         </el-dialog>
+        <el-dialog :visible.sync="proShouldAmountDialog" width="35%" center top="35vh" custom-class="doWarehouseClass"
+            @closed="cleanData">
+            <el-form ref="productionFundFrom" :model="productionFundFrom" style="margin-left:40px">
+                <el-row>
+                    <el-col :xs="24" :sm="12" :lg="24" :span="12">
+                        <el-form-item label="产品应收款金额(元):" prop="productionShouldAmount" label-width="160px"
+                            class="postInfo-container-item"
+                            :rules="{ required: true, message: '应收款金额不能为空', trigger: 'blur' }">
+                            <el-input-number :precision="2" :min="null" :value-on-clear="0"
+                                v-model.number="productionFundFrom.productionShouldAmount" type="number" style="width:300px"
+                                class="filter-item" />
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :xs="24" :sm="12" :lg="24" :span="12">
+                        <el-form-item label="备注:" prop="remark" label-width="160px" class="postInfo-container-item">
+                            <el-input style="width:300px" type="textarea" v-model="productionFundFrom.remark"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+            </el-form>
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="proShouldAmountDialog = false">取 消</el-button>
+                <el-button type="primary" @click="saveProShouldAmount()">确 定</el-button>
+            </span>
+        </el-dialog>
         <el-dialog :visible.sync="repertoryOutWarehouseVisible">
             <el-form ref="outWarehouse" :model="outWarehouse" style="margin-left:40px; margin-right: 200px;">
                 <el-row>
@@ -190,16 +233,18 @@
 import YPageListLayout from '@/components/YPageListLayout'
 import Breadcrumb from '@/components/Breadcrumb'
 import PermissionButton from '@/components/PermissionButton/PermissionButton'
+import { getOperatorWidth } from '@/utils/tableUtil.js'
 
 export default {
     name: 'AssetsAllList',
     components: {
         Breadcrumb,
         YPageListLayout,
-        PermissionButton,
+        PermissionButton
     },
     data() {
         return {
+            dynamicWidth: 0,
             pageData: { records: [] },
             listLoading: false,
             listQuery: {
@@ -232,6 +277,7 @@ export default {
                 },
             ],
             shouldAmountDialog: false,
+            proShouldAmountDialog: false,
             fund: {
                 id: null,
                 businessType: null,
@@ -258,7 +304,18 @@ export default {
             businessSubId: null,
             businessMinId: null,
             recordId: null,
-            currentNodeId: null
+            currentNodeId: null,
+            // 产品收款信息
+            productionFundFrom: {
+                id: null,
+                businessType: null,
+                businessId: null,
+                productionNo: null,
+                productionType: null,
+                orderFundId: null,
+                productionShouldAmount: null,
+                remark: null
+            }
         }
     },
     created() {
@@ -267,6 +324,9 @@ export default {
         // 获取我的资产业务订单
         this.selectMyOrderPage();
     },
+    updated() {
+        this.dynamicWidth = getOperatorWidth();
+    },
     methods: {
         // 无条件分页查询
         selectMyOrderPage() {
@@ -305,7 +365,10 @@ export default {
                 path: "/assets/orderDetail",
                 query: {
                     row: JSON.stringify(row),
-                    back: '/assets/allList'
+                    back: '/assets/myOrderList',
+                    couldEdit: false,
+                    couldBack: false,
+                    disabledStatus: true
                 }
             })
         },
@@ -320,6 +383,36 @@ export default {
             this.fund.orderId = row.orderId;
             this.fund.orderName = row.name;
         },
+        openProShouldAmountDialog(row) {
+            if (row.orderFundId !== null) {
+                this.proShouldAmountDialog = true;
+                this.productionFundFrom.id = row.productionFundId;
+                this.productionFundFrom.businessType = 'ASSET_BUSINESS';
+                this.productionFundFrom.businessId = row.assetsId;
+                this.productionFundFrom.orderFundId = row.orderFundId;
+                this.productionFundFrom.productionNo = row.reportNo;
+                this.productionFundFrom.productionShouldAmount = row.productionShouldAmount;
+                if (row.reportNo.includes('川友评报字')) {
+                    this.productionFundFrom.productionType = 'REPORT'
+                } else if (row.reportNo.includes('川友咨报字')) {
+                    this.productionFundFrom.productionType = 'CONSULT'
+                } else if (row.reportNo.includes('川友字')) {
+                    this.productionFundFrom.productionType = 'LETTER'
+                } else {
+                    this.productionFundFrom.productionType = 'STATEMENT'
+                }
+                this.productionFundFrom.productionShouldAmount = row.productionShouldAmount;
+                this.productionFundFrom.remark = row.remark;
+            } else {
+                this.$notify({
+                    title: '警告',
+                    message: '需要先填写订单应收款',
+                    type: 'error',
+                    duration: 3000
+                });
+            }
+
+        },
         saveShouldAmount() {
             this.$refs.fund.validate(valid => {
                 if (valid) {
@@ -328,7 +421,7 @@ export default {
                             if (res.code === 200 && res.data) {
                                 this.$notify({
                                     title: '成功',
-                                    message: '订单应收款已修改',
+                                    message: '订单应收款保存成功',
                                     type: 'success',
                                     duration: 1000
                                 });
@@ -348,7 +441,7 @@ export default {
                             if (res.code === 200 && res.data) {
                                 this.$notify({
                                     title: '成功',
-                                    message: '订单应收款已新增',
+                                    message: '订单应收款保存成功',
                                     type: 'success',
                                     duration: 1000
                                 });
@@ -405,6 +498,7 @@ export default {
                         });
                         this.commitNode('PASS', this.outWarehouse.remark);
                         this.repertoryOutWarehouseVisible = false;
+                        this.selectMyOrderPage();
                     } else {
                         this.$notify({
                             title: '失败',
@@ -433,16 +527,16 @@ export default {
             }).then(() => {
                 this.$api.productionOutWarehouse.detail(row.warehouseId).then(res => {
                     if (res.departmentCheckState !== '审核中') {
-                    this.$notify({
-                        title: '警告',
-                        message: '出库申请'+ res.departmentCheckState +',无法撤销。',
-                        type: 'error',
-                        duration: 2000
-                    });
-                    return;
-                }
+                        this.$notify({
+                            title: '警告',
+                            message: '出库申请' + res.departmentCheckState + ',无法撤销。',
+                            type: 'error',
+                            duration: 2000
+                        });
+                        return;
+                    }
                 })
-                
+
                 if (row.id) {
                     this.$api.productionOutWarehouse.cancel(row.id).then(res => {
                         if (res.code === 200 && res.data) {
@@ -484,7 +578,68 @@ export default {
                     });
                 }
             })
+        },
+        // 保存产品应收款
+        saveProShouldAmount() {
+            this.$refs.productionFundFrom.validate(valid => {
+                if (valid) {
+                    if (this.productionFundFrom.id) {
+                        this.$api.productionFund.edit(this.productionFundFrom).then(res => {
+                            if (res.code === 200 && res.data) {
+                                this.$notify({
+                                    title: '成功',
+                                    message: '产品应收款保存成功',
+                                    type: 'success',
+                                    duration: 1000
+                                });
+                                this.selectMyOrderPage();
+                                this.proShouldAmountDialog = false;
+                            } else {
+                                this.$notify({
+                                    title: '失败',
+                                    message: '产品应收款保存错误',
+                                    type: 'error',
+                                    duration: 1000
+                                });
+                            }
+                        })
+                    } else {
+                        this.$api.productionFund.add(this.productionFundFrom).then(res => {
+                            if (res.code === 200 && res.data) {
+                                this.$notify({
+                                    title: '成功',
+                                    message: '产品应收款保存成功',
+                                    type: 'success',
+                                    duration: 1000
+                                });
+                                this.selectMyOrderPage();
+                                this.proShouldAmountDialog = false;
+                            } else {
+                                this.$notify({
+                                    title: '失败',
+                                    message: '产品应收款保存错误',
+                                    type: 'error',
+                                    duration: 1000
+                                });
+                            }
+                        })
+                    }
+                }
+            })
         }
+    },
+    // 标记产品送达
+    markDelivery(row) {
+        this.$api.assets.markDelivery(row.reportNo).then(res => {
+            if (res.code === 200 && res.data) {
+                this.$notify({
+                    title: '成功',
+                    message: '标记送达成功!',
+                    type: 'success',
+                    duration: 1000
+                });
+            }
+        })
     }
 }
 </script>

+ 282 - 72
src/views/assets/orderDetail.vue

@@ -5,7 +5,7 @@
         <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> 当前节点:{{ currentNode == null ? '???' : currentNode.nodeName ? currentNode.nodeName : '结束' }}</span>
             <!-- <span v-if = "currentNode.tasks.length>0" style="margin-left:30px">任务:</span>  -->
             <!-- <span v-for="( t,index) in currentNode.tasks" :key=index  >{{t.info}}</span> -->
             <!-- <span style="margin-left:30px" v-if="statementNo || reportNo">该流程已取:<el-tag type="success" v-if="statementNo">{{statementNo}}</el-tag> <el-tag type="danger" v-if="reportNo">{{reportNo}}</el-tag></span> -->
@@ -18,12 +18,15 @@
           @getPreviousNode="getPreviousNode" />
       </el-collapse-item>
     </el-collapse>
-    <div class="button-area">
-      <el-button @click="openProductionDialog" v-if="currentNode.nodeCode === 'PRODUCT_CHOICE' || currentNode.nodeCode === 'REPORT_CHOICE'" type="danger" round>
+    <div class="button-area" v-if="couldEdit">
+      <el-button @click="openProductionDialog"
+        v-if="currentNode.nodeCode === 'PRODUCT_CHOICE' || currentNode.nodeCode === 'REPORT_CHOICE'" type="danger" round>
         选择产品
       </el-button>
-      <el-button @click="openAssetsAchievementRatioDialog()" v-if="currentNode.nodeCode === 'CHECK_ARCHIVING' || currentNode.nodeCode === 'RECHECK_ARCHIVING'" type="danger" round>
-        <span v-if="currentNode.nodeCode === 'RECHECK_ARCHIVING'">复审部</span> 归档审核
+      <el-button @click="openAssetsAchievementRatioDialog()"
+        v-if="currentNode.nodeCode === 'CHECK_ARCHIVING' || currentNode.nodeCode === 'RECHECK_ARCHIVING'" type="danger"
+        round>
+        <span v-if="currentNode.nodeCode === 'RECHECK_ARCHIVING'">复审部</span>归档审核
       </el-button>
       <el-button v-if="nodeBusinessInfo.currentNodePermission.commit" class="y-save" type="success" round
         @click="commit('PASS')" :disabled="!nodeBusinessInfo.doWorkflow">提交</el-button>
@@ -40,7 +43,7 @@
     <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="editStatus">
+        <y-detail-page-layout ref="addAssetsOrder" name="assets">
           <el-form ref="assetsForm" :model="assetsForm" :rules="assetsFormRules" :disabled="disabledStatus">
             <div class="createMajor-main-container">
               <div class="postInfo-container">
@@ -362,21 +365,22 @@
                 </div>
               </el-col>
               <el-col :span="2">
-                <el-button v-if="currentNode.nodeCode === 'SPOT_RECONNAISSANCE_DETERMINE_PRICE'" type="danger"
-                  @click="openTargetDialog(), changeStatus('add')" round>添加评估对象</el-button>
+                <el-button v-if="currentNode.nodeCode === 'SPOT_RECONNAISSANCE_DETERMINE_PRICE' && couldEdit"
+                  type="danger" @click="openTargetDialog(), changeStatus('add')" round>添加评估对象</el-button>
               </el-col>
-              <el-col :span="2" v-if="currentNode.nodeCode === 'GENERATE_STATEMENT'">
+              <el-col :span="2" v-if="currentNode.nodeCode === 'GENERATE_STATEMENT' && couldEdit">
                 <el-tooltip class="item" effect="dark" content="全选取主号,多次取号(主号-子号)" placement="right">
                   <el-button type="success" @click="takeAssetsStatementProductionNo" round>意见书取号</el-button>
                 </el-tooltip>
               </el-col>
-              <el-col :span="2" v-if="currentNode.nodeCode === 'ASSET_REPORT_TAKE_NO'">
+              <el-col :span="2" v-if="currentNode.nodeCode === 'ASSET_REPORT_TAKE_NO' && couldEdit">
                 <el-tooltip class="item" effect="dark" content="全选取主号,多次取号(主号-子号)" placement="right">
                   <el-button type="success" @click="takeAssetsReportProductionNo" round>报告取号</el-button>
                 </el-tooltip>
               </el-col>
-              <el-col :span="2"
-                v-if="currentNode.nodeCode === 'GENERATE_STATEMENT' || currentNode.nodeCode === 'WRITE_REPORT'">
+              <el-col :span="2" v-if="(currentNode.nodeCode === 'GENERATE_STATEMENT' || currentNode.nodeCode === 'WRITE_REPORT')
+                && couldEdit
+                && (writeProductionStatementNos.length > 0 || writeProductionReportNos.length > 0)">
                 <el-tooltip class="item" effect="dark" content="请仔细确认产品内容" placement="right">
                   <el-button type="success" @click="openWriteProductionDialog(false, 'add')" round>撰写产品信息</el-button>
                 </el-tooltip>
@@ -460,7 +464,7 @@
                 </h3>
               </el-divider>
             </div>
-            <span v-if="currentNode.nodeCode === 'GENERATE_STATEMENT'">
+            <span style="margin-top: 5px;" v-if="currentNode.nodeCode === 'GENERATE_STATEMENT' && couldEdit">
               选择要提交的意见书:
               <el-select v-model="commitProductionNo" @change="pushProductionNo()" placeholder="请选择要提交的产品"
                 style="width: 300px;">
@@ -468,7 +472,7 @@
                   :label="pro.productionNo" :value="pro.productionNo" :key="pro.id"></el-option>
               </el-select>
             </span>
-            <span v-if="currentNode.nodeCode === 'WRITE_REPORT'">
+            <span v-if="currentNode.nodeCode === 'WRITE_REPORT' && couldEdit">
               选择要提交的报告:
               <el-select v-model="commitProductionNo" @change="pushProductionNo()" placeholder="请选择要提交的产品"
                 style="width: 300px;">
@@ -1056,7 +1060,7 @@
         </div>
       </el-form>
     </el-dialog>
-    <el-dialog :visible.sync="productionCheckDialogVisible" @close="resetProductionForm">
+    <el-dialog :visible.sync="productionCheckDialogVisible" @close="resetProductionForm()">
       <el-form ref="productionPerformanceForm" :model="productionPerformanceForm">
         <div class="createMajor-main-container">
           <div class="postInfo-container">
@@ -1140,11 +1144,70 @@
       </span>
     </el-dialog>
 
-    <el-dialog :visible.sync="assetsAchievementRatioDialogVisible" width="50%">
-      
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="warehouseDialog = false">取 消</el-button>
-        <el-button type="primary" @click="">确 定</el-button>
+    <el-dialog :visible.sync="assetsAchievementRatioDialogVisible" @close="resetProductionForm()"
+      @closed="resetBusinessPerformanceDistributionForm()" width="25%">
+      <div v-if="businessPerformanceDistributionForm.distributionList !== null" 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>
+          <p style="margin-top: 50px; color: red;">绩效比例:</p>
+          <el-row style="margin-top: 10px;" v-for="(member, index) in assetsBusinessMembers" :key="index"
+            class="row-style">
+            <el-col>
+              <p style="width: 65px; display: inline-block; text-align: right;">
+                {{ member.memberName }}:
+              </p>
+              <el-input-number
+                v-model="businessPerformanceDistributionForm.distributionList[index].performanceDistribution"
+                :precision="2" :step="0.1" :max="100">
+              </el-input-number>
+              <p style="margin-left: 5px; display: inline-block;">
+                %
+              </p>
+              <p style="margin-left: 5px; display: inline-block;">
+                <span v-if="member.memberType === '项目负责人'" style="color: blueviolet;">
+                  * {{ member.memberType }}
+                </span>
+                <span v-if="member.memberType === '项目参与人'">
+                  * {{ member.memberType }}
+                </span>
+                <span v-if="member.memberType === '签字师'" style="color: red;">
+                  * {{ member.memberType }}
+                </span>
+              </p>
+            </el-col>
+          </el-row>
+          <span v-if="currentNode.nodeCode === 'CHECK_ARCHIVING'">
+            <el-row style="margin-top: 10px;" class="row-style">
+              <el-col>
+                <el-form>
+                  <el-form-item :rules="{ required: true, message: '请上传附件资料', trigger: 'changes' }" prop="filePath"
+                    label="资料附件:" label-width="120px" class="postInfo-container-item">
+                    <el-upload action="/api/upload" :limit="3" :on-success="changeresProduction" :on-exceed="handleExceed"
+                      :on-preview="handleAttachmentPreview" :before-remove="beforeRemovePro" :file-list="fileList">
+                      <el-button plain type="info" round style="width: 100%">上传附件<i
+                          class="el-icon-upload el-icon--right"></i></el-button>
+                    </el-upload>
+                  </el-form-item>
+                </el-form>
+              </el-col>
+            </el-row>
+          </span>
+
+        </div>
+      </div>
+      <span v-if="businessPerformanceDistributionForm.distributionList !== null" slot="footer" class="dialog-footer">
+        <el-button @click="assetsAchievementRatioDialogVisible = false">取 消</el-button>
+        <el-button v-if="showDistributionButton" type="primary" @click="saveBusinessPerformanceDistribution()">新
+          增</el-button>
+        <el-button v-if="!showDistributionButton" type="primary" @click="updateAssetsPerformanceDistribution()">修
+          改</el-button>
       </span>
     </el-dialog>
   </div>
@@ -1623,28 +1686,37 @@ export default {
       wareHouseProductionType: null,
       wareHouseproductionId: null,
       assetsAchievementRatioDialogVisible: false,
+      // 项目所有参与人信息
+      assetsBusinessMembers: [],
       // 资产绩效比例表单
-      evaluationMemberForm: {
-        id: null,
+      businessPerformanceDistributionForm: {
+        businessId: null,
         businessType: null,
-        memberId: null,
-        achievementRatio: null,
-        reportNo: null
-      }
+        reportNo: null,
+        distributionList: [
+          // {
+          //   memberId: null,
+          //   performanceDistribution: null
+          // }
+        ]
+      },
+      showDistributionButton: null
     }
   },
   watch: {
 
   },
   created() {
-    this.couldEdit = true;
-    this.couldBack = true;
+    this.disabledStatus = this.$route.query.disabledStatus === 'true';
+    this.couldEdit = this.$route.query.couldEdit === 'true';
+    this.couldBack = this.$route.query.couldBack === 'true';
     this.nodeBusinessInfo.doWorkflow = true;
     // 获取页面参数
     this.pageParams.back = this.$route.query.back;
     this.pageParams.row = JSON.parse(this.$route.query.row);
     this.getProductionTypes(this.pageParams.row.assetsId);
     this.nodeBusinessInfo.mainBusiness = 'ASSET_BUSINESS';
+    this.nodeBusinessInfo.businessId = this.pageParams.row.assetsId;
     this.nodeBusinessInfo.businessSubId = this.pageParams.row.statementNo;
     this.nodeBusinessInfo.businessMinId = this.pageParams.row.reportNo;
     this.getCurrentNodeInfo();
@@ -1663,11 +1735,11 @@ export default {
       this.$api.assets.getAssetsDetailById(id).then(res => {
         if (res.code === 200) {
           this.assetsForm = res.data;
+          this.$refs.board.getInstanceQueue();
           this.assetsForm.members = JSON.parse(res.data.members);
           this.initCustomerSelect(this.assetsForm.clienteleType);
           this.getPrincipalByAllotDepartment();
           this.getAllUser();
-          this.$refs.board.getInstanceQueue();
         }
       })
     },
@@ -1675,7 +1747,6 @@ export default {
 
     },
     workflowCommitVerify(val, callback) {
-      console.log(val);
       let commit = val.commit;
       let verify = new Object();
       verify.state = true;
@@ -1950,7 +2021,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.row.assetsId;
+              // this.nodeBusinessInfo.businessId = this.pageParams.row.assetsId;
 
               if (this.currentNode.nodeCode === 'REPORT_IN') {
                 this.getProductionRealAmount(this.pageParams.row.reportNo);
@@ -2009,11 +2080,8 @@ export default {
       this.$api.assets.getAETargetListByAssetsId(aETargetListSelectDTO).then(res => {
         if (res.code === 200) {
           this.assetsEvaluationTarget = res.data;
-          this.writeProductionStatementNos = this.assetsEvaluationTarget.filter(obj => obj.createProductionDate == null || obj.createProductionDate == '').map(obj => obj.statementNo);
-          this.writeProductionReportNos = this.assetsEvaluationTarget.filter(obj => obj.createProductionDate == null || obj.createProductionDate == '').map(obj => obj.reportNo);
-          // for (let i = 0; i < res.data.length; i++) {
-          //   this.nodeBusinessInfo.reportNos.push(res.data[i].productionNo);
-          // }
+          this.writeProductionStatementNos = this.assetsEvaluationTarget.filter(obj => obj.statementCreateProductionDate == null || obj.statementCreateProductionDate == '').map(obj => obj.statementNo);
+          this.writeProductionReportNos = this.assetsEvaluationTarget.filter(obj => obj.reportCreateProductionDate == null || obj.reportCreateProductionDate == '').map(obj => obj.reportNo);
           this.flowDoFourthCheck();
         }
       })
@@ -2152,7 +2220,7 @@ export default {
             if (res.code === 200) {
               this.$notify({
                 title: '成功',
-                message: '添加资产业务评估对象成功',
+                message: '添加资产业务评估对象成功,可继续添加或提交节点',
                 type: 'success',
                 duration: 2000
               });
@@ -2333,11 +2401,13 @@ export default {
           }
           this.assetsProductionForm.filePath = JSON.stringify(this.assetsProductionForm.filePath);
           this.assetsProductionForm.signatory = JSON.stringify(this.assetsProductionForm.signatory);
-          this.$api.assets.assetsProductionUpdate(this.assetsProductionForm).then(res => {
+          this.taskRecordDTO.recordId = this.currentNode.tasks[0].recordId;
+          this.taskRecordDTO.taskData = this.assetsProductionForm;
+          this.$api.assets.assetsProductionUpdate(this.taskRecordDTO).then(res => {
             if (res.code === 200) {
               this.$notify({
                 title: '成功',
-                message: '选择产品成功!',
+                message: '选择产品成功!请继续提交流程节点!',
                 type: 'success',
                 duration: 2000
               });
@@ -2493,7 +2563,7 @@ export default {
             if (res.code == 200) {
               this.$notify({
                 title: '成功',
-                message: '产品撰写成功!',
+                message: '产品撰写成功!请继续提交流程节点!',
                 type: 'success',
                 duration: 2000
               });
@@ -2655,35 +2725,43 @@ export default {
         }
       })
       const curNode = this.currentNode.nodeCode;
-      if (!this.isCheckValue && !(curNode === 'REVIEW_STATEMENT' || curNode === 'CHECK_REPORT')) {
-        this.productionCheckDialogVisible = true;
-        this.productionPerformanceForm.businessType = 'ASSET_BUSINESS';
-        if (curNode === 'REVIEW_STATEMENT' || curNode === 'CHECK_REPORT') {
-          this.productionPerformanceForm.checkLoop = "初审";
-        }
-        if (curNode === 'REEXAMINE_STATEMENT' || curNode === 'RECHECK_REPORT') {
-          this.productionPerformanceForm.checkLoop = "复审";
-        }
-        if (curNode === 'FOURTH_CHECK_REPORT') {
-          this.productionPerformanceForm.checkLoop = "四审";
+      if (curNode === 'REVIEW_STATEMENT' || curNode === 'CHECK_REPORT') {
+        if (this.isCheckValue) {
+          this.initProQuality(curNode);
+        } else {
+          this.$notify({
+            title: '警告',
+            message: '评估对象需要进行审核定价',
+            type: 'error',
+            duration: 3000
+          });
         }
-        this.$api.businessProductionPerformance.getProductionPerformance(this.productionPerformanceForm).then(res => {
-          if (res.code === 200 && res.data != null) {
-            this.productionPerformanceForm.id = res.data.id;
-            this.productionPerformanceForm.fatalMistake = res.data.fatalMistake;
-            this.productionPerformanceForm.hardMistake = res.data.hardMistake;
-            this.productionPerformanceForm.normalMistake = res.data.normalMistake;
-            this.productionPerformanceForm.reason = res.data.reason;
-          }
-        })
       } else {
-        this.$notify({
-          title: '警告',
-          message: '评估对象需要进行审核定价',
-          type: 'error',
-          duration: 3000
-        });
+        this.initProQuality(curNode);
+      }
+    },
+    // 质检信息基础信息赋值
+    initProQuality(curNode) {
+      this.productionCheckDialogVisible = true;
+      this.productionPerformanceForm.businessType = 'ASSET_BUSINESS';
+      if (curNode === 'REVIEW_STATEMENT' || curNode === 'CHECK_REPORT') {
+        this.productionPerformanceForm.checkLoop = "初审";
+      }
+      if (curNode === 'REEXAMINE_STATEMENT' || curNode === 'RECHECK_REPORT') {
+        this.productionPerformanceForm.checkLoop = "复审";
+      }
+      if (curNode === 'FOURTH_CHECK_REPORT') {
+        this.productionPerformanceForm.checkLoop = "四审";
       }
+      this.$api.businessProductionPerformance.getProductionPerformance(this.productionPerformanceForm).then(res => {
+        if (res.code === 200 && res.data != null) {
+          this.productionPerformanceForm.id = res.data.id;
+          this.productionPerformanceForm.fatalMistake = res.data.fatalMistake;
+          this.productionPerformanceForm.hardMistake = res.data.hardMistake;
+          this.productionPerformanceForm.normalMistake = res.data.normalMistake;
+          this.productionPerformanceForm.reason = res.data.reason;
+        }
+      })
     },
     // 保存产品质检信息(新增与保存都是这个方法)
     saveQuality() {
@@ -2698,11 +2776,13 @@ export default {
             if (res.code === 200 && res.data) {
               this.$notify({
                 title: '成功',
-                message: '质检信息更新成功',
+                message: '质检信息更新成功,请继续提交流程节点!',
                 type: 'success',
                 duration: 3000
               });
-              this.updateProductionFileInfo();
+              if (this.currentNode.nodeCode === 'RECHECK_REPORT' || this.currentNode.nodeCode === 'FOURTH_CHECK_REPORT') {
+                this.updateProductionFileInfo();
+              }
               this.productionCheckDialogVisible = false;
             }
           })
@@ -2711,11 +2791,13 @@ export default {
             if (res.code === 200 && res.data) {
               this.$notify({
                 title: '成功',
-                message: '质检信息保存成功',
+                message: '质检信息保存成功,请继续提交流程节点!',
                 type: 'success',
                 duration: 3000
               });
-              this.updateProductionFileInfo();
+              if (this.currentNode.nodeCode === 'RECHECK_REPORT' || this.currentNode.nodeCode === 'FOURTH_CHECK_REPORT') {
+                this.updateProductionFileInfo();
+              }
               this.productionCheckDialogVisible = false;
             }
           })
@@ -2778,7 +2860,7 @@ export default {
         if (res.code === 200 && res.data) {
           this.$notify({
             title: '成功',
-            message: '库存操作成功',
+            message: '库存操作成功,请继续提交流程节点!',
             type: 'success',
             duration: 2000
           });
@@ -2819,8 +2901,136 @@ export default {
       })
     },
     // 打开绩效比例分配弹窗
-    openAssetsAchievementRatioDialog(){
+    openAssetsAchievementRatioDialog() {
+      this.businessPerformanceDistributionForm.distributionList = [];
+      //获取报告附件信息
+      let assetsProductionDetailDTO = new Object();
+      assetsProductionDetailDTO.businessId = this.pageParams.row.assetsId;
+      assetsProductionDetailDTO.productionNo = this.pageParams.row.reportNo;
+      this.$api.assets.getAssetsProductionDetailByNo(assetsProductionDetailDTO).then(res => {
+        if (res.code == 200 && res.data !== null) {
+          this.assetsProductionForm = res.data;
+          this.assetsProductionForm.filePath = JSON.parse(res.data.filePath);
+          this.fileList = this.assetsProductionForm.filePath;
+        }
+      })
+
       this.assetsAchievementRatioDialogVisible = true;
+      this.getPerformanceDistributionList();
+
+      // console.log(this.businessPerformanceDistributionForm.distributionList);
+      // if (this.businessPerformanceDistributionForm.distributionList !== null && this.businessPerformanceDistributionForm.distributionList[0].id !== null) {
+      //   this.showDistributionButton = false;
+      // } else {
+      //   this.showDistributionButton = true;
+      // }
+
+    },
+    // 新增资产绩效分配信息
+    saveBusinessPerformanceDistribution() {
+      const sum = this.businessPerformanceDistributionForm.distributionList.reduce((accumulator, obj) => {
+        return accumulator + obj.performanceDistribution;
+      }, 0);
+      if (sum === 100) {
+        this.taskRecordDTO.recordId = this.currentNode.tasks[0].recordId;
+        this.taskRecordDTO.taskData = this.businessPerformanceDistributionForm;
+        this.$api.businessPerformanceDistribution.addAssetsPerformanceDistribution(this.taskRecordDTO).then(res => {
+          if (res.code === 200) {
+            this.$notify({
+              title: '成功',
+              message: '绩效分配新增完成,请继续提交流程节点!',
+              type: 'success',
+              duration: 3000
+            });
+            if (this.currentNode.nodeCode === 'CHECK_ARCHIVING') {
+              this.updateProductionFileInfo();
+            }
+            this.resetBusinessPerformanceDistributionForm();
+          }
+        })
+      } else {
+        this.$notify({
+          title: '警告',
+          message: '所有人员分配的绩效之和必须等于100%!',
+          type: 'error',
+          duration: 3000
+        });
+      }
+    },
+    // 重置绩效分配表单
+    resetBusinessPerformanceDistributionForm() {
+      this.assetsAchievementRatioDialogVisible = false;
+      this.businessPerformanceDistributionForm.businessId = null;
+      this.businessPerformanceDistributionForm.businessType = null;
+      this.businessPerformanceDistributionForm.reportNo = null;
+    },
+    // 获取资产绩效分配信息list
+    getPerformanceDistributionList() {
+      this.businessPerformanceDistributionForm.businessId = this.pageParams.row.assetsId;
+      this.businessPerformanceDistributionForm.businessType = 'ASSET_BUSINESS';
+      this.businessPerformanceDistributionForm.reportNo = this.pageParams.row.reportNo;
+      let selectDTO = this.businessPerformanceDistributionForm;
+      selectDTO.distributionList = null;
+      this.$api.businessPerformanceDistribution.getPerformanceDistributionList(this.businessPerformanceDistributionForm).then(res => {
+        if (res.code === 200 && res.data !== null && res.data.length > 0) {
+          this.businessPerformanceDistributionForm.distributionList = res.data;
+          this.getAssetsBusinessMembers();
+          this.showDistributionButton = false;
+        } else {
+          this.showDistributionButton = true;
+          this.getAssetsBusinessMembers(true);
+        }
+      })
+    },
+    // 获取项目参与人信息
+    getAssetsBusinessMembers(state) {
+      let assetsBusinessMembersDTO = { businessId: null, reportNo: null };
+      assetsBusinessMembersDTO.businessId = this.pageParams.row.assetsId;
+      assetsBusinessMembersDTO.reportNo = this.pageParams.row.reportNo;
+      this.$api.assets.getAssetsBusinessMembers(assetsBusinessMembersDTO).then(res => {
+        // 返回不为空,且没有绩效分配信息
+        if (res.code === 200 && res.data !== null) {
+          this.assetsBusinessMembers = res.data;
+          if (state) {
+            this.businessPerformanceDistributionForm.distributionList = [];
+            for (let i = 0; i < this.assetsBusinessMembers.length; i++) {
+              let memberInfo = { memberId: this.assetsBusinessMembers[i].memberId, performanceDistribution: 0, memberType: this.assetsBusinessMembers[i].memberType }
+              this.businessPerformanceDistributionForm.distributionList.push(memberInfo)
+            }
+          }
+        }
+      })
+    },
+    // 修改资产绩效分配信息
+    updateAssetsPerformanceDistribution() {
+      const sum = this.businessPerformanceDistributionForm.distributionList.reduce((accumulator, obj) => {
+        return accumulator + obj.performanceDistribution;
+      }, 0);
+      if (sum === 100) {
+        this.taskRecordDTO.recordId = this.currentNode.tasks[0].recordId;
+        this.taskRecordDTO.taskData = this.businessPerformanceDistributionForm;
+        this.$api.businessPerformanceDistribution.updateAssetsPerformanceDistribution(this.taskRecordDTO).then(res => {
+          if (res.code === 200) {
+            this.$notify({
+              title: '成功',
+              message: '绩效分配修改完成,请继续提交流程节点!',
+              type: 'success',
+              duration: 3000
+            });
+            if (this.currentNode.nodeCode === 'CHECK_ARCHIVING') {
+              this.updateProductionFileInfo();
+            }
+            this.resetBusinessPerformanceDistributionForm();
+          }
+        })
+      } else {
+        this.$notify({
+          title: '警告',
+          message: '所有人员分配的绩效之和必须等于100%!',
+          type: 'error',
+          duration: 3000
+        });
+      }
     }
   }
 

+ 295 - 0
src/views/assets/repertoryList.vue

@@ -0,0 +1,295 @@
+<template>
+    <div class="app-container">
+        <div class="title-container">
+            <breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
+        </div>
+        <y-page-list-layout :page-list="pageData" :page-para="listQuery" :get-page-list="selectRepertoryPage">
+            <template slot="left">
+                <el-input style="margin-left: 20px;width: 300px;float: left;" class="filter-item"
+                    v-model="listQuery.keyWord" placeholder="项目编号/报告号/项目名称" clearable>
+                </el-input>
+                <el-date-picker style="margin-left: 20px;float: left;" v-model="selectDate" type="datetimerange"
+                    :picker-options="pickerOptions" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd" range-separator="至"
+                    start-placeholder="开始日期" end-placeholder="结束日期" align="right">
+                </el-date-picker>
+                <el-button class="filter-item" style="margin-left: 10px;float: left;" type="primary" @click="searchList"
+                    round>搜索
+                </el-button>
+                <el-button class="filter-item" style="float: left;" round type="success" @click="resetParams()">重置
+                </el-button>
+            </template>
+            <template slot="right">
+                <el-button class="filter-item" style="float: right;" round type="primary" :disabled="exportStatus"
+                    @click="repertoryExport()">导出
+                </el-button>
+            </template>
+
+            <parentTable ref="table" v-loading="listLoading" :data="pageData.records" slot="table" style="width: 100%;">
+                <el-table-column label="项目编号" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.orderId }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="项目名称" align="center" width="300">
+                    <template slot-scope="{row}">
+                        <span>{{ row.orderName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="报告号" align="center" width="250">
+                    <template slot-scope="{row}">
+                        <span>{{ row.reportNo }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="评估目的" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.purposeName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="评估方法" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.methodName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="评估作业开始日" align="center" width="200">
+                    <template slot-scope="{row}">
+                        <span>{{ row.startTime }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="估价作业结束日" align="center" width="200">
+                    <template slot-scope="{row}">
+                        <span>{{ row.endTime }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="估价时点" align="center" width="200">
+                    <template slot-scope="{row}">
+                        <span>{{ row.valuationBasisDate }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="评估总值(万元)" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.evaluateAmount }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="评估单价(元)" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.evaluatePrice }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="委托人" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.bailor }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="委托人电话" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.bailorContactTel }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="第一报告人" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.firstReporter }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="第一报告人注册号" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.firstReporterRegistrationNo }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="参与报告人" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>待开发</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="参与报告人注册号" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>待开发</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="客户名称" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.customerName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="业务来源" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.customerSubName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="项目经理" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.managerName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="项目负责人" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.principalName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="入库时间" align="center" width="200">
+                    <template slot-scope="{row}">
+                        <span>{{ row.repertoryInTime }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="出库时间" align="center" width="200">
+                    <template slot-scope="{row}">
+                        <span>{{ row.repertoryOutTime }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="归档时间" align="center" width="200">
+                    <template slot-scope="{row}">
+                        <span>{{ row.archivedTime }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="市场部门" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.marketDepartment }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="评估部门" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.evaluateDepartment }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="产品实收金额" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.productionRealAmount }}</span>
+                    </template>
+                </el-table-column>
+            </parentTable>
+        </y-page-list-layout>
+    </div>
+</template>
+
+<script>
+import YPageListLayout from '@/components/YPageListLayout'
+import Breadcrumb from '@/components/Breadcrumb'
+import PermissionButton from '@/components/PermissionButton/PermissionButton'
+
+export default {
+    name: 'RepertoryList',
+    components: {
+        Breadcrumb,
+        YPageListLayout,
+        PermissionButton,
+    },
+    data() {
+        return {
+            pageData: { records: [] },
+            listLoading: false,
+            // 时间
+            selectDate: '',
+            listQuery: {
+                page: 1,
+                size: 10,
+                current: 1,
+                // 关键字
+                keyWord: null,
+                // 开始时间
+                startTime: null,
+                // 结束时间
+                endTime: null
+            },
+            // 用户下拉列表
+            allUsers: [],
+            // 业务类型下拉列表
+            assetsBusinessGeners: [
+                {
+                    value: '单项资产',
+                    label: '单项资产'
+                }, {
+                    value: '整体资产',
+                    label: '整体资产'
+                }, {
+                    value: '无形资产',
+                    label: '无形资产'
+                }, {
+                    value: '债权',
+                    label: '债权'
+                }, {
+                    value: '其他',
+                    label: '其他'
+                }
+            ],
+            pickerOptions: {
+                shortcuts: [{
+                    text: '最近一周',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }, {
+                    text: '最近一个月',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }, {
+                    text: '最近三个月',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }]
+            },
+            exportStatus: true
+        }
+    },
+    created() {
+        // 获取资产业务订单
+        this.selectRepertoryPage();
+    },
+    methods: {
+        // 无条件分页查询
+        selectRepertoryPage() {
+            if (this.selectDate) {
+                this.listQuery.startTime = this.selectDate[0] + ' 00:00:00';
+                this.listQuery.endTime = this.selectDate[1] + ' 23:59:59';
+            }
+            this.$api.assets.selectRepertoryPage(this.listQuery).then(res => {
+                if (res.code === 200) {
+                    this.pageData = res.data;
+                    if (this.listQuery.startTime !== null && this.listQuery.endTime !== null && res.data.records.length > 0) {
+                        console.log(this.listQuery.startTime)
+                        this.exportStatus = false;
+                    }else {
+                        this.exportStatus = true;
+                    }
+                }
+            })
+        },
+        // 条件查询
+        searchList() {
+            // 重置分页
+            this.listQuery.page = 1
+            this.listQuery.size = 10
+            this.selectRepertoryPage()
+        },
+        // 重置搜索条件
+        resetParams() {
+            this.exportStatus = true;
+            this.selectDate = '';
+            this.$router.push({ query: {} });
+            this.listQuery = {
+                current: 1,
+                size: 10,
+            }
+            this.selectRepertoryPage();
+        },
+        // 资产入库数据导出
+        repertoryExport() {
+            this.$utils.exportUtil(
+                "/assets/repertoryExport", this.listQuery,
+                "导出"
+            );
+        }
+    }
+}
+</script>
+
+<style lang="scss" scoped></style>

+ 245 - 0
src/views/assets/todoList.vue

@@ -0,0 +1,245 @@
+<template>
+    <div class="app-container">
+        <div class="title-container">
+            <breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
+        </div>
+        <y-page-list-layout :page-list="pageData" :page-para="listQuery" :get-page-list="selectPage">
+            <template slot="left">
+                <el-input style="margin-left: 20px;width: 300px;float: left;" class="filter-item"
+                    v-model="listQuery.keyWord" placeholder="项目编号/报告号/项目名称/业务来源" clearable>
+                </el-input>
+                <el-select v-model="listQuery.principalId" filterable placeholder="项目负责人(可搜索)"
+                    style=" width: 200px;margin-left: 10px;float: left;">
+                    <el-option v-for="(u, id) in allUsers" :label="u.name" :value="u.id"></el-option>
+                </el-select>
+                <el-select v-model="listQuery.clientManagerId" filterable placeholder="客户经理(可搜索)"
+                    style=" width: 200px;margin-left: 10px;float: left;">
+                    <el-option v-for="(u, id) in allUsers" :label="u.name" :value="u.id"></el-option>
+                </el-select>
+                <el-select v-model="listQuery.assetsBusinessGener" filterable placeholder="业务类型"
+                    style=" width: 200px;margin-left: 10px;float: left;">
+                    <el-option v-for="(s, value) in assetsBusinessGeners" :label="s.label" :value="s.value"></el-option>
+                </el-select>
+                <el-select v-model="listQuery.nodeCode" filterable placeholder="流程节点(可搜索)"
+                    style=" width: 200px;margin-left: 10px;float: left;">
+                    <el-option v-for="item in nodes" :label="item.name" :value="item.code">
+                    </el-option>
+                </el-select>
+                <el-button class="filter-item" style="margin-left: 10px;float: left;" type="primary" @click="searchList"
+                    round>搜索
+                </el-button>
+                <el-button class="filter-item" style="float: left;" round type="success" @click="resetParams()">重置
+                </el-button>
+            </template>
+            <parentTable ref="table" v-loading="listLoading" :data="pageData.records" slot="table" style="width: 100%;">
+                <el-table-column label="项目编号" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.orderId }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="分单类型" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.allotType }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="意见书号" align="center" width="250">
+                    <template slot-scope="{row}">
+                        <span>{{ row.statementNo }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="报告号" align="center" width="250">
+                    <template slot-scope="{row}">
+                        <span>{{ row.reportNo }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="项目名称" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.name }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="业务类型" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.assetsBusinessGener }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="客户名称" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.customerName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="业务来源" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.customerSubName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="委托人" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.bailor }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="委托人联系电话" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.bailorContactTel }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="当前节点" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.currentNodeName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="当前节点负责人" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.handlerName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="项目负责人" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.principalName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="客户经理" align="center" width="150">
+                    <template slot-scope="{row}">
+                        <span>{{ row.clientManagerName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="操作" align="center" width="100" fixed="right">
+                    <template slot-scope="{row}">
+                        <el-button type="danger" size="mini" @click="orderDetail(row)">任务处理</el-button>
+                    </template>
+                </el-table-column>
+            </parentTable>
+        </y-page-list-layout>
+    </div>
+</template>
+
+<script>
+import YPageListLayout from '@/components/YPageListLayout'
+import Breadcrumb from '@/components/Breadcrumb'
+import PermissionButton from '@/components/PermissionButton/PermissionButton'
+
+export default {
+    name: 'AssetsToDoList',
+    components: {
+        Breadcrumb,
+        YPageListLayout,
+        PermissionButton,
+    },
+    data() {
+        return {
+            pageData: { records: [] },
+            listLoading: false,
+            listQuery: {
+                page: 1,
+                size: 10,
+                current: 1,
+                // 节点code
+                nodeCode: null,
+                // 客户经理id
+                clientManagerId: null,
+                // 项目负责人id
+                principalId: null,
+                // 业务类型
+                assetsBusinessGener: null,
+                // 关键字
+                keyWord: null,
+                // 处理人id
+                handlerId: this.$store.getters.userInfo.id
+            },
+            // 用户下拉列表
+            allUsers: [],
+            // 节点信息下拉列表
+            nodes: [],
+            // 业务类型下拉列表
+            assetsBusinessGeners: [
+                {
+                    value: '单项资产',
+                    label: '单项资产'
+                }, {
+                    value: '整体资产',
+                    label: '整体资产'
+                }, {
+                    value: '无形资产',
+                    label: '无形资产'
+                }, {
+                    value: '债权',
+                    label: '债权'
+                }, {
+                    value: '其他',
+                    label: '其他'
+                }
+            ]
+        }
+    },
+    created() {
+        // 获取用户下拉列表
+        this.getAllUser();
+        // 获取节点下拉列表
+        this.getNodes();
+        // 获取资产业务订单
+        this.selectPage();
+    },
+    methods: {
+        // 当前用户待办分页查询
+        selectPage() {
+            this.$api.assets.selectPage(this.listQuery).then(res => {
+                if (res.code === 200) {
+                    this.pageData = res.data;
+                }
+            })
+        },
+        // 条件查询
+        searchList() {
+            // 重置分页
+            this.listQuery.page = 1
+            this.listQuery.size = 10
+            this.selectPage()
+        },
+        // 重置搜索条件
+        resetParams() {
+            this.$router.push({ query: {} });
+            this.listQuery = {
+                current: 1,
+                size: 10,
+            }
+            this.selectPage();
+        },
+        // 获取所有用户下拉列表
+        getAllUser() {
+            this.$api.user.simpleAll().then(res => {
+                if (res.code === 200) {
+                    this.allUsers = res.data;
+                }
+            })
+        },
+        getNodes() {
+            this.$api.workNode.enum().then(res => {
+                if (res.code === 200) {
+                    this.nodes = res.data
+                }
+            })
+        },
+        orderDetail(row) {
+            if (row.currentNodeCode === 'REPORT_OUT_APPLY') {
+                this.$router.push(`/assets/myOrderList`)
+                return;
+            } else if (row.currentNodeCode === 'REPORT_OUT_DEPARTMENT_CHECK') {
+                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 {
+                this.$router.push({
+                    path: "/assets/orderDetail",
+                    query: {
+                        row: JSON.stringify(row),
+                        back: '/assets/todoList',
+                        couldEdit: true,
+                        couldBack: true,
+                        disabledStatus: true
+                    }
+                })
+            }
+        }
+    }
+}
+</script>
+
+<style lang="scss" scoped></style>