Jelajahi Sumber

1.新增页面checkList(待测试)
2.新增页面declareDetail(开发中)
3.新增页面evaluate

GouGengquan 1 tahun lalu
induk
melakukan
3beec0aa64

+ 12 - 0
src/api/modules/commissonDeclare.js

@@ -20,5 +20,17 @@ export default {
   },
   majorDeclareTodoList(){
     return request.get(`commissionDeclare/major/check/list`)
+  },
+  // 获取资产评估人员绩效申报列表
+  assetsEvaluateDeclarePage(params){
+    return request.get(`commissionDeclare/assets/evaluate`, { params: params })
+  },
+  // 新增评估人员绩效申报
+  assetsDeclare(params){
+    return request.post(`commissionDeclare/assets`, params)
+  },
+  // 资产提成申报待审核列表
+  assetsCheckList(params){
+    return request.get(`commissionDeclare/assets/check`, { params: params })
   }
 }

+ 6 - 1
src/router/urlMap.js

@@ -114,6 +114,9 @@ import _views_income_major_declare_evaluate from '@/views/income/major/evaluate'
 import _views_income_major_declare_market_detail from '@/views/income/major/declareDetail'
 import _views_income_major_declare_evaluate_detail from '@/views/income/major/declareDetail'
 import _views_income_major_declare_check from '@/views/income/major/checkList'
