<template> <view class="" style="background-color: #fff;"> <uni-collapse ref="collapse1" @change=""> <uni-collapse-item :open="true"> <template v-slot:title> <uni-swipe-action ref="swipeAction"> <uni-swipe-action-item @click="removeData($event,dataContent)" :right-options="removeOptions"> <item-qty :dataContent="dataContent" :handleQty="dataContent.handleQty" :isShowBalance="true"></item-qty> </uni-swipe-action-item> </uni-swipe-action> </template> <u-line /> <view class="" v-for="(item,index) in dataContent.subList"> <uni-swipe-action ref="swipeAction"> <uni-swipe-action-item @click="swipeClick($event,item,index)" :right-options="item.scaned?scanOptions:detailOptions"> <purchase-label :dataContent="item.label" :packageContent="item.package" :isShowLocation="false"> </purchase-label> </uni-swipe-action-item> </uni-swipe-action> <!-- <u-line color="#D8D8D8"></u-line> --> </view> </uni-collapse-item> </uni-collapse> <recommend-qty-edit ref="qtyEdit" :dataContent="editItem" :settingParam="settingParam" :handleQty="editItem.qty" @confirm="confirm"> </recommend-qty-edit> <package-detail-popup ref='packageDetailPopup'> </package-detail-popup> <com-message ref="comMessage"></com-message> </view> </template> <script> import itemQty from '@/mycomponents/item/itemQty.vue' import recommend from '@/mycomponents/recommend/recommend.vue' import jobDetailPopup from '@/mycomponents/job/jobDetailPopup.vue' import balance from '@/mycomponents/balance/balance.vue' import balanceMove from '@/mycomponents/balance/balanceMove.vue' import purchaseLabel from '@/mycomponents/balance/purchaseLabel.vue' import recommendQtyEdit from '@/mycomponents/qty/recommendQtyEdit.vue' import comMessage from '@/mycomponents/common/comMessage.vue' import packageDetailPopup from '@/mycomponents/package/packageDetailPopup.vue' import { getDetailOption, getDetailEditRemoveOption, getClearOption } from '@/common/array.js'; export default { components: { itemQty, recommend, jobDetailPopup, balance, recommendQtyEdit, balanceMove, purchaseLabel, comMessage, packageDetailPopup }, props: { dataContent: { type: Object, default: {} }, settingParam: { type: Object, default: {} }, fromInventoryStatus: { type: String, default: "" }, toInventoryStatus: { type: String, default: "" }, isShowStatus: { type: Boolean, default: false }, isShowLocation: { type: Boolean, default: false } }, watch: { dataContent: { handler(newName, oldName) { if (this.dataContent.subList.length > 0) { if (this.$refs.collapse1 != undefined) { this.$nextTick(res => { this.$refs.collapse1.resize() }) } } }, immediate: true, deep: true } }, data() { return { option: [], title: "推荐详情", showItem: {}, editItem: {}, detailOptions: [], scanOptions: [], removeOptions: [], dataList: [], } }, mounted() { this.detailOptions = getDetailOption(); this.scanOptions = getDetailEditRemoveOption(); this.removeOptions = getClearOption(); }, methods: { removeData(e, dataContent) { if (e.content.text == "清空") { this.$refs.comMessage.showQuestionMessage("确定清空零件及箱码信息?", res => { if (res) { this.$emit('removeItem') // this.$emit('removeItem', this.dataContent) } }); } }, swipeClick(e, item, index) { if (e.content.text == "详情") { this.detail(item.package) } else if (e.content.text == "编辑") { this.edit(item) } else if (e.content.text == "移除") { this.remove(item, index) } }, edit(item) { this.editItem = item; this.$refs.qtyEdit.openRecordEditPopup(item.label.qty); }, detail(packageInfo) { this.showItem = packageInfo; this.$refs.packageDetailPopup.openPopup(packageInfo) }, remove(item, index) { this.$refs.comMessage.showQuestionMessage("确定移除扫描信息?", res => { if (res) { this.dataContent.subList.splice(index, 1) this.$emit('removePack') } }); }, confirm(qty) { this.editItem.qty = qty; this.$emit('updateData') } } } </script> <style> </style>