lijingjia 4 months ago
commit 06cc0451bf

@ -340,7 +340,7 @@ function handleSum() {
} }
sumload.value = true sumload.value = true
GetMergeList(data).then(res => { GetMergeList(data).then(res => {
if (res.successed) { if (res.succeeded) {
this.$refs.generation.initSum(res.data) this.$refs.generation.initSum(res.data)
} else { } else {
createMessage.error(res.message) createMessage.error(res.message)
@ -355,7 +355,7 @@ const loadingExport = ref(false)
function handleSuport() { function handleSuport() {
loadingExport.value = true loadingExport.value = true
PrintOrder(getForm().getFieldsValue()).then(res => { PrintOrder(getForm().getFieldsValue()).then(res => {
if (res.successed) { if (res.succeeded) {
// window.open( // window.open(
// ` ${process.env.VUE_APP_API_BASE_URL}/BookingOrder/downloadPrint?filename=${res.data}`, // ` ${process.env.VUE_APP_API_BASE_URL}/BookingOrder/downloadPrint?filename=${res.data}`,
// '_blank' // '_blank'

@ -60,6 +60,7 @@ const [registerForm, { resetFields, setFieldsValue, getFieldsValue }] = useForm(
showActionButtonGroup: false, showActionButtonGroup: false,
}) })
const [registerModal, { setModalProps, closeModal }] = useModalInner((data) => { const [registerModal, { setModalProps, closeModal }] = useModalInner((data) => {
resetFields()
if (data.type === 'init') { if (data.type === 'init') {
console.log(1231233) console.log(1231233)
setFieldsValue(data.row) setFieldsValue(data.row)
@ -177,7 +178,7 @@ function handleSaveCabin() {
} }
setModalProps({ loading: true }) setModalProps({ loading: true })
CreateBookingOrder(ApiData).then(res => { CreateBookingOrder(ApiData).then(res => {
if (res.successed) { if (res.succeeded) {
closeModal() closeModal()
createMessage.success(res.message) createMessage.success(res.message)
} else { } else {

@ -1,18 +1,18 @@
<template> <template>
<a-row type="flex" :gutter="16"> <a-row type="flex" :gutter="16">
<a-col> <a-col v-if="buttonList?.includes('')" >
<a-button type="primary" @click="OpenUser"></a-button> <a-button type="primary" @click="OpenUser"></a-button>
</a-col> </a-col>
<a-col> <a-col v-if="buttonList?.includes('完成')">
<a-button type="primary" @click="FnCompleteTask"></a-button> <a-button type="primary" @click="FnCompleteTask"></a-button>
</a-col> </a-col>
<a-col> <a-col v-if="buttonList?.includes('生成')">
<a-button type="primary" @click="OpenModal"> </a-button> <a-button type="primary" @click="OpenModal"> </a-button>
</a-col> </a-col>
<a-col> <a-col v-if="buttonList?.includes('取消')">
<a-button type="danger" @click="FnCancelTask"></a-button> <a-button type="danger" @click="FnCancelTask"></a-button>
</a-col> </a-col>
<a-col> <a-col v-if="buttonList?.includes('邮件')">
<a-button type="primary" @click="handleSendMail"></a-button> <a-button type="primary" @click="handleSendMail"></a-button>
</a-col> </a-col>
</a-row> </a-row>
@ -34,6 +34,9 @@ const { createMessage } = useMessage()
const props = defineProps({ const props = defineProps({
id: { id: {
type: String || Number type: String || Number
},
buttonList:{
type: Array
} }
}); });
const UserVisible = ref(false); const UserVisible = ref(false);

@ -8,8 +8,8 @@
<a-spin :spinning="levelLoading" tip="加载中..."> <a-spin :spinning="levelLoading" tip="加载中...">
<div class="bottom-box"> <div class="bottom-box">
<div class="nav-title" v-if="levelTop.length > 0"> <div class="nav-title" v-if="levelTop.length > 0">
<a-radio-group button-style="solid" v-model:value="activeTopKey" style="margin-bottom: 16px" <a-radio-group button-style="solid" v-model:value="activeTopKey"
@change="changeTopLevel"> style="margin-bottom: 16px;display: flex" @change="changeTopLevel">
<a-radio-button v-for="(item, index) in levelTop" :value="item.key" :key="index"> <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 class="nav-top">{{ item.name }}<span class="nav-top-tip">({{ item.total
}})</span></span> }})</span></span>
@ -37,19 +37,19 @@
</div> </div>
</a-spin> </a-spin>
</div> </div>
<div style="width: 84%;"> <div style="width: 80%;">
<BasicTable class="ds-table" @register="registerTable" @row-dbClick="handledbclick"> <BasicTable class="ds-table" @register="registerTable" @row-dbClick="handledbclick">
<template #tableTitle> <template #tableTitle>
<a-popconfirm title="是否取消当前选择项?" ok-text="" cancel-text="" @confirm="removeFun"> <a-popconfirm title="是否取消当前选择项?" ok-text="" cancel-text="" @confirm="removeFun">
<a-button type="link"> <i class="icon-chahao iconfont"></i> 取消</a-button> <a-button type="link"> <i class="icon-weiwancheng iconfont"></i> 取消</a-button>
</a-popconfirm> </a-popconfirm>
<a-popconfirm title="确定完成当前选择项?" ok-text="" cancel-text="" @confirm="submitFun"> <a-popconfirm title="确定完成当前选择项?" ok-text="" cancel-text="" @confirm="submitFun">
<a-button type="link"><i class="icon-yiwancheng2 iconfont"></i>完成</a-button> <a-button type="link"><i class="icon-yiwancheng2 iconfont"></i>完成</a-button>
</a-popconfirm> </a-popconfirm>
<a-button type="link" @click="FnPrint"><i class="icon-weibiaoti-- iconfont"></i>打印</a-button> <a-button type="link" @click="FnPrint"><i class="icon-weibiaoti-- iconfont"></i>打印</a-button>
<a-button type="link" @click="FnSendCar"><i class="icon-chezaikucun iconfont"></i>派车</a-button> <!-- <a-button type="link" @click="FnSendCar"><i class="icon-chezaikucun iconfont"></i>派车</a-button>
<a-button type="link" @click="CancelSendCar"><i <a-button type="link" @click="CancelSendCar"><i
class="icon-weiwancheng iconfont"></i>取消派车</a-button> class="icon-weiwancheng iconfont"></i>取消派车</a-button> -->
<template v-if="taskType === 'BC'"> <template v-if="taskType === 'BC'">
<a-popconfirm title="确定批量下载当前选择项?" ok-text="" cancel-text="" @confirm="downloadFun"> <a-popconfirm title="确定批量下载当前选择项?" ok-text="" cancel-text="" @confirm="downloadFun">
<a-button type="link"><i class="icon-xiazai-wenjianxiazai-16 iconfont"></i>批量下载</a-button> <a-button type="link"><i class="icon-xiazai-wenjianxiazai-16 iconfont"></i>批量下载</a-button>
@ -215,6 +215,22 @@
</BasicTable> </BasicTable>
</div> </div>
</div> </div>
<a-modal title="提示信息" width="900px" :visible="bcFileFlag" :footer="null" @cancel="bcFileFlag = false">
<div class="bcfile-title" style="margin-top: 20px">
<div>
<i class="icon-fuzhi4 iconfont" title="复制" style="margin-right: 10px;cursor: pointer;" @click="handleCopy"></i>
时间{{ bcFile.executeTime }}
</div>
<span> {{ bcFile.batchTotal }}</span>
</div>
<div ref="bcBox" class="bc-box" v-if="bcFile.ext && bcFile.ext.length > 0">
<div class="bc-item" v-for="(item, index) in bcFile.ext" :key="index">
<span>{{ item.bno }}</span>
<span> {{ item.msg }}</span>
</div>
</div>
<div v-else>{{ bcFile.msg }}</div>
</a-modal>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
@ -222,6 +238,8 @@ import { ref, onMounted } from 'vue'
import { formatParams } from '/@/hooks/web/common' import { formatParams } from '/@/hooks/web/common'
import { searchFormSchema } from './columns' import { searchFormSchema } from './columns'
import { BasicTable, useTable, TableAction } from '/@/components/Table' import { BasicTable, useTable, TableAction } from '/@/components/Table'
import { useMessage } from '../../hooks/web/useMessage'
const { createMessage } = useMessage()
import { import {
GetCurrentTotalStat, GetPageAsync, TaskManageTruckGetInfoByTaskId, GetCurrentTotalStat, GetPageAsync, TaskManageTruckGetInfoByTaskId,
TaskManageTruckPrintTemplateWithHistoryList, TaskManageTruckPrintTemplateWithHistoryList,
@ -384,7 +402,7 @@ const [registerTable, { reload, setLoading, getForm, getSelectRows, setProps }]
const res: API.DataResult = await GetPageAsync(p) const res: API.DataResult = await GetPageAsync(p)
return new Promise((resolve) => { return new Promise((resolve) => {
resolve({ resolve({
data: res.data, total: res.count data: startData, total: res.count
}) })
}) })
}, },
@ -443,154 +461,154 @@ function handleEdit(data) {
// VGM // VGM
go({ go({
path: '/commontaskmanage/vgmCompare', path: '/commontaskmanage/vgmCompare',
query: { taskPKId: data.pK_ID, type: data.status } query: { taskPKId: data.id, type: data.status }
}); });
break; break;
case 'INVOICE_BILL_MAIL': case 'INVOICE_BILL_MAIL':
// //
go({ go({
path: '/commontaskmanage/invoiceBillMail', path: '/commontaskmanage/invoiceBillMail',
query: { taskPKId: data.pK_ID } query: { taskPKId: data.id }
}); });
break; break;
case 'PER_BILL': case 'PER_BILL':
// //
go({ go({
path: '/commontaskmanage/perBill', path: '/commontaskmanage/perBill',
query: { taskPKId: data.pK_ID } query: { taskPKId: data.id }
}); });
break; break;
case 'CHANGE_SHIP': case 'CHANGE_SHIP':
// //
go({ go({
path: '/commontaskmanage/changeShip', path: '/commontaskmanage/changeShip',
query: { taskPKId: data.pK_ID, type: 'change' } query: { taskPKId: data.id, type: 'change' }
}); });
break; break;
case 'ABORT_CHANGE_SHIP': case 'ABORT_CHANGE_SHIP':
// //
go({ go({
path: '/commontaskmanage/changeShip', path: '/commontaskmanage/changeShip',
query: { taskPKId: data.pK_ID, type: 'abortChange' } query: { taskPKId: data.id, type: 'abortChange' }
}); });
break; break;
case 'ORIGINAL_LOST': case 'ORIGINAL_LOST':
// //
go({ go({
path: '/commontaskmanage/originalLost', path: '/commontaskmanage/originalLost',
query: { taskPKId: data.pK_ID } query: { taskPKId: data.id }
}); });
break; break;
case 'SI_FEEDBACK': case 'SI_FEEDBACK':
// //
go({ go({
path: '/commontaskmanage/TaskmanageDetail', path: '/commontaskmanage/TaskmanageDetail',
query: { taskPKId: data.pK_ID } query: { taskPKId: data.id }
}); });
break; break;
case 'TRUCK_DISPATCH': case 'TRUCK_DISPATCH':
// //
go({ go({
name: 'SendCarAdd', name: 'SendCarAdd',
query: { type: 'Edit', taskPKId: data.pK_ID } query: { type: 'Edit', taskPKId: data.id }
}); });
break; break;
case 'BC': case 'BC':
// BC // BC
go({ go({
path: '/commontaskmanage/BcEditing', path: '/commontaskmanage/BcEditing',
query: { taskPKId: data.pK_ID } query: { taskPKId: data.id }
}); });
break; break;
case 'BC_MODIFY': case 'BC_MODIFY':
// BC Amendment // BC Amendment
go({ go({
path: '/commontaskmanage/Amendment', path: '/commontaskmanage/Amendment',
query: { taskPKId: data.pK_ID } query: { taskPKId: data.id }
}); });
break; break;
case 'CANCELLATION': case 'CANCELLATION':
// Cancellation // Cancellation
go({ go({
path: '/commontaskmanage/Cancellation', path: '/commontaskmanage/Cancellation',
query: { taskPKId: data.pK_ID } query: { taskPKId: data.id }
}); });
break; break;
case 'ROLLING_NOMINATION': case 'ROLLING_NOMINATION':
// ROLLING_NOMINATION // ROLLING_NOMINATION
go({ go({
path: '/commontaskmanage/rollingNomination', path: '/commontaskmanage/rollingNomination',
query: { taskPKId: data.pK_ID } query: { taskPKId: data.id }
}); });
break; break;
case 'VGM_FEEDBACK': case 'VGM_FEEDBACK':
// VGM_FEEDBACK // VGM_FEEDBACK
go({ go({
path: '/commontaskmanage/vgmDetail', path: '/commontaskmanage/vgmDetail',
query: { taskPKId: data.pK_ID, type: 'VGM_FEEDBACK' } query: { taskPKId: data.id, type: 'VGM_FEEDBACK' }
}); });
break; break;
case 'CAUTION_NOTICE': case 'CAUTION_NOTICE':
// CAUTION_NOTICE // CAUTION_NOTICE
go({ go({
path: '/commontaskmanage/cautionNotice', path: '/commontaskmanage/cautionNotice',
query: { taskPKId: data.pK_ID } query: { taskPKId: data.id }
}); });
break; break;
case 'VGM_MISSING': case 'VGM_MISSING':
// VGM_MISSING VGM // VGM_MISSING VGM
go({ go({
path: '/commontaskmanage/vgmDetail', path: '/commontaskmanage/vgmDetail',
query: { taskPKId: data.pK_ID, type: 'VGM_MISSING' } query: { taskPKId: data.id, type: 'VGM_MISSING' }
}); });
break; break;
case 'CUT_MODIFY': case 'CUT_MODIFY':
// CUT_MODIFY // CUT_MODIFY
go({ go({
path: '/commontaskmanage/cutModify', path: '/commontaskmanage/cutModify',
query: { taskPKId: data.pK_ID } query: { taskPKId: data.id }
}); });
break; break;
case 'POD_DISCHARGE_FULL': case 'POD_DISCHARGE_FULL':
// //
go({ go({
path: '/commontaskmanage/podDischargeFull', path: '/commontaskmanage/podDischargeFull',
query: { taskPKId: data.pK_ID } query: { taskPKId: data.id }
}); });
break; break;
case 'TRNAS_PLAN_HAS_CHANGE': case 'TRNAS_PLAN_HAS_CHANGE':
// //
go({ go({
path: '/commontaskmanage/transPlanHasChange', path: '/commontaskmanage/transPlanHasChange',
query: { taskPKId: data.pK_ID } query: { taskPKId: data.id }
}); });
break; break;
case 'DRAFT': case 'DRAFT':
// DRAFT // DRAFT
go({ go({
path: '/commontaskmanage/draft', path: '/commontaskmanage/draft',
query: { taskPKId: data.pK_ID } query: { taskPKId: data.id }
}); });
break; break;
case 'ROUTE_CUT_CHANGE': case 'ROUTE_CUT_CHANGE':
// 线 // 线
go({ go({
path: '/commontaskmanage/routeCutChange', path: '/commontaskmanage/routeCutChange',
query: { taskPKId: data.pK_ID } query: { taskPKId: data.id }
}); });
break; break;
case 'POD_GATEOUT_FULL': case 'POD_GATEOUT_FULL':
// //
go({ go({
path: '/commontaskmanage/podGateoutFull', path: '/commontaskmanage/podGateoutFull',
query: { taskPKId: data.pK_ID } query: { taskPKId: data.id }
}); });
break; break;
default: default:
// //
go({ go({
path: '/commontaskmanage/BookingDetails', path: '/commontaskmanage/BookingDetails',
query: { taskPKId: data.pK_ID } query: { taskPKId: data.id }
}); });
break; break;
} }
@ -598,53 +616,49 @@ function handleEdit(data) {
function handleDelete() { function handleDelete() {
} }
const bcFileFlag = ref(false)
const bcFile = ref({}) as any
// //
function removeFun() { function removeFun() {
const select = this.$refs.xGrid.getCheckboxRecords() const select = getSelectRows()
const pkIdArr = select.map((item, index) => { const pkIdArr = select.map((item, index) => {
return item.pK_ID return item.id
}) })
console.log('当前选中', pkIdArr)
if (pkIdArr.length === 0) { if (pkIdArr.length === 0) {
this.$message.error('请选择数据') createMessage.error('请选择数据')
return false return false
} }
CancelTask(pkIdArr) CancelTask(pkIdArr)
.then(res => { .then(res => {
if (res.success) { if (res.succeeded) {
this.$message.success('取消任务成功') createMessage.success('取消任务成功')
this.bcFileFlag = true bcFileFlag.value = true
this.bcFile = res.data bcFile.value = res.data
this.getCurrentTotalStat() reload()
} else { } else {
this.$message.error(res.message) createMessage.error(res.message)
} }
}) })
.catch(err => {
console.log(err)
})
} }
// //
function submitFun() { function submitFun() {
const select = this.$refs.xGrid.getCheckboxRecords() const select = getSelectRows()
const pkIdArr = select.map((item, index) => { const pkIdArr = select.map((item, index) => {
return item.pK_ID return item.id
}) })
console.log('当前选中', pkIdArr)
if (pkIdArr.length === 0) { if (pkIdArr.length === 0) {
this.$message.error('请选择数据') createMessage.error('请选择数据')
return false return false
} }
CompleteTask(pkIdArr) CompleteTask(pkIdArr)
.then(res => { .then(res => {
if (res.success) { if (res.succeeded) {
this.$message.success('已完成任务') createMessage.success('已完成任务')
this.bcFileFlag = true bcFileFlag.value = true
this.bcFile = res.data bcFile.value = res.data
this.getCurrentTotalStat() reload()
} else { } else {
this.$message.error(res.message) createMessage.error(res.message)
} }
}) })
.catch(err => { .catch(err => {
@ -653,13 +667,13 @@ function submitFun() {
} }
// //
function downloadFun() { function downloadFun() {
const select = this.$refs.xGrid.getCheckboxRecords() const select = getSelectRows()
const pkIdArr = select.map((item, index) => { const pkIdArr = select.map((item, index) => {
return item.pK_ID return item.id
}) })
console.log('当前选中', pkIdArr) console.log('当前选中', pkIdArr)
if (pkIdArr.length === 0) { if (pkIdArr.length === 0) {
this.$message.error('请选择数据') createMessage.error('请选择数据')
return false return false
} }
pkIdArr.map(item => { pkIdArr.map(item => {
@ -695,36 +709,47 @@ function downloadTaskAttach(id, name) {
// //
function reComparisonFun() { function reComparisonFun() {
// //
const select = this.$refs.xGrid.getCheckboxRecords() const select = getSelectRows()
const pkIdArr = select.map((item, index) => { const pkIdArr = select.map((item, index) => {
return item.pK_ID return item.id
}) })
if (pkIdArr.length === 0) { if (pkIdArr.length === 0) {
this.$message.error('请选择数据') createMessage.error('请选择数据')
return false return false
} }
const query = this.$qs.stringify({ PKIds: pkIdArr }, { arrayFormat: 'repeat' }) const query = this.$qs.stringify({ PKIds: pkIdArr }, { arrayFormat: 'repeat' })
ManualReCompareBC(query) ManualReCompareBC(query)
.then(res => { .then(res => {
if (res.success) { if (res.succeeded) {
this.$message.success('重新比对完成') createMessage.success('重新比对完成')
} else { } else {
this.$message.error(res.message) createMessage.error(res.message)
} }
}) })
.catch(err => { .catch(err => {
console.log(err) console.log(err)
}) })
} }
const bcBox = ref()
function handleCopy() {
const text = bcBox.value.innerText
var cInput = document.createElement('input')
cInput.value = text
document.body.appendChild(cInput)
cInput.select() //
document.execCommand('copy')
document.body.removeChild(cInput)
createMessage.success('复制成功')
}
// //
function SendEmailFun() { function SendEmailFun() {
const select = this.$refs.xGrid.getCheckboxRecords() const select = getSelectRows()
const pkIdArr = select.map((item, index) => { const pkIdArr = select.map((item, index) => {
return item.pK_ID return item.id
}) })
console.log('当前选中', pkIdArr) console.log('当前选中', pkIdArr)
if (pkIdArr.length === 0) { if (pkIdArr.length === 0) {
this.$message.error('请选择数据') createMessage.error('请选择数据')
return false return false
} }
this.sendEmailPkIds = pkIdArr this.sendEmailPkIds = pkIdArr
@ -733,22 +758,22 @@ function SendEmailFun() {
// //
function FnCilckTemplateType(templateId) { function FnCilckTemplateType(templateId) {
this.$message.success(`搜索文件中...`) createMessage.success(`搜索文件中...`)
const printType = this.PrintType == 4 ? 20 : 10 const printType = this.PrintType == 4 ? 20 : 10
TaskManageTruckGetInfoByTaskId({ taskPkId: this.pkIdArr[0] }) TaskManageTruckGetInfoByTaskId({ taskPkId: this.pkIdArr[0] })
.then(res => { .then(res => {
if (res.data.succ) { if (res.data.succ) {
TaskManageTruckPrint({ TaskManageTruckPrint({
taskPKId: res.data.ext.pK_ID, taskPKId: res.data.ext.id,
templateId, templateId,
cateCode: 'truckBill', cateCode: 'truckBill',
type: this.PrintType, type: this.PrintType,
printType printType
}).then(res => { }).then(res => {
if (!res.success) { if (!res.succeeded) {
this.$message.error(res.message) createMessage.error(res.message)
} else { } else {
// this.$message.success(res.data) // createMessage.success(res.data)
if (this.PrintType == 1) { if (this.PrintType == 1) {
window.open(` ${process.env.VUE_APP_API_BASE_URL}/BookingOrder/ViewPrintPdf/${res.data}`, '_blank') window.open(` ${process.env.VUE_APP_API_BASE_URL}/BookingOrder/ViewPrintPdf/${res.data}`, '_blank')
} else { } else {
@ -760,7 +785,7 @@ function FnCilckTemplateType(templateId) {
} }
}) })
} else { } else {
this.$message.error(`${res.data.msg}`) createMessage.error(`${res.data.msg}`)
} }
this.confirmLoading = false this.confirmLoading = false
}) })
@ -787,12 +812,12 @@ function GetPrintData(cateCode, printType) {
}) })
} }
function FnPrint() { function FnPrint() {
const select = this.$refs.xGrid.getCheckboxRecords() const select = getSelectRows()
const pkIdArr = select.map((item, index) => { const pkIdArr = select.map((item, index) => {
return item.pK_ID return item.id
}) })
if (pkIdArr.length != 1) { if (pkIdArr.length != 1) {
this.$message.error('请仅选择一条数据') createMessage.error('请仅选择一条数据')
return false return false
} }
this.pkIdArr = pkIdArr this.pkIdArr = pkIdArr
@ -806,59 +831,59 @@ function FnPrint() {
this.GetPrintData('truckBill', printType) this.GetPrintData('truckBill', printType)
} }
function FnSendCar() { function FnSendCar() {
const select = this.$refs.xGrid.getCheckboxRecords() const select = getSelectRows()
const pkIdArr = select.map((item, index) => { const pkIdArr = select.map((item, index) => {
return item.pK_ID return item.id
}) })
if (pkIdArr.length === 0) { if (pkIdArr.length === 0) {
this.$message.error('请选择数据') createMessage.error('请选择数据')
return false return false
} }
TaskManageTruckSendDispatchBatchByTask(pkIdArr).then(res => { TaskManageTruckSendDispatchBatchByTask(pkIdArr).then(res => {
if (res.data.succ) { if (res.data.succ) {
this.$message.success('派车成功') createMessage.success('派车成功')
} else { } else {
this.$message.error(`派车失败,${res.data.msg}`) createMessage.error(`派车失败,${res.data.msg}`)
} }
}) })
} }
function CancelSendCar() { function CancelSendCar() {
const select = this.$refs.xGrid.getCheckboxRecords() const select = getSelectRows()
const pkIdArr = select.map((item, index) => { const pkIdArr = select.map((item, index) => {
return item.pK_ID return item.id
}) })
if (pkIdArr.length === 0) { if (pkIdArr.length === 0) {
this.$message.error('请选择数据') createMessage.error('请选择数据')
return false return false
} }
TaskManageTruckCancelDispatchBatchByTask(pkIdArr).then(res => { TaskManageTruckCancelDispatchBatchByTask(pkIdArr).then(res => {
if (res.data.succ) { if (res.data.succ) {
this.$message.success('取消派车成功') createMessage.success('取消派车成功')
} else { } else {
this.$message.error(`取消派车失败,${res.data.msg}`) createMessage.error(`取消派车失败,${res.data.msg}`)
} }
}) })
} }
// //
function laraPaperCalc() { function laraPaperCalc() {
const select = this.$refs.xGrid.getCheckboxRecords() const select = getSelectRows()
const pkIdArr = select.map((item, index) => { const pkIdArr = select.map((item, index) => {
return item.pK_ID return item.id
}) })
if (pkIdArr.length === 0) { if (pkIdArr.length === 0) {
this.$message.error('请选择数据') createMessage.error('请选择数据')
return false return false
} }
const query = this.$qs.stringify({ PKIds: pkIdArr }, { arrayFormat: 'repeat' }) const query = this.$qs.stringify({ PKIds: pkIdArr }, { arrayFormat: 'repeat' })
LaraPaperCalc(query) LaraPaperCalc(query)
.then(res => { .then(res => {
if (res.success) { if (res.succeeded) {
this.paperCalcRes = res.data this.paperCalcRes = res.data
this.paperCalcExtras = res.extras || '' this.paperCalcExtras = res.extras || ''
this.paperCalcVisible = true this.paperCalcVisible = true
} else { } else {
this.$message.error(res.message) createMessage.error(res.message)
} }
}) })
.catch(err => { .catch(err => {
@ -870,12 +895,12 @@ function handlePaperCalcCancel() {
} }
// COPY // COPY
function copyPrintFun() { function copyPrintFun() {
const select = this.$refs.xGrid.getCheckboxRecords() const select = getSelectRows()
const pkIdArr = select.map((item, index) => { const pkIdArr = select.map((item, index) => {
return item.pK_ID return item.id
}) })
if (pkIdArr.length === 0) { if (pkIdArr.length === 0) {
this.$message.error('请选择数据') createMessage.error('请选择数据')
return false return false
} }
PrintBatch({ PrintBatch({
@ -885,7 +910,7 @@ function copyPrintFun() {
// //
if (res.message) { if (res.message) {
const downLoadErrTip = `COPY打印失败${res.message}` const downLoadErrTip = `COPY打印失败${res.message}`
this.$message.error(downLoadErrTip) createMessage.error(downLoadErrTip)
return false return false
} }
const blob = new Blob([res], { type: `application/pdf;chartset=UTF-8` }) const blob = new Blob([res], { type: `application/pdf;chartset=UTF-8` })
@ -904,12 +929,12 @@ function copyPrintFun() {
} }
// COPY // COPY
function copyDownloadFun() { function copyDownloadFun() {
const select = this.$refs.xGrid.getCheckboxRecords() const select = getSelectRows()
const pkIdArr = select.map((item, index) => { const pkIdArr = select.map((item, index) => {
return item.pK_ID return item.id
}) })
if (pkIdArr.length === 0) { if (pkIdArr.length === 0) {
this.$message.error('请选择数据') createMessage.error('请选择数据')
return false return false
} }
DownloadAttach({ DownloadAttach({
@ -919,7 +944,7 @@ function copyDownloadFun() {
// 404 // 404
if (res.message) { if (res.message) {
const downLoadErrTip = `COPY下载失败${res.message}` const downLoadErrTip = `COPY下载失败${res.message}`
this.$message.error(downLoadErrTip) createMessage.error(downLoadErrTip)
return false return false
} }
const blob = new Blob([res], { type: `application/pdf;chartset=UTF-8` }) const blob = new Blob([res], { type: `application/pdf;chartset=UTF-8` })
@ -938,12 +963,12 @@ function copyDownloadFun() {
} }
// //
function printBatchFun() { function printBatchFun() {
const select = this.$refs.xGrid.getCheckboxRecords() const select = getSelectRows()
const pkIdArr = select.map((item, index) => { const pkIdArr = select.map((item, index) => {
return item.pK_ID return item.id
}) })
if (pkIdArr.length === 0) { if (pkIdArr.length === 0) {
this.$message.error('请选择数据') createMessage.error('请选择数据')
return false return false
} }
DownloadOriginalTask({ DownloadOriginalTask({
@ -953,7 +978,7 @@ function printBatchFun() {
// //
if (res.message) { if (res.message) {
const downLoadErrTip = `正本下载失败:${res.message}` const downLoadErrTip = `正本下载失败:${res.message}`
this.$message.error(downLoadErrTip) createMessage.error(downLoadErrTip)
return false return false
} }
const blob = new Blob([res], { type: `application/pdf;chartset=UTF-8` }) const blob = new Blob([res], { type: `application/pdf;chartset=UTF-8` })
@ -972,12 +997,12 @@ function printBatchFun() {
} }
// LARA // LARA
function laraPaperRegistFun() { function laraPaperRegistFun() {
const select = this.$refs.xGrid.getCheckboxRecords() const select = getSelectRows()
const pkIdArr = select.map((item, index) => { const pkIdArr = select.map((item, index) => {
return item.pK_ID return item.id
}) })
if (pkIdArr.length === 0) { if (pkIdArr.length === 0) {
this.$message.error('请选择数据') createMessage.error('请选择数据')
return false return false
} }
const pkids = pkIdArr.toString() const pkids = pkIdArr.toString()
@ -1041,8 +1066,9 @@ function handleClickTree(row, index) {
} }
/deep/ .nav-title .ant-radio-button-wrapper { /deep/ .nav-title .ant-radio-button-wrapper {
width: 50%;
padding: 0px; padding: 0px;
flex-grow: 1;
} }
/deep/ .ant-radio-button-wrapper:not(:first-child)::before { /deep/ .ant-radio-button-wrapper:not(:first-child)::before {
@ -1185,7 +1211,7 @@ function handleClickTree(row, index) {
padding: 5px 14px; padding: 5px 14px;
background: #fff; background: #fff;
border-radius: 2px; border-radius: 2px;
width: 16%; width: 20%;
flex-shrink: 0; flex-shrink: 0;
} }

@ -6,7 +6,7 @@
</a-col> </a-col>
<a-col> <a-col>
<pdf ref="pdfData"></pdf> <pdf ref="pdfData"></pdf>
<taskButton @loadingStart="loadingStart" @loadingStop="loadingStop" :id="taskPKId" ref="taskButtonRef"></taskButton> <taskButton :buttonList="['取消','完成','转移','生成','邮件']" @loadingStart="loadingStart" @loadingStop="loadingStop" :id="taskPKId" ref="taskButtonRef"></taskButton>
</a-col> </a-col>
</a-row> </a-row>
</a-spin> </a-spin>

@ -0,0 +1,119 @@
<template>
<a-spin :spinning="spinning">
<div class="main">
<div class="LeftHead">
<p>
<i class="icon-jinggao1 iconfont" style="color: red;margin-right: 10px;font-size: 16px"></i>
重要提醒({{ taskData.cautionNoticeTypeName }})
-{{ taskData.carrier }}
</p>
<p>时间{{ taskData.createTime }}</p>
</div>
<a-row style="margin-bottom: 20px;" >
<a-col :span="4">
<div style="font-weight: bold">提单号</div>
{{ taskData.mblNo }}
</a-col>
<a-col :span="4">
<div style="font-weight: bold">原值</div>
{{ taskData.origVal }}
</a-col>
</a-row>
<a-row >
<a-col :span="4">
<div style="font-weight: bold">差异内容</div>
{{ taskData.cautionNoticeTypeName }}
</a-col>
<a-col :span="4">
<div style="font-weight: bold">新值</div>
{{ taskData.newVal }}
</a-col>
</a-row>
<a-row style="margin-top: 40px;padding-left: 120px" type="flex" :gutter="16">
<taskButton :buttonList="['取消','完成','转移']" @loadingStart="loadingStart" @loadingStop="loadingStop" :id="taskPKId"></taskButton>
</a-row>
</div>
</a-spin>
</template>
<script lang="ts" setup>
import { ref, onMounted } from 'vue'
import { GetInfoByTaskIdNotice } from '../api'
import { useMessage } from '../../../hooks/web/useMessage'
import taskButton from '../components/taskButton.vue'
const { createMessage } = useMessage()
import { useRoute } from 'vue-router'
const route = useRoute()
const spinning = ref(false)
const taskData = ref({}) as any
const taskPKId = ref(route.query.taskPKId)
onMounted(()=>{
// getInfo()
taskData.value = {
"pkId": "08dc9904-5d50-4c1d-8255-fe30e3503e4e",
"cautionNoticeType": "VesselCutDateTransfer",
"cautionNoticeTypeName": "船名航次、变中转、截止时间提前",
"mblNo": "238699308",
"taskPKId": "08dc9904-5d27-48c9-8748-e89f4de721c3",
"createTime": "2024-06-30 20:58:40",
"origVal": "",
"newVal": "",
"carrier": "MSK",
"vgmCutOldVal": "2024-06-30 20:00",
"vgmCutNewVal": "2024-06-11 10:00",
"siCutOldVal": "2024-06-30 20:00",
"siCutNewVal": "2024-06-11 10:00",
"vesselOldVal": "MORTEN MAERSK3",
"vesselNewVal": "MORTEN MAERSK",
"voynoOldVal": "424W3",
"voynoNewVal": "424W",
"isWeekDiff": false,
"isPriceDateDiff": false,
"isTransfer": false,
"isVesselChange": true,
"isCutDateAdvanced": true
}
})
function getInfo() {
spinning.value = true
const ApiData = {
taskPKId: taskPKId.value
}
GetInfoByTaskIdNotice(ApiData).then(res => {
if (res.succeeded) {
taskData.value = res.data
} else {
createMessage.error(res.message)
}
spinning.value = false
})
}
function loadingStart(){
spinning.value = true
}
function loadingStop(){
spinning.value = false
}
</script>
<style lang="less" scoped>
.LeftHead {
width: 100%;
display: flex;
justify-content: space-between;
padding: 8px;
margin-bottom: 16px;
border-bottom: 1px solid #000;
p {
margin: 0;
&:nth-child(1) {
font-weight: bold;
}
}
}
.main {
padding: 20px;
}
</style>
Loading…
Cancel
Save