| | |
| | | v-hasPermi="['tms:tmsDispatchOrder:zzdj']" |
| | | >增值作业登记 |
| | | </el-button> |
| | | <el-button |
| | | type="primary" |
| | | icon="Printer" |
| | | :disabled="pageF.single" |
| | | @click="handlePrint" |
| | | v-hasPermi="['tms:tmsDispatchOrder:print']" |
| | | >承运单打印 |
| | | </el-button> |
| | | </template> |
| | | <template #menu-before="{row}"> |
| | | <el-link size="small" type="primary" @click="handleAddGoods(row)" class="link-btn" |
| | |
| | | > |
| | | <el-descriptions-item label="调度单号">{{ form.dispatchNo }}</el-descriptions-item> |
| | | <el-descriptions-item label="客户">{{ form.customerName }}</el-descriptions-item> |
| | | <el-descriptions-item label="实际运输工具类型">{{ form.$actualVehicleType }}</el-descriptions-item> |
| | | <el-descriptions-item label="派出车型">{{ form.$actualVehicleType }}</el-descriptions-item> |
| | | <el-descriptions-item label="运输工具号码">{{ form.licensePlate }}</el-descriptions-item> |
| | | <el-descriptions-item label="托架号">{{ form.shelfCode }}</el-descriptions-item> |
| | | <el-descriptions-item label="主驾驶员">{{ form.mainDriverName }}</el-descriptions-item> |
| | |
| | | > |
| | | <el-descriptions-item label="调度单号">{{ form.dispatchNo }}</el-descriptions-item> |
| | | <el-descriptions-item label="客户">{{ form.customerName }}</el-descriptions-item> |
| | | <el-descriptions-item label="实际运输工具类型">{{ form.$actualVehicleType }}</el-descriptions-item> |
| | | <el-descriptions-item label="派出车型">{{ form.$actualVehicleType }}</el-descriptions-item> |
| | | <el-descriptions-item label="托架号">{{ form.shelfCode }}</el-descriptions-item> |
| | | </el-descriptions> |
| | | <avue-form v-model="form" ref="boxFormRef" :option="boxFormOption"> |
| | |
| | | </template> |
| | | </el-dialog> |
| | | |
| | | <el-dialog title="承运单打印" v-model="open6" class="avue-dialog avue-dialog--top cydprint" width="80%"> |
| | | <div v-if="print == 0"> |
| | | <el-descriptions :column="3" border> |
| | | <el-descriptions-item label="订单号">{{form.dispatchNo}}</el-descriptions-item> |
| | | <el-descriptions-item label="承运日期">{{form.orderTime}}</el-descriptions-item> |
| | | <el-descriptions-item label="车牌">{{form.licensePlate}}</el-descriptions-item> |
| | | <el-descriptions-item label="订车类型">{{form.$actualVehicleType}}</el-descriptions-item> |
| | | |
| | | <el-descriptions-item label="司机姓名">{{form.mainDriverName}}</el-descriptions-item> |
| | | <el-descriptions-item label="电话">{{form.mainDriverMobile}}</el-descriptions-item> |
| | | <el-descriptions-item label="托架号/柜号">{{form.shelfCode}}/ {{form.containerNo}}</el-descriptions-item> |
| | | <el-descriptions-item label="客户名称">{{form.customerName}}</el-descriptions-item> |
| | | <el-descriptions-item label="起止路线">{{form.transportLine}}</el-descriptions-item> |
| | | <el-descriptions-item label="调度员">{{form.createBy}}</el-descriptions-item> |
| | | <el-descriptions-item label="是否打印">{{form.$isPrint}}</el-descriptions-item> |
| | | <el-descriptions-item label="历史打印次数">{{form.printCount}}</el-descriptions-item> |
| | | </el-descriptions> |
| | | <h3 class="title" style="color: #333;font-weight: bold;">单据信息</h3> |
| | | <avue-form v-model="boxForm" ref="boxFormRef" |
| | | :option="boxFormOption"> |
| | | |
| | | </avue-form> |
| | | </div> |
| | | <div v-else> |
| | | <div id="print"> |
| | | <img src="@/assets/img.png" alt="" style="width: 168px;height: 68px"> |
| | | <h3 class="title" >珠海市汇畅交通投资有限公司</h3> |
| | | <div class="header"> |
| | | <div class="order">订单号:{{boxForm.dispatchNo}}</div> |
| | | <div class="sub-title">货物承运单证</div> |
| | | </div> |
| | | <table> |
| | | <tr> |
| | | <td>承运日期:{{ boxForm.orderTime }}</td> |
| | | <td>六联单号码:{{ boxForm.sixLinkNo }}</td> |
| | | </tr> |
| | | <tr> |
| | | <td>车牌:{{ boxForm.licensePlate }}</td> |
| | | <td>订车车型: {{boxForm.$actualVehicleType}}</td> |
| | | </tr> |
| | | <tr> |
| | | <td>司机姓名:{{ boxForm.mainDriverName }}</td> |
| | | <td>电话:{{ boxForm.mainDriverMobile }}</td> |
| | | </tr> |
| | | |
| | | <tr> |
| | | <td>托架号/柜号:{{boxForm.shelfCode}}/ {{boxForm.containerNo}}</td> |
| | | <td>行驶口岸:{{ boxForm.portName }}</td> |
| | | </tr> |
| | | <tr> |
| | | <td>提单号S/O:{{ boxForm.billNo }}</td> |
| | | <td>码头名:{{ boxForm.terminalName }}</td> |
| | | </tr> |
| | | |
| | | <tr> |
| | | <td>客户:{{ boxForm.customerName }}</td> |
| | | <td>联络人:{{ boxForm.contactName }} {{ boxForm.contactPhone }} </td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="2"> |
| | | <span style="margin-right: 40px">货物名称:{{ boxForm.cargoName }} </span> |
| | | <span style="margin-right: 40px">件数:{{ boxForm.pieceCount }} </span> |
| | | <span style="margin-right: 40px">重量:{{ boxForm.weight }}KG</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="2">起止路线:{{ boxForm.transportLine }}</td> |
| | | </tr> |
| | | <tr> |
| | | <td> |
| | | <div style="line-height: 24px">调度员:{{boxForm.createBy}}</div> |
| | | <div style="line-height: 42px">承运司机:{{boxForm.mainDriverName}}</div> |
| | | </td> |
| | | <td>收货人签字/盖章:</td> |
| | | </tr> |
| | | </table> |
| | | |
| | | <div>托运须知:</div> |
| | | <div>1.如因托运者携带违规禁品,违反当地法例而引致车辆及司机扣留或处罚,托人人必赔偿一切损失,直至事件完满解决为止。</div> |
| | | <div>2.货物装卸及运输期间,一切交通意外引致路不能行驶或车辆损失而令货物不能如期交货及一切风、火、盗窃及其它意外均由货主负责。</div> |
| | | <div>3.一切交易均按本公司之标准经营条款为准,本公司之责任在某些情况下会被豁免或限 (制如有须要,欢迎索取)!</div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | |
| | | |
| | | <template #footer> |
| | | <div class="dialog-footer"> |
| | | <el-button @click="print = 0" v-if="print == 1">重新填写</el-button> |
| | | <el-button type="primary" |
| | | :loading="pageF.isUploading" @click="submitForm6"> |
| | | {{ pageF.isUploading ? '提交中' : '确 定' }} |
| | | </el-button> |
| | | |
| | | <el-button @click="open6 = false">取 消</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | </basicContainer> |
| | | </template> |
| | | |
| | |
| | | listTmsDispatchOrder, |
| | | updateTmsDispatchOrder, |
| | | confirmOrder, copyOrder, okOrder, initGenerate, generateTmsDispatchOrder, dropHook, |
| | | connectHang,customsOrder,loadingOrder,checkCloseOrder,closeOrder |
| | | connectHang,customsOrder,loadingOrder,checkCloseOrder,closeOrder,printDispatchOrder |
| | | } from "@/api/tms/tmsDispatchOrder"; |
| | | import useCurrentInstance from "@/utils/useCurrentInstance"; |
| | | import {computed, onMounted, reactive, ref, toRefs, watch, getCurrentInstance, nextTick} from "vue"; |
| | |
| | | import {mapRegeo} from "@/api/common"; |
| | | import {getDicts} from "@/api/system/dict/data"; |
| | | import {pushTmsQuoteFee} from "@/api/tms/tmsQuoteFee"; |
| | | import { $Print } from '@smallwei/avue' |
| | | |
| | | const {appContext} = getCurrentInstance(); |
| | | |
| | |
| | | isCustoms:<any> -1, |
| | | isLoad: -1, |
| | | open5:false, |
| | | open6:false, |
| | | }) |
| | | const { |
| | | queryParams, form, page, selectionList, open3, |
| | | boxTableData, optionType, |
| | | boxFormOption, boxForm, boxTableOption, title, open, open2, |
| | | goodsTableData, goodsForm, actualForm, selectionList2,isCustoms,isLoad,open5 |
| | | goodsTableData, goodsForm, actualForm, selectionList2,isCustoms,isLoad,open5,open6 |
| | | } = toRefs(data); |
| | | const option = ref({ |
| | | pageKey: 'TmsDispatchOrder', |
| | |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | valueFormat: 'YYYY-MM-DD HH:mm:ss', |
| | | display: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "下单时间不能为空", trigger: "blur" |
| | | } |
| | | ], |
| | | }, |
| | | latestDeparture: { |
| | | label: '要求最晚出发时间', |
| | |
| | | type: 'select', dicUrl: '/system/dict/data/type/sys_number_is', dataType: 'string', |
| | | |
| | | }, |
| | | isPrint: { |
| | | label: '是否打印承运单', |
| | | display: false, minWidth: 100, |
| | | search: true, |
| | | type: 'select', dicUrl: '/system/dict/data/type/sys_number_is', dataType: 'string', |
| | | |
| | | }, |
| | | mainDriverName: { |
| | | label: '主驾驶员', |
| | | display: false, minWidth: 120, |
| | |
| | | // display: false, |
| | | // search: true, |
| | | // }, |
| | | requiredVehicleTypes: { |
| | | label: '下单车型',minWidth: 130, |
| | | display: false, type: 'select', search: true, |
| | | dicUrl: '/system/dict/data/type/vehicle_type', |
| | | dataType: 'string', |
| | | |
| | | }, |
| | | actualVehicleType: { |
| | | label: '实际运输工具类型', minWidth: 130, |
| | | label: '派出车型', minWidth: 130, |
| | | display: false, |
| | | search: true, |
| | | type: 'select', dicUrl: '/system/dict/data/type/vehicle_type', dataType: 'string', |
| | |
| | | isLoad.value = isLoad.value == 0 && !pageF.single ? 0 : -1; |
| | | console.log(pageF.single) |
| | | }, |
| | | getBeginListFunc: () => { |
| | | getBeginListFunc: (params = {}) => { |
| | | queryParams.value = proxy.addDateRangeNew(queryParams.value, queryParams.value?.createTimeRange, 'createTime') || {}; |
| | | queryParams.value = proxy.addDateRangeNew(queryParams.value, queryParams.value?.updateTimeRange, 'updateTime') || {}; |
| | | queryParams.value = proxy.addDateRangeNew(queryParams.value, queryParams.value?.confirmTimeRange, 'confirmTime') || {}; |
| | | queryParams.value = proxy.addDateRangeNew(queryParams.value, queryParams.value?.okTimeRange, 'okTime') || {}; |
| | | queryParams.value = proxy.addDateRangeNew(queryParams.value, queryParams.value?.orderTimeRange, 'orderTime') || {}; |
| | | return params; |
| | | }, |
| | | handleBeforeOpenFunc:(type:string)=>{ |
| | | if(type == 'add'){ |
| | |
| | | } |
| | | }) |
| | | } |
| | | const printOption = ref({ |
| | | menuBtn: false, |
| | | labelWidth: 120, |
| | | column: { |
| | | sixLinkNo:{ |
| | | label: '六联单号', |
| | | }, |
| | | portName:{ |
| | | label: '行驶口岸', |
| | | type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/sys_port', |
| | | }, |
| | | billNo:{ |
| | | label: '提单号S/O', |
| | | }, |
| | | terminalName:{ |
| | | label: '码头名', |
| | | }, |
| | | cargoName:{ |
| | | label: '货物名', |
| | | }, |
| | | pieceCount:{ |
| | | label: '件数', |
| | | }, |
| | | weight:{ |
| | | label: '重量', |
| | | }, |
| | | contactName:{ |
| | | label: '客户联络人', |
| | | }, |
| | | contactPhone:{ |
| | | label: '联络人手机号', |
| | | } |
| | | } |
| | | }) |
| | | const print =ref(0) |
| | | const handlePrint = () => { |
| | | form.value = selectionList.value[0]; |
| | | boxFormOption.value = printOption.value; |
| | | boxForm.value = form.value |
| | | |
| | | </script> |
| | | getTmsDriver(boxForm.value.mainDriverId).then(res=>{ |
| | | open6.value = true; |
| | | const driver = res.data || {}; |
| | | boxForm.value.mainDriverMobile = driver.mobile; |
| | | print.value = 0 |
| | | }) |
| | | |
| | | } |
| | | |
| | | const submitForm6 = ()=>{ |
| | | print.value = 1; |
| | | printDispatchOrder(boxForm.value).then(res=>{ |
| | | $Print('#print'); |
| | | onLoad(page.value) |
| | | }) |
| | | |
| | | |
| | | } |
| | | |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | |
| | | ::v-deep .cydprint .el-dialog__body{ |
| | | overflow: hidden; |
| | | //padding: 0; |
| | | margin: 0; |
| | | } |
| | | #print{ |
| | | .title{ |
| | | text-align: center; |
| | | font-size: 14pt; |
| | | color: #000; |
| | | line-height:23pt; |
| | | font-weight: bold; |
| | | margin: 0; |
| | | } |
| | | .header{ |
| | | position: relative; |
| | | .order{ |
| | | font-size: 12pt; |
| | | color: #000; |
| | | line-height: 23pt; |
| | | } |
| | | .sub-title{ |
| | | position: absolute; |
| | | left: 50%; |
| | | transform: translateX(-50%); |
| | | top: 0; |
| | | font-size: 12pt; |
| | | color: #000; |
| | | line-height: 23pt; |
| | | text-decoration: underline; |
| | | } |
| | | |
| | | } |
| | | |
| | | table { |
| | | width: 100%; |
| | | border-collapse: collapse; /* 合并边框 */ |
| | | font-size: 12px; |
| | | table-layout: fixed; /* 关键点 */ |
| | | } |
| | | table, td { |
| | | border: 1px solid #000; |
| | | |
| | | } |
| | | td { |
| | | padding: 4px; |
| | | vertical-align: middle; |
| | | width: 50%; /* 强制等宽 */ |
| | | word-break: break-all; |
| | | } |
| | | } |
| | | </style> |