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.
 
 
 
 
 
 

129 lines
4.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"
:query-criteria="{
operator: 'and',
criteria: [
{
fieldName: 'isNeedOperate',
operator: 'equals',
value: '1',
},
{
fieldName: 'startWay',
operator: 'equals',
value: '2',
},
{
fieldName: 'dataStatus',
operator: 'equals',
value: '1',
},
],
}"
:sort-by="['-lastModifyDate']"
></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, RiskExposureTypeFormat, RiskCustTypeFormat, ProcessStatusOptions } from './RiskExposure.ts';
const $q = useQuasar();
const riskExposureGridRef = ref();
const launchExposureDialogRef = ref();
const handmadeExposureDialogRef = ref();
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_SUBMITTED' || 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: RiskExposureProcessStatus,
},
{
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: '客户类型', format: RiskCustTypeFormat },
{ name: 'productType', label: '产品类型' },
{ name: 'manResult', label: '人工分类结果', format: RiskExposureTypeFormat },
{ name: 'finalResult', label: '最终分类结果', format: RiskExposureTypeFormat },
{ name: 'managerName', label: '客户经理' },
{ name: 'createDate', label: '申请时间', format: Formater.dateOnly() },
{ name: 'processStatus', label: '流程状态', format: ProcessStatusOptions },
{ name: 'mgerOrgNm', label: '所属机构' },
{ name: 'currentAssignee', label: '当前处理人' },
],
};
const refreshTable = () => {
riskExposureGridRef.value.refresh();
};
</script>