Commit 64c8d0d6 by crushh

update: dist

parent 77696415
...@@ -23,7 +23,7 @@ module.exports = { ...@@ -23,7 +23,7 @@ module.exports = {
// Various Dev Server settings // Various Dev Server settings
// host: '0.0.0.0', // can be overwritten by process.env.HOST // host: '0.0.0.0', // can be overwritten by process.env.HOST
host: 'localhost',//'192.168.1.20',// host: 'localhost',//'192.168.1.20',//
port: 8006, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined port: 8001, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
autoOpenBrowser: false, autoOpenBrowser: false,
errorOverlay: true, errorOverlay: true,
notifyOnErrors: true, notifyOnErrors: true,
......
...@@ -38,3 +38,6 @@ export const linkPage = params => postRequest('/haoban-manage3-web/hm/link/page' ...@@ -38,3 +38,6 @@ export const linkPage = params => postRequest('/haoban-manage3-web/hm/link/page'
//【活码】详情-查看明细列表 //【活码】详情-查看明细列表
export const detailClerkList = params => postJsonRequest('/haoban-manage3-web/hm/qrcode/detail-clerk-list-page', params); export const detailClerkList = params => postJsonRequest('/haoban-manage3-web/hm/qrcode/detail-clerk-list-page', params);
//【欢迎语】-- 特殊欢迎语关联详情列表
export const welcomeRelationList = params => getRequest('/haoban-manage3-web/welcome/relation/list', params);
...@@ -57,6 +57,15 @@ Vue.axios.interceptors.request.use( ...@@ -57,6 +57,15 @@ Vue.axios.interceptors.request.use(
cancel cancel
}); });
}); });
/**
* 获取好办 企业 id
*/
if (!!sessionStorage.getItem('userInfoBrandId')) {
let haobanSign = sessionStorage.getItem('userInfoBrandId');
haobanSign ? (config.headers.enterpriseId = haobanSign) : '';
}
console.log(config);
return config; return config;
}, },
err => { err => {
...@@ -68,29 +77,29 @@ Vue.axios.interceptors.request.use( ...@@ -68,29 +77,29 @@ 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.status && data.status == 200 && data.data.errorCode != 1) { // if (data.status && data.status == 200 && data.data.errorCode != 1) {
if (data.data.errorCode == 4) { // if (data.data.errorCode == 4) {
if (window.location.href.indexOf('gic-error') != -1) { // if (window.location.href.indexOf('gic-error') != -1) {
return false; // return false;
} // }
window.location.href = gicHost + '/gic-web/#/login?ishb=1'; // window.location.href = gicHost + '/gic-web/#/login?ishb=1';
} // }
if (data.data.errorCode == 10 || data.data.errorCode == 7) { // if (data.data.errorCode == 10 || data.data.errorCode == 7) {
window.location.href = gicHost + '/haoban-3/#/index'; // window.location.href = gicHost + '/haoban-3/#/index';
} // }
return data; // return data;
} // }
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);
} }
); );
......
...@@ -23,6 +23,14 @@ const attractFlowLinkRouter = [ ...@@ -23,6 +23,14 @@ const attractFlowLinkRouter = [
component: _import('salesleads/actCodeManage/attractFlowLink', 'detail') component: _import('salesleads/actCodeManage/attractFlowLink', 'detail')
}, },
{ {
path: '/attractFlowLinkInfo/:id',
name: '详情引流链接',
meta: {
type: 'info'
},
component: _import('salesleads/actCodeManage/attractFlowLink', 'detail')
},
{
path: '/ladingPageList', path: '/ladingPageList',
name: '落地页列表', name: '落地页列表',
component: _import('salesleads/actCodeManage/attractFlowLink/landingPage', 'list') component: _import('salesleads/actCodeManage/attractFlowLink/landingPage', 'list')
......
<template>
<el-dialog title="关联详情" width="610px" :visible.sync="dialogVisible" @close="$emit('update:dialogVisible', false)">
<div class="daily-set-content boder-box">
<div class="flex flex-space-between m-b-16">
<el-input placeholder="请输入关联ID / 关联名称 " class="w-260" v-model="form.searchContent" @keyup.native="value => toInput(value, searchInput)" clearable @clear="getList"> <i slot="prefix" class="el-input__icon el-icon-search"></i> </el-input>
</div>
</div>
<el-table class="select-table" ref="multipleTable" v-loading="loading" :data="tableData" height="450" tooltip-effect="dark">
<el-table-column prop="referCode" label="关联ID"></el-table-column>
<el-table-column prop="referName" label="关联名称" show-overflow-tooltip></el-table-column>
<el-table-column prop="type" label="类型">
<template slot-scope="{ row }">
{{ row.type == 1 ? '员工活码' : '引流链接' }}
</template>
</el-table-column>
<el-table-column prop="status" label="状态">
<template slot-scope="{ row }">
<div class="status-class">
<span :class="['state-point', logStatusClass[row.status]]">{{ relationSatusMap[row.status] }}</span>
</div>
</template>
</el-table-column>
<el-table-column prop="" label="操作" width="80">
<template slot-scope="{ row }">
<el-button type="text" @click="$emit('goLinkDetail', row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination class="text-right margin-pg" @size-change="handleSizeChange" @current-change="handleCurrentChange" :page-size.sync="form.pageSize" :current-page.sync="form.pageNum" layout="prev, pager, next" :total="total"> </el-pagination>
</el-dialog>
</template>
<script>
import { welcomeRelationList } from '@/api/actCode';
import { _debounce } from '@/common/js/public';
export default {
data() {
return {
form: {
searchContent: '',
welcomeId: '',
pageNum: 1,
pageSize: 20
},
loading: false,
total: 0,
tableData: [],
relationSatusMap: {
1: '启用',
0: '删除',
2: '废弃'
},
logStatusClass: { 1: 'state-point-success', 0: 'state-point-error', 2: 'state-point-warning' }
};
},
props: {
id: {
type: String,
default: ''
},
dialogVisible: {
type: Boolean,
default: false
}
},
watch: {
id(val) {
if (val) {
this.form = { searchContent: '', welcomeId: val, pageNum: 1, pageSize: 20 };
this.getList();
}
}
},
methods: {
toInput: _debounce(function(e, value) {
this.getList();
}, 500),
getList() {
this.loading = true;
welcomeRelationList(this.form)
.then(res => {
const { totalCount, result } = res.data.result;
if (result) {
this.total = totalCount;
this.tableData = result;
}
// let obj = { referCode: 'HM01421002535046766593', referId: '421002535046766593', referName: '吴苏兰', relationId: '421002538737754114', status: 1, type: 2, typeText: null };
// for (let i = 0; i < 50; i++) {
// this.tableData.push(obj);
// }
// this.total = 50;
})
.finally(_ => {
this.loading = false;
});
},
handleSizeChange(val) {
this.form.pageNum = 1;
this.form.pageSize = val;
this.getList();
},
handleCurrentChange(val) {
this.form.pageNum = val;
this.getList();
}
}
};
</script>
<style type="text/scss" lang="scss" scoped>
.margin-pg {
margin: 20px 0 0 0;
}
</style>
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
<el-button v-if="$getButtonLimit($buttonCode.addSalutatory)" :limit-code="$buttonCode.addSalutatory" type="primary" @click="addSalutatory">新建欢迎语</el-button> <el-button v-if="$getButtonLimit($buttonCode.addSalutatory)" :limit-code="$buttonCode.addSalutatory" type="primary" @click="addSalutatory">新建欢迎语</el-button>
</div> </div>
<el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" :style="{ width: '100%' }" v-loading="loading"> <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" :style="{ width: '100%' }" v-loading="loading">
<el-table-column prop="title" label="标题" width="200"> <el-table-column prop="title" label="标题" width="200" fixed="left">
<div ref="title" slot-scope="{ row }"> <div ref="title" slot-scope="{ row }">
<!-- 算出文本的长度,再设置 --> <!-- 算出文本的长度,再设置 -->
<el-tooltip placement="top" :content="row.title" v-if="row.isOverflow"> <el-tooltip placement="top" :content="row.title" v-if="row.isOverflow">
...@@ -76,13 +76,15 @@ ...@@ -76,13 +76,15 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="180" fixed="right" v-if="$getButtonLimit($buttonCode.editSalutatory) || $getButtonLimit($buttonCode.delSalutatory)"> <el-table-column label="操作" :width="type == 2 ? 220 : 180" fixed="right" v-if="$getButtonLimit($buttonCode.editSalutatory) || $getButtonLimit($buttonCode.delSalutatory)">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<el-button type="text" @click="showRelateDetail(row)" v-show="row.type == 2">关联详情</el-button>
<el-button v-if="$getButtonLimit($buttonCode.editSalutatory)" :limit-code="$buttonCode.editSalutatory" type="text" @click="changeRoute(row)">编辑</el-button> <el-button v-if="$getButtonLimit($buttonCode.editSalutatory)" :limit-code="$buttonCode.editSalutatory" type="text" @click="changeRoute(row)">编辑</el-button>
<el-button v-if="$getButtonLimit($buttonCode.delSalutatory)" :limit-code="$buttonCode.delSalutatory" type="text" @click="remove(row)">删除</el-button> <el-button v-if="$getButtonLimit($buttonCode.delSalutatory)" :limit-code="$buttonCode.delSalutatory" type="text" @click="remove(row)">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<relation-dialog :dialogVisible.sync="dialogVisible" :id="welcomeId" @goLinkDetail="goLinkDetail" />
<div class="block common-wrap__page text-right m-t-24" v-if="tableData.length != 0"> <div class="block common-wrap__page text-right m-t-24" v-if="tableData.length != 0">
<el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="form.pageNum" :page-sizes="[20, 40, 60, 80]" :page-size="form.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total"> </el-pagination> <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="form.pageNum" :page-sizes="[20, 40, 60, 80]" :page-size="form.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total"> </el-pagination>
</div> </div>
...@@ -93,6 +95,7 @@ ...@@ -93,6 +95,7 @@
<script> <script>
import { postJsonRequest, getRequest } from '@/api/api'; import { postJsonRequest, getRequest } from '@/api/api';
import { _debounce } from '@/common/js/public'; import { _debounce } from '@/common/js/public';
import relationDialog from './relationDialog';
export default { export default {
data() { data() {
return { return {
...@@ -101,6 +104,8 @@ export default { ...@@ -101,6 +104,8 @@ export default {
pageSize: 20, pageSize: 20,
pageNum: 1 pageNum: 1
}, },
dialogVisible: false,
welcomeId: '',
total: 0, total: 0,
wxEnterpriseId: sessionStorage.getItem('userInfos') ? JSON.parse(sessionStorage.getItem('userInfos')).wxEnterpriseId : '', wxEnterpriseId: sessionStorage.getItem('userInfos') ? JSON.parse(sessionStorage.getItem('userInfos')).wxEnterpriseId : '',
friendSettingId: '', friendSettingId: '',
...@@ -129,6 +134,9 @@ export default { ...@@ -129,6 +134,9 @@ export default {
default: 1 default: 1
} }
}, },
components: {
relationDialog
},
watch: { watch: {
type(val) { type(val) {
this.form = { this.form = {
...@@ -162,12 +170,19 @@ export default { ...@@ -162,12 +170,19 @@ export default {
this.$router.push({ path: '/salutatorySet', query: { type: this.type } }); this.$router.push({ path: '/salutatorySet', query: { type: this.type } });
}, },
remove(row) { remove(row) {
let str = '是否删除本条欢迎语?'; if (row.type == 2) {
this.delType2(row);
} else {
this.delType1(row);
}
},
delType1(row) {
let str = '模板删除后将无法恢复';
if (row.defaultWelcomeFlag == 1) { if (row.defaultWelcomeFlag == 1) {
str = '此条欢迎语为全员欢迎语,删除后可能影响欢迎语发送,是否继续删除?'; str = '此条欢迎语为全员欢迎语,删除后可能影响欢迎语发送';
} }
this.$confirm(str, '提示', { this.$confirm(str, '确认要删除该欢迎语吗?', {
confirmButtonText: '确定', confirmButtonText: '删除',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
...@@ -180,6 +195,56 @@ export default { ...@@ -180,6 +195,56 @@ export default {
}); });
}); });
}, },
delType2(row) {
getRequest('/haoban-manage3-web/welcome/statistics', { welcomeId: row.welcomeId }).then(res => {
console.log(res);
const { result } = res.data;
let str = '';
if (result) {
if (result.qrCodeReferNum && result.linkReferNum) {
str = `当前模板已关联状态为正常的活码(${result.qrCodeReferNum})、链接(${result.linkReferNum}),请确认相关活码是否不再使用该欢迎语以及链接已投放结束,取消关联后才可删除该模板`;
} else if (result.qrCodeReferNum) {
str = `当前模板已关联状态为正常的活码(${result.qrCodeReferNum}),请确认相关活码是否不再使用该欢迎语,取消关联后才可删除该模板`;
} else if (result.linkReferNum) {
str = `当前模板已关联链接(${result.linkReferNum}),请确认相关链接已投放结束,取消关联后才可删除该模板`;
}
this.$confirm(str, '无法删除该欢迎语', {
confirmButtonText: '关联详情',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.showRelateDetail(row);
});
} else {
str = '模板删除后将无法恢复';
this.$confirm(str, '确认要删除该欢迎语吗?', {
confirmButtonText: '删除',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
getRequest('/haoban-manage3-web/welcome/remove', { welcomeId: row.welcomeId }).then(res => {
let resData = res.data;
if (resData.code == 0 && resData.result) {
this.$message.success('删除成功');
this.getData();
}
});
});
}
});
},
showRelateDetail(item) {
this.dialogVisible = true;
this.welcomeId = item.welcomeId;
},
goLinkDetail(row) {
console.log(row);
if (row.type == 1) {
this.$router.push('/actCodeDetail?hmId=' + row.referId);
} else {
this.$router.push(`/attractFlowLinkInfo/${row.referId}`);
}
},
/** /**
* 获取数据 * 获取数据
*/ */
......
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