lijingjia 24 hours ago
commit f51a60c5c7

@ -10,7 +10,7 @@
/> />
<title><%= title %></title> <title><%= title %></title>
<link rel="icon" href="/favicon.ico" /> <link rel="icon" href="/favicon.ico" />
<link rel="stylesheet" href="//at.alicdn.com/t/c/font_3756681_wqiwqo0ahpj.css" /> <link rel="stylesheet" href="//at.alicdn.com/t/c/font_3756681_m8j7ejplfs.css" />
</head> </head>
<body> <body>
<script> <script>

Binary file not shown.

After

Width:  |  Height:  |  Size: 579 B

@ -82,3 +82,4 @@ code {
.vben-basic-modal-close { .vben-basic-modal-close {
margin-right: 0!important; margin-right: 0!important;
} }

@ -1,27 +1,19 @@
<template> <template>
<div class="main"> <div class="main">
<div class="top" style="padding-left: 14px;"> <div class="top p20">
<BasicTable :rowClassName="rowClassName" @row-click="handleClick" class="examine-table" @register="registerTable"> <BasicTable :rowClassName="rowClassName" @row-click="handleClick" class="ds-table" @register="registerTable">
<template #tableTitle> <template #tableTitle>
<div class="ds-h-aciton-btns-fee"> <div style="flex: 2; background: #f5f6f7; padding: 2px 11px;margin-right: 20px">
<a-tooltip placement="top" :mouseEnterDelay="0.5"> <a-radio-group @change="radioChange" v-model:value="queryTabCode">
<template #title> <a-radio value="BLQuery">提单查询</a-radio>
<span>打印</span> <a-radio value="CheckInQuery">可签入</a-radio>
</template> <a-radio value="CheckOutQuery">可签出</a-radio>
<span class="ds-action-svg-btn"> <a-radio value="HasCheckOutQuery">已签出</a-radio>
<img src="../../../assets/svg/print.svg" class="SvgImg" /> <a-radio value="BLModifyQuery">改签</a-radio>
</span> <a-radio value="BLSeizeQuery">已扣单</a-radio>
</a-tooltip> </a-radio-group>
<a-tooltip placement="top" :mouseEnterDelay="0.5">
<template #title>
<span>导出</span>
</template>
<span class="ds-action-svg-btn">
<img @click="exportExcel" src="../../../assets/icons/export.svg" class="SvgImg" />
</span>
</a-tooltip>
</div> </div>
<div> <TableButton :show="{}">
<a-dropdown> <a-dropdown>
<template #overlay> <template #overlay>
<a-menu> <a-menu>
@ -29,11 +21,7 @@
<a-menu-item @click="cancelCheckIn(1)"></a-menu-item> <a-menu-item @click="cancelCheckIn(1)"></a-menu-item>
</a-menu> </a-menu>
</template> </template>
<a-button type="link"> <span class="iconfont icon-tidanqianru">提单签入</span>
<span class="iconfont icon-tidanqianru"></span>
提单签入
<span class="iconfont icon-30jiantouxiangxiafill"></span>
</a-button>
</a-dropdown> </a-dropdown>
<a-dropdown> <a-dropdown>
<template #overlay> <template #overlay>
@ -42,11 +30,7 @@
<a-menu-item @click="cancelCheckIn(2)"></a-menu-item> <a-menu-item @click="cancelCheckIn(2)"></a-menu-item>
</a-menu> </a-menu>
</template> </template>
<a-button type="link"> <span class="iconfont icon-tidanqianchu">提单签出</span>
<span class="iconfont icon-tidanqianchu"></span>
提单签出
<span class="iconfont icon-30jiantouxiangxiafill"></span>
</a-button>
</a-dropdown> </a-dropdown>
<a-dropdown> <a-dropdown>
<template #overlay> <template #overlay>
@ -55,11 +39,7 @@
<a-menu-item @click="cancelCheckIn(3)"></a-menu-item> <a-menu-item @click="cancelCheckIn(3)"></a-menu-item>
</a-menu> </a-menu>
</template> </template>
<a-button type="link"> <span class="iconfont icon-chuanzhengqianru">船证签入</span>
<span class="iconfont icon-chuanzhengqianru"></span>
船证签入
<span class="iconfont icon-30jiantouxiangxiafill"></span>
</a-button>
</a-dropdown> </a-dropdown>
<a-dropdown> <a-dropdown>
<template #overlay> <template #overlay>
@ -68,11 +48,7 @@
<a-menu-item @click="cancelCheckIn(4)">()</a-menu-item> <a-menu-item @click="cancelCheckIn(4)">()</a-menu-item>
</a-menu> </a-menu>
</template> </template>
<a-button type="link"> <span class="iconfont icon-a-chehuiquxiao"> 换签(背书)</span>
<span class="iconfont icon-a-chehuiquxiao"></span>
换签(背书)
<span class="iconfont icon-30jiantouxiangxiafill"></span>
</a-button>
</a-dropdown> </a-dropdown>
<a-dropdown> <a-dropdown>
<template #overlay> <template #overlay>
@ -80,11 +56,7 @@
<a-menu-item @click="cancelCheckIn(5)"></a-menu-item> <a-menu-item @click="cancelCheckIn(5)"></a-menu-item>
</a-menu> </a-menu>
</template> </template>
<a-button type="link"> <span class="iconfont icon-bohui">驳回放单通知</span>
<span class="iconfont icon-bohui"></span>
驳回放单通知
<span class="iconfont icon-30jiantouxiangxiafill"></span>
</a-button>
</a-dropdown> </a-dropdown>
<a-dropdown> <a-dropdown>
<template #overlay> <template #overlay>
@ -93,22 +65,28 @@
<a-menu-item @click="cancelCheckIn(7)"></a-menu-item> <a-menu-item @click="cancelCheckIn(7)"></a-menu-item>
</a-menu> </a-menu>
</template> </template>
<a-button type="link"> <span class="iconfont icon-liebiao1">其他</span>
<span class="iconfont icon-liebiao1"></span>
其他
<span class="iconfont icon-30jiantouxiangxiafill"></span>
</a-button>
</a-dropdown> </a-dropdown>
</TableButton>
<div class="ds-h-aciton-btns-fee">
<a-tooltip placement="top" :mouseEnterDelay="0.5">
<template #title>
<span>打印</span>
</template>
<span class="ds-action-svg-btn">
<img src="../../../assets/svg/print.svg" class="SvgImg" />
</span>
</a-tooltip>
<a-tooltip placement="top" :mouseEnterDelay="0.5">
<template #title>
<span>导出</span>
</template>
<span class="ds-action-svg-btn">
<img @click="exportExcel" src="../../../assets/icons/export.svg" class="SvgImg" />
</span>
</a-tooltip>
</div> </div>
<div style="flex: 2; background: #f5f6f7; padding: 5px 11px;"> <div>
<a-radio-group @change="radioChange" v-model:value="queryTabCode">
<a-radio value="BLQuery">提单查询</a-radio>
<a-radio value="CheckInQuery">可签入</a-radio>
<a-radio value="CheckOutQuery">可签出</a-radio>
<a-radio value="HasCheckOutQuery">已签出</a-radio>
<a-radio value="BLModifyQuery">改签</a-radio>
<a-radio value="BLSeizeQuery">已扣单</a-radio>
</a-radio-group>
</div> </div>
</template> </template>
<template v-slot:bodyCell="{ column, record }"> <template v-slot:bodyCell="{ column, record }">
@ -136,54 +114,57 @@
</template> </template>
</BasicTable> </BasicTable>
</div> </div>
<div style="padding-left: 20px;height: 250px"> <div style="padding: 0 20px;">
<div style="display: flex;height: 100%;"> <a-spin :spinning="loading">
<div class="left"> <div style="display: flex;height: 100%;">
<div class="title-bold">日志</div> <div class="left card-box">
<BasicTable class="ds-mini-table-detail pay-table" @register="registerTable2"> <div class="title-bold">日志</div>
<BasicTable class="ds-mini-table-detail pay-table" @register="registerTable2">
</BasicTable> </BasicTable>
</div> </div>
<div class="middle"> <div class="middle">
<div style="display: flex;width: 100%;"> <div style="display: flex;width: 100%;">
<div style="width: 63%;margin-right: 2%"> <div style="width: 63%;margin-right: 2%" class="card-box">
<div class="title-bold">欠费信息</div> <div class="title-bold">欠费信息</div>
<BasicTable class="ds-mini-table-detail pay-table" @register="registerTable3"> <BasicTable class="ds-mini-table-detail pay-table" @register="registerTable3">
</BasicTable> </BasicTable>
</div>
<div style="width: 35%">
<div class="title-bold" style="display: flex;line-height: 18.84px;height: 18.84px">
<span>附件</span>
<DsFile @handleSuccess="fileSuccess" ref="dsFile" :showFileList="false" :id="bookid" :show="false"
height="300">
<i style="margin-left: 15px;color: #257afa;cursor: pointer;" @click="addFile"
class="iconfont icon-fujian"></i>
</DsFile>
</div> </div>
<BasicTable class="ds-mini-table-detail pay-table" @register="registerTable5"> <div style="width: 35%" class="card-box">
<template v-slot:bodyCell="{ column, record }"> <div class="title-bold" style="display: flex;line-height: 18.84px;height: 18.84px">
<template v-if="column.dataIndex == 'fileName'"> <span>附件</span>
<a @click="download(record)">{{ record.fileName }}</a> <DsFile @handleSuccess="fileSuccess" ref="dsFile" :showFileList="false" :id="bookid" :show="false"
height="300">
<i style="margin-left: 15px;color: #257afa;cursor: pointer;" @click="addFile"
class="iconfont icon-fujian"></i>
</DsFile>
</div>
<BasicTable class="ds-mini-table-detail pay-table" @register="registerTable5">
<template v-slot:bodyCell="{ column, record }">
<template v-if="column.dataIndex == 'fileName'">
<a @click="download(record)">{{ record.fileName }}</a>
</template>
</template> </template>
</template> </BasicTable>
</BasicTable> </div>
</div> </div>
</div> </div>
</div> <div class="right card-box">
<div class="right"> <div style="font-size: 14px;color: black;font-weight: bold;margin-bottom: 13px">相关信息</div>
<div style="font-size: 12px;color: black;font-weight: bold;margin-bottom: 10px">相关信息</div> <div>
<div> 客户结费类型为{{ checkInfo.stlTypeName }} 结算日期{{ checkInfo.stlDate }}
客户结费类型为{{ checkInfo.stlTypeName }} 结算日期{{ checkInfo.stlDate }} </div>
</div> <div>
<div> 未结算费用USD{{ checkInfo.noPayAmountUSD }} RMB{{ checkInfo.noPayAmountCNY }} 合计{{
未结算费用USD{{ checkInfo.noPayAmountUSD }} RMB{{ checkInfo.noPayAmountCNY }} 合计{{ checkInfo.noPayAmountTotal }}
checkInfo.noPayAmountTotal }} </div>
</div> <div>
<div> 信用额度{{ checkInfo.allowAmount }}
信用额度{{ checkInfo.allowAmount }} </div>
</div> </div>
</div> </div>
</div> </a-spin>
</div> </div>
<a-modal width="600px" @cancel="checkFlag = false" @ok="sureCheckIn" :visible="checkFlag" <a-modal width="600px" @cancel="checkFlag = false" @ok="sureCheckIn" :visible="checkFlag"
:title="checkType == 2 ? '签出' : '签入'"> :title="checkType == 2 ? '签出' : '签入'">
@ -231,7 +212,7 @@ import { useMessage } from '/@/hooks/web/useMessage'
const { createMessage } = useMessage() const { createMessage } = useMessage()
const queryData = ref({}) const queryData = ref({})
const [registerTable, { reload, setLoading, getSelectRows, getForm, getColumns }] = useTable({ const [registerTable, { reload, setLoading, getSelectRows, getForm, getColumns }] = useTable({
maxHeight: 380, maxHeight: 300,
api: async (p) => { api: async (p) => {
const res: API.DataResult = await GetList(p) const res: API.DataResult = await GetList(p)
return new Promise((resolve) => { return new Promise((resolve) => {
@ -311,7 +292,7 @@ const [registerTable2, { getSelectRows: getSelectRows2, setTableData }] = useTab
isTreeTable: false, isTreeTable: false,
pagination: false, pagination: false,
showIndexColumn: false, showIndexColumn: false,
maxHeight: 450, maxHeight: 350,
bordered: true, bordered: true,
striped: true, striped: true,
rowKey: 'id', rowKey: 'id',
@ -322,7 +303,7 @@ const [registerTable3, { setTableData: setTableDataFee }] = useTable({
columns: feeColumns, columns: feeColumns,
useSearchForm: false, useSearchForm: false,
showIndexColumn: false, showIndexColumn: false,
maxHeight: 450, maxHeight: 350,
pagination: false, pagination: false,
showTableSetting: false, showTableSetting: false,
striped: true, striped: true,
@ -336,7 +317,7 @@ const [registerTable5, { setTableData: setTableDataFile }] = useTable({
columns: columnsFile, columns: columnsFile,
useSearchForm: false, useSearchForm: false,
showIndexColumn: false, showIndexColumn: false,
maxHeight: 450, maxHeight: 350,
pagination: false, pagination: false,
showTableSetting: false, showTableSetting: false,
striped: true, striped: true,
@ -646,12 +627,20 @@ function cancelCheckIn(type) {
padding-bottom: 10px; padding-bottom: 10px;
} }
.main {} .main {
background-color: rgba(240, 242, 245, 1);
height: 100%
}
.left { .left {
width: 29%; width: 29%;
padding-right: 10px; }
border-right: 1px solid #ebebeb;
.card-box {
background-color: white;
border-radius: 6px;
border: 1px solid rgba(204, 214, 223, 1);
padding: 14px 20px;
} }
.middle { .middle {
@ -663,8 +652,8 @@ function cancelCheckIn(type) {
} }
.right { .right {
width: 14%;
font-size: 12px; font-size: 12px;
flex: 1;
} }
.left-fee { .left-fee {
@ -738,6 +727,10 @@ function cancelCheckIn(type) {
padding: 0px 10px !important; padding: 0px 10px !important;
} }
:deep(.vben-basic-table) {
height: auto !important;
}
.SvgImg { .SvgImg {
width: 18px; width: 18px;
height: 18px; height: 18px;
@ -784,8 +777,8 @@ function cancelCheckIn(type) {
.title-bold { .title-bold {
font-weight: bold; font-weight: bold;
font-size: 12px; font-size: 14px;
margin-bottom: 10px; margin-bottom: 13px;
} }
:deep(.active-row) { :deep(.active-row) {

@ -242,109 +242,109 @@ export const searchFormSchema: FormSchema[] = [
export const columns: BasicColumn[] = [ export const columns: BasicColumn[] = [
{ {
title: '订舱号', title: '订舱号',
align: 'center', align: 'left',
width: 100, width: 100,
dataIndex: 'bookingReference' dataIndex: 'bookingReference'
}, },
{ {
title: '类别', title: '类别',
align: 'center', align: 'left',
width: 60, width: 60,
dataIndex: 'bookingChannelTypeName' dataIndex: 'bookingChannelTypeName'
}, },
{ {
title: '起运港', title: '起运港',
align: 'center', align: 'left',
width: 100, width: 100,
dataIndex: 'placeReceiptCity' dataIndex: 'placeReceiptCity'
}, },
{ {
title: '目的港', title: '目的港',
align: 'center', align: 'left',
width: 100, width: 100,
dataIndex: 'placeDeliveryCity' dataIndex: 'placeDeliveryCity'
}, },
{ {
title: '箱型箱量', title: '箱型箱量',
align: 'center', align: 'left',
width: 80, width: 80,
dataIndex: 'ctnStat' dataIndex: 'ctnStat'
}, },
{ {
title: '船名/航次', title: '船名/航次',
align: 'center', align: 'left',
width: 200, width: 200,
dataIndex: 'vessel' dataIndex: 'vessel'
}, },
{ {
title: 'ETD', title: 'ETD',
align: 'center', align: 'left',
width: 100, width: 100,
dataIndex: 'etd' dataIndex: 'etd'
}, },
{ {
title: '总重KGS', title: '总重KGS',
align: 'center', align: 'left',
width: 130, width: 130,
dataIndex: 'totalCargoWeight' dataIndex: 'totalCargoWeight'
}, },
{ {
title: '合约号', title: '合约号',
align: 'center', align: 'left',
width: 160, width: 160,
dataIndex: 'priceReference' dataIndex: 'priceReference'
}, },
{ {
title: '船公司', title: '船公司',
align: 'center', align: 'left',
width: 100, width: 100,
dataIndex: 'carrierCode' dataIndex: 'carrierCode'
}, },
{ {
title: 'BC', title: 'BC',
align: 'center', align: 'left',
width: 50, width: 50,
dataIndex: 'isRecvBC' dataIndex: 'isRecvBC'
}, },
{ {
title: 'Cancellation', title: 'Cancellation',
align: 'center', align: 'left',
width: 100, width: 100,
dataIndex: 'isRecvBKCancel' dataIndex: 'isRecvBKCancel'
}, },
{ {
title: '状态', title: '状态',
align: 'center', align: 'left',
width: 130, width: 130,
dataIndex: 'statusName' dataIndex: 'statusName'
}, },
{ {
title: 'SOC', title: 'SOC',
align: 'center', align: 'left',
width: 50, width: 50,
dataIndex: 'isShipperOwned' dataIndex: 'isShipperOwned'
}, },
{ {
title: '订舱人', title: '订舱人',
align: 'center', align: 'left',
width: 130, width: 130,
dataIndex: 'createdUserName' dataIndex: 'createdUserName'
}, },
{ {
title: '订舱日期', title: '订舱日期',
align: 'center', align: 'left',
width: 150, width: 150,
dataIndex: 'createdTime' dataIndex: 'createdTime'
}, },
{ {
title: '金额', title: '金额',
align: 'center', align: 'left',
width: 100, width: 100,
dataIndex: 'shipRateTotalAmount' dataIndex: 'shipRateTotalAmount'
}, },
{ {
title: '发送结果', title: '发送结果',
align: 'center', align: 'left',
width: 150, width: 150,
dataIndex: 'notes', dataIndex: 'notes',
ellipsis: true ellipsis: true

@ -1,350 +1,284 @@
<template> <template>
<div class="main"> <div class="main">
<div style="width: 100%"> <div class="main-box">
<BasicTable @expand="expand" :expandIcon="expandIcon" class="ds-table-detail" @register="registerTable" <div class="nav-box">
@row-dbClick="handledbclick"> <div class="nav-bottom">
<template #left> <span>任务单</span>
<div class="nav-box"> <i @click="getCurrentTotalStat('refsh')" class="icon-shuaxin20x20 iconfont icon"></i>
<div class="nav-bottom"> </div>
<a-button type="link" size="small" @click="getCurrentTotalStat('refsh')"> <a-spin :spinning="levelLoading" tip="加载中...">
<i class="icon-refresh-1-copy iconfont"></i>刷新任务单</a-button> <div class="bottom-box">
<div class="nav-title" v-if="levelTop.length > 0">
<a-radio-group v-model:value="activeTopKey" @change="changeTopLevel">
<a-radio-button v-for="(item, index) in levelTop" :value="item.key" :key="index">
<span class="nav-top">{{ item.name }}<span class="nav-top-tip">({{ item.total }})</span></span>
</a-radio-button>
</a-radio-group>
</div>
<div class="nav-no-data" v-else><i class="iconfont icon-guanli"></i><span>暂无导航数据</span>
</div> </div>
<a-spin :spinning="levelLoading" tip="加载中..."> <div style="padding: 0 20px">
<div class="bottom-box"> <a-tabs tab-position="top" v-model:activeKey="activeNextKey" hide-add size="small"
<div class="nav-title" v-if="levelTop.length > 0"> @change="changeNextLevel" v-if="levelNext.length > 0">
<a-radio-group button-style="solid" v-model:value="activeTopKey" <a-tab-pane v-for="level in levelNext" :key="level.key" :tab="level.name" style="margin-right: 6px">
style="margin-bottom: 16px; display: flex" @change="changeTopLevel"> <div>
<a-radio-button v-for="(item, index) in levelTop" :value="item.key" :key="index"> <div v-for="(item, index) in levelTree" @click="handleClickTree(item, index)"
<span class="nav-top">{{ item.name }}<span class="nav-top-tip">({{ item.total }})</span></span> :class="{ active: item.active, redColor: item.key == 'CAUTION_NOTICE' }" class="box-item">
</a-radio-button> <div class="box-text">
</a-radio-group> <img v-if="item.key != 'CAUTION_NOTICE'" src="../../assets/icons/renwu1.png" alt="">
</div> <i v-if="item.key == 'CAUTION_NOTICE'" class="icon-zhongyaotixing iconfont"></i>
<div class="nav-no-data" v-else><i class="iconfont icon-guanli"></i><span>暂无导航数据</span> {{ item.name }}
</div>
<div style="padding: 0 20px">
<a-tabs tab-position="top" v-model:activeKey="activeNextKey" hide-add size="small"
@change="changeNextLevel" v-if="levelNext.length > 0">
<a-tab-pane v-for="level in levelNext" :key="level.key" :tab="level.name" style="margin-right: 6px">
<div>
<div v-for="(item, index) in levelTree" @click="handleClickTree(item, index)"
:class="{ active: item.active, redColor: item.key == 'CAUTION_NOTICE' }" class="box-item">
<div class="box-text">
<i v-if="item.key != 'CAUTION_NOTICE'" class="icon-touzijilu iconfont"></i>
<i v-if="item.key == 'CAUTION_NOTICE'" class="icon-jinggao iconfont"></i>
{{ item.name }}
</div>
<div class="box-number">{{ item.total }}</div>
</div>
</div> </div>
</a-tab-pane> <div class="box-number">{{ item.total }}</div>
</a-tabs> </div>
</div> </div>
</div> </a-tab-pane>
</a-spin> </a-tabs>
</div>
</div> </div>
</template> </a-spin>
<template #tableTitle> </div>
<a-popconfirm title="是否取消当前选择项?" ok-text="" cancel-text="" @confirm="removeFun"> <div class="p20">
<a-button type="link"> <i class="icon-weiwancheng iconfont"></i> 取消</a-button> <BasicTable :expand-column-width="25" @expand="expand" :expandIconAsCell="false" :expandIconColumnIndex="2" class="ds-table"
</a-popconfirm> @register="registerTable" @row-dbClick="handledbclick">
<!-- <a-popconfirm title="确定完成当前选择项?" ok-text="" cancel-text="" @confirm="submitFun"> <template #tableTitle>
<a-button type="link"><i class="icon-yiwancheng2 iconfont"></i>完成</a-button> <TableButton :show="{}">
</a-popconfirm> --> <a-popconfirm title="是否取消当前选择项?" ok-text="" cancel-text="" @confirm="removeFun">
<a-button type="link" @click="openUser"><i class="icon-zhuanfa iconfont"></i>任务转交</a-button> <span class="iconfont icon-weiwancheng-copy">取消</span>
<a-popconfirm title="确定任务领取吗?" ok-text="" cancel-text="" @confirm="handlePull"> </a-popconfirm>
<a-button type="link"><i class="icon-shangchuanziliao iconfont"></i>任务领取</a-button> <span @click="openUser" class="iconfont icon-renwuzhuanjiao-danse">任务转交</span>
</a-popconfirm> <a-popconfirm title="确定任务领取吗?" ok-text="" cancel-text="" @confirm="handlePull">
<!-- <a-button type="link" @click="FnPrint"><i class="icon-weibiaoti-- iconfont"></i>打印</a-button> --> <span class="iconfont icon-renwulingqu-danse">任务领取</span>
<!-- <a-button type="link" @click="FnSendCar"><i class="icon-chezaikucun iconfont"></i>派车</a-button> </a-popconfirm>
<a-button type="link" @click="CancelSendCar"><i <template v-if="taskType === 'WAIT_BC'">
class="icon-weiwancheng iconfont"></i>取消派车</a-button> --> <span @click="openFile" class="iconfont icon-shangchuanBCbingfangcang-danse">上传BC并放舱</span>
<template v-if="taskType === 'BC'"> </template>
<a-popconfirm title="确定批量下载当前选择项?" ok-text="" cancel-text="" @confirm="downloadFun"> </TableButton>
<a-button type="link"><i class="icon-xiazai-wenjianxiazai-16 iconfont"></i>批量下载</a-button>
</a-popconfirm>
<a-popconfirm title="确定重新比对当前选择项?" ok-text="" cancel-text="" @confirm="reComparisonFun">
<a-button type="link"><i class="iconfont icon-duibi"></i>重新比对</a-button>
</a-popconfirm>
</template>
<template v-if="taskType === 'DRAFT' || taskType === 'SEAWAY BILL'">
<a-popconfirm title="确定批量转发当前选择项?" ok-text="" cancel-text="" @confirm="SendEmailFun">
<a-button type="link"><i class="iconfont icon-31zhuanfa"></i>批量转发</a-button>
</a-popconfirm>
<a-popconfirm title="确定批量下载当前选择项?" ok-text="" cancel-text="" @confirm="downloadFun">
<a-button type="link"><i class="icon-xiazai-wenjianxiazai-16 iconfont"></i>批量下载</a-button>
</a-popconfirm>
</template>
<template v-if="taskType === 'DRAFT'">
<a-popconfirm title="确定计算当前选择项?" ok-text="" cancel-text="" @confirm="laraPaperCalc">
<a-button type="link"><i class="iconfont icon-52"></i>页数计算</a-button>
</a-popconfirm>
</template>
<template v-if="taskType === 'WAIT_BC'">
<a-button @click="openFile" type="link"><i class="iconfont icon-52"></i>上传BC并放舱</a-button>
</template>
<template v-if="taskType === 'ORIGINAL_DOWN'">
<a-popconfirm title="确定COPY打印当前选择项" ok-text="" cancel-text="" @confirm="copyPrintFun">
<a-button type="link"><i class="iconfont icon-weibiaoti--"></i>COPY打印</a-button>
</a-popconfirm>
<a-popconfirm title="确定COPY打印当前选择项" ok-text="" cancel-text="" @confirm="copyDownloadFun">
<a-button type="link"><i class="iconfont icon-xiazai-wenjianxiazai-13"></i>COPY下载</a-button>
</a-popconfirm>
<a-popconfirm title="确定正本下载当前选择项?" ok-text="" cancel-text="" @confirm="printBatchFun">
<a-button type="link"><i class="iconfont icon-xiazai"></i>正本下载</a-button>
</a-popconfirm>
<a-popconfirm title="确定登记当前选择项?" ok-text="" cancel-text="" @confirm="laraPaperRegistFun">
<a-button type="link"><i class="iconfont icon-dengjizongshu"></i>LARA登记</a-button>
</a-popconfirm>
<a-button type="link" @click="laraRecordFun"><i class="iconfont icon-touzijilu"></i>LARA记录</a-button>
</template>
</template>
<template #toolbar>
<a-button type="link" @click="openCustom"><i class="icon-shuliebiao iconfont"></i>列设置</a-button>
</template>
<template v-slot:bodyCell="{ column, record }">
<template v-if="column.key === 'iS_EXCEPT'">
<span v-if="record.iS_EXCEPT == 1"></span>
<span v-if="record.iS_EXCEPT == 0"></span>
</template>
<template v-if="column.key === 'iS_COMPLETE'">
<span v-if="record.iS_COMPLETE == 1"></span>
<span v-if="record.iS_COMPLETE == 0"></span>
</template>
<template v-if="column.key === 'iS_PUBLIC'">
<span v-if="record.iS_PUBLIC == 1"></span>
<span v-if="record.iS_PUBLIC == 0"></span>
</template>
<template v-if="column.key === 'iS_SET_AUTO_EMAIL'">
<span v-if="record.iS_SET_AUTO_EMAIL == 1"></span>
<span v-if="record.iS_SET_AUTO_EMAIL == 0"></span>
</template>
<template v-if="column.key === 'iS_DONGSH_RECV'">
<span v-if="record.iS_DONGSH_RECV == 1"></span>
<span v-if="record.iS_DONGSH_RECV == 0"></span>
</template>
<template v-if="column.key === 'iS_DONGSH_RESULT'">
<span v-if="record.iS_DONGSH_RESULT == 1"></span>
<span v-if="record.iS_DONGSH_RESULT == 0"></span>
</template>
<template v-if="column.key === 'iS_WEEK_DIFF'">
<span v-if="record.iS_WEEK_DIFF == 1"></span>
<span v-if="record.iS_WEEK_DIFF == 0"></span>
</template>
<template v-if="column.key === 'iS_PRICE_DATE_DIFF'">
<span v-if="record.iS_PRICE_DATE_DIFF == 1"></span>
<span v-if="record.iS_PRICE_DATE_DIFF == 0"></span>
</template>
<template v-if="column.key === 'iS_TRANSFER'">
<span v-if="record.iS_TRANSFER == 1"></span>
<span v-if="record.iS_TRANSFER == 0"></span>
</template>
<template v-if="column.key === 'iS_CUT_DATE_ADVANCED'">
<span v-if="record.iS_CUT_DATE_ADVANCED == 1"></span>
<span v-if="record.iS_CUT_DATE_ADVANCED == 0"></span>
</template>
<template v-if="column.key === 'iS_UPDATE_BOOKING'">
<span v-if="record.iS_UPDATE_BOOKING == 1"></span>
<span v-if="record.iS_UPDATE_BOOKING == 0"></span>
</template>
<template v-if="column.key === 'iS_SEND_EMAIL'">
<span v-if="record.iS_SEND_EMAIL == 1"></span>
<span v-if="record.iS_SEND_EMAIL == 0"></span>
</template>
<template v-if="column.key === 'iS_CHANGE'">
<span v-if="record.iS_CHANGE == 1"></span>
<span v-if="record.iS_CHANGE == 0"></span>
</template>
<template v-if="column.key === 'iS_EMAIL_SEND'">
<span v-if="record.iS_EMAIL_SEND == 1"></span>
<span v-if="record.iS_EMAIL_SEND == 0"></span>
</template>
<template v-if="column.key === 'procesS_STATUS'">
<span v-if="record.procesS_STATUS == 'TEMP'"></span>
<span v-if="record.procesS_STATUS == 'SUCC'"></span>
<span v-if="record.procesS_STATUS == 'FAILURE'"></span>
</template>
<template v-if="column.key === 'cautioN_NOTICE_TYPE'">
<span v-if="record.cautioN_NOTICE_TYPE == 'WeekAt'"></span>
<span v-if="record.cautioN_NOTICE_TYPE == 'PriceCalcDate'"></span>
<span v-if="record.cautioN_NOTICE_TYPE == 'ChangeTransfer'"></span>
<span v-if="record.cautioN_NOTICE_TYPE == 'ChangeVesselVoyno'"></span>
<span v-if="record.cautioN_NOTICE_TYPE == 'VGMCutDateAdvanced'">VGM</span>
<span v-if="record.cautioN_NOTICE_TYPE == 'SICutDateAdvanced'">SI</span>
</template>
<template v-if="column.key === 'ouT_BUSI_TYPE'">
<span v-if="record.ouT_BUSI_TYPE == ' SPLIT'"></span>
<span v-else></span>
</template> </template>
<template v-if="column.key === 'sI_SUBTYPE'"> <template #toolbar>
<span v-if="record.sI_SUBTYPE == 'BOOK_ORDER'"></span> <a-button type="link" @click="openCustom"><i class="icon-lieshezhi1 iconfont"></i></a-button>
<span v-if="record.sI_SUBTYPE == 'MAIL_RECV'"></span>
</template> </template>
<template v-if="column.key === 'plaN_TYPE'"> <template v-slot:bodyCell="{ column, record }">
<span v-if="record.plaN_TYPE == 'Rolling'"></span> <template v-if="column.key === 'iS_EXCEPT'">
<span v-if="record.plaN_TYPE == 'Transfer'"></span> <span v-if="record.iS_EXCEPT == 1"></span>
<span v-if="record.iS_EXCEPT == 0"></span>
</template>
<template v-if="column.key === 'iS_COMPLETE'">
<span v-if="record.iS_COMPLETE == 1"></span>
<span v-if="record.iS_COMPLETE == 0"></span>
</template>
<template v-if="column.key === 'iS_PUBLIC'">
<span v-if="record.iS_PUBLIC == 1"></span>
<span v-if="record.iS_PUBLIC == 0"></span>
</template>
<template v-if="column.key === 'iS_SET_AUTO_EMAIL'">
<span v-if="record.iS_SET_AUTO_EMAIL == 1"></span>
<span v-if="record.iS_SET_AUTO_EMAIL == 0"></span>
</template>
<template v-if="column.key === 'iS_DONGSH_RECV'">
<span v-if="record.iS_DONGSH_RECV == 1"></span>
<span v-if="record.iS_DONGSH_RECV == 0"></span>
</template>
<template v-if="column.key === 'iS_DONGSH_RESULT'">
<span v-if="record.iS_DONGSH_RESULT == 1"></span>
<span v-if="record.iS_DONGSH_RESULT == 0"></span>
</template>
<template v-if="column.key === 'iS_WEEK_DIFF'">
<span v-if="record.iS_WEEK_DIFF == 1"></span>
<span v-if="record.iS_WEEK_DIFF == 0"></span>
</template>
<template v-if="column.key === 'iS_PRICE_DATE_DIFF'">
<span v-if="record.iS_PRICE_DATE_DIFF == 1"></span>
<span v-if="record.iS_PRICE_DATE_DIFF == 0"></span>
</template>
<template v-if="column.key === 'iS_TRANSFER'">
<span v-if="record.iS_TRANSFER == 1"></span>
<span v-if="record.iS_TRANSFER == 0"></span>
</template>
<template v-if="column.key === 'iS_CUT_DATE_ADVANCED'">
<span v-if="record.iS_CUT_DATE_ADVANCED == 1"></span>
<span v-if="record.iS_CUT_DATE_ADVANCED == 0"></span>
</template>
<template v-if="column.key === 'iS_UPDATE_BOOKING'">
<span v-if="record.iS_UPDATE_BOOKING == 1"></span>
<span v-if="record.iS_UPDATE_BOOKING == 0"></span>
</template>
<template v-if="column.key === 'iS_SEND_EMAIL'">
<span v-if="record.iS_SEND_EMAIL == 1"></span>
<span v-if="record.iS_SEND_EMAIL == 0"></span>
</template>
<template v-if="column.key === 'iS_CHANGE'">
<span v-if="record.iS_CHANGE == 1"></span>
<span v-if="record.iS_CHANGE == 0"></span>
</template>
<template v-if="column.key === 'iS_EMAIL_SEND'">
<span v-if="record.iS_EMAIL_SEND == 1"></span>
<span v-if="record.iS_EMAIL_SEND == 0"></span>
</template>
<template v-if="column.key === 'procesS_STATUS'">
<span v-if="record.procesS_STATUS == 'TEMP'"></span>
<span v-if="record.procesS_STATUS == 'SUCC'"></span>
<span v-if="record.procesS_STATUS == 'FAILURE'"></span>
</template>
<template v-if="column.key === 'cautioN_NOTICE_TYPE'">
<span v-if="record.cautioN_NOTICE_TYPE == 'WeekAt'"></span>
<span v-if="record.cautioN_NOTICE_TYPE == 'PriceCalcDate'"></span>
<span v-if="record.cautioN_NOTICE_TYPE == 'ChangeTransfer'"></span>
<span v-if="record.cautioN_NOTICE_TYPE == 'ChangeVesselVoyno'"></span>
<span v-if="record.cautioN_NOTICE_TYPE == 'VGMCutDateAdvanced'">VGM</span>
<span v-if="record.cautioN_NOTICE_TYPE == 'SICutDateAdvanced'">SI</span>
</template>
<template v-if="column.key === 'ouT_BUSI_TYPE'">
<span v-if="record.ouT_BUSI_TYPE == ' SPLIT'"></span>
<span v-else></span>
</template>
<template v-if="column.key === 'sI_SUBTYPE'">
<span v-if="record.sI_SUBTYPE == 'BOOK_ORDER'"></span>
<span v-if="record.sI_SUBTYPE == 'MAIL_RECV'"></span>
</template>
<template v-if="column.key === 'plaN_TYPE'">
<span v-if="record.plaN_TYPE == 'Rolling'"></span>
<span v-if="record.plaN_TYPE == 'Transfer'"></span>
</template>
<template v-if="column.key === 'recvUserList'">
<a-popover :overlayStyle="{ width: '330px' }" trigger="click">
<template #content>
<div style="width: 300px">
<a-table size="small" :pagination="false" :data-source="record.recvUserList">
<a-table-column width="100" data-index="recvUserName" title="接收人" />
<a-table-column width="100" data-index="recvUserStatusName" title="状态" />
<a-table-column width="100" data-index="recvUserStatusTime" title="状态时间" />
</a-table>
</div>
</template>
<span style="cursor: pointer; color: #257afa">{{ record.recvUserListName }}</span>
</a-popover>
</template>
<template v-if="column.key === 'busI_TYPE'">
<span v-if="record.busI_TYPE == 'BookingConfirmation'"></span>
<span v-if="record.busI_TYPE == 'BookingAmendment'"></span>
<span v-if="record.busI_TYPE == 'BookingCancellation'"></span>
</template>
</template> </template>
<template v-if="column.key === 'recvUserList'"> <template #expandedRowRender="{ record }">
<a-popover :overlayStyle="{ width: '330px' }" trigger="click"> <BasicTable @register="registerTable1">
<template #content> <template v-slot:bodyCell="{ column, record }">
<div style="width: 300px"> <template v-if="column.key === 'iS_EXCEPT'">
<a-table size="small" :pagination="false" :data-source="record.recvUserList"> <span v-if="record.iS_EXCEPT == 1"></span>
<a-table-column width="100" data-index="recvUserName" title="接收人" /> <span v-if="record.iS_EXCEPT == 0"></span>
<a-table-column width="100" data-index="recvUserStatusName" title="状态" /> </template>
<a-table-column width="100" data-index="recvUserStatusTime" title="状态时间" /> <template v-if="column.key === 'iS_COMPLETE'">
</a-table> <span v-if="record.iS_COMPLETE == 1"></span>
</div> <span v-if="record.iS_COMPLETE == 0"></span>
</template>
<template v-if="column.key === 'iS_PUBLIC'">
<span v-if="record.iS_PUBLIC == 1"></span>
<span v-if="record.iS_PUBLIC == 0"></span>
</template>
<template v-if="column.key === 'iS_SET_AUTO_EMAIL'">
<span v-if="record.iS_SET_AUTO_EMAIL == 1"></span>
<span v-if="record.iS_SET_AUTO_EMAIL == 0"></span>
</template>
<template v-if="column.key === 'iS_DONGSH_RECV'">
<span v-if="record.iS_DONGSH_RECV == 1"></span>
<span v-if="record.iS_DONGSH_RECV == 0"></span>
</template>
<template v-if="column.key === 'iS_DONGSH_RESULT'">
<span v-if="record.iS_DONGSH_RESULT == 1"></span>
<span v-if="record.iS_DONGSH_RESULT == 0"></span>
</template>
<template v-if="column.key === 'iS_WEEK_DIFF'">
<span v-if="record.iS_WEEK_DIFF == 1"></span>
<span v-if="record.iS_WEEK_DIFF == 0"></span>
</template>
<template v-if="column.key === 'iS_PRICE_DATE_DIFF'">
<span v-if="record.iS_PRICE_DATE_DIFF == 1"></span>
<span v-if="record.iS_PRICE_DATE_DIFF == 0"></span>
</template>
<template v-if="column.key === 'iS_TRANSFER'">
<span v-if="record.iS_TRANSFER == 1"></span>
<span v-if="record.iS_TRANSFER == 0"></span>
</template>
<template v-if="column.key === 'iS_CUT_DATE_ADVANCED'">
<span v-if="record.iS_CUT_DATE_ADVANCED == 1"></span>
<span v-if="record.iS_CUT_DATE_ADVANCED == 0"></span>
</template>
<template v-if="column.key === 'iS_UPDATE_BOOKING'">
<span v-if="record.iS_UPDATE_BOOKING == 1"></span>
<span v-if="record.iS_UPDATE_BOOKING == 0"></span>
</template>
<template v-if="column.key === 'iS_SEND_EMAIL'">
<span v-if="record.iS_SEND_EMAIL == 1"></span>
<span v-if="record.iS_SEND_EMAIL == 0"></span>
</template>
<template v-if="column.key === 'iS_CHANGE'">
<span v-if="record.iS_CHANGE == 1"></span>
<span v-if="record.iS_CHANGE == 0"></span>
</template>
<template v-if="column.key === 'iS_EMAIL_SEND'">
<span v-if="record.iS_EMAIL_SEND == 1"></span>
<span v-if="record.iS_EMAIL_SEND == 0"></span>
</template>
<template v-if="column.key === 'procesS_STATUS'">
<span v-if="record.procesS_STATUS == 'TEMP'"></span>
<span v-if="record.procesS_STATUS == 'SUCC'"></span>
<span v-if="record.procesS_STATUS == 'FAILURE'"></span>
</template>
<template v-if="column.key === 'cautioN_NOTICE_TYPE'">
<span v-if="record.cautioN_NOTICE_TYPE == 'WeekAt'"></span>
<span v-if="record.cautioN_NOTICE_TYPE == 'PriceCalcDate'"></span>
<span v-if="record.cautioN_NOTICE_TYPE == 'ChangeTransfer'"></span>
<span v-if="record.cautioN_NOTICE_TYPE == 'ChangeVesselVoyno'"></span>
<span v-if="record.cautioN_NOTICE_TYPE == 'VGMCutDateAdvanced'">VGM</span>
<span v-if="record.cautioN_NOTICE_TYPE == 'SICutDateAdvanced'">SI</span>
</template>
<template v-if="column.key === 'ouT_BUSI_TYPE'">
<span v-if="record.ouT_BUSI_TYPE == ' SPLIT'"></span>
<span v-else></span>
</template>
<template v-if="column.key === 'sI_SUBTYPE'">
<span v-if="record.sI_SUBTYPE == 'BOOK_ORDER'"></span>
<span v-if="record.sI_SUBTYPE == 'MAIL_RECV'"></span>
</template>
<template v-if="column.key === 'plaN_TYPE'">
<span v-if="record.plaN_TYPE == 'Rolling'"></span>
<span v-if="record.plaN_TYPE == 'Transfer'"></span>
</template>
<template v-if="column.key === 'recvUserList'">
<a-popover :overlayStyle="{ width: '330px' }" trigger="click">
<template #content>
<div style="width: 300px">
<a-table size="small" :pagination="false" :data-source="record.recvUserList">
<a-table-column width="100" data-index="recvUserName" title="接收人" />
<a-table-column width="100" data-index="recvUserStatusName" title="状态" />
<a-table-column width="100" data-index="recvUserStatusTime" title="状态时间" />
</a-table>
</div>
</template>
<span style="cursor: pointer; color: #257afa">{{ record.recvUserListName }}</span>
</a-popover>
</template>
<template v-if="column.key === 'busI_TYPE'">
<span v-if="record.busI_TYPE == 'BookingConfirmation'"></span>
<span v-if="record.busI_TYPE == 'BookingAmendment'"></span>
<span v-if="record.busI_TYPE == 'BookingCancellation'"></span>
</template>
</template> </template>
<span style="cursor: pointer; color: #257afa">{{ record.recvUserListName }}</span> </BasicTable>
</a-popover>
</template>
<template v-if="column.key === 'busI_TYPE'">
<span v-if="record.busI_TYPE == 'BookingConfirmation'"></span>
<span v-if="record.busI_TYPE == 'BookingAmendment'"></span>
<span v-if="record.busI_TYPE == 'BookingCancellation'"></span>
</template> </template>
<!-- <template #truckName="{ record }"> <template #expandIcon="props">
<a-icon @click="handleOpen(record)" style="cursor: pointer;" type="edit" /> <div v-if="props.record.childTaskCount > 0" class="task-icon" >
{{ record.trucK_NAME }} <span v-if="props.expanded" @click="(e) => props.onExpand(props.record, e)" >
</template> <i class="iconfont icon-jian" ></i>
<template #taskType="{ record }"> </span>
<span>{{ filterType(record.tasK_TYPE) }}</span> <span v-if="!props.expanded" @click="(e) => props.onExpand(props.record, e)">
</template> <i class="iconfont icon-jia" ></i>
<template #taskScource="{ record }"> </span>
<span>{{ filterScource(record.tasK_SOURCE) }}</span> </div>
</template>
<template #taskTitle="{ record }">
<span class="task-tit" @click="changePage(record)">{{ record.tasK_TITLE }}</span>
</template> -->
<template v-if="column.key === 'action'">
<TableAction :actions="[
{
icon: 'clarity:note-edit-line',
tooltip: '编辑',
onClick: () => {
handleEdit(record)
},
},
]" />
</template> </template>
</template> </BasicTable>
<template #expandedRowRender="{ record }"> </div>
<BasicTable :rowClassName="rowClassName" class="childTabel" @register="registerTable1">
<template v-slot:bodyCell="{ column, record }">
<template v-if="column.key === 'iS_EXCEPT'">
<span v-if="record.iS_EXCEPT == 1"></span>
<span v-if="record.iS_EXCEPT == 0"></span>
</template>
<template v-if="column.key === 'iS_COMPLETE'">
<span v-if="record.iS_COMPLETE == 1"></span>
<span v-if="record.iS_COMPLETE == 0"></span>
</template>
<template v-if="column.key === 'iS_PUBLIC'">
<span v-if="record.iS_PUBLIC == 1"></span>
<span v-if="record.iS_PUBLIC == 0"></span>
</template>
<template v-if="column.key === 'iS_SET_AUTO_EMAIL'">
<span v-if="record.iS_SET_AUTO_EMAIL == 1"></span>
<span v-if="record.iS_SET_AUTO_EMAIL == 0"></span>
</template>
<template v-if="column.key === 'iS_DONGSH_RECV'">
<span v-if="record.iS_DONGSH_RECV == 1"></span>
<span v-if="record.iS_DONGSH_RECV == 0"></span>
</template>
<template v-if="column.key === 'iS_DONGSH_RESULT'">
<span v-if="record.iS_DONGSH_RESULT == 1"></span>
<span v-if="record.iS_DONGSH_RESULT == 0"></span>
</template>
<template v-if="column.key === 'iS_WEEK_DIFF'">
<span v-if="record.iS_WEEK_DIFF == 1"></span>
<span v-if="record.iS_WEEK_DIFF == 0"></span>
</template>
<template v-if="column.key === 'iS_PRICE_DATE_DIFF'">
<span v-if="record.iS_PRICE_DATE_DIFF == 1"></span>
<span v-if="record.iS_PRICE_DATE_DIFF == 0"></span>
</template>
<template v-if="column.key === 'iS_TRANSFER'">
<span v-if="record.iS_TRANSFER == 1"></span>
<span v-if="record.iS_TRANSFER == 0"></span>
</template>
<template v-if="column.key === 'iS_CUT_DATE_ADVANCED'">
<span v-if="record.iS_CUT_DATE_ADVANCED == 1"></span>
<span v-if="record.iS_CUT_DATE_ADVANCED == 0"></span>
</template>
<template v-if="column.key === 'iS_UPDATE_BOOKING'">
<span v-if="record.iS_UPDATE_BOOKING == 1"></span>
<span v-if="record.iS_UPDATE_BOOKING == 0"></span>
</template>
<template v-if="column.key === 'iS_SEND_EMAIL'">
<span v-if="record.iS_SEND_EMAIL == 1"></span>
<span v-if="record.iS_SEND_EMAIL == 0"></span>
</template>
<template v-if="column.key === 'iS_CHANGE'">
<span v-if="record.iS_CHANGE == 1"></span>
<span v-if="record.iS_CHANGE == 0"></span>
</template>
<template v-if="column.key === 'iS_EMAIL_SEND'">
<span v-if="record.iS_EMAIL_SEND == 1"></span>
<span v-if="record.iS_EMAIL_SEND == 0"></span>
</template>
<template v-if="column.key === 'procesS_STATUS'">
<span v-if="record.procesS_STATUS == 'TEMP'"></span>
<span v-if="record.procesS_STATUS == 'SUCC'"></span>
<span v-if="record.procesS_STATUS == 'FAILURE'"></span>
</template>
<template v-if="column.key === 'cautioN_NOTICE_TYPE'">
<span v-if="record.cautioN_NOTICE_TYPE == 'WeekAt'"></span>
<span v-if="record.cautioN_NOTICE_TYPE == 'PriceCalcDate'"></span>
<span v-if="record.cautioN_NOTICE_TYPE == 'ChangeTransfer'"></span>
<span v-if="record.cautioN_NOTICE_TYPE == 'ChangeVesselVoyno'"></span>
<span v-if="record.cautioN_NOTICE_TYPE == 'VGMCutDateAdvanced'">VGM</span>
<span v-if="record.cautioN_NOTICE_TYPE == 'SICutDateAdvanced'">SI</span>
</template>
<template v-if="column.key === 'ouT_BUSI_TYPE'">
<span v-if="record.ouT_BUSI_TYPE == ' SPLIT'"></span>
<span v-else></span>
</template>
<template v-if="column.key === 'sI_SUBTYPE'">
<span v-if="record.sI_SUBTYPE == 'BOOK_ORDER'"></span>
<span v-if="record.sI_SUBTYPE == 'MAIL_RECV'"></span>
</template>
<template v-if="column.key === 'plaN_TYPE'">
<span v-if="record.plaN_TYPE == 'Rolling'"></span>
<span v-if="record.plaN_TYPE == 'Transfer'"></span>
</template>
<template v-if="column.key === 'recvUserList'">
<a-popover :overlayStyle="{ width: '330px' }" trigger="click">
<template #content>
<div style="width: 300px">
<a-table size="small" :pagination="false" :data-source="record.recvUserList">
<a-table-column width="100" data-index="recvUserName" title="接收人" />
<a-table-column width="100" data-index="recvUserStatusName" title="状态" />
<a-table-column width="100" data-index="recvUserStatusTime" title="状态时间" />
</a-table>
</div>
</template>
<span style="cursor: pointer; color: #257afa">{{ record.recvUserListName }}</span>
</a-popover>
</template>
<template v-if="column.key === 'busI_TYPE'">
<span v-if="record.busI_TYPE == 'BookingConfirmation'"></span>
<span v-if="record.busI_TYPE == 'BookingAmendment'"></span>
<span v-if="record.busI_TYPE == 'BookingCancellation'"></span>
</template>
<template v-if="column.key === 'action'">
<TableAction :actions="[
{
icon: 'clarity:note-edit-line',
tooltip: '编辑',
onClick: () => {
handleEdit(record)
},
},
]" />
</template>
</template>
</BasicTable>
</template>
</BasicTable>
</div> </div>
<a-modal title="提示信息" width="900px" :visible="bcFileFlag" :footer="null" @cancel="bcFileFlag = false"> <a-modal title="提示信息" width="900px" :visible="bcFileFlag" :footer="null" @cancel="bcFileFlag = false">
<div class="bcfile-title" style="margin-top: 20px"> <div class="bcfile-title" style="margin-top: 20px">
@ -941,20 +875,16 @@ const [registerTable, { reload, setProps, getForm, getSelectRows, setColumns, se
width: 60, width: 60,
}, },
canResize: true, canResize: true,
resizeHeightOffset: 35, resizeHeightOffset: 45,
actionColumn: { id: '0',
width: 80, autoHeight: window.innerHeight - 330.5,
title: '操作',
dataIndex: 'action',
fixed: 'right',
},
}) })
const [registerTable1, { setTableData }] = useTable({ const [registerTable1, { setTableData }] = useTable({
immediate: false, immediate: false,
columns, columns,
isTreeTable: false, isTreeTable: false,
pagination: false, pagination: false,
striped: true, striped: false,
useSearchForm: false, useSearchForm: false,
bordered: true, bordered: true,
showIndexColumn: true, showIndexColumn: true,
@ -963,13 +893,7 @@ const [registerTable1, { setTableData }] = useTable({
}, },
canResize: true, canResize: true,
maxHeight: 200, maxHeight: 200,
resizeHeightOffset: 35, id: '1',
// actionColumn: {
// width: 80,
// title: '',
// dataIndex: 'action',
// fixed: 'right',
// },
}) })
function handleSearch(val) { function handleSearch(val) {
GetUserListAll({ queryKey: val }).then((res) => { GetUserListAll({ queryKey: val }).then((res) => {
@ -1603,10 +1527,9 @@ function laraRecordFun() {
} }
function expandIcon(props) { function expandIcon(props) {
console.log('props', props)
if (props.record.childTaskCount > 0) { if (props.record.childTaskCount > 0) {
return h('div', { class: 'expDiv', onClick: (e) => props.onExpand(props.record, e) }, return true
[h('i', { class: 'iconfont icon-zirenwu iconExp' }),
h('div', { class: 'expNum' }, props.record.childTaskCount)])
} }
} }
@ -1669,60 +1592,41 @@ function handleClickTree(row, index) {
} }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
:deep(.ant-popover-placement-top) { :deep(.ant-tabs-nav-list) {
width: 330px !important; display: flex;
} width: 100%;
:deep(.ant-tabs-bar) {
margin-bottom: 0 !important;
} }
:deep(.ant-table.ant-table-bordered>.ant-table-container) { :deep(.ant-tabs-tab + .ant-tabs-tab) {
border-left: none !important; margin: 0px !important;
} }
:deep(.ant-tabs-tab) { :deep(.ant-tabs-ink-bar) {
padding: 8px !important; height: 3px !important;
margin-right: 8px !important;
} }
:deep(.ant-form-item) {
display: flex;
}
:deep(.ant-radio-button-wrapper-checked) { :deep(.ant-tabs-tab) {
background: white; display: inline-block;
color: black; flex-grow: 1;
border: none; text-align: center;
font-weight: 700; width: 100%;
}
:deep(.ant-radio-button-wrapper) {
background: rgba(245, 249, 252, 1);
border: none !important;
} }
:deep(.ant-tabs-tab+.ant-tabs-tab) {
margin: 0 0 0 12px;
}
:deep(.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled)) {
background: white;
color: black;
font-weight: 700;
}
:deep(.nav-title .ant-radio-button-wrapper) { :deep(.nav-title .ant-radio-button-wrapper) {
padding: 0px;
flex-grow: 1; flex-grow: 1;
text-align: center;
font-size: 12px;
padding: 0px;
} }
:deep(.ant-radio-button-wrapper:not(:first-child)::before) {
width: 0px;
}
:deep(.ant-radio-group) { :deep(.ant-radio-group) {
width: 100%; width: 100%;
display: flex;
} }
.box-item { .box-item {
@ -1787,10 +1691,17 @@ function handleClickTree(row, index) {
line-height: 14px; line-height: 14px;
flex: 1; flex: 1;
margin-right: 10px; margin-right: 10px;
img {
height: 16px;
display: inline-block;
width: 16px;
margin-right: 6px;
}
} }
.bottom-box { .bottom-box {
border: 1px solid rgba(232, 235, 237, 1); padding: 0 20px;
} }
.nav-title { .nav-title {
@ -1805,6 +1716,10 @@ function handleClickTree(row, index) {
display: flex; display: flex;
} }
.p20 {
width: calc(100% - 300px);
}
.table-page-search-submitButtons { .table-page-search-submitButtons {
width: 100%; width: 100%;
display: block; display: block;
@ -1814,9 +1729,21 @@ function handleClickTree(row, index) {
.nav-bottom { .nav-bottom {
width: 100%; width: 100%;
margin-bottom: 14px; margin-bottom: 14px;
display: flex;
padding: 0 20px;
justify-content: space-between;
align-items: center;
border-bottom: 2px solid rgba(204, 214, 223, 1);
padding-bottom: 14px;
span {
font-size: 14px;
font-weight: bold;
}
.icon { .icon {
font-size: 12px; font-size: 14px;
color: rgba(122, 137, 150, 1);
} }
} }
@ -1860,10 +1787,10 @@ function handleClickTree(row, index) {
} }
.nav-title { .nav-title {
.ant-radio-button-wrapper { // .ant-radio-button-wrapper {
padding: 0 4px; // padding: 0 4px;
text-align: center; // text-align: center;
} // }
} }
.nav-top { .nav-top {
@ -1879,10 +1806,10 @@ function handleClickTree(row, index) {
} }
.nav-box { .nav-box {
padding: 5px 14px; padding: 5px 0px;
background: #fff; background: #fff;
border-radius: 2px; border-radius: 2px;
width: 20%; width: 300px;
flex-shrink: 0; flex-shrink: 0;
margin-top: 4px; margin-top: 4px;
} }
@ -1961,6 +1888,11 @@ function handleClickTree(row, index) {
} }
} }
.main-box {
display: flex;
width: 100%;
}
.bcfile-title { .bcfile-title {
border-bottom: 1px dashed black; border-bottom: 1px dashed black;
padding-bottom: 5px; padding-bottom: 5px;
@ -2012,8 +1944,25 @@ function handleClickTree(row, index) {
width: 15px; width: 15px;
} }
:deep(.ant-table-tbody .ant-table-row td) {
border-right: 1px solid #f0f0f0 !important;
text-align: center; .table-box {
background: rgba(240, 242, 245, 1)
}
.task-icon{
.iconfont{
font-size: 14px;
cursor: pointer;
}
}
:deep(.ant-table-cell){
text-align: left !important;
}
:deep(.ant-table.ant-table-small .ant-table-tbody .ant-table-wrapper:only-child .ant-table){
margin: 0px !important;
}
:deep(.ant-table-expanded-row-fixed){
padding: 0px !important;
} }
</style> </style>

@ -12,7 +12,7 @@
<div style="padding-left: 20px;margin-top: 20px"> <div style="padding-left: 20px;margin-top: 20px">
<div> 船公司</div> <div> 船公司</div>
<a-select size="small" @change="handleChangeSearch" v-model:value="carrierId" <a-select size="small" @change="handleChangeSearch" v-model:value="carrierId"
style="width: 180px;margin-right: 20px"> style="width: 24%;margin-right: 20px">
<a-select-option v-for="item in carrierList" :key="item.carrierId" :value="item.carrierId">{{ <a-select-option v-for="item in carrierList" :key="item.carrierId" :value="item.carrierId">{{
item.carrier item.carrier
}}</a-select-option> }}</a-select-option>
@ -21,8 +21,10 @@
<div class="list"> <div class="list">
<div title="操作" class="card"> <div title="操作" class="card">
<div class="left"> <div class="left">
<div class="card-title"> 操作<i @click="handleEdit('Operator')" <div class="card-title"> 操作
class="icon-piliangbianji iconfont"></i> <TableButton :show="{}">
<span @click="handleEdit('Operator')" class="iconfont icon-piliangbianji">修改</span>
</TableButton>
</div> </div>
<div class="taskTypeList"> <div class="taskTypeList">
<div class="taskType" v-for="(item, index) in roleTaskData.operatorTaskTypeList" <div class="taskType" v-for="(item, index) in roleTaskData.operatorTaskTypeList"
@ -30,16 +32,14 @@
item.taskTypeName }} item.taskTypeName }}
</div> </div>
</div> </div>
</div>
<div class="right">
<img src="../img/操作.png" alt="">
</div> </div>
</div> </div>
<div title="单证" class="card"> <div title="单证" class="card">
<div class="left"> <div class="left">
<div class="card-title"> 单证<i @click="handleEdit('VouchingClerk')" <div class="card-title"> 单证
class="icon-piliangbianji iconfont"></i> <TableButton :show="{}">
<span @click="handleEdit('VouchingClerk')" class="iconfont icon-piliangbianji">修改</span>
</TableButton>
</div> </div>
<div class="taskTypeList"> <div class="taskTypeList">
<div class="taskType" v-for="(item, index) in roleTaskData.vouchingClerkTaskTypeList" <div class="taskType" v-for="(item, index) in roleTaskData.vouchingClerkTaskTypeList"
@ -50,14 +50,13 @@
</div> </div>
</div> </div>
<div class="right">
<img src="../img/单证.png" alt="">
</div>
</div> </div>
<div title="销售" class="card"> <div title="销售" class="card">
<div class="left"> <div class="left">
<div class="card-title"> 销售<i @click="handleEdit('Sale')" <div class="card-title"> 销售
class="icon-piliangbianji iconfont"></i> <TableButton :show="{}">
<span @click="handleEdit('Sale')" class="iconfont icon-piliangbianji">修改</span>
</TableButton>
</div> </div>
<div class="taskTypeList"> <div class="taskTypeList">
<div class="taskType" v-for="(item, index) in roleTaskData.saleTaskTypeList" <div class="taskType" v-for="(item, index) in roleTaskData.saleTaskTypeList"
@ -67,9 +66,6 @@
</div> </div>
</div> </div>
<div class="right">
<img src="../img/销售.png" alt="">
</div>
</div> </div>
<!-- <div title="报关员" class="card"> <!-- <div title="报关员" class="card">
<div class="card-title"> <i @click="handleEdit('Custom')" class="icon-piliangbianji iconfont"></i> </div> <div class="card-title"> <i @click="handleEdit('Custom')" class="icon-piliangbianji iconfont"></i> </div>
@ -85,8 +81,10 @@
</div> --> </div> -->
<div title="客服" class="card"> <div title="客服" class="card">
<div class="left"> <div class="left">
<div class="card-title"> 客服<i @click="handleEdit('CustomerService')" <div class="card-title"> 客服
class="icon-piliangbianji iconfont"></i> <TableButton :show="{}">
<span @click="handleEdit('CustomerService')" class="iconfont icon-piliangbianji">修改</span>
</TableButton>
</div> </div>
<div class="taskTypeList"> <div class="taskTypeList">
<div class="taskType" v-for="(item, index) in roleTaskData.customerServiceTaskTypeList" <div class="taskType" v-for="(item, index) in roleTaskData.customerServiceTaskTypeList"
@ -96,9 +94,6 @@
</div> </div>
</div> </div>
<div class="right">
<img src="../img/客服.png" alt="">
</div>
</div> </div>
<!-- <div title="司机" class="card"> <!-- <div title="司机" class="card">
<div class="card-title"> <i @click="handleEdit('Driver')" class="icon-piliangbianji iconfont"></i> </div> <div class="card-title"> <i @click="handleEdit('Driver')" class="icon-piliangbianji iconfont"></i> </div>
@ -334,10 +329,11 @@ function searchInfo() {
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.main { .main {
// padding: 20px; background-color: rgba(240, 242, 245, 1);
height: calc(100vh - 60px);
.title { .title {
background: rgba(245, 249, 252, 1); background: white;
padding-left: 20px; padding-left: 20px;
div { div {
@ -348,25 +344,29 @@ function searchInfo() {
.iconfont { .iconfont {
cursor: pointer; cursor: pointer;
color: rgba(22, 119, 255, 1);
margin-left: 20px; margin-left: 20px;
font-weight: 200;
font-size: 12px;
} }
.card { .card {
border-radius: 2px; border-radius: 2px;
background: rgba(245, 249, 252, 1); background: white;
padding: 8px 10px 8px 20px; padding: 8px 10px 8px 20px;
border-radius: 6px;
display: flex; display: flex;
align-items: flex-start; align-items: flex-start;
width: 32%; border: 1px solid rgba(204, 214, 223, 1);
flex-shrink: 0; width: 24%;
min-height: 150px; min-height: 150px;
justify-content: space-between; justify-content: space-between;
.card-title { .card-title {
font-weight: 700; font-weight: 700;
font-size: 12px; font-size: 14px;
margin-bottom: 10px margin-bottom: 10px;
display: flex;
align-items: center;
} }
} }
@ -393,15 +393,11 @@ function searchInfo() {
padding: 0 20px; padding: 0 20px;
.card { .card {
margin-right: 20px; margin-right: 1%;
margin-bottom: 20px;
} }
} }
} }
:deep(.ant-tabs-top > .ant-tabs-nav) {
margin: 0px !important;
}
.type-list { .type-list {
display: flex; display: flex;
@ -419,4 +415,28 @@ function searchInfo() {
margin-right: 10px; margin-right: 10px;
} }
} }
:deep(.ant-tabs-nav-list) {
display: flex;
width: 100%;
}
:deep(.ant-tabs-tab + .ant-tabs-tab) {
margin: 0px !important;
}
:deep(.ant-tabs-ink-bar) {
height: 3px !important;
}
:deep(.ant-tabs-tab) {
display: inline-block;
text-align: center;
width: 5%;
}
:deep(.ant-tabs-nav) {
margin: 0px !important;
}
</style> </style>
Loading…
Cancel
Save