lijingjia 7 months ago
commit 2e310ef7ff

@ -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-05-06 15:42:39
# @LastEditTime: 2024-05-09 15:50:33
# @FilePath: \ds-wms-client-web\.env.development
# @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
###
@ -22,8 +22,8 @@ VITE_PROXY=[["/api","http://60.209.125.238:3008"],["/stage-api","https://www.666
VITE_DROP_CONSOLE = false
# 后台接口父地址(必填)
# VITE_GLOB_API_URL=http://localhost:3008
VITE_GLOB_API_URL="/api" # 开发 测试环境
VITE_GLOB_API_URL=http://localhost:3008
# VITE_GLOB_API_URL="/api" # 开发 测试环境
# File upload address optional
#VITE_GLOB_UPLOAD_URL=http://localhost:8091/api/Common/UploadFile

@ -1,6 +1,9 @@
<!--
* @Author: 张同海 14166000+zhangtonghai@user.noreply.gitee.com
* @Date: 2024-04-17 10:30:29
* @Date: 2024-05-06 09:18:47
* @LastEditors: 张同海 14166000+zhangtonghai@user.noreply.gitee.com
* @LastEditTime: 2024-05-08 15:17:28
* @FilePath: \ds-wms-client-web\src\App.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template>

@ -1,3 +1,11 @@
/*
* @Author: 14166000+zhangtonghai@user.noreply.gitee.com
* @Date: 2024-04-17 10:30:30
* @LastEditors: 14166000+zhangtonghai@user.noreply.gitee.com
* @LastEditTime: 2024-05-08 17:51:51
* @FilePath: \ds-wms-client-web\src\hooks\web\usePage.ts
* @Description: ,`customMade`, koroFileHeader : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
import type { RouteLocationRaw, Router } from 'vue-router'
import { PageEnum } from '/@/enums/pageEnum'
@ -19,6 +27,7 @@ function handleError(e: Error) {
export function useGo(_router?: Router) {
const { push, replace } = _router || useRouter()
function go(opt: RouteLocationRawEx = PageEnum.BASE_HOME, isReplace = false) {
if (!opt) {
return
}

@ -59,6 +59,8 @@
)
function handleContext(e) {
console.log('handleContext')
props.tabItem && handleContextMenu(props.tabItem)(e)
}

@ -111,6 +111,8 @@
})
function handleChange(activeKey: any) {
console.log(activeKey)
activeKeyRef.value = activeKey
go(activeKey, false)
}

@ -8,44 +8,27 @@
@ok="handleSave"
>
<div :style="{ display: 'flex' }">
<a-menu
v-if="isUpdate"
style="width: 155px"
:selected-keys="selectedKeys"
mode="inline"
@click="handleClick"
>
<a-menu-item key="menu1"> 基本信息 </a-menu-item>
<a-menu-item key="menu2"> 联系人信息 </a-menu-item>
<a-menu-item key="menu3"> 收发货人信息维护 </a-menu-item>
<a-menu-item key="menu4"> 合同管理 </a-menu-item>
<!-- <a-menu-item key="menu5"> 图片管理 </a-menu-item> -->
</a-menu>
<!-- 基本信息 -->
<a-tabs
v-show="selectedKeys[0] == 'menu1'"
v-model:activeKey="activeKey"
type="card"
class="RUnit"
>
<a-tabs v-model:activeKey="activeKey" type="card" class="RUnit">
<a-tab-pane key="1" tab="基本信息"> <BasicForm @register="registerForm1" /></a-tab-pane>
<a-tab-pane key="2" tab="财务信息"> <BasicForm @register="registerForm2" /></a-tab-pane>
<a-tab-pane v-if="isUpdate" key="3" tab="账期信息">
<Tabs3 :client-id="clientId" />
<!-- <BasicTable @register="registerTable" @row-dbClick="onRowDbClick">
<template #toolbar>
<a-button type="primary" @click="handleButton"> </a-button>
</template>
</BasicTable> -->
</a-tab-pane>
<a-tab-pane v-if="isUpdate" key="4" tab="联系人信息">
<!-- 联系人信息 -->
<Menus2 :client-id="clientId" class="RUnit" />
</a-tab-pane>
<a-tab-pane v-if="isUpdate" key="5" tab="收发货人信息维护">
<!-- 收发货人信息维护 -->
<Menus3 :client-id="clientId" class="RUnit" />
</a-tab-pane>
<a-tab-pane v-if="isUpdate" key="6" tab="合同管理">
<!-- 合同管理 -->
<Menus4 :client-id="clientId" class="RUnit" />
</a-tab-pane>
</a-tabs>
<!-- 联系人信息 -->
<Menus2 v-if="selectedKeys[0] == 'menu2'" :client-id="clientId" class="RUnit" />
<!-- 收发货人信息维护 -->
<Menus3 v-if="selectedKeys[0] == 'menu3'" :client-id="clientId" class="RUnit" />
<!-- 合同管理 -->
<Menus4 v-if="selectedKeys[0] == 'menu4'" :client-id="clientId" class="RUnit" />
<!-- 图片管理 -->
<!-- <Menus5 v-show="selectedKeys[0] == 'menu5'" class="RUnit" /> -->
</div>
@ -97,10 +80,6 @@
// Emits
const emit = defineEmits(['success', 'register'])
const selectedKeys = ref(['menu1'])
const handleClick = (e: Event) => {
selectedKeys.value[0] = e.key
// console.log('click', e)
}
const isUpdate = ref(true)
const loading = ref(false)
const rowId = ref('')
@ -120,6 +99,13 @@
schemas: formSchema2,
showActionButtonGroup: false,
})
const clientTag_o = ref({
id: '',
clientId: '',
others: '',
note: '',
createTime: '',
})
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
activeKey.value = '1'
selectedKeys.value = ['menu1']
@ -137,15 +123,22 @@
res.data.ArrclientTag = []
res.data.others = res.data.clientTag.others
Object.keys(res.data.clientTag).forEach((item) => {
if (item.indexOf('is') != -1 && res.data.clientTag[item]) {
res.data.ArrclientTag.push(item)
if (item.indexOf('is') != -1) {
if (res.data.clientTag[item]) {
res.data.ArrclientTag.push(item)
}
} else {
console.log(item)
clientTag_o.value[item] = res.data.clientTag[item]
}
})
setFieldsValue({
console.log(clientTag_o.value)
await setFieldsValue({
...res.data,
})
activeKey.value = '2'
setFieldsValue1({
await setFieldsValue1({
...res.data,
})
activeKey.value = '1'
@ -154,7 +147,11 @@
}
// setModalProps({ confirmLoading: false });
} else {
setFieldsValue({ permissionIdentity: unref(2) })
activeKey.value = '2'
await setFieldsValue({})
activeKey.value = '1'
await setFieldsValue1({})
}
setModalProps({ loading: false })
})
@ -167,42 +164,46 @@
const values1 = await validate1().catch(() => {
createMessage.warning('请补全财务信息中必填内容!')
})
setModalProps({ confirmLoading: true, loading: true })
// TODO custom api
values.clientTag = {}
ClientTag.forEach((item) => {
let type = false
values.ArrclientTag.forEach((item2) => {
if (item2 == item.value) {
type = true
console.log(values, values1)
if (values && values1) {
setModalProps({ confirmLoading: true, loading: true })
// TODO custom api
values.clientTag = {}
ClientTag.forEach((item) => {
let type = false
if (values.ArrclientTag) {
values.ArrclientTag.forEach((item2) => {
if (item2 == item.value) {
type = true
}
})
}
values.clientTag[item.value] = type
})
values.clientTag[item.value] = type
})
values.clientTag = { ...values.clientTag, ...clientTag_o.value }
values.clientTag.others = values.others
// loading.value = true;
const res: API.DataResult = await editCodeGoodsType({ ...values, ...values1 })
console.log(res)
if (res.succeeded) {
createMessage.success(res.message)
emit('success')
//
if (!exit) {
if (unref(isUpdate)) {
await refresh()
} else {
rowId.value = res.data
isUpdate.value = true
await refresh()
values.clientTag.others = values.others
// loading.value = true;
const res: API.DataResult = await editCodeGoodsType({ ...values, ...values1 })
if (res.succeeded) {
createMessage.success(res.message)
emit('success')
//
if (!exit) {
if (unref(isUpdate)) {
await refresh()
} else {
rowId.value = res.data
isUpdate.value = true
await refresh()
}
}
} else {
createMessage.error(res.message)
}
} else {
createMessage.error(res.message)
}
exit && closeModal()
exit && closeModal()
}
} finally {
// loading.value = false;
setModalProps({ confirmLoading: false, loading: false })
@ -217,104 +218,9 @@
})
}
}
function handleButton() {
setLoading(true)
// setColumns(form3columns)
setTableData([...getDataSource(), {}])
setTimeout(() => {
setLoading(false)
}, 200)
}
const [
registerTable,
{ reload, getForm, getPaginationRef, setLoading, setColumns, setTableData, getDataSource },
] = useTable({
title: '账期信息列表',
// api: async (p) => {
// const res: API.DataResult = await getCodeGoodsTypeList(p)
// return new Promise((resolve) => {
// resolve({ data: [...res.data], total: res.count })
// })
// },
beforeFetch: () => {
var currentPageInfo: any = getPaginationRef()
var data = getForm().getFieldsValue()
const postParam: API.PageRequest = {
queryCondition: '',
pageCondition: {
pageIndex: currentPageInfo.current,
pageSize: currentPageInfo.pageSize,
sortConditions: [],
},
}
/* 排序字段 */
// if (!!sortInfo.columnKey) {
// postParam.pageCondition.sortConditions.push({
// sortField: sortInfo.field,
// listSortDirection: sortInfo.order === 'ascend' ? 0 : 1,
// })
// } else {
// postParam.pageCondition.sortConditions.push({
// sortField: 'auditTime',
// listSortDirection: 0,
// })
// }
let condition: API.ConditionItem[] = []
if (!!data.GoodsTypeName) {
condition.push({
FieldName: 'GoodsTypeName',
FieldValue: data.GoodsTypeName,
ConditionalType: 1,
})
}
// /* */
// if (filterInfo === null) {
// } else {
// // console.log(filterInfo);
// // console.log('' + filterInfo.auditStatus);
// if (!!filterInfo.auditStatus && filterInfo.auditStatus.length > 0) {
// condition.push({
// FieldName: 'AuditStatus',
// FieldValue: filterInfo.auditStatus.join(),
// ConditionalType: 6,
// })
// }
// }
postParam.queryCondition = JSON.stringify(condition)
return postParam
},
columns: form3columns,
// sortFn: (sorter) => {
// // console.log(':' + sorter);
// sortInfo = sorter
// },
// filterFn: (filters) => {
// // console.log(':' + filters);
// filterInfo = filters
// },
pagination: true,
bordered: true,
useSearchForm: false,
showTableSetting: false,
actionColumn: {
width: 80,
title: '操作',
dataIndex: 'action',
fixed: undefined,
},
})
function onRowDbClick(record, index, event) {
console.log('双击', record, index, event)
if (!record.editable) {
record.onEdit(true)
} else {
record.editable = false
record.onSubmitEdit()
}
}
</script>
<style lang="less" scoped>
.RUnit {
width: calc(100% - 152px);
width: 100%;
}
</style>

