lijingjia 7 months ago
commit 50dfbdb9bc

@ -2,7 +2,7 @@
# @Author: 张同海 14166000+zhangtonghai@user.noreply.gitee.com
# @Date: 2024-04-17 10:30:29
# @LastEditors: 张同海 14166000+zhangtonghai@user.noreply.gitee.com
# @LastEditTime: 2024-04-18 16:02:47
# @LastEditTime: 2024-04-28 09:15:40
# @FilePath: \ds-wms-client-web\.env.development
# @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
###

@ -24,6 +24,15 @@ export function BookingOrderGet(parameter) {
params: parameter,
})
}
// 集装箱信息服务 列表 (Auth)
export function GetOpCtnList(parameter) {
return request({
url: '/opApi/OpCtn/GetOpCtnList',
method: 'post',
data: parameter,
})
}
// 获取场站下拉列表 (Auth)
export function GetYardClientList(parameter) {
return request({

@ -36,224 +36,234 @@ import {
GetEnterpriseClientList,
} from '/@/views/operation/seaexport/api/BookingLedger'
import { getDictDropDown } from '/@/api/common'
import { getDictOption } from '/@/utils/dictUtil'
let ListData: any = {}
const FnblType: API.DataResult = await getDictDropDown({ code: 'bl_type' })
const FnblType: any = getDictDropDown({ code: 'bl_type' })
if (FnblType.succeeded) {
ListData.blType = []
FnblType.data.forEach((e) => {
ListData.blType.push({ label: e.name, value: e.value })
})
}
const FnsaleDeptId: API.DataResult = await GetDeptList()
const FnsaleDeptId: any = GetDeptList()
if (FnsaleDeptId.succeeded) {
ListData.saleDeptId = []
FnsaleDeptId.data.forEach((e) => {
ListData.saleDeptId.push({ label: e.orgName, value: e.id })
})
}
const Fncustomername: API.DataResult = await GetControllerClientList()
const Fncustomername: any = GetControllerClientList()
if (Fncustomername.succeeded) {
ListData.customername = []
Fncustomername.data.forEach((e) => {
ListData.customername.push({ label: e.orgName, value: e.id })
})
}
const FnsourceId: API.DataResult = await GetClientSourceSelectList()
const FnsourceId: any = GetClientSourceSelectList()
if (FnsourceId.succeeded) {
ListData.sourceId = []
FnsourceId.data.forEach((e) => {
ListData.sourceId.push({ label: e.sourceName, value: e.id })
})
}
const FnstlName: API.DataResult = await GetClientStlModeSelectList()
const FnstlName: any = GetClientStlModeSelectList()
if (FnstlName.succeeded) {
ListData.stlName = []
FnstlName.data.forEach((e) => {
ListData.stlName.push({ label: e.stlName, value: e.id })
})
}
const Fncarrier: API.DataResult = await GetCarrierlist()
const Fncarrier: any = GetCarrierlist()
if (Fncarrier.succeeded) {
ListData.carrier = []
Fncarrier.data.forEach((e) => {
ListData.carrier.push({ label: e.carrier, value: e.id })
})
}
const FnforwarderId: API.DataResult = await GetAgentCnClientList()
const FnforwarderId: any = GetAgentCnClientList()
if (FnforwarderId.succeeded) {
ListData.forwarderId = []
FnforwarderId.data.forEach((e) => {
ListData.forwarderId.push({ label: e.forwarderId, value: e.id })
})
}
const Fnvessel: API.DataResult = await GetVesselSelectList()
const Fnvessel: any = GetVesselSelectList()
if (Fnvessel.succeeded) {
ListData.vessel = []
Fnvessel.data.forEach((e) => {
ListData.vessel.push({ label: e.vesselName, value: e.id })
})
}
const Fnvoyno: API.DataResult = await GetVoynoSelectList()
const Fnvoyno: any = GetVoynoSelectList()
if (Fnvoyno.succeeded) {
ListData.voyno = []
Fnvoyno.data.forEach((e) => {
ListData.voyno.push({ label: e.voynoName, value: e.id })
})
}
const FnlaneId: API.DataResult = await GetClientLanesSelectList()
const FnlaneId: any = GetClientLanesSelectList()
if (FnlaneId.succeeded) {
ListData.laneId = []
FnlaneId.data.forEach((e) => {
ListData.laneId.push({ label: e.laneName, value: e.id })
})
}
const FnshipAgencyId: API.DataResult = await GetShipAgencyClientList()
const FnshipAgencyId: any = GetShipAgencyClientList()
if (FnshipAgencyId.succeeded) {
ListData.shipAgencyId = []
FnshipAgencyId.data.forEach((e) => {
ListData.shipAgencyId.push({ label: e.shipAgencyIdName, value: e.id })
})
}
const FnsaleId: API.DataResult = await GetSaleUserList()
const FnsaleId: any = GetSaleUserList()
if (FnsaleId.succeeded) {
ListData.saleId = []
FnsaleId.data.forEach((e) => {
ListData.saleId.push({ label: e.userName, value: e.id })
})
}
const FnreceiptPlaceId: API.DataResult = await GetClientPortSelectList()
const FnreceiptPlaceId: any = GetClientPortSelectList()
if (FnreceiptPlaceId.succeeded) {
ListData.receiptPlaceId = []
FnreceiptPlaceId.data.forEach((e) => {
ListData.receiptPlaceId.push({ ...e, label: e.portName, value: e.id })
})
}
const Fnyard: API.DataResult = await GetYardClientList()
const Fnyard: any = GetYardClientList()
if (Fnyard.succeeded) {
ListData.yard = []
Fnyard.data.forEach((e) => {
ListData.yard.push({ label: e.name, value: e.id })
})
}
const Fncustomser: API.DataResult = await GetCustomClientList()
const Fncustomser: any = GetCustomClientList()
if (Fncustomser.succeeded) {
ListData.customser = []
Fncustomser.data.forEach((e) => {
ListData.customser.push({ label: e.name, value: e.id })
})
}
const FnagentId: API.DataResult = await GetAgentClientList()
const FnagentId: any = GetAgentClientList()
if (FnagentId.succeeded) {
ListData.agentId = []
FnagentId.data.forEach((e) => {
ListData.agentId.push({ label: e.shortName, value: e.id })
})
}
const FntermDelivery: API.DataResult = await getDictDropDown({ code: 'term_delivery' })
const FntermDelivery: any = getDictDropDown({ code: 'term_delivery' })
if (FntermDelivery.succeeded) {
ListData.termDelivery = []
FntermDelivery.data.forEach((e) => {
ListData.termDelivery.push({ label: e.name, value: e.value })
})
}
const FnwareHouse: API.DataResult = await GetWareHouseClientList()
const FnwareHouse: any = GetWareHouseClientList()
if (FnwareHouse.succeeded) {
ListData.wareHouse = []
FnwareHouse.data.forEach((e) => {
ListData.wareHouse.push({ label: e.shortName, value: e.id })
})
}
const Fntrucker: API.DataResult = await GetTruckClientList()
const Fntrucker: any = GetTruckClientList()
if (Fntrucker.succeeded) {
ListData.trucker = []
Fntrucker.data.forEach((e) => {
ListData.trucker.push({ label: e.shortName, value: e.id })
})
}
const FnissueType: API.DataResult = await GetIssueTypeSelectList()
const FnissueType: any = GetIssueTypeSelectList()
if (FnissueType.succeeded) {
ListData.issueType = []
FnissueType.data.forEach((e) => {
ListData.issueType.push({ label: e.enName, value: e.id })
})
}
const FnnoBill: API.DataResult = await getDictDropDown({ code: 'no_bill' })
const FnnoBill: any = getDictDropDown({ code: 'no_bill' })
if (FnnoBill.succeeded) {
ListData.noBill = []
FnnoBill.data.forEach((e) => {
ListData.noBill.push({ label: e.name, value: e.value })
})
}
const FncopyNoBill: API.DataResult = await getDictDropDown({ code: 'copy_no_bill' })
const FncopyNoBill: any = getDictDropDown({ code: 'copy_no_bill' })
if (FncopyNoBill.succeeded) {
ListData.copyNoBill = []
FncopyNoBill.data.forEach((e) => {
ListData.copyNoBill.push({ label: e.name, value: e.value })
})
}
const FnmblFrt: API.DataResult = await GetClientFrtSelectList()
const FnmblFrt: any = GetClientFrtSelectList()
if (FnmblFrt.succeeded) {
ListData.mblFrt = []
FnmblFrt.data.forEach((e) => {
ListData.mblFrt.push({ label: e.cnName, value: e.id })
})
}
const FnprepareAt: API.DataResult = await GetClientPortSelectList()
const FnprepareAt: any = GetClientPortSelectList()
if (FnprepareAt.succeeded) {
ListData.prepareAt = []
FnprepareAt.data.forEach((e) => {
ListData.prepareAt.push({ label: e.cnName, value: e.id })
})
}
const FnpayableAt: API.DataResult = await GetClientPortSelectList()
const FnpayableAt: any = GetClientPortSelectList()
if (FnpayableAt.succeeded) {
ListData.payableAt = []
FnpayableAt.data.forEach((e) => {
ListData.payableAt.push({ label: e.cnName, value: e.id })
})
}
const Fnservice: API.DataResult = await GetServiceSelectList()
const Fnservice: any = GetServiceSelectList()
if (Fnservice.succeeded) {
ListData.service = []
Fnservice.data.forEach((e) => {
ListData.service.push({ label: e.enName, value: e.id })
})
}
const FntradeTerm: API.DataResult = await getDictDropDown({ code: 'packing_type' })
const FntradeTerm: any = getDictDropDown({ code: 'packing_type' })
if (FntradeTerm.succeeded) {
ListData.tradeTerm = []
FntradeTerm.data.forEach((e) => {
ListData.tradeTerm.push({ label: e.name, value: e.value })
})
}
const FngoodsName: API.DataResult = await GetPackageSelectList()
const FngoodsName: any = GetPackageSelectList()
if (FngoodsName.succeeded) {
ListData.goodsName = []
FngoodsName.data.forEach((e) => {
ListData.goodsName.push({ label: e.packageName, value: e.id })
})
}
const FncargoId: API.DataResult = await getDictDropDown({ code: 'cargo_tag' })
const FncargoId: any = getDictDropDown({ code: 'cargo_tag' })
if (FncargoId.succeeded) {
ListData.cargoId = []
FncargoId.data.forEach((e) => {
ListData.cargoId.push({ label: e.name, value: e.value })
})
}
const Fnenterprise: API.DataResult = await GetEnterpriseClientList()
const Fnenterprise: any = GetEnterpriseClientList()
if (Fnenterprise.succeeded) {
ListData.enterprise = []
Fnenterprise.data.forEach((e) => {
ListData.enterprise.push({ label: e.name, value: e.value })
})
}
const FninsperctService: API.DataResult = await GetEnterpriseClientList()
const FninsperctService: any = GetEnterpriseClientList()
if (FninsperctService.succeeded) {
ListData.insperctService = []
FninsperctService.data.forEach((e) => {
ListData.insperctService.push({ label: e.name, value: e.value })
})
}
// const Fnctn: any = await getDictDropDown({ code: 'ctn_code' })
const Fnctn: any = getDictOption('ctn_code')
if (Fnctn.length) {
ListData.ctn = []
Fnctn.forEach((e) => {
ListData.ctn.push({ label: e.name, value: e.value })
})
}
import { BasicColumn, FormSchema } from '/@/components/Table'
import { Tag } from 'ant-design-vue'
//列表
@ -425,7 +435,7 @@ export const basicInfoFormSchema: FormSchema[] = [
onChange: async (e) => {
if (e) {
const { updateSchema } = formActionType
const FnsourceDetailId: API.DataResult = await GetClientSourceDetailSelectList({
const FnsourceDetailId: any = GetClientSourceDetailSelectList({
id: e,
})
if (FnsourceDetailId.succeeded) {
@ -509,7 +519,7 @@ export const basicInfoFormSchema: FormSchema[] = [
},
{
field: 'mblno',
label: '订舱编号',
label: '主题单号',
component: 'Input',
required: false,
dynamicDisabled: false,
@ -1997,16 +2007,64 @@ export const ediMoreFormSchema: FormSchema[] = [
// mastetMore表单
export const mastetMoreFormSchema: FormSchema[] = [
{
label: '',
field: 'masterShipperContent',
component: 'Input',
defaultValue: '',
show: false,
},
{
field: 'masterShipperId',
component: 'SelectTextArea',
colProps: { span: 12 },
componentProps: ({ schema, tableAction, formActionType, formModel }) => {
return {
label: '发货人',
onChange: (e) => {
formModel.masterShipperContent = e.res
},
}
},
},
{
label: '',
field: 'masterConsigneeContent',
component: 'Input',
defaultValue: '',
show: false,
},
{
field: 'masterConsigneeId',
component: 'SelectTextArea',
colProps: { span: 12 },
componentProps: ({ schema, tableAction, formActionType, formModel }) => {
return {
label: '收货人',
onChange: (e) => {
formModel.masterConsigneeContent = e.res
},
}
},
},
{
label: '',
field: 'masterNotifyPartyContent',
component: 'Input',
defaultValue: '',
show: false,
},
{
field: 'masterNotifyPartyId',
component: 'SelectTextArea',
colProps: { span: 12 },
componentProps: ({ schema, tableAction, formActionType, formModel }) => {
return {
label: '通知人',
onChange: (e) => {
formModel.masterNotifyPartyContent = e.res
},
}
},
},
]
// goodsTable 表格
@ -2022,17 +2080,36 @@ export const goodsTablecolumns: BasicColumn[] = [
dataIndex: 'ctn',
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
width: 80,
editComponent: 'Select',
editComponentProps: {
options: ListData.ctn,
allowClear: true,
showSearch: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
},
// editComponentProps: ({ schema, tableAction, formActionType, formModel }) => {
// return {
// options: ListData.ctn,
// allowClear: true,
// showSearch: true,
// filterOption: (input: string, option: any) => {
// return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
// },
// onChange: (e) => {
// formModel.ctnCode = e.res
// },
// }
// },
width: 120,
},
{
title: '箱量',
dataIndex: 'ctnNum',
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
editComponent: 'InputNumber',
width: 80,
},
{
@ -2041,7 +2118,6 @@ export const goodsTablecolumns: BasicColumn[] = [
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
width: 80,
},
{
@ -2050,7 +2126,6 @@ export const goodsTablecolumns: BasicColumn[] = [
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
width: 80,
},
{
@ -2058,8 +2133,7 @@ export const goodsTablecolumns: BasicColumn[] = [
dataIndex: 'pkgs',
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
editComponent: 'InputNumber',
width: 80,
},
{
@ -2068,7 +2142,6 @@ export const goodsTablecolumns: BasicColumn[] = [
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
width: 80,
},
{
@ -2076,8 +2149,7 @@ export const goodsTablecolumns: BasicColumn[] = [
dataIndex: 'kgs',
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
editComponent: 'InputNumber',
width: 80,
},
{
@ -2085,8 +2157,7 @@ export const goodsTablecolumns: BasicColumn[] = [
dataIndex: 'size',
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
editComponent: 'InputNumber',
width: 80,
},
{
@ -2094,8 +2165,7 @@ export const goodsTablecolumns: BasicColumn[] = [
dataIndex: 'tareWeight',
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
editComponent: 'InputNumber',
width: 80,
},
{
@ -2104,7 +2174,6 @@ export const goodsTablecolumns: BasicColumn[] = [
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
width: 80,
},
{
@ -2113,7 +2182,6 @@ export const goodsTablecolumns: BasicColumn[] = [
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
width: 80,
},
{
@ -2121,8 +2189,11 @@ export const goodsTablecolumns: BasicColumn[] = [
dataIndex: 'weightDate',
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
editComponent: 'DatePicker',
editComponentProps: {
showTime: true,
allowClear: true,
},
width: 80,
},
{
@ -2131,7 +2202,7 @@ export const goodsTablecolumns: BasicColumn[] = [
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
editRule: true,
width: 80,
},
{
@ -2140,7 +2211,6 @@ export const goodsTablecolumns: BasicColumn[] = [
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
width: 80,
},
@ -2149,8 +2219,7 @@ export const goodsTablecolumns: BasicColumn[] = [
dataIndex: 'kgs',
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
editComponent: 'InputNumber',
width: 80,
},
{
@ -2159,7 +2228,6 @@ export const goodsTablecolumns: BasicColumn[] = [
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
width: 80,
},
@ -2169,7 +2237,6 @@ export const goodsTablecolumns: BasicColumn[] = [
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
width: 80,
},
{
@ -2178,7 +2245,6 @@ export const goodsTablecolumns: BasicColumn[] = [
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
width: 80,
},
@ -2188,7 +2254,6 @@ export const goodsTablecolumns: BasicColumn[] = [
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
width: 80,
},
{
@ -2197,7 +2262,6 @@ export const goodsTablecolumns: BasicColumn[] = [
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
width: 80,
},
{
@ -2206,7 +2270,6 @@ export const goodsTablecolumns: BasicColumn[] = [
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
width: 80,
},
@ -2216,7 +2279,6 @@ export const goodsTablecolumns: BasicColumn[] = [
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
width: 80,
},
{
@ -2225,7 +2287,6 @@ export const goodsTablecolumns: BasicColumn[] = [
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
width: 80,
},
{
@ -2234,7 +2295,6 @@ export const goodsTablecolumns: BasicColumn[] = [
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
width: 80,
},
{
@ -2242,8 +2302,7 @@ export const goodsTablecolumns: BasicColumn[] = [
dataIndex: 'truckFee',
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
editComponent: 'InputNumber',
width: 80,
},
{
@ -2251,8 +2310,8 @@ export const goodsTablecolumns: BasicColumn[] = [
dataIndex: 'freeStorageDay',
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
editComponent: 'InputNumber',
editRule: true,
width: 80,
},
{
@ -2260,8 +2319,8 @@ export const goodsTablecolumns: BasicColumn[] = [
dataIndex: 'storageDay',
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
editComponent: 'InputNumber',
editRule: true,
width: 80,
},
{
@ -2269,8 +2328,7 @@ export const goodsTablecolumns: BasicColumn[] = [
dataIndex: 'storagePrice',
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
editComponent: 'InputNumber',
width: 80,
},
{
@ -2278,8 +2336,7 @@ export const goodsTablecolumns: BasicColumn[] = [
dataIndex: 'storageFee',
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
editComponent: 'InputNumber',
width: 80,
},
{
@ -2287,8 +2344,8 @@ export const goodsTablecolumns: BasicColumn[] = [
dataIndex: 'freeCtnDay',
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
editComponent: 'InputNumber',
editRule: true,
width: 80,
},
{
@ -2296,8 +2353,8 @@ export const goodsTablecolumns: BasicColumn[] = [
dataIndex: 'ctnDay',
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
editComponent: 'InputNumber',
editRule: true,
width: 80,
},
{
@ -2305,8 +2362,7 @@ export const goodsTablecolumns: BasicColumn[] = [
dataIndex: 'ctnPrice',
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
editComponent: 'InputNumber',
width: 80,
},
{
@ -2314,8 +2370,7 @@ export const goodsTablecolumns: BasicColumn[] = [
dataIndex: 'ctnFee',
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
editComponent: 'InputNumber',
width: 80,
},
{
@ -2323,8 +2378,14 @@ export const goodsTablecolumns: BasicColumn[] = [
dataIndex: 'isTemp',
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
editComponent: 'Select',
editComponentProps: {
// 数据源1固定数据
options: [
{ label: '是', value: true },
{ label: '否', value: false },
],
},
width: 80,
},
{
@ -2333,7 +2394,6 @@ export const goodsTablecolumns: BasicColumn[] = [
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
width: 80,
},
{
@ -2342,7 +2402,6 @@ export const goodsTablecolumns: BasicColumn[] = [
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
width: 80,
},
{
@ -2350,8 +2409,11 @@ export const goodsTablecolumns: BasicColumn[] = [
dataIndex: 'pickUpTime',
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
editComponent: 'DatePicker',
editComponentProps: {
showTime: true,
allowClear: true,
},
width: 80,
},
{
@ -2359,8 +2421,11 @@ export const goodsTablecolumns: BasicColumn[] = [
dataIndex: 'actualArrivalPortTime',
align: 'left',
editRow: true,
editComponent: 'Input',
editDefaultValue: '',
editComponent: 'DatePicker',
editComponentProps: {
showTime: true,
allowClear: true,
},
width: 80,
},
]

@ -1,165 +1,7 @@
{
"cntrNo": "",
"doc": "",
"hblno": "",
"mblno": "",
"voyno": "",
"blType": "拼箱分票",
"irCode": "",
"remark": "",
"applyNo": "",
"stlName": "",
"transNo": "",
"bookingNo": "",
"orderNo": "",
"invoiceNo": "",
"voucherNo": "",
"contractNo": "",
"customerNo": "",
"sourceCode": "",
"accountDate": "2024-01",
"bookingType": "",
"grossWeight": "",
"insuranceer": "",
"insuranceNo": "",
"measurement": "",
"operatorFax": "",
"operatorTel": "",
"customername": "",
"operatorCode": "",
"operatorId": "",
"temperatureUnit": "",
"financialStaffEmail": "",
"financialStaffTel": "",
"financialStaffFax": "",
"serviceContractNo": "",
"noPkgs": "",
"operatorEmail": "",
"yard": "",
"shipperContent": "",
"consigneeContent": "",
"notifyPartyContent": "",
"description": "",
"mblFrt": "",
"noBill": "",
"vessel": "",
"service": "",
"yardTel": "",
"loadPort": "",
"yardATTN": "",
"IssueType": "",
"orderType": "",
"payableAt": "",
"prepareAt": "",
"tradeTerm": "",
"transport": "",
"wareHouse": "",
"copyNoBill": "",
"issuePlace": "",
"destination": "",
"packingType": "",
"agentContent": "",
"receiptPlace": "",
"deliveryPlace": "",
"dischargePort": "",
"financialStaffCode": "",
"marks": "",
"hsCode": "",
"cargoId": "",
"linkMan": "",
"totalNo": "",
"dangerNo": "",
"humidity": "",
"cntrTotal": "",
"goodsName": "",
"dangerPage": "",
"dangerClass": "",
"dangerLabel": "",
"reeferQuantity": "",
"temperatureMax": "",
"temperatureMin": "",
"temperatureSet": "",
"customDate": "2000-01-01 00:00:00",
"carrier": "",
"carrierId": "",
"trucker": "",
"truckerId": "",
"customser": "",
"customserId": "",
"forwarder": "",
"forwarderId": "",
"sourceId": "",
"sourceDetailId": "",
"voyno2N": "",
"customNo": "",
"kindPkgs": "",
"vessel2N": "",
"ediRemark": "",
"cntrSealNo": "",
"enterprise": "",
"tranStatus": "",
"transRemark": "",
"inspectionNo": "",
"termDelivery": "",
"manifestStatus": "",
"insperctService": "",
"masterDescription": "",
"masterShipperContent": "",
"masterConsigneeContent": "",
"masterNotifyPartyContent": "",
"id": "",
"isBusinessLocking": "",
"isFeeLocking": "",
"saleOrgId": "",
"stlDate": "2000-01-01 00:00:00",
"etd": "2000-01-01 00:00:00",
"voynoinner": "",
"Lane": "",
"laneId": "",
"shipAgencyId": "",
"sale": "",
"saleId": "",
"customerService": "",
"saleDeptId": "",
"czRemark": "",
"dzRemark": "",
"receiptPlaceId": "",
"loadPortId": "",
"closingDate": "2000-01-01 00:00:00",
"closeDocDate": "2000-01-01 00:00:00",
"transportid": "",
"deliveryDate": "2000-01-01 00:00:00",
"agentId": "",
"agent": "",
"dischargePortId": "",
"atd": "2000-01-01 00:00:00",
"eta": "2000-01-01 00:00:00",
"deliveryPlaceId": "",
"issueDate": "2000-01-01 00:00:00",
"issueType": "",
"destinationId": "",
"issuePlaceId": "",
"note": "",
"inspectionDate": "2000-01-01 00:00:00",
"isMoreGood": true,
"isContainerSoc": true,
"weiTuoFang": "",
"ctnInfo": [
{
"rowKey": 1,
"ctn": "",
"size": "",
"editable": false,
"ctnNum": "1",
"cntrNo": "",
"sealNo": "",
"pkgs": "5",
"kindPkgs": "",
"kgs": "",
"tareWeight": "",
"weightType": "",
"weightKGS": "",
"weightDate": ""
}
]
}
The req field is required
Error converting value {null} to type 'System.Int32'. Path 'ctnInfo[0].teu', line 1, position 3187
Error converting value {null} to type 'System.Int32'. Path 'ctnInfo[0].ctnDay', line 1, position 3437
Error converting value {null} to type 'System.Int32'. Path 'ctnInfo[0].freeCtnDay', line 1, position 3425
Error converting value {null} to type 'System.Int32'. Path 'ctnInfo[0].storageDay', line 1, position 3375
Error converting value {null} to type 'System.Int32'. Path 'ctnInfo[0].freeStorageDay', line 1, position 3359.

@ -48,10 +48,10 @@
<input type="radio" name="tabs" id="tab4" checked="false" />
<label class="tabs-label" for="tab4">MASTER单信息</label>
</li>
<li @click="changeParentTabs('5-5')">
<!-- <li @click="changeParentTabs('5-5')">
<input type="radio" name="tabs" id="tab5" checked="false" />
<label class="tabs-label" for="tab5">待定</label>
</li>
</li> -->
</div>
<div class="parents-tabs-content">
<div id="tab-content1" class="tab-content" v-show="mainOrderActiveKey === '1-1'">
@ -139,7 +139,7 @@
@changeDetail="changeDetailFun"
></mastetMore>
</div>
<div id="tab-content5" class="tab-content" v-show="mainOrderActiveKey === '5-5'">
<!-- <div id="tab-content5" class="tab-content" v-show="mainOrderActiveKey === '5-5'">
<mastetMore
ref="RefmastetMore"
class="pane-box"
@ -148,7 +148,7 @@
isParent="parent"
@changeDetail="changeDetailFun"
></mastetMore>
</div>
</div> -->
</div>
</ul>
</a-col>
@ -216,6 +216,7 @@
CheckCtnCover,
GetCtnListRefsh,
} from '../api/BookingLedger'
import { getDictDropDown } from '/@/api/common'
const appStore = useAppStore()
const go = useGo()
const { notification } = useMessage()
@ -438,41 +439,41 @@
let tab2: any = document.getElementById('tab2')
let tab3: any = document.getElementById('tab3')
let tab4: any = document.getElementById('tab4')
let tab5: any = document.getElementById('tab5')
// let tab5: any = document.getElementById('tab5')
if (nVal.value == '1-1') {
tab1.checked = true
tab2.checked = false
tab3.checked = false
tab4.checked = false
tab5.checked = false
// tab5.checked = false
}
if (nVal.value == '2-2') {
tab2.checked = true
tab1.checked = false
tab3.checked = false
tab4.checked = false
tab5.checked = false
// tab5.checked = false
}
if (nVal.value == '3-3') {
tab3.checked = true
tab1.checked = false
tab2.checked = false
tab4.checked = false
tab5.checked = false
// tab5.checked = false
}
if (nVal.value == '4-4') {
tab3.checked = false
tab1.checked = false
tab2.checked = false
tab4.checked = true
tab5.checked = false
// tab5.checked = false
}
if (nVal.value == '5-5') {
tab3.checked = false
tab1.checked = false
tab2.checked = false
tab4.checked = false
tab5.checked = true
// tab5.checked = true
}
},
{ immediate: true, deep: true },
@ -684,9 +685,21 @@
return false
}
let ctnInfo: any = []
console.log(ctnInfo)
let ctnList = []
const Fnctn: any = await getDictDropDown({ code: 'ctn_code' })
if (Fnctn.succeeded) {
ctnList = []
Fnctn.data.forEach((e) => {
ctnList.push({ label: e.name, value: e.value })
})
}
RefgoodsTable.value.getDataSource().forEach((e, index) => {
let ctnCode = ''
ctnList.forEach((item: any) => {
if (item.label == e.ctn) {
ctnCode = item.value
}
})
ctnInfo.push({
id: e.id ? e.id : '',
bsno: e.bsno ? e.bsno : '',
@ -698,12 +711,15 @@
size: e.size,
tareWeight: e.tareWeight,
weightType: e.weightType,
ctnCode: ctnCode,
ctn: e.ctn,
weightKGS: e.weightKGS,
weightDate: e.weightDate,
teu: e.teu,
ctnAll: e.ctnAll,
cbm: e.cbm,
pkgs: e.pkgs,
isTemp: e.isTemp,
goodsName: e.goodsName,
ctnStatus: e.ctnStatus,
weightATTN: e.weightATTN,
@ -721,7 +737,6 @@
ctnDay: e.ctnDay,
ctnPrice: e.ctnPrice,
ctnFee: e.ctnFee,
isTemp: e.isTemp,
vgmAddr: e.vgmAddr,
vgmEmail: e.vgmEmail,
pickUpTime: e.pickUpTime,
@ -736,6 +751,7 @@
...RefmailingInfo.value.getFieldsValueR(),
...RefcargoInfo.value.getFieldsValue(),
...RefediMore.value.getFieldsValue(),
...RefmastetMore.value.getFieldsValue(),
ctnInfo,
}
BookingOrderSave(_data)
@ -1721,9 +1737,9 @@
// } else {
// RefsedOrder.value.init([])
// }
if (bookingDetails.value.ctnInputs.length > 0) {
RefgoodsTable.value.init()
}
// if (bookingDetails.value.ctnInputs.length > 0) {
// RefgoodsTable.value.init()
// }
}, 1200)
// that.$forceUpdate()
}

@ -66,16 +66,16 @@
</div>
<div class="table-right">
<!-- <span>合计: {{ totalCtnall }}</span> -->
<span
>件数: {{ totalPkgs }} {{ tableData.length > 0 ? tableData[0].kindpkgs : '' }}</span
>
<!-- {{ totalPkgs }} {{ tableData.length > 0 ? tableData[0].kindpkgs : '' }} -->
<span> 件数: {{ totalPkgs }}</span>
<span>重量: {{ totalKgs }} KGS</span>
<span>尺码: {{ totalCbm }} CBM</span>
<span>箱量: {{ details.cntrtotal }}</span>
<span>箱量: {{ totalCtn }}</span>
</div>
</div>
<div v-if="tableLoaded">
<BasicTable @register="register" @row-dbClick="EditRow" />
<BasicTable @register="register" @row-dbClick="EditRow" @edit-row-end="EditRowEnd" />
<!-- rowKeyFieldName="rowKey" -->
<!-- <vxe-table
:columns="columns"
@ -178,6 +178,7 @@
GetYardData,
ReadAutoYardImport,
GetCtnListRefsh,
GetOpCtnList,
} from '/@/views/operation/seaexport/api/BookingLedger'
import { BasicColumn, BasicTable, useTable } from '/@/components/Table'
@ -205,7 +206,31 @@
watch(
() => props.details,
(nval, oval) => {
// setTableData(nval)
console.log(nval.id, nval.bsno, oval)
if (nval.id) {
GetOpCtnList({
queryCondition: JSON.stringify([
{
FieldName: 'bsno',
FieldValue: nval.id,
ConditionalType: 1,
},
]),
pageCondition: {
pageIndex: 1,
pageSize: 999,
sortConditions: [],
},
}).then((res) => {
let data = res.data
data.forEach((item, index) => {
item.rowKey = index
})
setTableData(data)
EditRowEnd()
})
}
// if (nval.id) {
// console.log(nval.id)
// }
@ -241,10 +266,50 @@
rowKey: dataSource.value.length
? dataSource.value[dataSource.value.length - 1].rowKey + 1
: 1,
ctn: '',
id: '',
bsno: '',
ctnNum: '',
cntrNo: '',
sealNo: '',
kindPkgs: '',
kgs: '',
size: '',
tareWeight: '',
weightType: '',
ctnCode: '',
ctn: '',
weightKGS: '',
weightDate: '',
teu: '',
ctnAll: '',
cbm: '',
goodsName: '',
ctnStatus: '',
weightATTN: '',
weightTel: '',
weightSign: '',
masterNo: '',
trucker: '',
truckNo: '',
truckFee: '',
freeStorageDay: '',
storageDay: '',
storagePrice: '',
storageFee: '',
freeCtnDay: '',
ctnDay: '',
ctnPrice: '',
ctnFee: '',
isTemp: '',
vgmAddr: '',
vgmEmail: '',
pickUpTime: '',
actualArrivalPortTime: '',
pkgs: '',
}
dataSource.value.push(data)
console.log(data)
setTableData([...getDataSource(), data])
}
function EditRow(record, index, event) {
console.log('双击', record, index, event)
@ -256,6 +321,19 @@
record.onSubmitEdit()
}
}
//
function EditRowEnd() {
totalPkgs.value = 0
totalKgs.value = 0
totalCbm.value = 0
totalCtn.value = 0
getDataSource().forEach((item) => {
totalPkgs.value = Number(item.pkgs) + Number(totalPkgs.value)
totalKgs.value = Number(item.kgs) + Number(totalKgs.value)
totalCbm.value = Number(item.size) + Number(totalCbm.value)
totalCtn.value = Number(item.size) + Number(totalCtn.value)
})
}
// -------------------------------
const loadingTable = ref(false)
const tableData: any = ref([{}])
@ -263,6 +341,7 @@
const totalPkgs: any = ref(0)
const totalKgs: any = ref(0)
const totalCbm: any = ref(0)
const totalCtn: any = ref(0)
const checkboxOption = ref({
hideSelectAll: false,
//

@ -1,244 +1,9 @@
<template>
<div class="more-edi" :style="{ paddingTop: '20px', paddingBottom: '10px' }">
<a-form ref="RefmastetFrom" :model="props.details" :rules="rules" v-if="props.details">
<div class="normal">
<BasicForm @register="registerForm" />
<!-- <a-row :gutter="16">
<a-col :span="12">
<a-form-item
has-feedback
name="consignee"
class="sender-label"
style="overflow: hidden"
>
<div class="consignee">
<div
class="top"
:class="{ required: rules['consignee'] && rules['consignee'][0].required }"
>
<div class="name"
><span
@click="handleOpen(2)"
style="cursor: pointer"
class="copy-btn iconfont icon-bianji"
></span
>发货人</div
>
<selectView
type="masterShipperId"
ref="shippernameInput"
:defaultVal="masterShipperId"
searchApi="GetShipperClientList"
:showLabel="['title']"
:disabled="BookingLockOrder['masterShipperId'] && isLockBooking"
@change="getSelectViewRes"
style="flex: 1"
></selectView>
<a-button
class="save-btn"
type="link"
size="small"
icon="save"
@click="saveModel('masterShipperContent')"
>保存</a-button
>
<div class="right">
<span
class="btn-circle"
@click="spliceMore('masterShipperContent')"
:style="{ fontSize: '14px' }"
>*</span
>
<span class="btn" @click="changeCode(35, 'masterShipperContent')">35</span>
<span class="btn" @click="changeCode(40, 'masterShipperContent')">40</span>
<span class="btn" @click="changeCode(50, 'masterShipperContent')">50</span>
</div>
</div>
<div class="bottom">
<textareaView
id="consignee-scroll"
:parentVal="props.details.masterShipperContent"
type="masterShipperContent"
:openToCDB="true"
:disabled="BookingLockOrder['masterShipperContent'] && isLockBooking"
@getTextareaChange="getTextareaChange"
/>
<div
class="line-count"
id="consignee-scroll-right"
v-if="
Object.keys(props.details).length > 1 &&
props.details.masterShipperContent.length > 0
"
>
<div
v-for="(num, index) in props.details.masterShipperContent.split('\n')"
:key="index"
>{{ num.length }}</div
>
</div>
</div>
</div>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item
has-feedback
name="consignee"
class="sender-label"
style="overflow: hidden"
>
<div class="consignee">
<div
class="top"
:class="{ required: rules['consignee'] && rules['consignee'][0].required }"
>
<div class="name"
><span
@click="handleOpen(2)"
style="cursor: pointer"
class="copy-btn iconfont icon-bianji"
></span
>收货人</div
>
<selectView
type="masterConsigneeId"
ref="consigneenameInput"
:defaultVal="masterConsigneeId"
searchApi="GetConsigneeClientList"
:showLabel="['title']"
:disabled="BookingLockOrder['masterConsigneeId'] && isLockBooking"
@change="getSelectViewRes"
style="flex: 1"
></selectView>
<a-button
class="save-btn"
type="link"
size="small"
icon="save"
@click="saveModel('masterConsigneeContent')"
>保存</a-button
>
<div class="right">
<span
class="btn-circle"
@click="spliceMore('masterConsigneeContent')"
:style="{ fontSize: '14px' }"
>*</span
>
<span class="btn" @click="changeCode(35, 'masterConsigneeContent')">35</span>
<span class="btn" @click="changeCode(40, 'masterConsigneeContent')">40</span>
<span class="btn" @click="changeCode(50, 'masterConsigneeContent')">50</span>
</div>
</div>
<div class="bottom">
<textareaView
id="consignee-scroll"
:parentVal="props.details.masterConsigneeContent"
type="masterConsigneeContent"
:openToCDB="true"
:disabled="BookingLockOrder['masterConsigneeContent'] && isLockBooking"
@getTextareaChange="getTextareaChange"
/>
<div
class="line-count"
id="consignee-scroll-right"
v-if="
Object.keys(props.details).length > 1 &&
props.details.masterConsigneeContent.length > 0
"
>
<div
v-for="(num, index) in props.details.masterConsigneeContent.split('\n')"
:key="index"
>{{ num.length }}</div
>
</div>
</div>
</div>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item
has-feedback
name="consignee"
class="sender-label"
style="overflow: hidden"
>
<div class="consignee">
<div
class="top"
:class="{ required: rules['consignee'] && rules['consignee'][0].required }"
>
<div class="name"
><span
@click="handleOpen(2)"
style="cursor: pointer"
class="copy-btn iconfont icon-bianji"
></span
>通知人</div
>
<selectView
type="masterNotifyPartyId"
ref="notifypartynameInput"
:defaultVal="masterNotifyPartyId"
searchApi="GetNotifyPartyClientList"
:showLabel="['title']"
:disabled="BookingLockOrder['masterNotifyPartyId'] && isLockBooking"
@change="getSelectViewRes"
style="flex: 1"
></selectView>
<a-button
class="save-btn"
type="link"
size="small"
icon="save"
@click="saveModel('masterNotifyPartyContent')"
>保存</a-button
>
<div class="right">
<span
class="btn-circle"
@click="spliceMore('masterNotifyPartyContent')"
:style="{ fontSize: '14px' }"
>*</span
>
<span class="btn" @click="changeCode(35, 'masterNotifyPartyContent')">35</span>
<span class="btn" @click="changeCode(40, 'masterNotifyPartyContent')">40</span>
<span class="btn" @click="changeCode(50, 'masterNotifyPartyContent')">50</span>
</div>
</div>
<div class="bottom">
<textareaView
id="consignee-scroll"
:parentVal="props.details.masterNotifyPartyContent"
type="masterNotifyPartyContent"
:openToCDB="true"
:disabled="BookingLockOrder['masterNotifyPartyContent'] && isLockBooking"
@getTextareaChange="getTextareaChange"
/>
<div
class="line-count"
id="consignee-scroll-right"
v-if="
Object.keys(props.details).length > 1 &&
props.details.masterNotifyPartyContent.length > 0
"
>
<div
v-for="(num, index) in props.details.masterNotifyPartyContent.split('\n')"
:key="index"
>{{ num.length }}</div
>
</div>
</div>
</div>
</a-form-item>
</a-col>
</a-row> -->
</div>
</a-form>
</div>
</template>
<script lang="ts" setup>
import { BookingTemplateAdd } from '/@/views/operation/seaexport/api/BookingLedger'

Loading…
Cancel
Save