Commit 8e35a490 by chenxin

Merge branch 'feature/扫码营销' into 'master'

fix: build 扫码营销

See merge request !123
parents e38f5b63 77f28d92
<!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.ee775b169e9eff6f6a92ec490bf4df56.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.40.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.13.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.24.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-card.2.0.24.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-new.2.0.65.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.42.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.16.js></script><script src=//web-1251519181.file.myqcloud.com/components/input.2.0.20.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.20.js></script><script src=//web-1251519181.file.myqcloud.com/components/pagination.1.0.8.js></script><script src=//web-1251519181.file.myqcloud.com/components/track.1.0.4.js></script><script type=text/javascript src=/marketing/static/js/manifest.210912b27105280b7ac6.js></script><script type=text/javascript src=/marketing/static/js/vendor.fef1c3d3b3b586faaee2.js></script><script type=text/javascript src=/marketing/static/js/main.a2ce008183bf0c9a9655.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.61f227846be3dcd9a162c301df607d3a.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.40.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.13.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.24.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-card.2.0.24.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-new.2.0.65.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.42.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.16.js></script><script src=//web-1251519181.file.myqcloud.com/components/input.2.0.20.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.20.js></script><script src=//web-1251519181.file.myqcloud.com/components/pagination.1.0.8.js></script><script src=//web-1251519181.file.myqcloud.com/components/track.1.0.4.js></script><script type=text/javascript src=/marketing/static/js/manifest.9c574e4d0455242c04bb.js></script><script type=text/javascript src=/marketing/static/js/vendor.fef1c3d3b3b586faaee2.js></script><script type=text/javascript src=/marketing/static/js/main.a2ce008183bf0c9a9655.js></script></body></html>
\ No newline at end of file
!function(e){var r=window.webpackJsonp;window.webpackJsonp=function(n,o,c){for(var i,u,d,f=0,s=[];f<n.length;f++)u=n[f],t[u]&&s.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);s.length;)s.shift()();if(c)for(f=0;f<c.length;f++)d=a(a.s=c[f]);return d};var n={},t={15: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:"message",4:"ewash",5:"scan",6:"ecm",7:"evaluation",8:"activity",9:"cdKey",10:"recharge",11:"msg",12:"calllog"}[e]||e)+"."+{0:"335ab67d062c905954e1",1:"0264c33f4f01117a0edf",2:"1d47f0e373d9a32b6732",3:"4582d2e974560d0b3923",4:"391130c8f773cb8775d6",5:"40de7c20d03e3d2c9423",6:"69341cd9777b2efe8452",7:"63a1a6d2b30b644fe2b0",8:"262d5730485583a8e9ea",9:"b28ab42e4c850a719a9e",10:"deed87acac924fb81b10",11:"68885a5b2ba02a163454",12:"374fb631de99b469adc8"}[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
!function(e){var r=window.webpackJsonp;window.webpackJsonp=function(n,o,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 o)Object.prototype.hasOwnProperty.call(o,i)&&(e[i]=o[i]);for(r&&r(n,o,c);s.length;)s.shift()();if(c)for(d=0;d<c.length;d++)f=a(a.s=c[d]);return f};var n={},t={15: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:"message",4:"ewash",5:"scan",6:"ecm",7:"evaluation",8:"activity",9:"cdKey",10:"recharge",11:"msg",12:"calllog"}[e]||e)+"."+{0:"335ab67d062c905954e1",1:"0264c33f4f01117a0edf",2:"1d47f0e373d9a32b6732",3:"4582d2e974560d0b3923",4:"391130c8f773cb8775d6",5:"be52ce240bddaa308090",6:"69341cd9777b2efe8452",7:"63a1a6d2b30b644fe2b0",8:"262d5730485583a8e9ea",9:"b28ab42e4c850a719a9e",10:"deed87acac924fb81b10",11:"68885a5b2ba02a163454",12:"374fb631de99b469adc8"}[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.
......@@ -11,7 +11,7 @@
<el-date-picker :disabled="disabled" default-time="23:59:59" v-model="form.endDate" type="datetime" :picker-options="endDatePickerOptions" placeholder="结束时间" @change="checkBeginEndTime"> </el-date-picker>
</el-form-item>
<el-form-item label="数据对话">
<activity-select :actId.sync="form.marketingActivityId" :readOnly="disabled"></activity-select>
<dm-activity-select :actId.sync="form.marketingActivityId" :readOnly="disabled"></dm-activity-select>
</el-form-item>
<h3 class="title mt46">
营销次数配置
......@@ -145,6 +145,52 @@
<el-button type="primary" @click="submit('form')" v-if="!isInfo">{{ isAdd ? '确认新建' : '保存' }}</el-button>
</div>
</el-form>
<!-- 变量弹窗 -->
<var-dialog :options="options" :show.sync="varDialogShow" @get-data="insetVar"></var-dialog>
<!-- 模板消息修改弹窗 -->
<el-dialog title="修改模板消息" :visible.sync="editDialogShow" width="600px" :before-close="close">
<div class="ecm-msg__edit">
<div class="ecm-msg__edit--inner">
<el-form>
<el-form-item label-width="100px" label="头部文案">
<el-input type="textarea" :style="'color:' + copyTemplate.headerColor" v-model="copyTemplate.headerText" :rows="4" class="w450" :maxlength="200"></el-input>
<div class="input-suffix clearfix">
<el-button type="text" class="ml10 vertical-middle" @click="insetVarPre('headerText')">插入变量</el-button>
<span class="gray fz13 fr mr10">{{ copyTemplate.headerText.length }}/200</span>
</div>
</el-form-item>
<el-form-item label-width="100px" :label="v.keyName" v-for="(v, i) in copyTemplate.templateKeyDataList" :key="i">
<div v-if="v.keyName">
<span class="vertical-middle">显示接收人{{ v.keyName }}</span>
<el-color-picker class="ml10 vertical-middle" v-model="v.color"></el-color-picker>
</div>
</el-form-item>
<el-form-item label-width="100px" label="尾部文案">
<el-input type="textarea" :style="'color:' + copyTemplate.remarkColor" v-model="copyTemplate.remarkText" :rows="4" class="w450" :maxlength="200"></el-input>
<div class="input-suffix clearfix">
<el-color-picker class="ml10 vertical-middle" v-model="copyTemplate.remarkColor"></el-color-picker>
<el-button type="text" class="vertical-middle" @click="insetVarPre('remarkText')">插入变量</el-button>
<span class="gray fz13 fr mr10">{{ copyTemplate.remarkText.length }}/200</span>
</div>
</el-form-item>
</el-form>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="editDialogShow = false">取 消</el-button>
<el-button type="primary" @click="editTemplate" v-loading="loading">确 定</el-button>
</span>
</el-dialog>
<!-- 消费商品dialog -->
<el-dialog title="适用商品" :visible.sync="xxSysp.visible" width="690px">
<vue-gic-goods-selector ref="selector" :projectName="projectName"></vue-gic-goods-selector>
<div slot="footer" class="dialog-footer">
<el-button @click="xxSysp.visible = false">{{ !isAdd ? '关闭' : '取消' }}</el-button>
<el-button v-if="isAdd" type="primary" @click="xxSyspConfirm">确定</el-button>
</div>
</el-dialog>
</div>
</template>
......@@ -167,3 +213,101 @@ export default scanForm;
}
}
</style>
<style lang="scss" scoped>
.no_label_form_label {
margin-left: -100px;
label {
display: inline-block;
width: 120px;
}
> div {
margin-left: 120px;
}
}
.ecm-msg__edit {
display: inline-block;
vertical-align: top;
max-height: 400px;
overflow: auto;
&--inner {
background: #fff;
width: 565px;
// margin: 15px auto;
// padding: 10px;
/deep/ .input-suffix {
width: 448px;
height: 40px;
background: #f0f2f5;
border: 1px solid #e4e7ed;
border-top: none;
border-radius: 0 0 4px 4px;
}
/deep/ .el-textarea__inner {
color: inherit;
}
/deep/ .el-form-item {
margin-bottom: 3px;
}
}
}
.ecm-msg__preview {
position: relative;
width: 320px;
display: inline-block;
vertical-align: middle;
&--inner {
border: 1px solid #dcdfe6;
border-radius: 4px;
background: #fff;
width: 320px;
min-height: 100px;
top: 103px;
left: 37px;
padding: 20px 10px 10px;
.pre-templateName {
font-size: 17px;
font-weight: 700;
}
.pre-updateTime {
font-size: 14px;
line-height: 1.5;
}
.pre-header {
font-size: 15px;
margin: 10px 0;
}
.pre-keyName {
font-size: 14px;
line-height: 1.5;
}
.pre-remark {
font-size: 15px;
margin: 20px 0 10px 0;
}
.pre-foot {
border-top: 1px solid #dcdfe6;
padding-top: 5px;
display: flex;
justify-content: space-between;
align-items: center;
}
}
}
.ecm-send__tips {
display: inline-block;
border: 1px solid #b3d8ff;
padding: 10px 20px;
background: #ecf5ff;
margin: 10px;
i {
color: #1890ff;
}
}
/deep/ .act-select {
width: 400px !important;
}
.el-form-item__label.align-left {
text-align: left;
}
</style>
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