From 7d61f247e3f44376049cc6e951085af62c002de6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=BC=A0=E5=90=8C=E6=B5=B7?=
<14166000+zhangtonghai@user.noreply.gitee.com>
Date: Thu, 13 Jun 2024 17:59:51 +0800
Subject: [PATCH] 06/13
---
src/components/CostEntry/feeTable.vue | 268 +++--
src/styles/buttonGroup.scss | 5 +-
.../components/Button.vue | 1 +
.../CustomerReconciliation/detail/index.vue | 8 +-
.../detail/info/index.vue | 52 +-
.../detail/info/infoColumns.tsx | 381 +++++--
.../detail/modules/operationArea.vue | 2 +-
.../seaexport/detail/modules/preOrder.vue | 1015 ++++++++++++++++-
8 files changed, 1461 insertions(+), 271 deletions(-)
diff --git a/src/components/CostEntry/feeTable.vue b/src/components/CostEntry/feeTable.vue
index e59678b5..ae0b9b7f 100644
--- a/src/components/CostEntry/feeTable.vue
+++ b/src/components/CostEntry/feeTable.vue
@@ -75,13 +75,13 @@
type: Array,
default: () => {
return []
- }
+ },
},
// 业务ID
id: {
type: String,
- default: ''
- }
+ default: '',
+ },
})
const emits = defineEmits(['broInsert'])
// 费用名称字典
@@ -110,7 +110,7 @@
feeEnName: '',
quantity: 1,
exchangeRate: 1,
- feeType: props.tbType == 'receive' ? 1 : 2
+ feeType: props.tbType == 'receive' ? 1 : 2,
}
// 表格绑定数据
const list = ref([])
@@ -159,7 +159,7 @@
if (!feeDict.value.length) feeDict.value = res
console.log(res)
const dict = res.map((res) => {
- return res.code + '-' +res.name
+ return res.code + '-' + res.name
})
process(dict)
},
@@ -199,13 +199,13 @@
type: 'dropdown',
source: async (query, process) => {
// 获取当前选中行
- const rowIndex = hotTb.value.hotInstance.getActiveEditor().row
+ const rowIndex = hotTb.value.hotInstance.getActiveEditor().row
const code = list.value[rowIndex - 1].customerType
console.log(list.value[rowIndex - 1])
if (code) {
- GetClientListByCode({ code }).then(res => {
+ GetClientListByCode({ code }).then((res) => {
const { data } = res
- data.forEach(item => {
+ data.forEach((item) => {
item['label'] = item.shortName
item['value'] = item.codeName
})
@@ -216,7 +216,7 @@
process(dict)
})
} else {
- createMessage.warning("请先选择客户类别!")
+ createMessage.warning('请先选择客户类别!')
process([])
}
},
@@ -267,7 +267,7 @@
width: 120,
data: 'noTaxPrice',
type: 'numeric',
- readOnly: true
+ readOnly: true,
},
{
title: '不含税金额',
@@ -275,7 +275,7 @@
data: 'noTaxAmount',
type: 'numeric',
format: '0.00',
- readOnly: true
+ readOnly: true,
},
{
title: '金额',
@@ -359,8 +359,9 @@
title: '录入人',
width: 100,
data: 'createByName',
- readOnly: true
- }, {
+ readOnly: true,
+ },
+ {
title: '录入日期',
width: 100,
data: 'createTime',
@@ -388,13 +389,15 @@
title: '修改人',
width: 100,
data: 'updateByName',
- readOnly: true
- }, {
+ readOnly: true,
+ },
+ {
title: '修改日期',
width: 100,
data: 'updateTime',
- readOnly: true
- }, {
+ readOnly: true,
+ },
+ {
title: '发票申请金额',
width: 100,
data: 'orderInvoiceAmount',
@@ -429,9 +432,9 @@
rowHeights: 32,
fixedColumnsLeft: 1,
// 需要隐藏的列
- hiddenColumns: {
+ hiddenColumns: {
columns: [1, 2],
- indicators: true
+ indicators: true,
},
// 控制回车移动
enterMoves: 'row',
@@ -528,34 +531,54 @@
// 修改不含税单价计算
if (changes[0][1] === 'noTaxPrice') {
// 单价
- list.value[index].unitPrice = Number((changes[0][3] || 0) * ((list.value[index].taxRate || 0) / 100 + 1)).toFixed(6)
+ list.value[index].unitPrice = Number(
+ (changes[0][3] || 0) * ((list.value[index].taxRate || 0) / 100 + 1),
+ ).toFixed(6)
// 金额
- list.value[index].amount = Number((list.value[index].unitPrice || 0) * (list.value[index].quantity || 0)).toFixed(6)
+ list.value[index].amount = Number(
+ (list.value[index].unitPrice || 0) * (list.value[index].quantity || 0),
+ ).toFixed(6)
// 不含税金额
- list.value[index].noTaxAmount = Number((changes[0][3] || 0) * (list.value[index].quantity || 0)).toFixed(6)
+ list.value[index].noTaxAmount = Number(
+ (changes[0][3] || 0) * (list.value[index].quantity || 0),
+ ).toFixed(6)
}
// 修改单价计算
if (changes[0][1] === 'unitPrice') {
// 不含税单价
- list.value[index].noTaxPrice = Number((changes[0][3] || 0) / ((list.value[index].taxRate || 0) / 100 + 1)).toFixed(6)
+ list.value[index].noTaxPrice = Number(
+ (changes[0][3] || 0) / ((list.value[index].taxRate || 0) / 100 + 1),
+ ).toFixed(6)
// 金额
- list.value[index].amount = Number((changes[0][3] || 0) * (list.value[index].quantity || 0)).toFixed(6)
+ list.value[index].amount = Number(
+ (changes[0][3] || 0) * (list.value[index].quantity || 0),
+ ).toFixed(6)
// 不含税金额
- list.value[index].noTaxAmount = Number((list.value[index].noTaxPrice || 0) * (list.value[index].quantity || 0)).toFixed(6)
+ list.value[index].noTaxAmount = Number(
+ (list.value[index].noTaxPrice || 0) * (list.value[index].quantity || 0),
+ ).toFixed(6)
}
// 修改数量
if (changes[0][1] === 'quantity') {
// 金额
- list.value[index].amount = Number((changes[0][3] || 0) * (list.value[index].unitPrice || 0)).toFixed(6)
+ list.value[index].amount = Number(
+ (changes[0][3] || 0) * (list.value[index].unitPrice || 0),
+ ).toFixed(6)
// 不含税金额
- list.value[index].noTaxAmount = Number((changes[0][3] || 0) * (list.value[index].noTaxPrice || 0)).toFixed(6)
+ list.value[index].noTaxAmount = Number(
+ (changes[0][3] || 0) * (list.value[index].noTaxPrice || 0),
+ ).toFixed(6)
}
// 修改税率
if (changes[0][1] === 'taxRate') {
// 不含税单价
- list.value[index].noTaxPrice = Number((list.value[index].unitPrice || 0) / ((changes[0][3] || 0) / 100 + 1)).toFixed(6)
+ list.value[index].noTaxPrice = Number(
+ (list.value[index].unitPrice || 0) / ((changes[0][3] || 0) / 100 + 1),
+ ).toFixed(6)
// 不含税金额
- list.value[index].noTaxAmount = Number((list.value[index].noTaxPrice || 0) * (list.value[index].quantity || 0)).toFixed(6)
+ list.value[index].noTaxAmount = Number(
+ (list.value[index].noTaxPrice || 0) * (list.value[index].quantity || 0),
+ ).toFixed(6)
}
}
},
@@ -567,62 +590,70 @@
items: list.value.filter((res) => {
return res.feeStatus == 1
}),
- businessType: 1
+ businessType: 1,
}
loading.value = true
- SubmitFee(postData).then(res => {
- loading.value = false
- init()
- createMessage.success(res.message)
- }).catch(() => {
- loading.value = false
- })
+ SubmitFee(postData)
+ .then((res) => {
+ loading.value = false
+ init()
+ createMessage.success(res.message)
+ })
+ .catch(() => {
+ loading.value = false
+ })
}
// 提交审核
const submit = (arr) => {
loading.value = true
const ids = []
- arr.forEach(res => {
+ arr.forEach((res) => {
if (res.id) ids.push(res.id)
})
if (ids.length == arr.length) {
- ApplyAudit({ id: '', ids }).then(res => {
- loading.value = false
- createMessage.success(res.message)
- init()
- }).catch(() => {
- loading.value = false
- })
+ ApplyAudit({ id: '', ids })
+ .then((res) => {
+ loading.value = false
+ createMessage.success(res.message)
+ init()
+ })
+ .catch(() => {
+ loading.value = false
+ })
} else {
const postData = {
BusinessId: props.id,
- items: arr
+ items: arr,
}
- SubmitFee(postData).then(res => {
+ SubmitFee(postData).then((res) => {
const { data } = res
- const ids = data.map(item => {
+ const ids = data.map((item) => {
return item.id
})
- ApplyAudit({ ids }).then(res => {
- loading.value = false
- createMessage.success(res.message)
- init()
- }).catch(() => {
- loading.value = false
- })
+ ApplyAudit({ ids })
+ .then((res) => {
+ loading.value = false
+ createMessage.success(res.message)
+ init()
+ })
+ .catch(() => {
+ loading.value = false
+ })
})
}
}
// 撤销提交
const revoke = (ids) => {
loading.value = true
- Withdraw({ ids }).then(res => {
- loading.value = false
- createMessage.success(res.message)
- init()
- }).catch(() => {
- loading.value = false
- })
+ Withdraw({ ids })
+ .then((res) => {
+ loading.value = false
+ createMessage.success(res.message)
+ init()
+ })
+ .catch(() => {
+ loading.value = false
+ })
}
// 取消编辑
const cancelEdit = () => {
@@ -700,68 +731,69 @@
pageCondition: {
pageIndex: 1,
pageSize: 1000,
- sortConditions: []
+ sortConditions: [],
},
queryCondition: JSON.stringify([
{ FieldName: 'BusinessId', FieldValue: props.id, ConditionalType: 1 },
{ FieldName: 'FeeType', FieldValue: props.tbType == 'receive' ? 1 : 2, ConditionalType: 1 },
- ])
+ ]),
}
- GetList(postData).then(res => {
- loading.value = false
- const { data } = res
- data.forEach((item, index) => {
- item['feeStatusText'] = feeStatusList[item.feeStatus]
- if (item.createTime) item.createTime = item.createTime.split(' ')[0]
- if (item.auditDate) item.auditDate = item.auditDate.split(' ')[0]
- if (item.updateTime) item.updateTime = item.updateTime.split(' ')[0]
- if (item.updateTime == '1900-01-01') item.updateTime = ''
- })
- list.value = data
- // 设置原始数据,取消使用
- oldData = JSON.parse(JSON.stringify(data))
- if (data.length != 0) {
- hotTb.value.hotInstance.updateSettings({
- cells: function(row, col) {
- // 设置费用状态不是录入状态的行为只读
- const props = { readOnly: true }
- // 审核通过(STATUS=0)
- // 录入状态(STATUS=1)
- // 提交审核(STATUS=2)
- // 申请修改 (STATUS=3)
- // 申请删除 (STATUS=4)
- // 撤销申请 (STATUS=5)
- // 驳回提交(STATUS=6)
- // 驳回申请(STATUS=7)
- // 部分结算(STATUS=8)
- // 结算完毕(STATUS=9)
- if (data[row]?.feeStatus != 1 && col != 0) {
- // 配置不同状态的行颜色
- if (data[row]?.feeStatus == 0) {
- props['className'] = 'hot-green'
- }
- if (data[row]?.feeStatus == 2) {
- props['className'] = 'hot-yellow'
- }
- if (data[row]?.feeStatus == 7) {
- props['className'] = 'hot-red'
- }
- return props
- } else {
- return
- }
- }
+ GetList(postData)
+ .then((res) => {
+ loading.value = false
+ const { data } = res
+ data.forEach((item, index) => {
+ item['feeStatusText'] = feeStatusList[item.feeStatus]
+ if (item.createTime) item.createTime = item.createTime.split(' ')[0]
+ if (item.auditDate) item.auditDate = item.auditDate.split(' ')[0]
+ if (item.updateTime) item.updateTime = item.updateTime.split(' ')[0]
+ if (item.updateTime == '1900-01-01') item.updateTime = ''
})
- }
- hotTb.value.hotInstance.loadData(list.value)
- })
- .catch(() => {
- loading.value = false
- })
+ list.value = data
+ // 设置原始数据,取消使用
+ oldData = JSON.parse(JSON.stringify(data))
+ if (data.length != 0) {
+ hotTb.value.hotInstance.updateSettings({
+ cells: function (row, col) {
+ // 设置费用状态不是录入状态的行为只读
+ const props = { readOnly: true }
+ // 审核通过(STATUS=0)
+ // 录入状态(STATUS=1)
+ // 提交审核(STATUS=2)
+ // 申请修改 (STATUS=3)
+ // 申请删除 (STATUS=4)
+ // 撤销申请 (STATUS=5)
+ // 驳回提交(STATUS=6)
+ // 驳回申请(STATUS=7)
+ // 部分结算(STATUS=8)
+ // 结算完毕(STATUS=9)
+ if (data[row]?.feeStatus != 1 && col != 0) {
+ // 配置不同状态的行颜色
+ if (data[row]?.feeStatus == 0) {
+ props['className'] = 'hot-green'
+ }
+ if (data[row]?.feeStatus == 2) {
+ props['className'] = 'hot-yellow'
+ }
+ if (data[row]?.feeStatus == 7) {
+ props['className'] = 'hot-red'
+ }
+ return props
+ } else {
+ return
+ }
+ },
+ })
+ }
+ hotTb.value.hotInstance.loadData(list.value)
+ })
+ .catch(() => {
+ loading.value = false
+ })
}
onMounted(() => {
const hot = hotTb.value.hotInstance
- hot.addHook('afterOnCellMouseDown', function(event, coords, TD) {})
+ hot.addHook('afterOnCellMouseDown', function (event, coords, TD) {})
// 定义表格按键处理逻辑
hot.addHook('beforeKeyDown', function (event) {
// 检查按下的是否是特定的键(例如 'Enter')
@@ -797,13 +829,13 @@
row.forEach((item) => {
list.value.push(item)
})
- }
+ },
)
watch(
() => props.id,
() => {
- init()
- }
+ init()
+ },
)
watch(
list.value,
diff --git a/src/styles/buttonGroup.scss b/src/styles/buttonGroup.scss
index 94febfd9..f3dde0a1 100644
--- a/src/styles/buttonGroup.scss
+++ b/src/styles/buttonGroup.scss
@@ -7,14 +7,15 @@
height: 28px;
line-height: 26px;
color: #000;
-
+ font-size: 12px !important;
.iconfont {
margin-right: 6px;
+ font-size: 14px !important;
}
span {
&.iconfont{
- font-size: 18px !important;
+ font-size: 16px !important;
}
}
&:hover {
diff --git a/src/views/operation/CustomerReconciliation/components/Button.vue b/src/views/operation/CustomerReconciliation/components/Button.vue
index 172016c5..7bb5e16e 100644
--- a/src/views/operation/CustomerReconciliation/components/Button.vue
+++ b/src/views/operation/CustomerReconciliation/components/Button.vue
@@ -17,5 +17,6 @@
@import url('/@/styles/buttonGroup.scss');
.nav {
margin-top: 20px !important;
+ padding: 0 2px;
}
diff --git a/src/views/operation/CustomerReconciliation/detail/index.vue b/src/views/operation/CustomerReconciliation/detail/index.vue
index b319e8fd..1f5bdb02 100644
--- a/src/views/operation/CustomerReconciliation/detail/index.vue
+++ b/src/views/operation/CustomerReconciliation/detail/index.vue
@@ -381,8 +381,12 @@
height: calc(100vh - 366px);
.ant-table-body {
max-height: none !important;
- .ant-table-expanded-row-fixed {
- height: calc(100vh - 365px);
+ height: calc(100% - 50px) !important;
+ .ant-table-placeholder {
+ display: none;
+ .ant-table-expanded-row-fixed {
+ height: calc(100vh - 365px);
+ }
}
}
}
diff --git a/src/views/operation/CustomerReconciliation/detail/info/index.vue b/src/views/operation/CustomerReconciliation/detail/info/index.vue
index 67cdbe13..c9508594 100644
--- a/src/views/operation/CustomerReconciliation/detail/info/index.vue
+++ b/src/views/operation/CustomerReconciliation/detail/info/index.vue
@@ -158,17 +158,49 @@
}
})
if (ToRType) {
- othercondition.push({
- FieldName: e,
- FieldValue: data[e],
- ConditionalType: 1,
- })
+ // 判断是数组
+ if (Array.isArray(data[e])) {
+ othercondition.push(
+ {
+ FieldName: e,
+ FieldValue: data[e][0],
+ ConditionalType: 3,
+ },
+ {
+ FieldName: e,
+ FieldValue: data[e][1],
+ ConditionalType: 5,
+ },
+ )
+ } else {
+ othercondition.push({
+ FieldName: e,
+ FieldValue: data[e],
+ ConditionalType: 1,
+ })
+ }
} else {
- condition.push({
- FieldName: e,
- FieldValue: data[e],
- ConditionalType: 1,
- })
+ // 判断是数组
+ if (Array.isArray(data[e])) {
+ condition.push(
+ {
+ FieldName: e,
+ FieldValue: data[e][0],
+ ConditionalType: 3,
+ },
+ {
+ FieldName: e,
+ FieldValue: data[e][1],
+ ConditionalType: 5,
+ },
+ )
+ } else {
+ condition.push({
+ FieldName: e,
+ FieldValue: data[e],
+ ConditionalType: 1,
+ })
+ }
}
}
})
diff --git a/src/views/operation/CustomerReconciliation/detail/info/infoColumns.tsx b/src/views/operation/CustomerReconciliation/detail/info/infoColumns.tsx
index eb3bbf8c..1c73dba0 100644
--- a/src/views/operation/CustomerReconciliation/detail/info/infoColumns.tsx
+++ b/src/views/operation/CustomerReconciliation/detail/info/infoColumns.tsx
@@ -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' },
diff --git a/src/views/operation/seaexport/detail/modules/operationArea.vue b/src/views/operation/seaexport/detail/modules/operationArea.vue
index d7f4d558..d3000150 100644
--- a/src/views/operation/seaexport/detail/modules/operationArea.vue
+++ b/src/views/operation/seaexport/detail/modules/operationArea.vue
@@ -62,7 +62,7 @@
@visibleChange="handleVisibleChange"
@confirm="openPreOrderFun"
>
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ China
+ U.S.A
+
+
+
+
+
+
+
+
+
+
+
+ China
+ U.S.A
+
+
+
+
+
+
+ China
+ U.S.A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
发货人信息
+
+
+ China
+ U.S.A
+
+
+
+ 保存
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ China
+ U.S.A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
收货人信息
+
+
+ China
+ U.S.A
+
+
+
+ 保存
+
+
+
+
+ 复制通知人
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ China
+ U.S.A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
通知人信息
+
+
+ China
+ U.S.A
+
+
+
+ 保存
+
+
+
+
+ 复制收货人
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ China
+ U.S.A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
港口信息
+
+
+
+
+
+ China
+ U.S.A
+
+
+
+
+
+
+
+
+
+
+
+
+ China
+ U.S.A
+
+
+
+
+
+
+
+
+
+
+
+
+ China
+ U.S.A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
货物信息
+
+
+
+
+
+
+ 货物描述
+
+
+
+
+
+
+
+
+
+
+
+
+ China
+ U.S.A
+
+
+
+
+
+
+
+
+ China
+ U.S.A
+
+
+
+
+
+
+
+
+
+
+
+ C摄氏
+ F华氏
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
集装箱信息
+
+
+
+ 新建
+
+
+
+ 复制新建
+
+
+
+ 删除
+
+
+
+
+ China
+ U.S.A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+