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