修改bug

master
sunzehua 7 months ago
parent 51e2a64fb3
commit 1cf6ff214d

12
.env

@ -2,8 +2,8 @@ NODE_ENV=production
VUE_APP_PREVIEW=true VUE_APP_PREVIEW=true
# VUE_APP_TYPE = 'customer' # VUE_APP_TYPE = 'customer'
# VUE_APP_TYPE = 'hechuan' # VUE_APP_TYPE = 'hechuan'
VUE_APP_TYPE = 'yunyingduan' # VUE_APP_TYPE = 'yunyingduan'
# VUE_APP_TYPE = 'gangjie' VUE_APP_TYPE = 'gangjie'
# 打包部署的三个端 客户端customer 和川端hechuan 运营端djy # 打包部署的三个端 客户端customer 和川端hechuan 运营端djy
# 和川大简云正式 # 和川大简云正式
@ -23,13 +23,13 @@ VUE_APP_TYPE = 'yunyingduan'
# VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:30814 # VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:30814
# 港捷 # 港捷
# VUE_APP_API_BASE_URL=http://118.190.144.189:5001 VUE_APP_API_BASE_URL=http://118.190.144.189:5001
# VUE_APP_SOCKET_BASE_URL=http://118.190.144.189:5001 VUE_APP_SOCKET_BASE_URL=http://118.190.144.189:5001
# 客户端正式 # 客户端正式
# VUE_APP_API_BASE_URL=http://118.190.144.189:6001 # VUE_APP_API_BASE_URL=http://118.190.144.189:6001
# VUE_APP_SOCKET_BASE_URL=http://118.190.144.189:6001 # VUE_APP_SOCKET_BASE_URL=http://118.190.144.189:6001
# 运营端正式 # 运营端正式
VUE_APP_API_BASE_URL=http://118.190.144.189:6002 # VUE_APP_API_BASE_URL=http://118.190.144.189:6002
VUE_APP_SOCKET_BASE_URL=http://118.190.144.189:6002 # VUE_APP_SOCKET_BASE_URL=http://118.190.144.189:6002

@ -1,8 +1,8 @@
NODE_ENV=development NODE_ENV=development
VUE_APP_PREVIEW=true VUE_APP_PREVIEW=true
# VUE_APP_TYPE = 'customer' # VUE_APP_TYPE = 'customer'
# VUE_APP_TYPE = 'hechuan' VUE_APP_TYPE = 'hechuan'
VUE_APP_TYPE = 'yunyingduan' # VUE_APP_TYPE = 'yunyingduan'
# VUE_APP_TYPE = 'gangjie' # VUE_APP_TYPE = 'gangjie'
# 打包部署的三个端 客户端customer 和川端hechuan 运营端yunyingduan # 打包部署的三个端 客户端customer 和川端hechuan 运营端yunyingduan
@ -11,8 +11,8 @@ VUE_APP_TYPE = 'yunyingduan'
# VUE_APP_SOCKET_BASE_URL=http://47.104.85.216:12345 # VUE_APP_SOCKET_BASE_URL=http://47.104.85.216:12345
# 和川大简云测试 # 和川大简云测试
# VUE_APP_API_BASE_URL=http://60.209.125.238:35100 VUE_APP_API_BASE_URL=http://60.209.125.238:35100
# VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:35100 VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:35100
# 客户端测试 # 客户端测试
# VUE_APP_API_BASE_URL=http://60.209.125.238:30813 # VUE_APP_API_BASE_URL=http://60.209.125.238:30813
@ -30,8 +30,8 @@ VUE_APP_TYPE = 'yunyingduan'
# VUE_APP_SOCKET_BASE_URL=http://118.190.144.189:5001 # VUE_APP_SOCKET_BASE_URL=http://118.190.144.189:5001
# 运营端正式 # 运营端正式
VUE_APP_API_BASE_URL=http://118.190.144.189:6002 # VUE_APP_API_BASE_URL=http://118.190.144.189:6002
VUE_APP_SOCKET_BASE_URL=http://118.190.144.189:6002 # VUE_APP_SOCKET_BASE_URL=http://118.190.144.189:6002
# 客户端正式 # 客户端正式
# VUE_APP_API_BASE_URL=http://118.190.144.189:6001 # VUE_APP_API_BASE_URL=http://118.190.144.189:6001

