From d259bd9cf2943926d1c8078ee0ce70a0aa1afef3 Mon Sep 17 00:00:00 2001 From: hanbaoshan <hanbaoshan@aiotlink.com> Date: 星期四, 06 八月 2020 09:58:38 +0800 Subject: [PATCH] 实时监控/摄像机配置/数据栈配置布局调整,应用窗口调整,算法管理更换为应用中心 --- src/pages/desktop/index/components/DFrame.vue | 25 src/components/canvas/index.vue | 5 public/images/desktop/desk-logo.png | 0 src/pages/ai/index/main.ts | 0 src/pages/desktop/index/mock/userData.json | 12 public/css/overried.scss | 134 +++++ src/pages/ai/index/App.vue | 0 src/components/subComponents/SystemInfo.vue | 2 src/pages/desktop/index/components/Tools.vue | 1 public/css/element-variables.scss | 31 + src/pages/cameraAccess/components/SeparateRules.vue | 17 src/pages/cameraAccess/components/LinkageRule.vue | 26 public/index.html | 308 +++++++++++ src/pages/cameraVideo/index/Video.vue | 5 src/pages/cameraAccess/components/scene/SlideScene.vue | 28 /dev/null | 79 --- public/css/messages.scss | 367 ++++++++++++++ src/pages/desktop/index/store/modules/desktop.js | 18 public/css/common.scss | 332 +++++++++++++ src/pages/ai/index/mixins.ts | 0 src/pages/cameraAccess/index/App.vue | 35 src/components/subComponents/DataStackCard.vue | 2 src/pages/cameraAccess/index/VideoManage.vue | 15 src/pages/cameraAccess/components/CameraInfo.vue | 4 src/pages/ai/index/api.ts | 0 25 files changed, 1,270 insertions(+), 176 deletions(-) diff --git a/public/css/common.scss b/public/css/common.scss new file mode 100644 index 0000000..a840ee6 --- /dev/null +++ b/public/css/common.scss @@ -0,0 +1,332 @@ + +/*瀹氫綅*/ +.tl{text-align: left;} +.tc{text-align: center;} +.tr{text-align: right;} +.bc{margin-left: auto;margin-right: auto;} +.fl{float: left; display:inline;} +.fr{float: right; display:inline;} +.cb{clear:both;} +.cl{clear: left;} +.cr{clear: right;} + + + /*鏂囧瓧鎺掔増*/ + .f12{font-size: 12px;} + .f13{font-size: 13px;} + .f14{font-size: 14px;} + .f16{font-size: 16px;} + .f18{font-size: 18px;} + .f20{font-size: 20px;} + .f22{font-size: 23px;} + .f25{font-size: 25px;} + .f30{font-size: 30px;} + .f35{font-size: 35px;} + .f40{font-size: 40px;} + .f45{font-size: 45px;} + .f50{font-size: 50px;} + .f55{font-size: 55px;} + .f60{font-size: 60px;} + .f65{font-size: 65px;} + .fb{font-weight: bold;} + .fn{font-weight: normal;} + .t2{text-indent: 2em;} + .lh150{line-height:150%;} + .lh180{line-height:180%;} + .lh200{line-height:200%;} + .unl{text-decoration: underline;} + .no_unl{text-decoration: none;} + + +.clearfix:after{ display:block; content:''; clear:both;} +.clearfix{ zoom:1;} +.vm{vertical-align: middle;} + +.pr{position: relative;} +.pa{position: absolute;} +.pa100{position: absolute;left: 0;top: 0;right: 0;bottom: 0;} +.zoom{zoom:1;} +.hidden{visibility: hidden;} +.none{display: none} +/*闀垮害楂樺害*/ +.w10{width: 10px;} +.w20{width: 20px;} +.w30{width: 30px;} +.w40{width: 40px;} +.w50{width: 50px;} +.w70{width: 70px;} +.w90{width: 90px;} +.w100{width: 100px;} +.w300{width: 300px;} +.w500{width: 500px;} +.w600{width: 600px;} +.w700{width: 700px;} +.w800{width: 800px;} +.w{width: 100%;} +.h50{height: 50px;} +.h100{height: 100px;} +.h200{height: 200px;} +.h{height: 100%;} + +/*缂栧墽*/ +.ma{margin: auto;} +.m10{margin:10px;} +.m15{margin:15px;} +.m30{margin:30px;} +.mt5{margin-top:5px;} +.mt10{margin-top:10px;} +.mt15{margin-top:15px;} +.mt20{margin-top:20px;} +.mt30{margin-top:30px;} +.mt50{margin-top:50px;} +.mt100{margin-top:100px;} +.mb5{margin-bottom: 5px;} +.mb10{margin-bottom: 10px;} +.mb15{margin-bottom: 15px;} +.mb20{margin-bottom: 20px;} +.mb30{margin-bottom: 30px;} +.mb50{margin-bottom: 50px;} +.mb100{margin-bottom: 100px;} +.ml5{margin-left: 5px;} +.ml10{margin-left: 10px;} +.ml15{margin-left: 15px;} +.ml20{margin-left: 20px;} +.ml30{margin-left: 30px;} +.ml50{margin-left: 50px;} +.ml100{margin-left: 100px;} +.mr5{margin-right: 5px;} +.mr10{margin-right:10px;} +.mr15{margin-right: 15px;} +.mr20{margin-right: 20px;} +.mr30{margin-right: 30px;} +.mr50{margin-right: 50px;} +.mr100{margin-right: 100px;} +.p5{padding: 5px;} +.p10{padding:10px;} +.p15{padding: 15px;} +.p20{padding: 20px;} +.p30{padding: 30px;} +.p50{padding: 50px;} +.p100{padding: 100px;} +.pt5{padding-top: 5px;} +.pt10{padding-top:10px;} +.pt15{padding-top: 15px;} +.pt20{padding-top: 20px;} +.pt30{padding-top: 30px;} +.pt50{padding-top: 50px;} +.pt100{padding-top: 100px;} +.pb5{padding-bottom: 5px;} +.pb10{padding-bottom:10px;} +.pb15{padding-bottom: 15px;} +.pb20{padding-bottom: 20px;} +.pb30{padding-bottom: 30px;} +.pb50{padding-bottom: 50px;} +.pb100{padding-bottom: 100px;} +.pl5{padding-left: 5px;} +.pl10{padding-left:10px;} +.pl15{padding-left: 15px;} +.pl20{padding-left: 20px;} +.pl30{padding-left: 30px;} +.pl50{padding-left: 50px;} +.pl60{padding-left: 60px;} +.pl100{padding-left: 100px;} +.pr5{padding-right: 5px;} +.pr10{padding-right:10px;} +.pr15{padding-right: 15px;} +.pr20{padding-right: 20px;} +.pr30{padding-right: 30px;} +.pr50{padding-right: 50px;} +.pr100{padding-right: 100px;} +.pl-checkbox{padding-left:44px;} +.pd10{padding:10px;} +.pd20{padding:20px;} + +.mg10{margin:10px;} +.mg20{margin:20px;} +.mg30{margin:30px;} +.p0m0{padding:0; margin: 0;} +.cursor-pointer{cursor: pointer;} +.dis-inleblock{ display: inline-block; } +.dis-inline{ display: inline; } +.dis-block{ display: block; } +.text-overflow{ + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.overflow-y{overflow-y: auto;overflow-x:hidden;} +.overflow-x{overflow-x: auto;overflow-y:hidden;} +.overflow-auto{overflow: auto;} +.overflow-hidden{overflow:hidden;} + +.text-center{text-align: center;} +.text-left{text-align: left;} +.text-right{text-align: right;} + +.vertical-top{vertical-align: top;} +.vertical-middle{vertical-align: middle;} +.vertical-bottom{vertical-align: bottom;} +.border-box{box-sizing: border-box;} +.flex-center{ + display:flex; + align-items:center; + justify-content:center; +} +.width100{width: 100%;} +.width50{width: 50%;} +.width60{width: 60%;} +.width70{width: 70%;} + +.height100{height: 100%} +.height40{height: 40%} +.height50{height: 50%} +.height60{height: 60%} +.height70{height: 70%} +.height80{height: 80%} + +.height50-10{height: calc(50% - 10px);} +.height40-10{height: calc(40% - 10px);} +.height30-10{height: calc(30% - 10px);} +.height100-10{height: calc(100% - 10px);} +.height100-20{height: calc(100% - 20px);} +.height100-25{height: calc(100% - 25px);} +.height100-30{height: calc(100% - 30px);} +.height100-40{height: calc(100% - 40px);} +.height100-45{height: calc(100% - 45px);} +.height100-50{height: calc(100% - 50px);} +.height100-55{height: calc(100% - 55px);} +.height100-60{height: calc(100% - 60px);} +.height100-65{height: calc(100% - 65px);} +.height100-70{height: calc(100% - 70px);} +.height100-75 { + height: calc(100% - 75px); +} +.height100-80{height: calc(100% - 80px);} +.height100-85{height: calc(100% - 85px);} +.height100-90 { + height: calc(100% - 90px); +} +.height100-95 { + height: calc(100% - 95px); +} +.height100-100 { + height: calc(100% - 100px); +} +.height100-120{height: calc(100% - 120px);} +.is-always-shadow { + -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); +} + +.bg-card-blue{ + background: #f4fcff; +} + +.radius-circle{ + border-radius: 50%; + overflow: hidden; +} +.radius-5 { + border-radius: 5px; +} +.radius-10 { + border-radius: 10px; +} +.radius-15 { + border-radius: 15px; +} +.radius-20 { + border-radius: 20px; +} +.radius-25 { + border-radius: 25px; +} +/* 鑷畾涔塮lex甯冨眬 start */ + +.flex-box { + display: -webkit-flex; + display: flex; +} + +.flex-box-wrap { + display: -webkit-flex; + display: flex; + flex-wrap: wrap; +} + +.flex-center { + display: flex; + align-items: center; + justify-content: center; +} + +.flex-row-left { + display: flex; + align-items: flex-start; + justify-content: flex-start; +} + +.flex-row-center { + display: flex; + align-items: flex-start; + justify-content: center; +} + +.flex-row-right { + display: flex; + align-items: flex-start; + justify-content: flex-end; +} + +.flex-row-between { + display: flex; + align-items: flex-start; + justify-content: space-between; +} + +.flex-vertical-top { + display: flex; + align-items: flex-start; +} + +.flex-vertical-center { + display: flex; + align-items: center; +} + +.flex-vertical-bottom { + display: flex; + align-items: flex-end; +} + +.flex-vertical-fill { + display: flex; + align-items: stretch; +} + +.flex-iteam-top { + align-self: flex-start; +} + +.flex-iteam-center { + align-self: center; +} + +.flex-iteam-bottom { + align-self: flex-end; +} + +// elementu-ui + +.el-radio__input.is-checked .el-radio__inner { + border-color: #3d68e1; + background: #3d68e1; +} +.el-radio__input.is-checked + .el-radio__label { + color: #3d68e1; +} + +.el-switch.is-checked .el-switch__core { + border-color: #3d68e1; + background-color: #3d68e1; +} diff --git a/public/css/element-variables.scss b/public/css/element-variables.scss new file mode 100644 index 0000000..e56b6c4 --- /dev/null +++ b/public/css/element-variables.scss @@ -0,0 +1,31 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +$--color-primary: #3D68E1; +$--color-success: #13ce66; +$--color-warning: #ff8725; +$--color-danger: #f52323; +$--color-info: #EAEAEA; + +$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; + +$--border-color-light: #dfe4ed; +$--border-color-lighter: #e6ebf5; + +$--table-border:1px solid#dfe6ec; + +/* icon font path, required */ +$--font-path: '~element-ui/lib/theme-chalk/fonts'; + +@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} \ No newline at end of file diff --git a/public/css/messages.scss b/public/css/messages.scss new file mode 100644 index 0000000..20a8c2d --- /dev/null +++ b/public/css/messages.scss @@ -0,0 +1,367 @@ + +$messages-inner-bg: transparent !default; +$messages-sidebox-bg: #f3f3f3 !default; +$messages-sidebox-width: 16rem !default; +$messages-sidebox-border-width: 1px !default; +$messages-transition-duration: .2s !default; +$message-item-padding-y: .75rem !default; +$message-sender-width: 10rem !default; +$message-attachment-width: 18rem !default; +$message-attachment-size: 4rem !default; + +// Make wrapper full page height +.messages-wrapper { + position: relative; + display: flex; + overflow: hidden; + flex: 1 1 100%; + width: 100%; +} + +.messages-card { + overflow: hidden; +} + +.messages-wrapper, +.messages-sidebox { + transition: all $messages-transition-duration; +} + +.messages-sidebox { + flex-basis: 100%; + flex-grow: 0; +} + +.messages-wrapper .messages-sidebox, +.messages-card .messages-sidebox { + position: fixed; + left: calc(-#{$messages-sidebox-width} - #{$messages-sidebox-border-width}); + z-index: 10; + flex-basis: auto; + flex-grow: 1; + width: $messages-sidebox-width; + + [dir=rtl] & { + right: calc(-#{$messages-sidebox-width} - #{$messages-sidebox-border-width}); + left: auto; + } +} + +.layout-sidenav-100vh .messages-wrapper .messages-sidebox { + height: 100vh; +} + +.messages-wrapper .messages-sidebox { + background: $messages-sidebox-bg; +} + +.messages-card .messages-sidebox { + // position: absolute; + bottom: 0; +} + +.messages-scroll { + position: absolute; + top: 0; + bottom: 0; + height: 100%; + + &.messages-content { + position: absolute; + right: 0; + left: 0; + width: 100%; + } +} + +// List + +.messages-list .list-group-item { + z-index: auto !important; + display: flex; + align-items: center; + flex-wrap: wrap; + padding-top: ($message-item-padding-y / 2); + padding-bottom: ($message-item-padding-y / 2); + width: 100%; + border-right: 0; + border-left: 0; + border-radius: 0; + + &:first-child { + border-top: 0; + } + + &:last-child { + border-bottom: 0; + } + + > * { + padding-top: ($message-item-padding-y / 2); + padding-bottom: ($message-item-padding-y / 2); + } +} + +.message-checkbox .custom-control { + display: block !important; + margin: 0; + margin-top: -1px; +} + +.message-sender { + min-width: $message-sender-width; +} + +.message-subject { + width: 100%; +} + +.message-date { + white-space: nowrap; +} + +// Attachments + +.message-attachment { + display: flex; + align-items: center; + width: 100%; + + > .media-body { + min-width: 0; + } +} + +.message-attachment-file, +.message-attachment-img { + display: block; + flex-grow: 0; + flex-shrink: 0; + width: $message-attachment-size; + height: $message-attachment-size; +} + +.message-attachment-file { + display: inline-block; + text-align: center; + line-height: $message-attachment-size; +} + +.message-attachment-img { + background-color: transparent; + background-position: center center; + background-size: cover; +} + +.message-attachment-filename { + display: block; + overflow: hidden; + width: 100%; + text-overflow: ellipsis; + white-space: nowrap; +} + + +.default-style { + @import "../_appwork/include"; + + .messages-wrapper .messages-sidebox { + z-index: $zindex-layout-fixed + 1; + } + + .messages-sidebox-open .messages-sidebox { + left: 0; + } + + .messages-card .messages-sidebox { + background: $white; + box-shadow: 0 0 0 $messages-sidebox-border-width $card-inner-border-color; + } + + @include media-breakpoint-up(sm) { + .messages-list .list-group-item { + flex-wrap: nowrap; + } + + .message-subject { + width: auto; + } + + .message-date { + margin-left: auto; + } + } + + @include media-breakpoint-up(md) { + .messages-sidebox { + flex-basis: $messages-sidebox-width; + } + + .messages-wrapper .messages-sidebox { + flex-basis: auto; + } + } + + @include media-breakpoint-up(lg) { + .messages-wrapper, + .messages-sidebox { + transition: none !important; + } + + .messages-wrapper { + padding-left: $messages-sidebox-width; + } + + .messages-sidebox { + z-index: auto !important; + } + + .messages-wrapper .messages-sidebox { + position: absolute; + left: 0; + z-index: auto; + } + + .messages-wrapper .messages-sidebox { + height: 100% !important; + } + + .messages-card .messages-sidebox { + position: static; + right: auto; + left: auto; + flex-grow: 0; + height: auto; + } + } +} + +.default-style[dir=rtl] { + @import "../_appwork/include"; + + .messages-sidebox-open .messages-sidebox { + right: 0; + left: auto; + } + + @include media-breakpoint-up(sm) { + .message-date { + margin-right: auto; + margin-left: 0; + } + } + + @include media-breakpoint-up(lg) { + .messages-wrapper { + padding-right: $messages-sidebox-width; + padding-left: 0; + } + + .messages-wrapper .messages-sidebox { + right: 0; + left: auto; + } + } +} + +.material-style { + @import "../_appwork/include-material"; + + .messages-wrapper .messages-sidebox { + z-index: $zindex-layout-fixed + 1; + } + + .messages-sidebox-open .messages-sidebox { + left: 0; + } + + .messages-card .messages-sidebox { + background: $white; + box-shadow: 0 0 0 $messages-sidebox-border-width $card-inner-border-color; + } + + @include media-breakpoint-up(sm) { + .messages-list .list-group-item { + flex-wrap: nowrap; + } + + .message-subject { + width: auto; + } + + .message-date { + margin-left: auto; + } + } + + @include media-breakpoint-up(md) { + .messages-sidebox { + flex-basis: $messages-sidebox-width; + } + + .messages-wrapper .messages-sidebox { + flex-basis: auto; + } + } + + @include media-breakpoint-up(lg) { + .messages-wrapper, + .messages-sidebox { + transition: none !important; + } + + .messages-wrapper { + padding-left: $messages-sidebox-width; + } + + .messages-sidebox { + z-index: auto !important; + } + + .messages-wrapper .messages-sidebox { + position: absolute; + left: 0; + z-index: auto; + } + + .messages-wrapper .messages-sidebox { + height: 100% !important; + } + + .messages-card .messages-sidebox { + position: static; + right: auto; + left: auto; + flex-grow: 0; + height: auto; + } + } +} + +.material-style[dir=rtl] { + @import "../_appwork/include-material"; + + .messages-sidebox-open .messages-sidebox { + right: 0; + left: auto; + } + + @include media-breakpoint-up(sm) { + .message-date { + margin-right: auto; + margin-left: 0; + } + } + + @include media-breakpoint-up(lg) { + .messages-wrapper { + padding-right: $messages-sidebox-width; + padding-left: 0; + } + + .messages-wrapper .messages-sidebox { + right: 0; + left: auto; + } + } +} diff --git a/public/css/overried.scss b/public/css/overried.scss new file mode 100644 index 0000000..120ed22 --- /dev/null +++ b/public/css/overried.scss @@ -0,0 +1,134 @@ +// 瑕嗙洊element-ui鍘熺敓鏍峰紡 +.el-dropdown-menu{ + li:hover { + background: #F0F0F0 !important; + color: #222222 !important; + } +} +.el-popper[x-placement^=bottom] { + margin-top: -5px; +} + +.el-select-dropdown__empty { + font-size: 13px !important; +} +.el-select-dropdown__item { + font-size: 13px !important; +} + +.el-select-dropdown__item.selected { + color: #3D68E1; + font-weight: 700; +} + +.el-select, .el-input, .is-focus, .el-input__inner { + border-color: #3D68E1; + border-radius: 2px; +} + +.el-input__inner:focus { + border-color: #3D68E1; + outline: 0; +} + +.el-input--small .el-input__inner { + border-radius: 2px; +} + +.el-input--mini .el-input__inner { + border-radius: 2px; +} + +.el-button .el-button--primary .el-button--small { + border-radius: 2px; +} + +.el-select-dropdown__item.hover, .el-select-dropdown__item:hover { + background-color: #F0F0F0; +} +.el-select-dropdown.is-multiple .el-select-dropdown__item.selected { + color: #3D68E1; + background-color: #FFF; +} +.el-date-table td.end-date span, .el-date-table td.start-date span { + background-color: #3D68E1; +} +.el-date-table td.end-date span, .el-date-table td.start-date span { + background-color: #3D68E1; +} +.el-range-editor.is-active, .el-range-editor.is-active:hover { + border-color: #3D68E1; +} +.el-range-editor { + padding: 2px 10px; +} +.el-message-box { + display: inline-block; + width: 331px; + padding-bottom: 10px; + vertical-align: middle; + background-color: #FFF; + border-radius: 4px; + border: 1px solid #EBEEF5; + font-size: 18px; + -webkit-box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); + box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); + text-align: left; + overflow: hidden; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} +.el-message-box--center { + padding-bottom: 24px; + .el-message-box__message { + font-size:13px; + } +} +.el-message-box__content { + position: relative; + padding: 0px 15px 20px 15px; + color: #606266; + font-size: 13px; +} + +.el-table .descending .sort-caret.descending { + border-top-color: #3D68E1; +} + +.el-table .ascending .sort-caret.ascending { + border-bottom-color: #3D68E1; +} +.el-checkbox__input.is-checked .el-checkbox__inner, .el-checkbox__input.is-indeterminate .el-checkbox__inner { + background-color: #3D68E1; + border-color: #3D68E1; +} +.el-message-box{ + .el-message-box__headerbtn{ + top: 10px; + } + .el-message-box__btns{ + .el-button--primary { + color: #FFFFFF; + background-color: #f53d3d; + border-color: #f53d3d; + } + .el-button--primary:hover { + background: #d22929; + background-color: #d22929; + border-color: #d22929; + } + } +} +.el-button--primary:active { + background: #3F6BE9 !important; + border-color: #3F6BE9 !important; + color: #FFFFFF; + outline: none; +} +.el-button--danger:active { + background: #F82323 !important; + border-color: #F82323 !important; + color: #FFFFFF; + outline: none; +} + diff --git a/public/images/desktop/desk-logo.png b/public/images/desktop/desk-logo.png new file mode 100644 index 0000000..dabfdaa --- /dev/null +++ b/public/images/desktop/desk-logo.png Binary files differ diff --git a/public/index.html b/public/index.html index a862cfd..095ad5a 100644 --- a/public/index.html +++ b/public/index.html @@ -11,31 +11,303 @@ sizes="32x32" /> <link rel="stylesheet" href="/fonts/alibaba/iconfont.css"> + <link rel="stylesheet" href="/css/element-variables.scss"> <title><%= htmlWebpackPlugin.options.title %></title> - <style> - html, - body, - h2, - p, - ul, - li { - margin: 0; - padding: 0; + <style src="/css/common.scss" lang="scss"></style> + <style src="/css/overried.scss" lang="scss"></style> + <style > + html,body { + font-family: "Avenir", Helvetica, Arial, sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + text-align: center; + color: #2c3e50; + width: 100%; + height: 100%; + } + .el-button--primary:hover, + .el-button--primary:focus { + background: #2249b4; + border-color: #2249b4; + } + .el-button--warning:hover, + .el-button--warning:focus { + background: #fd780b; + border-color: #fd780b; } - .clearfix::after{ - content: ''; - display: block; - height: 0; - clear: both; + .el-button--danger:hover, + .el-button--danger:focus { + background: #d22929; + border-color: #d22929; } - .ml10{ - margin-left: 10px; + + .el-button--info { + color: #222222; } - .mr10{ - margin-right: 10px; + .el-button--info:hover, + .el-button--info:focus { + background: rgb(190, 190, 190); + border-color: rgb(190, 190, 190); } + + .el-button--text:focus, + .el-button--text:hover { + color: #2249b4; + } + + .el-tag.el-tag--info { + background-color: #f4f4f5; + border-color: #e9e9eb; + color: #909399; + } + /* reset */ + html { + color: #000; + background: #fff; + } + body, + div, + dl, + dt, + dd, + ul, + ol, + li, + h1, + h2, + h3, + h4, + h5, + h6, + input, + button, + textarea, + p, + blockquote, + th, + td { + margin: 0; + padding: 0; + } + /* body { + font: 12px/1 Tahoma, Helvetica, Arial, "\5b8b\4f53", sans-serif; + } */ + img { + border: none; + } + em, + strong { + font-style: normal; + font-weight: normal; + } + li { + list-style: none; + } + table { + border-collapse: collapse; + border-spacing: 0; + } + h1 { + font-size: 18px; + } + h2 { + font-size: 16px; + } + h3 { + font-size: 14px; + } + h4, + h5, + h6 { + font-size: 100%; + } + q:before, + q:after { + content: ""; + } /* 娑堥櫎q鍓嶅悗鐨勫唴瀹� */ + button, + input, + select, + textarea { + font-size: 100%; + } /* 浣垮緱琛ㄥ崟鍏冪礌鍦� ie 涓嬭兘缁ф壙瀛椾綋澶у皬 */ + input, + button, + textarea, + select, + optgroup, + option { + font-family: inherit; + font-size: inherit; + font-style: inherit; + font-weight: inherit; + } + address, + cite, + dfn, + em, + var { + font-style: normal; + } /* 灏嗘枩浣撴壎姝� */ + /* link */ + a { + color: #3d68e1; + text-decoration: none; + } + a:hover { + color: #2249b4; + text-decoration: underline; + } + .fade-enter-active, + .fade-leave-active { + transition: opacity 0.5s; + } + .fade-enter, + .fade-leave-active { + opacity: 0; + } + + /*瀹氫箟婊氬姩鏉¢珮瀹藉強鑳屾櫙 楂樺鍒嗗埆瀵瑰簲妯珫婊氬姩鏉$殑灏哄*/ + ::-webkit-scrollbar { + width: 8px; + height: 8px; + background-color: #f5f5f5; + } + + /*瀹氫箟婊氬姩鏉¤建閬� 鍐呴槾褰�+鍦嗚*/ + ::-webkit-scrollbar-track { + box-shadow: inset 0 0 3px rgba(122, 120, 120, 0.3); + border-radius: 5px; + background-color: #f5f5f5; + } + + /*瀹氫箟婊戝潡 鍐呴槾褰�+鍦嗚*/ + ::-webkit-scrollbar-thumb { + border-radius: 5px; + box-shadow: inset 0 0 3px rgba(245, 243, 243, 0.3); + background-color: rgba(160, 158, 158, 0.8); + } + .fade-enter-active, + .fade-leave-active { + transition: opacity 0.5s; + } + .fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ { + opacity: 0; + } + .window { + z-index: 10 !important; + } + .el-card__body { + box-sizing: border-box; + } + + .is-dark { + background: #00000090 !important; + } + + .el-tooltip__popper { + border-radius: 0px; + padding: 5px 10px; + } + + .atooltip.el-tooltip__popper[x-placement^="bottom"] .popper__arrow { + border-bottom-color: #20202090; + } + .atooltip.el-tooltip__popper[x-placement^="bottom"] .popper__arrow:after { + border-bottom-color: #68666690; + } + .atooltip.el-tooltip__popper[x-placement^="top"] .popper__arrow { + border-top-color: #20202090; + } + .atooltip.el-tooltip__popper[x-placement^="top"] .popper__arrow:after { + border-top-color: #68666690; + } + .atooltip.el-tooltip__popper[x-placement^="left"] .popper__arrow { + border-left-color: #20202090; + } + .atooltip.el-tooltip__popper[x-placement^="left"] .popper__arrow:after { + border-left-color: #68666690; + } + .atooltip.el-tooltip__popper[x-placement^="right"] .popper__arrow { + border-right-color: #20202090; + } + .atooltip.el-tooltip__popper[x-placement^="right"] .popper__arrow:after { + border-right-color: #68666690; + } + + .el-menu-vertical-demo { + overflow-y: hidden; + overflow-x: hidden; + } + .el-menu-vertical-demo::-webkit-scrollbar { + /*婊氬姩鏉℃暣浣撴牱寮�*/ + width: 4px; /*楂樺鍒嗗埆瀵瑰簲妯珫婊氬姩鏉$殑灏哄*/ + height: 4px; + } + .el-menu-vertical-demo::-webkit-scrollbar-thumb { + /*婊氬姩鏉¢噷闈㈠皬鏂瑰潡*/ + border-radius: 5px; + box-shadow: inset 0 0 5px rgba(157, 165, 183, 0); + -webkit-box-shadow: inset 0 0 5px rgba(157, 165, 183, 0); + background: rgb(202, 201, 201); + } + .el-menu-vertical-demo::-webkit-scrollbar-track { + /*婊氬姩鏉¢噷闈㈣建閬�*/ + box-shadow: inset 0 0 5px rgba(157, 165, 183, 0); + -webkit-box-shadow: inset 0 0 5px rgba(157, 165, 183, 0); + border-radius: 0; + background: rgb(255, 255, 255); + } + .el-menu-vertical-demo::-webkit-scrollbar-thumb:hover { + background: rgba(0, 0, 0, 0.4); + } + .el-menu-vertical-demo:hover { + overflow-y: visible; + overflow-x: hidden; + } + + .el-dropdown-menu__item:focus, + .el-dropdown-menu__item:not(.is-disabled):hover { + background: rgba(61, 104, 225, 0.5); + color: #fff; + } + + /* 鎺у埗涓嬫媺鑿滃崟鏄剧ず6涓� */ + .el-dropdown-menu { + border-radius: 0px; + max-height: 205px; + overflow: auto; + } + + .el-range-editor.el-input__inner { + border-radius: 2px; + } + + .el-message-box .el-message-box__btns .el-button--primary{ + background-color:#3d68e1; + border-color:#3d68e1; + } + .el-message-box .el-message-box__btns .el-button--primary:hover{ + background-color:#2249b4; + border-color:#2249b4; + } + .btn-icon { + cursor: pointer; + } + + .btn-icon:hover { + filter: drop-shadow(0 0 0 #fff); + opacity: 0.8; + } + .clearfix::after{ + content: ''; + display: block; + height: 0; + clear: both; + } </style> + </head> <body> <noscript> diff --git a/src/components/canvas/index.vue b/src/components/canvas/index.vue index fc937e1..b8ac906 100644 --- a/src/components/canvas/index.vue +++ b/src/components/canvas/index.vue @@ -473,6 +473,11 @@ }; </script> <style lang="scss" scoped> +canvas{ + position: absolute; + top: 0; + left: 0; +} .s-cavas { width: 576px; height: 324px; diff --git a/src/components/subComponents/DataStackCard.vue b/src/components/subComponents/DataStackCard.vue index 3a52bf8..fa6f9c4 100644 --- a/src/components/subComponents/DataStackCard.vue +++ b/src/components/subComponents/DataStackCard.vue @@ -207,7 +207,7 @@ display: flex; align-items: center; .card-name { - width:38%; + width:40%; height:100%; display:flex; justify-content: center; diff --git a/src/components/subComponents/SystemInfo.vue b/src/components/subComponents/SystemInfo.vue index acb8c26..26f5206 100644 --- a/src/components/subComponents/SystemInfo.vue +++ b/src/components/subComponents/SystemInfo.vue @@ -114,7 +114,7 @@ }, borderWidth: { type: String, - default: '70%' + default: '64%' }, liquidWidth: { type: String, diff --git a/src/pages/algorithmManage/index/App.vue b/src/pages/ai/index/App.vue similarity index 100% rename from src/pages/algorithmManage/index/App.vue rename to src/pages/ai/index/App.vue diff --git a/src/pages/algorithmManage/index/api.ts b/src/pages/ai/index/api.ts similarity index 100% rename from src/pages/algorithmManage/index/api.ts rename to src/pages/ai/index/api.ts diff --git a/src/pages/algorithmManage/index/main.ts b/src/pages/ai/index/main.ts similarity index 100% rename from src/pages/algorithmManage/index/main.ts rename to src/pages/ai/index/main.ts diff --git a/src/pages/algorithmManage/index/mixins.ts b/src/pages/ai/index/mixins.ts similarity index 100% rename from src/pages/algorithmManage/index/mixins.ts rename to src/pages/ai/index/mixins.ts diff --git a/src/pages/algorithmManage/index/store/index.ts b/src/pages/algorithmManage/index/store/index.ts deleted file mode 100644 index e69de29..0000000 --- a/src/pages/algorithmManage/index/store/index.ts +++ /dev/null diff --git a/src/pages/algorithmManage/index/store/modules/algorithm.js b/src/pages/algorithmManage/index/store/modules/algorithm.js deleted file mode 100644 index e7735dc..0000000 --- a/src/pages/algorithmManage/index/store/modules/algorithm.js +++ /dev/null @@ -1,79 +0,0 @@ -const state = { - list1 = [], - list2 = [ - { - id: "001", - name: "浠诲姟1", - child: [ - { - id: "1", - sdk_name: "浜鸿劯妫�娴�", - isSelect: false - }, - { - id: "2", - sdk_name: "浜鸿劯瀵规瘮", - isSelect: false - } - ], - isSetting: false, - isShowSetAlgo: false - } - ], - argsList : [], - baseObject : { - id: '', - algoId: '', - options1: [], - options2: [], - options3: [], - value1: '', - value2: '', - value3: '', - unit: '' - }, - currentAlgoId : '', - currentTaskId : '' -}; - -const getters = {}; - -const mutations = { - findAllSdk(state, data){ - state.list1 = data; - }, - findByType(state, data){ - state.baseObject.options2 = data; - } -}; -const actions = { - findAllSdk({commit},params) { - let res = await findAllSdk({}); - if (res && res.success) { - commit('findAllSdk',res.data) - } - }, - - findByType({commit},params) { - let res = await findByType({}); - console.log(res,'findByType') - if (res && res.success) { - let list = res.data.RULECOMPUTEBETWEEN.map((i) => { - let obj = {} - obj.name = i.name - obj.value = i.value - return obj - }) - //this.baseObject.options2 = [...list] - commit('findByType',[...list]); - } - }, - - -}; -export default{ - state, - getters, - actions, - mutations -} \ No newline at end of file diff --git a/src/pages/cameraAccess/components/CameraInfo.vue b/src/pages/cameraAccess/components/CameraInfo.vue index e108dd6..3c7dd49 100644 --- a/src/pages/cameraAccess/components/CameraInfo.vue +++ b/src/pages/cameraAccess/components/CameraInfo.vue @@ -606,9 +606,9 @@ <style lang="scss"> .camera-info { width: 100%; - height: 100%; + margin-left: 20px; - overflow: auto; + .ai-select { text-align: left; } diff --git a/src/pages/cameraAccess/components/LinkageRule.vue b/src/pages/cameraAccess/components/LinkageRule.vue index f34535c..fc10795 100644 --- a/src/pages/cameraAccess/components/LinkageRule.vue +++ b/src/pages/cameraAccess/components/LinkageRule.vue @@ -5,7 +5,7 @@ <b style="font-size: 14px;line-height: 18px;">宸查�夌畻娉�</b> </p> - <div> + <div class="clearfix"> <div class="slide-scene"> <span class="task-tip" v-if="tableRuleList.length == 0 ">鏆傛棤绠楁硶锛岃鍦ㄧ嫭绔嬭鍒欎腑閫夋嫨绠楁硶</span> <slide-scene :sceneData="tableRuleList"></slide-scene> @@ -15,7 +15,7 @@ <div class="top-right"> <sysinfo v-if="showSysInfo" - style="margin-left: 25px;margin-top: -10px;" + style="margin-left: 10px;margin-top: -10px;" :ShowLocalVedio="this.TreeDataPool.treeActiveName !== 'camera'" :showRealPoll="this.TreeDataPool.treeActiveName == 'camera'" /> @@ -24,9 +24,7 @@ </div> <div class="bottom"> - <div - style="width: calc(100% + 80px);height: 10px;background-color: #E9EBF2;p;position:relative;left:-50px" - ></div> + <div class="devide"></div> <div class="bottom-right"> <div class="draw-and-time-box"> <div class="draw-box"> @@ -279,10 +277,14 @@ width: 100%; height: 100%; position: relative; + .devide{ + height: 10px; + background: #E9EBF2; + } .top { width: 100%; - height: 174px; - position: relative; + padding: 10px 20px; + box-sizing: border-box; top: 0; .swiper-box { height: 100%; @@ -391,9 +393,7 @@ .bottom { width: 100%; - height: calc(100% - 190px); - position: absolute; - top: 190px; + .bottom-side { height: 100%; width: 250px; @@ -419,11 +419,7 @@ } } .bottom-right { - width: calc(100% + 30px); - height: 100%; - float: left; - overflow: auto; - padding: 10px 0px; + padding: 10px 20px; box-sizing: border-box; .draw-and-time-box { height: 430px; diff --git a/src/pages/cameraAccess/components/SeparateRules.vue b/src/pages/cameraAccess/components/SeparateRules.vue index 807cc3b..b9580df 100644 --- a/src/pages/cameraAccess/components/SeparateRules.vue +++ b/src/pages/cameraAccess/components/SeparateRules.vue @@ -61,7 +61,7 @@ v-if="Camera.analytics" class="flex-box" > - <span >绠楁硶蹇�熼�氶亾</span> + <span class="label">绠楁硶蹇�熼�氶亾</span> <div class="channel flex-box" > <el-tooltip effect="dark" @@ -95,7 +95,7 @@ <div class="devide"></div> - <div class="top" style="top:60px;"> + <div class="top" > <p class="task-css"> <b style="font-size: 14px; line-height: 18px;">鍦烘櫙</b> </p> @@ -106,7 +106,7 @@ :showRealPoll="cameraType === 'camera'" :ShowLocalVedio="cameraType === 'dataStack'" v-if="showSysInfo" - style="margin-left: 25px;margin-top:-10px" + style="margin-left: 10px;margin-top:-10px" /> </div> </div> @@ -484,8 +484,18 @@ -webkit-box-sizing: border-box; box-sizing: border-box; .ai-select{ + text-align: left; line-height: 30px; height: 30px; + .flex-box{ + .label{ + &+label,&+div{ + margin-left: 10px; + line-height: 1; + } + + } + } } .ai-select>div{ display: inline-block; @@ -494,6 +504,7 @@ .channel{ display: inline-block; + vertical-align: middle; } } } diff --git a/src/pages/cameraAccess/components/scene/SlideScene.vue b/src/pages/cameraAccess/components/scene/SlideScene.vue index 8494733..d2c7849 100644 --- a/src/pages/cameraAccess/components/scene/SlideScene.vue +++ b/src/pages/cameraAccess/components/scene/SlideScene.vue @@ -8,34 +8,34 @@ <div class="scenario-icon"> <div class="single" v-if="item.rules.length==1"> <div class="svg-wrap"> - <svg class="icon" aria-hidden="true" style="font-size:4rem;"> + <!-- <svg class="icon" aria-hidden="true" style="font-size:4rem;"> <use :xlink:href="`#${item.rules[0].icon}`" /> - </svg> - <!-- <img class="baseImg" :src="`data:image/png;base64,${item.rules[0].iconBlob}`" alt=""> --> + </svg> --> + <img class="baseImg" :src="`data:image/png;base64,${item.rules[0].icon_blob}`" alt=""> </div> </div> <div class="double" v-else-if="item.rules.length==2"> <div class="svg-wrap" v-for="(rule,index) in item.rules" :key="index"> - <svg class="icon" aria-hidden="true" style="font-size:2rem;"> + <!-- <svg class="icon" aria-hidden="true" style="font-size:2rem;"> <use :xlink:href="`#${rule.icon}`" /> - </svg> - <!-- <img class="baseImg" :src="`data:image/png;base64,${rule.iconBlob}`" alt=""> --> + </svg> --> + <img class="baseImg" :src="`data:image/png;base64,${rule.icon_blob}`" alt=""> </div> </div> <div class="third" v-else-if="item.rules.length==3"> <div class="svg-wrap" v-for="(rule,index) in item.rules" :key="'t'+index"> - <svg class="icon" aria-hidden="true" style="font-size:2rem;"> + <!-- <svg class="icon" aria-hidden="true" style="font-size:2rem;"> <use :xlink:href="`#${rule.icon}`" /> - </svg> - <!-- <img class="baseImg" :src="`data:image/png;base64,${rule.iconBlob}`" alt=""> --> + </svg> --> + <img class="baseImg" :src="`data:image/png;base64,${rule.icon_blob}`" alt=""> </div> </div> <div class="four" v-else-if="item.rules.length==4"> <div class="svg-wrap" v-for="(rule,index) in item.rules" :key="'f'+index"> - <svg class="icon" aria-hidden="true" style="font-size:2rem;"> + <!-- <svg class="icon" aria-hidden="true" style="font-size:2rem;"> <use :xlink:href="`#${rule.icon}`" /> - </svg> - <!-- <img class="baseImg" :src="`data:image/png;base64,${rule.iconBlob}`" alt=""> --> + </svg> --> + <img class="baseImg" :src="`data:image/png;base64,${rule.icon_blob}`" alt=""> </div> </div> </div> @@ -217,11 +217,12 @@ padding-top: 47%; text-align: center; box-shadow: 0 0 3px 2px rgb(247, 247, 247) inset; - svg { + img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); + width: 96%; } } } @@ -232,6 +233,7 @@ left: 50%; transform: translate(-50%, -50%); box-shadow: none; + width: 100% } } .double { diff --git a/src/pages/cameraAccess/index/App.vue b/src/pages/cameraAccess/index/App.vue index ed18d33..c16940c 100644 --- a/src/pages/cameraAccess/index/App.vue +++ b/src/pages/cameraAccess/index/App.vue @@ -1,13 +1,13 @@ <template> - <div class="column"> - <div class="column-left" :style="`height:${screenHeight}px;`"> + <div class="column" :style="`height:${screenHeight}px;`"> + <div class="column-left" ref="left"> <div class="resize-bar"></div> <div class="resize-line"></div> <div class="resize-save"> - <left-nav :appName="app" :height="screenHeight - 40"></left-nav> + <left-nav :appName="app" :edit="editTree"></left-nav> </div> </div> - <div class="column-right" :style="`height:${screenHeight}px;`"> + <div class="column-right" > <right-side /> </div> </div> @@ -31,16 +31,20 @@ }, data() { return { + leftWith: 0, screenHeight: 0, + editTree: true } }, mounted() { - this.screenHeight = document.documentElement.clientHeight - 20; + this.screenHeight = document.documentElement.clientHeight; window.onresize = () => { return (() => { - this.screenHeight = document.documentElement.clientHeight - 20; + this.screenHeight = document.documentElement.clientHeight; })(); }; + debugger + this.leftWith = this.$refs['left'].width; }, methods: { getUrlKey() { @@ -53,19 +57,23 @@ <style lang="scss" scoped> .column { - overflow: hidden; + //overflow: hidden; + display: flex; + width: 100%; } .column-left { height: inherit; background-color: #fff; position: relative; - float: left; } .column-right { - height: 100%; + min-width: 1442px; + flex:1; + position: relative; background-color: #fff; box-sizing: border-box; overflow: auto; + //height: 100%; } .resize-save { position: absolute; @@ -73,8 +81,9 @@ right: 5px; bottom: 0; left: 0; - padding: 16px; + padding: 14px; overflow-x: hidden; + overflow-y: hidden; } .resize-bar { width: 310px; @@ -84,7 +93,7 @@ opacity: 0; overflow: scroll; max-width: 500px; //璁惧畾鏈�澶ф媺浼搁暱搴� - min-width: 310px; //璁惧畾鏈�灏忓搴� + min-width: 33px; //璁惧畾鏈�灏忓搴� } /* 鎷栨嫿绾� */ .resize-line { @@ -92,8 +101,8 @@ right: 0; top: 0; bottom: 0; - border-right: 2px solid #eee; - border-left: 1px solid #bbb; + border-right: 2px solid #efefef; + border-left: 1px solid #e0e0e0; pointer-events: none; } .resize-bar:hover ~ .resize-line, diff --git a/src/pages/cameraAccess/index/VideoManage.vue b/src/pages/cameraAccess/index/VideoManage.vue index b06836b..c388bb9 100644 --- a/src/pages/cameraAccess/index/VideoManage.vue +++ b/src/pages/cameraAccess/index/VideoManage.vue @@ -1,6 +1,6 @@ <template> <div class="s-video-manage"> - <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick"> + <el-tabs class="video-tab" v-model="activeName" type="border-card" @tab-click="handleClick"> <el-tab-pane :label="firstLabeName" name="camera-info" @@ -231,8 +231,6 @@ height: 100%; float: right; box-sizing: border-box; - padding: 16px; - background-color: #e9ebf2; .el-tabs--border-card { box-shadow: none; -webkit-box-shadow: none; @@ -249,9 +247,16 @@ .el-tabs--border-card { height: 100%; width: 100%; + &.video-tab{ + &>.el-tabs__header{ + position: fixed; + top:0; + width:100%; + z-index:9; + } + } .el-tabs__header { - position: fixed; - top: 16px; + .is-active { color: #3d68e1 !important; } diff --git a/src/pages/cameraVideo/index/Video.vue b/src/pages/cameraVideo/index/Video.vue index 32cd6ca..b8cf1a2 100644 --- a/src/pages/cameraVideo/index/Video.vue +++ b/src/pages/cameraVideo/index/Video.vue @@ -1,5 +1,5 @@ <template> - <div style="height: 100%;"> + <div style="width:100%; height: 100%;"> <div class="monitoring-right" ref="videoRight"> <div class="monitoring-video" ref="monitorVideo"> <div class="monitoring-video-guid"> @@ -558,10 +558,9 @@ float: right; box-sizing: border-box; padding: 10px; - background-color: #fff; + background-color: #e9ebf2; .monitoring-video { width: 70.5%; - //min-width: 800px; min-width: 740px; max-width: 1208px; height: 75%; diff --git a/src/pages/desktop/index/components/DFrame.vue b/src/pages/desktop/index/components/DFrame.vue index 86c96e5..c6e7cc6 100644 --- a/src/pages/desktop/index/components/DFrame.vue +++ b/src/pages/desktop/index/components/DFrame.vue @@ -3,9 +3,10 @@ v-show="data.isShow" :class="['d-frame', {'d-frame-full': fullScreen}]" :data-id="data.id" - v-bind:style="{left: data.leftOffset + '%', top: data.topOffset + '%', 'z-index': 125 + data.order, width: width + 'px', height: height + 'px'}" + v-bind:style="{left: data.leftOffset + 'px', top: data.topOffset + 'px', 'z-index': 125 + data.order, width: width + 'px', height: height + 'px'}" + @click="frameClick" > - <div class="d-frame-title" v-drag @click="frameClick()"> + <div class="d-frame-title" v-drag> <div class="d-frame-title-operation"> <i class="icon-minus d-frame-operation-minus" @click="minFrame(data,$event)"> <img :src="`${publicPath}images/desktop/header-icon/min.png`" alt /> @@ -25,7 +26,7 @@ </div> </slot> </div> - <div class="d-frame-content"> + <div class="d-frame-content" @click="frameClick" > <iframe :src="data.url" v-if="data.url"></iframe> <div v-html="data.html" v-if="data.html"></div> <!-- <span class="d-frame-operation-resize" v-resize></span> --> @@ -94,8 +95,8 @@ changeFullScreen: function () { this.fullScreen = !this.fullScreen; }, - frameClick: function () { - debugger + frameClick() { + this.$store.commit('desktop/refreshFrame', this.data); }, minFrame(data, e) { @@ -149,16 +150,16 @@ let toLeft = e.clientX - disx; let toTop = e.clientY - disy; //杈圭晫澶勭悊 - if (toLeft <= 0) { - toLeft = 0 - } else if (toLeft >= document.body.getBoundingClientRect().width - 40) { - toLeft = document.body.getBoundingClientRect().width - 40; + if (toLeft <= -(el.parentElement.offsetWidth-46*3)) { + toLeft = -(el.parentElement.offsetWidth-46*3) + } else if (toLeft >= document.body.getBoundingClientRect().width - 46*3) { + toLeft = document.body.getBoundingClientRect().width - 46*3; } el.parentElement.style.left = toLeft + 'px'; if (toTop <= 40) { toTop = 40 - } else if (toTop >= document.body.getBoundingClientRect().height - 40) { - toTop = document.body.getBoundingClientRect().height - 40; + } else if (toTop >= document.body.getBoundingClientRect().height - 31) { + toTop = document.body.getBoundingClientRect().height - 31; } el.parentElement.style.top = toTop + 'px'; }; @@ -203,6 +204,7 @@ } .d-frame { position: fixed; + box-shadow: 0 5px 10px rgba(0,0,0,.5); } .d-frame.d-frame-full { @@ -240,6 +242,7 @@ text-align: center; vertical-align: middle; cursor: pointer; + line-height: 28px; } .d-frame-title-operation i:hover { diff --git a/src/pages/desktop/index/components/Tools.vue b/src/pages/desktop/index/components/Tools.vue index 24d5c47..8bcadc0 100644 --- a/src/pages/desktop/index/components/Tools.vue +++ b/src/pages/desktop/index/components/Tools.vue @@ -183,6 +183,7 @@ } .tools-middle .dock-item-wrap.actived{ border-color: #40c3ff; + background-color: #98aabe; } .dock-item-wrap a { height: 100%; diff --git a/src/pages/desktop/index/mock/userData.json b/src/pages/desktop/index/mock/userData.json index dcdf442..c55fcb2 100644 --- a/src/pages/desktop/index/mock/userData.json +++ b/src/pages/desktop/index/mock/userData.json @@ -28,11 +28,11 @@ { "id": "9", "name": "algorithmManage", - "src": "../../images/app-mid/algorithm-manage.png", - "alt": "绠楁硶绠$悊", + "src": "../../images/app-mid/algorithm-store.png", + "alt": "搴旂敤涓績", "type": "2", - "url": "/view/algorithmManage", - "title": "绠楁硶绠$悊", + "url": "/view/ai", + "title": "搴旂敤涓績", "width": 1528, "height": 915 }, @@ -129,7 +129,9 @@ "alt": "绯荤粺缁存姢", "type": "2", "url": "/view/vindicate", - "title": "绯荤粺缁存姢" + "title": "绯荤粺缁存姢", + "width": 733, + "height": 534 } ] } diff --git a/src/pages/desktop/index/store/modules/desktop.js b/src/pages/desktop/index/store/modules/desktop.js index b6eaa52..3016c49 100644 --- a/src/pages/desktop/index/store/modules/desktop.js +++ b/src/pages/desktop/index/store/modules/desktop.js @@ -89,13 +89,17 @@ offset = 5; } } - dframe.leftOffset = state.framesOffset + order; - dframe.topOffset = state.framesOffset + order; + // dframe.leftOffset = state.framesOffset + order; + // dframe.topOffset = state.framesOffset + order; dframe.order = 0; dframe.isShow = true; let curDframe = state.docks.find(dock => dock.id == dframe.id); dframe.width = curDframe.width; dframe.height = curDframe.height; + //鍏ㄩ儴缁濆灞呬腑 + dframe.leftOffset = (document.body.offsetWidth - dframe.width)/2; + dframe.topOffset = (document.body.offsetHeight - dframe.height)/2; + state.framesOrder = order; state.framesOffset = offset; state.frames.push(dframe); @@ -103,7 +107,7 @@ return true; }, addMinDock: (state, dock) => { - debugger + let ids = state.minDocks.map(item => item.id); if (ids.indexOf(dock.id) > -1) { @@ -180,16 +184,16 @@ state.safari.isShow = true; }, refreshFrame: (state, item) => { - debugger + state.frames.forEach(function (it) { - debugger + if (it.id === item.id) { it.order = 1; state.minDocks.forEach((min,index)=>{ - debugger + if(min.id == it.id){ - debugger + min.highlight = true; }else{ min.highlight = false; -- Gitblit v1.8.0