马士基订舱

master
sunzehua 5 months ago
parent 4928898631
commit 2372dfa32d

@ -11,8 +11,8 @@ VUE_APP_TYPE = 'gangjie'
# 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
@ -23,8 +23,8 @@ VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:35100
# 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

@ -200,9 +200,15 @@
<div class="box" v-for="(item, index) in shipData" :key="index"> <div class="box" v-for="(item, index) in shipData" :key="index">
<div class="left" style="width: 100%;"> <div class="left" style="width: 100%;">
<div class="top"> <div class="top">
<span class="top-text">{{ item.orignCityName }},{{ item.originRegionName }},{{ item.originCountryName }}</span> <span class="top-text">
{{ item.orignCityName }}<span v-if="item.originRegionName" >,</span>
{{ item.originRegionName }}<span v-if="item.originCountryName" >,</span>
{{ item.originCountryName }}</span>
<img style="margin: 0 15px;" src="../../assets/icons/u92.svg" alt=""> <img style="margin: 0 15px;" src="../../assets/icons/u92.svg" alt="">
<span class="top-text">{{ item.deliveryCityName }},{{ item.deliveryRegionName }},{{ item.deliveryCountryName }}</span> <span class="top-text">
{{ item.deliveryCityName }}<span v-if="item.deliveryCityName" >,</span>
{{ item.deliveryRegionName }}<span v-if="item.deliveryRegionName" >,</span>
{{ item.deliveryCountryName }}</span>
<span style="margin-left:30px;margin-right: 10px;color: black;color: rgb(2, 167, 240);font-weight: bold">{{ item.totalCurrency <span style="margin-left:30px;margin-right: 10px;color: black;color: rgb(2, 167, 240);font-weight: bold">{{ item.totalCurrency
}}</span> }}</span>
<span style="color: black;color: rgb(2, 167, 240);font-weight: bold">{{ item.totalAmountShow }}</span> <span style="color: black;color: rgb(2, 167, 240);font-weight: bold">{{ item.totalAmountShow }}</span>
@ -241,13 +247,17 @@
<div v-for="(ite, index1) in item.legs" :key="index1" style="margin-top: 10px;"> <div v-for="(ite, index1) in item.legs" :key="index1" style="margin-top: 10px;">
<a-tag color="green">{{ index1 + 1 }}</a-tag> <a-tag color="green">{{ index1 + 1 }}</a-tag>
<img style="margin: 0 10px 0 0" src="../../assets/icons/u1041.svg" alt=""> <img style="margin: 0 10px 0 0" src="../../assets/icons/u1041.svg" alt="">
<span style="margin-right: 5px;display: inline-block;width: 240px;">{{ ite.from.cityName }},{{ <span style="margin-right: 5px;display: inline-block;width: 240px;">
ite.from.regionName }},{{ ite.from.countryName }}</span> {{ ite.from.cityName }}<span v-if="ite.from.regionName" >,</span>
{{ ite.from.regionName }}<span v-if="ite.from.countryName">,</span>
{{ ite.from.countryName }}</span>
<span><span style="font-weight: bold;color: black" >ETD</span>{{ ite.etd }}</span> <span><span style="font-weight: bold;color: black" >ETD</span>{{ ite.etd }}</span>
<span style="margin: 0 10px;">--------</span> <span style="margin: 0 10px;">--------</span>
<img style="margin: 0 10px" src="../../assets/icons/u1041.svg" alt=""> <img style="margin: 0 10px" src="../../assets/icons/u1041.svg" alt="">
<span style="margin-right: 10px;display: inline-block;width: 240px;">{{ ite.to.cityName }},{{ ite.to.regionName <span style="margin-right: 10px;display: inline-block;width: 240px;">
}},{{ ite.to.countryName }}</span> {{ ite.to.cityName }}<span v-if="ite.to.regionName" >,</span>
{{ ite.to.regionName}}<span v-if="ite.to.regionName" >,</span>
{{ ite.to.countryName }}</span>
<span><span style="font-weight: bold;color: black" >ETA</span>{{ ite.eta }}</span> <span><span style="font-weight: bold;color: black" >ETA</span>{{ ite.eta }}</span>
</div> </div>
</div> </div>
@ -428,9 +438,15 @@
<div class="box" v-for="(item, index) in shipList" :key="index"> <div class="box" v-for="(item, index) in shipList" :key="index">
<div class="left"> <div class="left">
<div class="top"> <div class="top">
<span class="top-text">{{ item.orignCityName }},{{ item.originRegionName }},{{ item.originCountryName }}</span> <span class="top-text">
{{ item.orignCityName }}<span v-if="item.originRegionName" >,</span>
{{ item.originRegionName }}<span v-if="item.originCountryName" >,</span>
{{ item.originCountryName }}</span>
<img style="margin: 0 15px;" src="../../assets/icons/u92.svg" alt=""> <img style="margin: 0 15px;" src="../../assets/icons/u92.svg" alt="">
<span class="top-text">{{ item.deliveryCityName }},{{ item.deliveryRegionName }},{{ item.deliveryCountryName }}</span> <span class="top-text">
{{ item.deliveryCityName }}<span v-if="item.deliveryRegionName" >,</span>
{{ item.deliveryRegionName }}<span v-if="item.deliveryCountryName" >,</span>
{{ item.deliveryCountryName }}</span>
<span style="margin-left:30px;margin-right: 10px;color: black;color: rgb(2, 167, 240);font-weight: bold">{{ item.totalCurrency }}</span> <span style="margin-left:30px;margin-right: 10px;color: black;color: rgb(2, 167, 240);font-weight: bold">{{ item.totalCurrency }}</span>
<span style="color: black;color: rgb(2, 167, 240);font-weight: bold">{{ item.totalAmountShow }}</span> <span style="color: black;color: rgb(2, 167, 240);font-weight: bold">{{ item.totalAmountShow }}</span>
</div> </div>
@ -468,13 +484,17 @@
<div v-for="(ite, index1) in item.legs" :key="index1" style="margin-top: 10px;"> <div v-for="(ite, index1) in item.legs" :key="index1" style="margin-top: 10px;">
<a-tag color="green">{{ index1 + 1 }}</a-tag> <a-tag color="green">{{ index1 + 1 }}</a-tag>
<img style="margin: 0 10px 0 0" src="../../assets/icons/u1041.svg" alt=""> <img style="margin: 0 10px 0 0" src="../../assets/icons/u1041.svg" alt="">
<span style="margin-right: 5px;display: inline-block;width:220px">{{ ite.from.cityName }},{{ <span style="margin-right: 5px;display: inline-block;width:220px">
ite.from.regionName }},{{ ite.from.countryName }}</span> {{ ite.from.cityName }}<span v-if="ite.from.regionName" >,</span>
{{ite.from.regionName }}<span v-if="ite.from.countryName" >,</span>
{{ ite.from.countryName }}</span>
<span><span style="font-weight: bold;color: black" >ETD</span>{{ ite.etd }}</span> <span><span style="font-weight: bold;color: black" >ETD</span>{{ ite.etd }}</span>
<span style="margin: 0 10px;">--------</span> <span style="margin: 0 10px;">--------</span>
<img style="margin: 0 10px" src="../../assets/icons/u1041.svg" alt=""> <img style="margin: 0 10px" src="../../assets/icons/u1041.svg" alt="">
<span style="margin-right: 10px;display: inline-block;min-width: 240px">{{ ite.to.cityName }},{{ <span style="margin-right: 10px;display: inline-block;min-width: 240px">
ite.to.regionName }},{{ ite.to.countryName }}</span> {{ ite.to.cityName }}<span v-if="ite.to.regionName" >,</span>
{{ite.to.regionName }}<span v-if="ite.to.countryName" >,</span>
{{ ite.to.countryName }}</span>
<span><span style="font-weight: bold;color: black" >ETA</span>{{ ite.eta }}</span> <span><span style="font-weight: bold;color: black" >ETA</span>{{ ite.eta }}</span>
</div> </div>
</div> </div>

