Commit a22e84a2 by chenxin

Merge branch 'dev' into 'master'

fix:表格宽度;ecm 消费触发可以不填;klfl的礼品bug

See merge request !14
parents 44d8f3b3 403945ea
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=./static/img/favicon.ico><title>GIC后台</title><link rel=stylesheet type=text/css href=static/css/iconfont.css><link rel=stylesheet type=text/css href=static/css/common.css><link href=/marketing/static/css/main.9754608bd89fce3b6202e907adbb7ed7.css rel=stylesheet></head><body><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.5.2/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/elementUI/index.2.5.4.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.20.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/store.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/member-group.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-card.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/confirm-people.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/people.2.0.15.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/input.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/delete.2.0.00.js></script><script type=text/javascript src=/marketing/static/js/manifest.0a85049e489e85ac5f0a.js></script><script type=text/javascript src=/marketing/static/js/vendor.41e915fffb6fa2b1b49e.js></script><script type=text/javascript src=/marketing/static/js/main.124926c408cd674dad36.js></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=./static/img/favicon.ico><title>GIC后台</title><link rel=stylesheet type=text/css href=static/css/iconfont.css><link rel=stylesheet type=text/css href=static/css/common.css><link href=/marketing/static/css/main.5b7ec6853197907c0f1cffee07a72e97.css rel=stylesheet></head><body><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.5.2/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/elementUI/index.2.5.4.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.20.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/store.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/member-group.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-card.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/confirm-people.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/people.2.0.15.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/input.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/delete.2.0.00.js></script><script type=text/javascript src=/marketing/static/js/manifest.0a85049e489e85ac5f0a.js></script><script type=text/javascript src=/marketing/static/js/vendor.41e915fffb6fa2b1b49e.js></script><script type=text/javascript src=/marketing/static/js/main.83e91bafbdbb5ef46a10.js></script></body></html>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -6,7 +6,7 @@
<el-button class="fr" type="primary" icon="iconfont icon-icon_yunxiazai fz14" @click="exportExcel"> 下载Excel</el-button>
</div>
<el-table tooltipEffect="light" :data="tableList" style="width: 100%" v-loading="loading">
<el-table-column :show-overflow-tooltip="true" width="160" align="left" prop="createTime" label="操作时间">
<el-table-column :show-overflow-tooltip="true" width="100" align="left" prop="createTime" label="操作时间">
<template slot-scope="scope">
<p>{{ formatDateTimeByType(scope.row.createTime, 'yyyy-MM-dd-HH-mm', true).y }}</p>
<p>{{ formatDateTimeByType(scope.row.createTime, 'yyyy-MM-dd-HH-mm', true).h }}</p>
......
......@@ -17,7 +17,7 @@
</div>
<!-- 列表 -->
<el-table tooltipEffect="light" :data="recordList" style="width: 100%" v-loading="recordLoading" @sort-change="sortList">
<el-table-column width="135" align="left" prop="receiveTime" label="领取时间" fixed="left">
<el-table-column width="100" align="left" prop="receiveTime" label="领取时间" fixed="left">
<template slot-scope="scope">
<p style="color:#606266;">{{ formatDateTimeByType(scope.row.receiveTime, 'yyyy-MM-dd-HH-mm', true).y }}</p>
<p style="color:#606266;">{{ formatDateTimeByType(scope.row.receiveTime, 'yyyy-MM-dd-HH-mm', true).h }}</p>
......
......@@ -13,13 +13,13 @@
</div>
<!-- 列表 -->
<el-table tooltipEffect="light" :data="recordList" style="width: 100%" v-loading="recordLoading" @sort-change="sortList">
<el-table-column width="135" align="left" prop="receiveTime" label="领取时间" fixed="left" sortable="custom">
<el-table-column width="100" align="left" prop="receiveTime" label="领取时间" fixed="left" sortable="custom">
<template slot-scope="scope">
<p style="color:#606266;">{{ formatDateTimeByType(scope.row.receiveTime, 'yyyy-MM-dd-HH-mm', true).y }}</p>
<p style="color:#606266;">{{ formatDateTimeByType(scope.row.receiveTime, 'yyyy-MM-dd-HH-mm', true).h }}</p>
</template>
</el-table-column>
<el-table-column width="135" align="left" prop="writeOffTime" label="核销时间" fixed="left" sortable="custom">
<el-table-column width="100" align="left" prop="writeOffTime" label="核销时间" fixed="left" sortable="custom">
<template slot-scope="scope">
<p style="color:#606266;">{{ scope.row.useTime ? formatDateTimeByType(scope.row.useTime, 'yyyy-MM-dd-HH-mm', true).y : '--' }}</p>
<p style="color:#606266;">{{ formatDateTimeByType(scope.row.useTime, 'yyyy-MM-dd-HH-mm', true).h }}</p>
......
......@@ -4,7 +4,7 @@
<el-input class="w300" v-model="listParams.search" placeholder="输入卡券名称/备注名/活动名" @change="refresh"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
</div>
<el-table tooltipEffect="light" :data="recordList" style="width: 100%" row-key="putonTime" v-loading="loading">
<el-table-column width="160" align="left" prop="putonTime" label="投放时间" fixed="left">
<el-table-column width="100" align="left" prop="putonTime" label="投放时间" fixed="left">
<template slot-scope="scope">
<p style="color:#606266;">{{ formatDateTimeByType(scope.row.putonTime, 'yyyy-MM-dd-HH-mm', true).y }}</p>
<p style="color:#606266;">{{ formatDateTimeByType(scope.row.putonTime, 'yyyy-MM-dd-HH-mm', true).h }}</p>
......
......@@ -21,8 +21,8 @@ export default {
.map((v, i) => ({ value: i, label: i + ':00' })),
sceneSettingIdOptions: [],
// 消费触发错误提示
error_cost_info: '',
error_cost_count_info: '',
// error_cost_info: '',
// error_cost_count_info: '',
form: {
memberType: 0,
ecmPlanName: '',
......@@ -309,6 +309,10 @@ export default {
if (template) {
this.templateInit(template);
}
// 新增给消费触发增加默认最小值
if (this.isAdd) {
this.form.lowest_cost = 1;
}
},
// 模板消息初始化
templateInit(template) {
......@@ -352,7 +356,7 @@ export default {
this.template.triggerCode = template.triggerCode;
this.options.map(v => {
console.log(this.template.headerText.indexOf(v.value) > -1);
// console.log(this.template.headerText.indexOf(v.value) > -1);
if (this.template.headerText.indexOf(v.value) > -1) {
this.template.headerText = this.template.headerText.replace(v.value, v.label);
}
......@@ -427,14 +431,14 @@ export default {
return;
}
// 如果是消费触发
if (this.form.effectAction === 'consume') {
const errorLowestCost = this.handleLowestCost();
const errorLowestCostCount = this.handleLowestCostCount();
if (errorLowestCost !== '' || errorLowestCostCount !== '') {
this.$tips({ type: 'warning', message: '会员分组不能为空' });
return;
}
}
// if (this.form.effectAction === 'consume') {
// const errorLowestCost = this.handleLowestCost();
// const errorLowestCostCount = this.handleLowestCostCount();
// if (errorLowestCost !== '' || errorLowestCostCount !== '') {
// this.$tips({ type: 'warning', message: '消费触发配置错误' });
// return;
// }
// }
let params = {
ecmPlanId: this.form.ecmPlanId || '',
......@@ -733,7 +737,8 @@ export default {
},
handleDataTransferred(data) {
// 会员分组 情况下 memberSearchDTO 传数组字符串
if (this.form.memberType === 1) {
// 只有新增时处理数据
if (this.form.memberType === 1 && this.isAdd) {
this.form.memberGroupIds = data
.map(v => v.memberTagGroupId)
.filter(v => v)
......@@ -741,6 +746,7 @@ export default {
}
},
handleDataLeft(selectedData, selectionToRemove) {
// 不可编辑 不做处理
// console.log(selectedData, selectionToRemove);
}
},
......
......@@ -67,7 +67,7 @@
<el-input-number :disabled="isEdit" controls-position="right" min="" style="width:150px;" v-model="form.max_cost" @change="handleLowestCost()"></el-input-number>
<span class="pl5"></span>
<el-popover placement="right" title="" width="200" trigger="hover" content="最大值最小值可选填其一或两个都填写,包含边界值"><i class="el-icon-info ml5 gray" slot="reference"></i></el-popover>
<span class="pl20 fz13 red" v-show="error_cost_info !== ''">* {{ error_cost_info }}</span>
<!-- <span class="pl20 fz13 red" v-show="error_cost_info !== ''">* {{ error_cost_info }}</span> -->
</el-form-item>
<el-form-item label="消费件数">
<el-input-number :disabled="isEdit" controls-position="right" min="" style="width:150px;" v-model="form.lowest_cost_count" @change="handleLowestCostCount()"></el-input-number>
......@@ -75,7 +75,7 @@
<el-input-number :disabled="isEdit" controls-position="right" min="" style="width:150px;" v-model="form.max_cost_count" @change="handleLowestCostCount()"></el-input-number>
<span class="pl5"></span>
<el-popover placement="right" title="" width="200" trigger="hover" content="最大值最小值可选填其一或两个都填写,包含边界值,不包含赠品"><i class="el-icon-info ml5 gray" slot="reference"></i></el-popover>
<span class="pl20 fz13 red" v-show="error_cost_count_info !== ''">* {{ error_cost_count_info }}</span>
<!-- <span class="pl20 fz13 red" v-show="error_cost_count_info !== ''">* {{ error_cost_count_info }}</span> -->
</el-form-item>
<el-form-item label="指定消费门店">
<el-radio-group v-model="form.store_mode" @change="initStoreCardLeft" :disabled="isEdit">
......
......@@ -11,7 +11,7 @@
<el-button icon="iconfont icon-icon_yunxiazai fz14" class="fr" type="primary" @click="exportSuggestionExcel"> 下载Excel</el-button>
</div>
<el-table tooltipEffect="light" :data="tableList" style="width: 100%" v-loading="loading" element-loading-text="拼命加载中">
<el-table-column :show-overflow-tooltip="true" width="160" align="left" :key="Math.random()" prop="createTime" label="评价时间">
<el-table-column :show-overflow-tooltip="true" min-width="120" align="left" :key="Math.random()" prop="createTime" label="评价时间">
<template slot-scope="scope">
<p style="color:#606266">{{ formatDateTimeByType(scope.row.createTime, 'yyyy-MM-dd-HH-mm', true).y }}</p>
<p style="color:#606266">{{ formatDateTimeByType(scope.row.createTime, 'yyyy-MM-dd-HH-mm', true).h }}</p>
......
......@@ -53,7 +53,7 @@ export default {
total: 0,
loading: false,
tableHeader: [
{ label: '游戏名称', prop: 'gameName', width: '120', align: 'left', fixed: 'left' },
{ label: '游戏名称', prop: 'gameName', align: 'left', fixed: 'left' },
{
label: '抽奖消耗',
prop: 'gameIntegral',
......@@ -75,7 +75,7 @@ export default {
{
label: '游戏状态',
prop: 'gameStatusName',
width: '80',
width: '120',
align: 'left',
isRender: true,
formatter: function(row) {
......@@ -89,7 +89,7 @@ export default {
{
label: '开始时间',
prop: 'gameStartTime',
minWidth: '170',
minWidth: '100',
tooltip: true,
align: 'left',
formatter: function(row) {
......@@ -100,7 +100,7 @@ export default {
{
label: '结束时间',
prop: 'gameEndTime',
minWidth: '170',
minWidth: '100',
tooltip: true,
align: 'left',
formatter: function(row) {
......@@ -108,8 +108,8 @@ export default {
return row.gameEndTime ? date.y + '<br/>' + date.h : '';
}
},
{ label: '参与人数', prop: 'userCount', width: '80', align: 'left' },
{ label: '参与次数', prop: 'totalCount', width: '80', align: 'left' }
{ label: '参与人数', prop: 'userCount', width: '100', align: 'left' },
{ label: '参与次数', prop: 'totalCount', width: '100', align: 'left' }
],
tableList: []
};
......
......@@ -52,7 +52,7 @@ export default {
total: 0,
loading: false,
tableHeader: [
{ label: '游戏名称', prop: 'gameName', width: '120', align: 'left', fixed: 'left' },
{ label: '游戏名称', prop: 'gameName', align: 'left', fixed: 'left' },
{
label: '抽奖消耗',
prop: 'gameIntegral',
......@@ -74,7 +74,7 @@ export default {
{
label: '游戏状态',
prop: 'gameStatusName',
width: '80',
width: '120',
align: 'left',
isRender: true,
formatter: function(row) {
......@@ -88,7 +88,7 @@ export default {
{
label: '开始时间',
prop: 'gameStartTime',
minWidth: '170',
minWidth: '100',
tooltip: true,
align: 'left',
formatter: function(row) {
......@@ -99,7 +99,7 @@ export default {
{
label: '结束时间',
prop: 'gameEndTime',
minWidth: '170',
minWidth: '100',
tooltip: true,
align: 'left',
formatter: function(row) {
......@@ -107,8 +107,8 @@ export default {
return row.gameEndTime ? date.y + '<br/>' + date.h : '';
}
},
{ label: '参与人数', prop: 'userCount', width: '80', align: 'left' },
{ label: '参与次数', prop: 'totalCount', width: '80', align: 'left' }
{ label: '参与人数', prop: 'userCount', width: '100', align: 'left' },
{ label: '参与次数', prop: 'totalCount', width: '100', align: 'left' }
],
tableList: []
};
......
......@@ -53,11 +53,11 @@ export default {
},
total: 0,
tableHeader: [
{ label: '游戏名称', prop: 'gameName', width: '180', align: 'left', fixed: 'left' },
{ label: '游戏名称', prop: 'gameName', minWidth: '180', align: 'left', fixed: 'left' },
{
label: '游戏状态',
prop: 'activityStatus',
width: '180',
minWidth: '120',
align: 'left',
formatter: function(row) {
if (row.activityStatus === 1) {
......@@ -91,8 +91,8 @@ export default {
return row.gameEndTime ? date.y + '<br/>' + date.h : '';
}
},
{ label: '参与人数', prop: 'cyrs', width: '80', align: 'left' },
{ label: '参与次数', prop: 'cyrc', width: '80', align: 'left' }
{ label: '参与人数', prop: 'cyrs', width: '100', align: 'left' },
{ label: '参与次数', prop: 'cyrc', width: '100', align: 'left' }
],
tableList: []
};
......
<template>
<el-dialog title="礼品设置" :visible.sync="show" :append-to-body="true" width="30%">
<!-- :before-close="close('form')" -->
<el-dialog title="礼品设置" :visible.sync="show" :append-to-body="true" width="30%" :before-close="handleCancel">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="礼品名称" prop="proGiftName">
<el-input v-model="form.proGiftName" placeholder="请输入礼品名"></el-input>
......@@ -60,6 +61,10 @@ export default {
dmUploadAvatar
},
methods: {
handleCancel() {
this.clear();
this.close();
},
clear() {
this.form.prizeImage = { imgUrl: '', code: '' };
this.form.proGiftId = '';
......
......@@ -201,6 +201,10 @@ export default {
this.$tips({ type: 'warning', message: '请选择卡券' });
return;
}
if (this.form.prizeReferType === 3 && !this.prizeSetInfo.proGiftId) {
this.$tips({ type: 'warning', message: '请选择礼品' });
return;
}
this.$refs[formName].validate(valid => {
if (valid) {
let data = {
......
......@@ -51,11 +51,11 @@ export default {
gameStatusOptions: [{ value: -1, label: '所有状态' }, { value: 1, label: '待开始' }, { value: 2, label: '进行中' }, { value: 3, label: '已结束' }],
listParams: { gameStatus: -1, searchParam: '', currentPage: 1, pageSize: 20 },
tableHeader: [
{ label: '游戏名称', prop: 'gameName', width: '120', align: 'left', fixed: 'left' },
{ label: '游戏名称', prop: 'gameName', align: 'left', fixed: 'left' },
{
label: '游戏状态',
prop: 'activityStatus',
width: '80',
// width: '120',
align: 'left',
formatter: function(row) {
if (row.activityStatus === 1) {
......@@ -70,7 +70,7 @@ export default {
{
label: '开始时间',
prop: 'gameStartTime',
minWidth: '170',
minWidth: '100',
tooltip: true,
align: 'left',
formatter: function(row) {
......@@ -81,7 +81,7 @@ export default {
{
label: '结束时间',
prop: 'gameEndTime',
minWidth: '170',
minWidth: '100',
tooltip: true,
align: 'left',
formatter: function(row) {
......@@ -89,9 +89,9 @@ export default {
return row.gameEndTime ? date.y + '<br/>' + date.h : '';
}
},
{ label: '参与人数', prop: 'cyrs', width: '80', align: 'left' },
{ label: '参与次数', prop: 'cyrc', width: '80', align: 'left' },
{ label: '新增会员', prop: 'gzrs', width: '80', align: 'left' }
{ label: '参与人数', prop: 'cyrs', width: '100', align: 'left' },
{ label: '参与次数', prop: 'cyrc', width: '100', align: 'left' },
{ label: '新增会员', prop: 'gzrs', width: '100', align: 'left' }
],
tableList: [],
configShow: false
......
......@@ -45,11 +45,11 @@ export default {
listParams: { gameStatus: -1, searchParam: '', currentPage: 1, pageSize: 20 },
total: 0,
tableHeader: [
{ label: '游戏名称', prop: 'gameName', width: '150', align: 'left', fixed: 'left', tooltip: true },
{ label: '游戏名称', prop: 'gameName', minWidth: '150', align: 'left', fixed: 'left', tooltip: true },
{
label: '游戏状态',
prop: 'activityStatus',
width: '100',
minWidth: '100',
align: 'left',
formatter: function(row) {
if (row.activityStatus === 1) {
......@@ -83,8 +83,8 @@ export default {
return row.gameEndTime ? date.y + '<br/>' + date.h : '';
}
},
{ label: '参与人数', prop: 'cyrs', width: '80', align: 'left' },
{ label: '参与次数', prop: 'cyrc', width: '80', align: 'left' }
{ label: '参与人数', prop: 'cyrs', width: '100', align: 'left' },
{ label: '参与次数', prop: 'cyrc', width: '100', align: 'left' }
],
tableList: []
};
......
......@@ -48,11 +48,11 @@ export default {
loading: false,
tableList: [],
tableHeader: [
{ label: '标题', prop: 'templateName', minWidth: '100', tooltip: true, align: 'left' },
{ label: '标题', prop: 'templateName', minWidth: '150', tooltip: true, align: 'left' },
{
label: '绑定状态',
prop: 'bindStatusDesc',
width: '100',
minWidth: '120',
align: 'left',
formatter: function(row) {
return `<span class="${row.bindStatusDesc === '已绑定' ? 'dm-status--primary' : 'dm-status--error'}">${row.bindStatusDesc || '--'}</span>`;
......@@ -71,7 +71,7 @@ export default {
{
label: '最近更新时间',
prop: 'col3',
width: '160',
minWidth: '100',
align: 'left',
sortable: 'custom',
formatter: function(row) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment