Commit 8a5f2628 authored by 沈翠玲's avatar 沈翠玲

分期审批

parent c9d4274b
......@@ -23,14 +23,14 @@
color="#234ca3"
>
<p class=" font-bold text-sm">发起人</p>
<span class="text-xs bg-gray-200 rounded-sm text-slate-900 px-2">{{currentDetail?.cpe?.username}}</span>
<span class="text-xs bg-gray-200 rounded-sm text-slate-900 px-2">{{currentDetail?.applyUser?.username}}</span>
</el-timeline-item>
<el-timeline-item
:timestamp="currentDetail?.createTime"
:timestamp="currentDetail?.repairTime"
:color="currentDetail.flowStatus !== 'pending' ? '#234ca3' : null"
>
<p class=" font-bold text-sm">平台审批环节</p>
<span class="text-xs bg-gray-200 rounded-sm text-slate-900 px-2">{{currentDetail?.createBy}}</span>
<span class="text-xs bg-gray-200 rounded-sm text-slate-900 px-2" v-if="currentDetail.flowStatus !== 'pending'">{{currentDetail?.repairUser?.username}}</span>
</el-timeline-item>
</el-timeline>
</div>
......@@ -255,7 +255,9 @@
import { Close } from '@element-plus/icons-vue';
import { VxeTextEllipsis, VxeTooltip } from 'vxe-pc-ui';
import {
listByBorrower
} from '@/api/property';
import { ElInputNumber, ElMessage } from 'element-plus';
import { changeAmount } from '@/api/property';
import { getByIdPlatforms } from '@/api/platform';
......@@ -275,6 +277,11 @@
const dialogImageUrl = ref('');
const dialogVisible = ref(false);
const downloadfile = inject('download');
import { useUserStore } from '@/stores/modules/user';
const userStore = useUserStore();
const form = reactive({
remainingAmount: 0,
images: [],
......@@ -407,9 +414,7 @@
label: i + '',
})
}
console.log('options.value', options.value)
getByIdPlatforms(id).then((res) => {
console.log('resres', res);
if (res.success) {
if (res.result.maxStagesNum) {
const list = options.value.filter((v) => v.value > res.result.maxStagesNum);
......@@ -605,8 +610,26 @@
dialogImageUrl.value = uploadFile.url;
dialogVisible.value = true;
};
const openModal = (detail) => {
const caselist = detail.loans
const openModal = async (detail) => {
let caselistBy = []
const res1 = await listByBorrower(detail?.borrower?.id)
if (res1.success && res1.result) {
caselistBy = res1.result
}
const caselist = detail.loans || []
if (caselist.length !== caselistBy.length) {
caselistBy.forEach(case1 => {
const item = caselist.find(aa => aa.id === case1.id)
if (item) {
item['checked'] = true
} else {
caselist.push(case1)
}
})
}
const selectArr = caselist.filter(v => v.checked)
console.log('selectArr', selectArr)
showModal.value = true;
editFirst.value = false;
currentDetail.value = detail;
......@@ -624,7 +647,7 @@
url: envs.VITE_GLOB_API_URL_PREFIX + '/sys/static/' + v,
}))
: [];
caselist.forEach((item) => {
selectArr.forEach((item) => {
const remainingAmount = Decimal(Number(item.remainingAmount) || 0).sub(
Decimal(Number(item.sumReductionAmount) || 0)
);
......@@ -635,8 +658,8 @@
tabledata.value = caselist;
setTimeout(() => {
if (ProTableRef.value.element) {
ProTableRef.value.element.setAllCheckboxRow(true);
selectdList.value = caselist;
ProTableRef.value.element.setCheckboxRow(selectArr, true);
selectdList.value = selectArr;
// 获取最大分期数
if (selectdList.value.length > 0) {
getPlatforms(selectdList.value[0].loanPlatform.id);
......@@ -664,6 +687,11 @@
const params = {
...currentDetail.value,
...form,
repairTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
repairUser: {
username:userStore.userInfo?.username,
id:userStore.userInfo?.id,
},
images: images.length > 0 ? images : null,
byStagesRecords: splitdata.value,
loans: selectdList.value,
......
......@@ -104,7 +104,8 @@
}).catch(e => {
tabs.value = arr
})
}, 500)
}, (FlowStatus.value && FlowStatus.value.length) ? 100 : 1000)
console.log(JSON.parse(JSON.stringify(FlowStatus.value)))
return obj;
};
const handleClick = () => {
......
......@@ -186,8 +186,12 @@
import Decimal from 'decimal.js';
import { useDict } from '@/hooks/useDict';
import { inject } from 'vue';
import { useUserStore } from '@/stores/modules/user';
const userStore = useUserStore();
const { PhoneResultStatus, RepayStatus, FlowStatus, FollowStatus, AuditStatus, CaseStatus } = useDict("PhoneResultStatus","RepayStatus", "FlowStatus", "FollowStatus","AuditStatus", "CaseStatus");
const envs = getAppEnvConfig();
const username = computed(() => userStore.userInfo?.username);
const url = envs.VITE_GLOB_API_URL_PREFIX + '/sys/upload';
const ProTableRef = ref();
const mypictureRef = ref();
......@@ -565,12 +569,18 @@
const params = {
...currentDetail.value,
...form,
applyTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
applyUser: {
username:userStore.userInfo?.username,
id:userStore.userInfo?.id,
},
images: images.length > 0 ? images : null,
byStagesRecords: splitdata.value,
loans: selectdList.value,
flowStatus: 'pending',
id: null,
};
console.log(params)
savebyStages(params).then((res) => {
if (res.success) {
ElMessage.success({
......
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