设备监控弹框修改
This commit is contained in:
@@ -18,7 +18,7 @@
|
|||||||
"crypto-js": "^4.2.0",
|
"crypto-js": "^4.2.0",
|
||||||
"echarts": "^5.4.3",
|
"echarts": "^5.4.3",
|
||||||
"echarts4": "npm:echarts@^4.9.0",
|
"echarts4": "npm:echarts@^4.9.0",
|
||||||
"element-plus": "^2.4.4",
|
"element-plus": "^2.5.3",
|
||||||
"html2canvas": "^1.4.1",
|
"html2canvas": "^1.4.1",
|
||||||
"jquery": "^3.7.1",
|
"jquery": "^3.7.1",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|||||||
38
pnpm-lock.yaml
generated
38
pnpm-lock.yaml
generated
@@ -29,8 +29,8 @@ dependencies:
|
|||||||
specifier: npm:echarts@^4.9.0
|
specifier: npm:echarts@^4.9.0
|
||||||
version: /echarts@4.9.0
|
version: /echarts@4.9.0
|
||||||
element-plus:
|
element-plus:
|
||||||
specifier: ^2.4.4
|
specifier: ^2.5.3
|
||||||
version: 2.4.4(vue@3.3.13)
|
version: 2.5.3(vue@3.3.13)
|
||||||
html2canvas:
|
html2canvas:
|
||||||
specifier: ^1.4.1
|
specifier: ^1.4.1
|
||||||
version: 1.4.1
|
version: 1.4.1
|
||||||
@@ -401,7 +401,7 @@ packages:
|
|||||||
to-fast-properties: 2.0.0
|
to-fast-properties: 2.0.0
|
||||||
|
|
||||||
/@ctrl/tinycolor@3.6.1:
|
/@ctrl/tinycolor@3.6.1:
|
||||||
resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==, tarball: https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz}
|
resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
@@ -598,20 +598,20 @@ packages:
|
|||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@floating-ui/core@1.5.2:
|
/@floating-ui/core@1.5.2:
|
||||||
resolution: {integrity: sha512-Ii3MrfY/GAIN3OhXNzpCKaLxHQfJF9qvwq/kEJYdqDxeIHa01K8sldugal6TmeeXl+WMvhv9cnVzUTaFFJF09A==, tarball: https://registry.npmmirror.com/@floating-ui/core/-/core-1.5.2.tgz}
|
resolution: {integrity: sha512-Ii3MrfY/GAIN3OhXNzpCKaLxHQfJF9qvwq/kEJYdqDxeIHa01K8sldugal6TmeeXl+WMvhv9cnVzUTaFFJF09A==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@floating-ui/utils': 0.1.6
|
'@floating-ui/utils': 0.1.6
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@floating-ui/dom@1.5.3:
|
/@floating-ui/dom@1.5.3:
|
||||||
resolution: {integrity: sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==, tarball: https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.5.3.tgz}
|
resolution: {integrity: sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@floating-ui/core': 1.5.2
|
'@floating-ui/core': 1.5.2
|
||||||
'@floating-ui/utils': 0.1.6
|
'@floating-ui/utils': 0.1.6
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@floating-ui/utils@0.1.6:
|
/@floating-ui/utils@0.1.6:
|
||||||
resolution: {integrity: sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==, tarball: https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.1.6.tgz}
|
resolution: {integrity: sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@fortawesome/fontawesome-free@6.5.1:
|
/@fortawesome/fontawesome-free@6.5.1:
|
||||||
@@ -870,7 +870,7 @@ packages:
|
|||||||
undici-types: 5.26.5
|
undici-types: 5.26.5
|
||||||
|
|
||||||
/@types/web-bluetooth@0.0.16:
|
/@types/web-bluetooth@0.0.16:
|
||||||
resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==, tarball: https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz}
|
resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@types/web-bluetooth@0.0.20:
|
/@types/web-bluetooth@0.0.20:
|
||||||
@@ -1093,7 +1093,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@vueuse/core@9.13.0(vue@3.3.13):
|
/@vueuse/core@9.13.0(vue@3.3.13):
|
||||||
resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==, tarball: https://registry.npmmirror.com/@vueuse/core/-/core-9.13.0.tgz}
|
resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/web-bluetooth': 0.0.16
|
'@types/web-bluetooth': 0.0.16
|
||||||
'@vueuse/metadata': 9.13.0
|
'@vueuse/metadata': 9.13.0
|
||||||
@@ -1109,7 +1109,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@vueuse/metadata@9.13.0:
|
/@vueuse/metadata@9.13.0:
|
||||||
resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==, tarball: https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.13.0.tgz}
|
resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@vueuse/shared@10.7.0(vue@3.3.13):
|
/@vueuse/shared@10.7.0(vue@3.3.13):
|
||||||
@@ -1122,7 +1122,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@vueuse/shared@9.13.0(vue@3.3.13):
|
/@vueuse/shared@9.13.0(vue@3.3.13):
|
||||||
resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==, tarball: https://registry.npmmirror.com/@vueuse/shared/-/shared-9.13.0.tgz}
|
resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
vue-demi: 0.14.6(vue@3.3.13)
|
vue-demi: 0.14.6(vue@3.3.13)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
@@ -1346,7 +1346,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/async-validator@4.2.5:
|
/async-validator@4.2.5:
|
||||||
resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==, tarball: https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz}
|
resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/asynckit@0.4.0:
|
/asynckit@0.4.0:
|
||||||
@@ -1490,7 +1490,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/dayjs@1.11.10:
|
/dayjs@1.11.10:
|
||||||
resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==, tarball: https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz}
|
resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/de-indent@1.0.2:
|
/de-indent@1.0.2:
|
||||||
@@ -1539,8 +1539,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==}
|
resolution: {integrity: sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/element-plus@2.4.4(vue@3.3.13):
|
/element-plus@2.5.3(vue@3.3.13):
|
||||||
resolution: {integrity: sha512-TlKubXJgxwhER0dw+8ULn9hr9kZjraV4R6Q/eidwWUwCKxwXYPBGmMKsZ/85tlxlhMYbcLZd/YZh6G3QkHX4fg==, tarball: https://registry.npmmirror.com/element-plus/-/element-plus-2.4.4.tgz}
|
resolution: {integrity: sha512-wmtstxaMkD6UinIgD+45CjrhbRh4u0vt+/GgxfPeMLt5pDpIVwZFjkUaVcWqqxcxd5a80HP3XlDF74fW7wim9A==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
vue: ^3.2.0
|
vue: ^3.2.0
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -1625,7 +1625,7 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/escape-html@1.0.3:
|
/escape-html@1.0.3:
|
||||||
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==, tarball: https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz}
|
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/escape-string-regexp@1.0.5:
|
/escape-string-regexp@1.0.5:
|
||||||
@@ -1855,7 +1855,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/lodash-unified@1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21):
|
/lodash-unified@1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21):
|
||||||
resolution: {integrity: sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==, tarball: https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz}
|
resolution: {integrity: sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@types/lodash-es': '*'
|
'@types/lodash-es': '*'
|
||||||
lodash: '*'
|
lodash: '*'
|
||||||
@@ -1921,7 +1921,7 @@ packages:
|
|||||||
'@jridgewell/sourcemap-codec': 1.4.15
|
'@jridgewell/sourcemap-codec': 1.4.15
|
||||||
|
|
||||||
/memoize-one@6.0.0:
|
/memoize-one@6.0.0:
|
||||||
resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==, tarball: https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz}
|
resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/mime-db@1.52.0:
|
/mime-db@1.52.0:
|
||||||
@@ -1980,7 +1980,7 @@ packages:
|
|||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
/normalize-wheel-es@1.2.0:
|
/normalize-wheel-es@1.2.0:
|
||||||
resolution: {integrity: sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==, tarball: https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz}
|
resolution: {integrity: sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/nprogress@0.2.0:
|
/nprogress@0.2.0:
|
||||||
@@ -2261,7 +2261,7 @@ packages:
|
|||||||
/use-element-plus-theme@0.0.5(@types/node@20.10.5)(typescript@5.3.3)(vite@5.0.10):
|
/use-element-plus-theme@0.0.5(@types/node@20.10.5)(typescript@5.3.3)(vite@5.0.10):
|
||||||
resolution: {integrity: sha512-YktH5VbVqsT/lYTxx60KeqS5AZgDMEdDChsI2NxxcVkCOOgmkrM/yQVxxItWYhTJti3YxodM5SM89Vv1timIsA==}
|
resolution: {integrity: sha512-YktH5VbVqsT/lYTxx60KeqS5AZgDMEdDChsI2NxxcVkCOOgmkrM/yQVxxItWYhTJti3YxodM5SM89Vv1timIsA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
element-plus: 2.4.4(vue@3.3.13)
|
element-plus: 2.5.3(vue@3.3.13)
|
||||||
vite-plugin-dts: 3.7.0(@types/node@20.10.5)(typescript@5.3.3)(vite@5.0.10)
|
vite-plugin-dts: 3.7.0(@types/node@20.10.5)(typescript@5.3.3)(vite@5.0.10)
|
||||||
vue: 3.3.13(typescript@5.3.3)
|
vue: 3.3.13(typescript@5.3.3)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
|
|||||||
@@ -312,4 +312,21 @@ body,
|
|||||||
padding: 13px 15px;
|
padding: 13px 15px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
border: 1px solid var(--el-border-color);
|
border: 1px solid var(--el-border-color);
|
||||||
|
.title {
|
||||||
|
flex: 1;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
.el-form-item {
|
||||||
|
margin-bottom: 0 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.child-router {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
background: #fff;
|
||||||
|
z-index: 2;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,123 +1,131 @@
|
|||||||
/* 修复 Chrome 浏览器输入框内选中字符行高异常的bug-s */
|
/* 修复 Chrome 浏览器输入框内选中字符行高异常的bug-s */
|
||||||
.el-input .el-input__inner {
|
.el-input .el-input__inner {
|
||||||
height: 30px;
|
height: 30px;
|
||||||
line-height: calc(var(--el-input-height, 40px) - 4px);
|
line-height: calc(var(--el-input-height, 40px) - 4px);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 修复 Chrome 浏览器输入框内选中字符行高异常的bug-e */
|
/* 修复 Chrome 浏览器输入框内选中字符行高异常的bug-e */
|
||||||
|
|
||||||
.datetime-picker {
|
.datetime-picker {
|
||||||
height: 32px;
|
height: 32px;
|
||||||
padding-top: 0;
|
padding-top: 0;
|
||||||
padding-bottom: 0;
|
padding-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-divider__text.is-center {
|
.el-divider__text.is-center {
|
||||||
transform: translateX(-50%) translateY(-62%);
|
transform: translateX(-50%) translateY(-62%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-menu {
|
.el-menu {
|
||||||
user-select: none;
|
user-select: none;
|
||||||
|
|
||||||
.el-menu-item:hover,
|
.el-menu-item:hover,
|
||||||
.el-sub-menu__title:hover {
|
.el-sub-menu__title:hover {
|
||||||
background-color: var(--el-menu-hover-color) !important;
|
background-color: var(--el-menu-hover-color) !important;
|
||||||
color: var(--el-menu-active-color) !important;
|
color: var(--el-menu-active-color) !important;
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
color: var(--el-menu-active-color) !important;
|
color: var(--el-menu-active-color) !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-dialog__header {
|
.el-dialog__header {
|
||||||
background: var(--el-color-primary);
|
background: var(--el-color-primary);
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
|
|
||||||
.el-dialog__headerbtn {
|
.el-dialog__headerbtn {
|
||||||
.el-icon {
|
.el-icon {
|
||||||
color: var(--el-color-white);
|
color: var(--el-color-white);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.el-dialog__title {
|
.el-dialog__title {
|
||||||
color: var(--el-color-white);
|
color: var(--el-color-white);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-table {
|
.el-table {
|
||||||
--el-table-border-color: var(--ba-border-color);
|
--el-table-border-color: var(--ba-border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-card {
|
.el-card {
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-card__header {
|
.el-card__header {
|
||||||
border-bottom: 1px solid var(--el-border-color-extra-light);
|
border-bottom: 1px solid var(--el-border-color-extra-light);
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-textarea__inner {
|
.el-textarea__inner {
|
||||||
padding: 5px 11px;
|
padding: 5px 11px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-dialog__body {
|
.el-dialog__body {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* dialog滚动条-s */
|
/* dialog滚动条-s */
|
||||||
.el-overlay-dialog,
|
.el-overlay-dialog,
|
||||||
.el-tabs__content,
|
.el-tabs__content,
|
||||||
.ba-scroll-style {
|
.ba-scroll-style {
|
||||||
scrollbar-width: none;
|
scrollbar-width: none;
|
||||||
|
|
||||||
&::-webkit-scrollbar {
|
&::-webkit-scrollbar {
|
||||||
width: 5px;
|
width: 5px;
|
||||||
height: 5px;
|
height: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&::-webkit-scrollbar-thumb {
|
&::-webkit-scrollbar-thumb {
|
||||||
background: #eaeaea;
|
background: #eaeaea;
|
||||||
border-radius: var(--el-border-radius-base);
|
border-radius: var(--el-border-radius-base);
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
-webkit-box-shadow: none;
|
-webkit-box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
&::-webkit-scrollbar-thumb:hover {
|
&::-webkit-scrollbar-thumb:hover {
|
||||||
background: #c8c9cc;
|
background: #c8c9cc;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* dialog滚动条-e */
|
/* dialog滚动条-e */
|
||||||
|
|
||||||
/* 小屏设备 el-radio-group 样式优化-s */
|
/* 小屏设备 el-radio-group 样式优化-s */
|
||||||
.ba-input-item-radio {
|
.ba-input-item-radio {
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
|
|
||||||
.el-radio-group {
|
.el-radio-group {
|
||||||
.el-radio {
|
.el-radio {
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 小屏设备 el-radio-group 样式调整-e */
|
/* 小屏设备 el-radio-group 样式调整-e */
|
||||||
|
|
||||||
.el-tabs--card > .el-tabs__header .el-tabs__item.is-active {
|
.el-tabs--card > .el-tabs__header .el-tabs__item.is-active {
|
||||||
background: var(--el-color-primary);
|
background: var(--el-color-primary);
|
||||||
color: var(--el-color-white);
|
color: var(--el-color-white);
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tabs__header {
|
.el-tabs__header {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-form--inline .el-form-item {
|
.el-form--inline .el-form-item {
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tabs--border-card>.el-tabs__content{
|
.el-tabs--border-card > .el-tabs__content {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.el-page-header__header {
|
||||||
|
line-height: 32px;
|
||||||
|
.el-page-header__content {
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="default-main">
|
<div class="default-main">
|
||||||
<div class="custom-table-header">
|
<div class="custom-table-header">
|
||||||
<div style="flex: 1; font-weight: 700">待审核用户</div>
|
<div class="title">待审核用户</div>
|
||||||
<el-button :icon="Check" type="primary" @click="addRole" class="ml10">审核通过</el-button>
|
<el-button :icon="Check" type="primary" @click="addRole" class="ml10">审核通过</el-button>
|
||||||
</div>
|
</div>
|
||||||
<Table ref="tableRef" />
|
<Table ref="tableRef" />
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="custom-table-header">
|
<div class="custom-table-header">
|
||||||
<div style="flex: 1; font-weight: 700">接口权限列表</div>
|
<div class="title">接口权限列表</div>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="tableStore.table.params.searchValue"
|
v-model="tableStore.table.params.searchValue"
|
||||||
style="width: 240px"
|
style="width: 240px"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="custom-table-header">
|
<div class="custom-table-header">
|
||||||
<div style="flex: 1; font-weight: 700">菜单列表</div>
|
<div class="title">菜单列表</div>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="tableStore.table.params.searchValue"
|
v-model="tableStore.table.params.searchValue"
|
||||||
style="width: 240px"
|
style="width: 240px"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<div class="default-main" style="display: flex" :style="{ height: height }">
|
<div class="default-main" style="display: flex" :style="{ height: height }">
|
||||||
<div style="flex: 1; overflow: hidden">
|
<div style="flex: 1; overflow: hidden">
|
||||||
<div class="custom-table-header">
|
<div class="custom-table-header">
|
||||||
<div style="flex: 1; font-weight: 700">角色列表</div>
|
<div class="title">角色列表</div>
|
||||||
<el-button :icon="Plus" type="primary" @click="addRole" class="ml10">新增</el-button>
|
<el-button :icon="Plus" type="primary" @click="addRole" class="ml10">新增</el-button>
|
||||||
</div>
|
</div>
|
||||||
<Table ref="tableRef" @currentChange="currentChange" />
|
<Table ref="tableRef" @currentChange="currentChange" />
|
||||||
|
|||||||
@@ -1,24 +1,42 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog class="cn-operate-dialog control-popup" v-model="dialogVisible" :title="title">
|
<div class="device-control-detail child-router">
|
||||||
<el-form :inline="true">
|
<div class="custom-table-header">
|
||||||
<el-form-item label="日期">
|
<el-form :inline="true">
|
||||||
<DatePicker ref="datePickerRef" v-if="dialogVisible"></DatePicker>
|
<el-form-item label="">
|
||||||
</el-form-item>
|
<el-page-header @back="$emit('close')">
|
||||||
<el-form-item>
|
<template #content>
|
||||||
<el-button type="primary" icon="el-icon-Search" @click="init">查询</el-button>
|
<span class="text-large font-600 mr-3">{{ props.detail.name }}</span>
|
||||||
</el-form-item>
|
</template>
|
||||||
</el-form>
|
</el-page-header>
|
||||||
<MyEchart :options="echartsData" v-if="echartsData" style="flex: 1" />
|
</el-form-item>
|
||||||
|
<el-form-item label="日期">
|
||||||
|
<DatePicker ref="datePickerRef"></DatePicker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-Search" @click="init">查询</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
<MyEchart :options="echartsData" v-if="echartsData" style="flex: 1" class="mt10" />
|
||||||
<el-empty description="暂无数据" v-else style="flex: 1" v-loading="loading"></el-empty>
|
<el-empty description="暂无数据" v-else style="flex: 1" v-loading="loading"></el-empty>
|
||||||
</el-dialog>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { ref, inject, nextTick } from 'vue'
|
import { ref, inject, nextTick, onMounted } from 'vue'
|
||||||
import { reactive } from 'vue'
|
import { reactive } from 'vue'
|
||||||
import DatePicker from '@/components/form/datePicker/index.vue'
|
import DatePicker from '@/components/form/datePicker/index.vue'
|
||||||
import { getDeviceDataTrend } from '@/api/cs-harmonic-boot/datatrend'
|
import { getDeviceDataTrend } from '@/api/cs-harmonic-boot/datatrend'
|
||||||
import MyEchart from '@/components/echarts/MyEchart.vue'
|
import MyEchart from '@/components/echarts/MyEchart.vue'
|
||||||
import { install$5 } from 'echarts/types/dist/shared'
|
|
||||||
|
interface Props {
|
||||||
|
detail: anyObj
|
||||||
|
}
|
||||||
|
|
||||||
|
const props = withDefaults(defineProps<Props>(), {
|
||||||
|
detail: () => {
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
})
|
||||||
const datePickerRef = ref()
|
const datePickerRef = ref()
|
||||||
const form: any = reactive({
|
const form: any = reactive({
|
||||||
code: '',
|
code: '',
|
||||||
@@ -33,26 +51,19 @@ const form: any = reactive({
|
|||||||
type: 0
|
type: 0
|
||||||
})
|
})
|
||||||
const echartsData = ref<any>(null)
|
const echartsData = ref<any>(null)
|
||||||
const popupData = ref<any>(null)
|
|
||||||
const dialogVisible = ref(false)
|
const dialogVisible = ref(false)
|
||||||
const loading = ref(true)
|
const loading = ref(true)
|
||||||
const title = ref('')
|
onMounted(() => {
|
||||||
const open = (text: string, data?: anyObj) => {
|
init()
|
||||||
title.value = text
|
})
|
||||||
popupData.value = data
|
|
||||||
dialogVisible.value = true
|
|
||||||
nextTick(() => {
|
|
||||||
init()
|
|
||||||
})
|
|
||||||
}
|
|
||||||
const init = () => {
|
const init = () => {
|
||||||
echartsData.value = null
|
echartsData.value = null
|
||||||
loading.value = true
|
loading.value = true
|
||||||
getDeviceDataTrend({
|
getDeviceDataTrend({
|
||||||
endTime: datePickerRef.value.timeValue[1],
|
endTime: datePickerRef.value.timeValue[1],
|
||||||
lineId: popupData.value.lineId,
|
lineId: props.detail.lineId,
|
||||||
startTime: datePickerRef.value.timeValue[0],
|
startTime: datePickerRef.value.timeValue[0],
|
||||||
statisticalParams: popupData.value.children
|
statisticalParams: props.detail.children
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
if (res.data.length && res.data[0].length) {
|
if (res.data.length && res.data[0].length) {
|
||||||
let arr: any[] = []
|
let arr: any[] = []
|
||||||
@@ -135,11 +146,9 @@ const init = () => {
|
|||||||
defineExpose({ open })
|
defineExpose({ open })
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.control-popup {
|
.device-control-detail{
|
||||||
.el-dialog__body {
|
padding-bottom: 10px;
|
||||||
padding-bottom: 20px;
|
display: flex;
|
||||||
display: flex;
|
flex-direction: column;
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -1,5 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="default-main device-control" :style="{ height: pageHeight.height }" v-loading="loading">
|
<div
|
||||||
|
class="default-main device-control"
|
||||||
|
:style="{ height: pageHeight.height }"
|
||||||
|
v-loading="loading"
|
||||||
|
style="position: relative"
|
||||||
|
>
|
||||||
<PointTree @node-click="nodeClick" @init="nodeClick"></PointTree>
|
<PointTree @node-click="nodeClick" @init="nodeClick"></PointTree>
|
||||||
<div class="device-control-right" v-if="deviceData">
|
<div class="device-control-right" v-if="deviceData">
|
||||||
<el-descriptions title="设备基本信息" class="mb10" :column="3" border>
|
<el-descriptions title="设备基本信息" class="mb10" :column="3" border>
|
||||||
@@ -128,16 +133,16 @@
|
|||||||
layout="total, sizes, prev, pager, next, jumper"
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
:total="formInline.total"
|
:total="formInline.total"
|
||||||
></el-pagination>
|
></el-pagination>
|
||||||
<div v-else style="height: 42px;"></div>
|
<div v-else style="height: 42px"></div>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
<el-empty v-else description="请选择设备" class="device-control-right" />
|
<el-empty v-else description="请选择设备" class="device-control-right" />
|
||||||
<Popup ref="popupRef" />
|
<Detail ref="detailRef" :detail="detail" @close="detail = null" v-if="detail"></Detail>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import Popup from './popup.vue'
|
import Detail from './detail.vue'
|
||||||
import PointTree from '@/components/tree/govern/pointTree.vue'
|
import PointTree from '@/components/tree/govern/pointTree.vue'
|
||||||
import { mainHeight } from '@/utils/layout'
|
import { mainHeight } from '@/utils/layout'
|
||||||
import { queryByCode, queryByid, queryCsDictTree } from '@/api/system-boot/dictTree'
|
import { queryByCode, queryByid, queryCsDictTree } from '@/api/system-boot/dictTree'
|
||||||
@@ -151,7 +156,6 @@ import DatePicker from '@/components/form/datePicker/index.vue'
|
|||||||
defineOptions({
|
defineOptions({
|
||||||
name: 'govern/device/control'
|
name: 'govern/device/control'
|
||||||
})
|
})
|
||||||
const popupRef = ref()
|
|
||||||
const pageHeight = mainHeight(20)
|
const pageHeight = mainHeight(20)
|
||||||
const loading = ref(true)
|
const loading = ref(true)
|
||||||
const tableLoading = ref(false)
|
const tableLoading = ref(false)
|
||||||
@@ -174,11 +178,12 @@ const formInline = reactive({
|
|||||||
id: '',
|
id: '',
|
||||||
lineId: ''
|
lineId: ''
|
||||||
})
|
})
|
||||||
|
const detail = ref<any>(null)
|
||||||
const getDeviceDataTrend = (e: any) => {
|
const getDeviceDataTrend = (e: any) => {
|
||||||
popupRef.value.open(e.name, {
|
detail.value = {
|
||||||
...e,
|
lineId: formInline.lineId,
|
||||||
lineId: formInline.lineId
|
...e
|
||||||
})
|
}
|
||||||
}
|
}
|
||||||
const pageChange = (e: number) => {
|
const pageChange = (e: number) => {
|
||||||
formInline.pageNum = e
|
formInline.pageNum = e
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="default-main">
|
<div class="default-main">
|
||||||
<div class="custom-table-header">
|
<div class="custom-table-header">
|
||||||
<div style="flex: 1; font-weight: 700">角色推荐码</div>
|
<div class="title">角色推荐码</div>
|
||||||
<el-button :icon="Refresh" type="primary" @click="refresh">刷新推荐码</el-button>
|
<el-button :icon="Refresh" type="primary" @click="refresh">刷新推荐码</el-button>
|
||||||
</div>
|
</div>
|
||||||
<Table ref="tableRef" />
|
<Table ref="tableRef" />
|
||||||
|
|||||||
@@ -1,12 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="dictiontary-list-detail">
|
<div class="dictiontary-list-detail child-router">
|
||||||
<TableHeader>
|
<TableHeader>
|
||||||
<template #select>
|
<template #select>
|
||||||
<el-page-header @back="$emit('close')" style="display: flex; align-items: center; height: 32px">
|
<el-form-item label="">
|
||||||
<template #content>
|
<el-page-header @back="$emit('close')">
|
||||||
<span class="text-large font-600 mr-3">{{ props.detail.name }}详情信息</span>
|
<template #content>
|
||||||
</template>
|
<span class="text-large font-600 mr-3">{{ props.detail.name }}详情信息</span>
|
||||||
</el-page-header>
|
</template>
|
||||||
|
</el-page-header>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="过滤筛选">
|
<el-form-item label="过滤筛选">
|
||||||
<el-input
|
<el-input
|
||||||
style="width: 240px"
|
style="width: 240px"
|
||||||
@@ -149,13 +151,3 @@ const add = () => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
|
||||||
.dictiontary-list-detail {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
background: #fff;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class='default-main'>
|
<div class='default-main'>
|
||||||
<div class='custom-table-header'>
|
<div class='custom-table-header'>
|
||||||
<div style='flex: 1; font-weight: 700'>字典树列表</div>
|
<div class="title">字典树列表</div>
|
||||||
<el-button :icon='Plus' type='primary' @click='addMenu'>新增字典类型</el-button>
|
<el-button :icon='Plus' type='primary' @click='addMenu'>新增字典类型</el-button>
|
||||||
</div>
|
</div>
|
||||||
<Table ref='tableRef' />
|
<Table ref='tableRef' />
|
||||||
|
|||||||
Reference in New Issue
Block a user