You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
147 lines
5.2 KiB
147 lines
5.2 KiB
<template>
|
|
<div style="height: 100%">
|
|
<w-grid
|
|
ref="riskExposureGridRef"
|
|
title="风险暴露分类列表"
|
|
:fetch-data-url="Environment.apiContextPath('api/irbs/riskExposure/queryPage')"
|
|
:sort-no="true"
|
|
:checkbox-selection="false"
|
|
:query-form-cols-num="4"
|
|
:query-form-fields="riskExposureGrid.queryFormFields"
|
|
:columns="riskExposureGrid.columns"
|
|
:toolbar-actions="riskExposureGrid.buttons"
|
|
:pagination="{
|
|
sortBy: 'lastModifyDate',
|
|
descending: true,
|
|
}"
|
|
:query-criteria="{
|
|
operator: 'and',
|
|
criteria: [
|
|
{
|
|
fieldName: 'dataStatus',
|
|
operator: 'equals',
|
|
value: '1',
|
|
},
|
|
{
|
|
fieldName: 'processStatus',
|
|
operator: 'equals',
|
|
value: 'TO_BE_CHECKED',
|
|
},
|
|
],
|
|
}"
|
|
></w-grid>
|
|
<LaunchExposureDialog ref="launchExposureDialogRef" @refresh="refreshTable"></LaunchExposureDialog>
|
|
<HandmadeExposureDialog ref="handmadeExposureDialogRef" @refresh="refreshTable"></HandmadeExposureDialog>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import { ref } from 'vue';
|
|
import { useQuasar } from 'quasar';
|
|
import { Environment, EnumTools, DictionaryTools, Options, Formater, axios, NotifyManager } from 'platform-core';
|
|
import LaunchExposureDialog from '@/views/riskExposure/LaunchExposureDialog.vue';
|
|
import HandmadeExposureDialog from '@/views/riskExposure/HandmadeExposureDialog.vue';
|
|
import { RiskExposureProcessStatus } from './RiskExposure.ts';
|
|
|
|
const $q = useQuasar();
|
|
const riskExposureGridRef = ref();
|
|
const launchExposureDialogRef = ref();
|
|
const handmadeExposureDialogRef = ref();
|
|
|
|
const RiskExposureProcessStatusEnum = await EnumTools.fetch('irbs.riskExposure.jpa.support.RiskExposureProcessStatus');
|
|
|
|
const riskExposureGrid = {
|
|
buttons: [
|
|
['query', 'separator', 'moreQuery'],
|
|
'reset',
|
|
'separator',
|
|
/*{
|
|
extend: 'add',
|
|
label: '人工分类发起',
|
|
click: () => {
|
|
launchExposureDialogRef.value.show();
|
|
},
|
|
},*/
|
|
{
|
|
extend: 'edit',
|
|
label: '编辑',
|
|
enableIf: (args) => {
|
|
if (args.selected && (args.selected['processStatus'] === 'TO_BE_CHECKED' || args.selected['processStatus'] === 'RETURNED')) {
|
|
return true;
|
|
}
|
|
return false;
|
|
},
|
|
click: (args) => {
|
|
handmadeExposureDialogRef.value.show(args.selected, false, 'riskExposure');
|
|
},
|
|
},
|
|
'separator',
|
|
{
|
|
extend: 'view',
|
|
click: (args) => {
|
|
handmadeExposureDialogRef.value.show(args.selected, true, 'riskExposure');
|
|
},
|
|
},
|
|
'separator',
|
|
],
|
|
queryFormFields: [
|
|
{ label: '债项编号', name: 'businessNo', type: 'text' },
|
|
{ label: '客户号', name: 'custNo', type: 'text' },
|
|
{ label: '客户名称', name: 'custName', type: 'text' },
|
|
{
|
|
label: '风险暴露分类',
|
|
name: 'manResult',
|
|
type: 'select',
|
|
options: [
|
|
{ label: '公司风险暴露', value: 'RE_0100' },
|
|
{ label: '一般公司风险暴露', value: 'RE_0110' },
|
|
{ label: '中小企业风险暴露', value: 'RE_0120' },
|
|
{ label: '专业贷款风险暴露', value: 'RE_0130' },
|
|
{ label: '项目融资风险暴露', value: 'RE_0131' },
|
|
{ label: '商品融资风险暴露', value: 'RE_0132' },
|
|
{ label: '物品融资风险暴露', value: 'RE_0133' },
|
|
{ label: '产生收入的房地产风险暴露', value: 'RE_0134' },
|
|
{ label: '金融机构风险暴露', value: 'RE_0200' },
|
|
{ label: '银行类金融机构风险暴露', value: 'RE_0210' },
|
|
{ label: '非银行类金融机构风险暴露', value: 'RE_0220' },
|
|
{ label: '股权风险暴露', value: 'RE_0300' },
|
|
{ label: '主权风险暴露', value: 'RE_0400' },
|
|
{ label: '其他风险暴露', value: 'RE_0500' },
|
|
{ label: '资产证券化风险暴露', value: 'RE_0510' },
|
|
{ label: '合格购入公司应收账款风险暴露', value: 'RE_0520' },
|
|
{ label: '零售风险暴露', value: 'RE_0600' },
|
|
],
|
|
},
|
|
{
|
|
label: '流程状态',
|
|
name: 'status',
|
|
type: 'select',
|
|
options: [
|
|
{ value: 'TO_BE_SUBMITTED', label: '待发起' },
|
|
{ value: 'RETURNED', label: '退回' },
|
|
{ value: 'TO_BE_CHECKED', label: '审批中' },
|
|
{ value: 'COMPLETED_PASS', label: '通过' },
|
|
{ value: 'COMPLETED_REJECT', label: '否决' },
|
|
],
|
|
},
|
|
],
|
|
columns: [
|
|
{ name: 'businessNo', label: '债项编号' },
|
|
{ name: 'custNo', label: '客户号' },
|
|
{ name: 'custName', label: '客户名称' },
|
|
{ name: 'custType', label: '客户类型' },
|
|
{ name: 'productType', label: '产品类型' },
|
|
{ name: 'manResult', label: '人工分类结果' },
|
|
{ name: 'finalResult', label: '最终分类结果' },
|
|
{ name: 'managerName', label: '客户经理' },
|
|
{ name: 'createDate', label: '申请时间', format: Formater.dateOnly() },
|
|
{ name: 'processStatus', label: '流程状态', format: Formater.enum(RiskExposureProcessStatusEnum) },
|
|
{ name: 'mgerOrgNm', label: '所属机构' },
|
|
{ name: 'currentAssignee', label: '当前处理人' },
|
|
],
|
|
};
|
|
|
|
const refreshTable = () => {
|
|
riskExposureGridRef.value.refresh();
|
|
};
|
|
</script>
|
|
|