@ -153,13 +153,8 @@
</a-col> </a-col>
<a-col :span="4"> <a-col :span="4">
<a-form-item label="船公司"> <a-form-item label="船公司">
<a-select <a-select show-search placeholder="请选择船公司" v-model="form.carrierId" :show-arrow="false"
show-search :filter-option="filterOption">
placeholder="请选择船公司"
v-model="form.carrierId"
:show-arrow="false"
:filter-option="filterOption"
>
<a-select-option v-for="item in carrierList" :key="item.code" :value="item.code"> <a-select-option v-for="item in carrierList" :key="item.code" :value="item.code">
{{ item.cnName }} / {{ item.code }} {{ item.cnName }} / {{ item.code }}
</a-select-option> </a-select-option>
@ -175,46 +170,23 @@
<div> <div>
<a-button type="primary" @click="handleAdd" style="margin-right: 10px;">新增</a-button> <a-button type="primary" @click="handleAdd" style="margin-right: 10px;">新增</a-button>
<a-button type="primary" @click="handleOpenCopy" style="margin-right: 10px;">批量复制</a-button> <a-button type="primary" @click="handleOpenCopy" style="margin-right: 10px;">批量复制</a-button>
<a-button <a-button type="primary" :loading="sendLoading" @click="handleSendAll"
type="primary"
:loading="sendLoading"
@click="handleSendAll"
style="margin-right: 10px;">批量发送</a-button> style="margin-right: 10px;">批量发送</a-button>
</div> </div>
<div> <div>
<a-button type="primary" @click="FnGetData"></a-button> <a-button type="primary" @click="FnGetData"></a-button>
<a-button style="margin-left: 8px" @click="init"></a-button> <a-button style="margin-left: 8px" @click="init"></a-button>
<tableSort <tableSort style="margin-left: 10px;" @columnChange="handleColumnChange" :columns="columns"
style="margin-left: 10px;"
@columnChange="handleColumnChange"
:columns="columns"
:columnsAll="columnsAll"></tableSort> :columnsAll="columnsAll"></tableSort>
</div> </div>
</div> </div>
<vxe-grid <vxe-grid :data="loadData" stripe resizable round ref="table" :columns="columns" :loading="loading"
:data="loadData" style="height: 100%;" :checkbox_config="{ checkField: 'checked' }" :checkbox-config="{ highlight: true }"
stripe :height="tableHeight" @cell-dblclick="handledbclick" @sort-change="tableSortChange"
resizable @resizable-change="resizableChange" @checkbox-change="checkboxChangeEvent" empty-text="没有更多数据了!">
round
ref="table"
:columns="columns"
:loading="loading"
style="height: 100%;"
:checkbox_config="{ checkField: 'checked' }"
:checkbox-config="{ highlight: true }"
:height="tableHeight"
@cell-dblclick="handledbclick"
@sort-change="tableSortChange"
@resizable-change="resizableChange"
@checkbox-change="checkboxChangeEvent"
empty-text="没有更多数据了!">
<template #caozuo="{ row }"> <template #caozuo="{ row }">
<a-icon @click="handleEdit(row)" type="form" style="cursor: pointer;" :style="{ color: '#13c2c2' }" /> <a-icon @click="handleEdit(row)" type="form" style="cursor: pointer;" :style="{ color: '#13c2c2' }" />
<a-popconfirm <a-popconfirm title="请确认删除?" ok-text="" cancel-text="" @confirm="e => {
title="请确认删除?"
ok-text="是"
cancel-text="否"
@confirm="e => {
confirm(e, row.id) confirm(e, row.id)
} }
"> ">
@ -231,29 +203,18 @@
<span>{{ row.shipRateTotalCurrency }} {{ row.shipRateTotalAmount }}</span> <span>{{ row.shipRateTotalCurrency }} {{ row.shipRateTotalAmount }}</span>
</template> </template>
<template #isRecvBC="{ row }"> <template #isRecvBC="{ row }">
<a-icon <a-icon type="bulb" theme="filled" style="color: green;font-size: 16px;" :title="row.lstRecvBCDate"
type="bulb"
theme="filled"
style="color: green;font-size: 16px;"
:title="row.lstRecvBCDate"
v-if="row.isRecvBC" /> v-if="row.isRecvBC" />
</template> </template>
<template #isRecvBKCancel="{ row }"> <template #isRecvBKCancel="{ row }">
<a-icon <a-icon type="bulb" theme="filled" style="color: red;font-size: 16px;" :title="row.lstRecvBCDate"
type="bulb"
theme="filled"
style="color: red;font-size: 16px;"
:title="row.lstRecvBCDate"
v-if="row.isRecvBKCancel" /> v-if="row.isRecvBKCancel" />
</template> </template>
<template #isShipperOwned="{ row }"> <template #isShipperOwned="{ row }">
<a-icon v-if="row.isShipperOwned" type="check-circle" style="color: green;font-size: 16px;" theme="filled" /> <a-icon v-if="row.isShipperOwned" type="check-circle" style="color: green;font-size: 16px;" theme="filled" />
</template> </template>
<template #pager> <template #pager>
<vxe-pager <vxe-pager :current-page="queryParam.pageNo" :page-size="queryParam.pageSize" :total="queryParam.totalResult"
:current-page="queryParam.pageNo"
:page-size="queryParam.pageSize"
:total="queryParam.totalResult"
:page-sizes="[10, 50, 100, 200, 500]" :page-sizes="[10, 50, 100, 200, 500]"
:layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']" :layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
@page-change="handlePageChange"> @page-change="handlePageChange">
@ -266,11 +227,7 @@
<a-modal title="输入复制数量" :visible="copyflag" :footer="null" @cancel="copyflag = false"> <a-modal title="输入复制数量" :visible="copyflag" :footer="null" @cancel="copyflag = false">
<a-form :form="copyMoreForm" :label-col="{ span: 5 }" :wrapper-col="{ span: 12 }" @submit="handleSubmitCopyMore"> <a-form :form="copyMoreForm" :label-col="{ span: 5 }" :wrapper-col="{ span: 12 }" @submit="handleSubmitCopyMore">
<a-form-item label="数量"> <a-form-item label="数量">
<a-input-number <a-input-number style="width: 100%;" :min="1" :max="50" :precision="0"
style="width: 100%;"
:min="1"
:max="50"
:precision="0"
v-decorator="['number', { rules: [{ required: true, message: '请输入数量' }], initialValue: 1 }]" /> v-decorator="['number', { rules: [{ required: true, message: '请输入数量' }], initialValue: 1 }]" />
</a-form-item> </a-form-item>
<a-form-item :wrapper-col="{ span: 12, offset: 5 }"> <a-form-item :wrapper-col="{ span: 12, offset: 5 }">
@ -281,7 +238,7 @@
</a-modal> </a-modal>
<a-modal title="" :visible="addFlag" :footer="null" @cancel="addFlag = false"> <a-modal title="" :visible="addFlag" :footer="null" @cancel="addFlag = false">
<div class="change"> <div class="change">
<div @click="handleOpen('api')" v-if="mskApiFlag" >MSKAPI订</div> <div @click="handleOpen('api')" v-if="mskApiFlag">MSKAPI</div>
<div @click="handleOpen('spot')" v-if="mskSpotFlag">MSKSPOT</div> <div @click="handleOpen('spot')" v-if="mskSpotFlag">MSKSPOT</div>
<div @click="handleOpen('eid')" v-if="mskEdiFlag">MSKEID</div> <div @click="handleOpen('eid')" v-if="mskEdiFlag">MSKEID</div>
</div> </div>
@ -289,7 +246,8 @@
</div> </div>
</template> </template>
<script> <script>
import { mskGetPage, mskDelete, DjyUserConfigMulti, maskCopy, maskCopySPOT, import {
mskGetPage, mskDelete, DjyUserConfigMulti, maskCopy, maskCopySPOT,
BatchSend, CheckWarningBatchSend, CheckWarningBatchCopy, BatchSendSPOT BatchSend, CheckWarningBatchSend, CheckWarningBatchCopy, BatchSendSPOT
} from '@/api/modular/main/BookingLedger' } from '@/api/modular/main/BookingLedger'
import columnSetting from '@/components/tableColumnSetting' import columnSetting from '@/components/tableColumnSetting'
@ -616,6 +574,7 @@ export default {
if (select[0].bookingChannelType === 'SPOT_API') { if (select[0].bookingChannelType === 'SPOT_API') {
this.$refs.mskBookingOrder.spotInit(pkIdArr[0], 'copy', this.copyMoreForm.getFieldValue('number'), pkIdArr[0]) this.$refs.mskBookingOrder.spotInit(pkIdArr[0], 'copy', this.copyMoreForm.getFieldValue('number'), pkIdArr[0])
} }
this.copyflag = false
}, },
handleSendAll() { handleSendAll() {
const select = this.$refs.table.getCheckboxRecords() const select = this.$refs.table.getCheckboxRecords()
@ -1110,9 +1069,16 @@ export default {
handleAdd() { handleAdd() {
if (this.tenantParam.length === 0) { if (this.tenantParam.length === 0) {
this.$refs.mskBookingOrder.init() this.$refs.mskBookingOrder.init()
} else {
this.addFlag = true
} }
if (this.tenantParam.length === 1) {
if (this.tenantParam[0] === 'MSK_CON_API') {
this.$refs.mskBookingOrder.init()
}
if (this.tenantParam[0] === 'MSK_SPOT_API') {
this.$refs.mskBookingOrder.spotInit()
}
}
if (this.tenantParam.length > 1) {
if (this.tenantParam.includes('MSK_CON_API')) { if (this.tenantParam.includes('MSK_CON_API')) {
this.mskApiFlag = true this.mskApiFlag = true
} else { } else {
@ -1128,6 +1094,8 @@ export default {
} else { } else {
this.mskEdiFlag = false this.mskEdiFlag = false
} }
this.addFlag = true
}
} }
} }
} }
@ -1172,11 +1140,12 @@ export default {
display: flex; display: flex;
justify-content: center; justify-content: center;
margin-top: 25px; margin-top: 25px;
div { div {
width: 120px; width: 120px;
height: 50px; height: 50px;
background-color: rgb(247,249,250); background-color: rgb(247, 249, 250);
border: 1px solid rgb(247,249,250); border: 1px solid rgb(247, 249, 250);
color: rgb(105, 102, 102); color: rgb(105, 102, 102);
line-height: 50px; line-height: 50px;
text-align: center; text-align: center;
@ -1184,6 +1153,7 @@ export default {
transition: box-shadow 0.3s, background-color 0.3s; transition: box-shadow 0.3s, background-color 0.3s;
margin-right: 10px; margin-right: 10px;
} }
div:hover { div:hover {
border: 1px solid #d1cfcf; border: 1px solid #d1cfcf;
} }

Loading…
Cancel
Save