|
|
|
@ -10,17 +10,12 @@
|
|
|
|
|
<span class="iconfont icon-shujuyingshe"></span>
|
|
|
|
|
合票
|
|
|
|
|
</a-button>
|
|
|
|
|
<a-upload
|
|
|
|
|
:customRequest="customRequest"
|
|
|
|
|
:multiple="false"
|
|
|
|
|
<a-upload :customRequest="customRequest" :multiple="false"
|
|
|
|
|
accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
|
|
|
|
|
:showUploadList="false"
|
|
|
|
|
name="file"
|
|
|
|
|
>
|
|
|
|
|
:showUploadList="false" name="file">
|
|
|
|
|
<a-button size="mini" type="link">
|
|
|
|
|
<span class="iconfont icon-a-17Fdaoru"></span>
|
|
|
|
|
导入</a-button
|
|
|
|
|
>
|
|
|
|
|
导入</a-button>
|
|
|
|
|
</a-upload>
|
|
|
|
|
<a-button type="link" @click="handleSuport" :loading="loadingExport" size="mini">
|
|
|
|
|
<span class="iconfont icon-jiantouxia"></span>
|
|
|
|
@ -36,12 +31,7 @@
|
|
|
|
|
<span class="iconfont icon-jiahao2fill"></span>
|
|
|
|
|
新增
|
|
|
|
|
</a-button>
|
|
|
|
|
<a-popconfirm
|
|
|
|
|
title="确定删除吗?"
|
|
|
|
|
ok-text="确定"
|
|
|
|
|
cancel-text="取消"
|
|
|
|
|
@confirm="handleDeleteAll"
|
|
|
|
|
>
|
|
|
|
|
<a-popconfirm title="确定删除吗?" ok-text="确定" cancel-text="取消" @confirm="handleDeleteAll">
|
|
|
|
|
<a-button type="link" size="mini">
|
|
|
|
|
<span class="iconfont icon-shanchu2"></span>
|
|
|
|
|
删除
|
|
|
|
@ -67,44 +57,27 @@
|
|
|
|
|
<span>{{ record.shipRateTotalCurrency }} {{ record.shipRateTotalAmount }}</span>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-if="column.dataIndex == 'iS_CANCELLATION'">
|
|
|
|
|
<BulbOutlined
|
|
|
|
|
v-if="record.iS_CANCELLATION"
|
|
|
|
|
style="color: red; font-size: 16px"
|
|
|
|
|
:title="record.cancellatioN_DATE"
|
|
|
|
|
/>
|
|
|
|
|
<BulbOutlined v-if="record.iS_CANCELLATION" style="color: red; font-size: 16px"
|
|
|
|
|
:title="record.cancellatioN_DATE" />
|
|
|
|
|
</template>
|
|
|
|
|
<template v-if="column.dataIndex == 'isRecvBC'">
|
|
|
|
|
<BulbFilled
|
|
|
|
|
style="color: green; font-size: 16px"
|
|
|
|
|
:title="record.lstRecvBCDate"
|
|
|
|
|
v-if="record.isRecvBC"
|
|
|
|
|
/>
|
|
|
|
|
<BulbFilled style="color: green; font-size: 16px" :title="record.lstRecvBCDate" v-if="record.isRecvBC" />
|
|
|
|
|
</template>
|
|
|
|
|
<template v-if="column.dataIndex == 'labelList'">
|
|
|
|
|
<div @click="handleLabelBind(record)" style="min-width: 200px; min-height: 15px">
|
|
|
|
|
<a-tag
|
|
|
|
|
style="color: black !important; font-weight: bold; cursor: pointer"
|
|
|
|
|
:color="item.color"
|
|
|
|
|
@click="handleLabelBind(record)"
|
|
|
|
|
v-for="(item, index) in record.labelList"
|
|
|
|
|
:key="index"
|
|
|
|
|
>{{ item.name }}</a-tag
|
|
|
|
|
>
|
|
|
|
|
<a-tag style="color: black !important; font-weight: bold; cursor: pointer" :color="item.color"
|
|
|
|
|
@click="handleLabelBind(record)" v-for="(item, index) in record.labelList" :key="index">{{ item.name
|
|
|
|
|
}}</a-tag>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-if="column.dataIndex == 'isRecvBKCancel'">
|
|
|
|
|
<BulbFilled
|
|
|
|
|
style="color: red; font-size: 16px"
|
|
|
|
|
:title="record.lstRecvBCDate"
|
|
|
|
|
v-if="record.isRecvBKCancel"
|
|
|
|
|
/>
|
|
|
|
|
<BulbFilled style="color: red; font-size: 16px" :title="record.lstRecvBCDate" v-if="record.isRecvBKCancel" />
|
|
|
|
|
</template>
|
|
|
|
|
<template v-if="column.dataIndex == 'isShipperOwned'">
|
|
|
|
|
<CheckCircleFilled v-if="record.isShipperOwned" style="color: green; font-size: 16px" />
|
|
|
|
|
</template>
|
|
|
|
|
<template v-if="column.key === 'action'">
|
|
|
|
|
<TableAction
|
|
|
|
|
:actions="[
|
|
|
|
|
<TableAction :actions="[
|
|
|
|
|
{
|
|
|
|
|
icon: 'clarity:note-edit-line',
|
|
|
|
|
tooltip: '编辑',
|
|
|
|
@ -129,40 +102,22 @@
|
|
|
|
|
handleOpenSlot(record)
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
]"
|
|
|
|
|
/>
|
|
|
|
|
]" />
|
|
|
|
|
</template>
|
|
|
|
|
</template>
|
|
|
|
|
</BasicTable>
|
|
|
|
|
<a-modal
|
|
|
|
|
width="800px"
|
|
|
|
|
@ok="handleSubmitLabel"
|
|
|
|
|
:visible="visible"
|
|
|
|
|
title="分配标签"
|
|
|
|
|
@cancel="visible = false"
|
|
|
|
|
>
|
|
|
|
|
<a-modal width="800px" @ok="handleSubmitLabel" :visible="visible" title="分配标签" @cancel="visible = false">
|
|
|
|
|
<a-spin :spinning="labelLoad">
|
|
|
|
|
<div class="content">
|
|
|
|
|
<div
|
|
|
|
|
class="items"
|
|
|
|
|
v-for="(serive, sindex) in labelList"
|
|
|
|
|
:key="sindex"
|
|
|
|
|
@click="handleClickLable(sindex)"
|
|
|
|
|
:class="{ active: serive.isActive }"
|
|
|
|
|
>
|
|
|
|
|
<div class="items" v-for="(serive, sindex) in labelList" :key="sindex" @click="handleClickLable(sindex)"
|
|
|
|
|
:class="{ active: serive.isActive }">
|
|
|
|
|
{{ serive.name }}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</a-spin>
|
|
|
|
|
</a-modal>
|
|
|
|
|
<generationModal ref="generation" @register="registerModal"> </generationModal>
|
|
|
|
|
<a-modal
|
|
|
|
|
title="多提单号查询"
|
|
|
|
|
:width="400"
|
|
|
|
|
:visible="moreFlag"
|
|
|
|
|
@ok="moreNumSubmit"
|
|
|
|
|
@cancel="moreFlag = false"
|
|
|
|
|
>
|
|
|
|
|
<a-modal title="多提单号查询" :width="400" :visible="moreFlag" @ok="moreNumSubmit" @cancel="moreFlag = false">
|
|
|
|
|
<div>
|
|
|
|
|
<a-textarea v-model:value="moreNumVal" style="height: 200px" />
|
|
|
|
|
</div>
|
|
|
|
@ -170,8 +125,8 @@
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<script lang="ts" setup name="舱位台账">
|
|
|
|
|
import { BasicTable, useTable, TableAction } from '/@/components/Table'
|
|
|
|
|
import {
|
|
|
|
|
import { BasicTable, useTable, TableAction } from '/@/components/Table'
|
|
|
|
|
import {
|
|
|
|
|
BookingSlotPage,
|
|
|
|
|
BookingLabelList,
|
|
|
|
|
BookingLabelBind,
|
|
|
|
@ -179,25 +134,25 @@
|
|
|
|
|
ImportSlotFromFile,
|
|
|
|
|
PrintOrder,
|
|
|
|
|
BookingSlotDelete,
|
|
|
|
|
} from './api'
|
|
|
|
|
import { reactive, ref, h, onMounted } from 'vue'
|
|
|
|
|
import { columns, searchFormSchema, FeeStatus } from './columns'
|
|
|
|
|
import { BulbFilled, CheckCircleFilled, BulbOutlined } from '@ant-design/icons-vue'
|
|
|
|
|
import { useModal } from '/@/components/Modal'
|
|
|
|
|
import generationModal from '../generation/index.vue'
|
|
|
|
|
import { formatParams } from '/@/hooks/web/common'
|
|
|
|
|
import { useGo } from '/@/hooks/web/usePage'
|
|
|
|
|
import { useOptionsStore } from '/@/store/modules/options'
|
|
|
|
|
import { useMessage } from '../../../hooks/web/useMessage'
|
|
|
|
|
const { createMessage } = useMessage()
|
|
|
|
|
const optionsStore = useOptionsStore()
|
|
|
|
|
const go = useGo()
|
|
|
|
|
const queryStr = ref({})
|
|
|
|
|
const [registerModal, { openModal }] = useModal()
|
|
|
|
|
const [
|
|
|
|
|
} from './api'
|
|
|
|
|
import { reactive, ref, h, onMounted } from 'vue'
|
|
|
|
|
import { columns, searchFormSchema, FeeStatus } from './columns'
|
|
|
|
|
import { BulbFilled, CheckCircleFilled, BulbOutlined } from '@ant-design/icons-vue'
|
|
|
|
|
import { useModal } from '/@/components/Modal'
|
|
|
|
|
import generationModal from '../generation/index.vue'
|
|
|
|
|
import { formatParams } from '/@/hooks/web/common'
|
|
|
|
|
import { useGo } from '/@/hooks/web/usePage'
|
|
|
|
|
import { useOptionsStore } from '/@/store/modules/options'
|
|
|
|
|
import { useMessage } from '../../../hooks/web/useMessage'
|
|
|
|
|
const { createMessage } = useMessage()
|
|
|
|
|
const optionsStore = useOptionsStore()
|
|
|
|
|
const go = useGo()
|
|
|
|
|
const queryStr = ref({})
|
|
|
|
|
const [registerModal, { openModal }] = useModal()
|
|
|
|
|
const [
|
|
|
|
|
registerTable,
|
|
|
|
|
{ reload, setLoading, getForm, getSelectRows, setProps, setSelectedRowKeys },
|
|
|
|
|
] = useTable({
|
|
|
|
|
] = useTable({
|
|
|
|
|
title: '',
|
|
|
|
|
api: async (p) => {
|
|
|
|
|
const res: API.DataResult = await BookingSlotPage(p)
|
|
|
|
@ -268,18 +223,18 @@
|
|
|
|
|
canResize: true,
|
|
|
|
|
resizeHeightOffset: 35,
|
|
|
|
|
immediate: true,
|
|
|
|
|
})
|
|
|
|
|
const generation = ref('')
|
|
|
|
|
function handleOpenSlot(row) {
|
|
|
|
|
})
|
|
|
|
|
const generation = ref('')
|
|
|
|
|
function handleOpenSlot(row) {
|
|
|
|
|
openModal(true, { type: 'cabin', row: row })
|
|
|
|
|
}
|
|
|
|
|
function handleRowclick(record, index, event) {
|
|
|
|
|
}
|
|
|
|
|
function handleRowclick(record, index, event) {
|
|
|
|
|
console.log(record, index, event)
|
|
|
|
|
}
|
|
|
|
|
function handledbclick(record) {
|
|
|
|
|
}
|
|
|
|
|
function handledbclick(record) {
|
|
|
|
|
go(`/CabinManagementDetail?type=edit&id=${record.id}`)
|
|
|
|
|
}
|
|
|
|
|
function handleDelete(row) {
|
|
|
|
|
}
|
|
|
|
|
function handleDelete(row) {
|
|
|
|
|
setLoading(true)
|
|
|
|
|
BookingSlotDelete([row.id]).then((res) => {
|
|
|
|
|
if (res.succeeded) {
|
|
|
|
@ -289,12 +244,12 @@
|
|
|
|
|
}
|
|
|
|
|
setLoading(false)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
const labelIdArray = ref([])
|
|
|
|
|
const labelList = ref([]) as any
|
|
|
|
|
const labelLoad = ref(false)
|
|
|
|
|
const visible = ref(false)
|
|
|
|
|
function handleLabel() {
|
|
|
|
|
}
|
|
|
|
|
const labelIdArray = ref([])
|
|
|
|
|
const labelList = ref([]) as any
|
|
|
|
|
const labelLoad = ref(false)
|
|
|
|
|
const visible = ref(false)
|
|
|
|
|
function handleLabel() {
|
|
|
|
|
const select = getSelectRows()
|
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
|
return item.id
|
|
|
|
@ -313,8 +268,8 @@
|
|
|
|
|
labelList.value = res.data
|
|
|
|
|
labelLoad.value = false
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
function handleDeleteAll() {
|
|
|
|
|
}
|
|
|
|
|
function handleDeleteAll() {
|
|
|
|
|
const select = getSelectRows()
|
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
|
return item.id
|
|
|
|
@ -332,9 +287,9 @@
|
|
|
|
|
}
|
|
|
|
|
setLoading(false)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
const moreNumVal = ref('')
|
|
|
|
|
function moreNumSubmit() {
|
|
|
|
|
}
|
|
|
|
|
const moreNumVal = ref('')
|
|
|
|
|
function moreNumSubmit() {
|
|
|
|
|
let data = ''
|
|
|
|
|
moreNumVal.value
|
|
|
|
|
.replace(/\n|\r/g, ',')
|
|
|
|
@ -352,12 +307,12 @@
|
|
|
|
|
slotBookingNo: data,
|
|
|
|
|
})
|
|
|
|
|
moreFlag.value = false
|
|
|
|
|
}
|
|
|
|
|
const moreFlag = ref(false)
|
|
|
|
|
function handleOpenS() {
|
|
|
|
|
}
|
|
|
|
|
const moreFlag = ref(false)
|
|
|
|
|
function handleOpenS() {
|
|
|
|
|
moreFlag.value = true
|
|
|
|
|
}
|
|
|
|
|
function handleLabelBind(row) {
|
|
|
|
|
}
|
|
|
|
|
function handleLabelBind(row) {
|
|
|
|
|
visible.value = true
|
|
|
|
|
labelIdArray.value = []
|
|
|
|
|
labelLoad.value = true
|
|
|
|
@ -376,8 +331,8 @@
|
|
|
|
|
labelList.value = res.data
|
|
|
|
|
labelLoad.value = false
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
function customRequest(data) {
|
|
|
|
|
}
|
|
|
|
|
function customRequest(data) {
|
|
|
|
|
const formData = new FormData()
|
|
|
|
|
formData.append('file', data.file)
|
|
|
|
|
setLoading(true)
|
|
|
|
@ -389,16 +344,16 @@
|
|
|
|
|
.catch((err) => {
|
|
|
|
|
setLoading(false)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function handleAdd() {
|
|
|
|
|
function handleAdd() {
|
|
|
|
|
go(`/CabinManagementDetail?type=Add`)
|
|
|
|
|
}
|
|
|
|
|
function handleEdit(row) {
|
|
|
|
|
}
|
|
|
|
|
function handleEdit(row) {
|
|
|
|
|
go(`/CabinManagementDetail?type=edit&id=${row.id}`)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function handleSubmitLabel() {
|
|
|
|
|
function handleSubmitLabel() {
|
|
|
|
|
const select = getSelectRows()
|
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
|
return item.id
|
|
|
|
@ -424,9 +379,9 @@
|
|
|
|
|
}
|
|
|
|
|
labelLoad.value = false
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
const sumload = ref(false)
|
|
|
|
|
function handleSum() {
|
|
|
|
|
}
|
|
|
|
|
const sumload = ref(false)
|
|
|
|
|
function handleSum() {
|
|
|
|
|
const select = getSelectRows()
|
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
|
return item.id
|
|
|
|
@ -447,12 +402,12 @@
|
|
|
|
|
}
|
|
|
|
|
sumload.value = false
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
function handleClickLable(index) {
|
|
|
|
|
}
|
|
|
|
|
function handleClickLable(index) {
|
|
|
|
|
labelList.value[index].isActive = !labelList.value[index].isActive
|
|
|
|
|
}
|
|
|
|
|
const loadingExport = ref(false)
|
|
|
|
|
function handleSuport() {
|
|
|
|
|
}
|
|
|
|
|
const loadingExport = ref(false)
|
|
|
|
|
function handleSuport() {
|
|
|
|
|
loadingExport.value = true
|
|
|
|
|
if (getSelectRows().length > 0) {
|
|
|
|
|
const arr = []
|
|
|
|
@ -478,46 +433,46 @@
|
|
|
|
|
.catch(() => {
|
|
|
|
|
loadingExport.value = false
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="less" scoped>
|
|
|
|
|
/deep/ .ant-form-item {
|
|
|
|
|
:deep(.ant-form-item) {
|
|
|
|
|
margin-bottom: 10px !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/ .ant-card-body {
|
|
|
|
|
:deep(.ant-card-body) {
|
|
|
|
|
padding-bottom: 0px !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.table-operator {
|
|
|
|
|
.table-operator {
|
|
|
|
|
margin-bottom: 18px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.Close {
|
|
|
|
|
.Close {
|
|
|
|
|
height: 45px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.vxe-table--render-default .vxe-body--row.row--stripe {
|
|
|
|
|
.vxe-table--render-default .vxe-body--row.row--stripe {
|
|
|
|
|
background: #f5f9fe;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ant-card-body {
|
|
|
|
|
.ant-card-body {
|
|
|
|
|
padding-top: 10px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.inline {
|
|
|
|
|
.inline {
|
|
|
|
|
position: relative;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.inline-right {
|
|
|
|
|
.inline-right {
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 6px;
|
|
|
|
|
right: 25px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.change {
|
|
|
|
|
.change {
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
margin-top: 25px;
|
|
|
|
@ -538,9 +493,9 @@
|
|
|
|
|
div:hover {
|
|
|
|
|
border: 1px solid #d1cfcf;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.content {
|
|
|
|
|
.content {
|
|
|
|
|
max-height: 300px;
|
|
|
|
|
overflow-y: auto;
|
|
|
|
|
overflow-x: hidden;
|
|
|
|
@ -603,9 +558,9 @@
|
|
|
|
|
color: #fff;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/ .vben-basic-table-action button {
|
|
|
|
|
:deep(.vben-basic-table-action button) {
|
|
|
|
|
padding: 0 3px !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|