Commit 9384621c by zhangmeng

ecm

parent e5e0ee27
File added
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=./static/img/favicon.ico><title>GIC后台</title><link rel=stylesheet type=text/css href=static/css/iconfont.css><link rel=stylesheet type=text/css href=static/css/common.css><link href=/marketing/static/css/app.9af0d08caa1493aa4400be47cf06e429.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/marketing/static/js/manifest.0a85049e489e85ac5f0a.js></script><script type=text/javascript src=/marketing/static/js/vendor.76aaf9254167acf52017.js></script><script type=text/javascript src=/marketing/static/js/app.f13714696d5628e45cdb.js></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=./static/img/favicon.ico><title>GIC后台</title><link rel=stylesheet type=text/css href=static/css/iconfont.css><link rel=stylesheet type=text/css href=static/css/common.css><link href=/marketing/static/css/app.9bc178d37e0be6750cece5e9d9e06bca.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/marketing/static/js/manifest.0a85049e489e85ac5f0a.js></script><script type=text/javascript src=/marketing/static/js/vendor.f92319ba928c5756eb44.js></script><script type=text/javascript src=/marketing/static/js/app.9f2a8b89c1d4172380ea.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.
......@@ -5,6 +5,7 @@ import marketingEvent from '@/test/example/marketing-event'
import storeNew from '@/test/example/store-new'
import card from '@/test/example/card'
import linkTools from '@/test/example/link-tools'
import dmTable from '@/test/example/dm-table';
export default {
path: '/test',
......@@ -37,7 +38,11 @@ export default {
name: '链接小工具',
component: linkTools
},
{
path: 'table',
name: '链接小工具',
component: dmTable
},
]
};
......
<template>
<div>
<el-table :data="data">
<template v-for="(v,i) in columns">
<el-table-column
v-if="v.type === undefined"
:type="v.type"
:key="i"
:column-key="v.columnKey"
:index="v.index"
:label="v.label"
:prop="v.prop"
:width="v.width"
:min-width="v.minWidth"
:fixed="v.fixed"
:render-header="v.renderHeader"
:sortable="v.sortable"
:sort-method="v.sortMethod"
:sort-by="v.sortBy"
:sort-orders="v.sortOrders"
:resizable="v.resizable"
:formatter="v.formatter"
:show-overflow-tooltip="v.showOverflowTooltip"
:align="v.align"
:header-align="v.headerAlign"
:class-name="v.className"
:label-class-name="v.labelClassName"
:selectable="v.selectable"
:reserve-selection="v.reserveSelection"
:filters="v.filters"
:filter-placement="v.filterPlacement"
:filter-multiple="v.filterMultiple"
:filter-method="v.filterMethod"
:filtered-value="v.filteredValue">
<template slot-scope="scope">
<!-- 如果有filter -->
<span v-if="v.render">
{{compile(v.render)}}
</span>
<span v-if="v.filter">
{{Vue.filter(v[filter])(scope.row[v.prop])}}
</span>
<span v-else-if="v.formatter">
{{v.formatter(scope.row)}}
</span>
<span v-else>
{{scope.row[v.prop]}}
</span>
</template>
</el-table-column>
</template>
</el-table>
</div>
</template>
<script>
import { Table } from 'element-ui';
import Vue from 'vue';
export default {
name:'dm-table',
components:{
'el-table':Table,
// 'test-com':this.propComponents[0]
},
props:['columns','data','propComponents'],
created() {
},
methods:{
compile(template) {
const span = document.createElement('span');
span.innerHTML = template;
console.log(this.$parent);
const dom = this.$parent.compile(span); // 在父级上下文编译组件
return dom;
// this.$el.appendChild(dom); // 将编译后的html插入当前组件
}
}
}
</script>
<template>
<dm-table :optOptions="optOptions" :columns="columns" :data="tableData" :propComponents="components"></dm-table>
</template>
<script>
import dmTable from '../component/dm-table/index.vue';
import testCom from './test-com';
export default {
name:'dm-table-com',
components:{
'dm-table':dmTable,
'testCom':testCom
},
data() {
return {
components:[testCom],
optOptions: {
inline: true,
submitBtnText: 'Search',
forms: [
{ prop: 'name', label: 'Name' },
{ prop: 'mobile', label: 'Mobile' },
{ prop: 'sex', label: 'Sex', itemType: 'select',
options: [
{ value: '', label: 'All' },
{ value: 0, label: 'Male' },
{ value: 1, label: 'Female' }
]
}
]
},
columns: [
{ prop: 'name', label: '姓名', width: 140 },
{ prop: 'mobile', label: '手机号码', minWidth: 180 },
{ prop: 'sex', label: '性别', width: 100,
render: row => {
return `<testCom>${row.name}</testCom>`
}
}
],
tableData: [
{ name: 'Sam', mobile: '15299xxxx', sex: 0 },
{ name: 'Jean', mobile: '13452xxxx', sex: 1 },
{ name: 'Tony', mobile: '187233xxxx', sex: 0 }
]
}
}
}
</script>
<template>
<span>{{text}}</span>
</template>
<script>
export default {
name:'test-com',
prop:['text']
}
</script>
......@@ -88,7 +88,7 @@ export default {
}
this.kpiNameOptions = [{label:'领取次数',value:'shelf-cards1'},{label:'使用次数',value:'shelf-cards2'},{label:'销售额',value:'shelf-cards3'}];
this.cardTrendEchart();
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'卡券营销',path:'/card'},{name:'卡券展架',path:'/card/shelf'},{name:'卡券展架报表',path:''}])
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'卡券营销',path:''},{name:'卡券展架',path:'/card/shelf'},{name:'卡券展架报表',path:''}])
} else {
this.chartParams = {
kpiName:'card-puton1',
......@@ -100,7 +100,7 @@ export default {
this.kpiNameOptions = [{label:'领取次数',value:'card-puton1'},{label:'使用次数',value:'card-puton2'},{label:'销售额',value:'card-puton3'}],
this.cardChannelAnalysis();
this.cardTrendEchart();
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'卡券营销',path:'/card'},{name:'卡券库',path:'/card/list'},{name:'卡券报表',path:''}])
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'卡券营销',path:''},{name:'卡券库',path:'/card/list'},{name:'卡券报表',path:''}])
}
},
mounted() {
......
......@@ -101,7 +101,7 @@ export default {
created() {
this.cardGetShelfs()
this.getCardDetail()
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'卡券营销',path:'/card'},{name:'卡券库',path:'/card/list'},{name:'卡券详情',path:''}])
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'卡券营销',path:''},{name:'卡券库',path:'/card/list'},{name:'卡券详情',path:''}])
},
mounted () {
if (this.isAdd){
......
<template>
<section class="dm-wrap">
<div class="pb22 clearfix">
<el-date-picker class="w250" v-model="dateTime" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" @change="coupcardCheckList"></el-date-picker>
<el-input v-model="listParams.searchParam" class="w300" placeholder="订单号/门店名称/导购姓名" clearable @change="search"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
<el-button class="fr" type="primary" icon="iconfont icon-icon_yunxiazai fz14" @click="exportCoupcardCheckExcel"> 下载Excel</el-button>
<el-date-picker class="w250" v-model="dateTime" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" @change="refresh"></el-date-picker>
<el-input v-model="listParams.searchParam" class="w300" placeholder="订单号/门店名称/导购姓名" clearable @change="refresh"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
<el-button class="fr" type="primary" icon="iconfont icon-icon_yunxiazai fz14" @click="exportExcel"> 下载Excel</el-button>
</div>
<el-table tooltipEffect="light" :data="tableList" style="width: 100%" v-loading="loading">
<el-table-column :show-overflow-tooltip="true" width="160" align="left" prop="createTime" label="操作时间">
......@@ -42,7 +42,7 @@
</el-table-column>
<el-table-column :show-overflow-tooltip="false" width="120" align="left" prop="differenceValue" label="差额">
<template slot-scope="scope">
{{scope.row.differenceValue>=0?' +':'-' + '¥'+ Math.abs(parseInt(scope.row.differenceValue)).toFixed(2)}}
{{scope.row.differenceValue >= 0?' +':'-' + '¥'+ Math.abs(parseInt(scope.row.differenceValue)).toFixed(2)}}
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" min-width="100" align="left" prop="errorMsg" label="错误原因"></el-table-column>
......@@ -59,11 +59,12 @@
</section>
</template>
<script>
import { coupcardCheckList ,exportCoupcardCheckExcel } from '@/service/api/cardApi.js'
import { formateDateTimeByType } from '@/utils/index.js'
import { coupcardCheckList ,exportCoupcardCheckExcel } from '@/service/api/cardApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import talbeMethods from '@/mixins/tableMethods.js';
export default {
name: 'card-check',
mixins:[talbeMethods],
data () {
return {
formateDateTimeByType,
......@@ -82,50 +83,39 @@ export default {
}
},
created() {
this.coupcardCheckList();
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'卡券营销',path:'/card'},{name:'核销纠错',path:''}])
this.getTableList();
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'卡券营销',path:''},{name:'核销纠错',path:''}])
},
methods: {
search() {
this.listParams.pageSize = 1
this.coupcardCheckList()
},
handleSizeChange(val) {
this.listParams.pageSize = val
this.coupcardCheckList()
},
handleCurrentChange(val) {
this.listParams.currentPage = val
this.coupcardCheckList()
},
async coupcardCheckList() {
this.loading = true
if (this.dateTime) {
this.listParams.beginTime = formateDateTimeByType(this.dateTime[0],'yyyy-MM-dd')
this.listParams.endTime = formateDateTimeByType(this.dateTime[1],'yyyy-MM-dd')
} else {
this.listParams.beginTime = ''
this.listParams.endTime = ''
}
// 加载列表
async getTableList() {
this.loading = true;
this.dataTimeFormat();
try {
let res = await coupcardCheckList(this.listParams)
this.tableList = res.result.result || []
this.total = res.result.totalCount
let res = await coupcardCheckList(this.listParams);
this.tableList = res.result.result || [];
this.total = res.result.totalCount || 0;
} catch (err) {
this.$tips({type:'error',message:'加载列表失败'})
this.$tips({type:'error',message:'加载列表失败'});
}
this.loading = false;
},
exportCoupcardCheckExcel() {
// 导出列表
exportExcel() {
this.dataTimeFormat();
window.location = exportCoupcardCheckExcel+"?searchParam="+this.listParams.searchParam+"&beginTime="+this.listParams.beginTime+"&endTime="+this.listParams.endTime+'&requestProject=gic-web'
},
/**-------辅助方法---------- */
dataTimeFormat() {
if (this.dateTime) {
this.listParams.beginTime = formateDateTimeByType(this.dateTime[0],'yyyy-MM-dd')
this.listParams.endTime = formateDateTimeByType(this.dateTime[1],'yyyy-MM-dd')
this.listParams.beginTime = formateDateTimeByType(this.dateTime[0],'yyyy-MM-dd');
this.listParams.endTime = formateDateTimeByType(this.dateTime[1],'yyyy-MM-dd');
} else {
this.listParams.beginTime = ''
this.listParams.endTime = ''
this.listParams.beginTime = '';
this.listParams.endTime = '';
}
window.location = exportCoupcardCheckExcel+"?searchParam="+this.listParams.searchParam+"&beginTime="+this.listParams.beginTime+"&endTime="+this.listParams.endTime+'&requestProject=gic-web'
},
}
},
}
</script>
......@@ -58,7 +58,7 @@ export default {
created() {
window.scrollTo(0,0)
this.cardPageList();
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'卡券营销',path:'/card'},{name:'卡券库',path:''}])
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'卡券营销',path:''},{name:'卡券库',path:''}])
},
methods: {
//编辑库存 前置
......
......@@ -44,7 +44,7 @@ export default {
},
created() {
this.cardPageList();
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'卡券营销',path:'/card'},{name:'卡券展架',path:'/card/shelf'},{name:'卡券展架管理',path:''}])
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'卡券营销',path:''},{name:'卡券展架',path:'/card/shelf'},{name:'卡券展架管理',path:''}])
},
methods: {
handleSizeChange(val) {
......
......@@ -88,7 +88,7 @@ export default {
},
created() {
this.templateReceiveCardPage();
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'卡券营销',path:'/card'},{name:'卡券记录',path:'/card/record'},{name:'临时领取记录',path:''}]);
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'卡券营销',path:''},{name:'卡券记录',path:''},{name:'临时领取记录',path:''}]);
this.$store.commit('mutations_layoutTips',`<div class="layout--tips">
<i class="el-icon-info"></i>临时领取记录仅保存未关注公众号或未使用过小程序用户领券情况
</div>`);
......
......@@ -113,7 +113,7 @@ export default {
},
created() {
this.cardRecordPage();
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'卡券营销',path:'/card'},{name:'卡券记录',path:'/card/record'},{name:'领取记录',path:''}]);
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'卡券营销',path:''},{name:'卡券记录',path:''},{name:'领取记录',path:''}]);
this.$store.commit('mutations_layoutTips',`<div class="layout--tips">
<i class="el-icon-info"></i>当天的卡券领取记录数据可在隔天下载完整内容
</div>`);
......
......@@ -79,7 +79,7 @@ export default {
},
created() {
this.cardRecordPage();
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'卡券营销',path:'/card'},{name:'卡券记录',path:'/card/record'},{name:'投放记录',path:''}])
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'卡券营销',path:''},{name:'卡券记录',path:''},{name:'投放记录',path:''}])
},
methods: {
// 列表方法
......
......@@ -7,9 +7,6 @@
export default {
data () {
return {}
},
created(){
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'卡券营销',path:'/card'},{name:'卡券记录',path:'/card/list'}])
}
}
</script>
......
......@@ -55,7 +55,7 @@ export default {
},
created() {
this.pageCardShelfs();
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'卡券营销',path:'/card'},{name:'卡券展架',path:'/card/shelf'}])
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'卡券营销',path:''},{name:'卡券展架',path:''}])
},
methods: {
//门店回调
......
......@@ -501,7 +501,7 @@ export default {
}
/* 模板消息的处理 */
if ((this.form.cardNoticeType === 1 && this.form.effectType === 0 && this.form.templateNoticeFlag === 1) || this.form.cardNoticeType === 2) {
if (this.currentCard.comName === 'item-card' && ((this.form.cardNoticeType === 1 && this.form.effectType === 0 && this.form.templateNoticeFlag === 1) || this.form.cardNoticeType === 2)) {
let marketingTemplate = {};
let header = this.template.headerText;
let remark = this.template.remarkText;
......
......@@ -112,7 +112,7 @@ export default {
},
created() {
this.sceneSettingList();
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'短信营销',path:'/message'},{name:'短信群发',path:'/message/record'},{name:'新建群发',path:''}]);
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'短信营销',path:''},{name:'短信群发',path:'/message/record'},{name:'新建群发',path:''}]);
},
methods:{
async sceneSettingList() {
......
......@@ -101,10 +101,10 @@ export default {
},
created() {
if (this.editFlag) {
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'短信营销',path:'/message'},{name:'模板库',path:'/message/temp'},{name:'编辑模板',path:''}]);
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'短信营销',path:''},{name:'模板库',path:'/message/temp'},{name:'编辑模板',path:''}]);
this.LoadTempInfo();
} else {
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'短信营销',path:'/message'},{name:'模板库',path:'/message/temp'},{name:'新增模板',path:''}]);
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'短信营销',path:''},{name:'模板库',path:'/message/temp'},{name:'新增模板',path:''}]);
}
},
methods:{
......
......@@ -97,7 +97,7 @@ import timeCounts from '@/components/timeCount/index.vue'
}
},
created() {
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'短信营销',path:'/message'},{name:'短信群发',path:''}]);
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'短信营销',path:''},{name:'短信群发',path:''}]);
this.LoadMessageList();
this.sceneSettingList();
},
......
......@@ -61,7 +61,7 @@ export default {
}
},
created() {
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'短信营销',path:'/message'},{name:'模板库',path:''}]);
this.$store.commit('mutations_breadcrumb',[{name:'营销管理',path:''},{name:'短信营销',path:''},{name:'模板库',path:''}]);
this.LoadLibList();
},
methods: {
......
......@@ -156,7 +156,7 @@ export default {
微信群发接口限制:高级群发接口的每日调用限制为100次
</div>
`);
this.$store.commit('mutations_breadcrumb',[{name:'营销管理'},{name:'微信营销',path:'/wechat'},{name:'微信群发',path:''}]);
this.$store.commit('mutations_breadcrumb',[{name:'营销管理'},{name:'微信营销',path:''},{name:'发送记录',path:'/wechat'},{name:'微信群发',path:''}]);
if (this.imgTextFlag) {
this.wechatImageTextEdit();
this.sceneSettingList();
......
......@@ -205,7 +205,7 @@ export default {
},
created() {
this.getMarketingUserInfo();
this.$store.commit('mutations_breadcrumb',[{name:'营销管理'},{name:'微信营销',path:'/wechat'},{name:'素材库',path:'/wechat/temp'},{name:'图文编辑',path:''}]);
this.$store.commit('mutations_breadcrumb',[{name:'营销管理'},{name:'微信营销',path:''},{name:'素材库',path:'/wechat/temp'},{name:'图文编辑',path:''}]);
//监听获取图片 封面图或者正文图片
$bus.$on('img-temp-choose',val => {
if (this.imgReduce) return;
......
......@@ -125,7 +125,7 @@ export default {
}
},
created() {
this.$store.commit('mutations_breadcrumb',[{name:'营销管理'},{name:'微信营销',path:'/wechat'},{name:'发送记录',path:''}]);
this.$store.commit('mutations_breadcrumb',[{name:'营销管理'},{name:'微信营销',path:''},{name:'发送记录',path:''}]);
this.sendRecordList();
this.sceneSettingList();
},
......
......@@ -8,7 +8,7 @@ export default {
return {}
},
created() {
this.$store.commit('mutations_breadcrumb',[{name:'营销管理'},{name:'微信营销',path:'/wechat'},{name:'素材库',path:''}]);
this.$store.commit('mutations_breadcrumb',[{name:'营销管理'},{name:'微信营销',path:''},{name:'素材库',path:''}]);
}
}
</script>
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