zhang_li
2 months ago
6 changed files with 457 additions and 58 deletions
@ -0,0 +1,178 @@ |
|||
<template> |
|||
<view> |
|||
<!-- <requiredLocation title="需求库位" :locationCode="dataContent.toLocationCode" |
|||
:isShowEdit="dataContent.allowModifyLocation==1"></requiredLocation> --> |
|||
|
|||
<view v-for="(item,index) in dataContent.Items"> |
|||
<uni-collapse ref="collapse"> |
|||
<uni-collapse-item :open="true" :show-animation="true"> |
|||
<template v-slot:title> |
|||
<!-- 物品 --> |
|||
<item-qty :dataContent="item" :handleQty="item.handleQty" :isShowBalanceQty="false" ></item-qty> |
|||
</template> |
|||
<view v-for="(loacation,index) in item.Locations"> |
|||
<view> |
|||
<view class="uni-flex uni-row space-between"> |
|||
<!-- 推荐库位 --> |
|||
<location :locationCode="loacation.fromLocationCode"> |
|||
</location> |
|||
</view> |
|||
<view v-for="(batch,index) in loacation.Batchs"> |
|||
<recommend-balance style='margin-left: 20px;' :detail="batch" :isShowLocation="false" |
|||
:isShowPack="batch.packingNumber!=null && batch.packingNumber!=''"> |
|||
</recommend-balance> |
|||
<view class="uni-flex uni-row" v-if='batch.Records.length>0'> |
|||
<view class="center " style=" width: 20px;background-color: #0CC2B6; color: #fff; margin-left: 40px; padding: 0px 2px;"> |
|||
实际 |
|||
</view> |
|||
<view class="uni-flex uni-column scan_view" style="width: 100%;"> |
|||
<view v-for="(record,index) in batch.Records"> |
|||
<uni-swipe-action ref="swipeAction"> |
|||
<uni-swipe-action-item @click="swipeClick($event,batch,record,index)" |
|||
:right-options="settingParam.allowModifyQty=='TRUE'?scanOptions:removeOptions"> |
|||
<!-- <view class="card_view" v-if="record.parentPackingNumber" > |
|||
<text class="card_packing_code card_content ">外包装</text> |
|||
<text class="card_content ">{{record.parentPackingNumber}}</text> |
|||
</view> --> |
|||
<handle-balance :detail="record" :isShowLocation="false" |
|||
:isShowStatus='true' |
|||
:isShowBatch="batch.packingNumber!=null"> |
|||
<!-- :isShowBatch="batch.packingNumber!=null" --> |
|||
</handle-balance> |
|||
</uni-swipe-action-item> |
|||
</uni-swipe-action> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</uni-collapse-item> |
|||
</uni-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> |
|||
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 { |
|||
getDetailOption, |
|||
getEditRemoveOption, |
|||
getRemoveOption |
|||
} from '@/common/array.js'; |
|||
|
|||
export default { |
|||
emits: ['updateData'], |
|||
components: { |
|||
itemQty, |
|||
recommend, |
|||
recommendBalance, |
|||
handleBalance, |
|||
recommendQtyEdit, |
|||
requiredLocation, |
|||
balanceQtyEdit, |
|||
location, |
|||
detailInfoPopup |
|||
}, |
|||
props: { |
|||
dataContent: { |
|||
type: Object, |
|||
default: {} |
|||
}, |
|||
settingParam: { |
|||
type: Object, |
|||
default: {} |
|||
}, |
|||
}, |
|||
watch: { |
|||
|
|||
}, |
|||
|
|||
data() { |
|||
return { |
|||
option: [], |
|||
showItem: {}, |
|||
editItem: {}, |
|||
batchItem: {}, |
|||
detailOptions: [], |
|||
scanOptions: [], |
|||
removeOptions:[] |
|||
} |
|||
}, |
|||
|
|||
mounted() { |
|||
this.detailOptions = getDetailOption(); |
|||
this.scanOptions = getEditRemoveOption(); |
|||
this.removeOptions = getRemoveOption() |
|||
}, |
|||
|
|||
methods: { |
|||
resizeCollapse() { |
|||
this.$nextTick(() => { |
|||
this.$refs.collapse.forEach(r => { |
|||
r.childrens.forEach(i => { |
|||
i.init(); |
|||
}) |
|||
r.resize(); |
|||
}) |
|||
}); |
|||
}, |
|||
|
|||
swipeClick(e, batch, record, index) { |
|||
if (e.content.text == "编辑") { |
|||
this.edit(batch, record) |
|||
} else if (e.content.text == "移除") { |
|||
this.remove(batch, record, index) |
|||
} |
|||
}, |
|||
|
|||
edit(batch, record) { |
|||
let that = this; |
|||
that.editItem = record; |
|||
that.batchItem = batch; |
|||
record.balance.balanceQty = record.balance.qty; |
|||
that.$refs.balanceQtyEdit.openEditPopup(record.balance, record.qty); |
|||
}, |
|||
|
|||
detail(item) { |
|||
this.showItem = item; |
|||
this.$refs.receiptHint.openScanPopup() |
|||
}, |
|||
remove(batch, record, index) { |
|||
this.$refs.message.showQuestionMessage("确定移除扫描信息?", |
|||
res => { |
|||
if (res) { |
|||
batch.Records.splice(index, 1); |
|||
this.resizeCollapse(); |
|||
this.$emit('updateData', record) |
|||
} |
|||
}); |
|||
}, |
|||
confirm(val) { |
|||
this.editItem.qty = val; |
|||
this.$emit('updateData', this.editItem) |
|||
// let qty = 0; |
|||
// this.batchItem.Records.forEach(r => { |
|||
// qty += Number(r.qty); |
|||
// }) |
|||
// this.batchItem.handleQty = qty; |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style> |
|||
</style> |
@ -0,0 +1,173 @@ |
|||
<template> |
|||
<view> |
|||
<!-- <requiredLocation title="需求库位" :locationCode="dataContent.toLocationCode" |
|||
:isShowEdit="dataContent.allowModifyLocation==1"></requiredLocation> --> |
|||
|
|||
<view v-for="(item,index) in dataContent.Items"> |
|||
<uni-collapse ref="collapse"> |
|||
<uni-collapse-item :open="true"> |
|||
<template v-slot:title> |
|||
<!-- 物品 --> |
|||
<item-qty :dataContent="item" :handleQty="item.handleQty"></item-qty> |
|||
</template> |
|||
<view class='split_line'></view> |
|||
<view v-for="(loacation,index) in item.Locations" :key="index"> |
|||
<view> |
|||
<view class="uni-flex uni-row space-between"> |
|||
<!-- 推荐库位 --> |
|||
<location :locationCode="loacation.fromLocationCode"> |
|||
</location> |
|||
</view> |
|||
<view v-for="(batch,index) in loacation.Batchs" :key="index"> |
|||
<recommend-balance style='margin-left: 20px;' :detail="batch" |
|||
:isShowLocation="false" :isShowPack="batch.packingNumber!=null && batch.packingNumber!=''"> |
|||
</recommend-balance> |
|||
<view class="uni-flex uni-row" v-if='batch.Records.length>0'> |
|||
<view class="center " style=" width: 20px; color: #0CC2B6; margin-left: 40px;"> |
|||
实际 |
|||
</view> |
|||
<view class="uni-flex uni-column" style="width: 100%;"> |
|||
<view v-for="(record,index) in batch.Records" :key="index"> |
|||
<uni-swipe-action ref="swipeAction"> |
|||
<uni-swipe-action-item @click="swipeClick($event,batch,record,index)" |
|||
:right-options="settingParam.allowModifyQty=='TRUE'?scanOptions:removeOptions"> |
|||
<handle-balance :detail="record" :isShowLocation="false" |
|||
:isShowBatch="batch.packingNumber!=null"> |
|||
</handle-balance> |
|||
</uni-swipe-action-item> |
|||
</uni-swipe-action> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</uni-collapse-item> |
|||
</uni-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> |
|||
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 { |
|||
getDetailOption, |
|||
getEditRemoveOption, |
|||
getRemoveOption |
|||
} from '@/common/array.js'; |
|||
|
|||
export default { |
|||
emits: ['updateData'], |
|||
components: { |
|||
itemQty, |
|||
recommend, |
|||
recommendBalance, |
|||
handleBalance, |
|||
recommendQtyEdit, |
|||
requiredLocation, |
|||
balanceQtyEdit, |
|||
location, |
|||
detailInfoPopup |
|||
}, |
|||
props: { |
|||
dataContent: { |
|||
type: Object, |
|||
default: null |
|||
}, |
|||
settingParam: { |
|||
type: Object, |
|||
default: null |
|||
}, |
|||
}, |
|||
watch: { |
|||
|
|||
}, |
|||
|
|||
data() { |
|||
return { |
|||
option: [], |
|||
showItem: {}, |
|||
editItem: {}, |
|||
batchItem: {}, |
|||
detailOptions: [], |
|||
scanOptions: [], |
|||
removeOptions: [] |
|||
} |
|||
}, |
|||
|
|||
mounted() { |
|||
this.detailOptions = getDetailOption(); |
|||
this.scanOptions = getEditRemoveOption(); |
|||
this.removeOptions = getRemoveOption() |
|||
}, |
|||
|
|||
methods: { |
|||
resizeCollapse() { |
|||
this.$nextTick(r => { |
|||
this.$refs.collapse.forEach(r => { |
|||
r.childrens.forEach(i => { |
|||
i.init(); |
|||
}) |
|||
r.resize(); |
|||
}) |
|||
}); |
|||
}, |
|||
|
|||
swipeClick(e, batch, record, index) { |
|||
if (e.content.text == "编辑") { |
|||
this.edit(batch, record) |
|||
} else if (e.content.text == "移除") { |
|||
this.remove(batch, record, index) |
|||
} |
|||
}, |
|||
|
|||
edit(batch, item) { |
|||
let that = this; |
|||
that.editItem = item; |
|||
that.batchItem = batch; |
|||
item.balance.balanceQty=item.balance.qty; |
|||
that.$refs.balanceQtyEdit.openEditPopup(item.balance, item.qty); |
|||
}, |
|||
|
|||
detail(item) { |
|||
this.showItem = item; |
|||
this.$refs.receiptHint.openScanPopup() |
|||
}, |
|||
remove(batch, record, index) { |
|||
this.$refs.message.showQuestionMessage("确定移除扫描信息?", |
|||
res => { |
|||
if (res) { |
|||
batch.Records.splice(index, 1); |
|||
this.resizeCollapse(); |
|||
this.$emit('updateData', record) |
|||
} |
|||
}); |
|||
}, |
|||
confirm(val) { |
|||
this.editItem.qty = val; |
|||
this.$emit('updateData', this.editItem) |
|||
// let qty = 0; |
|||
// this.batchItem.Records.forEach(r => { |
|||
// qty += Number(r.qty); |
|||
// }) |
|||
// this.batchItem.handleQty = qty; |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style> |
|||
</style> |
Loading…
Reference in new issue