@ -21,7 +21,7 @@
class="s-tool-column-item" class="s-tool-column-item"
v-for="item in columnsSetting" v-for="item in columnsSetting"
:key="`${item.title}tableColumnSetting`" :key="`${item.title}tableColumnSetting`"
v-show="item.show && item.type!=='checkbox'"> v-show="item.show && item.type!=='checkbox' && item.field!=='caozuo'">
<div class="s-tool-column-handle"> <div class="s-tool-column-handle">
<a-icon type="more" /> <a-icon type="more" />
<a-icon type="more" /> <a-icon type="more" />
@ -121,7 +121,7 @@
handleSure() { handleSure() {
const arr = [] const arr = []
this.columnsSetting.forEach(item => { this.columnsSetting.forEach(item => {
if (item.checked || item.type === 'checkbox') { if (item.checked || item.type === 'checkbox' || item.field === 'caozuo') {
arr.push(item) arr.push(item)
} }
}) })

@ -126,7 +126,7 @@ export const sortMixin = {
localStorage.setItem(this.sortMixinForm.setting, JSON.stringify(arr)) localStorage.setItem(this.sortMixinForm.setting, JSON.stringify(arr))
} }
if (Object.keys($data).includes(this.sortMixinForm.page)) { if (Object.keys($data).includes(this.sortMixinForm.page)) {
this.queryParam.pageSize = $data[this.sortMixinForm.page].pageSize this.queryParam.pageSize = JSON.parse($data[this.sortMixinForm.page].configJson).pageSize
} else { } else {
arr.push({ arr.push({
type: this.sortMixinForm.page, type: this.sortMixinForm.page,

@ -33,3 +33,4 @@ const VueAxios = {
export { export {
VueAxios VueAxios
} }

@ -122,7 +122,7 @@
ref="iframe" ref="iframe"
@load="handleIframeLoad" @load="handleIframeLoad"
style="width: 100%;height: 1400px;" style="width: 100%;height: 1400px;"
src="http://localhost:8080/#/index" src="http://60.209.125.238:35103/#/index"
frameborder="0"></iframe> frameborder="0"></iframe>
</div> </div>
</div> </div>

@ -70,52 +70,45 @@
<a-button style="margin-left: 8px" @click="init"></a-button> <a-button style="margin-left: 8px" @click="init"></a-button>
</div> </div>
</div> </div>
<vxe-table
<vxe-grid
:data="loadData" :data="loadData"
stripe stripe
resizable resizable
round round
ref="table"
:columns="columns"
:loading="loading" :loading="loading"
@sort-change="tableSortChange"
@resizable-change="resizableChange"
height="600px"
empty-text="没有更多数据了!"> empty-text="没有更多数据了!">
<vxe-column type="seq" width="40" fixed="left"></vxe-column> <template #vessel="{ row }">
<vxe-column <span>{{ row.vessel }}/{{ row.voyno }}</span>
v-for="item in columns" </template>
:key="`${item.dataIndex}3`" <template #caozuo="{ row }">
:field="item.dataIndex" <div @click="handleRefsh(row)" style="color: rgb(24, 162, 216);cursor: pointer;">刷新</div>
:min-width="item.width" </template>
:title="item.title" <template #eta="{ row }">
:fixed="item.fixed" <span>{{ row.eta ? row.eta.substring(0, 10) : '' }}</span>
:align="item.align"> </template>
<template #default="{ row }"> <template #remaiN_CTNS_NUM="{ row }">
<div v-if="item.dataIndex == 'vessel'"> <span>{{ row.totaL_ORDERS - row.usE_NUM }}</span>
<span>{{ row.vessel }}/{{ row.voyno }}</span> </template>
</div> <template #etd="{ row }">
<div v-else-if="item.dataIndex == 'eta'"> <span>{{ row.etd ? row.etd.substring(0, 10) : '' }}</span>
<span>{{ row.eta?row.eta.substring(0,10):'' }}</span> </template>
</div>
<div v-else-if="item.dataIndex == 'etd'"> <template #pager>
<span>{{ row.etd?row.etd.substring(0,10):'' }}</span> <vxe-pager
</div> :current-page="queryParam.PageNo"
<div v-else-if="item.dataIndex == 'remaiN_CTNS_NUM'"> :page-size="queryParam.pageSize"
<span>{{ row.totaL_ORDERS - row.usE_NUM }}</span> :total="queryParam.totalCount"
</div> :layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
<span v-else>{{ row[item.dataIndex] }}</span> @page-change="tablePaginationChange">
</template> </vxe-pager>
</vxe-column> </template>
<vxe-column title="操作" fixed="right" width="120" align="center"> </vxe-grid>
<template #default="{ row }">
<div @click="handleRefsh(row)" style="color: rgb(24, 162, 216);cursor: pointer;">刷新</div>
</template>
</vxe-column>
</vxe-table>
<vxe-pager
:loading="loading"
:current-page="queryParam.currentPage"
:page-size="queryParam.pageSize"
:total="queryParam.totalResult"
:layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
@page-change="handlePageChange">
</vxe-pager>
</a-card> </a-card>
</div> </div>
</template> </template>
@ -126,10 +119,13 @@ import {
} from '@/api/modular/main/CompanySiteaccount' } from '@/api/modular/main/CompanySiteaccount'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import columnSetting from '@/components/tableColumnSetting' import columnSetting from '@/components/tableColumnSetting'
import tableSort from '@/components/tableSort'
import { sortMixin } from '@/mixin/index';
export default { export default {
components: { components: {
columnSetting columnSetting, tableSort
}, },
mixins: [sortMixin],
computed: { computed: {
...mapGetters([ ...mapGetters([
'ctnallList' 'ctnallList'
@ -146,101 +142,121 @@ export default {
queryParam: { queryParam: {
currentPage: 1, currentPage: 1,
pageSize: 10, pageSize: 10,
totalResult: 1 totalCount: 1
}, },
form: {}, form: {},
sortMixinForm: {
column: 'CabinInventory_list_column',
setting: 'CabinInventorySetting',
sort: 'CabinInventory_sort',
page: 'CabinInventory_page',
type: 'CabinInventory',
sortField: 'etd'
},
ColumnsQuery: [], ColumnsQuery: [],
columns: [ columns: [
{ {
title: '船名/航次', title: '船名/航次',
align: 'center', align: 'center',
width: '160', width: '160',
dataIndex: 'vessel', field: 'vessel',
fixed: 'left' fixed: 'left',
slots: { default: 'vessel' }
}, },
{ {
title: '订舱抬头', title: '订舱抬头',
align: 'center', align: 'center',
width: '160', width: '160',
dataIndex: 'bookinG_PARTY', field: 'bookinG_PARTY',
fixed: 'left' fixed: 'left'
}, },
{ {
title: '合约号', title: '合约号',
align: 'center', align: 'center',
width: '160', width: '160',
dataIndex: 'contracT_NO', field: 'contracT_NO',
fixed: 'left' fixed: 'left'
}, },
{ {
title: '订舱方式', title: '订舱方式',
align: 'center', align: 'center',
width: '160', width: '160',
dataIndex: 'bookinG_SLOT_TYPE_NAME', field: 'bookinG_SLOT_TYPE_NAME',
fixed: 'left' fixed: 'left'
}, },
{ {
title: '总库存', title: '总库存',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'totaL_ORDERS', field: 'totaL_ORDERS',
fixed: 'left' fixed: 'left'
}, },
{ {
title: '剩余库存', title: '剩余库存',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'remaiN_CTNS_NUM', field: 'remaiN_CTNS_NUM',
slots: { default: 'remaiN_CTNS_NUM' },
fixed: 'left' fixed: 'left'
}, },
{ {
title: '取消库存', title: '取消库存',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'portdischarge' field: 'portdischarge'
}, },
{ {
title: 'WEEK', title: 'WEEK',
align: 'center', align: 'center',
width: '150', width: '150',
dataIndex: 'weeK_AT', field: 'weeK_AT',
fixed: 'left' fixed: 'left'
}, },
{ {
title: '航线', title: '航线',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'lanename' field: 'lanename'
}, },
{ {
title: '箱型箱量', title: '箱型箱量',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'ctN_STAT' field: 'ctN_STAT'
}, },
{ {
title: '剩余箱型箱量', title: '剩余箱型箱量',
align: 'center', align: 'center',
width: '110', width: '110',
dataIndex: 'remaiN_CTN_STAT' field: 'remaiN_CTN_STAT'
}, },
{ {
title: 'ETD', title: 'ETD',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'etd' field: 'etd',
slots: { default: 'etd' }
}, },
{ {
title: 'ETA', title: 'ETA',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'eta' field: 'eta',
slots: { default: 'eta' }
}, },
{ {
title: '船公司', title: '船公司',
align: 'center', align: 'center',
width: '150', width: '150',
dataIndex: 'carrier' field: 'carrier'
},
{
title: '操作',
align: 'center',
field: 'caozuo',
slots: { default: 'caozuo' },
width: 100,
fixed: 'right'
} }
], ],
tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' }, tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' },
@ -285,7 +301,7 @@ export default {
this.loadData = res.data.rows this.loadData = res.data.rows
this.queryParam.currentPage = res.data.pageNo this.queryParam.currentPage = res.data.pageNo
this.queryParam.pageSize = res.data.pageSize this.queryParam.pageSize = res.data.pageSize
this.queryParam.totalResult = res.data.totalRows this.queryParam.totalCount = res.data.totalRows
} else { } else {
this.$message.error(res.message) this.$message.error(res.message)
} }

@ -162,82 +162,77 @@
<!-- <a-button type="primary" @click="handleSendAll"></a-button> --> <!-- <a-button type="primary" @click="handleSendAll"></a-button> -->
</div> </div>
<div> <div>
<a-button type="primary" @click="FnGetData"></a-button> <a-button type="primary" @click="getList"></a-button>
<a-button style="margin-left: 8px" @click="init"></a-button> <a-button style="margin-left: 8px" @click="init"></a-button>
<tableSort @columnChange="handleColumnChange" :columns="columns" :columnsAll="columnsAll"></tableSort>
</div> </div>
</div> </div>
<vxe-table
<vxe-grid
:data="loadData" :data="loadData"
stripe stripe
resizable resizable
ref="xTable"
round round
ref="table"
:columns="columns"
:loading="loading" :loading="loading"
@cell-dblclick="handledbclick"
@sort-change="tableSortChange"
@resizable-change="resizableChange"
@checkbox-change="checkboxChangeEvent"
height="600px"
empty-text="没有更多数据了!"> empty-text="没有更多数据了!">
<vxe-column fixed="left" type="checkbox"></vxe-column> <template #vessel="{ row }">
<vxe-column <span>{{ row.vessel }}/{{ row.voyno }}</span>
v-for="item in columns" </template>
:key="`${item.dataIndex}3`" <template #caozuo="{ row }">
:field="item.dataIndex" <a-icon type="form" style="cursor: pointer;" @click="handleEdit(row.id)" :style="{ color: '#13c2c2' }" />
:min-width="item.width" <a-popconfirm
:title="item.title" title="请确认删除?"
:fixed="item.fixed" ok-text="是"
:align="item.align"> cancel-text="否"
<template #default="{ row }"> @confirm="e => {
<div v-if="item.dataIndex == 'vessel'"> confirm(e, row)
<span>{{ row.vessel }}/{{ row.voyno }}</span> }
</div> ">
<div v-else-if="item.dataIndex == 'eta'"> <a-icon type="delete" style="margin: 0 8px;" :style="{ color: '#13c2c2' }" />
<span>{{ row.eta ? row.eta.substring(0, 10) : '' }}</span> </a-popconfirm>
</div> <a-icon
<div v-else-if="item.dataIndex == 'iS_CANCELLATION'"> type="diff"
<a-icon @click="handleOpenSlot(row)"
type="bulb" style="cursor: pointer;"
theme="filled" theme="filled"
style="color: red;font-size: 16px;" :style="{ color: '#13c2c2' }" />
:title="row.cancellatioN_DATE" </template>
v-if="row.iS_CANCELLATION" /> <template #eta="{ row }">
</div> <span>{{ row.eta ? row.eta.substring(0, 10) : '' }}</span>
<div v-else-if="item.dataIndex == 'etd'"> </template>
<span>{{ row.etd ? row.etd.substring(0, 10) : '' }}</span> <template #iS_CANCELLATION="{ row }">
</div> <a-icon
<span v-else>{{ row[item.dataIndex] }}</span> type="bulb"
</template> theme="filled"
</vxe-column> style="color: red;font-size: 16px;"
<vxe-column title="操作" fixed="right" width="120" align="center"> :title="row.cancellatioN_DATE"
<template #default="{ row }"> v-if="row.iS_CANCELLATION" />
<a-icon type="form" style="cursor: pointer;" @click="handleEdit(row.id)" :style="{ color: '#13c2c2' }" /> </template>
<a-popconfirm <template #etd="{ row }">
title="请确认删除?" <span>{{ row.etd ? row.etd.substring(0, 10) : '' }}</span>
ok-text="是" </template>
cancel-text="否"
@confirm="e => { <template #pager>
confirm(e, row) <vxe-pager
} :current-page="queryParam.PageNo"
"> :page-size="queryParam.pageSize"
<a-icon type="delete" style="margin: 0 8px;" :style="{ color: '#13c2c2' }" /> :total="queryParam.totalCount"
</a-popconfirm> :layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
<a-icon @page-change="tablePaginationChange">
type="diff" </vxe-pager>
@click="handleOpenSlot(row)" </template>
style="cursor: pointer;" </vxe-grid>
theme="filled"
:style="{ color: '#13c2c2' }" />
</template>
</vxe-column>
</vxe-table>
<vxe-pager
:loading="loading"
:current-page="queryParam.currentPage"
:page-size="queryParam.pageSize"
:total="queryParam.totalResult"
:layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
@page-change="handlePageChange">
</vxe-pager>
</a-card> </a-card>
<a-modal v-model="SlotVisible" title="生成方式选择" @ok="handleOk1" width="40%"> <a-modal v-model="SlotVisible" title="生成方式选择" @ok="handleOk1" width="40%">
<a-form class="Editing"> <a-form class="Editing">
<a-checkbox style="margin-top: 10px;" v-model="CreateData.isDirectSend"></a-checkbox> <!-- <a-checkbox style="margin-top: 10px;" v-model="CreateData.isDirectSend"></a-checkbox> -->
<a-row> <a-row>
<a-col :span="16"> <a-col :span="16">
<a-form-item label="委托单位:" :label-col="formItemLayout.labelCol3" :wrapper-col="formItemLayout.wrapperCol3"> <a-form-item label="委托单位:" :label-col="formItemLayout.labelCol3" :wrapper-col="formItemLayout.wrapperCol3">
@ -278,10 +273,10 @@
</a-col> </a-col>
</a-row> </a-row>
<a-row style="padding-left: 20px;margin-bottom: 10px"> <a-row style="padding-left: 20px;margin-bottom: 10px">
<span style="margin-right: 10px;" v-for="(item, index) in userInfoList" :key="index"> <span style="margin-right: 10px;" v-for="(item, index) in userInfoList" :key="index">
{{ item.name }} {{ item.email }} {{ item.name }} {{ item.email }}
</span> </span>
</a-row> </a-row>
<a-row> <a-row>
<a-col :span="8"> <a-col :span="8">
<a-form-item label="销售:" :label-col="formItemLayout.labelCol2" :wrapper-col="formItemLayout.wrapperCol2"> <a-form-item label="销售:" :label-col="formItemLayout.labelCol2" :wrapper-col="formItemLayout.wrapperCol2">
@ -455,10 +450,13 @@ import {
} from '@/api/modular/main/TaskmanageList' } from '@/api/modular/main/TaskmanageList'
import { DjyCustomerSuggest, GetSysUserPage, DjyCustomerContacts } from '@/api/modular/main/BookingLedger' import { DjyCustomerSuggest, GetSysUserPage, DjyCustomerContacts } from '@/api/modular/main/BookingLedger'
import columnSetting from '@/components/tableColumnSetting' import columnSetting from '@/components/tableColumnSetting'
import tableSort from '@/components/tableSort'
import { sortMixin } from '@/mixin/index';
export default { export default {
components: { components: {
columnSetting columnSetting, tableSort
}, },
mixins: [sortMixin],
computed: { computed: {
...mapGetters([ ...mapGetters([
'ctnallList' 'ctnallList'
@ -478,13 +476,13 @@ export default {
customerByList: [], customerByList: [],
CustomerList: [], CustomerList: [],
SlotVisible: false, SlotVisible: false,
userInfoList:[], userInfoList: [],
setVisible1: false, setVisible1: false,
fetching: false, fetching: false,
queryParam: { queryParam: {
currentPage: 1, PageNo: 1,
pageSize: 10, pageSize: 10,
totalResult: 1 totalCount: 1
}, },
bookingServiceItem: [], bookingServiceItem: [],
formItemLayout: { formItemLayout: {
@ -505,232 +503,519 @@ export default {
slotEdit: {}, slotEdit: {},
ColumnsQuery: [], ColumnsQuery: [],
columns: [ columns: [
{
type: 'checkbox',
width: 60,
noDraggable: true,
fixed: 'left'
},
{ {
title: '订舱编号', title: '订舱编号',
align: 'center', align: 'center',
width: '160', width: '160',
dataIndex: 'sloT_BOOKING_NO', field: 'sloT_BOOKING_NO',
fixed: 'left' fixed: 'left'
}, },
{ {
title: '船名/航次', title: '船名/航次',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'vessel', field: 'vessel',
fixed: 'left' fixed: 'left',
slots: { default: 'vessel' }
}, },
{ {
title: '船公司', title: '船公司',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'carrier', field: 'carrier',
fixed: 'left' fixed: 'left'
}, },
{ {
title: '合约号', title: '合约号',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'contracT_NO', field: 'contracT_NO',
fixed: 'left' fixed: 'left'
}, },
{ {
title: '承运模式', title: '承运模式',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'carriagE_TYPE_NAME', field: 'carriagE_TYPE_NAME',
fixed: 'left' fixed: 'left'
}, },
{ {
title: '订舱方式', title: '订舱方式',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'bookinG_SLOT_TYPE_NAME', field: 'bookinG_SLOT_TYPE_NAME',
fixed: 'left' fixed: 'left'
}, },
{ {
title: 'ETD', title: 'ETD',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'etd', field: 'etd',
fixed: 'left' fixed: 'left',
sortable: true,
slots: { default: 'etd' }
}, },
{ {
title: 'ETA', title: 'ETA',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'eta', field: 'eta',
sortable: true,
fixed: 'left',
slots: { default: 'eta' }
},
{
title: 'CANCELLATION',
align: 'center',
width: '150',
field: 'iS_CANCELLATION',
slots: { default: 'iS_CANCELLATION' }
},
{
title: '装货地',
align: 'center',
width: '180',
field: 'placereceipt'
},
{
title: '收货地',
align: 'center',
width: '180',
field: 'placedelivery'
},
{
title: '箱型箱量',
align: 'center',
width: '100',
field: 'ctN_STAT'
},
{
title: 'WEEK',
align: 'center',
width: '100',
field: 'weeK_AT'
},
{
title: '装货港名称',
align: 'center',
width: '100',
field: 'portload'
},
{
title: '卸货港名称',
align: 'center',
width: '100',
field: 'portdischarge'
},
{
title: '样单截止时间',
align: 'center',
width: '150',
sortable: true,
field: 'sI_CUT_DATE'
},
{
title: 'VGM截止时间',
align: 'center',
width: '150',
sortable: true,
field: 'vgM_SUBMISSION_CUT_DATE'
},
{
title: '截港时间',
align: 'center',
width: '150',
sortable: true,
field: 'cY_CUT_DATE'
},
{
title: '入港清单截止',
align: 'center',
width: '150',
field: 'manifesT_CUT_DATE'
},
{
title: 'MDGF截止',
align: 'center',
width: '150',
field: 'mdgF_CUT_DATE'
},
{
title: '航线',
align: 'center',
width: '100',
field: 'lanename'
},
{
title: '重量(KGS)',
align: 'center',
width: '100',
sortable: true,
field: 'WEIGHKGS'
},
{
title: '创建日期',
align: 'center',
sortable: true,
width: '150',
field: 'createdTime'
},
{
title: '创建人',
align: 'center',
width: '100',
field: 'createdUserName'
},
{
title: '更新日期',
align: 'center',
width: '150',
sortable: true,
field: 'updatedTime'
},
{
title: '更新人',
align: 'center',
width: '100',
field: 'updatedUserName'
},
{
title: 'VGM回执',
align: 'center',
width: '100',
field: 'VGM_RLT_STAT'
},
{
title: 'SI回执',
align: 'center',
width: '100',
field: 'SI_RLT_STAT'
},
{
title: '提箱',
align: 'center',
width: '100',
field: 'TAKE_CTN_RLT_STAT'
},
{
title: '还箱',
align: 'center',
width: '100',
field: 'RETURN_CTN_RLT_STAT'
},
{
title: '预甩',
align: 'center',
width: '100',
field: 'NOMINATION_RLT_STAT'
},
{
title: '舱位变更',
align: 'center',
width: '100',
field: 'AMENDMENT_RLT_STAT'
},
{
title: '舱位取消',
align: 'center',
width: '100',
field: 'CANCELLATION_RLT_STAT'
},
{
title: '卸船未提货',
align: 'center',
width: '100',
field: 'DISCHARGE_FULL_RLT_STAT'
},
{
title: '提箱未还空箱',
align: 'center',
width: '150',
field: 'GATE_OUTFULL_RLT_STAT'
},
{
title: '费用信息',
align: 'center',
width: '100',
field: 'typeCode'
},
{
title: '操作',
align: 'center',
field: 'caozuo',
slots: { default: 'caozuo' },
width: 100,
fixed: 'right'
}
],
columnsAll: [
{
type: 'checkbox',
width: 60,
noDraggable: true,
fixed: 'left'
},
{
title: '订舱编号',
align: 'center',
width: '160',
field: 'sloT_BOOKING_NO',
fixed: 'left'
},
{
title: '船名/航次',
align: 'center',
width: '100',
field: 'vessel',
fixed: 'left',
slots: { default: 'vessel' }
},
{
title: '船公司',
align: 'center',
width: '100',
field: 'carrier',
fixed: 'left'
},
{
title: '合约号',
align: 'center',
width: '100',
field: 'contracT_NO',
fixed: 'left'
},
{
title: '承运模式',
align: 'center',
width: '100',
field: 'carriagE_TYPE_NAME',
fixed: 'left'
},
{
title: '订舱方式',
align: 'center',
width: '100',
field: 'bookinG_SLOT_TYPE_NAME',
fixed: 'left' fixed: 'left'
}, },
{
title: 'ETD',
align: 'center',
width: '100',
field: 'etd',
fixed: 'left',
sortable: true,
slots: { default: 'etd' }
},
{
title: 'ETA',
align: 'center',
width: '100',
field: 'eta',
sortable: true,
fixed: 'left',
slots: { default: 'eta' }
},
{ {
title: 'CANCELLATION', title: 'CANCELLATION',
align: 'center', align: 'center',
width: '150', width: '150',
dataIndex: 'iS_CANCELLATION' field: 'iS_CANCELLATION',
slots: { default: 'iS_CANCELLATION' }
}, },
{ {
title: '装货地', title: '装货地',
align: 'center', align: 'center',
width: '180', width: '180',
dataIndex: 'placereceipt' field: 'placereceipt'
}, },
{ {
title: '收货地', title: '收货地',
align: 'center', align: 'center',
width: '180', width: '180',
dataIndex: 'placedelivery' field: 'placedelivery'
}, },
{ {
title: '箱型箱量', title: '箱型箱量',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'ctN_STAT' field: 'ctN_STAT'
}, },
{ {
title: 'WEEK', title: 'WEEK',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'weeK_AT' field: 'weeK_AT'
}, },
{ {
title: '装货港名称', title: '装货港名称',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'portload' field: 'portload'
}, },
{ {
title: '卸货港名称', title: '卸货港名称',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'portdischarge' field: 'portdischarge'
}, },
{ {
title: '样单截止时间', title: '样单截止时间',
align: 'center', align: 'center',
width: '150', width: '150',
dataIndex: 'sI_CUT_DATE' sortable: true,
field: 'sI_CUT_DATE'
}, },
{ {
title: 'VGM截止时间', title: 'VGM截止时间',
align: 'center', align: 'center',
width: '150', width: '150',
dataIndex: 'vgM_SUBMISSION_CUT_DATE' sortable: true,
field: 'vgM_SUBMISSION_CUT_DATE'
}, },
{ {
title: '截港时间', title: '截港时间',
align: 'center', align: 'center',
width: '150', width: '150',
dataIndex: 'cY_CUT_DATE' sortable: true,
field: 'cY_CUT_DATE'
}, },
{ {
title: '入港清单截止', title: '入港清单截止',
align: 'center', align: 'center',
width: '150', width: '150',
dataIndex: 'manifesT_CUT_DATE' field: 'manifesT_CUT_DATE'
}, },
{ {
title: 'MDGF截止', title: 'MDGF截止',
align: 'center', align: 'center',
width: '150', width: '150',
dataIndex: 'mdgF_CUT_DATE' field: 'mdgF_CUT_DATE'
}, },
{ {
title: '航线', title: '航线',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'lanename' field: 'lanename'
}, },
{ {
title: '重量(KGS)', title: '重量(KGS)',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'WEIGHKGS' sortable: true,
field: 'WEIGHKGS'
}, },
{ {
title: '创建日期', title: '创建日期',
align: 'center', align: 'center',
sortable: true,
width: '150', width: '150',
dataIndex: 'createdTime' field: 'createdTime'
}, },
{ {
title: '创建人', title: '创建人',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'createdUserName' field: 'createdUserName'
}, },
{ {
title: '更新日期', title: '更新日期',
align: 'center', align: 'center',
width: '150', width: '150',
dataIndex: 'updatedTime' sortable: true,
field: 'updatedTime'
}, },
{ {
title: '更新人', title: '更新人',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'updatedUserName' field: 'updatedUserName'
}, },
{ {
title: 'VGM回执', title: 'VGM回执',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'VGM_RLT_STAT' field: 'VGM_RLT_STAT'
}, },
{ {
title: 'SI回执', title: 'SI回执',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'SI_RLT_STAT' field: 'SI_RLT_STAT'
}, },
{ {
title: '提箱', title: '提箱',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'TAKE_CTN_RLT_STAT' field: 'TAKE_CTN_RLT_STAT'
}, },
{ {
title: '还箱', title: '还箱',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'RETURN_CTN_RLT_STAT' field: 'RETURN_CTN_RLT_STAT'
}, },
{ {
title: '预甩', title: '预甩',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'NOMINATION_RLT_STAT' field: 'NOMINATION_RLT_STAT'
}, },
{ {
title: '舱位变更', title: '舱位变更',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'AMENDMENT_RLT_STAT' field: 'AMENDMENT_RLT_STAT'
}, },
{ {
title: '舱位取消', title: '舱位取消',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'CANCELLATION_RLT_STAT' field: 'CANCELLATION_RLT_STAT'
}, },
{ {
title: '卸船未提货', title: '卸船未提货',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'DISCHARGE_FULL_RLT_STAT' field: 'DISCHARGE_FULL_RLT_STAT'
}, },
{ {
title: '提箱未还空箱', title: '提箱未还空箱',
align: 'center', align: 'center',
width: '150', width: '150',
dataIndex: 'GATE_OUTFULL_RLT_STAT' field: 'GATE_OUTFULL_RLT_STAT'
}, },
{ {
title: '费用信息', title: '费用信息',
align: 'center', align: 'center',
width: '100', width: '100',
dataIndex: 'typeCode' field: 'typeCode'
},
{
title: '操作',
align: 'center',
field: 'caozuo',
slots: { default: 'caozuo' },
width: 100,
fixed: 'right'
} }
], ],
sortMixinForm: {
column: 'Cabin_list_column',
setting: 'CabinSetting',
sort: 'Cabin_sort',
page: 'Cabin_page',
type: 'Cabin',
sortField: 'etd'
},
tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' }, tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' },
// Promise // Promise
loadData: [] loadData: []
@ -738,7 +1023,7 @@ export default {
}, },
created() { }, created() { },
mounted() { mounted() {
this.FnGetData() this.getConfigStart()
GetProjectList().then(res => { GetProjectList().then(res => {
res.data.forEach(item => { res.data.forEach(item => {
item.isYield = false item.isYield = false
@ -746,11 +1031,11 @@ export default {
this.bookingServiceItem = res.data this.bookingServiceItem = res.data
}) })
GetSysUserPage().then(res => { GetSysUserPage().then(res => {
this.UserList = res.data this.UserList = res.data
}) })
DjyCustomerSuggest({ keyword: '', type: 'consignor' }).then(res => { DjyCustomerSuggest({ keyword: '', type: 'consignor' }).then(res => {
this.CustomerList = res.data.rows this.CustomerList = res.data.rows
}) })
}, },
methods: { methods: {
FnTurnD(data) { FnTurnD(data) {
@ -771,17 +1056,23 @@ export default {
ImportSlotFromFile(formData, (percent) => this.setUploadProcess(percent)).then((res) => { ImportSlotFromFile(formData, (percent) => this.setUploadProcess(percent)).then((res) => {
if (res.data.succ) { if (res.data.succ) {
this.$message.success('上传成功') this.$message.success('上传成功')
this.FnGetData() this.getList()
} else { } else {
this.$message.error('上传失败:' + res.data.msg) this.$message.error('上传失败:' + res.data.msg)
} }
}) })
}, },
checkboxChangeEvent() {
console.log('== 选中,取消选中 ==', this.$refs.table.getCheckboxRecords())
},
toggleAdvanced() { toggleAdvanced() {
this.advanced = !this.advanced this.advanced = !this.advanced
}, },
handledbclick(row) {
this.handleEdit(row.row.id)
},
handleSendAll() { handleSendAll() {
const select = this.$refs.xTable.getCheckboxRecords() const select = this.$refs.table.getCheckboxRecords()
const pkIdArr = select.map((item, index) => { const pkIdArr = select.map((item, index) => {
return item.id return item.id
}) })
@ -814,9 +1105,9 @@ export default {
this.form = {} this.form = {}
}, },
handlePageChange({ currentPage, pageSize }) { handlePageChange({ currentPage, pageSize }) {
this.queryParam.currentPage = currentPage this.queryParam.PageNo = currentPage
this.queryParam.pageSize = pageSize this.queryParam.pageSize = pageSize
this.FnGetData() this.getList()
}, },
SearchCustomer(e) { SearchCustomer(e) {
DjyCustomerSuggest({ keyword: e, type: 'consignor' }).then(res => { DjyCustomerSuggest({ keyword: e, type: 'consignor' }).then(res => {
@ -841,19 +1132,19 @@ export default {
this.fetching = false this.fetching = false
}) })
}, },
FnGetData() { getList() {
this.loading = true this.loading = true
this.form.pageSize = this.queryParam.pageSize this.form.pageSize = this.queryParam.pageSize
this.form.PageNo = this.queryParam.currentPage this.form.PageNo = this.queryParam.PageNo
if (this.form.ctN_STAT) { if (this.form.ctN_STAT) {
this.form.ctN_STAT = this.form.ctN_STAT.join(',') this.form.ctN_STAT = this.form.ctN_STAT.join(',')
} }
BookingSlotPage(this.form).then(res => { BookingSlotPage(this.form).then(res => {
if (res.success) { if (res.success) {
this.loadData = res.data.rows this.loadData = res.data.rows
this.queryParam.currentPage = res.data.pageNo this.queryParam.PageNo = res.data.pageNo
this.queryParam.pageSize = res.data.pageSize this.queryParam.pageSize = res.data.pageSize
this.queryParam.totalResult = res.data.totalRows this.queryParam.totalCount = res.data.totalRows
} else { } else {
this.$message.error(res.message) this.$message.error(res.message)
} }
@ -871,7 +1162,7 @@ export default {
BookingSlotDelete(record).then(res => { BookingSlotDelete(record).then(res => {
if (res.success) { if (res.success) {
this.$message.success('删除成功') this.$message.success('删除成功')
this.FnGetData() this.getList()
} else { } else {
this.$message.error(`删除失败,${res.message}`) this.$message.error(`删除失败,${res.message}`)
} }
@ -924,7 +1215,7 @@ export default {
}) })
}, },
handleOk() { handleOk() {
this.FnGetData() this.getList()
}, },
handleAdd() { handleAdd() {
this.$router.push({ this.$router.push({
@ -959,6 +1250,7 @@ export default {
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@import url('../BookingLedger/detail/style/rightContent.less'); @import url('../BookingLedger/detail/style/rightContent.less');
.table-operator { .table-operator {
margin-bottom: 18px; margin-bottom: 18px;
} }
@ -1092,7 +1384,8 @@ button {
} }
} }
} }
/deep/ .ant-form-item{
/deep/ .ant-form-item {
margin-bottom: 0px !important; margin-bottom: 0px !important;
} }
</style> </style>

@ -115,7 +115,7 @@
> >
<a-icon type="delete" :style="{ color: '#13c2c2' }" /> <a-icon type="delete" :style="{ color: '#13c2c2' }" />
</a-popconfirm> </a-popconfirm>
<i @click="handleAdd(row)" style="cursor: pointer;" title="设置客户参数" class="iconfont icon-jiahao2fill" :style="{ color: '#13c2c2' }"></i> <a-icon @click="handleAdd(row)" title="设置客户参数" type="snippets" :style="{ color: '#13c2c2' }" />
</div> </div>
</template> </template>
</vxe-column> </vxe-column>

@ -354,7 +354,7 @@
匹配已有订舱 匹配已有订舱
</a-radio> </a-radio>
</a-radio-group> </a-radio-group>
<a-checkbox style="margin-top: 10px;" v-model="CreateData.isDirectSend"></a-checkbox> <!-- <a-checkbox style="margin-top: 10px;" v-model="CreateData.isDirectSend"></a-checkbox> -->
<p class="modaltitle">订舱录入</p> <p class="modaltitle">订舱录入</p>
<a-form class="Editing"> <a-form class="Editing">
<a-row> <a-row>

@ -311,7 +311,7 @@
匹配已有订舱 匹配已有订舱
</a-radio> </a-radio>
</a-radio-group> </a-radio-group>
<a-checkbox style="margin-top: 10px;" v-model="CreateData.isDirectSend"></a-checkbox> <!-- <a-checkbox style="margin-top: 10px;" v-model="CreateData.isDirectSend"></a-checkbox> -->
<p class="modaltitle">订舱录入</p> <p class="modaltitle">订舱录入</p>
<a-form class="Editing"> <a-form class="Editing">
<a-row> <a-row>

@ -556,6 +556,18 @@ export default {
shareGetinfo(ApiData).then(res => { shareGetinfo(ApiData).then(res => {
if (res.data.succ) { if (res.data.succ) {
this.form = res.data.ext this.form = res.data.ext
if (!this.form.from) {
this.form.from = {}
}
if (!this.form.to) {
this.form.to = {}
}
if (!this.form.rollingPlanList) {
this.form.rollingPlanList = []
}
if (!this.form.loadDetailList) {
this.form.loadDetailList = []
}
this.$forceUpdate() this.$forceUpdate()
} else { } else {
this.$message.error(res.data.msg) this.$message.error(res.data.msg)

@ -111,7 +111,7 @@ export default {
form: this.$form.createForm(this), form: this.$form.createForm(this),
TenantData: [], TenantData: [],
ItemData: [], ItemData: [],
ItemCodeDisabled: true, ItemCodeDisabled: false,
YWData: [] YWData: []
} }
}, },

@ -138,8 +138,10 @@ export default {
}) })
if (e) { if (e) {
this.ItemCodeDisabled = false this.ItemCodeDisabled = false
this.ItemCodeLoad = true
ParamItemList({ paraCode: e }).then(res => { ParamItemList({ paraCode: e }).then(res => {
this.ItemData = res.data this.ItemData = res.data
this.ItemCodeLoad = false
}) })
} }
}, },
@ -155,6 +157,7 @@ export default {
console.log(record) console.log(record)
this.data = record this.data = record
this.visible = true this.visible = true
this.FnChangeTypeCode(record.paraCode)
DjyCustomerSuggest().then(res => { DjyCustomerSuggest().then(res => {
this.TenantData = res.data.rows this.TenantData = res.data.rows
}) })

@ -186,7 +186,7 @@
<a-button @click="visible = false">关闭</a-button> <a-button @click="visible = false">关闭</a-button>
</template> </template>
</a-modal> </a-modal>
<a-modal title="邮箱解析器执行配置" width="800px" @ok="handleSaveAdd" @cancel="addSettingFlag = false" :visible="addSettingFlag"> <a-modal title="邮箱解析器执行配置" width="1200px" @ok="handleSaveAdd" @cancel="addSettingFlag = false" :visible="addSettingFlag">
<div style="display: flex;align-items: center;margin-bottom: 20px;"> <div style="display: flex;align-items: center;margin-bottom: 20px;">
检索:<a-input style="width: 50%;margin: 0 10px;" v-model="addSearch" /> 检索:<a-input style="width: 50%;margin: 0 10px;" v-model="addSearch" />
<a-button type="primary" @click="handleSeachAdd"></a-button> <a-button type="primary" @click="handleSeachAdd"></a-button>
@ -197,7 +197,6 @@
onChange: onSelectChange, onChange: onSelectChange,
type: 'radio', type: 'radio',
}" }"
style="width: 100%;"
:pagination="false" :pagination="false"
:loading="addLoading" :loading="addLoading"
:columns="addColumns" :columns="addColumns"

Loading…
Cancel
Save