代码更新
This commit is contained in:
@@ -22,7 +22,7 @@
|
||||
|
||||
</view>
|
||||
|
||||
<scroll-view :scroll-x="false" scroll-y="true" :style="computedStyle()">
|
||||
<scroll-view :scroll-x="true" :scroll-y="true" :style="computedStyle()">
|
||||
<view class="u-p-l-30 u-p-r-30 table">
|
||||
<view class="u-flex u-row-between no-wrap title">
|
||||
<view>
|
||||
@@ -31,8 +31,6 @@
|
||||
</view>
|
||||
<view>商品信息</view>
|
||||
<view>规格</view>
|
||||
<!-- <view>是否售尽</view> -->
|
||||
<!-- <view>是否分销</view> -->
|
||||
<view>售价</view>
|
||||
<view>销量/库存</view>
|
||||
<view>分类名称</view>
|
||||
@@ -41,23 +39,19 @@
|
||||
<view class="">
|
||||
<my-radio @change="radioChange($event,item)" v-model="item.checked" shape="square" :size="20"></my-radio>
|
||||
</view>
|
||||
<view class="u-text-left u-flex-1 u-p-l-20">
|
||||
<!-- <view class="u-flex">
|
||||
<image lazy-load class="coverImg" :src="item.coverImg" mode=""></image>
|
||||
</view> -->
|
||||
<view class="u-text-left u-flex-1 u-p-l-20" style="flex-shrink: 0;">
|
||||
<view class="">{{item.name}}</view>
|
||||
</view>
|
||||
<view class="u-flex-1 u-p-l-4 u-p-r-4 box-size-border">
|
||||
{{item.typeEnum}}
|
||||
{{isType(item.type)}}
|
||||
</view>
|
||||
<view class="u-flex-1">
|
||||
¥{{ item.lowPrice }}
|
||||
</view>
|
||||
<view class="u-flex-1">
|
||||
<!-- {{ item.realSalesNumber }}/{{ item.stockNumber }} -->
|
||||
{{ item.stockNumber }}
|
||||
{{ item.stockNumber }}
|
||||
</view>
|
||||
<view class="u-flex-1">
|
||||
<view class="u-flex-1" style="text-overflow: ellipsis;overflow: hidden;word-break: break-all;white-space: nowrap;">
|
||||
{{item.categoryName}}
|
||||
</view>
|
||||
</view>
|
||||
@@ -80,15 +74,9 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import {
|
||||
$tbProductList
|
||||
} from '@/http/yskApi/goods.js';
|
||||
import {
|
||||
reactive,
|
||||
onMounted,
|
||||
ref,
|
||||
watch
|
||||
} from 'vue';
|
||||
import { reactive, onMounted, ref, watch, computed } from 'vue';
|
||||
import { getProductList} from '@/api/product.js';
|
||||
|
||||
const props = defineProps({
|
||||
modelValue: {
|
||||
type: Boolean,
|
||||
@@ -105,6 +93,98 @@
|
||||
}
|
||||
}
|
||||
})
|
||||
const emits = defineEmits(['update:modelValue', 'confirm'])
|
||||
|
||||
const $quey = {
|
||||
categoryId: "",
|
||||
id: "",
|
||||
name: "",
|
||||
orderBy: "create_time desc",
|
||||
page: 1,
|
||||
size: 10,
|
||||
}
|
||||
const query = reactive({
|
||||
...$quey
|
||||
})
|
||||
const goods = reactive({
|
||||
list: [],
|
||||
allChecked: false,
|
||||
totalElements: 0,
|
||||
query: {
|
||||
...$quey
|
||||
}
|
||||
})
|
||||
//页面全部数据
|
||||
const pageData = reactive({
|
||||
// 商品类型
|
||||
types: [{
|
||||
name: '单规格',
|
||||
value: 'single'
|
||||
},
|
||||
{
|
||||
name: '多规格',
|
||||
value: 'sku'
|
||||
},
|
||||
{
|
||||
name: '套餐',
|
||||
value: 'package'
|
||||
},
|
||||
{
|
||||
name: '称重',
|
||||
value: 'weigh'
|
||||
},
|
||||
// {
|
||||
// name: '团购券',
|
||||
// value: 'coupon'
|
||||
// },
|
||||
],
|
||||
|
||||
|
||||
})
|
||||
function isType (e) {
|
||||
let obj = pageData.types.find(item=> item.value == e)
|
||||
return obj.name
|
||||
}
|
||||
|
||||
getGoods()
|
||||
/**
|
||||
* 获取商品列表
|
||||
*/
|
||||
function getGoods() {
|
||||
const arr=selArr
|
||||
getProductList(goods.query).then(res => {
|
||||
let selLen=0;
|
||||
goods.list = res.records.map(v => {
|
||||
const checked=$selGoodsMap[v.id]?true:false
|
||||
selLen+=(checked?1:0)
|
||||
return {
|
||||
...v,
|
||||
checked
|
||||
}
|
||||
})
|
||||
goods.allChecked = selLen==res.records.length?true:false
|
||||
goods.totalElements = res.totalRow
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 单个商品选中
|
||||
* @param {Object} newval
|
||||
* @param {Object} item
|
||||
*/
|
||||
function radioChange(newval,item) {
|
||||
if(!newval&&$selGoodsMap[item.id]){
|
||||
delete $selGoodsMap[item.id]
|
||||
}else{
|
||||
$selGoodsMap[item.id]=item
|
||||
}
|
||||
goods.allChecked = goods.list.filter(v => v.checked).length != 0
|
||||
}
|
||||
|
||||
/**
|
||||
* 全选
|
||||
* @param {Object} item
|
||||
*/
|
||||
function changeChecked(item){
|
||||
item.checked=!item.checked
|
||||
if(!item.checked&&$selGoodsMap[item.id]){
|
||||
@@ -128,8 +208,7 @@
|
||||
selArr=arr
|
||||
console.log(arr);
|
||||
for(let i in arr){
|
||||
$selGoodsMap[arr[i].proId
|
||||
]=arr[i]
|
||||
$selGoodsMap[arr[i].proId]=arr[i]
|
||||
}
|
||||
getGoods()
|
||||
}
|
||||
@@ -150,60 +229,11 @@
|
||||
return `height:${typeof props.height==='string'?props.height:props.height+'rpx'};`
|
||||
}
|
||||
|
||||
const emits = defineEmits(['update:modelValue', 'confirm'])
|
||||
|
||||
const $quey = {
|
||||
categoryId: "",
|
||||
createdAt: [],
|
||||
id: "",
|
||||
name: "",
|
||||
sort: "createdAt,desc",
|
||||
type: "",
|
||||
page: 0,
|
||||
size: 10,
|
||||
}
|
||||
const query = reactive({
|
||||
...$quey
|
||||
})
|
||||
const goods = reactive({
|
||||
list: [],
|
||||
allChecked: false,
|
||||
totalElements: 0,
|
||||
query: {
|
||||
...$quey
|
||||
}
|
||||
})
|
||||
getGoods()
|
||||
function getGoods() {
|
||||
const arr=selArr
|
||||
$tbProductList(goods.query).then(res => {
|
||||
let selLen=0;
|
||||
goods.list = res.content.map(v => {
|
||||
const checked=$selGoodsMap[v.id]?true:false
|
||||
selLen+=(checked?1:0)
|
||||
return {
|
||||
...v,
|
||||
checked
|
||||
}
|
||||
})
|
||||
goods.allChecked = selLen==res.content.length?true:false
|
||||
goods.totalElements = res.totalElements
|
||||
})
|
||||
}
|
||||
|
||||
function pageChange(page) {
|
||||
goods.query.page = page - 1
|
||||
goods.query.page = page
|
||||
getGoods()
|
||||
}
|
||||
|
||||
function radioChange(newval,item) {
|
||||
if(!newval&&$selGoodsMap[item.id]){
|
||||
delete $selGoodsMap[item.id]
|
||||
}else{
|
||||
$selGoodsMap[item.id]=item
|
||||
}
|
||||
goods.allChecked = goods.list.filter(v => v.checked).length != 0
|
||||
}
|
||||
|
||||
function radioAllChange(newval) {
|
||||
goods.list.forEach(i => {
|
||||
@@ -223,7 +253,6 @@
|
||||
delete $selGoodsMap[item.id]
|
||||
}
|
||||
}
|
||||
console.log($selGoodsMap);
|
||||
const arr = Object.values($selGoodsMap)
|
||||
emits('confirm', arr)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user