Commit c0e50d92 by chenxin

fix:修改为webpack路由懒加载name.chunk.js;调整表格列宽度占比;

parent 91ad6e9a
......@@ -26,6 +26,7 @@ module.exports = {
output: {
path: config.build.assetsRoot,
filename: '[name].js',
chunkFilename: utils.assetsPath('js/[id].[chunkhash].js'),
publicPath: process.env.NODE_ENV === 'production' ? config.build.assetsPublicPath : config.dev.assetsPublicPath
},
resolve: {
......
'use strict'
const path = require('path')
const utils = require('./utils')
const webpack = require('webpack')
const config = require('../config')
const merge = require('webpack-merge')
const baseWebpackConfig = require('./webpack.base.conf')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
'use strict';
const path = require('path');
const utils = require('./utils');
const webpack = require('webpack');
const config = require('../config');
const merge = require('webpack-merge');
const baseWebpackConfig = require('./webpack.base.conf');
const CopyWebpackPlugin = require('copy-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin');
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
const env = require('../config/prod.env')
const env = require('../config/prod.env');
const webpackConfig = merge(baseWebpackConfig, {
module: {
......@@ -25,7 +25,7 @@ const webpackConfig = merge(baseWebpackConfig, {
output: {
path: config.build.assetsRoot,
filename: utils.assetsPath('js/[name].[chunkhash].js'),
chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
chunkFilename: utils.assetsPath('js/[name].[chunkhash].js')
},
plugins: [
// http://vuejs.github.io/vue-loader/en/workflow/production.html
......@@ -46,16 +46,14 @@ const webpackConfig = merge(baseWebpackConfig, {
filename: utils.assetsPath('css/[name].[contenthash].css'),
// Setting the following option to `false` will not extract CSS from codesplit chunks.
// Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack.
// It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`,
// It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`,
// increasing file size: https://github.com/vuejs-templates/webpack/issues/1110
allChunks: true,
allChunks: true
}),
// Compress extracted CSS. We are using this plugin so that possible
// duplicated CSS from different components can be deduped.
new OptimizeCSSPlugin({
cssProcessorOptions: config.build.productionSourceMap
? { safe: true, map: { inline: false } }
: { safe: true }
cssProcessorOptions: config.build.productionSourceMap ? { safe: true, map: { inline: false } } : { safe: true }
}),
// generate dist index.html with correct asset hash for caching.
// you can customize output by editing /index.html
......@@ -81,15 +79,9 @@ const webpackConfig = merge(baseWebpackConfig, {
// split vendor js into its own file
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks (module) {
minChunks(module) {
// any required modules inside node_modules are extracted to vendor
return (
module.resource &&
/\.js$/.test(module.resource) &&
module.resource.indexOf(
path.join(__dirname, '../node_modules')
) === 0
)
return module.resource && /\.js$/.test(module.resource) && module.resource.indexOf(path.join(__dirname, '../node_modules')) === 0;
}
}),
// extract webpack runtime and module manifest to its own file in order to
......@@ -117,29 +109,25 @@ const webpackConfig = merge(baseWebpackConfig, {
}
])
]
})
});
if (config.build.productionGzip) {
const CompressionWebpackPlugin = require('compression-webpack-plugin')
const CompressionWebpackPlugin = require('compression-webpack-plugin');
webpackConfig.plugins.push(
new CompressionWebpackPlugin({
asset: '[path].gz[query]',
algorithm: 'gzip',
test: new RegExp(
'\\.(' +
config.build.productionGzipExtensions.join('|') +
')$'
),
test: new RegExp('\\.(' + config.build.productionGzipExtensions.join('|') + ')$'),
threshold: 10240,
minRatio: 0.8
})
)
);
}
if (config.build.bundleAnalyzerReport) {
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
webpackConfig.plugins.push(new BundleAnalyzerPlugin())
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
webpackConfig.plugins.push(new BundleAnalyzerPlugin());
}
module.exports = webpackConfig
module.exports = webpackConfig;
<!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/main.be62cf2c05933f1b21c25b9969e53fb9.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/lib/elementUI/index.2.5.4.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.20.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.02.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.25.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.04.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 type=text/javascript src=/marketing/static/js/manifest.0a85049e489e85ac5f0a.js></script><script type=text/javascript src=/marketing/static/js/vendor.a8993e30b96d0f8d08ca.js></script><script type=text/javascript src=/marketing/static/js/main.4d4d9f5cd3c20194a074.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/main.a2905151742ab20e9cd888e76769a421.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/lib/elementUI/index.2.5.4.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.20.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.02.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.25.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.04.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 type=text/javascript src=/marketing/static/js/manifest.a492c3fcb1259d960794.js></script><script type=text/javascript src=/marketing/static/js/vendor.4f54dc53154967b3adc7.js></script><script type=text/javascript src=/marketing/static/js/main.97929207484fa88b8c7e.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.
!function(r){var n=window.webpackJsonp;window.webpackJsonp=function(e,u,c){for(var f,i,p,a=0,l=[];a<e.length;a++)i=e[a],t[i]&&l.push(t[i][0]),t[i]=0;for(f in u)Object.prototype.hasOwnProperty.call(u,f)&&(r[f]=u[f]);for(n&&n(e,u,c);l.length;)l.shift()();if(c)for(a=0;a<c.length;a++)p=o(o.s=c[a]);return p};var e={},t={2:0};function o(n){if(e[n])return e[n].exports;var t=e[n]={i:n,l:!1,exports:{}};return r[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.m=r,o.c=e,o.d=function(r,n,e){o.o(r,n)||Object.defineProperty(r,n,{configurable:!1,enumerable:!0,get:e})},o.n=function(r){var n=r&&r.__esModule?function(){return r.default}:function(){return r};return o.d(n,"a",n),n},o.o=function(r,n){return Object.prototype.hasOwnProperty.call(r,n)},o.p="/marketing/",o.oe=function(r){throw console.error(r),r}}([]);
\ No newline at end of file
!function(e){var r=window.webpackJsonp;window.webpackJsonp=function(n,a,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 a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i]);for(r&&r(n,a,c);l.length;)l.shift()();if(c)for(s=0;s<c.length;s++)f=o(o.s=c[s]);return f};var n={},t={11: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:"evaluation",4:"message",5:"ecm",6:"recharge",7:"msg",8:"calllog"}[e]||e)+"."+{0:"2fb3918f8418fed96b78",1:"2abed6d5287f3727c703",2:"b60253734fbbb3700364",3:"1f18ee07525e4a56e688",4:"9ebc76d53481e7de020d",5:"bacc54c12bf0bed9aa34",6:"727cccae0b80bca129d5",7:"8b5caebf83a79ac810ca",8:"73199fa96bf2a53581b9"}[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.
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.
import index from '../../views/calllog/index';
import calllog from '../../views/calllog/calllog';
import record from '../../views/calllog/record';
// import index from '../../views/calllog/index';
// import calllog from '../../views/calllog/calllog';
// import record from '../../views/calllog/record';
export default {
path: 'calllog',
name: '通话记录',
component: index,
component: () => import(/* webpackChunkName: "calllog" */ '../../views/calllog/index'),
meta: {},
redirect: 'calllog/index',
children: [
{
path: 'index',
name: '通话记录',
component: calllog,
component: () => import(/* webpackChunkName: "calllog" */ '../../views/calllog/calllog'),
meta: {}
},
{
path: 'record',
name: '录音存储设置',
component: record,
component: () => import(/* webpackChunkName: "calllog" */ '../../views/calllog/record'),
meta: {}
}
]
......
//卡券营销
import card from '../../views/card';
import cardList from '../../views/card/list';
import cardRecord from '../../views/card/record';
import cardRecordSend from '../../views/card/record-send';
import cardRecordSendInfo from '../../views/card/record-send-info';
import cardRecordGet from '../../views/card/record-get';
import cardRecordCache from '../../views/card/record-cache';
import cardGroupSend from '../../views/card/group-send';
import cardAnalysis from '../../views/card/analysis';
import cardForm from '../../views/card/form.vue';
import cardShelf from '../../views/card/shelf';
import cardManager from '../../views/card/manager';
import cardCheck from '../../views/card/check';
// import card from '../../views/card';
// import cardList from '../../views/card/list';
// import cardRecord from '../../views/card/record';
// import cardRecordSend from '../../views/card/record-send';
// import cardRecordSendInfo from '../../views/card/record-send-info';
// import cardRecordGet from '../../views/card/record-get';
// import cardRecordCache from '../../views/card/record-cache';
// import cardGroupSend from '../../views/card/group-send';
// import cardAnalysis from '../../views/card/analysis';
// import cardForm from '../../views/card/form.vue';
// import cardShelf from '../../views/card/shelf';
// import cardManager from '../../views/card/manager';
// import cardCheck from '../../views/card/check';
export default {
path: 'card',
name: '卡券营销',
component: card,
component: () => import(/* webpackChunkName: "card" */ '../../views/card'),
meta: {},
redirect: 'card/list',
children: [
{
path: 'list',
name: '卡券库',
component: cardList,
component: () => import(/* webpackChunkName: "card" */ '../../views/card/list'),
meta: {
path: '/card/list'
}
......@@ -31,14 +31,14 @@ export default {
{
path: 'record',
name: '卡券记录',
component: cardRecord,
component: () => import(/* webpackChunkName: "card" */ '../../views/card/record'),
meta: {},
redirect: 'record/send',
children: [
{
path: 'get',
name: '领取记录',
component: cardRecordGet,
component: () => import(/* webpackChunkName: "card" */ '../../views/card/record-get'),
meta: {
path: '/card/record/get'
}
......@@ -46,13 +46,13 @@ export default {
{
path: 'send',
name: '投放记录',
component: cardRecordSend,
component: () => import(/* webpackChunkName: "card" */ '../../views/card/record-send'),
meta: {}
},
{
path: 'sendInfo/:id',
name: '投放记录详情',
component: cardRecordSendInfo,
component: () => import(/* webpackChunkName: "card" */ '../../views/card/record-send-info'),
meta: {
type: 'send',
path: '/card/record/send'
......@@ -61,7 +61,7 @@ export default {
{
path: 'cache',
name: '临时领取记录',
component: cardRecordCache,
component: () => import(/* webpackChunkName: "card" */ '../../views/card/record-cache'),
meta: {}
}
]
......@@ -69,7 +69,7 @@ export default {
{
path: 'groupsend',
name: '新建卡券群发',
component: cardGroupSend,
component: () => import(/* webpackChunkName: "card" */ '../../views/card/group-send'),
meta: {
type: 'add'
}
......@@ -77,7 +77,7 @@ export default {
{
path: 'groupsend/:id',
name: '卡券群发',
component: cardGroupSend,
component: () => import(/* webpackChunkName: "card" */ '../../views/card/group-send'),
meta: {
type: 'edit',
path: '/card/record/send'
......@@ -86,7 +86,7 @@ export default {
{
path: 'addgroupsend/:id',
name: '卡券投放',
component: cardGroupSend,
component: () => import(/* webpackChunkName: "card" */ '../../views/card/group-send'),
meta: {
type: 'send',
path: '/card/list'
......@@ -95,7 +95,7 @@ export default {
{
path: 'groupinfo/:id',
name: '卡券群发详情',
component: cardGroupSend,
component: () => import(/* webpackChunkName: "card" */ '../../views/card/group-send'),
meta: {
type: 'info',
path: '/card/record/send'
......@@ -104,7 +104,7 @@ export default {
{
path: 'edit/:id',
name: '卡券编辑',
component: cardForm,
component: () => import(/* webpackChunkName: "card" */ '../../views/card/form.vue'),
meta: {
type: 'edit',
path: '/card/list'
......@@ -113,7 +113,7 @@ export default {
{
path: 'info/:id',
name: '卡券详情',
component: cardForm,
component: () => import(/* webpackChunkName: "card" */ '../../views/card/form.vue'),
meta: {
type: 'info',
path: '/card/record/get'
......@@ -122,7 +122,7 @@ export default {
{
path: 'copy/:id',
name: '卡券复制',
component: cardForm,
component: () => import(/* webpackChunkName: "card" */ '../../views/card/form.vue'),
meta: {
type: 'copy',
path: '/card/record/get'
......@@ -131,7 +131,7 @@ export default {
{
path: 'add',
name: '新增卡券',
component: cardForm,
component: () => import(/* webpackChunkName: "card" */ '../../views/card/form.vue'),
meta: {
type: 'add',
path: '/card/list'
......@@ -140,7 +140,7 @@ export default {
{
path: 'analysis/:id',
name: '卡券报表',
component: cardAnalysis,
component: () => import(/* webpackChunkName: "card" */ '../../views/card/analysis'),
meta: {
path: '/card/list'
}
......@@ -148,7 +148,7 @@ export default {
{
path: 'shelfanalysis/:id',
name: '卡券展架报表',
component: cardAnalysis,
component: () => import(/* webpackChunkName: "card" */ '../../views/card/analysis'),
meta: {
type: 'shelf',
path: '/card/shelf'
......@@ -157,7 +157,7 @@ export default {
{
path: 'shelf',
name: '卡券展架',
component: cardShelf,
component: () => import(/* webpackChunkName: "card" */ '../../views/card/shelf'),
meta: {
path: '/card/shelf'
}
......@@ -165,7 +165,7 @@ export default {
{
path: 'shelf/:id',
name: '卡券管理',
component: cardManager,
component: () => import(/* webpackChunkName: "card" */ '../../views/card/manager'),
meta: {
path: '/card/shelf'
}
......@@ -173,7 +173,7 @@ export default {
{
path: 'check',
name: '核销纠错',
component: cardCheck,
component: () => import(/* webpackChunkName: "card" */ '../../views/card/check'),
meta: {
path: '/card/check'
}
......
//智能营销
import ecm from '../../views/ecm';
import ecmList from '../../views/ecm/list';
import ecmForm from '../../views/ecm/form.vue';
import batchList from '../../views/ecm/batch-list';
import currentList from '../../views/ecm/current-list';
// import ecm from '../../views/ecm';
// import ecmList from '../../views/ecm/list';
// import ecmForm from '../../views/ecm/form.vue';
// import batchList from '../../views/ecm/batch-list';
// import currentList from '../../views/ecm/current-list';
export default {
path: 'ecm',
name: '智能营销管理',
component: ecm,
component: () => import(/* webpackChunkName: "ecm" */ '../../views/ecm'),
redirect: '/ecm/list',
children: [
{
path: 'list',
name: '智能营销',
component: ecmList,
component: () => import(/* webpackChunkName: "ecm" */ '../../views/ecm/list'),
meta: {
path: '/ecm/list'
}
......@@ -22,7 +22,7 @@ export default {
{
path: 'edit/:id',
name: '智能营销编辑',
component: ecmForm,
component: () => import(/* webpackChunkName: "ecm" */ '../../views/ecm/form'),
meta: {
type: 'edit',
path: '/ecm/list'
......@@ -31,7 +31,7 @@ export default {
{
path: 'add',
name: '智能营销新增',
component: ecmForm,
component: () => import(/* webpackChunkName: "ecm" */ '../../views/ecm/form'),
meta: {
type: 'add',
path: '/ecm/list'
......@@ -40,7 +40,7 @@ export default {
{
path: 'batchlist/:id/:name',
name: '批次记录',
component: batchList,
component: () => import(/* webpackChunkName: "ecm" */ '../../views/ecm/batch-list'),
meta: {
path: '/ecm/list'
}
......@@ -48,7 +48,7 @@ export default {
{
path: 'currentlist/:id/:name',
name: '实时发送记录',
component: currentList,
component: () => import(/* webpackChunkName: "ecm" */ '../../views/ecm/current-list'),
meta: {
path: '/ecm/list'
}
......
import evalIndex from '../../views/evaluation';
import newest from '../../views/evaluation/newest';
import evalCharts from '../../views/evaluation/charts';
import suggestion from '../../views/evaluation/suggestion';
import problem from '../../views/evaluation/problem';
// import evalIndex from '../../views/evaluation';
// import newest from '../../views/evaluation/newest';
// import evalCharts from '../../views/evaluation/charts';
// import suggestion from '../../views/evaluation/suggestion';
// import problem from '../../views/evaluation/problem';
export default {
path: 'evaluation',
name: '服务监督',
component: evalIndex,
component: () => import(/* webpackChunkName: "evaluation" */ '../../views/evaluation'),
redirect: '/evaluation/newest',
children: [
{
......@@ -22,7 +22,7 @@ export default {
{
path: 'newest',
name: '最新评价',
component: newest,
component: () => import(/* webpackChunkName: "evaluation" */ '../../views/evaluation/newest'),
meta: {
path: '/evaluation/newest'
}
......@@ -30,7 +30,7 @@ export default {
{
path: 'charts',
name: '评论概览',
component: evalCharts,
component: () => import(/* webpackChunkName: "evaluation" */ '../../views/evaluation/charts'),
meta: {
path: '/evaluation/charts'
}
......@@ -38,7 +38,7 @@ export default {
{
path: 'bad/:type',
name: '差评详情',
component: newest,
component: () => import(/* webpackChunkName: "evaluation" */ '../../views/evaluation/newest'),
meta: {
type: 'bad',
path: '/evaluation/charts'
......@@ -47,7 +47,7 @@ export default {
{
path: 'suggestion',
name: '投诉与建议',
component: suggestion,
component: () => import(/* webpackChunkName: "evaluation" */ '../../views/evaluation/suggestion'),
meta: {
path: '/evaluation/suggestion'
}
......@@ -55,7 +55,7 @@ export default {
{
path: 'suggestion/:id',
name: '投诉与建议处理',
component: problem,
component: import(/* webpackChunkName: "evaluation" */ '../../views/evaluation/problem'),
meta: {
path: '/evaluation/suggestion'
}
......@@ -63,7 +63,7 @@ export default {
{
path: 'suggestion/info/:id',
name: '投诉与建议处理',
component: problem,
component: import(/* webpackChunkName: "evaluation" */ '../../views/evaluation/problem'),
meta: {
type: 'info',
path: '/evaluation/suggestion'
......
//游戏营销
import game from '../../views/game';
// import game from '../../views/game';
import dzp from '../../views/game/dzp/index.vue';
import dzpForm from '../../views/game/dzp/form.vue';
import dzpRecord from '../../views/game/dzp/record.vue';
// import dzp from '../../views/game/dzp/index.vue';
// import dzpForm from '../../views/game/dzp/form.vue';
// import dzpRecord from '../../views/game/dzp/record.vue';
import ggk from '../../views/game/ggk/index.vue';
import ggkForm from '../../views/game/ggk/form.vue';
import ggkRecord from '../../views/game/ggk/record.vue';
// import ggk from '../../views/game/ggk/index.vue';
// import ggkForm from '../../views/game/ggk/form.vue';
// import ggkRecord from '../../views/game/ggk/record.vue';
import ptyx from '../../views/game/ptyx/index.vue';
import ptyxForm from '../../views/game/ptyx/form.vue';
import ptyxRecord from '../../views/game/ptyx/record.vue';
// import ptyx from '../../views/game/ptyx/index.vue';
// import ptyxForm from '../../views/game/ptyx/form.vue';
// import ptyxRecord from '../../views/game/ptyx/record.vue';
import znm from '../../views/game/znm/index.vue';
import znmForm from '../../views/game/znm/form.vue';
import znmRecord from '../../views/game/znm/record.vue';
// import znm from '../../views/game/znm/index.vue';
// import znmForm from '../../views/game/znm/form.vue';
// import znmRecord from '../../views/game/znm/record.vue';
import klfl from '../../views/game/klfl/index.vue';
import klflForm from '../../views/game/klfl/form.vue';
import klflRecord from '../../views/game/klfl/record.vue';
// import klfl from '../../views/game/klfl/index.vue';
// import klflForm from '../../views/game/klfl/form.vue';
// import klflRecord from '../../views/game/klfl/record.vue';
export default {
path: 'game',
name: '游戏营销',
component: game,
component: () => import(/* webpackChunkName: "game" */ '../../views/game'),
redirect: 'game/dzp',
children: [
{
path: 'dzp',
name: '大转盘',
component: dzp,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/dzp/index'),
meta: {
path: '/game/dzp'
}
......@@ -38,7 +38,7 @@ export default {
{
path: 'dzp/add',
name: '大转盘新增',
component: dzpForm,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/dzp/form'),
meta: {
type: 'add',
path: '/game/dzp'
......@@ -47,7 +47,7 @@ export default {
{
path: 'dzp/edit/:id',
name: '大转盘编辑',
component: dzpForm,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/dzp/form'),
meta: {
type: 'edit',
path: '/game/dzp'
......@@ -56,7 +56,7 @@ export default {
{
path: 'dzp/detail/:id',
name: '大转盘查看',
component: dzpForm,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/dzp/form'),
meta: {
type: 'info',
path: '/game/dzp'
......@@ -65,7 +65,7 @@ export default {
{
path: 'dzp/record/:id',
name: '大转盘中奖记录',
component: dzpRecord,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/dzp/record'),
meta: {
path: '/game/dzp'
}
......@@ -73,7 +73,7 @@ export default {
{
path: 'ggk',
name: '刮刮卡',
component: ggk,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/ggk/index'),
meta: {
path: '/game/ggk'
}
......@@ -81,7 +81,7 @@ export default {
{
path: 'ggk/add',
name: '刮刮卡新增',
component: ggkForm,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/ggk/form'),
meta: {
type: 'add',
path: '/game/ggk'
......@@ -90,7 +90,7 @@ export default {
{
path: 'ggk/edit/:id',
name: '刮刮卡编辑',
component: ggkForm,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/ggk/form'),
meta: {
type: 'edit',
path: '/game/ggk'
......@@ -99,7 +99,7 @@ export default {
{
path: 'ggk/detail/:id',
name: '刮刮卡详情',
component: ggkForm,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/ggk/form'),
meta: {
type: 'info',
path: '/game/ggk'
......@@ -108,7 +108,7 @@ export default {
{
path: 'ggk/record/:id',
name: '刮刮卡中奖记录',
component: ggkRecord,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/ggk/record'),
meta: {
path: '/game/ggk'
}
......@@ -116,7 +116,7 @@ export default {
{
path: 'ptyx',
name: '拼图游戏',
component: ptyx,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/ptyx/index'),
meta: {
path: '/game/ptyx'
}
......@@ -124,7 +124,7 @@ export default {
{
path: 'ptyx/add',
name: '拼图游戏新增',
component: ptyxForm,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/ptyx/form'),
meta: {
type: 'add',
path: '/game/ptyx'
......@@ -133,7 +133,7 @@ export default {
{
path: 'ptyx/edit/:id',
name: '拼图游戏编辑',
component: ptyxForm,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/ptyx/form'),
meta: {
type: 'edit',
path: '/game/ptyx'
......@@ -142,7 +142,7 @@ export default {
{
path: 'ptyx/query/:id',
name: '拼图游戏详情',
component: ptyxForm,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/ptyx/form'),
meta: {
type: 'query',
path: '/game/ptyx'
......@@ -151,7 +151,7 @@ export default {
{
path: 'ptyx/record/:id',
name: '拼图游戏统计',
component: ptyxRecord,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/ptyx/record'),
meta: {
path: '/game/ptyx'
}
......@@ -159,7 +159,7 @@ export default {
{
path: 'znm',
name: '找你马',
component: znm,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/znm/index'),
meta: {
path: '/game/znm'
}
......@@ -167,7 +167,7 @@ export default {
{
path: 'znm/add',
name: '找你马新增',
component: znmForm,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/znm/form'),
meta: {
type: 'add',
path: '/game/znm'
......@@ -176,7 +176,7 @@ export default {
{
path: 'znm/edit/:id',
name: '找你马编辑',
component: znmForm,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/znm/form'),
meta: {
type: 'edit',
path: '/game/znm'
......@@ -185,7 +185,7 @@ export default {
{
path: 'znm/info/:id',
name: '找你马查看',
component: znmForm,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/znm/form'),
meta: {
type: 'info',
path: '/game/znm'
......@@ -194,7 +194,7 @@ export default {
{
path: 'znm/record/:id',
name: '找你马统计',
component: znmRecord,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/znm/record'),
meta: {
path: '/game/znm'
}
......@@ -202,7 +202,7 @@ export default {
{
path: 'klfl',
name: '口令福利',
component: klfl,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/klfl/index'),
meta: {
path: '/game/klfl'
}
......@@ -210,7 +210,7 @@ export default {
{
path: 'klfl/add',
name: '口令福利新增',
component: klflForm,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/klfl/form'),
meta: {
type: 'add',
path: '/game/klfl'
......@@ -219,7 +219,7 @@ export default {
{
path: 'klfl/edit/:id',
name: '口令福利编辑',
component: klflForm,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/klfl/form'),
meta: {
type: 'edit',
path: '/game/klfl'
......@@ -228,7 +228,7 @@ export default {
{
path: 'klfl/info/:id',
name: '口令福利查看',
component: klflForm,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/klfl/form'),
meta: {
type: 'info',
path: '/game/klfl'
......@@ -237,7 +237,7 @@ export default {
{
path: 'klfl/record/:id',
name: '口令福利中奖记录',
component: klflRecord,
component: () => import(/* webpackChunkName: "game" */ '../../views/game/klfl/record'),
meta: {
path: '/game/klfl'
}
......
//卡券营销
import card from '../../views/giccard';
import cardList from '../../views/giccard/list';
import cardRecord from '../../views/giccard/record';
import cardRecordSend from '../../views/giccard/record-send';
import cardRecordGet from '../../views/giccard/record-get';
import cardGroupSend from '../../views/giccard/group-send';
import cardAnalysis from '../../views/giccard/card-analysis';
import cardInfo from '../../views/giccard/card-info';
import cardShelf from '../../views/giccard/shelf';
import cardManager from '../../views/giccard/card-manager';
import cardCheck from '../../views/giccard/check';
// import card from '../../views/giccard';
// import cardList from '../../views/giccard/list';
// import cardRecord from '../../views/giccard/record';
// import cardRecordSend from '../../views/giccard/record-send';
// import cardRecordGet from '../../views/giccard/record-get';
// import cardGroupSend from '../../views/giccard/group-send';
// import cardAnalysis from '../../views/giccard/card-analysis';
// import cardInfo from '../../views/giccard/card-info';
// import cardShelf from '../../views/giccard/shelf';
// import cardManager from '../../views/giccard/card-manager';
// import cardCheck from '../../views/giccard/check';
export default {
path: 'giccard',
name: '卡券营销-新',
component: card,
component: () => import(/* webpackChunkName: "gicCard" */ '../../views/giccard'),
meta: {},
redirect: 'giccard/list',
children: [
{
path: 'list',
name: '卡券库-新',
component: cardList,
component: () => import(/* webpackChunkName: "gicCard" */ '../../views/giccard/list'),
meta: {}
},
{
path: 'record',
name: '卡券记录-新',
component: cardRecord,
component: () => import(/* webpackChunkName: "gicCard" */ '../../views/giccard/record'),
meta: {},
redirect: 'record/send',
children: [
{
path: 'get',
name: '领取记录-新',
component: cardRecordGet,
component: () => import(/* webpackChunkName: "gicCard" */ '../../views/giccard/record-get'),
meta: {}
},
{
path: 'send',
name: '投放记录-新',
component: cardRecordSend,
component: () => import(/* webpackChunkName: "gicCard" */ '../../views/giccard/record-send'),
meta: {}
}
]
......@@ -48,7 +48,7 @@ export default {
{
path: 'groupsend',
name: '新建卡券群发-新',
component: cardGroupSend,
component: () => import(/* webpackChunkName: "gicCard" */ '../../views/giccard/group-send'),
meta: {
type: 'add'
}
......@@ -56,7 +56,7 @@ export default {
{
path: 'groupsend/:id',
name: '卡券群发-新',
component: cardGroupSend,
component: () => import(/* webpackChunkName: "gicCard" */ '../../views/giccard/group-send'),
meta: {
type: 'edit'
}
......@@ -64,7 +64,7 @@ export default {
{
path: 'info/:id',
name: '编辑卡券-新',
component: cardInfo,
component: () => import(/* webpackChunkName: "gicCard" */ '../../views/giccard/card-info'),
meta: {
type: 'edit'
}
......@@ -72,7 +72,7 @@ export default {
{
path: 'info',
name: '新增卡券-新',
component: cardInfo,
component: () => import(/* webpackChunkName: "gicCard" */ '../../views/giccard/card-info'),
meta: {
type: 'add'
}
......@@ -80,31 +80,31 @@ export default {
{
path: 'analysis/:id',
name: '卡券报表-新',
component: cardAnalysis,
component: () => import(/* webpackChunkName: "gicCard" */ '../../views/giccard/card-analysis'),
meta: {}
},
{
path: 'shelfanalysis/:id',
name: '卡券展架报表-新',
component: cardAnalysis,
component: () => import(/* webpackChunkName: "gicCard" */ '../../views/giccard/card-analysis'),
meta: { type: 'shelf' }
},
{
path: 'shelf',
name: '卡券展架-新',
component: cardShelf,
component: () => import(/* webpackChunkName: "gicCard" */ '../../views/giccard/shelf'),
meta: {}
},
{
path: 'shelf/:id',
name: '卡券管理-新',
component: cardManager,
component: () => import(/* webpackChunkName: "gicCard" */ '../../views/giccard/card-manager'),
meta: {}
},
{
path: 'check',
name: '核销纠错-新',
component: cardCheck,
component: () => import(/* webpackChunkName: "gicCard" */ '../../views/giccard/check'),
meta: {}
}
]
......
// 短信营销
import message from '../../views/message';
import form from '../../views/message/form';
import record from '../../views/message/record';
import temp from '../../views/message/temp';
import addTemp from '../../views/message/addTemp';
import recordDetail from '../../views/message/detail';
// import message from '../../views/message';
// import form from '../../views/message/form';
// import record from '../../views/message/record';
// import temp from '../../views/message/temp';
// import addTemp from '../../views/message/addTemp';
// import recordDetail from '../../views/message/detail';
export default {
path: 'message',
name: '短信营销',
component: message,
component: () => import(/* webpackChunkName: "message" */ '../../views/message'),
meta: {},
redirect: 'message/record',
children: [
{
path: 'record',
name: '短信群发',
component: record,
component: () => import(/* webpackChunkName: "message" */ '../../views/message/record'),
meta: {
path: '/message/record'
}
......@@ -24,7 +24,7 @@ export default {
{
path: 'temp',
name: '模板库',
component: temp,
component: () => import(/* webpackChunkName: "message" */ '../../views/message/temp'),
meta: {
path: '/message/temp'
}
......@@ -32,7 +32,7 @@ export default {
{
path: 'temp/add',
name: '新增模板',
component: addTemp,
component: () => import(/* webpackChunkName: "message" */ '../../views/message/addTemp'),
meta: {
type: 'add',
path: '/message/temp'
......@@ -41,7 +41,7 @@ export default {
{
path: 'temp/edit/:id',
name: '编辑模板',
component: addTemp,
component: () => import(/* webpackChunkName: "message" */ '../../views/message/addTemp'),
meta: {
type: 'edit',
path: '/message/temp'
......@@ -50,7 +50,7 @@ export default {
{
path: 'record/add',
name: '新建群发',
component: form,
component: () => import(/* webpackChunkName: "message" */ '../../views/message/form'),
meta: {
path: '/message/record'
}
......@@ -58,7 +58,7 @@ export default {
{
path: 'record/detail/:id',
name: '短信群发详情',
component: recordDetail,
component: () => import(/* webpackChunkName: "message" */ '../../views/message/detail'),
meta: {
path: '/message/record'
}
......
//模板消息
import msg from '../../views/msg/index';
import msgList from '../../views/msg/list';
import msgEdit from '../../views/msg/edit';
// import msg from '../../views/msg/index';
// import msgList from '../../views/msg/list';
// import msgEdit from '../../views/msg/edit';
export default {
path: 'msg',
name: '模板消息',
component: msg,
component: () => import(/* webpackChunkName: "msg" */ '../../views/msg/index'),
redirect: 'msg/list',
children: [
{
path: 'list',
name: '模板消息列表',
component: msgList,
component: () => import(/* webpackChunkName: "msg" */ '../../views/msg/list'),
meta: {
path: '/msg/list'
}
......@@ -20,7 +20,7 @@ export default {
{
path: 'edit/:id',
name: '模板消息编辑',
component: msgEdit,
component: () => import(/* webpackChunkName: "msg" */ '../../views/msg/edit'),
meta: {
path: '/msg/list'
}
......
import recharge from '../../views/recharge';
import board from '../../views/recharge/board';
import rechargeRecord from '../../views/recharge/record';
import rechargeConsume from '../../views/recharge/consume';
import rechargeDo from '../../views/recharge/recharge';
// import recharge from '../../views/recharge';
// import board from '../../views/recharge/board';
// import rechargeRecord from '../../views/recharge/record';
// import rechargeConsume from '../../views/recharge/consume';
// import rechargeDo from '../../views/recharge/recharge';
export default {
path: 'recharge',
name: '计费中心面板',
component: recharge,
component: () => import(/* webpackChunkName: "recharge" */ '../../views/recharge'),
redirect: 'recharge/board',
children: [
{
path: 'board',
name: '计费中心',
component: board
component: () => import(/* webpackChunkName: "recharge" */ '../../views/recharge/board')
},
{
path: 'record',
name: '充值记录',
component: rechargeRecord
component: () => import(/* webpackChunkName: "recharge" */ '../../views/recharge/record')
},
{
path: 'consume/:type',
name: '消费详情',
component: rechargeConsume
component: () => import(/* webpackChunkName: "recharge" */ '../../views/recharge/consume')
},
{
path: 'do',
name: '充值',
component: rechargeDo
component: () => import(/* webpackChunkName: "recharge" */ '../../views/recharge/recharge')
}
]
};
import wechat from '../../views/wechat/index';
import record from '../../views/wechat/record';
import wechatTemp from '../../views/wechat/temp';
import imgTextTemp from '../../components/libs/imgTextTemp';
import imgTemp from '../../components/libs/imgTemp';
import audioTemp from '../../views/wechat/audio/index.vue';
import videoTemp from '../../views/wechat/video/index.vue';
import videoAddEdit from '../../views/wechat/video/addEdit';
import form from '../../views/wechat/form';
import editor from '../../views/wechat/editor';
// import wechat from '../../views/wechat/index';
// import record from '../../views/wechat/record';
// import wechatTemp from '../../views/wechat/temp';
// import imgTextTemp from '../../components/libs/imgTextTemp';
// import imgTemp from '../../components/libs/imgTemp';
// import audioTemp from '../../views/wechat/audio/index.vue';
// import videoTemp from '../../views/wechat/video/index.vue';
// import videoAddEdit from '../../views/wechat/video/addEdit';
// import form from '../../views/wechat/form';
// import editor from '../../views/wechat/editor';
export default {
path: 'wechat',
name: '微信营销',
component: wechat,
component: () => import(/* webpackChunkName: "wechat" */ '../../views/wechat/index'),
redirect: 'wechat/record',
meta: {},
children: [
{
path: 'record',
name: '发送记录',
component: record,
component: () => import(/* webpackChunkName: "wechat" */ '../../views/wechat/record'),
meta: {
path: '/wechat/record'
}
......@@ -27,7 +27,7 @@ export default {
{
path: 'record/add',
name: '新建群发',
component: form,
component: () => import(/* webpackChunkName: "wechat" */ '../../views/wechat/form'),
meta: {
type: 'add',
path: '/wechat/record'
......@@ -36,7 +36,7 @@ export default {
{
path: 'record/edit/:id',
name: '编辑群发',
component: form,
component: () => import(/* webpackChunkName: "wechat" */ '../../views/wechat/form'),
meta: {
type: 'edit',
path: '/wechat/record'
......@@ -45,7 +45,7 @@ export default {
{
path: 'record/info/:id',
name: '群发详情',
component: form,
component: () => import(/* webpackChunkName: "wechat" */ '../../views/wechat/form'),
meta: {
type: 'info',
path: '/wechat/record'
......@@ -54,7 +54,7 @@ export default {
{
path: 'record/add/:id',
name: '使用图文群发',
component: form,
component: () => import(/* webpackChunkName: "wechat" */ '../../views/wechat/form'),
meta: {
type: 'imgText',
path: '/wechat/temp/imgtext'
......@@ -63,7 +63,7 @@ export default {
{
path: 'editor/:id',
name: '编辑图文',
component: editor,
component: () => import(/* webpackChunkName: "wechat" */ '../../views/wechat/editor'),
meta: {
type: 'edit',
path: '/wechat/temp/imgtext'
......@@ -72,7 +72,7 @@ export default {
{
path: 'editor',
name: '新建图文',
component: editor,
component: () => import(/* webpackChunkName: "wechat" */ '../../views/wechat/editor'),
meta: {
type: 'add',
path: '/wechat/temp/imgtext'
......@@ -81,14 +81,14 @@ export default {
{
path: 'temp',
name: '素材库',
component: wechatTemp,
component: () => import(/* webpackChunkName: "wechat" */ '../../views/wechat/temp'),
redirect: 'temp/imgtext',
meta: {},
children: [
{
path: 'imgtext',
name: '图文',
component: imgTextTemp,
component: () => import(/* webpackChunkName: "wechat" */ '../../components/libs/imgTextTemp'),
meta: {
path: '/wechat/temp/imgtext'
}
......@@ -96,7 +96,7 @@ export default {
{
path: 'img',
name: '图片',
component: imgTemp,
component: () => import(/* webpackChunkName: "wechat" */ '../../components/libs/imgTemp'),
meta: {
path: '/wechat/temp/img'
}
......@@ -104,7 +104,7 @@ export default {
{
path: 'audio',
name: '语音',
component: audioTemp,
component: () => import(/* webpackChunkName: "wechat" */ '../../views/wechat/audio/index'),
meta: {
path: '/wechat/temp/audio'
}
......@@ -112,7 +112,7 @@ export default {
{
path: 'video',
name: '视频',
component: videoTemp,
component: () => import(/* webpackChunkName: "wechat" */ '../../views/wechat/video/index'),
meta: {
path: '/wechat/temp/video'
}
......@@ -120,7 +120,7 @@ export default {
{
path: 'video/add',
name: '新增视频',
component: videoAddEdit,
component: () => import(/* webpackChunkName: "wechat" */ '../../views/wechat/video/addEdit'),
meta: {
type: 'add',
path: '/wechat/temp/video'
......@@ -129,7 +129,7 @@ export default {
{
path: 'video/edit/:id',
name: '编辑视频',
component: videoAddEdit,
component: () => import(/* webpackChunkName: "wechat" */ '../../views/wechat/video/addEdit'),
meta: {
type: 'edit',
path: '/wechat/temp/video'
......
......@@ -14,12 +14,12 @@
</p>
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" width="160" align="left" prop="orderNumber" label="订单流水号">
<el-table-column :show-overflow-tooltip="true" min-width="120" align="left" prop="orderNumber" label="订单流水号">
<template slot-scope="scope">
<p class="gray">{{ scope.row.orderNumber || '--' }}</p>
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" width="140" header-align="left" align="left" prop="memberId" label="会员信息">
<el-table-column :show-overflow-tooltip="true" min-width="120" header-align="left" align="left" prop="memberId" label="会员信息">
<template slot-scope="scope">
<img class="vertical-middle table__avatar--40" :src="scope.row.thirdImgUrl || defaultAvatar" width="60" height="60" />
<div class="inline-block vertical-middle">
......@@ -34,7 +34,7 @@
<p class="gray">{{ scope.row.areaName }}</p>
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" width="140" header-align="left" align="left" prop="clerkId" label="导购姓名">
<el-table-column :show-overflow-tooltip="true" min-width="120" header-align="left" align="left" prop="clerkId" label="导购姓名">
<template slot-scope="scope">
<img class="vertical-middle table__avatar--40" :src="scope.row.imageUrl || defaultAvatar" width="60" height="60" />
<div class="inline-block vertical-middle">
......@@ -48,7 +48,7 @@
{{ (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>
<el-table-column :show-overflow-tooltip="true" min-width="120" align="left" prop="errorMsg" label="错误原因"></el-table-column>
<el-table-column width="100" align="left" prop="orderRemarks" label="备注内容">
<template slot-scope="scope">
<el-popover placement="top-start" title="备注内容" width="200" trigger="hover">
......
......@@ -17,7 +17,7 @@
</div>
<!-- 列表 -->
<el-table tooltipEffect="light" :data="recordList" style="width: 100%" v-loading="recordLoading" @sort-change="sortList">
<el-table-column width="100" align="left" prop="receiveTime" label="领取时间" fixed="left">
<el-table-column width="120" align="left" prop="receiveTime" label="领取时间" fixed="left">
<template slot-scope="scope">
<p class="cell-time">
{{ formatDateTimeByType(scope.row.receiveTime, 'yyyy-MM-dd-HH-mm', true).y }}<br />
......@@ -25,12 +25,12 @@
</p>
</template>
</el-table-column>
<el-table-column width="80" align="left" prop="cardTypeExcel" label="卡券类型"> </el-table-column>
<el-table-column min-width="100" align="left" prop="cardName" label="卡券名称"> </el-table-column>
<el-table-column min-width="100" align="left" prop="cardCode" label="卡券券号"> </el-table-column>
<el-table-column min-width="100" align="left" prop="dictName" label="卡券来源"> </el-table-column>
<el-table-column min-width="100" align="left" prop="receiveTypeExcel" label="来源明细"> </el-table-column>
<el-table-column min-width="100" align="left" prop="attentionStatus" label="关注状态"> </el-table-column>
<el-table-column width="120" align="left" prop="cardTypeExcel" label="卡券类型"> </el-table-column>
<el-table-column min-width="120" align="left" prop="cardName" label="卡券名称"> </el-table-column>
<el-table-column min-width="120" align="left" prop="cardCode" label="卡券券号"> </el-table-column>
<el-table-column min-width="120" align="left" prop="dictName" label="卡券来源"> </el-table-column>
<el-table-column min-width="120" align="left" prop="receiveTypeExcel" label="来源明细"> </el-table-column>
<el-table-column min-width="120" align="left" prop="attentionStatus" label="关注状态"> </el-table-column>
<el-table-column width="135" align="left" prop="transferDate" label="关注时间">
<template slot-scope="scope">
<p class="cell-time">
......
......@@ -13,7 +13,7 @@
</div>
<!-- 列表 -->
<el-table tooltipEffect="light" :data="recordList" style="width: 100%" v-loading="recordLoading" @sort-change="sortList">
<el-table-column width="100" align="left" prop="receiveTime" label="领取时间" fixed="left" sortable="custom">
<el-table-column width="120" align="left" prop="receiveTime" label="领取时间" fixed="left" sortable="custom">
<template slot-scope="scope">
<p class="cell-time">
{{ scope.row.receiveTime ? formatDateTimeByType(scope.row.receiveTime, 'yyyy-MM-dd-HH-mm', true).y : '--' }}<br />
......@@ -21,7 +21,7 @@
</p>
</template>
</el-table-column>
<el-table-column width="100" align="left" prop="writeOffTime" label="核销时间" fixed="left" sortable="custom">
<el-table-column width="120" align="left" prop="writeOffTime" label="核销时间" fixed="left" sortable="custom">
<template slot-scope="scope">
<p class="cell-time">
{{ scope.row.useTime ? formatDateTimeByType(scope.row.useTime, 'yyyy-MM-dd-HH-mm', true).y : '--' }}<br />
......@@ -29,7 +29,7 @@
</p>
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" min-width="140" header-align="left" align="left" :key="Math.random()" prop="clerkId" label="会员信息">
<el-table-column :show-overflow-tooltip="true" min-width="120" header-align="left" align="left" :key="Math.random()" prop="clerkId" label="会员信息">
<template slot-scope="scope">
<a :href="'/member/#/wechatmemberDetail?memberId=' + scope.row.memberId" target="_blank">
<img class="vertical-middle table__avatar--40" :src="scope.row.thirdimgurl || defaultAvatar" width="60" height="60" />
......@@ -40,7 +40,7 @@
</a>
</template>
</el-table-column>
<el-table-column width="80" align="left" prop="receiveTime" label="卡券类型">
<el-table-column width="120" align="left" prop="receiveTime" label="卡券类型">
<template slot-scope="scope">
{{ scope.row.cardType === 0 ? '抵金券' : scope.row.cardType === 1 ? '折扣券' : '兑换券' }}
</template>
......@@ -50,16 +50,16 @@
<p class="blue" @click="$router.push('/card/info/' + scope.row.coupCardId)">{{ scope.row.cardName }}</p>
</template>
</el-table-column>
<el-table-column width="115" align="left" prop="receiveTime" label="卡券代码">
<el-table-column width="125" align="left" prop="receiveTime" label="卡券代码">
<template slot-scope="scope">{{ scope.row.cardCode }}</template>
</el-table-column>
<el-table-column width="80" align="left" prop="status" label="卡券状态">
<el-table-column width="100" align="left" prop="status" label="卡券状态">
<template slot-scope="scope">
<span v-html="filterCardStatus(scope.row)"></span>
</template>
</el-table-column>
<el-table-column min-width="80" align="left" prop="receiveName" label="投放来源"></el-table-column>
<el-table-column width="80" align="left" prop="receiveName" label="来源明细">
<el-table-column width="100" align="left" prop="receiveName" label="来源明细">
<template slot-scope="scope">
{{ scope.row.receiveCode == 'RECEIVE_003' || scope.row.receiveCode == 'RECEIVE_005' || scope.row.receiveCode == 'RECEIVE_007' || scope.row.receiveCode == 'RECEIVE_004' || scope.row.receiveCode == 'RECEIVE_010' ? scope.row.receiveTypeExcel : '--' }}
</template>
......
......@@ -4,7 +4,7 @@
<el-input class="w300" v-model="listParams.search" placeholder="输入卡券名称/备注名/活动名" @change="refresh"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
</div>
<el-table tooltipEffect="light" :data="recordList" style="width: 100%" row-key="putonTime" v-loading="loading">
<el-table-column width="100" align="left" prop="putonTime" label="投放时间" fixed="left">
<el-table-column width="120" align="left" prop="putonTime" label="投放时间" fixed="left">
<template slot-scope="scope">
<p class="cell-time">
{{ formatDateTimeByType(scope.row.putonTime, 'yyyy-MM-dd-HH-mm-ss', true).y }}<br />
......@@ -12,7 +12,7 @@
</p>
</template>
</el-table-column>
<el-table-column width="150" align="left" prop="cardName" label="卡券名称">
<el-table-column min-width="120" align="left" prop="cardName" label="卡券名称">
<template slot-scope="scope">
<p style="line-height:22px;">{{ scope.row.cardName }}</p>
<p class="fz13 gray" style="line-height:20px;">{{ scope.row.subName }}</p>
......@@ -62,29 +62,29 @@ export default {
loading: false,
recordList: [],
recordHeader: [
{ label: '活动名称', prop: 'putonName', tooltip: true, align: 'left' },
{ label: '投放人数', prop: 'issuingQuantity', width: '80', align: 'left' },
{ label: '领取数量', prop: 'getedQuantity', width: '80', align: 'left' },
{ label: '活动名称', prop: 'putonName', minWidth: 120, tooltip: true, align: 'left' },
{ label: '投放人数', prop: 'issuingQuantity', width: '100', align: 'left' },
{ label: '领取数量', prop: 'getedQuantity', width: '100', align: 'left' },
{
label: '领取率',
prop: 'getedQuantity',
width: '80',
width: '100',
align: 'left',
formatter(row) {
return ((row.getedQuantity * 100) / (row.issuingQuantity === 0 ? 1 : row.issuingQuantity)).toFixed(2) + '%';
}
},
{ label: '使用数量', prop: 'usageQuantity', width: '80', align: 'left' },
{ label: '使用数量', prop: 'usageQuantity', width: '100', align: 'left' },
{
label: '核销率',
prop: 'usageQuantity',
width: '80',
width: '100',
align: 'left',
formatter(row) {
return ((row.usageQuantity * 100) / (row.getedQuantity === 0 ? 1 : row.getedQuantity)).toFixed(2) + '%';
}
},
{ label: '销售额', prop: 'saleAmount', width: '80', align: 'left' }
{ label: '销售额', prop: 'saleAmount', width: '100', align: 'left' }
],
listParams: {
beginTime: '',
......
......@@ -5,22 +5,22 @@
<el-input class="w300" v-model="listParams.searchParam" clearable placeholder="输入门店名称/代码/地区名" @change="refresh"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
</div>
<el-table tooltipEffect="light" :data="tableList" style="width: 100%" v-loading="loading" @sort-change="sortList">
<el-table-column min-width="140" align="left" prop="shelfName" label="门店名称">
<el-table-column min-width="120" align="left" prop="shelfName" label="门店名称">
<template slot-scope="scope">
<p>{{ scope.row.shelfName }}</p>
<p class="fz13 gray">{{ scope.row.addressFullName }}</p>
</template>
</el-table-column>
<el-table-column min-width="100" align="left" prop="storeGroupFullName" label="所在分组" sortable="custom"></el-table-column>
<el-table-column width="110" align="left" prop="cardSize" label="卡券数量" sortable="custom"></el-table-column>
<el-table-column width="110" align="left" prop="getedQuantity" label="领取数量" sortable="custom"></el-table-column>
<el-table-column width="110" align="left" prop="usageQuantity" label="使用数量" sortable="custom"></el-table-column>
<el-table-column width="100" align="left" prop="col4" label="核销率" sortable="custom">
<el-table-column width="120" align="left" prop="cardSize" label="卡券数量" sortable="custom"></el-table-column>
<el-table-column width="120" align="left" prop="getedQuantity" label="领取数量" sortable="custom"></el-table-column>
<el-table-column width="120" align="left" prop="usageQuantity" label="使用数量" sortable="custom"></el-table-column>
<el-table-column width="120" align="left" prop="col4" label="核销率" sortable="custom">
<template slot-scope="scope">
{{ ((scope.row.usageQuantity * 100) / (scope.row.getedQuantity === 0 ? 1 : scope.row.getedQuantity)).toFixed(2) }}%
</template>
</el-table-column>
<el-table-column width="100" align="left" prop="saleAmount" label="销售额" sortable="custom"></el-table-column>
<el-table-column width="120" align="left" prop="saleAmount" label="销售额" sortable="custom"></el-table-column>
<el-table-column label="操作" align="left" width="160px" fixed="right">
<template slot-scope="scope">
<el-button type="text" @click="$router.push('/card/shelf/' + scope.row.shelfId)">卡券管理</el-button>
......
......@@ -63,7 +63,7 @@ export default {
// {
// label: '批次时间',
// prop: 'execTime',
// minWidth: '120',
// minWidth: '150',
// align: 'left',
// fixed: 'left',
// formatter(row) {
......@@ -75,7 +75,7 @@ export default {
{
label: '营销方式',
prop: 'marketingType',
minWidth: '120',
minWidth: '200',
align: 'left',
formatter(row) {
let result = '--';
......@@ -87,10 +87,10 @@ export default {
return result;
}
},
{ label: '营销内容', prop: 'title', minWidth: '120', align: 'left', fixed: 'left' },
{ label: '批次人次', prop: 'totalCount', width: '120', align: 'left' },
{ label: '预计发送人次', prop: 'filterCount', width: '120', align: 'left' },
{ label: '实际送达人次', prop: 'successCount', width: '120', align: 'left' }
{ label: '营销内容', prop: 'title', minWidth: '160', align: 'left', fixed: 'left' },
{ label: '批次人次', prop: 'totalCount', width: '160', align: 'left' },
{ label: '预计发送人次', prop: 'filterCount', width: '160', align: 'left' },
{ label: '实际送达人次', prop: 'successCount', width: '160', align: 'left' }
],
tableList: [],
dialogShow: false,
......
......@@ -5,7 +5,7 @@
<el-select class="dm-select" clearable v-model="listParams.success" placeholder="所有条件" @change="search">
<el-option v-for="(v, i) in successOptions" :key="i" :label="v.label" :value="v.value"></el-option>
</el-select>
<el-input v-model="listParams.memberInfo" class="w200" placeholder="输入会员昵称/名字/手机号" clearable @change="search"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
<el-input v-model="listParams.memberInfo" class="w250" placeholder="输入会员昵称/名字/手机号" clearable @change="search"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
<el-button icon="iconfont icon-icon_yunxiazai" class="fr" type="primary" @click="exportCurrentSendDetails"> 导出列表</el-button>
</div>
<div class="dm-wrap">
......
......@@ -64,23 +64,23 @@ export default {
total: 0,
loading: false,
tableHeader: [
{ label: '计划名称', prop: 'ecmPlanName', minWidth: '120', align: 'left', fixed: 'left' },
{ label: '计划名称', prop: 'ecmPlanName', minWidth: '160', align: 'left', fixed: 'left' },
{
label: '时效',
prop: 'effectType',
width: '120',
width: '160',
align: 'left',
formatter(row) {
return row.effectType ? `<span><i class="el-icon-time fz18 vertical-middle"></i><span class="vertical-middle"> 每天${row.effectTime}:00</span></span>` : '实时';
}
},
{ label: '营销方式', prop: 'marketingType', minWidth: '120', align: 'left' },
{ label: '营销场景', prop: 'sceneSettingName', width: '120', align: 'left' },
{ label: '营销人次', prop: 'timesForPeople', width: '120', align: 'left' },
{ label: '营销方式', prop: 'marketingType', minWidth: '160', align: 'left' },
{ label: '营销场景', prop: 'sceneSettingName', width: '160', align: 'left' },
{ label: '营销人次', prop: 'timesForPeople', width: '160', align: 'left' },
{
label: '上线状态',
prop: 'onlineStatus',
width: '120',
width: '160',
align: 'left',
formatter(row) {
let result = '--';
......
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