Commit 25ba2cf4 authored by 以墨为白's avatar 以墨为白 🎧

用户邮件加入

parent 2a3478a6
import { get, post, addParam} from "../../util/http_util";
const PREFIX_PATH = 'api/rest/mail/user';
export const addUser = data => {
return post(`${PREFIX_PATH}/add`, data);
}
export const removeUser = (email) => {
return get(`${PREFIX_PATH}/remove` + addParam({email}));
}
\ No newline at end of file
...@@ -4,4 +4,11 @@ ...@@ -4,4 +4,11 @@
export const ACCESS_TOKEN = "3ZTOKENFLAG"; export const ACCESS_TOKEN = "3ZTOKENFLAG";
export const ACCESS_USER = "3ZUSERFLAG"; export const ACCESS_USER = "3ZUSERFLAG";
export const SESSION_ID = "3ZSESSIONID"; export const SESSION_ID = "3ZSESSIONID";
export const HTTP_STATUS = {message: "服务请求失败", code:9004}; export const HTTP_STATUS = {message: "服务请求失败", code:9004};
\ No newline at end of file
/**
* 邮件系统
*/
export const MAIL_ADDRESS = "http://192.168.168.124:8000";
export const MAIL_MANAGER_ADDRESS = "http://192.168.168.124:8010";
export const MAIL_DOMAIN = "zyyt.com"
\ No newline at end of file
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
</div> </div>
<div class="everyDayNew"> <div class="everyDayNew">
<div class="everyTemplate"> <div class="everyTemplate">
<div v-for="(item1,index1) in item.news" <div v-for="(item1, index1) in item.news"
:class="['everyDayNewCard', 'cardType' + item1.teamInfo.teamType]"> :class="['everyDayNewCard', 'cardType' + item1.teamInfo.teamType]">
<div class="everyDayNewCardTitle" v-text="item1.title"></div> <div class="everyDayNewCardTitle" v-text="item1.title"></div>
<div class="everyDayNewCardContent"> <div class="everyDayNewCardContent">
...@@ -103,6 +103,7 @@ import ChatRoomDialog from "@/view/ddkz/components/chatRoomDialog.vue"; ...@@ -103,6 +103,7 @@ import ChatRoomDialog from "@/view/ddkz/components/chatRoomDialog.vue";
import ChatRoomPeople from "@/view/ddkz/components/chatRoomPeople.vue"; import ChatRoomPeople from "@/view/ddkz/components/chatRoomPeople.vue";
import textImg from '@/assets/img/ddkz/tool1.png'; import textImg from '@/assets/img/ddkz/tool1.png';
import excelImg from '@/assets/img/ddkz/tool5.png'; import excelImg from '@/assets/img/ddkz/tool5.png';
import { MAIL_ADDRESS } from "@/constant/user"
export default { export default {
data() { data() {
return { return {
...@@ -230,7 +231,7 @@ export default { ...@@ -230,7 +231,7 @@ export default {
}) })
}, },
sendEmail() { sendEmail() {
alert('敬请期待'); window.open(MAIL_ADDRESS);
}, },
showLiterature(url) { showLiterature(url) {
window.open("api/rest/file/download/CHAT/" + url); window.open("api/rest/file/download/CHAT/" + url);
...@@ -274,7 +275,7 @@ export default { ...@@ -274,7 +275,7 @@ export default {
}, '驳回'); }, '驳回');
const contentDiv = h('div', {}, `内容:${item.content}`); const contentDiv = h('div', {}, `内容:${item.content}`);
const fileDiv = h('div', {}, `附件名称:${item.remark==''?'暂无':item.remark}`); const fileDiv = h('div', {}, `附件名称:${item.remark == '' ? '暂无' : item.remark}`);
const divTemplate = h('div', { style: { textAlign: 'center' } }, [agreeButton, rejectButton]) const divTemplate = h('div', { style: { textAlign: 'center' } }, [agreeButton, rejectButton])
let myNotify = this.$notify({ let myNotify = this.$notify({
title: item.title, title: item.title,
...@@ -283,7 +284,7 @@ export default { ...@@ -283,7 +284,7 @@ export default {
message: h('div', { message: h('div', {
style: {} style: {}
}, },
[contentDiv,fileDiv, divTemplate] [contentDiv, fileDiv, divTemplate]
) )
}); });
this.notifications[item.id] = myNotify this.notifications[item.id] = myNotify
......
...@@ -18,10 +18,10 @@ ...@@ -18,10 +18,10 @@
<div class="searchButton" @click="searchChatList">搜索</div> <div class="searchButton" @click="searchChatList">搜索</div>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<div class="searchButton" <div class="online"
:style="{ background: stompClient.connected ? 'Green' : 'gray', color: 'white' }"> :style="{ background: stompClient.connected ? 'Green' : 'gray', color: 'white' }">
<span :class="[!stompClient.connected ? 'el-icon-loading' : '']"></span> <span :class="[!stompClient.connected ? 'el-icon-loading' : 'el-icon-check']"></span>
{{ stompClient.connected ? '已连接' : '重连中' }} {{ stompClient.connected ? '在线' : '重连中' }}
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -205,6 +205,20 @@ export default { ...@@ -205,6 +205,20 @@ export default {
background-color: #171a1cf7; background-color: #171a1cf7;
} }
} }
.online {
width: 80px;
height: 30px;
line-height: 30px;
margin-top: 4px;
margin-right: 30px;
font-size: 14px;
text-align: center;
background-size: 100% 100%;
background-repeat: no-repeat;
border: 1px solid #3a5f94c9 !important;
border-radius: 5px;
}
} }
.ddkz-content { .ddkz-content {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div id="yhgl"> <div id="yhgl">
<div class="choice"> <div class="choice">
<el-input class="input-content public-input" v-model="input" placeholder="输入需要查询的用户名"></el-input> <el-input class="input-content public-input" v-model="input" placeholder="输入需要查询的用户名"></el-input>
<div class="button-search" @click="search">搜索</div> <div class="button-search" @click="queryUser">搜索</div>
<div class="new-user" @click="addNew"> <div class="new-user" @click="addNew">
<img :src="img3" alt="" />&nbsp;新增 <img :src="img3" alt="" />&nbsp;新增
</div> </div>
...@@ -96,7 +96,7 @@ ...@@ -96,7 +96,7 @@
<el-input v-model="edit_user.telephone" placeholder="请输入电话号码"></el-input> <el-input v-model="edit_user.telephone" placeholder="请输入电话号码"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="邮箱"> <el-form-item label="邮箱">
<el-input v-model="edit_user.mail" placeholder="请输入邮箱"></el-input> <el-input :readonly="edit_user.mailReadOnly" v-model="edit_user.mail" placeholder="请输入邮箱"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="权限"> <el-form-item label="权限">
<el-select class="public-input" v-model="edit_user.role" placeholder="请选择" style="width: 100%"> <el-select class="public-input" v-model="edit_user.role" placeholder="请选择" style="width: 100%">
...@@ -122,7 +122,7 @@ ...@@ -122,7 +122,7 @@
padding: 20px; padding: 20px;
box-sizing: border-box; box-sizing: border-box;
overflow: hidden; overflow: hidden;
.choice { .choice {
width: 100%; width: 100%;
height: 40px; height: 40px;
...@@ -319,6 +319,8 @@ import img1 from "../../assets/img/setting/1.png"; ...@@ -319,6 +319,8 @@ import img1 from "../../assets/img/setting/1.png";
import img2 from "../../assets/img/setting/2.png"; import img2 from "../../assets/img/setting/2.png";
import img3 from "../../assets/img/setting/04.png"; import img3 from "../../assets/img/setting/04.png";
import back from "../../assets/img/setting/back.png"; import back from "../../assets/img/setting/back.png";
import { MAIL_DOMAIN } from "@/constant/user"
import { addUser, removeUser } from "@/api/mail/user"
import { import {
delete_util, delete_util,
get, get,
...@@ -384,7 +386,7 @@ export default { ...@@ -384,7 +386,7 @@ export default {
account: "", account: "",
username: "", username: "",
password: "", password: "",
email: "", mail: "",
telephone: "", telephone: "",
role: "", role: "",
id: null, id: null,
...@@ -393,7 +395,7 @@ export default { ...@@ -393,7 +395,7 @@ export default {
account: "", account: "",
username: "", username: "",
password: "", password: "",
email: "", mail: "",
telephone: "", telephone: "",
role: "", role: "",
state: "", state: "",
...@@ -431,6 +433,7 @@ export default { ...@@ -431,6 +433,7 @@ export default {
get("api/rest/system/user/queryUser").then((data) => { get("api/rest/system/user/queryUser").then((data) => {
this.data_table = data; this.data_table = data;
this.data_list = data; this.data_list = data;
this.search();
}).catch(err => { }).catch(err => {
this.$message.warning(err.message); this.$message.warning(err.message);
}); });
...@@ -455,7 +458,7 @@ export default { ...@@ -455,7 +458,7 @@ export default {
if (_search) { if (_search) {
this.data_list.filter((item) => { this.data_list.filter((item) => {
if (item.username != null) { if (item.username != null) {
if (item.username.toLowerCase().indexOf(_search) !== -1) { if (item.username.toLowerCase().indexOf(_search) !== -1 || item.account.toLowerCase().indexOf(_search) !== -1) {
newListData.push(item); newListData.push(item);
} }
} }
...@@ -476,6 +479,7 @@ export default { ...@@ -476,6 +479,7 @@ export default {
let tmp = Object.assign({}, item); let tmp = Object.assign({}, item);
tmp.role = tmp.role ? tmp.role.id : null; tmp.role = tmp.role ? tmp.role.id : null;
this.edit_user = tmp; this.edit_user = tmp;
this.edit_user.mailReadOnly = (this.edit_user.mail != null && this.edit_user.mail != "" && this.edit_user.mail != undefined);//当邮箱有了以后就不能修改
}, },
remove(item, index) { remove(item, index) {
this.$confirm("此操作将永久删除该用户, 是否继续?", "提示", { this.$confirm("此操作将永久删除该用户, 是否继续?", "提示", {
...@@ -485,8 +489,17 @@ export default { ...@@ -485,8 +489,17 @@ export default {
}) })
.then(() => { .then(() => {
delete_util("api/rest/system/user/deleteUser/" + item.id) delete_util("api/rest/system/user/deleteUser/" + item.id)
.then(res => {
if (res != 1) {
return Promise.reject({ message: "删除失败" })
} else if (item.mail) {
return removeUser(item.mail)
} else {
return Promise.resolve(true);
}
})
.then((data) => { .then((data) => {
if (data == 1) { if (data) {
this.data_table.splice(index, 1); this.data_table.splice(index, 1);
this.$message({ this.$message({
type: "success", type: "success",
...@@ -510,8 +523,22 @@ export default { ...@@ -510,8 +523,22 @@ export default {
if (valid) { if (valid) {
startLoading(); startLoading();
post("api/rest/system/user/register", this.new_user) post("api/rest/system/user/register", this.new_user)
.then(res => {
if (res != 1) {
return Promise.reject({ message: "用户新增失败" });
} else if (this.new_user.mail) {
return addUser({
password: this.new_user.password,
email: this.new_user.mail,
uname: this.new_user.username,
tel: this.new_user.telephone
});
} else {//没有输入邮箱
return Promise.resolve();
}
})
.then((data) => { .then((data) => {
data == 1 ? this.$message.success("新增成功!") : ""; this.$message.success("新增成功!");
this.centerDialogVisible = false; this.centerDialogVisible = false;
//再次查询用户名 重新赋值 //再次查询用户名 重新赋值
this.queryUser(); this.queryUser();
...@@ -530,8 +557,22 @@ export default { ...@@ -530,8 +557,22 @@ export default {
this.$refs[formName].validate((valid) => { this.$refs[formName].validate((valid) => {
if (valid) { if (valid) {
post("api/rest/system/user/updateUser", this.edit_user) post("api/rest/system/user/updateUser", this.edit_user)
.then(res => {
if (res != 1) {
return Promise.reject({ message: "用户新增失败" });
} else if (this.edit_user.mail) {
return addUser({
password: "3z111111",
email: this.edit_user.mail,
uname: this.edit_user.username,
tel: this.edit_user.telephone
});
} else {
return Promise.resolve();
}
})
.then((data) => { .then((data) => {
data == 1 ? this.$message.success("修改成功!") : ""; this.$message.success("修改成功!");
(this.centerDialogVisible = false), this.queryUser(); (this.centerDialogVisible = false), this.queryUser();
}) })
.catch((err) => { .catch((err) => {
...@@ -575,5 +616,14 @@ export default { ...@@ -575,5 +616,14 @@ export default {
this.$message.warning(err.message); this.$message.warning(err.message);
}); });
}, },
watch: {
'new_user.account'(newVal, oldVal) {
if (newVal) {
this["new_user"]["mail"] = (newVal ? newVal : "") + "@" + MAIL_DOMAIN;
} else {
this["new_user"]["mail"] = null;
}
}
}
}; };
</script> </script>
\ No newline at end of file
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