yujialong 9 months ago
parent 8558fa84cf
commit 67e6360ace
  1. 70
      src/components/Panel/index.vue
  2. 5
      src/views/product/afterLoan/1029.vue
  3. 7
      src/views/product/afterLoan/1030.vue
  4. 7
      src/views/product/afterLoan/1031.vue
  5. 5
      src/views/product/afterLoan/1032.vue
  6. 5
      src/views/product/afterLoan/1033.vue
  7. 20
      src/views/product/bank/Config.vue
  8. 4
      src/views/product/fund/Add.vue
  9. 7
      src/views/product/interestRate/772.vue
  10. 7
      src/views/product/interestRate/773.vue
  11. 8
      src/views/product/interestRate/935.vue
  12. 7
      src/views/product/interestRate/936.vue
  13. 2
      src/views/product/strategy/152.vue
  14. 6
      src/views/product/strategy/153.vue
  15. 2
      src/views/product/strategy/154.vue
  16. 2
      src/views/product/strategy/155.vue
  17. 2
      src/views/product/strategy/156.vue
  18. 10
      src/views/product/strategy/Credit.vue
  19. 5
      src/views/product/strategy/Risk1.vue
  20. 5
      src/views/product/strategy/Risk2.vue
  21. 5
      src/views/product/strategy/Risk3.vue

@ -52,7 +52,7 @@
<el-button type="primary"
class="submit btn h-[40px]"
:loading="submiting"
@click="submit"
@click="confirmSubmit"
:disabled="isSubmit || !projectList.length">提交</el-button>
</div>
</div>
@ -373,6 +373,19 @@ const reloadCount = () => {
};
//
const counter = (counterTime: number) => {
if (counterTime <= 0) {
if (per.value) {
clearInterval(counterTimer.value);
// /
submit();
ElMessageBox.alert(`${per.value === 1 ? '考核' : '竞赛'}时间已到,系统已自动交卷`, '提示', {
confirmButtonText: '确定',
callback: (action: Action) => {
logout();
},
});
}
} else {
const leave1 = counterTime % (24 * 3600); //
const leave2 = leave1 % 3600; //
const leave3 = leave2 % 60; //
@ -381,6 +394,7 @@ const counter = (counterTime: number) => {
hour.value = timeFormat(Math.floor(leave1 / 3600));
minutes.value = timeFormat(Math.floor(leave2 / 60));
seconds.value = timeFormat(Math.round(leave3));
}
};
//
const startCount = () => {
@ -430,13 +444,13 @@ const getCompetitionStatus = async () => {
const now = await getNow();
//
if (now >= endTime) {
submit();
ElMessageBox.alert(`竞赛时间已到,系统已自动交卷`, '提示', {
confirmButtonText: '确定',
callback: (action: Action) => {
logout();
},
});
submit();
} else {
//
countVal.value = (endTime - now) / 1000;
@ -458,10 +472,6 @@ const delCache = async () => {
const setNewProject = (reloadPage?: number) => {
Cookies.set('sand-projectId', param.projectId);
getProDetail();
setSubmit(false);
countVal.value = 0;
grade.value = '00';
pannelTab.value = 'first';
reload();
getEntryTime();
@ -536,25 +546,19 @@ const reload = async (fromReload?: number) => {
await delCache(); //
Cookies.remove('sand-level');
}
if (!per.value) {
reloadCount();
startCount();
grade.value = '00';
pannelTab.value = 'first';
setSubmit(false);
startCount();
router.push('/');
}
};
//
const submit = async () => {
if (isSubmit.value) return false;
const checkpointId = Cookies.get('sand-level') ?? '';
if (!checkpointId) return ElMessage.error('请选择关卡');
ElMessageBox.confirm('此操作将视为结束考试,是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
closeOnClickModal: false,
})
.then(async () => {
submiting.value = true;
const checkpointId = Cookies.get('sand-level') ?? '';
const date = new Date();
const timeSum = Math.ceil((date.getTime() - entryTime.value.getTime()) / 60000); //
const submitTime = dayjs(date).format('YYYY-MM-DD HH:mm:ss');
@ -605,17 +609,24 @@ const submit = async () => {
//
per.value &&
ElMessageBox.alert(
`提交成功${param.resultsDetails == 0 && param.resultAnnouncementTime != 0 ? ',成绩将在' + param.resultAnnouncementTime + '小时后发布,请去参赛信息模块查看' : ''}`,
'提示',
{
ElMessageBox.alert(`提交成功${param.resultAnnouncementTime != 0 ? ',成绩将在' + param.resultAnnouncementTime + '小时后发布,请去参赛信息模块查看' : ''}`, '提示', {
confirmButtonText: '确定',
callback: (action: Action) => {
logout();
},
},
);
});
};
//
const confirmSubmit = () => {
if (isSubmit.value) return false;
if (!Cookies.get('sand-level')) return ElMessage.error('请选择关卡');
ElMessageBox.confirm('此操作将视为结束考试,是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
closeOnClickModal: false,
})
.then(submit)
.catch(() => {
submiting.value = false;
});
@ -638,6 +649,7 @@ const getProDetail = async () => {
projectName: project.projectName,
},
];
// Cookies.set('sand-projectName', project.projectName);
}
curReq.value = pointsList.map((e) => e.judgmentId); // judgmentIditem
points.value = pointsList;
@ -685,9 +697,9 @@ const getMessage = (msg) => {
console.log(JSON.parse(msg.data));
const { content } = JSON.parse(msg.data);
// 1234-id
if (content == 1) {
if (content == 1 && per.value === 2) {
getCompetitionStatus();
} else if (content.includes('3-')) {
} else if (content.includes('3-') && per.value === 1) {
// 3-id
getAssStatus();
}
@ -728,7 +740,13 @@ const init = async () => {
param.cid && getList();
handleCache();
}
Cookies.set('sand-loaded', 1);
if (!Cookies.get('sand-loaded')) {
Cookies.set('sand-loaded', 1); //
} else if (per.value) {
// /
getProDetail();
}
};
onMounted(init);
</script>

@ -107,8 +107,7 @@ const getConfig = async () => {
process.map((e, i) => {
const cur = info.value.length ? info.value[i] : {};
result.push({
checkpointId: levelId,
projectId,
...getIds(),
recordName: e.name,
recordChildren: e.recordChildren,
ninetyDays: +cur.ninetyDays || '',
@ -126,7 +125,7 @@ const getConfig = async () => {
//
const getDetail = async () => {
try {
const { data } = await fiveLevelClassificationDetails(levelId, projectId);
const { data } = await fiveLevelClassificationDetails();
info.value = data;
getConfig();
} finally {

@ -78,8 +78,6 @@ import type { TableColumnCtx } from 'element-plus';
import { handleId, getIds } from '@/utils/common';
import Cookies from 'js-cookie';
const projectId = +Cookies.get('sand-projectId');
const levelId = +Cookies.get('sand-level');
const form = ref<Record<string, any>[]>([]);
const info = ref<Record<string, any>[]>([]);
//
@ -89,8 +87,7 @@ const getConfig = async () => {
process.map((e, i) => {
const cur = info.value.length ? info.value[i] : {};
let temp = {
checkpointId: levelId,
projectId,
...getIds(),
recordName: e.name,
recordChildren: e.recordChildren,
checkObject: +cur.checkObject || '',
@ -109,7 +106,7 @@ const getConfig = async () => {
//
const getDetail = async () => {
try {
const { data } = await postLoanInspectionDetails(levelId, projectId);
const { data } = await postLoanInspectionDetails();
info.value = data;
getConfig();
} finally {

@ -185,8 +185,6 @@ import type { TableColumnCtx } from 'element-plus';
import { handleId, getIds } from '@/utils/common';
import Cookies from 'js-cookie';
const projectId = +Cookies.get('sand-projectId');
const levelId = +Cookies.get('sand-level');
const form = ref<Record<string, any>[]>([]);
const info = ref<Record<string, any>[]>([]);
//
@ -199,8 +197,7 @@ const getConfig = async () => {
];
process.map((e, i) => {
let temp = {
checkpointId: levelId,
projectId,
...getIds(),
recordName: e.name,
recordChildren: e.recordChildren,
formulaOne: '',
@ -236,7 +233,7 @@ const getConfig = async () => {
//
const getDetail = async () => {
try {
const { data } = await postCreditScoreDetails(levelId, projectId);
const { data } = await postCreditScoreDetails();
info.value = data;
getConfig();
} finally {

@ -65,8 +65,7 @@ const getConfig = async () => {
process.map((e, i) => {
const cur = info.value.length ? info.value[i] : {};
result.push({
checkpointId: levelId,
projectId,
...getIds(),
recordName: e.name,
recordChildren: e.recordChildren,
riskGrade: +cur.riskGrade || '',
@ -81,7 +80,7 @@ const getConfig = async () => {
//
const getDetail = async () => {
try {
const { data } = await postLoanWarningDetails(levelId, projectId);
const { data } = await postLoanWarningDetails();
info.value = data;
getConfig();
} finally {

@ -92,8 +92,7 @@ const getConfig = async () => {
process[0].recordChildren.map((e, i) => {
const cur = info.value.length ? info.value[i] : {};
result.push({
checkpointId: levelId,
projectId,
...getIds(),
recordName: e.name,
recordChildren: e.recordChildren,
appCollection: info.value.length ? !!cur.appCollection : false,
@ -111,7 +110,7 @@ const getConfig = async () => {
//
const getDetail = async () => {
try {
const { data } = await collectionAfterLoanDetails(levelId, projectId);
const { data } = await collectionAfterLoanDetails();
info.value = data;
getConfig();
} finally {

@ -46,10 +46,17 @@
</div>
<template v-if="form.sendingAccountCheck === 801 && config.length">
<p class="tips">选择需要发放的账户至少选一样</p>
<el-radio v-for="(item, i) in config[0]?.recordChildren[1]?.recordChildren[0]?.subject?.itemList"
<!-- <el-radio v-for="(item, i) in config[0]?.recordChildren[1]?.recordChildren[0]?.subject?.itemList"
:key="i"
v-model="form.sendingAccount"
:label="item.itemId">{{ item.options }}</el-radio>
:label="item.itemId">{{ item.options }}</el-radio> -->
<el-checkbox-group v-model="form.sendingAccount">
<el-checkbox v-for="(item, i) in config[0]?.recordChildren[1]?.recordChildren[0]?.subject?.itemList"
:key="i"
:label="item.itemId">{{ item.options }}</el-checkbox>
</el-checkbox-group>
</template>
</div>
</el-form-item>
@ -627,7 +634,7 @@ interface RuleForm {
selectionStrategyCheck?: number;
selectionStrategy: any;
sendingAccountCheck?: number;
sendingAccount: any;
sendingAccount: number[];
supplementaryMaterialsCheck?: number;
supplementaryMaterials: any;
}
@ -703,7 +710,7 @@ const form = reactive<RuleForm>({
selectionStrategyCheck: '',
selectionStrategy: [],
sendingAccountCheck: '',
sendingAccount: '',
sendingAccount: [],
supplementaryMaterialsCheck: '',
supplementaryMaterials: [],
});
@ -759,7 +766,7 @@ const submit = async (formEl: FormInstance | undefined) => {
const param = JSON.parse(JSON.stringify(form));
if (param.accountMaterialsCheck === 797 && !param.accountMaterials.length) return ElMessage.error('请选择需要提供的申请人材料');
if (param.sendingAccountCheck === 801 && !param.sendingAccount) return ElMessage.error('请选择需要发放的账户');
if (param.sendingAccountCheck === 801 && !param.sendingAccount.length) return ElMessage.error('请选择需要发放的账户');
if (!param.loanApplicationMethod.length) return ElMessage.error('请选择申请方式');
if (param.borrowerMaterialCheck === 797 && !param.borrowerMaterial.length) return ElMessage.error('请选择借款人材料');
@ -787,7 +794,7 @@ const submit = async (formEl: FormInstance | undefined) => {
param.accessStrategy = param.accessStrategyCheck === 803 ? param.accessStrategy.join() : '';
param.borrowerMaterial = param.borrowerMaterial.join();
param.accountMaterials = param.accountMaterialsCheck === 797 ? param.accountMaterials.join() : '';
if (param.sendingAccountCheck === 802) param.sendingAccount = '';
param.sendingAccount = param.sendingAccountCheck === 801 ? param.sendingAccount.join() : '';
//
param.collateral = param.collateralCheck === 797 ? param.collateral.join() : '';
param.enterpriseMaterial = param.enterpriseMaterialCheck === 797 ? param.enterpriseMaterial.join() : '';
@ -811,7 +818,6 @@ const submit = async (formEl: FormInstance | undefined) => {
param.runBatchObject = param.runBatchObjectCheck === 803 ? param.runBatchObject.join() : '';
param.selectionStrategy = param.selectionStrategyCheck === 803 ? param.selectionStrategy.join() : '';
param.supplementaryMaterials = param.supplementaryMaterialsCheck === 797 ? param.supplementaryMaterials.join() : '';
if (param.contractMaterialsCheck !== 797) param.contractMaterials = '';
if (info.value.riskControlDetails) {
param.id = info.value.riskControlDetails.id;

@ -210,8 +210,8 @@
<div class="mt-5 text-xs text-[#7a7a7a]">
<p>运作费计算</p>
<p class="my-2">管理费 = 前一日的基金资产净值 x 管理费率/ 365</p>
<p>托管费 = 前一日的基金资产净值 x 费率/ 365</p>
<p class="mt-2">销售服务费 = 前一日的基金资产净值 x 管理费率/ 365</p>
<p>托管费 = 前一日的基金资产净值 x 管费率/ 365</p>
<p class="mt-2">销售服务费 = 前一日的基金资产净值 x 销售服务费率/ 365</p>
</div>
<!-- 赎回费率 -->

@ -95,12 +95,9 @@ import Cookies from 'js-cookie';
const router = useRouter();
const route = useRoute();
const projectId = +Cookies.get('sand-projectId');
const levelId = +Cookies.get('sand-level');
let loading = null;
const form = ref<Record<string, any>>({
projectId,
checkpointId: levelId,
...getIds(),
andThird: '',
firstMode: '',
secondMode: '',
@ -175,7 +172,7 @@ const getConfig = async () => {
const getDetail = async (load?: number) => {
if (load) loading = ElLoading.service();
try {
const { data } = await personalCreditModelDetails(levelId, projectId);
const { data } = await personalCreditModelDetails();
if (data) {
form.value = data;
info.value = data.individualCreditModels;

@ -95,12 +95,9 @@ import Cookies from 'js-cookie';
const router = useRouter();
const route = useRoute();
const projectId = +Cookies.get('sand-projectId');
const levelId = +Cookies.get('sand-level');
let loading = null;
const form = ref<Record<string, any>>({
projectId,
checkpointId: levelId,
...getIds(),
andFirst: '',
andSecond: '',
andThird: '',
@ -123,7 +120,7 @@ const getConfig = async () => {
const getDetail = async (load?: number) => {
if (load) loading = ElLoading.service();
try {
const { data } = await businessQuotaModelDetails(levelId, projectId);
const { data } = await businessQuotaModelDetails();
if (data) {
form.value = data;
}

@ -20,7 +20,6 @@
<el-table-column label="描述"
min-width="150">
<template #default="{ row, $index }">
{{ $index }},
<span>{{ $index === 11 ? '=起始浮动比例+增减分值 且 不超过最高浮动比例' : row?.description }}</span>
</template>
</el-table-column>
@ -99,12 +98,9 @@ import Cookies from 'js-cookie';
const router = useRouter();
const route = useRoute();
const projectId = +Cookies.get('sand-projectId');
const levelId = +Cookies.get('sand-level');
let loading = null;
const form = ref<Record<string, any>>({
projectId,
checkpointId: levelId,
...getIds(),
finalFloatingRatioEqual: '',
finalFloatingRatioGreater: '',
finalFloatingRatioLess: '',
@ -159,7 +155,7 @@ const getConfig = async () => {
const getDetail = async (load?: number) => {
if (load) loading = ElLoading.service();
try {
const { data } = await personalInterestRateDetails(levelId, projectId);
const { data } = await personalInterestRateDetails();
if (data) {
form.value = data;
info.value = data.individualInterestRateModels;

@ -107,12 +107,9 @@ import Cookies from 'js-cookie';
const router = useRouter();
const route = useRoute();
const projectId = +Cookies.get('sand-projectId');
const levelId = +Cookies.get('sand-level');
let loading = null;
const form = ref<Record<string, any>>({
projectId,
checkpointId: levelId,
...getIds(),
finalFloatingRatioEqual: '',
finalFloatingRatioGreater: '',
finalFloatingRatioLess: '',
@ -206,7 +203,7 @@ const getConfig = async () => {
const getDetail = async (load?: number) => {
if (load) loading = ElLoading.service();
try {
const { data } = await businessInterestRateDetails(levelId, projectId);
const { data } = await businessInterestRateDetails();
if (data) {
form.value = data;
info.value = data.corporateInterestRateModelIndicators;

@ -176,8 +176,6 @@ import Cookies from 'js-cookie';
const router = useRouter();
const route = useRoute();
const projectId = +Cookies.get('sand-projectId');
const levelId = +Cookies.get('sand-level');
const form = ref<Record<string, any>[]>([]);
const info = ref<Record<string, any>[]>([]);
const spanRows = [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27];

@ -146,8 +146,6 @@ import { handleId, getNum, getChinese, getIds } from '@/utils/common';
import Cookies from 'js-cookie';
const route = useRoute();
const projectId = +Cookies.get('sand-projectId');
const levelId = +Cookies.get('sand-level');
const form = ref<Record<string, any>[]>([]);
const info = ref<Record<string, any>[]>([]);
const nums: Array<number> = [1, 3, 5, 10, 20, 30, 40];
@ -184,6 +182,10 @@ const getConfig = async () => {
};
result.push(temp);
});
result.push({
name: '正常',
remark: '不存在未结清情况',
});
form.value = result;
};
//

@ -290,8 +290,6 @@ import Cookies from 'js-cookie';
const router = useRouter();
const route = useRoute();
const projectId = +Cookies.get('sand-projectId');
const levelId = +Cookies.get('sand-level');
const form = ref<Record<string, any>[]>([]);
const info = ref<Record<string, any>[]>([]);
const symbols: Array<string> = ['>=', '<', '>', '==', '<='];

@ -139,8 +139,6 @@ import Cookies from 'js-cookie';
const router = useRouter();
const route = useRoute();
const projectId = +Cookies.get('sand-projectId');
const levelId = +Cookies.get('sand-level');
const form = ref<Record<string, any>[]>([]);
const info = ref<Record<string, any>[]>([]);
const symbols: Array<string> = ['>=', '<', '>', '==', '<='];

@ -80,8 +80,6 @@ import Cookies from 'js-cookie';
const router = useRouter();
const route = useRoute();
const projectId = +Cookies.get('sand-projectId');
const levelId = +Cookies.get('sand-level');
const form = ref<Record<string, any>[]>([]);
const info = ref<Record<string, any>[]>([]);
//

@ -185,8 +185,6 @@ const emit = defineEmits(['getList']);
const router = useRouter();
const route = useRoute();
const id = computed(() => +route.query.creditId);
const projectId = +Cookies.get('sand-projectId');
const levelId = +Cookies.get('sand-level');
let loading = null;
const list = ref<Record<string, any>[]>([]);
const list1 = ref<Record<string, any>[]>([]);
@ -202,8 +200,7 @@ const scoringObjects = ref<Array<any>>([
},
]);
const form = reactive({
checkpointId: levelId,
projectId,
...getIds(),
description: '',
scoreCardName: '',
scoringObject: 0,
@ -627,9 +624,7 @@ const getDetail = async (load?: number) => {
const info = res.scoringStrategy;
if (info) {
detail.value = info.dimensionOfTheRatingTableList;
form.checkpointId = info.checkpointId;
form.description = info.description;
form.projectId = info.projectId;
form.scoreCardName = info.scoreCardName;
form.scoringObject = info.scoringObject;
}
@ -639,9 +634,7 @@ const getDetail = async (load?: number) => {
} else {
getConfig();
detail.value = [];
form.checkpointId = levelId;
form.description = '';
form.projectId = projectId;
form.scoreCardName = '';
form.scoringObject = 0;
}
@ -850,6 +843,7 @@ const submit = async () => {
// debugger;
const res = await saveCredit({
...form,
...getIds(),
dimensionOfTheRatingTableList: param,
});
addRecord();

@ -64,8 +64,6 @@ import Cookies from 'js-cookie';
const router = useRouter();
const route = useRoute();
const projectId = +Cookies.get('sand-projectId');
const levelId = +Cookies.get('sand-level');
let loading = null;
const form = ref<Record<string, any>[]>([]);
const info = ref<Record<string, any>[]>([]);
@ -77,8 +75,7 @@ const getConfig = async () => {
e.recordChildren[0]?.recordChildren?.forEach((n, j) => {
const cur = info.value.length ? info.value[i ? 10 + j : j] : {};
result.push({
checkpointId: levelId,
projectId,
...getIds(),
coefficient: cur?.coefficient || '',
id: cur?.id || '',
answerId: n.id,

@ -48,8 +48,6 @@ import Cookies from 'js-cookie';
const router = useRouter();
const route = useRoute();
const projectId = +Cookies.get('sand-projectId');
const levelId = +Cookies.get('sand-level');
let loading = null;
const form = ref<Record<string, any>[]>([]);
const info = ref<Record<string, any>[]>([]);
@ -60,8 +58,7 @@ const getConfig = async () => {
process[0]?.recordChildren?.forEach((e, i) => {
const cur = {};
let temp = {
checkpointId: levelId,
projectId,
...getIds(),
coefficient: cur?.coefficient || '',
id: cur?.id || '',
recordName: e.name,

@ -48,8 +48,6 @@ import Cookies from 'js-cookie';
const router = useRouter();
const route = useRoute();
const projectId = +Cookies.get('sand-projectId');
const levelId = +Cookies.get('sand-level');
let loading = null;
const form = ref<Record<string, any>[]>([]);
const info = ref<Record<string, any>[]>([]);
@ -60,8 +58,7 @@ const getConfig = async () => {
process[0]?.recordChildren?.forEach((e, i) => {
const cur = {};
let temp = {
checkpointId: levelId,
projectId,
...getIds(),
coefficient: cur?.coefficient || '',
id: cur?.id || '',
recordName: e.name,

Loading…
Cancel
Save