Commit d6e0ea19 authored by 沈翠玲's avatar 沈翠玲

我的案件 是否有跟进记录

parent 9cfef90f
......@@ -12,6 +12,7 @@
</el-tabs>
<ProTable
:config="config"
v-if="tableTrue"
ref="caseLRef"
:api="getCreditPage"
:paramCallback="paramCallback"
......@@ -87,7 +88,7 @@
<script setup name="case-manage" lang="jsx">
import { useRouter } from 'vue-router';
import { reactive, ref } from 'vue';
import { computed, reactive, ref, nextTick } from 'vue';
import { getCreditPage, getCreditTotal } from '@/api/property';
import { ElMessageBox, ElMessage } from 'element-plus';
const caseLRef = ref();
......@@ -123,6 +124,7 @@
const activeName = ref('全部');
const selectdList = ref([]);
const tableTrue = ref(true);
const curParam = ref({});
const statisis = ref({});
const dataValue = ref('对查询结果操作');
......@@ -219,471 +221,473 @@
});
query();
};
const config = reactive({
columns: [
{ type: 'checkbox', title: '', width: 60, fixed: 'left' },
{
field: 'caseId',
title: '案件ID',
search: { el: 'input', labelWidth: 90 },
showOverflow: 'tooltip',
width: 230,
slots: {
default: ({ row, rowIndex }) => {
return (
<>
<div
onClick={() => onCellClick(row)}
className=" text-blue-400 underline cursor-pointer inline-block"
>
{row.caseId}
const config = computed( () => {
return {
columns: [
{ type: 'checkbox', title: '', width: 60, fixed: 'left' },
{
field: 'caseId',
title: '案件ID',
search: { el: 'input', labelWidth: 90 },
showOverflow: 'tooltip',
width: 230,
slots: {
default: ({ row, rowIndex }) => {
return (
<>
<div
onClick={() => onCellClick(row)}
className=" text-blue-400 underline cursor-pointer inline-block"
>
{row.caseId}
</div>
<Tag row={row} />
</>
);
},
},
},
{
field: 'loanPlatform.name',
showOverflow: 'tooltip',
enum: () => getPlatformPage({ current: 1, size: 999999999, status: 'enable' }),
search: { el: 'select', props: { filterable: true,clearable: true }, key: 'loanPlatform', labelWidth: 90 },
fieldNames: { label: 'name', value: 'id' },
title: '借款平台',
width: 100,
},
{
field: 'manageOrg.orgName',
title: '资管公司',
enum: () => getManageOrgPage({ current: 1, size: 999999999, status: 'enable' }),
fieldNames: { label: 'orgName', value: 'id' },
showOverflow: 'tooltip',
width: 100,
search: { el: 'select', props: { filterable: true,clearable: true }, key: 'manageOrg', labelWidth: 90 },
},
{
field: 'borrower.name',
title: '借款人姓名',
showOverflow: 'tooltip',
width: 120,
search: {
el: 'input',
key: 'borrowerName',
props: { clearable: true },
labelWidth: 90,
},
},
{
field: 'borrower.idCard',
title: '身份证',
showOverflow: 'tooltip',
width: 140,
search: {
el: 'input',
props: { clearable: true },
key: 'borrowerIdCard',
labelWidth: 90,
},
},
{
field: 'borrower.phone',
title: '手机号',
showOverflow: 'tooltip',
width: 140,
search: {
el: 'input',
props: { clearable: true },
key: 'borrowerPhone',
labelWidth: 90,
},
},
{
field: 'discount',
title: '折扣',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'commissionAmount',
title: '委案金额',
sortable: true,
showOverflow: 'tooltip',
width: 120,
search: {
render: ({ searchParam }) => {
return (
<div class="flex">
<el-input vModel_trim={searchParam.commissionAmountBegin} placeholder="" />
<span class="mr-1 ml-1">-</span>
<el-input vModel_trim={searchParam.commissionAmountEnd} placeholder="" />
</div>
<Tag row={row} />
</>
);
);
},
props: { clearable: true },
labelWidth: 90,
},
},
},
{
field: 'loanPlatform.name',
showOverflow: 'tooltip',
enum: () => getPlatformPage({ current: 1, size: 999999999, status: 'enable' }),
search: { el: 'select', props: { filterable: true,clearable: true }, key: 'loanPlatform', labelWidth: 90 },
fieldNames: { label: 'name', value: 'id' },
title: '借款平台',
width: 100,
},
{
field: 'manageOrg.orgName',
title: '资管公司',
enum: () => getManageOrgPage({ current: 1, size: 999999999, status: 'enable' }),
fieldNames: { label: 'orgName', value: 'id' },
showOverflow: 'tooltip',
width: 100,
search: { el: 'select', props: { filterable: true,clearable: true }, key: 'manageOrg', labelWidth: 90 },
},
{
field: 'borrower.name',
title: '借款人姓名',
showOverflow: 'tooltip',
width: 120,
search: {
el: 'input',
key: 'borrowerName',
props: { clearable: true },
labelWidth: 90,
},
},
{
field: 'borrower.idCard',
title: '身份证',
showOverflow: 'tooltip',
width: 140,
search: {
el: 'input',
props: { clearable: true },
key: 'borrowerIdCard',
labelWidth: 90,
},
},
{
field: 'borrower.phone',
title: '手机号',
showOverflow: 'tooltip',
width: 140,
search: {
el: 'input',
props: { clearable: true },
key: 'borrowerPhone',
labelWidth: 90,
},
},
{
field: 'discount',
title: '折扣',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'commissionAmount',
title: '委案金额',
sortable: true,
showOverflow: 'tooltip',
width: 120,
search: {
render: ({ searchParam }) => {
return (
<div class="flex">
<el-input vModel_trim={searchParam.commissionAmountBegin} placeholder="" />
<span class="mr-1 ml-1">-</span>
<el-input vModel_trim={searchParam.commissionAmountEnd} placeholder="" />
</div>
);
{
field: 'sumRepayAmount',
title: '累计还款金额',
showOverflow: 'tooltip',
width: 100,
search: { el: 'input', props: { clearable: true }, labelWidth: 90 },
},
{
field: 'sumReductionAmount',
title: '累计减免金额',
showOverflow: 'tooltip',
width: 100,
search: { el: 'input', props: { clearable: true }, labelWidth: 90 },
},
{
field: 'remainingAmount',
title: '剩余待还金额',
showOverflow: 'tooltip',
width: 100,
search: { el: 'input', props: { clearable: true }, labelWidth: 90 },
},
{
field: 'cpe.username',
showOverflow: 'tooltip',
title: 'CPE',
width: 80,
search: { el: 'input', props: { clearable: true }, key: 'cpeName', labelWidth: 90 },
},
{
field: 'cpeDate',
title: '分派CPE日期',
showOverflow: 'tooltip',
width: 150,
search: {
el: 'date-picker',
props: { type: 'daterange', valueFormat: 'YYYY-MM-DD' },
labelWidth: 90,
},
},
{
field: 'trackTime',
title: '跟进时间',
showOverflow: 'tooltip',
width: 150,
search: {
el: 'date-picker',
props: { type: 'daterange', valueFormat: 'YYYY-MM-DD' },
labelWidth: 90,
},
props: { clearable: true },
labelWidth: 90,
},
},
{
field: 'sumRepayAmount',
title: '累计还款金额',
showOverflow: 'tooltip',
width: 100,
search: { el: 'input', props: { clearable: true }, labelWidth: 90 },
},
{
field: 'sumReductionAmount',
title: '累计减免金额',
showOverflow: 'tooltip',
width: 100,
search: { el: 'input', props: { clearable: true }, labelWidth: 90 },
},
{
field: 'remainingAmount',
title: '剩余待还金额',
showOverflow: 'tooltip',
width: 100,
search: { el: 'input', props: { clearable: true }, labelWidth: 90 },
},
{
field: 'cpe.username',
showOverflow: 'tooltip',
title: 'CPE',
width: 80,
search: { el: 'input', props: { clearable: true }, key: 'cpeName', labelWidth: 90 },
},
{
field: 'cpeDate',
title: '分派CPE日期',
showOverflow: 'tooltip',
width: 150,
search: {
el: 'date-picker',
props: { type: 'daterange', valueFormat: 'YYYY-MM-DD' },
labelWidth: 90,
},
},
{
field: 'trackTime',
title: '跟进时间',
showOverflow: 'tooltip',
width: 150,
search: {
el: 'date-picker',
props: { type: 'daterange', valueFormat: 'YYYY-MM-DD' },
labelWidth: 90,
},
},
{
field: 'isfollowStatus',
showOverflow: 'tooltip',
title: '是否有跟进记录',
width: 80,
visible: false,
enum: BooleanStatus,
search: { el: 'select', props: { filterable: true,clearable: true }, labelWidth: 90, defaultValue: 'N' },
fieldNames: { label: 'label', value: 'value' },
slots: {
default: ({ row }) => {
return (
<>
{row.isfollowStatus
? BooleanStatus.value?.find((v) => v.value === row.isfollowStatus)?.label
: ''}
</>
);
},
{
field: 'isfollowStatus',
showOverflow: 'tooltip',
title: '是否有跟进记录',
width: 80,
enum: BooleanStatus,
search: { el: 'select', props: { filterable: true,clearable: true }, labelWidth: 90, defaultValue: activeName.value === '全部' ? 'N' : 'Y' },
fieldNames: { label: 'label', value: 'value' },
slots: {
default: ({ row }) => {
return (
<>
{row.isfollowStatus
? BooleanStatus.value?.find((v) => v.value === row.isfollowStatus)?.label
: ''}
</>
);
},
},
},
},
{
field: 'repairStatus',
showOverflow: 'tooltip',
title: '修复状态',
width: 80,
enum: RepairStatus,
search: { el: 'select', props: { filterable: true,clearable: true }, labelWidth: 90 },
fieldNames: { label: 'label', value: 'value' },
slots: {
default: ({ row }) => {
return (
<>
{row.repairStatus
? RepairStatus.value?.find((v) => v.value === row.repairStatus)?.label
: ''}
</>
);
{
field: 'repairStatus',
showOverflow: 'tooltip',
title: '修复状态',
width: 80,
enum: RepairStatus,
search: { el: 'select', props: { filterable: true,clearable: true }, labelWidth: 90 },
fieldNames: { label: 'label', value: 'value' },
slots: {
default: ({ row }) => {
return (
<>
{row.repairStatus
? RepairStatus.value?.find((v) => v.value === row.repairStatus)?.label
: ''}
</>
);
},
},
},
},
{
field: 'principalBalance',
title: '本金余额',
showOverflow: 'tooltip',
width: 80,
search: { el: 'input', props: { clearable: true }, labelWidth: 90 },
},
{
field: 'commission',
showOverflow: 'tooltip',
title: '手续费',
width: 80,
search: { el: 'input', props: { clearable: true }, labelWidth: 90 },
},
{
field: 'followStatus',
showOverflow: 'tooltip',
title: '跟进结果',
width: 80,
enum: FollowStatus,
search: { el: 'select', props: { filterable: true,clearable: true }, labelWidth: 90 },
fieldNames: { label: 'label', value: 'value' },
slots: {
default: ({ row }) => {
return (
<>
{row.followStatus
? FollowStatus.value?.find((v) => v.value === row.followStatus)?.label
: ''}
</>
);
{
field: 'principalBalance',
title: '本金余额',
showOverflow: 'tooltip',
width: 80,
search: { el: 'input', props: { clearable: true }, labelWidth: 90 },
},
{
field: 'commission',
showOverflow: 'tooltip',
title: '手续费',
width: 80,
search: { el: 'input', props: { clearable: true }, labelWidth: 90 },
},
{
field: 'followStatus',
showOverflow: 'tooltip',
title: '跟进结果',
width: 80,
enum: FollowStatus,
search: { el: 'select', props: { filterable: true,clearable: true }, labelWidth: 90 },
fieldNames: { label: 'label', value: 'value' },
slots: {
default: ({ row }) => {
return (
<>
{row.followStatus
? FollowStatus.value?.find((v) => v.value === row.followStatus)?.label
: ''}
</>
);
},
},
},
},
{
field: 'phoneResultStatus',
showOverflow: 'tooltip',
title: '跟进状态',
width: 80,
enum: PhoneResultStatus,
search: { el: 'select', props: { filterable: true,clearable: true }, labelWidth: 90 },
fieldNames: { label: 'label', value: 'value' },
slots: {
default: ({ row }) => {
return (
<>
{row.phoneResultStatus
? PhoneResultStatus.value?.find((v) => v.value === row.phoneResultStatus)?.label
: ''}
</>
);
{
field: 'phoneResultStatus',
showOverflow: 'tooltip',
title: '跟进状态',
width: 80,
enum: PhoneResultStatus,
search: { el: 'select', props: { filterable: true,clearable: true }, labelWidth: 90 },
fieldNames: { label: 'label', value: 'value' },
slots: {
default: ({ row }) => {
return (
<>
{row.phoneResultStatus
? PhoneResultStatus.value?.find((v) => v.value === row.phoneResultStatus)?.label
: ''}
</>
);
},
},
},
},
{
field: 'lastFollowStatus',
showOverflow: 'tooltip',
title: '最近一次跟进结果',
width: 80,
enum: FollowStatus,
search: { el: 'select', props: { filterable: true,clearable: true }, labelWidth: 90 },
fieldNames: { label: 'label', value: 'value' },
slots: {
default: ({ row }) => {
return (
<>
{row.lastFollowStatus
? FollowStatus.value?.find((v) => v.value === row.lastFollowStatus)?.label
: ''}
</>
);
{
field: 'lastFollowStatus',
showOverflow: 'tooltip',
title: '最近一次跟进结果',
width: 80,
enum: FollowStatus,
search: { el: 'select', props: { filterable: true,clearable: true }, labelWidth: 90 },
fieldNames: { label: 'label', value: 'value' },
slots: {
default: ({ row }) => {
return (
<>
{row.lastFollowStatus
? FollowStatus.value?.find((v) => v.value === row.lastFollowStatus)?.label
: ''}
</>
);
},
},
},
},
{
field: 'lastPhoneResultStatus',
showOverflow: 'tooltip',
title: '最近一次跟进状态',
width: 80,
enum: PhoneResultStatus,
search: { el: 'select', props: { filterable: true,clearable: true }, labelWidth: 90 },
fieldNames: { label: 'label', value: 'value' },
slots: {
default: ({ row }) => {
return (
<>
{row.lastPhoneResultStatus
? PhoneResultStatus.value?.find((v) => v.value === row.lastPhoneResultStatus)
?.label
: ''}
</>
);
{
field: 'lastPhoneResultStatus',
showOverflow: 'tooltip',
title: '最近一次跟进状态',
width: 80,
enum: PhoneResultStatus,
search: { el: 'select', props: { filterable: true,clearable: true }, labelWidth: 90 },
fieldNames: { label: 'label', value: 'value' },
slots: {
default: ({ row }) => {
return (
<>
{row.lastPhoneResultStatus
? PhoneResultStatus.value?.find((v) => v.value === row.lastPhoneResultStatus)
?.label
: ''}
</>
);
},
},
},
},
{
field: 'caseStatus',
showOverflow: 'tooltip',
title: '案件状态',
width: 80,
enum: CaseStatus,
search: { el: 'select', props: { filterable: true,clearable: true }, labelWidth: 90 },
fieldNames: { label: 'label', value: 'value' },
slots: {
default: ({ row }) => {
return (
<>
{row.caseStatus
? CaseStatus.value?.find((v) => v.value === row.caseStatus)?.label
: ''}
</>
);
{
field: 'caseStatus',
showOverflow: 'tooltip',
title: '案件状态',
width: 80,
enum: CaseStatus,
search: { el: 'select', props: { filterable: true,clearable: true }, labelWidth: 90 },
fieldNames: { label: 'label', value: 'value' },
slots: {
default: ({ row }) => {
return (
<>
{row.caseStatus
? CaseStatus.value?.find((v) => v.value === row.caseStatus)?.label
: ''}
</>
);
},
},
},
},
{
field: 'credit?.borrowingTime',
title: '借款时间',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.litigationStatus',
title: '诉讼执行状态',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.litigationCaseNo',
title: '诉讼案号',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.executeCaseNo',
title: '执行案号',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.closingStatus',
title: '结案状态',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.constantNo',
title: '合同编号',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.planAmountOrg',
title: '资金方名称',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.planAmount',
title: '申请金额',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.paymentDate',
title: '借款日期',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.overDate',
title: '到期日期',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.period',
title: '期数',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.lastPaymentDate',
title: '最后还款日期',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.yearRate',
title: '年化利率',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.paymentAmount',
title: '订单总应还金额',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.interest',
title: '订单总应还利息',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.free',
title: '订单总应还其他费用',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.overdue',
title: '逾期日期',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.overdueDays',
title: '逾期天数',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.overduePeriod',
title: '逾期期数',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.overBalance',
title: '已还本金',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.overInterest',
title: '已还利息',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.overFree',
title: '已还其他费用',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.remark',
title: '备注',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.disbursement',
title: '垫付费用',
showOverflow: 'tooltip',
width: 80,
},
],
onCheckboxChange: onCheckboxChange,
onCheckboxAll: onCheckboxAll,
{
field: 'credit?.borrowingTime',
title: '借款时间',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.litigationStatus',
title: '诉讼执行状态',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.litigationCaseNo',
title: '诉讼案号',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.executeCaseNo',
title: '执行案号',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.closingStatus',
title: '结案状态',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.constantNo',
title: '合同编号',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.planAmountOrg',
title: '资金方名称',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.planAmount',
title: '申请金额',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.paymentDate',
title: '借款日期',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.overDate',
title: '到期日期',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.period',
title: '期数',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.lastPaymentDate',
title: '最后还款日期',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.yearRate',
title: '年化利率',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.paymentAmount',
title: '订单总应还金额',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.interest',
title: '订单总应还利息',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.free',
title: '订单总应还其他费用',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.overdue',
title: '逾期日期',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.overdueDays',
title: '逾期天数',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.overduePeriod',
title: '逾期期数',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.overBalance',
title: '已还本金',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.overInterest',
title: '已还利息',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.overFree',
title: '已还其他费用',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.remark',
title: '备注',
showOverflow: 'tooltip',
width: 80,
},
{
field: 'credit?.disbursement',
title: '垫付费用',
showOverflow: 'tooltip',
width: 80,
},
],
onCheckboxChange: onCheckboxChange,
onCheckboxAll: onCheckboxAll,
}
});
const query = () => caseLRef.value?.search();
const handleClick = () => {
console.log('activeName', activeName.value);
tableTrue.value = false
nextTick(() => {tableTrue.value = true})
setTimeout(() => {
query();
query();
}, 300);
};
onMounted(() => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment