You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bsdgy-front/src/pages/shop/IncreaseWelcomeList.vue

210 lines
5.2 KiB
Vue

<template>
<div>
<Row class="search-row">
<i-col span="24"
class="search-col">
<Row class="row-style">
<Button @click="handleEdit"
type="primary">配置欢迎语</Button>
</Row>
</i-col>
</Row>
<Table :columns="columns1"
:data="data"
:loading="loading"
@on-cell-click="clickCell"
style="margin-top: 20px;"
size="small">
<template slot-scope="{ row, index }"
slot="action">
<i-col span="12">
<Button ghost
class="router-btn"
@click="() => {handleEdit(row, index)}">修改</Button>
</i-col>
<i-col span="12">
<Button ghost
class="router-btn"
@click="() => {handleDelete(row, index)}">删除</Button>
</i-col>
</template>
</Table>
<Page :total="total"
:current="pageNum"
:page-size="pageSize"
show-elevator
show-total
placement="top"
@on-change="handlePage"
class="ks-page"></Page>
<Modal v-model="showDetail"
title="配置范围"
width="70%"
:footer-hide="true">
<welcomeDetail v-if="showDetail"
:detail="detail"></welcomeDetail>
</Modal>
</div>
</template>
<script>
import ActivityManager from "../../services/ActivityManager/ActivityManager";
import data from "../../utils/PhoneRegionData";
import http from "../../services/store/IncreaseStoreManager";
import staff from "../../services/staff/staff";
import welcomeDetail from "./WelcomeDetail";
export default {
name: "IncreaseWelcomeList",
inject: ["setMenuName"],
components: { welcomeDetail },
data () {
let _this = this;
return {
loading: false,
// 分页
total: 0,
pageSize: 10,
showDetail: false,
data: [],
pageNum: 1,
detail: {},
columns1: [
{
width: 60,
align: "center",
title: "序号",
render (h, params) {
console.log(params);
let num = parseInt(params.index) + 1;
console.log(_this.pageSize);
if (_this.pageSize > 1) {
num += (_this.pageNum - 1) * _this.pageSize;
}
return h("span", num);
}
},
{
title: "欢迎语",
key: "scheduleVO.description",
render (h, params) {
return h("span", params.row.content);
}
},
{
title: "配置范围",
key: "shop",
render (h, params) {
return h(
"span",
(params.row.companyCount || 0) +
"家零售公司, " +
(params.row.storeCount || 0) +
"家店铺"
);
}
},
{ title: "配置时间", key: "createTime" },
{ title: "修改时间", key: "updateTime" },
{ title: "操作", slot: "action" }
],
formValidate: {}
};
},
mounted () {
this.setMenuName("门店推广", "欢迎语");
this.handlePaginate();
},
methods: {
clickCell (row, column, data, event) {
if (column.key === "shop") {
let _this = this;
this.getDetail(row.id).then(res => {
_this.detail = res;
_this.showDetail = true;
});
}
},
getDetail (instanceId) {
return new Promise((resolve, reject) => {
ActivityManager.instanceDetail(
{
instanceId
},
res => {
resolve(res.data.results);
}
);
});
},
// 分页刷新
handlePaginate () {
this.loading = true;
let params = {
pageNum: this.pageNum,
pageSize: this.pageSize,
userId: JSON.parse(sessionStorage.getItem("loginInfo")).userId,
categoryCode: "welcome"
};
http.getWelcomeList(params, res => {
const data = res.data.results.this || {};
this.data = data.list || [];
this.total = data.total || 0;
this.loading = false;
});
},
//切页处理
handlePage: function (value) {
this.pageNum = value;
this.handlePaginate();
},
// 新增或修改
handleEdit (row) {
this.$router.push({
path: "/shop/increase/welcome/edit",
query: { id: row.id }
});
},
// 删除
handleDelete (row) {
let _this = this;
this.$Modal.confirm({
title: "删除欢迎语",
content: "您确定要删除该欢迎语?",
onOk: () => {
http.deleteWelcome({ id: row.scheduleId }).then(res => {
if (_this.data.length <= 1) {
if (_this.pageNum > 1) {
_this.pageNum = _this.pageNum - 1;
} else {
_this.pageNum = 1;
}
}
_this.handlePaginate()
});
},
onCancel: () => { }
});
}
}
};
</script>
<style scoped>
.router-btn {
border: none;
color: #3496eb !important;
margin-left: -15px;
}
.table-img-qr-code {
margin-left: 5px;
margin-top: 5px;
width: 30px;
height: 30px;
}
button:hover {
background: inherit !important;
}
</style>