配置风控里添加新增策略的入口

master
yujialong 7 months ago
parent e7b21ece0b
commit a16f29184b
  1. 1
      src/api/system.ts
  2. 31
      src/api/user.ts
  3. 12
      src/components/Panel/index.vue
  4. 1
      src/utils/auth.ts
  5. 3
      src/utils/request.ts
  6. 4
      src/views/Home.vue
  7. 21
      src/views/product/afterLoan/1029/Index.vue
  8. 21
      src/views/product/afterLoan/1030/Index.vue
  9. 21
      src/views/product/afterLoan/1031/Index.vue
  10. 21
      src/views/product/afterLoan/1032/Index.vue
  11. 21
      src/views/product/afterLoan/1033/Index.vue
  12. 144
      src/views/product/bank/Config.vue
  13. 21
      src/views/product/interestRate/772/Index.vue
  14. 21
      src/views/product/interestRate/935/Index.vue
  15. 21
      src/views/product/interestRate/936/Index.vue
  16. 17
      src/views/product/strategy/150/Index.vue
  17. 21
      src/views/product/strategy/151/Index.vue
  18. 21
      src/views/product/strategy/152/Index.vue
  19. 21
      src/views/product/strategy/153/Index.vue
  20. 21
      src/views/product/strategy/154/Index.vue
  21. 21
      src/views/product/strategy/155/Index.vue
  22. 21
      src/views/product/strategy/156/Index.vue
  23. 21
      src/views/product/strategy/512/Index.vue
  24. 21
      src/views/product/strategy/513/Index.vue

@ -17,3 +17,4 @@ export const editExperimentalData = async (data: Record<string, any>): Promise<a
export const getStartTime = async (params: Record<string, any>): Promise<any> => (await axios.get('/python/python/getStartTime', { params })).data;
export const getCurrentTime = async (): Promise<any> => (await axios.get('/competition/competition/management/getCurrentTime')).data;
export const heartbeatDetection = async (): Promise<any> => (await axios.get('/nakadai/message/heartbeatDetection')).data;
export const initData = async (data: Record<string, any>): Promise<any> => (await axios.post(`/product/product/bank/operation/initData`, data)).data;

@ -1,31 +0,0 @@
import axios from '@/utils/request';
export const queryOrgList = async (params?: Record<string, any>): Promise<any> => (await axios.get('/backend/core/org', { params })).data;
export const queryOrg = async (id: number): Promise<any> => (await axios.get(`/backend/core/org/${id}`)).data;
export const createOrg = async (data: Record<string, any>): Promise<any> => (await axios.post('/backend/core/org', data)).data;
export const updateOrg = async (data: Record<string, any>): Promise<any> => (await axios.post('/backend/core/org?_method=put', data)).data;
export const updateOrgOrder = async (data: number[]): Promise<any> => (await axios.post('/backend/core/org/order?_method=put', data)).data;
export const deleteOrg = async (data: number[]): Promise<any> => (await axios.post('/backend/core/org?_method=delete', data)).data;
export const queryRoleList = async (params?: Record<string, any>): Promise<any> => (await axios.get('/backend/core/role', { params })).data;
export const queryRole = async (id: number): Promise<any> => (await axios.get(`/backend/core/role/${id}`)).data;
export const createRole = async (data: Record<string, any>): Promise<any> => (await axios.post('/backend/core/role', data)).data;
export const updateRole = async (data: Record<string, any>): Promise<any> => (await axios.post('/backend/core/role?_method=put', data)).data;
export const updateRoleOrder = async (data: number[]): Promise<any> => (await axios.post('/backend/core/role/order?_method=put', data)).data;
export const deleteRole = async (data: number[]): Promise<any> => (await axios.post('/backend/core/role?_method=delete', data)).data;
export const queryGroupList = async (params?: Record<string, any>): Promise<any> => (await axios.get('/backend/core/group', { params })).data;
export const queryGroup = async (id: number): Promise<any> => (await axios.get(`/backend/core/group/${id}`)).data;
export const createGroup = async (data: Record<string, any>): Promise<any> => (await axios.post('/backend/core/group', data)).data;
export const updateGroup = async (data: Record<string, any>): Promise<any> => (await axios.post('/backend/core/group?_method=put', data)).data;
export const updateGroupOrder = async (data: number[]): Promise<any> => (await axios.post('/backend/core/group/order?_method=put', data)).data;
export const deleteGroup = async (data: number[]): Promise<any> => (await axios.post('/backend/core/group?_method=delete', data)).data;
export const queryUserPage = async (params?: Record<string, any>): Promise<any> => (await axios.get('/backend/core/user', { params })).data;
export const queryUser = async (id: number): Promise<any> => (await axios.get(`/backend/core/user/${id}`)).data;
export const createUser = async (data: Record<string, any>): Promise<any> => (await axios.post('/backend/core/user', data)).data;
export const updateUser = async (data: Record<string, any>): Promise<any> => (await axios.post('/backend/core/user?_method=put', data)).data;
export const deleteUser = async (data: number[]): Promise<any> => (await axios.post('/backend/core/user?_method=delete', data)).data;
export const usernameValidation = async (username?: string): Promise<any> => (await axios.get('/backend/core/user/username-validation', { params: { username } })).data;
export const emailValidation = async (email?: string): Promise<any> => (await axios.get('/backend/core/user/email-validation', { params: { email } })).data;
export const mobileValidation = async (mobile?: string): Promise<any> => (await axios.get('/backend/core/user/mobile-validation', { params: { mobile } })).data;

@ -224,7 +224,7 @@
import { ref, reactive, onMounted, inject, computed, watch, onUnmounted } from 'vue';
import { submitOpe } from '@/api/bank';
import { getSandTableLastCache, deleteOperationData } from '@/api/judgment';
import { getProjectBySystemId, getProjectDetail, getDetailById, getCompetition, getStartTime, heartbeatDetection } from '@/api/system';
import { getProjectBySystemId, getProjectDetail, getDetailById, getCompetition, getStartTime, heartbeatDetection, initData } from '@/api/system';
import Settings from '@/settings';
import { useRouter, useRoute, beforeRouteLeave } from 'vue-router';
import type { Action } from 'element-plus';
@ -493,8 +493,18 @@ let setNewProject = (reloadPage?: number) => {
}
}
};
//
const initBuiltInData = async () => {
await initData({
assessmentId: param.assessmentId,
cid: param.cid,
competitionId: param.competitionId,
projectId: param.projectId,
});
};
//
let getCache = async (reloadPage?: number) => {
initBuiltInData();
//
const res = await getSandTableLastCache({
cid: param.cid,

@ -24,6 +24,7 @@ export const removeParam = (): void => {
Cookies.remove('sand-systemId');
Cookies.remove('sand-level');
Cookies.remove('sand-submit');
Cookies.remove('sand-loaded');
};
export const getAuthHeaders = (): any => {

@ -23,7 +23,8 @@ service.interceptors.response.use(
if (status === 200) {
return res;
}
message === '无缓存' || ElMessage.error(message);
ElMessage.error(message);
} else {
return res;
}

@ -129,9 +129,7 @@ const move = (dir: string) => {
if (dir === 'up' || dir === 'down') param.top = el.scrollTop + (dir === 'up' ? -150 : 150);
el.scrollTo(param);
};
onMounted(() => {
getLevel();
});
onMounted(getLevel);
</script>
<style lang="scss" scoped>

@ -93,7 +93,7 @@
<script setup lang="ts">
import { onMounted, ref, watch, defineAsyncComponent } from 'vue';
import { ElMessage } from 'element-plus';
import { ElMessage, ElMessageBox } from 'element-plus';
import { Delete } from '@element-plus/icons-vue';
import { pageSizes, pageLayout } from '@/utils/common';
import { fiveLevelClassification, fiveLevelClassificationDel } from '@/api/model';
@ -147,6 +147,20 @@ const handleDisable = (row: Record<string, any>) => {
const handleSelectionChange = (val: Record<string, any>[]) => {
multipleSelection.value = val;
};
const handleDelete = async (ids: number[]) => {
try {
const res = await fiveLevelClassificationDel({ ids });
//
if (res.tip) {
ElMessageBox.alert(res.message, '提示', {
confirmButtonText: '确定',
});
} else {
getList();
ElMessage.success('删除成功!');
}
} catch (e) {}
};
//
const delAll = async () => {
handleDelete(multipleSelection.value.map((e) => e.strategyId));
@ -173,9 +187,4 @@ const closeDrawer = (refresh?: number) => {
visible.value = false;
refresh && initList();
};
const handleDelete = async (ids: number[]) => {
await fiveLevelClassificationDel({ ids });
getList();
ElMessage.success('删除成功!');
};
</script>

@ -93,7 +93,7 @@
<script setup lang="ts">
import { onMounted, ref, watch, defineAsyncComponent } from 'vue';
import { ElMessage } from 'element-plus';
import { ElMessage, ElMessageBox } from 'element-plus';
import { Delete } from '@element-plus/icons-vue';
import { pageSizes, pageLayout } from '@/utils/common';
import { postLoanInspection, postLoanInspectionDel } from '@/api/model';
@ -147,6 +147,20 @@ const handleDisable = (row: Record<string, any>) => {
const handleSelectionChange = (val: Record<string, any>[]) => {
multipleSelection.value = val;
};
const handleDelete = async (ids: number[]) => {
try {
const res = await postLoanInspectionDel({ ids });
//
if (res.tip) {
ElMessageBox.alert(res.message, '提示', {
confirmButtonText: '确定',
});
} else {
getList();
ElMessage.success('删除成功!');
}
} catch (e) {}
};
//
const delAll = async () => {
handleDelete(multipleSelection.value.map((e) => e.strategyId));
@ -173,9 +187,4 @@ const closeDrawer = (refresh?: number) => {
visible.value = false;
refresh && initList();
};
const handleDelete = async (ids: number[]) => {
await postLoanInspectionDel({ ids });
getList();
ElMessage.success('删除成功!');
};
</script>

@ -93,7 +93,7 @@
<script setup lang="ts">
import { onMounted, ref, watch, defineAsyncComponent } from 'vue';
import { ElMessage } from 'element-plus';
import { ElMessage, ElMessageBox } from 'element-plus';
import { Delete } from '@element-plus/icons-vue';
import { pageSizes, pageLayout } from '@/utils/common';
import { postCreditScore, postCreditScoreDel } from '@/api/model';
@ -147,6 +147,20 @@ const handleDisable = (row: Record<string, any>) => {
const handleSelectionChange = (val: Record<string, any>[]) => {
multipleSelection.value = val;
};
const handleDelete = async (ids: number[]) => {
try {
const res = await postCreditScoreDel({ ids });
//
if (res.tip) {
ElMessageBox.alert(res.message, '提示', {
confirmButtonText: '确定',
});
} else {
getList();
ElMessage.success('删除成功!');
}
} catch (e) {}
};
//
const delAll = async () => {
handleDelete(multipleSelection.value.map((e) => e.strategyId));
@ -173,9 +187,4 @@ const closeDrawer = (refresh?: number) => {
visible.value = false;
refresh && initList();
};
const handleDelete = async (ids: number[]) => {
await postCreditScoreDel({ ids });
getList();
ElMessage.success('删除成功!');
};
</script>

@ -93,7 +93,7 @@
<script setup lang="ts">
import { onMounted, ref, watch, defineAsyncComponent } from 'vue';
import { ElMessage } from 'element-plus';
import { ElMessage, ElMessageBox } from 'element-plus';
import { Delete } from '@element-plus/icons-vue';
import { pageSizes, pageLayout } from '@/utils/common';
import { postLoanWarning, postLoanWarningDel } from '@/api/model';
@ -146,6 +146,20 @@ const handleDisable = (row: Record<string, any>) => {
const handleSelectionChange = (val: Record<string, any>[]) => {
multipleSelection.value = val;
};
const handleDelete = async (ids: number[]) => {
try {
const res = await postLoanWarningDel({ ids });
//
if (res.tip) {
ElMessageBox.alert(res.message, '提示', {
confirmButtonText: '确定',
});
} else {
getList();
ElMessage.success('删除成功!');
}
} catch (e) {}
};
//
const delAll = async () => {
handleDelete(multipleSelection.value.map((e) => e.strategyId));
@ -172,9 +186,4 @@ const closeDrawer = (refresh?: number) => {
visible.value = false;
refresh && initList();
};
const handleDelete = async (ids: number[]) => {
await postLoanWarningDel({ ids });
getList();
ElMessage.success('删除成功!');
};
</script>

@ -93,7 +93,7 @@
<script setup lang="ts">
import { onMounted, ref, watch, defineAsyncComponent } from 'vue';
import { ElMessage } from 'element-plus';
import { ElMessage, ElMessageBox } from 'element-plus';
import { Delete } from '@element-plus/icons-vue';
import { pageSizes, pageLayout } from '@/utils/common';
import { collectionAfterLoan, collectionAfterLoanDel } from '@/api/model';
@ -146,6 +146,20 @@ const handleDisable = (row: Record<string, any>) => {
const handleSelectionChange = (val: Record<string, any>[]) => {
multipleSelection.value = val;
};
const handleDelete = async (ids: number[]) => {
try {
const res = await collectionAfterLoanDel({ ids });
//
if (res.tip) {
ElMessageBox.alert(res.message, '提示', {
confirmButtonText: '确定',
});
} else {
getList();
ElMessage.success('删除成功!');
}
} catch (e) {}
};
//
const delAll = async () => {
handleDelete(multipleSelection.value.map((e) => e.strategyId));
@ -172,9 +186,4 @@ const closeDrawer = (refresh?: number) => {
visible.value = false;
refresh && initList();
};
const handleDelete = async (ids: number[]) => {
await collectionAfterLoanDel({ ids });
getList();
ElMessage.success('删除成功!');
};
</script>

@ -250,13 +250,13 @@
:key="i"
:label="option.strategyName"
:value="option.strategyId" />
<!-- <template #footer>
<el-button text
bg
size="small">
Add an option
<template #footer>
<el-button type="primary"
size="small"
@click="addStratety(i)">
新增策略
</el-button>
</template> -->
</template>
</el-select>
<img v-if="form.bankRiskControlAllocationTacticsList[i].tacticsId"
@ -289,11 +289,19 @@
<template v-if="form.creditScoringStrategyList[i].tacticsSelectedStatus === 803 && item.blackList">
<el-select class="ml-5 mr-3"
v-model="form.creditScoringStrategyList[i].tacticsId"
placeholder="请选择">
<el-option v-for="item in item?.blackList"
:key="item"
:label="item.scoreCardName"
:value="item.id" />
placeholder="请选择"
clearable>
<el-option v-for="(option, j) in item?.blackList"
:key="j"
:label="option.scoreCardName"
:value="option.id" />
<template #footer>
<el-button type="primary"
size="small"
@click="addStratety(i + 7)">
新增策略
</el-button>
</template>
</el-select>
<img v-if="form.creditScoringStrategyList[i].tacticsId"
@ -345,15 +353,28 @@
</el-radio-group>
<template v-if="form.interestRatePricingModelList[i].tacticsSelectedStatus === 803 && item.blackList">
<el-select v-if="form.interestRatePricingModelList[i].tacticsSelectedStatus === 803"
class="ml-5 mr-3"
<el-select class="ml-5 mr-3"
v-model="form.interestRatePricingModelList[i].tacticsId"
placeholder="请选择">
<el-option v-for="item in item?.blackList"
:key="item.itemId"
:label="item.modelName"
:value="item.id" />
placeholder="请选择"
clearable>
<el-option v-for="(option, j) in item?.blackList"
:key="j"
:label="option.modelName"
:value="option.id" />
<template #footer>
<el-button type="primary"
size="small"
@click="addStratety(i + 9)">
新增策略
</el-button>
</template>
</el-select>
<img v-if="form.interestRatePricingModelList[i].tacticsId"
src="@/assets/svgs/preview.svg"
alt=""
class="cursor-pointer"
@click="previewRate(item, i)">
</template>
</div>
@ -375,7 +396,7 @@
</el-checkbox-group>
</div>
<div class="radio-wrap items-start mb-3">
<div class="radio-wrap mb-3">
<span class="label">企业利率模型</span>
<el-radio-group v-model="form.interestRatePricingModelList[2].tacticsSelectedStatus"
@change="getRate(2)">
@ -383,15 +404,30 @@
:key="j"
:label="option.itemId">{{ option.options }}</el-radio>
</el-radio-group>
<el-select v-if="form.interestRatePricingModelList[2].tacticsSelectedStatus === 803 && form.interestRatePricingModelList[2].blackList"
class="ml-5"
v-model="form.interestRatePricingModelList[2].tacticsId"
placeholder="请选择">
<el-option v-for="item in form.interestRatePricingModelList[2].blackList"
:key="item.itemId"
:label="item.modelName"
:value="item.id" />
</el-select>
<template v-if="form.interestRatePricingModelList[2].tacticsSelectedStatus === 803 && form.interestRatePricingModelList[2].blackList">
<el-select class="ml-5 mr-3"
v-model="form.interestRatePricingModelList[2].tacticsId"
placeholder="请选择">
<el-option v-for="item in form.interestRatePricingModelList[2].blackList"
:key="item.itemId"
:label="item.modelName"
:value="item.id" />
<template #footer>
<el-button type="primary"
size="small"
@click="addStratety(11)">
新增策略
</el-button>
</template>
</el-select>
<img v-if="form.interestRatePricingModelList[2].tacticsId"
src="@/assets/svgs/preview.svg"
alt=""
class="cursor-pointer"
@click="previewRate(form.interestRatePricingModelList[2], 2)">
</template>
</div>
</div>
</el-form-item>
@ -590,10 +626,17 @@
class="ml-5 mr-3"
v-model="form.postLoanSelectionStrategyList[i].tacticsId"
placeholder="请选择">
<el-option v-for="item in item.blackList"
:key="item.itemId"
:label="item.strategyName"
:value="item.strategyId" />
<el-option v-for="(option, j) in item.blackList"
:key="j"
:label="option.strategyName"
:value="option.strategyId" />
<template #footer>
<el-button type="primary"
size="small"
@click="addStratety(i + 12)">
新增策略
</el-button>
</template>
</el-select>
<img v-if="form.postLoanSelectionStrategyList[i].tacticsId"
@ -637,7 +680,7 @@
<script setup lang="ts">
import { ref, reactive, computed, watch, defineAsyncComponent, markRaw } from 'vue';
import { ElMessage } from 'element-plus';
import { ElMessage, ElMessageBox } from 'element-plus';
import type { FormInstance } from 'element-plus';
import { findById, riskSave, riskUpdate, riskControlDetailsAreDisplayed } from '@/api/bank';
import { getProcessInformationBasedOnRoles, addOperation } from '@/api/judgment';
@ -669,7 +712,6 @@ interface RuleForm {
provideMaterialSelectedStatus?: number;
accountMaterials?: number[];
approvalSignature?: number;
bankProductsId?: number;
borrowerMaterialSelectedStatus?: number;
borrowerMaterial?: number[];
businessMaterialsSelectedStatus?: number;
@ -749,7 +791,6 @@ let form = reactive<RuleForm>({
provideMaterialSelectedStatus: '',
accountMaterials: [],
approvalSignature: '',
bankProductsId: computed(() => +route.query.id),
borrowerMaterialSelectedStatus: '',
borrowerMaterial: [],
businessMaterialsSelectedStatus: '',
@ -796,6 +837,7 @@ let form = reactive<RuleForm>({
const curPreviewTitle = ref<string>();
const assessNames = ['政务黑名单', '征信黑名单', '商采黑名单', '行内黑名单', '企业黑名单', '反欺诈策略', '负面行业黑名单策略'];
const interestNames = ['个人利率模型', '个人额度模型', '企业利率模型'];
const afterNames = ['五级分类策略', '贷后检查策略', '贷后评分卡', '贷后预警策略', '贷后催收策略'];
const asyncComponents = {
150: defineAsyncComponent(() => import('../strategy/150/Detail.vue')),
@ -807,6 +849,9 @@ const asyncComponents = {
156: defineAsyncComponent(() => import('../strategy/156/Detail.vue')),
512: defineAsyncComponent(() => import('../strategy/512/Detail.vue')),
513: defineAsyncComponent(() => import('../strategy/513/Detail.vue')),
935: defineAsyncComponent(() => import('../interestRate/935/Detail.vue')),
772: defineAsyncComponent(() => import('../interestRate/772/Detail.vue')),
936: defineAsyncComponent(() => import('../interestRate/936/Detail.vue')),
1029: defineAsyncComponent(() => import('../afterLoan/1029/Detail.vue')),
1030: defineAsyncComponent(() => import('../afterLoan/1030/Detail.vue')),
1031: defineAsyncComponent(() => import('../afterLoan/1031/Detail.vue')),
@ -1411,6 +1456,7 @@ const submit = async (formEl: FormInstance | undefined) => {
param.supplementaryMaterials = param.supplementMaterialSelectedStatus === 797 ? param.supplementaryMaterials.join() : '';
if (param.contractSupplyMaterialsSelectedStatus !== 797) param.contractMaterials = '';
param.bankProductsId = id.value;
if (info.value.riskControlDetails) {
param.id = info.value.riskControlDetails.id;
@ -1430,6 +1476,21 @@ const submit = async (formEl: FormInstance | undefined) => {
}
});
};
//
const addStratety = (i: number) => {
ElMessageBox.confirm('<p class="text-danger whitespace-nowrap">即将跳转到可以新增策略的界面,当前界面数据会清空。</p><p>确定离开当前界面?</p>', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
closeOnClickModal: false,
dangerouslyUseHTMLString: true,
})
.then(() => {
const path = i < 9 ? `/product/strategy?i=2&role=42&id=` : i < 12 ? `/product/interestRate?i=3&role=42&id=` : `/product/afterLoan?i=4&role=42&id=`;
router.push(path + (i === 9 ? 935 : i === 10 ? 772 : i === 11 ? 936 : Object.keys(asyncComponents)[i]));
})
.catch(() => {});
};
//
const preview = async (row: Record<string, any>, i: number) => {
const { tacticsId } = form.bankRiskControlAllocationTacticsList[i];
@ -1451,6 +1512,17 @@ const previewCredits = async (row: Record<string, any>, i: number) => {
curPreviewTitle.value = `查看${i ? '企业' : '个人'}信用评分策略`;
visible.value = true;
};
//
const previewRate = async (row: Record<string, any>, i: number) => {
const { tacticsId } = form.interestRatePricingModelList[i];
curRow.value = {
id: tacticsId,
modelName: row.blackList.find((e) => e.id === tacticsId)?.modelName,
};
await loadComponent(i === 2 ? '936' : i ? '772' : '935');
curPreviewTitle.value = `查看${interestNames[i]}`;
visible.value = true;
};
//
const previewAfter = async (row: Record<string, any>, i: number) => {
const { tacticsId } = form.postLoanSelectionStrategyList[i];
@ -1458,7 +1530,7 @@ const previewAfter = async (row: Record<string, any>, i: number) => {
strategyId: tacticsId,
strategyName: row.blackList.find((e) => e.strategyId === tacticsId)?.strategyName,
};
await loadComponent(Object.keys(asyncComponents)[i + 9]);
await loadComponent(Object.keys(asyncComponents)[i + 12]);
curPreviewTitle.value = `查看${afterNames[i]}策略`;
visible.value = true;
};

@ -93,7 +93,7 @@
<script setup lang="ts">
import { onMounted, ref, watch, defineAsyncComponent } from 'vue';
import { ElMessage } from 'element-plus';
import { ElMessage, ElMessageBox } from 'element-plus';
import { Delete } from '@element-plus/icons-vue';
import { pageSizes, pageLayout } from '@/utils/common';
import { quotaModelList, quotaModelDel } from '@/api/model';
@ -147,6 +147,20 @@ const handleDisable = (row: Record<string, any>) => {
const handleSelectionChange = (val: Record<string, any>[]) => {
multipleSelection.value = val;
};
const handleDelete = async (ids: number[]) => {
try {
const res = await quotaModelDel({ ids });
//
if (res.tip) {
ElMessageBox.alert(res.message, '提示', {
confirmButtonText: '确定',
});
} else {
getList();
ElMessage.success('删除成功!');
}
} catch (e) {}
};
//
const delAll = async () => {
handleDelete(multipleSelection.value.map((e) => e.id));
@ -173,9 +187,4 @@ const closeDrawer = (refresh?: number) => {
visible.value = false;
refresh && initList();
};
const handleDelete = async (ids: number[]) => {
await quotaModelDel({ ids });
getList();
ElMessage.success('删除成功!');
};
</script>

@ -93,7 +93,7 @@
<script setup lang="ts">
import { onMounted, ref, watch, defineAsyncComponent } from 'vue';
import { ElMessage } from 'element-plus';
import { ElMessage, ElMessageBox } from 'element-plus';
import { Delete } from '@element-plus/icons-vue';
import { pageSizes, pageLayout } from '@/utils/common';
import { interestRateModelList, deletePersonalInterestRate } from '@/api/model';
@ -146,6 +146,20 @@ const handleDisable = (row: Record<string, any>) => {
const handleSelectionChange = (val: Record<string, any>[]) => {
multipleSelection.value = val;
};
const handleDelete = async (ids: number[]) => {
try {
const res = await deletePersonalInterestRate({ ids });
//
if (res.tip) {
ElMessageBox.alert(res.message, '提示', {
confirmButtonText: '确定',
});
} else {
getList();
ElMessage.success('删除成功!');
}
} catch (e) {}
};
//
const delAll = async () => {
handleDelete(multipleSelection.value.map((e) => e.id));
@ -172,9 +186,4 @@ const closeDrawer = (refresh?: number) => {
visible.value = false;
refresh && initList();
};
const handleDelete = async (ids: number[]) => {
await deletePersonalInterestRate({ ids });
getList();
ElMessage.success('删除成功!');
};
</script>

@ -93,7 +93,7 @@
<script setup lang="ts">
import { onMounted, ref, watch, defineAsyncComponent } from 'vue';
import { ElMessage } from 'element-plus';
import { ElMessage, ElMessageBox } from 'element-plus';
import { Delete } from '@element-plus/icons-vue';
import { pageSizes, pageLayout } from '@/utils/common';
import { interestRateModelList, deleteBusinessInterestRate } from '@/api/model';
@ -146,6 +146,20 @@ const handleDisable = (row: Record<string, any>) => {
const handleSelectionChange = (val: Record<string, any>[]) => {
multipleSelection.value = val;
};
const handleDelete = async (ids: number[]) => {
try {
const res = await deleteBusinessInterestRate({ ids });
//
if (res.tip) {
ElMessageBox.alert(res.message, '提示', {
confirmButtonText: '确定',
});
} else {
getList();
ElMessage.success('删除成功!');
}
} catch (e) {}
};
//
const delAll = async () => {
handleDelete(multipleSelection.value.map((e) => e.id));
@ -172,9 +186,4 @@ const closeDrawer = (refresh?: number) => {
visible.value = false;
refresh && initList();
};
const handleDelete = async (ids: number[]) => {
await deleteBusinessInterestRate({ ids });
getList();
ElMessage.success('删除成功!');
};
</script>

@ -93,7 +93,7 @@
<script setup lang="ts">
import { onMounted, ref, watch, defineAsyncComponent } from 'vue';
import { ElMessage } from 'element-plus';
import { ElMessage, ElMessageBox } from 'element-plus';
import { Delete } from '@element-plus/icons-vue';
import { pageSizes, pageLayout } from '@/utils/common';
import { accessStrategyGovernmentBlacklistList, accessStrategyGovernmentBlacklistDel } from '@/api/model';
@ -148,9 +148,18 @@ const handleSelectionChange = (val: Record<string, any>[]) => {
multipleSelection.value = val;
};
const handleDelete = async (ids: number[]) => {
await accessStrategyGovernmentBlacklistDel({ ids });
getList();
ElMessage.success('删除成功!');
try {
const res = await accessStrategyGovernmentBlacklistDel({ ids });
//
if (res.tip) {
ElMessageBox.alert(res.message, '提示', {
confirmButtonText: '确定',
});
} else {
getList();
ElMessage.success('删除成功!');
}
} catch (e) {}
};
//
const delAll = async () => {

@ -93,7 +93,7 @@
<script setup lang="ts">
import { onMounted, ref, watch, defineAsyncComponent } from 'vue';
import { ElMessage } from 'element-plus';
import { ElMessage, ElMessageBox } from 'element-plus';
import { Delete } from '@element-plus/icons-vue';
import { pageSizes, pageLayout } from '@/utils/common';
import { accessStrategyCreditBlacklist, accessStrategyCreditBlacklistDel } from '@/api/model';
@ -147,6 +147,20 @@ const handleDisable = (row: Record<string, any>) => {
const handleSelectionChange = (val: Record<string, any>[]) => {
multipleSelection.value = val;
};
const handleDelete = async (ids: number[]) => {
try {
const res = await accessStrategyCreditBlacklistDel({ ids });
//
if (res.tip) {
ElMessageBox.alert(res.message, '提示', {
confirmButtonText: '确定',
});
} else {
getList();
ElMessage.success('删除成功!');
}
} catch (e) {}
};
//
const delAll = async () => {
handleDelete(multipleSelection.value.map((e) => e.strategyId));
@ -173,9 +187,4 @@ const closeDrawer = (refresh?: number) => {
visible.value = false;
refresh && initList();
};
const handleDelete = async (ids: number[]) => {
await accessStrategyCreditBlacklistDel({ ids });
getList();
ElMessage.success('删除成功!');
};
</script>

@ -93,7 +93,7 @@
<script setup lang="ts">
import { onMounted, ref, watch, defineAsyncComponent } from 'vue';
import { ElMessage } from 'element-plus';
import { ElMessage, ElMessageBox } from 'element-plus';
import { Delete } from '@element-plus/icons-vue';
import { pageSizes, pageLayout } from '@/utils/common';
import { accessStrategyBusinessBlacklist, accessStrategyBusinessBlacklistDel } from '@/api/model';
@ -147,6 +147,20 @@ const handleDisable = (row: Record<string, any>) => {
const handleSelectionChange = (val: Record<string, any>[]) => {
multipleSelection.value = val;
};
const handleDelete = async (ids: number[]) => {
try {
const res = await accessStrategyBusinessBlacklistDel({ ids });
//
if (res.tip) {
ElMessageBox.alert(res.message, '提示', {
confirmButtonText: '确定',
});
} else {
getList();
ElMessage.success('删除成功!');
}
} catch (e) {}
};
//
const delAll = async () => {
handleDelete(multipleSelection.value.map((e) => e.strategyId));
@ -173,9 +187,4 @@ const closeDrawer = (refresh?: number) => {
visible.value = false;
refresh && initList();
};
const handleDelete = async (ids: number[]) => {
await accessStrategyBusinessBlacklistDel({ ids });
getList();
ElMessage.success('删除成功!');
};
</script>

@ -93,7 +93,7 @@
<script setup lang="ts">
import { onMounted, ref, watch, defineAsyncComponent } from 'vue';
import { ElMessage } from 'element-plus';
import { ElMessage, ElMessageBox } from 'element-plus';
import { Delete } from '@element-plus/icons-vue';
import { pageSizes, pageLayout } from '@/utils/common';
import { accessStrategyInlineBlacklist, accessStrategyInlineBlacklistDel } from '@/api/model';
@ -147,6 +147,20 @@ const handleDisable = (row: Record<string, any>) => {
const handleSelectionChange = (val: Record<string, any>[]) => {
multipleSelection.value = val;
};
const handleDelete = async (ids: number[]) => {
try {
const res = await accessStrategyInlineBlacklistDel({ ids });
//
if (res.tip) {
ElMessageBox.alert(res.message, '提示', {
confirmButtonText: '确定',
});
} else {
getList();
ElMessage.success('删除成功!');
}
} catch (e) {}
};
//
const delAll = async () => {
handleDelete(multipleSelection.value.map((e) => e.strategyId));
@ -173,9 +187,4 @@ const closeDrawer = (refresh?: number) => {
visible.value = false;
refresh && initList();
};
const handleDelete = async (ids: number[]) => {
await accessStrategyInlineBlacklistDel({ ids });
getList();
ElMessage.success('删除成功!');
};
</script>

@ -94,7 +94,7 @@
<script setup lang="ts">
import { onMounted, ref, watch, defineAsyncComponent } from 'vue';
import { ElMessage } from 'element-plus';
import { ElMessage, ElMessageBox } from 'element-plus';
import { Delete } from '@element-plus/icons-vue';
import { pageSizes, pageLayout } from '@/utils/common';
import { accessStrategyEnterpriseBlacklist, accessStrategyEnterpriseBlacklistDel } from '@/api/model';
@ -148,6 +148,20 @@ const handleDisable = (row: Record<string, any>) => {
const handleSelectionChange = (val: Record<string, any>[]) => {
multipleSelection.value = val;
};
const handleDelete = async (ids: number[]) => {
try {
const res = await accessStrategyEnterpriseBlacklistDel({ ids });
//
if (res.tip) {
ElMessageBox.alert(res.message, '提示', {
confirmButtonText: '确定',
});
} else {
getList();
ElMessage.success('删除成功!');
}
} catch (e) {}
};
//
const delAll = async () => {
handleDelete(multipleSelection.value.map((e) => e.strategyId));
@ -174,9 +188,4 @@ const closeDrawer = (refresh?: number) => {
visible.value = false;
refresh && initList();
};
const handleDelete = async (ids: number[]) => {
await accessStrategyEnterpriseBlacklistDel({ ids });
getList();
ElMessage.success('删除成功!');
};
</script>

@ -94,7 +94,7 @@
<script setup lang="ts">
import { onMounted, ref, watch, defineAsyncComponent } from 'vue';
import { ElMessage } from 'element-plus';
import { ElMessage, ElMessageBox } from 'element-plus';
import { Delete } from '@element-plus/icons-vue';
import { pageSizes, pageLayout } from '@/utils/common';
import { accessStrategyAntiFraudStrategy, accessStrategyAntiFraudStrategyDel } from '@/api/model';
@ -148,6 +148,20 @@ const handleDisable = (row: Record<string, any>) => {
const handleSelectionChange = (val: Record<string, any>[]) => {
multipleSelection.value = val;
};
const handleDelete = async (ids: number[]) => {
try {
const res = await accessStrategyAntiFraudStrategyDel({ ids });
//
if (res.tip) {
ElMessageBox.alert(res.message, '提示', {
confirmButtonText: '确定',
});
} else {
getList();
ElMessage.success('删除成功!');
}
} catch (e) {}
};
//
const delAll = async () => {
handleDelete(multipleSelection.value.map((e) => e.strategyId));
@ -174,9 +188,4 @@ const closeDrawer = (refresh?: number) => {
visible.value = false;
refresh && initList();
};
const handleDelete = async (ids: number[]) => {
await accessStrategyAntiFraudStrategyDel({ ids });
getList();
ElMessage.success('删除成功!');
};
</script>

@ -94,7 +94,7 @@
<script setup lang="ts">
import { onMounted, ref, watch, defineAsyncComponent } from 'vue';
import { ElMessage } from 'element-plus';
import { ElMessage, ElMessageBox } from 'element-plus';
import { Delete } from '@element-plus/icons-vue';
import { pageSizes, pageLayout } from '@/utils/common';
import { accessStrategyNegativeIndustryStrategy, accessStrategyNegativeIndustryStrategyDel } from '@/api/model';
@ -148,6 +148,20 @@ const handleDisable = (row: Record<string, any>) => {
const handleSelectionChange = (val: Record<string, any>[]) => {
multipleSelection.value = val;
};
const handleDelete = async (ids: number[]) => {
try {
const res = await accessStrategyNegativeIndustryStrategyDel({ ids });
//
if (res.tip) {
ElMessageBox.alert(res.message, '提示', {
confirmButtonText: '确定',
});
} else {
getList();
ElMessage.success('删除成功!');
}
} catch (e) {}
};
//
const delAll = async () => {
handleDelete(multipleSelection.value.map((e) => e.strategyId));
@ -174,9 +188,4 @@ const closeDrawer = (refresh?: number) => {
visible.value = false;
refresh && initList();
};
const handleDelete = async (ids: number[]) => {
await accessStrategyNegativeIndustryStrategyDel({ ids });
getList();
ElMessage.success('删除成功!');
};
</script>

@ -93,7 +93,7 @@
<script setup lang="ts">
import { onMounted, ref, watch, defineAsyncComponent } from 'vue';
import { ElMessage } from 'element-plus';
import { ElMessage, ElMessageBox } from 'element-plus';
import { Delete } from '@element-plus/icons-vue';
import { pageSizes, pageLayout } from '@/utils/common';
import { listCredit, delCredit } from '@/api/model';
@ -146,6 +146,20 @@ const handleDisable = (row: Record<string, any>) => {
const handleSelectionChange = (val: Record<string, any>[]) => {
multipleSelection.value = val;
};
const handleDelete = async (ids: number[]) => {
try {
const res = await delCredit({ ids });
//
if (res.tip) {
ElMessageBox.alert(res.message, '提示', {
confirmButtonText: '确定',
});
} else {
getList();
ElMessage.success('删除成功!');
}
} catch (e) {}
};
//
const delAll = async () => {
handleDelete(multipleSelection.value.map((e) => e.id));
@ -171,9 +185,4 @@ const closeDrawer = (refresh?: number) => {
visible.value = false;
refresh && initList();
};
const handleDelete = async (ids: number[]) => {
await delCredit({ ids });
getList();
ElMessage.success('删除成功!');
};
</script>

@ -93,7 +93,7 @@
<script setup lang="ts">
import { onMounted, ref, watch, defineAsyncComponent } from 'vue';
import { ElMessage } from 'element-plus';
import { ElMessage, ElMessageBox } from 'element-plus';
import { Delete } from '@element-plus/icons-vue';
import { pageSizes, pageLayout } from '@/utils/common';
import { listCredit, delCredit } from '@/api/model';
@ -146,6 +146,20 @@ const handleDisable = (row: Record<string, any>) => {
const handleSelectionChange = (val: Record<string, any>[]) => {
multipleSelection.value = val;
};
const handleDelete = async (ids: number[]) => {
try {
const res = await delCredit({ ids });
//
if (res.tip) {
ElMessageBox.alert(res.message, '提示', {
confirmButtonText: '确定',
});
} else {
getList();
ElMessage.success('删除成功!');
}
} catch (e) {}
};
//
const delAll = async () => {
handleDelete(multipleSelection.value.map((e) => e.id));
@ -171,9 +185,4 @@ const closeDrawer = (refresh?: number) => {
visible.value = false;
refresh && initList();
};
const handleDelete = async (ids: number[]) => {
await delCredit({ ids });
getList();
ElMessage.success('删除成功!');
};
</script>

Loading…
Cancel
Save