Commit b11376fc by crushh

update: dist

parent d30be4c7
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div> <div>
<div class="warp"> <div class="warp">
<h2>加好友配置</h2> <h2>加好友配置</h2>
<span class="echoData" v-show="friendSettingType">{{ friendSettingTypeOption[friendSettingType] }}</span> <span class="echoData" v-show="friendSettingType && friendSettingType != 4">{{ friendSettingTypeOption[friendSettingType] }}</span>
<el-button type="text" style="margin-left: 20px;" @click="openDialog">去配置</el-button> <el-button type="text" style="margin-left: 20px;" @click="openDialog">去配置</el-button>
</div> </div>
<div class="daily-set-wrap"> <div class="daily-set-wrap">
...@@ -88,8 +88,7 @@ export default { ...@@ -88,8 +88,7 @@ export default {
friendSettingTypeOption: { friendSettingTypeOption: {
1: '发送【好办欢迎语】+【带导购参数的会员小程序卡片】', 1: '发送【好办欢迎语】+【带导购参数的会员小程序卡片】',
2: '发送【好办欢迎语】+【带导购参数的公众号二维码】', 2: '发送【好办欢迎语】+【带导购参数的公众号二维码】',
3: '发送【好办欢迎语】', 3: '发送【好办欢迎语】'
4: '不发送【好办欢迎语】,用企微欢迎语'
}, },
title: '', title: '',
wxEnterpriseId: localStorage.getItem('userInfos') ? JSON.parse(localStorage.getItem('userInfos')).wxEnterpriseId : '', wxEnterpriseId: localStorage.getItem('userInfos') ? JSON.parse(localStorage.getItem('userInfos')).wxEnterpriseId : '',
......
...@@ -33,17 +33,19 @@ ...@@ -33,17 +33,19 @@
</p> </p>
</el-popover> </el-popover>
</div> </div>
<div class="mediaEcho" v-if="form.welcomeMediaList && form.welcomeMediaList.length"> <div class="mediaEcho" v-if="showEchoData">
<div class="flexBox" v-for="(item, index) in form.welcomeMediaList" :key="index"> <div class="flexBoxContainer" v-for="(item, index) in form.welcomeMediaList" :key="index">
<svg-icon :iconname="iconType[item.mediaType]" size="16" style="margin-right: 13px;"> </svg-icon> <div class="flexBox" v-if="item.mediaType != 5">
<span class="popverText">{{ item.mediaTitle }}</span> <svg-icon :iconname="iconType[item.mediaType]" size="16" style="margin-right: 13px;"> </svg-icon>
<i class="el-icon-close" style="margin-left: 20px;cursor: pointer;" @click="handleDelMedia(item, index)"></i> <span class="popverText">{{ item.mediaTitle }}</span>
<i class="el-icon-close" style="margin-left: 20px;cursor: pointer;" @click="handleDelMedia(item, index)"></i>
</div>
</div> </div>
</div> </div>
<div class="addInfo" :style="form.welcomeMediaList && form.welcomeMediaList.length ? 'border-top: 1px dashed #dcdfe6;' : ''"> <div class="addInfo" :style="showEchoData ? 'border-top: 1px dashed #dcdfe6;' : ''">
<el-popover placement="top" trigger="click"> <el-popover placement="top" trigger="click">
<ul class="flex flex-wrap"> <ul class="flex flex-wrap">
<li v-for="(item, index) in uploadList" :key="index + 'emoji'" :class="['uploadListBox', (item.title == '小程序' && haveAddApplet) || form.welcomeMediaList.length >= 9 ? 'disabled' : '']" @click="handleUploadList(item, index)"> <li v-for="(item, index) in uploadList" :key="index" :class="['uploadListBox', form.welcomeMediaList.length >= 9 ? 'disabled' : '']" @click="handleUploadList(item, index)">
<i :class="['iconfont-hb3', item.icon]" style="font-size:20px"></i> <i :class="['iconfont-hb3', item.icon]" style="font-size:20px"></i>
<p>{{ item.title }}</p> <p>{{ item.title }}</p>
<input type="file" :accept="item.fileType" @change="e => handkeFileChange(e, item)" class="upload-input" /> <input type="file" :accept="item.fileType" @change="e => handkeFileChange(e, item)" class="upload-input" />
...@@ -57,11 +59,16 @@ ...@@ -57,11 +59,16 @@
<p style="font-size:12px;color:#909399">(附件不超过9个,单个大小不超过2M,小程序仅支持添加1个)</p> <p style="font-size:12px;color:#909399">(附件不超过9个,单个大小不超过2M,小程序仅支持添加1个)</p>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="使用范围"> <el-form-item label="使用范围" required>
<div v-show="form.suitDepartmentAddList.length"> <div v-show="form.suitDepartmentAddList.length" class="scopeContainer">
<el-tag size="small" v-for="(item, index) in form.suitDepartmentAddList" closable @close="handleTagClose(index)" :key="item.departmentId"> <!-- <el-tag size="small" v-for="(item, index) in form.suitDepartmentAddList" closable @close="handleTagClose(index)" :key="item.departmentId">
{{ item.departmentName }}
</el-tag> -->
<div class="wwTag" v-for="(item, index) in form.suitDepartmentAddList" :key="item.departmentId">
<span class="font-14 color-2f54eb opacity80 iconfont-hb3 iconqiye-tianchong"></span>
{{ item.departmentName }} {{ item.departmentName }}
</el-tag> <i class="el-icon-close" style="margin-left: 20px;cursor: pointer;" @click="handleTagClose(index)"></i>
</div>
</div> </div>
<span @click="openScopeDialog" class="color-2f54eb cursor-pointer" style="margin-left:8px;"> 请选择使用范围</span> <span @click="openScopeDialog" class="color-2f54eb cursor-pointer" style="margin-left:8px;"> 请选择使用范围</span>
</el-form-item> </el-form-item>
...@@ -103,8 +110,8 @@ ...@@ -103,8 +110,8 @@
</div> </div>
</div> </div>
<div v-if="item.mediaType == 5" class="appletsInfo"> <div v-if="item.mediaType == 5" class="appletsInfo">
<div class="appletsTitle">{{ item.mediaTitle }}</div> <div class="appletsTitle">{{ item.miniProgramName }}</div>
<div class="appletsTitle" style="font-size:12px">{{ item.mediaMiniTitle }}</div> <div class="appletsTitle" style="font-size:12px">{{ item.mediaTitle }}</div>
<img :src="item.mediaUrl" /> <img :src="item.mediaUrl" />
</div> </div>
</div> </div>
...@@ -134,29 +141,6 @@ ...@@ -134,29 +141,6 @@
<el-button type="primary" @click="addUrl">确认添加</el-button> <el-button type="primary" @click="addUrl">确认添加</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog title="添加小程序" width="585px" class="replay-link-dialog" :visible.sync="appletsDialogVisible" @closed="onClosed">
<div role="alert" class="el-alert el-alert--info" style="width:430px;margin-bottom:20px">
<i class="el-alert__icon el-icon-info"></i>
<div class="el-alert__content">
<p class="el-alert__title">如需修改小程序信息,请前往【好办后台-企业设置】进行修改</p>
</div>
</div>
<el-form label-position="right" ref="form" :model="{}" label-width="100px">
<el-form-item label="小程序名称">
<span>{{ applet.miniprogramName }}</span>
</el-form-item>
<el-form-item label="标题">
<span>{{ applet.title }}</span>
</el-form-item>
<el-form-item label="封面">
<img :src="applet.imageUrl" style="width:128px;height:128px;border-radius: 4px;" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="appletsDialogVisible = false">取消</el-button>
<el-button type="primary" @click="addapplets">确认添加</el-button>
</div>
</el-dialog>
<el-dialog title="请选择使用范围" width="886px" class="replay-link-dialog" :visible.sync="scopeVisible" @closed="clearAllSelectedData"> <el-dialog title="请选择使用范围" width="886px" class="replay-link-dialog" :visible.sync="scopeVisible" @closed="clearAllSelectedData">
<div class="scopeBox"> <div class="scopeBox">
<div class="left"> <div class="left">
...@@ -212,7 +196,8 @@ export default { ...@@ -212,7 +196,8 @@ export default {
title: '系统默认', title: '系统默认',
welcomeContent: '你好,<微信昵称>', welcomeContent: '你好,<微信昵称>',
welcomeMediaList: [], welcomeMediaList: [],
suitDepartmentAddList: [] suitDepartmentAddList: [],
suitDepartmentList: []
}, },
uploadList: [ uploadList: [
{ {
...@@ -233,10 +218,6 @@ export default { ...@@ -233,10 +218,6 @@ export default {
{ {
title: '链接', title: '链接',
icon: 'iconlianjie' icon: 'iconlianjie'
},
{
title: '小程序',
icon: 'iconxiaochengxu'
} }
], ],
iconType: { iconType: {
...@@ -256,21 +237,27 @@ export default { ...@@ -256,21 +237,27 @@ export default {
addReplayDialog: false, addReplayDialog: false,
url: '', url: '',
urlDialogVisible: false, urlDialogVisible: false,
appletsDialogVisible: false,
scopeVisible: false, scopeVisible: false,
treeData: [], treeData: [],
treeDataCopy: [], treeDataCopy: [],
loading: false, loading: false,
btnLoading: false, btnLoading: false,
selectedTreeData: [], selectedTreeData: [],
applet: {},
friendSettingType: '' friendSettingType: ''
}; };
}, },
watch: {}, watch: {},
computed: { computed: {
haveAddApplet() { showEchoData() {
return this.form.welcomeMediaList.filter(item => item.mediaType == 5).length > 0; let bool1 = true;
let bool2 = false;
if (this.form.welcomeMediaList && this.form.welcomeMediaList.length && this.form.welcomeMediaList.length == 1 && this.form.welcomeMediaList[0].mediaType == 5) {
bool1 = false;
}
if (this.form.welcomeMediaList && this.form.welcomeMediaList.length && this.form.welcomeMediaList.length != 1) {
bool2 = true;
}
return bool1 && bool2;
} }
}, },
mounted() { mounted() {
...@@ -281,10 +268,10 @@ export default { ...@@ -281,10 +268,10 @@ export default {
if (id) { if (id) {
that.getData(); that.getData();
} }
if (type) { if (type && type == 1 && !id) {
this.friendSettingType = type; this.friendSettingType = type;
this.getAppData();
} }
this.getAppData();
}, },
destroyed() { destroyed() {
document.documentElement.style.backgroundColor = '#fff'; document.documentElement.style.backgroundColor = '#fff';
...@@ -301,7 +288,14 @@ export default { ...@@ -301,7 +288,14 @@ export default {
.then(res => { .then(res => {
let resData = res.data; let resData = res.data;
if (resData.errorCode == 1 && resData.result) { if (resData.errorCode == 1 && resData.result) {
this.applet = resData.result.length && resData.result[0]; const applet = resData.result.length && resData.result[0];
this.form.welcomeMediaList.push({
miniProgramName: applet.miniprogramName,
mediaTitle: applet.title,
mediaType: 5,
mediaUrl: applet.imageUrl,
mediaSize: ''
});
} }
}) })
.catch(function(error) { .catch(function(error) {
...@@ -437,8 +431,6 @@ export default { ...@@ -437,8 +431,6 @@ export default {
document.getElementsByClassName('upload-input')[index].click(); document.getElementsByClassName('upload-input')[index].click();
} else if (item.title == '链接') { } else if (item.title == '链接') {
this.urlDialogVisible = true; this.urlDialogVisible = true;
} else if (item.title == '小程序') {
this.appletsDialogVisible = true;
} }
}, },
handleDelMedia(row, index) { handleDelMedia(row, index) {
...@@ -529,16 +521,6 @@ export default { ...@@ -529,16 +521,6 @@ export default {
}); });
this.urlDialogVisible = false; this.urlDialogVisible = false;
}, },
addapplets() {
this.form.welcomeMediaList.push({
mediaTitle: this.applet.miniprogramName,
mediaMiniTitle: this.applet.title,
mediaType: 5,
mediaUrl: this.applet.imageUrl,
mediaSize: ''
});
this.appletsDialogVisible = false;
},
addLinkDialogShow() { addLinkDialogShow() {
this.addReplayDialog = true; this.addReplayDialog = true;
}, },
...@@ -567,7 +549,7 @@ export default { ...@@ -567,7 +549,7 @@ export default {
let resData = res.data; let resData = res.data;
if (resData.code == 0 && resData.result) { if (resData.code == 0 && resData.result) {
const { suitDepartmentList, title, welcomeId, welcomeContent, welcomeMediaList, wxEnterpriseId } = resData.result; const { suitDepartmentList, title, welcomeId, welcomeContent, welcomeMediaList, wxEnterpriseId } = resData.result;
this.form = { suitDepartmentList, suitDepartmentAddList: JSON.parse(JSON.stringify(suitDepartmentList)) || [], title, welcomeId, welcomeContent, welcomeMediaList, wxEnterpriseId }; this.form = { suitDepartmentList: suitDepartmentList || [], suitDepartmentAddList: JSON.parse(JSON.stringify(suitDepartmentList)) || [], title, welcomeId, welcomeContent, welcomeMediaList, wxEnterpriseId };
console.log(this.form); console.log(this.form);
this.form = Object.assign({}, this.form); this.form = Object.assign({}, this.form);
} }
...@@ -580,29 +562,28 @@ export default { ...@@ -580,29 +562,28 @@ export default {
}); });
}, },
submit() { submit() {
if (!this.form.suitDepartmentAddList.length) {
this.$message.error('请选择使用范围');
return;
}
this.$refs.form.validate(value => { this.$refs.form.validate(value => {
if (value) { if (value) {
const { suitDepartmentAddList, suitDepartmentList, title, welcomeId, welcomeContent, welcomeMediaList, wxEnterpriseId } = this.form; const { suitDepartmentAddList, suitDepartmentList, title, welcomeId, welcomeContent, welcomeMediaList, wxEnterpriseId } = this.form;
const para = { title, welcomeId, welcomeContent, mediaList: welcomeMediaList, wxEnterpriseId: wxEnterpriseId || this.wxEnterpriseId }; const para = { title, welcomeId, welcomeContent, welcomeMediaList, wxEnterpriseId: wxEnterpriseId || this.wxEnterpriseId };
if (!suitDepartmentAddList.length) { const addArr = [];
para.suitDepartmentDeleteList = suitDepartmentList; const delArr = [];
para.suitDepartmentAddList = []; suitDepartmentAddList.forEach(ele => {
} else { if (!suitDepartmentList.filter(item => item.departmentId == ele.departmentId).length) {
const addArr = []; addArr.push(ele);
const delArr = []; }
suitDepartmentAddList.forEach(ele => { });
if (!suitDepartmentList.filter(item => item.departmentId == ele.departmentId).length) { suitDepartmentList.forEach(ele => {
addArr.push(ele); if (!suitDepartmentAddList.filter(item => item.departmentId == ele.departmentId).length) {
} delArr.push(ele);
}); }
suitDepartmentList.forEach(ele => { });
if (!suitDepartmentAddList.filter(item => item.departmentId == ele.departmentId).length) { para.suitDepartmentAddList = addArr;
delArr.push(ele); para.suitDepartmentDeleteList = delArr;
}
});
para.suitDepartmentAddList = addArr;
para.suitDepartmentDeleteList = delArr;
}
para.suitDepartmentAddList.forEach(item => { para.suitDepartmentAddList.forEach(item => {
item.selectType = 1; item.selectType = 1;
}); });
...@@ -655,7 +636,7 @@ export default { ...@@ -655,7 +636,7 @@ export default {
display: flex; display: flex;
justify-content: flex-start; justify-content: flex-start;
align-items: center; align-items: center;
margin-bottom: 14px;
.popverText { .popverText {
font-size: 12px; font-size: 12px;
line-height: 16px; line-height: 16px;
...@@ -665,8 +646,10 @@ export default { ...@@ -665,8 +646,10 @@ export default {
text-overflow: ellipsis; text-overflow: ellipsis;
} }
} }
.flexBox + .flexBox { .flexBoxContainer:last-child {
margin-top: 14px; .flexBox {
margin-bottom: 0;
}
} }
} }
.addInfo { .addInfo {
...@@ -706,6 +689,19 @@ export default { ...@@ -706,6 +689,19 @@ export default {
.uploadListBox + .uploadListBox { .uploadListBox + .uploadListBox {
margin-left: 20px; margin-left: 20px;
} }
.scopeContainer {
.wwTag {
background: #ebeffe;
border-radius: 4px;
display: inline-block;
height: 24px;
line-height: 24px;
padding: 0 8px;
box-sizing: border-box;
margin-left: 8px;
margin-bottom: 8px;
}
}
.welcomeContent { .welcomeContent {
height: 220px; height: 220px;
border: 1px solid #dcdfe6; border: 1px solid #dcdfe6;
......
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