feature_0521
zhenghuang 6 years ago
parent e2699eee7e
commit fe0480eb22

@ -1,39 +1,147 @@
<template>
<div class="activity_code">
<Table :loading="loading" border :columns="columns" :data="data"></Table>
<Page
:total="totalSize"
<Table :loading="loading"
border
:columns="columns"
:data="data"></Table>
<Page :total="totalSize"
:current="pageNum"
:page-size="pageSize"
show-elevator
show-total
placement="top"
@on-change="handlePage"
class-name="ks-page"
></Page>
class-name="ks-page"></Page>
</div>
</template>
<script>
import { activityCodeList } from '../../services/ActivityManager/ActivityManager';
export default {
name: "ActivityCode",
data () {
let _this = this;
return {
loading: false,
totalSize: 0,
pageNum: 1,
pageSize: 10,
data: []
data: [],
instanceId: 0,
columns: [
{
type: "index",
width: 80,
align: "center",
title: "序号",
},
{
title: "所属零售公司",
key: "organizational.name",
render (h, params) {
return h("span", params.row["organizational"]["name"]);
},
},
{
title: "零售公司编号",
key: "organizational.code",
render (h, params) {
return h("span", params.row["organizational"]["code"]);
},
},
{
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["store"]["code"]);
},
},
{
title: "推广码",
key: "qrCode",
render (h, params) {
return h("div", {
class: "qrcode" }, [
h(
"Button",
{
props: { type: "primary", size: "small" },
style: { marginRight: "8px" },
on: { "mouseover.native": () => _this.showQrcode(params.row) }
},
"二维码"
),
h(
"div",
{
class: "qrcodeBox",
style: { display: "none" }
}, [
h(
"img",
{ attrs: { src: params.row.qrCode } }
)]
)
]);
},
},
{
title: "操作",
key: "action",
width: 200,
render (h, p) {
return h("div", [
h(
"Button",
{
props: { type: "primary", size: "small" },
style: { marginRight: "8px" },
on: {
click: () => _this.guideCode(p.row),
},
},
"查看导购码"
)
]);
},
},
]
};
},
created () {
this.instanceId = this.$route.query.instanceId;
this.load();
},
methods: {
handlePage (value) {
this.pageNum = value;
this.load();
},
load() {}
showQrcode (row) {
console.log(row)
},
load (params = {}) {
let _this = this;
this.loading = true;
params.pageSize = this.pageSize;
params.pageNum = this.pageNum;
params.instanceId = this.instanceId;
activityCodeList(params, res => {
_this.data = res.data.results.this.records
_this.totalSize = res.data.results.this.total
_this.loading = false;
})
}
}
};
</script>
<style></style>
<style>
</style>