+import _views_income_assets_declare_evaluate from '@/views/income/assets/evaluate'
+import _views_income_assets_declare_check from '@/views/income/assets/checkList'
+import _views_income_assets_declare_detail from '@/views/income/assets/declareDetail'
 
 export default {
   _views_set_menu,
@@ -217,5 +220,7 @@ export default {
   _views_income_major_declare_market_detail,
   _views_income_major_declare_evaluate_detail,
   _views_income_major_declare_check,
-
+  _views_income_assets_declare_evaluate,
+  _views_income_assets_declare_check,
+  _views_income_assets_declare_detail
 }

+ 179 - 0
src/views/income/assets/checkList.vue

@@ -0,0 +1,179 @@
+<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="getList">
+            <template slot="left">
+                <el-input v-model="listQuery.orderId" placeholder="订单号" clearable style="width: 200px;float: left;">
+                </el-input>
+                <el-input v-model="listQuery.name" placeholder="项目名称" clearable
+                    style="margin-left: 20px;width: 200px;float: left;">
+                </el-input>
+                <el-input v-model="listQuery.reportNo" placeholder="报告号" clearable
+                    style="margin-left: 20px;width: 200px;float: left;">
+                </el-input>
+                <el-select clearable v-model="listQuery.commissionRateId" placeholder="提成类型"
+                    style="margin-left: 20px;width: 200px;float: left;">
+                    <el-option v-for="(c, id) in cates" :value="c.id" :label="c.name">{{ c.name }}</el-option>
+                </el-select>
+                <!-- <el-select clearable v-model="listQuery.declareType" placeholder="申报类型"
+                    style="margin-left: 20px;width: 200px;float: left;">
+                    <el-option :value="true" label="产品">产品</el-option>
+                    <el-option :value="false" label="订单">订单</el-option>
+                </el-select> -->
+                <el-button class="filter-item" style="margin-left:20px;float: left;" type="primary" @click="searchList"
+                    round>搜索
+                </el-button>
+                <el-button class="filter-item" style="float: left;" round type="success" @click="resetSearch()">重置
+                </el-button>
+            </template>
+            <parentTable :data="pageData.records" slot="table" style="width: 100%;">
+                <el-table-column label="订单号" width="150" align="center">
+                    <template slot-scope="{row}">
+                        <span>{{ row.orderId }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="项目名称" width="150" align="center">
+                    <template slot-scope="{row}">
+                        <span>{{ row.name ? row.name : row.orderName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="报告号" width="200" align="center">
+                    <template slot-scope="{row}">
+                        <span>{{ row.reportNo ? row.reportNo : '--' }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="申报人" align="center">
+                    <template slot-scope="{row}">
+                        <span>{{ row.declareUser }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="审核人" align="center">
+                    <template slot-scope="{row}">
+                        <span>{{ row.handler }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="人员类型" align="center">
+                    <template slot-scope="{row}">
+                        <span>{{ row.userType }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="提成类型" width="150" align="center">
+                    <template slot-scope="{row}">
+                        <span>{{ row.businessCate }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="提成比例" width="150" align="center">
+                    <template slot-scope="{row}">
+                        <span>{{ row.ratio }}%</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="申报类型" align="center">
+                    <template slot-scope="{row}">
+                        <span style="font-weight: bold;">{{ row.prodId ? '产品' : '订单' }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="申报时间" align="center" width="160">
+                    <template slot-scope="{row}">
+                        <span>{{ row.created }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="当前节点" align="center">
+                    <template slot-scope="{row}">
+                        <span>{{ row.nodeName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column fixed="right" label="操作" align="center">
+                    <template slot-scope="{row}">
+                        <div>
+                            <el-button type="text" size="small" @click="checkDetail(row)">审核</el-button>
+                        </div>
+                    </template>
+                </el-table-column>
+            </parentTable>
+        </y-page-list-layout>
+    </div>
+</template>
+<script>
+import YPageListLayout from '@/components/YPageListLayout'
+import Breadcrumb from '@/components/Breadcrumb'
+
+
+export default {
+    name: 'declareAssetsCheckList',
+    components: {
+        Breadcrumb,
+        YPageListLayout,
+    },
+    filters: {
+
+    },
+    data() {
+        return {
+            pageData: { records: [] },
+            listQuery: {
+                page: 1,
+                size: 10,
+                descs: 'id',
+            },
+            cates: [],
+        }
+    },
+    created() {
+        this.getAssetsEvaluateCate();
+        this.getList();
+    },
+    methods: {
+
+        resetSearch() {
+            this.$router.push({ query: {} });
+            this.orderDate = '';
+            this.listQuery = {
+                current: 1,
+                size: 10,
+                descs: 'id',
+            }
+            this.getList()
+        },
+
+        searchList() {
+            this.listQuery.current = 1;
+            this.getList();
+        },
+
+        getList() {
+            this.$api.commissonDeclare.assetsCheckList(this.listQuery).then(res => {
+                if (res.code === 200) {
+                    this.pageData = res.data;
+                }
+            })
+        },
+        getAssetsEvaluateCate() {
+            this.$api.businessCommissionRate.cateList("ASSET_BUSINESS", "EVALUATOR").then(res => {
+                if (res.code === 200) {
+                    this.cates = res.data;
+                }
+            })
+        },
+        checkDetail(row) {
+            let backPath = '/income/assets/declare/check';
+            this.$router.push(`/income/assets/declare/detail?businessId=${row.businessId}&businessType=${row.businessType}&doWorkflow=${true}&back=${backPath}`)
+        }
+    }
+
+}
+</script>
+<style lang="scss" scoped>
+/deep/.doWarehouseClass {
+    border-radius: 10px;
+}
+
+.real-amount {
+    /deep/ .el-form-item__label {
+        color: red;
+        font-weight: bold
+    }
+}
+</style>
+  

+ 236 - 0
src/views/income/assets/declareDetail.vue

@@ -0,0 +1,236 @@
+<template>
+    <div class="app-container">
+      <div class="title-container">
+        <breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
+      </div>
+      <el-collapse v-model="activeNames" style="margin-top: 30px;">
+        <el-collapse-item name="board">
+          <template slot="title">
+            <span style="font-size:15px; margin-left:15px;letter-spacing:2px; color:RGB(168,168,168)">
+              点击展开查看实时流程图
+            </span>
+          </template>
+          <WorkflowBoard ref='board' :nodeBusinessInfo="nodeBusinessInfo" />
+        </el-collapse-item>
+      </el-collapse>
+      <div class="button-area">
+        <el-button v-if="nodeBusinessInfo.currentNodePermission.commit && doWorkflow" class="y-save" type="success" round
+          @click="commit('PASS')">通过</el-button>
+        <el-button v-if="nodeBusinessInfo.currentNodePermission.terminable && doWorkflow" class="y-save" type="danger" round
+          @click="commit('TERMINATE')">拒绝</el-button>
+        <el-button class="y-save" round type="info" @click="goBack">返回</el-button>
+      </div>
+      <el-card>
+        <el-divider content-position="left">
+          <span style="color:red;font-weight: bold;">
+            【{{ this.nodeBusinessInfo.mainBusiness==='COMMISSION_DECLARE_MAJOR_EVALUATE'?'评估人员':'市场人员' }}】
+          </span>资产业务提成申报详情</el-divider>
+        <el-form :model="declareForm" ref="declareForm">
+          <el-row>
+            <el-col :xs="24" :sm="12" :lg="24" :span="6">
+              <el-form-item label="项目名称:" prop="name" label-width="140px" class="postInfo-container-item">
+                <el-input :value="declareForm.name" :step="1" :max="100" style="width: 100%;" readonly disabled></el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :xs="24" :sm="12" :lg="12" :span="6">
+              <el-form-item label="订单号:" prop="orderId" label-width="140px" class="postInfo-container-item">
+                <el-input :value="declareForm.orderId" :step="1" :max="100" style="width: 100%;" readonly
+                  disabled></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="12" :span="6">
+              <el-form-item label="报告号:" prop="reportNo" label-width="140px" class="postInfo-container-item">
+                <el-input :value="declareForm.reportNo" :step="1" :max="100" style="width: 100%;" readonly
+                  disabled></el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :xs="24" :sm="12" :lg="12" :span="6">
+              <el-form-item label="业务分类:" prop="businessCate" label-width="140px" class="postInfo-container-item">
+                <el-input :value="declareForm.businessCate" :step="1" :max="100" style="width: 100%;" readonly
+                  disabled></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="12" :span="6">
+              <el-form-item label="产品类型:" prop="production" label-width="140px" class="postInfo-container-item">
+                <el-input :value="prod" :step="1" :max="100" style="width: 100%;" readonly
+                  disabled></el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :xs="24" :sm="12" :lg="12" :span="6">
+              <el-form-item label="申报人:" prop="declareUser" label-width="140px" class="postInfo-container-item">
+                <el-input :value="declareForm.declareUser" style="width: 100%;" readonly disabled>
+                </el-input>
+              </el-form-item>
+              </el-col>
+              <el-col :xs="24" :sm="12" :lg="12" :span="6">
+              <el-form-item label="申报日期:" prop="created" label-width="140px" class="postInfo-container-item">
+                <el-input :value="declareForm.created" style="width: 100%;" readonly
+                  disabled></el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :xs="24" :sm="12" :lg="12" :span="6">
+              <el-form-item label="审核状态:" prop="declareResult" label-width="140px" class="postInfo-container-item">
+                <el-input :value="declareForm.declareResult"  readonly disabled>
+                </el-input>
+              </el-form-item>
+              </el-col>
+              <el-col :xs="24" :sm="12" :lg="12" :span="6">
+              <el-form-item label="审核备注:" prop="remarks" label-width="140px" class="postInfo-container-item">
+                <el-input :value="declareForm.remarks+''"  style="width: 100%; color: red;" readonly
+                  disabled></el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-table :data="declareForm.userShareRates" border style="width: 100%; margin-top: 10px; margin-bottom: 10px;">
+            <el-table-column prop="userId" :label="this.nodeBusinessInfo.mainBusiness==='COMMISSION_DECLARE_MAJOR_EVALUATE'?'评估人员':'市场人员'" align="center">
+              <template slot-scope="{row}">
+                <span>{{ row.name }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column prop="rate" label="提成比例" align="center">
+              <template slot-scope="{row}">
+                <span  style="color: red;">{{ row.rate*100 }}%</span>
+              </template>
+            </el-table-column>
+          </el-table>
+        </el-form>
+      </el-card>
+    </div>
+  </template>
+  <script>
+  import Breadcrumb from '@/components/Breadcrumb'
+  import WorkflowBoard from '@/components/workflowBoard'
+  
+  
+  export default {
+    name: 'declareDetail',
+    components: {
+      Breadcrumb,
+      WorkflowBoard
+    },
+    filters: {
+  
+    },
+    computed: {
+      prod(){
+        if (this.declareForm.production==='REPORT'){
+           return "评估报告";
+        }
+        if (this.declareForm.production==='LETTER'){
+           return "意见函";
+        }
+        if (this.declareForm.production==='CONSULT'){
+           return "咨询报告";
+        }
+      }
+    },
+    data() {
+      return {
+        activeNames: ['board'],
+        nodeBusinessInfo: {
+          currentNodePermission: {
+            commit: true,
+            reversible: true,
+            restartable: true,
+            terminable: true,
+            skippable: true,
+          },
+          mainBusiness: null,
+          doWorkflow: null,
+          businessSubId: null,
+          businessId: null,
+          currentInstanceNodeId: null,
+          production: []
+        },
+        doWorkflow: false,
+        declareForm: {
+          orderId: null,
+          name: null,
+          reportNo: null,
+          businessId: null,
+          productionId: null,
+          businessType: null,
+          commissionRateId: null,
+          userShareRates: [
+            {
+              userId: this.$store.getters.userInfo.id,
+              rate: 100
+            }
+          ],
+          production:null,
+          remarks:[]
+  
+        },
+        users: [],
+        cates: []
+      }
+    },
+    created() {
+      this.nodeBusinessInfo.businessId = this.$route.query.businessId;
+      this.nodeBusinessInfo.mainBusiness = this.$route.query.businessType;
+      this.declareForm.businessType = this.$route.query.businessType;
+      this.doWorkflow = this.$route.query.doWorkflow === 'true';
+      this.getCurrentNodeInfo();
+      this.businessId = this.$route.query.businessId;
+      this.getDeclareDetail();
+    },
+    methods: {
+  
+      getCurrentNodeInfo() {
+        if (this.nodeBusinessInfo.businessId) {
+          this.$api.workNodeInstance.currentNode({
+            "mainBusiness": this.nodeBusinessInfo.mainBusiness,
+            "businessId": this.nodeBusinessInfo.businessId
+          }).then(res => {
+            if (res.code === 200 && res.data!=null) {
+                this.nodeBusinessInfo.currentInstanceNodeId = res.data.instanceId;
+            }
+            this.$refs.board.getInstanceArray(this.nodeBusinessInfo.mainBusiness,this.nodeBusinessInfo.businessId);
+          })
+        }
+      },
+      goBack() {
+        const back = this.$route.query.back
+        if (back) {
+          this.$router.push(back)
+        }
+      },
+      getSimpleAllUser() {
+        this.$api.user.simpleAll().then(res => {
+          if (res.code === 200) {
+            this.users = res.data;
+          }
+        })
+      },
+      getDeclareDetail() {
+        this.$api.commissonDeclare.detail(this.businessId).then(res => {
+          if (res.code === 200) {
+            this.declareForm = res.data;
+          }
+        })
+      },
+      //提交节点
+      commit(state){
+          this.$refs.board.commit(state);
+      },
+  
+    },
+  
+  }
+  </script>
+  <style lang="scss" scoped>
+  .button-area {
+    position: absolute;
+    top: 70px;
+    right: 50px;
+  }
+  </style>
+  

+ 385 - 0
src/views/income/assets/evaluate.vue

@@ -0,0 +1,385 @@
+<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="assetsEvaluateDeclarePage">
+            <template slot="left">
+                <el-input v-model="listQuery.orderId" placeholder="订单号" clearable style="width: 200px;float: left;">
+                </el-input>
+                <el-input v-model="listQuery.name" placeholder="项目名称" clearable
+                    style="margin-left: 20px;width: 200px;float: left;">
+                </el-input>
+                <el-input v-model="listQuery.reportNo" placeholder="报告号" clearable
+                    style="margin-left: 20px;width: 200px;float: left;">
+                </el-input>
+                <el-select clearable v-model="listQuery.commissionRateId" placeholder="提成类型"
+                    style="margin-left: 20px;width: 200px;float: left;">
+                    <el-option v-for="(c, id) in cates" :value="c.id" :label="c.name">{{ c.name }}</el-option>
+                </el-select>
+                <!-- <el-select clearable v-model="listQuery.declareType" placeholder="申报类型"
+                    style="margin-left: 20px;width: 200px;float: left;">
+                    <el-option :value="true" label="产品">产品</el-option>
+                    <el-option :value="false" label="订单">订单</el-option>
+                </el-select> -->
+                <el-select clearable v-model="listQuery.declareResult" placeholder="审核状态"
+                    style="margin-left: 20px;width: 200px;float: left;">
+                    <el-option value="待申报" label="待申报"></el-option>
+                    <el-option value="审核中" label="审核中"></el-option>
+                    <el-option value="审核通过" label="审核通过"></el-option>
+                    <el-option value="审核拒绝" label="审核拒绝"></el-option>
+                </el-select>
+                <el-button class="filter-item" style="margin-left:20px;float: left;" type="primary" @click="searchList()"
+                    round>搜索
+                </el-button>
+                <el-button class="filter-item" style="float: left;" round type="success" @click="resetSearch()">重置
+                </el-button>
+            </template>
+            <parentTable :data="pageData.records" slot="table" style="width: 100%;">
+                <el-table-column label="订单号" width="150" align="center">
+                    <template slot-scope="{row}">
+                        <span>{{ row.orderId }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="项目名称" width="150" align="center">
+                    <template slot-scope="{row}">
+                        <span>{{ row.name ? row.name : row.orderName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="报告号" width="200" align="center">
+                    <template slot-scope="{row}">
+                        <span>{{ row.reportNo ? row.reportNo : '--' }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="评估对象类别" align="center">
+                    <template slot-scope="{row}">
+                        <span>{{ row.businessObjectType }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="委托人" align="center">
+                    <template slot-scope="{row}">
+                        <span>{{ row.bailor }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="委托联系人" align="center">
+                    <template slot-scope="{row}">
+                        <span>{{ row.bailorContactName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="委托人电话" width="150" align="center">
+                    <template slot-scope="{row}">
+                        <span>{{ row.bailorContactTel }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="客户名称" align="center">
+                    <template slot-scope="{row}">
+                        <span>{{ row.clienteleName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="业务来源" align="center">
+                    <template slot-scope="{row}">
+                        <span>{{ row.clienteleSubName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="负责人" align="center">
+                    <template slot-scope="{row}">
+                        <span>{{ row.principal }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="下单时间" align="center">
+                    <template slot-scope="{row}">
+                        <span>{{ row.orderCreated }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="提成类型" width="150" align="center">
+                    <template slot-scope="{row}">
+                        <span style="color:red">{{ row.commissionType ? row.commissionType : '--' }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="申报类型" align="center">
+                    <template slot-scope="{row}">
+                        <span style="font-weight: bold;">{{ row.reportNo ? '产品' : '订单' }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="审核状态" align="center">
+                    <template slot-scope="{row}">
+                        <el-tag v-if="row.declareResult == null" type="info" effect="plain">待申报</el-tag>
+                        <el-tag v-else-if="row.declareResult == '审核中'" type="warning" effect="plain">审核中</el-tag>
+                        <el-tag v-else-if="row.declareResult == '审核通过'" type="success" effect="plain">通过</el-tag>
+                        <el-tag v-else-if="row.declareResult == '审核拒绝'" type="danger" effect="plain">拒绝</el-tag>
+                    </template>
+                </el-table-column>
+                <el-table-column fixed="right" label="操作" align="center">
+                    <template slot-scope="{row}">
+                        <div>
+                            <el-button v-if="row.declareResult == null || row.declareResult == '审核拒绝'" type="text"
+                                size="small" @click="openAssetsAchievementRatioDialog(row)">申报</el-button>
+                            <el-button
+                                v-if="row.declareResult == '审核中' || row.declareResult == '审核通过' || row.declareResult == '审核拒绝'"
+                                type="text" size="small" @click="checkDetail(row.id)">查看</el-button>
+                        </div>
+                    </template>
+                </el-table-column>
+            </parentTable>
+        </y-page-list-layout>
+        <el-dialog :visible.sync="assetsAchievementRatioDialogVisible" @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>
+                    <el-form :model="declareForm" ref="declareForm" :rules="rules">
+                        <el-form-item label="业务分类:" prop="commissionRateId" label-width="140px"
+                            class="postInfo-container-item">
+                            <el-select clearable v-model="declareForm.commissionRateId" placeholder="请选择业务分类"
+                                style="width: 100%;">
+                                <el-option v-for="(c, id) in cates" :value="c.id" :label="c.name">{{ c.name }}</el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-form>
+                    <p style="color: red;">绩效比例:</p>
+                    <el-row style="margin-top: 10px;margin-left: 40px;" 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>
+                </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="assetsDeclare()">提 交</el-button>
+            </span>
+        </el-dialog>
+    </div>
+</template>
+<script>
+import YPageListLayout from '@/components/YPageListLayout'
+import Breadcrumb from '@/components/Breadcrumb'
+
+
+export default {
+    name: 'declareAssetEvaluate',
+    components: {
+        Breadcrumb,
+        YPageListLayout,
+    },
+    filters: {
+
+    },
+    data() {
+        return {
+            rules: {
+                commissionRateId: [{
+                    required: true,
+                    message: '业务分类不能为空',
+                    trigger: 'blur'
+                }],
+            },
+            pageData: { records: [] },
+            listQuery: {
+                page: 1,
+                size: 10,
+                descs: 'id',
+            },// 项目所有参与人信息
+            assetsBusinessMembers: [],
+            cates: [],
+            declareDialog: false,
+            declareForm: {
+                orderId: null,
+                name: null,
+                reportNo: null,
+                businessId: null,
+                productionId: null,
+                businessType: 'COMMISSION_DECLARE_MAJOR_EVALUATE',
+                commissionRateId: null
+            },
+            showDistributionButton: null,
+            assetsAchievementRatioDialogVisible: false,
+            // 资产绩效比例表单
+            businessPerformanceDistributionForm: {
+                businessId: null,
+                businessType: null,
+                reportNo: null,
+                userType: null,
+                distributionList: []
+            }
+        }
+    },
+    created() {
+        this.listQuery.name = this.$route.query.name;
+        this.listQuery.reportNo = this.$route.query.reportNo;
+        this.assetsEvaluateDeclarePage();
+        this.getAssetsEvaluateCate();
+    },
+    methods: {
+        resetSearch() {
+            this.$router.push({ query: {} });
+            this.orderDate = '';
+            this.listQuery = {
+                current: 1,
+                size: 10,
+                descs: 'id',
+            }
+            this.assetsEvaluateDeclarePage()
+        },
+        searchList() {
+            this.listQuery.current = 1;
+            this.assetsEvaluateDeclarePage();
+        },
+        assetsEvaluateDeclarePage() {
+            this.$api.commissonDeclare.assetsEvaluateDeclarePage(this.listQuery).then(res => {
+                if (res.code === 200) {
+                    this.pageData = res.data;
+                }
+            })
+        },
+        getAssetsEvaluateCate() {
+            this.$api.businessCommissionRate.cateList("ASSET_BUSINESS", "EVALUATOR").then(res => {
+                if (res.code === 200) {
+                    this.cates = res.data;
+                }
+            })
+        },
+        checkDetail(id) {
+            this.$router.push(`/income/assets/declare/detail?businessId=${id}&businessType=COMMISSION_DECLARE_MAJOR_EVALUATE&doWorkflow=${false}&back=${'/income/assets/declare/evaluate'}`)
+        },
+        // 打开绩效比例分配弹窗
+        openAssetsAchievementRatioDialog(row) {
+            this.businessPerformanceDistributionForm.distributionList = [];
+            this.assetsAchievementRatioDialogVisible = true;
+            this.declareForm.name = row.name;
+            this.declareForm.reportNo = row.reportNo;
+            this.declareForm.businessId = row.businessId;
+            this.declareForm.productionId = row.productionId;
+            this.getPerformanceDistributionList(row);
+        },
+        // 获取资产绩效分配信息list
+        getPerformanceDistributionList(row) {
+            this.businessPerformanceDistributionForm.businessId = row.businessId;
+            this.businessPerformanceDistributionForm.businessType = 'ASSET_BUSINESS';
+            this.businessPerformanceDistributionForm.reportNo = row.reportNo;
+            // 人员类型(市场人员/评估人员)
+            this.businessPerformanceDistributionForm.userType = '评估人员';
+            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(false, row);
+                    this.showDistributionButton = false;
+                } else {
+                    this.showDistributionButton = true;
+                    this.getAssetsBusinessMembers(true, row);
+                }
+            })
+        },
+        // 获取项目参与人信息
+        getAssetsBusinessMembers(state, row) {
+            let assetsBusinessMembersDTO = { businessId: null, reportNo: null };
+            assetsBusinessMembersDTO.businessId = row.businessId;
+            assetsBusinessMembersDTO.reportNo = 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)
+                        }
+                    }
+                }
+            })
+        },
+        // 重置绩效分配表单
+        resetBusinessPerformanceDistributionForm() {
+            this.assetsAchievementRatioDialogVisible = false;
+            this.businessPerformanceDistributionForm.businessId = null;
+            this.businessPerformanceDistributionForm.businessType = null;
+            this.businessPerformanceDistributionForm.reportNo = null;
+        },
+        // 新增评估人员绩效申报
+        assetsDeclare() {
+            this.$refs.declareForm.validate(valid => {
+                if (valid) {
+                    const sum = this.businessPerformanceDistributionForm.distributionList.reduce((accumulator, obj) => {
+                        return accumulator + obj.performanceDistribution;
+                    }, 0);
+                    if (sum === 100) {
+                        this.declareForm.distributionDto = this.businessPerformanceDistributionForm;
+                        this.$api.commissonDeclare.assetsDeclare(this.declareForm).then(res => {
+                            if (res.code === 200) {
+                                this.$notify({
+                                    title: '成功',
+                                    message: '提成申报已提交',
+                                    type: 'success',
+                                    duration: 2000
+                                });
+                                this.resetBusinessPerformanceDistributionForm();
+                                this.assetsEvaluateDeclarePage();
+                                this.declareDialog = false;
+                            } else {
+                                this.$notify({
+                                    title: '失败',
+                                    message: '提成申报提交失败,请联系管理员',
+                                    type: 'error',
+                                    duration: 2000
+                                });
+                            }
+                        })
+                    } else {
+                        this.$notify({
+                            title: '警告',
+                            message: '所有人员分配的绩效之和必须等于100%!',
+                            type: 'error',
+                            duration: 3000
+                        });
+                    }
+                }
+            })
+        }
+    }
+
+}
+</script>
+<style lang="scss" scoped>
+/deep/.doWarehouseClass {
+    border-radius: 10px;
+}
+
+.real-amount {
+    /deep/ .el-form-item__label {
+        color: red;
+        font-weight: bold
+    }
+}
+</style>
+