Commit fdfe2b68 by shaojiawen

Merge branch 'feature/act-code' of http://git.gicdev.com/office/haoban-3 into feature/act-code

parents 18ddf7e0 cdf140de
......@@ -322,6 +322,16 @@ module.exports = {
adminList: {
// 1.刷新(按钮)
refreshAdminList: ['刷新', 1, 2]
}
},
// 按钮名称、是否受权限控制0否1是、是否增删改0:跳转 1:增删改 2:其他、按钮跳转路径
actCode: {
addActCode: ['新建活码', 1, 0],
batchActCode: ['批量创建活码', 1, 0],
batchGroup: ['批量分组', 1, 1],
dataActCode: ['数据', 1, 0],
infoActCode: ['详情', 1, 0],
editActCode: ['编辑', 1, 1],
downActCode: ['下载活码', 1, 1],
delActCode: ['作废', 1, 1]
}
}
{"multipleAssign":"multipleAssign","assign":"assign","willSyncTag":"willSyncTag","breakSyncTag":"breakSyncTag","addShowRules":"addShowRules","editShowRules":"editShowRules","delShowRules":"delShowRules","groupExpire":"groupExpire","syncGroup":"syncGroup","addGroupTemp":"addGroupTemp","editGroupTemp":"editGroupTemp","setStoreArea":"setStoreArea","delGroupTemp":"delGroupTemp","searchSetSave":"searchSetSave","saveTrafficTaskSet":"saveTrafficTaskSet","addCard":"addCard","editCard":"editCard","delCard":"delCard","sendCardLog":"sendCardLog","getCardLog":"getCardLog","saveEvaluateSet":"saveEvaluateSet","addMaterialGroup":"addMaterialGroup","editMaterialGroup":"editMaterialGroup","delMaterialGroup":"delMaterialGroup","multipleDelAssets":"multipleDelAssets","multipleMoveAssets":"multipleMoveAssets","addText":"addText","editText":"editText","delText":"delText","textAssignStore":"textAssignStore","addImage":"addImage","editImage":"editImage","delImage":"delImage","imageAssignStore":"imageAssignStore","addWeb":"addWeb","editWeb":"editWeb","delWeb":"delWeb","webAssignStore":"webAssignStore","addVideo":"addVideo","editVideo":"editVideo","delVideo":"delVideo","videoAssignStore":"videoAssignStore","addFile":"addFile","editFile":"editFile","delFile":"delFile","fileAssignStore":"fileAssignStore","addApps":"addApps","editApps":"editApps","delApps":"delApps","appsAssignStore":"appsAssignStore","saveGoodsSet":"saveGoodsSet","exportActiveUser":"exportActiveUser","exportLoginUser":"exportLoginUser","exportAreaLoginUser":"exportAreaLoginUser","multipleDelReport":"multipleDelReport","exportReport":"exportReport","reportDetail":"reportDetail","multipleDelReportDetail":"multipleDelReportDetail","delReportDetail":"delReportDetail","showReportDetail":"showReportDetail","multipleExportReport":"multipleExportReport","saveTaskSet":"saveTaskSet","settingSystemReport":"settingSystemReport","saveSystemReport":"saveSystemReport","addCustomReport":"addCustomReport","copyCustomReport":"copyCustomReport","editCustomReport":"editCustomReport","delCustomReport":"delCustomReport","monthTarget":"monthTarget","dayTarget":"dayTarget","exportMonthTask":"exportMonthTask","checkMonthTask":"checkMonthTask","multipleDelTask":"multipleDelTask","delTask":"delTask","exportStoreList":"exportStoreList","checkStoreList":"checkStoreList","exportStoreDetail":"exportStoreDetail","checkStoreDetail":"checkStoreDetail","exportStoreDetailPop":"exportStoreDetailPop","previewStoreDetail":"previewStoreDetail","exportGrTaskList":"exportGrTaskList","checkGrTaskList":"checkGrTaskList","exportTaskRecord":"exportTaskRecord","multipleDelTaskRecord":"multipleDelTaskRecord","checkTaskRecord":"checkTaskRecord","exportTaskDetail":"exportTaskDetail","multipleDelTaskDetail":"multipleDelTaskDetail","delTaskDetail":"delTaskDetail","resolveTaskDetail":"resolveTaskDetail","previewTaskDetail":"previewTaskDetail","exportTaskView":"exportTaskView","multipleDelTaskView":"multipleDelTaskView","checkTaskView":"checkTaskView","exportTaskViewDetail":"exportTaskViewDetail","multipleDelTaskViewDetail":"multipleDelTaskViewDetail","checkTaskDetail":"checkTaskDetail","addSalutatory":"addSalutatory","editSalutatory":"editSalutatory","delSalutatory":"delSalutatory","multipleResolve":"multipleResolve","singleResolve":"singleResolve","singleReject":"singleReject","saveApplySetting":"saveApplySetting","refreshStoreMember":"refreshStoreMember","exportContact":"exportContact","checkContactDetail":"checkContactDetail","checkContactMemberDetail":"checkContactMemberDetail","checkLog":"checkLog","saveGuideSetting":"saveGuideSetting","saveAppsVisible":"saveAppsVisible","refreshStoreInfo":"refreshStoreInfo","saveMemberSecret":"saveMemberSecret","addMemberAppsSecret":"addMemberAppsSecret","editMemberAppsSecret":"editMemberAppsSecret","delMemberAppsSecret":"delMemberAppsSecret","addAppsSecret":"addAppsSecret","getAppsSecret":"getAppsSecret","editAppsSecret":"editAppsSecret","delAppsSecret":"delAppsSecret","checkAuth":"checkAuth","bindStoreList":"bindStoreList","refreshStore":"refreshStore","refreshAdminList":"refreshAdminList"}
\ No newline at end of file
{"multipleAssign":"multipleAssign","assign":"assign","willSyncTag":"willSyncTag","breakSyncTag":"breakSyncTag","addShowRules":"addShowRules","editShowRules":"editShowRules","delShowRules":"delShowRules","groupExpire":"groupExpire","syncGroup":"syncGroup","addGroupTemp":"addGroupTemp","editGroupTemp":"editGroupTemp","setStoreArea":"setStoreArea","delGroupTemp":"delGroupTemp","searchSetSave":"searchSetSave","saveTrafficTaskSet":"saveTrafficTaskSet","addCard":"addCard","editCard":"editCard","delCard":"delCard","sendCardLog":"sendCardLog","getCardLog":"getCardLog","saveEvaluateSet":"saveEvaluateSet","addMaterialGroup":"addMaterialGroup","editMaterialGroup":"editMaterialGroup","delMaterialGroup":"delMaterialGroup","multipleDelAssets":"multipleDelAssets","multipleMoveAssets":"multipleMoveAssets","addText":"addText","editText":"editText","delText":"delText","textAssignStore":"textAssignStore","addImage":"addImage","editImage":"editImage","delImage":"delImage","imageAssignStore":"imageAssignStore","addWeb":"addWeb","editWeb":"editWeb","delWeb":"delWeb","webAssignStore":"webAssignStore","addVideo":"addVideo","editVideo":"editVideo","delVideo":"delVideo","videoAssignStore":"videoAssignStore","addFile":"addFile","editFile":"editFile","delFile":"delFile","fileAssignStore":"fileAssignStore","addApps":"addApps","editApps":"editApps","delApps":"delApps","appsAssignStore":"appsAssignStore","saveGoodsSet":"saveGoodsSet","exportActiveUser":"exportActiveUser","exportLoginUser":"exportLoginUser","exportAreaLoginUser":"exportAreaLoginUser","multipleDelReport":"multipleDelReport","exportReport":"exportReport","reportDetail":"reportDetail","multipleDelReportDetail":"multipleDelReportDetail","delReportDetail":"delReportDetail","showReportDetail":"showReportDetail","multipleExportReport":"multipleExportReport","saveTaskSet":"saveTaskSet","settingSystemReport":"settingSystemReport","saveSystemReport":"saveSystemReport","addCustomReport":"addCustomReport","copyCustomReport":"copyCustomReport","editCustomReport":"editCustomReport","delCustomReport":"delCustomReport","monthTarget":"monthTarget","dayTarget":"dayTarget","exportMonthTask":"exportMonthTask","checkMonthTask":"checkMonthTask","multipleDelTask":"multipleDelTask","delTask":"delTask","exportStoreList":"exportStoreList","checkStoreList":"checkStoreList","exportStoreDetail":"exportStoreDetail","checkStoreDetail":"checkStoreDetail","exportStoreDetailPop":"exportStoreDetailPop","previewStoreDetail":"previewStoreDetail","exportGrTaskList":"exportGrTaskList","checkGrTaskList":"checkGrTaskList","exportTaskRecord":"exportTaskRecord","multipleDelTaskRecord":"multipleDelTaskRecord","checkTaskRecord":"checkTaskRecord","exportTaskDetail":"exportTaskDetail","multipleDelTaskDetail":"multipleDelTaskDetail","delTaskDetail":"delTaskDetail","resolveTaskDetail":"resolveTaskDetail","previewTaskDetail":"previewTaskDetail","exportTaskView":"exportTaskView","multipleDelTaskView":"multipleDelTaskView","checkTaskView":"checkTaskView","exportTaskViewDetail":"exportTaskViewDetail","multipleDelTaskViewDetail":"multipleDelTaskViewDetail","checkTaskDetail":"checkTaskDetail","addSalutatory":"addSalutatory","editSalutatory":"editSalutatory","delSalutatory":"delSalutatory","multipleResolve":"multipleResolve","singleResolve":"singleResolve","singleReject":"singleReject","saveApplySetting":"saveApplySetting","refreshStoreMember":"refreshStoreMember","exportContact":"exportContact","checkContactDetail":"checkContactDetail","checkContactMemberDetail":"checkContactMemberDetail","checkLog":"checkLog","saveGuideSetting":"saveGuideSetting","saveAppsVisible":"saveAppsVisible","refreshStoreInfo":"refreshStoreInfo","saveMemberSecret":"saveMemberSecret","addMemberAppsSecret":"addMemberAppsSecret","editMemberAppsSecret":"editMemberAppsSecret","delMemberAppsSecret":"delMemberAppsSecret","addAppsSecret":"addAppsSecret","getAppsSecret":"getAppsSecret","editAppsSecret":"editAppsSecret","delAppsSecret":"delAppsSecret","checkAuth":"checkAuth","bindStoreList":"bindStoreList","refreshStore":"refreshStore","refreshAdminList":"refreshAdminList","addActCode":"addActCode","batchActCode":"batchActCode","batchGroup":"batchGroup","dataActCode":"dataActCode","infoActCode":"infoActCode","editActCode":"editActCode","downActCode":"downActCode","delActCode":"delActCode"}
\ No newline at end of file
......@@ -91,14 +91,14 @@ Vue.axios.interceptors.response.use(
return data;
},
err => {
// if (err.response.status == 502) {
// window.location.href = gicHost + '/gic-web/#/login?ishb=1';
// Message.error({ message: '服务异常⊙﹏⊙∥' });
// }
// if (err.response.status != 403) {
// window.location.href = gicHost + '/gic-web/#/login?ishb=1';
// Message.error({ message: '登录失效!' });
// }
if (err.response.status == 502) {
window.location.href = gicHost + '/gic-web/#/login?ishb=1';
Message.error({ message: '服务异常⊙﹏⊙∥' });
}
if (err.response.status != 403) {
window.location.href = gicHost + '/gic-web/#/login?ishb=1';
Message.error({ message: '登录失效!' });
}
return Promise.resolve(err);
}
);
......
......@@ -8,9 +8,9 @@
<!-- 页面内容 -->
<!-- <router-view v-if="activeBrand" :brandId="activeBrand" :activeGroupId="activeGroup" :tabType="activeTab" @showTab="showTab"></router-view> -->
<keep-alive>
<router-view :brand-id="enterpriseId" v-if="$route.meta.keepAlive"></router-view>
<router-view :brand-id="enterpriseId" :key="$route.path" v-if="$route.meta.keepAlive"></router-view>
</keep-alive>
<router-view v-if="!$route.meta.keepAlive" :brand-id="enterpriseId"></router-view>
<router-view v-if="!$route.meta.keepAlive" :key="$route.path" :brand-id="enterpriseId"></router-view>
</div>
</div>
</div>
......
......@@ -4,7 +4,11 @@ const staffActCodeRouter = [
{
path: '/staffActCode',
name: '员工活码',
component: _import('salesleads/actCodeManage/staffActCode', 'index')
component: _import('salesleads/actCodeManage/staffActCode', 'index'),
meta: {
keepAlive: true,
fromPath: ['/actCodeAdd', '/actCodeEdit', '/actCodeBatch', '/actCodeDetail']
}
},
{
path: '/actCodeRecord',
......@@ -13,7 +17,12 @@ const staffActCodeRouter = [
},
{
path: '/actCodeDetail',
name: '活码详情',
name: '活码详情-数据',
component: _import('salesleads/actCodeManage/staffActCode', 'actCodeDetail')
},
{
path: '/actCodeDetails',
name: '活码详情-详情',
component: _import('salesleads/actCodeManage/staffActCode', 'actCodeDetail')
},
{
......
......@@ -248,7 +248,7 @@ export default {
this.welcomeId = item.welcomeId;
},
goLinkDetail(row) {
console.log(row);
this.dialogVisible = false;
if (row.type == 2) {
this.$router.push('/actCodeDetail?hmId=' + row.referId);
} else {
......
<template>
<div class="p-20">
<div class="p-20" v-loading="loading">
<el-form label-width="100px" :model="form" size="small" :rules="rules" ref="form">
<dm-sub-title type="line">基础信息</dm-sub-title>
<div class="section">
......@@ -102,7 +102,7 @@
</div>
<dm-sub-title type="line">欢迎语设置</dm-sub-title>
<div class="section">
<welcomeItem @getWelcomeId="getWelcomeId" :welcomeIdP="form.welcomeId" ref="welcomeItem" :welcomeType="link"></welcomeItem>
<welcomeItem :welcomeId.sync="form.welcomeId" :welcomeType.sync="welcomeType" ref="welcomeItem" welcomeName="link"></welcomeItem>
</div>
<dm-sub-title type="line">落地页配置</dm-sub-title>
<div class="section flex" style="margin-bottom: 40px;">
......@@ -162,8 +162,9 @@ export default {
pageNum: 1,
pageSize: 20
},
link: 'link',
welcomeType: 1,
landingLoading: false,
loading: false,
landingData: [],
total: 0,
landingForm: {},
......@@ -264,25 +265,33 @@ export default {
});
},
getDetail() {
linkDetail({ linkId: this.$route.params.id }).then(res => {
const { result } = res.data;
if (result) {
const { link, page } = result;
link.customRuleJson = JSON.parse(link.customRuleJson);
link.storeRuleJson = JSON.parse(link.storeRuleJson);
link.storeList = link.storeList ? link.storeList : [];
this.form = link;
this.landingForm = page;
this.getStoreList();
}
console.log(result);
});
this.loading = true;
linkDetail({ linkId: this.$route.params.id })
.then(res => {
const { result } = res.data;
if (result) {
const { link, page } = result;
link.customRuleJson = JSON.parse(link.customRuleJson);
link.storeRuleJson = JSON.parse(link.storeRuleJson);
link.storeList = link.storeList ? link.storeList : [];
this.form = link;
if (!this.form.welcomeId) {
this.welcomeType = 2;
}
this.landingForm = page;
this.getStoreList();
}
})
.finally(_ => {
this.loading = false;
});
},
saveTagPop(data) {
const { tagItemId, tagItemName } = data;
this.form.memberLabelName = tagItemName;
this.form.memberLabelId = tagItemId;
this.form.memberLabelStatus = 1;
this.$refs.form.validateField('memberLabelId');
},
handleTagCloseTag() {
this.form.memberLabelName = '';
......@@ -293,9 +302,7 @@ export default {
this.form.storeList = val;
this.$refs.form.validateField('storeList');
},
getWelcomeId(e) {
this.form.welcomeId = e;
},
getList() {
this.landingLoading = true;
guidePageList(this.landingPage)
......@@ -353,6 +360,9 @@ export default {
data.storeRuleJson = JSON.stringify(data.storeRuleJson);
data.customRuleJson = JSON.stringify(data.customRuleJson);
data.wxEnterpriseId = this.wxEnterpriseId;
if (this.welcomeType == 2) {
data.welcomeId = '';
}
delete data.memberLabelStatus;
this.$refs.form.validate(val => {
if (!val) {
......
......@@ -11,7 +11,7 @@
<div class="flex flex-space-between m-b-16">
<div class="flex flex-align-center">
<el-input placeholder="请输入模板ID/名称、创建人" class="w-260" v-model="form.searchParams" @keyup.native="value => toInput(value, searchInput)" clearable @clear="getList"> <i slot="prefix" class="el-input__icon el-icon-search"></i> </el-input>
<el-input placeholder="请输入链接ID/名称、创建人" class="w-260" v-model="form.searchParams" @keyup.native="value => toInput(value, searchInput)" clearable @clear="getList"> <i slot="prefix" class="el-input__icon el-icon-search"></i> </el-input>
<el-select class="m-l-10 w-160" v-model="form.linkType" placeholder="全部类型" @change="getList" clearable @clear="clear">
<el-option v-for="item in options" :key="item.key" :label="item.label" :value="item.key"> </el-option>
</el-select>
......@@ -92,11 +92,11 @@ const tableHead = [
},
{
label: '今日点击人次',
prop: 'clickNum',
prop: 'clickTimes',
width: '130',
sortable: 'custom',
formatter: function(row) {
return `<span>${row.clickNum ? row.clickNum : '- -'}</span>`;
return `<span>${row.clickTimes ? row.clickTimes : '- -'}</span>`;
}
},
{
......
......@@ -25,7 +25,7 @@
</div>
</div>
</div>
<div class="fixed-tab" v-if="scrollTop > 300">
<div class="fixed-tab" v-if="scrollTop >= fixedHeight">
<el-tabs v-model="activeName" type="card">
<el-tab-pane label="详情信息" name="first"> <div></div> </el-tab-pane>
<el-tab-pane label="数据统计" name="second">
......@@ -76,7 +76,7 @@
<ul class="datebox" v-for="(lis, index) in dateLis" :key="lis.key">
<li :class="dateKey == index ? 'activeClass' : 'noActive'" class="dateLisBox" @click="btnChange(index)">{{ lis.value }}</li>
</ul>
<el-date-picker class="w256" v-model="dateDefault" type="daterange" range-separator="~" start-placeholder="创建开始日期" end-placeholder="创建结束日期" :default-time="['00:00:00', '23:59:59']" :picker-options="pickerOptions()" @change="onDateChange" value-format="yyyy-MM-dd"> </el-date-picker>
<el-date-picker class="w256" v-model="dateDefault" type="daterange" range-separator="~" start-placeholder="创建开始日期" end-placeholder="创建结束日期" :default-time="['00:00:00', '23:59:59']" :picker-options="pickerOptions()" @change="onDateChange" value-format="yyyy-MM-dd" :clearable="false"> </el-date-picker>
</div>
</div>
<new-add-chart :charData="charData" id="new-add-chart" style="margin-top:26px"></new-add-chart>
......@@ -115,6 +115,7 @@ export default {
mixins: [mixin],
data() {
return {
fixedHeight: 280,
filters,
statisticsClerk,
loading: false,
......@@ -195,6 +196,21 @@ export default {
statisticsChart(para).then(res => {
const { result } = res.data;
this.charData = result;
// this.charData = [
// { addNum: 1, bizDate: '2021-07', clickNum: 3, clickTimes: 0 },
// { addNum: 2, bizDate: '2021-08', clickNum: 30, clickTimes: 10 },
// { addNum: 3, bizDate: '2021-09', clickNum: 40, clickTimes: 0 },
// { addNum: 4, bizDate: '2021-10', clickNum: 3, clickTimes: 40 },
// { addNum: 5, bizDate: '2021-11', clickNum: 3, clickTimes: 0 },
// { addNum: 6, bizDate: '2021-12', clickNum: 3, clickTimes: 20 },
// { addNum: 0, bizDate: '2022-01', clickNum: 30, clickTimes: 20 },
// { addNum: 6, bizDate: '2022-02', clickNum: 30, clickTimes: 0 },
// { addNum: 4, bizDate: '2022-03', clickNum: 20, clickTimes: 30 },
// { addNum: 4, bizDate: '2022-04', clickNum: 203, clickTimes: 0 },
// { addNum: 4, bizDate: '2022-05', clickNum: 20, clickTimes: 10 },
// { addNum: 4, bizDate: '2022-06', clickNum: 20, clickTimes: 0 },
// { addNum: 4, bizDate: '2022-07', clickNum: 10, clickTimes: 10 }
// ];
});
},
statisticsTotal() {
......@@ -261,6 +277,7 @@ export default {
this.getDetail();
this.getChartList();
this.statisticsTotal();
this.btnChange(0);
document.getElementById('hb-layout-pager-one').addEventListener('scroll', this.scrollMethod);
},
destroyed() {
......@@ -277,11 +294,12 @@ export default {
.fixed-tab {
position: absolute;
top: 80px;
top: 110px;
z-index: 1;
padding-bottom: 0;
height: 40px;
background: white;
width: calc(100% - 180px);
}
.welcome-left-view {
width: 639px;
......
......@@ -21,7 +21,7 @@
<span class="pageTitle">{{ card.pageTitle }}</span>
<img src="@/assets/iphone-head.png" />
<div class="content">
<img :src="card.pageBackgroudImg" v-show="card.pageBackgroudImg" class="bgImg" />
<img :src="card.pageBackgroundImg" v-show="card.pageBackgroundImg" class="bgImg" />
<div class="enterpriseInfo">
<div class="logo">
<img :src="card.merchantLogo" />
......@@ -52,7 +52,7 @@ export default {
merchantName: '',
merchantPhoneNumber: '',
merchantLogo: '',
pageBackgroudImg: '',
pageBackgroundImg: '',
guideComment: ''
}
};
......@@ -68,8 +68,8 @@ export default {
content: {
handler(val) {
if (val) {
const { pageName, pageCode, pageId, pageTitle, merchantName, merchantPhoneNumber, merchantLogo, pageBackgroudImg, guideComment, createorName, createTime } = val;
this.card = { pageName, pageCode, pageId, pageTitle, merchantName, merchantPhoneNumber, merchantLogo, pageBackgroudImg, guideComment, createorName, createTime };
const { pageName, pageCode, pageId, pageTitle, merchantName, merchantPhoneNumber, merchantLogo, pageBackgroundImg, guideComment, createorName, createTime } = val;
this.card = { pageName, pageCode, pageId, pageTitle, merchantName, merchantPhoneNumber, merchantLogo, pageBackgroundImg, guideComment, createorName, createTime };
}
},
immediate: true
......
<template>
<div>
<div class="daily-set-content">
<div class="daily-set-content" v-loading="loading">
<el-form label-width="100px" ref="form" :model="form" :rules="rules" class="form">
<el-form-item label="模板名称" prop="pageName" required>
<el-form-item label="模板名称" prop="pageName">
<el-input show-word-limit placeholder="请输入模板名称" type="text" v-model="form.pageName" maxlength="20" class="w-340"></el-input>
</el-form-item>
<el-form-item label="页面标题" prop="pageTitle">
......@@ -33,7 +33,7 @@
</div>
</div>
<div class="footBtn">
<el-button type="primary" @click="save">保存</el-button>
<el-button type="primary" @click="save" :loading="btnLoading">保存</el-button>
</div>
</div>
</template>
......@@ -77,8 +77,10 @@ export default {
isEdit: this.$route.meta.type == 'edit',
isAdd: this.$route.meta.type == 'add',
loading: false,
btnLoading: false,
rules: {
merchantPhoneNumber: [{ validator: merchantPhoneNumberVal }]
merchantPhoneNumber: [{ validator: merchantPhoneNumberVal }],
pageName: [{ required: true, message: '请输入模板名称' }]
}
};
},
......@@ -92,12 +94,17 @@ export default {
methods: {
getDetail() {
console.log(this.$route);
guidePageDetail({ pageId: this.$route.params.id }).then(res => {
if (res.data.result) {
const result = res.data.result;
this.form = result;
}
});
this.loading = true;
guidePageDetail({ pageId: this.$route.params.id })
.then(res => {
if (res.data.result) {
const result = res.data.result;
this.form = result;
}
})
.finally(_ => {
this.loading = false;
});
},
getEchoEnterpriseInfo() {
wxEnterpriseList({}).then(res => {
......@@ -111,18 +118,18 @@ export default {
});
},
guidePageEdit() {
this.loading = true;
this.btnLoading = true;
guidePageEdit(this.form)
.then(_ => {
this.$router.go(-1);
this.$message.success('保存成功');
})
.finally(_ => {
this.loading = false;
this.btnLoading = false;
});
},
guidePageSave() {
this.loading = true;
this.btnLoading = true;
guidePageSave(this.form)
.then(_ => {
this.$router.go(-1);
......@@ -130,7 +137,7 @@ export default {
this.$message.success('保存成功');
})
.finally(_ => {
this.loading = false;
this.btnLoading = false;
});
},
save() {
......
......@@ -37,6 +37,7 @@ export default {
loading: false,
total: 0,
pageId: '',
dialogVisible: false,
list: [
{
pageName: '模板名称模板名称模板名称模板名称模板',
......@@ -197,7 +198,7 @@ export default {
this.$router.push(`/ladingPageEdit/${item.pageId}`);
},
goLinkDetail(referId) {
console.log(referId);
this.dialogVisible = false;
this.$router.push(`/attractFlowLinkInfo/${referId}`);
}
}
......
......@@ -60,6 +60,86 @@ export default {
{ name: '今日点击人数', value: 'clickNum', marker: { symbol: 'line', style: { stroke: '#14C9C9', lineWidth: 12, lineHeight: 8 } } }
]
});
//坐标轴配置(法一配置)
this.chart.axis('bizDate', {
line: {
style: {
stroke: '#606266',
lineDash: [3, 3]
}
},
tickLine: {
style: {
fill: '#E4E7ED',
lineDash: [3, 3]
}
},
label: {
style: {
fill: '#606266'
}
}
});
this.chart.axis('addNum', {
grid: {
line: {
type: 'line',
style: {
stroke: '#E4E7ED',
lineDash: [3, 3]
}
}
},
label: {
style: {
fill: '#606266'
},
formatter: val => {
// 格式化参数值
return val;
}
}
});
this.chart.axis('clickTimes', {
grid: {
line: {
type: 'line',
style: {
stroke: '#E4E7ED',
lineDash: [3, 3]
}
}
},
label: {
style: {
fill: '#606266'
},
formatter: val => {
// 格式化参数值
return val;
}
}
});
this.chart.axis('clickNum', {
grid: {
line: {
type: 'line',
style: {
stroke: '#E4E7ED',
lineDash: [3, 3]
}
}
},
label: {
style: {
fill: '#606266'
},
formatter: val => {
// 格式化参数值
return val;
}
}
});
this.chart.tooltip({
showCrosshairs: true,
shared: true,
......
......@@ -49,9 +49,11 @@
</el-tabs>
</div>
<el-tabs v-model="activeName" type="card">
<!-- <el-tab-pane label="详情信息" name="first" v-if="$getButtonLimit($buttonCode.infoActCode)" :limit-code="$buttonCode.infoActCode"> -->
<el-tab-pane label="详情信息" name="first">
<act-code-detail-info :enterprise-id="codeInfo.enterpriseId" :welcome-id="codeInfo.welcomeId" :hm-id="$route.query.hmId" @useMemberList="useMemberData"></act-code-detail-info>
</el-tab-pane>
<!-- <el-tab-pane label="数据统计" name="second" v-if="$getButtonLimit($buttonCode.dataActCode)" :limit-code="$buttonCode.dataActCode"> -->
<el-tab-pane label="数据统计" name="second">
<act-code-detail-statistics :hm-id="$route.query.hmId"></act-code-detail-statistics>
</el-tab-pane>
......
......@@ -40,7 +40,7 @@
<ul class="datebox" v-for="(lis, index) in dateLis" :key="lis.key">
<li :class="dateKey == index ? 'activeClass' : 'noActive'" class="dateLisBox" @click="btnChange(index)">{{ lis.value }}</li>
</ul>
<el-date-picker class="w256" v-model="dateDefault" type="daterange" range-separator="~" start-placeholder="创建开始日期" end-placeholder="创建结束日期" :default-time="['00:00:00', '23:59:59']" :picker-options="pickerOptions()" @change="onDateChange" value-format="yyyy-MM-dd"> </el-date-picker>
<el-date-picker class="w256" v-model="dateDefault" type="daterange" range-separator="~" start-placeholder="创建开始日期" end-placeholder="创建结束日期" :default-time="['00:00:00', '23:59:59']" :picker-options="pickerOptions()" @change="onDateChange" value-format="yyyy-MM-dd" :clearable="false"> </el-date-picker>
</div>
</div>
<new-add-chart :charData="overViewData.dateList" id="new-add-chart"></new-add-chart>
......
......@@ -9,12 +9,12 @@
<el-form-item>
<el-select v-model="storeSelect" placeholder="请选择" style="width: 128px" @change="storeMemberSe">
<el-option label="成员所属门店" :value="1"></el-option>
<el-option label="使用成员" :value="2"></el-option>
<el-option label="关联导购" :value="2"></el-option>
</el-select>
<el-select v-model="inFields.storeSelect" v-if="storeSelect == 1" filterable remote placeholder="请输入门店名称/code" :remote-method="remoteMethods" :loading="selectLoading" v-loadmore="onLoadmoreStore" @change="searchList" style="margin-left: -4px; width:196px;">
<el-select v-model="inFields.storeSelect" v-if="storeSelect == 1" filterable remote placeholder="请输入门店名称/code" :remote-method="remoteMethods" :loading="selectLoading" v-loadmore="onLoadmoreStore" @change="searchList" style="margin-left: -4px; width:196px;" clearable>
<el-option v-for="item in shopList" :key="item.storeId" :label="item.storeName" :value="item.storeId"> </el-option>
</el-select>
<el-select v-model="inFields.clerkSelect" v-if="storeSelect == 2" filterable remote placeholder="请输入成员名称/code" :loading="selectLoading" @change="searchList" style="margin-left: -4px; width:196px;">
<el-select v-model="inFields.clerkSelect" v-if="storeSelect == 2" filterable remote placeholder="请输入成员名称/code" :loading="selectLoading" @change="searchList" style="margin-left: -4px; width:196px;" clearable>
<el-option v-for="item in memberList" :key="item.clerkId" :label="item.clerkName" :value="item.clerkId"> </el-option>
</el-select>
</el-form-item>
......@@ -36,6 +36,9 @@
<el-date-picker v-model="dateTime" @change="searchList" :picker-options="pickerOptions" :editable="false" :value-format="'yyyy-MM-dd HH:mm:ss'" type="datetimerange" align="right" unlink-panels range-separator="至" start-placeholder="创建开始日期" end-placeholder="创建结束日期"> </el-date-picker>
</el-form-item>
<el-form-item class="frmbt20">
<!-- <el-button @click="batchGoupEvent" v-if="$getButtonLimit($buttonCode.batchGroup)" :limit-code="$buttonCode.batchGroup">批量分组</el-button>
<el-button class="ghost-btn " @click="$router.push('/actCodeBatch')" v-if="$getButtonLimit($buttonCode.batchActCode)" :limit-code="$buttonCode.batchActCode">批量创建活码</el-button>
<el-button type="primary" @click="$router.push('/actCodeAdd')" v-if="$getButtonLimit($buttonCode.addActCode)" :limit-code="$buttonCode.addActCode">新增活码</el-button> -->
<el-button @click="batchGoupEvent">批量分组</el-button>
<el-button class="ghost-btn " @click="$router.push('/actCodeBatch')">批量创建活码</el-button>
<el-button type="primary" @click="$router.push('/actCodeAdd')">新增活码</el-button>
......@@ -76,7 +79,7 @@
<p>{{ row.addNumT == null ? row.addNumT : '--' }}</p>
</template>
</el-table-column>
<el-table-column label="使用成员" width="120" show-overflow-tooltip>
<el-table-column label="关联导购" width="120" show-overflow-tooltip>
<template slot-scope="{ row }">
<p>{{ row.clerkName ? row.clerkName : '--' }}</p>
<p class="ft-12 phone">{{ row.clerkCode ? row.clerkCode : '--' }}</p>
......@@ -215,21 +218,30 @@ export default {
operateBtnArr: [
{
text: '数据',
visible: true,
visible: row => {
// if (this.$getButtonLimit(this.$buttonCode.dataActCode)) {
return true;
// }
},
handler: row => {
this.$router.push(`/actCodeDetail?hmId=${row.hmId}&activeName=second`);
}
},
{
text: '详情',
visible: true,
visible: row => {
// if (this.$getButtonLimit(this.$buttonCode.infoActCode)) {
return true;
// }
},
handler: row => {
this.$router.push('/actCodeDetail?hmId=' + row.hmId);
this.$router.push('/actCodeDetails?hmId=' + row.hmId);
}
},
{
text: '编辑',
visible: row => {
// if (!this.$getButtonLimit(this.$buttonCode.editActCode) || row.statusFlag == 2) {
if (row.statusFlag == 2) {
return false;
} else {
......@@ -243,6 +255,7 @@ export default {
{
text: '下载活码',
visible: row => {
// if (!this.$getButtonLimit(this.$buttonCode.downActCode) || row.hmType == 1 || row.statusFlag != 1) {
if (row.hmType == 1 || row.statusFlag != 1) {
return false;
} else {
......@@ -258,6 +271,7 @@ export default {
{
text: '作废',
visible: row => {
// if (this.$getButtonLimit(this.$buttonCode.delActCode) && row.statusFlag != 2) {
if (row.statusFlag != 2) {
return true;
}
......@@ -320,6 +334,26 @@ export default {
this.getStraff();
this.getStore();
},
activated() {
if (this.$route.meta.refresh) {
this.inFields = {
hmSelect: '',
statusFlagInt: '',
storeSelect: '',
clerkSelect: '',
hmTypeInt: '',
startTime: '',
endTime: '',
orderByField: 'createTime desc',
hmGroupId: ''
};
this.pageParam = {
pageSize: 20,
pageNo: 1
};
}
this.getTableList();
},
methods: {
storeMemberSe(e) {
if (e == 1) {
......@@ -491,11 +525,11 @@ export default {
watch: {
currentGroupId: {
handler: function(val) {
// if (val != null) {
this.currentGroupId = val;
this.pageParam.pageNo = 1;
this.getTableList();
// }
if (val) {
this.currentGroupId = val;
this.pageParam.pageNo = 1;
this.getTableList();
}
},
immediate: true
}
......
......@@ -9,7 +9,7 @@
</el-form-item>
</template>
<template #member>
<el-form-item label="使用成员" :rules="[{ required: true, message: '请选择使用成员', trigger: 'blur' }]">
<el-form-item label="关联导购" :rules="[{ required: true, message: '请选择使用成员', trigger: 'blur' }]">
<el-radio-group v-model="memberType" @change="radioChange">
<el-radio :label="1">全部成员</el-radio>
<el-radio :label="2">部分成员</el-radio>
......@@ -79,6 +79,7 @@ export default {
await postJsonRequest('/haoban-manage3-web/hm/qrcode/addList', obj).then(res => {
if (res.data.code == 0) {
setTimeout(() => {
this.$route.meta.refresh = true;
this.$router.go(-1);
this.form = {
hmType: 1,
......
......@@ -15,7 +15,7 @@
</el-form-item>
</template>
<template #member>
<el-form-item label="使用成员" :rules="[{ required: true, message: '请选择使用成员', trigger: 'blur' }]">
<el-form-item label="关联导购" :rules="[{ required: true, message: '请选择使用成员', trigger: 'blur' }]">
<p class="tabs" v-if="form.hmType == 1">单人活码仅可选择一名成员</p>
<p class="tabs" v-if="form.hmType == 2">若选择多名成员,则随机分配企微员工</p>
<select-clerk :multiple="multiple" :data="data" @change="onChange" :disabled="clerkDisabled"></select-clerk>
......@@ -128,6 +128,7 @@ export default {
await postJsonRequest('/haoban-manage3-web/hm/qrcode/add', obj).then(res => {
if (res.data.code == 0) {
setTimeout(() => {
this.$route.meta.refresh = true;
this.$router.go(-1);
this.form = {
hmType: 1,
......
......@@ -17,14 +17,13 @@
</el-form-item>
<el-form-item label="活码标签" prop="memberLabelId" class="memberTag-form-item">
<el-button v-if="!form.memberLabelId || !form.memberLabelName" plain class="ylbtn" @click="tagsDialogVisible = true"><i class="iconfont-components3 icon-cp-PlusOutlined addPic"></i>添加标签</el-button>
<!-- <el-tag v-else closable @close="handleTagCloseTag">{{ form.memberLabelName }}</el-tag> -->
<el-tooltip :disabled="form.memberLabelStatus != 0" content="已删除" placement="top" v-else>
<el-tag closable @close="handleTagCloseTag" :type="isEdit && form.memberLabelStatus == 0 ? 'warning' : ''">{{ form.memberLabelName }}</el-tag>
</el-tooltip>
<dm-memberTag-group isHb :visiable.sync="tagsDialogVisible" projectName="haobao-3" @save="saveTagPop"></dm-memberTag-group>
</el-form-item>
<dm-sub-title text="欢迎语设置" type="line" class="mt40b20" />
<welcomeItem @getWelcomeId="getWelcomeId" :welcomeIdP="form.welcomeId" ref="welcomeItem" :welcomeSetType="welcomeSetType"></welcomeItem>
<welcomeItem @getWelcomeId="getWelcomeId" :welcomeId.sync="form.welcomeId" ref="welcomeItem" :welcomeType.sync="welcomeType" welcomeName="code"></welcomeItem>
</el-form>
</div>
<div class="saveBtn">
......@@ -60,7 +59,7 @@ export default {
},
data() {
return {
welcomeSetType: 1,
welcomeType: 1,
form: {
// hmType: 1, //1单人 2多人
// name: '', // 名称
......@@ -162,9 +161,9 @@ export default {
});
return;
}
// if (!this.$refs.welcomeItem.submit()) {
// return;
// }
if (this.welcomeType == 2) {
this.form.welcomeId = '';
}
this.$refs.form.validate(async valid => {
if (valid) {
this.form.passFlag = this.form.passFlag ? 1 : 0;
......@@ -177,16 +176,20 @@ export default {
actCodeData: {
handler: function(val) {
if (val) {
this.welcomeSetType = 2;
this.form.hmGroupId = val.hmGroupId;
// this.form.passFlag = val.passFlag == 1 ? true : false;
this.form.memberLabelId = val.memberLabelId ? val.memberLabelId : '';
this.form.memberLabelName = val.memberLabelName ? val.memberLabelName : '';
this.form.welcomeId = val.welcomeId;
if (this.form.welcomeId) {
this.welcomeType = 1;
} else {
this.welcomeType = 2;
}
}
},
immediate: true,
deep: true
}
// immediate: true,
// deep: true
}
}
};
......
......@@ -34,7 +34,7 @@
<div v-if="type == 'actCode'">
<div class="title flex">
<div class="blue-block"></div>
<span class="font-w-500 color-303133">使用成员</span>
<span class="font-w-500 color-303133">关联导购</span>
</div>
<el-table ref="useMemberTableRef" v-loading="loading" :data="useMemberData" tooltip-effect="dark">
<el-table-column prop="" label="导购信息" show-overflow-tooltip min-width="185px">
......
......@@ -10,7 +10,7 @@
<ul class="datebox" v-for="(lis, index) in dateLis" :key="lis.key">
<li :class="active == index ? 'activeClass' : 'noActive'" class="dateLisBox" @click="btnChange(index)">{{ lis.value }}</li>
</ul>
<el-date-picker class="w256" v-model="dateDefault" type="daterange" range-separator="~" start-placeholder="创建开始日期" end-placeholder="创建结束日期" :default-time="['00:00:00', '23:59:59']" value-format="yyyy-MM-dd" :picker-options="pickerOptions()" @change="onDateChange"> </el-date-picker>
<el-date-picker class="w256" v-model="dateDefault" type="daterange" range-separator="~" start-placeholder="创建开始日期" end-placeholder="创建结束日期" :default-time="['00:00:00', '23:59:59']" value-format="yyyy-MM-dd" :picker-options="pickerOptions()" @change="onDateChange" :clearable="false"> </el-date-picker>
</div>
</el-row>
<el-table class="mt18" :data="tableData" @sort-change="sortChange">
......
......@@ -3,37 +3,36 @@
<el-row>
<el-col :span="17">
<el-form-item label="设置欢迎语">
<el-radio-group v-model="welcomesType" @change="radioChange">
<el-radio :label="1" v-if="welcomeType == 'code'">活码欢迎语</el-radio>
<el-radio :label="1" v-else>链接欢迎语</el-radio>
<el-radio-group @change="radioChange" v-model="welcomeType">
<el-radio :label="1">{{ welcomeName == 'code' ? '活码' : '链接' }}欢迎语</el-radio>
<el-radio :label="2">不发送欢迎语</el-radio>
</el-radio-group>
<ul class="tabs" v-if="welcomesType == 1">
<ul class="tabs" v-if="welcomeType == 1">
<li>1.下方的欢迎语取自【设置-欢迎语设置】中的“特殊欢迎语”;</li>
<li>
2.配置“<span>{{ welcomeType == 'code' ? '活码' : '链接' }}</span
2.配置“<span>{{ welcomeName == 'code' ? '活码' : '链接' }}</span
>欢迎语”后,通过此活码添加好友后,系统自动推送此处所配置的欢迎语
</li>
<li>(根据企业微信规则,若所添加的该成员在企业微信后台已经配置了欢迎语,那么会推送企微后台所配置的欢迎语,不会推送此处的欢迎语)</li>
</ul>
<ul class="tabs" v-if="welcomesType == 2">
<ul class="tabs" v-if="welcomeType == 2">
<li>
通过此<span>{{ welcomeType == 'code' ? '活码' : '链接' }}</span
通过此<span>{{ welcomeName == 'code' ? '活码' : '链接' }}</span
>添加好友后,系统不推送欢迎语,及时在【设置-欢迎语设置】中为该成员配置了欢迎语。
</li>
<li>(根据企业微信规则,若所添加的该成员在企业微信后台已经配置了欢迎语,那么企微后台的欢迎语会照常推送)</li>
</ul>
</el-form-item>
<el-form-item label="选择欢迎语" v-if="welcomesType == 1">
<el-form-item label="选择欢迎语" v-if="welcomeType == 1">
<div class="welcomeTable">
<div class="wtabTop">
<el-input class="w260" placeholder="请输入标题" v-model="welcomePage.title" @change="onSearch" clearable></el-input>
<el-input class="w260" placeholder="请输入标题" v-model="welcomePage.title" @keyup.native="toInput" clearable @clear="onSearch"></el-input>
<el-button plain class="blueBtn" @click="changeRoute">新建欢迎语</el-button>
</div>
<el-table :data="welcomeTableData" max-height="300px">
<el-table-column width="55">
<template slot-scope="scope">
<el-radio :label="scope.$index" @change.native="getCurrentRow(scope.row)" v-model="welcome">&nbsp;</el-radio>
<template slot-scope="{ row }">
<el-radio :label="row.welcomeId" @change.native="getCurrentRow(row)" v-model="welcomeId">&nbsp;</el-radio>
</template>
</el-table-column>
<el-table-column prop="title" label="标题" width="158px"></el-table-column>
......@@ -58,9 +57,9 @@
</div>
</el-form-item>
</el-col>
<el-col :span="7" v-if="welcomesType == 1 && welcomeContent != ''">
<el-col :span="7" v-if="welcomeType == 1 && welcomeContent != ''">
<p class="welcomeTitle">欢迎语预览</p>
<previewWelcome :welcomeContent="welcomeContent"></previewWelcome>
<previewWelcome :welcomeContent="welcomeContent" :mediaList="welcomeMediaList"></previewWelcome>
</el-col>
</el-row>
</div>
......@@ -70,19 +69,20 @@
import previewWelcome from '@/components/preview-welcome.vue';
import { postJsonRequest } from '@/api/api';
import { getRequest } from '../../../api/api';
import { _debounce } from '@/common/js/public';
export default {
name: 'welcomeItem',
components: { previewWelcome },
props: {
welcomeIdP: {
type: Object,
default: null
welcomeId: {
type: [String, Number],
default: ''
},
welcomeType: {
welcomeName: {
type: String,
default: 'code'
},
welcomeSetType: {
welcomeType: {
type: Number,
default: 1
}
......@@ -98,11 +98,10 @@ export default {
6: 'iconwenjianleixing-xiaochengxu', // 带参小程序
7: 'icongongzhonghao1' // 带参公众号
},
welcomTypeFlag: true,
welcomesType: 1,
welcomeTableData: [],
welcome: '',
welcomeContent: '',
welcomeMediaList: [],
// 欢迎语参数
welcomePage: {
wxEnterpriseId: sessionStorage.getItem('userInfos') ? JSON.parse(sessionStorage.getItem('userInfos')).wxEnterpriseId : '',
......@@ -111,17 +110,11 @@ export default {
pageNum: 1,
pageSize: 20
},
totalNum: 1,
welcomeId: '',
templateSelection: {},
currentWelcome: [],
isFlag: false
totalNum: 1
};
},
activated() {
this.onSearch();
},
mounted() {
console.log(this.welcomeType, 'welcomeType');
this.getWelcomeTable();
document.addEventListener('visibilitychange', () => {
if (document.visibilityState == 'visible') {
......@@ -137,6 +130,9 @@ export default {
});
},
methods: {
toInput: _debounce(function(e, value) {
this.onSearch();
}, 500),
onSearch() {
this.welcomePage.pageNum = 1;
this.getWelcomeTable();
......@@ -144,62 +140,45 @@ export default {
// 当前页变化
handleCurrentChange(val) {
this.welcomePage.pageNum = val;
this.welcome = '';
this.getWelcomeTable();
},
// 选择欢迎语列表数据
async getWelcomeTable() {
await postJsonRequest('/haoban-manage3-web/welcome/list', this.welcomePage).then(res => {
getWelcomeTable() {
postJsonRequest('/haoban-manage3-web/welcome/list', this.welcomePage).then(res => {
this.welcomeTableData = res.data.result.result;
this.totalNum = res.data.result.totalCount;
if (this.isFlag) {
let flag = this.welcomeTableData.map(item => item.welcomeId).indexOf(this.currentWelcome.welcomeId);
let flag1 = this.welcomeTableData.map(item => item.welcomeId).includes(this.currentWelcome.welcomeId);
// if (this.welcomePage.pageNum == 1) {
if (flag1) {
this.welcome = flag;
// this.welcomeContent = this.currentWelcome.welcomeContent;
}
// else {
// this.welcomeTableData.unshift(this.currentWelcome);
// this.welcome = 0;
// this.welcomeContent = '';
// }
// this.welcomeContent = this.currentWelcome.welcomeContent;
// } else if (this.welcomePage.pageNum != 1) {
// if (flag1) {
// this.welcomeTableData.splice(flag, 1);
// }
// this.welcomeContent = '';
// }
}
});
},
// 新建欢迎语
changeRoute() {
this.$router.push({ path: '/salutatorySet', query: { type: 2 } });
// let routeUrl = this.$router.resolve({ path: '/salutatorySet', query: { type: 2 } });
// window.open(routeUrl.href, '_blank');
},
getCurrentRow(row) {
// 获取选中数据 row表示选中这一行的数据,可以从里面提取所需要的值
this.templateSelection = row;
this.welcomeContent = row.welcomeContent;
this.welcomeId = row.welcomeId;
// this.$emit('getWelcomeId', this.welcomeId);
console.log(row);
const { welcomeMediaList, welcomeContent, welcomeId } = row;
this.$emit('update:welcomeId', welcomeId);
this.welcomeContent = welcomeContent;
this.welcomeMediaList = welcomeMediaList;
},
// 单选框点击事件
radioChange(e) {
this.$emit('update:welcomeType', e);
if (e == 1) {
this.getWelcomeTable();
this.welcomeId = '';
this.$emit('getWelcomeId', this.welcomeId);
}
},
getDetail() {
getRequest('/haoban-manage3-web/welcome/get', { welcomeId: this.welcomeId, enterpriseId: sessionStorage.getItem('userInfos') ? JSON.parse(sessionStorage.getItem('userInfos')).enterpriseId : '' }).then(res => {
if (res.data.code == 0 && res.data.result) {
const { welcomeMediaList, welcomeContent } = res.data.result;
this.welcomeContent = welcomeContent;
this.welcomeMediaList = welcomeMediaList;
}
});
},
submit() {
if (this.welcomesType == 2) return true;
this.$emit('getWelcomeId', this.welcomeId);
if (this.welcomesType == 1 && !this.welcomeId) {
if (this.welcomeType == 2) return true;
if (this.welcomeType == 1 && !this.welcomeId) {
this.$message.error('请选择欢迎语');
return false;
} else {
......@@ -208,44 +187,13 @@ export default {
}
},
watch: {
welcomeSetType: {
handler: function(val) {
console.log(val);
if (val == 1) {
this.welcomesType = 1;
}
},
immediate: true
},
welcomeIdP: {
welcomeId: {
handler: async function(val) {
if (val) {
this.welcomesType = 1;
this.welcomeId = val;
await getRequest('/haoban-manage3-web/welcome/get', { welcomeId: this.welcomeId, enterpriseId: sessionStorage.getItem('userInfos') ? JSON.parse(sessionStorage.getItem('userInfos')).enterpriseId : '' }).then(res => {
if (res.data.code == 0) {
this.currentWelcome = res.data.result || [];
this.welcomeContent = this.currentWelcome.welcomeContent;
this.isFlag = true;
this.getWelcomeTable();
}
});
this.getDetail();
}
// if (val == null) {
// this.welcomesType = 2;
// }
},
immediate: true,
deep: true
},
welcomesType: {
handler: function(val) {
if (val == 2) {
this.welcomeId = '';
}
},
immediate: true,
deep: true
immediate: true
}
}
};
......
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