737 lines
17 KiB
TypeScript
737 lines
17 KiB
TypeScript
import { FormProps, FormSchema } from '/@/components/Form';
|
|
import { BasicColumn } from '/@/components/Table';
|
|
|
|
export const formConfig = {
|
|
useCustomConfig: false,
|
|
};
|
|
|
|
export const searchFormSchema: FormSchema[] = [
|
|
{
|
|
field: 'dateFrom',
|
|
label: '有效期',
|
|
component: 'RangePicker',
|
|
componentProps: {
|
|
format: 'YYYY-MM-DD',
|
|
style: { width: '100%' },
|
|
getPopupContainer: () => document.body,
|
|
},
|
|
},
|
|
{
|
|
field: 'kName',
|
|
label: '合同号/名称',
|
|
component: 'Input',
|
|
},
|
|
{
|
|
field: 'cpName',
|
|
label: '客户',
|
|
component: 'Input',
|
|
},
|
|
{
|
|
field: 'longSpotCode',
|
|
label: '长协现货',
|
|
component: 'XjrSelect',
|
|
componentProps: {
|
|
datasourceType: 'dic',
|
|
params: { itemId: '2018871666841546754' },
|
|
labelField: 'name',
|
|
valueField: 'value',
|
|
|
|
getPopupContainer: () => document.body,
|
|
},
|
|
},
|
|
{
|
|
field: 'comId',
|
|
label: '合同主体',
|
|
component: 'Select',
|
|
componentProps: {
|
|
showSearch: true,
|
|
optionFilterProp: 'label',
|
|
filterOption: (input: string, option: any) => {
|
|
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0;
|
|
},
|
|
options: [
|
|
// { label: '全部', value: '' },
|
|
],
|
|
placeholder: '请选择',
|
|
allowClear: true,
|
|
|
|
getPopupContainer: () => document.body,
|
|
},
|
|
},
|
|
{
|
|
field: 'approCode',
|
|
label: '审批状态',
|
|
component: 'XjrSelect',
|
|
componentProps: {
|
|
datasourceType: 'dic',
|
|
params: { itemId: '1990669393069129729' },
|
|
labelField: 'name',
|
|
valueField: 'value',
|
|
|
|
getPopupContainer: () => document.body,
|
|
},
|
|
},
|
|
];
|
|
|
|
export const columns: BasicColumn[] = [
|
|
|
|
{
|
|
dataIndex: 'kNo',
|
|
title: '合同号',
|
|
componentType: 'input',
|
|
align: 'left',
|
|
width: 200,
|
|
sorter: true,
|
|
},
|
|
|
|
{
|
|
dataIndex: 'kName',
|
|
title: '合同名称',
|
|
componentType: 'input',
|
|
align: 'left',
|
|
width: 250,
|
|
sorter: true,
|
|
},
|
|
|
|
{
|
|
dataIndex: 'cpName',
|
|
title: '客户',
|
|
componentType: 'input',
|
|
align: 'left',
|
|
width: 150,
|
|
sorter: true,
|
|
},
|
|
|
|
{
|
|
dataIndex: 'dateFrom',
|
|
title: '有效期开始',
|
|
componentType: 'input',
|
|
align: 'left',
|
|
width: 120,
|
|
sorter: true,
|
|
},
|
|
|
|
{
|
|
dataIndex: 'dateTo',
|
|
title: '有效期结束',
|
|
componentType: 'input',
|
|
align: 'left',
|
|
width: 120,
|
|
sorter: true,
|
|
},
|
|
{
|
|
dataIndex: 'longSpotName',
|
|
title: ' 长协/现货',
|
|
componentType: 'input',
|
|
align: 'left',
|
|
width: 100,
|
|
sorter: true,
|
|
},
|
|
|
|
{
|
|
dataIndex: 'comName',
|
|
title: '合同主体',
|
|
componentType: 'input',
|
|
align: 'left',
|
|
width: 120,
|
|
sorter: true,
|
|
},
|
|
{
|
|
dataIndex: 'approName',
|
|
title: '状态',
|
|
componentType: 'input',
|
|
align: 'left',
|
|
width: 80,
|
|
sorter: true,
|
|
},
|
|
];
|
|
//表单事件
|
|
export const formEventConfigs = {
|
|
0: [
|
|
{
|
|
type: 'circle',
|
|
color: '#2774ff',
|
|
text: '开始节点',
|
|
icon: '#icon-kaishi',
|
|
bgcColor: '#D8E5FF',
|
|
isUserDefined: false,
|
|
},
|
|
{
|
|
color: '#F6AB01',
|
|
icon: '#icon-chushihua',
|
|
text: '初始化表单',
|
|
bgcColor: '#f9f5ea',
|
|
isUserDefined: false,
|
|
nodeInfo: { processEvent: [] },
|
|
},
|
|
],
|
|
1: [
|
|
{
|
|
color: '#B36EDB',
|
|
icon: '#icon-shujufenxi',
|
|
text: '获取表单数据',
|
|
detail: '(新增无此操作)',
|
|
bgcColor: '#F8F2FC',
|
|
isUserDefined: false,
|
|
nodeInfo: { processEvent: [] },
|
|
},
|
|
],
|
|
2: [
|
|
{
|
|
color: '#F8625C',
|
|
icon: '#icon-jiazai',
|
|
text: '加载表单',
|
|
bgcColor: '#FFF1F1',
|
|
isUserDefined: false,
|
|
nodeInfo: { processEvent: [] },
|
|
},
|
|
],
|
|
3: [
|
|
{
|
|
color: '#6C6AE0',
|
|
icon: '#icon-jsontijiao',
|
|
text: '提交表单',
|
|
bgcColor: '#F5F4FF',
|
|
isUserDefined: false,
|
|
nodeInfo: { processEvent: [] },
|
|
},
|
|
],
|
|
4: [
|
|
{
|
|
type: 'circle',
|
|
color: '#F8625C',
|
|
text: '结束节点',
|
|
icon: '#icon-jieshuzhiliao',
|
|
bgcColor: '#FFD6D6',
|
|
isLast: true,
|
|
isUserDefined: false,
|
|
},
|
|
],
|
|
};
|
|
export const formProps: FormProps = {
|
|
labelCol: { span: 3, offset: 0 },
|
|
labelAlign: 'right',
|
|
layout: 'horizontal',
|
|
size: 'default',
|
|
schemas: [
|
|
{
|
|
key: '78069583d31647abafa20cbca816202a',
|
|
field: 'id',
|
|
label: 'id',
|
|
type: 'input',
|
|
component: 'Input',
|
|
colProps: { span: 24 },
|
|
defaultValue: '',
|
|
componentProps: {
|
|
width: '100%',
|
|
span: '',
|
|
defaultValue: '',
|
|
labelWidthMode: 'fix',
|
|
labelFixWidth: 120,
|
|
responsive: false,
|
|
respNewRow: false,
|
|
placeholder: '请输入id',
|
|
prefix: '',
|
|
suffix: '',
|
|
addonBefore: '',
|
|
addonAfter: '',
|
|
disabled: false,
|
|
allowClear: false,
|
|
showLabel: true,
|
|
required: false,
|
|
rules: [],
|
|
events: {},
|
|
isSave: false,
|
|
isShow: true,
|
|
scan: false,
|
|
style: { width: '100%' },
|
|
},
|
|
},
|
|
{
|
|
key: '8e72b59c0294429aa82b9537848c9d0d',
|
|
field: 'kNo',
|
|
label: '合同号',
|
|
type: 'input',
|
|
component: 'Input',
|
|
colProps: { span: 24 },
|
|
defaultValue: '',
|
|
componentProps: {
|
|
width: '100%',
|
|
span: '',
|
|
defaultValue: '',
|
|
labelWidthMode: 'fix',
|
|
labelFixWidth: 120,
|
|
responsive: false,
|
|
respNewRow: false,
|
|
placeholder: '请输入合同号',
|
|
maxlength: null,
|
|
prefix: '',
|
|
suffix: '',
|
|
addonBefore: '',
|
|
addonAfter: '',
|
|
disabled: false,
|
|
allowClear: false,
|
|
showLabel: true,
|
|
required: false,
|
|
rules: [],
|
|
events: {},
|
|
isSave: false,
|
|
isShow: true,
|
|
scan: false,
|
|
style: { width: '100%' },
|
|
},
|
|
},
|
|
{
|
|
key: '55301c8174424692aa917df7e1d15706',
|
|
field: 'kName',
|
|
label: '合同名称',
|
|
type: 'input',
|
|
component: 'Input',
|
|
colProps: { span: 24 },
|
|
defaultValue: '',
|
|
componentProps: {
|
|
width: '100%',
|
|
span: '',
|
|
defaultValue: '',
|
|
labelWidthMode: 'fix',
|
|
labelFixWidth: 120,
|
|
responsive: false,
|
|
respNewRow: false,
|
|
placeholder: '请输入合同名称',
|
|
maxlength: null,
|
|
prefix: '',
|
|
suffix: '',
|
|
addonBefore: '',
|
|
addonAfter: '',
|
|
disabled: false,
|
|
allowClear: false,
|
|
showLabel: true,
|
|
required: false,
|
|
rules: [],
|
|
events: {},
|
|
isSave: false,
|
|
isShow: true,
|
|
scan: false,
|
|
style: { width: '100%' },
|
|
},
|
|
},
|
|
{
|
|
key: '4c153b6d960b498fad4edf77d7de070d',
|
|
field: 'cpCode',
|
|
label: '客户',
|
|
type: 'input',
|
|
component: 'Input',
|
|
colProps: { span: 24 },
|
|
defaultValue: '',
|
|
componentProps: {
|
|
width: '100%',
|
|
span: '',
|
|
defaultValue: '',
|
|
labelWidthMode: 'fix',
|
|
labelFixWidth: 120,
|
|
responsive: false,
|
|
respNewRow: false,
|
|
placeholder: '请输入客户',
|
|
maxlength: null,
|
|
prefix: '',
|
|
suffix: '',
|
|
addonBefore: '',
|
|
addonAfter: '',
|
|
disabled: false,
|
|
allowClear: false,
|
|
showLabel: true,
|
|
required: false,
|
|
rules: [],
|
|
events: {},
|
|
isSave: false,
|
|
isShow: true,
|
|
scan: false,
|
|
style: { width: '100%' },
|
|
},
|
|
},
|
|
{
|
|
key: '1b9aa275c8b94518be41f6c31030164d',
|
|
field: 'dateFrom',
|
|
label: '有效期开始',
|
|
type: 'input',
|
|
component: 'Input',
|
|
colProps: { span: 24 },
|
|
defaultValue: '',
|
|
componentProps: {
|
|
width: '100%',
|
|
span: '',
|
|
defaultValue: '',
|
|
labelWidthMode: 'fix',
|
|
labelFixWidth: 120,
|
|
responsive: false,
|
|
respNewRow: false,
|
|
placeholder: '请输入有效期开始',
|
|
maxlength: null,
|
|
prefix: '',
|
|
suffix: '',
|
|
addonBefore: '',
|
|
addonAfter: '',
|
|
disabled: false,
|
|
allowClear: false,
|
|
showLabel: true,
|
|
required: false,
|
|
rules: [],
|
|
events: {},
|
|
isSave: false,
|
|
isShow: true,
|
|
scan: false,
|
|
style: { width: '100%' },
|
|
},
|
|
},
|
|
{
|
|
key: '23c4724a51f54b458d9f1cecdfe26283',
|
|
field: 'dateTo',
|
|
label: '有效期结束',
|
|
type: 'input',
|
|
component: 'Input',
|
|
colProps: { span: 24 },
|
|
defaultValue: '',
|
|
componentProps: {
|
|
width: '100%',
|
|
span: '',
|
|
defaultValue: '',
|
|
labelWidthMode: 'fix',
|
|
labelFixWidth: 120,
|
|
responsive: false,
|
|
respNewRow: false,
|
|
placeholder: '请输入有效期结束',
|
|
maxlength: null,
|
|
prefix: '',
|
|
suffix: '',
|
|
addonBefore: '',
|
|
addonAfter: '',
|
|
disabled: false,
|
|
allowClear: false,
|
|
showLabel: true,
|
|
required: false,
|
|
rules: [],
|
|
events: {},
|
|
isSave: false,
|
|
isShow: true,
|
|
scan: false,
|
|
style: { width: '100%' },
|
|
},
|
|
},
|
|
{
|
|
key: 'bfed8f792dab483582acf337c92f8939',
|
|
field: 'approCode',
|
|
label: '状态',
|
|
type: 'input',
|
|
component: 'Input',
|
|
colProps: { span: 24 },
|
|
defaultValue: '',
|
|
componentProps: {
|
|
width: '100%',
|
|
span: '',
|
|
defaultValue: '',
|
|
labelWidthMode: 'fix',
|
|
labelFixWidth: 120,
|
|
responsive: false,
|
|
respNewRow: false,
|
|
placeholder: '请输入状态',
|
|
maxlength: null,
|
|
prefix: '',
|
|
suffix: '',
|
|
addonBefore: '',
|
|
addonAfter: '',
|
|
disabled: false,
|
|
allowClear: false,
|
|
showLabel: true,
|
|
required: false,
|
|
rules: [],
|
|
events: {},
|
|
isSave: false,
|
|
isShow: true,
|
|
scan: false,
|
|
style: { width: '100%' },
|
|
},
|
|
},
|
|
{
|
|
key: '2dd66cb3955d4fc7a683f90706a582ac',
|
|
field: 'onlineSign',
|
|
label: ' 长协/现货',
|
|
type: 'input',
|
|
component: 'Input',
|
|
colProps: { span: 24 },
|
|
defaultValue: '',
|
|
componentProps: {
|
|
width: '100%',
|
|
span: '',
|
|
defaultValue: '',
|
|
labelWidthMode: 'fix',
|
|
labelFixWidth: 120,
|
|
responsive: false,
|
|
respNewRow: false,
|
|
placeholder: '请输入 长协/现货',
|
|
maxlength: null,
|
|
prefix: '',
|
|
suffix: '',
|
|
addonBefore: '',
|
|
addonAfter: '',
|
|
disabled: false,
|
|
allowClear: false,
|
|
showLabel: true,
|
|
required: false,
|
|
rules: [],
|
|
events: {},
|
|
isSave: false,
|
|
isShow: true,
|
|
scan: false,
|
|
style: { width: '100%' },
|
|
},
|
|
},
|
|
{
|
|
key: '86de8960a0234dfca53589b781057db0',
|
|
field: 'comId',
|
|
label: '合同主体',
|
|
type: 'input',
|
|
component: 'Input',
|
|
colProps: { span: 24 },
|
|
defaultValue: '',
|
|
componentProps: {
|
|
width: '100%',
|
|
span: '',
|
|
defaultValue: '',
|
|
labelWidthMode: 'fix',
|
|
labelFixWidth: 120,
|
|
responsive: false,
|
|
respNewRow: false,
|
|
placeholder: '请输入合同主体',
|
|
maxlength: null,
|
|
prefix: '',
|
|
suffix: '',
|
|
addonBefore: '',
|
|
addonAfter: '',
|
|
disabled: false,
|
|
allowClear: false,
|
|
showLabel: true,
|
|
required: false,
|
|
rules: [],
|
|
events: {},
|
|
isSave: false,
|
|
isShow: true,
|
|
scan: false,
|
|
style: { width: '100%' },
|
|
},
|
|
},
|
|
{
|
|
key: '080137758b784c6d963933012d70577c',
|
|
field: 'note',
|
|
label: '备注',
|
|
type: 'input',
|
|
component: 'Input',
|
|
colProps: { span: 24 },
|
|
defaultValue: '',
|
|
componentProps: {
|
|
width: '100%',
|
|
span: '',
|
|
defaultValue: '',
|
|
labelWidthMode: 'fix',
|
|
labelFixWidth: 120,
|
|
responsive: false,
|
|
respNewRow: false,
|
|
placeholder: '请输入备注',
|
|
maxlength: null,
|
|
prefix: '',
|
|
suffix: '',
|
|
addonBefore: '',
|
|
addonAfter: '',
|
|
disabled: false,
|
|
allowClear: false,
|
|
showLabel: true,
|
|
required: false,
|
|
rules: [],
|
|
events: {},
|
|
isSave: false,
|
|
isShow: true,
|
|
scan: false,
|
|
style: { width: '100%' },
|
|
},
|
|
},
|
|
{
|
|
key: '1dfe4e60cc744c1a8d2e9457b630d805',
|
|
label: '表格组件',
|
|
field: 'lngContractSalesIntList',
|
|
type: 'form',
|
|
component: 'SubForm',
|
|
required: true,
|
|
colProps: { span: 24 },
|
|
componentProps: {
|
|
mainKey: 'lngContractSalesIntList',
|
|
columns: [
|
|
{
|
|
key: 'e8df885a3f25478dbf53c2ed13b8a48e',
|
|
title: '单行文本',
|
|
dataIndex: 'id',
|
|
componentType: 'Input',
|
|
defaultValue: '',
|
|
componentProps: {
|
|
width: '100%',
|
|
span: '',
|
|
defaultValue: '',
|
|
labelWidthMode: 'fix',
|
|
labelFixWidth: 120,
|
|
responsive: false,
|
|
respNewRow: false,
|
|
placeholder: '请输入单行文本',
|
|
prefix: '',
|
|
suffix: '',
|
|
addonBefore: '',
|
|
addonAfter: '',
|
|
disabled: false,
|
|
allowClear: false,
|
|
showLabel: true,
|
|
required: false,
|
|
rules: [],
|
|
events: {},
|
|
isSave: false,
|
|
isShow: true,
|
|
scan: false,
|
|
},
|
|
},
|
|
{ title: '操作', key: 'action', fixed: 'right', width: '50px' },
|
|
],
|
|
span: '24',
|
|
preloadType: 'api',
|
|
apiConfig: {},
|
|
itemId: '',
|
|
dicOptions: [],
|
|
useSelectButton: false,
|
|
buttonName: '选择数据',
|
|
showLabel: true,
|
|
showComponentBorder: true,
|
|
showFormBorder: true,
|
|
showIndex: false,
|
|
isShow: true,
|
|
multipleHeads: [],
|
|
},
|
|
},
|
|
{
|
|
key: '25eb524c997d4d4986a3fc400899fff4',
|
|
label: '表格组件',
|
|
field: 'lngContractFactRelList',
|
|
type: 'form',
|
|
component: 'SubForm',
|
|
required: true,
|
|
colProps: { span: 24 },
|
|
componentProps: {
|
|
mainKey: 'lngContractFactRelList',
|
|
columns: [
|
|
{
|
|
key: '718e23353c004f2b8b9f0772bdccda42',
|
|
title: '单行文本',
|
|
dataIndex: 'id',
|
|
componentType: 'Input',
|
|
defaultValue: '',
|
|
componentProps: {
|
|
width: '100%',
|
|
span: '',
|
|
defaultValue: '',
|
|
labelWidthMode: 'fix',
|
|
labelFixWidth: 120,
|
|
responsive: false,
|
|
respNewRow: false,
|
|
placeholder: '请输入单行文本',
|
|
prefix: '',
|
|
suffix: '',
|
|
addonBefore: '',
|
|
addonAfter: '',
|
|
disabled: false,
|
|
allowClear: false,
|
|
showLabel: true,
|
|
required: false,
|
|
rules: [],
|
|
events: {},
|
|
isSave: false,
|
|
isShow: true,
|
|
scan: false,
|
|
},
|
|
},
|
|
{ title: '操作', key: 'action', fixed: 'right', width: '50px' },
|
|
],
|
|
span: '24',
|
|
preloadType: 'api',
|
|
apiConfig: {},
|
|
itemId: '',
|
|
dicOptions: [],
|
|
useSelectButton: false,
|
|
buttonName: '选择数据',
|
|
showLabel: true,
|
|
showComponentBorder: true,
|
|
showFormBorder: true,
|
|
showIndex: false,
|
|
isShow: true,
|
|
multipleHeads: [],
|
|
},
|
|
},
|
|
{
|
|
key: 'b256413d175442329e39f6fd0f0a55e3',
|
|
label: '表格组件',
|
|
field: 'lngContractApproRelList',
|
|
type: 'form',
|
|
component: 'SubForm',
|
|
required: true,
|
|
colProps: { span: 24 },
|
|
componentProps: {
|
|
mainKey: 'lngContractApproRelList',
|
|
columns: [
|
|
{
|
|
key: '2a7034e3da7d4ce586424b0919fc5625',
|
|
title: '单行文本',
|
|
dataIndex: 'id',
|
|
componentType: 'Input',
|
|
defaultValue: '',
|
|
componentProps: {
|
|
width: '100%',
|
|
span: '',
|
|
defaultValue: '',
|
|
labelWidthMode: 'fix',
|
|
labelFixWidth: 120,
|
|
responsive: false,
|
|
respNewRow: false,
|
|
placeholder: '请输入单行文本',
|
|
prefix: '',
|
|
suffix: '',
|
|
addonBefore: '',
|
|
addonAfter: '',
|
|
disabled: false,
|
|
allowClear: false,
|
|
showLabel: true,
|
|
required: false,
|
|
rules: [],
|
|
events: {},
|
|
isSave: false,
|
|
isShow: true,
|
|
scan: false,
|
|
},
|
|
},
|
|
{ title: '操作', key: 'action', fixed: 'right', width: '50px' },
|
|
],
|
|
span: '24',
|
|
preloadType: 'api',
|
|
apiConfig: {},
|
|
itemId: '',
|
|
dicOptions: [],
|
|
useSelectButton: false,
|
|
buttonName: '选择数据',
|
|
showLabel: true,
|
|
showComponentBorder: true,
|
|
showFormBorder: true,
|
|
showIndex: false,
|
|
isShow: true,
|
|
multipleHeads: [],
|
|
},
|
|
},
|
|
],
|
|
showActionButtonGroup: false,
|
|
buttonLocation: 'center',
|
|
actionColOptions: { span: 24 },
|
|
showResetButton: false,
|
|
showSubmitButton: false,
|
|
hiddenComponent: [],
|
|
}; |