Commit 04a346da by caoyanzhi

Merge branch 'feature/act-code' into dev

parents 4627b6ec e1367d71
...@@ -76,7 +76,7 @@ Vue.axios.interceptors.request.use( ...@@ -76,7 +76,7 @@ Vue.axios.interceptors.request.use(
Vue.axios.interceptors.response.use( Vue.axios.interceptors.response.use(
data => { data => {
removePending(data.config); //在一个ajax响应后再执行一下取消操作,把已经完成的请求从pending中移除 removePending(data.config); //在一个ajax响应后再执行一下取消操作,把已经完成的请求从pending中移除
if (data.data.hasOwnProperty('errorCode') && data.data.errorCode != 1) { if (data.data.hasOwnProperty('errorCode') && data.data.errorCode != 1 && data.data.errorCode != 0) {
Message.error({ message: `${data.data.message}` }); Message.error({ message: `${data.data.message}` });
} }
if (data.data.hasOwnProperty('code') && data.data.code != 0) { if (data.data.hasOwnProperty('code') && data.data.code != 0) {
......
...@@ -6,11 +6,9 @@ ...@@ -6,11 +6,9 @@
<bread-menu v-if="activedMenu.length > 3" :menu-list="activedMenu.slice(2)"></bread-menu> <bread-menu v-if="activedMenu.length > 3" :menu-list="activedMenu.slice(2)"></bread-menu>
<div class="hb-layout-pager" id="hb-layout-pager-one" :style="{ height: activedMenu.length > 3 ? `calc(100% - 30px)` : '100%', 'padding-bottom': pagePaddingBottom }"> <div class="hb-layout-pager" id="hb-layout-pager-one" :style="{ height: activedMenu.length > 3 ? `calc(100% - 30px)` : '100%', 'padding-bottom': pagePaddingBottom }">
<!-- 页面内容 --> <!-- 页面内容 -->
<!-- <router-view v-if="activeBrand" :brandId="activeBrand" :activeGroupId="activeGroup" :tabType="activeTab" @showTab="showTab"></router-view> --> <keep-alive :exclude="keepAlive">
<keep-alive> <router-view :key="$route.path" :brand-id="enterpriseId"></router-view>
<router-view :brand-id="enterpriseId" :key="$route.path" v-if="$route.meta.keepAlive"></router-view>
</keep-alive> </keep-alive>
<router-view v-if="!$route.meta.keepAlive" :key="$route.path" :brand-id="enterpriseId"></router-view>
</div> </div>
</div> </div>
</div> </div>
...@@ -28,6 +26,33 @@ export default { ...@@ -28,6 +26,33 @@ export default {
name: 'DmHbLayout', name: 'DmHbLayout',
components: { Notice, MainMenu, AsideMenu, BreadMenu }, components: { Notice, MainMenu, AsideMenu, BreadMenu },
provide: () => provideData, provide: () => provideData,
beforeRouteUpdate(to, from, next) {
if (Array.isArray(to.meta.fromPath)) {
to.meta.fromPath.some(el => {
let menuUrlReg = el;
let pathConfigReg = /(:.*)(\/?)/;
const pathRegStr = '([\\d\\w]+[\\-]*[\\d\\w]*)';
while (pathConfigReg.test(menuUrlReg)) {
menuUrlReg = menuUrlReg.replace(pathConfigReg, `${pathRegStr}$2`);
}
pathConfigReg = /(\/\*)(\/?)/;
while (pathConfigReg.test(menuUrlReg)) {
menuUrlReg = menuUrlReg.replace(pathConfigReg, `${pathRegStr}$2`);
}
const reg = new RegExp(`^${menuUrlReg}$`);
if (reg.test(from.path)) {
this.keepAlive = [];
} else {
this.keepAlive = [to.meta.componentName];
}
return reg.test(from.path);
});
setTimeout(() => {
this.keepAlive = [];
}, 100);
}
next();
},
props: { props: {
// 菜单树数据 // 菜单树数据
menuList: { menuList: {
...@@ -41,6 +66,7 @@ export default { ...@@ -41,6 +66,7 @@ export default {
}, },
data() { data() {
return { return {
keepAlive: [],
showAside: true, showAside: true,
pagePaddingBottom: null, pagePaddingBottom: null,
enterpriseId: '', enterpriseId: '',
......
...@@ -133,7 +133,7 @@ export default { ...@@ -133,7 +133,7 @@ export default {
width: 176px; width: 176px;
height: 176px; height: 176px;
margin: 11px 0 16px 0; margin: 11px 0 16px 0;
background-image: url('../assets/QRcode.png'); background-image: url('../assets/QRcode.jpg');
background-size: 176px auto; background-size: 176px auto;
} }
.leadingText { .leadingText {
......
...@@ -79,30 +79,6 @@ router.beforeEach((to, from, next) => { ...@@ -79,30 +79,6 @@ router.beforeEach((to, from, next) => {
} else { } else {
baseUrl = host; baseUrl = host;
} }
const { fromPath = [],refresh } = from.meta || {};
if (Array.isArray(fromPath)) {
from.meta.keepAlive = fromPath.some(el => {
let menuUrlReg = el;
let pathConfigReg = /(:.*)(\/?)/;
const pathRegStr = '([\\d\\w]+[\\-]*[\\d\\w]*)';
while (pathConfigReg.test(menuUrlReg)) {
menuUrlReg = menuUrlReg.replace(pathConfigReg, `${pathRegStr}$2`);
}
pathConfigReg = /(\/\*)(\/?)/;
while (pathConfigReg.test(menuUrlReg)) {
menuUrlReg = menuUrlReg.replace(pathConfigReg, `${pathRegStr}$2`);
}
const reg = new RegExp(menuUrlReg);
return reg.test(to.path);
});
if(from.meta.keepAlive){
to.meta.refresh=false;
}else{
to.meta.refresh=refresh;
}
}
next(); next();
}); });
......
...@@ -6,8 +6,10 @@ const attractFlowLinkRouter = [ ...@@ -6,8 +6,10 @@ const attractFlowLinkRouter = [
name: '引流链接', name: '引流链接',
component: _import('salesleads/actCodeManage/attractFlowLink', 'index'), component: _import('salesleads/actCodeManage/attractFlowLink', 'index'),
meta: { meta: {
keepAlive: true, // 页面组件的name属性
fromPath: ['/attractFlowLinkAdd', '/attractFlowLinkEdit/:id', '/attractFlowLinkInfo/:id', '/attractFlowLinkInfos/:id'] componentName: 'attractFlowLink',
// 从fromPath回到当前页面时,需要使用keep-alive
fromPath: ['/attractFlowLinkEdit/:id', '/attractFlowLinkInfo/:id', '/attractFlowLinkInfos/:id']
} }
}, },
{ {
...@@ -52,8 +54,8 @@ const attractFlowLinkRouter = [ ...@@ -52,8 +54,8 @@ const attractFlowLinkRouter = [
name: '落地页列表', name: '落地页列表',
component: _import('salesleads/actCodeManage/attractFlowLink/landingPage', 'list'), component: _import('salesleads/actCodeManage/attractFlowLink/landingPage', 'list'),
meta: { meta: {
keepAlive: true, componentName: 'ladingPageList',
fromPath: ['/ladingPageAdd', '/ladingPageEdit/:id'] fromPath: ['/ladingPageEdit/:id']
} }
}, },
{ {
......
...@@ -6,8 +6,8 @@ const staffActCodeRouter = [ ...@@ -6,8 +6,8 @@ const staffActCodeRouter = [
name: '员工活码', name: '员工活码',
component: _import('salesleads/actCodeManage/staffActCode', 'index'), component: _import('salesleads/actCodeManage/staffActCode', 'index'),
meta: { meta: {
keepAlive: true, componentName: 'staffActCode',
fromPath: ['/actCodeAdd', '/actCodeEdit', '/actCodeBatch', '/actCodeDetail', '/actCodeDetails'] fromPath: ['/actCodeEdit', '/actCodeBatch', '/actCodeDetail', '/actCodeDetails']
} }
}, },
{ {
...@@ -25,36 +25,24 @@ const staffActCodeRouter = [ ...@@ -25,36 +25,24 @@ const staffActCodeRouter = [
name: '活码详情-详情', name: '活码详情-详情',
component: _import('salesleads/actCodeManage/staffActCode', 'actCodeDetail'), component: _import('salesleads/actCodeManage/staffActCode', 'actCodeDetail'),
meta: { meta: {
keepAlive: true, componentName: 'actCodeDetail',
fromPath: ['/actCodeRecord'] fromPath: ['/actCodeRecord']
} }
}, },
{ {
path: '/actCodeAdd', path: '/actCodeAdd',
name: '新增活码', name: '新增活码',
component: _import('salesleads/actCodeManage/staffActCode/views', 'setActCode'), component: _import('salesleads/actCodeManage/staffActCode/views', 'setActCode')
meta: {
keepAlive: true,
fromPath: ['/salutatorySet']
}
}, },
{ {
path: '/actCodeEdit', path: '/actCodeEdit',
name: '编辑活码', name: '编辑活码',
component: _import('salesleads/actCodeManage/staffActCode/views', 'setActCode'), component: _import('salesleads/actCodeManage/staffActCode/views', 'setActCode')
meta: {
keepAlive: true,
fromPath: ['/salutatorySet']
}
}, },
{ {
path: '/actCodeBatch', path: '/actCodeBatch',
name: '批量创建活码', name: '批量创建活码',
component: _import('salesleads/actCodeManage/staffActCode/views', 'batchAddCode'), component: _import('salesleads/actCodeManage/staffActCode/views', 'batchAddCode')
meta: {
keepAlive: true,
fromPath: ['/salutatorySet']
}
} }
]; ];
export default staffActCodeRouter; export default staffActCodeRouter;
...@@ -102,8 +102,8 @@ export const constantRouterMap = [ ...@@ -102,8 +102,8 @@ export const constantRouterMap = [
name: '欢迎语', name: '欢迎语',
component: _import('enterprise', 'salutatoryIndex'), component: _import('enterprise', 'salutatoryIndex'),
meta:{ meta:{
keepAlive: true, componentName: 'salutatoryIndex',
fromPath: ['/editSalutatorySet','/salutatorySet'] fromPath: ['/editSalutatorySet']
} }
}, },
{ {
...@@ -148,7 +148,7 @@ export const constantRouterMap = [ ...@@ -148,7 +148,7 @@ export const constantRouterMap = [
name: '话务任务记录', name: '话务任务记录',
component: _import('salesleads/trafficTask', 'taskRecord'), component: _import('salesleads/trafficTask', 'taskRecord'),
meta: { meta: {
keepAlive: true, componentName: 'TaskRecord',
fromPath: ['/taskDetail'] fromPath: ['/taskDetail']
} }
...@@ -178,7 +178,7 @@ export const constantRouterMap = [ ...@@ -178,7 +178,7 @@ export const constantRouterMap = [
name: '门店视图', name: '门店视图',
component: _import('salesleads/groupSend', 'grStoreList'), component: _import('salesleads/groupSend', 'grStoreList'),
meta: { meta: {
keepAlive: true, componentName: 'grStoreList',
fromPath: ['/grStoreDetail/:id'] fromPath: ['/grStoreDetail/:id']
} }
}, },
...@@ -246,7 +246,7 @@ export const constantRouterMap = [ ...@@ -246,7 +246,7 @@ export const constantRouterMap = [
name: '客户分组设置', name: '客户分组设置',
component: _import('apps/customerApp', 'memberGroupSet'), component: _import('apps/customerApp', 'memberGroupSet'),
meta: { meta: {
keepAlive: true, componentName: 'memberGroupSet',
fromPath: ['/addGroupTemplate', '/editGroupTemplate', '/storeRangeSet'] fromPath: ['/addGroupTemplate', '/editGroupTemplate', '/storeRangeSet']
} }
}, },
...@@ -357,7 +357,7 @@ export const constantRouterMap = [ ...@@ -357,7 +357,7 @@ export const constantRouterMap = [
name: '月指标任务', name: '月指标任务',
component: _import('apps/quota', 'monthTask'), component: _import('apps/quota', 'monthTask'),
meta: { meta: {
keepAlive: true, componentName: 'monthTask',
fromPath: ['/monthTaskDetail'] fromPath: ['/monthTaskDetail']
} }
}, },
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
import MemberGroupList from './memberGroupList.vue'; import MemberGroupList from './memberGroupList.vue';
import MemberGroupSetList from './memberGroupSetList.vue'; import MemberGroupSetList from './memberGroupSetList.vue';
export default { export default {
name: 'app-detail', name: 'memberGroupSet',
components: { MemberGroupList, MemberGroupSetList }, components: { MemberGroupList, MemberGroupSetList },
props: { props: {
brandId: { brandId: {
......
...@@ -51,7 +51,7 @@ import { getRequest, postExcel } from '@/api/api'; ...@@ -51,7 +51,7 @@ import { getRequest, postExcel } from '@/api/api';
import { _debounce } from '@/common/js/public'; import { _debounce } from '@/common/js/public';
import errMsg from '@/common/js/error'; import errMsg from '@/common/js/error';
export default { export default {
name: 'reviewed', name: 'monthTask',
props: { props: {
brandId: { brandId: {
type: String, type: String,
......
...@@ -125,16 +125,8 @@ export default { ...@@ -125,16 +125,8 @@ export default {
}, },
mounted() { mounted() {
this.getData(); this.getData();
console.log('mounted');
}, },
activated() { activated() {
if (this.$route.meta.refresh) {
this.form = {
title: '',
pageSize: 20,
pageNum: 1
};
}
this.getData(); this.getData();
}, },
props: { props: {
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
<script> <script>
import salutatory from './salutatory.vue'; import salutatory from './salutatory.vue';
export default { export default {
name: 'salutatoryIndex',
components: { components: {
salutatory salutatory
}, },
......
...@@ -684,10 +684,7 @@ export default { ...@@ -684,10 +684,7 @@ export default {
type: 'success', type: 'success',
message: '保存成功!' message: '保存成功!'
}); });
if (!this.$route.query.id) { sessionStorage.setItem('activeName', para.type);
this.$route.meta.refresh = true;
}
this.$router.push('salutatory'); this.$router.push('salutatory');
} }
}) })
......
...@@ -443,7 +443,6 @@ export default { ...@@ -443,7 +443,6 @@ export default {
.then(res => { .then(res => {
setTimeout(() => { setTimeout(() => {
this.btnLoading = false; this.btnLoading = false;
this.$route.meta.refresh = true;
this.$router.go(-1); this.$router.go(-1);
}, 1000); }, 1000);
}) })
......
...@@ -136,6 +136,7 @@ const tableHead = [ ...@@ -136,6 +136,7 @@ const tableHead = [
} }
]; ];
export default { export default {
name: 'attractFlowLink',
data() { data() {
let tableMaxHeight = document.body.clientHeight - 285 + 'px'; let tableMaxHeight = document.body.clientHeight - 285 + 'px';
return { return {
...@@ -219,15 +220,6 @@ export default { ...@@ -219,15 +220,6 @@ export default {
this.getList(); this.getList();
}, },
activated() { activated() {
if (this.$route.meta.refresh) {
this.form = {
pageSize: 20,
pageNum: 1,
linkType: '',
searchParams: '',
dateRange: []
};
}
this.getList(); this.getList();
}, },
components: { components: {
......
...@@ -204,7 +204,7 @@ export default { ...@@ -204,7 +204,7 @@ export default {
z-index: 100; z-index: 100;
width: 236px; width: 236px;
height: 236px; height: 236px;
background-image: url('../../../../../assets/QRcode.png'); background-image: url('../../../../../assets/QRcode.jpg');
background-size: 236px auto; background-size: 236px auto;
} }
.leadingText { .leadingText {
......
...@@ -137,7 +137,6 @@ export default { ...@@ -137,7 +137,6 @@ export default {
guidePageSave(this.form) guidePageSave(this.form)
.then(_ => { .then(_ => {
this.$router.push('/ladingPageList'); this.$router.push('/ladingPageList');
this.$route.meta.refresh = true;
this.$message.success('保存成功'); this.$message.success('保存成功');
}) })
.finally(_ => { .finally(_ => {
......
...@@ -26,6 +26,7 @@ import relationDialog from './relationDialog'; ...@@ -26,6 +26,7 @@ import relationDialog from './relationDialog';
import { guidePageList, guidePageDel, guidePageRelation } from '@/api/actCode'; import { guidePageList, guidePageDel, guidePageRelation } from '@/api/actCode';
import { _debounce } from '@/common/js/public'; import { _debounce } from '@/common/js/public';
export default { export default {
name: 'ladingPageList',
data() { data() {
return { return {
form: { form: {
...@@ -115,14 +116,6 @@ export default { ...@@ -115,14 +116,6 @@ export default {
this.getList(); this.getList();
}, },
activated() { activated() {
if (this.$route.meta.refresh) {
this.form = {
pageSearchText: '',
dateRange: [],
pageSize: 20,
pageNum: 1
};
}
this.getList(); this.getList();
}, },
methods: { methods: {
......
...@@ -373,30 +373,11 @@ export default { ...@@ -373,30 +373,11 @@ export default {
}; };
}, },
created() { created() {
if (!this.$route.meta.keepAlive) { this.searchGroup();
this.getTableList(); this.getTableList();
this.searchGroup();
}
}, },
activated() { activated() {
if (this.$route.meta.refresh) { this.searchGroup();
this.inFields = {
hmSelect: '',
statusFlagInt: '',
storeSelect: '',
clerkSelect: '',
hmTypeInt: '',
startTime: '',
endTime: '',
orderByField: 'createTime desc',
hmGroupId: '-1'
};
this.pageParam = {
pageSize: 20,
pageNo: 1
};
}
this.getTableList(); this.getTableList();
}, },
methods: { methods: {
......
...@@ -75,16 +75,16 @@ export default { ...@@ -75,16 +75,16 @@ export default {
if (this.memberType == 1) { if (this.memberType == 1) {
this.form.clerkIdList = ['-1']; this.form.clerkIdList = ['-1'];
this.form.hmUserNum = this.hmMemberNum; this.form.hmUserNum = this.hmMemberNum;
} else {
this.form.clerkIdList = this.form.clerkList.map(el => el.clerkId);
} }
let obj = { let obj = {
...event, ...event,
...this.form ...this.form
}; };
obj.clerkIdList = obj.clerkList.map(el => el.clerkId);
postJsonRequest('/haoban-manage3-web/hm/qrcode/addList', obj).then(res => { postJsonRequest('/haoban-manage3-web/hm/qrcode/addList', obj).then(res => {
if (res.data.code == 0) { if (res.data.code == 0) {
setTimeout(() => { setTimeout(() => {
this.$route.meta.refresh = true;
this.$refs.setActCodePage.saveLoading = false; this.$refs.setActCodePage.saveLoading = false;
this.$router.go(-1); this.$router.go(-1);
}, 1000); }, 1000);
......
...@@ -100,19 +100,10 @@ export default { ...@@ -100,19 +100,10 @@ export default {
}; };
}, },
created() { created() {
if (!this.$route.meta.refresh) { this.searchGroup();
this.searchGroup();
}
}, },
activated() { activated() {
if (this.$route.meta.refresh) { this.searchGroup();
this.pageP = {
groupName: '',
pageNum: 1,
pageSize: 40
};
this.searchGroup();
}
}, },
methods: { methods: {
onSearch() { onSearch() {
......
...@@ -114,7 +114,6 @@ export default { ...@@ -114,7 +114,6 @@ export default {
postJsonRequest('/haoban-manage3-web/hm/qrcode/add', obj).then(res => { postJsonRequest('/haoban-manage3-web/hm/qrcode/add', obj).then(res => {
if (res.data.code == 0) { if (res.data.code == 0) {
setTimeout(() => { setTimeout(() => {
this.$route.meta.refresh = true;
this.$refs.setActCodePage.btnLoading = false; this.$refs.setActCodePage.btnLoading = false;
this.$refs.setActCodePage.saveLoading = false; this.$refs.setActCodePage.saveLoading = false;
this.$router.go(-1); this.$router.go(-1);
......
...@@ -93,7 +93,7 @@ import { getRequest, postExcel } from '@/api/api'; ...@@ -93,7 +93,7 @@ import { getRequest, postExcel } from '@/api/api';
import errMsg from '@/common/js/error'; import errMsg from '@/common/js/error';
import { _debounce } from '@/common/js/public'; import { _debounce } from '@/common/js/public';
export default { export default {
name: 'storeList', name: 'grStoreList',
props: { props: {
brandId: { brandId: {
type: String, type: String,
......
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