|
|
@ -4,8 +4,10 @@
|
|
|
|
<a-card :bordered="false" :bodyStyle="{ padding: '10px 20px' }">
|
|
|
|
<a-card :bordered="false" :bodyStyle="{ padding: '10px 20px' }">
|
|
|
|
<div class="from-line">
|
|
|
|
<div class="from-line">
|
|
|
|
<div class="left" v-if="!isLockBooking">
|
|
|
|
<div class="left" v-if="!isLockBooking">
|
|
|
|
<a-button class="btn btn-add" type="primary" @click="addboxLine"> <span style="margin-right: 5px;" class="iconfont icon-zhizhishu"></span>添加</a-button>
|
|
|
|
<a-button class="btn btn-add" type="primary" @click="addboxLine"> <span style="margin-right: 5px;"
|
|
|
|
<a-button class="btn btn-delete" @click="removeLine" :style="{ marginRight: '20px' }"><span style="margin-right: 5px;" class="iconfont icon-shanchu1"></span>删除</a-button>
|
|
|
|
class="iconfont icon-zhizhishu"></span>添加</a-button>
|
|
|
|
|
|
|
|
<a-button class="btn btn-delete" @click="removeLine" :style="{ marginRight: '20px' }"><span
|
|
|
|
|
|
|
|
style="margin-right: 5px;" class="iconfont icon-shanchu1"></span>删除</a-button>
|
|
|
|
<a-button class="btn btn-more-name" type="primary" @click="openDialog" :disabled="tableData.length === 0">
|
|
|
|
<a-button class="btn btn-more-name" type="primary" @click="openDialog" :disabled="tableData.length === 0">
|
|
|
|
<a-icon type="appstore" />多品名
|
|
|
|
<a-icon type="appstore" />多品名
|
|
|
|
</a-button>
|
|
|
|
</a-button>
|
|
|
@ -21,22 +23,15 @@
|
|
|
|
<a-button class="btn btn-weight" type="primary" @click="arrowsWeight">
|
|
|
|
<a-button class="btn btn-weight" type="primary" @click="arrowsWeight">
|
|
|
|
<a-icon type="arrows-alt" />展开箱量
|
|
|
|
<a-icon type="arrows-alt" />展开箱量
|
|
|
|
</a-button>
|
|
|
|
</a-button>
|
|
|
|
<a-button class="btn btn-add" type="primary" @click="handleRefsh"><span style="margin-right: 5px;" class="iconfont icon-shuaxin"></span>刷新</a-button>
|
|
|
|
<a-button class="btn btn-add" type="primary" @click="handleRefsh"><span style="margin-right: 5px;"
|
|
|
|
|
|
|
|
class="iconfont icon-shuaxin"></span>刷新</a-button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div
|
|
|
|
<div v-if="details.autoYardImport && !details.autoYardImport.isRead"
|
|
|
|
v-if="details.autoYardImport && !details.autoYardImport.isRead"
|
|
|
|
|
|
|
|
style="display: inline-block;margin-left: 10px;padding-top: 5px;">
|
|
|
|
style="display: inline-block;margin-left: 10px;padding-top: 5px;">
|
|
|
|
<a-icon
|
|
|
|
<a-icon v-if="details.autoYardImport && details.autoYardImport.status == '已导入'" @click="handleOpen"
|
|
|
|
v-if="details.autoYardImport && details.autoYardImport.status == '已导入'"
|
|
|
|
type="check-circle" theme="filled" style="color: green;font-size: 19px;cursor: pointer;" />
|
|
|
|
@click="handleOpen"
|
|
|
|
<a-icon v-if="details.autoYardImport && details.autoYardImport.status == '未导入'" @click="handleOpen"
|
|
|
|
type="check-circle"
|
|
|
|
type="exclamation-circle" theme="filled"
|
|
|
|
theme="filled"
|
|
|
|
|
|
|
|
style="color: green;font-size: 19px;cursor: pointer;" />
|
|
|
|
|
|
|
|
<a-icon
|
|
|
|
|
|
|
|
v-if="details.autoYardImport && details.autoYardImport.status == '未导入'"
|
|
|
|
|
|
|
|
@click="handleOpen"
|
|
|
|
|
|
|
|
type="exclamation-circle"
|
|
|
|
|
|
|
|
theme="filled"
|
|
|
|
|
|
|
|
style="color: rgb(197, 194, 16);font-size: 19px;cursor: pointer;" />
|
|
|
|
style="color: rgb(197, 194, 16);font-size: 19px;cursor: pointer;" />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="table-right">
|
|
|
|
<div class="table-right">
|
|
|
@ -49,18 +44,9 @@
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div v-if="tableLoaded">
|
|
|
|
<div v-if="tableLoaded">
|
|
|
|
<!-- rowKeyFieldName="rowKey" -->
|
|
|
|
<!-- rowKeyFieldName="rowKey" -->
|
|
|
|
<ve-table
|
|
|
|
<ve-table :columns="columns" :table-data="tableData" borderY ref="tableRef" style="min-width: 970"
|
|
|
|
:columns="columns"
|
|
|
|
:cell-autofill-option="cellAutofillOption" :editOption="editOption" :rowKeyFieldName="rowKeyName"
|
|
|
|
:table-data="tableData"
|
|
|
|
:rowStyleOption="rowStyleOption" :checkbox-option="checkboxOption" :clipboard-option="clipboardOption"
|
|
|
|
borderY
|
|
|
|
|
|
|
|
ref="tableRef"
|
|
|
|
|
|
|
|
style="min-width: 970"
|
|
|
|
|
|
|
|
:cell-autofill-option="cellAutofillOption"
|
|
|
|
|
|
|
|
:editOption="editOption"
|
|
|
|
|
|
|
|
:rowKeyFieldName="rowKeyName"
|
|
|
|
|
|
|
|
:rowStyleOption="rowStyleOption"
|
|
|
|
|
|
|
|
:checkbox-option="checkboxOption"
|
|
|
|
|
|
|
|
:clipboard-option="clipboardOption"
|
|
|
|
|
|
|
|
:cellSelectionOption="cellSelectionOption" />
|
|
|
|
:cellSelectionOption="cellSelectionOption" />
|
|
|
|
<div class="table-no-data" v-if="tableData.length === 0">暂无数据</div>
|
|
|
|
<div class="table-no-data" v-if="tableData.length === 0">暂无数据</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
@ -68,19 +54,10 @@
|
|
|
|
</a-card>
|
|
|
|
</a-card>
|
|
|
|
</a-spin>
|
|
|
|
</a-spin>
|
|
|
|
|
|
|
|
|
|
|
|
<a-modal
|
|
|
|
<a-modal title="多品名维护" width="80%" :visible="moreVisible" :confirmLoading="moreModelconfirm" :maskClosable="false"
|
|
|
|
title="多品名维护"
|
|
|
|
|
|
|
|
width="80%"
|
|
|
|
|
|
|
|
:visible="moreVisible"
|
|
|
|
|
|
|
|
:confirmLoading="moreModelconfirm"
|
|
|
|
|
|
|
|
:maskClosable="false"
|
|
|
|
|
|
|
|
@cancel="handleModelCancel">
|
|
|
|
@cancel="handleModelCancel">
|
|
|
|
<div class="model-content">
|
|
|
|
<div class="model-content">
|
|
|
|
<ve-table
|
|
|
|
<ve-table style="width: 100%" :columns="modelColumns" :table-data="tableData" :radio-option="radioOption"
|
|
|
|
style="width: 100%"
|
|
|
|
|
|
|
|
:columns="modelColumns"
|
|
|
|
|
|
|
|
:table-data="tableData"
|
|
|
|
|
|
|
|
:radio-option="radioOption"
|
|
|
|
|
|
|
|
row-key-field-name="rowKey" />
|
|
|
|
row-key-field-name="rowKey" />
|
|
|
|
<div class="model-botton-box">
|
|
|
|
<div class="model-botton-box">
|
|
|
|
<a-button class="btn" type="primary" @click="addChildData">新增</a-button>
|
|
|
|
<a-button class="btn" type="primary" @click="addChildData">新增</a-button>
|
|
|
@ -88,15 +65,9 @@
|
|
|
|
<a-button class="btn" type="primary" @click="saveChildData">保存</a-button>
|
|
|
|
<a-button class="btn" type="primary" @click="saveChildData">保存</a-button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="model-child-table">
|
|
|
|
<div class="model-child-table">
|
|
|
|
<ve-table
|
|
|
|
<ve-table :columns="childColumns" :table-data="childTableData" borderY
|
|
|
|
:columns="childColumns"
|
|
|
|
:cell-autofill-option="cellAutofillOption" :editOption="editChildOption" rowKeyFieldName="rowKey"
|
|
|
|
:table-data="childTableData"
|
|
|
|
:rowStyleOption="rowStyleOption" :checkbox-option="checkChildboxOption"
|
|
|
|
borderY
|
|
|
|
|
|
|
|
:cell-autofill-option="cellAutofillOption"
|
|
|
|
|
|
|
|
:editOption="editChildOption"
|
|
|
|
|
|
|
|
rowKeyFieldName="rowKey"
|
|
|
|
|
|
|
|
:rowStyleOption="rowStyleOption"
|
|
|
|
|
|
|
|
:checkbox-option="checkChildboxOption"
|
|
|
|
|
|
|
|
:clipboard-option="clipboardChildOption" />
|
|
|
|
:clipboard-option="clipboardChildOption" />
|
|
|
|
<div class="table-no-data" v-if="childTableData.length === 0">暂无数据</div>
|
|
|
|
<div class="table-no-data" v-if="childTableData.length === 0">暂无数据</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
@ -635,7 +606,7 @@ export default {
|
|
|
|
return (
|
|
|
|
return (
|
|
|
|
<div>
|
|
|
|
<div>
|
|
|
|
<span title={'回执成功 ' + row.vgmWeight + ' ' + row.vgmWeightUnit + ' ' + row.vgmWeightMethod} v-show={row.vgm && !row.isMissing} style="color:green;cursor:pointer;font-weight:bold"><a-icon type="check" /></span>
|
|
|
|
<span title={'回执成功 ' + row.vgmWeight + ' ' + row.vgmWeightUnit + ' ' + row.vgmWeightMethod} v-show={row.vgm && !row.isMissing} style="color:green;cursor:pointer;font-weight:bold"><a-icon type="check" /></span>
|
|
|
|
<span title={'回执未成功' + row.submissionDeadLine } v-show={row.vgm && row.isMissing} style="color:red;cursor:pointer;font-weight:bold"><a-icon type="exclamation" /></span>
|
|
|
|
<span title={'回执未成功' + row.submissionDeadLine} v-show={row.vgm && row.isMissing} style="color:red;cursor:pointer;font-weight:bold"><a-icon type="exclamation" /></span>
|
|
|
|
<span v-show={!row.vgm}>-</span>
|
|
|
|
<span v-show={!row.vgm}>-</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
)
|
|
|
|
)
|
|
|
@ -1919,6 +1890,12 @@ export default {
|
|
|
|
this.tableData = []
|
|
|
|
this.tableData = []
|
|
|
|
const lastNum = this.tableData.length > 0 ? Number(this.tableData[this.tableData.length - 1].rowKey) + 1 : 0
|
|
|
|
const lastNum = this.tableData.length > 0 ? Number(this.tableData[this.tableData.length - 1].rowKey) + 1 : 0
|
|
|
|
const yardSetArr = localStorage.getItem('booking_form_yard') ? JSON.parse(localStorage.getItem('booking_form_yard')) : []
|
|
|
|
const yardSetArr = localStorage.getItem('booking_form_yard') ? JSON.parse(localStorage.getItem('booking_form_yard')) : []
|
|
|
|
|
|
|
|
const arr = []
|
|
|
|
|
|
|
|
yardSetArr.forEach(item => {
|
|
|
|
|
|
|
|
if (item.code === 'VESSEL' || item.code === 'VOYNO') {
|
|
|
|
|
|
|
|
arr.push(1)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
const ctnSetArr = []
|
|
|
|
const ctnSetArr = []
|
|
|
|
const infoSetArr = []
|
|
|
|
const infoSetArr = []
|
|
|
|
yardSetArr.forEach(item => {
|
|
|
|
yardSetArr.forEach(item => {
|
|
|
@ -1967,19 +1944,42 @@ export default {
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
this.tableData = [...this.tableData, ...addTable]
|
|
|
|
this.tableData = [...this.tableData, ...addTable]
|
|
|
|
if (infoSetArr.length > 0) {
|
|
|
|
if ((data[0].VESSEL || data[0].VOYNO) && (this.details.vessel || this.details.voyno) && arr.length > 0) {
|
|
|
|
const arr = []
|
|
|
|
const that = this
|
|
|
|
infoSetArr.forEach(item => {
|
|
|
|
this.$confirm({
|
|
|
|
for (const key in data[0]) {
|
|
|
|
title: '提示',
|
|
|
|
if (item.code === key) {
|
|
|
|
content: '已经录入船名航次,是否要覆盖',
|
|
|
|
item.value = data[0][key]
|
|
|
|
onOk() {
|
|
|
|
arr.push(item)
|
|
|
|
if (infoSetArr.length > 0) {
|
|
|
|
|
|
|
|
const arr = []
|
|
|
|
|
|
|
|
infoSetArr.forEach(item => {
|
|
|
|
|
|
|
|
for (const key in data[0]) {
|
|
|
|
|
|
|
|
if (item.code === key) {
|
|
|
|
|
|
|
|
item.value = data[0][key]
|
|
|
|
|
|
|
|
arr.push(item)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
that.$emit('getInfoSet', arr)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
that.$forceUpdate()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
});
|
|
|
|
this.$emit('getInfoSet', arr)
|
|
|
|
} else {
|
|
|
|
|
|
|
|
if (infoSetArr.length > 0) {
|
|
|
|
|
|
|
|
const arr = []
|
|
|
|
|
|
|
|
infoSetArr.forEach(item => {
|
|
|
|
|
|
|
|
for (const key in data[0]) {
|
|
|
|
|
|
|
|
if (item.code === key) {
|
|
|
|
|
|
|
|
item.value = data[0][key]
|
|
|
|
|
|
|
|
arr.push(item)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
this.$emit('getInfoSet', arr)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
this.$forceUpdate()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
this.$forceUpdate()
|
|
|
|
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
this.$message.error(res.message)
|
|
|
|
this.$message.error(res.message)
|
|
|
|
}
|
|
|
|
}
|
|
|
|