2022-08-20 10:17:22 +08:00

211 lines
5.4 KiB
Vue

<template>
<div class="conent">
<!-- 新增按钮 -->
<div class="btn">
<el-button type="primary" @click="handAdd">新增</el-button>
</div>
<div class="table">
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="id" label="ID" width="180"> </el-table-column>
<el-table-column prop="name" label="店铺名称" width="180">
</el-table-column>
<el-table-column prop="plat_id" label="所属平台"></el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button type="danger" v-if="scope.row.status === '未授权'"
><a
:href="scope.row.authUrl"
target="_blank"
rel="noopener noreferrer"
>&nbsp;&nbsp;授&nbsp;&nbsp;&nbsp;权&nbsp;&nbsp;</a
></el-button
>
<div v-if="scope.row.status === '已授权'">
<el-button type="success" :disabled="true">{{
scope.row.status
}}</el-button>
<el-button @click="download(scope.row)">下载商品</el-button>
</div>
<div v-if="scope.row.status === '重新授权'">
<el-button type="danger" target="_blank"
><a :href="scope.row.authUrl" rel="noopener noreferrer"
>重新授权</a
></el-button
>
<el-button @click="download(scope.row)">下载商品</el-button>
</div>
<div v-if="scope.row.status === '无需授权'">
<el-button type="success" :disabled="true">{{
scope.row.status
}}</el-button>
<el-button @click="download(scope.row)">下载商品</el-button>
</div>
</template>
</el-table-column>
</el-table>
</div>
<!-- 新增店铺 -->
<el-dialog
title="新增店铺"
:visible.sync="dialogFormVisible"
:close-on-click-modal="false"
>
<el-form :model="form">
<el-form-item label="店铺名称">
<el-input v-model="form.name" placeholder="输入店铺名称"></el-input>
</el-form-item>
<el-form-item label="店铺平台">
<el-select v-model="form.plat_id" placeholder="输入店铺平台">
<el-option
v-for="(item, index) in storeId"
:key="index"
:label="item"
:value="index"
>
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false"> </el-button>
<el-button type="primary" @click="addSubmit"> </el-button>
</div>
</el-dialog>
<!-- 分页功能 -->
<div class="block">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="current_page"
:page-sizes="[15, 50, 100]"
:page-size="per_page"
layout="total, sizes, prev, pager, next, jumper"
:total="Paginationdata.total"
>
</el-pagination>
</div>
</div>
</template>
<script>
import { shopListId, shopAdd, storeList, downloadGoods } from "../../api/shop";
export default {
data() {
return {
dialogFormVisible: false,
form: {
name: "",
plat_id: "",
},
storeId: [], // 店铺id
tableData: [],
Paginationdata: {}, //分页相关数据
current_page: 1, //当前页
per_page: 15, //每页显示数量
};
},
mounted() {
// 展示店铺列表
this.getStoreList();
},
methods: {
// 点击新增
handAdd() {
this.form.name = "";
this.form.plat_id = "";
this.dialogFormVisible = true;
this.getshop();
},
// 新增商品
addSubmit() {
const datas = this.form;
shopAdd(datas).then((res) => {
if (res.status == 200) {
this.$message({
type: "success",
message: "添加成功",
});
}
this.getStoreList();
});
this.dialogFormVisible = false;
},
// 店铺列表
getStoreList() {
let page = {
page: this.current_page,
per_page: this.per_page,
};
storeList(page).then((res) => {
this.tableData = res.data.data;
this.Paginationdata = res.data.meta;
console.log(111111, this.tableData);
});
},
//分页功能
handleSizeChange(val) {
//当前条数
this.per_page = val;
this.getStoreList();
},
handleCurrentChange(val) {
//当前页
this.current_page = val;
this.getStoreList();
},
// 店铺平台
getshop() {
shopListId().then((res) => {
this.storeId = res.data.data;
});
},
// 下载商品
download(row) {
// console.log(row);
downloadGoods(row.id).then((res) => {
console.log(res);
});
},
},
};
</script>
<style lang="scss" scoped>
a {
text-decoration: none;
color: white;
}
.conent {
width: 100%;
min-height: calc(100vh - 200px);
position: relative;
}
.btn {
height: 104px;
border-radius: 5px;
display: flex;
align-items: center;
.el-button {
width: 114px;
height: 44px;
border-radius: 3px;
}
}
.table {
margin-top: 20px;
}
.block {
margin-top: 30px;
}
</style>