merchant-web/src/views/modules/product/index.vue

142 lines
3.7 KiB
Vue
Raw Normal View History

2024-08-07 09:55:31 +00:00
<template>
2024-08-09 10:04:10 +00:00
<div>
<obj-table-plus
ref="oTable"
:tableCols="tableCols"
@query="queryList"
v-model="dataList"
>
<template slot="tableTop">
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item label="平台分类">
<el-select v-model="formInline.region" placeholder="活动区域">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="商户分类">
<el-select v-model="formInline.region" placeholder="活动区域">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="商品搜索">
<el-input
v-model="formInline.user"
placeholder="商品搜索"
></el-input>
</el-form-item>
2024-08-07 09:55:31 +00:00
2024-08-09 10:04:10 +00:00
<el-form-item>
<el-button type="primary" @click="$refs.oTable.reload()"
>查询</el-button
>
</el-form-item>
</el-form>
2024-08-13 02:47:05 +00:00
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="在售" name="在售"></el-tab-pane>
2024-08-09 10:04:10 +00:00
<el-tab-pane label="仓库中" name="仓库中"></el-tab-pane>
2024-08-13 02:47:05 +00:00
<el-tab-pane label="折扣" name="折扣"></el-tab-pane>
2024-08-09 10:04:10 +00:00
</el-tabs>
<div class="mb-2">
<el-button type="primary" size="small" @click="addProduct"
>添加商品</el-button
>
</div>
</template>
</obj-table-plus>
<add-or-update ref="addOrUpdate"></add-or-update>
</div>
2024-08-07 09:55:31 +00:00
</template>
<script>
2024-08-09 10:04:10 +00:00
import AddOrUpdate from "./popup/add-or-update.vue";
2024-08-07 09:55:31 +00:00
export default {
2024-08-09 10:04:10 +00:00
components: { AddOrUpdate },
data() {
return {
activeName: "出售中",
dataList: [],
formInline: {
user: "",
region: "",
},
2024-08-13 02:47:05 +00:00
productFilterType: "SALE",
2024-08-09 10:04:10 +00:00
};
},
methods: {
addProduct() {
this.$refs.addOrUpdate.toggle().add();
2024-08-07 09:55:31 +00:00
},
2024-08-09 10:04:10 +00:00
queryList(pageNo, pageSize) {
this.$api.mer_admin
.getProductPage({
p: {
pageNumber: pageNo,
pageSize: pageSize,
},
2024-08-13 02:47:05 +00:00
productFilterType: this.productFilterType,
merchantId: JSON.parse(sessionStorage.getItem("userInfo")).merchantId,
shopId: JSON.parse(sessionStorage.getItem("userInfo")).shopId,
productQuerySortParam: [],
2024-08-09 10:04:10 +00:00
})
.then((res) => {
console.log(res);
this.$refs.oTable.complete(
res.data.data.data,
Number(res.data.data.total)
);
})
.catch((err) => {
this.$refs.oTable.complete(false);
});
2024-08-07 09:55:31 +00:00
},
2024-08-13 02:47:05 +00:00
handleClick() {
switch (this.activeName) {
case "在售":
this.productFilterType = "SALE";
break;
case "仓库中":
this.productFilterType = "WAREHOUSE";
break;
case "折扣":
this.productFilterType = "DISCOUNT";
break;
}
this.$refs.oTable.reload();
},
2024-08-09 10:04:10 +00:00
},
computed: {
tableCols() {
return [
{
title: "ID",
},
{
title: "商品图",
},
{
title: "商品名称",
},
{
title: "商品售价",
},
{
title: "销量",
},
{
title: "库存",
},
{
title: "状态",
},
{
title: "操作",
},
];
2024-08-07 09:55:31 +00:00
},
2024-08-09 10:04:10 +00:00
},
};
2024-08-07 09:55:31 +00:00
</script>
<style lang="scss" scoped></style>