From 85da22c4861736f7b0cabbc75daecbe4fea1bf80 Mon Sep 17 00:00:00 2001
From: heyujie <516346543@qq.com>
Date: 星期日, 04 七月 2021 21:01:12 +0800
Subject: [PATCH] 周天更改
---
src/api/user.ts | 8 ++
src/pages/systemSettings/index/App.vue | 221 +++++++++++++++++++++++++++++++++---------------------
2 files changed, 143 insertions(+), 86 deletions(-)
diff --git a/src/api/user.ts b/src/api/user.ts
index 58be30b..b2b61a0 100644
--- a/src/api/user.ts
+++ b/src/api/user.ts
@@ -71,3 +71,11 @@
data: params
});
};
+
+
+export const defHeadPics = () => {
+ return request({
+ url: "/data/api-u/users/defHeadPics",
+ method: "get"
+ });
+};
\ No newline at end of file
diff --git a/src/pages/systemSettings/index/App.vue b/src/pages/systemSettings/index/App.vue
index 9f3e647..e5988b4 100644
--- a/src/pages/systemSettings/index/App.vue
+++ b/src/pages/systemSettings/index/App.vue
@@ -28,12 +28,20 @@
@click="openAccount(item, index)"
>
<div class="touxiang">
- <img :src="item.headpic" alt="" />
+ <img
+ v-if="item.headpic"
+ :src="
+ item.headpic.indexOf('http') > -1
+ ? item.headpic
+ : 'http://' + item.headpic
+ "
+ alt=""
+ />
</div>
<span class="user-name">{{ item.username }}</span>
</div>
</div>
- <div class="add-account" >
+ <div class="add-account">
<span class="icon iconfont" @click="showAddAccount"></span>
</div>
</div>
@@ -82,7 +90,15 @@
>
<div class="content-top">
<div class="touxiang-big">
- <img :src="activeAccountItem.headpic" alt="" />
+ <img
+ v-if="activeAccountItem.headpic"
+ :src="
+ activeAccountItem.headpic.indexOf('http') > -1
+ ? activeAccountItem.headpic
+ : 'http://' + activeAccountItem.headpic
+ "
+ alt=""
+ />
</div>
<div class="user-desc">
<div class="username">
@@ -109,7 +125,13 @@
></span
>
</div>
- <div class="user-role">{{activeAccountItem.sysRoles.length?activeAccountItem.sysRoles[0].name:""}}</div>
+ <div class="user-role">
+ {{
+ activeAccountItem.sysRoles.length
+ ? activeAccountItem.sysRoles[0].name
+ : ""
+ }}
+ </div>
</div>
</div>
<div class="list-btn">
@@ -156,7 +178,7 @@
</el-form>
<div class="btns">
<div class="cancel" @click="cancelChangePassword">鍙栨秷</div>
- <div class="ok">淇濆瓨</div>
+ <div class="ok" @click="SaveNewPassword('passwordForm')">淇濆瓨</div>
</div>
</div>
@@ -201,9 +223,15 @@
<div class="upload-group">
<div
class="upload-jpg"
- v-for="(item, index) in jpgArr"
+ :class="
+ selectedPic == index && url !== '' ? 'upload-jpg-mask' : ''
+ "
+ v-for="(url, index) in jpgArr"
:key="index"
- ></div>
+ @click="pickHeadDefPic(url, index)"
+ >
+ <img v-if="url !== ''" :src="url" alt="" srcset="" />
+ </div>
<el-upload
class="upload-demo"
@@ -469,7 +497,7 @@
updatePassword,
deleteUser,
getUserMenus,
- getSysMenus,
+ defHeadPics,
} from "@/api/user";
import switchBar from "../components/switchBar";
import ipInput from "@/components/subComponents/IPInput";
@@ -488,16 +516,6 @@
generalSettings,
},
data() {
- var validatePass = (rule, value, callback) => {
- if (value === "") {
- callback(new Error("璇疯緭鍏ュ瘑鐮�"));
- } else {
- if (this.addForm.checkPass !== "") {
- this.$refs.addForm.validateField("checkPassword");
- }
- callback();
- }
- };
var validatePass2 = (rule, value, callback) => {
if (value === "") {
callback(new Error("璇峰啀娆¤緭鍏ュ瘑鐮�"));
@@ -507,30 +525,10 @@
callback();
}
};
- var validatePass3 = (rule, value, callback) => {
- if (value === "") {
- callback(new Error("璇疯緭鍏ュ瘑鐮�"));
- } else {
- if (this.passwordForm.password !== "") {
- this.$refs.passwordForm.validateField("pw");
- }
- callback();
- }
- };
- var validatePass5 = (rule, value, callback) => {
- if (value === "") {
- callback(new Error("璇疯緭鍏ュ瘑鐮�"));
- } else {
- if (this.passwordForm.newPassword !== "") {
- this.$refs.passwordForm.validateField("newPw");
- }
- callback();
- }
- };
var validatePass4 = (rule, value, callback) => {
if (value === "") {
callback(new Error("璇峰啀娆¤緭鍏ュ瘑鐮�"));
- } else if (value !== this.passwordForm.confirmPassword) {
+ } else if (value !== this.passwordForm.newPassword) {
callback(new Error("涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!"));
} else {
callback();
@@ -559,6 +557,7 @@
showSecInput: false,
showYrsInput: false,
showMonthInput: false,
+ selectedPic: null,
showDayInput: false,
cameraInfo: false,
dependentScene: false,
@@ -583,7 +582,7 @@
{ name: "閫氱敤璁剧疆" },
],
accountArr: [],
- jpgArr: [{}, {}, {}, {}, {}, {}, {}, {}, {}],
+ jpgArr: ["", "", "", "", "", "", "", "", ""],
isManual: false,
isNtp: true,
activePage: "璐︽埛",
@@ -620,13 +619,23 @@
trigger: "blur",
},
],
- password: [{ validator: validatePass, trigger: "blur" }],
+ password: [
+ { required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur' },
+ { min: 6, message: '闀垮害鑷冲皯涓� 6 浣�', trigger: 'blur' }
+ ],
confirmPassword: [{ validator: validatePass2, trigger: "blur" }],
},
pwRules: {
- pw: [{ validator: validatePass3, trigger: "blur" }],
- newPw: [{ validator: validatePass5, trigger: "blur" }],
- confirmNewPw: [{ validator: validatePass4, trigger: "blur" }],
+ // pw: [{ validator: validatePass3, trigger: "blur" }],
+ curPassword: [
+ { required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur' },
+ { min: 6, message: '闀垮害鑷冲皯涓� 6 浣�', trigger: 'blur' }
+ ],
+ newPassword: [
+ { required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur' },
+ { min: 6, message: '闀垮害鑷冲皯涓� 6 浣�', trigger: 'blur' }
+ ],
+ confirmPassword: [{ validator: validatePass4, trigger: "blur" }],
},
};
},
@@ -636,13 +645,27 @@
},
mounted() {
this.fetchUserList();
+ this.fetchDefHeadPic();
},
methods: {
- fetchUserList() {
+ fetchDefHeadPic() {
+ defHeadPics().then((res) => {
+ res.data.slice(0, 5).forEach((x, i) => {
+ this.jpgArr[i] = x;
+ });
+ });
+ },
+ fetchUserList(showLast = false) {
getUsers().then((res) => {
this.accountArr = res.data;
if (this.accountArr.length) {
this.activeAccountItem = this.accountArr[0];
+ }
+ if (showLast) {
+ this.cancelAdd();
+ const lastIdx = this.accountArr.length - 1;
+ this.openAccount(this.accountArr[lastIdx], lastIdx);
+
}
});
},
@@ -661,7 +684,7 @@
nickname: this.inputNickName,
}).then((res) => {
this.$message.success(res.msg);
- this.fetchUserList();
+ this.fetchUserList(true);
});
},
openAccount(item, i) {
@@ -790,7 +813,7 @@
},
submitClock() {
if (this.syncType === "1") {
- if (this.ntpServer === ""||this.ntpServer === "...") {
+ if (this.ntpServer === "" || this.ntpServer === "...") {
this.$notify({
type: "error",
message: "NTP 鏈嶅姟鍣ㄥ湴鍧�涓嶈兘涓虹┖",
@@ -870,7 +893,8 @@
let param = new FormData();
param.append("file", params.file);
uploadHeadPic(param).then((res) => {
- this.addForm.headpic = res.data;
+ let index = this.jpgArr.findIndex((x) => x == "");
+ this.$set(this.jpgArr, index, res.data);
});
},
initClockConf(ntpTest = false) {
@@ -879,8 +903,8 @@
this.timezone = rsp.data.time_zone;
if (!ntpTest) {
this.syncType = rsp.data.ntp ? "1" : "2";
- this.isNtp = rsp.data.ntp
- this.isManual = !rsp.data.ntp
+ this.isNtp = rsp.data.ntp;
+ this.isManual = !rsp.data.ntp;
}
if (rsp.data.ntp) {
this.ntpServer = rsp.data.ntp_server;
@@ -889,7 +913,7 @@
this.timestamp = rsp.data.local_time;
if (this.clockTimer === null) {
this.runClock();
- if(this.isManual)this.parseTime()
+ if (this.isManual) this.parseTime();
}
}
});
@@ -939,8 +963,25 @@
cancelChangePassword() {
this.isChangePw = false;
this.inAccountDetail = false;
+ this.$refs['passwordForm'].resetFields()
},
-
+ SaveNewPassword(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (valid) {
+ updatePassword({
+ oldPwd: this.passwordForm.curPassword,
+ newPwd: this.passwordForm.newPassword,
+ }).then(
+ (res) => {
+ this.$message.success(res.data);
+ },
+ (err) => {
+ this.$message.warning("淇濆瓨澶辫触锛�" + err.msg);
+ }
+ );
+ }
+ });
+ },
saveAddAccount(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
@@ -953,6 +994,7 @@
addUser(data).then(
(res) => {
this.$message.success(res.data);
+ this.fetchUserList(true);
},
(err) => {
this.$message.warning("淇濆瓨澶辫触锛�" + err.msg);
@@ -963,6 +1005,10 @@
return false;
}
});
+ },
+ pickHeadDefPic(url, i) {
+ this.addForm.headpic = url;
+ this.selectedPic = i;
},
testNTP() {
this.ntpTestLoading = true;
@@ -1011,9 +1057,10 @@
cancelButtonText: "鍙栨秷",
})
.then(() => {
- deleteUser({
+ let obj = {
ids: [this.activeAccountItem.id],
- }).then((res) => {
+ };
+ deleteUser(obj).then((res) => {
if (res.success) {
this.fetchUserList();
this.$message({
@@ -1041,10 +1088,14 @@
this.isSetPermission = true;
this.fetchMenu();
},
- parseTime(){
+ parseTime() {
debugger;
- [this.syncYrs, this.syncMonth, this.syncDay] = this.equipmentDate.split("-");
- [this.syncHour, this.syncMin, this.syncSec] = this.equipmentTime.split(":");
+ [this.syncYrs, this.syncMonth, this.syncDay] = this.equipmentDate.split(
+ "-"
+ );
+ [this.syncHour, this.syncMin, this.syncSec] = this.equipmentTime.split(
+ ":"
+ );
},
changeSwitch(str) {
if (str == "isNtp") {
@@ -1053,28 +1104,15 @@
this.isNtp = !this[str];
}
this.syncType = this.isNtp ? "1" : "2";
- if (this.isManual) this.parseTime()
+ if (this.isManual) this.parseTime();
},
},
computed: {
- isShowAddAccount(){
- const info = JSON.parse(sessionStorage.getItem('userInfo'))
- return true
- }
+ isShowAddAccount() {
+ const info = JSON.parse(sessionStorage.getItem("userInfo"));
+ return true;
+ },
},
- // watch: {
- // isManual(v) {
- // this.isNtp = !v;
- // v && (this.syncType = "2");
- // if (v) {
-
- // }
- // },
- // isNtp(v) {
- // this.isManual = !v;
- // v && (this.syncType = "1");
- // },
- // },
};
</script>
<style lang="scss">
@@ -1279,9 +1317,9 @@
cursor: pointer;
}
}
- .user-role{
- margin: 5px 0 0 15px;
- font-size: 14px;
+ .user-role {
+ margin: 5px 0 0 15px;
+ font-size: 14px;
}
}
}
@@ -1362,22 +1400,31 @@
.add-account-page {
.upload-group {
- height: 120px;
- width: 350px;
+ height: 130px;
+ width: 360px;
margin: 0 auto;
overflow: hidden;
.upload-jpg {
- height: 50px;
- width: 50px;
+ height: 46px;
+ width: 46px;
float: left;
margin: 0 10px;
- background-color: antiquewhite;
margin-bottom: 20px;
- border-radius: 25px;
+ background-color: rgba(242, 242, 242, 1);
+ border: 3px solid transparent;
+ border-radius: 50%;
+ cursor: pointer;
+ img {
+ height: 46px;
+ width: 46px;
+ }
+ }
+ .upload-jpg-mask {
+ border: 3px solid blue;
}
.upload-jpg-up {
- height: 50px;
- width: 50px;
+ height: 52px;
+ width: 52px;
float: left;
display: flex;
background-color: rgba(242, 242, 242, 1);
@@ -1389,6 +1436,8 @@
font-size: 12px;
cursor: pointer;
}
+ .loaded-Pic {
+ }
}
.fill-group {
.p-title {
--
Gitblit v1.8.0