权限模板

feature-JimuReport-1106-yjl
sunzehua 4 weeks ago
parent 3f92ab7c26
commit 52e26cd4d1

@ -52,5 +52,5 @@ html[data-theme='light'] {
}
.ant-popover-inner-content {
width: 230px
min-width: 230px
}

@ -2092,6 +2092,15 @@ export function RefreshYGT(data) {
})
}
// 刷新提箱返场
export function RefreshYard(data) {
return request({
url: '/opApi/SeaExport/RefreshYard',
method: 'post',
data,
})
}
// 获取商品下拉列表 (Auth)
export function GetClientGoodsList(params) {
return request({

@ -462,6 +462,11 @@ export const columns: BasicColumn[] = [
dataIndex: 'bookStatus',
width: 200
},
{
title: '提箱返场',
dataIndex: 'statusLog',
width: 140
},
{
title: '揽货人',
sorter: true,

@ -109,10 +109,8 @@
</template>
<!-- 运踪 -->
<template v-if="column.dataIndex == 'bookStatus'">
<div @click="checkBookStatus(record.id)">
</div>
<div>
<span class="iconfont icon-refresh-1-copy"></span>
<span @click="checkBookStatus(record.id)" style="cursor: pointer; color: rgb(7, 231, 56);" class="iconfont icon-refresh-1-copy"></span>
<span v-for="(item, index) in record.bookingStatus" :key="item.id">
<a-tooltip placement="top" v-if="item.statusTime">
<template #title>{{ item.statusTime }}</template>
@ -126,6 +124,38 @@
</span>
</div>
</template>
<!-- 提箱返场 -->
<template v-if="column.dataIndex == 'statusLog'">
<div v-if="record.statusLog" class="txfc">
<div v-if="record.statusLog.length > 0">
<div class="billtrace-btn1 txfc" style="display: flex; align-items: center">
<i style="cursor: pointer; color: rgb(7, 231, 56); margin-right: 5px" @click="handleRefshYard(record.id)"
class="iconfont icon-refresh-1-copy"></i>
<a-popover trigger="click">
<template #content>
<div>
<span class="txfcSpan" style="width: 120px">箱号</span>
<span @click="handleGetWebData(record, 'YARD')" class="txfcSpan">提箱</span>
<span @click="handleGetWebData(record, 'YARD')" class="txfcSpan">返场</span>
</div>
<div v-for="(item, index) in record.statusLog" :key="index">
<span class="txfcSpan" style="width: 120px">{{ item.cntrno }}</span>
<span class="txfcSpan">{{ item.txOpTime }}</span>
<span class="txfcSpan">{{ item.fcOpTime }}</span>
</div>
</template>
<span @click="handleGetWebData(record, 'YARD')" :class="{ active: record.statusLog[0].txOpTime }">
提箱
</span>
<span @click="handleGetWebData(record, 'YARD')" :class="{ active: record.statusLog[0].fcOpTime }">
返场
</span>
</a-popover>
<span style="margin-left: 5px">未提{{ record.txOpNumber }}/{{ record.statusLog.length }}</span>
</div>
</div>
</div>
</template>
<!-- 格式单比对 -->
<template v-if="column.dataIndex == 'lstDraftCompareRlt'">
<div class="goods-status">
@ -305,7 +335,7 @@ import { useMessage } from '/@/hooks/web/useMessage'
import { formatTableData } from '/@/hooks/web/common'
import { updateTableField } from '/@/hooks/component/costomForm'
const lstDraftCompareRlt = defineAsyncComponent(() => import("../../../components/lstDraftCompareRlt/index.vue"))
import { RefreshYGT } from './api/BookingLedger.js'
import { RefreshYGT,RefreshYard } from './api/BookingLedger.js'
import { useI18n } from '/@/hooks/web/useI18n'
const { t } = useI18n()
import { useAppStore } from '/@/store/modules/app'
@ -549,6 +579,26 @@ function handleGetWebDataYZ(row, code) {
setLoading(false)
})
}
function handleGetWebData(row, code) {
const data = {
bookingId: row.id,
webCode: code
}
webData.value = ''
webDataTitle.value = '场站数据'
setLoading(true)
GetWebData(data).then((res) => {
if (res.code === 200) {
webData.value = res.data
webDataFlag.value = true
} else {
createMessage.error(res.message)
}
setLoading(false)
}).catch(() => {
setLoading(false)
})
}
const bsloading = ref(false)
//
const checkBookStatus = (id) => {
@ -558,6 +608,13 @@ const checkBookStatus = (id) => {
reload()
})
}
const handleRefshYard = (id) => {
setLoading(true)
RefreshYard({ ids: [id], businessType: 1 }).then(res => {
reload()
setLoading(false)
})
}
const isAdvancedQuery = ref(false)
// const showColumns = ref({})
// const formAllData = ref([])
@ -659,30 +716,37 @@ onMounted(() => {
<style lang="less">
.ds-sea-export-table {
height: 100%;
.TIJIAO {
color: #47AB00;
background: #F2FAE8;
}
.YSDAN {
color: #007D75;
background: #EDFAED;
}
.YFD {
color: #004445;
background: #EDFAED;
}
.YFC {
color: #257AFA;
background: #E6F5FF;
}
.YSDBC {
color: #8100D6;
background: #F8EDFF;
}
.YDC {
color: #2525BA;
background: #F3EDFF;
}
.ant-table-footer {
display: none;
}
@ -720,4 +784,21 @@ onMounted(() => {
font-weight: bold;
font-size: 12px;
}
.billtrace-btn1 {
font-size: 12px;
.active {
cursor: pointer;
color: #ff9702 !important;
font-weight: bold;
font-size: 12px;
}
}
.txfcSpan {
width: 140px;
color: black;
display: inline-block;
}
</style>

Loading…
Cancel
Save