فهرست منبع

1.大中型统计报表修改
2.新增页面部门查询大中型评估人员提成申报

GouGengquan 6 ماه پیش
والد
کامیت
47074b681c

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

@@ -9,6 +9,9 @@ export default {
   majorEvaluateDeclarePage(params) {
     return request.get(`commissionDeclare/major/evaluate`, { params: params })
   },
+  majorEvaluateDeclarePageByDepartment(params) {
+    return request.get(`commissionDeclare/major/evaluate/byDepartment`, { params: params })
+  },
   declare(params){
     return request.post(`commissionDeclare/major`, params)
   },

+ 3 - 1
src/router/urlMap.js

@@ -111,6 +111,7 @@ import _views_commission_assets_rate from '@/views/commission/assets'
 import _views_finance_fund_stats from '@/views/finance/realFundStat'
 import _views_income_major_declare_market from '@/views/income/major/market'
 import _views_income_major_declare_evaluate from '@/views/income/major/evaluate'
+import _views_income_major_declare_evaluate_by_department from '@/views/income/major/evaluateByDepartment'
 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_administration_major_declare_check_list from '@/views/administration/major/checkList'
@@ -282,6 +283,7 @@ export default {
   _views_statistical_major_performance_deduction_depInternal,
   _views_statistical_major_performance_deduction_errorType,
   _views_statistical_major_department_performance_overview,
-  _views_personal_all
+  _views_personal_all,
+  _views_income_major_declare_evaluate_by_department
 
 }

+ 282 - 0
src/views/income/major/evaluateByDepartment.vue

@@ -0,0 +1,282 @@
+<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-date-picker
+          style="margin-right: 20px;float: left;"
+          v-model="selectDate"
+          type="daterange"
+          :picker-options="pickerOptions"
+          format="yyyy 年 MM 月 dd 日"
+          value-format="yyyy-MM-dd"
+          range-separator="至"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期"
+          align="right"
+        ></el-date-picker>
+        <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>
+        <el-button class="filter-item" round type="info" @click="majorEvaluateDeclarePageByDepartmentExport()" :disabled="exportStatus">导出</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="160" align="center" show-overflow-tooltip>
+          <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.production }}</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="下单时间" width="110" align="center">
+          <template slot-scope="{row}">
+            <span>{{ row.orderCreated}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="提成类型" width="150" align="center" show-overflow-tooltip>
+          <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>
+      </parentTable>
+    </y-page-list-layout>
+  </div>
+</template>
+<script>
+import YPageListLayout from '@/components/YPageListLayout'
+import Breadcrumb from '@/components/Breadcrumb'
+
+export default {
+  name: 'declareMajorEvaluate',
+  components: {
+    Breadcrumb,
+    YPageListLayout,
+  },
+  filters: {},
+  data() {
+    return {
+      rules: {
+        commissionRateId: [
+          {
+            required: true,
+            message: '业务分类不能为空',
+            trigger: 'blur',
+          },
+        ],
+      },
+      pageData: { records: [] },
+      // 时间
+      selectDate: [],
+      listQuery: {
+        // 开始时间
+        startTime: null,
+        // 结束时间
+        endTime: null,
+        page: 1,
+        size: 10,
+        descs: 'id',
+      },
+      cates: [],
+      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.selectDate.push(this.getDefaultStartDate())
+    this.selectDate.push(this.getDefaultEndDate())
+    if (this.$route.query.name) {
+      this.listQuery.name = this.$route.query.name
+    }
+
+    if (this.$route.query.reportNo) {
+      this.listQuery.reportNo = this.$route.query.reportNo
+    }
+
+    this.getList()
+    this.getMajorEvaluateCate()
+  },
+  methods: {
+    getDefaultStartDate() {
+      let currentDate = new Date()
+      let currentYear = currentDate.getFullYear()
+      var currentMonth = String(currentDate.getMonth()).padStart(2, '0')
+      if (currentMonth == '00') {
+        currentYear = currentYear - 1
+        currentMonth = 12
+      }
+      return currentYear + '-' + currentMonth + '-' + '23'
+    },
+    getDefaultEndDate() {
+      const currentDate = new Date()
+      const currentYear = currentDate.getFullYear()
+      var currentMonth = String(currentDate.getMonth() + 1).padStart(2, '0')
+      return currentYear + '-' + currentMonth + '-' + '22'
+    },
+    resetSearch() {
+      this.exportStatus = true
+      this.selectDate = []
+      this.selectDate.push(this.getDefaultStartDate())
+      this.selectDate.push(this.getDefaultEndDate())
+      this.$router.push({ query: {} })
+      this.orderDate = ''
+      this.listQuery = {
+        current: 1,
+        size: 10,
+        descs: 'id',
+      }
+      this.getList()
+    },
+
+    searchList() {
+      this.listQuery.current = 1
+      this.getList()
+    },
+
+    getList() {
+      if (this.selectDate) {
+        this.listQuery.startTime = this.selectDate[0] + ' 00:00:00'
+        this.listQuery.endTime = this.selectDate[1] + ' 23:59:59'
+      }
+      this.$api.commissonDeclare.majorEvaluateDeclarePageByDepartment(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) {
+            this.exportStatus = false
+          } else {
+            this.exportStatus = true
+          }
+        }
+      })
+    },
+    getMajorEvaluateCate() {
+      this.$api.businessCommissionRate.cateList('MAJOR_BUSINESS', 'EVALUATOR').then((res) => {
+        if (res.code === 200) {
+          this.cates = res.data
+        }
+      })
+    },
+    majorEvaluateDeclarePageByDepartmentExport() {
+      this.$utils.exportUtil('/commissionDeclare/major/evaluate/byDepartment/export', this.listQuery, '导出')
+    },
+  },
+}
+</script>
+<style lang="scss" scoped>
+/deep/.doWarehouseClass {
+  border-radius: 10px;
+}
+.real-amount {
+  /deep/ .el-form-item__label {
+    color: red;
+    font-weight: bold;
+  }
+}
+</style>

