Commit 0c572289 by crushh

update: dist

parents bdd4de15 c9f67a18
<!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></title><link rel=stylesheet type=text/css href=static/css/common.css><link rel=stylesheet href=//at.alicdn.com/t/font_688955_2dxzdzrb3a7.css><script src=//at.alicdn.com/t/font_688955_2dxzdzrb3a7.js></script><link rel=stylesheet href=//at.alicdn.com/t/font_3229694_f4zx0uhc8y.css><script src=//at.alicdn.com/t/font_3229694_f4zx0uhc8y.js></script><link src=//at.alicdn.com/t/font_2859043_udehp133w1.css><script src=//at.alicdn.com/t/font_2859043_udehp133w1.js></script><link rel=stylesheet href=//at.alicdn.com/t/font_2996579_dv9vctk5vdt.css><script src=//at.alicdn.com/t/font_2996579_dv9vctk5vdt.js></script><link href=/marketing/static/css/main.1590df2689b00f35ab002461ad483ecb.css rel=stylesheet></head><body><div id=app><div class=el-loading-spinner style="width: 98%;"><svg viewBox="25 25 50 50" class=circular><circle cx=50 cy=50 r=20 fill=none class=path></circle></svg></div></div><script>(function() {
<!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></title><link rel=stylesheet type=text/css href=static/css/common.css><link rel=stylesheet href=//at.alicdn.com/t/font_688955_2dxzdzrb3a7.css><script src=//at.alicdn.com/t/font_688955_2dxzdzrb3a7.js></script><link rel=stylesheet href=//at.alicdn.com/t/font_3229694_f4zx0uhc8y.css><script src=//at.alicdn.com/t/font_3229694_f4zx0uhc8y.js></script><link src=//at.alicdn.com/t/font_2859043_udehp133w1.css><script src=//at.alicdn.com/t/font_2859043_udehp133w1.js></script><link rel=stylesheet href=//at.alicdn.com/t/font_2996579_dv9vctk5vdt.css><script src=//at.alicdn.com/t/font_2996579_dv9vctk5vdt.js></script><link href=/marketing/static/css/main.2f5698d7465a0c9b9b0f21e9fec15996.css rel=stylesheet></head><body><div id=app><div class=el-loading-spinner style="width: 98%;"><svg viewBox="25 25 50 50" class=circular><circle cx=50 cy=50 r=20 fill=none class=path></circle></svg></div></div><script>(function() {
var src = '/component/static/import-component.js?timestrap=' + new Date().getTime();
var host = window.location.host;
host = host.indexOf('localhost') > -1 || host.indexOf('192.168') > -1 ? 'gicdev.demogic.com' : host;
document.write('<script src="//' + host + src + '"><\/script>');
})();</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 src=//web-1251519181.file.myqcloud.com/components/upload-file.1.0.10.js></script><script type=text/javascript src=/marketing/static/js/manifest.19252a772ec276b874a2.js></script><script type=text/javascript src=/marketing/static/js/vendor.24a60bdab11def7b4f96.js></script><script type=text/javascript src=/marketing/static/js/main.5c6ae1dffd16b0f20cdc.js></script></body></html>
\ No newline at end of file
})();</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 src=//web-1251519181.file.myqcloud.com/components/upload-file.1.0.10.js></script><script type=text/javascript src=/marketing/static/js/manifest.c34817c8da5b310ca577.js></script><script type=text/javascript src=/marketing/static/js/vendor.24a60bdab11def7b4f96.js></script><script type=text/javascript src=/marketing/static/js/main.55ef855a80efb81e2658.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.
!function(e){var a=window.webpackJsonp_marketing;window.webpackJsonp_marketing=function(n,c,o){for(var d,f,i,u=0,b=[];u<n.length;u++)f=n[u],r[f]&&b.push(r[f][0]),r[f]=0;for(d in c)Object.prototype.hasOwnProperty.call(c,d)&&(e[d]=c[d]);for(a&&a(n,c,o);b.length;)b.shift()();if(o)for(u=0;u<o.length;u++)i=t(t.s=o[u]);return i};var n={},r={25:0};function t(a){if(n[a])return n[a].exports;var r=n[a]={i:a,l:!1,exports:{}};return e[a].call(r.exports,r,r.exports,t),r.l=!0,r.exports}t.e=function(e){var a=r[e];if(0===a)return new Promise(function(e){e()});if(a)return a[2];var n=new Promise(function(n,t){a=r[e]=[n,t]});a[2]=n;var c=document.getElementsByTagName("head")[0],o=document.createElement("script");o.type="text/javascript",o.charset="utf-8",o.async=!0,o.timeout=12e4,t.nc&&o.setAttribute("nonce",t.nc),o.src=t.p+"static/js/"+({0:"card",1:"game",2:"wechat",3:"ecm",4:"message",5:"ewash",6:"scan",7:"recharge",8:"activity",9:"signIn",10:"evaluation",11:"cdKey",12:"popup",13:"msg",15:"calllog"}[e]||e)+"."+{0:"f2d506299900f9891344",1:"ba8eaa78521a5eba4e65",2:"10d3b9a77d18eb036c74",3:"20bd8c5b50572cdb752a",4:"fab0d3ba7e5cfbd98492",5:"396241348d17af8aa0b7",6:"9de136651c1b03202d9e",7:"a9bbd120fabf848f5798",8:"8d9c6b1eac82ed1a52b3",9:"58971e2fb708dd611c68",10:"e6de6c45acf160e8fe99",11:"f44b4a5a120f0f2cad59",12:"a4ca4f06f8fee1f54722",13:"43324dd45b68dd402d28",14:"43707fa4b8472292b2d7",15:"410d734e15e42bc183a8",16:"d289dd364cecac713aa8",17:"ae448793912623b7797d",18:"5de42ed43ebf08ccd3f8",19:"eabfc990ecc899db5ce0",20:"fd948de34acfd10a8897",21:"ad98c8e9d3749f2f1097",22:"565b19a2c1b633ae81e9"}[e]+".js";var d=setTimeout(f,12e4);function f(){o.onerror=o.onload=null,clearTimeout(d);var a=r[e];0!==a&&(a&&a[1](new Error("Loading chunk "+e+" failed.")),r[e]=void 0)}return o.onerror=o.onload=f,c.appendChild(o),n},t.m=e,t.c=n,t.d=function(e,a,n){t.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},t.p="/marketing/",t.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
!function(e){var a=window.webpackJsonp_marketing;window.webpackJsonp_marketing=function(n,c,o){for(var f,d,i,u=0,b=[];u<n.length;u++)d=n[u],r[d]&&b.push(r[d][0]),r[d]=0;for(f in c)Object.prototype.hasOwnProperty.call(c,f)&&(e[f]=c[f]);for(a&&a(n,c,o);b.length;)b.shift()();if(o)for(u=0;u<o.length;u++)i=t(t.s=o[u]);return i};var n={},r={25:0};function t(a){if(n[a])return n[a].exports;var r=n[a]={i:a,l:!1,exports:{}};return e[a].call(r.exports,r,r.exports,t),r.l=!0,r.exports}t.e=function(e){var a=r[e];if(0===a)return new Promise(function(e){e()});if(a)return a[2];var n=new Promise(function(n,t){a=r[e]=[n,t]});a[2]=n;var c=document.getElementsByTagName("head")[0],o=document.createElement("script");o.type="text/javascript",o.charset="utf-8",o.async=!0,o.timeout=12e4,t.nc&&o.setAttribute("nonce",t.nc),o.src=t.p+"static/js/"+({0:"card",1:"game",2:"wechat",3:"ecm",4:"message",5:"ewash",6:"scan",7:"recharge",8:"activity",9:"signIn",10:"evaluation",11:"cdKey",12:"popup",13:"msg",15:"calllog"}[e]||e)+"."+{0:"89bff90d4b57c69c7ba3",1:"947777f3759177ea170a",2:"10d3b9a77d18eb036c74",3:"20bd8c5b50572cdb752a",4:"fab0d3ba7e5cfbd98492",5:"df35e7d6b79d3ba888ca",6:"9de136651c1b03202d9e",7:"a9bbd120fabf848f5798",8:"8d9c6b1eac82ed1a52b3",9:"58971e2fb708dd611c68",10:"e6de6c45acf160e8fe99",11:"f44b4a5a120f0f2cad59",12:"a4ca4f06f8fee1f54722",13:"e7f1e22e9a5c799c154c",14:"f78d1a2a4d1964122328",15:"410d734e15e42bc183a8",16:"d289dd364cecac713aa8",17:"ae448793912623b7797d",18:"982750d54677c69d3ea2",19:"af9838b08c40bf94e68a",20:"fd948de34acfd10a8897",21:"ad98c8e9d3749f2f1097",22:"565b19a2c1b633ae81e9"}[e]+".js";var f=setTimeout(d,12e4);function d(){o.onerror=o.onload=null,clearTimeout(f);var a=r[e];0!==a&&(a&&a[1](new Error("Loading chunk "+e+" failed.")),r[e]=void 0)}return o.onerror=o.onload=d,c.appendChild(o),n},t.m=e,t.c=n,t.d=function(e,a,n){t.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},t.p="/marketing/",t.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
<template>
<div>
<el-button v-for="item in notDropdownList" :disabled="typeof item.disabled === 'function' ? item.disabled(scopeData) : item.disabled" v-bind="{ type: 'text', ...item.props }" :key="item.text" @click="handleCommand(item)">{{ item.text }}</el-button>
<el-dropdown v-if="buttonArray.length > max" v-bind="{ type: 'text', ...dropdownProps }" @click="() => emitEventHandler('click')" @command="handleCommand" @visible-change="bool => emitEventHandler('visible-change', bool)">
<span class="el-dropdown-link">
<i class="iconfont icon-more"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="item in dropdownList" :class="{ 'item-disabled': typeof item.disabled === 'function' ? item.disabled(scopeData) : item.disabled }" :command="item" :key="item.text">
<el-button :disabled="typeof item.disabled === 'function' ? item.disabled(scopeData) : item.disabled" v-bind="{ type: 'text', ...item.props }">{{ item.text }}</el-button>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
<script>
export default {
name: 'dm-dropdown',
components: {},
props: {
dropdownProps: {
//Dropdown Attributes
type: Object,
default: () => {}
},
configs: {
type: Array,
default: () => []
},
max: {
type: [Number, String],
default: 3
},
scopeData: Object
},
methods: {
emitEventHandler(event) {
this.$emit(event, ...Array.from(arguments).slice(1));
},
handleCommand(config) {
if (typeof config.disabled == 'function' ? config.disabled(this.scopeData) : config.disabled) return;
config.handler && config.handler(this.scopeData);
this.emitEventHandler('command', { config, data: this.scopeData });
}
},
computed: {
buttonArray() {
return this.configs.filter(item => {
let visible = item.visible;
if (typeof visible === 'boolean') {
return item.visible;
} else if (typeof visible === 'function') {
return item.visible(this.scopeData);
} else {
return true;
}
});
},
notDropdownList() {
return this.buttonArray.length > this.max ? this.buttonArray.slice(0, this.max - 1) : this.buttonArray;
},
dropdownList() {
return this.buttonArray.length > this.max ? this.buttonArray.slice(this.max - 1) : [];
}
}
};
</script>
<style lang="scss" scoped>
.el-dropdown-link {
cursor: pointer;
color: #2f54eb;
}
.el-button--text + .el-dropdown {
margin-left: 8px;
}
.item-disabled {
cursor: not-allowed;
}
</style>
## 示例
```
<el-table-column
fixed="right"
label="操作"
>
<template slot-scope="scope">
<dm-dropdown :scope-data="scope.row" :configs="btnArr" @command="onCommand"/>
</template>
</el-table-column>
export default {
name: 'btn',
data() {
return {
dropdownAttr: {
// splitButton: true
},
btnArr: [
{
text: '查看',
visible: (row)=>row.status === 2, // 不写visible属性默认为true
handler: (row) =>{
console.log(row)
console.log('查看')
},
},
{
text: '编辑',
handler: (row) =>{
console.log(row)
console.log('编辑')
},
},
{
text: '删除',
handler: (row) =>{
console.log(row)
console.log('删除')
}
},
{
text: '复制',
handler: (row) =>{
console.log(row)
console.log('复制')
},
},
{
text: '禁用',
handler: (row) =>{
console.log(row)
console.log('禁用')
},
}
],
}
},
methods: {
onCommand(item) {
console.log(item)
},
}
}
```
### props
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必传 |
| ------------ | ------------ | ------------ | ------------ | ------------ | ------------ |
| scopeData | - | Object | -- | -- | 否 |
| configs | 按钮数组 | Array | [{text:string(必传), visible: boolean \| function, handler: function,props:按钮属性配置(非必传)}] | -- | 是 |
| dropdownProps | el-dropDown的属性 | Object | -- | -- | 否 |
| max | 最多展示几个按钮 | String/Number | -- | 3 | 否 |
#### events
| 事件名称 | 说明 | 参数 |
| ------------ | ------------ | ------------ |
| command | 按钮触发事件 | {config, data} |
### 更新日志:
- v1.0.0 cr by 黄冷<br>
......@@ -136,9 +136,7 @@ export default {
});
if (minutes < 120) {
this.$message.error('自定义时段不少于2个小时');
return false;
} else {
return true;
return;
}
},
submit() {
......
......@@ -93,7 +93,7 @@
import { page, rechargeCenter, stopActivityPlan, startActivityPlan, pageStatistics, aiAccountCheck } from '@/service/api/aiApi.js';
import { formatDateTimeByType } from '@/utils/index.js';
import filterAvater from '@/mixins/filterAvater.js';
import dmDropdown from '@/components/dm-drop-down/dm-drop-down';
const maxTimeRange = 365 * 24 * 60 * 60 * 1000; // 12个月
export default {
mixins: [filterAvater],
......@@ -326,9 +326,6 @@ export default {
}
next();
},
components: {
dmDropdown
},
filters: {
activePlanStatusFilter(val) {
let str = '- -';
......
......@@ -18,7 +18,9 @@
<el-select class="dm-select pl10" v-model="listParams.cardStatus" placeholder="选择卡券状态" @change="refresh">
<el-option v-for="(item, index) in cardStatusOptions" :key="index" :label="item.label" :value="item.value"></el-option>
</el-select>
<span class="vertical-middle">领取时间:</span><el-date-picker v-model="dateTime" :clearable="false" @change="changeTime" class="w250" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker> <span class="vertical-middle">核销时间:</span><el-date-picker v-model="dateTime2" @change="refresh" class="w250" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
<span class="vertical-middle">领取时间:</span>
<el-date-picker v-model="dateTime" :clearable="false" @change="changeTime" :picker-options="pickerOptionsGet" class="w250" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
<span class="vertical-middle">核销时间:</span><el-date-picker v-model="dateTime2" @change="refresh" class="w250" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
</div>
<!-- 列表 -->
<el-table tooltipEffect="light" :data="recordList" style="width: 100%" @sort-change="sortList">
......@@ -124,10 +126,23 @@
<script>
import { formatDateTimeByType } from '@/utils/index.js';
import cardSelectFilter from '@/components/card-select/filterable';
import { cardRecordPage, coupcardDestroy, exportReceivedRecordExcel } from '@/service/api/cardApi.js';
import { coupcardDestroy, exportReceivedRecordExcel } from '@/service/api/cardApi.js';
import { axios } from '@/service/api/index';
import qs from 'qs';
import cardOrder from './card-order';
import tableMethods from '@/mixins/tableMethods.js';
import filterAvater from '@/mixins/filterAvater.js';
let maxTime = null;
let minTime = null;
const daysFun = () => {
let y = new Date().getFullYear() - 1;
let isLeap = (0 === y % 4 && 0 === y % 100) || 0 === y % 400;
let days = isLeap ? 366 : 365;
let preY = new Date().getFullYear() - 2;
let preYisLeap = (0 === preY % 4 && 0 === preY % 100) || 0 === preY % 400;
let prevDays = preYisLeap ? 366 : 365;
return { days, prevDays };
};
export default {
name: 'record-get',
mixins: [tableMethods, filterAvater],
......@@ -140,6 +155,7 @@ export default {
formatDateTimeByType,
dateTime: [],
dateTimeCopy: [],
daysFun,
dateTime2: ['', ''],
// limit: false, // 限制筛选时间前后七天
cardStatusOptions: [
......@@ -184,15 +200,27 @@ export default {
dataArr: [],
pickerOptions: {
disabledDate: time => {
let y = new Date().getFullYear() - 1;
let isLeap = (0 === y % 4 && 0 === y % 100) || 0 === y % 400;
let days = isLeap ? 366 : 365;
let preY = new Date().getFullYear() - 2;
let preYisLeap = (0 === preY % 4 && 0 === preY % 100) || 0 === preY % 400;
let prevDays = preYisLeap ? 366 : 365;
const { days, prevDays } = daysFun();
// let monthDayNum = new Date().getDate() + 1;
return time.getTime() < Date.now() - (days * 8.64e7 + prevDays * 8.64e7) || time.getTime() >= new Date().getTime();
}
},
pickerOptionsGet: {
onPick(time) {
if (!time.maxDate) {
const minTimeRange = 7 * 24 * 60 * 60 * 1000; // 7day
minTime = time.minDate.getTime() - minTimeRange;
maxTime = time.minDate.getTime() + minTimeRange < new Date().getTime() ? time.minDate.getTime() + minTimeRange : new Date().getTime();
}
},
disabledDate: time => {
if (minTime && maxTime && this.listParams.allCouponFlag == 1) {
return time.getTime() < minTime || time.getTime() > maxTime;
} else {
const { days, prevDays } = daysFun();
return time.getTime() < Date.now() - (days * 8.64e7 + prevDays * 8.64e7) || time.getTime() > new Date().getTime();
}
}
}
};
},
......@@ -331,11 +359,24 @@ export default {
this.listParams.writeOffBeginTime = '';
this.listParams.writeOffEndTime = '';
}
const params = { ...this.listParams };
let res = await cardRecordPage(params);
this.recordList = res.result.result;
this.total = res.result.totalCount;
this.recordLoading = false;
let data = { ...this.listParams };
data = qs.stringify(Object.assign({ requestProject: 'gic-web' }, data));
// let res = await cardRecordPage(data); 60000
axios
.post('/api-marketing/card-record-page', data, { timeout: 60000 })
.then(res => {
if (res.data.errorCode == 0) {
const { result } = res.data;
this.recordList = result.result;
this.total = result.totalCount;
}
})
.catch(_ => {
this.$message.error('查询量过大');
})
.finally(_ => {
this.recordLoading = false;
});
},
// 发送记录操作: 删除
delData(row) {
......
......@@ -6,7 +6,7 @@
渠道分析
<el-date-picker v-model="dateTime2" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" @change="cardChannelAnalysis"></el-date-picker>
</dm-sub-title>
<el-table tooltipEffect="light" :data="tableList" style="width:100%" v-loading="loading">
<el-table tooltipEffect="light" :data="tableList" style="width: 100%" v-loading="loading">
<el-table-column v-for="(v, i) in tableHeader" :key="i" :align="v.align" :width="v.width" :min-width="v.minWidth" :prop="v.prop" :label="v.label" :formatter="v.formatter"></el-table-column>
</el-table>
</div>
......@@ -50,7 +50,11 @@ export default {
listParams: {
type: ''
},
kpiNameOptions: [{ label: '领取次数', value: 'card-puton1' }, { label: '使用次数', value: 'card-puton2' }, { label: '销售额', value: 'card-puton3' }], // eslint-disable-line
kpiNameOptions: [
{ label: '领取次数', value: 'card-puton1' },
{ label: '使用次数', value: 'card-puton2' },
{ label: '销售额', value: 'card-puton3' }
], // eslint-disable-line
tableHeader: [
{ label: '渠道名称', prop: 'receiveName', align: 'left', minWidth: '200' },
{
......@@ -105,7 +109,11 @@ export default {
beginTime: '',
endTime: ''
};
this.kpiNameOptions = [{ label: '领取次数', value: 'shelf-cards1' }, { label: '使用次数', value: 'shelf-cards2' }, { label: '销售额', value: 'shelf-cards3' }]; // eslint-disable-line
this.kpiNameOptions = [
{ label: '领取次数', value: 'shelf-cards1' },
{ label: '使用次数', value: 'shelf-cards2' },
{ label: '销售额', value: 'shelf-cards3' }
]; // eslint-disable-line
this.cardTrendEchart();
} else {
this.chartParams = {
......@@ -115,7 +123,12 @@ export default {
endTime: '',
day: 1
};
(this.kpiNameOptions = [{ label: '领取次数', value: 'card-puton1' }, { label: '使用次数', value: 'card-puton2' }, { label: '销售额', value: 'card-puton3' }]), this.cardChannelAnalysis(); // eslint-disable-line
(this.kpiNameOptions = [
{ label: '领取次数', value: 'card-puton1' },
{ label: '使用次数', value: 'card-puton2' },
{ label: '销售额', value: 'card-puton3' }
]),
this.cardChannelAnalysis(); // eslint-disable-line
this.cardTrendEchart();
}
},
......
......@@ -93,11 +93,9 @@ import { cmhPage, stopGame, pageStatistics } from '@/service/api/gameApi.js';
import links from '../common/links';
import { formatDateTimeByType } from '@/utils/index.js';
import img from '@/assets/img/template1/mould_share_page.png';
import dmDropdown from '@/components/dm-drop-down/dm-drop-down';
export default {
components: {
dmDropdown,
links
},
data() {
......
......@@ -38,7 +38,7 @@
</el-form-item>
<el-form-item :label="v.keyName" v-for="(v, i) in templateKeyDataList" :key="i">
<div v-if="v.keyName !== '使用渠道:'">
<span class="vertical-middle">显示接收人{{ v.keyName }}</span>
<span class="vertical-middle">显示接收人{{ v.keyName | keyNameFilter }}</span>
<el-color-picker class="ml10 vertical-middle" v-model="v.color"></el-color-picker>
</div>
<div v-else>
......@@ -67,12 +67,12 @@
<p class="pre-header" :style="'color:' + info.headerColor + ';'">{{ info.headerText }}</p>
<p class="pre-keyName" v-for="(v, i) in templateKeyDataList" :key="i">
{{ v.keyName }}
<span :style="`color:${v.color}`">示例文字</span>
<span :style="`color:${v.color}`">{{ v.keyName | exampleNameFilter }}</span>
</p>
<p class="pre-remark" :style="'color:' + info.remarkColor + ';'">{{ info.remarkText }}</p>
<div class="pre-foot clearfix">
<span class="fz13 fl ">详情</span>
<span class="fz13 fl">详情</span>
<i class="el-icon-arrow-right fr"></i>
</div>
</div>
......@@ -85,7 +85,9 @@
<span class="gray fz13 pl10">同时选择跳转小程序和H5页面,优先跳转小程序页面</span>
</dm-sub-title>
<div class="msg-edit__url">
<p class="pb20"><el-checkbox v-model="checked2">跳转小程序</el-checkbox></p>
<p class="pb20">
<el-checkbox v-model="checked2">跳转小程序</el-checkbox>
</p>
<div v-if="checked2">
<div class="pl20 pb20">
<el-radio v-model="radio2" :label="1">小程序链接</el-radio>
......@@ -96,7 +98,9 @@
<linktoolspage ref="childlinktoolspage" :isWx="true" :showType="2" @linkSelect="linkSelect" />
</div>
</div>
<p class="pt20 pb20"><el-checkbox v-model="checked1">跳转H5页面</el-checkbox></p>
<p class="pt20 pb20">
<el-checkbox v-model="checked1">跳转H5页面</el-checkbox>
</p>
<div v-if="checked1">
<div class="pl20 pb20">
<el-radio v-model="radio1" :label="1" @change="info.h5 = ''">内部链接</el-radio>
......@@ -118,7 +122,7 @@
<span class="gray fz13"> 22点至次日9点为防骚扰时段,通知将在结束后发送</span>
</div>
</dm-sub-title>
<el-form-item label="积分即将过期前" label-width="120px"> <el-input-number :precision="0" controls-position="right" v-model="info.remindDay" :min="1" :max="31"></el-input-number> 天发送该模板消息提醒。 </el-form-item>
<el-form-item label="积分即将过期前" label-width="120px"> <el-input-number :precision="0" controls-position="right" v-model="info.remindDay" :min="1" :max="31"> </el-input-number> 天发送该模板消息提醒。 </el-form-item>
<!-- <el-form-item label="发送时间设置" label-width="120px">
<el-select v-model="info.sendTime" class="w300">
<el-option v-for="(v, i) in dayOptions" :key="i" :value="v.value" :label="v.label"></el-option>
......@@ -529,6 +533,20 @@ export default {
} else {
return '未知时间';
}
},
keyNameFilter(val) {
if (val == '变更类型:') {
val = '变更类型+积分分值:';
}
return val;
},
exampleNameFilter(val) {
if (val != '变更类型:') {
val = '示例文字';
} else {
val = '线上签到增加5积分';
}
return val;
}
}
};
......@@ -540,23 +558,28 @@ export default {
/deep/ .el-col {
padding: 10px 0;
}
padding: 20px 0;
// border-bottom:1px solid #DCDFE6;
}
&__content {
width: 1100px;
}
&__left {
display: inline-block;
vertical-align: top;
width: 613px;
background: #f0f2f5;
overflow: hidden;
&--inner {
background: #fff;
width: 565px;
margin: 15px auto;
padding: 10px;
/deep/ .input-suffix {
width: 448px;
height: 40px;
......@@ -565,11 +588,13 @@ export default {
border-top: none;
border-radius: 0 0 4px 4px;
}
/deep/ .el-textarea__inner {
color: inherit;
}
}
}
&__right {
position: relative;
display: inline-block;
......@@ -579,6 +604,7 @@ export default {
background: url(../../assets/img/msg-preview.png) no-repeat center;
background-size: cover;
vertical-align: top;
&--inner {
border: 1px solid #dcdfe6;
border-radius: 4px;
......@@ -594,28 +620,34 @@ export default {
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;
}
}
}
&__url {
&--inner {
padding-bottom: 40px;
......
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