| | |
| | | <template #menu="{ row, index, size }"> |
| | | <el-tooltip content="查看" placement="top" :enterable="false"> |
| | | <el-link type="primary" icon="el-icon-view" :underline="false" class="link-btn" |
| | | @click="$refs.crudRef.rowView(row, index)"> |
| | | v-hasPermi="['tms:tmsDispatchOrder:query']" @click="$refs.crudRef.rowView(row, index)"> |
| | | </el-link> |
| | | </el-tooltip> |
| | | <el-tooltip content="删除" placement="top" :enterable="false"> |
| | | <el-link type="primary" icon="el-icon-delete" :underline="false" class="link-btn" |
| | | v-hasPermi="['tms:tmsDispatchOrder:remove']" v-if="row.status == 0" |
| | | @click="$refs.crudRef.rowDel(row, index)"> |
| | | </el-link> |
| | | </el-tooltip> |
| | | |
| | | <el-tooltip content="编辑" placement="top" :enterable="false"> |
| | | <el-link type="primary" icon="el-icon-edit" :underline="false" class="link-btn" |
| | | v-hasPermi="['tms:tmsDispatchOrder:edit']" v-if="[0, 1].includes(row.status)" |
| | | @click="$refs.crudRef.rowEdit(row, index)"> |
| | | </el-link> |
| | | </el-tooltip> |
| | | |
| | | </template> |
| | | <template #menu-before="{ row }"> |
| | | |
| | | |
| | | <el-tooltip content="运输货品登记" placement="top"> |
| | | <el-link size="small" type="primary" @click="handleAddGoods(row)" class="link-btn" |
| | | v-hasPermi="['tms:tmsGoodsDetail:add']" v-if="[0, 1, 2].includes(row.status)" :underline="false" |
| | | icon="el-icon-document-add"> |
| | | </el-link> |
| | | </el-tooltip> |
| | | |
| | | <el-tooltip content="实际运输记录" placement="top"> |
| | | <el-link size="small" type="primary" @click="handleActual(row)" class="link-btn" |
| | | v-hasPermi="['tms:tmsDispatchOrder:update']" v-if="[0, 1, 2].includes(row.status)" :underline="false" |
| | | icon="el-icon-set-up"> |
| | | </el-link> |
| | | </el-tooltip> |
| | | |
| | | <el-tooltip content="确定" placement="top"> |
| | | <el-link size="small" type="primary" v-if="row.status == 0" @click="handleConfirm(row)" class="link-btn" |
| | | v-hasPermi="['tms:tmsDispatchOrder:confirmOrder']" :underline="false" icon="el-icon-pointer"> |
| | | </el-link> |
| | | </el-tooltip> |
| | | <el-tooltip content="作废" placement="top"> |
| | | <el-link size="small" type="primary" v-if="[0, 1, 2].includes(row.status)" @click="handleClose(row)" |
| | | class="link-btn" v-hasPermi="['tms:tmsDispatchOrder:closeOrder']" :underline="false" icon="el-icon-close"> |
| | | </el-link> |
| | | </el-tooltip> |
| | | <el-tooltip content="复制" placement="top"> |
| | | <el-link size="small" type="primary" @click="handleCopy(row)" class="link-btn" :underline="false" |
| | | v-hasPermi="['tms:tmsDispatchOrder:copyOrder']" icon="el-icon-connection"> |
| | | </el-link> |
| | | </el-tooltip> |
| | | <el-tooltip content="日志" placement="top"> |
| | | <el-link size="small" type="primary" @click="handleLog(row)" class="link-btn" :underline="false" |
| | | icon="el-icon-tickets"> |
| | | <el-tooltip content="上传行程" placement="top"> |
| | | <el-link size="small" type="primary" v-if="[1, 2].includes(row.status)" @click="handleUploadItinerary(row)" |
| | | v-hasPermi="['tms:tmsTrip:add']" class="link-btn" :underline="false" icon="el-icon-upload"> |
| | | </el-link> |
| | | </el-tooltip> |
| | | <el-tooltip content="查看行程" placement="top"> |
| | | <el-link size="small" type="primary" v-if="![0, 1].includes(row.status)" @click="handleLogItinerary(row)" |
| | | v-hasPermi="['tms:tmsTrip:list']" class="link-btn" :underline="false" icon="el-icon-view"> |
| | | </el-link> |
| | | </el-tooltip> |
| | | <el-tooltip content="完成行程" placement="top"> |
| | | <el-link size="small" type="primary" v-if="[2].includes(row.status)" @click="handleOk(row)" class="link-btn" |
| | | v-hasPermi="['tms:tmsDispatchOrder:okOrder']" :underline="false" icon="el-icon-circle-check"> |
| | | </el-link> |
| | | </el-tooltip> |
| | | |
| | | <el-tooltip content="完成行程" placement="top"> |
| | | <el-link size="small" type="primary" v-if="[2].includes(row.status)" @click="handleOk(row)" class="link-btn" |
| | | v-hasPermi="['tms:tmsDispatchOrder:okOrder']" :underline="false" icon="el-icon-circle-check"> |
| | | </el-link> |
| | | </el-tooltip> |
| | | |
| | | <el-tooltip content="日志" placement="top"> |
| | | <el-link size="small" type="primary" @click="handleFlow(row)" class="link-btn" |
| | | v-hasPermi="['cwgl:estimatedReceivable:flog']" :underline="false" icon="el-icon-document"> |
| | | </el-link> |
| | | </el-tooltip> |
| | | |
| | | |
| | | </template> |
| | | |
| | | <!-- <template #menu="{row}"> |
| | |
| | | <avue-crud :data="importLogData" :option="importLogOption" :table-loading="importLogLoading" |
| | | @on-load="getImportLogList"></avue-crud> |
| | | </el-dialog> |
| | | |
| | | <flowLog ref="flowLogIshow" :isShow="false" :flowParams="flowParams"></flowLog> |
| | | |
| | | </basicContainer> |
| | | |
| | | |
| | | </template> |
| | | |
| | | <script setup name="tmsDispatchOrder" lang="ts"> |
| | | import { listTmsDispatchOrderLog } from "@/api/tms/tmsDispatchOrderLog"; |
| | | import { |
| | | TmsDispatchOrderI, |
| | | addTmsDispatchOrder, |
| | |
| | | getTmsDispatchOrder, |
| | | listTmsDispatchOrder, |
| | | updateTmsDispatchOrder, |
| | | tmsDispatchOrderRecord, |
| | | confirmOrder, |
| | | copyOrder, |
| | | okOrder, |
| | |
| | | import { pushTmsQuoteFee } from "@/api/tms/tmsQuoteFee"; |
| | | import { $Print } from '@smallwei/avue' |
| | | import { getToken } from "@/utils/auth"; |
| | | import { useAvueTableShowHide } from "@/hooks/useAvueTableShowHide"; |
| | | |
| | | const { appContext } = getCurrentInstance(); |
| | | |
| | |
| | | menuType: 'icon', |
| | | viewBtn: false, // 关闭原生查看 |
| | | editBtn: false, // 关闭原生编辑 |
| | | delBtn: false, // 关闭原生编辑 |
| | | |
| | | searchIndex: 7, // 关键:折叠时显示的个数(根据你的字段数量调整) |
| | | searchIcon: true, // 关键:显示折叠/展开按钮 |
| | |
| | | column: { |
| | | |
| | | dispatchNo: { |
| | | label: '调度单号', minWidth: 120, |
| | | label: '调度单号', minWidth: 180, |
| | | display: false, |
| | | search: true, |
| | | }, |
| | |
| | | }, |
| | | customerName: { |
| | | label: '客户', |
| | | display: false, minWidth: 120, |
| | | display: false, minWidth: 250, |
| | | search: true, |
| | | }, |
| | | mainDriverName: { |
| | |
| | | }, |
| | | projectName: { |
| | | label: '项目名称', |
| | | display: false, minWidth: 120, |
| | | display: false, minWidth: 250, |
| | | search: true, |
| | | }, |
| | | |
| | | contractName: { |
| | | label: '关联合同名称', minWidth: 120, |
| | | label: '关联合同名称', minWidth: 250, |
| | | display: false, |
| | | search: true, |
| | | }, |
| | |
| | | }, |
| | | isPrint: { |
| | | label: '是否打印承运单', |
| | | display: false, minWidth: 100, |
| | | display: false, minWidth: 120, |
| | | search: true, |
| | | type: 'select', dicUrl: '/system/dict/data/type/sys_number_is', dataType: 'string', |
| | | |
| | |
| | | |
| | | shipperName: { |
| | | label: '装货点名称', |
| | | display: false, minWidth: 120, |
| | | display: false, minWidth: 200, |
| | | search: true, |
| | | }, |
| | | receiverName: { |
| | | label: '卸货点名称', minWidth: 120, |
| | | label: '卸货点名称', minWidth: 200, |
| | | display: false, |
| | | search: true, |
| | | }, |
| | |
| | | } |
| | | |
| | | }) |
| | | |
| | | useAvueTableShowHide(option.value); |
| | | |
| | | const handleConfirm = (row: any) => { |
| | | ElMessageBox.confirm("是否对调度单号" + row.dispatchNo + "确定 ?", '系统提示', { |
| | | confirmButtonText: '确定', |
| | |
| | | vehicleId: row.vehicleId, |
| | | } |
| | | console.log(boxForm.value); |
| | | |
| | | |
| | | }) |
| | | } |
| | | const cancelBox = () => { |
| | |
| | | } |
| | | |
| | | const submitForm3 = () => { |
| | | updateTmsDispatchOrder(actualForm.value).then(res => { |
| | | tmsDispatchOrderRecord(actualForm.value).then(res => { |
| | | ElMessage({ |
| | | message: "操作成功!", |
| | | type: 'success' |
| | |
| | | //boxForm.value.rowItems = boxTableData.value; |
| | | // console.log(tmsFinanceDetails.value); |
| | | // console.log(boxForm.value); |
| | | // 1. 提取填写了金额的数据(金额大于0) |
| | | // 1. 提取填写了金额的数据(金额大于0) |
| | | const validDetails = tmsFinanceDetails.value.filter(item => item.actualFeeAmount && item.actualFeeAmount > 0); |
| | | |
| | | if (validDetails.length === 0) { |
| | |
| | | message: "操作成功!", |
| | | type: 'success' |
| | | }) |
| | | open4.value = false; |
| | | onLoad(page.value) |
| | | open4.value = false; |
| | | onLoad(page.value) |
| | | boxFormRef.value?.resetFields(); |
| | | getTab4Data(); |
| | | }) |
| | |
| | | } |
| | | done(); // 必须调用 done 结束上传状态 |
| | | }; |
| | | |
| | | |
| | | const flowLogIshow = ref() |
| | | const flowParams = ref([]) |
| | | |
| | | const handleFlow = (row: string) => { |
| | | let data = { |
| | | headId: row.id, |
| | | } |
| | | listTmsDispatchOrderLog(data).then((res) => { |
| | | flowParams.value = res.rows |
| | | flowLogIshow.value.openModel() |
| | | |
| | | }) |
| | | } |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | ::v-deep .cydprint .el-dialog__body { |
| | |
| | | padding: 1px 11px; |
| | | box-shadow: 0 0 0 1px var(--el-disabled-border-color) inset; |
| | | } |
| | | </style> |
| | | |
| | | .link-btn { |
| | | font-size: 18px; |
| | | } |
| | | </style> |