Commit dcb560a6 by crushh

update: dist

parent 58b28a1a
...@@ -91,14 +91,14 @@ Vue.axios.interceptors.response.use( ...@@ -91,14 +91,14 @@ Vue.axios.interceptors.response.use(
return data; return data;
}, },
err => { err => {
// if (err.response.status == 502) { if (err.response.status == 502) {
// window.location.href = gicHost + '/gic-web/#/login?ishb=1'; window.location.href = gicHost + '/gic-web/#/login?ishb=1';
// Message.error({ message: '服务异常⊙﹏⊙∥' }); Message.error({ message: '服务异常⊙﹏⊙∥' });
// } }
// if (err.response.status != 403) { if (err.response.status != 403) {
// window.location.href = gicHost + '/gic-web/#/login?ishb=1'; window.location.href = gicHost + '/gic-web/#/login?ishb=1';
// Message.error({ message: '登录失效!' }); Message.error({ message: '登录失效!' });
// } }
return Promise.resolve(err); return Promise.resolve(err);
} }
); );
......
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
</div> </div>
<dm-sub-title type="line">欢迎语设置</dm-sub-title> <dm-sub-title type="line">欢迎语设置</dm-sub-title>
<div class="section"> <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> </div>
<dm-sub-title type="line">落地页配置</dm-sub-title> <dm-sub-title type="line">落地页配置</dm-sub-title>
<div class="section flex" style="margin-bottom: 40px;"> <div class="section flex" style="margin-bottom: 40px;">
...@@ -162,7 +162,7 @@ export default { ...@@ -162,7 +162,7 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 20 pageSize: 20
}, },
link: 'link', welcomeType: 1,
landingLoading: false, landingLoading: false,
loading: false, loading: false,
landingData: [], landingData: [],
...@@ -178,10 +178,10 @@ export default { ...@@ -178,10 +178,10 @@ export default {
storeData: [], storeData: [],
form: { form: {
linkType: 1, linkType: 1,
memberLabelName: '', // memberLabelName: '',
memberLabelId: '', // memberLabelId: '',
// memberLabelName: '测试标签值名称重复- 温州青童时代店', memberLabelName: '测试标签值名称重复- 温州青童时代店',
// memberLabelId: 'edd3901afd1e418d93fdc3b50bb24784', memberLabelId: 'edd3901afd1e418d93fdc3b50bb24784',
storeList: [], storeList: [],
name: '', name: '',
pageId: '', pageId: '',
...@@ -275,10 +275,12 @@ export default { ...@@ -275,10 +275,12 @@ export default {
link.storeRuleJson = JSON.parse(link.storeRuleJson); link.storeRuleJson = JSON.parse(link.storeRuleJson);
link.storeList = link.storeList ? link.storeList : []; link.storeList = link.storeList ? link.storeList : [];
this.form = link; this.form = link;
if (!this.form.welcomeId) {
this.welcomeType = 2;
}
this.landingForm = page; this.landingForm = page;
this.getStoreList(); this.getStoreList();
} }
console.log(result);
}) })
.finally(_ => { .finally(_ => {
this.loading = false; this.loading = false;
...@@ -300,9 +302,7 @@ export default { ...@@ -300,9 +302,7 @@ export default {
this.form.storeList = val; this.form.storeList = val;
this.$refs.form.validateField('storeList'); this.$refs.form.validateField('storeList');
}, },
getWelcomeId(e) {
this.form.welcomeId = e;
},
getList() { getList() {
this.landingLoading = true; this.landingLoading = true;
guidePageList(this.landingPage) guidePageList(this.landingPage)
...@@ -360,6 +360,9 @@ export default { ...@@ -360,6 +360,9 @@ export default {
data.storeRuleJson = JSON.stringify(data.storeRuleJson); data.storeRuleJson = JSON.stringify(data.storeRuleJson);
data.customRuleJson = JSON.stringify(data.customRuleJson); data.customRuleJson = JSON.stringify(data.customRuleJson);
data.wxEnterpriseId = this.wxEnterpriseId; data.wxEnterpriseId = this.wxEnterpriseId;
if (this.welcomeType == 2) {
data.welcomeId = '';
}
delete data.memberLabelStatus; delete data.memberLabelStatus;
this.$refs.form.validate(val => { this.$refs.form.validate(val => {
if (!val) { if (!val) {
......
...@@ -92,11 +92,11 @@ const tableHead = [ ...@@ -92,11 +92,11 @@ const tableHead = [
}, },
{ {
label: '今日点击人次', label: '今日点击人次',
prop: 'clickNum', prop: 'clickTimes',
width: '130', width: '130',
sortable: 'custom', sortable: 'custom',
formatter: function(row) { formatter: function(row) {
return `<span>${row.clickNum ? row.clickNum : '- -'}</span>`; return `<span>${row.clickTimes ? row.clickTimes : '- -'}</span>`;
} }
}, },
{ {
......
...@@ -3,37 +3,36 @@ ...@@ -3,37 +3,36 @@
<el-row> <el-row>
<el-col :span="17"> <el-col :span="17">
<el-form-item label="设置欢迎语"> <el-form-item label="设置欢迎语">
<el-radio-group v-model="welcomesType" @change="radioChange"> <el-radio-group @change="radioChange" v-model="welcomeType">
<el-radio :label="1" v-if="welcomeType == 'code'">活码欢迎语</el-radio> <el-radio :label="1">{{ welcomeName == 'code' ? '活码' : '链接' }}欢迎语</el-radio>
<el-radio :label="1" v-else>链接欢迎语</el-radio>
<el-radio :label="2">不发送欢迎语</el-radio> <el-radio :label="2">不发送欢迎语</el-radio>
</el-radio-group> </el-radio-group>
<ul class="tabs" v-if="welcomesType == 1"> <ul class="tabs" v-if="welcomeType == 1">
<li>1.下方的欢迎语取自【设置-欢迎语设置】中的“特殊欢迎语”;</li> <li>1.下方的欢迎语取自【设置-欢迎语设置】中的“特殊欢迎语”;</li>
<li> <li>
2.配置“<span>{{ welcomeType == 'code' ? '活码' : '链接' }}</span 2.配置“<span>{{ welcomeName == 'code' ? '活码' : '链接' }}</span
>欢迎语”后,通过此活码添加好友后,系统自动推送此处所配置的欢迎语 >欢迎语”后,通过此活码添加好友后,系统自动推送此处所配置的欢迎语
</li> </li>
<li>(根据企业微信规则,若所添加的该成员在企业微信后台已经配置了欢迎语,那么会推送企微后台所配置的欢迎语,不会推送此处的欢迎语)</li> <li>(根据企业微信规则,若所添加的该成员在企业微信后台已经配置了欢迎语,那么会推送企微后台所配置的欢迎语,不会推送此处的欢迎语)</li>
</ul> </ul>
<ul class="tabs" v-if="welcomesType == 2"> <ul class="tabs" v-if="welcomeType == 2">
<li> <li>
通过此<span>{{ welcomeType == 'code' ? '活码' : '链接' }}</span 通过此<span>{{ welcomeName == 'code' ? '活码' : '链接' }}</span
>添加好友后,系统不推送欢迎语,及时在【设置-欢迎语设置】中为该成员配置了欢迎语。 >添加好友后,系统不推送欢迎语,及时在【设置-欢迎语设置】中为该成员配置了欢迎语。
</li> </li>
<li>(根据企业微信规则,若所添加的该成员在企业微信后台已经配置了欢迎语,那么企微后台的欢迎语会照常推送)</li> <li>(根据企业微信规则,若所添加的该成员在企业微信后台已经配置了欢迎语,那么企微后台的欢迎语会照常推送)</li>
</ul> </ul>
</el-form-item> </el-form-item>
<el-form-item label="选择欢迎语" v-if="welcomesType == 1"> <el-form-item label="选择欢迎语" v-if="welcomeType == 1">
<div class="welcomeTable"> <div class="welcomeTable">
<div class="wtabTop"> <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> <el-button plain class="blueBtn" @click="changeRoute">新建欢迎语</el-button>
</div> </div>
<el-table :data="welcomeTableData" max-height="300px"> <el-table :data="welcomeTableData" max-height="300px">
<el-table-column width="55"> <el-table-column width="55">
<template slot-scope="scope"> <template slot-scope="{ row }">
<el-radio :label="scope.$index" @change.native="getCurrentRow(scope.row)" v-model="welcome">&nbsp;</el-radio> <el-radio :label="row.welcomeId" @change.native="getCurrentRow(row)" v-model="welcomeId">&nbsp;</el-radio>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="title" label="标题" width="158px"></el-table-column> <el-table-column prop="title" label="标题" width="158px"></el-table-column>
...@@ -58,9 +57,9 @@ ...@@ -58,9 +57,9 @@
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="7" v-if="welcomesType == 1 && welcomeContent != ''"> <el-col :span="7" v-if="welcomeType == 1 && welcomeContent != ''">
<p class="welcomeTitle">欢迎语预览</p> <p class="welcomeTitle">欢迎语预览</p>
<previewWelcome :welcomeContent="welcomeContent"></previewWelcome> <previewWelcome :welcomeContent="welcomeContent" :mediaList="welcomeMediaList"></previewWelcome>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
...@@ -70,19 +69,20 @@ ...@@ -70,19 +69,20 @@
import previewWelcome from '@/components/preview-welcome.vue'; import previewWelcome from '@/components/preview-welcome.vue';
import { postJsonRequest } from '@/api/api'; import { postJsonRequest } from '@/api/api';
import { getRequest } from '../../../api/api'; import { getRequest } from '../../../api/api';
import { _debounce } from '@/common/js/public';
export default { export default {
name: 'welcomeItem', name: 'welcomeItem',
components: { previewWelcome }, components: { previewWelcome },
props: { props: {
welcomeIdP: { welcomeId: {
type: Object, type: [String, Number],
default: null default: ''
}, },
welcomeType: { welcomeName: {
type: String, type: String,
default: 'code' default: 'code'
}, },
welcomeSetType: { welcomeType: {
type: Number, type: Number,
default: 1 default: 1
} }
...@@ -98,11 +98,10 @@ export default { ...@@ -98,11 +98,10 @@ export default {
6: 'iconwenjianleixing-xiaochengxu', // 带参小程序 6: 'iconwenjianleixing-xiaochengxu', // 带参小程序
7: 'icongongzhonghao1' // 带参公众号 7: 'icongongzhonghao1' // 带参公众号
}, },
welcomTypeFlag: true,
welcomesType: 1,
welcomeTableData: [], welcomeTableData: [],
welcome: '',
welcomeContent: '', welcomeContent: '',
welcomeMediaList: [],
// 欢迎语参数 // 欢迎语参数
welcomePage: { welcomePage: {
wxEnterpriseId: sessionStorage.getItem('userInfos') ? JSON.parse(sessionStorage.getItem('userInfos')).wxEnterpriseId : '', wxEnterpriseId: sessionStorage.getItem('userInfos') ? JSON.parse(sessionStorage.getItem('userInfos')).wxEnterpriseId : '',
...@@ -111,16 +110,9 @@ export default { ...@@ -111,16 +110,9 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 20 pageSize: 20
}, },
totalNum: 1, totalNum: 1
welcomeId: '',
templateSelection: {},
currentWelcome: [],
isFlag: false
}; };
}, },
activated() {
this.onSearch();
},
mounted() { mounted() {
this.getWelcomeTable(); this.getWelcomeTable();
document.addEventListener('visibilitychange', () => { document.addEventListener('visibilitychange', () => {
...@@ -137,6 +129,9 @@ export default { ...@@ -137,6 +129,9 @@ export default {
}); });
}, },
methods: { methods: {
toInput: _debounce(function(e, value) {
this.onSearch();
}, 500),
onSearch() { onSearch() {
this.welcomePage.pageNum = 1; this.welcomePage.pageNum = 1;
this.getWelcomeTable(); this.getWelcomeTable();
...@@ -144,62 +139,45 @@ export default { ...@@ -144,62 +139,45 @@ export default {
// 当前页变化 // 当前页变化
handleCurrentChange(val) { handleCurrentChange(val) {
this.welcomePage.pageNum = val; this.welcomePage.pageNum = val;
this.welcome = '';
this.getWelcomeTable(); this.getWelcomeTable();
}, },
// 选择欢迎语列表数据 // 选择欢迎语列表数据
async getWelcomeTable() { getWelcomeTable() {
await postJsonRequest('/haoban-manage3-web/welcome/list', this.welcomePage).then(res => { postJsonRequest('/haoban-manage3-web/welcome/list', this.welcomePage).then(res => {
this.welcomeTableData = res.data.result.result; this.welcomeTableData = res.data.result.result;
this.totalNum = res.data.result.totalCount; 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() { changeRoute() {
this.$router.push({ path: '/salutatorySet', query: { type: 2 } }); 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) { getCurrentRow(row) {
// 获取选中数据 row表示选中这一行的数据,可以从里面提取所需要的值 console.log(row);
this.templateSelection = row; const { welcomeMediaList, welcomeContent, welcomeId } = row;
this.welcomeContent = row.welcomeContent; this.$emit('update:welcomeId', welcomeId);
this.welcomeId = row.welcomeId; this.welcomeContent = welcomeContent;
// this.$emit('getWelcomeId', this.welcomeId); this.welcomeMediaList = welcomeMediaList;
}, },
// 单选框点击事件 // 单选框点击事件
radioChange(e) { radioChange(e) {
this.$emit('update:welcomeType', e);
if (e == 1) { if (e == 1) {
this.getWelcomeTable(); 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() { submit() {
if (this.welcomesType == 2) return true; if (this.welcomeType == 2) return true;
this.$emit('getWelcomeId', this.welcomeId); if (this.welcomeType == 1 && !this.welcomeId) {
if (this.welcomesType == 1 && !this.welcomeId) {
this.$message.error('请选择欢迎语'); this.$message.error('请选择欢迎语');
return false; return false;
} else { } else {
...@@ -208,44 +186,13 @@ export default { ...@@ -208,44 +186,13 @@ export default {
} }
}, },
watch: { watch: {
welcomeSetType: { welcomeId: {
handler: function(val) {
console.log(val);
if (val == 1) {
this.welcomesType = 1;
}
},
immediate: true
},
welcomeIdP: {
handler: async function(val) { handler: async function(val) {
if (val) { if (val) {
this.welcomesType = 1; this.getDetail();
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();
} }
});
}
// if (val == null) {
// this.welcomesType = 2;
// }
},
immediate: true,
deep: true
}, },
welcomesType: { immediate: true
handler: function(val) {
if (val == 2) {
this.welcomeId = '';
}
},
immediate: true,
deep: 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