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

业务审批

parent dcf0ca7f
...@@ -17,116 +17,7 @@ ...@@ -17,116 +17,7 @@
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
<ProTable :config="config" ref="ProTableRef" :api="getByStagesPage" :selectdList="selectdList" :paramCallback="paramCallback"> <ProTable :config="config" ref="ProTableRef" :api="getByStagesPage" :paramCallback="paramCallback">
<template #left_buttons>
<!-- <el-button type="primary">下载申请 </el-button> -->
<el-button
type="primary"
@click="changeStatus"
:disabled="!selectdList || !selectdList.length"
>审批
</el-button>
<!-- <el-button type="primary">下载 </el-button>
<el-button type="primary">批量修复上传 </el-button> -->
</template>
<template #expand_content="{ row }">
<div class="expand-box">
<div class="flex">
<div class="w-2/3 pr-2">
<div>案件明细</div>
<div class="expand-table">
<div v-for="(item, index) in row.loans" :key="index">
<div class="public-header">
{{ item?.caseId }}
</div>
<table
><tbody>
<tr>
<td class="label">案件ID</td>
<td>{{ item?.caseId }}</td>
<td class="label">借款平台</td>
<td>{{ item?.loanPlatform?.name }}</td>
</tr>
<tr>
<td class="label">资管公司</td>
<td>{{ item?.manageOrg.orgName }}</td>
<td class="label">身份证</td>
<td>{{ item?.borrower?.idCard }}</td>
</tr>
<tr>
<td class="label">手机号</td>
<td>{{ item?.borrower?.phone }}</td>
<td class="label">折扣</td>
<td>{{ item?.discount }}</td>
</tr>
<tr>
<td class="label">累计还款金额</td>
<td>{{ item?.sumRepayAmount }}</td>
<td class="label">累计减免金额</td>
<td>{{ item?.sumReductionAmount }}</td>
</tr>
<tr>
<td class="label">剩余待还金额</td>
<td>{{ item?.remainingAmount }}</td>
<td class="label">CPE</td>
<td>{{ item?.cpe?.username }}</td>
</tr>
<tr>
<td class="label">分派CPE日期</td>
<td>{{ item?.cpeDate }}</td>
<td class="label">本金余额</td>
<td>{{ item?.principalBalance }}</td>
</tr>
<tr>
<td class="label">手续费</td>
<td>{{ item?.commission }}</td>
</tr>
<tr>
<td class="label">委案金额</td>
<td>{{ item?.commissionAmount }}</td>
<td class="label">案件状态</td>
<td>
{{
item?.caseStatus
? CaseStatus.find((v) => v.value === item?.caseStatus)?.label
: ''
}}</td
>
</tr>
<tr>
<td class="label">跟进结果</td>
<td>{{
item?.followStatus
? FollowStatus.find((v) => v.value === item?.followStatus)?.label
: ''
}}</td>
<td class="label">跟进状态</td>
<td>{{
item?.phoneResultStatus
? PhoneResultStatus.find((v) => v.value === item?.phoneResultStatus)
.label
: ''
}}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="flex-1">
<div>分期明细</div>
<div class="expand-table">
<ProTable
:config="splitDeConfig"
:data="row.byStagesRecords"
:showPagination="false"
:showToolBar="false"
/>
</div>
</div>
</div>
</div>
</template>
</ProTable> </ProTable>
<vxe-modal <vxe-modal
resize resize
...@@ -263,15 +154,10 @@ ...@@ -263,15 +154,10 @@
], ],
toolbarConfig: { enabled: false }, toolbarConfig: { enabled: false },
}); });
const changeStatus = async () => { const changeStatus = async (row) => {
if (selectdList.value.length > 1) { splitDrawerRef.value.openModal(
showModal.value = true; JSON.parse(JSON.stringify(row))
} else { );
splitDrawerRef.value.openModal(
JSON.parse(JSON.stringify(selectdList.value[0]))
);
}
}; };
const submitForm = async (type) => { const submitForm = async (type) => {
const ids = selectdList.value.map((v) => v.id).join(','); const ids = selectdList.value.map((v) => v.id).join(',');
...@@ -299,8 +185,8 @@ ...@@ -299,8 +185,8 @@
const config = computed(() => { const config = computed(() => {
return { return {
columns: [ columns: [
{ type: 'checkbox', width: 60, fixed: 'left' }, // { type: 'checkbox', width: 60, fixed: 'left' },
{ type: 'expand', width: 80, slots: { content: 'expand_content' } }, // { type: 'expand', width: 80, slots: { content: 'expand_content' } },
{ {
field: 'caseId', field: 'caseId',
title: '案件ID', title: '案件ID',
...@@ -334,7 +220,7 @@ ...@@ -334,7 +220,7 @@
width: 90, width: 90,
}, },
{ {
title: 'CPE', title: '发起人',
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 60, width: 60,
slots: { slots: {
...@@ -469,6 +355,22 @@ ...@@ -469,6 +355,22 @@
}, },
}, },
}, },
{
field: 'code',
title: '操作',
width: 120,
slots: {
default: ({ row, rowIndex }) => {
return (
<>
<ElButton type="primary" onClick={() => changeStatus(row)}>
{row.flowStatus === 'pending' ? '查看并审核' : '查看'}
</ElButton>
</>
);
},
},
}
], ],
onCheckboxChange: onCheckboxChange, onCheckboxChange: onCheckboxChange,
onCheckboxAll: onCheckboxAll, onCheckboxAll: onCheckboxAll,
......
...@@ -17,96 +17,7 @@ ...@@ -17,96 +17,7 @@
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
<ProTable :config="config" ref="ProTableRef" :api="getReducePage" :selectdList="selectdList" :paramCallback="paramCallback"> <ProTable :config="config" ref="ProTableRef" :api="getReducePage" :paramCallback="paramCallback">
<template #left_buttons>
<!-- <el-button type="primary">下载申请 </el-button> -->
<el-button
type="primary"
@click="changeStatus"
:disabled="!selectdList || !selectdList.length"
>审批
</el-button>
<!-- <el-button type="primary">下载 </el-button>
<el-button type="primary">批量修复上传 </el-button> -->
</template>
<template #expand_content="{ row }">
<div class="expand-box">
<div>案件明细</div>
<div class="expand-table">
<div v-for="(item, index) in row.reduceRecords" :key="index">
<div class="public-header">
{{ item?.loan?.caseId }}
</div>
<table
><tbody>
<tr>
<td class="label">案件ID</td>
<td>{{ item?.loan?.caseId }}</td>
<td class="label">借款平台</td>
<td>{{ item?.loan?.loanPlatform?.name }}</td>
<td class="label">资管公司</td>
<td>{{ item?.loan?.manageOrg.orgName }}</td>
</tr>
<tr>
<td class="label">身份证</td>
<td>{{ item?.loan?.borrower?.idCard }}</td>
<td class="label">手机号</td>
<td>{{ item?.loan?.borrower?.phone }}</td>
<td class="label">折扣</td>
<td>{{ item?.loan?.discount }}</td>
<td class="label">委案金额</td>
<td>{{ item?.loan?.commissionAmount }}</td>
</tr>
<tr>
<td class="label">累计还款金额</td>
<td>{{ item?.loan?.sumRepayAmount }}</td>
<td class="label">累计减免金额</td>
<td>{{ item?.loan?.sumReductionAmount }}</td>
<td class="label">减免金额</td>
<td>{{ item?.reduceAmount }}</td>
<td class="label">剩余待还金额</td>
<td>{{ item?.loan?.remainingAmount }}</td>
</tr>
<tr>
<td class="label">CPE</td>
<td>{{ item?.loan?.cpe?.username }}</td>
<td class="label">分派CPE日期</td>
<td>{{ item?.loan?.cpeDate }}</td>
<td class="label">本金余额</td>
<td>{{ item?.loan?.principalBalance }}</td>
<td class="label">案件状态</td>
<td>
{{
item?.loan?.caseStatus
? CaseStatus?.find((v) => v.value === item?.loan?.caseStatus)?.label
: ''
}}</td
>
</tr>
<tr>
<td class="label">手续费</td>
<td>{{ item?.loan?.commission }}</td>
<td class="label">跟进结果</td>
<td>{{
item?.loan?.followStatus
? FollowStatus?.find((v) => v.value === item?.loan?.followStatus)?.label
: ''
}}</td>
<td class="label">跟进状态</td>
<td>{{
item?.loan?.phoneResultStatus
? PhoneResultStatus?.find(
(v) => v.value === item?.loan?.phoneResultStatus
)?.label
: ''
}}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</template>
</ProTable> </ProTable>
<vxe-modal <vxe-modal
resize resize
...@@ -126,12 +37,17 @@ ...@@ -126,12 +37,17 @@
<el-button type="primary" @click="submitForm('pass')">通过</el-button> <el-button type="primary" @click="submitForm('pass')">通过</el-button>
</template> </template>
</vxe-modal> </vxe-modal>
<reduceDrawer
ref="reduceDrawerRef"
@success="query"
></reduceDrawer>
<el-image-viewer :url-list="srcList" v-if="RefImage" @close="RefImage = false" /> <el-image-viewer :url-list="srcList" v-if="RefImage" @close="RefImage = false" />
</div> </div>
</template> </template>
<script setup name="systemLog" lang="jsx"> <script setup name="systemLog" lang="jsx">
import { computed } from 'vue'; import { computed } from 'vue';
import reduceDrawer from './components/reduceDrawer.vue';
import { reactive, ref } from 'vue'; import { reactive, ref } from 'vue';
import { getReducePage,getReduceTotal, flowStatusByIds } from '@/api/property'; import { getReducePage,getReduceTotal, flowStatusByIds } from '@/api/property';
import { onMounted } from 'vue'; import { onMounted } from 'vue';
...@@ -142,6 +58,7 @@ ...@@ -142,6 +58,7 @@
import { Download } from '@element-plus/icons-vue'; import { Download } from '@element-plus/icons-vue';
import { getAppEnvConfig } from '@/utils/env'; import { getAppEnvConfig } from '@/utils/env';
const envs = getAppEnvConfig(); const envs = getAppEnvConfig();
const reduceDrawerRef = ref();
const { PhoneResultStatus, ReduceType, FlowStatus, FollowStatus, CaseStatus } = useDict("PhoneResultStatus","ReduceType", "FlowStatus", "FollowStatus", "CaseStatus"); const { PhoneResultStatus, ReduceType, FlowStatus, FollowStatus, CaseStatus } = useDict("PhoneResultStatus","ReduceType", "FlowStatus", "FollowStatus", "CaseStatus");
const downloadfile = inject('download'); const downloadfile = inject('download');
...@@ -159,6 +76,11 @@ ...@@ -159,6 +76,11 @@
const name = item.slice(item.lastIndexOf('/') + 1, item.length); const name = item.slice(item.lastIndexOf('/') + 1, item.length);
downloadfile('/sys/static/' + item, {}, name); downloadfile('/sys/static/' + item, {}, name);
}; };
const changeStatus = async (row) => {
reduceDrawerRef.value.openModal(
JSON.parse(JSON.stringify(row))
);
};
const paramCallback = (param) => { const paramCallback = (param) => {
const obj = JSON.parse(JSON.stringify(param)); const obj = JSON.parse(JSON.stringify(param));
obj['flowStatus'] = activeName.value; obj['flowStatus'] = activeName.value;
...@@ -201,9 +123,6 @@ ...@@ -201,9 +123,6 @@
selectdList.value = []; selectdList.value = [];
} }
}; };
const changeStatus = async () => {
showModal.value = true;
};
const handleClick = () => { const handleClick = () => {
setTimeout(() => { setTimeout(() => {
query(); query();
...@@ -235,8 +154,8 @@ ...@@ -235,8 +154,8 @@
const config = computed(() => { const config = computed(() => {
return { return {
columns: [ columns: [
{ type: 'checkbox', width: 60, fixed: 'left' }, // { type: 'checkbox', width: 60, fixed: 'left' },
{ type: 'expand', width: 40, slots: { content: 'expand_content' } }, // { type: 'expand', width: 40, slots: { content: 'expand_content' } },
{ {
field: 'caseId', field: 'caseId',
title: '案件ID', title: '案件ID',
...@@ -287,9 +206,9 @@ ...@@ -287,9 +206,9 @@
width: 120, width: 120,
}, },
{ {
title: 'CPE', title: '发起人',
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 60, width: 70,
slots: { slots: {
default: ({ row }) => { default: ({ row }) => {
if (row.cpe?.username) { if (row.cpe?.username) {
...@@ -372,6 +291,7 @@ ...@@ -372,6 +291,7 @@
field: 'applyDate', field: 'applyDate',
title: '减免截止时间', title: '减免截止时间',
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 120,
search: { search: {
el: 'date-picker', el: 'date-picker',
labelWidth: 90, labelWidth: 90,
...@@ -381,6 +301,7 @@ ...@@ -381,6 +301,7 @@
{ {
field: 'inEffectDate', field: 'inEffectDate',
title: '减免生效时间', title: '减免生效时间',
width: 120,
showOverflow: 'tooltip', showOverflow: 'tooltip',
search: { search: {
el: 'date-picker', el: 'date-picker',
...@@ -388,6 +309,22 @@ ...@@ -388,6 +309,22 @@
props: { type: 'datetime', valueFormat: 'YYYY-MM-DD HH:mm:ss' }, props: { type: 'datetime', valueFormat: 'YYYY-MM-DD HH:mm:ss' },
}, },
}, },
{
field: 'code',
title: '操作',
width: 120,
slots: {
default: ({ row, rowIndex }) => {
return (
<>
<ElButton type="primary" onClick={() => changeStatus(row)}>
{row.flowStatus === 'pending' ? '查看并审核' : '查看'}
</ElButton>
</>
);
},
},
}
], ],
onCheckboxChange: onCheckboxChange, onCheckboxChange: onCheckboxChange,
onCheckboxAll: onCheckboxAll, onCheckboxAll: onCheckboxAll,
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
esc-closable esc-closable
> >
<div class="w-full px-3 h-full overflow-auto flex-col flex mytable"> <div class="w-full px-3 h-full overflow-auto flex-col flex mytable">
是否审批通过选中的数据? 是否审批通过{{currentRow ? `借款人${currentRow?.borrower?.name}, 还款金额${currentRow?.realRepayAmount}`: '选中'}}的数据?
</div> </div>
<template #footer> <template #footer>
<el-button type="default" @click="showModal = false">取消</el-button> <el-button type="default" @click="showModal = false">取消</el-button>
...@@ -62,6 +62,7 @@ ...@@ -62,6 +62,7 @@
const { RepayType, FlowStatus } = useDict("RepayType", "FlowStatus"); const { RepayType, FlowStatus } = useDict("RepayType", "FlowStatus");
const ProTableRef = ref(); const ProTableRef = ref();
const showModal = ref(false); const showModal = ref(false);
const currentRow = ref(null);
const activeName = ref('pending'); const activeName = ref('pending');
const tabs = ref([]); const tabs = ref([]);
const selectdList = ref([]); const selectdList = ref([]);
...@@ -116,7 +117,12 @@ ...@@ -116,7 +117,12 @@
}, 500) }, 500)
return obj; return obj;
}; };
const changeStatus = async () => { const changeStatus = async (row) => {
if (row.id) {
currentRow.value = row
} else {
currentRow.value = null
}
showModal.value = true; showModal.value = true;
}; };
const submitForm = async (type) => { const submitForm = async (type) => {
...@@ -160,7 +166,7 @@ ...@@ -160,7 +166,7 @@
} }
}, },
}, },
width: 80, width: 180,
}, },
{ {
field: 'borrower.name', field: 'borrower.name',
...@@ -172,7 +178,7 @@ ...@@ -172,7 +178,7 @@
{ {
title: 'CPE', title: 'CPE',
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 60, width: 80,
slots: { slots: {
default: ({ row }) => { default: ({ row }) => {
if (row.reduce && row.reduce.reduceRecords) { if (row.reduce && row.reduce.reduceRecords) {
...@@ -220,6 +226,7 @@ ...@@ -220,6 +226,7 @@
{ {
field: 'realRepayAmount', field: 'realRepayAmount',
title: '实际还款金额', title: '实际还款金额',
width: 140,
showOverflow: 'tooltip', showOverflow: 'tooltip',
search: { el: 'input', labelWidth: 90 }, search: { el: 'input', labelWidth: 90 },
}, },
...@@ -232,7 +239,7 @@ ...@@ -232,7 +239,7 @@
labelWidth: 90, labelWidth: 90,
props: { type: 'datetime', valueFormat: 'YYYY-MM-DD HH:mm:ss' }, props: { type: 'datetime', valueFormat: 'YYYY-MM-DD HH:mm:ss' },
}, },
width: 115, width: 140,
}, },
{ {
field: 'reduce.totalPayAmount', field: 'reduce.totalPayAmount',
...@@ -255,7 +262,7 @@ ...@@ -255,7 +262,7 @@
); );
}, },
}, },
width: 80, width: 100,
}, },
{ {
field: 'loanPlatform', field: 'loanPlatform',
...@@ -284,6 +291,23 @@ ...@@ -284,6 +291,23 @@
}, },
}, },
}, },
{
field: 'code',
title: '操作',
width: 120,
visible: activeName.value === 'pending' ? true : false,
slots: {
default: ({ row, rowIndex }) => {
return (
<>
<ElButton type="primary" onClick={() => changeStatus(row)}>
审批
</ElButton>
</>
);
},
},
}
], ],
onCheckboxChange: onCheckboxChange, onCheckboxChange: onCheckboxChange,
onCheckboxAll: onCheckboxAll, onCheckboxAll: onCheckboxAll,
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
<template #left_buttons> <template #left_buttons>
<el-button <el-button
type="primary" type="primary"
v-if="activeName === 'un_audit'"
@click="audit" @click="audit"
v-permission="'send_audio'" v-permission="'send_audio'"
:disabled="!selectdList || selectdList.length === 0" :disabled="!selectdList || selectdList.length === 0"
......
...@@ -238,7 +238,7 @@ ...@@ -238,7 +238,7 @@
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import { computed } from 'vue'; import { computed } from 'vue';
import { reactive, ref } from 'vue'; import { reactive, ref } from 'vue';
import { ElInputNumber, ElMessage } from 'element-plus'; import { ElInputNumber, ElMessage, ElTag } from 'element-plus';
import { Upload } from '@element-plus/icons-vue'; import { Upload } from '@element-plus/icons-vue';
import { getAppEnvConfig } from '@/utils/env'; import { getAppEnvConfig } from '@/utils/env';
import { saveTrackRecord } from '@/api/property'; import { saveTrackRecord } from '@/api/property';
...@@ -397,9 +397,9 @@ ...@@ -397,9 +397,9 @@
const config = reactive({ const config = reactive({
minHeight: 200, minHeight: 200,
checkboxConfig: { checkboxConfig: {
checkMethod: ({ row }) => { // checkMethod: ({ row }) => {
return props.mergerCase !== 'Y'; // return props.mergerCase !== 'Y';
}, // },
}, },
columns: [ columns: [
{ type: 'checkbox', width: 60, fixed: 'left' }, { type: 'checkbox', width: 60, fixed: 'left' },
...@@ -408,6 +408,17 @@ ...@@ -408,6 +408,17 @@
title: '案件ID', title: '案件ID',
showOverflow: 'tooltip', showOverflow: 'tooltip',
}, },
{
field: 'mergerCase',
title: '是否共案处理',
showOverflow: 'tooltip',
width: 100,
slots: {
default: ({ row }) => {
return <ElTag>{row.mergerCase == 'Y' ? '是' : '否'}</ElTag>;
},
},
},
{ {
field: 'product', field: 'product',
title: '产品', title: '产品',
......
...@@ -125,7 +125,7 @@ ...@@ -125,7 +125,7 @@
import { computed } from 'vue'; import { computed } from 'vue';
import { reactive, ref } from 'vue'; import { reactive, ref } from 'vue';
import { saveReduce } from '@/api/property'; import { saveReduce } from '@/api/property';
import { ElMessage } from 'element-plus'; import { ElMessage, ElTag } from 'element-plus';
import { Download, ZoomIn } from '@element-plus/icons-vue'; import { Download, ZoomIn } from '@element-plus/icons-vue';
import { onMounted } from 'vue'; import { onMounted } from 'vue';
import { watch } from 'vue'; import { watch } from 'vue';
...@@ -233,9 +233,9 @@ ...@@ -233,9 +233,9 @@
}; };
const config = reactive({ const config = reactive({
checkboxConfig: { checkboxConfig: {
checkMethod: ({ row }) => { // checkMethod: ({ row }) => {
return props.mergerCase !== 'Y'; // return props.mergerCase !== 'Y';
}, // },
}, },
minHeight: 200, minHeight: 200,
columns: [ columns: [
...@@ -246,6 +246,17 @@ ...@@ -246,6 +246,17 @@
showOverflow: 'tooltip', showOverflow: 'tooltip',
title: '案件ID', title: '案件ID',
}, },
{
field: 'mergerCase',
title: '是否共案处理',
showOverflow: 'tooltip',
width: 100,
slots: {
default: ({ row }) => {
return <ElTag>{row.loan.mergerCase == 'Y' ? '是' : '否'}</ElTag>;
},
},
},
{ {
field: 'loan.product', field: 'loan.product',
width: 100, width: 100,
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<td class="label">减免生效时间</td> <td class="label">减免生效时间</td>
<td>{{ currentInfo.inEffectDate }}</td> <td>{{ currentInfo.inEffectDate }}</td>
<td class="label">应还金额</td> <td class="label">应还金额</td>
<td colspan="5">{{ currentInfo.totalPayAmount }}</td> <td colspan="5">{{ Decimal(currentInfo.remainingAmount).sub(currentInfo.totalReduceAmount) }}</td>
</tr> </tr>
<!-- Add more rows as needed --> <!-- Add more rows as needed -->
</table> </table>
...@@ -188,9 +188,10 @@ ...@@ -188,9 +188,10 @@
<script setup lang="jsx" name="allocationModal"> <script setup lang="jsx" name="allocationModal">
import { computed } from 'vue'; import { computed } from 'vue';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import Decimal from 'decimal.js';
import { reactive, ref } from 'vue'; import { reactive, ref } from 'vue';
import { getAppEnvConfig } from '@/utils/env'; import { getAppEnvConfig } from '@/utils/env';
import { ElMessage } from 'element-plus'; import { ElMessage,ElTag } from 'element-plus';
import { useDict } from '@/hooks/useDict'; import { useDict } from '@/hooks/useDict';
const { PhoneResultStatus, RepayType, FlowStatus, FollowStatus, AuditStatus, CaseStatus } = useDict("PhoneResultStatus","RepayType", "FlowStatus", "FollowStatus","AuditStatus", "CaseStatus"); const { PhoneResultStatus, RepayType, FlowStatus, FollowStatus, AuditStatus, CaseStatus } = useDict("PhoneResultStatus","RepayType", "FlowStatus", "FollowStatus","AuditStatus", "CaseStatus");
import { saveRepayRecord } from '@/api/property'; import { saveRepayRecord } from '@/api/property';
...@@ -216,7 +217,7 @@ ...@@ -216,7 +217,7 @@
const radio = ref(0); const radio = ref(0);
const validaterealRepayAmount = (rule, value, callback) => { const validaterealRepayAmount = (rule, value, callback) => {
if ( if (
Number(value) !== Number(currentInfo.value.totalPayAmount) && Number(value) !== Number(Decimal(currentInfo.value.remainingAmount).sub(currentInfo.value.totalReduceAmount)) &&
currentType.value === '结清减免还款' currentType.value === '结清减免还款'
) { ) {
callback(new Error('*金额必须等于应还金额')); callback(new Error('*金额必须等于应还金额'));
......
...@@ -178,7 +178,7 @@ ...@@ -178,7 +178,7 @@
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import { computed } from 'vue'; import { computed } from 'vue';
import { reactive, ref } from 'vue'; import { reactive, ref } from 'vue';
import { ElInputNumber, ElMessage } from 'element-plus'; import { ElInputNumber, ElMessage, ElTag } from 'element-plus';
import { savebyStages } from '@/api/property'; import { savebyStages } from '@/api/property';
import { getByIdPlatforms } from '@/api/platform'; import { getByIdPlatforms } from '@/api/platform';
import { getAppEnvConfig } from '@/utils/env'; import { getAppEnvConfig } from '@/utils/env';
...@@ -373,9 +373,9 @@ ...@@ -373,9 +373,9 @@
}; };
const config = reactive({ const config = reactive({
checkboxConfig: { checkboxConfig: {
checkMethod: ({ row }) => { // checkMethod: ({ row }) => {
return props.mergerCase !== 'Y'; // return props.mergerCase !== 'Y';
}, // },
}, },
minHeight: 200, minHeight: 200,
columns: [ columns: [
...@@ -385,6 +385,17 @@ ...@@ -385,6 +385,17 @@
title: '案件ID', title: '案件ID',
showOverflow: 'tooltip', showOverflow: 'tooltip',
}, },
{
field: 'mergerCase',
title: '是否共案处理',
showOverflow: 'tooltip',
width: 100,
slots: {
default: ({ row }) => {
return <ElTag>{row.mergerCase == 'Y' ? '是' : '否'}</ElTag>;
},
},
},
{ {
field: 'product', field: 'product',
title: '产品', title: '产品',
......
...@@ -378,7 +378,7 @@ ...@@ -378,7 +378,7 @@
}, },
}, },
enum: () => getTenantPage({ current: 1, size: 999999999, status: 'enable' }), enum: () => getTenantPage({ current: 1, size: 999999999, status: 'enable' }),
search: authButtonListGet.includes('allcation_for_tenant') ? { el: 'select', props: { filterable: true }, key: 'tenant', labelWidth: 105 } : null, search: authButtonListGet.includes('allcation_for_tenant') ? { el: 'select', props: { filterable: true }, key: 'tenant', labelWidth: 90 } : null,
fieldNames: { label: 'name', value: 'id' }, fieldNames: { label: 'name', value: 'id' },
title: '调解中心', title: '调解中心',
width: 100, width: 100,
......
...@@ -211,18 +211,21 @@ ...@@ -211,18 +211,21 @@
{ {
field: 'code', field: 'code',
title: '导入批次', title: '导入批次',
width: 100,
showOverflow: 'tooltip', showOverflow: 'tooltip',
search: { el: 'input', props: { clearable: true } }, search: { el: 'input', props: { clearable: true } },
}, },
{ {
field: 'maxStagesNum', field: 'maxStagesNum',
title: '分期最大期数', title: '分期最大期数',
width: 120,
showOverflow: 'tooltip', showOverflow: 'tooltip',
search: { el: 'input', props: { clearable: true } }, search: { el: 'input', props: { clearable: true } },
}, },
{ {
field: 'minAmount', field: 'minAmount',
title: '最低分期金额', title: '最低分期金额',
width: 120,
showOverflow: 'tooltip', showOverflow: 'tooltip',
search: { el: 'input', props: { clearable: true } }, search: { el: 'input', props: { clearable: true } },
}, },
...@@ -230,7 +233,7 @@ ...@@ -230,7 +233,7 @@
field: 'mergerCase', field: 'mergerCase',
title: '是否共案处理', title: '是否共案处理',
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 100, width: 110,
slots: { slots: {
default: ({ row }) => { default: ({ row }) => {
return <ElTag>{row.mergerCase == 'Y' ? '是' : '否'}</ElTag>; return <ElTag>{row.mergerCase == 'Y' ? '是' : '否'}</ElTag>;
...@@ -241,6 +244,7 @@ ...@@ -241,6 +244,7 @@
field: 'code', field: 'code',
title: '资产类型', title: '资产类型',
enum: options, enum: options,
width: 100,
showOverflow: 'tooltip', showOverflow: 'tooltip',
search: { el: 'select', props: { filterable: true } }, search: { el: 'select', props: { filterable: true } },
fieldNames: { label: 'genderLabel', value: 'genderValue' }, fieldNames: { label: 'genderLabel', value: 'genderValue' },
...@@ -248,16 +252,19 @@ ...@@ -248,16 +252,19 @@
{ {
field: 'totalCaseNum', field: 'totalCaseNum',
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 100,
title: '案件总数', title: '案件总数',
}, },
{ {
field: 'totalAmount', field: 'totalAmount',
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 120,
title: '案件总金额', title: '案件总金额',
}, },
{ {
field: 'totalBorrowerNum', field: 'totalBorrowerNum',
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 100,
title: '客户总数', title: '客户总数',
}, },
{ {
...@@ -287,7 +294,7 @@ ...@@ -287,7 +294,7 @@
field: 'action', field: 'action',
title: '文件地址', title: '文件地址',
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 200, width: 80,
slots: { slots: {
default: ({ row }) => { default: ({ row }) => {
return ( return (
...@@ -317,7 +324,7 @@ ...@@ -317,7 +324,7 @@
code: '', code: '',
maxStagesNum: '', maxStagesNum: '',
minAmount: '', minAmount: '',
mergerCase: 'N', mergerCase: 'Y',
discount: '', discount: '',
}); });
const upload = reactive({ const upload = reactive({
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
<template #left_buttons> <template #left_buttons>
<el-button <el-button
type="primary" type="primary"
v-if="activeName === 'un_audit'"
@click="audit" @click="audit"
v-permission="'send_audio'" v-permission="'send_audio'"
:disabled="!selectdList || selectdList.length === 0" :disabled="!selectdList || selectdList.length === 0"
......
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