@ -1,27 +1,25 @@
<template>
<Modal
v-model="dispalyModal"
<Modal v-model="dispalyModal"
width="1000"
:loading="loading"
:mask-closable="false"
@on-cancel="cancel"
@on-ok="save"
>
<p slot="header" style="color:#f60;text-align:left">
@on-ok="save">
<p slot="header"
style="color:#f60;text-align:left">
<span>配置活动</span>
</p>
<div>基本配置</div>
<Form
ref="formValidate"
<Form ref="formValidate"
:model="formValidate"
:rules="ruleValidate"
:label-width="80"
>
:label-width="80">
<Row>
<i-col style="text-align: left;" span="8">
<FormItem label="" prop="uploadImg">
<Upload
ref="upload"
<i-col style="text-align: left;"
span="8">
<FormItem label=""
prop="logo">
<Upload ref="upload"
:show-upload-list="false"
:on-success="uploadImgSuccess"
:format="['jpg', 'jpeg', 'png']"
@ -30,90 +28,75 @@
multiple
type="drag"
action=""
style="display: inline-block;"
>
style="display: inline-block;">
<div style="width: 200px;height:200px;line-height: 200px;">
<span v-if="!formValidate.logo"></span>
<img
v-if="formValidate.logo"
<img v-if="formValidate.logo"
:src="`/kiisoo-ic` + formValidate.logo"
alt=""
style="width: 100%; height: auto"
/>
style="width: 100%; height: auto" />
</div>
</Upload>
</FormItem>
</i-col>
<i-col span="15" offset="1">
<FormItem label="活动名称" prop="activityName">
<i-input
type="text"
<i-col span="15"
offset="1">
<FormItem label="活动名称"
prop="name">
<i-input type="text"
v-model="formValidate.name"
placeholder="请输入活动名称"
></i-input>
placeholder="请输入活动名称"></i-input>
</FormItem>
<Form-item label="活动描述" prop="activityDsc">
<i-input
v-model="formValidate.description"
<Form-item label="活动描述"
prop="description">
<i-input v-model="formValidate.description"
type="textarea"
:autosize="{ minRows: 3 }"
placeholder="请输入活动描述"
></i-input>
placeholder="请输入活动描述"></i-input>
</Form-item>
<FormItem label="APPID" prop="appId">
<i-input
type="text"
<FormItem label="APPID"
prop="appId">
<i-input type="text"
v-model="formValidate.appId"
placeholder="请输入appid"
></i-input>
placeholder="请输入appid"></i-input>
</FormItem>
<FormItem label="URI" prop="uri">
<i-input
type="text"
<FormItem label="URI"
prop="uri">
<i-input type="text"
v-model="formValidate.uri"
placeholder="请输入URI"
></i-input>
placeholder="请输入URI"></i-input>
</FormItem>
</i-col>
</Row>
</Form>
<div class="topic">活动类型</div>
<Row
:gutter="10"
<Row :gutter="10"
class="inputItem"
v-for="(item, index) in formValidate.params"
:key="index"
>
:key="index">
<i-col :span="2"> 类型{{ index + 1 }} </i-col>
<i-col :span="9">
<i-input
class="inputClass"
<i-input class="inputClass"
type="text"
v-model="item.name"
placeholder="参数名称"
></i-input>
placeholder="参数名称"></i-input>
</i-col>
<i-col :span="9">
<i-input
class="inputClass"
<i-input class="inputClass"
type="text"
style="margin-left: 20px"
v-model="item.key"
placeholder="默认值"
></i-input>
placeholder="默认值"></i-input>
</i-col>
<i-col :span="4">
<Button
style="margin-left: 20px"
<Button style="margin-left: 20px"
type="error"
@click="delActivityInput(index)"
>删除</Button
>
@click="delActivityInput(index)">删除</Button>
</i-col>
</Row>
<Button style="margin-top: 10px" type="primary" @click="addActivityInput"
>+添加活动类型</Button
>
<Button style="margin-top: 10px"
type="primary"
@click="addActivityInput">+添加活动类型</Button>
</Modal>
</template>
<script>

