|
@@ -11,7 +11,7 @@
|
|
|
:picker-options="pickerOptions" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd"
|
|
|
range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right">
|
|
|
</el-date-picker>
|
|
|
- <el-select v-model="listQueryByDepartment.departmentId" filterable placeholder="接单部门"
|
|
|
+ <el-select v-model="listQueryByDepartment.departmentId" filterable placeholder="接单部门" :disabled="majorLeader || majorUser"
|
|
|
style=" width: 200px;margin-left: 10px;float: left;">
|
|
|
<el-option v-for="(d, id) in allotDepartment" :label="d.name" :value="d.id"></el-option>
|
|
|
</el-select>
|
|
@@ -198,11 +198,11 @@
|
|
|
:picker-options="pickerOptions" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd"
|
|
|
range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right">
|
|
|
</el-date-picker>
|
|
|
- <el-select v-model="listQueryByEvaluator.departmentId" filterable placeholder="接单部门"
|
|
|
+ <el-select v-model="listQueryByEvaluator.departmentId" filterable placeholder="接单部门" :disabled="majorLeader || majorUser"
|
|
|
style=" width: 200px;margin-left: 10px;float: left;">
|
|
|
<el-option v-for="(d, id) in allotDepartment" :label="d.name" :value="d.id"></el-option>
|
|
|
</el-select>
|
|
|
- <el-input v-model="listQueryByEvaluator.userName" placeholder="姓名" clearable
|
|
|
+ <el-input v-model="listQueryByEvaluator.userName" placeholder="姓名" clearable :disabled="majorUser"
|
|
|
style="margin-left: 20px;width: 200px;float: left;">
|
|
|
</el-input>
|
|
|
<el-button class="filter-item" style="margin-left: 10px;float: left;" type="primary"
|
|
@@ -388,6 +388,13 @@
|
|
|
<span>{{ row.unFinancialQuoteProcessingTime }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column label="个人产值(元)">
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <el-link v-if="row.currentPeriodOutputValue > 0" @click="opemOutputValue(row)">
|
|
|
+ {{ row.currentPeriodOutputValue }}
|
|
|
+ </el-link>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
</el-table>
|
|
|
</el-tab-pane>
|
|
|
</el-tabs>
|
|
@@ -395,7 +402,7 @@
|
|
|
<el-dialog title="大中型订单列表" :visible.sync="dialogVisible" width="70%" @open="getMajorEfficiencyDetailVO()">
|
|
|
<y-page-list-layout :get-page-list="getMajorEfficiencyDetailVO" :page-list="pageData" :page-para="listQueryDetail">
|
|
|
<template slot="left">
|
|
|
- <el-button class="filter-item" round type="info" @click="exportAssetsEvaEffDetail()">导出
|
|
|
+ <el-button class="filter-item" round type="info" @click="exportMajorEvaEffDetail()">导出
|
|
|
</el-button>
|
|
|
</template>
|
|
|
<parentTable ref="table" :data="pageData.records" v-loading="dialogLoading" element-loading-text="报表查询中..." slot="table" style="width: 100%;" :isBoard=800
|
|
@@ -483,12 +490,99 @@
|
|
|
</parentTable>
|
|
|
</y-page-list-layout>
|
|
|
</el-dialog>
|
|
|
+ <el-dialog title="大中型产值列表" :visible.sync="outputValueVisible" width="70%" @open="getMajorOutputValueDetailVO()">
|
|
|
+ <y-page-list-layout :get-page-list="getMajorOutputValueDetailVO" :page-list="pageData" :page-para="listQueryDetail">
|
|
|
+ <template slot="left">
|
|
|
+ <el-button class="filter-item" round type="info" @click="exportMajorEvaEffDetail()">导出
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ <parentTable ref="table" :data="pageData.records" v-loading="dialogLoading" element-loading-text="报表查询中..." slot="table" style="width: 100%;" :isBoard=800
|
|
|
+ class="tableFull">
|
|
|
+ <el-table-column label="项目编号" align="center">
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <span>{{ row.orderId }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="项目名称" align="center" show-overflow-tooltip>
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <span>{{ row.projectName }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="客户名称" align="center">
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <span>{{ row.customerName }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="业务来源" align="center">
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <span>{{ row.customerSubName }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="客户联系人名" align="center">
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <span>{{ row.linkmanName }}</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.reportNo }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="项目负责人" align="center">
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <span>{{ row.principalName }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="项目参与人" align="center">
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <span>{{ row.members }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="客户经理名" align="center">
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <span>{{ row.clientManagerName }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="出报告时间" align="center">
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <span>{{ row.writeReportDate }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="产品应收款(元)" align="center">
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <span>{{ row.shouldAmount }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="产品实收款(元)" align="center">
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <span>{{ row.realAmount }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="绩效比例" align="center">
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <span>{{ row.ratio * 100 }}%</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="产值(元)" align="center">
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <span>{{ row.outputValue }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </parentTable>
|
|
|
+ </y-page-list-layout>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import Breadcrumb from '@/components/Breadcrumb'
|
|
|
import YPageListLayout from '@/components/YPageListLayout'
|
|
|
+import { mapGetters } from 'vuex';
|
|
|
|
|
|
export default {
|
|
|
name: 'majorEvaluateEfficiency',
|
|
@@ -496,10 +590,45 @@ export default {
|
|
|
Breadcrumb,
|
|
|
YPageListLayout
|
|
|
},
|
|
|
+ computed: {
|
|
|
+ ...mapGetters(['userInfo']),
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ userInfo: {
|
|
|
+ immediate: true, // immediate选项可以开启首次赋值监听
|
|
|
+ deep: true,
|
|
|
+ handler(newv) {
|
|
|
+ if (newv) {
|
|
|
+ // 判断用户是不是评估部经理
|
|
|
+ const post1 = newv.postList.find(item => item.name === '评估部经理');
|
|
|
+ if (post1) {
|
|
|
+ this.listQueryByDepartment.departmentId = post1.departmentId;
|
|
|
+ this.listQueryByEvaluator.departmentId = post1.departmentId;
|
|
|
+ this.majorLeader = true;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ // 判断用户是不是估价师
|
|
|
+ const post2 = newv.postList.find(item => item.name === '估价师' || item.name === '管培生' || item.name === '客户经理' || item.name === '估价助理');
|
|
|
+ if (post2) {
|
|
|
+ this.listQueryByDepartment.departmentId = post2.departmentId;
|
|
|
+ this.listQueryByEvaluator.departmentId = post2.departmentId;
|
|
|
+ this.listQueryByEvaluator.userName = this.$store.getters.userInfo.name;
|
|
|
+ this.majorUser = true;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
activeTabName: 'department',
|
|
|
dialogVisible: false,
|
|
|
+ outputValueVisible: false,
|
|
|
+ // 大中型评估部经理
|
|
|
+ majorLeader: false,
|
|
|
+ // 大中型普通用户
|
|
|
+ majorUser: false,
|
|
|
aimLoading: false,
|
|
|
// 时间
|
|
|
selectDate1: [],
|
|
@@ -576,6 +705,7 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
+ console.log(this.$store.getters.userInfo)
|
|
|
this.selectDate1.push(this.getDefaultStartDate());
|
|
|
this.selectDate1.push(this.getDefaultEndDate());
|
|
|
this.selectDate2.push(this.getDefaultStartDate());
|
|
@@ -748,11 +878,37 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
// 效率详情列表查询导出
|
|
|
- exportAssetsEvaEffDetail() {
|
|
|
+ exportMajorEvaEffDetail() {
|
|
|
this.$utils.exportUtil(
|
|
|
"major/statisticalStatement/evaluate/getMajorEvaEffDetailVO/export", this.listQueryDetail,
|
|
|
"导出"
|
|
|
);
|
|
|
+ },
|
|
|
+ opemOutputValue(row) {
|
|
|
+ this.outputValueVisible = true;
|
|
|
+ this.listQueryDetail.page = 1;
|
|
|
+ this.listQueryDetail.size = 10;
|
|
|
+ this.listQueryDetail.current = 1;
|
|
|
+ this.listQueryDetail.userId = row.userId;
|
|
|
+ this.listQueryDetail.startTime = this.listQueryByEvaluator.startTime;
|
|
|
+ this.listQueryDetail.endTime = this.listQueryByEvaluator.endTime;
|
|
|
+ },
|
|
|
+ // 产值详情列表查询
|
|
|
+ getMajorOutputValueDetailVO() {
|
|
|
+ this.dialogLoading = true;
|
|
|
+ this.$api.statistical.getMajorOutputValueDetailVO(this.listQueryDetail).then(res => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ this.pageData = res.data;
|
|
|
+ }
|
|
|
+ this.dialogLoading = false;
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 产值详情列表查询导出
|
|
|
+ exportMajorEvaEffDetail() {
|
|
|
+ this.$utils.exportUtil(
|
|
|
+ "major/statisticalStatement/evaluate/getMajorOutputValueDetailVO/export", this.listQueryDetail,
|
|
|
+ "导出"
|
|
|
+ );
|
|
|
}
|
|
|
}
|
|
|
}
|