Commit e9664a0e by chenxin

Merge branch 'dev'

# Conflicts:
#	dist/index.html
#	dist/static/css/main.c8993af672a874b9157111e76d41d18f.css
#	dist/static/css/main.c98ce3f0925dab8a73a7721a0a8fbb04.css
#	dist/static/css/main.e835ad6814e27209e3e8a57ff854e3f4.css
#	dist/static/js/main.7f855036aaadfe9f9079.js
#	dist/static/js/manifest.34cae7924796e6b96f75.js
#	dist/static/js/manifest.3842961089075a90b65f.js
#	dist/static/js/manifest.d9fbe8ee02721b991393.js
#	dist/static/js/wechat.41d4bef93a8857657ddc.js
parents e459fdbf 123159ee
<!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 rel=stylesheet href=//web-1251519181.file.myqcloud.com/components/element.2.12.0.css><link href=/marketing/static/css/main.c8993af672a874b9157111e76d41d18f.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/components/element.2.12.0.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.31.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.13.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.38.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.12.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 src=//web-1251519181.file.myqcloud.com/components/selector.1.1.93.js></script><script type=text/javascript src=/marketing/static/js/manifest.3842961089075a90b65f.js></script><script type=text/javascript src=/marketing/static/js/vendor.f6e5442e18ed1c7d4a4d.js></script><script type=text/javascript src=/marketing/static/js/main.535c61982b38fce8797c.js></script></body></html>
<!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 rel=stylesheet href=//web-1251519181.file.myqcloud.com/components/element.2.12.0.css><link href=/marketing/static/css/main.e6b0669105bd36dec76cc7ddaaecbc4d.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/components/element.2.12.0.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.31.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.13.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.38.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.12.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 src=//web-1251519181.file.myqcloud.com/components/selector.1.1.93.js></script><script type=text/javascript src=/marketing/static/js/manifest.aebb6ede3edc58cc2fe7.js></script><script type=text/javascript src=/marketing/static/js/vendor.f6e5442e18ed1c7d4a4d.js></script><script type=text/javascript src=/marketing/static/js/main.cce8f345cbe099e320b8.js></script></body></html>
\ No newline at end of file
!function(e){var r=window.webpackJsonp;window.webpackJsonp=function(n,a,c){for(var i,u,f,d=0,s=[];d<n.length;d++)u=n[d],t[u]&&s.push(t[u][0]),t[u]=0;for(i in a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i]);for(r&&r(n,a,c);s.length;)s.shift()();if(c)for(d=0;d<c.length;d++)f=o(o.s=c[d]);return f};var n={},t={12:0};function o(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var r=t[e];if(0===r)return new Promise(function(e){e()});if(r)return r[2];var n=new Promise(function(n,o){r=t[e]=[n,o]});r[2]=n;var a=document.getElementsByTagName("head")[0],c=document.createElement("script");c.type="text/javascript",c.charset="utf-8",c.async=!0,c.timeout=12e4,o.nc&&c.setAttribute("nonce",o.nc),c.src=o.p+"static/js/"+({0:"game",1:"card",2:"wechat",3:"ewash",4:"evaluation",5:"message",6:"ecm",7:"recharge",8:"msg",9:"calllog"}[e]||e)+"."+{0:"083a5b72add6de59024f",1:"31602c32289ae2816c8e",2:"069e52fb11803263b16a",3:"412babd99d8107d89a48",4:"82b6062b9f7c9e15698f",5:"040c5edae738dc44ee28",6:"6566c902c100b2a16e48",7:"6dfebb35a2cb22f7489d",8:"9d07cccbb79a189af24d",9:"925a34b416ed002007fe"}[e]+".js";var i=setTimeout(u,12e4);function u(){c.onerror=c.onload=null,clearTimeout(i);var r=t[e];0!==r&&(r&&r[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return c.onerror=c.onload=u,a.appendChild(c),n},o.m=e,o.c=n,o.d=function(e,r,n){o.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},o.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(r,"a",r),r},o.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},o.p="/marketing/",o.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
!function(e){var r=window.webpackJsonp;window.webpackJsonp=function(n,a,c){for(var i,u,f,d=0,s=[];d<n.length;d++)u=n[d],t[u]&&s.push(t[u][0]),t[u]=0;for(i in a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i]);for(r&&r(n,a,c);s.length;)s.shift()();if(c)for(d=0;d<c.length;d++)f=o(o.s=c[d]);return f};var n={},t={12:0};function o(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var r=t[e];if(0===r)return new Promise(function(e){e()});if(r)return r[2];var n=new Promise(function(n,o){r=t[e]=[n,o]});r[2]=n;var a=document.getElementsByTagName("head")[0],c=document.createElement("script");c.type="text/javascript",c.charset="utf-8",c.async=!0,c.timeout=12e4,o.nc&&c.setAttribute("nonce",o.nc),c.src=o.p+"static/js/"+({0:"game",1:"card",2:"wechat",3:"ewash",4:"evaluation",5:"message",6:"ecm",7:"recharge",8:"msg",9:"calllog"}[e]||e)+"."+{0:"083a5b72add6de59024f",1:"cb63a8b9f587f255e2d1",2:"109163aa1a50be06cc44",3:"72d82a0415260b086d3f",4:"82b6062b9f7c9e15698f",5:"040c5edae738dc44ee28",6:"3cdedbeb7de6eea74c59",7:"6dfebb35a2cb22f7489d",8:"bd6f84bb38a1ad84a1c0",9:"925a34b416ed002007fe"}[e]+".js";var i=setTimeout(u,12e4);function u(){c.onerror=c.onload=null,clearTimeout(i);var r=t[e];0!==r&&(r&&r[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return c.onerror=c.onload=u,a.appendChild(c),n},o.m=e,o.c=n,o.d=function(e,r,n){o.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},o.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(r,"a",r),r},o.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},o.p="/marketing/",o.oe=function(e){throw console.error(e),e}}([]);
\ 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.
......@@ -42,7 +42,7 @@ export default {
name: 'e袋洗账单',
component: () => import(/* webpackChunkName: "ewash" */ '../../views/ewash/statements.vue'),
meta: {
path: '/ewash/list'
path: '/ewash/store'
}
},
{
......@@ -50,7 +50,7 @@ export default {
name: 'e袋洗账单详情',
component: () => import(/* webpackChunkName: "ewash" */ '../../views/ewash/statements-detail.vue'),
meta: {
path: '/ewash/list'
path: '/ewash/store'
}
},
{
......@@ -79,6 +79,12 @@ export default {
type: 'copy',
path: '/card/record/get'
}
},
{
path: 'store',
name: '门店管理',
component: () => import(/* webpackChunkName: "ewash" */ '../../views/ewash/store-list.vue'),
meta: {}
}
]
};
......@@ -17,3 +17,7 @@ export const edxOrderDetail = params => requests(PREFIX + 'edx-order-detail', pa
export const getEdxCategory = params => requests(PREFIX + 'edx-category', params);
// 导出卡券
export const exportEdxOrderCsv = config.api + PREFIX + 'edx-order-csv';
// e袋洗 门店列表
export const getEdxStoreList = params => requests(PREFIX + 'edx-store-list', params);
// e袋洗 获取门店余额
export const getEdxStoreYue = params => requests(PREFIX + 'edx-store-yue', params);
......@@ -23,3 +23,9 @@ export const listTemplateVariables = params => requests(PREFIX + 'list-template-
//模板消息--编辑--获取模板变量集合
export const updateTempAdvice = params => requests(PREFIX + 'update-temp-advice', params);
//模板消息--企业积分变更通知配置接口
export const getIntegralChangeSetting = params => requests(PREFIX + 'integral-change-notify-setting', params);
//模板消息--积分变动通知开关接口
export const setIntegralChange = params => requests(PREFIX + 'set-integral-change', params);
......@@ -44,7 +44,8 @@ const initForm = {
proNoList: [],
discount_amount_upper_limit: 0,
goods_discounts_number_upper_limit: 0,
products_exchange_number: 0
products_exchange_number: 0,
onlyFlag: true // 是否显示与优惠同享,默认true显示
};
const sale_limit = { fee: 0, goods: '', flag: false, type: 0 }; //最低消费
const goods = { ok: '', no: '', flag: false };
......@@ -229,6 +230,8 @@ export default {
//处理有效期下拉选项
const dicMap = res.result.dicMap;
this.startDayOptions = Object.keys(dicMap).map(key => ({ label: dicMap[key].dictName == '0' ? '当天' : '第' + dicMap[key].dictName + '天', value: parseInt(dicMap[key].dictName) }));
this.form.onlyFlag = res.result.onlyFlag;
if (res.result.card) {
const card = res.result.card;
this.storeMode = card.storeMode === 0 ? 0 : 1;
......@@ -242,6 +245,7 @@ export default {
this.form.erpDemoCode = card.erpDemoCode || '';
this.form.cardColor = card.cardColor;
this.form.cardDenomination = card.cardDenomination || 0;
if (card.useCondition) {
const useCondition = (this.form.useCondition = JSON.parse(card.useCondition));
this.sale_limit.fee = useCondition.sale_limit ? useCondition.sale_limit.fee || 0 : 0;
......
......@@ -132,7 +132,7 @@
<div class="pl25 pt10" v-show="products_exchange_number_show">兑换商品件数 <el-input-number controls-position="right" :disabled="isEdit || isInfo" v-model="form.products_exchange_number" class="200" :precision="0" :step="1" :min="0"></el-input-number></div>
</el-radio>
</div>
<div>
<div v-if="form.onlyFlag">
<el-checkbox v-model="only" :disabled="isEdit || isInfo">不与其它优惠共享</el-checkbox>
</div>
</el-form-item>
......
<!--
* @Description: In User Settings Edit
* @Author: your name
* @Date: 2019-08-06 20:53:23
* @LastEditTime: 2019-08-09 11:36:08
* @LastEditors: Please set LastEditors
-->
<template>
<section>
<div class="dm-wrap clearfix">
......
......@@ -447,7 +447,7 @@ export default {
// add e袋洗使用类目
if (this.goods.edx && this.form.edxGoodsList.length === 0) {
this.$tips({ type: 'warning', message: '请选择e袋洗适用类目' });
this.$tips({ type: 'warning', message: '选择适用类目' });
return;
}
......
......@@ -49,6 +49,8 @@
<el-button type="primary" class="ml5" @click="ableCategoryVisible = true" size="mini" :disabled="isEdit || !goods.edx">编辑</el-button>
</div>
<div class="sysp__content clearfix inline-block fl" style="width:calc(100% - 440px);max-height: 100px;overflow-y: auto;">
<span v-if="!goods.edx" class="fz13 gray">* 未勾选默认全部类目</span>
<span v-if="goods.edx && form.edxGoodsList.length === 0" class="el-form-item__error">至少选择一个类目</span>
<template v-for="(item, idx) in form.edxGoodsList">
<span :key="idx" class="item mr5">{{ item.name }}</span>
</template>
......
......@@ -13,8 +13,6 @@
</el-select>
<el-input :disabled="!ewashDisable" v-model="listParams.searchParam" class="w200 vertical-middle" placeholder="输入卡券名称/备注" clearable @change="refresh"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
<div class="fr">
<el-button type="primary" @click="$router.push('/ewash/statements')" :disabled="!ewashDisable">查看账单</el-button>
<el-button type="primary" @click="handleDialogShow" :disabled="!ewashDisable">创建子账户</el-button>
<el-button type="primary" @click="$router.push('/ewash/add')" :disabled="!ewashDisable">新增卡券</el-button>
</div>
</div>
......@@ -27,18 +25,8 @@
</div>
<adjust-stock :show.sync="adjustStock" :totalCount="currentCard.couponStock" :coupCardId="currentCard.coupCardId" @refresh="delayRefresh"></adjust-stock>
<el-pagination v-show="tableList.length" background class="dm-pagination" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listParams.currentPage" :page-sizes="[20, 40, 60, 80]" :page-size="listParams.pageSize" layout="total, sizes, prev, pager, next" :total="total"></el-pagination>
<!-- 创建子账户dialog -->
<store-child ref="storeChild" :dialogVisible.sync="dialogVisible" />
<!-- 为创建e袋洗服务 -->
<el-dialog title="提示" :visible="ewashTipDialog" width="400px">
<div class="text-center pb20">
<i class="el-icon-error red fz40 mb20 pb10"></i>
<div class="fz16">请联系客服进行开通使用!</div>
</div>
<div class="text-center pb10 mt20">
<el-button @click="ewashTipDialog = false">确 定</el-button>
</div>
</el-dialog>
<!-- 未创建e袋洗服务 -->
<unable-tips :ewashTipDialog="ewashTipDialog" />
</section>
</template>
<script>
......@@ -46,7 +34,8 @@ import { cardPageList, deleteCard } from '@/service/api/cardApi.js';
import adjustStock from '@/views/card/partials/adjust-Stock';
import cardItem from './partials/card-item';
import tableMethods from '@/mixins/tableMethods.js';
import storeChild from './partials/store-child';
import unableTips from './partials/unable-tips';
export default {
name: 'card-list',
mixins: [tableMethods],
......@@ -77,7 +66,7 @@ export default {
components: {
'adjust-stock': adjustStock,
'card-item': cardItem,
storeChild
unableTips
},
created() {
window.scrollTo(0, 0);
......@@ -85,11 +74,6 @@ export default {
this.$store.commit('mutations_breadcrumb', [{ name: 'e袋洗服务', path: '' }, { name: '服务列表', path: '' }]);
},
methods: {
// 创建子账户dialog
handleDialogShow() {
this.dialogVisible = true;
this.$refs.storeChild.reload();
},
//编辑库存 前置
preAdjustStock(val) {
this.currentCard = val;
......
<template>
<el-dialog title="提示" :visible="ewashTipDialog" width="400px">
<div class="text-center pb20">
<i class="el-icon-error red fz40 mb20 pb10"></i>
<div class="fz16">请联系客服进行开通使用!</div>
</div>
<div class="text-center pb10 mt20">
<el-button @click="ewashTipDialog = false">确 定</el-button>
</div>
</el-dialog>
</template>
<script>
export default {
name: 'unable-tips',
props: ['ewashTipDialog']
};
</script>
......@@ -245,7 +245,7 @@ export default {
this.handleDetail();
},
created() {
this.$store.commit('mutations_breadcrumb', [{ name: 'e袋洗服务', path: '' }, { name: '服务列表', path: '/ewash/list' }, { name: 'e袋洗账单', path: '/ewash/statements' }, { name: '账单详情', path: '' }]);
this.$store.commit('mutations_breadcrumb', [{ name: 'e袋洗服务', path: '' }, { name: '门店管理', path: '/ewash/store' }, { name: 'e袋洗账单', path: '/ewash/statements' }, { name: '账单详情', path: '' }]);
}
};
</script>
......
......@@ -83,7 +83,7 @@ export default {
this.getTableList();
},
created() {
this.$store.commit('mutations_breadcrumb', [{ name: 'e袋洗服务', path: '' }, { name: '服务列表', path: '/ewash/list' }, { name: 'e袋洗账单', path: '' }]);
this.$store.commit('mutations_breadcrumb', [{ name: 'e袋洗服务', path: '' }, { name: '门店管理', path: '/ewash/store' }, { name: 'e袋洗账单', path: '' }]);
},
methods: {
formatDateTimeByType,
......
<template>
<section class="dm-wrap">
<div class="clearfix pb22">
<el-input v-model="listParams.searchParam" class="w300" placeholder="输入门店名称/code进行搜索" clearable @change="refresh"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
<div class="fr">
<el-button type="primary" @click="$router.push('/ewash/statements')" :disabled="!ewashDisable">查看账单</el-button>
<el-button type="primary" @click="handleDialogShow" :disabled="!ewashDisable">创建子账户</el-button>
</div>
</div>
<el-table tooltipEffect="light" :data="tableList" style="width: 100%" v-loading="loading">
<el-table-column v-for="(v, i) in tableHeader" :show-overflow-tooltip="v.tooltip" :width="v.width" :min-width="v.minWidth" :align="v.align" :key="i" :prop="v.prop" :label="v.label" :formatter="v.formatter" :fixed="v.fixed">
<template slot-scope="scope">
<span v-if="v.formatter" v-html="v.formatter(scope.row)"></span>
<span v-else>{{ scope.row[v.prop] }}</span>
</template>
</el-table-column>
<el-table-column label="当前余额" align="left" width="120" prop="storeBalance">
<template slot-scope="scope">
<el-button type="text" @click="getYue(scope.row)" v-if="!scope.row.balance">获取余额</el-button>
{{ scope.row.balance }}
</template>
</el-table-column>
</el-table>
<el-pagination v-show="tableList.length" background class="dm-pagination" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listParams.currentPage" :page-sizes="[20, 40, 60, 80]" :page-size="listParams.pageSize" layout="total, sizes, prev, pager, next" :total="total"></el-pagination>
<!-- 创建子账户dialog -->
<store-child ref="storeChild" :dialogVisible.sync="dialogVisible" />
<!-- 未创建e袋洗服务 -->
<unable-tips :ewashTipDialog="ewashTipDialog" />
</section>
</template>
<script>
import { getEdxStoreList, getEdxStoreYue } from '@/service/api/ewashApi.js';
import tableMethods from '@/mixins/tableMethods.js';
import unableTips from './partials/unable-tips';
import storeChild from './partials/store-child';
export default {
name: 'ewash-store-list',
mixins: [tableMethods],
data() {
return {
dialogVisible: false,
tableList: [],
tableHeader: [
{ label: '门店名称', prop: 'storeName', minWidth: '120', align: 'left' },
{ label: '门店code', prop: 'storeCode', minWidth: '120', tooltip: true, align: 'left' },
{
label: '店长信息',
minWidth: '140',
tooltip: false,
align: 'left',
formatter: row => {
return `<div>${row.clerkManagerName}</div><div class="fz13 minor-font-color">${row.clerkManagerPhone}</div>`;
}
},
{ label: '门店地址', prop: 'address', minWidth: '160', tooltip: true, align: 'left' }
],
listParams: {
searchParam: '',
currentPage: 1,
pageSize: 20
},
total: 0,
ewashDisable: false, // e袋洗服务能否使用
ewashTipDialog: false
};
},
components: {
unableTips,
storeChild
},
methods: {
// 创建子账户dialog
handleDialogShow() {
this.dialogVisible = true;
this.$refs.storeChild.reload();
},
// 获取余额
getYue(row) {
this.loading = true;
const { storeId } = row;
getEdxStoreYue({ storeId })
.then(res => {
row.balance = `¥${res.result || 0.0}`;
this.loading = false;
})
.catch(() => {
this.loading = false;
});
},
// 获取列表
async getTableList() {
try {
this.loading = true;
let res = await getEdxStoreList(this.listParams);
if (res.errorCode === 0 && res.result) {
this.tableList =
res.result.result.map(v => {
v.balance = null;
return v;
}) || [];
this.total = res.result.totalCount;
this.ewashDisable = true;
} else {
this.tableList = [];
this.total = 0;
if (res.data && res.data.errorCode === 170049) {
// 未开通e袋洗服务
this.ewashTipDialog = true;
this.ewashDisable = false;
}
}
this.loading = false;
} catch (err) {
this.loading = false;
}
}
},
mounted() {
this.getTableList();
},
created() {
this.$store.commit('mutations_breadcrumb', [{ name: 'e袋洗服务', path: '' }, { name: '门店管理', path: '/ewash/store' }]);
}
};
</script>
......@@ -113,6 +113,11 @@
</el-select>
</el-form-item>
</section>
<!-- 积分变更提现 -->
<section class="dm-form__wrap" v-if="info.triggerCode === 'integralChange'">
<h3 class="dm-title__label">提醒配置<i class="ml20 ml20 dm-title__label--icon iconfont icon-xinxixianshi"></i><span class="gray fz13"> 开关切换后即生效</span></h3>
<integral-change v-if="info.triggerCode === 'integralChange'" />
</section>
<div class="btn-wrap_fixed" :class="{ on: asideShow }">
<el-button type="primary" @click="handleUpdateTempAdvice">保 存</el-button>
<el-button @click="$router.go(-1)">返 回</el-button>
......@@ -126,6 +131,7 @@ import { formatDateTimeByType, checkUrl } from '@/utils/index.js';
import varDialog from './variables.vue';
import innerUrl from '@/components/innerUrl/innerUrl';
import linktoolspage from '@/components/linktools/linktoolspage.vue';
import integralChange from './module/integral-change';
import { enableAccessControl, confirmInfo, alertInfo } from '@/utils/auth.js';
export default {
......@@ -170,7 +176,8 @@ export default {
components: {
varDialog,
linktoolspage,
innerUrl
innerUrl,
integralChange
},
computed: {
asideShow() {
......@@ -272,7 +279,7 @@ export default {
this.info.remarkText = this.info.remark ? this.info.remark.split('#')[0] : '';
this.info.remarkColor = this.info.remark ? '#' + (this.info.remark.split('#')[1] || '173177') : '#173177';
this.options.map(v => {
console.log(this.info.headerText.indexOf(v.value) > -1);
// console.log(this.info.headerText.indexOf(v.value) > -1);
if (this.info.headerText.indexOf(v.value) > -1) {
// console.log(new RegExp((v.label+'/g')))
this.info.headerText = this.info.headerText.replace(v.value, v.label);
......
<template>
<div class="integral-change" v-loading="loading">
<p class="pb20">增加积分提醒</p>
<ul>
<li v-for="item in increaseList" :key="item">
<label>{{ item.dictName }}</label>
<el-switch @change="handleSetIntegralChange(item)" :value="item.state" :active-value="1" :inactive-value="0" />
<template v-if="item.dictCode == 1101">
<i class="ml20 ml20 dm-title__label--icon iconfont icon-xinxixianshi"></i>
<span class="gray fz13">已有门店消费通知,不建议再开启积分变更提醒</span>
</template>
</li>
</ul>
<p class="pb20">减少积分提醒</p>
<ul>
<li v-for="item in reduceList" :key="item">
<label>{{ item.dictName }}</label>
<el-switch @change="handleSetIntegralChange(item)" :value="item.state" :active-value="1" :inactive-value="0" />
</li>
</ul>
</div>
</template>
<script>
import { getIntegralChangeSetting, setIntegralChange } from '@/service/api/msgApi.js';
export default {
name: 'integral-change',
data() {
return {
loading: false,
increaseList: [], // 增加积分提醒
reduceList: [] // 减少积分提醒
};
},
methods: {
handleGetIntegralChangeSetting() {
this.loading = true;
getIntegralChangeSetting()
.then(res => {
this.loading = false;
this.increaseList = res.result.increaseList || [];
this.reduceList = res.result.reduceList || [];
})
.catch(() => {
this.loading = false;
});
},
handleSetIntegralChange({ id, state }) {
this.loading = true;
setIntegralChange({ id, state: state ? 0 : 1 })
.then(res => {
this.loading = false;
this.handleGetIntegralChangeSetting();
})
.catch(() => {
this.loading = false;
});
}
},
mounted() {
this.handleGetIntegralChangeSetting();
}
};
</script>
<style lang="scss" scoped>
.integral-change {
min-height: 200px;
ul li {
label {
min-width: 150px;
display: inline-block;
text-align: right;
margin-bottom: 20px;
margin-right: 15px;
}
}
}
</style>
<template>
<section class="dm-wrap">
<section class="dm-wrap" v-loading="loading">
<!-- <el-button type="danger" plain disabled>删除</el-button> -->
<div class="pb22">
<el-select class="vertical-middle w150" v-model="listParams.contentType" placeholder="选择群发类型" @change="search">
......@@ -19,7 +19,7 @@
</el-tooltip>
<el-button v-else class="fr" type="primary" @click="$router.push('/wechat/record/add')">新建群发</el-button>
</div>
<el-table tooltipEffect="light" :data="recordList" style="width: 100%" row-key="sendTime" v-loading="loading">
<el-table tooltipEffect="light" :data="recordList" style="width: 100%" row-key="sendTime">
<el-table-column :min-width="100" align="left" label="时间" prop="createTime">
<template slot-scope="scope">
<p class="cell-time">
......
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