From 085fa2fb257e9f11f8f6d34bf12e2dc281c36b4d Mon Sep 17 00:00:00 2001 From: odc.xiaohui <xiaohui@Q1> Date: 星期四, 09 二月 2023 11:28:21 +0800 Subject: [PATCH] 2023/2/9 肖辉 修改部门管理 --- src/views/layout/components/Header/index.vue | 230 +++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 173 insertions(+), 57 deletions(-) diff --git a/src/views/layout/components/Header/index.vue b/src/views/layout/components/Header/index.vue index 37c5b62..7e8c740 100644 --- a/src/views/layout/components/Header/index.vue +++ b/src/views/layout/components/Header/index.vue @@ -4,30 +4,12 @@ <!-- 宸︿晶鑿滃崟 --> <div class="header-left"> <div class="menu-left__item" v-for="(item, index) in menuLeftList" :key="item.id" @click="changeActive(index)"> - <span :class="item.checked ? 'my-active' : ''">{{ item.label }}</span> + <span :class="item.checked ? 'my-active' : 'my-activeno'" @click="menuChange(item)">{{ item.label }}</span> </div> </div> <!-- 鍙充晶鑿滃崟 --> <div class="header-right"> - <!-- 鎼滅储妗� --> - <div class="menu-right__item search"> - <el-input suffix-icon="el-icon-search" v-model="keyword" placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�"></el-input> - </div> - <!-- 鐧诲綍鐢ㄦ埛 --> - <div class="menu-right__item user" @mousemove="flag.user = true" @mouseleave="flag.user = false"> - <el-avatar :size="20" :src="user.user.icon" v-if="user.user.icon"></el-avatar> - <el-avatar :size="20" src="https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png" v-else> - </el-avatar> - <span style="padding: 0 5px;">{{ user.user.username}}</span> - <i class="el-icon-arrow-down"></i> - <!-- 鐢ㄦ埛鎿嶄綔 --> - <div class="user-card" v-if="flag.user" @mouseleave="flag.user = false"> - <el-card class="box-card"> - <div class="user-card__item" @click="updatePassword()">淇敼瀵嗙爜</div> - <div style="margin-top: 10px;" class="user-card__item" @click="baseInfo()">鍩烘湰淇℃伅</div> - </el-card> - </div> - </div> + <div class="menu-right__item search"></div> <!-- 娑堟伅 --> <div class="menu-right__item btn" @mousemove="flag.message = true" @mouseleave="flag.message = false"> <el-tooltip effect="dark" content="娑堟伅涓績" placement="bottom-end" :hide-after="600"> @@ -40,7 +22,7 @@ <el-card class="box-card"> <div class="card-header"> <span>娑堟伅涓績</span> - <el-button type="text">鎺ユ敹璁剧疆</el-button> + <el-button type="text" @click="channelSetting">鎺ユ敹璁剧疆</el-button> </div> <div v-for="item in menuMessageList" :key="item.id" class="message-card__item"> <router-link to='/home/operate/message/messageIndex'> @@ -51,18 +33,66 @@ </el-card> </div> </div> + <!-- 鐧诲綍鐢ㄦ埛 --> + <div class="menu-right__item user" @mousemove="flag.user = true" @mouseleave="flag.user = false"> + <span class="user-span">|</span> + <el-avatar :size="20" :src="user.user.icon" v-if="user.user.icon"></el-avatar> + <el-avatar :size="20" src="https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png" v-else> + </el-avatar> + + <span style="padding: 0 5px;">{{ user.user.username }}</span> + <i class="el-icon-arrow-down"></i> + <!-- 鐢ㄦ埛鎿嶄綔 --> + <div class="user-card" v-if="flag.user" @mouseleave="flag.user = false"> + <el-card class="box-card"> + <div class="user-card__item" @click="updatePassword()">淇敼瀵嗙爜</div> + <div style="margin-top: 10px;" class="user-card__item" @click="baseInfo()">鍩烘湰淇℃伅</div> + </el-card> + </div> + </div> + <!-- 閫�鍑虹櫥褰� --> <div class="menu-right__item btn" @click="loginout"> <el-tooltip effect="dark" content="閫�鍑虹櫥褰�" placement="bottom-end" :hide-after="1000"> <i class="el-icon-switch-button"></i> </el-tooltip> </div> + <el-dialog :visible.sync="channelSettingVisible" width="25%" title="娑堟伅鏍忕洰璁剧疆" v-if="channelSettingVisible" + :before-close="handleChannelClose"> + <el-table ref="multipleTable" :header-cell-style="{ + 'font-size': '14px', + 'font-weight': '650', + 'line-height': '45px', + }" :data="channelData" style="width: 100%" @selection-change="handleSelectionChange"> + <el-table-column width="55"> + </el-table-column> + <el-table-column prop="columnName" label="鍏ㄩ儴" min-width="5" align="center"> + <!-- <template slot-scope="scope">{{ scope.row.id }}</template> --> + </el-table-column> + <el-table-column label="鍚敤" min-width="5"> + <template slot-scope="scope"> + <!-- @change="handleChangeStatus(scope.row)" --> + <el-switch class="switchStyle" + v-model="scope.row.isReceive" + active-color="#3fef9a" + inactive-color="#000212" + :active-value="1" + :inactive-value="0" + @change="handleSelectionChange(scope.row)"> + + </el-switch> + </template> + </el-table-column> + </el-table> + + <el-button type="button" @click="cancelChannel">鍙栨秷</el-button> + </el-dialog> + <el-dialog :visible.sync="updatePasswordDialog" width="40%" title="淇敼瀵嗙爜" v-if="updatePasswordDialog" :before-close="handleClose"> <updatePassword /> </el-dialog> - <el-dialog :visible.sync="baseInformationVisible" width="35%" title="鍩烘湰淇℃伅" v-if="baseInformationVisible" - :before-close="handleClose"> + <el-dialog :visible.sync="baseInformationVisible" width="35%" title="鍩烘湰淇℃伅" v-if="baseInformationVisible"> <el-form :model="info" class="info" label-width="6vw"> <el-form-item label="鐢ㄦ埛ID" min-width="6"> <el-input v-model="info.id"></el-input> @@ -70,10 +100,10 @@ <el-form-item prop="nickName" label="鐢ㄦ埛鍚嶇О" min-width="10"> <el-input v-model="info.nickName"></el-input> </el-form-item> - <el-form-item prop="nickName" label="鎵�灞炲鍚�" min-width="8"> + <el-form-item prop="nickName" label="鎵�灞炲鍚�" min-width="8"> <el-input v-model="info.username"></el-input> </el-form-item> - <el-form-item prop="mobile" label="鑱旂郴鏂瑰紡" min-width="7"> + <el-form-item prop="mobile" label="鑱旂郴鏂瑰紡" min-width="7"> <el-input v-model="info.mobile"></el-input> </el-form-item> <el-form-item prop="jobTitle" label="鎵�灞炶亴鍔�" min-width="8"> @@ -92,6 +122,7 @@ <script> import updatePassword from "./updatePassword"; import users from "@/api/users"; +import { Message } from "element-ui"; export default { components: { @@ -101,10 +132,12 @@ return { baseInformationVisible: false, updatePasswordDialog: false, + channelSettingVisible: false, + checked3: true, menuLeftList: [ { label: '椹鹃┒鑸�', - checked: true, + checked: false, url: '', id: '1f' }, @@ -118,7 +151,7 @@ label: '鎵ф硶绠$悊', checked: false, url: '', - if: '3f', + id: '3f', }, ], flag: { @@ -127,16 +160,50 @@ }, user: '', menuMessageList: [], + channelData: [], messageCounts: 0, keyword: '', info: null, - show: false + show: false, + messageColumnSet: { + } }; }, created() { this.setLoginInfo(); }, + watch:{ + $route() { + this.menuLeftList.map(item=>{ + item.checked = false + }) + }, + }, methods: { + cancelChannel(){ + this.channelSettingVisible=false + }, + handleSelectionChange(val) { + const userInfo = JSON.parse(sessionStorage.getItem('user')); + this.messageColumnSet.userId = userInfo.user.id + this.messageColumnSet.messageColumnId = val.id + if (val.isReceive == null) { + this.messageColumnSet.isReceive = 1 + } + if (val.isReceive == 1) { + this.messageColumnSet.isReceive = 1 + } + else if (val.isReceive == 0) { + this.messageColumnSet.isReceive = 0 + } + this.$axios({ + method: 'post', + url: 'sccg/message_column_set/update', + data: this.messageColumnSet + }).then(res => { + this.$message.success("璁㈤槄鎴愬姛") + }) + }, baseInfo() { this.baseInformationVisible = true; const name = sessionStorage.getItem('name'); @@ -149,10 +216,30 @@ this.info = res.data.user; }) }, - handleClose(done) { + channelSetting(row) { + this.channelSettingVisible = true; + const userInfo = JSON.parse(sessionStorage.getItem('user')); + this.$axios({ + method: 'get', + url: 'sccg/message_column/getShowColumn?' + 'id=' + userInfo.user.id + }) + .then(res => { + this.channelData = res.data + // this.channelData.forEach(item=>{this.$refs.multipleTable.toggleRowSelection(item,true);console.log(this.$refs.multipleTable.toggleRowSelection(item,true))}) + }) + }, + handleChannelClose(done) { this.$confirm("纭鍏抽棴锛�") .then((_) => { this.dialogUpload = false; + done(); + }) + .catch((_) => { }); + }, + handleClose(done) { + this.$confirm("纭鍏抽棴锛�") + .then((_) => { + this.channelSettingVisible = false; done(); }) .catch((_) => { }); @@ -182,61 +269,73 @@ // 璁剧疆鐢ㄦ埛鍩烘湰淇℃伅 async setLoginInfo() { const info = JSON.parse(sessionStorage.getItem('user')); - this.getMessage(); if (info) { this.user = info; } else { this.user = await this.getLoginInfo(); } + this.getMessage(); this.show = true }, // 鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅 - async getLoginInfo(){ - const name = sessionStorage.getItem('name'); - let res = await this.$axios({ - method: 'get', - url: 'sccg/admin/info?name=' + name, - }) - sessionStorage.setItem('user', JSON.stringify(res.data)); - return res.data; + async getLoginInfo() { + const name = sessionStorage.getItem('name'); + let res = await this.$axios({ + method: 'get', + url: 'sccg/admin/info?name=' + name, + }) + sessionStorage.setItem('user', JSON.stringify(res.data)); + return res.data; }, getMessage() { const userInfo = JSON.parse(sessionStorage.getItem('user')); users.getMessageAuditList({ userId: userInfo.user.id }) - .then(res => { - this.menuMessageList = res; - this.menuMessageList.forEach(item => { - this.messageCounts += item.messageNumber; - }) + .then(res => { + this.menuMessageList = res; + this.menuMessageList.forEach(item => { + this.messageCounts += item.messageNumber; }) - .catch(err => this.$message.error(`${err}`)) + }) + .catch(err => this.$message.error(`${err}`)) + }, + menuChange(data) { + if (data.id === '1f') { + window.open('http://cockpit.patstech.net:28081/cockpit/dist/board.html#/share-board/zfu0LsJ9', '_blank'); + } + if (data.id === '2f') { + this.$router.push({ path: "/home/video" }) + } + if (data.id === '3f') { + this.$router.push({ path: "/home/operate/casepool/pool" }) + } } } }; </script> <style lang="scss" scoped> - ::v-deep .el-form{ +::v-deep .el-form { padding: 3vh 5vw; - .el-form-item__label{ + + .el-form-item__label { color: #4b9bb7; } } + .el-header { - background-color: #071a38; - color: #333; + background-color: #313350; text-align: center; line-height: 60px; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; - // width: 100%; - color: #4b9bb7; + color: #fff; .header-left { display: flex; flex: 1; + .menu-left__item { width: 120px; @@ -247,15 +346,28 @@ &:hover { cursor: pointer; - color: #fff; + //color: #fff; } } } .my-active { border-radius: 20px; + color: #2f54eb; + background-color: #313350; + } + .my-activeno{ + border-radius: 20px; color: #fff; - background-color: #092c4a; + background-color: #313350; + } + .my-active:hover { + color: #2f54eb; + background-color: #313350; + } + .my-activeno:hover{ + color: #2f54eb; + background-color: #313350; } } @@ -263,6 +375,7 @@ display: flex; padding-left: 10vw; flex: 1; + .item { width: 100%; position: relative; @@ -283,13 +396,15 @@ } .user { - margin-left: 20px; - flex: 2; + //margin-left: 20px; + flex: 1; display: flex; align-items: center; justify-content: center; position: relative; - +.user-span{ + padding: 0 10px; +} .user-card { position: absolute; top: 60px; @@ -366,9 +481,10 @@ .user:hover, .btn:hover { - background-color: #092c4a; + //background-color: #092c4a; cursor: pointer; + color: #2f54eb; } } } -</style> \ No newline at end of file +</style> -- Gitblit v1.8.0