szh_zidingyibiaoti
lilu 2 years ago
commit 02c074d8d3

@ -126,6 +126,30 @@ export function BookingTruckPrint(parameter) {
params: parameter
})
}
/**
* 获取订舱打印模板列表带有当前用户打印历史排序
*
* @author Myshipping
*/
export function TaskManageTruckPrintTemplateWithHistoryList(parameter) {
return axios({
url: '/TaskManageTruck/PrintTemplateWithHistoryList',
method: 'get',
params: parameter
})
}
/**
* 打印派车
*
* @author Myshipping
*/
export function TaskManageTruckPrint(parameter) {
return axios({
url: '/TaskManageTruck/Print',
method: 'get',
params: parameter
})
}
/**
* 订舱主键获取相关派车列表
*
@ -168,16 +192,6 @@ export function TaskManageTruckSave(parameter) {
data: parameter
})
}
/**
* 打印派车
*/
export function TaskManageTruckPrint(parameter) {
return axios({
url: '/TaskManageTruck/Print',
method: 'get',
params: parameter
})
}
/**
* 取消派车
*/
@ -198,6 +212,17 @@ export function TaskManageTruckSendDispatchBatch(parameter) {
data: parameter
})
}
/**
* 订舱生成派车初始信息
*/
export function BookingTruckInitFromBookingOrder(parameter) {
return axios({
url: '/BookingTruck/InitFromBookingOrder',
method: 'get',
params: parameter
})
}
/**
* 添加订舱模板
*

@ -55,14 +55,14 @@
<div v-if="type == 'Add' || 'Edit'" class="nav" @click="handleSubmit">
<i class="iconfont icon-icon_baocun"></i>保存
</div>
<div v-if="taskPKId" class="nav" @click="handleSubmit">
<!-- <div v-if="taskPKId" class="nav" @click="handleSubmit">
<i class="iconfont icon-icon_baocun"></i>分拆派车
</div>
</div> -->
<div v-if="type == 'Edit' && !taskPKId" class="nav" @click="FnSubmit">
<i class="iconfont icon-yunshu1"></i>提交派车
</div>
<div v-if="taskPKId" class="nav" @click="FnSendCar"><i class="iconfont icon-icon_baocun"></i></div>
<div v-if="taskPKId" class="nav" @click="handleSubmit"><i class="iconfont icon-icon_baocun"></i></div>
<!-- <div v-if="taskPKId" class="nav" @click="handleSubmit"><i class="iconfont icon-icon_baocun"></i></div> -->
<div v-if="taskPKId" class="nav" @click="CancelSendCar">
<i class="iconfont icon-icon_baocun"></i>取消派车
</div>
@ -95,6 +95,7 @@
@focus="gettruckIdData"
@change="ChangetruckId"
allowClear
:disabled="taskPKId ? false : true"
>
<a-select-option v-for="item in truckIdData" :key="item.id" :value="item.id">
{{ item.shortName }}
@ -106,22 +107,28 @@
<a-row>
<a-col :span="6">
<a-form-item label="ATTN:" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
<a-select v-decorator="['attn']" v-if="attnData.length" @change="Changeattn" allowClear>
<a-select
v-decorator="['attn']"
v-if="attnData.length"
@change="Changeattn"
allowClear
:disabled="taskPKId ? false : true"
>
<a-select-option v-for="item in attnData" :key="item.id" :value="item.id">
{{ item.name }}
</a-select-option>
</a-select>
<a-input v-decorator="['attn']" v-else />
<a-input v-decorator="['attn']" v-else :disabled="taskPKId ? false : true" />
</a-form-item>
</a-col>
<a-col :span="6">
<a-form-item label="ATTN电话:" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
<a-input v-decorator="['attnTel']" allowClear />
<a-input v-decorator="['attnTel']" allowClear :disabled="taskPKId ? false : true" />
</a-form-item>
</a-col>
<a-col :span="6">
<a-form-item label="ATTN传真:" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
<a-input v-decorator="['attnFax']" allowClear />
<a-input v-decorator="['attnFax']" allowClear :disabled="taskPKId ? false : true" />
</a-form-item>
</a-col>
<a-col :span="6">
@ -298,7 +305,7 @@
</a-col>
<a-col :span="8">
<a-form-item label="要求到达时间:" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
<a-date-picker v-decorator="['needArriveTime']" />
<a-date-picker v-decorator="['needArriveTime']" show-time />
</a-form-item>
</a-col>
</a-row>
@ -369,12 +376,12 @@
<a-row>
<a-col :span="8">
<a-form-item label="截港日期:" :labelCol="labelCol8" :wrapperCol="wrapperCol8" has-feedback>
<a-date-picker v-decorator="['closingTime']" />
<a-date-picker v-decorator="['closingTime']" show-time />
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="提货日期:" :labelCol="labelCol8" :wrapperCol="wrapperCol8" has-feedback>
<a-date-picker v-decorator="['pickUpTime']" />
<a-date-picker v-decorator="['pickUpTime']" show-time />
</a-form-item>
</a-col>
<a-col :span="8">
@ -551,7 +558,9 @@ import {
TaskManageTruckPrint,
TaskManageTruckCancelDispatch,
TaskManageTruckSendDispatchBatch,
BookingTruckPrintTemplateWithHistoryList
BookingTruckPrintTemplateWithHistoryList,
TaskManageTruckPrintTemplateWithHistoryList,
BookingTruckInitFromBookingOrder
} from '@/api/modular/main/SendCar'
import { GetCtn } from '@/api/modular/main/BookingLedger'
import { GetSysUserPage } from '@/api/modular/main/BookingLedger'
@ -720,22 +729,44 @@ export default {
printType
}
this.spinning = true
if (this.taskPKId) {
TaskManageTruckPrintTemplateWithHistoryList(Data).then(res => {
this.templateType = res.data
this.spinning = false
this.PrintModalVisible = true
})
} else {
BookingTruckPrintTemplateWithHistoryList(Data).then(res => {
this.templateType = res.data
this.spinning = false
this.PrintModalVisible = true
})
}
},
//
FnCilckTemplateType(templateId) {
this.$message.success(`搜索文件中...`)
let printType = this.PrintType == 4 ? 20 : 10
if (this.taskPKId) {
TaskManageTruckPrint({ pkId: this.WebData.pK_ID }).then(res => {
if (res.data.succ) {
this.$message.success('打印成功')
TaskManageTruckPrint({
taskPKId: this.WebData.pK_ID,
templateId,
cateCode: 'truckBill',
type: this.PrintType,
printType
}).then(res => {
if (!res.success) {
this.$message.error(res.message)
} else {
this.$message.error(`打印失败,${res.data.msg}`)
// this.$message.success(res.data)
if (this.PrintType == 1) {
window.open(` ${process.env.VUE_APP_API_BASE_URL}/BookingOrder/ViewPrintPdf/${res.data}`, '_blank')
} else {
window.open(
` ${process.env.VUE_APP_API_BASE_URL}/BookingOrder/downloadPrint?filename=${res.data}`,
'_blank'
)
}
}
})
} else {
@ -861,23 +892,6 @@ export default {
}
this.PrintType = '1'
this.GetPrintData('truckBill', printType)
// if (this.taskPKId) {
// TaskManageTruckPrint({ pkId: this.WebData.pK_ID }).then(res => {
// if (res.data.succ) {
// this.$message.success('')
// } else {
// this.$message.error(`,${res.data.msg}`)
// }
// })
// } else {
// BookingTruckPrint({ id: this.WebData.id }).then(res => {
// if (res.data.succ) {
// this.$message.success('')
// } else {
// this.$message.error(`,${res.data.msg}`)
// }
// })
// }
},
FnCancel() {
BookingTruckCancel({ id: this.WebData.id }).then(res => {
@ -923,6 +937,19 @@ export default {
console.log('init')
this.ContactsData = []
this.form = this.$form.createForm(this)
if (this.BookingId) {
BookingTruckInitFromBookingOrder({ bookingId: this.BookingId }).then(res => {
console.log(res, 'BookingTruckInitFromBookingOrder')
this.form.setFieldsValue({ ...res.data.ext })
if (res.data.ext.contaList) {
res.data.ext.contaList.forEach((item, index) => {
item.WebKey = index + 1
})
this.ContactsData = res.data.ext.contaList
}
})
}
if (this.BookingId && this.type == 'Edit') {
BookingTruckGetTruckListByBooking({ bookingId: this.BookingId }).then(res => {
this.Bookingdata = res.data
@ -986,7 +1013,7 @@ export default {
this.confirmLoading = false
})
}
console.log(this.BookingId, this.type)
// this.$data = this.$options.data()
DjyCustomerQuerytDjyCustomerInfo({ queryType: 'fleet' }).then(res => {
@ -1178,7 +1205,14 @@ export default {
},
// Name
FnCompleteName(data) {
console.log('11')
if (data.dispatcherId) {
this.dispatcherIdData.forEach(item => {
console.log(item)
if (data.dispatcherId == item.sysEmpId) {
data['dispatcherName'] = item.sysEmpName
}
})
}
if (data.contaList) {
data.contaList.forEach(item => {
this.ctnList.forEach(item2 => {
@ -1188,7 +1222,6 @@ export default {
})
})
}
console.log('12')
if (data.truckId) {
this.truckIdData.forEach(item => {
if (data.truckId == item.id) {

@ -183,9 +183,9 @@
>
<a-button class="list-btn" type="primary" icon="check">完成</a-button>
</a-popconfirm>
<a-button class="list-btn" type="primary" icon="check">打印</a-button>
<a-button class="list-btn" type="primary" icon="check">发送派车</a-button>
<a-button class="list-btn" type="primary" icon="check">撤销派车</a-button>
<a-button class="list-btn" type="primary" icon="check" @click="FnPrint"></a-button>
<a-button class="list-btn" type="primary" icon="check" @click="FnSendCar"></a-button>
<a-button class="list-btn" type="primary" icon="check">取消派车</a-button>
<template v-if="taskType === 'BC'">
<a-popconfirm
title="确定批量下载当前选择项?"
@ -299,6 +299,7 @@
row-class-name="line-box"
@page-change="handlePageChange"
style="margin-top: 6px"
height="580px"
>
<template #status="{ row }">
<span>{{ selectStatus(row.status) }}</span>
@ -416,7 +417,38 @@
<a-button @click="handlePaperCalcCancel"></a-button>
</template>
</a-modal>
<a-modal :zIndex="1005" width="50vw" :maskClosable="false" v-model="PrintModalVisible" title="打印">
<template slot="footer"> <span></span> </template>
<a-spin tip="数据加载中..." :spinning="spinning">
<div class="PrintMain">
<div class="PrintTitle">
<p>默认打印格式为<span>pdf</span>,如需其他格式请选择</p>
<p>
打印格式
<a-radio-group v-model="PrintType" name="radioGroup">
<a-radio value="1">pdf</a-radio>
<a-radio value="2">xlsx</a-radio>
<a-radio value="3">docx</a-radio>
<a-radio value="4">精确打印</a-radio>
</a-radio-group>
</p>
</div>
<a-row class="PrintMainBox">
<a-col
v-for="(item, index) in templateType"
:key="item.id"
@click="FnCilckTemplateType(item.id)"
class="items"
:span="11"
:offset="index % 2 == 0 ? 0 : 1"
>
<span>·</span>{{ item.displayName }}
</a-col>
</a-row>
</div>
</a-spin>
</a-modal>
<!-- <a-alert
v-if="showdownLoadErr"
class="downLoad-err-alert"
@ -447,13 +479,31 @@ import {
DownloadOriginalTask,
ManualReCompareBC
} from '@/api/modular/main/TaskmanageList'
import {
TaskManageTruckGetInfoByTaskId,
TaskManageTruckPrintTemplateWithHistoryList,
TaskManageTruckPrint
} from '@/api/modular/main/SendCar'
export default {
name: 'TaskmanageList',
components: {
XCard
},
watch: {
PrintType(newdata, oldData) {
let printType = newdata == 4 ? 20 : 10
let print = oldData == 4 ? 20 : 10
if (printType != print) {
this.GetPrintData('truckBill', printType)
}
}
},
data() {
return {
templateType: [],
PrintType: '1',
spinning: false,
PrintModalVisible: false,
levelTop: [],
activeTopKey: '',
levelNextAll: [],
@ -557,6 +607,119 @@ export default {
},
mounted() {},
methods: {
//
FnCilckTemplateType(templateId) {
this.$message.success(`搜索文件中...`)
let printType = this.PrintType == 4 ? 20 : 10
TaskManageTruckGetInfoByTaskId({ taskPkId: this.pkIdArr[0] })
.then(res => {
if (res.data.succ) {
TaskManageTruckPrint({
taskPKId: res.data.ext.pK_ID,
templateId,
cateCode: 'truckBill',
type: this.PrintType,
printType
}).then(res => {
if (!res.success) {
this.$message.error(res.message)
} else {
// this.$message.success(res.data)
if (this.PrintType == 1) {
window.open(` ${process.env.VUE_APP_API_BASE_URL}/BookingOrder/ViewPrintPdf/${res.data}`, '_blank')
} else {
window.open(
` ${process.env.VUE_APP_API_BASE_URL}/BookingOrder/downloadPrint?filename=${res.data}`,
'_blank'
)
}
}
})
} else {
this.$message.error(`${res.data.msg}`)
}
this.confirmLoading = false
})
.catch(() => {
this.confirmLoading = false
})
},
GetPrintData(cateCode, printType) {
let Data = {
cateCode,
printType
}
this.spinning = true
TaskManageTruckPrintTemplateWithHistoryList(Data).then(res => {
this.templateType = res.data
this.spinning = false
this.PrintModalVisible = true
})
},
FnPrint() {
const select = this.$refs.xGrid.getCheckboxRecords()
const pkIdArr = select.map((item, index) => {
return item.pkId
})
if (pkIdArr.length != 1) {
this.$message.error('请仅选择一条数据')
return false
}
this.pkIdArr = pkIdArr
let printType = ''
if (this.PrintType == 4) {
printType = 20
} else {
printType = 10
}
this.PrintType = '1'
this.GetPrintData('truckBill', printType)
},
FnSendCar() {
const select = this.$refs.xGrid.getCheckboxRecords()
const pkIdArr = select.map((item, index) => {
return item.pkId
})
if (pkIdArr.length === 0) {
this.$message.error('请选择数据')
return false
}
pkIdArr.forEach(item => {
TaskManageTruckGetInfoByTaskId({ taskPkId: this.pkIdArr[0] })
.then(res => {
if (res.data.succ) {
// TaskManageTruckPrint({
// taskPKId: res.data.ext.pK_ID,
// templateId,
// cateCode: 'truckBill',
// type: this.PrintType,
// printType
// }).then(res => {
// if (!res.success) {
// this.$message.error(res.message)
// } else {
// // this.$message.success(res.data)
// if (this.PrintType == 1) {
// window.open(` ${process.env.VUE_APP_API_BASE_URL}/BookingOrder/ViewPrintPdf/${res.data}`, '_blank')
// } else {
// window.open(
// ` ${process.env.VUE_APP_API_BASE_URL}/BookingOrder/downloadPrint?filename=${res.data}`,
// '_blank'
// )
// }
// }
// })
} else {
this.$message.error(`${res.data.msg}`)
}
this.confirmLoading = false
})
.catch(() => {
this.confirmLoading = false
})
})
},
onSelect(selectedKeys, info) {
console.log('selected', selectedKeys, info)
if (selectedKeys.length === 0) {
@ -1381,4 +1544,46 @@ export default {
// height: auto;
// margin-left: -250px;
// }
.PrintMain {
display: flex;
flex-wrap: wrap;
.PrintTitle {
width: 100%;
display: flex;
padding: 20px;
box-sizing: border-box;
background: #f7f8fe;
border: 1px dashed #cdcdcd;
p {
margin: 0;
&:nth-child(2) {
margin-left: 35px;
}
span {
color: #ff6646;
}
}
}
.PrintMainBox {
width: 100%;
max-height: 50vh;
overflow-y: auto;
margin-top: 5px;
.items {
padding-left: 1rem;
height: 2.5rem;
line-height: 2.5rem;
border-bottom: 1px solid #ebebeb;
cursor: pointer;
&:hover {
color: #2f54eb;
}
span {
font-weight: bolder;
margin-right: 0.6rem;
}
}
}
}
</style>

Loading…
Cancel
Save