81 lines
2.5 KiB
Vue
81 lines
2.5 KiB
Vue
<template>
|
||
<view>
|
||
<view class="bg-white padding-bottom">
|
||
<horizontal-goods-card v-if="product" :ifShowServArea="true" :product="product"></horizontal-goods-card>
|
||
<view v-if="columnTitleArr.length" class="flex justify-between margin-tb-sm">
|
||
<view class="basis-df">{{columnTitleArr[0]}}</view>
|
||
<view class="flex justify-end text-center basis-sm">
|
||
<view v-for="(title, index) in columnTitleArr" v-if="index >= 1" class="basis-df">{{title}}</view>
|
||
</view>
|
||
</view>
|
||
<view class="certern-height-with-scroll">
|
||
<view class="flex justify-between margin-tb-xs align-center" v-for="(item,index) in pickedList" :key="item.id">
|
||
<view class='cu-tag padding line-main-color basis-df'>{{item.name}}</view>
|
||
<view v-if="numberBox" class="flex justify-end basis-xs">
|
||
<uni-number-box :min="0" :max="item.maxPieces" :value="item.pickedNum"
|
||
@change="changePiecesNum($event, item)">
|
||
</uni-number-box>
|
||
</view>
|
||
<view v-else-if="item.valColArr && item.valColArr.length > 0" class="flex justify-end basis-sm text-center">
|
||
<uni-number-box class="basis-df" v-for="(valCol, index0) in item.valColArr" v-if="valCol.numberBox"
|
||
:min="0" :max="valCol.max" :value="valCol.value" @change="changePiecesNum($event, item)">
|
||
</uni-number-box>
|
||
<view class="basis-df" v-else>{{valCol.value}}</view>
|
||
</view>
|
||
<view v-else class="flex justify-end basis-sm text-center">
|
||
<view class="basis-df"><text v-if="!showToServNum">×</text>{{item.pickedNum}}</view>
|
||
<view class="basis-df" v-if="showToServNum">
|
||
{{item.toServNum == undefined || item.toServNum == null ? item.secondColumnNum : item.toServNum}}
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import horizontalGoodsCard from '@/components/goods-card/horizontal-goods-card.vue';
|
||
|
||
export default {
|
||
name: "product-picked",
|
||
props: {
|
||
product: {
|
||
type: Object,
|
||
default: null
|
||
},
|
||
pickedList: {
|
||
type: Array,
|
||
default: []
|
||
},
|
||
columnTitleArr: {
|
||
type: Array,
|
||
default: []
|
||
},
|
||
showToServNum: {
|
||
type: Boolean,
|
||
default: false
|
||
},
|
||
numberBox: {
|
||
type: Boolean,
|
||
default: false
|
||
}
|
||
},
|
||
components: {
|
||
horizontalGoodsCard
|
||
},
|
||
methods: {
|
||
changePiecesNum(curNum, curItem) {
|
||
uni.$emit('changePickedNum', curNum, curItem)
|
||
}
|
||
},
|
||
}
|
||
</script>
|
||
|
||
<style scoped>
|
||
.certern-height-with-scroll {
|
||
max-height: 300rpx;
|
||
overflow: scroll;
|
||
}
|
||
</style>
|