|
|
|
@ -63,7 +63,18 @@
|
|
|
|
|
<!-- 控件模块 --> |
|
|
|
|
<div class="avue-crud__header"> |
|
|
|
|
<!-- 头部左侧按钮模块 --> |
|
|
|
|
<div class="avue-crud__left"></div> |
|
|
|
|
<div class="avue-crud__left"> |
|
|
|
|
<el-tooltip |
|
|
|
|
class="box-item" |
|
|
|
|
effect="dark" |
|
|
|
|
content="批量处理不支持零担,且需要异常类型为相同的异常" |
|
|
|
|
placement="top-start" |
|
|
|
|
> |
|
|
|
|
<el-button type="primary" icon="Edit" @click="handleBatchAbnormarl"> |
|
|
|
|
批量处理 |
|
|
|
|
</el-button> |
|
|
|
|
</el-tooltip> |
|
|
|
|
</div> |
|
|
|
|
<!-- 头部右侧按钮模块 --> |
|
|
|
|
<div class="avue-crud__right"> |
|
|
|
|
<el-button icon="el-icon-refresh" @click="searchChange" circle></el-button> |
|
|
|
@ -144,7 +155,7 @@
|
|
|
|
|
<el-dialog |
|
|
|
|
title="异常处理" |
|
|
|
|
:visible.sync="details.popUpShow.abnormalVisited" |
|
|
|
|
width="780px" |
|
|
|
|
width="500px" |
|
|
|
|
:align-center="true" |
|
|
|
|
v-model="details.popUpShow.abnormalVisited" |
|
|
|
|
> |
|
|
|
@ -331,14 +342,13 @@ const details = reactive<any>({
|
|
|
|
|
}, |
|
|
|
|
/** 处理的异常信息 */ |
|
|
|
|
abnormalInfo: {}, |
|
|
|
|
/** 是否为异常处理 */ |
|
|
|
|
isBatch: false, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
const { search, query, shortcuts, data, loadingObj, selectionList, drawerShow, page, popUpShow } = |
|
|
|
|
toRefs(details); |
|
|
|
|
|
|
|
|
|
/** vuex */ |
|
|
|
|
const permission = computed(() => mapGetters(['permission', 'tagWel', 'tagList'])); |
|
|
|
|
|
|
|
|
|
onMounted(() => { |
|
|
|
|
const timer = setTimeout(() => { |
|
|
|
|
details.listNode = document.querySelector('.maboxhi'); |
|
|
|
@ -468,6 +478,8 @@ const handleAnException = async ({ row }) => {
|
|
|
|
|
details.abnormalInfo = { ...row }; |
|
|
|
|
details.abnormalInfo.handleNum = 0; |
|
|
|
|
|
|
|
|
|
details.isBatch = false; |
|
|
|
|
|
|
|
|
|
// 获取零担异常品类详情 |
|
|
|
|
if (Number(row.abnormalType) === 5) { |
|
|
|
|
try { |
|
|
|
@ -503,20 +515,29 @@ const handleAbnormal = (dealType, title) => {
|
|
|
|
|
details.popUpShow.abnormalVisited = false; |
|
|
|
|
try { |
|
|
|
|
details.loadingObj.pageLoading = true; |
|
|
|
|
const submitData = { abnormalRecordId: details.abnormalInfo.id, dealType }; |
|
|
|
|
if (dealType === 6) { |
|
|
|
|
let _handleNum = 0; |
|
|
|
|
|
|
|
|
|
for (let i = 0; i < details.abnormalInfo.zeroGoodsArr.length; i++) { |
|
|
|
|
const val = details.abnormalInfo.zeroGoodsArr[i]; |
|
|
|
|
val.handleNum = val.handleNum || 0; |
|
|
|
|
val.enterNum = val.handleNum || 0; |
|
|
|
|
_handleNum += val.handleNum || 0; |
|
|
|
|
const submitData = { abnormalRecordIds: [], dealType } as any; |
|
|
|
|
// 是否为批量操作 |
|
|
|
|
if (details.isBatch) { |
|
|
|
|
for (let i = 0; i < details.selectionList.length; i++) { |
|
|
|
|
submitData.abnormalRecordIds.push(details.selectionList[i].id); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
submitData.abnormalRecordIds[0] = details.abnormalInfo.id; |
|
|
|
|
|
|
|
|
|
if (dealType === 6) { |
|
|
|
|
let _handleNum = 0; |
|
|
|
|
|
|
|
|
|
for (let i = 0; i < details.abnormalInfo.zeroGoodsArr.length; i++) { |
|
|
|
|
const val = details.abnormalInfo.zeroGoodsArr[i]; |
|
|
|
|
val.handleNum = val.handleNum || 0; |
|
|
|
|
val.enterNum = val.handleNum || 0; |
|
|
|
|
_handleNum += val.handleNum || 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!_handleNum) return ElMessage.warning('请输入入库数量'); |
|
|
|
|
submitData.zeroPackageDTOS = details.abnormalInfo.zeroGoodsArr; |
|
|
|
|
submitData.num = _handleNum; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!_handleNum) return ElMessage.warning('请输入入库数量'); |
|
|
|
|
submitData.zeroPackageDTOS = details.abnormalInfo.zeroGoodsArr; |
|
|
|
|
submitData.num = _handleNum; |
|
|
|
|
} |
|
|
|
|
const res = await postDealAbnormal(submitData); |
|
|
|
|
|
|
|
|
@ -534,6 +555,26 @@ const handleAbnormal = (dealType, title) => {
|
|
|
|
|
}) |
|
|
|
|
.catch(() => {}); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
/** 批量处理异常 */ |
|
|
|
|
const handleBatchAbnormarl = () => { |
|
|
|
|
if (details.selectionList.length === 0) return ElMessage.warning('请选择需要处理的异常数据'); |
|
|
|
|
|
|
|
|
|
const _abnormalType = details.selectionList[0].abnormalType; |
|
|
|
|
|
|
|
|
|
for (let i = 0; i < details.selectionList.length; i++) { |
|
|
|
|
const val = details.selectionList[i]; |
|
|
|
|
|
|
|
|
|
if (Number(val.abnormalStatus) === 1) return ElMessage.warning('存在已处理的异常数据,请移除'); |
|
|
|
|
if (_abnormalType !== val.abnormalType) return ElMessage.warning('批量处理仅支持同一异常类型'); |
|
|
|
|
if (Number(val.isZero) === 1) return ElMessage.warning('零担数据不支持批量操作,请移除'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
details.abnormalInfo = { ...details.selectionList[0] }; |
|
|
|
|
|
|
|
|
|
details.isBatch = true; |
|
|
|
|
details.popUpShow.abnormalVisited = true; |
|
|
|
|
}; |
|
|
|
|
</script> |
|
|
|
|
|
|
|
|
|
<style scoped lang="scss"> |
|
|
|
|