diff --git a/.env b/.env index 97571e0..0c43f01 100644 --- a/.env +++ b/.env @@ -2,7 +2,7 @@ VITE_APP_TITLE=金融产品设计及数字化营销沙盘 VITE_PORT=9520 VITE_PROXY=http://192.168.31.125:8080 VITE_PUBLIC_PATH=./ -VITE_BASE_API=http://192.168.31.217:9000 +VITE_BASE_API=http://192.168.31.51:9000 # VITE_BASE_API=http://121.37.12.51 VITE_I18N_LOCALE=zh-cn VITE_I18N_FALLBACK_LOCALE=zh-cn diff --git a/src/api/model.ts b/src/api/model.ts index bba6cb6..2a56523 100644 --- a/src/api/model.ts +++ b/src/api/model.ts @@ -62,3 +62,11 @@ export const personalCreditModelDetails = async (checkpointId: number, projectId (await axios.post(`/product/quotaModel/personalCreditModelDetails?checkpointId=${checkpointId}&projectId=${projectId}`)).data; export const personalCreditModelSaveOrUpdate = async (data: Record): Promise => (await axios.post(`/product/quotaModel/personalCreditModelSaveOrUpdate`, data)).data; + +export const fiveLevelClassificationDetails = async (checkpointId: number, projectId: number): Promise => + (await axios.post(`/product/fiveLevelClassification/details?checkpointId=${checkpointId}&projectId=${projectId}`)).data; +export const fiveLevelClassificationSave = async (data: Record): Promise => (await axios.post(`/product/fiveLevelClassification/saveOrUpdate`, data)).data; + +export const postLoanInspectionDetails = async (checkpointId: number, projectId: number): Promise => + (await axios.post(`/product/postLoanInspection/details?checkpointId=${checkpointId}&projectId=${projectId}`)).data; +export const postLoanInspectionSave = async (data: Record): Promise => (await axios.post(`/product/postLoanInspection/saveOrUpdate`, data)).data; diff --git a/src/layout/components/AppSidebar/Menu.vue b/src/layout/components/AppSidebar/Menu.vue index 4a21bd1..10d141f 100644 --- a/src/layout/components/AppSidebar/Menu.vue +++ b/src/layout/components/AppSidebar/Menu.vue @@ -55,7 +55,8 @@ alt="" />

利率定价模型

