|
|
|
@ -7,14 +7,36 @@ import {
|
|
|
|
|
GetFeeCodeSelectList,
|
|
|
|
|
GetFeeCurrencySelectList,
|
|
|
|
|
} from '/@/views/operation/CustomerReconciliation/api.js'
|
|
|
|
|
import {
|
|
|
|
|
GetClientStlModeSelectList,
|
|
|
|
|
GetVesselSelectList,
|
|
|
|
|
GetVoynoSelectList,
|
|
|
|
|
GetAgentCnClientList,
|
|
|
|
|
GetClientPortSelectList,
|
|
|
|
|
} from '/@/views/operation/seaexport/api/BookingLedger.js'
|
|
|
|
|
import { GetClientListByCode } from '/@/api/common'
|
|
|
|
|
import { billTypeData } from '/@/views/operation/CustomerReconciliation/detail/detailColumns'
|
|
|
|
|
export const RQueryArr = ['currency']
|
|
|
|
|
export const TFData = [
|
|
|
|
|
{ value: true, label: '是' },
|
|
|
|
|
{ value: false, label: '否' },
|
|
|
|
|
]
|
|
|
|
|
export const RQueryArr = [
|
|
|
|
|
'customerId',
|
|
|
|
|
'createTime',
|
|
|
|
|
'billType',
|
|
|
|
|
'isDebit',
|
|
|
|
|
'stlName',
|
|
|
|
|
'currency',
|
|
|
|
|
'feeName',
|
|
|
|
|
'forwarderId',
|
|
|
|
|
'dischargePortId',
|
|
|
|
|
'loadPortId',
|
|
|
|
|
]
|
|
|
|
|
// 表单
|
|
|
|
|
export const schemas: FormSchema[] = [
|
|
|
|
|
{ field: 'mblno', component: 'Input', label: '主提单号', colProps: { span: 4 } },
|
|
|
|
|
{
|
|
|
|
|
label: '币别',
|
|
|
|
|
field: 'currency',
|
|
|
|
|
label: '费用对象',
|
|
|
|
|
field: 'customerId',
|
|
|
|
|
component: 'ApiSelect',
|
|
|
|
|
required: false,
|
|
|
|
|
dynamicDisabled: false,
|
|
|
|
@ -23,14 +45,14 @@ export const schemas: FormSchema[] = [
|
|
|
|
|
return {
|
|
|
|
|
api: () => {
|
|
|
|
|
return new Promise((resolve) => {
|
|
|
|
|
GetFeeCurrencySelectList().then((res) => {
|
|
|
|
|
console.log(res, 111111111111111111111111)
|
|
|
|
|
GetClientListByCode().then((res) => {
|
|
|
|
|
console.log(res)
|
|
|
|
|
resolve(res)
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
immediate: false,
|
|
|
|
|
labelField: 'name',
|
|
|
|
|
labelField: 'shortName',
|
|
|
|
|
valueField: 'codeName',
|
|
|
|
|
resultField: 'data',
|
|
|
|
|
filterOption: (input: string, option: any) => {
|
|
|
|
@ -39,39 +61,35 @@ export const schemas: FormSchema[] = [
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
// {
|
|
|
|
|
// label: '费用对象',
|
|
|
|
|
// field: 'customerId',
|
|
|
|
|
// component: 'ApiSelect',
|
|
|
|
|
// required: false,
|
|
|
|
|
// dynamicDisabled: false,
|
|
|
|
|
// colProps: { span: 4 },
|
|
|
|
|
// componentProps: () => {
|
|
|
|
|
// return {
|
|
|
|
|
// api: () => {
|
|
|
|
|
// return new Promise((resolve) => {
|
|
|
|
|
// GetFeeCodeSelectList().then((res) => {
|
|
|
|
|
// res.data.forEach((item) => {
|
|
|
|
|
// item.label = item.code + '-' + item.name
|
|
|
|
|
// })
|
|
|
|
|
// resolve(res)
|
|
|
|
|
// })
|
|
|
|
|
// })
|
|
|
|
|
// },
|
|
|
|
|
// immediate: false,
|
|
|
|
|
// valueField: 'id',
|
|
|
|
|
// resultField: 'data',
|
|
|
|
|
// filterOption: (input: string, option: any) => {
|
|
|
|
|
// return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
|
|
|
|
// },
|
|
|
|
|
// }
|
|
|
|
|
// },
|
|
|
|
|
// },
|
|
|
|
|
// { field: 'field1', component: 'Input', label: '编号检索', colProps: { span: 4 } },
|
|
|
|
|
// { field: 'field2', component: 'DatePicker', label: '从业务日期', colProps: { span: 4 } },
|
|
|
|
|
// { field: 'field3', component: 'DatePicker', label: '到业务日期', colProps: { span: 3 } },
|
|
|
|
|
// { field: 'field4', component: 'DatePicker', label: '从费用日期', colProps: { span: 3 } },
|
|
|
|
|
// { field: 'field5', component: 'DatePicker', label: '到费用日期', colProps: { span: 3 } },
|
|
|
|
|
{
|
|
|
|
|
field: 'customNo',
|
|
|
|
|
component: 'Input',
|
|
|
|
|
label: '编号检索',
|
|
|
|
|
dynamicDisabled: false,
|
|
|
|
|
colProps: { span: 4 },
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'etd',
|
|
|
|
|
label: '业务日期',
|
|
|
|
|
component: 'RangePicker',
|
|
|
|
|
required: false,
|
|
|
|
|
dynamicDisabled: false,
|
|
|
|
|
colProps: { span: 7 },
|
|
|
|
|
componentProps: {
|
|
|
|
|
allowClear: true,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'createTime',
|
|
|
|
|
label: '费用日期',
|
|
|
|
|
component: 'RangePicker',
|
|
|
|
|
required: false,
|
|
|
|
|
dynamicDisabled: false,
|
|
|
|
|
colProps: { span: 6 },
|
|
|
|
|
componentProps: {
|
|
|
|
|
allowClear: true,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'CZ',
|
|
|
|
|
component: 'Button',
|
|
|
|
@ -89,52 +107,130 @@ export const schemas: FormSchema[] = [
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
// {
|
|
|
|
|
// field: 'billType',
|
|
|
|
|
// component: 'Select',
|
|
|
|
|
// componentProps: {
|
|
|
|
|
// options: billTypeData,
|
|
|
|
|
// },
|
|
|
|
|
// label: '收付类型',
|
|
|
|
|
// colProps: { span: 2 },
|
|
|
|
|
// },
|
|
|
|
|
|
|
|
|
|
// { field: 'field7', component: 'Select', label: 'FRT', colProps: { span: 2 } },
|
|
|
|
|
// { field: 'field7', component: 'Select', label: '包含已到账', colProps: { span: 2 } },
|
|
|
|
|
// { field: 'field7', component: 'Select', label: '是否开票', colProps: { span: 2 } },
|
|
|
|
|
// { field: 'field7', component: 'Select', label: '是否垫付', colProps: { span: 2 } },
|
|
|
|
|
// { field: 'field6', component: 'Select', label: '委托单位', colProps: { span: 3 } },
|
|
|
|
|
// {
|
|
|
|
|
// label: '费用名称',
|
|
|
|
|
// field: 'field9',
|
|
|
|
|
// component: 'ApiSelect',
|
|
|
|
|
// required: false,
|
|
|
|
|
// dynamicDisabled: false,
|
|
|
|
|
// colProps: { span: 3 },
|
|
|
|
|
|
|
|
|
|
// componentProps: () => {
|
|
|
|
|
// return {
|
|
|
|
|
// api: () => {
|
|
|
|
|
// return new Promise((resolve) => {
|
|
|
|
|
// GetFeeCodeSelectList().then((res) => {
|
|
|
|
|
// res.data.forEach((item) => {
|
|
|
|
|
// item.label = item.code + '-' + item.name
|
|
|
|
|
// })
|
|
|
|
|
// resolve(res)
|
|
|
|
|
// })
|
|
|
|
|
// })
|
|
|
|
|
// },
|
|
|
|
|
// immediate: false,
|
|
|
|
|
// valueField: 'id',
|
|
|
|
|
// resultField: 'data',
|
|
|
|
|
// mode: 'multiple',
|
|
|
|
|
// filterOption: (input: string, option: any) => {
|
|
|
|
|
// return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
|
|
|
|
// },
|
|
|
|
|
// }
|
|
|
|
|
// },
|
|
|
|
|
// },
|
|
|
|
|
// { field: 'field9', component: 'Select', label: '费用范围', colProps: { span: 3 } },
|
|
|
|
|
{
|
|
|
|
|
field: 'billType',
|
|
|
|
|
component: 'Select',
|
|
|
|
|
componentProps: {
|
|
|
|
|
options: billTypeData,
|
|
|
|
|
},
|
|
|
|
|
label: '收付类型',
|
|
|
|
|
colProps: { span: 2 },
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'isDebit',
|
|
|
|
|
component: 'Select',
|
|
|
|
|
label: '是否对账',
|
|
|
|
|
dynamicDisabled: false,
|
|
|
|
|
colProps: { span: 2 },
|
|
|
|
|
componentProps: {
|
|
|
|
|
options: TFData,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '结算方式',
|
|
|
|
|
field: 'stlName',
|
|
|
|
|
component: 'ApiSelect',
|
|
|
|
|
required: false,
|
|
|
|
|
dynamicDisabled: false,
|
|
|
|
|
colProps: { span: 4 },
|
|
|
|
|
componentProps: () => {
|
|
|
|
|
return {
|
|
|
|
|
api: GetClientStlModeSelectList,
|
|
|
|
|
immediate: false,
|
|
|
|
|
labelField: 'stlName',
|
|
|
|
|
valueField: 'id',
|
|
|
|
|
resultField: 'data',
|
|
|
|
|
filterOption: (input: string, option: any) => {
|
|
|
|
|
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '币别',
|
|
|
|
|
field: 'currency',
|
|
|
|
|
component: 'ApiSelect',
|
|
|
|
|
required: false,
|
|
|
|
|
dynamicDisabled: false,
|
|
|
|
|
colProps: { span: 3 },
|
|
|
|
|
componentProps: () => {
|
|
|
|
|
return {
|
|
|
|
|
api: GetFeeCurrencySelectList,
|
|
|
|
|
immediate: false,
|
|
|
|
|
labelField: 'name',
|
|
|
|
|
valueField: 'codeName',
|
|
|
|
|
resultField: 'data',
|
|
|
|
|
filterOption: (input: string, option: any) => {
|
|
|
|
|
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '费用名称',
|
|
|
|
|
field: 'feeName',
|
|
|
|
|
component: 'ApiSelect',
|
|
|
|
|
required: false,
|
|
|
|
|
dynamicDisabled: false,
|
|
|
|
|
colProps: { span: 4 },
|
|
|
|
|
componentProps: () => {
|
|
|
|
|
return {
|
|
|
|
|
api: () => {
|
|
|
|
|
return new Promise((resolve) => {
|
|
|
|
|
GetFeeCodeSelectList().then((res) => {
|
|
|
|
|
res.data.forEach((item) => {
|
|
|
|
|
item.label = item.code + '-' + item.name
|
|
|
|
|
})
|
|
|
|
|
resolve(res)
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
immediate: false,
|
|
|
|
|
valueField: 'id',
|
|
|
|
|
resultField: 'data',
|
|
|
|
|
// mode: 'multiple',
|
|
|
|
|
filterOption: (input: string, option: any) => {
|
|
|
|
|
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'isSeaFreight',
|
|
|
|
|
component: 'Select',
|
|
|
|
|
label: '是否海运费',
|
|
|
|
|
dynamicDisabled: false,
|
|
|
|
|
colProps: { span: 3 },
|
|
|
|
|
componentProps: ({ formModel }) => {
|
|
|
|
|
return {
|
|
|
|
|
options: TFData,
|
|
|
|
|
onchange: (e) => {
|
|
|
|
|
if (e) {
|
|
|
|
|
formModel.feeName = '海运费'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '船名',
|
|
|
|
|
field: 'vessel',
|
|
|
|
|
component: 'ApiSelect',
|
|
|
|
|
required: false,
|
|
|
|
|
dynamicDisabled: false,
|
|
|
|
|
colProps: { span: 3 },
|
|
|
|
|
componentProps: () => {
|
|
|
|
|
return {
|
|
|
|
|
api: GetVesselSelectList,
|
|
|
|
|
labelField: 'vesselName',
|
|
|
|
|
valueField: 'id',
|
|
|
|
|
resultField: 'data',
|
|
|
|
|
filterOption: (input: string, option: any) => {
|
|
|
|
|
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'CS',
|
|
|
|
|
component: 'Button',
|
|
|
|
@ -152,15 +248,112 @@ export const schemas: FormSchema[] = [
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
// { field: 'field9', component: 'Select', label: '船名', colProps: { span: 4 } },
|
|
|
|
|
// { field: 'field9', component: 'Input', label: '航次', colProps: { span: 4 } },
|
|
|
|
|
// { field: 'field7', component: 'Select', label: '含海运费业务', colProps: { span: 2 } },
|
|
|
|
|
// { field: 'field7', component: 'Switch', label: '记忆查询', colProps: { span: 2 } },
|
|
|
|
|
// { field: 'field9', component: 'Select', label: '港口(国外)', colProps: { span: 3 } },
|
|
|
|
|
// { field: 'field9', component: 'Select', label: '港口(国内)', colProps: { span: 3 } },
|
|
|
|
|
// { field: 'field9', component: 'Select', label: '国外代理', colProps: { span: 3 } },
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
label: '航次',
|
|
|
|
|
field: 'voyno',
|
|
|
|
|
component: 'ApiSelect',
|
|
|
|
|
required: false,
|
|
|
|
|
dynamicDisabled: false,
|
|
|
|
|
colProps: { span: 4 },
|
|
|
|
|
componentProps: () => {
|
|
|
|
|
return {
|
|
|
|
|
api: GetVoynoSelectList,
|
|
|
|
|
immediate: false,
|
|
|
|
|
labelField: 'voyNo',
|
|
|
|
|
valueField: 'id',
|
|
|
|
|
resultField: 'data',
|
|
|
|
|
filterOption: (input: string, option: any) => {
|
|
|
|
|
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '国外代理',
|
|
|
|
|
field: 'forwarderId',
|
|
|
|
|
component: 'ApiSelect',
|
|
|
|
|
required: false,
|
|
|
|
|
dynamicDisabled: false,
|
|
|
|
|
colProps: { span: 4 },
|
|
|
|
|
componentProps: ({ formModel }) => {
|
|
|
|
|
return {
|
|
|
|
|
api: GetAgentCnClientList,
|
|
|
|
|
labelField: 'shortName',
|
|
|
|
|
valueField: 'id',
|
|
|
|
|
resultField: 'data',
|
|
|
|
|
filterOption: (input: string, option: any) => {
|
|
|
|
|
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
|
|
|
|
},
|
|
|
|
|
onChange: (e, obj) => {
|
|
|
|
|
if (e) {
|
|
|
|
|
formModel.forwarder = obj.label
|
|
|
|
|
} else {
|
|
|
|
|
formModel.forwarder = ''
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '港口(国外)',
|
|
|
|
|
field: 'dischargePortId',
|
|
|
|
|
component: 'ApiSelect',
|
|
|
|
|
required: false,
|
|
|
|
|
dynamicDisabled: false,
|
|
|
|
|
colProps: { span: 3 },
|
|
|
|
|
componentProps: () => {
|
|
|
|
|
return {
|
|
|
|
|
api: () => {
|
|
|
|
|
return new Promise((resolve) => {
|
|
|
|
|
GetClientPortSelectList().then((res) => {
|
|
|
|
|
res.data.forEach((item) => {
|
|
|
|
|
if (item.ediCode) item.cnName = item.ediCode + '/' + item.cnName
|
|
|
|
|
})
|
|
|
|
|
resolve(res)
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
immediate: false,
|
|
|
|
|
labelField: 'cnName',
|
|
|
|
|
valueField: 'id',
|
|
|
|
|
resultField: 'data',
|
|
|
|
|
filterOption: (input: string, option: any) => {
|
|
|
|
|
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '港口(国内)',
|
|
|
|
|
field: 'loadPortId',
|
|
|
|
|
component: 'ApiSelect',
|
|
|
|
|
required: false,
|
|
|
|
|
dynamicDisabled: false,
|
|
|
|
|
colProps: { span: 4 },
|
|
|
|
|
componentProps: () => {
|
|
|
|
|
return {
|
|
|
|
|
api: () => {
|
|
|
|
|
return new Promise((resolve) => {
|
|
|
|
|
GetClientPortSelectList().then((res) => {
|
|
|
|
|
res.data.forEach((item) => {
|
|
|
|
|
if (item.ediCode) item.cnName = item.ediCode + '/' + item.cnName
|
|
|
|
|
})
|
|
|
|
|
resolve(res)
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
immediate: false,
|
|
|
|
|
labelField: 'cnName',
|
|
|
|
|
valueField: 'id',
|
|
|
|
|
resultField: 'data',
|
|
|
|
|
filterOption: (input: string, option: any) => {
|
|
|
|
|
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
]
|
|
|
|
|
//左列表
|
|
|
|
|
export const columnsL: BasicColumn[] = [
|
|
|
|
|
{ title: '业务类型', dataIndex: 'businessTypeName', align: 'left' },
|
|
|
|
|
{ title: '委托单位', dataIndex: 'customerName', align: 'left' },
|
|
|
|
|