From a9c89fcdd1eeb75cc69a378beec10b435d8069d5 Mon Sep 17 00:00:00 2001 From: yujialong <479214531@qq.com> Date: Wed, 27 Sep 2023 16:33:48 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A3=8E=E6=8E=A7=E3=80=81=E4=B8=93=E5=AE=B6?= =?UTF-8?q?=E5=A7=94=E5=91=98=E4=BC=9A=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/bank.ts | 4 + src/assets/images/icon7-1.png | Bin 0 -> 2667 bytes src/layout/components/AppHeader.vue | 5 +- src/layout/components/AppSidebar/Menu.vue | 16 ++- src/store/useProduct.ts | 20 +++- src/styles/form.scss | 116 +++++-------------- src/views/product/Add.vue | 45 ++------ src/views/product/Approve.vue | 131 ++++++++++++++++++++++ src/views/product/CardList.vue | 17 ++- src/views/product/Config.vue | 123 +------------------- src/views/product/Detail.vue | 59 +--------- src/views/product/Info.vue | 130 +++++++++++++++++++++ src/views/product/List.vue | 88 ++++++--------- 13 files changed, 384 insertions(+), 370 deletions(-) create mode 100644 src/assets/images/icon7-1.png create mode 100644 src/views/product/Approve.vue create mode 100644 src/views/product/Info.vue diff --git a/src/api/bank.ts b/src/api/bank.ts index b05769d..40dde5f 100644 --- a/src/api/bank.ts +++ b/src/api/bank.ts @@ -13,3 +13,7 @@ export const productElement = async (id: number): Promise => (await axios.p export const findById = async (id: number): Promise => (await axios.post(`/product/product/bank/products/findById?id=${id}`)).data; export const save = async (data: Record): Promise => (await axios.post(`/product/product/bank/products/save`, data)).data; export const riskSave = async (data: Record): Promise => (await axios.post(`/product/managerOfRiskControl/bankRiskControlAllocation/save`, data)).data; +export const riskUpdate = async (data: Record): Promise => (await axios.post(`/product/managerOfRiskControl/bankRiskControlAllocation/update`, data)).data; +export const riskById = async (id: number): Promise => (await axios.post(`/product/managerOfRiskControl/bankRiskControlAllocation/findById?id=${id}`)).data; +export const examineAndApprove = async (id: number | string, opinionDescription: string, status: number, approvalTime: string): Promise => + (await axios.post(`/product/product/bank/products/examineAndApprove?id=${id}&opinionDescription=${opinionDescription}&status=${status}&approvalTime=${approvalTime}`)).data; diff --git a/src/assets/images/icon7-1.png b/src/assets/images/icon7-1.png new file mode 100644 index 0000000000000000000000000000000000000000..e3915388fb50a99908e368627aea12db62ee5df5 GIT binary patch literal 2667 zcmV-x3Y7JUP)_Y*E00001b5ch_0Itp) z=>Pxz}5Uq*O(g%-fw?MW)3#IKox}DwG*UZj6 zKl8hD@Ah;$vpc2LNhUM*&fIf8=X<`t-|w75_#eK$|2)r@=GT6a-n)?9(1mPF+G^dw zvCJU8svRuV4(7uFl#3nO#iofgo^72^QVtTz1(XAjK99%xBXsOV_ENG2!a8#LwyaFhkz(*u zLa%D)s5gRzAS{K(=ZK&w>_j@!Fv`J;nV%O zR}z%`b{jV`p_zat5Xz@gx=nbdn0^uEFDf|#RzHvxJwWisn;tco67@)*a_77gUq(WM&KlJj{4;#F%x@SLyAoM5g6u+z5qcQfMNL@=~Df zY@!^TQZ9buxY)4zD*De)-sbC_DDGvAQMl;1e@F-|&(!=`s z)%2Ehwt5pcIxd=(YpGwjj7yd|t~9oKE;g>2ONZq7ea!BqV|c8Ra3?XU!s*X2@S$P6 zZWz-l9YTkhL%`+b0g%xP{0M`GK`#t@Sl3vM=ZJ_O_!Gy=vwo(K0n7{Yw07W;i@!P= z9phuz-a4PM%uMY=-j`ye_gt67#3!Rjmgku@9YDX~1<*W&J@TOiI0R<~WG=I|br^@n zh}ZY0)#h7jX-NM6-A- zpryZ1>2rn-VMFRkc*{ECdr|+SLFy>;)~?LN`bX+wZ`&1MXq@K|urh71(C# z0V-4uIvz!`BCw?YoQNVyGh@G(^Yr0Tlr9FGue@Am0Sq(aT?6d%*u0uGFZ9oF7PbS3 zk78S;!p%~p#~Ap)Fa)|M4|>uboSRu+X=a2-F$y&hwC zmhqw1@h1S(#7_IwhxQn6o1D^RmeS>x4W%zp`q()^2ZWPq+YMT4c#y{4HH-lU%1F(*Ch&ADuTR_4yS!=aQ44gsd68^erO-emKn41UC|v|P zobr>*IKe=Qfhg0QOFZ<}Mvx5CY&fH7b6V+Xp=%J>qXcz*rGrt71kn5Pp{>jy-j~6p zn0?Pi49!V+=yjt=%EHcWFZ8qoV#&~@sB8OtQfZH|$2;w5J2ObSlwu|MUcS3PnpleWg8yuXG-Cm>C4BSe)bsdcM-rL+3@Z zU0m$O?b!&GwxQbq%ockTX|I?7zS4oG_nVwOri6}j0Z->molLF&4ya{nB}GXfzG^8Q zLYG;UrkDVeVg!E>rTvs=7_UqP{f?~i0_b9m%Nj%)lqx8o8bFN5AA~G$L}|&@lBWgw z6Omk=KEoE)g`Ml|+8})#FBQ7RRywb7xs)JEa;`WG0*C;ZK|nbXdJW^XAXnSaWkCuJ z1I>eCzx@_{KTFb){0QbIzl^E~zA zOCo$I&1jJO`Ou-Kr?W`dm!w4z=V*}fq&f9P|YOjsv&uCrmRdq%0}<*7 zs3k%*fJ!3Yzhaw{hSAN8ZsT{>_MI7e&8taXHpJ$}0|s}<`Xe9Ou66<%ZYJdHSN5TU z49L2qmw}$(Q@+c+6yuc%a_-z+Pu)e2#g_MFK3z$wC9df9Iw0B*z{e#^1nY+nWSPk< z+pxA3HG0jzle}>Vy!7=TdxX%Jh|+9hxs-{=``s8`YD)k-a|1wJP5HFBs2$R-zq%wn0gyK3~Bt|8ud%A5^-v4f-p z_8AuN&%1y=Syu{=# z6ecN^Q((ofatxYc^kjf1vdVe?$cdV+yYbedtOQxYWU0je8afswTyso8yj}&6A8e{X8SVW zKaMlC?`&{)l_JFd6*}zfx;~y&H3NNeJ<&f}|8iZ$vGaw!p!T>>Fr~J0!R=9M$LI6E Z{{pMjNQT4vcP{_{002ovPDHLkV1m9W9E$(| literal 0 HcmV?d00001 diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index f020df3..c895b3c 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -2,8 +2,9 @@
- 切换产品经理 - 切换风控经理 + 切换产品经理 + 切换风控经理 + 切换专家委员会
    - { let val = ''; - if (route.query.role == 2) { - if (productTypes.value.length === 1) val = productTypes.value[0]; - return val; + if (params.roleId == 42 && productTypes.value.length === 1) { + val = productTypes.value[0]; + } else if (params.roleId == 41) { + val = +route.query.type; } - return +route.query.type; + return val; }), status: '', + roleId: computed(() => +route.query.role || 41), }); -// params.productType = computed(() => (route.query.role == 2 ? '' : +route.query.type)); -const role = computed(() => route.query.role || 1); // 1产品经理,2风控经理 const currentPage = ref(1); const pageSize = ref(10); const total = ref(0); const table = ref(); const guarantees = ref>([]); -const paces = ref>([ - { - id: '', - name: '产品进度', - }, - { - id: 1, - name: '配置风控', - }, - { - id: 2, - name: '待审批', - }, - { - id: 3, - name: '审批通过', - }, - { - id: 4, - name: '审批不通过', - }, - { - id: 5, - name: '审批打回', - }, -]); const list = ref>([]); const loading = ref(false); // 担保方式 @@ -215,10 +202,6 @@ onMounted(() => { }); watch([params, () => route.query], initList); -// watch(productTypes, (val) => { -// console.log('🚀 ~ file: List.vue:207 ~ watch ~ val:', val); -// params.productType = val.length === 2 ? '' : -// }); const handleSort = ({ column, prop, order }: { column: any; prop: string; order: string }) => { params.createDateSort = order === 'descending' ? 'desc' : order === 'ascending' ? 'asc' : ''; getList(); @@ -236,13 +219,17 @@ const toDetail = async (path: string, id: number) => { path, query: { ...route.query, + type: params.productType, id, }, }); }; // 卡片模式 const toCardList = () => { - router.push('/product/cardList/config'); + router.push({ + path: '/product/cardList/config', + query: route.query, + }); }; const handleDelete = async (id: number) => { @@ -271,7 +258,6 @@ const handleDelete = async (id: number) => { @apply inline-flex items-center h-[36px] px-[24px] text-sm text-white rounded-[18px] cursor-pointer; background: linear-gradient(-36deg, #006bff, #2ab1ff); border: 1px solid #ffffff; - cursor: pointer; .icon { @apply mr-[8px]; }