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.
108 lines
3.5 KiB
108 lines
3.5 KiB
<template>
|
|
<div style="height: 100%">
|
|
<w-grid
|
|
ref="cognizanceGridRef"
|
|
title="违约认定列表"
|
|
:fetch-data-url="Environment.apiContextPath('api/irbs/defaultCognizance/query')"
|
|
:sort-no="true"
|
|
:checkbox-selection="false"
|
|
:query-form-cols-num="4"
|
|
:query-form-fields="cognizanceGrid.queryFormFields"
|
|
:columns="cognizanceGrid.columns"
|
|
:toolbar-actions="cognizanceGrid.buttons"
|
|
:query-criteria="{
|
|
fieldName: 'defaultType',
|
|
operator: 'equals',
|
|
value: '02',
|
|
}"
|
|
:sort-by="['-lastModifyDate']"
|
|
></w-grid>
|
|
<LaunchRatingDialog ref="launchRatingDialog" @refresh="refreshTable"></LaunchRatingDialog>
|
|
<CognizanceDialog ref="cognizanceDialogRef" @refresh="refreshTable"></CognizanceDialog>
|
|
</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 LaunchRatingDialog from '@/views/custRating/LaunchRatingDialog.vue';
|
|
import CognizanceDialog from './CognizanceDialog.vue';
|
|
import { RatingLevelOptions, RatingProcessStatus, SelectCustomerFlag } from '@/views/custRating/CustRating.ts';
|
|
import { DefaultProcessStatus } from './DefaultManager.ts';
|
|
|
|
const $q = useQuasar();
|
|
const cognizanceGridRef = ref();
|
|
const launchRatingDialog = ref();
|
|
const cognizanceDialogRef = ref();
|
|
|
|
const DefaultProcessStatusEnum = await EnumTools.fetch('irbs.defaultManager.enums.DefaultProcessStatus');
|
|
|
|
const cognizanceGrid = {
|
|
buttons: [
|
|
['query', 'separator', 'moreQuery'],
|
|
'reset',
|
|
'separator',
|
|
{
|
|
extend: 'add',
|
|
label: '新增申请',
|
|
click: () => {
|
|
launchRatingDialog.value.show(SelectCustomerFlag.COGNIZANCE);
|
|
},
|
|
},
|
|
{
|
|
extend: 'edit',
|
|
label: '编辑',
|
|
enableIf: (args) => {
|
|
if (args.selected && (args.selected['status'] === DefaultProcessStatus.TO_BE_SUBMITTED || args.selected['status'] === DefaultProcessStatus.RETURNED)) {
|
|
return true;
|
|
}
|
|
return false;
|
|
},
|
|
click: (args) => {
|
|
cognizanceDialogRef.value.show(args.selected);
|
|
},
|
|
},
|
|
'separator',
|
|
{
|
|
extend: 'view',
|
|
click: (args) => {
|
|
cognizanceDialogRef.value.show(args.selected, true);
|
|
},
|
|
},
|
|
'separator',
|
|
],
|
|
queryFormFields: [
|
|
{ label: '申请编号', name: 'id', type: 'text' },
|
|
{ label: '客户号', name: 'custNo', type: 'text' },
|
|
{ label: '客户名称', name: 'custName', type: 'text' },
|
|
{ label: '流程状态', name: 'status', type: 'select', options: Options.enum(DefaultProcessStatusEnum) },
|
|
],
|
|
columns: [
|
|
{ name: 'id', label: '申请编号', width: 150 },
|
|
{ name: 'custNo', label: '客户号' },
|
|
{ name: 'custName', label: '客户名称' },
|
|
{
|
|
name: 'valid',
|
|
label: '认定结果',
|
|
format: (val, row) => {
|
|
if (val && val === '0') {
|
|
return '非违约';
|
|
} else if (val && val === '1') {
|
|
return '已违约';
|
|
}
|
|
return val;
|
|
},
|
|
},
|
|
{ name: 'creator', label: '发起人' },
|
|
{ name: 'createDate', label: '申请时间', format: Formater.dateOnly() },
|
|
{ name: 'status', label: '流程状态', format: Formater.enum(DefaultProcessStatusEnum) },
|
|
{ name: 'mgerOrgNm', label: '所属机构' },
|
|
{ name: 'currentAssignee', label: '当前处理人' },
|
|
],
|
|
};
|
|
|
|
const refreshTable = () => {
|
|
cognizanceGridRef.value.refresh();
|
|
};
|
|
</script>
|
|
|