szh-new
张同海 4 months ago
commit 20ea8ef21b

@ -76,7 +76,7 @@
"vue-json-pretty": "^2.0.6", "vue-json-pretty": "^2.0.6",
"vue-router": "^4.0.14", "vue-router": "^4.0.14",
"vue-types": "^4.1.1", "vue-types": "^4.1.1",
"vuedraggable": "^2.24.3", "vuedraggable": "^4.1.0",
"vuex": "^4.1.0", "vuex": "^4.1.0",
"vxe-table": "^4.5.21", "vxe-table": "^4.5.21",
"vxe-table-plugin-export-xlsx": "^3.0.4", "vxe-table-plugin-export-xlsx": "^3.0.4",

@ -29,7 +29,7 @@ enum Api {
getUserTenants = '/mainApi/Common/GetUserTenants', getUserTenants = '/mainApi/Common/GetUserTenants',
ChangeTenant = '/mainApi/Common/ChangeTenant', ChangeTenant = '/mainApi/Common/ChangeTenant',
getClientList = '/mainApi/WxUser/GetInfoClientList', getClientList = '/mainApi/WxUser/GetInfoClientList',
getCountryList = '/mainApi/Common/GetCountryList', getCountryList = '/mainApi/Common/GetClientCountrySelectList',
getTrainSelectList = '/mainApi/Common/GetTrainSelectList', getTrainSelectList = '/mainApi/Common/GetTrainSelectList',
registerCompany = '/mainApi/Common/CompanyRegister', registerCompany = '/mainApi/Common/CompanyRegister',
getClientRoleList = '/mainApi/Common/GetClientRoleList', getClientRoleList = '/mainApi/Common/GetClientRoleList',
@ -380,11 +380,10 @@ export function getClientList(data: PageRequest) {
}) })
} }
export function getCountryList(data: PageRequest) { export function getCountryList() {
return request<DataResult>({ return request<DataResult>({
url: Api.getCountryList, url: Api.getCountryList,
method: 'post', method: 'get'
data,
}) })
} }

