Commit 6ff86fe2 authored by 高超凡's avatar 高超凡

解决冲突

parents ff418995 c1dc4d83
var CONFIG = {}
// 页面 title 前缀
CONFIG.TITLE = 'AI节能管理系统'
CONFIG.TITLE = '拉林线-山南站AI节能系统'
// 网络请求公用地址
......@@ -11,5 +11,5 @@ CONFIG.TITLE = 'AI节能管理系统'
CONFIG.requestPath = 'http://59.110.43.122:8046'
// 文件上传
// CONFIG.urlPath = 'http://10.20.72.33/'
// CONFIG.urlPath = 'http://10.20.72.31/'
CONFIG.urlPath = 'http://59.110.43.122/'
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="renderer" content="webkit"/>
<meta name="force-rendering" content="webkit"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta charset="utf-8" />
<meta name="renderer" content="webkit" />
<meta name="force-rendering" content="webkit" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta http-equiv="Content-Security-Policy" />
<!-- <meta name="viewport" content="width=device-width,initial-scale=1.0"> -->
<!-- <meta http-equiv="X-UA-Compatible" content="IE=edge"> -->
<meta
name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,er-scalable=no"
/>
<!-- <link rel="icon" href="<%= BASE_URL %>icon.ico"> -->
<link href="icon.jpg" rel="icon" type="image/x-icon" />
<!-- <script src = "https://cdn.jsdelivr.net/npm/proxy-polyfill@0.3.0/proxy.min.js"></script> -->
<!-- <script src = "https://cdn.jsdelivr.net/npm/proxy-polyfill@0.3.0/proxy.min.js"></script> -->
<title>铁路车站AI节能管理系统</title>
<title>拉林线-山南站AI节能系统</title>
<script>
//禁用所有控制台输出
// var console={};
// console.log=function(){};
// console.warn=function(){};
// console.error=function(){};
var console = {}
console.log = function () {}
console.warn = function () {}
console.error = function () {}
</script>
<script src="./config.js"></script>
<style>
html, body, #app {
html,
body,
#app {
height: 100%;
margin: 0px;
padding: 0px;
}
#app{
#app {
/* background: url('./image/bg2x.png') no-repeat fixed center; */
background-color: #ccc;
}
......@@ -36,11 +44,21 @@
justify-content: center;
align-items: center;
flex-direction: column;
background: linear-gradient(to bottom, rgba(255,255,255,0.15) 0%, rgba(0,0,0,0.15) 100%), radial-gradient(at top center, rgba(255,255,255,0.40) 0%, rgba(0,0,0,0.40) 120%) #989898;
background-blend-mode: multiply,multiply;
background: linear-gradient(
to bottom,
rgba(255, 255, 255, 0.15) 0%,
rgba(0, 0, 0, 0.15) 100%
),
radial-gradient(
at top center,
rgba(255, 255, 255, 0.4) 0%,
rgba(0, 0, 0, 0.4) 120%
)
#989898;
background-blend-mode: multiply, multiply;
}
.d2-app-loading-title {
color: #FFF;
color: #fff;
font-weight: bold;
font-size: 14px;
margin-top: 40px;
......@@ -48,14 +66,14 @@
letter-spacing: 0.2em;
}
.d2-app-loading-sub-title {
color: #FFF;
color: #fff;
font-size: 10px;
margin-bottom: 10px;
}
.d2-app-loading-sub-info {
color: #FFF;
color: #fff;
font-size: 10px;
opacity: .8;
opacity: 0.8;
margin-bottom: 4px;
}
.d2-app-loading-btn {
......@@ -73,7 +91,7 @@
box-sizing: border-box;
outline: none;
margin: 0;
transition: .1s;
transition: 0.1s;
font-weight: 500;
-moz-user-select: none;
-webkit-user-select: none;
......@@ -93,68 +111,82 @@
.d2-app-loading-grid .d2-app-loading {
width: 10px;
height: 10px;
background-color: #FFF;
background-color: #fff;
float: left;
-webkit-animation: d2-app-loading-grid-scale-delay 1.3s infinite ease-in-out;
animation: d2-app-loading-grid-scale-delay 1.3s infinite ease-in-out;
-webkit-animation: d2-app-loading-grid-scale-delay 1.3s infinite
ease-in-out;
animation: d2-app-loading-grid-scale-delay 1.3s infinite ease-in-out;
}
.d2-app-loading-grid .d2-app-loading1 {
border-top-left-radius: 4px;
-webkit-animation-delay: 0.2s;
animation-delay: 0.2s; }
animation-delay: 0.2s;
}
.d2-app-loading-grid .d2-app-loading2 {
-webkit-animation-delay: 0.3s;
animation-delay: 0.3s; }
animation-delay: 0.3s;
}
.d2-app-loading-grid .d2-app-loading3 {
border-top-right-radius: 4px;
-webkit-animation-delay: 0.4s;
animation-delay: 0.4s; }
animation-delay: 0.4s;
}
.d2-app-loading-grid .d2-app-loading4 {
-webkit-animation-delay: 0.1s;
animation-delay: 0.1s; }
animation-delay: 0.1s;
}
.d2-app-loading-grid .d2-app-loading5 {
-webkit-animation-delay: 0.2s;
animation-delay: 0.2s; }
animation-delay: 0.2s;
}
.d2-app-loading-grid .d2-app-loading6 {
-webkit-animation-delay: 0.3s;
animation-delay: 0.3s; }
animation-delay: 0.3s;
}
.d2-app-loading-grid .d2-app-loading7 {
border-bottom-left-radius: 4px;
-webkit-animation-delay: 0s;
animation-delay: 0s; }
animation-delay: 0s;
}
.d2-app-loading-grid .d2-app-loading8 {
-webkit-animation-delay: 0.1s;
animation-delay: 0.1s; }
animation-delay: 0.1s;
}
.d2-app-loading-grid .d2-app-loading9 {
border-bottom-right-radius: 4px;
-webkit-animation-delay: 0.2s;
animation-delay: 0.2s; }
animation-delay: 0.2s;
}
@-webkit-keyframes d2-app-loading-grid-scale-delay {
0%, 70%, 100% {
0%,
70%,
100% {
-webkit-transform: scale3D(1, 1, 1);
transform: scale3D(1, 1, 1);
} 35% {
transform: scale3D(1, 1, 1);
}
35% {
-webkit-transform: scale3D(0, 0, 1);
transform: scale3D(0, 0, 1);
transform: scale3D(0, 0, 1);
}
}
@keyframes d2-app-loading-grid-scale-delay {
0%, 70%, 100% {
0%,
70%,
100% {
-webkit-transform: scale3D(1, 1, 1);
transform: scale3D(1, 1, 1);
} 35% {
transform: scale3D(1, 1, 1);
}
35% {
-webkit-transform: scale3D(0, 0, 1);
transform: scale3D(0, 0, 1);
transform: scale3D(0, 0, 1);
}
}
</style>
<!-- ua -->
<script>
// let stationId = '40bf04d6f2e2ec3bfbb43aa51a7facc8';
</script>
<script src="<%= BASE_URL %>script/ua-parser.min.js"></script>
<script src="<%= BASE_URL %>script/ua.js"></script>
......@@ -166,7 +198,10 @@
</head>
<body>
<noscript>
<strong>We're sorry but d2-admin doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
<strong
>We're sorry but d2-admin doesn't work properly without JavaScript
enabled. Please enable it to continue.</strong
>
</noscript>
<div id="app">
<div class="d2-app-loading-group">
......@@ -182,12 +217,16 @@
<div class="d2-app-loading d2-app-loading9"></div>
</div>
<div class="d2-app-loading-title">加载中</div>
<div class="d2-app-loading-sub-title">欢迎使用铁路车站AI节能管理系统。初次加载较慢,请耐心等待</div>
<div class="d2-app-loading-sub-info">如果很久很久都没有加载成功,请清空缓存重新加载页面</div>
<div class="d2-app-loading-sub-title">
欢迎使用拉林线-山南站AI节能系统。初次加载较慢,请耐心等待
</div>
<div class="d2-app-loading-sub-info">
如果很久很久都没有加载成功,请清空缓存重新加载页面
</div>
</div>
</div>
<!-- built files will be auto injected -->
<!-- <script charset="utf-8" type="text/javascript" src="http://map.qq.com/api/js?v=2.exp&key=YCHBZ-UFI3P-UEWDF-VXZLI-DLBIO-A5BKZ&libraries=place"></script> -->
<!-- <script charset="utf-8" type="text/javascript" src="http://map.qq.com/api/js?v=2.exp&key=YCHBZ-UFI3P-UEWDF-VXZLI-DLBIO-A5BKZ&libraries=place"></script> -->
</body>
<!-- <script src="<%= BASE_URL %>script/jquery-1.7.1.min.js"></script> -->
<!-- <script src="<%= BASE_URL %>script/webVideoCtrl.js"></script> -->
......
......@@ -149,7 +149,6 @@ export default {
isRouterAlive: true,
queryDetailVisible: false,
urlPath: window.CONFIG.urlPath,
paramsList: [],
showList: [],
takeoverInfo: ''
}
......@@ -200,6 +199,7 @@ export default {
//wsuri.substring(0, wsuri.indexOf(':'))
if (wsuri != null && wsuri.indexOf(':') <= -1) {
webpath = 'ws://59.110.43.122:8091/websocket/1001'
// webpath = 'ws://10.20.72.31:8091/websocket/1001'
} else {
webpath =
'ws:' +
......@@ -257,6 +257,7 @@ export default {
//wsuri.substring(0, wsuri.indexOf(':'))
if (wsuri != null && wsuri.indexOf(':') <= -1) {
webpath = 'ws://59.110.43.122:8091/websocket/1002'
// webpath = 'ws://10.20.72.31:8091/websocket/1002'
} else {
webpath =
'ws:' +
......@@ -420,13 +421,9 @@ export default {
params: this.$http.adornParams({})
}).then((data) => {
if (data && data.code === 0) {
this.paramsList = data.bean
sessionStorage.setItem(
'paramsList',
JSON.stringify(this.paramsList)
)
console.log('paramsList:', this.paramsList)
this.$store.dispatch('d2admin/paramsList/set', this.paramsList)
console.log('paramsList:', data.bean)
sessionStorage.setItem('paramsList', JSON.stringify(data.bean))
this.$store.dispatch('d2admin/paramsList/set', data.bean)
}
})
} else {
......
@font-face {font-family: "iconfont";
src: url('iconfont.eot?t=1617869134193'); /* IE9 */
src: url('iconfont.eot?t=1617869134193#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
url('iconfont.woff?t=1617869134193') format('woff'),
url('iconfont.ttf?t=1617869134193') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1617869134193#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
font-family: "iconfont" !important;
font-size: 12px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-feng:before {
content: "\e607";
}
.icon-feng2:before {
content: "\e6f7";
}
.icon-tongji:before {
content: "\e67f";
}
.icon-home:before {
content: "\e6ee";
}
.icon-tuceng:before {
content: "\e63b";
}
.icon-shezhi:before {
content: "\e611";
}
.icon-fenxi:before {
content: "\e604";
}
@font-face {
font-family: 'iconfont';
src: url('iconfont.eot?t=1617869134193'); /* IE9 */
src: url('iconfont.eot?t=1617869134193#iefix') format('embedded-opentype'),
/* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,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')
format('woff2'),
url('iconfont.woff?t=1617869134193') format('woff'),
url('iconfont.ttf?t=1617869134193') format('truetype'),
/* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1617869134193#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
font-family: 'iconfont' !important;
font-size: 12px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-feng:before {
content: '\e607';
}
.icon-feng2:before {
content: '\e6f7';
}
.icon-tongji:before {
content: '\e67f';
}
.icon-home:before {
content: '\e6ee';
}
.icon-tuceng:before {
content: '\e63b';
}
.icon-shezhi:before {
content: '\e611';
}
.icon-fenxi:before {
content: '\e604';
}
<svg viewBox="0 0 60 54" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<desc>AI节能管理系统</desc>
<desc>拉林线-山南站AI节能系统</desc>
<defs></defs>
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="logo-no-shadow" transform="translate(-3.000000, -3.000000)">
......
<template>
<el-menu-item :index="menu.url || menu.path || uniqueId">
<!-- <i v-if="menu.icon" :class="`iconfont icon-${menu.icon}`"></i> -->
<i v-if="menu.icon && menu.icon == 'home'" class="base_home">
<img src="../../../imgs/home.png" width="16" style="margin-top: -5px" />
</i>
<d2-icon-svg v-else-if="menu.iconSvg" :name="menu.iconSvg" />
<span v-else>&emsp;</span>
<span slot="title">{{ menu.title || menu.name || '未命名菜单' }}</span>
</el-menu-item>
</template>
<script>
import { uniqueId } from 'lodash'
export default {
name: 'd2-layout-header-aside-menu-item',
props: {
menu: {
type: Object,
required: false,
default: () => {}
}
},
data() {
return {
uniqueId: uniqueId('d2-menu-empty-')
}
}
}
</script>
<style>
.el-menu-item:hover .base_home img {
content: url(../../../imgs/home2.png);
}
</style>
<template>
<el-menu-item :index="menu.url||menu.path || uniqueId">
<el-menu-item :index="menu.url || menu.path || uniqueId">
<i v-if="menu.icon" :class="`iconfont icon-${menu.icon}`"></i>
<d2-icon-svg v-else-if="menu.iconSvg" :name="menu.iconSvg"/>
<span v-else >&emsp;</span>
<span slot="title">{{menu.title|| menu.name || '未命名菜单'}}</span>
<!-- <i v-if="menu.icon && menu.icon == 'home'" class="base_home">
<img src="../../../imgs/home.png" width="16" style="margin-top: -5px" />
</i> -->
<d2-icon-svg v-else-if="menu.iconSvg" :name="menu.iconSvg" />
<span v-else>&emsp;</span>
<span slot="title">{{ menu.title || menu.name || '未命名菜单' }}</span>
</el-menu-item>
</template>
......@@ -18,10 +21,15 @@ export default {
default: () => {}
}
},
data () {
data() {
return {
uniqueId: uniqueId('d2-menu-empty-')
}
}
}
</script>
<style>
/* .el-menu-item:hover .base_home img {
content: url(../../../imgs/home2.png);
} */
</style>
<template>
<el-submenu :index="menu.path || menu.id || uniqueId">
<template slot="title">
<i v-if="menu.icon && menu.icon == 'shebei'" class="base_shebei">
<img
src="../../../imgs/shebei.png"
width="14"
style="margin-top: -5px"
/>
</i>
<i v-if="menu.icon && menu.icon == 'tongji'" class="base_tongji">
<img
src="../../../imgs/tongji.png"
width="14"
style="margin-top: -5px"
/>
</i>
<i v-if="menu.icon && menu.icon == 'fenxi'" class="base_fenxi">
<img
src="../../../imgs/fenxi.png"
width="14"
style="margin-top: -5px"
/>
</i>
<i v-if="menu.icon && menu.icon == 'xitong'" class="base_xitong">
<img
src="../../../imgs/xitong.png"
width="14"
style="margin-top: -5px"
/>
</i>
<d2-icon-svg v-else-if="menu.iconSvg" :name="menu.iconSvg" />
<span v-else>&emsp;</span>
<span slot="title">{{ menu.name }}</span>
</template>
<template v-for="(child, childIndex) in menu.list">
<d2-layout-header-aside-menu-item
v-if="child.list.length == 0"
:menu="child"
:key="childIndex"
/>
<d2-layout-header-aside-menu-sub
v-else
:menu="{ ...child }"
:key="childIndex"
/>
</template>
</el-submenu>
</template>
<script>
import { uniqueId } from 'lodash'
// 组件
import d2LayoutMainMenuItem from '../menu-item'
export default {
name: 'd2-layout-header-aside-menu-sub',
components: {
'd2-layout-header-aside-menu-item': d2LayoutMainMenuItem
},
props: {
menu: {
type: Object,
required: false,
default: () => {}
}
},
data() {
return {
uniqueId: uniqueId('d2-menu-empty-')
}
}
}
</script>
<style>
.el-submenu:hover .el-submenu__title .base_shebei img {
content: url(../../../imgs/shebei2.png);
}
.el-submenu:hover .el-submenu__title .base_tongji img {
content: url(../../../imgs/tongji2.png);
}
.el-submenu:hover .el-submenu__title .base_fenxi img {
content: url(../../../imgs/fenxi2.png);
}
.el-submenu:hover .el-submenu__title .base_xitong img {
content: url(../../../imgs/xitong2.png);
}
/* .el-submenu:hover .el-submenu__title img {
content: url(../../../imgs/xitong2.png);
} */
</style>
<template>
<el-submenu :index="menu.path|| menu.id ||uniqueId ">
<el-submenu :index="menu.path || menu.id || uniqueId">
<template slot="title">
<i v-if="menu.icon" :class="`iconfont icon-${menu.icon}`"></i>
<d2-icon-svg v-else-if="menu.iconSvg" :name="menu.iconSvg"/>
<span v-else >&emsp;</span>
<span slot="title">{{menu.name}}</span>
<d2-icon-svg v-else-if="menu.iconSvg" :name="menu.iconSvg" />
<span v-else>&emsp;</span>
<span slot="title">{{ menu.name }}</span>
</template>
<template v-for="(child, childIndex) in menu.list">
<d2-layout-header-aside-menu-item v-if="child.list.length==0" :menu="child" :key="childIndex"/>
<d2-layout-header-aside-menu-sub v-else :menu="{...child}" :key="childIndex"/>
<d2-layout-header-aside-menu-item
v-if="child.list.length == 0"
:menu="child"
:key="childIndex"
/>
<d2-layout-header-aside-menu-sub
v-else
:menu="{ ...child }"
:key="childIndex"
/>
</template>
</el-submenu>
</template>
......@@ -32,10 +39,25 @@ export default {
default: () => {}
}
},
data () {
data() {
return {
uniqueId: uniqueId('d2-menu-empty-')
}
}
}
</script>
<style>
/* .el-submenu:hover .el-submenu__title .base_shebei img {
content: url(../../../imgs/shebei2.png);
}
.el-submenu:hover .el-submenu__title .base_tongji img {
content: url(../../../imgs/tongji2.png);
}
.el-submenu:hover .el-submenu__title .base_fenxi img {
content: url(../../../imgs/fenxi2.png);
}
.el-submenu:hover .el-submenu__title .base_xitong img {
content: url(../../../imgs/xitong2.png);
} */
</style>
src/layout/header-aside/imgs/logo2.png

8.55 KB | W: | H:

src/layout/header-aside/imgs/logo2.png

20.2 KB | W: | H:

src/layout/header-aside/imgs/logo2.png
src/layout/header-aside/imgs/logo2.png
src/layout/header-aside/imgs/logo2.png
src/layout/header-aside/imgs/logo2.png
  • 2-up
  • Swipe
  • Onion skin
This diff is collapsed.
This diff is collapsed.
......@@ -11,7 +11,7 @@ let util = {
* @param {String} title 标题
*/
util.title = function (titleText) {
const processTitle = 'AI节能管理系统'
const processTitle = '拉林线-山南站AI节能系统'
window.document.title = `${processTitle}${titleText ? ` | ${titleText}` : ''}`
}
......@@ -29,7 +29,7 @@ util.open = function (url) {
document.body.removeChild(document.getElementById('d2admin-menu-link'))
}
/**
/**
* @about Tree 数据格式转化
* @param rows:json数据对象
* @param idFieldName:表id的字段名
......@@ -40,58 +40,62 @@ util.open = function (url) {
* @author dake
*/
util.ConvertToTreeJson = function (rows, idFieldName, pidFieldName, fileds) {
function exists(rows, ParentId) {
for (var i = 0; i < rows.length; i++) {
if (rows[i][idFieldName] == ParentId) { return true }
}
return false
}
var nodes = []
// get the top level nodes
function exists(rows, ParentId) {
for (var i = 0; i < rows.length; i++) {
var row = rows[i]
if (!exists(rows, row[pidFieldName])) {
var data = {
id: row[idFieldName]
}
var arrFiled = fileds.split(',')
for (var j = 0; j < arrFiled.length; j++) {
if (arrFiled[j] != idFieldName) { data[arrFiled[j]] = row[arrFiled[j]] }
}
nodes.push(data)
if (rows[i][idFieldName] == ParentId) {
return true
}
}
return false
}
var nodes = []
// get the top level nodes
for (var i = 0; i < rows.length; i++) {
var row = rows[i]
if (!exists(rows, row[pidFieldName])) {
var data = {
id: row[idFieldName]
}
var arrFiled = fileds.split(',')
for (var j = 0; j < arrFiled.length; j++) {
if (arrFiled[j] != idFieldName) {
data[arrFiled[j]] = row[arrFiled[j]]
}
}
nodes.push(data)
}
}
var toDo = []
for (var i = 0; i < nodes.length; i++) {
toDo.push(nodes[i])
}
var toDo = []
for (var i = 0; i < nodes.length; i++) {
toDo.push(nodes[i])
}
while (toDo.length) {
var node = toDo.shift() // the parent node
// get the children nodes
for (var i = 0; i < rows.length; i++) {
var row = rows[i]
if (row[pidFieldName] == node.id) {
var child = {
id: row[idFieldName]
}
var arrFiled = fileds.split(',')
for (var j = 0; j < arrFiled.length; j++) {
if (arrFiled[j] != idFieldName) {
child[arrFiled[j]] = row[arrFiled[j]]
}
}
if (node.children) {
node.children.push(child)
} else {
node.children = [child]
}
toDo.push(child)
}
while (toDo.length) {
var node = toDo.shift() // the parent node
// get the children nodes
for (var i = 0; i < rows.length; i++) {
var row = rows[i]
if (row[pidFieldName] == node.id) {
var child = {
id: row[idFieldName]
}
var arrFiled = fileds.split(',')
for (var j = 0; j < arrFiled.length; j++) {
if (arrFiled[j] != idFieldName) {
child[arrFiled[j]] = row[arrFiled[j]]
}
}
if (node.children) {
node.children.push(child)
} else {
node.children = [child]
}
toDo.push(child)
}
}
return nodes
}
return nodes
}
export default util
......@@ -47,7 +47,7 @@ import toastRegistry from './components/toast/index'
import cardWarp from '@/pages/components/cardWarp.vue'
import ElementUI from 'element-ui' //element-ui的全部组件
import './assets/iconfont/iconfont.css'
import './assets/style/iconfont/iconfont.css'
Vue.component('cardWarp', cardWarp)
// import 'element-ui/lib/theme-chalk/index.css'
......
......@@ -3,60 +3,76 @@ div(:id="id", :style="{ width: '100%', height: '90%' }")
</template>
<script>
import elementResizeDetectorMaker from 'element-resize-detector'
export default {
props: ['data', 'id'],
watch: {
data() {
this.initPie()
}
},
mounted() {
this.initPie()
},
methods: {
initPie() {
let dom = document.getElementById(this.id)
if (!dom) return
let myCharts = this.$echarts.init(dom)
let option = {
color: ['skyblue', '#F2637B', '#8EE0E0', '#FFCC00', '#4ECB74'],
tooltip: {
trigger: 'item'
},
legend: {
orient: 'horizontal',
top: '1%'
},
series: [
{
type: 'pie',
radius: '50%',
data: this.data
// data: [
// {
// value: 1048,
// name: '风冷热泵机组',
// itemStyle: { color: 'skyblue' }
// },
// {
// value: 735,
// name: '室内机风柜',
// itemStyle: { color: '#F2637B' }
// },
// { value: 580, name: '水泵', itemStyle: { color: '#8EE0E0' } },
// {
// value: 484,
// name: '多联室内机',
// itemStyle: { color: '#4ECB74' }
// },
// { value: 300, name: '排风机', itemStyle: { color: '#FFCC00' } }
// ]
}
]
}
myCharts.setOption(option)
}
}
props: ['data', 'id'],
watch: {
data() {
this.initPie()
}
},
mounted() {
this.initPie()
const erd = elementResizeDetectorMaker()
erd.listenTo(document.getElementById(this.id), () => {
this.$nextTick(() => {
//监听到事件后执行的业务逻辑
this.initPie()
})
})
},
destroyed() {
window.onresize = null
},
methods: {
initPie() {
let dom = document.getElementById(this.id)
if (!dom) return
let myCharts = this.$echarts.init(dom)
let option = {
color: ['skyblue', '#F2637B', '#8EE0E0', '#FFCC00', '#4ECB74'],
tooltip: {
trigger: 'item'
},
legend: {
orient: 'horizontal',
top: '1%'
},
series: [
{
type: 'pie',
radius: '50%',
data: this.data
// data: [
// {
// value: 1048,
// name: '风冷热泵机组',
// itemStyle: { color: 'skyblue' }
// },
// {
// value: 735,
// name: '室内机风柜',
// itemStyle: { color: '#F2637B' }
// },
// { value: 580, name: '水泵', itemStyle: { color: '#8EE0E0' } },
// {
// value: 484,
// name: '多联室内机',
// itemStyle: { color: '#4ECB74' }
// },
// { value: 300, name: '排风机', itemStyle: { color: '#FFCC00' } }
// ]
}
]
}
myCharts.setOption(option)
myCharts.resize()
window.addEventListener('resize', function() {
myCharts.resize()
})
}
}
}
</script>
......
......@@ -3,80 +3,96 @@ div(:id="id", :style="{ width: '100%', height: '90%' }")
</template>
<script>
import elementResizeDetectorMaker from 'element-resize-detector'
export default {
props: ['data', 'id', 'legendData'],
data() {
return {
list: {}
}
},
watch: {
data() {
this.initPie2()
}
},
props: ['data', 'id', 'legendData'],
data() {
return {
list: {}
}
},
watch: {
data() {
this.initPie2()
}
},
mounted() {
this.initPie2()
},
methods: {
initPie2() {
let dom = document.getElementById(this.id)
if (!dom) return
let myCharts = this.$echarts.init(dom)
let option = {
color: ['skyblue', '#F2637B', '#8EE0E0', '#FFCC00', '#4ECB74'],
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b} : {c} ({d}%)'
},
legend: {
type: 'scroll',
orient: 'vertical',
right: 10,
top: 20,
bottom: 20,
// data: ['风冷热泵机组', '室内机风柜', '水泵', '多联室内机']
data: this.legendData
},
series: [
{
name: '',
type: 'pie',
radius: '55%',
center: ['40%', '50%'],
data: this.data,
// data: [
// {
// name: '风冷热泵机组',
// value: '100',
// itemStyle: { color: 'skyblue' }
// },
// {
// name: '室内机风柜',
// value: '130',
// itemStyle: { color: '#F2637B' }
// },
// { name: '水泵', value: '400', itemStyle: { color: '#8EE0E0' } },
// {
// name: '多联室内机',
// value: '100',
// itemStyle: { color: '#FFCC00' }
// }
// ],
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
}
myCharts.setOption(option)
}
}
mounted() {
this.initPie2()
const erd = elementResizeDetectorMaker()
erd.listenTo(document.getElementById(this.id), () => {
this.$nextTick(() => {
//监听到事件后执行的业务逻辑
this.initPie2()
})
})
},
destroyed() {
window.onresize = null
},
methods: {
initPie2() {
let dom = document.getElementById(this.id)
if (!dom) return
let myCharts = this.$echarts.init(dom)
let option = {
color: ['skyblue', '#F2637B', '#8EE0E0', '#FFCC00', '#4ECB74'],
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b} : {c} ({d}%)'
},
legend: {
type: 'scroll',
orient: 'vertical',
right: 10,
top: 20,
bottom: 20,
// data: ['风冷热泵机组', '室内机风柜', '水泵', '多联室内机']
data: this.legendData
},
series: [
{
name: '',
type: 'pie',
radius: '55%',
center: ['40%', '50%'],
data: this.data,
// data: [
// {
// name: '风冷热泵机组',
// value: '100',
// itemStyle: { color: 'skyblue' }
// },
// {
// name: '室内机风柜',
// value: '130',
// itemStyle: { color: '#F2637B' }
// },
// { name: '水泵', value: '400', itemStyle: { color: '#8EE0E0' } },
// {
// name: '多联室内机',
// value: '100',
// itemStyle: { color: '#FFCC00' }
// }
// ],
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
}
myCharts.setOption(option)
myCharts.resize()
window.addEventListener('resize', function() {
myCharts.resize()
})
}
}
}
</script>
......
......@@ -164,7 +164,7 @@ export default {
flex-wrap: wrap;
height: calc(100vh - 350px);
> div {
width: 48%;
width: 47%;
height: calc(90% / 2);
margin: 3px;
padding: 13px;
......
// 曲线图 ==》 (首页,数据分析)
<template lang='pug'>
<template lang="pug">
div(:id="id", :style="{ width: '100%', height: '90%' }")
</template>
<script>
import elementResizeDetectorMaker from 'element-resize-detector'
export default {
props: ['id', 'data', 'title', 'color', 'yAxisName'],
watch: {
data: {
immediate: true,
deep: true,
handler(newValue, oldValue) {
this.initChart()
}
}
},
mounted() {
this.initChart()
},
methods: {
initChart() {
let dom = document.getElementById(this.id)
if (!dom) return
let myCharts = this.$echarts.init(dom)
let option = {
// color:['#D0F0FF'],
title: {
text: this.title
},
tooltip: {
trigger: 'axis',
transitionDuration: 0
},
grid: {
left: '3%',
bottom: '3%',
containLabel: true
},
xAxis: [
{
// type: 'category',
type: 'time',
boundaryGap: false
}
],
yAxis: [
{
type: 'value',
name: this.yAxisName
props: ['id', 'data', 'title', 'color', 'yAxisName'],
watch: {
data: {
immediate: true,
deep: true,
handler(newValue, oldValue) {
this.initChart()
}
}
},
mounted() {
this.initChart()
const erd = elementResizeDetectorMaker()
erd.listenTo(document.getElementById(this.id), () => {
this.$nextTick(() => {
//监听到事件后执行的业务逻辑
this.initChart()
})
})
},
destroyed() {
window.onresize = null
},
methods: {
initChart() {
let dom = document.getElementById(this.id)
if (!dom) return
let myCharts = this.$echarts.init(dom)
let option = {
// color:['#D0F0FF'],
title: {
text: this.title
},
tooltip: {
trigger: 'axis',
transitionDuration: 0
},
grid: {
left: '3%',
bottom: '3%',
containLabel: true
},
xAxis: [
{
// type: 'category',
type: 'time',
boundaryGap: false
}
],
yAxis: [
{
type: 'value',
name: this.yAxisName
}
],
series: [
{
name: '',
type: 'line',
stack: '总量',
smooth: true,
// label: {
// show: true,
// position: 'top'
// },
areaStyle: {
normal: {
color: new this.$echarts.graphic.LinearGradient(
0,
0,
0,
1,
[
{
offset: 0,
color: this.color // 0% 处的颜色
},
{
offset: 1,
color: '#fff' // 100% 处的颜色
}
]
)
}
},
lineStyle: {
color: this.color
},
itemStyle: {
normal: {
color: '#13B0FF'
}
},
emphasis: {
focus: 'series'
},
data: this.data
}
]
}
myCharts.setOption(option, true)
myCharts.resize()
}
],
series: [
{
name: '',
type: 'line',
stack: '总量',
smooth: true,
// label: {
// show: true,
// position: 'top'
// },
areaStyle: {
normal: {
color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
{
offset: 0,
color: this.color // 0% 处的颜色
},
{
offset: 1,
color: '#fff' // 100% 处的颜色
}
])
}
},
lineStyle: {
color: this.color
},
itemStyle: {
normal: {
color: '#13B0FF'
}
},
emphasis: {
focus: 'series'
},
data: this.data
}
]
}
myCharts.setOption(option, true)
}
}
window.addEventListener('resize', function() {
myCharts.resize()
})
}
}
}
</script>
<style lang="scss" scoped>
</style>
<style lang="scss" scoped></style>
<template>
<div id="myPies" style="height: 100%"></div>
<div id="myPies" style="height: 100%"></div>
</template>
<script>
import elementResizeDetectorMaker from 'element-resize-detector'
export default {
name: 'myPies',
data() {
return {
myPies: null
}
},
name: 'myPies',
data() {
return {
myPies: null
}
},
mounted() {
this.initPie()
},
mounted() {
this.initPie()
const erd = elementResizeDetectorMaker()
erd.listenTo(document.getElementById('myPies'), () => {
this.$nextTick(() => {
//监听到事件后执行的业务逻辑
this.initPie()
})
})
},
methods: {
initPie() {
let myPie = document.getElementById('myPies')
this.myPies = this.$echarts.init(myPie)
const data = [
{ name: '冷', value: 500 },
{ name: '适中', value: 900 },
{ name: '热', value: 600 }
]
const option = {
tooltip: {
trigger: 'item'
},
methods: {
initPie() {
let myPie = document.getElementById('myPies')
this.myPies = this.$echarts.init(myPie)
const data = [
{ name: '冷', value: 500 },
{ name: '适中', value: 900 },
{ name: '热', value: 600 }
]
const option = {
tooltip: {
trigger: 'item'
},
legend: {
show: true,
orient: 'horizontal',
// left: "center",
bottom: '0',
itemHeight: 13,
itemWidth: 13,
itemGap: 35,
icon: 'circle',
data: data,
formatter: function(name) {
var total = 0
var target
var value
for (let i = 0, l = data.length; i < l; i++) {
value = data[i].value
total += data[i].value
if (data[i].name == name) {
target = data[i].value
}
}
return (
name +
' ' +
((target / total) * 100).toFixed(0) +
'%'
)
},
textStyle: {
rich: {
a: {
color: '#333333',
// verticalAlign: "top",
// align: "center",
// fontSize: 12,
// padding: [10, 0, 28, 0]
padding: 20
},
b: {
// align: "left",
// fontSize: 18,
padding: [10, 10, 10, 0],
// // lineHeight: 25,
color: '#333333'
}
}
}
},
color: [
'rgba(72,154,254,1)',
'rgba(247,243,204,1)',
'rgba(236,73,104,1)'
],
series: [
{
type: 'pie',
radius: ['50%', '70%'],
center: ['50%', '40%'],
avoidLabelOverlap: false,
label: {
show: false,
position: 'center',
normal: {
show: true,
position: 'center',
formatter: function() {
return `\r\n20000`
},
textStyle: {
fontSize: 30,
lineHeight: 20,
color: '#36CBCB'
}
}
},
emphasis: {
label: {
show: false,
fontSize: '20',
fontWeight: 'bold'
}
},
labelLine: {
show: false
},
data: [...data]
}
]
}
legend: {
show: true,
orient: 'horizontal',
// left: "center",
bottom: '0',
itemHeight: 13,
itemWidth: 13,
itemGap: 35,
icon: 'circle',
data: data,
formatter: function (name) {
var total = 0
var target
var value
for (let i = 0, l = data.length; i < l; i++) {
value = data[i].value
total += data[i].value
if (data[i].name == name) {
target = data[i].value
}
}
return name + ' ' + ((target / total) * 100).toFixed(0) + '%'
},
textStyle: {
rich: {
a: {
color: '#333333',
// verticalAlign: "top",
// align: "center",
// fontSize: 12,
// padding: [10, 0, 28, 0]
padding: 20
},
b: {
// align: "left",
// fontSize: 18,
padding: [10, 10, 10, 0],
// // lineHeight: 25,
color: '#333333'
}
}
}
},
color: [
'rgba(72,154,254,1)',
'rgba(247,243,204,1)',
'rgba(236,73,104,1)'
],
series: [
{
type: 'pie',
radius: ['50%', '70%'],
center: ['50%', '40%'],
avoidLabelOverlap: false,
label: {
show: false,
position: 'center',
normal: {
show: true,
position: 'center',
formatter: function () {
return `\r\n20000`
},
textStyle: {
fontSize: 30,
lineHeight: 20,
color: '#36CBCB'
}
}
},
emphasis: {
label: {
show: false,
fontSize: '20',
fontWeight: 'bold'
}
},
labelLine: {
show: false
},
data: [...data]
}
]
}
this.myPies.setOption(option)
}
}
this.myPies.setOption(option)
this.myPies.resize()
}
}
}
</script>
......@@ -140,5 +140,14 @@ export default {
color: #32a5ea !important;
background-color: red !important;
}
.table-row-mode {
background: rgb(245, 214, 155);
}
.table-row-mechanical {
background: #71e6e6;
}
.table-row-natural {
background: #b5f096;
}
}
</style>
This diff is collapsed.
......@@ -12,7 +12,14 @@
></el-tab-pane>
</el-tabs>
<div style="margin-top: 20px"></div>
<table-list :tableColums='tableColums' :tableData='tableData' :showOpr='true' :opNum='3' :showStateColor='true' :currentMode='currentModel'>
<table-list
:tableColums="tableColums"
:tableData="tableData"
:showOpr="true"
:opNum="3"
:showStateColor="true"
:currentMode="currentModel"
>
<template v-slot:operation="scope">
<el-button type="text" @click="statusHandle">开启</el-button>
<el-button type="text" @click="statusHandle">关闭</el-button>
......@@ -53,7 +60,7 @@ export default {
enTabs,
enTable,
tablePagination,
tableList,
tableList
},
data() {
......@@ -61,6 +68,7 @@ export default {
pageIndex: 1,
pageSize: 10,
totalSize: 0,
curModel: 0,
activeTab: 'b6af764f2a6e454490a6b1b3c9057e57',
tableData: [],
tableColums: tableColumsOne,
......@@ -129,12 +137,63 @@ export default {
this.tableColums = tableColumsTwo
break
}
},
pfjList: {
handler(n, o) {
if (n) {
this.setDataList()
}
},
deep: true
},
jfktpList: {
handler(n, o) {
if (n) {
this.setDataList()
}
},
deep: true
},
dlswjList: {
handler(n, o) {
if (n) {
this.setDataList()
}
},
deep: true
},
dlsnjList: {
handler(n, o) {
if (n) {
this.setDataList()
}
},
deep: true
},
dlxfsnjList: {
handler(n, o) {
if (n) {
this.setDataList()
}
},
deep: true
}
// currentModel: {
// handler(n, o) {
// if (n) {
// this.setModel()
// }
// },
// deep: true
// }
},
mounted() {
this.getDataList()
},
methods: {
// setModel() {
// this.curModel = this.currentModel
// },
// 获取数据列表
getDataList(page, size) {
this.$http({
......
......@@ -61,7 +61,7 @@
<div v-show="transformationSta==1">
<el-row style="padding-bottom:15px;height:780px;background:#fff;" :span="24">
<el-col class="resource-container" :style="obj" ref="drag">
<div id="map" class="map" ref='map' style="width: 100%;height: 720px;position:relative;" @click='closeDetails'></div>
<div id="map" class="map" ref='map' style="width: 100%;height: 720px;position:relative;" ></div>
</el-col>
</el-row>
</div>
......@@ -173,7 +173,7 @@ export default {
lineVectorLayer: [],
resolutions: [],
code: '',
times: 1,
times: 1
}
},
components: {
......@@ -191,8 +191,8 @@ export default {
},
methods: {
// 点击空白位置关闭详情框
closeDetails(){
if(this.queryDetailVisible && this.times > 1){
closeDetails() {
if (this.queryDetailVisible && this.times > 1) {
this.queryDetailVisible = false
this.times = 0
}
......@@ -329,6 +329,8 @@ export default {
}
}
}
} else {
that.queryDetailVisible = false
}
})
},
......@@ -581,7 +583,7 @@ export default {
//监视器列表点击
//关闭其他窗口
// this.closeNoQueryDetailVisible()
this.queryDetail(item)
this.queryDetail(item)
// if (this.transformationSta === 1) {
// if (
......@@ -661,10 +663,7 @@ export default {
}
})
if (
this.currentNode.level == 5 ||
(this.currentNode.level == 6 && this.currentNode.isDefence)
) {
if (this.currentNode.level == 5) {
this.list = []
this.currentNode.children.forEach((el) => {
if (item === null || (item != null && item.id === el.type)) {
......@@ -953,11 +952,11 @@ export default {
})
},
//详情
queryDetail(id) {
queryDetail(item) {
this.queryDetailVisible = true
this.noQueryDetailVisible = false
this.$nextTick(() => {
this.$refs.queryDetail.init(id, this.checkedData.sId)
this.$refs.queryDetail.init(item, this.checkedData.sId)
})
},
......
......@@ -48,7 +48,7 @@
el-button(type="primary", size="mini", style="margin-left: 10px") 下降
el-button(type="primary", size="mini", style="margin-left: 10px") 停止
.info-state
.info-state(v-if="this.params && this.params.length > 0")
span(style="font-weight: bold") 设备运行状态
div(v-if="this.params.length && this.params[0].electric_energy")
span.type 电量(kwh):
......@@ -151,7 +151,6 @@ export default {
params: [],
openOrClose: [
'b6af764f2a6e454490a6b1b3c9057e57', //排风机
'b47661ca1d454f9792ba5369f3cb2bc5', //机房空调
'49f5921a6d7f43cfa222c09f0223ae04', //电动排烟窗
'b45827c068254695864ee3c1d42573cb', //风冷热泵机组
'303310efddb34a2e9bf269bdff8a7dc5', //室内机风柜
......@@ -174,6 +173,7 @@ export default {
console.log('---data:', data)
console.log('当前资源点id', data.id)
console.log('类型', data.type)
this.params = []
switch (data.type) {
case '173466a2cf9a42a6a17b2bdfbeae36d5': //多联室内机
this.params = this.dlsnjList.filter((e) => e.resource_id == data.id)
......@@ -387,6 +387,13 @@ export default {
background: url('../../../assets/images/imgs/dlswj.png') no-repeat center;
background-size: 100% 100%;
}
.el-icon-dlsnj6 {
width: 100%;
height: 170px;
text-align: center;
background: url('../../../assets/images/imgs/dlsnj.jpg') no-repeat center;
background-size: 100% 100%;
}
.el-icon-cgq6 {
width: 100%;
height: 170px;
......
<template lang="pug">
div.infopage()
font(class='index-title') 欢迎访问山南站AI节能管理系统
font(class='index-title') 欢迎访问拉林线-山南站AI节能系统
</template>
<script>
export default {
data() {
return {
}
return {}
},
methods: {
}
methods: {}
}
</script>
<style lang="scss" scoped>
@import "~@/assets/style/public.scss";
.infopage{
margin:0 20px 0 24px;
height: 700px;
.index-title {
@import '~@/assets/style/public.scss';
.infopage {
margin: 0 20px 0 24px;
height: 700px;
.index-title {
width: 720px;
// height: 50px;
font-size: 48px;
......@@ -34,5 +28,5 @@ export default {
display: block;
margin: 20% auto;
}
}
}
</style>
......@@ -153,7 +153,7 @@ export default {
components: {
tablePagination,
history,
tableList,
tableList
},
data() {
return {
......@@ -173,7 +173,7 @@ export default {
{ label: '温度(℃)', prop: 'temperature', format: true },
{ label: '湿度(%RH)', prop: 'humidity', format: true },
{ label: 'CO₂(PPM)', prop: 'carbon_dioxide', format: true },
{ label: '设备状态', prop: 'statusName', format: true },
{ label: '设备状态', prop: 'statusName', format: true }
]
}
},
......
......@@ -64,10 +64,19 @@
</el-form>
</div>
<table-list :tableColums='tableColums' :tableData='tableData' :showOpr='true' :opNum='2'>
<table-list
:tableColums="tableColums"
:tableData="tableData"
:showOpr="true"
:opNum="2"
>
<template #operation="data">
<el-button type="text" @click="openHistoryHandle(data.scope.row)">历史数据</el-button>
<el-button type="text" @click="openPicTHandle(data.scope.row)">统计图表</el-button>
<el-button type="text" @click="openHistoryHandle(data.scope)"
>历史数据</el-button
>
<el-button type="text" @click="openPicTHandle(data.scope)"
>统计图表</el-button
>
</template>
</table-list>
<!-- <enTable
......@@ -87,8 +96,13 @@
</div>
</cardList>
<el-footer class="box_footer">
<tablePagination :pageSize="pageSize" :totalSize="totalSize" @parentMethod="getDataList">
</tablePagination></el-footer>
<tablePagination
:pageSize="pageSize"
:totalSize="totalSize"
@parentMethod="getDataList"
>
</tablePagination
></el-footer>
<history-data-modal
:historyDataModalVisible="historyDataModalVisible"
......@@ -119,7 +133,7 @@ export default {
historyDataModal,
statisticPicTableModal,
tablePagination,
tableList,
tableList
},
data() {
return {
......
......@@ -137,6 +137,7 @@ export default {
this.captchaPath = this.$http.adornUrl(
`/captcha.jpg?uuid=${this.formLogin.uuid}`
)
this.$parent.getDateList()
},
/**
* @description 接收选择一个用户快速登录的事件
......
......@@ -4,7 +4,7 @@
div(slot='content')
div.tableCard()
el-form( :inline="true" :model="dataForm" size="mini" @keyup.enter.native="getDataList()" )
el-form-item( label="关键词:")
el-form-item( label="指令内容:")
el-input( v-model="dataForm.comMark" placeholder="" clearable)
el-form-item( label="指令类型:")
el-select( v-model="dataForm.comType" placeholder="请选择" clearable)
......@@ -22,7 +22,7 @@
font(v-if='data.scope.comSource == 2') 人工
template(#comType='data' )
font(v-if='data.scope.comType == 1') 自动
font(v-if='data.scope.comType == 2') 手动
font(v-if='data.scope.comType == 2') 人工
template(#operation="data")
el-button(type="text" size="mini" @click="queryHandle(data.scope.id)") 详情
el-footer.box_footer
......
......@@ -37,7 +37,7 @@
</el-form-item>
<el-form-item label='指令类型:' prop='comType'>
<el-input v-if="dataForm.comType==1" value="自动" size="medium" readonly></el-input>
<el-input v-if="dataForm.comType==2" value="手动" size="medium" readonly></el-input>
<el-input v-if="dataForm.comType==2" value="人工" size="medium" readonly></el-input>
</el-form-item>
<el-form-item label='指令来源:' prop='comSource'>
<el-input v-if="dataForm.comSource==1" value="算法" size="medium" readonly></el-input>
......
......@@ -230,6 +230,7 @@ service.interceptors.response.use(
sessionStorage.removeItem('token')
sessionStorage.removeItem('uuid')
if (this) {
this.$parent.getDateList()
//清空接管提示框
this.$store.dispatch('d2admin/takeover/setTakeover', null)
}
......
......@@ -9,7 +9,7 @@ export default {
// 侧栏菜单
aside: [],
// 侧边栏收缩
// asideCollapse: setting.menu.asideCollapse,
asideCollapse: setting.menu.asideCollapse,
// 接口返回的路由数据
routerList: []
},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment