|
|
|
|
<template>
|
|
|
|
|
<div class="activity_code">
|
|
|
|
|
<Table :loading="loading"
|
|
|
|
|
border
|
|
|
|
|
:columns="columns"
|
|
|
|
|
:data="data">
|
|
|
|
|
<template slot-scope="{row}"
|
|
|
|
|
slot="qrCodeAction">
|
|
|
|
|
<div class="qrCodeBox"
|
|
|
|
|
@mouseover="showQrcode(row)"
|
|
|
|
|
@mouseout="hideQrcode(row)">
|
|
|
|
|
<img :src="require('../../../static/img/qrCode-init.png')"
|
|
|
|
|
class="table-img-qr-code" />
|
|
|
|
|
<div class="toggleQrCode"
|
|
|
|
|
v-show="rowData.id == row.id">
|
|
|
|
|
<div slot="header">
|
|
|
|
|
<p></p>
|
|
|
|
|
</div>
|
|
|
|
|
<p>{{showStoreName}}</p>
|
|
|
|
|
<img :src="qrCodeImage"
|
|
|
|
|
style="width:200px;height:200px;" />
|
|
|
|
|
<div style="text-align: center;">
|
|
|
|
|
<Button ghost
|
|
|
|
|
type="primary"
|
|
|
|
|
@click="download(rowData)">下载</Button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<router-link slot-scope="{row}"
|
|
|
|
|
slot="action"
|
|
|
|
|
:to="{path:'/activity/plan/GuideCode',query:{instanceId:row.instanceId}}">
|
|
|
|
|
<Button class="router-btn"> 查看导购码</Button>
|
|
|
|
|
</router-link>
|
|
|
|
|
</Table>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import ActivityManager from "../../services/ActivityManager/ActivityManager";
|
|
|
|
|
import http from '../../services/store/IncreaseStoreManager';
|
|
|
|
|
import doHttp from '../../services/CommonHttp'
|
|
|
|
|
export default {
|
|
|
|
|
name: "GuideCode",
|
|
|
|
|
data () {
|
|
|
|
|
let _this = this;
|
|
|
|
|
return {
|
|
|
|
|
loading: false,
|
|
|
|
|
totalSize: 0,
|
|
|
|
|
pageNum: 1,
|
|
|
|
|
pageSize: 10,
|
|
|
|
|
data: [],
|
|
|
|
|
instanceId: 0,
|
|
|
|
|
isShow: false,
|
|
|
|
|
showStoreName: "",
|
|
|
|
|
qrCodeImage: "",
|
|
|
|
|
companyList: [],
|
|
|
|
|
rowData: {},
|
|
|
|
|
storeId: null,
|
|
|
|
|
formValidate: {
|
|
|
|
|
orgId: null,
|
|
|
|
|
store: null,
|
|
|
|
|
},
|
|
|
|
|
columns: [
|
|
|
|
|
{
|
|
|
|
|
width: 80,
|
|
|
|
|
align: "center",
|
|
|
|
|
title: "序号",
|
|
|
|
|
render (h, params) {
|
|
|
|
|
let num = parseInt(params.index) + 1;
|
|
|
|
|
if (_this.pageSize > 1) {
|
|
|
|
|
num += (_this.pageNum - 1) * _this.pageSize;
|
|
|
|
|
}
|
|
|
|
|
return h("span", num);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "姓名",
|
|
|
|
|
key: "organizational.name",
|
|
|
|
|
render (h, params) {
|
|
|
|
|
return h("span", params.row["staffer"]["name"]);
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "工号",
|
|
|
|
|
key: "organizational.name",
|
|
|
|
|
render (h, params) {
|
|
|
|
|
return h("span", params.row["staffer"]["stafferNo"]);
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "手机号",
|
|
|
|
|
key: "organizational.code",
|
|
|
|
|
render (h, params) {
|
|
|
|
|
return h("span", params.row["staffer"]["mobile"]);
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "店铺",
|
|
|
|
|
key: "store.name",
|
|
|
|
|
render (h, params) {
|
|
|
|
|
return h("span", params.row["store"]["name"]);
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "角色",
|
|
|
|
|
key: "store.code",
|
|
|
|
|
render (h, params) {
|
|
|
|
|
return h("span", params.row["staffer"]["roleName"]);
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "活动码",
|
|
|
|
|
slot: 'qrCodeAction',
|
|
|
|
|
className: 'table-width-80',
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
created () {
|
|
|
|
|
this.instanceId = this.$route.query.instanceId;
|
|
|
|
|
this.storeId = this.$route.query.storeId;
|
|
|
|
|
this.load();
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
showQrcode (row) {
|
|
|
|
|
console.log(row);
|
|
|
|
|
this.isShow = true;
|
|
|
|
|
this.showStoreName = row.store.name;
|
|
|
|
|
this.qrCodeImage = row.qrCode;
|
|
|
|
|
this.rowData = row;
|
|
|
|
|
},
|
|
|
|
|
hideQrcode (row) {
|
|
|
|
|
this.showStoreName = "";
|
|
|
|
|
this.qrCodeImage = "";
|
|
|
|
|
this.rowData = {};
|
|
|
|
|
},
|
|
|
|
|
download: function (row) {
|
|
|
|
|
let fileName = row.store.name + "-活动码";
|
|
|
|
|
http.downloadImg({
|
|
|
|
|
url: row.qrCode
|
|
|
|
|
}, fileName, function (/*data*/) {
|
|
|
|
|
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
load (params = {}) {
|
|
|
|
|
let _this = this;
|
|
|
|
|
this.loading = true;
|
|
|
|
|
params.storeId = this.storeId;
|
|
|
|
|
params.instanceId = this.instanceId;
|
|
|
|
|
ActivityManager.guideCodeList(params, (res) => {
|
|
|
|
|
_this.data = res.data.results || [];
|
|
|
|
|
_this.loading = false;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
downloadCode (type) {
|
|
|
|
|
this.loading = true;
|
|
|
|
|
let that = this;
|
|
|
|
|
doHttp
|
|
|
|
|
.downloadZip("/activity/instance/download?type=" + type + "&instanceId=" + this.instanceId, type == 2 ? '门店码' : "门店导购码", { type: type, instanceId: this.instanceId })
|
|
|
|
|
.then(res => {
|
|
|
|
|
that.loading = false;
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style>
|
|
|
|
|
.search-btn {
|
|
|
|
|
margin-left: 40px;
|
|
|
|
|
}
|
|
|
|
|
.table-width-80 {
|
|
|
|
|
width: 80px !important;
|
|
|
|
|
}
|
|
|
|
|
.table-img-qr-code {
|
|
|
|
|
margin-left: 5px;
|
|
|
|
|
margin-top: 5px;
|
|
|
|
|
width: 30px;
|
|
|
|
|
height: 30px;
|
|
|
|
|
}
|
|
|
|
|
.qrCodeBox {
|
|
|
|
|
}
|
|
|
|
|
.toggleQrCode {
|
|
|
|
|
position: absolute;
|
|
|
|
|
background: #fff;
|
|
|
|
|
z-index: 9999;
|
|
|
|
|
padding: 10px;
|
|
|
|
|
border: 1px solid #dfdfdf;
|
|
|
|
|
}
|
|
|
|
|
.ivu-table-wrapper {
|
|
|
|
|
overflow: inherit !important;
|
|
|
|
|
}
|
|
|
|
|
</style>
|