@ -0,0 +1,30 @@
The Level field is required
The TaxNo field is required
The CtnType field is required
The FAPCode field is required
The FARCode field is required
The OrderNo field is required
The RMBBank field is required
The StlDate field is required
The StlName field is required
The USDBank field is required
'' must not be empty
The AuditNote field is required
'' must not be empty
The BillRises1 field is required
The BillRises2 field is required
The RMBAccount field is required
The USDAccount field is required
The CarrierList field is required
The InvoiceBank field is required
The RMBOnlineNO field is required
The USDOnlineNO field is required
The RMBBillRises field is required
The USDBillRises field is required
The StlMiddleDate field is required
The InvoiceAddrTel field is required
The InvoiceStlDate field is required
The StlFirstHalfDate field is required
The CustomAttributes1 field is required
The CustomAttributes2 field is required.

@ -447,7 +447,7 @@ export const formSchema: FormSchema[] = [
{
field: 'ediCode',
label: 'EDI代码',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 4 },
@ -455,7 +455,7 @@ export const formSchema: FormSchema[] = [
{
field: 'ediCode2',
label: 'EDI代码2',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 4 },
@ -463,7 +463,7 @@ export const formSchema: FormSchema[] = [
{
field: 'ediCode3',
label: 'EDI代码3',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 4 },
@ -471,7 +471,7 @@ export const formSchema: FormSchema[] = [
{
field: 'description',
label: '客户全称',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 18 },
@ -479,7 +479,7 @@ export const formSchema: FormSchema[] = [
{
field: 'pcorpName',
label: '所属集团',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 6 },
@ -495,7 +495,7 @@ export const formSchema: FormSchema[] = [
{
field: 'enShortName',
label: '英文简称',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 6 },
@ -503,7 +503,7 @@ export const formSchema: FormSchema[] = [
{
field: 'enFullName',
label: '客户英文全称',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 12 },
@ -511,7 +511,7 @@ export const formSchema: FormSchema[] = [
{
field: 'saleOrgId',
label: '所属分部',
required: true,
// required: true,
component: 'Select',
defaultValue: '',
colProps: { span: 6 },
@ -527,7 +527,7 @@ export const formSchema: FormSchema[] = [
{
field: 'address',
label: '通讯地址',
required: true,
// required: true,
component: 'InputTextArea',
defaultValue: '',
colProps: { span: 24 },
@ -538,7 +538,7 @@ export const formSchema: FormSchema[] = [
{
field: 'registrationNo',
label: '企业备案号',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 6 },
@ -546,7 +546,7 @@ export const formSchema: FormSchema[] = [
{
field: 'inspectionNo',
label: '商检备案号',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 6 },
@ -554,7 +554,7 @@ export const formSchema: FormSchema[] = [
{
field: 'organizationCode',
label: '组织机构代码',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 6 },
@ -571,7 +571,7 @@ export const formSchema: FormSchema[] = [
{
field: 'tel',
label: '电话',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 12 },
@ -579,7 +579,7 @@ export const formSchema: FormSchema[] = [
{
field: 'fax',
label: '传真',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 12 },
@ -587,7 +587,7 @@ export const formSchema: FormSchema[] = [
{
field: 'chief',
label: '负责人',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 12 },
@ -595,7 +595,7 @@ export const formSchema: FormSchema[] = [
{
field: 'qq',
label: 'QQ',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 12 },
@ -603,7 +603,7 @@ export const formSchema: FormSchema[] = [
{
field: 'email',
label: '邮箱',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 12 },
@ -611,7 +611,7 @@ export const formSchema: FormSchema[] = [
{
field: 'web',
label: '网址',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 12 },
@ -619,7 +619,7 @@ export const formSchema: FormSchema[] = [
{
field: 'msn',
label: 'MSN',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 12 },
@ -627,7 +627,7 @@ export const formSchema: FormSchema[] = [
{
field: 'city',
label: '城市',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 12 },
@ -635,7 +635,7 @@ export const formSchema: FormSchema[] = [
{
field: 'province',
label: '省或州',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 6 },
@ -643,7 +643,7 @@ export const formSchema: FormSchema[] = [
{
field: 'country',
label: '国家',
required: true,
// required: true,
component: 'Select',
colProps: { span: 6 },
defaultValue: '',
@ -752,21 +752,21 @@ export const formSchema: FormSchema[] = [
// {
// field: 'unitPrice',
// label: '登陆人(===',
// required: true,
// // required: true,
// component: 'Input',
// colProps: { span: 6 },
// },
// {
// field: 'unitPrice',
// label: '密码(===',
// required: true,
// // required: true,
// component: 'Input',
// colProps: { span: 6 },
// },
{
field: 'unitPrice',
label: '冷藏费率',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 6 },
@ -789,12 +789,13 @@ export const formSchema: FormSchema[] = [
field: 'commissionUserId',
label: '提成参与人',
component: 'Select',
defaultValue: '',
colProps: { span: 6 },
},
{
field: 'feeFRT',
label: '默认付费方式',
required: true,
// required: true,
component: 'Select',
colProps: { span: 6 },
defaultValue: '',
@ -810,7 +811,7 @@ export const formSchema: FormSchema[] = [
{
field: 'wmsFeeRateType',
label: '仓储费开始日期模式',
required: true,
// required: true,
component: 'Select',
colProps: { span: 12 },
labelWidth: 140,
@ -827,8 +828,9 @@ export const formSchema: FormSchema[] = [
{
label: '客户属性',
field: 'ArrclientTag',
required: true,
// required: true,
component: 'CheckboxGroup',
defaultValue: '',
colProps: { span: 24 },
componentProps: {
options: ClientTag,
@ -837,7 +839,7 @@ export const formSchema: FormSchema[] = [
{
field: 'others',
label: '其他类型',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 6 },
@ -846,6 +848,7 @@ export const formSchema: FormSchema[] = [
field: 'note',
label: '备注',
component: 'InputTextArea',
defaultValue: '',
colProps: { span: 24 },
componentProps: {
rows: 4,
@ -854,7 +857,7 @@ export const formSchema: FormSchema[] = [
{
field: 'blContent',
label: '提单信息',
required: true,
// required: true,
component: 'InputTextArea',
defaultValue: '',
colProps: { span: 24 },
@ -880,7 +883,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'farCode',
label: '财务应收账款代码',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 8 },
@ -888,7 +891,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'fapCode',
label: '财务应付账款代码',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 8 },
@ -896,7 +899,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'orderNo',
label: '财务序号',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 8 },
@ -904,7 +907,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'billRises1',
label: '发票抬头',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 12 },
@ -912,7 +915,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'billRises2',
label: '发票抬头2',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 12 },
@ -920,7 +923,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'invoiceAddrTel',
label: '发票地址电话',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 24 },
@ -928,7 +931,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'rmbBillRises',
label: '人民币支票抬头',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 24 },
@ -936,7 +939,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'usdBillRises',
label: '美元支票抬头',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 24 },
@ -944,7 +947,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'taxNo',
label: '纳税人识别号',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 24 },
@ -952,7 +955,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'rmbBank',
label: '人民币开户银行',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 8 },
@ -960,7 +963,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'rmbAccount',
label: '人民币账号',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 8 },
@ -968,7 +971,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'rmbOnlineNO',
label: '人民币联机行号',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 8 },
@ -976,7 +979,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'usdBank',
label: '美元开户银行',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 8 },
@ -984,7 +987,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'usdAccount',
label: '美元账号',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 8 },
@ -992,7 +995,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'usdOnlineNO',
label: '美元联机行号',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 8 },
@ -1000,25 +1003,31 @@ export const formSchema2: FormSchema[] = [
{
field: 'rmbMaxAmountCredit',
label: '人民币信用最大金额',
component: 'Input',
required: true,
component: 'InputNumber',
defaultValue: '',
colProps: { span: 6 },
},
{
field: 'usdMaxAmountCredit',
label: '美元信用最大金额',
component: 'Input',
required: true,
component: 'InputNumber',
defaultValue: '',
colProps: { span: 6 },
},
{
field: 'maxAmountCredit',
label: '信用最大金额',
component: 'Input',
required: true,
component: 'InputNumber',
defaultValue: '',
colProps: { span: 6 },
},
{
field: 'stlDate',
label: '月结算时间',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 6 },
@ -1026,7 +1035,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'stlFirstHalfDate',
label: '上半月结算时间',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 6 },
@ -1034,7 +1043,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'stlMiddleDate',
label: '下半月结算时间',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 6 },
@ -1042,7 +1051,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'invoiceStlDate',
label: '票结结算时间',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 6 },
@ -1050,7 +1059,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'customAttributes1',
label: '自定义属性1',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 6 },
@ -1058,7 +1067,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'customAttributes2',
label: '自定义属性2',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 6 },
@ -1066,7 +1075,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'stlName',
label: '结算方式编码',
required: true,
// required: true,
component: 'Select',
colProps: { span: 6 },
labelWidth: 140,
@ -1084,14 +1093,14 @@ export const formSchema2: FormSchema[] = [
field: 'usdExchangeRate',
label: '美金汇率',
required: true,
component: 'Input',
component: 'InputNumber',
defaultValue: '',
colProps: { span: 6 },
},
{
field: 'level',
label: '等级',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 6 },
@ -1099,19 +1108,22 @@ export const formSchema2: FormSchema[] = [
{
field: 'auditStatus',
label: '审批状态',
required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 6 },
},
{
field: 'auditTime',
label: '审批时间',
component: 'DatePicker',
defaultValue: '',
colProps: { span: 6 },
},
{
field: 'auditNote',
label: '审批意见',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 6 },
@ -1119,7 +1131,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'invoiceBank',
label: '发票银行',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 6 },
@ -1127,7 +1139,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'carrierList',
label: '运输公司列表',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 6 },
@ -1135,7 +1147,7 @@ export const formSchema2: FormSchema[] = [
{
field: 'ctnType',
label: '集装箱尺寸',
required: true,
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 6 },

@ -887,7 +887,249 @@ export const searchFormSchema: FormSchema[] = [
label: '主提单号',
component: 'Input',
defaultValue: '',
colProps: { span: 6 },
colProps: { span: 3 },
},
{
field: 'hblno',
label: '分提单号',
component: 'Input',
defaultValue: '',
colProps: { span: 3 },
},
{
label: '委托单位',
field: 'customername',
component: 'Select',
required: false,
dynamicDisabled: false,
defaultValue: '',
colProps: { span: 4 },
componentProps: {
allowClear: true,
options: ListData.customername,
showSearch: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
},
},
{
field: 'etd',
label: '开船日期',
component: 'RangePicker',
required: false,
dynamicDisabled: false,
defaultValue: '',
colProps: { span: 8 },
componentProps: {
showTime: true,
allowClear: true,
},
},
{
label: '操作',
field: 'operatorId',
component: 'Select',
required: false,
dynamicDisabled: false,
defaultValue: '',
colProps: { span: 3 },
componentProps: {
allowClear: true,
options: ListData.saleId,
showSearch: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
},
},
{
label: '揽货人',
field: 'saleId',
component: 'Select',
required: false,
dynamicDisabled: false,
defaultValue: '',
colProps: { span: 3 },
componentProps: ({ schema, tableAction, formActionType, formModel }) => {
return {
allowClear: true,
options: ListData.saleId,
showSearch: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
onChange: (e) => {
if (e) {
ListData.saleId.forEach((item) => {
if (item.value == e) {
formModel.sale = item.cnName
}
})
} else {
formModel.sale = ''
}
},
}
},
},
{
label: '船名',
field: 'vessel',
component: 'Select',
required: false,
dynamicDisabled: false,
defaultValue: '',
colProps: { span: 4 },
componentProps: {
allowClear: true,
options: ListData.vessel,
showSearch: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
},
},
{
label: '航次',
field: 'voyno',
component: 'Select',
required: false,
dynamicDisabled: false,
defaultValue: '',
colProps: { span: 2 },
componentProps: {
allowClear: true,
options: ListData.voyno,
showSearch: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
},
},
{
label: '卸货港',
field: 'dischargePortId',
component: 'Select',
required: false,
dynamicDisabled: false,
defaultValue: '',
colProps: { span: 4 },
componentProps: ({ schema, tableAction, formActionType, formModel }) => {
return {
allowClear: true,
options: ListData.receiptPlaceId,
showSearch: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
onChange: (e) => {
if (e) {
ListData.receiptPlaceId.forEach((item) => {
if (item.value == e) {
formModel.dischargePort = item.portName
}
})
} else {
formModel.dischargePort = ''
}
},
}
},
},
{
label: '目的地',
field: 'destinationId',
component: 'Select',
required: false,
dynamicDisabled: false,
defaultValue: '',
colProps: { span: 4 },
componentProps: ({ schema, tableAction, formActionType, formModel }) => {
return {
allowClear: true,
options: ListData.receiptPlaceId,
showSearch: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
onChange: (e) => {
if (e) {
ListData.receiptPlaceId.forEach((item) => {
if (item.value == e) {
formModel.destination = item.portName
}
})
} else {
formModel.destination = ''
}
},
}
},
},
{
label: '船公司',
field: 'carrier',
component: 'Select',
required: false,
dynamicDisabled: false,
defaultValue: '',
colProps: { span: 4 },
componentProps: {
allowClear: true,
options: ListData.carrier,
showSearch: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
},
},
{
label: '航线',
field: 'laneId',
component: 'Select',
required: false,
dynamicDisabled: false,
defaultValue: '',
colProps: { span: 3 },
componentProps: ({ schema, tableAction, formActionType, formModel }) => {
return {
allowClear: true,
options: ListData.laneId,
showSearch: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
onChange: (e) => {
if (e) {
ListData.laneId.forEach((item) => {
if (item.value == e) {
formModel.Lane = item.label
}
})
} else {
formModel.Lane = ''
}
},
}
},
},
{
label: '客服',
field: 'customerService',
component: 'Select',
required: false,
dynamicDisabled: false,
defaultValue: '',
colProps: { span: 3 },
componentProps: {
allowClear: true,
options: ListData.saleId,
showSearch: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
},
},
]
// basicInfo表单
@ -1075,7 +1317,7 @@ export const basicInfoFormSchema: FormSchema[] = [
component: 'DatePicker',
required: false,
dynamicDisabled: false,
defaultValue: '0',
defaultValue: '',
colProps: { span: 4 },
componentProps: {
showTime: true,
@ -1167,7 +1409,7 @@ export const basicInfoFormSchema: FormSchema[] = [
component: 'DatePicker',
required: false,
dynamicDisabled: false,
defaultValue: '0',
defaultValue: '',
colProps: { span: 4 },
componentProps: {
showTime: true,
@ -1730,7 +1972,7 @@ export const mailingInfoFormSchemaR: FormSchema[] = [
component: 'DatePicker',
required: false,
dynamicDisabled: false,
defaultValue: '0',
defaultValue: '',
colProps: { span: 5 },
componentProps: {
showTime: true,
@ -1885,7 +2127,49 @@ export const mailingInfoFormSchemaR: FormSchema[] = [
},
},
},
{
field: 'atd',
label: 'ATD',
component: 'DatePicker',
required: false,
dynamicDisabled: false,
defaultValue: '',
colProps: { span: 6 },
componentProps: {
showTime: true,
allowClear: true,
},
},
{
field: 'eta',
label: '预抵日期',
component: 'DatePicker',
required: false,
dynamicDisabled: false,
defaultValue: '',
colProps: { span: 6 },
componentProps: {
showTime: true,
allowClear: true,
},
},
{
field: 'tradeTerm',
label: '贸易条款',
component: 'Select',
required: false,
dynamicDisabled: false,
defaultValue: '',
colProps: { span: 6 },
componentProps: {
options: ListData.tradeTerm,
allowClear: true,
showSearch: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
},
},
{
field: 'divider-selects',
component: 'Divider',
@ -1915,7 +2199,7 @@ export const mailingInfoFormSchemaR: FormSchema[] = [
component: 'DatePicker',
required: false,
dynamicDisabled: false,
defaultValue: '0',
defaultValue: '',
colProps: { span: 6 },
componentProps: {
showTime: true,
@ -2097,49 +2381,6 @@ export const mailingInfoFormSchemaR: FormSchema[] = [
},
},
{
field: 'atd',
label: 'ATD',
component: 'DatePicker',
required: false,
dynamicDisabled: false,
defaultValue: '0',
colProps: { span: 6 },
componentProps: {
showTime: true,
allowClear: true,
},
},
{
field: 'eta',
label: '预抵日期',
component: 'DatePicker',
required: false,
dynamicDisabled: false,
defaultValue: '0',
colProps: { span: 6 },
componentProps: {
showTime: true,
allowClear: true,
},
},
{
field: 'tradeTerm',
label: '贸易条款',
component: 'Select',
required: false,
dynamicDisabled: false,
defaultValue: '',
colProps: { span: 6 },
componentProps: {
options: ListData.tradeTerm,
allowClear: true,
showSearch: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
},
},
// {
// field: 'note',
// label: '备注',
@ -2166,7 +2407,7 @@ export const cargoInfoFormSchema1: FormSchema[] = [
span: 24,
},
componentProps: {
rows: 4,
rows: 6,
},
},
]
@ -2235,165 +2476,8 @@ export const cargoInfoFormSchema3: FormSchema[] = [
colProps: { span: 12 },
componentProps: ({ schema, tableAction, formActionType, formModel }) => {
return {
onChange: (SS) => {
if (SS) {
let GetStringNum = (str) => {
var num = 0
if (str == null || str == '') return num
if (str.length == 0) return num
var if_find = false
var str_num = ''
for (var i = 0; i < str.length; i += 1) {
var member = str.substr(i, 1)
if (
member == '0' ||
member == '1' ||
member == '2' ||
member == '3' ||
member == '4' ||
member == '5' ||
member == '6' ||
member == '7' ||
member == '8' ||
member == '9' ||
member == '.' ||
member == '-'
) {
if (!if_find) {
str_num = str_num + member
}
} else {
if_find = true
}
}
return str_num
}
let ToEn = (a) => {
// eslint-disable-next-line no-array-constructor
const arr1 = new Array('', ' thousand', ' million', ' billion')
const b = a.length
let f: any = null
let h = 0
let g = ''
const e = Math.ceil(b / 3)
const k = b - e * 3
g = ''
for (f = k; f < b; f += 3) {
++h
// eslint-disable-next-line no-undef
const num3 = f >= 0 ? a.substring(f, f + 3) : a.substring(0, k + 3)
// eslint-disable-next-line no-undef
const strEng = English(num3)
// eslint-disable-next-line eqeqeq
if (strEng != '') {
// eslint-disable-next-line eqeqeq
if (g != '') g += ' '
g += English(num3) + arr1[e - h]
}
}
return g
}
let English = (a) => {
// eslint-disable-next-line no-array-constructor
var arr2 = new Array(
'zero',
'ten',
'twenty',
'thirty',
'forty',
'fifty',
'sixty',
'seventy',
'eighty',
'ninety',
)
// eslint-disable-next-line no-array-constructor
var arr3 = new Array(
'zero',
'one',
'two',
'three',
'four',
'five',
'six',
'seven',
'eight',
'nine',
)
// eslint-disable-next-line no-array-constructor
var arr4 = new Array(
'ten',
'eleven',
'twelve',
'thirteen',
'fourteen',
'fifteen',
'sixteen',
'seventeen',
'eighteen',
'nineteen',
)
let strRet = ''
// eslint-disable-next-line eqeqeq
if (a.length == 3 && a.substr(0, 3) != '000') {
if (a.substr(0, 1) != '0') {
strRet += arr3[a.substr(0, 1)] + ' hundred'
if (a.substr(1, 2) != '00') strRet += ' and '
} else {
strRet += ' and '
}
a = a.substring(1)
}
if (a.length == 2) {
if (a.substr(0, 1) == '0') a = a.substring(1)
else if (a.substr(0, 1) == '1') strRet += arr4[a.substr(1, 2)]
else {
strRet += arr2[a.substr(0, 1)]
if (a.substr(1, 1) != '0') strRet += '-'
a = a.substring(1)
}
}
if (a.length == 1 && a.substr(0, 1) != '0') strRet += arr3[a.substr(0, 1)]
return strRet
}
SS = SS.toString()
const i = SS.indexOf('\n')
let num = 0
let strKind: any = ''
let enCapital = ''
if (i > 0) {
const slist = SS.split('\n')
for (let i = 0; i < slist.length; i += 1) {
const member = slist[i]
const strNum: any = GetStringNum(member)
if (i == 0) {
strKind = member.substring(strNum.length)
}
num = parseFloat(num).add(parseFloat(strNum))
}
if (strKind !== '') {
enCapital = strKind
} else {
strKind = formModel.kindpkgs ? formModel.kindpkgs : ''
enCapital = ToEn(num).toUpperCase() + ' ' + strKind + ' ONLY.'
}
} else {
const strNum: any = GetStringNum(SS)
strKind = SS.substring(strNum.length) ? SS.substring(strNum.length) : ''
if (strKind !== '') {
enCapital = strKind
} else {
strKind = formModel.kindpkgs ? formModel.kindpkgs : ''
enCapital = 'SAY:' + ToEn(strNum).toUpperCase() + ' ' + strKind + ' ONLY.'
}
}
formActionType.submit()
// formModel.totalNo = enCapital
} else {
formActionType.submit()
// formModel.totalNo = ''
}
onChange: () => {
formActionType.submit()
},
}
},
@ -2456,7 +2540,7 @@ export const ediMoreFormSchema: FormSchema[] = [
component: 'DatePicker',
required: false,
dynamicDisabled: false,
defaultValue: '0',
defaultValue: '',
colProps: { span: 4 },
componentProps: {
showTime: true,
@ -2476,7 +2560,7 @@ export const ediMoreFormSchema: FormSchema[] = [
component: 'DatePicker',
required: false,
dynamicDisabled: false,
defaultValue: '0',
defaultValue: '',
colProps: { span: 4 },
componentProps: {
showTime: true,
@ -3562,7 +3646,7 @@ export const BatchModificationFormSchema: FormSchema[] = [
component: 'DatePicker',
required: false,
dynamicDisabled: false,
defaultValue: '0',
defaultValue: '',
colProps: { span: 4 },
componentProps: {
showTime: true,
@ -3626,7 +3710,7 @@ export const BatchModificationFormSchema: FormSchema[] = [
component: 'DatePicker',
required: false,
dynamicDisabled: false,
defaultValue: '0',
defaultValue: '',
colProps: { span: 4 },
componentProps: {
showTime: true,
@ -3674,7 +3758,7 @@ export const BatchModificationFormSchema: FormSchema[] = [
component: 'DatePicker',
required: false,
dynamicDisabled: false,
defaultValue: '0',
defaultValue: '',
colProps: { span: 4 },
componentProps: {
showTime: true,
@ -3818,7 +3902,7 @@ export const BatchModificationFormSchema: FormSchema[] = [
component: 'DatePicker',
required: false,
dynamicDisabled: false,
defaultValue: '0',
defaultValue: '',
colProps: { span: 4 },
componentProps: {
showTime: true,
@ -3903,7 +3987,7 @@ export const BatchModificationFormSchema: FormSchema[] = [
component: 'DatePicker',
required: false,
dynamicDisabled: false,
defaultValue: '0',
defaultValue: '',
colProps: { span: 4 },
componentProps: {
showTime: true,

@ -1,7 +1,31 @@
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.
[
{ConditionalList: [
{Key: 0,Value: {FieldName:Cntr10,FieldValue:equal,ConditionalType: 2
}
},
{Key: 0,Value: {FieldName:MasterNo,FieldValue:contains,ConditionalType: 12412
}
},
{Key: 0,Value: {ConditionalList: [
{Key: 0,Value: {FieldName:BSNO,FieldValue:GreaterThan,ConditionalType: 1
}
},
{Key: 0,Value: {FieldName:BusinessDate,FieldValue:equal,ConditionalType: 2
}
}
]
}
},
{Key: 0,Value: {ConditionalList: [
{Key: 1,Value: {FieldName:BusinessStatus,FieldValue:GreaterThanOrEqual,ConditionalType: 3
}
},
{Key: 1,Value: {FieldName:Yard,FieldValue:equal,ConditionalType: 4
}
}
]
}
}
]
}
]

@ -5,9 +5,10 @@
:class="!Showtabs ? 'Showtabs' : ''"
:tabBarStyle="tabBarStyle"
:activeKey="tabActiveKey"
:animated="Object.keys($refs).includes('RefsedOrder') ? false : true"
@change="changeTab"
>
<!-- 暂时隐藏 ZTH -->
<!-- :animated="Object.keys($refs).includes('RefsedOrder') ? false : true" -->
<a-tab-pane key="1" tab="主单信息" :forceRender="true">
<a-row :gutter="24">
<a-col :span="18" class="left-box" style="padding-right: 0">
@ -208,7 +209,7 @@
import { Modal } from 'ant-design-vue'
import { useGo } from '/@/hooks/web/usePage'
//
import costEntry from '/@/components/CostEntry/index.vue'
// import costEntry from '/@/components/CostEntry/index.vue'
const router = useRouter()
const route = useRoute()
import {
@ -512,10 +513,10 @@
isCopy: isCopy.value,
id: id.value,
}
if (Object.keys(that.$refs).includes('RefsedOrder')) {
const secActive = RefsedOrder.value.$data.editIndex
hisData.RefsedOrder = secActive
}
// if (Object.keys(that.$refs).includes('RefsedOrder')) {
// const secActive = RefsedOrder.value.$data.editIndex
// hisData.RefsedOrder = secActive
// }
historyData.value[`copy-${id.value}`] = hisData
} else if (route.query.addNum) {
const hisData = {
@ -529,10 +530,10 @@
isCopy: isCopy.value,
// id: id.value
}
if (Object.keys(that.$refs).includes('RefsedOrder')) {
const secActive = RefsedOrder.value.$data.editIndex
hisData.RefsedOrder = secActive
}
// if (Object.keys(that.$refs).includes('RefsedOrder')) {
// const secActive = RefsedOrder.value.$data.editIndex
// hisData.RefsedOrder = secActive
// }
historyData.value[`add-${route.query.addNum}`] = hisData
} else {
const hisData = {
@ -546,10 +547,10 @@
isCopy: isCopy.value,
id: id.value,
}
if (Object.keys(that.$refs).includes('RefsedOrder')) {
const secActive = RefsedOrder.value.$data.editIndex
hisData.secActive = secActive
}
// if (Object.keys(that.$refs).includes('RefsedOrder')) {
// const secActive = RefsedOrder.value.$data.editIndex
// hisData.secActive = secActive
// }
historyData.value[id.value] = hisData
}
if (appStore.getfeeShow) {
@ -583,10 +584,10 @@
isCopy: isCopy.value,
id: id.value,
}
if (Object.keys(this.$refs).includes('RefsedOrder')) {
const secActive = RefsedOrder.value.$data.editIndex
hisData.secActive = secActive
}
// if (Object.keys(this.$refs).includes('RefsedOrder')) {
// const secActive = RefsedOrder.value.$data.editIndex
// hisData.secActive = secActive
// }
if (!route.query.copyId) {
historyData.value[`copy-${id.value}`] = hisData
} else {
@ -604,10 +605,10 @@
isCopy: isCopy.value,
// id: id.value
}
if (Object.keys(that.$refs).includes('RefsedOrder')) {
const secActive = RefsedOrder.value.$data.editIndex
hisData.secActive = secActive
}
// if (Object.keys(that.$refs).includes('RefsedOrder')) {
// const secActive = RefsedOrder.value.$data.editIndex
// hisData.secActive = secActive
// }
historyData.value[`add-${route.query.addNum}`] = hisData
} else {
const hisData = {
@ -621,10 +622,10 @@
isCopy: isCopy.value,
id: id.value,
}
if (Object.keys(that.$refs).includes('RefsedOrder')) {
const secActive = RefsedOrder.value.$data.editIndex
hisData.secActive = secActive
}
// if (Object.keys(that.$refs).includes('RefsedOrder')) {
// const secActive = RefsedOrder.value.$data.editIndex
// hisData.secActive = secActive
// }
historyData.value[id.value] = hisData
}
if (appStore.gethasbookingDetail) {
@ -844,18 +845,18 @@
setTimeout(() => {
if (bookingDetails.value.hbList && bookingDetails.value.hbList.length > 0) {
Showtabs.value = true
if (Object.keys(that.$refs).includes('RefsedOrder')) {
RefsedOrder.value.init(bookingDetails.value.hbList)
}
// if (Object.keys(that.$refs).includes('RefsedOrder')) {
// RefsedOrder.value.init(bookingDetails.value.hbList)
// }
} else {
Showtabs.value = false
if (Object.keys(that.$refs).includes('RefsedOrder')) {
RefsedOrder.value.init([])
}
}
if (Object.keys(that.$refs).includes('goodsTable')) {
RefgoodsTable.value.init()
// if (Object.keys(that.$refs).includes('RefsedOrder')) {
// RefsedOrder.value.init([])
// }
}
// if (Object.keys(that.$refs).includes('goodsTable')) {
// RefgoodsTable.value.init()
// }
}, 200)
setTimeout(() => {
const key = route.fullPath
@ -891,18 +892,18 @@
setTimeout(() => {
if (bookingDetails.value.hbList && bookingDetails.value.hbList.length > 0) {
Showtabs.value = true
if (Object.keys(that.$refs).includes('RefsedOrder')) {
RefsedOrder.value.init(bookingDetails.value.hbList)
}
// if (Object.keys(that.$refs).includes('RefsedOrder')) {
// RefsedOrder.value.init(bookingDetails.value.hbList)
// }
} else {
Showtabs.value = false
if (Object.keys(that.$refs).includes('RefsedOrder')) {
RefsedOrder.value.init([])
}
}
if (Object.keys(that.$refs).includes('goodsTable')) {
RefgoodsTable.value.init()
// if (Object.keys(that.$refs).includes('RefsedOrder')) {
// RefsedOrder.value.init([])
// }
}
// if (Object.keys(that.$refs).includes('goodsTable')) {
// RefgoodsTable.value.init()
// }
}, 200)
setTimeout(() => {
const key = route.fullPath
@ -969,18 +970,18 @@
setTimeout(() => {
if (bookingDetails.value.hbList && bookingDetails.value.hbList.length > 0) {
Showtabs.value = true
if (Object.keys(that.$refs).includes('RefsedOrder')) {
RefsedOrder.value.init(bookingDetails.value.hbList)
}
// if (Object.keys(that.$refs).includes('RefsedOrder')) {
// RefsedOrder.value.init(bookingDetails.value.hbList)
// }
} else {
Showtabs.value = false
if (Object.keys(that.$refs).includes('RefsedOrder')) {
RefsedOrder.value.init([])
}
}
if (Object.keys(that.$refs).includes('goodsTable')) {
RefgoodsTable.value.init()
// if (Object.keys(that.$refs).includes('RefsedOrder')) {
// RefsedOrder.value.init([])
// }
}
// if (Object.keys(that.$refs).includes('goodsTable')) {
// RefgoodsTable.value.init()
// }
}, 200)
setTimeout(() => {
const key = route.fullPath
@ -1213,12 +1214,12 @@
getFilter()
getDefaultVal()
setTimeout(() => {
if (Object.keys(that.$refs).includes('RefsedOrder')) {
RefsedOrder.value.init([])
}
if (Object.keys(that.$refs).includes('goodsTable')) {
RefgoodsTable.value.init()
}
// if (Object.keys(that.$refs).includes('RefsedOrder')) {
// RefsedOrder.value.init([])
// }
// if (Object.keys(that.$refs).includes('goodsTable')) {
// RefgoodsTable.value.init()
// }
detailsLoadOver.value = true
}, 200)
}
@ -1719,10 +1720,10 @@
isCopy: isCopy.value,
id: id.value,
}
if (Object.keys(that.$refs).includes('RefsedOrder')) {
const secActive = RefsedOrder.value.$data.editIndex
hisData.secActive = secActive
}
// if (Object.keys(that.$refs).includes('RefsedOrder')) {
// const secActive = RefsedOrder.value.$data.editIndex
// hisData.secActive = secActive
// }
historyData.value[`copyMore-${id.value}`] = hisData
}
getFilter()

@ -671,10 +671,164 @@
submitFunc: asd,
})
async function asd() {
// let data = await validate3()
// console.log('------', data)
let data = ''
console.log('奇奇怪怪-奇奇怪怪-奇奇怪怪-奇奇怪怪-奇奇怪怪-奇奇怪怪-奇奇怪怪', data)
let data = await validate3()
let SS = data.pkgs
if (SS) {
let GetStringNum = (str) => {
var num = 0
if (str == null || str == '') return num
if (str.length == 0) return num
var if_find = false
var str_num = ''
for (var i = 0; i < str.length; i += 1) {
var member = str.substr(i, 1)
if (
member == '0' ||
member == '1' ||
member == '2' ||
member == '3' ||
member == '4' ||
member == '5' ||
member == '6' ||
member == '7' ||
member == '8' ||
member == '9' ||
member == '.' ||
member == '-'
) {
if (!if_find) {
str_num = str_num + member
}
} else {
if_find = true
}
}
return str_num
}
let ToEn = (a) => {
// eslint-disable-next-line no-array-constructor
const arr1 = new Array('', ' thousand', ' million', ' billion')
const b = a.length
let f: any = null
let h = 0
let g = ''
const e = Math.ceil(b / 3)
const k = b - e * 3
g = ''
for (f = k; f < b; f += 3) {
++h
// eslint-disable-next-line no-undef
const num3 = f >= 0 ? a.substring(f, f + 3) : a.substring(0, k + 3)
// eslint-disable-next-line no-undef
const strEng = English(num3)
// eslint-disable-next-line eqeqeq
if (strEng != '') {
// eslint-disable-next-line eqeqeq
if (g != '') g += ' '
g += English(num3) + arr1[e - h]
}
}
return g
}
let English = (a) => {
// eslint-disable-next-line no-array-constructor
var arr2 = new Array(
'zero',
'ten',
'twenty',
'thirty',
'forty',
'fifty',
'sixty',
'seventy',
'eighty',
'ninety',
)
// eslint-disable-next-line no-array-constructor
var arr3 = new Array(
'zero',
'one',
'two',
'three',
'four',
'five',
'six',
'seven',
'eight',
'nine',
)
// eslint-disable-next-line no-array-constructor
var arr4 = new Array(
'ten',
'eleven',
'twelve',
'thirteen',
'fourteen',
'fifteen',
'sixteen',
'seventeen',
'eighteen',
'nineteen',
)
let strRet = ''
// eslint-disable-next-line eqeqeq
if (a.length == 3 && a.substr(0, 3) != '000') {
if (a.substr(0, 1) != '0') {
strRet += arr3[a.substr(0, 1)] + ' hundred'
if (a.substr(1, 2) != '00') strRet += ' and '
} else {
strRet += ' and '
}
a = a.substring(1)
}
if (a.length == 2) {
if (a.substr(0, 1) == '0') a = a.substring(1)
else if (a.substr(0, 1) == '1') strRet += arr4[a.substr(1, 2)]
else {
strRet += arr2[a.substr(0, 1)]
if (a.substr(1, 1) != '0') strRet += '-'
a = a.substring(1)
}
}
if (a.length == 1 && a.substr(0, 1) != '0') strRet += arr3[a.substr(0, 1)]
return strRet
}
SS = SS.toString()
const i = SS.indexOf('\n')
let num = 0
let strKind: any = ''
let enCapital = ''
if (i > 0) {
const slist = SS.split('\n')
for (let i = 0; i < slist.length; i += 1) {
const member = slist[i]
const strNum: any = GetStringNum(member)
if (i == 0) {
strKind = member.substring(strNum.length)
}
num = parseFloat(num).add(parseFloat(strNum))
}
if (strKind !== '') {
enCapital = strKind
} else {
strKind = data.kindpkgs ? data.kindpkgs : ''
enCapital = ToEn(num).toUpperCase() + ' ' + strKind + ' ONLY.'
}
} else {
const strNum: any = GetStringNum(SS)
strKind = SS.substring(strNum.length) ? SS.substring(strNum.length) : ''
if (strKind !== '') {
enCapital = strKind
} else {
strKind = data.kindpkgs ? data.kindpkgs : ''
enCapital = 'SAY:' + ToEn(strNum).toUpperCase() + ' ' + strKind + ' ONLY.'
}
}
setFieldsValue4({ totalNo: enCapital })
} else {
setFieldsValue4({ totalNo: '' })
}
}
const [
registerForm4,

@ -6,7 +6,7 @@
<XCard class="content-nav">
<div class="table-page-search-wrapper">
<a-row :gutter="48" class="booking-from-box">
<a-col :span="19">
<a-col :xl="19" :lg="24" :md="24" :sm="24" :class="advanced ? '' : 'advanced'">
<BasicForm @register="registerForm" />
</a-col>
@ -40,7 +40,7 @@
</a-form> -->
<a-col
style="padding: 0px"
:xl="!advanced ? 5 : 8"
:xl="5"
:lg="24"
:md="24"
:sm="24"
@ -59,7 +59,11 @@
<span class="tab-btn" @click="formSetting">
<a-icon type="setting" :style="{ marginLeft: '0px' }" />
</span>
<a class="senior-search" @click="toggleAdvanced" v-if="formData.length > 4">
<a
class="senior-search"
@click="toggleAdvanced"
v-if="searchFormSchema.length > 4"
>
{{ advanced ? '收起查询' : '更多查询' }}
<i class="iconfont" :class="advanced ? 'icon-shouqi' : 'icon-zhankai'"></i>
</a>
@ -74,7 +78,11 @@
<span class="tab-btn" @click="formSetting">
<a-icon type="setting" :style="{ marginLeft: '0px' }" />
</span>
<a class="senior-search" @click="toggleAdvanced" v-if="formData.length > 4">
<a
class="senior-search"
@click="toggleAdvanced"
v-if="searchFormSchema.length > 4"
>
{{ advanced ? '收起' : '更多' }}
<i class="iconfont" :class="advanced ? 'icon-shouqi' : 'icon-zhankai'"></i>
</a>
@ -1294,7 +1302,7 @@
@cancel="moreNumCancel"
>
<div>
<a-textarea v-model="moreNumVal" style="height: 200px" />
<a-textarea v-model:value="moreNumVal" style="height: 200px" />
</div>
</a-modal>
<a-modal
@ -1529,7 +1537,6 @@
BookingOrderBachUpdate,
GetCarrierlist,
DjyCustomerSuggest,
GetYardlist,
GetSysUserPage,
DjyCustomerpage,
GetCtn,
@ -1609,114 +1616,7 @@
}
//
async function getList(queryParam = {}, isInit = false, isAdd = 'normal', isAdv = false) {
// const FnsourceId: API.DataResult = await GetClientSourceSelectList()
// console.log(FnsourceId)
// if (FnsourceId.succeeded) {
// ListData.sourceId = []
// FnsourceId.data.forEach((e) => {
// ListData.sourceId.push({ label: e.sourceName, value: e.id })
// })
// }
// gridOptions.loading = true
// const { currentPage, pageSize } = gridOptions.pagerConfig
// let query = {
// pageCondition: {
// pageIndex: currentPage,
// pageSize: pageSize,
// sortConditions: [],
// },
// queryCondition: [],
// }
// Object.keys(formRes.value).forEach((item) => {
// console.log({
// FieldName: item,
// FieldValue: formRes.value[item],
// ConditionalType: 1,
// })
// query.queryCondition.push({
// FieldName: item,
// FieldValue: formRes.value[item],
// ConditionalType: 1,
// })
// })
// if (isAdv) {
// query.queryCondition.push(ConditionalList.value)
// }
// PageDataByBooking({
// pageCondition: query.pageCondition,
// queryCondition: JSON.stringify(query.queryCondition),
// })
// .then((res) => {
// if (res.succeeded) {
// let newBookingList = {}
// if (query.queryCondition.PageNo !== 1) {
// newBookingList = appStore.getbookingList
// }
// const _data = res.data.map((item, index) => {
// item.index = (currentPage - 1) * pageSize + index
// const bookstatus = [
// { staCode: 'sta_cangdan', isChecked: false },
// { staCode: 'sta_haifang', isChecked: false },
// { staCode: 'sta_zhuangzai', isChecked: false },
// { staCode: 'sta_mafang', isChecked: false },
// { staCode: 'sta_zhuangchuan', isChecked: false },
// { staCode: 'sta_atd', isChecked: false },
// ]
// if (item.bsstatusname) {
// if (appStore.getstatusDIct) {
// appStore.getstatusDIct.forEach((ite) => {
// if (ite.name == item.bsstatusname) {
// item.bsstatusnameColor = ite.remark
// }
// })
// }
// }
// item.bookstatus = bookstatus
// item.refshYzitemLoad = false
// item.webDataLoad = false
// item.atdLoading = false
// item.serviceLoad = false
// item.rowDzMark = false
// item.rowCzMark = false
// item.rowCustno = false
// item.rowSqxs = false
// item.rowPono = false
// item.czmarkLoading = false
// item.custnoLoading = false
// item.dzmarkLoading = false
// item.sqxsLoading = false
// item.ponoLoading = false
// if (!item.shenQingXiangShi) {
// item.shenQingXiangShi = ''
// }
// let hasGoods = 0
// if (item.goodsStatusList) {
// item.goodsStatusList.map((gitem, gindex) => {
// if (gitem.finishTime || gitem.remark) {
// hasGoods++
// }
// })
// }
// item.hasGoods = hasGoods
// newBookingList[item.id] = item
// return item
// })
// gridOptions.pagerConfig.columns = JSON.parse(JSON.stringify(initData.columns))
// gridOptions.data = [..._data]
// gridOptions.pagerConfig.total = res.data.totalCount
// appStore.setbookingList(newBookingList)
// } else {
// gridOptions.data = [...[]]
// gridOptions.loading = false
// // that.$forceUpdate()
// }
// ResetType.value = true
// appStore.setfirstFlag(false)
// console.log(gridOptions.loading)
// })
// .catch((err) => {
// console.log(err)
// })
console.log('getList')
}
//
const [registerForm, { getFieldsValue, resetFields, validateFields, setFieldsValue, validate }] =
@ -1750,36 +1650,54 @@
}
let condition: API.ConditionItem[] = []
Object.keys(getFieldsValue()).forEach((e) => {
condition.push({
FieldName: capitalizeFirstLetter(e),
FieldValue: getFieldsValue()[e],
ConditionalType: 1,
})
if (getFieldsValue()[e]) {
if (e == 'etd') {
getFieldsValue()[e].forEach((t, i) => {
condition.push({
FieldName: capitalizeFirstLetter(e),
FieldValue: t,
ConditionalType: i == 0 ? 3 : 5,
})
})
} else {
condition.push({
FieldName: capitalizeFirstLetter(e),
FieldValue: getFieldsValue()[e],
ConditionalType: 1,
})
}
}
})
if (isAdvancedQuery.value) {
condition.push(ConditionalList.value)
}
if (moreNumVal.value) {
let ManyQueryData: any = { ConditionalList: [] }
moreNumVal.value
.replace(/\n|\r/g, ',')
.split(',')
.forEach((item) => {
ManyQueryData.ConditionalList.push({
Key: 0,
Value: { FieldName: 'mblno', FieldValue: item, ConditionalType: 1 },
})
})
condition.push(ManyQueryData)
}
postParam.queryCondition = JSON.stringify(condition)
return postParam
},
afterFetch: () => {
isAdvancedQuery.value = false
moreNumVisible.value = false
moreNumVal.value = ''
},
columns,
// formConfig: {
// labelWidth: 120,
// schemas: searchFormSchema,
// },
// sortFn: (sorter) => {
// // console.log(':' + sorter);
// sortInfo = sorter
// },
// filterFn: (filters) => {
// // console.log(':' + filters);
// filterInfo = filters
// },
pagination: true,
bordered: true,
useSearchForm: true,
@ -1956,12 +1874,6 @@
function tableRefresh() {
isAdvancedQuery.value = false
reload()
// const data = { ...formRes.value }
// nowFirst.value = false
// data.multisort = searchData.value.multisort
// searchData.value = JSON.parse(JSON.stringify(data))
// init(searchData.value)
// formRes.value = data
}
//
function tableReset() {
@ -1970,7 +1882,21 @@
reload()
}, 100)
}
const moreNumVal = ref('') //
const moreNumVisible = ref(false) //
//
function tableMoreRefresh() {
moreNumVal.value = ''
moreNumVisible.value = !moreNumVisible.value
}
//
function moreNumSubmit() {
reload()
}
//
function moreNumCancel() {
moreNumVisible.value = false
}
// -----------------------------------
const formInitData = [
{ title: '主提单号', align: 'center', width: '90', label: 'MBLNO', type: 'input' },
@ -2003,9 +1929,9 @@
]
const formMoreTableData = ref('')
const formTableData = ref(JSON.parse(JSON.stringify(initData.columns)))
const moreNumVal = ref('')
const formatFlag = ref(false)
const moreNumVisible = ref(false)
const AdvancedQueryVisible = ref(false)
const advanced = ref(false)
const goodStatusShow = ref(false)
@ -2510,64 +2436,32 @@
document.execCommand('copy')
document.body.removeChild(cInput)
}
function moreNumSubmit() {
let data = ''
moreNumVal.value
.replace(/\n|\r/g, ',')
.split(',')
.forEach((item) => {
if (item.replace(/\s*/g, '')) {
if (data) {
data = `${data},${item}`
} else {
data = item
}
}
})
formRes.value.MBLNO = data
that.$refs['fromlabel-MBLNO'][0].$data.value = formRes.value.MBLNO
// that.$forceUpdate()
moreNumCancel()
}
function moreNumCancel() {
moreNumVisible.value = false
}
function TaskShippingOrderCompareHandleCancel() {
TaskShippingOrderCompareVisible.value = false
}
function toggleAdvanced() {
advanced.value = !advanced.value
// that.$forceUpdate()
const start = new Date().getTime()
console.log('== 点击展开 ==', start)
if (!advanced.value) {
const len = formData.value.length % 4
if (formData.value.length === 4 || formData.value.length > 4) {
formBtnCol.value = 8
} else {
formBtnCol.value = 24 - len * 4
}
} else {
const len = formData.value.length % 6
// formBtnCol.value = 24 - len * 4
formBtnCol.value = 24 - len * 4 === 4 ? 24 : 24 - len * 4
}
console.log('== 展开结束 ==', new Date().getTime() - start)
// // that.$forceUpdate()
// const start = new Date().getTime()
// console.log('== ==', start, formBtnCol)
// if (!advanced.value) {
// const len = searchFormSchema.length % 4
// if (searchFormSchema.length === 4 || searchFormSchema.length > 4) {
// formBtnCol.value = 8
// } else {
// formBtnCol.value = 24 - len * 4
// }
// } else {
// const len = searchFormSchema.length % 6
// // formBtnCol.value = 24 - len * 4
// formBtnCol.value = 24 - len * 4 === 4 ? 24 : 24 - len * 4
// }
// console.log('== ==', new Date().getTime() - start, formBtnCol)
}
function formSetting() {
setForm.value.open()
}
function tableMoreRefresh() {
const arr = formRes.value.MBLNO.split(/|,/)
let val = ``
arr.map((item) => {
val += `${item}
` // 这里不要格式化
})
moreNumVal.value = val
moreNumVisible.value = !moreNumVisible.value
}
function pageClick() {
goodStatusShow.value = false
@ -2758,8 +2652,8 @@
switch (type) {
case 'CARRIER':
return GetCarrierlist
case 'YARDID':
return GetYardlist
// case 'YARDID':
// return GetYardlist
case 'CNTRTOTAL':
return GetCtn
case 'KINDPKGS':
@ -3683,6 +3577,9 @@
}
</script>
<style lang="less" scoped>
.advanced {
height: 65px;
}
.CsConditionFilter {
padding: 16px;
}

@ -60,7 +60,7 @@ export default ({ command, mode }: ConfigEnv): UserConfig => {
proxy: createProxy(VITE_PROXY),
},
esbuild: {
pure: VITE_DROP_CONSOLE ? ['console.log', 'debugger'] : [],
pure: VITE_DROP_CONSOLE ? ['console.log', 'debugger'] : [],
},
build: {
target: 'es2015',

Loading…
Cancel
Save