+ 25 - 1
src/views/statistical/major/departmentPerformanceOverview.vue

@@ -51,7 +51,7 @@
                 </el-table-column>
                 <el-table-column label="业务效率">
                     <el-table-column label="报价效率(总时长/总件数,单位:天/件)">
-                        <el-table-column label="金融">
+                        <!-- <el-table-column label="金融">
                             <template slot-scope="{row}">
                                 <span>{{ row.financialQuoteProcessingTime }}</span>
                             </template>
@@ -72,6 +72,17 @@
                                 <span :style="{ color: row.unFinancialQuoteProcessingTimeScore > 0 ? 'red' : 'black' }">{{
                                     row.unFinancialQuoteProcessingTimeScore }}</span>
                             </template>
+                        </el-table-column> -->
+                        <el-table-column label="效率">
+                            <template slot-scope="{row}">
+                                <span>{{ row.quoteProcessingTime }}</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="效率计分">
+                            <template slot-scope="{row}">
+                                <span :style="{ color: row.quoteProcessingTimeScore > 0 ? 'red' : 'black' }">{{
+                                    row.quoteProcessingTimeScore }}</span>
+                            </template>
                         </el-table-column>
                     </el-table-column>
                 </el-table-column>
@@ -127,6 +138,19 @@
                     <el-table-column label="总经理加减分">
                     </el-table-column>
                 </el-table-column>
+                <el-table-column label="报价准确度">
+                    <el-table-column label="报价准确度">
+                        <template slot-scope="{row}">
+                            <span>{{ row.quotationAccuracy }}</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column label="报价准确度计分">
+                        <template slot-scope="{row}">
+                            <span :style="{ color: row.quotationAccuracyScore > 0 ? 'red' : 'black' }">{{
+                                row.quotationAccuracyScore }}</span>
+                        </template>
+                    </el-table-column>
+                </el-table-column>
                 <el-table-column label="时点累计分值">
                     <template slot-scope="{row}">
                         <span style="color: red;font-weight: bold;">{{ row.timePointTotalScore }}</span>

+ 17 - 7
src/views/statistical/major/evaluateEfficiency.vue

@@ -231,7 +231,7 @@
                             <el-table-column label="非口估">
                                 <template slot-scope="{row}">
                                     <el-link v-if="row.unInformalEvaluateCount > 0"
-                                        @click="setListQueryParms('order', row.evaluateAim, row.financial, false, listQueryByDepartment.startTime, listQueryByDepartment.endTime, row.userId)">
+                                        @click="setListQueryParms('order', row.evaluateAim, row.financial, false, listQueryByEvaluator.startTime, listQueryByEvaluator.endTime, row.userId, row.userId)">
                                         {{ row.unInformalEvaluateCount }}
                                     </el-link>
                                     <span v-else>{{ row.unInformalEvaluateCount }}</span>
@@ -240,7 +240,7 @@
                             <el-table-column label="口估">
                                 <template slot-scope="{row}">
                                     <el-link v-if="row.informalEvaluateCount > 0"
-                                        @click="setListQueryParms('order', row.evaluateAim, row.financial, true, listQueryByDepartment.startTime, listQueryByDepartment.endTime, row.userId)">
+                                        @click="setListQueryParms('order', row.evaluateAim, row.financial, true, listQueryByEvaluator.startTime, listQueryByEvaluator.endTime, row.userId, row.userId)">
                                         {{ row.informalEvaluateCount }}
                                     </el-link>
                                     <span v-else>{{ row.informalEvaluateCount }}</span>
@@ -261,7 +261,7 @@
                             <el-table-column label="当期">
                                 <template slot-scope="{row}">
                                     <el-link v-if="row.currentPeriodStatementVolume > 0"
