450505715a
Co-authored-by: Cursor <cursoragent@cursor.com>
222 lines
4.8 KiB
JavaScript
222 lines
4.8 KiB
JavaScript
import {
|
|
approvalStatusOptions,
|
|
contractCategoryOptions,
|
|
createCrudOption,
|
|
hcsSyncStatusOptions,
|
|
signTypeOptions,
|
|
} from './common';
|
|
|
|
const listDicFormatter = res => {
|
|
const data = res?.data || res;
|
|
if (Array.isArray(data)) return data;
|
|
if (Array.isArray(data?.records)) return data.records;
|
|
if (Array.isArray(data?.data)) return data.data;
|
|
if (Array.isArray(data?.data?.records)) return data.data.records;
|
|
return [];
|
|
};
|
|
|
|
const projectNameDicFormatter = res => {
|
|
const list = listDicFormatter(res);
|
|
return list.filter(item => item && item.projectName && String(item.projectName).trim());
|
|
};
|
|
|
|
export const changeTypeOptions = [
|
|
{ label: '合同信息变更', value: '合同信息变更' },
|
|
{ label: '结算规则变更', value: '结算规则变更' },
|
|
];
|
|
|
|
export const config = {
|
|
title: '合同变更',
|
|
permission: 'contract_change',
|
|
statusProp: 'approvalStatus',
|
|
statusTextProp: 'approvalStatusName',
|
|
deleteStatus: ['draft', 'withdrawn', 'rejected'],
|
|
editStatus: ['draft', 'withdrawn', 'rejected'],
|
|
viewStatus: ['approved'],
|
|
operations: [
|
|
{
|
|
action: 'submitApproval',
|
|
label: '提交',
|
|
statusProp: 'approvalStatus',
|
|
status: ['draft'],
|
|
permission: 'contract_change_submit',
|
|
},
|
|
{
|
|
action: 'withdraw',
|
|
label: '撤回',
|
|
statusProp: 'approvalStatus',
|
|
status: ['reviewing'],
|
|
permission: 'contract_change_withdraw',
|
|
},
|
|
{
|
|
action: 'mkAudit',
|
|
label: '流程',
|
|
statusProp: 'approvalStatus',
|
|
status: ['reviewing', 'rejected', 'approved'],
|
|
permission: 'contract_change_approve',
|
|
mkOnly: true,
|
|
},
|
|
{
|
|
action: 'approve',
|
|
label: '通过',
|
|
type: 'success',
|
|
statusProp: 'approvalStatus',
|
|
status: ['reviewing'],
|
|
permission: 'contract_change_approve',
|
|
localOnly: true,
|
|
},
|
|
{
|
|
action: 'reject',
|
|
label: '驳回',
|
|
type: 'warning',
|
|
statusProp: 'approvalStatus',
|
|
status: ['reviewing'],
|
|
permission: 'contract_change_reject',
|
|
localOnly: true,
|
|
},
|
|
],
|
|
};
|
|
|
|
export const option = createCrudOption([
|
|
{
|
|
label: '合同编号',
|
|
prop: 'contractNo',
|
|
search: true,
|
|
searchPlaceholder: '请输入',
|
|
searchOrder: 20,
|
|
minWidth: 160,
|
|
},
|
|
{
|
|
label: '合同名称',
|
|
prop: 'contractName',
|
|
search: true,
|
|
searchPlaceholder: '请输入',
|
|
searchOrder: 30,
|
|
minWidth: 180,
|
|
},
|
|
{
|
|
label: '所属项目',
|
|
prop: 'projectName',
|
|
search: true,
|
|
searchType: 'select',
|
|
searchPlaceholder: '请选择',
|
|
searchOrder: 60,
|
|
dicUrl: '/blade-transport/project-apply/list?current=1&size=9999&contractSelectable=true',
|
|
dicFormatter: projectNameDicFormatter,
|
|
props: {
|
|
label: 'projectName',
|
|
value: 'projectName',
|
|
},
|
|
filterable: true,
|
|
minWidth: 160,
|
|
},
|
|
{
|
|
label: '所属组织',
|
|
prop: 'organizationName',
|
|
search: true,
|
|
searchPlaceholder: '请输入',
|
|
searchOrder: 10,
|
|
minWidth: 150,
|
|
},
|
|
{
|
|
label: '合同类别',
|
|
prop: 'contractCategory',
|
|
type: 'select',
|
|
search: true,
|
|
searchPlaceholder: '请选择',
|
|
searchOrder: 70,
|
|
dicData: contractCategoryOptions,
|
|
minWidth: 130,
|
|
},
|
|
{
|
|
label: '签约类型',
|
|
prop: 'signType',
|
|
type: 'select',
|
|
search: true,
|
|
searchPlaceholder: '请选择',
|
|
searchOrder: 50,
|
|
dicData: signTypeOptions,
|
|
minWidth: 120,
|
|
},
|
|
{
|
|
label: '甲方',
|
|
prop: 'partyA',
|
|
minWidth: 160,
|
|
},
|
|
{
|
|
label: '乙方',
|
|
prop: 'partyB',
|
|
minWidth: 160,
|
|
},
|
|
{
|
|
label: '开始日期',
|
|
prop: 'startDate',
|
|
type: 'date',
|
|
format: 'YYYY-MM-DD',
|
|
valueFormat: 'YYYY-MM-DD',
|
|
minWidth: 130,
|
|
},
|
|
{
|
|
label: '结束日期',
|
|
prop: 'endDate',
|
|
type: 'date',
|
|
format: 'YYYY-MM-DD',
|
|
valueFormat: 'YYYY-MM-DD',
|
|
minWidth: 130,
|
|
},
|
|
{
|
|
label: '临时效力起',
|
|
prop: 'temporaryStartDate',
|
|
type: 'date',
|
|
format: 'YYYY-MM-DD',
|
|
valueFormat: 'YYYY-MM-DD',
|
|
minWidth: 130,
|
|
},
|
|
{
|
|
label: '临时效力止',
|
|
prop: 'temporaryEndDate',
|
|
type: 'date',
|
|
format: 'YYYY-MM-DD',
|
|
valueFormat: 'YYYY-MM-DD',
|
|
minWidth: 130,
|
|
},
|
|
{
|
|
label: '经办人',
|
|
prop: 'handlerUserName',
|
|
minWidth: 120,
|
|
},
|
|
{
|
|
label: '创建时间',
|
|
prop: 'createTime',
|
|
type: 'datetime',
|
|
minWidth: 170,
|
|
},
|
|
{
|
|
label: '审核状态',
|
|
prop: 'approvalStatus',
|
|
type: 'select',
|
|
search: true,
|
|
searchPlaceholder: '请选择',
|
|
searchOrder: 40,
|
|
dicData: approvalStatusOptions,
|
|
minWidth: 110,
|
|
},
|
|
{
|
|
label: '当前节点',
|
|
prop: 'currentNode',
|
|
minWidth: 120,
|
|
},
|
|
{
|
|
label: '当前处理人',
|
|
prop: 'currentProcessor',
|
|
minWidth: 120,
|
|
},
|
|
{
|
|
label: '同步状态',
|
|
prop: 'syncStatus',
|
|
type: 'select',
|
|
dicData: hcsSyncStatusOptions,
|
|
minWidth: 110,
|
|
},
|
|
]);
|