From 77b4dc46aed19e699e7be812ff6496e746cc4f73 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, 1 Aug 2024 14:59:34 +0800 Subject: [PATCH] 08/01 --- src/components/ActionBar/index.vue | 21 +- .../BaseInfo/TenantAuditStepModal.vue | 121 +++++++ src/views/ContainerManagement/BaseInfo/api.ts | 42 +++ .../ContainerManagement/BaseInfo/columns.tsx | 329 +++++++++++++++++ .../BaseInfo/importFlow.vue | 118 +++++++ .../ContainerManagement/BaseInfo/index.vue | 155 ++++++++ .../CurrentState/TenantAuditStepModal.vue | 122 +++++++ .../ContainerManagement/CurrentState/api.ts | 70 ++++ .../CurrentState/columns.tsx | 330 ++++++++++++++++++ .../CurrentState/importFlow.vue | 118 +++++++ .../CurrentState/index.vue | 161 +++++++++ .../ContainerManagement/StateChange/api.ts | 79 +++++ .../infoclient/TenantAuditStepModal.vue | 65 +++- src/views/baseinfo/infoclient/columns.tsx | 180 ++++------ .../infoclient/customerParams/columns.tsx | 44 +-- .../infoclient/customerParams/index.vue | 26 +- .../seaexport/detail/modules/goodsTable.vue | 8 +- 17 files changed, 1820 insertions(+), 169 deletions(-) create mode 100644 src/views/ContainerManagement/BaseInfo/TenantAuditStepModal.vue create mode 100644 src/views/ContainerManagement/BaseInfo/api.ts create mode 100644 src/views/ContainerManagement/BaseInfo/columns.tsx create mode 100644 src/views/ContainerManagement/BaseInfo/importFlow.vue create mode 100644 src/views/ContainerManagement/BaseInfo/index.vue create mode 100644 src/views/ContainerManagement/CurrentState/TenantAuditStepModal.vue create mode 100644 src/views/ContainerManagement/CurrentState/api.ts create mode 100644 src/views/ContainerManagement/CurrentState/columns.tsx create mode 100644 src/views/ContainerManagement/CurrentState/importFlow.vue create mode 100644 src/views/ContainerManagement/CurrentState/index.vue create mode 100644 src/views/ContainerManagement/StateChange/api.ts diff --git a/src/components/ActionBar/index.vue b/src/components/ActionBar/index.vue index dd763cba..a9d7ab68 100644 --- a/src/components/ActionBar/index.vue +++ b/src/components/ActionBar/index.vue @@ -16,7 +16,7 @@ style="transform: rotate(90deg); position: relative; left: 4px; bottom: -2px" @click="toPage('next')" > -
上一票
+
{{ nexttext ? nexttext : '上一票' }}
-
下一票
+
{{ lasttext ? lasttext : '下一票' }}
@@ -103,6 +103,16 @@ type: Function, default: null, }, + // 下一票 文字替换 + lasttext: { + type: String, + default: null, + }, + // 上一票 文字替换 + nexttext: { + type: String, + default: null, + }, }, emits: ['copy'], components: { @@ -146,6 +156,13 @@ } id = ids[index + 1] } + console.log({ + path: route.path, + query: { + id, + }, + }) + go({ path: route.path, query: { diff --git a/src/views/ContainerManagement/BaseInfo/TenantAuditStepModal.vue b/src/views/ContainerManagement/BaseInfo/TenantAuditStepModal.vue new file mode 100644 index 00000000..c178ce19 --- /dev/null +++ b/src/views/ContainerManagement/BaseInfo/TenantAuditStepModal.vue @@ -0,0 +1,121 @@ + + diff --git a/src/views/ContainerManagement/BaseInfo/api.ts b/src/views/ContainerManagement/BaseInfo/api.ts new file mode 100644 index 00000000..0d549759 --- /dev/null +++ b/src/views/ContainerManagement/BaseInfo/api.ts @@ -0,0 +1,42 @@ +// @ts-ignore +import { request } from '/@/utils/request' +import { DataResult, PageRequest } from '/@/api/model/baseModel' +enum Api { + list = '/containerManagementApi/CM_BaseInfo/GetCM_BaseInfoList', + edit = '/containerManagementApi/CM_BaseInfo/EditCM_BaseInfo', + info = '/containerManagementApi/CM_BaseInfo/GetCM_BaseInfo', + + del = '/mainApi/CodeCtn/BatchDelCodeCtn', +} +// 列表 (Auth) +export function ApiList(data: PageRequest) { + return request({ + url: Api.list, + method: 'post', + data, + }) +} +// 编辑 (Auth) +export function ApiEdit(data: PageRequest) { + return request({ + url: Api.edit, + method: 'post', + data, + }) +} +// 详情 (Auth) +export function ApiInfo(query) { + return request({ + url: Api.info, + method: 'get', + params: query, + }) +} +// 批量删除 (Auth) +export function ApiDel(data: PageRequest) { + return request({ + url: Api.del, + method: 'post', + data, + }) +} diff --git a/src/views/ContainerManagement/BaseInfo/columns.tsx b/src/views/ContainerManagement/BaseInfo/columns.tsx new file mode 100644 index 00000000..780f1821 --- /dev/null +++ b/src/views/ContainerManagement/BaseInfo/columns.tsx @@ -0,0 +1,329 @@ +import { BasicColumn, FormSchema } from '/@/components/Table' +import { Tag } from 'ant-design-vue' +import { GetCtnSelectList } from '/@/api/common' +export const columns: BasicColumn[] = [ + { + title: '集装箱号', + dataIndex: 'cntrno', + sorter: true, + width: 150, + }, + { + title: '箱型', + dataIndex: 'ctnall', + sorter: true, + width: 150, + }, + { + title: '集装箱类型', + dataIndex: 'ctnType', + sorter: true, + width: 200, + }, + { + title: '新旧箱', + dataIndex: 'usedState', + sorter: true, + width: 200, + }, + { + title: '箱主', + dataIndex: 'ctnOwner', + sorter: true, + width: 200, + }, + { + title: '业务所属分部', + dataIndex: 'corpid', + sorter: true, + width: 200, + }, + { + title: '箱来源', + dataIndex: 'ctnSource', + sorter: true, + width: 200, + }, + { + title: '箱业务状态', + dataIndex: 'ctnBizState', + sorter: true, + width: 200, + }, + { + title: '箱业务编号', + dataIndex: 'billno', + sorter: true, + width: 200, + }, + { + title: '关联放箱单号', + dataIndex: 'ctnReleaseNo', + sorter: true, + width: 200, + }, + { + title: '箱状态', + dataIndex: 'ctnState', + sorter: true, + width: 200, + }, + { + title: '箱损坏', + dataIndex: 'ctnBreakState', + sorter: true, + width: 200, + }, + { + title: '是否上线', + dataIndex: 'isOnline', + sorter: true, + width: 200, + }, + { + title: '空重箱', + dataIndex: 'isHeavy', + sorter: true, + width: 200, + }, + { + title: '当前港口', + dataIndex: 'portid', + sorter: true, + width: 200, + }, + { + title: '码头或场站', + dataIndex: 'depot', + sorter: true, + width: 200, + }, + { + title: '运输工具', + dataIndex: 'vehicleName', + sorter: true, + width: 200, + }, + { + title: '当前业务编号', + dataIndex: 'mblno', + sorter: true, + width: 200, + }, + { + title: '业务委托单位', + dataIndex: 'customerName', + sorter: true, + width: 200, + }, + { + title: 'ETD', + dataIndex: 'etd', + sorter: true, + width: 200, + }, + { + title: 'ETA', + dataIndex: 'eta', + sorter: true, + width: 200, + }, + { + title: '状态时间', + dataIndex: 'stateTime', + sorter: true, + width: 200, + }, + { + title: '箱皮重', + dataIndex: 'ctnWeight', + sorter: true, + width: 200, + }, + { + title: '箱初期成本', + dataIndex: 'ctnValue_Base', + sorter: true, + width: 200, + }, +] + +export const searchFormSchema: FormSchema[] = [ + { + field: 'CtnName', + label: '表现形式', + component: 'Input', + colProps: { span: 6 }, + }, +] +export const formSchema: FormSchema[] = [ + { + label: '', + field: 'id', + component: 'Input', + defaultValue: '', + show: false, + }, + { + field: 'cntrno', + label: '集装箱号', + component: 'InputTextArea', + required: true, + colProps: { span: 24 }, + componentProps: { + placeholder: '请输入,多个箱号请以“,”逗号间隔', + rows: 3, + }, + }, + { + field: 'ctnall', + label: '箱型', + component: 'ApiSelect', + colProps: { span: 6 }, + required: true, + componentProps: () => { + return { + api: GetCtnSelectList, + labelField: 'ctnName', + valueField: 'ediCode', + resultField: 'data', + } + }, + }, + { + field: 'usedState', + label: '新旧箱', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'ctnOwner', + label: '箱主', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'corpid', + label: '业务所属分部', + component: 'Input', + + colProps: { span: 6 }, + }, + + { + field: 'ctnSource', + label: '箱来源', + component: 'Input', + + colProps: { span: 6 }, + }, + { + field: 'ctnBizState', + label: '箱业务状态', + component: 'InputNumber', + colProps: { span: 6 }, + }, + { + field: 'billno', + label: '箱业务编号', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'ctnReleaseNo', + label: '关联放箱单号', + component: 'Input', + colProps: { span: 6 }, + required: true, + }, + { + field: 'ctnState', + label: '箱状态', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'ctnBreakState', + label: '箱损坏', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'isOnline', + label: '是否上线', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'isHeavy', + label: '空重箱', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'portid', + label: '当前港口', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'depot', + label: '码头或场站', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'vehicleName', + label: '运输工具', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'mblno', + label: '当前业务编号', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'customerName', + label: '业务委托单位', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'etd', + label: 'ETD', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'eta', + label: 'ETA', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'stateTime', + label: '状态时间', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'ctnWeight', + label: '箱皮重', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'productionDate', + label: '生产日期', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'ctnValue_Base', + label: '箱初期成本', + component: 'Input', + colProps: { span: 6 }, + }, +] diff --git a/src/views/ContainerManagement/BaseInfo/importFlow.vue b/src/views/ContainerManagement/BaseInfo/importFlow.vue new file mode 100644 index 00000000..97d10c58 --- /dev/null +++ b/src/views/ContainerManagement/BaseInfo/importFlow.vue @@ -0,0 +1,118 @@ + + diff --git a/src/views/ContainerManagement/BaseInfo/index.vue b/src/views/ContainerManagement/BaseInfo/index.vue new file mode 100644 index 00000000..b0dd0c33 --- /dev/null +++ b/src/views/ContainerManagement/BaseInfo/index.vue @@ -0,0 +1,155 @@ + + diff --git a/src/views/ContainerManagement/CurrentState/TenantAuditStepModal.vue b/src/views/ContainerManagement/CurrentState/TenantAuditStepModal.vue new file mode 100644 index 00000000..8831fe60 --- /dev/null +++ b/src/views/ContainerManagement/CurrentState/TenantAuditStepModal.vue @@ -0,0 +1,122 @@ + + diff --git a/src/views/ContainerManagement/CurrentState/api.ts b/src/views/ContainerManagement/CurrentState/api.ts new file mode 100644 index 00000000..8b401611 --- /dev/null +++ b/src/views/ContainerManagement/CurrentState/api.ts @@ -0,0 +1,70 @@ +// @ts-ignore +import { request } from '/@/utils/request' +import { DataResult, PageRequest } from '/@/api/model/baseModel' +enum Api { + list = '/containerManagementApi/CM_CurrentState/GetCM_CurrentStateList', + edit = '/containerManagementApi/CM_CurrentState/EditCM_CurrentState', + info = '/containerManagementApi/CM_CurrentState/GetCM_CurrentStateInfo', + + + del = '/mainApi/CodeCtn/BatchDelCodeCtn', + + BasicsList = '/mainApi/CodeCtn/GetBasicsCodeCtnList', + ExistList = '/mainApi/CodeCtn/GetExistCodeCtnList', + Import = '/mainApi/CodeCtn/ImportCodeCtn', +} +// 列表 (Auth) +export function ApiList(data: PageRequest) { + return request({ + url: Api.list, + method: 'post', + data, + }) +} +// 编辑 (Auth) +export function ApiEdit(data: PageRequest) { + return request({ + url: Api.edit, + method: 'post', + data, + }) +} +// 详情 (Auth) +export function ApiInfo(query) { + return request({ + url: Api.info, + method: 'get', + params: query, + }) +} +// 批量删除 (Auth) +export function ApiDel(data: PageRequest) { + return request({ + url: Api.del, + method: 'post', + data, + }) +} +// 获取商品类型列表-基础库 (Auth) +export function ApiBasicsList(data: PageRequest) { + return request({ + url: Api.BasicsList, + method: 'post', + data, + }) +} +// 获取当前租户已有的商品类型 (Auth) +export function ApiExistList() { + return request({ + url: Api.ExistList, + method: 'get', + }) +} +// 导入商品类型列表-基础库 (Auth) +export function ApiImport(data: PageRequest) { + return request({ + url: Api.Import, + method: 'post', + data, + }) +} diff --git a/src/views/ContainerManagement/CurrentState/columns.tsx b/src/views/ContainerManagement/CurrentState/columns.tsx new file mode 100644 index 00000000..1290b2fe --- /dev/null +++ b/src/views/ContainerManagement/CurrentState/columns.tsx @@ -0,0 +1,330 @@ +import { BasicColumn, FormSchema } from '/@/components/Table' +import { Tag } from 'ant-design-vue' +import { GetCtnSelectList } from '/@/api/common' +export const columns: BasicColumn[] = [ + { + title: '集装箱号', + dataIndex: 'cntrno', + sorter: true, + width: 150, + }, + { + title: '箱型', + dataIndex: 'ctnall', + sorter: true, + width: 150, + }, + { + title: '集装箱类型', + dataIndex: 'ctnType', + sorter: true, + width: 200, + }, + { + title: '新旧箱', + dataIndex: 'usedState', + sorter: true, + width: 200, + }, + { + title: '箱主', + dataIndex: 'ctnOwner', + sorter: true, + width: 200, + }, + { + title: '业务所属分部', + dataIndex: 'corpid', + sorter: true, + width: 200, + }, + { + title: '箱来源', + dataIndex: 'ctnSource', + sorter: true, + width: 200, + }, + { + title: '箱业务状态', + dataIndex: 'ctnBizState', + sorter: true, + width: 200, + }, + { + title: '箱业务编号', + dataIndex: 'billno', + sorter: true, + width: 200, + }, + { + title: '关联放箱单号', + dataIndex: 'ctnReleaseNo', + sorter: true, + width: 200, + }, + { + title: '箱状态', + dataIndex: 'ctnState', + sorter: true, + width: 200, + }, + { + title: '箱损坏', + dataIndex: 'ctnBreakState', + sorter: true, + width: 200, + }, + { + title: '是否上线', + dataIndex: 'isOnline', + sorter: true, + width: 200, + }, + { + title: '空重箱', + dataIndex: 'isHeavy', + sorter: true, + width: 200, + }, + { + title: '当前港口', + dataIndex: 'portid', + sorter: true, + width: 200, + }, + { + title: '码头或场站', + dataIndex: 'depot', + sorter: true, + width: 200, + }, + { + title: '运输工具', + dataIndex: 'vehicleName', + sorter: true, + width: 200, + }, + { + title: '当前业务编号', + dataIndex: 'mblno', + sorter: true, + width: 200, + }, + { + title: '业务委托单位', + dataIndex: 'customerName', + sorter: true, + width: 200, + }, + { + title: 'ETD', + dataIndex: 'etd', + sorter: true, + width: 200, + }, + { + title: 'ETA', + dataIndex: 'eta', + sorter: true, + width: 200, + }, + { + title: '状态时间', + dataIndex: 'stateTime', + sorter: true, + width: 200, + }, + { + title: '箱皮重', + dataIndex: 'ctnWeight', + sorter: true, + width: 200, + }, + { + title: '箱初期成本', + dataIndex: 'ctnValue_Base', + sorter: true, + width: 200, + }, +] + +export const searchFormSchema: FormSchema[] = [ + { + field: 'CtnName', + label: '表现形式', + component: 'Input', + colProps: { span: 6 }, + }, +] +export const formSchema: FormSchema[] = [ + { + label: '', + field: 'id', + component: 'Input', + defaultValue: '', + show: false, + }, + { + field: 'cntrno', + label: '集装箱号', + component: 'InputTextArea', + required: true, + colProps: { span: 24 }, + componentProps: { + placeholder: '请输入,多个箱号请以“,”逗号间隔', + rows: 3, + }, + }, + { + field: 'ctnall', + label: '箱型', + component: 'ApiSelect', + colProps: { span: 6 }, + required: true, + componentProps: () => { + return { + api: GetCtnSelectList, + labelField: 'ctnName', + valueField: 'ediCode', + resultField: 'data', + } + }, + }, + { + field: 'isOnline', + label: '是否上线', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'changeSource', + label: '变动来源', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'usedState', + label: '新旧箱', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'ctnOwner', + label: '箱主', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'corpid', + label: '业务所属分部', + component: 'Input', + + colProps: { span: 6 }, + }, + + { + field: 'ctnSource', + label: '箱来源', + component: 'Input', + + colProps: { span: 6 }, + }, + { + field: 'ctnBizState', + label: '箱业务状态', + component: 'InputNumber', + colProps: { span: 6 }, + }, + { + field: 'billno', + label: '箱业务编号', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'ctnReleaseNo', + label: '关联放箱单号', + component: 'Input', + colProps: { span: 6 }, + required: true, + }, + { + field: 'ctnState', + label: '箱状态', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'ctnBreakState', + label: '箱损坏', + component: 'Input', + colProps: { span: 6 }, + }, + + { + field: 'isHeavy', + label: '空重箱', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'portid', + label: '当前港口', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'depot', + label: '码头或场站', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'vehicleName', + label: '运输工具', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'mblno', + label: '当前业务编号', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'customerName', + label: '业务委托单位', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'etd', + label: 'ETD', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'eta', + label: 'ETA', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'changeTime', + label: '状态时间', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'ctnWeight', + label: '箱皮重', + component: 'Input', + colProps: { span: 6 }, + }, + { + field: 'ctnValue_Base', + label: '箱初期成本', + component: 'Input', + colProps: { span: 6 }, + }, +] diff --git a/src/views/ContainerManagement/CurrentState/importFlow.vue b/src/views/ContainerManagement/CurrentState/importFlow.vue new file mode 100644 index 00000000..97d10c58 --- /dev/null +++ b/src/views/ContainerManagement/CurrentState/importFlow.vue @@ -0,0 +1,118 @@ + + diff --git a/src/views/ContainerManagement/CurrentState/index.vue b/src/views/ContainerManagement/CurrentState/index.vue new file mode 100644 index 00000000..32b9ef7c --- /dev/null +++ b/src/views/ContainerManagement/CurrentState/index.vue @@ -0,0 +1,161 @@ + + diff --git a/src/views/ContainerManagement/StateChange/api.ts b/src/views/ContainerManagement/StateChange/api.ts new file mode 100644 index 00000000..50677bfa --- /dev/null +++ b/src/views/ContainerManagement/StateChange/api.ts @@ -0,0 +1,79 @@ +// @ts-ignore +import { request } from '/@/utils/request' +import { DataResult, PageRequest } from '/@/api/model/baseModel' +enum Api { + list = '/containerManagementApi/CM_State_Change/GetCM_State_ChangeList', + edit = '/containerManagementApi/CM_State_Change/EditCM_State_Change', + multiEdit = '/containerManagementApi/CM_State_Change/CM_State_Change_Multi', + + info = '/containerManagementApi/CM_CurrentState/GetCM_CurrentStateInfo', + del = '/mainApi/CodeCtn/BatchDelCodeCtn', + BasicsList = '/mainApi/CodeCtn/GetBasicsCodeCtnList', + ExistList = '/mainApi/CodeCtn/GetExistCodeCtnList', + Import = '/mainApi/CodeCtn/ImportCodeCtn', +} +// 列表 (Auth) +export function ApiChangeList(data: PageRequest) { + return request({ + url: Api.list, + method: 'post', + data, + }) +} + +// 批量编辑状态 (Auth) +export function ApiMultiEdit(data: PageRequest) { + return request({ + url: Api.multiEdit, + method: 'post', + data, + }) +} + +// 编辑 (Auth) +export function ApiEdit(data: PageRequest) { + return request({ + url: Api.edit, + method: 'post', + data, + }) +} +// 详情 (Auth) +export function ApiInfo(query) { + return request({ + url: Api.info, + method: 'get', + params: query, + }) +} +// 批量删除 (Auth) +export function ApiDel(data: PageRequest) { + return request({ + url: Api.del, + method: 'post', + data, + }) +} +// 获取商品类型列表-基础库 (Auth) +export function ApiBasicsList(data: PageRequest) { + return request({ + url: Api.BasicsList, + method: 'post', + data, + }) +} +// 获取当前租户已有的商品类型 (Auth) +export function ApiExistList() { + return request({ + url: Api.ExistList, + method: 'get', + }) +} +// 导入商品类型列表-基础库 (Auth) +export function ApiImport(data: PageRequest) { + return request({ + url: Api.Import, + method: 'post', + data, + }) +} diff --git a/src/views/baseinfo/infoclient/TenantAuditStepModal.vue b/src/views/baseinfo/infoclient/TenantAuditStepModal.vue index 6e200681..622cce74 100644 --- a/src/views/baseinfo/infoclient/TenantAuditStepModal.vue +++ b/src/views/baseinfo/infoclient/TenantAuditStepModal.vue @@ -9,7 +9,13 @@ > -->
- + @@ -38,8 +44,8 @@ - + @@ -150,7 +156,7 @@ - \ No newline at end of file diff --git a/src/views/operation/seaexport/detail/modules/goodsTable.vue b/src/views/operation/seaexport/detail/modules/goodsTable.vue index 3b095bb7..bdebacff 100644 --- a/src/views/operation/seaexport/detail/modules/goodsTable.vue +++ b/src/views/operation/seaexport/detail/modules/goodsTable.vue @@ -924,10 +924,10 @@ let data = res.data totalPkgs.value = 0 data.forEach(async (item, index) => { - totalPkgs.value = totalPkgs.value + item.pkgs - totalKgs.value = totalKgs.value + item.kgs - totalCbm.value = totalCbm.value + item.cbm - totalCtn.value = totalCtn.value + item.ctnNum + totalPkgs.value = parseInt(totalPkgs.value) + parseInt(item.pkgs) + totalKgs.value = parseInt(totalKgs.value) + parseInt(item.kgs) + totalCbm.value = parseInt(totalCbm.value) + parseInt(item.cbm) + totalCtn.value = parseInt(totalCtn.value) + parseInt(item.ctnNum) item.rowKey = index const weightTypeList = weightTypeDict.value.length ? weightTypeDict.value