提交 ab119d8f 编写于 作者: huangwensu's avatar huangwensu

导入人员列表

上级 3e82498e
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<el-input clearable v-model="searchParam.title" size="mini" maxlength="20" placeholder="请输入群发标题" style="width: 300px;"></el-input> <el-input clearable v-model="searchParam.title" size="mini" maxlength="20" placeholder="请输入群发标题" style="width: 300px;"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="目标用户"> <el-form-item label="目标用户">
<el-input clearable v-model="fileName" size="mini" placeholder="请上传目标用户" style="width: 300px;"></el-input> <el-input clearable v-model="excelfileName" size="mini" placeholder="请上传目标用户" style="width: 300px;"></el-input>
<el-upload <el-upload
class="upload-demo" class="upload-demo"
accept=".xlsx" accept=".xlsx"
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
placeholder="请输入文本信息" placeholder="请输入文本信息"
style="width: 300px;"></el-input> style="width: 300px;"></el-input>
</div> </div>
<div class="file-content" v-if="item.type == 1"> <div class="file-content" v-if="item.type == 1 || item.type == 2">
<p>文件信息<i class="el-icon-error" @click="deleteFile(item,index)"></i></p> <p>文件信息<i class="el-icon-error" @click="deleteFile(item,index)"></i></p>
<el-input v-model="item.info" size="mini" placeholder="请上传文件信息" style="width: 300px;"></el-input> <el-input v-model="item.info" size="mini" placeholder="请上传文件信息" style="width: 300px;"></el-input>
<el-upload <el-upload
...@@ -58,10 +58,10 @@ ...@@ -58,10 +58,10 @@
<p>链接<i class="el-icon-error" @click="deleteLink(item,index)"></i></p> <p>链接<i class="el-icon-error" @click="deleteLink(item,index)"></i></p>
<el-select clearable v-model="item.info" size="mini" placeholder="请选择链接" style="width: 300px;"> <el-select clearable v-model="item.info" size="mini" placeholder="请选择链接" style="width: 300px;">
<el-option <el-option
v-for="item in options" v-for="item in linkList"
:key="item.value" :key="item.id"
:label="item.label" :label="item.title"
:value="item.value"> :value="item.title">
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
...@@ -96,14 +96,15 @@ export default { ...@@ -96,14 +96,15 @@ export default {
}, },
data() { data() {
return { return {
fileName:'', excelfileName:'',
fileName: '',
contentList: [], contentList: [],
searchParam: { searchParam: {
title: '', title: '',
fileModel: {}, fileModel: {},
contentModelList: [] contentModelList: []
}, },
options: [], linkList: [],
templateFileUrl: '', templateFileUrl: '',
fileIndex: 0 fileIndex: 0
}; };
...@@ -114,33 +115,35 @@ export default { ...@@ -114,33 +115,35 @@ export default {
// 挂载到Dom完成时 // 挂载到Dom完成时
mounted() { mounted() {
commonUtil.resizeHeight(); commonUtil.resizeHeight();
this.getFiveContentList();
}, },
methods: { methods: {
// 上传列表 // 上传列表
uploadUserFile(file) { uploadUserFile(file) {
let _this = this; let _this = this;
let base64 = {}; let arr = file.type.split("/");
let FileExt = file.name.replace(/.+\./, ""); let ext = "." + arr[1];
if (["xls", "xlsx"].indexOf(FileExt.toLowerCase()) === -1) { let name = file.name;
_this.$message({
type: "warning",
message: "请上传后缀名为xls,xlsx的原文件!",
});
return false;
}
let reader = new FileReader(); let reader = new FileReader();
reader.readAsDataURL(file); reader.onload = function(e) {
reader.onload = function() { let fileJson = {
base64.ext = file.name.split(".")[1]; fileName: file.name,
base64.file = reader.result; file: e.target.result.substr(e.target.result.indexOf("base64,") + 7),
base64.fileName = file.name; ext: ext
_this.fileName = file.name; };
let fileArray = {
type: "",
base64: fileJson
};
_this.excelfileName = file.name;
_this.searchParam.fileModel = fileArray;
} }
this.searchParam.fileModel = base64; reader.readAsDataURL(file);
}, },
// 下载用户模板 // 下载用户模板
downTemplate() { downTemplate() {
let a = document.createElement('a'); let a = document.createElement('a');
this.templateFileUrl = 'https://file.yunqueyi.com/im/group/%E7%94%A8%E6%88%B7%E5%88%97%E8%A1%A8%E6%A8%A1%E6%9D%BF.xlsx';
a.setAttribute('href', this.templateFileUrl); a.setAttribute('href', this.templateFileUrl);
a.click(); a.click();
}, },
...@@ -165,10 +168,13 @@ export default { ...@@ -165,10 +168,13 @@ export default {
// 添加文件 // 添加文件
addFile() { addFile() {
if(this.searchParam.contentModelList.length < 6) { if(this.searchParam.contentModelList.length < 6) {
this.searchParam.contentModelList.push({ this.searchParam.contentModelList.push({
type: 1, type: 1,
info: '', info: '',
url: '' url: '',
width: 0,
height: 0
}) })
}else { }else {
this.$message({ this.$message({
...@@ -182,32 +188,35 @@ export default { ...@@ -182,32 +188,35 @@ export default {
this.fileIndex = index; this.fileIndex = index;
}, },
uploadImportFile(file) { uploadImportFile(file) {
console.log("================",file)
let _this = this; let _this = this;
let FileExt = file.name.replace(/.+\./, "");
const isLt5M = file.size / 1024 / 1024 < 6; const isLt5M = file.size / 1024 / 1024 < 6;
if (!isLt5M) { if (!isLt5M) {
this.$message.error('上传文件不能超过 5MB!'); this.$message.error('上传文件不能超过 5MB!');
return isLt5M return isLt5M
} }
if(FileExt == 'png' || FileExt == 'jpg' || FileExt == "jpeg") { _this.searchParam.contentModelList[this.fileIndex].info = file.name;
if(file.type == 'image/png' || file.type == 'image/jpg' || file.type == "image/jpeg") {
_this.searchParam.contentModelList[this.fileIndex].type = 1; // 图片 _this.searchParam.contentModelList[this.fileIndex].type = 1; // 图片
let imgFile = new FileReader(); let imgFile = new FileReader();
imgFile.readAsDataURL(file); imgFile.readAsDataURL(file);
imgFile.onload = function(theFile) { imgFile.onload = function(e) {
let image = new Image(); let image = new Image();
image.src = theFile.target.result; image.src = e.target.result;
image.onload = function() { image.onload = function() {
_this.searchParam.contentModelList[this.fileIndex].width = this.width; _this.searchParam.contentModelList[this.fileIndex].width = this.width;
_this.searchParam.contentModelList[this.fileIndex].height = this.height; _this.searchParam.contentModelList[this.fileIndex].height = this.height;
} }
} }
}else if(FileExt == 'pdf') { }else if(file.type == 'application/pdf') {
_this.searchParam.contentModelList[this.fileIndex].type = 2; // pdf _this.searchParam.contentModelList[this.fileIndex].type = 2; // pdf
} }
_this.searchParam.contentModelList[this.fileIndex].fileSize = file.size; _this.searchParam.contentModelList[this.fileIndex].fileSize = file.size;
doUpload(_this, file, getFilePath(file,null), 'preview4', 'progress1', 1).then( path => { doUpload(_this, file, getFilePath(file,null), 'preview4', 'progress1', 1).then( path => {
_this.fileName = file.name;
_this.searchParam.contentModelList[this.fileIndex].url = path.fullPath; _this.searchParam.contentModelList[this.fileIndex].url = path.fullPath;
}); });
}, },
// 删除文件 // 删除文件
...@@ -229,6 +238,21 @@ export default { ...@@ -229,6 +238,21 @@ export default {
}); });
} }
}, },
// 获取积木列表
getFiveContentList() {
this.GET(
"/contents/admin/template/queryTemplate?publishFlag=5&pageNo=1&pageSize=99999"
).then(res => {
if (res.code === "000000") {
this.linkList = res.data.templateList || [];
} else {
this.$message({
message: res.message,
type: "error"
});
}
});
},
// 删除链接 // 删除链接
deleteLink(item, index) { deleteLink(item, index) {
this.searchParam.contentModelList.splice(index, 1) this.searchParam.contentModelList.splice(index, 1)
...@@ -236,31 +260,38 @@ export default { ...@@ -236,31 +260,38 @@ export default {
// 确认群发 // 确认群发
confirmSubmit() { confirmSubmit() {
this.loading = true; this.loading = true;
let req = { let req = this.searchParam;
groupMessageSendReq: this.searchParam for(let i = 0; i < req.contentModelList.length; i++) {
}; if(req.contentModelList[i].type == 3) {
if(!req.groupMessageSendReq.title) { this.linkList.forEach((element, index) => {
if(element.title == req.contentModelList[i].info) {
req.contentModelList[i].url = element.linkUrl;
}
});
}
}
if(!req.title) {
this.$message({ this.$message({
message: '请输入标题', message: '请输入标题',
type: 'warning' type: 'warning'
}); });
return return
} }
if(isEmptyUtils(req.groupMessageSendReq.fileModel)) { if(isEmptyUtils(req.fileModel)) {
this.$message({ this.$message({
message: '请上传人员名单', message: '请上传人员名单',
type: 'warning' type: 'warning'
}); });
return return
} }
if(req.groupMessageSendReq.contentModelList.length < 1) { if(req.contentModelList.length < 1) {
this.$message({ this.$message({
message: '请输入群发内容', message: '请输入群发内容',
type: 'warning' type: 'warning'
}); });
return return
}else { }else {
let list = req.groupMessageSendReq.contentModelList; let list = req.contentModelList;
for(let i = 0; i < list.length; i++) { for(let i = 0; i < list.length; i++) {
if(!list[i].info) { if(!list[i].info) {
this.$message({ this.$message({
...@@ -271,11 +302,22 @@ export default { ...@@ -271,11 +302,22 @@ export default {
} }
} }
} }
this.POST("/im/group/message", req).then(res => { this.POST("/im/group/messages", req).then(res => {
this.loading = false; this.loading = false;
if (res.code == "000000") { if(res.code == '000000') {
if (res.data.status == 1) {
this.searchParam.title = "";
this.searchParam.fileModel = {};
this.searchParam.contentModelList = [];
this.excelfileName = '';
}else {
this.$message({
message: res.data.message,
type: 'error'
});
}
} }
}); });
} }
} }
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册