|
|
|
@ -49,7 +49,7 @@
|
|
|
|
|
v-if="permissionObj.truckLoadingDetails_changePlanWarehouse" |
|
|
|
|
type="primary" |
|
|
|
|
icon="Edit" |
|
|
|
|
@click="handleShowTransfer('add')" |
|
|
|
|
@click="handleChooseWarehouse" |
|
|
|
|
> |
|
|
|
|
计划仓更改 |
|
|
|
|
</el-button> |
|
|
|
@ -116,39 +116,55 @@
|
|
|
|
|
" |
|
|
|
|
> |
|
|
|
|
<template #default="slotProps"> |
|
|
|
|
<!-- 零担 --> |
|
|
|
|
<template v-if="Number(slotProps.scope.row.type) === 2"> |
|
|
|
|
<el-text |
|
|
|
|
type="text" |
|
|
|
|
@click="handleZeroUnLoad(slotProps.scope)" |
|
|
|
|
v-if=" |
|
|
|
|
permissionObj.truckLoadingDetails_zeroUnload && |
|
|
|
|
details.pageInfo.type !== 'VehicleStowage' && |
|
|
|
|
Number(slotProps.scope.row.scanStatus) === 1 |
|
|
|
|
" |
|
|
|
|
<!-- 装卸状态 --> |
|
|
|
|
<template v-if="slotProps.scope.column.label === '装卸状态'"> |
|
|
|
|
<el-tag |
|
|
|
|
:class="{ |
|
|
|
|
sub: Number(slotProps.scope.row.scanStatus) === 1, |
|
|
|
|
err: Number(slotProps.scope.row.scanStatus) === 2, |
|
|
|
|
primary: Number(slotProps.scope.row.scanStatus) === 3, |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
零担卸车 |
|
|
|
|
</el-text> |
|
|
|
|
|
|
|
|
|
<!-- 零担二维码 --> |
|
|
|
|
<el-text @click="() => printOrderByZero(slotProps.scope)">零担二维码</el-text> |
|
|
|
|
{{ slotProps.scope.row.scanStatusName }} |
|
|
|
|
</el-tag> |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
<!-- 包件 --> |
|
|
|
|
<template v-else-if="Number(slotProps.scope.row.type) === 1"> |
|
|
|
|
<el-text |
|
|
|
|
type="text" |
|
|
|
|
@click="handleOrderUnLoad(slotProps.scope)" |
|
|
|
|
v-if=" |
|
|
|
|
permissionObj.truckLoadingDetails_packageUnload && |
|
|
|
|
details.pageInfo.type !== 'VehicleStowage' && |
|
|
|
|
Number(slotProps.scope.row.scanStatus) === 1 |
|
|
|
|
" |
|
|
|
|
> |
|
|
|
|
包件卸车 |
|
|
|
|
</el-text> |
|
|
|
|
|
|
|
|
|
<el-text @click="printOrder(slotProps.scope)"> 二维码 </el-text> |
|
|
|
|
<!-- 操作 --> |
|
|
|
|
<template v-else-if="slotProps.scope.column.label === '操作'"> |
|
|
|
|
<!-- 零担 --> |
|
|
|
|
<template v-if="Number(slotProps.scope.row.type) === 2"> |
|
|
|
|
<el-text |
|
|
|
|
type="text" |
|
|
|
|
@click="handleZeroUnLoad(slotProps.scope)" |
|
|
|
|
v-if=" |
|
|
|
|
permissionObj.truckLoadingDetails_zeroUnload && |
|
|
|
|
details.pageInfo.type !== 'VehicleStowage' && |
|
|
|
|
Number(slotProps.scope.row.scanStatus) === 1 |
|
|
|
|
" |
|
|
|
|
> |
|
|
|
|
零担卸车 |
|
|
|
|
</el-text> |
|
|
|
|
|
|
|
|
|
<!-- 零担二维码 --> |
|
|
|
|
<el-text @click="() => printOrderByZero(slotProps.scope)">零担二维码</el-text> |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
<!-- 包件 --> |
|
|
|
|
<template v-else-if="Number(slotProps.scope.row.type) === 1"> |
|
|
|
|
<el-text |
|
|
|
|
type="text" |
|
|
|
|
@click="handleOrderUnLoad(slotProps.scope)" |
|
|
|
|
v-if=" |
|
|
|
|
permissionObj.truckLoadingDetails_packageUnload && |
|
|
|
|
details.pageInfo.type !== 'VehicleStowage' && |
|
|
|
|
Number(slotProps.scope.row.scanStatus) === 1 |
|
|
|
|
" |
|
|
|
|
> |
|
|
|
|
包件卸车 |
|
|
|
|
</el-text> |
|
|
|
|
|
|
|
|
|
<el-text @click="printOrder(slotProps.scope)"> 二维码 </el-text> |
|
|
|
|
</template> |
|
|
|
|
</template> |
|
|
|
|
</template> |
|
|
|
|
</tablecmt> |
|
|
|
@ -220,6 +236,40 @@
|
|
|
|
|
</span> |
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
<!-- 配置装车目的地 --> |
|
|
|
|
<el-dialog |
|
|
|
|
title="配置装车目的地" |
|
|
|
|
v-model="details.popUpShow.chooseDestinationVisited" |
|
|
|
|
width="30%" |
|
|
|
|
append-to-body |
|
|
|
|
class="truckLoadingDetailPopUp" |
|
|
|
|
> |
|
|
|
|
<el-form-item label="目的地" prop="region"> |
|
|
|
|
<el-select v-model="details.chooseNodeId" placeholder="请选择目的地" class="w100"> |
|
|
|
|
<el-option |
|
|
|
|
v-for="item in details.nextNodeData" |
|
|
|
|
:key="item" |
|
|
|
|
:label="item.warehouseName" |
|
|
|
|
:value="item.warehouseId" |
|
|
|
|
/> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
<!-- 表单按钮 --> |
|
|
|
|
<template #footer> |
|
|
|
|
<div class="dialog-footer"> |
|
|
|
|
<el-button |
|
|
|
|
icon="el-icon-circle-close" |
|
|
|
|
@click="details.popUpShow.chooseDestinationVisited = false" |
|
|
|
|
>取 消</el-button |
|
|
|
|
> |
|
|
|
|
<el-button type="primary" icon="el-icon-circle-check" @click="handleEditSubmit"> |
|
|
|
|
确 认 |
|
|
|
|
</el-button> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
<!-- 列表配置显示 --> |
|
|
|
|
<edittablehead |
|
|
|
|
@setcolum="setnewcolum" |
|
|
|
@ -248,6 +298,7 @@ import {
|
|
|
|
|
postSignLoadScanByIds, |
|
|
|
|
postLoadingDetailExport, |
|
|
|
|
} from '@/api/distribution/truckLoadingDetails'; |
|
|
|
|
import { postFindNextNodeList } from '@/api/distribution/VehicleStowage'; |
|
|
|
|
import { getShowAdvancePackgeCode } from '@/api/waybill/orderPackageListDetails'; |
|
|
|
|
import { postShowOrderCode } from '@/api/distribution/distributionStockArticle'; |
|
|
|
|
/** 获取字典 */ |
|
|
|
@ -331,6 +382,8 @@ const details = reactive<any>({
|
|
|
|
|
truckLoadingDetailVisited: false, |
|
|
|
|
/** 零担补录 */ |
|
|
|
|
transferVisited: false, |
|
|
|
|
/** 计划仓更改 */ |
|
|
|
|
chooseDestinationVisited: false, |
|
|
|
|
}, |
|
|
|
|
/** 列表Dom节点 */ |
|
|
|
|
listNode: '', |
|
|
|
@ -383,6 +436,9 @@ const details = reactive<any>({
|
|
|
|
|
myWarehouseData: {}, |
|
|
|
|
/** 打印的二维码 */ |
|
|
|
|
html: '', |
|
|
|
|
/** 后续节点仓库数据 */ |
|
|
|
|
nextNodeData: [], |
|
|
|
|
choosePackageList: [], |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
const { |
|
|
|
@ -602,6 +658,25 @@ const onLoad = debounce(async (params = {}) => {
|
|
|
|
|
} |
|
|
|
|
}, 10); |
|
|
|
|
|
|
|
|
|
/** 初始化请求数据 -- 之后节点数据 */ |
|
|
|
|
const init = async () => { |
|
|
|
|
const res = await postFindNextNodeList({ loadId: $route.query.loadId }); |
|
|
|
|
|
|
|
|
|
// 下一步节点数据 |
|
|
|
|
const { code, data } = res.data; |
|
|
|
|
if (code !== 200) return; |
|
|
|
|
details.nextNodeData = data || []; |
|
|
|
|
|
|
|
|
|
if (details.nextNodeData.length !== 1) return; |
|
|
|
|
|
|
|
|
|
for (const iterator of details.packageData) { |
|
|
|
|
iterator.nodeName = details.nextNodeData[0].warehouseName; |
|
|
|
|
iterator.nodeId = details.nextNodeData[0].warehouseId; |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
init(); |
|
|
|
|
|
|
|
|
|
/** 搜索 */ |
|
|
|
|
const searchChange = () => { |
|
|
|
|
onLoad(); |
|
|
|
@ -1320,6 +1395,26 @@ const handleExport = async () => {
|
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
/** 选择包件进行更改计划仓 */ |
|
|
|
|
const handleChooseWarehouse = async () => { |
|
|
|
|
if (details.selectionList.length === 0) return ElMessage.warning('请选择需要更改的数据'); |
|
|
|
|
|
|
|
|
|
const _arr = []; |
|
|
|
|
|
|
|
|
|
for (let i = 0; i < details.selectionList.length; i++) { |
|
|
|
|
const item = details.selectionList[i]; |
|
|
|
|
if (Number(item.scanStatus) === 1) _arr.push(item); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
tableNodeRef.value.handleClearSelect(); |
|
|
|
|
tableNodeRef.value.handleCheckSelect(_arr); |
|
|
|
|
|
|
|
|
|
await nextTick(); |
|
|
|
|
if (_arr.length === 0) return ElMessage.warning('请选择未卸车数据'); |
|
|
|
|
|
|
|
|
|
details.popUpShow.chooseDestinationVisited = true; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
watch( |
|
|
|
|
$route, |
|
|
|
|
(newVal, oldVal) => { |
|
|
|
@ -1417,8 +1512,6 @@ watch(
|
|
|
|
|
|
|
|
|
|
:deep(.el-table tr) { |
|
|
|
|
&.Abnormal { |
|
|
|
|
// background: #e54b4b; |
|
|
|
|
|
|
|
|
|
.tabculconte, |
|
|
|
|
.el-tooltip, |
|
|
|
|
.el-button--text, |
|
|
|
@ -1427,13 +1520,25 @@ watch(
|
|
|
|
|
color: #f00 !important; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
:deep(.el-tag) { |
|
|
|
|
&.err { |
|
|
|
|
background-color: #f8544b; |
|
|
|
|
border-color: #f8544b; |
|
|
|
|
color: #fff; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// &.hover-row { |
|
|
|
|
// .tabculconte, |
|
|
|
|
// .el-tooltip, |
|
|
|
|
// .el-button--text { |
|
|
|
|
// color: var(--el-color-primary) !important; |
|
|
|
|
// } |
|
|
|
|
// } |
|
|
|
|
&.primary { |
|
|
|
|
background-color: #0086f1; |
|
|
|
|
border-color: #0086f1; |
|
|
|
|
color: #fff; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
&.sub { |
|
|
|
|
background-color: #d3832a; |
|
|
|
|
border-color: #d3832a; |
|
|
|
|
color: #fff; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
</style> |
|
|
|
|