@ -1,35 +1,40 @@
<template>
<div style="padding: 0 40px;">
<div class="selectClass">
<Checkbox
:indeterminate="indeterminate"
<Checkbox :indeterminate="indeterminate"
:value="allSelect"
@click.prevent.native="handleCheckAll"
>&nbsp;&nbsp;&nbsp;全选</Checkbox
>
<i-input
icon="search"
@click.prevent.native="handleCheckAll">&nbsp;&nbsp;&nbsp;全选</Checkbox>
<i-input icon="search"
@on-change="doSearch"
placeholder="请输入店铺名称"
style="width: 250px"
></i-input>
style="width: 250px"></i-input>
</div>
<div class="companyTable">
<div class="companyListClass">
<Row :gutter="10">
<div v-if="loading" style="padding: 50px 0" class="loading">
<div v-if="loading"
style="padding: 50px 0"
class="loading">
<Spin fix>加载中...</Spin>
</div>
<CheckboxGroup size="large" @on-change="onChange" v-model="isSelect">
<i-col span="8" :key="index" v-for="(item, index) in shopList">
<Checkbox size="large" :label="item.value" border>
<CheckboxGroup size="large"
@on-change="onChange"
v-model="isSelect">
<i-col span="8"
:key="index"
v-for="(item, index) in shopList">
<Checkbox size="large"
:label="item.value"
border>
<span>{{ item.label }}</span>
</Checkbox>
</i-col>
</CheckboxGroup>
</Row>
</div>
<Spin size="large" fix v-if="loading"></Spin>
<Spin size="large"
fix
v-if="loading"></Spin>
</div>
</div>
</template>
@ -148,6 +153,9 @@ export default {
ActivityManager.getShop(data, function (data) {
that.shopList = [];
that.shopListData = data.data.results;
if (store.getters.useData.stores.length == that.shopListData.length) {
that.allSelect = true;
}
data.data.results.forEach((element) => {
that.isSelect.push("");
that.selectValue.push("");

@ -1,39 +1,40 @@
<template>
<div style="padding: 0 40px;">
<div class="selectClass">
<Checkbox
:indeterminate="indeterminate"
<Checkbox :indeterminate="indeterminate"
:value="allSelect"
@click.prevent.native="handleCheckAll"
>&nbsp;&nbsp;&nbsp;全选</Checkbox
>
<i-input
icon="search"
@click.prevent.native="handleCheckAll">&nbsp;&nbsp;&nbsp;全选</Checkbox>
<i-input icon="search"
@on-change="doSearch"
placeholder="请输入零售公司名称"
style="width: 250px"
></i-input>
style="width: 250px"></i-input>
</div>
<div class="companyTable">
<div class="companyListClass">
<Row :gutter="10">
<div v-show="loading" style="padding: 50px 0" class="loading">
<div v-show="loading"
style="padding: 50px 0"
class="loading">
<Spin fix>加载中...</Spin>
</div>
<CheckboxGroup
size="large"
<CheckboxGroup size="large"
@on-change="onChange"
v-model="checkCompanys"
>
<i-col span="8" :key="index" v-for="(item, index) in companyList">
<Checkbox size="large" :label="item.value" border>
v-model="checkCompanys">
<i-col span="8"
:key="index"
v-for="(item, index) in companyList">
<Checkbox size="large"
:label="item.value"
border>
<span>{{ item.label }}</span>
</Checkbox>
</i-col>
</CheckboxGroup>
</Row>
</div>
<Spin size="large" fix v-if="loading"></Spin>
<Spin size="large"
fix
v-if="loading"></Spin>
</div>
</div>
</template>
@ -116,6 +117,9 @@ export default {
ActivityManager.getCompany(data, function (data) {
that.companyList = [];
that.companyListdata = data.data.results;
if (store.getters.useData.company.length == that.companyListdata.length) {
that.allSelect = true;
}
data.data.results.forEach((element) => {
that.companyList.push({
label: element.name,
@ -127,6 +131,7 @@ export default {
});
},
handleCheckAll () {
let _this = this;
if (this.indeterminate) {
this.allSelect = false;
} else {
@ -146,7 +151,7 @@ export default {
this.checkCompanys.forEach((item) => {
const c = _this._.find(
_this.companyListdata,
(shop) => shop.id == item
(company) => company.id == item
);
if (c) {
store.getters.useData.company.push(c);

@ -4,7 +4,7 @@
* @date 2020/05/19
*/
import http from "../CommonHttp";
import http from '../CommonHttp'
/**
* 活动池列表
@ -13,69 +13,76 @@ import http from "../CommonHttp";
* @returns {Promise<any>} 返回Promise对象
*/
export function getActivityList(params, call) {
return http.get("/activity/schedule/list/all", params).then(call);
return http.get('/activity/schedule/list/all', params).then(call)
}
/**
* 新增或修改活动池
*/
export function addOreditActivity(params, call) {
return http.post("/activity/schedule/save", params).then(call);
return http.post('/activity/schedule/save', params).then(call)
}
/**
* 获取活动池详情
*/
export function getActivityInfo(params, call) {
return http.get("/activity/schedule/detail", params).then(call);
return http.get('/activity/schedule/detail', params).then(call)
}
/**
* 上传图片
*/
export function uploadImg(params, call) {
return http.post("/upload", params).then(call);
return http.post('/upload', params).then(call)
}
/**
* 获取零售公司
*/
export function getCompany(params, call) {
return http.get("/retail/company", params).then(call);
return http.get('/retail/company', params).then(call)
}
/**
* 获取店铺
*/
export function getShop(params, call) {
return http.post("poi/store/user/shopDTO", params).then(call);
return http.post('poi/store/user/shopDTO', params).then(call)
}
/**
* 根据活动池新建/编辑实例
*/
export function saveActivityData(params, call) {
return http.post("activity/instance/save", params).then(call);
return http.post('activity/instance/save', params).then(call)
}
/**
* 活动实例分页列表
*/
export function getActivityTableData(params, call) {
return http.get("activity/instance/list", params).then(call);
return http.get('activity/instance/list', params).then(call)
}
/**
* 活动实例终止
*/
export function instanceTerminate(params, call) {
return http.post("activity/instance/terminate", params).then(call);
return http.post('activity/instance/terminate', params).then(call)
}
/**
* 活动实例详情
*/
export function instanceDetail(params, call) {
return http.post("activity/instance/detail", params).then(call);
return http.post('activity/instance/detail', params).then(call)
}
export function activityCodeList(params, call) {
return http.get('activity/instance/StoreCode', params).then(call)
}
export function guideCodeList(params, call) {
return http.get('activity/instance/GuideCode', params).then(call)
}
export default {
getActivityList,
@ -88,4 +95,6 @@ export default {
saveActivityData,
instanceTerminate,
instanceDetail,
};
activityCodeList,
guideCodeList,
}

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save