|
@@ -1,6 +1,11 @@
|
|
|
<template>
|
|
|
<van-tabs v-model:active="activeName" @change="tabChange()" :ellipsis="false">
|
|
|
- <van-tab v-if="menuStore.menuInfo.map((item) => item.name).includes('个贷业务')" title="个贷待办" name="personal">
|
|
|
+ <van-tab v-if="menuStore.menuInfo.map((item) => item.name).includes('个贷业务')" name="personal">
|
|
|
+ <template #title>
|
|
|
+ <van-badge :content="personalTodoTotal" max="99">
|
|
|
+ <div>个贷待办</div>
|
|
|
+ </van-badge>
|
|
|
+ </template>
|
|
|
<van-search v-model="personalListQuery.keyword" placeholder="请输入搜索关键词" @search="onPersonalSearch()" />
|
|
|
<van-pull-refresh v-model="loading" @refresh="onPersonalRefresh()">
|
|
|
<van-list v-model:loading="loading" :finished="personalFinished" finished-text="没有待办了" @load="personalTodoList()">
|
|
@@ -25,17 +30,22 @@
|
|
|
<van-tag color="#969799" size="medium" class="van-tag">{{ item.created }}</van-tag>
|
|
|
</div>
|
|
|
<div class="comments">
|
|
|
- <div>
|
|
|
- <van-icon name="notes-o" />
|
|
|
- {{ item.comments ? item.comments : '-' }}
|
|
|
+ <div>
|
|
|
+ <van-icon name="notes-o" />
|
|
|
+ {{ item.comments ? item.comments : '-' }}
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
</van-list>
|
|
|
</van-pull-refresh>
|
|
|
<van-back-top right="10vw" bottom="10vh" />
|
|
|
</van-tab>
|
|
|
- <van-tab v-if="menuStore.menuInfo.map((item) => item.name).includes('大中型业务')" title="大中型待办" name="major">
|
|
|
+ <van-tab v-if="menuStore.menuInfo.map((item) => item.name).includes('大中型业务')" name="major">
|
|
|
+ <template #title>
|
|
|
+ <van-badge :content="majorTodoTotal" max="99">
|
|
|
+ <div>大中型待办</div>
|
|
|
+ </van-badge>
|
|
|
+ </template>
|
|
|
<van-search v-model="majorListQuery.keyword" placeholder="请输入搜索关键词" @search="onMajorSearch()" />
|
|
|
<van-pull-refresh v-model="loading" @refresh="onMajorRefresh()">
|
|
|
<van-list v-model:loading="loading" :finished="majorFinished" finished-text="没有待办了" @load="majorTodoList()">
|
|
@@ -67,7 +77,12 @@
|
|
|
</van-pull-refresh>
|
|
|
<van-back-top right="10vw" bottom="10vh" />
|
|
|
</van-tab>
|
|
|
- <van-tab v-if="menuStore.menuInfo.map((item) => item.name).includes('资产业务')" title="资产待办" name="assets">
|
|
|
+ <van-tab v-if="menuStore.menuInfo.map((item) => item.name).includes('资产业务')" name="assets">
|
|
|
+ <template #title>
|
|
|
+ <van-badge :content="assetsTodoTotal" max="99">
|
|
|
+ <div>资产待办</div>
|
|
|
+ </van-badge>
|
|
|
+ </template>
|
|
|
<van-search v-model="assetsListQuery.keyWord" placeholder="请输入搜索关键词" @search="onAssetsSearch()" />
|
|
|
<van-pull-refresh v-model="loading" @refresh="onAssetsRefresh()">
|
|
|
<van-list v-model:loading="loading" :finished="assetsFinished" finished-text="没有待办了" @load="assetsTodoList()">
|
|
@@ -99,7 +114,12 @@
|
|
|
</van-pull-refresh>
|
|
|
<van-back-top right="10vw" bottom="10vh" />
|
|
|
</van-tab>
|
|
|
- <van-tab v-if="majorAdmin" title="大中型提成审批" name="majorAdmin">
|
|
|
+ <van-tab v-if="majorAdmin" name="majorAdmin">
|
|
|
+ <template #title>
|
|
|
+ <van-badge :content="majorDeclareCheckNum" max="99">
|
|
|
+ <div>大中型提成审批</div>
|
|
|
+ </van-badge>
|
|
|
+ </template>
|
|
|
<van-search v-model="majorDeclListQuery.orderId" placeholder="请输入项目编号" @search="onMajorDeclSearch()" />
|
|
|
<van-pull-refresh v-model="loading" @refresh="onMajorDeclRefresh()">
|
|
|
<van-list v-model:loading="loading" :finished="majorDeclFinished" finished-text="没有待办了" @load="getMajorDecl()">
|
|
@@ -127,7 +147,12 @@
|
|
|
</van-pull-refresh>
|
|
|
<van-back-top right="10vw" bottom="10vh" />
|
|
|
</van-tab>
|
|
|
- <van-tab v-if="assetsAdmin" title="资产提成审批" name="assetsAdmin">
|
|
|
+ <van-tab v-if="assetsAdmin" name="assetsAdmin">
|
|
|
+ <template #title>
|
|
|
+ <van-badge :content="assetsDeclareCheckNum" max="99">
|
|
|
+ <div>资产提成审批</div>
|
|
|
+ </van-badge>
|
|
|
+ </template>
|
|
|
<van-search v-model="assetsDeclListQuery.orderId" placeholder="请输入项目编号" @search="onAssetsDeclSearch()" />
|
|
|
<van-pull-refresh v-model="loading" @refresh="onAssetsDeclRefresh()">
|
|
|
<van-list v-model:loading="loading" :finished="assetsDeclFinished" finished-text="没有待办了" @load="getAssetsDecl()">
|
|
@@ -165,6 +190,7 @@ import { getMajorTodoList } from '@/api/major';
|
|
|
import { getAssetsTodoList } from '@/api/assets';
|
|
|
import { checkHasBusinessHandle } from '@/api/workFlowNodeInstance';
|
|
|
import { assetsCheckPage, majorCheckPage } from '@/api/commissonDeclare';
|
|
|
+import { getTodoTotalNum } from '@/api/workNodeTaskRecord';
|
|
|
import { mapStores } from 'pinia';
|
|
|
import { menuStore } from '@/stores/menuStore';
|
|
|
|
|
@@ -172,10 +198,18 @@ export default {
|
|
|
data() {
|
|
|
return {
|
|
|
activeName: 'personal',
|
|
|
+ // 待办数量
|
|
|
+ majorTodoTotal: null,
|
|
|
+ personalTodoTotal: null,
|
|
|
+ assetsTodoTotal: null,
|
|
|
+ majorDeclareCheckNum: null,
|
|
|
+ assetsDeclareCheckNum: null,
|
|
|
+ // 列表数组
|
|
|
personalListData: [],
|
|
|
majorListData: [],
|
|
|
assetsListData: [],
|
|
|
// 加载状态
|
|
|
+ // 加载状态一定要在请求结束前保持true,否则可能重复触发@load事件
|
|
|
loading: false,
|
|
|
// 加载完成状态
|
|
|
personalFinished: false,
|
|
@@ -235,7 +269,7 @@ export default {
|
|
|
},
|
|
|
},
|
|
|
created() {
|
|
|
-
|
|
|
+ this.getBusinessTodoNum();
|
|
|
},
|
|
|
methods: {
|
|
|
// 监听标签页改变
|
|
@@ -255,6 +289,38 @@ export default {
|
|
|
break;
|
|
|
}
|
|
|
},
|
|
|
+ // 获取各个业务待办任务数量
|
|
|
+ getBusinessTodoNum() {
|
|
|
+ getTodoTotalNum().then((res) => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ let majorDeclareCheckNum = 0;
|
|
|
+ let assetsDeclareCheckNum = 0;
|
|
|
+ res.data.forEach((element) => {
|
|
|
+ if (element.businessType === 'MAJOR_BUSINESS') {
|
|
|
+ this.majorTodoTotal = element.totalNum > 0 ? element.totalNum : null;
|
|
|
+ }
|
|
|
+ if (element.businessType === 'PERSONAL_BUSINESS') {
|
|
|
+ this.personalTodoTotal = element.totalNum > 0 ? element.totalNum : null;
|
|
|
+ }
|
|
|
+ if (element.businessType === 'ASSET_BUSINESS') {
|
|
|
+ this.assetsTodoTotal = element.totalNum > 0 ? element.totalNum : null;
|
|
|
+ }
|
|
|
+
|
|
|
+ //大中型提成申报审批(包含市场和评估)
|
|
|
+ if (element.businessType === 'COMMISSION_DECLARE_MAJOR_MARKET' || element.businessType === 'COMMISSION_DECLARE_MAJOR_EVALUATE') {
|
|
|
+ majorDeclareCheckNum += element.totalNum;
|
|
|
+ }
|
|
|
+
|
|
|
+ //资产提成申报审批(包含市场和评估)
|
|
|
+ if (element.businessType === 'COMMISSION_DECLARE_ASSET_MARKET' || element.businessType === 'COMMISSION_DECLARE_ASSET_EVALUATE') {
|
|
|
+ assetsDeclareCheckNum += element.totalNum;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ this.majorDeclareCheckNum = majorDeclareCheckNum > 0 ? majorDeclareCheckNum : null;
|
|
|
+ this.assetsDeclareCheckNum = assetsDeclareCheckNum > 0 ? assetsDeclareCheckNum : null;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
// 个贷待办列表刷新
|
|
|
onPersonalRefresh() {
|
|
|
this.personalListQuery.current = 1;
|
|
@@ -339,7 +405,6 @@ export default {
|
|
|
},
|
|
|
// 获取资产待办
|
|
|
assetsTodoList() {
|
|
|
- console.log(this.activeName)
|
|
|
this.loading = true;
|
|
|
// 查询待办必须要设置这个参数
|
|
|
this.assetsListQuery.handlerId = 1;
|
|
@@ -543,6 +608,7 @@ export default {
|
|
|
},
|
|
|
// 获取资产提成申报审批列表
|
|
|
getAssetsDecl() {
|
|
|
+ this.loading = true;
|
|
|
assetsCheckPage(this.assetsDeclListQuery).then((res) => {
|
|
|
if (res.code == 200) {
|
|
|
if (res.data.records) {
|
|
@@ -576,13 +642,14 @@ export default {
|
|
|
},
|
|
|
// 获取大中型提成申报审批列表
|
|
|
getMajorDecl() {
|
|
|
+ this.loading = true;
|
|
|
majorCheckPage(this.majorDeclListQuery).then((res) => {
|
|
|
if (res.code == 200) {
|
|
|
if (res.data.records) {
|
|
|
this.majorDeclListData = this.majorDeclListData.concat(res.data.records);
|
|
|
}
|
|
|
if (res.data.pages > this.majorDeclListQuery.current) {
|
|
|
- this.majorDeclListData.current++;
|
|
|
+ this.majorDeclListQuery.current++;
|
|
|
} else {
|
|
|
this.majorDeclFinished = true;
|
|
|
}
|
|
@@ -627,7 +694,7 @@ export default {
|
|
|
}
|
|
|
.comments {
|
|
|
margin-bottom: 5px;
|
|
|
- color: darkgrey
|
|
|
+ color: darkgrey;
|
|
|
}
|
|
|
/deep/ .van-tabs__wrap {
|
|
|
width: 100%;
|