|
|
|
@ -2,8 +2,7 @@
|
|
|
|
|
<div class="operation-area">
|
|
|
|
|
<a-card
|
|
|
|
|
:bordered="false"
|
|
|
|
|
:bodyStyle="{ 'padding-top': ' 6px', 'padding-left': '5px', 'padding-bottom': '0px', 'margin-bottom': '4px' }"
|
|
|
|
|
>
|
|
|
|
|
:bodyStyle="{ 'padding-top': ' 6px', 'padding-left': '5px', 'padding-bottom': '0px', 'margin-bottom': '4px' }">
|
|
|
|
|
<div class="btn-list more-view">
|
|
|
|
|
<a-popconfirm
|
|
|
|
|
placement="bottom"
|
|
|
|
@ -11,8 +10,7 @@
|
|
|
|
|
ok-text="是"
|
|
|
|
|
cancel-text="否"
|
|
|
|
|
@confirm="refreshPage"
|
|
|
|
|
@cancel="cancelRefresh"
|
|
|
|
|
>
|
|
|
|
|
@cancel="cancelRefresh">
|
|
|
|
|
<button><span class="iconfont icon-shuaxin" :style="{ fontSize: '17px' }"></span>刷新</button>
|
|
|
|
|
</a-popconfirm>
|
|
|
|
|
<button @click="copyBooking"><span class="iconfont icon-fuzhi1"></span>复制</button>
|
|
|
|
@ -34,9 +32,8 @@
|
|
|
|
|
ok-text="是"
|
|
|
|
|
cancel-text="否"
|
|
|
|
|
@visibleChange="handleVisibleChange1"
|
|
|
|
|
@confirm="openModel('vgm')"
|
|
|
|
|
>
|
|
|
|
|
<button ><span class="iconfont icon-dingdan"></span>VGM</button>
|
|
|
|
|
@confirm="openModel('vgm')">
|
|
|
|
|
<button><span class="iconfont icon-dingdan"></span>VGM</button>
|
|
|
|
|
</a-popconfirm>
|
|
|
|
|
<button @click="openModel('trace')">
|
|
|
|
|
<span class="iconfont icon-yunshu1" style="font-size:18px;"></span>运踪
|
|
|
|
@ -47,9 +44,8 @@
|
|
|
|
|
ok-text="是"
|
|
|
|
|
cancel-text="否"
|
|
|
|
|
@visibleChange="handleVisibleChange"
|
|
|
|
|
@confirm="openPreOrderFun"
|
|
|
|
|
>
|
|
|
|
|
<button >
|
|
|
|
|
@confirm="openPreOrderFun">
|
|
|
|
|
<button>
|
|
|
|
|
<span class="iconfont icon-yunshu1" style="font-size:18px;"></span>舱单
|
|
|
|
|
</button>
|
|
|
|
|
</a-popconfirm>
|
|
|
|
@ -67,19 +63,16 @@
|
|
|
|
|
<button @click="openModel('vgmlink')"><span class="iconfont icon-lianjie"></span>VGM链接</button>
|
|
|
|
|
<button @click="TxxpLink"><span class="iconfont icon-dayinxiaopiao"></span>提箱小票</button>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="btn-list single-view-4">
|
|
|
|
|
<div class="btn-list single-view-4" :style="{ width: '90px' }">
|
|
|
|
|
<a-upload :file-list="fileList" :before-upload="beforeUpload" name="file" :customRequest="uploadFile">
|
|
|
|
|
<button @click="ShowOCR"><span class="iconfont icon-OCR"></span>OCR</button>
|
|
|
|
|
</a-upload>
|
|
|
|
|
<button @click="openModel('cabinSpace')">
|
|
|
|
|
引入舱位
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="btn-list single-view-1" :style="{ width: '110px' }">
|
|
|
|
|
<a-popconfirm
|
|
|
|
|
title="确定删除当前订舱?"
|
|
|
|
|
ok-text="是"
|
|
|
|
|
cancel-text="否"
|
|
|
|
|
@confirm="removeOrder"
|
|
|
|
|
@cancel="cancelRemove"
|
|
|
|
|
>
|
|
|
|
|
<a-popconfirm title="确定删除当前订舱?" ok-text="是" cancel-text="否" @confirm="removeOrder" @cancel="cancelRemove">
|
|
|
|
|
<button><span class="iconfont icon-shanchu1"></span>删除</button>
|
|
|
|
|
</a-popconfirm>
|
|
|
|
|
<button @click="addChild()" v-if="!details.hbList || details.hbList.length === 0">
|
|
|
|
@ -112,8 +105,7 @@
|
|
|
|
|
:confirmLoading="bookingModelconfirm"
|
|
|
|
|
:maskClosable="false"
|
|
|
|
|
@ok="handleModelSubmit"
|
|
|
|
|
@cancel="handleModelCancel"
|
|
|
|
|
>
|
|
|
|
|
@cancel="handleModelCancel">
|
|
|
|
|
<template v-if="['bookingSpace', 'cutOff'].includes(modelType)">
|
|
|
|
|
<a-form>
|
|
|
|
|
<a-row :gutter="16">
|
|
|
|
@ -123,8 +115,7 @@
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 6 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
class="ant-form-file"
|
|
|
|
|
>
|
|
|
|
|
class="ant-form-file">
|
|
|
|
|
<a-radio-group v-model="bookingModelFrom.fileRole">
|
|
|
|
|
<a-radio :style="radioStyle" :value="9"> 原始 </a-radio>
|
|
|
|
|
<a-radio :disabled="forwarderFlag" :style="radioStyle" :value="1"> 更新 </a-radio>
|
|
|
|
@ -136,18 +127,10 @@
|
|
|
|
|
</a-form>
|
|
|
|
|
<template slot="footer">
|
|
|
|
|
<a-button @click="handleModelCancel">关闭</a-button>
|
|
|
|
|
<a-button
|
|
|
|
|
type="primary"
|
|
|
|
|
@click="handleModelSubmit('save')"
|
|
|
|
|
:loading="EDISloading"
|
|
|
|
|
>保存 <template v-if="modelType === 'cutOff'">ESI</template><template v-else>EDI</template>文件</a-button
|
|
|
|
|
>
|
|
|
|
|
<a-button
|
|
|
|
|
type="primary"
|
|
|
|
|
@click="handleModelSubmit('send')"
|
|
|
|
|
:loading="EDIUloading"
|
|
|
|
|
>上传 <template v-if="modelType === 'cutOff'">ESI</template><template v-else>EDI</template></a-button
|
|
|
|
|
>
|
|
|
|
|
<a-button type="primary" @click="handleModelSubmit('save')" :loading="EDISloading">保存 <template
|
|
|
|
|
v-if="modelType === 'cutOff'">ESI</template><template v-else>EDI</template>文件</a-button>
|
|
|
|
|
<a-button type="primary" @click="handleModelSubmit('send')" :loading="EDIUloading">上传 <template
|
|
|
|
|
v-if="modelType === 'cutOff'">ESI</template><template v-else>EDI</template></a-button>
|
|
|
|
|
</template>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
@ -159,8 +142,7 @@
|
|
|
|
|
type="primary"
|
|
|
|
|
@click="removeModel"
|
|
|
|
|
:loading="DelLoading"
|
|
|
|
|
v-if="['initCabin'].includes(modelType) || ['ladingBill'].includes(modelType)"
|
|
|
|
|
>
|
|
|
|
|
v-if="['initCabin'].includes(modelType) || ['ladingBill'].includes(modelType)">
|
|
|
|
|
删除
|
|
|
|
|
</a-button>
|
|
|
|
|
<template v-if="modelType === 'initCabin' || modelType === 'ladingBill'">
|
|
|
|
@ -177,13 +159,7 @@
|
|
|
|
|
DOCX
|
|
|
|
|
</a-button> -->
|
|
|
|
|
</template>
|
|
|
|
|
<a-button
|
|
|
|
|
class="btn"
|
|
|
|
|
type="primary"
|
|
|
|
|
v-if="modelType == 'initCabin'"
|
|
|
|
|
@click="sendModel"
|
|
|
|
|
:loading="SendLoading"
|
|
|
|
|
>
|
|
|
|
|
<a-button class="btn" type="primary" v-if="modelType == 'initCabin'" @click="sendModel" :loading="SendLoading">
|
|
|
|
|
发送
|
|
|
|
|
</a-button>
|
|
|
|
|
<a-button class="btn" type="primary" v-if="modelType == 'initCabin'" @click="handleOpenHis">
|
|
|
|
@ -204,8 +180,7 @@
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 2 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 21 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
:style="{ marginLeft: '-18px' }"
|
|
|
|
|
>
|
|
|
|
|
:style="{ marginLeft: '-18px' }">
|
|
|
|
|
<a-input :allowClear="true" v-model="initCabinFrom.toName" />
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -214,8 +189,7 @@
|
|
|
|
|
label="打印格式"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 6 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
<!-- <a-input :allowClear="true" v-model="initCabinFrom.attn" /> -->
|
|
|
|
|
<a-select :allowClear="true" v-model="initCabinFrom.templateId">
|
|
|
|
|
<a-select-option v-for="item in initCabinSendData" :value="item.id" :key="item.id">
|
|
|
|
@ -231,8 +205,7 @@
|
|
|
|
|
label="ATTN"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
<a-input :allowClear="true" v-model="initCabinFrom.attn" />
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -241,8 +214,7 @@
|
|
|
|
|
label="电话"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
<a-input :allowClear="true" v-model="initCabinFrom.attnTel" />
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -251,8 +223,7 @@
|
|
|
|
|
label="邮箱"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 6 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
<a-input :allowClear="true" v-model="initCabinFrom.attnMail" />
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -261,8 +232,7 @@
|
|
|
|
|
label="手机"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 6 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
<a-input :allowClear="true" v-model="initCabinFrom.attnPhone" />
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -272,8 +242,7 @@
|
|
|
|
|
label="FROM"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
<a-input :allowClear="true" v-model="initCabinFrom.fromName" />
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -282,8 +251,7 @@
|
|
|
|
|
label="电话"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
<a-input :allowClear="true" v-model="initCabinFrom.fromTel" />
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -292,8 +260,7 @@
|
|
|
|
|
label="邮箱"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 6 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
<a-input :allowClear="true" v-model="initCabinFrom.fromMail" />
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -302,8 +269,7 @@
|
|
|
|
|
label="手机"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 6 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
<a-input :allowClear="true" v-model="initCabinFrom.fromPhone" />
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -315,8 +281,7 @@
|
|
|
|
|
label="提箱小票链接"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 3 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
<div class="box-flex">
|
|
|
|
|
<a-input class="box-input" :allowClear="true" v-model="initCabinFrom.orderUrl.urlTxxp" />
|
|
|
|
|
<span @click="copyFun(initCabinFrom.orderUrl.urlTxxp)"><i class="iconfont icon-fuzhi2"></i></span>
|
|
|
|
@ -328,8 +293,7 @@
|
|
|
|
|
label="VGM链接"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 3 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
<div class="box-flex">
|
|
|
|
|
<a-input class="box-input" :allowClear="true" v-model="initCabinFrom.orderUrl.urlVgm" />
|
|
|
|
|
<span @click="copyFun(initCabinFrom.orderUrl.urlVgm)"><i class="iconfont icon-fuzhi2"></i></span>
|
|
|
|
@ -341,14 +305,10 @@
|
|
|
|
|
label="SI&VGM链接"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 3 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
<div class="box-flex">
|
|
|
|
|
<a-input class="box-input" :allowClear="true" v-model="initCabinFrom.orderUrl.urlVgmSi" />
|
|
|
|
|
<span
|
|
|
|
|
@click="copyFun(initCabinFrom.orderUrl.urlVgmSi)"
|
|
|
|
|
><i class="iconfont icon-fuzhi2"></i
|
|
|
|
|
></span>
|
|
|
|
|
<span @click="copyFun(initCabinFrom.orderUrl.urlVgmSi)"><i class="iconfont icon-fuzhi2"></i></span>
|
|
|
|
|
</div>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -359,8 +319,7 @@
|
|
|
|
|
label="场站"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 8 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
<a-select
|
|
|
|
|
class="customer-input"
|
|
|
|
|
style="width:195px;"
|
|
|
|
@ -369,8 +328,7 @@
|
|
|
|
|
@change="handleYardChange"
|
|
|
|
|
show-search
|
|
|
|
|
:filter-option="filterOption"
|
|
|
|
|
:dropdownMatchSelectWidth="false"
|
|
|
|
|
>
|
|
|
|
|
:dropdownMatchSelectWidth="false">
|
|
|
|
|
<a-select-option v-for="(yard, yindex) in yardSelectData" :key="yindex" :value="yindex">
|
|
|
|
|
{{ yard.selectShowTab }}
|
|
|
|
|
</a-select-option>
|
|
|
|
@ -382,14 +340,12 @@
|
|
|
|
|
label="联系人"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 8 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
<a-input
|
|
|
|
|
class="box-input"
|
|
|
|
|
style="width:195px;"
|
|
|
|
|
:allowClear="true"
|
|
|
|
|
v-model="initCabinFrom.yardcontract"
|
|
|
|
|
/>
|
|
|
|
|
v-model="initCabinFrom.yardcontract" />
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
<a-col :span="8">
|
|
|
|
@ -397,14 +353,12 @@
|
|
|
|
|
label="电话"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 8 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
<a-input
|
|
|
|
|
class="box-input"
|
|
|
|
|
style="width:195px;"
|
|
|
|
|
:allowClear="true"
|
|
|
|
|
v-model="initCabinFrom.yardcontracttel"
|
|
|
|
|
/>
|
|
|
|
|
v-model="initCabinFrom.yardcontracttel" />
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
<a-col :span="8">
|
|
|
|
@ -412,16 +366,14 @@
|
|
|
|
|
label="截港时间"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 8 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
<!-- {{ details.closingdate || '--' }} -->
|
|
|
|
|
<a-date-picker
|
|
|
|
|
:show-time="{ format: 'HH:00:00' }"
|
|
|
|
|
style="width:120px;"
|
|
|
|
|
format="YYYY-MM-DD HH:00:00"
|
|
|
|
|
v-model="initCabinFrom.closingTime"
|
|
|
|
|
@change="closingdateChange"
|
|
|
|
|
>
|
|
|
|
|
@change="closingdateChange">
|
|
|
|
|
<a-icon slot="suffixIcon" type="time" style="display: none" />
|
|
|
|
|
</a-date-picker>
|
|
|
|
|
</a-form-item>
|
|
|
|
@ -431,16 +383,14 @@
|
|
|
|
|
label="截单时间"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 8 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
<!-- {{ details.closedocdate || '--' }} -->
|
|
|
|
|
<a-date-picker
|
|
|
|
|
style="width:120px;"
|
|
|
|
|
:show-time="{ format: 'HH:00:00' }"
|
|
|
|
|
format="YYYY-MM-DD HH:00:00"
|
|
|
|
|
v-model="initCabinFrom.closeDocTime"
|
|
|
|
|
@change="closedocdateChange"
|
|
|
|
|
>
|
|
|
|
|
@change="closedocdateChange">
|
|
|
|
|
<a-icon slot="suffixIcon" type="time" style="display: none" />
|
|
|
|
|
</a-date-picker>
|
|
|
|
|
</a-form-item>
|
|
|
|
@ -450,16 +400,14 @@
|
|
|
|
|
label="截VGM时间"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 8 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
<!-- {{ details.closevgmdate || '--' }} -->
|
|
|
|
|
<a-date-picker
|
|
|
|
|
show-time
|
|
|
|
|
style="width:120px;"
|
|
|
|
|
format="YYYY-MM-DD HH:mm:ss"
|
|
|
|
|
v-model="initCabinFrom.vgmTime"
|
|
|
|
|
@change="closevgmdateChange"
|
|
|
|
|
>
|
|
|
|
|
@change="closevgmdateChange">
|
|
|
|
|
<a-icon slot="suffixIcon" type="time" style="display: none" />
|
|
|
|
|
</a-date-picker>
|
|
|
|
|
</a-form-item>
|
|
|
|
@ -471,16 +419,14 @@
|
|
|
|
|
label="备注"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 3 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
<div class="box-flex">
|
|
|
|
|
<a-textarea
|
|
|
|
|
class="remark-input"
|
|
|
|
|
style="width:1000px !important; text-align: left;"
|
|
|
|
|
:allowClear="true"
|
|
|
|
|
:auto-size="{ minRows: 7, maxRows: 7 }"
|
|
|
|
|
v-model="initCabinFrom.remark"
|
|
|
|
|
/>
|
|
|
|
|
v-model="initCabinFrom.remark" />
|
|
|
|
|
</div>
|
|
|
|
|
<!-- <div class="box-flex">
|
|
|
|
|
<a-input
|
|
|
|
@ -502,18 +448,13 @@
|
|
|
|
|
label="VGM提交地址"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 3 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
<div class="box-flex">
|
|
|
|
|
<a-input
|
|
|
|
|
style="width:1000px !important; text-align: left;"
|
|
|
|
|
:allowClear="true"
|
|
|
|
|
v-model="initCabinFrom.orderUrl.urlVgm"
|
|
|
|
|
/>
|
|
|
|
|
<span
|
|
|
|
|
style="margin-left:7px;"
|
|
|
|
|
><i class="iconfont icon-fuzhi2"><!--复制--></i></span
|
|
|
|
|
>
|
|
|
|
|
v-model="initCabinFrom.orderUrl.urlVgm" />
|
|
|
|
|
<span style="margin-left:7px;"><i class="iconfont icon-fuzhi2"><!--复制--></i></span>
|
|
|
|
|
</div>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -524,8 +465,7 @@
|
|
|
|
|
label="主提单号"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 8 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
{{ details.mblno || '--' }}
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -534,8 +474,7 @@
|
|
|
|
|
label="分提单号"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 8 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
{{ details.hblno || '--' }}
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -544,8 +483,7 @@
|
|
|
|
|
label="海关航次"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 8 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
{{ details.voyno || '--' }}
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -554,8 +492,7 @@
|
|
|
|
|
label="开船日期"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 8 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
{{ details.etd || '--' }}
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -564,8 +501,7 @@
|
|
|
|
|
label="截港时间"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 8 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
{{ details.closingdate || '--' }}
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -574,8 +510,7 @@
|
|
|
|
|
label="截单时间"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 8 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
{{ details.closedocdate || '--' }}
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -584,8 +519,7 @@
|
|
|
|
|
label="截VGM时间"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 4 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
{{ details.closevgmdate || '--' }}
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -594,8 +528,7 @@
|
|
|
|
|
label="装货港"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 8 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
{{ details.portload || '--' }}
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -604,8 +537,7 @@
|
|
|
|
|
label="卸货港"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 8 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
{{ details.portdischarge || '--' }}
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -614,8 +546,7 @@
|
|
|
|
|
label="目的地"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 8 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
{{ details.destination || '--' }}
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -624,8 +555,7 @@
|
|
|
|
|
label="件重尺"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 8 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
{{ details.pkgs || '--' }} / {{ details.kgs || '--' }} / {{ details.cbm || '--' }}
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -636,15 +566,13 @@
|
|
|
|
|
label="备注"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 3 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
<div class="box-flex">
|
|
|
|
|
<a-textarea
|
|
|
|
|
style="width:1000px !important; text-align: left;"
|
|
|
|
|
:allowClear="true"
|
|
|
|
|
:auto-size="{ minRows: 3, maxRows: 3 }"
|
|
|
|
|
v-model="initCabinFrom.remark"
|
|
|
|
|
/>
|
|
|
|
|
v-model="initCabinFrom.remark" />
|
|
|
|
|
</div>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -694,8 +622,7 @@
|
|
|
|
|
@click="FnCilckTemplateType(item.id)"
|
|
|
|
|
class="items"
|
|
|
|
|
:span="11"
|
|
|
|
|
:offset="index % 2 == 0 ? 0 : 1"
|
|
|
|
|
>
|
|
|
|
|
:offset="index % 2 == 0 ? 0 : 1">
|
|
|
|
|
<span>·</span>{{ item.displayName }}
|
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
@ -713,8 +640,7 @@
|
|
|
|
|
placement="right"
|
|
|
|
|
:visible="OcrVisible"
|
|
|
|
|
@close="OcrOnClose"
|
|
|
|
|
class="OCRBox"
|
|
|
|
|
>
|
|
|
|
|
class="OCRBox">
|
|
|
|
|
<a-row justify="end" :style="{ width: '100%', marginTop: '5px' }">
|
|
|
|
|
<a-col :span="6" :offset="18">
|
|
|
|
|
<span>缩放比例:</span>
|
|
|
|
@ -736,8 +662,7 @@
|
|
|
|
|
@mousedown="mousedown"
|
|
|
|
|
@mouseup="mouseup"
|
|
|
|
|
@mousemove="mousemove"
|
|
|
|
|
:style="{ backgroundImage: `url(${imgSrc})` }"
|
|
|
|
|
></canvas>
|
|
|
|
|
:style="{ backgroundImage: `url(${imgSrc})` }"></canvas>
|
|
|
|
|
<ul class="CvBox" v-if="CvBoxType" :style="{ left: `${Bx}px`, top: `${By}px` }">
|
|
|
|
|
<li v-for="item in BCvData" :key="item.name" @click="FnClickCvBox(item)">{{ item.name }}</li>
|
|
|
|
|
</ul>
|
|
|
|
@ -755,15 +680,13 @@
|
|
|
|
|
label="请选择订阅内容"
|
|
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 6 } }"
|
|
|
|
|
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
|
|
|
|
|
has-feedback
|
|
|
|
|
>
|
|
|
|
|
has-feedback>
|
|
|
|
|
<a-checkbox-group
|
|
|
|
|
class="trace-check"
|
|
|
|
|
v-model="traceValue"
|
|
|
|
|
name="checkboxgroup"
|
|
|
|
|
:options="traceOptions"
|
|
|
|
|
@change="onTraceChange"
|
|
|
|
|
/>
|
|
|
|
|
@change="onTraceChange" />
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
@ -794,8 +717,7 @@
|
|
|
|
|
:showLabel="['shortName']"
|
|
|
|
|
:openSearch="true"
|
|
|
|
|
:isCopy="false"
|
|
|
|
|
@change="getSelectViewRes"
|
|
|
|
|
></selectView>
|
|
|
|
|
@change="getSelectViewRes"></selectView>
|
|
|
|
|
</a-form-model-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
@ -831,8 +753,7 @@
|
|
|
|
|
@change="tablePaginationChange"
|
|
|
|
|
:pagination="pagination"
|
|
|
|
|
:columns="columns"
|
|
|
|
|
:data-source="data"
|
|
|
|
|
>
|
|
|
|
|
:data-source="data">
|
|
|
|
|
<a slot="action" slot-scope="text, record" @click="handleInto(record)">引入</a>
|
|
|
|
|
</a-table>
|
|
|
|
|
</a-spin>
|
|
|
|
@ -845,8 +766,7 @@
|
|
|
|
|
@change="tablePaginationChange"
|
|
|
|
|
:pagination="pagination"
|
|
|
|
|
:columns="hisColums"
|
|
|
|
|
:data-source="hisData"
|
|
|
|
|
>
|
|
|
|
|
:data-source="hisData">
|
|
|
|
|
</a-table>
|
|
|
|
|
</a-spin>
|
|
|
|
|
</a-modal>
|
|
|
|
@ -1096,12 +1016,7 @@
|
|
|
|
|
</a-spin>
|
|
|
|
|
<template slot="footer">
|
|
|
|
|
<a-spin :spinning="voltaLoading">
|
|
|
|
|
<a-popconfirm
|
|
|
|
|
title="确认发送?"
|
|
|
|
|
ok-text="是"
|
|
|
|
|
cancel-text="否"
|
|
|
|
|
@confirm="handleSend"
|
|
|
|
|
>
|
|
|
|
|
<a-popconfirm title="确认发送?" ok-text="是" cancel-text="否" @confirm="handleSend">
|
|
|
|
|
<a-button type="primary">发送</a-button>
|
|
|
|
|
</a-popconfirm>
|
|
|
|
|
|
|
|
|
@ -1111,6 +1026,98 @@
|
|
|
|
|
</template>
|
|
|
|
|
</a-modal>
|
|
|
|
|
|
|
|
|
|
<a-modal @ok="handleSaveCabin" @cancel="cabinSpaceFlag = false" width="1300px" v-model="cabinSpaceFlag" title="引入舱位">
|
|
|
|
|
<a-form :model="cabinQueryForm" :label-col="{ span: 6 }" :wrapper-col="{ span: 18 }">
|
|
|
|
|
<a-row>
|
|
|
|
|
<a-col :span="6">
|
|
|
|
|
<a-form-item label="装货港">
|
|
|
|
|
<a-input v-model="cabinQueryForm.PORTLOAD" allow-clear placeholder="请输入船名" />
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
<a-col :span="6">
|
|
|
|
|
<a-form-item label="卸货港">
|
|
|
|
|
<a-input v-model="cabinQueryForm.PORTDISCHARGE" allow-clear placeholder="请输入航次" />
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
<a-col :span="6">
|
|
|
|
|
<a-form-item label="船名">
|
|
|
|
|
<a-input v-model="cabinQueryForm.VESSEL" allow-clear placeholder="请输入航次" />
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
<a-col :span="6">
|
|
|
|
|
<a-form-item label="航次">
|
|
|
|
|
<a-input v-model="cabinQueryForm.VOYNO" allow-clear placeholder="请输入航次" />
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
|
<a-row>
|
|
|
|
|
<a-col :span="6">
|
|
|
|
|
<a-form-item label="承运模式">
|
|
|
|
|
<a-select v-model="cabinQueryForm.CARRIAGE_TYPE">
|
|
|
|
|
<a-select-option value="DIRECT_SHIP">
|
|
|
|
|
直达
|
|
|
|
|
</a-select-option>
|
|
|
|
|
<a-select-option value="TRANSFER_SHIP">
|
|
|
|
|
中转
|
|
|
|
|
</a-select-option>
|
|
|
|
|
</a-select>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
<a-col :span="6">
|
|
|
|
|
<a-form-item label="订舱方式">
|
|
|
|
|
<a-select v-model="cabinQueryForm.BOOKING_SLOT_TYPE">
|
|
|
|
|
<a-select-option value="CONTRACT_ORDER">
|
|
|
|
|
合约订舱
|
|
|
|
|
</a-select-option>
|
|
|
|
|
<a-select-option value="SPOT_ORDER">
|
|
|
|
|
SPOT订舱
|
|
|
|
|
</a-select-option>
|
|
|
|
|
</a-select>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
<a-col :span="6">
|
|
|
|
|
<a-form-item label="箱型箱量">
|
|
|
|
|
<a-input v-model="cabinQueryForm.CTN_STAT" allow-clear placeholder="请输入航次" />
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
<a-col :span="6">
|
|
|
|
|
<div class="model-btn-list" style="margin-bottom: 0px;margin-left: 38px;margin-top: 3px;">
|
|
|
|
|
<a-button class="btn" type="primary">查询</a-button>
|
|
|
|
|
<a-button class="btn" style="margin-left: 8px">重置</a-button>
|
|
|
|
|
</div>
|
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
|
</a-form>
|
|
|
|
|
<a-table
|
|
|
|
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
|
|
|
|
:scroll="{ x: 1200 }"
|
|
|
|
|
size="small"
|
|
|
|
|
:pagination="false"
|
|
|
|
|
:columns="cabinColums"
|
|
|
|
|
:data-source="cabinList">
|
|
|
|
|
<div slot="vessel" slot-scope="text,record">{{ record.vessel }}/{{ record.voyno }}</div>
|
|
|
|
|
<div
|
|
|
|
|
slot="opera"
|
|
|
|
|
slot-scope="text,record,index"
|
|
|
|
|
@click="handleOpentear(record, index)"
|
|
|
|
|
style="cursor: pointer;color: rgb(11, 124, 199);">选择</div>
|
|
|
|
|
</a-table>
|
|
|
|
|
</a-modal>
|
|
|
|
|
|
|
|
|
|
<a-modal @cancel="tearFlag = false" width="700px" @ok="handleSaveTear" v-model="tearFlag">
|
|
|
|
|
<div>订舱提单号:{{ editTear.sloT_BOOKING_NO }}</div>
|
|
|
|
|
<div class="tear-list">
|
|
|
|
|
<div class="item" v-for="item in editTear.ctnList" :key="item.gid">
|
|
|
|
|
<span class="item-left">{{ item.ctnall }}</span>
|
|
|
|
|
<a-input-number style="width:50px;" v-model="item.ctnnum" :min="0" :max="item.maxNum"> </a-input-number>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<span style="color:rgb(114, 184, 9);">已选箱型:{{ boxTotal }}</span>
|
|
|
|
|
剩余箱型:{{ boxRemaining }}
|
|
|
|
|
</div>
|
|
|
|
|
</a-modal>
|
|
|
|
|
|
|
|
|
|
<pre-order ref="preOrder" :details="details" @frompre="frompre" />
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
@ -1140,7 +1147,8 @@ import {
|
|
|
|
|
LetterYardHis,
|
|
|
|
|
CheckAndInitVOLTAEdi,
|
|
|
|
|
DownloadVOLTAEdiSI,
|
|
|
|
|
SendVOLTAEdiSI
|
|
|
|
|
SendVOLTAEdiSI,
|
|
|
|
|
BookingSlotGetAvailableSlots
|
|
|
|
|
} from '@/api/modular/main/BookingLedger'
|
|
|
|
|
import { BookingTruckGetTruckListByBooking } from '@/api/modular/main/SendCar'
|
|
|
|
|
import { mapGetters } from 'vuex'
|
|
|
|
@ -1175,6 +1183,12 @@ export default {
|
|
|
|
|
id: this.$route.query.id,
|
|
|
|
|
labelCol: { span: 6 },
|
|
|
|
|
voltaData: [],
|
|
|
|
|
boxRemaining: '',
|
|
|
|
|
boxTotal: '',
|
|
|
|
|
selectedRowKeys: [],
|
|
|
|
|
tearFlag: false,
|
|
|
|
|
editTear: {},
|
|
|
|
|
cabinQueryForm: {},
|
|
|
|
|
visible1: false,
|
|
|
|
|
voltaColumns: [
|
|
|
|
|
{
|
|
|
|
@ -1232,6 +1246,94 @@ export default {
|
|
|
|
|
hisLoading: false,
|
|
|
|
|
voltaFlag: false,
|
|
|
|
|
modelType: '',
|
|
|
|
|
cabinColums: [
|
|
|
|
|
{
|
|
|
|
|
dataIndex: 'sloT_BOOKING_NO',
|
|
|
|
|
key: 'sloT_BOOKING_NO',
|
|
|
|
|
title: '舱位提单号',
|
|
|
|
|
width: 150
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
dataIndex: 'contracT_NO',
|
|
|
|
|
key: 'contracT_NO',
|
|
|
|
|
title: '合约号',
|
|
|
|
|
width: 100
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
dataIndex: 'carrier',
|
|
|
|
|
key: 'carrier',
|
|
|
|
|
title: '船公司',
|
|
|
|
|
width: 100,
|
|
|
|
|
ellipsis: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '订舱抬头',
|
|
|
|
|
dataIndex: 'bookinG_PARTY',
|
|
|
|
|
key: 'bookinG_PARTY',
|
|
|
|
|
width: 100
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '订舱方式',
|
|
|
|
|
dataIndex: 'bookinG_SLOT_TYPE_NAME',
|
|
|
|
|
key: 'bookinG_SLOT_TYPE_NAME',
|
|
|
|
|
width: 80
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '承运模式',
|
|
|
|
|
key: 'carriagE_TYPE_NAME',
|
|
|
|
|
dataIndex: 'carriagE_TYPE_NAME',
|
|
|
|
|
width: 80
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '船名/航次',
|
|
|
|
|
key: 'vessel',
|
|
|
|
|
dataIndex: 'vessel',
|
|
|
|
|
scopedSlots: { customRender: 'vessel' },
|
|
|
|
|
width: 120,
|
|
|
|
|
ellipsis: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '装货港',
|
|
|
|
|
key: 'portload',
|
|
|
|
|
dataIndex: 'portload',
|
|
|
|
|
width: 100,
|
|
|
|
|
ellipsis: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '卸货港',
|
|
|
|
|
key: 'portdischarge',
|
|
|
|
|
dataIndex: 'portdischarge',
|
|
|
|
|
width: 100,
|
|
|
|
|
ellipsis: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '箱型箱量(余量)',
|
|
|
|
|
key: 'ctN_STAT',
|
|
|
|
|
dataIndex: 'ctN_STAT',
|
|
|
|
|
width: 200,
|
|
|
|
|
ellipsis: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: 'ETD',
|
|
|
|
|
key: 'etd',
|
|
|
|
|
dataIndex: 'etd',
|
|
|
|
|
width: 180
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: 'ETA',
|
|
|
|
|
key: 'eta',
|
|
|
|
|
dataIndex: 'eta',
|
|
|
|
|
width: 180
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '操作',
|
|
|
|
|
key: 'opera',
|
|
|
|
|
dataIndex: 'opera',
|
|
|
|
|
scopedSlots: { customRender: 'opera' },
|
|
|
|
|
width: 60,
|
|
|
|
|
fixed: 'right'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
voltaLoading: false,
|
|
|
|
|
voltaForm: {
|
|
|
|
|
notifyAddr: '',
|
|
|
|
@ -1513,6 +1615,7 @@ export default {
|
|
|
|
|
SaveLoading: false,
|
|
|
|
|
SendLoading: false,
|
|
|
|
|
DelLoading: false,
|
|
|
|
|
cabinSpaceFlag: false,
|
|
|
|
|
PrintModalVisible: false,
|
|
|
|
|
OcrVisible: false,
|
|
|
|
|
fileList: [],
|
|
|
|
@ -1557,9 +1660,11 @@ export default {
|
|
|
|
|
],
|
|
|
|
|
traceValue: [],
|
|
|
|
|
traceModalVisible: false,
|
|
|
|
|
tearIndex: 0,
|
|
|
|
|
visible: false,
|
|
|
|
|
cateCode: '',
|
|
|
|
|
spinning: false,
|
|
|
|
|
cabinList: [],
|
|
|
|
|
yardSelectData: null,
|
|
|
|
|
initCabinSendData: [],
|
|
|
|
|
serviceItem: []
|
|
|
|
@ -1571,6 +1676,7 @@ export default {
|
|
|
|
|
this.$bus.$on('bookingServiceItem', val => {
|
|
|
|
|
this.serviceItem = val
|
|
|
|
|
})
|
|
|
|
|
this.getCabinList()
|
|
|
|
|
},
|
|
|
|
|
watch: {
|
|
|
|
|
scale() {
|
|
|
|
@ -1593,12 +1699,74 @@ export default {
|
|
|
|
|
if (printType != print) {
|
|
|
|
|
this.GetPrintData(this.cateCode, printType)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
editTear: {
|
|
|
|
|
handler(nval, oval) {
|
|
|
|
|
if (nval.ctnList && nval.ctnList.length > 0) {
|
|
|
|
|
let str = ''
|
|
|
|
|
let str1 = ''
|
|
|
|
|
nval.ctnList.forEach(item => {
|
|
|
|
|
if (item.ctnnum > 0) {
|
|
|
|
|
str += item.ctnall + '*' + ' ' + item.ctnnum + ' '
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
nval.ctnListCopy.forEach(ite => {
|
|
|
|
|
nval.ctnList.forEach(item => {
|
|
|
|
|
if (item.ctnall === ite.ctnall) {
|
|
|
|
|
if (item.ctnnum < ite.ctnnum) {
|
|
|
|
|
const num = ite.ctnnum - item.ctnnum
|
|
|
|
|
str1 += item.ctnall + '*' + ' ' + num + ' '
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
this.boxTotal = str
|
|
|
|
|
this.boxRemaining = str1
|
|
|
|
|
} else {
|
|
|
|
|
this.boxTotal = ''
|
|
|
|
|
this.boxRemaining = ''
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
deep: true,
|
|
|
|
|
immediate: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
frompre(data) {
|
|
|
|
|
this.$emit('frompre', data)
|
|
|
|
|
},
|
|
|
|
|
handleSaveTear() {
|
|
|
|
|
this.$set(this.cabinList, this.tearIndex, this.editTear)
|
|
|
|
|
this.$forceUpdate()
|
|
|
|
|
this.tearFlag = false
|
|
|
|
|
},
|
|
|
|
|
handleOpentear(row, index) {
|
|
|
|
|
this.editTear = JSON.parse(JSON.stringify(row))
|
|
|
|
|
this.tearFlag = true
|
|
|
|
|
this.tearIndex = index
|
|
|
|
|
},
|
|
|
|
|
getCabinList() {
|
|
|
|
|
BookingSlotGetAvailableSlots().then(res => {
|
|
|
|
|
if (res.success) {
|
|
|
|
|
res.data.forEach(item => {
|
|
|
|
|
item.ctN_STAT = ''
|
|
|
|
|
if (item.ctnList) {
|
|
|
|
|
item.ctnListCopy = JSON.parse(JSON.stringify(item.ctnList))
|
|
|
|
|
}
|
|
|
|
|
item.ctnList.forEach(ite => {
|
|
|
|
|
item.ctN_STAT += ite.ctncode + '*' + ite.ctnnum + ' '
|
|
|
|
|
ite.maxNum = JSON.parse(JSON.stringify(ite.ctnnum))
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
this.cabinList = res.data
|
|
|
|
|
} else {
|
|
|
|
|
this.$message.error(res.data.message)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
onSelectChange(selectedRowKeys) {
|
|
|
|
|
this.selectedRowKeys = selectedRowKeys;
|
|
|
|
|
},
|
|
|
|
|
handleDownBW() {
|
|
|
|
|
this.$refs.voltaForm.validate(valid => {
|
|
|
|
|
if (valid) {
|
|
|
|
@ -1910,6 +2078,30 @@ export default {
|
|
|
|
|
beforeUpload(file) {
|
|
|
|
|
// this.$bus.$emit('WebTest001', { upFileList: file, attachCode: 'other', attachName: '其他' })
|
|
|
|
|
},
|
|
|
|
|
handleSaveCabin() {
|
|
|
|
|
const arr = []
|
|
|
|
|
this.cabinList.forEach((item, index) => {
|
|
|
|
|
this.selectedRowKeys.forEach(ite => {
|
|
|
|
|
if (index == ite) {
|
|
|
|
|
arr.push(item.ctnList)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
const arr2 = arr.reduce((a, b) => { return a.concat(b) });
|
|
|
|
|
const newArr = []
|
|
|
|
|
arr2.forEach(el => {
|
|
|
|
|
const res = newArr.findIndex(ol => {
|
|
|
|
|
return el.ctnall === ol.ctnall;
|
|
|
|
|
});
|
|
|
|
|
if (res !== -1) {
|
|
|
|
|
newArr[res].ctnnum = newArr[res].ctnnum + el.ctnnum
|
|
|
|
|
} else {
|
|
|
|
|
newArr.push(el);
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
console.log(newArr)
|
|
|
|
|
this.$emit('handleSaveCtnList', newArr)
|
|
|
|
|
},
|
|
|
|
|
uploadFile(file) {
|
|
|
|
|
const formData = new FormData()
|
|
|
|
|
formData.append('file', file.file)
|
|
|
|
@ -2088,6 +2280,8 @@ export default {
|
|
|
|
|
this.sampleBillPdf()
|
|
|
|
|
} else if (type === 'vgmlink') {
|
|
|
|
|
this.getVgmLink()
|
|
|
|
|
} else if (type === 'cabinSpace') {
|
|
|
|
|
this.cabinSpaceFlag = true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
emnuHeader(type) {
|
|
|
|
@ -2253,7 +2447,7 @@ export default {
|
|
|
|
|
_this.sendXHZ()
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
onCancel() {},
|
|
|
|
|
onCancel() { },
|
|
|
|
|
class: 'test'
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
@ -2700,4 +2894,31 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tear-list {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
margin: 15px 0;
|
|
|
|
|
|
|
|
|
|
.item {
|
|
|
|
|
margin-right: 20px;
|
|
|
|
|
margin-bottom: 10px;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: flex-start;
|
|
|
|
|
|
|
|
|
|
.item-left {
|
|
|
|
|
background: #f59a23;
|
|
|
|
|
color: white;
|
|
|
|
|
text-align: center;
|
|
|
|
|
height: 31px;
|
|
|
|
|
line-height: 31px;
|
|
|
|
|
display: inline-block;
|
|
|
|
|
padding: 0 5px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/ .ant-input-number-handler-wrap {
|
|
|
|
|
opacity: 1;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|