You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

150 lines
4.9 KiB

<template>
<view>
<!-- <requiredLocation title="需求库位" :locationCode="dataContent.toLocationCode"
:isShowEdit="dataContent.allowModifyLocation==1"></requiredLocation> -->
<view v-for="(item,index) in dataContent.Items">
<u-collapse ref="collapse">
<u-collapse-item :open="true">
<template v-slot:title>
<view class="split_line"></view>
<!-- 物品 -->
<u-swipe-action ref="swipeAction" :options="removeOptions"
@click="(...event)=>itemCoceClick(event,item,index)">
<item-qty :dataContent="item" :handleQty="item.handleQty"></item-qty>
</u-swipe-action>
<!-- <com-issue-request-info :workShopCode="dataContent.workShopCode" :dataContent="dataContent">
</com-issue-request-info> -->
</template>
<view v-for="(loacation,locatonIndex) in item.Locations">
<view v-if="locatonIndex ==0">
<view class="uni-flex uni-row space-between">
<!-- 推荐库位 -->
<location :locationCode="loacation.fromLocationCode">
</location>
</view>
<view v-for="(batch,batchIndex) in loacation.Batchs">
<batch :batch="batch.detail.batch" v-if="batchIndex ==0"></batch>
</view>
</view>
</view>
</u-collapse-item>
</u-collapse>
</view>
</view>
<balance-qty-edit ref="balanceQtyEdit" @confirm="confirm" :isShowStatus="true"></balance-qty-edit>
<detail-info-popup ref="detailInfoPopup"></detail-info-popup>
<comMessage ref="message"></comMessage>
</template>
<script lang="ts" setup>
import {ref, onMounted, nextTick} from 'vue';
import itemQty from '@/mycomponents/item/itemQty.vue'
import recommend from '@/mycomponents/recommend/recommend.vue'
import recommendBalance from '@/mycomponents/balance/recommendBalance.vue'
import handleBalance from '@/mycomponents/balance/handleBalance.vue'
import recommendQtyEdit from '@/mycomponents/qty/recommendQtyEdit.vue'
import jobDetailPopup from '@/mycomponents/job/jobDetailPopup.vue'
import requiredLocation from '@/mycomponents/location/requiredLocation.vue'
import balanceQtyEdit from '@/mycomponents/qty/balanceQtyEdit.vue'
import location from '@/mycomponents/balance/location.vue'
import detailInfoPopup from '@/pages/productionReceipt/coms/detailInfoPopup.vue'
import comIssueRequestInfo from '@/pages/issue/coms/comIssueRequestInfo.vue'
import batch from '@/mycomponents/balance/batch.vue'
import {getDetailOption, getEditRemoveOption, getRemoveOption} from '@/common/array.js';
const emit = defineEmits(['updateData', "removeItemCode"])
const props = defineProps({
dataContent: {
type: Object,
default: {}
},
settingParam: {
type: Object,
default: {}
}
})
const option = ref([]);
const showItem = ref({});
const editItem = ref({});
const batchItem = ref({});
const detailOptions = ref([]);
const scanOptions = ref([]);
const removeOptions = ref([]);
const dataContent = ref({});
const balanceQtyEdit = ref(null);
const receiptHint = ref(null);
const message = ref(null);
onMounted(() => {
detailOptions.value = getDetailOption();
scanOptions.value = getEditRemoveOption();
removeOptions.value = getRemoveOption();
});
const resizeCollapse = () => {
nextTick(() => {
const collapseRefs = ref(null);
collapseRefs.value.forEach(r => {
r.childrens.forEach(i => {
i.init();
});
r.resize();
});
});
};
const swipeClick = (e, batch, record, recordIndex, batchIndex, Batchs, locatonIndex, Locations) => {
if (e.content.text === "编辑") {
edit(batch, record);
} else if (e.content.text === "移除") {
remove(batch, record, recordIndex, batchIndex, Batchs, locatonIndex, Locations);
}
};
const itemCoceClick = (e, item, index) => {
if (e.content.text === "移除") {
dataContent.value.Items.splice(index, 1);
emit('removeItemCode');
}
};
const edit = (batch, item) => {
editItem.value = item;
batchItem.value = batch;
item.balance.balanceQty = item.balance.qty;
balanceQtyEdit.value.openEditPopup(item.balance, item.qty);
};
const detail = (item) => {
showItem.value = item;
receiptHint.value.openScanPopup();
};
const remove = (batch, record, recordIndex, batchIndex, Batchs, locatonIndex, Locations) => {
message.value.showQuestionMessage("确定移除扫描信息?", res => {
if (res) {
batch.Records.splice(recordIndex, 1);
if (batch.Records.length === 0 && Batchs[batchIndex].isNewAdd) {
Batchs.splice(batchIndex, 1);
}
if (batch.Records.length === 0 && Locations[locatonIndex].isNewAdd) {
Locations.splice(locatonIndex, 1);
}
resizeCollapse();
emit('updateData', record);
}
});
};
const confirm = (val) => {
editItem.value.qty = val;
emit('updateData', editItem.value);
};
</script>
<style>
</style>