|
|
|
@ -61,13 +61,13 @@
|
|
|
|
|
</template> |
|
|
|
|
<!-- 按库位盘点 --> |
|
|
|
|
<template v-else-if="details.pageType === 2"> |
|
|
|
|
<text>订单号:</text> |
|
|
|
|
<text>{{details.scanNum + '/' + details.totalNum}}</text> |
|
|
|
|
<text>库位号:</text> |
|
|
|
|
<text>{{details.pageInfos.positionCode}}</text> |
|
|
|
|
</template> |
|
|
|
|
<!-- 按合同号盘点 --> |
|
|
|
|
<template v-else-if="details.pageType === 3"> |
|
|
|
|
<text>合同号:</text> |
|
|
|
|
<text>{{details.scanNum + '/' + details.totalNum}}</text> |
|
|
|
|
<text>{{details.pageInfos.orderCode}}</text> |
|
|
|
|
</template> |
|
|
|
|
<!-- 按托盘盘点 --> |
|
|
|
|
<template v-else-if="details.pageType === 4"> |
|
|
|
@ -143,7 +143,7 @@
|
|
|
|
|
|
|
|
|
|
<view class="main_render_item"> |
|
|
|
|
<view> |
|
|
|
|
库位: {{item.positionCode || '暂无数据'}} |
|
|
|
|
库位: {{item.allocation || '暂无数据'}} |
|
|
|
|
</view> |
|
|
|
|
<template v-if="tabBarCode !== 1"> |
|
|
|
|
<view> |
|
|
|
@ -231,8 +231,17 @@
|
|
|
|
|
<view class="popUp_row_title">{{item.title}}</view> |
|
|
|
|
</view> |
|
|
|
|
<!-- 输入框 --> |
|
|
|
|
<input v-show="tabBarCode === 2" class="input" type="text" :disabled="item.disabled" |
|
|
|
|
v-model="item.value" /> |
|
|
|
|
<template v-if="tabBarCode === 2 && item.code !== 10"> |
|
|
|
|
<input class="input" type="number" @blur="inputNum(item)" :disabled="item.disabled" |
|
|
|
|
v-model="item.value" /> |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
<!-- 在库数 --> |
|
|
|
|
<template v-else-if="tabBarCode === 2 && item.code === 10"> |
|
|
|
|
<view class="input"> |
|
|
|
|
{{item.value - details.stateArr[2].value - details.stateArr[4].value - details.stateArr[5].value}} |
|
|
|
|
</view> |
|
|
|
|
</template> |
|
|
|
|
</view> |
|
|
|
|
</block> |
|
|
|
|
</view> |
|
|
|
@ -263,10 +272,51 @@
|
|
|
|
|
|
|
|
|
|
<!-- 弹出层 -- 新增库存品 --> |
|
|
|
|
<PopUp ref="popUp_AddStock"> |
|
|
|
|
<input class="popUpInput" v-model="details.addInfo.orderCode" type="text" placeholder="请输入运单号" /> |
|
|
|
|
<input class="popUpInput" v-model="details.addInfo.orderCode" type="text" placeholder="请输入合同号" /> |
|
|
|
|
<input class="popUpInput" v-model="details.addInfo.orderCode" type="text" placeholder="请输入物料名称" /> |
|
|
|
|
<input class="popUpInput" v-model="details.addInfo.orderCode" type="text" placeholder="请输入数量" /> |
|
|
|
|
<view class="popUp_Add_row"> |
|
|
|
|
<view>合同号:</view> |
|
|
|
|
<input class="popUpInput" v-model="details.addInfo.orderCode" type="text" placeholder="请输入合同号" /> |
|
|
|
|
</view> |
|
|
|
|
<view class="popUp_Add_row"> |
|
|
|
|
<view>批次号:</view> |
|
|
|
|
<input class="popUpInput" v-model="details.addInfo.incomingBatch" type="text" placeholder="请输入批次号" /> |
|
|
|
|
</view> |
|
|
|
|
<view class="popUp_Add_row"> |
|
|
|
|
<view>物料名称:</view> |
|
|
|
|
<input class="popUpInput" v-model="details.addInfo.materialName" @blur="handleShowMaterial" type="text" |
|
|
|
|
placeholder="请输入物料编码或物料名称" /> |
|
|
|
|
<template v-if="details.showList.showMaterial"> |
|
|
|
|
<view class="select_content"> |
|
|
|
|
<view @click="()=>{ |
|
|
|
|
details.addInfo.materialName = val.materialName |
|
|
|
|
details.addInfo.materialCode = val.materialCode |
|
|
|
|
details.showList.showMaterial = false |
|
|
|
|
}" v-for="val in details.materialNameList" :key="val"> |
|
|
|
|
{{val.materialName}} |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</template> |
|
|
|
|
</view> |
|
|
|
|
<view class="popUp_Add_row"> |
|
|
|
|
<view>商城:</view> |
|
|
|
|
<input class="popUpInput" v-model="details.addInfo.marketName" @blur="handleShowMarket" type="text" |
|
|
|
|
placeholder="请选择商城" /> |
|
|
|
|
<template v-if="details.showList.showMarket"> |
|
|
|
|
<view :class="{'select_content': true, 'show': details.showMarket}"> |
|
|
|
|
<view v-for="val in details.marketNameList" :key="val" @click="()=>{ |
|
|
|
|
details.addInfo.marketName = val.clientName |
|
|
|
|
details.addInfo.clientName = val.clientName |
|
|
|
|
details.addInfo.marketId = val.id |
|
|
|
|
details.showList.showMarket = false |
|
|
|
|
}"> |
|
|
|
|
{{val.clientName}} |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</template> |
|
|
|
|
</view> |
|
|
|
|
<view class="popUp_Add_row"> |
|
|
|
|
<view>在库数量:</view> |
|
|
|
|
<input class="popUpInput" v-model="details.addInfo.quantity" type="number" placeholder="请输入在库数量" /> |
|
|
|
|
</view> |
|
|
|
|
</PopUp> |
|
|
|
|
|
|
|
|
|
<!-- 弹出层 -- 新增零担 --> |
|
|
|
@ -307,7 +357,9 @@
|
|
|
|
|
getWarehouseTaskgetTaskConInfo, |
|
|
|
|
postWarehouseTaskSelectPackageInfo, |
|
|
|
|
postWarehouseTaskQuestDetailAllocation, |
|
|
|
|
postWarehouseTaskAddDataInfo |
|
|
|
|
postWarehouseTaskAddDataInfo, |
|
|
|
|
postqueryfindMaterialList, |
|
|
|
|
pgetgetMaterialName |
|
|
|
|
} from '@/api/user.js'; |
|
|
|
|
import useSystemSettingsStore from '@/store/useSystemSettingsStore'; |
|
|
|
|
import { storeToRefs } from 'pinia'; |
|
|
|
@ -442,6 +494,15 @@
|
|
|
|
|
addInfo: { |
|
|
|
|
/** 合同号 */ |
|
|
|
|
orderCode: '' |
|
|
|
|
}, |
|
|
|
|
/** 商城名称数组 */ |
|
|
|
|
marketNameList: [], |
|
|
|
|
/** 物料名称数组 */ |
|
|
|
|
materialNameList: [{ materialName: 1 }], |
|
|
|
|
/** 是否显示下拉框 */ |
|
|
|
|
showList: { |
|
|
|
|
showMarket: false, |
|
|
|
|
showMaterial: false |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
@ -522,6 +583,9 @@
|
|
|
|
|
questId: details.pageInfos.questId, |
|
|
|
|
questNum: details.pageInfos.questNum, |
|
|
|
|
} |
|
|
|
|
if (details.pageType === 2) queryData.code = details.pageInfos.allocationId |
|
|
|
|
else if (details.pageType === 3) queryData.code = details.pageInfos.orderCode |
|
|
|
|
else if (details.pageType === 4) queryData.code = details.pageInfos.trayCode |
|
|
|
|
const res = await getWarehouseTaskgetTaskConInfo(queryData) |
|
|
|
|
const { code, data } = res |
|
|
|
|
if (code !== 200) return |
|
|
|
@ -549,6 +613,9 @@
|
|
|
|
|
questId: details.pageInfos.questId, |
|
|
|
|
questNum: details.pageInfos.questNum, |
|
|
|
|
} |
|
|
|
|
if (details.pageType === 2) queryData.code = details.pageInfos.allocationId |
|
|
|
|
else if (details.pageType === 3) queryData.code = details.pageInfos.orderCode |
|
|
|
|
else if (details.pageType === 4) queryData.code = details.pageInfos.trayCode |
|
|
|
|
const res = await getWarehouseTaskgetTaskConInfo(queryData) |
|
|
|
|
const { code, data } = res |
|
|
|
|
if (code !== 200) return |
|
|
|
@ -617,6 +684,18 @@
|
|
|
|
|
details.scanNum++ |
|
|
|
|
val.isNew = true |
|
|
|
|
if (!val.cargoName) val.cargoName = 10 |
|
|
|
|
if (details.pageType === 2) { |
|
|
|
|
val.allocationId = details.pageInfos.allocationId |
|
|
|
|
val.allocation = details.pageInfos.positionCode |
|
|
|
|
} |
|
|
|
|
else if (details.pageType === 3) { |
|
|
|
|
val.orderCode = details.pageInfos.orderCode |
|
|
|
|
val.orderId = details.pageInfos.orderId |
|
|
|
|
} |
|
|
|
|
else if (details.pageType === 4) { |
|
|
|
|
val.trayCode = details.pageInfos.trayCode |
|
|
|
|
val.trayId = details.pageInfos.trayId |
|
|
|
|
} |
|
|
|
|
details.orderList.push(val) |
|
|
|
|
}) |
|
|
|
|
// #ifdef APP |
|
|
|
@ -633,7 +712,7 @@
|
|
|
|
|
orderPackageCode: details.scancode, |
|
|
|
|
questStatus: 1, |
|
|
|
|
orderCode: details.addInfo.orderCode, |
|
|
|
|
positionCode: '', |
|
|
|
|
allocation: '', |
|
|
|
|
cargoName: 10, |
|
|
|
|
isChoose: false, |
|
|
|
|
/** 为手动添加 */ |
|
|
|
@ -641,7 +720,14 @@
|
|
|
|
|
/** 物料类型 */ |
|
|
|
|
questTarget: 1 |
|
|
|
|
} |
|
|
|
|
if (details.pageType === 2) _order.allocationId = details.pageInfos.allocationId |
|
|
|
|
if (details.pageType === 2) { |
|
|
|
|
_order.allocationId = details.pageInfos.allocationId |
|
|
|
|
_order.allocation = details.pageInfos.positionCode |
|
|
|
|
} |
|
|
|
|
else if (details.pageType === 3) { |
|
|
|
|
_order.orderCode = details.pageInfos.orderCode |
|
|
|
|
_order.orderId = details.pageInfos.orderId |
|
|
|
|
} |
|
|
|
|
else if (details.pageType === 4) { |
|
|
|
|
_order.trayCode = details.pageInfos.trayCode |
|
|
|
|
_order.trayId = details.pageInfos.trayId |
|
|
|
@ -821,12 +907,13 @@
|
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
if (cargoName.questChildVOList) { |
|
|
|
|
cargoName.questChildVOList.forEach((val, index) => { |
|
|
|
|
details.stateArr[index].isCheck = val.questNum === 0 ? false : true |
|
|
|
|
details.stateArr[index].value = val.questNum |
|
|
|
|
}) |
|
|
|
|
} else { |
|
|
|
|
if ( |
|
|
|
|
cargoName.stockNum |
|
|
|
|
|| cargoName.wornNum |
|
|
|
|
|| cargoName.lossNum |
|
|
|
|
|| cargoName.noRepairNum |
|
|
|
|
|| cargoName.deliveNum |
|
|
|
|
|| cargoName.noReceivedNum) { |
|
|
|
|
details.stateArr.forEach((val) => { |
|
|
|
|
const _value = cargoName[val.name] |
|
|
|
|
console.log('val.name :>> ', val.name); |
|
|
|
@ -834,8 +921,13 @@
|
|
|
|
|
if (_value > 0 && _value) val.value = _value |
|
|
|
|
else val.value = 0 |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
cargoName.questChildVOList.forEach((val, index) => { |
|
|
|
|
details.stateArr[index].isCheck = val.questNum === 0 ? false : true |
|
|
|
|
details.stateArr[index].value = val.questNum |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -901,6 +993,24 @@
|
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** 显示物料 */ |
|
|
|
|
const handleShowMaterial = async () => { |
|
|
|
|
const res = await postqueryfindMaterialList({ materialCode: details.addInfo.materialName }) |
|
|
|
|
const { code } = res |
|
|
|
|
if (code !== 200 || res.data.length === 0) return |
|
|
|
|
details.materialNameList = res.data |
|
|
|
|
details.showList.showMaterial = true |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** 显示商城 */ |
|
|
|
|
const handleShowMarket = async () => { |
|
|
|
|
const res = await pgetgetMaterialName({ code: details.addInfo.marketName, size: 500 }) |
|
|
|
|
const { code } = res |
|
|
|
|
if (code !== 200 || res.data.records.length === 0) return |
|
|
|
|
details.marketNameList = res.data.records |
|
|
|
|
details.showList.showMarket = true |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** 批量上架 */ |
|
|
|
|
const batchUp = () => { |
|
|
|
|
// 清空扫描的值 |
|
|
|
@ -1022,6 +1132,8 @@
|
|
|
|
|
} else { |
|
|
|
|
console.log('details.stateArr[0].value :>> ', details.stateArr[0].value); |
|
|
|
|
// 无数据 |
|
|
|
|
if (_item.title === '在库') return |
|
|
|
|
|
|
|
|
|
// 当在库数为0时, 不能选择破损或不可修复 |
|
|
|
|
if (details.stateArr[0].value === 0 && _item.title === '破损' || details.stateArr[0].value === 0 && _item.title === '不可修复') return |
|
|
|
|
|
|
|
|
@ -1050,9 +1162,10 @@
|
|
|
|
|
if (val.isCheck && Number(val.value) !== 0) _item[val.name] = Number(val.value) |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
console.log('_item :>> ', _item); |
|
|
|
|
if (_item.questStatus !== 1) details.scanNum++ |
|
|
|
|
_item.questStatus = 1 |
|
|
|
|
// 改变已盘点数 |
|
|
|
|
details.scanNum++ |
|
|
|
|
// 关闭弹窗 |
|
|
|
|
popUp_EditState.value.details.showPopUp = false |
|
|
|
|
} |
|
|
|
@ -1140,7 +1253,14 @@
|
|
|
|
|
/** 物料类型 */ |
|
|
|
|
questTarget: 2 |
|
|
|
|
} |
|
|
|
|
if (details.pageType === 2) _order.allocationId = details.pageInfos.allocationId |
|
|
|
|
if (details.pageType === 2) { |
|
|
|
|
_order.allocationId = details.pageInfos.allocationId |
|
|
|
|
_order.allocation = details.pageInfos.positionCode |
|
|
|
|
} |
|
|
|
|
else if (details.pageType === 3) { |
|
|
|
|
_order.orderCode = details.pageInfos.orderCode |
|
|
|
|
_order.orderId = details.pageInfos.orderId |
|
|
|
|
} |
|
|
|
|
else if (details.pageType === 4) { |
|
|
|
|
_order.trayCode = details.pageInfos.trayCode |
|
|
|
|
_order.trayId = details.pageInfos.trayId |
|
|
|
@ -1160,20 +1280,87 @@
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** 新增库存品 */ |
|
|
|
|
const handleAddStock = () => { } |
|
|
|
|
|
|
|
|
|
/** 左侧返回按钮 */ |
|
|
|
|
const leftClick = () => { |
|
|
|
|
popUp_Handle.value.setDetails({ |
|
|
|
|
title: '有数据未提交, 是否返回', |
|
|
|
|
const handleAddStock = () => { |
|
|
|
|
popUp_AddStock.value.setDetails({ |
|
|
|
|
title: '新增零担', |
|
|
|
|
showPopUp: true, |
|
|
|
|
confirmText: '确认返回 ', |
|
|
|
|
success() { |
|
|
|
|
uni.navigateBack() |
|
|
|
|
if (!details.addInfo.orderCode) return uni.showToast({ |
|
|
|
|
title: '请输入合同号', |
|
|
|
|
icon: 'none' |
|
|
|
|
}) |
|
|
|
|
if (!details.addInfo.incomingBatch) return uni.showToast({ |
|
|
|
|
title: '请输入批次号', |
|
|
|
|
icon: 'none' |
|
|
|
|
}) |
|
|
|
|
if (!details.addInfo.clientName) return uni.showToast({ |
|
|
|
|
title: '请输入正确的商场', |
|
|
|
|
icon: 'none' |
|
|
|
|
}) |
|
|
|
|
if (!details.addInfo.materialName) return uni.showToast({ |
|
|
|
|
title: '请输入物料名称', |
|
|
|
|
icon: 'none' |
|
|
|
|
}) |
|
|
|
|
const _number = Number(details.addInfo.quantity) |
|
|
|
|
if (_number !== _number || _number <= 0) return uni.showToast({ |
|
|
|
|
title: '数量为大于0的数字', |
|
|
|
|
icon: 'none' |
|
|
|
|
}) |
|
|
|
|
const _order = { |
|
|
|
|
questStatus: 1, |
|
|
|
|
orderCode: details.addInfo.orderCode, |
|
|
|
|
incomingBatch: details.addInfo.incomingBatch, |
|
|
|
|
positionCode: '', |
|
|
|
|
quantity: _number, |
|
|
|
|
materialName: details.addInfo.materialName, |
|
|
|
|
clientName: details.addInfo.clientName, |
|
|
|
|
cargoName: 10, |
|
|
|
|
stockNum: _number, |
|
|
|
|
isChoose: false, |
|
|
|
|
/** 为手动添加 */ |
|
|
|
|
isManuallyAdd: true, |
|
|
|
|
/** 物料类型 */ |
|
|
|
|
questTarget: 3 |
|
|
|
|
} |
|
|
|
|
if (details.pageType === 2) { |
|
|
|
|
_order.allocationId = details.pageInfos.allocationId |
|
|
|
|
_order.allocation = details.pageInfos.positionCode |
|
|
|
|
} |
|
|
|
|
else if (details.pageType === 3) { |
|
|
|
|
_order.orderCode = details.pageInfos.orderCode |
|
|
|
|
_order.orderId = details.pageInfos.orderId |
|
|
|
|
} |
|
|
|
|
else if (details.pageType === 4) { |
|
|
|
|
_order.trayCode = details.pageInfos.trayCode |
|
|
|
|
_order.trayId = details.pageInfos.trayId |
|
|
|
|
} |
|
|
|
|
details.stockList.push(_order) |
|
|
|
|
details.scanNum++ |
|
|
|
|
// 清空数据 |
|
|
|
|
details.addInfo = {} |
|
|
|
|
// 关闭弹窗 |
|
|
|
|
popUp_AddStock.value.details.showPopUp = false |
|
|
|
|
}, |
|
|
|
|
close() { |
|
|
|
|
details.addInfo = {} |
|
|
|
|
popUp_AddStock.value.details.showPopUp = false |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** 左侧返回按钮 */ |
|
|
|
|
const leftClick = () => { |
|
|
|
|
/* popUp_Handle.value.setDetails({ |
|
|
|
|
title: '有数据未提交, 是否返回', |
|
|
|
|
showPopUp: true, |
|
|
|
|
confirmText: '确认返回 ', |
|
|
|
|
success() { |
|
|
|
|
uni.navigateBack() |
|
|
|
|
} |
|
|
|
|
}) */ |
|
|
|
|
uni.navigateBack() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** 确认 */ |
|
|
|
|
const handleConFirm = () => { |
|
|
|
|
switch (details.handleType) { |
|
|
|
@ -1195,6 +1382,17 @@
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** 输入 */ |
|
|
|
|
const inputNum = (_item) => { |
|
|
|
|
let _maxNum = details.stateArr[0].value - details.stateArr[2].value - details.stateArr[4].value - details.stateArr[5].value |
|
|
|
|
|
|
|
|
|
let _number = Number(_item.value) |
|
|
|
|
if (_number !== _number) return _item.value = 0 |
|
|
|
|
else if (_number <= 0) return _item.value = 0 |
|
|
|
|
else if (_maxNum < 0) _item.value = 0 |
|
|
|
|
else _item.value = _number |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** 提交盘点*/ |
|
|
|
|
const submitCheck = async () => { |
|
|
|
|
try { |
|
|
|
@ -1452,8 +1650,9 @@
|
|
|
|
|
display: flex; |
|
|
|
|
color: #666; |
|
|
|
|
|
|
|
|
|
// checkInfo_item |
|
|
|
|
&_item { |
|
|
|
|
width: 40%; |
|
|
|
|
word-break: break-all; |
|
|
|
|
display: inline-flex; |
|
|
|
|
align-items: center; |
|
|
|
|
|
|
|
|
@ -1613,8 +1812,12 @@
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.input { |
|
|
|
|
width: 50%; |
|
|
|
|
width: 40%; |
|
|
|
|
height: 32upx; |
|
|
|
|
border: 1upx solid #eee; |
|
|
|
|
margin-right: 20upx; |
|
|
|
|
padding: 5upx; |
|
|
|
|
border-radius: 5upx; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1624,11 +1827,34 @@
|
|
|
|
|
justify-content: space-between; |
|
|
|
|
font-size: 28upx; |
|
|
|
|
align-items: center; |
|
|
|
|
position: relative; |
|
|
|
|
|
|
|
|
|
.popUpInput { |
|
|
|
|
width: 70%; |
|
|
|
|
margin-top: 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.select_content { |
|
|
|
|
position: absolute; |
|
|
|
|
z-index: 99; |
|
|
|
|
top: 120%; |
|
|
|
|
left: 50%; |
|
|
|
|
transform: translateX(-50%); |
|
|
|
|
background: #fff; |
|
|
|
|
border: 1upx solid #eee; |
|
|
|
|
width: 100%; |
|
|
|
|
overflow: hidden; |
|
|
|
|
|
|
|
|
|
view { |
|
|
|
|
text-align: center; |
|
|
|
|
padding: 20upx 0; |
|
|
|
|
border-bottom: 1upx solid #000; |
|
|
|
|
|
|
|
|
|
&:last-child { |
|
|
|
|
border-bottom: 0; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 提交按钮 |
|
|
|
|