-                                        @click="setListQueryParms('statement', row.evaluateAim, row.financial, null, listQueryByDepartment.startTime, listQueryByDepartment.endTime, row.userId)">
+                                        @click="setListQueryParms('statement', row.evaluateAim, row.financial, null, listQueryByEvaluator.startTime, listQueryByEvaluator.endTime, row.userId)">
                                         {{ row.currentPeriodStatementVolume }}
                                     </el-link>
                                     <span v-else>{{ row.currentPeriodStatementVolume }}</span>
@@ -282,7 +282,7 @@
                             <el-table-column label="当期">
                                 <template slot-scope="{row}">
                                     <el-link v-if="row.currentPeriodReportVolume > 0"
-                                        @click="setListQueryParms('report', row.evaluateAim, row.financial, null, listQueryByDepartment.startTime, listQueryByDepartment.endTime, row.userId)">
+                                        @click="setListQueryParms('report', row.evaluateAim, row.financial, null, listQueryByEvaluator.startTime, listQueryByEvaluator.endTime, row.userId)">
                                         {{ row.currentPeriodReportVolume }}
                                     </el-link>
                                     <span v-else>{{ row.currentPeriodReportVolume }}</span>
@@ -303,7 +303,7 @@
                             <el-table-column label="当期">
                                 <template slot-scope="{row}">
                                     <el-link v-if="row.currentPeriodShouldAmountSum > 0"
-                                        @click="setListQueryParms('should', row.evaluateAim, row.financial, null, listQueryByDepartment.startTime, listQueryByDepartment.endTime, row.userId)">
+                                        @click="setListQueryParms('should', row.evaluateAim, row.financial, null, listQueryByEvaluator.startTime, listQueryByEvaluator.endTime, row.userId)">
                                         {{ row.currentPeriodShouldAmountSum }}
                                     </el-link>
                                     <span v-else>{{ row.currentPeriodShouldAmountSum }}</span>
@@ -324,7 +324,7 @@
                             <el-table-column label="当期">
                                 <template slot-scope="{row}">
                                     <el-link v-if="row.currentPeriodRealAmountSum > 0"
-                                        @click="setListQueryParms('real', row.evaluateAim, row.financial, null, listQueryByDepartment.startTime, listQueryByDepartment.endTime, row.userId)">
+                                        @click="setListQueryParms('real', row.evaluateAim, row.financial, null, listQueryByEvaluator.startTime, listQueryByEvaluator.endTime, row.userId)">
                                         {{ row.currentPeriodRealAmountSum }}
                                     </el-link>
                                     <span v-else>{{ row.currentPeriodRealAmountSum }}</span>
@@ -703,7 +703,7 @@ export default {
                 "导出"
             );
         },
-        setListQueryParms(efficiencyType, evaluateAim, financial, informalEvaluate, startTime, endTime, userId) {
+        setListQueryParms(efficiencyType, evaluateAim, financial, informalEvaluate, startTime, endTime, userId, memberId) {
             this.dialogVisible = true;
             this.listQueryDetail.page = 1;
             this.listQueryDetail.size = 10;
@@ -718,6 +718,16 @@ export default {
             } else {
                 this.listQueryDetail.principalId = null;
             }
+            if (memberId) {
+                this.listQueryDetail.memberId = memberId;
+            } else {
+                this.listQueryDetail.memberId = null;
+            }
+            if(this.activeTabName === 'department') {
+                this.listQueryDetail.departmentId = this.listQueryByDepartment.departmentId;
+            } else {
+                this.listQueryDetail.departmentId = null;
+            }
         },
         // 效率详情列表查询
         getMajorEfficiencyDetailVO() {

+ 8 - 5
src/views/statistical/major/performanceDeductionErrorType.vue

@@ -9,9 +9,10 @@
                     :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="listQuery.departmentId" filterable placeholder="接单部门"
+                <el-select v-model="listQuery.checkType" filterable placeholder=""
                     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-option label="公司审核错误统计" value="com"></el-option>
+                    <el-option v-if=" $store.getters.userInfo && !$store.getters.userInfo.postList.some(item => item.name === '三审人' || item.name === '复审人')" label="部门内部错误统计" value="dep"></el-option>
                 </el-select>
                 <el-input v-model="listQuery.userName" placeholder="姓名" clearable
                     style="margin-left: 20px;width: 200px;float: left;">
@@ -151,7 +152,9 @@ export default {
                 // 开始时间
                 startTime: null,
                 // 结束时间
-                endTime: null
+                endTime: null,
+                // 审核类型
+                checkType: 'com'
             },
             pickerOptions: {
                 shortcuts: [{
@@ -224,8 +227,8 @@ export default {
                 startTime: null,
                 // 结束时间
                 endTime: null,
-                // 部门id
-                departmentId: null
+                // 审核类型
+                checkType: 'com'
             };
             this.selectDate = [];
             this.selectDate.push(this.getDefaultStartDate());