<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"></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)" :right-options="item.scaned?scanOptions:detailOptions"> <recommend :detail="item" :isShowFromLocation="false"></recommend> </uni-swipe-action-item> </uni-swipe-action> <u-line color="#D8D8D8"></u-line> </view> </uni-collapse-item> </uni-collapse> <detail-info-popup ref="detailInfoPopup"></detail-info-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 detailInfoPopup from '@/pages/count/coms/detailInfoPopup.vue' import comMessage from '@/mycomponents/common/comMessage.vue' import { getDetailOption, getDetailEditRemoveOption, getClearOption } from '@/common/array.js'; export default { components: { itemQty, recommend, detailInfoPopup, comMessage }, props: { dataContent: { type: Object, default: {} }, settingParam: { type: Object, default: {} }, }, 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: { record: { } }, detailOptions: [], scanOptions: [], removeOptions: [], } }, 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) { if (e.content.text == "详情") { this.detail(item) } else if (e.content.text == "编辑") { this.edit(item) } else if (e.content.text == "移除") { this.remove(item) } }, edit(detail) { this.$emit("editItem", detail) }, detail(item) { this.showItem = item; this.$refs.detailInfoPopup.openPopup(item); }, remove(item, index) { this.$refs.comMessage.showQuestionMessage("确定移除扫描信息?", res => { if (res) { // this.dataContent.subList.splice(index, 1) item.scaned = false; item.record = null; this.$emit('removePack') } }); }, confirm(qty) { this.$emit('updateData') } } } </script> <style> </style>