98 lines
1.9 KiB
Vue
98 lines
1.9 KiB
Vue
<template>
|
|
<view class="container">
|
|
<view class="title">
|
|
<view class="search"><search></search></view>
|
|
</view>
|
|
<shop-item isShowImg v-for="(item, index) in shopList" :key="index" :itemObject="item" @handleMethod="handleMethod"></shop-item>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
|
|
import shopItem from '../components/shopItem.vue';
|
|
import search from '../components/search.vue';
|
|
import { productLstApi, productDeleteApi } from 'api/product.js';
|
|
import { Toast, Modal } from 'libs/uniApi.js';
|
|
export default {
|
|
components: {
|
|
shopItem,
|
|
search
|
|
},
|
|
data() {
|
|
return {
|
|
merId: '',
|
|
where: {
|
|
page: 1,
|
|
limit: 15
|
|
},
|
|
shopList: []
|
|
};
|
|
},
|
|
// 下拉到底部
|
|
onReachBottom() {
|
|
this.where.page++;
|
|
this.initData('concat');
|
|
},
|
|
onLoad(opt) {
|
|
this.merId = opt.mer_id;
|
|
this.initData();
|
|
},
|
|
onShow() {
|
|
|
|
},
|
|
methods: {
|
|
initData(type) {
|
|
productLstApi(this.merId, { ...this.where, type: 5 }).then(res => {
|
|
if (type == 'concat') {
|
|
this.shopList = this.shopList.concat(res.data.list);
|
|
} else {
|
|
this.shopList = res.data.list;
|
|
}
|
|
// 给每一个列表项,添加可用功能
|
|
this.shopList.forEach(item => {
|
|
this.$set(item, 'handleList', [
|
|
// {
|
|
// id: 1,
|
|
// label: '编辑'
|
|
// },
|
|
{
|
|
id: 2,
|
|
label: '加入回收站'
|
|
}
|
|
]);
|
|
});
|
|
});
|
|
},
|
|
// 加入回收站
|
|
addToRecycleBin(obj) {
|
|
Modal('温馨提示', `商品"${obj.store_name}"将被加入回收站,请问是否继续?`).then(res => {
|
|
productDeleteApi(this.merId, obj.product_id)
|
|
.then(res => {
|
|
this.initData();
|
|
Toast('已加入回收站');
|
|
})
|
|
.catch(rej => {
|
|
Toast(`${rej}, 加入回收站失败`);
|
|
});
|
|
});
|
|
},
|
|
|
|
handleMethod(item, obj) {
|
|
if (item.id == 2) {
|
|
this.addToRecycleBin(obj);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
};
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.title {
|
|
background: #fff;
|
|
}
|
|
.search {
|
|
padding: 30rpx 25rpx;
|
|
}
|
|
</style>
|