From c7298c0ad9c728f55618ad4f924f723f7d2d0a38 Mon Sep 17 00:00:00 2001 From: ZZJ <zzjdsg2300@163.com> Date: 星期三, 26 一月 2022 11:06:15 +0800 Subject: [PATCH] bug修复 --- vue.config.js | 2 src/pages/search/index/Searching.vue | 347 +++++++++------ src/pages/desktop/index/components/DFrame.vue | 12 src/pages/vindicate/views/updateSettings.vue | 315 +++++++------ src/pages/settings/components/AuthorizationSetting.vue | 10 src/pages/settings/views/NetSettings.vue | 157 ++++-- src/pages/systemSettings/index/App.vue | 35 src/pages/settings/index/index.vue | 35 + src/components/treeMenu/index.vue | 2 src/pages/vindicate/index/App.vue | 7 public/images/settings/白色一级icon/授权管理.png | 0 public/images/settings/黑色一级icon/授权管理.png | 0 src/pages/settings/components/AuthorizationManagement.vue | 10 src/pages/settings/views/Authorization.vue | 94 ++++ src/pages/search/index/App.vue | 286 ++++++------ 15 files changed, 782 insertions(+), 530 deletions(-) diff --git "a/public/images/settings/\347\231\275\350\211\262\344\270\200\347\272\247icon/\346\216\210\346\235\203\347\256\241\347\220\206.png" "b/public/images/settings/\347\231\275\350\211\262\344\270\200\347\272\247icon/\346\216\210\346\235\203\347\256\241\347\220\206.png" new file mode 100644 index 0000000..e3c4b67 --- /dev/null +++ "b/public/images/settings/\347\231\275\350\211\262\344\270\200\347\272\247icon/\346\216\210\346\235\203\347\256\241\347\220\206.png" Binary files differ diff --git "a/public/images/settings/\351\273\221\350\211\262\344\270\200\347\272\247icon/\346\216\210\346\235\203\347\256\241\347\220\206.png" "b/public/images/settings/\351\273\221\350\211\262\344\270\200\347\272\247icon/\346\216\210\346\235\203\347\256\241\347\220\206.png" new file mode 100644 index 0000000..a92bebd --- /dev/null +++ "b/public/images/settings/\351\273\221\350\211\262\344\270\200\347\272\247icon/\346\216\210\346\235\203\347\256\241\347\220\206.png" Binary files differ diff --git a/src/components/treeMenu/index.vue b/src/components/treeMenu/index.vue index b1ccbab..67c64a7 100644 --- a/src/components/treeMenu/index.vue +++ b/src/components/treeMenu/index.vue @@ -459,7 +459,7 @@ } .tree-menu { // max-width: 350px; - overflow-x: hidden; + overflow-x: scroll; overflow-y: hidden; margin-bottom: 4px; } diff --git a/src/pages/desktop/index/components/DFrame.vue b/src/pages/desktop/index/components/DFrame.vue index 66473d8..0ce7c11 100644 --- a/src/pages/desktop/index/components/DFrame.vue +++ b/src/pages/desktop/index/components/DFrame.vue @@ -14,7 +14,9 @@ }" > <div class="d-frame-title" v-drag="fullScreen" @click="frameClick"> - <div class="icon iconfont back" @click="back"></div> + <div class="icon iconfont back" @click="back" v-if="isShowBack"> +  + </div> <div class="d-frame-title-operation"> <i class="icon-minus d-frame-operation-minus" @@ -81,6 +83,13 @@ props: { data: Object, }, + created() { + window.addEventListener("message", (e) => { + if (e.data.msg === "showBack") { + this.isShowBack = true; + } + }); + }, data() { return { publicPath: process.env.BASE_URL, @@ -97,6 +106,7 @@ mouY: 0, resizeLock: false, }, + isShowBack: false, }; }, watch: { diff --git a/src/pages/search/index/App.vue b/src/pages/search/index/App.vue index 9d5ea11..9dbeb7c 100644 --- a/src/pages/search/index/App.vue +++ b/src/pages/search/index/App.vue @@ -1,145 +1,141 @@ -<template> - <div class="column"> - <div class="column-left"> - <div class="resize-bar"></div> - <div class="resize-line"></div> - <div class="resize-save"> - <left-nav :appName="'Search'" :height="screenHeight - 40"></left-nav> - </div> - </div> - <div class="column-right"> - <right-side /> - </div> - <card-window></card-window> - </div> -</template> - -<script> -import LeftNav from "@/components/LeftNav"; -// import CameraVideo from "./components/Video.vue"; -import RightSide from "./Searching" -import CardWindow from "@/components/cardWindow"; - -export default { - name: "SearchPage", - components: { - LeftNav, - RightSide, - CardWindow - }, - data() { - return { - screenHeight: 0, - } - }, - created() { - // this.parseUrl(); - - }, - mounted() { - this.screenHeight = document.documentElement.clientHeight - 20; - window.onresize = () => { - return (() => { - this.screenHeight = document.documentElement.clientHeight - 20; - })(); - }; - - }, - methods: { - parseUrl() { - - } - } -}; -</script> - -<style lang="scss" > -.left-tree-box .local-vedio-area .dev-vedio-list{ - height: calc(100vh - 130px); -} -.left-tree-box .el-tabs--border-card .el-tabs__header{ - display: block!important; - margin-bottom: 10px; -} -.column { - overflow: hidden; - min-width: 1399px; - height: 100%; -} -.column-left { - background-color: #fff; - position: relative; - float: left; - height: 100vh; -} -.column-right { - height: 100vh; - background-color: #eee; - box-sizing: border-box; - overflow: hidden; -} -.heigher-index { - position: absolute; - top: 0; - z-index: 10; - width: 100%; - height: 100%; -} -.resize-save { - position: absolute; - top: 0; - right: 5px; - bottom: 0; - left: 0; - padding: 16px; - padding-top: 8px; - overflow-x: hidden; -} -.resize-bar { - width: 338px; - height: inherit; - resize: horizontal; - cursor: ew-resize; - opacity: 0; - overflow: scroll; - max-width: 500px; //璁惧畾鏈�澶ф媺浼搁暱搴� - min-width: 33px; //璁惧畾鏈�灏忓搴� -} -/* 鎷栨嫿绾� */ -.resize-line { - position: absolute; - right: 0; - top: 0; - bottom: 0; - border-right: 2px solid #efefef; - border-left: 1px solid #e0e0e0; - pointer-events: none; -} -.resize-bar:hover ~ .resize-line, -.resize-bar:active ~ .resize-line { - border-left: 1px dashed skyblue; -} -.resize-bar::-webkit-scrollbar { - width: 200px; - height: inherit; -} - -/* Firefox鍙湁涓嬮潰涓�灏忓潡鍖哄煙鍙互鎷変几 */ -@supports (-moz-user-select: none) { - .resize-bar:hover ~ .resize-line, - .resize-bar:active ~ .resize-line { - border-left: 1px solid #bbb; - } - .resize-bar:hover ~ .resize-line::after, - .resize-bar:active ~ .resize-line::after { - content: ""; - position: absolute; - width: 16px; - height: 16px; - bottom: 0; - right: -8px; - // background: url(./resize.svg); - background-size: 100% 100%; - } -} -</style> +<template> + <div class="column"> + <div class="column-left"> + <div class="resize-bar"></div> + <div class="resize-line"></div> + <div class="resize-save"> + <left-nav :appName="'Search'" :height="screenHeight - 40"></left-nav> + </div> + </div> + <div class="column-right"> + <right-side /> + </div> + <card-window></card-window> + </div> +</template> + +<script> +import LeftNav from "@/components/LeftNav"; +// import CameraVideo from "./components/Video.vue"; +import RightSide from "./Searching"; +import CardWindow from "@/components/cardWindow"; + +export default { + name: "SearchPage", + components: { + LeftNav, + RightSide, + CardWindow, + }, + data() { + return { + screenHeight: 0, + }; + }, + created() { + // this.parseUrl(); + }, + mounted() { + this.screenHeight = document.documentElement.clientHeight - 20; + window.onresize = () => { + return (() => { + this.screenHeight = document.documentElement.clientHeight - 20; + })(); + }; + }, + methods: { + parseUrl() {}, + }, +}; +</script> + +<style lang="scss" > +.left-tree-box .local-vedio-area .dev-vedio-list { + height: calc(100vh - 130px); +} +.left-tree-box .el-tabs--border-card .el-tabs__header { + display: block !important; + margin-bottom: 10px; +} +.column { + overflow: hidden; + min-width: 1399px; + height: 100%; +} +.column-left { + background-color: #fff; + position: relative; + float: left; + height: 100vh; +} +.column-right { + height: 100vh; + background-color: #eee; + box-sizing: border-box; + overflow: hidden; +} +.heigher-index { + position: absolute; + top: 0; + z-index: 10; + width: 100%; + height: 100%; +} +.resize-save { + position: absolute; + top: 0; + right: 5px; + bottom: 0; + left: 0; + padding: 16px; + padding-top: 8px; + overflow-x: hidden; +} +.resize-bar { + width: 338px; + height: inherit; + resize: horizontal; + cursor: ew-resize; + opacity: 0; + overflow: scroll; + max-width: 500px; //璁惧畾鏈�澶ф媺浼搁暱搴� + min-width: 33px; //璁惧畾鏈�灏忓搴� +} +/* 鎷栨嫿绾� */ +.resize-line { + position: absolute; + right: 0; + top: 0; + bottom: 0; + border-right: 2px solid #efefef; + border-left: 1px solid #e0e0e0; + pointer-events: none; +} +.resize-bar:hover ~ .resize-line, +.resize-bar:active ~ .resize-line { + border-left: 1px dashed skyblue; +} +.resize-bar::-webkit-scrollbar { + width: 200px; + height: inherit; +} + +/* Firefox鍙湁涓嬮潰涓�灏忓潡鍖哄煙鍙互鎷変几 */ +@supports (-moz-user-select: none) { + .resize-bar:hover ~ .resize-line, + .resize-bar:active ~ .resize-line { + border-left: 1px solid #bbb; + } + .resize-bar:hover ~ .resize-line::after, + .resize-bar:active ~ .resize-line::after { + content: ""; + position: absolute; + width: 16px; + height: 16px; + bottom: 0; + right: -8px; + // background: url(./resize.svg); + background-size: 100% 100%; + } +} +</style> diff --git a/src/pages/search/index/Searching.vue b/src/pages/search/index/Searching.vue index 7116695..12de1ad 100644 --- a/src/pages/search/index/Searching.vue +++ b/src/pages/search/index/Searching.vue @@ -2,27 +2,42 @@ <div class="searching-box"> <div class="searching-right"> <div class="searching-right-nav"> - <el-breadcrumb separator-class="el-icon-arrow-right" style="display: inline-block;"> + <el-breadcrumb + separator-class="el-icon-arrow-right" + style="display: inline-block" + > <el-breadcrumb-item> <span @click="uploadChange">妫�绱�</span> </el-breadcrumb-item> - <el-breadcrumb-item v-if="!VideoPhotoData.uploadType">鍏ㄩ儴</el-breadcrumb-item> - <el-breadcrumb-item v-if="VideoPhotoData.uploadType">浠ュ浘鎼滃浘</el-breadcrumb-item> + <el-breadcrumb-item v-if="!VideoPhotoData.uploadType" + >鍏ㄩ儴</el-breadcrumb-item + > + <el-breadcrumb-item v-if="VideoPhotoData.uploadType" + >浠ュ浘鎼滃浘</el-breadcrumb-item + > </el-breadcrumb> </div> <div class="searching-right-content"> <div class="top"> - <el-tooltip content="浠ュ浘鎼滃浘" placement="bottom" popper-class="atooltip"> + <el-tooltip + content="浠ュ浘鎼滃浘" + placement="bottom" + popper-class="atooltip" + > <el-button @click="showUpload" type="primary" icon="el-icon-camera-solid" size="mini" circle - :style="VideoPhotoData.uploadDiaplay ? 'margin-right: 20px;' : 'margin-right: 20px;background-color:#cccccc;border-color:#cccccc'" + :style=" + VideoPhotoData.uploadDiaplay + ? 'margin-right: 20px;' + : 'margin-right: 20px;background-color:#cccccc;border-color:#cccccc' + " ></el-button> </el-tooltip> - <p class="p-label" style="width:16%"> + <p class="p-label" style="width: 16%"> <b>鏍囩锛�</b> <el-select v-model="tagValues" @@ -30,13 +45,13 @@ :disabled="isDisabled" collapse-tags size="mini" - style="width:calc(100% - 40px);min-width: 120px;" + style="width: calc(100% - 40px); min-width: 120px" placeholder="璇烽�夋嫨" @change="tagChange" > <el-option v-for="item in VideoPhotoData.tabs" - style="font-size:12px" + style="font-size: 12px" :key="item.key" :label="item.title" :value="item.value" @@ -44,7 +59,7 @@ ></el-option> </el-select> </p> - <p class="p-task" style="width:16%"> + <p class="p-task" style="width: 16%"> <b>鍦烘櫙锛�</b> <el-select v-model="taskValues" @@ -53,7 +68,7 @@ :disabled="typeDisable" collapse-tags size="mini" - style="width:calc(100% - 40px);min-width: 120px;" + style="width: calc(100% - 40px); min-width: 120px" placeholder="璇烽�夋嫨" > <!-- <el-option @@ -66,15 +81,15 @@ ></el-option>--> <el-option v-for="item in VideoPhotoData.tasks" - style="font-size:12px" - :key="item.id+'x'" + style="font-size: 12px" + :key="item.id + 'x'" :value="item.id" - :label="item.isDelete ? item.name+'锛堝凡鍒犻櫎锛�' : item.name" - :title="item.isDelete ? item.name+'锛堝凡鍒犻櫎锛�' : item.name" + :label="item.isDelete ? item.name + '锛堝凡鍒犻櫎锛�' : item.name" + :title="item.isDelete ? item.name + '锛堝凡鍒犻櫎锛�' : item.name" ></el-option> </el-select> </p> - <p class="p-level" style="width:18%"> + <p class="p-level" style="width: 18%"> <b>浜嬩欢绛夌骇锛�</b> <el-select v-model="alarmValues" @@ -83,7 +98,7 @@ :disabled="isDisabled" collapse-tags size="mini" - style="width:calc(100% - 64px);min-width: 120px;" + style="width: calc(100% - 64px); min-width: 120px" placeholder="璇烽�夋嫨" > <el-option @@ -94,7 +109,7 @@ ></el-option> </el-select> </p> - <p class="p-date" style="width:19%;vertical-align: top;"> + <p class="p-date" style="width: 19%; vertical-align: top"> <el-date-picker size="mini" v-model="searchTime" @@ -102,40 +117,57 @@ type="datetimerange" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" - :default-time="['00:00:00','23:59:59']" - style="width:99%;min-width:200px" + :default-time="['00:00:00', '23:59:59']" + style="width: 99%; min-width: 200px" ></el-date-picker> </p> - <p class="p-input" style="width:19%"> + <p class="p-input" style="width: 19%"> <el-input placeholder="璇疯緭鍏ュ唴瀹�" prefix-icon="el-icon-search" - style="width: calc(100% - 75px);min-width:100px;margin-left:10px;margin-right: 10px;" + style=" + width: calc(100% - 75px); + min-width: 100px; + margin-left: 10px; + margin-right: 10px; + " v-model="VideoPhotoData.inputValue" size="mini" ></el-input> - <el-button type="primary" size="mini" @click="searchingBtn">鎼滅储</el-button> + <el-button type="primary" size="mini" @click="searchingBtn" + >鎼滅储</el-button + > </p> <p class="p-clear"> <b class="clear-searching" @click="clearSearch">閲嶇疆</b> </p> </div> - <div ref="mid" style="height:calc(100% - 50px);"> + <div ref="mid" style="height: calc(100% - 50px)"> <div class="left-selection" v-if="VideoPhotoData.uploadDiaplay"> <upload-img ref="uploadImg" @labelDisabled="disabled"></upload-img> </div> <div id="searchMid" class="mid" - :style="{width: VideoPhotoData.uploadDiaplay ? 'calc(100% - 315px)' : '100%'}" + :style="{ + width: VideoPhotoData.uploadDiaplay + ? 'calc(100% - 315px)' + : '100%', + }" > <div class="right-section" ref="scrollContain"> <Card v-for="(item, index) in VideoPhotoData.cards" - :class="item.activeObject.id === VideoPhotoData.activeCard ? 'my-active-card' : ''" + :class=" + item.activeObject.id === VideoPhotoData.activeCard + ? 'my-active-card' + : '' + " :key="index + 'u'" :outHeight="'162px'" - :outWidth="VideoPhotoData.uploadDiaplay?searchImgCardWidth:cardWidth" + :outWidth=" + VideoPhotoData.uploadDiaplay ? searchImgCardWidth : cardWidth + " :data="item" :searchTime="searchTimeFormated" :showType="showType" @@ -166,7 +198,7 @@ :key="index" @update:height="resizeHeight" @update:width="resizeWidth" - style="background:white; height:475px" + style="background: white; height: 475px" :left="center.x + index * 10" :top="center.y + index * 10" :resizable="true" @@ -186,13 +218,21 @@ <p>榛戝悕鍗� ></p> </div> <div class="baseList"> - <el-checkbox-group v-model="VideoPhotoData.selectBlacks" @change="blackAngWhite"> - <div class="base" v-for="(item, index) in VideoPhotoData.blackList" :key="index"> + <el-checkbox-group + v-model="VideoPhotoData.selectBlacks" + @change="blackAngWhite" + > + <div + class="base" + v-for="(item, index) in VideoPhotoData.blackList" + :key="index" + > <el-checkbox :label="item.value" :title="item.title" :disabled="item.disabled" - >{{item.title}}</el-checkbox> + >{{ item.title }}</el-checkbox + > </div> </el-checkbox-group> </div> @@ -202,20 +242,32 @@ <p>鐧藉悕鍗� ></p> </div> <div class="baseList"> - <el-checkbox-group v-model="VideoPhotoData.selectWhites" @change="blackAngWhite"> - <div class="base" v-for="(item, index) in VideoPhotoData.whiteList" :key="index"> + <el-checkbox-group + v-model="VideoPhotoData.selectWhites" + @change="blackAngWhite" + > + <div + class="base" + v-for="(item, index) in VideoPhotoData.whiteList" + :key="index" + > <el-checkbox :label="item.value" :title="item.title" :disabled="item.disabled" - >{{item.title}}</el-checkbox> + >{{ item.title }}</el-checkbox + > </div> </el-checkbox-group> </div> </div> <div class="buttons"> - <el-button type="primary" @click="saveAddBase(item, index)">淇濆瓨</el-button> - <el-button type="default" @click="closeWindow(index)">鍙栨秷</el-button> + <el-button type="primary" @click="saveAddBase(item, index)" + >淇濆瓨</el-button + > + <el-button type="default" @click="closeWindow(index)" + >鍙栨秷</el-button + > </div> </div> </hsc-window> @@ -231,9 +283,9 @@ export default { components: { Card, - UploadImg + UploadImg, }, - data () { + data() { return { cardWidth: "", center: "", @@ -248,33 +300,33 @@ taskValues: [], searchTime: [ this.$moment().format("YYYY-MM-DD 00:00:00"), - this.$moment().format("YYYY-MM-DD HH:mm:ss") + this.$moment().format("YYYY-MM-DD HH:mm:ss"), ], searchText: "", currentPage: 1, }; }, computed: { - searchTimeFormated(){ - return this.format(this.searchTime) - } + searchTimeFormated() { + return this.format(this.searchTime); + }, }, - created () { + created() { this.TreeDataPool.readonly = true; this.TreeDataPool.gbReadonly = true; this.TreeDataPool.multiple = true; this.TreeDataPool.clean(); this.TreeDataPool.fetchTreeData(); }, - mounted () { + mounted() { this.$nextTick(() => { - let scrollContain = this.$refs.scrollContain - this.VideoPhotoData.scrollContainDom = scrollContain - let list = this.TreeDataPool.localVedioList.filter(i => { - return i.progress == 100 - }) - this.TreeDataPool.localVedioList = list - }) + let scrollContain = this.$refs.scrollContain; + this.VideoPhotoData.scrollContainDom = scrollContain; + let list = this.TreeDataPool.localVedioList.filter((i) => { + return i.progress == 100; + }); + this.TreeDataPool.localVedioList = list; + }); window.addEventListener("resize", this.getHeight); this.getCenter(); this.getHeight(); @@ -285,12 +337,12 @@ // this.VideoTaskData.tasks[this.VideoTaskData.activeIndex].taskId // ]; // } - let start = getUrlKey("start") - let end = getUrlKey("end") - if (start&&end) { - this.searchTime = [start,end] - this.VideoPhotoData.searchTime = [start,end] - }else{ + let start = getUrlKey("start"); + let end = getUrlKey("end"); + if (start && end) { + this.searchTime = [start, end]; + this.VideoPhotoData.searchTime = [start, end]; + } else { this.searchTime = this.getDateInit(); this.VideoPhotoData.searchTime = this.getDateInit(); } @@ -301,10 +353,10 @@ this.VideoPhotoData.uploadDiaplay = true; this.VideoPhotoData.picUrl = getUrlKey("picSmUrl"); this.VideoPhotoData.uploadImg = getUrlKey("picSmUrl"); - this.VideoPhotoData.uploadType = true - this.VideoPhotoData.compTargetId = getUrlKey("targetId") - this.VideoPhotoData.compTargetType = getUrlKey("compType") - this.VideoPhotoData.size = 30 + this.VideoPhotoData.uploadType = true; + this.VideoPhotoData.compTargetId = getUrlKey("targetId"); + this.VideoPhotoData.compTargetType = getUrlKey("compType"); + this.VideoPhotoData.size = 30; this.VideoPhotoData.compareTabs = ["esData"]; this.VideoPhotoData.findPerson2(); // 鏌ユ壘姝や汉 } else { @@ -318,13 +370,13 @@ this.VideoPhotoData.queryTaskList(); this.VideoPhotoData.queryDictionary(); this.$nextTick(() => { - bus.$on("changePage", page => { + bus.$on("changePage", (page) => { this.currentPage = page; this.VideoPhotoData.page = page; }); }); }, - destroyed () { + destroyed() { window.removeEventListener("resize", this.getHeight); this.CardList.details = []; // this.TreeDataPool.treeActiveName = "camera"; @@ -339,13 +391,13 @@ this.VideoPhotoData.selectWhites = []; }, watch: { - 'TreeDataPool.treeActiveName' (n, o) { - if (n && n == 'camera') { + "TreeDataPool.treeActiveName"(n, o) { + if (n && n == "camera") { this.VideoPhotoData.treeNodes = []; this.setLoadSearch(this.VideoPhotoData.querySearchList()); } }, - "TreeDataPool.showTreeBox" (value) { + "TreeDataPool.showTreeBox"(value) { this.getHeight(); if (this.VideoPhotoData.realSmallPath.length > 0) { this.VideoPhotoData.findPersonByPage(); @@ -365,38 +417,45 @@ if (newVal !== oldVal) { this.VideoPhotoData.treeNodes = newVal; if (this.VideoPhotoData.uploadType) { - this.VideoPhotoData.findPersonByPage() + this.VideoPhotoData.findPersonByPage(); } else { this.setLoadSearch(this.VideoPhotoData.querySearchList()); - } } }, - deep: true //娣卞害鐩戝惉 + deep: true, //娣卞害鐩戝惉 }, "DataStackPool.selectedDir": { - handler (nodes, oldNodes) { + handler(nodes, oldNodes) { if (nodes !== oldNodes && nodes.id != "") { // this.VideoPhotoData.treeNodes = nodes.map(i=>{return i.id}); this.VideoPhotoData.treeNodes = [nodes.id]; if (this.VideoPhotoData.uploadType) { - this.VideoPhotoData.findPersonByPage() + this.VideoPhotoData.findPersonByPage(); } else { // this.VideoPhotoData.querySearchList(); this.setLoadSearch(this.VideoPhotoData.querySearchList()); } } }, - deep: true + deep: true, }, "VideoPhotoData.activeCard": function (value) { - let card = this.$refs.scrollContain.getElementsByClassName("my-active-card"); + let card = + this.$refs.scrollContain.getElementsByClassName("my-active-card"); + console.log(1); + console.log(card); if (card.length > 0) { let cardHeight = card[0].clientHeight; let cardTop = card[0].offsetTop; let scrollTop = this.$refs.scrollContain.scrollTop; let divHeight = this.$refs.scrollContain.clientHeight; + console.log(2); + console.log(cardHeight); + console.log(cardTop); + console.log(scrollTop); + console.log(divHeight); if ( cardTop - cardHeight - scrollTop > divHeight || cardTop - cardHeight - scrollTop < 0 @@ -414,17 +473,17 @@ } }, "VideoPhotoData.selectBlacks": function (value) { - this.blackAngWhite() + this.blackAngWhite(); }, "VideoPhotoData.selectWhites": function (value) { - this.blackAngWhite() + this.blackAngWhite(); }, "VideoPhotoData.uploadDiaplay": function (value) { this.getHeight(); if (value) { if (!this.VideoPhotoData.uploadType) { - let scrollContain = this.$refs.scrollContain - this.VideoPhotoData.scrollContainDom = scrollContain + let scrollContain = this.$refs.scrollContain; + this.VideoPhotoData.scrollContainDom = scrollContain; this.VideoPhotoData.showType = "search"; // this.VideoPhotoData.querySearchList(); //this.setLoadSearch(this.VideoPhotoData.querySearchList()); @@ -437,15 +496,15 @@ this.VideoPhotoData.uploadType = false; this.VideoPhotoData.showType = "search"; } - } + }, }, methods: { - isShowUpload () { + isShowUpload() { this.getHeight(); if (this.VideoPhotoData.uploadDiaplay) { if (!this.VideoPhotoData.uploadType) { - let scrollContain = this.$refs.scrollContain - this.VideoPhotoData.scrollContainDom = scrollContain + let scrollContain = this.$refs.scrollContain; + this.VideoPhotoData.scrollContainDom = scrollContain; this.VideoPhotoData.showType = "search"; // this.VideoPhotoData.querySearchList(); //this.setLoadSearch(this.VideoPhotoData.querySearchList()); @@ -459,13 +518,13 @@ this.VideoPhotoData.showType = "search"; } }, - resizeWidth (w) { + resizeWidth(w) { this.defaultWidth = w; }, - resizeHeight (h) { + resizeHeight(h) { this.defaultHeight = h; }, - getHeight () { + getHeight() { let w = this.$refs.mid.offsetWidth; let integer = parseInt(w / 330); let integerSearchImg = parseInt((w - 300) / 325); @@ -476,86 +535,90 @@ this.cardWidth = `calc(${100 / integer}% - 20px)`; this.searchImgCardWidth = `calc(${100 / integerSearchImg}% - 20px)`; }, - uploadChange () { + uploadChange() { this.VideoPhotoData.uploadDiaplay = false; - this.VideoPhotoData.clearStatus() + this.VideoPhotoData.clearStatus(); }, - blackAngWhite () { + blackAngWhite() { if (this.VideoPhotoData.selectBlacks.length > 0) { for (let i = 0; i < this.VideoPhotoData.whiteList.length; i++) { //this.VideoPhotoData.whiteList[i].disabled = true - this.$set(this.VideoPhotoData.whiteList[i], 'disabled', true) + this.$set(this.VideoPhotoData.whiteList[i], "disabled", true); } } if (this.VideoPhotoData.selectBlacks.length == 0) { for (let i = 0; i < this.VideoPhotoData.whiteList.length; i++) { //this.VideoPhotoData.whiteList[i].disabled = false - this.$set(this.VideoPhotoData.whiteList[i], 'disabled', false) + this.$set(this.VideoPhotoData.whiteList[i], "disabled", false); } } if (this.VideoPhotoData.selectWhites.length > 0) { for (let i = 0; i < this.VideoPhotoData.blackList.length; i++) { - // this.VideoPhotoData.blackList[i].disabled = true - this.$set(this.VideoPhotoData.blackList[i], 'disabled', true) + // this.VideoPhotoData.blackList[i].disabled = true + this.$set(this.VideoPhotoData.blackList[i], "disabled", true); } } if (this.VideoPhotoData.selectWhites.length == 0) { for (let i = 0; i < this.VideoPhotoData.blackList.length; i++) { - //this.VideoPhotoData.blackList[i].disabled = false - this.$set(this.VideoPhotoData.blackList[i], 'disabled', false) + //this.VideoPhotoData.blackList[i].disabled = false + this.$set(this.VideoPhotoData.blackList[i], "disabled", false); } } }, - saveAddBase (item, index) { - if (this.VideoPhotoData.selectBlacks.length === 0 && this.VideoPhotoData.selectWhites.length === 0) { + saveAddBase(item, index) { + if ( + this.VideoPhotoData.selectBlacks.length === 0 && + this.VideoPhotoData.selectWhites.length === 0 + ) { this.$notify({ title: "娉ㄦ剰", message: "璇烽�夋嫨瑕佹坊鍔犵殑搴曞簱", - type: "warning" - }) - return + type: "warning", + }); + return; } - let res = this.VideoPhotoData.addBase(item) - res.then(data => { + let res = this.VideoPhotoData.addBase(item); + res.then((data) => { if (data.success) { this.$notify({ title: "鎴愬姛", message: data.data, - type: "success" - }) + type: "success", + }); } else { this.$notify({ title: "澶辫触", message: data.data, - type: "error" - }) + type: "error", + }); } this.CardList.addBaseList.splice(index, 1); - this.VideoPhotoData.selectBlacks = [] - this.VideoPhotoData.selectWhites = [] - }) + this.VideoPhotoData.selectBlacks = []; + this.VideoPhotoData.selectWhites = []; + }); }, - getDetails (ev, index) { + getDetails(ev, index) { //let obj = this.CardList.datalist[index]; this.CardList.datalist = this.VideoPhotoData.cards; let obj = this.CardList.datalist[index]; this.CardList.details = Array.from( new Set([...this.CardList.details, ...[obj]]) ); + console.log(this.CardList.details); // this.CardList.details.push(obj); this.VideoPhotoData.activeCard = obj.activeObject.id; }, - toAdd (item) { - this.CardList.addBaseList.push(item) + toAdd(item) { + this.CardList.addBaseList.push(item); }, - handleClose (done) { - this.$confirm('纭鍏抽棴锛�') - .then(_ => { + handleClose(done) { + this.$confirm("纭鍏抽棴锛�") + .then((_) => { done(); }) - .catch(_ => { }); + .catch((_) => {}); }, - showUpload () { + showUpload() { this.VideoPhotoData.uploadDiaplay = !this.VideoPhotoData.uploadDiaplay; //鍒濆鍖栨暟鎹� this.VideoPhotoData.clearStatus(); @@ -565,7 +628,7 @@ // } //this.VideoPhotoData.uploadImg = require("C:/Users/mdesign/Desktop/cvasdv.jpg"); }, - getDateInit () { + getDateInit() { // 瑕佹眰 榛樿涓�涓湀 const end = new Date(); const start = new Date(); @@ -578,16 +641,16 @@ end.setTime(nowDate.getTime() + 3600 * 1000 * 24 - 1); return [ this.$moment(start).format("YYYY-MM-DD HH:mm:ss"), - this.$moment(end).format("YYYY-MM-DD HH:mm:ss") + this.$moment(end).format("YYYY-MM-DD HH:mm:ss"), ]; }, - format (array) { + format(array) { return [ this.$moment(array[0]).format("YYYY-MM-DD HH:mm:ss"), - this.$moment(array[1]).format("YYYY-MM-DD HH:mm:ss") + this.$moment(array[1]).format("YYYY-MM-DD HH:mm:ss"), ]; }, - searchingBtn () { + searchingBtn() { // let obj = document.getElementById('searchMid'); // let load = this.$loading({ // target:obj, @@ -597,10 +660,10 @@ this.VideoPhotoData.page = 1; this.VideoPhotoData.queryTabs = this.tagValues; //澶勭悊鎼滅储绫诲瀷 - var tempArr = this.taskValues.map(task => task.split(',')); + var tempArr = this.taskValues.map((task) => task.split(",")); var tasks = []; - tempArr.forEach(arr => { - tasks = tasks.concat(arr) + tempArr.forEach((arr) => { + tasks = tasks.concat(arr); }); this.VideoPhotoData.queryTasks = tasks; @@ -619,9 +682,9 @@ this.setLoadSearch(this.VideoPhotoData.findPersonByPage()); } }, - stringToNum () { + stringToNum() { var arr = []; - this.alarmValues.forEach(element => { + this.alarmValues.forEach((element) => { if (element == "-1") { arr.push(-1); } @@ -643,7 +706,7 @@ }); return arr; }, - changePages (page) { + changePages(page) { this.VideoPhotoData.page = page; if (!this.VideoPhotoData.uploadType) { this.VideoPhotoData.uploadDiaplay = false; @@ -654,10 +717,10 @@ this.setLoadSearch(this.VideoPhotoData.findPersonByPage()); } }, - closeWindow (index) { + closeWindow(index) { this.CardList.addBaseList.splice(index, 1); }, - handleSizeChange (integer, integerSearchImg) { + handleSizeChange(integer, integerSearchImg) { if (this.VideoPhotoData.uploadDiaplay) { this.VideoPhotoData.size = integerSearchImg * 10; //this.VideoPhotoData.findPersonByPage(); @@ -666,7 +729,7 @@ //this.VideoPhotoData.querySearchList(); } }, - sizeChange (size) { + sizeChange(size) { if (this.VideoPhotoData.uploadType) { this.VideoPhotoData.size = size; this.VideoPhotoData.findPersonByPage(); @@ -677,10 +740,10 @@ this.setLoadSearch(this.VideoPhotoData.querySearchList()); } }, - clearSearch () { - this.tagValues = [] - this.taskValues = [] - this.alarmValues = [] + clearSearch() { + this.tagValues = []; + this.taskValues = []; + this.alarmValues = []; this.VideoPhotoData.queryTabs = []; this.VideoPhotoData.queryTasks = []; this.VideoPhotoData.queryAlarmlevel = []; @@ -695,22 +758,22 @@ this.setLoadSearch(this.VideoPhotoData.findPersonByPage()); } }, - disabled (data) { + disabled(data) { this.isDisabled = data; }, - getCenter () { + getCenter() { this.center = { x: document.documentElement.clientWidth / 2 - 250, - y: document.documentElement.clientHeight / 2 - 200 + y: document.documentElement.clientHeight / 2 - 200, }; }, - setLoadSearch (fn) { + setLoadSearch(fn) { this.AuthData.setLoading("searchMid", this); - fn.then(_ => { + fn.then((_) => { this.AuthData.closeLoad(); - }) + }); }, - tagChange (obj) { + tagChange(obj) { if (obj.length > 0) { this.showType = "compare"; } else { @@ -720,8 +783,8 @@ this.VideoPhotoData.queryTabs = obj; this.setLoadSearch(this.VideoPhotoData.querySearchList()); - } - } + }, + }, }; </script> @@ -921,7 +984,7 @@ width: 100%; height: 100%; .el-loading-spinner-search { - background: url('/images/search/searchLoading.gif') no-repeat; + background: url("/images/search/searchLoading.gif") no-repeat; } } } diff --git a/src/pages/settings/components/AuthorizationManagement.vue b/src/pages/settings/components/AuthorizationManagement.vue new file mode 100644 index 0000000..fb78169 --- /dev/null +++ b/src/pages/settings/components/AuthorizationManagement.vue @@ -0,0 +1,10 @@ +<template> + <div class="AuthorizationManagement">AuthorizationManagement</div> +</template> + +<script> +export default {}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/pages/settings/components/AuthorizationSetting.vue b/src/pages/settings/components/AuthorizationSetting.vue new file mode 100644 index 0000000..2b19384 --- /dev/null +++ b/src/pages/settings/components/AuthorizationSetting.vue @@ -0,0 +1,10 @@ +<template> + <div class="AuthorizationSetting">AuthorizationSetting</div> +</template> + +<script> +export default {}; +</script> + +<style> +</style> \ No newline at end of file diff --git a/src/pages/settings/index/index.vue b/src/pages/settings/index/index.vue index 60b4f80..61e1bc0 100644 --- a/src/pages/settings/index/index.vue +++ b/src/pages/settings/index/index.vue @@ -605,6 +605,8 @@ style="width: 100%" ref="view_6" ></deviceInfo> + <Authorization v-if="activeIndex == 7" style="width: 100%" ref="view_7"> + </Authorization> </div> <div class="welcome-page" v-else ref="curPage" @mouseup="mouseDownIndex = ''"> <div @@ -677,6 +679,7 @@ import deviceInfo from "../views/deviceInfo"; import keyboardLanguage from "../views/keyboardLanguage"; import generalSettings from "../views/generalSettings"; +import Authorization from "../views/Authorization"; import { pad0, getUrlKey } from "@/api/utils"; export default { @@ -689,6 +692,7 @@ keyboardLanguage, generalSettings, deviceInfo, + Authorization, }, data() { var v2 = (rule, value, callback) => { @@ -829,6 +833,13 @@ blackIcon: "/images/settings/榛戣壊涓�绾con/璁惧淇℃伅.png", whiteIcon: "/images/settings/鐧借壊涓�绾con/璁惧淇℃伅.png", }, + { + name: "鎺堟潈绠$悊", + icon: "\ue7e9;", + imgUrl: "/images/settings/璁惧淇℃伅.png", + blackIcon: "/images/settings/榛戣壊涓�绾con/鎺堟潈绠$悊.png", + whiteIcon: "/images/settings/鐧借壊涓�绾con/鎺堟潈绠$悊.png", + }, ], accountArr: [], jpgArr: [], @@ -888,6 +899,13 @@ }; }, created() { + window.parent.postMessage( + { + msg: "showBack", + }, + "*" + ); + let color = localStorage.getItem("--colorCard"); if (color) { document.documentElement.style.setProperty("--colorCard", `${color}`); @@ -1479,20 +1497,21 @@ } }, parseTime() { - [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(":"); }, }, computed: { activeUserRole() { - if (this.activeAccountItem.sysRoles&&this.activeAccountItem.sysRoles.length) { + if ( + this.activeAccountItem.sysRoles && + this.activeAccountItem.sysRoles.length + ) { return this.activeAccountItem.sysRoles[0].name; } - return "鏅�氱敤鎴�" + return "鏅�氱敤鎴�"; }, curUserRole() { const info = JSON.parse(sessionStorage.getItem("userInfo")); diff --git a/src/pages/settings/views/Authorization.vue b/src/pages/settings/views/Authorization.vue new file mode 100644 index 0000000..953f07e --- /dev/null +++ b/src/pages/settings/views/Authorization.vue @@ -0,0 +1,94 @@ +<template> + <div class="all" ref="curPage"> + <div class="Authorization"> + <div class="AuthorizationCenter"> + <div + class="menu-item" + :class="activePage == i ? 'menu-item-active' : ''" + @click="openRight(i)" + v-for="(item, i) in menuArr" + :key="i" + > + <span class="iconfont" :style="`font-size:${item.size}px;`">{{ + item.icon + }}</span> + <span class="title">{{ item.name }}</span> + </div> + </div> + <div class="AuthorizationRight"></div> + </div> + </div> +</template> + +<script> +export default { + data() { + return { + activePage: 0, + menuArr: [ + { name: "璁惧鎺堟潈閰嶇疆", icon: "\ue7e7", size: 28 }, + { name: "璁惧鎺堟潈绠$悊", icon: "\ue7e6", size: 28 }, + ], + }; + }, + methods: { + openRight(i) { + this.activePage = i; + }, + }, +}; +</script> + +<style scoped lang="scss"> +.Authorization { + height: 100%; + display: flex; + flex-direction: row; + flex: 1; + flex-basis: auto; + box-sizing: border-box; + .el-input__inner { + height: 24px !important; + } + + .AuthorizationCenter { + height: 100%; + width: 300px; + overflow: auto; + box-sizing: border-box; + flex-shrink: 0; + padding: 10px 10px; + padding-top: 6px; + border-right: 4px solid #f2f2f7; + border-top: 4px solid #f2f2f7; + border-left: 4px solid #f2f2f7; + background-color: #fbfaff; + .menu-item { + height: 56px; + margin-bottom: 4px; + border-radius: 8px; + line-height: 56px; + box-sizing: border-box; + font-size: 16px; + padding-left: 15px; + cursor: pointer; + display: flex; + .iconfont { + margin: 0 17px; + font-size: 24px !important; + } + .title { + font-size: 16px; + font-weight: 700; + } + } + .menu-item-active { + background-color: var(--colorCard) !important; + color: white !important; + } + .menu-item:hover { + background-color: #f2f2f7; + } + } +} +</style> \ No newline at end of file diff --git a/src/pages/settings/views/NetSettings.vue b/src/pages/settings/views/NetSettings.vue index 3080795..93686c5 100644 --- a/src/pages/settings/views/NetSettings.vue +++ b/src/pages/settings/views/NetSettings.vue @@ -79,7 +79,11 @@ </div> </div> </div> - <div class="wifi-detail" v-if="activePage == 1 && inWifiDetail" ref="ipvHolder"> + <div + class="wifi-detail" + v-if="activePage == 1 && inWifiDetail" + ref="ipvHolder" + > <div class="title">鏃犵嚎缃戠粶</div> <div class="btns"> <div class="cancel">鍒犻櫎</div> @@ -89,11 +93,7 @@ <div class="general-box"> <div class="in-title">閫氱敤</div> - <el-form - :model="wifiForm" - ref="wifiForm" - class="join-form" - > + <el-form :model="wifiForm" ref="wifiForm" class="join-form"> <el-form-item prop="name"> <div class="p-title">鍚嶇О</div> <!-- <div class="wifi-name">{{ 12123 }}</div> --> @@ -116,22 +116,27 @@ </el-form> </div> - <switchBar - :barName="`楂樼骇璁剧疆`" - :value="isHighClass" - ></switchBar> + <switchBar :barName="`楂樼骇璁剧疆`" :value="isHighClass"></switchBar> - <div class="general-box fold" :class="{'hidden':IPV4_hid}" > - <div class="in-title">IPV4 - <span class="icon iconfont icon-fold" - @click="toggleFold('IPV4_hid')"></span> + <div class="general-box fold" :class="{ hidden: IPV4_hid }"> + <div class="in-title"> + IPV4 + <span + class="icon iconfont icon-fold" + @click="toggleFold('IPV4_hid')" + ></span + > </div> <el-form :model="ipv4Form" :rules="ipv4FormRules" ref="ipv4Form"> <el-form-item> <div class="p-title">鏂规硶</div> - <el-select v-model="value" placeholder="璇烽�夋嫨" size="small" - :popper-append-to-body="false"> + <el-select + v-model="value" + placeholder="璇烽�夋嫨" + size="small" + :popper-append-to-body="false" + > <el-option v-for="item in options" :key="item.value" @@ -179,16 +184,29 @@ </el-form> </div> - <div class="general-box fold" :class="{'hidden':IPV6_hid}" ref="ipv6Holder"> - <div class="in-title">IPV6 - <span class="icon iconfont icon-fold" - @click="toggleFold('IPV6_hid')"></span> + <div + class="general-box fold" + :class="{ hidden: IPV6_hid }" + ref="ipv6Holder" + > + <div class="in-title"> + IPV6 + <span + class="icon iconfont icon-fold" + @click="toggleFold('IPV6_hid')" + ></span + > </div> <el-form :model="ipv6Form" :rules="ipv6FormRules" ref="ipv6Form"> <el-form-item> <div class="p-title">鏂规硶</div> - <el-select v-model="value" placeholder="璇烽�夋嫨" size="small" :popper-append-to-body="false"> + <el-select + v-model="value" + placeholder="璇烽�夋嫨" + size="small" + :popper-append-to-body="false" + > <el-option v-for="item in options" :key="item.value" @@ -217,9 +235,17 @@ <i class="el-icon-remove-outline" @click="minusPrefix"></i> </div> <div class="ad"> - <i class="el-icon-circle-plus-outline" @click="+(ipv6Form.prefix)++"></i> + <i + class="el-icon-circle-plus-outline" + @click="+ipv6Form.prefix++" + ></i> </div> - <div class="ad"><i class="el-icon-refresh-left" @click="ipv6Form.prefix=''"></i></div> + <div class="ad"> + <i + class="el-icon-refresh-left" + @click="ipv6Form.prefix = ''" + ></i> + </div> </div> </el-form-item> @@ -330,9 +356,9 @@ <div class="ok" @click="saveWire">淇濆瓨</div> </div> </div> - <WifiGateway v-if="activePage == 3"></WifiGateway> - <LoraGateway v-if="activePage == 4"></LoraGateway> - <MqttGateway v-if="activePage == 5"></MqttGateway> + <WifiGateway v-if="activePage == 3"></WifiGateway> + <LoraGateway v-if="activePage == 4"></LoraGateway> + <MqttGateway v-if="activePage == 5"></MqttGateway> </div> </div> </div> @@ -352,9 +378,9 @@ import ipInput from "../components/IPInput"; import switchBar from "../components/switchBar"; -import WifiGateway from '../components/WifiGateway' -import LoraGateway from '../components/LoraGateway' -import MqttGateway from '../components/MqttGateway' +import WifiGateway from "../components/WifiGateway"; +import LoraGateway from "../components/LoraGateway"; +import MqttGateway from "../components/MqttGateway"; export default { components: { @@ -362,7 +388,7 @@ switchBar, WifiGateway, LoraGateway, - MqttGateway + MqttGateway, }, data() { const checkPwd = (rule, value, callback) => { @@ -433,7 +459,7 @@ ], value: "", IPV4_hid: false, - IPV6_hid: false + IPV6_hid: false, }; }, mounted() { @@ -441,9 +467,9 @@ this.fetchWireList(); }, methods: { - minusPrefix(){ - debugger - this.ipv6Form.prefix + minusPrefix() { + debugger; + this.ipv6Form.prefix; }, switchNetCard(item) { if (item.active) { @@ -512,8 +538,8 @@ if (i == 0) { this.ruleForm.deviceName = ""; this.ruleForm.port = ""; - this.getCurServer() - } + this.getCurServer(); + } if (i == 1) { this.inWifiDetail = false; } @@ -575,16 +601,18 @@ }); }, toggleFold(tog) { - const demo = this.$refs.ipvHolder - if(!(this.IPV4_hid&&!this.IPV6_hid)){ - setTimeout(() => { - demo.scrollIntoView({block: "end", inline: "nearest",behavior: 'smooth'}) - }, 300); - } - this[tog] = !this[tog] - - - } + const demo = this.$refs.ipvHolder; + if (!(this.IPV4_hid && !this.IPV6_hid)) { + setTimeout(() => { + demo.scrollIntoView({ + block: "end", + inline: "nearest", + behavior: "smooth", + }); + }, 300); + } + this[tog] = !this[tog]; + }, }, computed: { showStatus() { @@ -597,7 +625,7 @@ .all { width: 100%; } -.wire{ +.wire { width: 456px; margin: 0 auto; } @@ -727,10 +755,11 @@ height: 48px; font-size: 16px; line-height: 48px; - color: #4F4F4F; - font-weight: bold; background: #F2F2F7; - border-radius: 8px; - margin-bottom: 4px; + color: #4f4f4f; + font-weight: bold; + background: #f2f2f7; + border-radius: 8px; + margin-bottom: 4px; } .el-form-item.is-required:not(.is-no-asterisk) > .el-form-item__label:before, @@ -757,7 +786,7 @@ border: 2px solid #409eff !important; } .el-select-dropdown__item { - color: #4F4F4F; + color: #4f4f4f; height: 32px; font-size: 12px; line-height: 32px; @@ -806,7 +835,7 @@ width: 100%; } .el-select .el-input .el-select__caret { - color: #4F4F4F; + color: #4f4f4f; font-size: 14px; font-weight: 600; } @@ -823,7 +852,7 @@ } .switch-bar .name { font-size: 14px; - color: #4F4F4F; + color: #4f4f4f; font-weight: bold; } .wifi-option { @@ -839,7 +868,7 @@ border-radius: 8px; .name { font-size: 14px; - color: #4F4F4F; + color: #4f4f4f; font-weight: bold; .icon { color: #4e94ff; @@ -877,7 +906,7 @@ padding-bottom: 10px; margin-bottom: 20px; &.fold { - height: 342px; + height: 342px; .icon-fold { display: inline-block; font-size: 14px; @@ -887,10 +916,10 @@ } } &.hidden { - height: 34px; - .icon-fold { - transform: rotate(180deg); - } + height: 34px; + .icon-fold { + transform: rotate(180deg); + } } .el-form-item { margin-bottom: 0px; @@ -900,7 +929,7 @@ padding: 14px 20px; font-weight: bold; font-size: 14px; - color: #4F4F4F; + color: #4f4f4f; } .ip-input-container { max-width: none !important; @@ -966,13 +995,15 @@ font-size: 15px; font-weight: bold; font-size: 14px; - color: #4F4F4F; + color: #4f4f4f; } .right { display: flex; align-items: center; .el-switch__core { height: 14px; + background-color: var(--colorCard) !important; + border-color: var(--colorCard) !important; } .el-switch.is-checked .el-switch__core::after { left: 100%; @@ -995,7 +1026,7 @@ margin-right: 15px; } .good { - color: #4e94ff; + color: var(--colorCard); font-size: 16px; } .bad { diff --git a/src/pages/systemSettings/index/App.vue b/src/pages/systemSettings/index/App.vue index 8a8d3e9..d2ecf07 100644 --- a/src/pages/systemSettings/index/App.vue +++ b/src/pages/systemSettings/index/App.vue @@ -8,16 +8,17 @@ import BasicSetting from "../components/BasicSetting"; export default { - name: 'settings', + name: "settings", components: { - BasicSetting + BasicSetting, }, data() { return { activeName: "basic", buttonAuthority: sessionStorage.getItem("buttonAuthoritys") || [], - loginName: JSON.parse(sessionStorage.getItem("userInfo")).username || "鐢ㄦ埛鍚�" - } + loginName: + JSON.parse(sessionStorage.getItem("userInfo")).username || "鐢ㄦ埛鍚�", + }; }, computed: { isAdmin() { @@ -29,7 +30,7 @@ return loginName === "superadmin" || loginName === "basic"; } return false; - } + }, }, methods: { isShow(authority) { @@ -43,18 +44,18 @@ }, }, created() { - if (this.isShow('videoSystem:base')) { - this.activeName = "basic" - } else if (this.isShow('videoSystem:permission')) { - this.activeName = "user" - } else if (this.isShow('videoSystem:broadcast')) { - this.activeName = "radio" - } else if (this.isShow('videoSystem:eventPush')) { - this.activeName = "event" - } else if (this.isShow('videoSystem:logManage')) { - this.activeName = "log" - } else if (this.isShow('videoSystem:sysManage')) { - this.activeName = "system" + if (this.isShow("videoSystem:base")) { + this.activeName = "basic"; + } else if (this.isShow("videoSystem:permission")) { + this.activeName = "user"; + } else if (this.isShow("videoSystem:broadcast")) { + this.activeName = "radio"; + } else if (this.isShow("videoSystem:eventPush")) { + this.activeName = "event"; + } else if (this.isShow("videoSystem:logManage")) { + this.activeName = "log"; + } else if (this.isShow("videoSystem:sysManage")) { + this.activeName = "system"; } }, }; diff --git a/src/pages/vindicate/index/App.vue b/src/pages/vindicate/index/App.vue index ee839c1..6d69584 100644 --- a/src/pages/vindicate/index/App.vue +++ b/src/pages/vindicate/index/App.vue @@ -157,6 +157,13 @@ }; }, created() { + window.parent.postMessage( + { + msg: "showBack", + }, + "*" + ); + let color = localStorage.getItem("--colorCard"); if (color) { document.documentElement.style.setProperty("--colorCard", `${color}`); diff --git a/src/pages/vindicate/views/updateSettings.vue b/src/pages/vindicate/views/updateSettings.vue index aeb3ad3..26c58a2 100644 --- a/src/pages/vindicate/views/updateSettings.vue +++ b/src/pages/vindicate/views/updateSettings.vue @@ -28,26 +28,41 @@ <div class="button-group"> <div class="bottom"> - <div class="top" :class="{ 'toggle':radio2 !== '妫�鏌ユ洿鏂�' }"></div> - <div class="label-left" :class="{ 'toggle':radio2 == '妫�鏌ユ洿鏂�' }" @click="radio2 = '妫�鏌ユ洿鏂�'">妫�鏌ユ洿鏂�</div> - <div class="label-right" :class="{ 'toggle':radio2 !== '妫�鏌ユ洿鏂�' }" @click="radio2 = '涓婁紶鏇存柊'">涓婁紶鏇存柊</div> + <div class="top" :class="{ toggle: radio2 !== '妫�鏌ユ洿鏂�' }"></div> + <div + class="label-left" + :class="{ toggle: radio2 == '妫�鏌ユ洿鏂�' }" + @click="radio2 = '妫�鏌ユ洿鏂�'" + > + 妫�鏌ユ洿鏂� + </div> + <div + class="label-right" + :class="{ toggle: radio2 !== '妫�鏌ユ洿鏂�' }" + @click="radio2 = '涓婁紶鏇存柊'" + > + 涓婁紶鏇存柊 + </div> </div> </div> <div class="update-center" v-if="radio2 == '妫�鏌ユ洿鏂�'"> - <img v-if="!upgrading&&hasNewVersion||checking" + <img + v-if="(!upgrading && hasNewVersion) || checking" class="spin-bg" src="/images/vindicate/妫�娴嬪姞杞�.png" :class="upgrading || checking ? 'spin-bg-rot' : ''" - /> - <img v-if="upgrading&&hasNewVersion" + /> + <img + v-if="upgrading && hasNewVersion" class="spin-bg" src="/images/vindicate/鍔犺浇.png" - /> - <img v-if="!checking&&!hasNewVersion" + /> + <img + v-if="!checking && !hasNewVersion" class="spin-bg" src="/images/vindicate/宸叉槸鏈�鏂扮増鏈�.png" - /> + /> <div class="desc" v-if="checking && !upgrading"> 姝e湪妫�娴嬬増鏈洿鏂扳�︹�� </div> @@ -59,14 +74,16 @@ <div class="desc desc-suc" v-if="!checking && !hasNewVersion"> 褰撳墠宸茬粡鏄渶鏂扮増鏈� </div> - - <div class="text-desc" v-if="hasNewVersion && !checking&& !upgrading"> - {{verText}} + <div + class="text-desc" + v-if="hasNewVersion && !checking && !upgrading" + > + {{ verText }} </div> <el-button - v-if="hasNewVersion && !checking&&!upgrading" + v-if="hasNewVersion && !checking && !upgrading" :loading="upgrading" type="primary" style="width: 150px" @@ -76,50 +93,45 @@ > </div> - - <div class="upload-center" v-if="radio2 == '涓婁紶鏇存柊'"> - <div class="upload-info"><img src="/images/vindicate/閾炬帴 1.png" style="width: 14px;"> 涓婁紶瀹夎杞欢</div> + <div class="upload-info"> + <img src="/images/vindicate/閾炬帴 1.png" style="width: 14px" /> + 涓婁紶瀹夎杞欢 + </div> <div class="upload-top"> - <div class="upload-container"> - <div class="upload-fail " v-if="upStatus===0"> - <i class="icon iconfont upload-icon"> -  - </i> - <p>涓婁紶澶辫触锛岃閲嶆柊涓婁紶銆�</p> - </div> - - <div class="upload-success" v-if="upStatus===1"> - <i class="icon iconfont upload-icon"> -  - </i> - <p>涓婁紶鎴愬姛锛岃鐐瑰嚮鏇存柊鎸夐挳寮�濮嬫洿鏂般��</p> - </div> - - <el-upload - ref="myUpload" - class="upload-demo" - drag - action - v-show="!shengjiing&&upStatus===''" - :http-request="uploadPkg" - :limit="1" - > - <i class="el-icon-upload"></i> - <div - class="el-upload__text" - v-loading="upgrading" - element-loading-text="涓婁紶涓紝璇风◢鍚�" - element-loading-spinner="el-icon-loading" - > - 灏� .zip 鏇存柊鏂囦欢鎷栧埌姝ゅ锛屾垨 <em> 鐐瑰嚮涓婁紶 </em> + <div class="upload-fail" v-if="upStatus === 0"> + <i class="icon iconfont upload-icon">  </i> + <p>涓婁紶澶辫触锛岃閲嶆柊涓婁紶銆�</p> </div> - <div class="el-upload__tip" slot="tip"></div> - </el-upload> + <div class="upload-success" v-if="upStatus === 1"> + <i class="icon iconfont upload-icon">  </i> + <p>涓婁紶鎴愬姛锛岃鐐瑰嚮鏇存柊鎸夐挳寮�濮嬫洿鏂般��</p> + </div> + + <el-upload + ref="myUpload" + class="upload-demo" + drag + action + v-show="!shengjiing && upStatus === ''" + :http-request="uploadPkg" + :limit="1" + > + <i class="el-icon-upload"></i> + <div + class="el-upload__text" + v-loading="upgrading" + element-loading-text="涓婁紶涓紝璇风◢鍚�" + element-loading-spinner="el-icon-loading" + > + 灏� .zip 鏇存柊鏂囦欢鎷栧埌姝ゅ锛屾垨 <em> 鐐瑰嚮涓婁紶 </em> + </div> + <div class="el-upload__tip" slot="tip"></div> + </el-upload> </div> - + <span class="icon iconfont spin-bg" :class="shengjiing ? 'spin-bg-rot' : ''" @@ -198,7 +210,8 @@ activePage: 0, patchUpdateStatus: "", probeSum: 0, - timer: null,verText:"", + timer: null, + verText: "", patchFile: {}, fileAdded: false, curVersionName: "", @@ -207,7 +220,7 @@ checking: true, newVersionName: "", hasNewVersion: false, - upStatus:'', + upStatus: "", sysSetList: [ { title: "鑷姩娓呯悊杞欢鍖呯紦瀛�", val: false, name: "sys_auto_clean" }, { title: "鏇存柊鎻愰啋", val: false, name: "sys_update_notice" }, @@ -227,10 +240,10 @@ }, mounted() { const isAutoUpdate = getUrlKey("autoUpdate"); - if (isAutoUpdate==1) { - this.checking = false - this.upgradeNewVersion() - }else{ + if (isAutoUpdate == 1) { + this.checking = false; + this.upgradeNewVersion(); + } else { this.fetchUpgradInfo(); } this.fetchSettings(); @@ -261,7 +274,7 @@ this.newVersionName = res.data.newVersion; this.curVersionName = res.data.curVersion; this.hasNewVersion = res.data.hasNewVersion; - this.verText=res.data.newVersionInfo + this.verText = res.data.newVersionInfo; if (!this.hasNewVersion) { this.upgrading = false; @@ -287,21 +300,23 @@ let param = new FormData(); param.append("archive", params.file); this.upgrading = true; - uploadUpgradePkg(param).then((res) => { - this.upgrading = false; - this.pkgID = res.data.id; - this.upStatus = 1 - setTimeout(() => { - this.upStatus ='' - }, 2000); - }).catch(()=>{ - this.upgrading = false; - this.$refs.myUpload.clearFiles() - this.upStatus = 0 - setTimeout(() => { - this.upStatus ='' - }, 2000); - }) + uploadUpgradePkg(param) + .then((res) => { + this.upgrading = false; + this.pkgID = res.data.id; + this.upStatus = 1; + setTimeout(() => { + this.upStatus = ""; + }, 2000); + }) + .catch(() => { + this.upgrading = false; + this.$refs.myUpload.clearFiles(); + this.upStatus = 0; + setTimeout(() => { + this.upStatus = ""; + }, 2000); + }); }, upgrade() { this.shengjiing = true; @@ -364,14 +379,13 @@ } }); }, - }, }; </script> <style lang="scss"> .all { width: 100%; - background-color: #FBFAFF; + background-color: #fbfaff; } .update-set-content { height: 100%; @@ -380,8 +394,8 @@ flex: 1; flex-basis: auto; box-sizing: border-box; - border-top:4px solid rgb(242, 242, 247) ; - border-left:4px solid rgb(242, 242, 247) ; + border-top: 4px solid rgb(242, 242, 247); + border-left: 4px solid rgb(242, 242, 247); .cluster-center { height: 100%; width: 300px; @@ -396,7 +410,7 @@ margin-bottom: 4px; border-radius: 8px; line-height: 56px; - box-sizing: border-box; + box-sizing: border-box; cursor: pointer; padding: 0 15px; display: flex; @@ -412,21 +426,21 @@ } .menu-text { font-size: 16px; - font-weight: 700; + font-weight: 700; } } } - .menu-item-active { + .menu-item-active { background-color: var(--colorCard) !important; - .iconfont { - color: #fff !important; - } - .menu-text { - color: #fff; - } + .iconfont { + color: #fff !important; + } + .menu-text { + color: #fff; + } } - .menu-item:hover { - background-color: #F2F2F7; + .menu-item:hover { + background-color: #f2f2f7; } } .cluster-right { @@ -506,7 +520,7 @@ .bottom { position: relative; height: 100%; - background: #F2F2F7; + background: #f2f2f7; border-radius: 20px; cursor: pointer; .top { @@ -515,9 +529,9 @@ left: 0; width: 84px; height: 28px; - background: #4E94FF; + background: var(--colorCard); border-radius: 20px; - transition: all .2s linear; + transition: all 0.2s linear; &.toggle { left: 84px; } @@ -533,9 +547,9 @@ line-height: 28px; font-weight: 700; color: #333333; - &.toggle { - color: #fff; - } + &.toggle { + color: #fff; + } } .label-right { position: absolute; @@ -549,8 +563,8 @@ font-weight: 700; color: #333333; &.toggle { - color: #fff; - } + color: #fff; + } } } } @@ -564,10 +578,9 @@ } .spin-bg { - - width: 60px; + width: 60px; margin-top: 60px; - margin-bottom:15px ; + margin-bottom: 15px; } .spin-bg-rot { animation: spin 0.8s linear infinite; @@ -595,25 +608,25 @@ background: var(--colorCard) !important; border: none !important; &:hover { - color: white !important; + color: white !important; } } - .text-desc{ + .text-desc { width: 90%; height: 150px; margin-top: 20px; - background-color: #F2F2F7; + background-color: #f2f2f7; padding: 20px 30px; color: #333; text-align: left; font-size: 12px; - border-radius:8px ; + border-radius: 8px; } } .upload-center { - margin-top:44px ; + margin-top: 44px; .upload-info { - margin-bottom:20px ; + margin-bottom: 20px; text-align: left; font-weight: bold; font-size: 14px; @@ -626,16 +639,16 @@ background-color: #fff; border-radius: 8px; - .upload-fail .iconfont{ + .upload-fail .iconfont { color: rgb(254, 109, 104); } - .upload-success .iconfont{ + .upload-success .iconfont { color: rgb(78, 148, 255); } - - - .upload-success,.upload-fail { + + .upload-success, + .upload-fail { position: absolute; z-index: 1; width: 100%; @@ -654,7 +667,7 @@ .upload-icon { display: block; margin-top: 32px; - margin-bottom:42px ; + margin-bottom: 42px; font-size: 50px; } } @@ -682,8 +695,8 @@ background: var(--colorCard) !important; border: none !important; &:hover { - color: white !important; - } + color: white !important; + } } .el-button--small { font-size: 14px; @@ -697,25 +710,25 @@ flex-direction: column; .el-upload { - width: 340px !important; - height: 117.87px !important; - margin: 28px auto; - .el-upload-dragger { - width: 100% !important; - height: 100% !important; - i { - display: none !important; + width: 340px !important; + height: 117.87px !important; + margin: 28px auto; + .el-upload-dragger { + width: 100% !important; + height: 100% !important; + i { + display: none !important; + } + .el-upload__text { + color: #828282 !important; + margin-top: 52px !important; + font-size: 14px !important; + } + .el-loading-text { + font-size: 14px !important; + color: #333333 !important; + } } - .el-upload__text { - color: #828282 !important; - margin-top: 52px !important; - font-size: 14px !important; - } - .el-loading-text { - font-size: 14px !important; - color: #333333 !important; - } - } } .el-upload.el-upload--text .el-upload-dragger:hover { @@ -730,13 +743,13 @@ width: 150px; height: 40px; margin-top: 158px; - margin-bottom:25px ; + margin-bottom: 25px; background: var(--colorCard) !important; border: none !important; border-radius: 25px !important; &:hover { - color: white !important; - } + color: white !important; + } } } .up-text { @@ -766,11 +779,11 @@ display: flex; align-items: center; height: 50px; - background-color: #F2F2F7; + background-color: #f2f2f7; justify-content: space-between; border-radius: 12px; margin-bottom: 4px; - padding-left:20px ; + padding-left: 20px; .name { font-size: 14px; font-weight: 700; @@ -780,10 +793,10 @@ text-align: left; padding: 17px 0 17px 25px; font-size: 16px; - color:#333; + color: #333; font-weight: 700; } - .el-switch{ + .el-switch { width: 40px; height: 14px; margin-right: 17px; @@ -798,14 +811,14 @@ width: 12px !important; height: 12px !important; } - } + } - .is-checked .el-switch__core{ - background-color: var(--colorCard) !important; - border: 1px solid var(--colorCard) !important; - &::after { - margin-left: 16px - } + .is-checked .el-switch__core { + background-color: var(--colorCard) !important; + border: 1px solid var(--colorCard) !important; + &::after { + margin-left: 16px; + } } } @@ -818,14 +831,12 @@ line-height: 40px; font-size: 14px; margin-top: 20px; - background: var(--colorCard) !important; - border: none !important; - &:hover { - color: white !important; - } + background: var(--colorCard) !important; + border: none !important; + &:hover { + color: white !important; + } } } - } - </style> diff --git a/vue.config.js b/vue.config.js index 29b52cf..d194a06 100644 --- a/vue.config.js +++ b/vue.config.js @@ -93,7 +93,7 @@ }, "/data/api-v/app/findAllApp": { // target: '/', - target: "http://localhost:8081/", + target: "http://localhost:8080/", changeOrigin: true, pathRewrite: { "^/data/api-v/app/findAllApp": "apps.json", -- Gitblit v1.8.0