From 790c8124a913595818247279f50cfd2cfd892799 Mon Sep 17 00:00:00 2001 From: heyujie <516346543@qq.com> Date: 星期三, 30 六月 2021 14:25:36 +0800 Subject: [PATCH] gettasklist修改 --- src/pages/systemSettings/index/App.vue | 200 +++++++++++++++++++++++++++++-------------------- 1 files changed, 117 insertions(+), 83 deletions(-) diff --git a/src/pages/systemSettings/index/App.vue b/src/pages/systemSettings/index/App.vue index c477954..9f3e647 100644 --- a/src/pages/systemSettings/index/App.vue +++ b/src/pages/systemSettings/index/App.vue @@ -3,6 +3,7 @@ <div class="container-left"> <div class="left-card" + :class="activeIndex == index ? 'left-card-active' : ''" v-for="(item, index) in menuArr" :key="index" @click="openMenu(item, index)" @@ -32,7 +33,7 @@ <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> @@ -51,13 +52,21 @@ <div class="line"> <div class="name">NTP鏍℃椂</div> - <el-switch v-model="isNtp" active-color="rgba(61, 104, 225, 1)"> + <el-switch + v-model="isNtp" + @change="changeSwitch('isNtp')" + active-color="rgba(61, 104, 225, 1)" + > </el-switch> </div> <div class="line"> <div class="name">鎵嬪姩鏍″</div> - <el-switch v-model="isManual" active-color="rgba(61, 104, 225, 1)"> + <el-switch + v-model="isManual" + @change="changeSwitch('isManual')" + active-color="rgba(61, 104, 225, 1)" + > </el-switch> </div> </div> @@ -100,6 +109,7 @@ ></span > </div> + <div class="user-role">{{activeAccountItem.sysRoles.length?activeAccountItem.sysRoles[0].name:""}}</div> </div> </div> <div class="list-btn"> @@ -159,23 +169,30 @@ <el-switch v-model="item.selected" active-color="rgba(61, 104, 225, 1)" + @change="fatherChange(item)" > </el-switch> </div> <div v-if="item.children"> - <div class="line" style="margin-left:55px;" v-for="x in item.children" :key="x.id"> - <div class="name">{{ x.name }}</div> - <el-switch - v-model="x.selected" - active-color="rgba(61, 104, 225, 1)" - > - </el-switch> - </div> + <div + class="line" + style="margin-left: 55px" + v-for="x in item.children" + :key="x.id" + > + <div class="name">{{ x.name }}</div> + <el-switch + v-model="x.selected" + active-color="rgba(61, 104, 225, 1)" + @change="childrenChange(item)" + > + </el-switch> </div> + </div> </div> <div class="btns"> <div class="cancel" @click="cancelSet">鍙栨秷</div> - <div class="ok">淇濆瓨</div> + <div class="ok" @click="saveAuth">淇濆瓨</div> </div> </div> @@ -448,6 +465,7 @@ addUser, getUsers, updateUser, + updataUser, updatePassword, deleteUser, getUserMenus, @@ -617,15 +635,7 @@ clearInterval(this.browserTimer); }, mounted() { - // const s = document.getElementsByClassName("left-card")[0]; - // s.style.backgroundColor = "rgba(61, 104, 225, 1)"; - // s.style.color = "#fff"; - this.$nextTick(() => { - this.initClockConf(); - }); - this.fetchUserList(); - this.fetchSysMenus(); }, methods: { fetchUserList() { @@ -657,6 +667,7 @@ openAccount(item, i) { this.activeAccountItem = item; this.activeAccountIndex = i; + this.inAccountDetail = false; }, minusOne(typ) { this.isSyncBrowser = false; @@ -713,11 +724,20 @@ break; } }, + fatherChange(item) { + item.children.forEach((x) => { + x.selected = false; + }); + }, + childrenChange(item) { + let isAllSelected = item.children.every((x) => x.selected == true); + let isAllNotSelected = item.children.every((x) => x.selected == false); + if (isAllSelected) item.selected = true; + if (isAllNotSelected) item.selected = false; + }, getMaxDay() { const maxDay = new Date(+this.syncYrs, +this.syncMonth, 0).getDate(); - if (this.syncDay > maxDay) { - this.syncDay = maxDay; - } + if (this.syncDay > maxDay) this.syncDay = maxDay; }, plusOne(typ) { this.isSyncBrowser = false; @@ -762,7 +782,6 @@ if (num > maxDay) { num = 1; } - // this.syncDay = this.padZero(num); break; default: @@ -770,9 +789,8 @@ } }, submitClock() { - debugger; if (this.syncType === "1") { - if (this.ntpServer === "") { + if (this.ntpServer === ""||this.ntpServer === "...") { this.$notify({ type: "error", message: "NTP 鏈嶅姟鍣ㄥ湴鍧�涓嶈兘涓虹┖", @@ -792,14 +810,13 @@ } else { this.settime = `${this.syncYrs}-${this.syncMonth}-${this.syncDay} ${this.syncHour}:${this.syncMin}:${this.syncSec}`; } - let requestBody = { + saveClockInfo({ timeZone: this.timezone, ntp: this.syncType === "1", ntpServer: this.ntpServer, interval: this.timeInterval, newTime: this.settime, - }; - saveClockInfo(requestBody).then((rsp) => { + }).then((rsp) => { if (rsp && rsp.success) { this.$notify({ type: "success", @@ -809,19 +826,32 @@ this.initClockConf(); }); }, + flatGetArr(arr, res) { + for (const item of arr) { + if (item.selected) res.push(item.id); + if (item.children) this.flatGetArr(item.children, res); + } + }, + saveAuth() { + let arr = []; + this.flatGetArr(this.sysMenus, arr); + updataUser({ + id: this.activeAccountItem.id, + menuIds: arr, + }).then((res) => { + res.data; + }); + }, formatTime(number, format) { var formateArr = ["Y", "M", "D", "h", "m", "s"]; var returnArr = []; - var date = new Date(number * 1000); returnArr.push(date.getFullYear()); returnArr.push(this.formatNumber(date.getMonth() + 1)); returnArr.push(this.formatNumber(date.getDate())); - returnArr.push(this.formatNumber(date.getHours())); returnArr.push(this.formatNumber(date.getMinutes())); returnArr.push(this.formatNumber(date.getSeconds())); - this.weekday = "鏄熸湡" + "鏃ヤ竴浜屼笁鍥涗簲鍏�".charAt(date.getDay()); for (var i in returnArr) { format = format.replace(formateArr[i], returnArr[i]); @@ -832,7 +862,6 @@ n = +n; return n < 10 ? "0" + n : "" + n; }, - //鏁版嵁杞寲 formatNumber(n) { n = n.toString(); return n[1] ? n : "0" + n; @@ -850,6 +879,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 } if (rsp.data.ntp) { this.ntpServer = rsp.data.ntp_server; @@ -858,22 +889,17 @@ this.timestamp = rsp.data.local_time; if (this.clockTimer === null) { this.runClock(); + if(this.isManual)this.parseTime() } } }); }, openMenu(item, i) { - const old = document.getElementsByClassName("left-card")[ - this.activeIndex - ]; - old.style.backgroundColor = "initial"; - old.style.color = "rgba(81, 81, 81, 1)"; - this.activePage = item.name; this.activeIndex = i; - const s = document.getElementsByClassName("left-card")[i]; - s.style.backgroundColor = "rgba(61, 104, 225, 1)"; - s.style.color = "#fff"; + if (this.activePage == "鏃ユ湡鏃堕棿") { + this.initClockConf(); + } }, showInput(typ) { this[`show${typ}Input`] = true; @@ -888,9 +914,9 @@ this[`show${typ}Input`] = false; this[`input${typ}`] = ""; }, - syncBrowser(val) { + syncBrowser(enable) { this.isSyncBrowser = val; - if (val == false) { + if (!enable) { clearInterval(this.browserTimer); } else { this.browserTimer = setInterval(() => { @@ -914,14 +940,7 @@ this.isChangePw = false; this.inAccountDetail = false; }, - fetchSysMenus() { - getSysMenus().then((rsp) => { - if (rsp && rsp.success) { - this.sysMenus = rsp.data; - console.log(this.sysMenus); - } - }); - }, + saveAddAccount(formName) { this.$refs[formName].validate((valid) => { if (valid) { @@ -992,7 +1011,6 @@ cancelButtonText: "鍙栨秷", }) .then(() => { - debugger; deleteUser({ ids: [this.activeAccountItem.id], }).then((res) => { @@ -1009,46 +1027,54 @@ }) .catch(() => {}); }, - openPermission() { - this.inAccountDetail = true; - this.isSetPermission = true; + fetchMenu() { getUserMenus({ userId: this.activeAccountItem.id, }).then((res) => { if (res && res.success) { - res.data.menus.forEach(e => { - - }); + this.sysMenus = res.data; } }); - - // getUserMenus({ userId: row.id }).then(rsp => { - // if (rsp && rsp.success) { - // this.userMenus = rsp.data.menus.map(menu => { - // return menu.id - // }) - // } - // }) }, - }, - watch: { - isManual(v) { - this.isNtp = !v; - v && (this.syncType = "2"); - if (v) { - [this.syncYrs, this.syncMonth, this.syncDay] = this.equipmentDate.split( - "-" - ); - [this.syncHour, this.syncMin, this.syncSec] = this.equipmentTime.split( - ":" - ); + openPermission() { + this.inAccountDetail = true; + this.isSetPermission = true; + this.fetchMenu(); + }, + parseTime(){ + debugger; + [this.syncYrs, this.syncMonth, this.syncDay] = this.equipmentDate.split("-"); + [this.syncHour, this.syncMin, this.syncSec] = this.equipmentTime.split(":"); + }, + changeSwitch(str) { + if (str == "isNtp") { + this.isManual = !this[str]; + } else { + this.isNtp = !this[str]; } - }, - isNtp(v) { - this.isManual = !v; - v && (this.syncType = "1"); + this.syncType = this.isNtp ? "1" : "2"; + if (this.isManual) this.parseTime() }, }, + computed: { + 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"> @@ -1083,6 +1109,10 @@ .card-text { font-size: 16px; } + } + .left-card-active { + background-color: rgba(61, 104, 225, 1); + color: #fff; } .left-card:hover { background-color: rgba(61, 104, 225, 1); @@ -1249,6 +1279,10 @@ cursor: pointer; } } + .user-role{ + margin: 5px 0 0 15px; + font-size: 14px; + } } } .list-btn { -- Gitblit v1.8.0