@ -1533,7 +1533,7 @@ export const Tablecolumns: BasicColumn[] = [
title: '备注', title: '备注',
dataIndex: 'note', dataIndex: 'note',
align: 'left', align: 'left',
width: 80, width: 150,
}, },
] ]
export const CADformSchema: FormSchema[] = [ export const CADformSchema: FormSchema[] = [

@ -569,7 +569,7 @@ function handleSaveCabin() {
CreateBookingOrder(ApiData).then(res => { CreateBookingOrder(ApiData).then(res => {
if (res.succeeded) { if (res.succeeded) {
closeModal() closeModal()
createMessage.success(res.message) createMessage.success(res.data.msg)
} else { } else {
createMessage.error(res.data.msg) createMessage.error(res.data.msg)
} }
@ -593,7 +593,7 @@ function handleSaveTask(){
CreateBookingAndSlot(ApiData).then(res => { CreateBookingAndSlot(ApiData).then(res => {
if (res.succeeded) { if (res.succeeded) {
closeModal() closeModal()
createMessage.success(res.message) createMessage.success(res.data.msg)
} else { } else {
createMessage.error(res.data.msg) createMessage.error(res.data.msg)
} }

@ -79,6 +79,7 @@
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="1" tab="个人开户信息"> <a-tab-pane key="1" tab="个人开户信息">
<BankInfo <BankInfo
v-if="activeKey == 1"
:id="id" :id="id"
></BankInfo> ></BankInfo>
</a-tab-pane> </a-tab-pane>
@ -149,7 +150,6 @@
async function handleSave(exit) { async function handleSave(exit) {
try { try {
const values = await validate() const values = await validate()
console.log(values)
setModalProps({ confirmLoading: true, loading: true }) setModalProps({ confirmLoading: true, loading: true })
const res: API.DataResult = await editUser(values) const res: API.DataResult = await editUser(values)
if (res.succeeded) { if (res.succeeded) {

@ -23,8 +23,7 @@
{ {
icon: 'clarity:note-edit-line', icon: 'clarity:note-edit-line',
tooltip: '编辑', tooltip: '编辑',
onClick: handleAudit.bind(null, record), onClick: handleAudit.bind(null, record)
disabled: checkPermissions('op:edi:edit'),
}, },
]" ]"
/> />
@ -40,6 +39,7 @@
import { formatParams } from '/@/hooks/web/common' import { formatParams } from '/@/hooks/web/common'
import { BasicTable, useTable, TableAction } from '/@/components/Table' import { BasicTable, useTable, TableAction } from '/@/components/Table'
import { GetClientBankList } from './api' import { GetClientBankList } from './api'
import { cbDelete } from '/@/views/baseinfo/infoclient/api'
import { useModal } from '/@/components/Modal' import { useModal } from '/@/components/Modal'
import BankModal from './bankInfoModal.vue' import BankModal from './bankInfoModal.vue'
import { Tablecolumns } from '/@/views/baseinfo/infoclient/columns' import { Tablecolumns } from '/@/views/baseinfo/infoclient/columns'
@ -64,7 +64,7 @@
}) })
}, },
beforeFetch: (p) => { beforeFetch: (p) => {
p[''] p['clientId'] = props.id
return formatParams(p) return formatParams(p)
}, },
columns: Tablecolumns, columns: Tablecolumns,
@ -88,6 +88,7 @@
openModal(true, { openModal(true, {
isParent: false, isParent: false,
isUpdate: false, isUpdate: false,
id: props.id
}) })
} }
function handleDel() { function handleDel() {
@ -96,22 +97,21 @@
createMessage.warning('请选择一条数据') createMessage.warning('请选择一条数据')
return false return false
} }
const removeArr = select.map((item) => { const ids = select.map((item) => {
return item.id return item.id
}) })
// ApiDel({ ids: removeArr }).then((res) => { cbDelete({ ids }).then(res => {
// createMessage.warning(res.message) createMessage.success('删除成功!')
// reload() reload()
// }) })
} }
function handleAudit(record: Recordable) { function handleAudit(record: Recordable) {
if (!checkPermissions('op:edi:edit')) {
openModal(true, { openModal(true, {
record, record,
isUpdate: true, isUpdate: true,
id: props.id
}) })
} }
}
function handleSuccess() { function handleSuccess() {
reload() reload()
} }

@ -8,12 +8,19 @@
v-bind="$attrs" v-bind="$attrs"
:use-wrapper="true" :use-wrapper="true"
:title="getTitle" :title="getTitle"
width="30%" width="40%"
@register="registerModal" @register="registerModal"
@ok="handleSave" @ok="handleSave"
@close="closeModal" @close="closeModal"
> >
<BasicForm @register="registerForm" /> <BasicForm @register="registerForm">
<template #isInvoiceDefault="{ model }">
<a-switch
v-model:checked="model.isInvoiceDefault"
/>
<span class="s-txt" :class="{ 's-active': model.isInvoiceDefault }">{{ model.isInvoiceDefault ? '是' : '否'}}</span>
</template>
</BasicForm>
<!--右下角按钮--> <!--右下角按钮-->
<template #footer> <template #footer>
<a-button <a-button
@ -49,9 +56,11 @@
schemas: BankFormSchema, schemas: BankFormSchema,
showActionButtonGroup: false, showActionButtonGroup: false,
}) })
// id
const id = ref()
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
resetFields() resetFields()
id.value = data.id
setModalProps({ confirmLoading: false, loading: true }) setModalProps({ confirmLoading: false, loading: true })
isUpdate.value = !!data?.isUpdate isUpdate.value = !!data?.isUpdate
if (unref(isUpdate)) { if (unref(isUpdate)) {
@ -75,12 +84,11 @@
async function handleSave(exit) { async function handleSave(exit) {
try { try {
const values = await validate() const values = await validate()
values['clientId'] = id.value
setModalProps({ confirmLoading: true, loading: true }) setModalProps({ confirmLoading: true, loading: true })
// TODO custom api // TODO custom api
console.log(values)
// loading.value = true; // loading.value = true;
const res: API.DataResult = await EditClientBank(values) const res: API.DataResult = await EditClientBank(values)
console.log(res)
if (res.succeeded) { if (res.succeeded) {
createMessage.success(res.message) createMessage.success(res.message)
emit('success') emit('success')
@ -113,3 +121,16 @@
} }
} }
</script> </script>
<style scoped>
.s-txt {
font-size: 12px;
margin-left: 10px;
color: #7A8798;
position: relative;
top: 1px;
}
.s-active {
color: #257AFA;
}
</style>

@ -1,6 +1,6 @@
import { ref } from 'vue' import { ref } from 'vue'
import { BasicColumn, FormSchema } from '/@/components/Table' import { BasicColumn, FormSchema } from '/@/components/Table'
import { getRoleList, getOrgList, getDeptList } from '/@/api/common' import { getRoleList, getOrgList, getDeptList, GetFeeCurrencySelectList, getCountryList } from '/@/api/common'
import { Tag } from 'ant-design-vue' import { Tag } from 'ant-design-vue'
import { useOptionsStore } from '/@/store/modules/options' import { useOptionsStore } from '/@/store/modules/options'
import { checkPermissions } from '/@/hooks/Permissions/index' import { checkPermissions } from '/@/hooks/Permissions/index'
@ -428,7 +428,116 @@ export const BankFormSchema: FormSchema[] = [
{ {
field: 'id', field: 'id',
component: 'Input', component: 'Input',
label: '' label: '',
show: false
},
{
field: 'codeName',
label: '银行代码',
component: 'Input',
colProps: { span: 12 }
},
{
field: 'currency',
label: '币别',
defaultValue: 'CNY',
component: 'ApiSelect',
colProps: { span: 12 },
componentProps: () => {
return {
api: GetFeeCurrencySelectList,
labelField: 'codeName',
valueField: 'codeName',
resultField: 'data'
}
}
},
{
field: 'bankName',
label: '银行名称',
component: 'Input',
colProps: { span: 12 }
},
{
field: 'accountName',
label: '银行账户',
component: 'Input',
colProps: { span: 12 }
},
{
field: 'bankAddress',
label: '银行地址',
component: 'Input',
colProps: { span: 12 }
},
{
field: 'financeSoftCode',
label: '财务软件代码',
component: 'Input',
colProps: { span: 12 }
},
{
field: 'subjectCode',
label: '科目代码',
component: 'Input',
colProps: { span: 12 }
},
{
field: 'bankAgentName',
label: '银行代理名称',
component: 'Input',
colProps: { span: 12 }
},
{
field: 'bankAccountNo',
label: '银行账号',
component: 'Input',
colProps: { span: 12 }
},
{
field: 'swift',
label: '银行SWIFT',
component: 'Input',
colProps: { span: 12 }
},
{
field: 'countryName',
label: '',
component: 'Input',
show: false,
},
{
field: 'countryId',
label: '所在国',
defaultValue: '',
component: 'ApiSelect',
colProps: { span: 12 },
componentProps: ({ formModel }) => {
return {
api: getCountryList,
labelField: 'countryName',
valueField: 'id',
resultField: 'data',
onChange: (v, obj) => {
if (obj) {
formModel.countryName = obj.label
}
}
}
}
},
{
field: 'isInvoiceDefault',
label: '是否开票默认账号',
component: 'Input',
slot: 'isInvoiceDefault',
defaultValue: true,
colProps: { span: 12 }
},
{
field: 'note',
label: '备注',
component: 'InputTextArea',
colProps: { span: 24 }
}, },
] ]

@ -51,9 +51,7 @@
import { useModal } from '/@/components/Modal' import { useModal } from '/@/components/Modal'
import UserModal from './UserModal.vue' import UserModal from './UserModal.vue'
import { columns, searchFormSchema } from './columns' import { columns, searchFormSchema } from './columns'
const dictOptions = ref<any[]>([])
const [registerModal, { openModal }] = useModal() const [registerModal, { openModal }] = useModal()
const [registerPermissionModal, { openModal: openPermissionModal }] = useModal()
import { useMessage } from '/@/hooks/web/useMessage' import { useMessage } from '/@/hooks/web/useMessage'
const { createMessage } = useMessage() const { createMessage } = useMessage()
const [registerTable, { reload, getForm, getPaginationRef }] = useTable({ const [registerTable, { reload, getForm, getPaginationRef }] = useTable({

@ -359,6 +359,7 @@ function getCurrentTotalStat() {
}) })
} }
function refshTotalStat() { function refshTotalStat() {
levelreLoading.value = true levelreLoading.value = true
levelLoading.value = true levelLoading.value = true
@ -462,6 +463,7 @@ function changeTopLevel() {
levelTree.value.forEach(item => { levelTree.value.forEach(item => {
item.active = false item.active = false
}) })
reload()
} }
function onSelect() { function onSelect() {
@ -585,7 +587,6 @@ function handledbclick(row) {
handleEdit(row) handleEdit(row)
} }
import { useRouter } from 'vue-router'
const router = useRouter(); const router = useRouter();
function handleEdit(data) { function handleEdit(data) {
switch (data.tasK_TYPE) { switch (data.tasK_TYPE) {
@ -1154,12 +1155,19 @@ function laraRecordFun() {
// //
function handleClickTree(row, index) { function handleClickTree(row, index) {
console.log('点击详细任务类型', row)
if (!row.active) {
taskType.value = row.key taskType.value = row.key
levelTree.value.map((item, index) => { levelTree.value.map((item, index) => {
item.active = false item.active = false
}) })
levelTree.value[index].active = true levelTree.value[index].active = true
taskType.value = row.key } else {
levelTree.value.map((item, index) => {
item.active = false
})
taskType.value = ''
}
reload() reload()
} }
</script> </script>

@ -0,0 +1,315 @@
[
{
"type":"basic",
"title":"基础信息",
"list":[
{"field":"tasK_NO","title":"任务流水号","width":150},
{"field":"tasK_TYPE","title":"任务类型","width":100,"slots": { "default": "taskType" }, "sortable": true},
{"field":"tasK_SOURCE","title":"任务来源","width":100,"slots": { "default": "taskScource" }},
{"field":"statuS_NAME","title":"状态","width":100,"slots": { "default": "status" }},
{"field":"tasK_TITLE","title":"任务标题","width":200,"slots": { "default": "taskTitle" }, "sortable": true},
{"field":"tasK_DESP","title":"任务描述","width":100},
{"field":"ouT_BUSI_NO","title":"外业务编号","width":120},
{"field":"ouT_BUSI_TYPE","title":"外业务类型","width":120,"slots": { "default": "ouT_BUSI_TYPE" }},
{"field":"tasK_BASE_TYPE","title":"基础业务类型","width":120},
{"field":"carrieR_ID","title":"船公司代号","width":100},
{"field":"mbL_NO","title":"主单号","width":150, "sortable": true},
{"field":"remark","title":"备注","width":100},
{"field":"iS_EXCEPT","title":"是否异常","width":100,"slots": { "default": "iS_EXCEPT" }},
{"field":"iS_PUBLIC","title":"是否公共","width":100,"slots": { "default": "iS_PUBLIC" }},
{"field":"iS_COMPLETE","title":"是否完成","width":100,"slots": { "default": "iS_COMPLETE" }},
{"field":"begiN_DATE","title":"任务启动时间","width":120},
{"field":"completE_DATE","title":"任务完成时间","width":120},
{"field":"resulT_NOTE","title":"反馈结果","width":100},
{"field":"etd","title":"开船日期","width":100, "sortable": true},
{"field":"completE_DEAL","title":"任务完成方式","width":120},
{"field":"issuE_TYPE_NAME","title":"签单方式","width":100},
{"field":"tasK_REQ_USERNAME","title":"操作名称","width":100, "sortable": true},
{"field":"contA_INFO","title":"箱型箱量","width":150, "sortable": true},
{"field":"vesseL_VOYNO","title":"船名航次","width":100, "sortable": true},
{"field":"yarD_NAME","title":"场站","width":150, "sortable": true},
{"field":"trucK_NAME","title":"车队名称","width":170,"slots": { "default": "truckName" }, "sortable": true},
{"field":"customeR_NAME","title":"委托客户","width":200, "sortable": true},
{"field":"needArriveTime","title":"要求到达时间","width":200, "sortable": true},
{"field":"realUserName","title":"实际操作人","width":100},
{"field":"batcH_STATIC","title":"批次统计","width":100},
{"field":"systeM_NAME","title":"平台名称","width":100},
{"field":"createdUserName","title":"接收人","width":100},
{"field":"createdTime","title":"接收时间","width":200, "sortable": true}
]
},
{
"type":"SI_FEEDBACK",
"title":"SI反馈入库",
"list":[
{ "title":"船公司","field":"carrieR_ID","width": 100 },
{ "title":"提取签单方式","field":"takE_ISSUETYPE_NAME","width": 120 },
{ "title":"通知接收时间","field":"noticE_DATE","width": 120 },
{ "title":"签单方式","field":"issuetype","width": 100 },
{ "title":"截单上传时间","field":"submitteD_DATE","width": 120 },
{ "title":"提单份数","field":"billoF_NUM","width": 100 },
{ "title":"放单方式","field":"releasE_INSTRUCTION","width": 100 },
{ "title":"是否拆单","field":"sI_SUBTYPE","width": 100,"slots": { "default": "sI_SUBTYPE" } },
{ "title":"发货人","field":"shipper","width": 100 },
{ "title":"收货人","field":"consignee","width": 100 },
{ "title":"通知人","field":"notifyparty","width": 100 },
{ "title":"第二通知人","field":"notifypartY2","width": 100 },
{ "title":"订舱方","field":"transporT_RECEIVER","width": 100 },
{ "title":"唛头","field":"marks","width": 100 },
{ "title":"HS代码","field":"hscode","width": 100 },
{ "title":"货描","field":"description","width": 100 },
{ "title":"件数","field":"pkgs","width": 100 },
{ "title":"包装","field":"kindpkgs","width": 100 },
{ "title":"毛重","field":"kgs","width": 100 },
{ "title":"尺码","field":"cbm","width": 100 },
{ "title":"船名","field":"vessel","width": 100 },
{ "title":"海关航次","field":"voyno","width": 100 },
{ "title":"商品名称","field":"commodity","width": 100 },
{ "title":"收货地代码","field":"placereceiptid","width": 100 },
{ "title":"收货地","field":"placereceipt","width": 100 },
{ "title":"起运港代码","field":"portloadid","width": 100 },
{ "title":"起运港","field":"portload","width": 100 },
{ "title":"卸货港代码","field":"portdischargeid","width": 100 },
{ "title":"卸货港","field":"portdischarge","width": 100 },
{ "title":"交货地代码","field":"placedeliveryid","width": 100 },
{ "title":"交货地","field":"placedelivery","width": 100 },
{ "title":"处理状态","field":"procesS_STATUS","width": 100 },
{ "title":"自动更新订舱","field":"iS_SET_AUTO_UPD_BOOKING","width": 120 },
{ "title":"处理结果","field":"procesS_RESULT","width": 100 },
{ "title":"处理时间","field":"procesS_DATE","width": 100 },
{ "title":"比对差异数量","field":"difF_NUM","width": 120 },
{ "title":"是否已更新订舱","field":"iS_UPDATE_BOOKING","width": 140,"slots": { "default": "iS_UPDATE_BOOKING" } },
{ "title":"更新订舱时间","field":"updatE_BOOKING_DATE","width": 140 }
]
},
{
"type":"BC",
"title":"BC任务",
"list":[
{ "title":"订舱单位","field":"bookinG_PARTY","width": 100 },
{ "title":"业务类型","field":"busI_TYPE","width": 100,"slots": { "default": "busI_TYPE" } },
{ "title":"发货人","field":"shipper","width": 100 },
{ "title":"收货人","field":"consignee","width": 100 },
{ "title":"通知人","field":"notifyparty","width": 100 },
{ "title":"BC更新次数","field":"bC_MODIFY_TIMES","width": 120 },
{ "title":"BC更新时间","field":"bC_MODIFY_DATE","width": 120 },
{ "title":"主单号","field":"mbL_NO","width": 100 },
{ "title":"船名","field":"vessel","width": 100 },
{ "title":"航次","field":"voyno","width": 100 },
{ "title":"船公司","field":"carrier","width": 100 },
{ "title":"收货地","field":"placereceipt","width": 100 },
{ "title":"装货港","field":"portload","width": 100 },
{ "title":"截关时间","field":"closinG_DATE","width": 100 },
{ "title":"截VGM时间","field":"vgM_CUTOFF_TIME","width": 100 },
{ "title":"ETA","field":"eta","width": 100 },
{ "title":"ETD","field":"etd","width": 100 },
{ "title":"卸货港","field":"portdischarge","width": 100 },
{ "title":"交货地","field":"placedelivery","width": 100 },
{ "title":"目的港ETA","field":"poD_ETA","width": 100 },
{ "title":"装运方式","field":"shippinG_METHOD","width": 100 },
{ "title":"运输条款","field":"service","width": 100 },
{ "title":"港前运输形态","field":"pretranS_MODE","width": 100 },
{ "title":"品名","field":"description","width": 100 },
{ "title":"签单地点","field":"issueplace","width": 100 },
{ "title":"集港码头","field":"collectioN_TERMINAL","width": 100 },
{ "title":"约号","field":"contractno","width": 100 },
{ "title":"预付地点","field":"prepardat","width": 100 },
{ "title":"船代","field":"shiP_AGENT","width": 100 },
{ "title":"场站","field":"yard","width": 100 },
{ "title":"场站联系人","field":"yarD_CONTACT_USR","width": 100 },
{ "title":"场站联系电话","field":"yarD_CONTACT_TEL","width": 100 },
{ "title":"截单时间","field":"cuT_SINGLE_TIME","width": 100 },
{ "title":"一代客服姓名","field":"fsT_CUSTOMER_SER_USRNAME","width": 120 },
{ "title":"一代客服电话","field":"fsT_CUSTOMER_SER_TEL","width": 120 },
{ "title":"一代客服邮箱","field":"fsT_CUSTOMER_SER_EMAIL","width": 120 },
{ "title":"备注1","field":"remarK1","width": 100 },
{ "title":"截港时间","field":"cY_CUTOFF_TIME","width": 100 },
{ "title":"状态","field":"status","width": 100 },
{ "title":"最后对应时间","field":"lasT_TOBOOKING_DATE","width": 120 },
{ "title":"来源邮箱","field":"froM_EMAIL","width": 100 },
{ "title":"接收邮箱","field":"recV_EMAIL","width": 100 },
{ "title":"船公司","field":"carrierid","width": 100 },
{ "title":"航线代码","field":"lanecode","width": 100 },
{ "title":"航线名称","field":"lanename","width": 100 },
{ "title":"承运方式","field":"carriagE_TYPE_NAME","width": 100 },
{ "title":"订舱方式","field":"bookinG_SLOT_TYPE_NAME","width": 100 },
{ "title":"箱型箱量","field":"ctN_STAT","width": 100 },
{ "title":"所在周数","field":"weeK_AT","width": 100 },
{ "title":"箱使天数","field":"detensioN_FREE_DAYS","width": 100 },
{ "title":"样单截止日期","field":"sI_CUT_DATE","width": 120 },
{ "title":"舱单截止时间","field":"manifesT_CUT_DATE","width": 120 },
{ "title":"MDGF提交截止时间","field":"mdgF_CUT_DATE","width": 140 },
{ "title":"中转港1","field":"transfeR_PORT_1","width": 100 },
{ "title":"中转港2","field":"transfeR_PORT_2","width": 100 },
{ "title":"二程船名","field":"seconD_VESSEL","width": 100 },
{ "title":"二程航次","field":"seconD_VOYNO","width": 100 },
{ "title":"二程ETD","field":"seconD_ETD","width": 100 },
{ "title":"二程ETA","field":"seconD_ETA","width": 100 },
{ "title":"订舱确认时间","field":"bookinG_COMFIRM_DATE","width": 120 },
{ "title":"批次号","field":"batcH_NO","width": 100 },
{ "title":"样单截止日期","field":"custoM_SI_CUT_DATE","width": 120 },
{ "title":"自动转发邮件","field":"iS_SET_AUTO_EMAIL","width": 120,"slots": { "default": "iS_SET_AUTO_EMAIL" } },
{ "title":"已发送邮件","field":"iS_SEND_EMAIL","width": 100,"slots": { "default": "iS_SEND_EMAIL" } },
{ "title":"比对差异数量","field":"difF_NUM","width": 100 },
{ "title":"邮件接收人","field":"autO_SEND_USER","width": 100 },
{ "title":"处理状态","field":"procesS_STATUS","width": 100,"slots": { "default": "procesS_STATUS" } },
{ "title":"处理结果","field":"procesS_RESULT","width": 100 },
{ "title":"处理时间","field":"procesS_DATE","width": 100 },
{ "title":"计费日期","field":"pricE_CALCULATION_DATE","width": 100 }
]
},
{
"title":"单票账单",
"type":"PER_BILL",
"list":[
{ "title":"发票号","field":"invoicE_NO","width": 100 },
{ "title":"取消号","field":"canceL_NO","width": 100 },
{ "title":"合计金额","field":"totaL_AMOUNT","width": 100 },
{ "title":"东胜接收","field":"iS_DONGSH_RECV","width": 100,"slots": { "default": "iS_DONGSH_RECV" } },
{ "title":"东胜接收回执 ","field":"iS_DONGSH_RESULT","width": 120,"slots": { "default": "iS_DONGSH_RESULT" } },
{ "title":"东胜接收时间","field":"dongsH_RECV_TIME","width": 120 },
{ "title":"东胜回执时间","field":"dongsH_RESULT_TIME","width": 120 },
{ "title":"东胜反馈原因","field":"dongsH_RECV_REASON","width": 120 }
]
},
{
"title":"派车任务",
"type":"TRUCK_DISPATCH",
"list":[
{"field":"truckCode","title":"车队代码","width":"100"},
{"field":"truckName","title":"车队名称","width":"100"},
{"field":"toName","title":"TO","width":"100"},
{"field":"attn","title":"ATTN","width":"100"},
{"field":"attnTel","title":"ATTN电话","width":"100"},
{"field":"attnMail","title":"ATTN邮箱","width":"100"},
{"field":"attnFax","title":"ATTN传真","width":"100"},
{"field":"fromName","title":"FROM","width":"100"},
{"field":"fromTel","title":"FROM座机","width":"100"},
{"field":"fromMail","title":"FROM邮箱","width":"100"},
{"field":"fromMobile","title":"FROM手机号","width":"100"},
{"field":"fromFax","title":"FROM传真","width":"100"},
{"field":"kgs","title":"吨数","width":"100"},
{"field":"fee","title":"陆运费","width":"100"},
{"field":"payMethodName","title":"支付方式","width":"100"},
{"field":"truckTime","title":"派车日期","width":"100"},
{"field":"yardid","title":"提箱场站ID","width":"100"},
{"field":"yard","title":"提箱场站","width":"100"},
{"field":"yardcontract","title":"场站联系人","width":"100"},
{"field":"yardcontracttel","title":"场站联系人电话","width":"140"},
{"field":"factoryCode","title":"工厂代码","width":"100"},
{"field":"factoryName","title":"工厂名称","width":"100"},
{"field":"factoryContact","title":"工厂联系人","width":"100"},
{"field":"factoryTel","title":"工厂联系电话","width":"120"},
{"field":"returnTime","title":"返场时间","width":"100"},
{"field":"inYard","title":"入货场站","width":"100"},
{"field":"inYardContact","title":"入货联系人","width":"100"},
{"field":"inYardContractTel","title":"入货联系人电话","width":"100"},
{"field":"needArriveTime","title":"要求到达时间","width":"100"},
{"field":"closingTime","title":"截港日期","width":"100"},
{"field":"pickUpTime","title":"提货日期","width":"100"},
{"field":"isGuaJi","title":"是否挂机","width":"100"},
{"field":"status","title":"状态","width":"100"},
{"field":"attention","title":"注意事项","width":"100"},
{"field":"remark","title":"备注","width":"100"},
{"field":"dispatcherName","title":"调度名称","width":"100"},
{"field":"truckFlowNo","title":"派车流水号","width":"100"},
{"field":"taskNo","title":"任务流水号","width":"100"},
{"field":"vessel","title":"船名","width":"100"},
{"field":"voyNo","title":"航次","width":"100"},
{"field":"mblNo","title":"提单号","width":"100"},
{"field":"cntrTotal","title":"箱型箱量","width":"100"},
{"field":"factoryAddr","title":"工厂地址","width":"100"}
]
},
{
"title":"任务截止时间变更通知",
"type":"CUT_MODIFY",
"list":[
{"field":"carrier","title":"船公司","width":"100"},
{"field":"vessel","title":"船名","width":"100"},
{"field":"voyno","title":"航次","width":"100"},
{"field":"noticE_DATE","title":"通知接收时间","width":"120"}
]
},
{
"title":"Rolling Nomination(预甩货通知)",
"type":"ROLLING_NOMINATION",
"list":[
{"field":"plaN_TYPE","title":"计划类型","width":"100","slots": { "default": "plaN_TYPE" }},
{"field":"batcH_NO","title":"批次号","width":"100"},
{"field":"carrierid","title":"船公司代号","width":"100"},
{"field":"carrier","title":"船公司","width":"100"},
{"field":"confirM_DEAD_LINE","title":"最后确认期限日期","width":"150"},
{"field":"reaD_CREATE_TIME","title":"解析生成日期","width":"120"},
{"field":"rolL_DOUBLE_REMARK","title":"含有二甩声明备注","width":"150"},
{"field":"plaN_TXT","title":"预甩计划详情","width":"100"},
{"field":"remark","title":"备注","width":"100"},
{"field":"tasK_BATCH_TOTAL","title":"任务批次明细合计","width":"150"},
{"field":"tasK_BATCH_PER_TOTAL","title":"任务批次单票合计","width":"150"}
]
},
{
"title":"DRAFT转发客户",
"type":"DRAFT",
"list":[
{"field":"carrier","title":"船公司","width":"100"},
{"field":"mbL_NO","title":"主单号","width":"100"},
{"field":"iS_CHANGE","title":"已发消息提醒","width":"120","slots": { "default": "iS_CHANGE" }},
{"field":"iS_EMAIL_SEND","title":"是否邮件推送","width":"120","slots": { "default": "iS_EMAIL_SEND" }},
{"field":"senD_EMAIL_DATE","title":"邮件推送时间","width":"120"},
{"field":"noticE_DATE","title":"通知接收时间","width":"120"}
]
},
{
"title":"任务目的港未提货",
"type":"POD_DISCHARGE_FULL",
"list":[
{"field":"noticE_TYPE_NAME","title":"通知类型","width":"100"},
{"field":"mbL_NO","title":"主单号","width":"100"},
{"field":"carrier","title":"船公司","width":"100"},
{"field":"noticE_DATE","title":"通知接收时间","width":"120"}
]
},
{
"title":"重要提醒",
"type":"CAUTION_NOTICE",
"list":[
{"field":"sourcE_SYSTEM","title":"来源系统","width":"100"},
{"field":"sourcE_BUSI_TYPENAME","title":"来源业务类型","width":"120"},
{"field":"notifY_CONTENT","title":"通知内容","width":"100"},
{"field":"mbL_NO","title":"提单号","width":"100"},
{"field":"carrier","title":"船公司","width":"100"},
{"field":"cautioN_NOTICE_TYPE","title":"通知差异类型","width":"120","slots": { "default": "plaN_TYPE" }},
{"field":"iS_WEEK_DIFF","title":"计费周差异","width":"100","slots": { "default": "iS_WEEK_DIFF" }},
{"field":"iS_PRICE_DATE_DIFF","title":"计费日差异","width":"100","slots": { "default": "iS_PRICE_DATE_DIFF" }},
{"field":"iS_TRANSFER","title":"转为中转","width":"100","slots": { "default": "iS_TRANSFER" }},
{"field":"iS_VESSEL_CHANGE","title":"船名变化","width":"100","slots": { "default": "iS_VESSEL_CHANGE" }},
{"field":"iS_CUT_DATE_ADVANCED","title":"截止时间提前","width":"120","slots": { "default": "iS_CUT_DATE_ADVANCED" }},
{"field":"olD_VAL","title":"原始值","width":"100"},
{"field":"neW_VAL","title":"修改值","width":"100"}
]
},
{
"title":"航线船舶截止时间调整的通知",
"type":"ROUTE_CUT_CHANGE",
"list":[
{"field":"vessel","title":"船名","width":"100"},
{"field":"voyno","title":"航次","width":"100"},
{"field":"carrier","title":"船公司","width":"100"},
{"field":"reaD_PORTLOAD","title":"装货港提取","width":"100"},
{"field":"oriG_ETD","title":"原ETD","width":"100"},
{"field":"mdgF_CUT_DATE","title":"MDGF提交截止时间","width":"200"},
{"field":"eta","title":"ETA","width":"100"},
{"field":"etd","title":"ETD","width":"100"},
{"field":"sI_CUT_DATE","title":"样单截止日期","width":"150"},
{"field":"tM_SHIFT_CUT_DATE","title":"码头移箱截止时间","width":"150"},
{"field":"vgM_CUTOFF_TIME","title":"截VGM时间","width":"100"},
{"field":"cY_CUT_DATE","title":"截港/场站收据截止","width":"200"},
{"field":"routE_CODE","title":"航线代码","width":"100"},
{"field":"emaiL_SUBJECT","title":"邮件对应标题","width":"100"},
{"field":"week","title":"周数","width":"100"},
{"field":"portloadid","title":"装货港代码","width":"100"},
{"field":"portload","title":"装货港","width":"100"}
]
}
]

@ -0,0 +1,42 @@
<template>
<div class="main">
<a-card title="操作" style="width: 300px">
<template #extra> <i @click="handleEdit('Operator')" class="icon-bianji1 iconfont"></i> </template>
<p>card content</p>
<p>card content</p>
<p>card content</p>
</a-card>
<a-modal v-model:open="open" title="分配任务" @ok="handleSave">
</a-modal>
</div>
</template>
<script lang="ts" setup>
import { ref, onMounted } from 'vue'
import { useRouter, useRoute } from 'vue-router'
import pdf from '../components/pdf.vue'
import taskData from '../components/taskData.vue'
import taskButton from '../components/taskButton.vue'
import { GetInfoByTaskId, DownloadFileByBC } from '../api'
import { useMessage } from '../../../hooks/web/useMessage'
const { createMessage } = useMessage()
const open = ref(false)
function handleEdit(type) {
open.value = true
}
function handleSave(){
}
</script>
<style lang="less" scoped>
.main {
padding: 20px;
.iconfont {
cursor: pointer;
color: rgba(22, 119, 255, 1);
}
}
</style>

@ -0,0 +1,143 @@
<template>
<div class="main">
<div class="main-title">
*使用说明上下拖动字段排序勾选字段会显示在任务台账
</div>
<div style="display: flex;padding: 20px">
<div class="left">
<div class="title">
<div>基础信息</div> <a-button size="small" type="link" @click="handleSaveBasic">
<i class="icon-baocun iconfont"></i>
保存</a-button>
</div>
<a-spin :spinning="loading">
<draggable :list="basicList" item-key="field" animation="300">
<template #item="{ element }">
<div class="check-item">
<a-checkbox v-model="element.checked">{{ element.title }}</a-checkbox>
<MenuOutlined />
</div>
</template>
</draggable>
</a-spin>
</div>
<div class="right">
<div class="title">
<div>{{ title }}</div> <a-button size="small" type="link" @click="handleSave"> <i class="icon-baocun iconfont"></i>保存</a-button>
</div>
<div>
<a-select style="width: 270px;margin-bottom: 10px;" size="small" @change="handleChange"
v-model="taskType">
<a-select-option value="SI_FEEDBACK">SI反馈入库</a-select-option>
<a-select-option value="BC">BC任务</a-select-option>
<a-select-option value="PER_BILL">单票账单</a-select-option>
<a-select-option value="TRUCK_DISPATCH">派车任务</a-select-option>
<a-select-option value="CUT_MODIFY">任务截止时间变更通知</a-select-option>
<a-select-option value="ROLLING_NOMINATION">Rolling Nomination(预甩货通知)</a-select-option>
<a-select-option value="DRAFT">DRAFT转发客户</a-select-option>
<a-select-option value="POD_DISCHARGE_FULL">任务目的港未提货</a-select-option>
<a-select-option value="CAUTION_NOTICE">重要提醒</a-select-option>
<a-select-option value="ROUTE_CUT_CHANGE">航线船舶截止时间调整的通知</a-select-option>
</a-select>
</div>
<a-spin :spinning="loading1">
<draggable :list="taskList" item-key="field" animation="300">
<template #item="{ element }">
<div class="check-item">
<a-checkbox v-model="element.checked">{{ element.title }}</a-checkbox>
<MenuOutlined />
</div>
</template>
</draggable>
</a-spin>
</div>
</div>
</div>
</template>
<script lang="ts" setup>
import Data from './data.json'
import { ref, onMounted, computed, reactive } from 'vue'
import draggable from 'vuedraggable';
import { GetInfoByTaskIdNotice } from '../api'
import { MenuOutlined } from '@ant-design/icons-vue';
import { useMessage } from '../../../hooks/web/useMessage'
const { createMessage } = useMessage()
function handleSaveBasic() {
}
const loading = ref(false)
const loading1 = ref(false)
const basicList = ref([]) as any
const taskList = ref([]) as any
const taskType = ref('SI_FEEDBACK')
function handleChange() {
}
const title = ref('SI反馈入库')
function handleSave() {
}
onMounted(() => {
Data.forEach(item => {
if (item.type === taskType.value) {
taskList.value = item.list
}
})
basicList.value = Data[0].list
})
</script>
<style scoped lang="less">
.main {
.title {
margin-bottom: 10px;
display: flex;
justify-content: space-between;
align-items: center;
font-weight: bold;
}
.left {
margin-right: 50px;
border: 1px solid rgba(232, 235, 237, 1);
padding: 10px 20px;
font-size: 12px;
width: 20%;
}
.right{
border: 1px solid rgba(232, 235, 237, 1);
padding: 10px 20px;
font-size: 12px;
width: 20%;
}
.main-title {
color: rgba(22, 119, 255, 1);
background: rgba(245, 249, 252, 1);
font-size: 12px;
padding: 10px 0;
padding-left: 20px;
}
.check-item {
display: flex;
justify-content: space-between;
align-items: center;
background: rgba(245, 249, 252, 1);
padding: 3px 10px;
font-size: 12px !important;
cursor: pointer;
margin-bottom: 3px;
/deep/ .ant-checkbox-wrapper {
span {
font-size: 12px;
}
}
}
}
</style>
Loading…
Cancel
Save