Commit a833574e by chenxin

fix:build

parent d6b7c3fa
<!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/fonts/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.78833ee60266c16d0eb589b380d38823.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.33.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.09.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.15.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.39.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.13.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.2.02.js></script><script type=text/javascript src=/marketing/static/js/manifest.4ee77bca31b09b597fa3.js></script><script type=text/javascript src=/marketing/static/js/vendor.f6e5442e18ed1c7d4a4d.js></script><script type=text/javascript src=/marketing/static/js/main.15f68b1174550f2241b8.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/fonts/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.ce76916d92f5041287cc97f6010fc63f.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.33.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.09.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.2.12.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-card.2.0.18.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.41.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.13.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.2.02.js></script><script type=text/javascript src=/marketing/static/js/manifest.7eca9908185f3596a2e3.js></script><script type=text/javascript src=/marketing/static/js/vendor.810e43468685c3e36778.js></script><script type=text/javascript src=/marketing/static/js/main.6967f49b26f7fe6e4d15.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.
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.
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.
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.
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.
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.
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.
!function(e){var r=window.webpackJsonp;window.webpackJsonp=function(n,a,c){for(var f,i,u,s=0,l=[];s<n.length;s++)i=n[s],t[i]&&l.push(t[i][0]),t[i]=0;for(f in a)Object.prototype.hasOwnProperty.call(a,f)&&(e[f]=a[f]);for(r&&r(n,a,c);l.length;)l.shift()();if(c)for(s=0;s<c.length;s++)u=o(o.s=c[s]);return u};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:"card",1:"game",2:"wechat",3:"ewash",4:"evaluation",5:"message",6:"ecm",7:"recharge",8:"msg",9:"calllog"}[e]||e)+"."+{0:"29a6af12767934b0bf3e",1:"b0063f1092cce87104cf",2:"6f2f4f7ce0a8b3573406",3:"f499f5cca283e2a521e0",4:"9e33a69becd19ed70f7f",5:"535f432ab24b59d65b57",6:"113565a187a073c616ba",7:"ffc4d6e3b0f6e628f842",8:"c4543ab32e7d1cdad942",9:"0227f7c8f0a9a9fe5817"}[e]+".js";var f=setTimeout(i,12e4);function i(){c.onerror=c.onload=null,clearTimeout(f);var r=t[e];0!==r&&(r&&r[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return c.onerror=c.onload=i,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,o,c){for(var i,u,f,s=0,l=[];s<n.length;s++)u=n[s],t[u]&&l.push(t[u][0]),t[u]=0;for(i in o)Object.prototype.hasOwnProperty.call(o,i)&&(e[i]=o[i]);for(r&&r(n,o,c);l.length;)l.shift()();if(c)for(s=0;s<c.length;s++)f=a(a.s=c[s]);return f};var n={},t={12:0};function a(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,a),t.l=!0,t.exports}a.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,a){r=t[e]=[n,a]});r[2]=n;var o=document.getElementsByTagName("head")[0],c=document.createElement("script");c.type="text/javascript",c.charset="utf-8",c.async=!0,c.timeout=12e4,a.nc&&c.setAttribute("nonce",a.nc),c.src=a.p+"static/js/"+({0:"card",1:"game",2:"wechat",3:"ewash",4:"evaluation",5:"message",6:"ecm",7:"recharge",8:"msg",9:"calllog"}[e]||e)+"."+{0:"93a0aedf44e7a125e32b",1:"8e6ea70d94aebe647cab",2:"ee98a8d25e143cd46e96",3:"199c4481125e0e614194",4:"5a9aa118501dd044d44a",5:"ce1c04f5355356282140",6:"cbf469aaf2b24c5171eb",7:"516825a38f453f021bf6",8:"46659646c443af0ae7a2",9:"9c04c538012a34e52f24"}[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,o.appendChild(c),n},a.m=e,a.c=n,a.d=function(e,r,n){a.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,"a",r),r},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a.p="/marketing/",a.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.
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.
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.
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.
......@@ -26,10 +26,10 @@
<script src="//web-1251519181.file.myqcloud.com/components/card.2.0.09.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.15.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/member-group.2.2.12.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/store-card.2.0.18.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.39.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/people.2.0.41.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/export-excel.2.0.13.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>
......
......@@ -217,7 +217,7 @@
<el-radio :disabled="isEdit" v-model="storeMode" :label="1">部分门店</el-radio>
<span v-if="isEdit" class="fz12 gray ml20">编辑适用门店前会员领取该卡券不包含新增的适用门店;编辑适用门店后会员领取该卡券包含新增的适用门店。</span>
<!-- :readonly="isEdit" -->
<vue-gic-store-card class="pt10" v-bind="storeParams" v-show="storeMode" ref="storeCard" :uuid.sync="uuid"></vue-gic-store-card>
<vue-gic-store-card class="pt10" v-if="isAdd || (!isAdd && creatorId)" v-bind="storeParams" v-show="storeMode" ref="storeCard" :uuid.sync="uuid"></vue-gic-store-card>
<el-alert v-show="storeMode && form.cardApplyChannel.indexOf('WMmicroMall') !== -1" title="选择的门店必须保持与微盟侧门店一致,请确认选择无误" type="warning" show-icon :closable="false" class="mt20 width80"></el-alert>
</el-form-item>
......
......@@ -29,14 +29,14 @@
<el-radio :disabled="isInfo" v-model="form.memberType" :label="2">会员分组</el-radio>
</div>
<div v-show="!form.memberType">
<vue-gic-people :projectName="projectName" :isAdd="isAdd" :triggerReset="true" :useId="useId" :hasSearchData="hasSearchData" :sceneValue="sceneValue" ref="peopleFilter" @findFilter="findFilter" @getBackData="getBackData" @editHide="editHide" @editShow="editShow" @hideBtn="hideBtn" />
<vue-gic-people v-if="isAdd || (!isAdd && creatorId)" v-bind="storeParams" :projectName="projectName" :isAdd="isAdd" :triggerReset="true" :useId="useId" :hasSearchData="hasSearchData" :sceneValue="sceneValue" ref="peopleFilter" @findFilter="findFilter" @getBackData="getBackData" @editHide="editHide" @editShow="editShow" @hideBtn="hideBtn" />
<div class="gic-people--button" v-show="toggleTag">
<el-button size="small" type="primary" @click="getData">确 定</el-button>
<el-button size="small" @click="cancelFilter">取 消</el-button>
</div>
</div>
<vue-gic-confirm-people v-show="form.memberType === 1" idType="memberId" sendType="card" @get-data="getConfirmData" :list="memberList"></vue-gic-confirm-people>
<vue-gic-member-group v-if="form.memberType === 2" :defaltSelected="defaltSelected" :height="500" :projectName="projectName" :headerList="headerList" @handleDataTransferred="handleDataTransferred" @handleDataLeft="handleDataLeft"></vue-gic-member-group>
<vue-gic-member-group v-bind="storeParams" v-if="form.memberType === 2 && (isAdd || (!isAdd && creatorId))" :defaltSelected="defaltSelected" :height="500" :projectName="projectName" :headerList="headerList" @handleDataTransferred="handleDataTransferred" @handleDataLeft="handleDataLeft"></vue-gic-member-group>
</div>
<!-- 只有存在卡券的情况下出现卡券通知方式 -->
<section class="dm-form__wrap">
......@@ -159,6 +159,7 @@ export default {
data() {
return {
loading: false,
creatorId: '',
putOnTypeOptions: [{ value: 0, label: '立即发送' }, { value: 1, label: '选择时间发送' }], // eslint-disable-line
pickerOptions: {
disabledDate(val) {
......@@ -225,6 +226,9 @@ export default {
};
},
computed: {
storeParams() {
return !this.isAdd ? { creatorId: this.creatorId } : {};
},
asideShow() {
return this.$store.state.marketing.asideShow;
},
......@@ -281,6 +285,7 @@ export default {
if (res.errorCode === 0) {
if (!isResetTemplate && !this.isAdd) {
const form = res.result.puton;
this.creatorId = form.creatorId;
this.form.putOnName = form.putOnName;
this.form.putOnType = form.putOnType;
this.form.memberType = form.memberType;
......@@ -467,6 +472,10 @@ export default {
// 保存校验
async submit(formName) {
if (this.form.putOnType == 1 && new Date().getTime() + 1000 * 60 * 5 >= new Date(this.form.putOnTime)) {
this.$tips({ type: 'warning', message: '定时发送的时间点必须晚于当前时间5分钟后' });
return;
}
// // 这里强制获取人群筛选器的配置项
// await this.$refs.peopleFilter.confirmSet();
......
......@@ -168,7 +168,7 @@ export default {
return this.$store.state.marketing.asideShow;
},
storeParams() {
return this.isEdit ? { creatorId: this.creatorId } : {};
return !this.isAdd ? { creatorId: this.creatorId } : {};
},
marketingTimesTips() {
let tips = '';
......
......@@ -169,14 +169,14 @@
<el-radio :disabled="isEdit" :label="1">会员分组</el-radio>
</el-radio-group>
<div class="mb20" v-if="form.memberType === 0">
<vue-gic-people :projectName="projectName" :isAdd="isAdd" :triggerReset="true" :useId="useId" :hasSearchData="hasSearchData" :sceneValue="sceneValue" ref="peopleFilter" @findFilter="findFilter" @getBackData="getBackData" @editHide="editHide" @editShow="editShow" @hideBtn="hideBtn" />
<vue-gic-people v-if="isAdd || (!isAdd && creatorId)" v-bind="storeParams" :projectName="projectName" :isAdd="isAdd" :triggerReset="true" :useId="useId" :hasSearchData="hasSearchData" :sceneValue="sceneValue" ref="peopleFilter" @findFilter="findFilter" @getBackData="getBackData" @editHide="editHide" @editShow="editShow" @hideBtn="hideBtn" />
<div class="gic-people--button" v-show="toggleTag">
<el-button size="small" :disabled="isEdit" type="primary" @click="getData">确 定</el-button>
<el-button size="small" @click="cancelFilter">取 消</el-button>
</div>
</div>
<div :class="isEdit ? 'el-view-mask' : ''">
<vue-gic-member-group v-if="form.memberType === 1" :defaltSelected="defaltSelected" :height="500" :projectName="projectName" :headerList="headerList" @handleDataTransferred="handleDataTransferred" @handleDataLeft="handleDataLeft"></vue-gic-member-group>
<vue-gic-member-group v-if="form.memberType === 1 && (isAdd || (!isAdd && creatorId))" v-bind="storeParams" :defaltSelected="defaltSelected" :height="500" :projectName="projectName" :headerList="headerList" @handleDataTransferred="handleDataTransferred" @handleDataLeft="handleDataLeft"></vue-gic-member-group>
</div>
</section>
<!-- 营销事件组件 -->
......
......@@ -182,7 +182,7 @@ export default {
return this.$store.state.marketing.asideShow;
},
storeParams() {
return this.isEdit ? { creatorId: this.creatorId } : {};
return !this.isAdd ? { creatorId: this.creatorId } : {};
}
},
methods: {
......
......@@ -152,7 +152,8 @@
<el-radio :disabled="isEdit" v-model="storeMode" :label="0">所有门店</el-radio>
<el-radio :disabled="isEdit" v-model="storeMode" :label="1">部分门店</el-radio>
<span v-if="isEdit" class="fz12 gray ml20">编辑适用门店前会员领取该卡券不包含新增的适用门店;编辑适用门店后会员领取该卡券包含新增的适用门店。</span>
<vue-gic-store-card v-bind="storeParams" class="pt10" v-show="storeMode" ref="storeCard" :uuid.sync="uuid" scenes="edaixi" />
<!-- v-bind="storeParams" -->
<vue-gic-store-card class="pt10" v-show="storeMode" ref="storeCard" :uuid.sync="uuid" scenes="edaixi" />
</el-form-item>
<el-form-item label="适用门店说明" prop="cardExplain">
......
<template>
<section class="dm-form__wrap clearfix">
<h3 class="dm-title__label">
参与门槛
<i class="iconfont icon-xinxixianshi pl5 gray"></i>
<span class="gray fz13">满足参与门槛会员才可以参与游戏</span>
</h3>
<el-form-item label="参与门槛" prop="memberType">
<el-radio v-model="form.memberType" :label="0">所有用户</el-radio>
<el-radio v-model="form.memberType" :label="1">会员筛选</el-radio>
<el-radio v-model="form.memberType" :label="2">会员分组</el-radio>
</el-form-item>
<div class="">
<!-- 会员筛选 -->
<el-form-item label="选择会员" v-if="form.memberType === 1" class="calc1">
<vue-gic-people :projectName="projectName" :isAdd="false" :triggerReset="true" :useId="thresholdData.useId" :hasSearchData="thresholdData.hasSearchData" :sceneValue="sceneValue" ref="peopleFilter" @findFilter="findFilter" @getBackData="getBackData" @editHide="editHide" @editShow="editShow" @hideBtn="hideBtn" />
<div class="gic-people--button" v-show="toggleTag">
<el-button size="small" type="primary" @click="getData">确 定</el-button>
<el-button size="small" @click="cancelFilter">取 消</el-button>
</div>
</el-form-item>
<!-- 会员分组 -->
<vue-gic-member-group class="calc2" v-if="form.memberType === 2" :defaltSelected="thresholdData.defaltSelected" :height="400" :projectName="projectName" :headerList="headerList" @handleDataTransferred="handleDataTransferred" @handleDataLeft="handleDataLeft"></vue-gic-member-group>
</div>
<div class="width60 fl">
<el-form-item label="提示图片" prop="tipsImg">
<dm-upload-avatar :limit="{ maxSize: 1 }" :model.sync="form.tipsImg" fileType="fileShare" label="上传图片" tips="图片建议尺寸:200*200,格式为jpg/png/gif。图片大小不超过1MB,点击图片可重新上传。"></dm-upload-avatar>
</el-form-item>
<el-form-item label="提示文字" prop="tipTitle">
<dm-input v-model="form.tipTitle" type="textarea" placeholder="最多输入60个字" :maxlength="60" class="w400" :rows="6"></dm-input>
</el-form-item>
</div>
<div class="width40 fr">
<div class="game-tips__preview">
<div class="game-tips__preview__inner">
<p class="game-tips__preview--title">你还未满足参与游戏条件!</p>
<img class="game-tips__preview--img" :src="form.tipsImg.imgUrl || defaultImg" alt="" />
<p class="game-tips__preview--desc">{{ form.tipTitle }}</p>
</div>
</div>
</div>
</section>
</template>
<script>
import dmUploadAvatar from '@/components/upload/avatar';
// 参与门槛组件
export default {
name: 'threshold',
props: {
thresholdData: {
type: Object,
default() {
return {
searchParams: '', // 会员筛选
hasSearchData: '', // 反显数据保存
getSaveData: '', // 会员筛选回显保存的数据
useId: '', // 会员筛选filter
memberGroupIds: '', // 会员分组
defaltSelected: [] // 会员分组默认穿梭窗已选入数据
};
}
},
form: {
type: Object
},
isAdd: {
type: Boolean,
default: true
}
},
data() {
return {
// 会员分组可传参数
projectName: 'marketing', // 默认是memberTag
headerList: ['isRealTime', 'latestUpdateTime', 'updateType', 'effectiveStatus', 'effectiveDate'],
effectiveStatus: 1, // 不传: 所有状态 1: 有效 0: 失效
// 人群筛选器可传参数
// memberGroupIds: '', // 传入数据 放入
sceneValue: 'member', // 场景值
toggleTag: false, // 控制按钮显示的参数,仅供参考,可自行修改
saveTag: false
};
},
components: {
dmUploadAvatar
},
methods: {
async triggerPeopleSet() {
await this.$refs.peopleFilter.confirmSet();
},
/**---------人群筛选器的方法-------------*/
getData() {
this.$refs.peopleFilter.confirmSet();
},
// 子组件触发父组件事件,返回过滤条件数据
findFilter(value) {
this.thresholdData.searchParams = value;
},
// 取消
cancelFilter() {
this.$refs.peopleFilter.cancelSet();
},
// 获取需要回显的数据, 供保存时候使用
getBackData(val) {
this.thresholdData.getSaveData = val === 'remove' ? '' : val; // 回显数据写在父组件对象中
},
// 显示编辑,保存按钮隐藏,确认按钮显示 (子组件会调用)
editShow() {
this.toggleTag = true;
this.saveTag = false;
},
// 显示保存按钮,隐藏确认按钮显示 (子组件会调用)
editHide() {
this.toggleTag = false;
this.saveTag = true;
},
// 隐藏保存按钮和确认按钮 (子组件会调用)
hideBtn() {
this.toggleTag = false;
this.saveTag = false;
},
/**---------会员分组的方法-------------*/
handleDataTransferred(data) {
// 会员分组 情况下 memberSearchDTO 传数组字符串
if (this.form.memberType === 2) {
this.thresholdData.memberGroupIds = data
.map(v => v.memberTagGroupId)
.filter(v => v)
.join(',');
}
},
handleDataLeft(selectedData, selectionToRemove) {
// 删除右侧
this.thresholdData.memberGroupIds = selectedData
.map(v => v.memberTagGroupId)
.filter(v => v)
.join(',');
}
}
};
</script>
<style scoped>
.calc1 {
width: calc(60% + 330px);
}
.calc2 {
width: calc(60% + 330px + 30px);
}
</style>
......@@ -110,7 +110,7 @@
<!-- 分享设置 -->
<dm-share :form="form"></dm-share>
<!-- 参与门槛 -->
<dm-threshold :form="form" :isAdd="isAdd" :thresholdData="thresholdData" ref="threshold"></dm-threshold>
<dm-threshold :form="form" :isAdd="isAdd" :creatorId="creatorId" :thresholdData="thresholdData" ref="threshold"></dm-threshold>
<div class="btn-wrap_fixed" :class="{ on: asideShow }">
<el-button type="primary" @click="saveLottery('form')" :disabled="!canEdit" v-if="!isInfo">保 存</el-button>
<el-button @click="$router.go(-1)">返 回</el-button>
......@@ -133,6 +133,7 @@ export default {
return {
loading: false,
canEdit: true,
creatorId: '',
// 参与门槛组件传递的数据
thresholdData: {
searchParams: '', // 会员筛选
......@@ -294,6 +295,7 @@ export default {
let res = await detailLottery({ gameId: this.$route.params.id, gameType: 1 });
const gameDetail = res.result.gameDetail;
this.canEdit = this.isEdit ? res.result.canEdit : true; // 不是本人禁用按钮
this.creatorId = gameDetail.creatorId;
this.form = Object.assign(this.form, {
gameId: gameDetail.gameId,
gameName: gameDetail.gameName, //1
......
......@@ -96,7 +96,7 @@
<!-- 分享设置 -->
<dm-share :form="form"></dm-share>
<!-- 参与门槛 -->
<dm-threshold :form="form" :isAdd="isAdd" :thresholdData="thresholdData" ref="threshold"></dm-threshold>
<dm-threshold :form="form" :isAdd="isAdd" :creatorId="creatorId" :thresholdData="thresholdData" ref="threshold"></dm-threshold>
<div class="btn-wrap_fixed" :class="{ on: asideShow }">
<el-button type="primary" @click="saveLottery('form')" :disabled="!canEdit" v-if="!isInfo">保 存</el-button>
<el-button @click="$router.go(-1)">返 回</el-button>
......@@ -119,6 +119,7 @@ export default {
return {
loading: false,
canEdit: true,
creatorId: '',
// 参与门槛组件传递的数据
thresholdData: {
searchParams: '', // 会员筛选
......@@ -261,6 +262,7 @@ export default {
this.loading = false;
const gameDetail = res.result.gameDetail;
this.canEdit = this.isEdit ? res.result.canEdit : true; // 不是本人禁用按钮
this.creatorId = gameDetail.creatorId;
this.form = Object.assign(this.form, {
gameId: gameDetail.gameId,
gameName: gameDetail.gameName,
......
......@@ -100,7 +100,7 @@
<!-- 分享设置 -->
<dm-share :form="form"></dm-share>
<!-- 参与门槛 -->
<dm-threshold :form="form" :isAdd="isAdd" :thresholdData="thresholdData" ref="threshold"></dm-threshold>
<dm-threshold :form="form" :creatorId="creatorId" :isAdd="isAdd" :thresholdData="thresholdData" ref="threshold"></dm-threshold>
<div class="btn-wrap_fixed" :class="{ on: asideShow }">
<el-button type="primary" @click="savePtyx('form')" :disabled="!canEdit" v-if="!isInfo">保 存</el-button>
<el-button @click="$router.go(-1)">返 回</el-button>
......@@ -129,6 +129,7 @@ export default {
// eslint-disable-next-line
defaultImg: require('../../../assets/img/loaderror.png'),
loading: false,
creatorId: '',
canEdit: true,
// 参与门槛组件传递的数据
thresholdData: {
......@@ -274,6 +275,7 @@ export default {
this.loading = false;
this.canEdit = this.isEdit ? res.result.canEdit : true; // 不是本人禁用按钮
gameInfo = res.result.gameInfo;
this.creatorId = gameInfo.creatorId;
this.form = Object.assign(this.form, {
gameActivityId: gameInfo.gameActivityId,
gameName: gameInfo.gameName,
......
......@@ -61,7 +61,7 @@
<!-- 分享设置 -->
<dm-share :form="form"></dm-share>
<!-- 参与门槛 -->
<dm-threshold :form="form" :isAdd="isAdd" :thresholdData="thresholdData" ref="threshold"></dm-threshold>
<dm-threshold :form="form" :isAdd="isAdd" :creatorId="creatorId" :thresholdData="thresholdData" ref="threshold"></dm-threshold>
<div class="btn-wrap_fixed" :class="{ on: asideShow }">
<el-button type="primary" @click="znmSave('form')" :disabled="!canEdit" v-if="!isInfo">保 存</el-button>
<el-button @click="$router.go(-1)">返 回</el-button>
......@@ -87,6 +87,7 @@ export default {
return {
loading: false,
canEdit: true,
creatorId: '',
tableLoading: false,
// 参与门槛组件传递的数据
thresholdData: {
......@@ -229,7 +230,7 @@ export default {
return;
}
const gameDetail = res.result.gameDetail;
this.creatorId = gameDetail.creatorId;
this.form = Object.assign(this.form, {
gameActivityId: gameDetail.gameActivityId,
gameName: gameDetail.gameName,
......
......@@ -217,6 +217,10 @@ export default {
},
//提交表单
async sendSms() {
if (this.info.sendType == 1 && new Date().getTime() + 1000 * 60 * 5 >= new Date(this.info.sendTime)) {
this.$tips({ type: 'warning', message: '定时发送的时间点必须晚于当前时间5分钟后' });
return;
}
// // 这里强制获取人群筛选器的配置项
// await this.$refs.peopleFilter.confirmSet();
......
......@@ -29,14 +29,14 @@
<el-radio v-model="info.memberType" :disabled="isInfo" :label="2">会员分组</el-radio>
</div>
<div v-show="info.memberType === 0">
<vue-gic-people :projectName="projectName" :isAdd="isAdd" :triggerReset="true" :useId="useId" :hasSearchData="hasSearchData" :sceneValue="sceneValue" ref="peopleFilter" @findFilter="findFilter" @getBackData="getBackData" @editHide="editHide" @editShow="editShow" @hideBtn="hideBtn" />
<vue-gic-people v-if="isAdd || (!isAdd && creatorId)" v-bind="storeParams" :projectName="projectName" :isAdd="isAdd" :triggerReset="true" :useId="useId" :hasSearchData="hasSearchData" :sceneValue="sceneValue" ref="peopleFilter" @findFilter="findFilter" @getBackData="getBackData" @editHide="editHide" @editShow="editShow" @hideBtn="hideBtn" />
<div class="gic-people--button" v-show="toggleTag">
<el-button size="small" type="primary" @click="getData">确 定</el-button>
<el-button size="small" @click="cancelFilter">取 消</el-button>
</div>
</div>
<vue-gic-confirm-people v-show="info.memberType === 1" sendType="wechat" @get-data="getConfirmData" :list="memberList"></vue-gic-confirm-people>
<vue-gic-member-group v-if="info.memberType === 2" :defaltSelected="defaltSelected" :height="500" :projectName="projectName" :headerList="headerList" @handleDataTransferred="handleDataTransferred" @handleDataLeft="handleDataLeft"></vue-gic-member-group>
<vue-gic-member-group v-bind="storeParams" v-if="info.memberType === 2 && (isAdd || (!isAdd && creatorId))" :defaltSelected="defaltSelected" :height="500" :projectName="projectName" :headerList="headerList" @handleDataTransferred="handleDataTransferred" @handleDataLeft="handleDataLeft"></vue-gic-member-group>
</section>
<section class="dm-form__wrap" v-if="$route.meta.type !== 'imgText'">
<h3 class="dm-title__label">群发内容设置</h3>
......@@ -101,6 +101,9 @@ export default {
'wx-text': wxText
},
computed: {
storeParams() {
return !this.isAdd ? { creatorId: this.creatorId } : {};
},
asideShow() {
return this.$store.state.marketing.asideShow;
},
......@@ -117,6 +120,7 @@ export default {
return {
loading: false,
canSend: false,
creatorId: '',
pickerOptions: {
disabledDate(val) {
return Date.now() >= val.getTime() + 24 * 60 * 60 * 1000;
......@@ -205,6 +209,7 @@ export default {
let res = await getWechatMarketingDetail({ wechatTeletextId: this.$route.params.id });
if (res.errorCode === 0 && res.result.wechatDTO) {
const result = res.result.wechatDTO;
this.creatorId = result.creatorId;
this.info.sceneSettingId = result.sceneSettingId;
this.info.sceneSettingName = result.sceneSettingName;
this.info.sendTime = result.sendTime;
......@@ -269,6 +274,10 @@ export default {
// console.log(this.info);
// // 这里强制获取人群筛选器的配置项
// await this.$refs.peopleFilter.confirmSet();
if (this.info.sendType == 1 && new Date().getTime() + 1000 * 60 * 5 >= new Date(this.info.sendTime)) {
this.$tips({ type: 'warning', message: '定时发送的时间点必须晚于当前时间5分钟后' });
return;
}
if (!this.info.memberType && this.toggleTag && !this.getSaveData) {
this.$tips({ type: 'warning', message: '人群筛选未保存条件' });
return;
......
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