-
  • +
  • diff --git a/src/permission.ts b/src/permission.ts index d7404df..c9bc718 100644 --- a/src/permission.ts +++ b/src/permission.ts @@ -10,20 +10,7 @@ NProgress.configure({ showSpinner: false }); // NProgress Configuration const LOGIN_PATH = '/login'; router.beforeEach(async (to: RouteLocationNormalized) => { - return true; - const isLogin = getAccessToken() !== undefined; - // 不需要权限 - if (!to.meta?.requiresPermission) { - // 已登录状态访问登录页面,跳转到首页 - if (to.path === LOGIN_PATH && isLogin) return '/'; - NProgress.start(); - return true; - } - // 没有权限 - if (!hasPermission(to.meta?.requiresPermission)) { - NProgress.done(); - return '/403'; - } + NProgress.start(); return true; }); diff --git a/src/router/index.ts b/src/router/index.ts index 0e7af71..abc5019 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -40,6 +40,7 @@ export const routes: Array = [ { path: 'interestRate/:action', component: () => import('@/views/product/interestRate/CardList.vue'), meta: { title: '利率定价模型' } }, { path: 'fund', component: () => import('@/views/product/fund/List.vue'), meta: { title: '基金产品' } }, { path: 'fund/:action', component: () => import('@/views/product/fund/CardList.vue'), meta: { title: '基金产品' } }, + { path: 'afterLoan', component: () => import('@/views/product/afterLoan/CardList.vue'), meta: { title: '贷后管理' } }, ], }, { diff --git a/src/views/product/afterLoan/1029.vue b/src/views/product/afterLoan/1029.vue new file mode 100644 index 0000000..9fcb77b --- /dev/null +++ b/src/views/product/afterLoan/1029.vue @@ -0,0 +1,174 @@ + + + + + diff --git a/src/views/product/afterLoan/1030.vue b/src/views/product/afterLoan/1030.vue new file mode 100644 index 0000000..391b39f --- /dev/null +++ b/src/views/product/afterLoan/1030.vue @@ -0,0 +1,190 @@ + + + + + diff --git a/src/views/product/afterLoan/CardList.vue b/src/views/product/afterLoan/CardList.vue new file mode 100644 index 0000000..c552d54 --- /dev/null +++ b/src/views/product/afterLoan/CardList.vue @@ -0,0 +1,83 @@ + + + + + diff --git a/src/views/product/fund/Add.vue b/src/views/product/fund/Add.vue index dfc4bdc..632ebea 100644 --- a/src/views/product/fund/Add.vue +++ b/src/views/product/fund/Add.vue @@ -238,14 +238,16 @@ disabled v-model="form.buySellRatioList1[i - 1].input2"> - + @@ -312,13 +314,10 @@ import { ref, reactive, computed, watch, onMounted, defineEmits } from 'vue'; import { ElMessage } from 'element-plus'; import { Plus, Minus } from '@element-plus/icons-vue'; -import { insuranceProductDetails, addInsuranceProducts } from '@/api/insurance'; import { getAListOfAShares, saveFund } from '@/api/fund'; import { getProcessInformationBasedOnRoles, addOperation } from '@/api/judgment'; import { useRouter, useRoute } from 'vue-router'; import { handleId } from '@/utils/common'; -import { getStatus } from '@/store/useProduct'; -import Info from './Info.vue'; import Cookies from 'js-cookie'; const emit = defineEmits(['getList']); @@ -330,7 +329,6 @@ const projectId = +Cookies.get('sand-projectId'); const levelId = +Cookies.get('sand-level'); const curTab = ref('tab1'); const config = ref([]); -const info = ref>(null); const units = ref(['%', '元']); const times = ref(['分钟', '天', '小时', '月']); const loading = ref(false); @@ -400,16 +398,6 @@ const getConfig = async () => { const { process } = await getProcessInformationBasedOnRoles(1161); config.value = process; }; -// 详情 -const getDetail = async () => { - if (id.value) { - try { - const { data } = await insuranceProductDetails(id.value); - info.value = data; - } finally { - } - } -}; // 新增持股 const addStock = () => { form.shareholdingAllocationsList.length < 10 @@ -468,16 +456,6 @@ const delRatio = (type: number, i: number) => { form['buySellRatioList' + type].length > 1 && form['buySellRatioList' + type].splice(i, 1); }; -watch( - () => route.query, - () => { - getDetail(); - }, - { - immediate: true, - }, -); - const getId = (str: string): string | number => { const result = config.value[5]?.recordChildren[0]?.recordChildren[1]?.subject?.itemList?.find((e) => e.options === str); return result?.itemId || ''; @@ -567,8 +545,7 @@ const submit = async () => { // 处理费率 param.buySellRatioList0.forEach((e, i) => { - e.amountOrDuration = i ? param.buySellRatioList0[i - 1].input2 : e.input1; - if (i !== param.buySellRatioList0.length - 1) e.amountOrDuration += `-${e.input2}万`; + e.amountOrDuration = (i ? param.buySellRatioList0[i - 1].input2 : e.input1) + `${i !== param.buySellRatioList0.length - 1 ? '-' + e.input2 : ''}万`; }); param.buySellRatioList1.forEach((e, i) => { e.amountOrDuration = i ? param.buySellRatioList1[i - 1].input2 + param.buySellRatioList1[i - 1].soldUnit2 : e.input1; diff --git a/src/views/product/strategy/150.vue b/src/views/product/strategy/150.vue index 0bb14a9..83cb851 100644 --- a/src/views/product/strategy/150.vue +++ b/src/views/product/strategy/150.vue @@ -298,7 +298,7 @@ const submit = async () => { // 新增判分记录 const addRecord = async (data: Record) => { const preIds = `1,${Cookies.get('sand-level')},42,67,147,150`; // 1,关卡id,角色(这个页面是风控经理策略) - const rule: Array> = []; + const rule = []; data.map((e, i) => { const temp = []; diff --git a/src/views/product/strategy/151.vue b/src/views/product/strategy/151.vue index f045e61..23fc7a3 100644 --- a/src/views/product/strategy/151.vue +++ b/src/views/product/strategy/151.vue @@ -202,7 +202,7 @@ const submit = async () => { // 新增判分记录 const addRecord = async (data: Record) => { const preIds = `1,${Cookies.get('sand-level')},42,67,147,151`; // 1,关卡id,角色(这个页面是风控经理策略) - const rule: Array> = []; + const rule = []; data[1].ruleOne && rule.push(handleId(234, 81, data[1].ruleOne, preIds + ',204,234', 3)); data[27].ruleOne && rule.push(handleId(267, 114, data[27].ruleOne === '有' ? 306 : 305, preIds + ',230,267', 1)); diff --git a/src/views/product/strategy/152.vue b/src/views/product/strategy/152.vue index 721d929..dc369a1 100644 --- a/src/views/product/strategy/152.vue +++ b/src/views/product/strategy/152.vue @@ -410,7 +410,7 @@ const submit = async () => { // 新增判分记录 const addRecord = async (data: Record) => { const preIds = `1,${Cookies.get('sand-level')},42,67,147,152`; // 1,关卡id,角色(这个页面是风控经理策略) - const rule: Array> = [ + const rule = [ handleId(324, 150, data[0].ruleOne, preIds + ',318,324', 5), handleId(325, 151, data[0].ruleTwo, preIds + ',318,325', 5), handleId(326, 152, data[0].ruleThree, preIds + ',318,326', 5),