From d1119b7829babbb2b0d6c5e38fa11337b7b4013e Mon Sep 17 00:00:00 2001
From: 23688nl <329261568@qq.com>
Date: Fri, 21 Jan 2022 11:44:28 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=20=E7=9B=91=E6=8E=A7?=
=?UTF-8?q?=E5=A4=A7=E5=B1=8F=20V3;=20=E8=AE=BE=E5=A4=87=E6=89=B9=E6=AC=A1?=
=?UTF-8?q?=E5=8F=B7;=20=E7=A1=AC=E4=BB=B6=E6=95=B0=E6=8D=AE=E5=BA=93;=20?=
=?UTF-8?q?=E4=B8=AA=E6=80=A7=E8=87=AA=E5=AE=9A=E4=B9=89=E4=B8=BB=E4=BD=93?=
=?UTF-8?q?1=20=E7=AD=89=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
public/index.html | 2 +-
src/api/iot/batch.js | 53 ++
src/api/iot/library.js | 61 ++
src/assets/icons/svg/A_gjclmune.svg | 1 +
src/assets/icons/svg/A_gjshmenu.svg | 1 +
src/assets/images/big/v3/bg.jpg | Bin 0 -> 69437 bytes
src/assets/images/big/v3/boxgao-b.png | Bin 0 -> 4866 bytes
src/assets/images/big/v3/boxgao-c.png | Bin 0 -> 1190 bytes
src/assets/images/big/v3/boxgao-t.png | Bin 0 -> 9587 bytes
src/assets/images/big/v3/boxleft-bottom.png | Bin 0 -> 4024 bytes
src/assets/images/big/v3/boxleft-center.png | Bin 0 -> 1176 bytes
src/assets/images/big/v3/boxleft-top.png | Bin 0 -> 8143 bytes
src/assets/images/big/v3/boxmap-b.png | Bin 0 -> 3378 bytes
src/assets/images/big/v3/boxmap-c.png | Bin 0 -> 1183 bytes
src/assets/images/big/v3/boxmap-t.png | Bin 0 -> 3365 bytes
src/assets/images/big/v3/btnG.png | Bin 0 -> 3158 bytes
src/assets/images/big/v3/btnR.png | Bin 0 -> 3332 bytes
src/assets/images/big/v3/censusTempA.png | Bin 0 -> 10496 bytes
src/assets/images/big/v3/iconG.png | Bin 0 -> 3132 bytes
src/assets/images/big/v3/iconH.png | Bin 0 -> 2477 bytes
src/assets/images/big/v3/iconR.png | Bin 0 -> 3134 bytes
src/assets/styles/sidebar.scss | 16 +-
src/assets/styles/variables.scss | 14 +-
.../components/bigscLocation/indexV_3.vue | 415 +++++++++++
src/components/DialogTemplate/index.vue | 55 ++
src/layout/components/Settings/index.vue | 15 +-
src/layout/components/Sidebar/Logo.vue | 30 +-
src/layout/components/Sidebar/index.vue | 117 +--
src/layout/index.vue | 18 +-
src/router/index.js | 16 +-
src/settings.js | 4 +-
src/views/bigScreen/v3/index.vue | 301 ++++++++
.../bigScreen/v3/profile/alarmTableList.vue | 379 ++++++++++
.../bigScreen/v3/profile/censusTempA.vue | 73 ++
.../bigScreen/v3/profile/deviceProportion.vue | 90 +++
src/views/bigScreen/v3/profile/echartsBar.vue | 149 ++++
.../bigScreen/v3/profile/echartsGauge.vue | 128 ++++
.../bigScreen/v3/profile/echartsLineT.vue | 66 ++
src/views/bigScreen/v3/profile/echartsPie.vue | 122 ++++
.../bigScreen/v3/profile/echartsRadar.vue | 129 ++++
src/views/bigScreen/v3/profile/head.vue | 224 ++++++
src/views/bigScreen/v3/profile/mapWrap.vue | 310 ++++++++
src/views/bigScreen/v3/profile/navTemp.vue | 150 ++++
.../bigScreen/v3/profile/personalCenter.vue | 208 ++++++
src/views/bigScreen/v3/profile/todayRatio.vue | 167 +++++
src/views/bigScreen/v3/profile/trend.vue | 185 +++++
.../bigScreen/v3/profile/typeDistribution.vue | 247 +++++++
.../bigScreen/v3/profile/wraringInfo.vue | 183 +++++
src/views/iot/batch/index.vue | 612 ++++++++++++++++
src/views/iot/library/index.vue | 681 ++++++++++++++++++
src/views/iot/vendor/index.vue | 186 +++--
src/views/profile/DeviceDetailsView/info.vue | 16 +
52 files changed, 5304 insertions(+), 120 deletions(-)
create mode 100644 src/api/iot/batch.js
create mode 100644 src/api/iot/library.js
create mode 100644 src/assets/icons/svg/A_gjclmune.svg
create mode 100644 src/assets/icons/svg/A_gjshmenu.svg
create mode 100644 src/assets/images/big/v3/bg.jpg
create mode 100644 src/assets/images/big/v3/boxgao-b.png
create mode 100644 src/assets/images/big/v3/boxgao-c.png
create mode 100644 src/assets/images/big/v3/boxgao-t.png
create mode 100644 src/assets/images/big/v3/boxleft-bottom.png
create mode 100644 src/assets/images/big/v3/boxleft-center.png
create mode 100644 src/assets/images/big/v3/boxleft-top.png
create mode 100644 src/assets/images/big/v3/boxmap-b.png
create mode 100644 src/assets/images/big/v3/boxmap-c.png
create mode 100644 src/assets/images/big/v3/boxmap-t.png
create mode 100644 src/assets/images/big/v3/btnG.png
create mode 100644 src/assets/images/big/v3/btnR.png
create mode 100644 src/assets/images/big/v3/censusTempA.png
create mode 100644 src/assets/images/big/v3/iconG.png
create mode 100644 src/assets/images/big/v3/iconH.png
create mode 100644 src/assets/images/big/v3/iconR.png
create mode 100644 src/components/Amap/components/bigscLocation/indexV_3.vue
create mode 100644 src/components/DialogTemplate/index.vue
create mode 100644 src/views/bigScreen/v3/index.vue
create mode 100644 src/views/bigScreen/v3/profile/alarmTableList.vue
create mode 100644 src/views/bigScreen/v3/profile/censusTempA.vue
create mode 100644 src/views/bigScreen/v3/profile/deviceProportion.vue
create mode 100644 src/views/bigScreen/v3/profile/echartsBar.vue
create mode 100644 src/views/bigScreen/v3/profile/echartsGauge.vue
create mode 100644 src/views/bigScreen/v3/profile/echartsLineT.vue
create mode 100644 src/views/bigScreen/v3/profile/echartsPie.vue
create mode 100644 src/views/bigScreen/v3/profile/echartsRadar.vue
create mode 100644 src/views/bigScreen/v3/profile/head.vue
create mode 100644 src/views/bigScreen/v3/profile/mapWrap.vue
create mode 100644 src/views/bigScreen/v3/profile/navTemp.vue
create mode 100644 src/views/bigScreen/v3/profile/personalCenter.vue
create mode 100644 src/views/bigScreen/v3/profile/todayRatio.vue
create mode 100644 src/views/bigScreen/v3/profile/trend.vue
create mode 100644 src/views/bigScreen/v3/profile/typeDistribution.vue
create mode 100644 src/views/bigScreen/v3/profile/wraringInfo.vue
create mode 100644 src/views/iot/batch/index.vue
create mode 100644 src/views/iot/library/index.vue
diff --git a/public/index.html b/public/index.html
index 587ad560..6362b74b 100644
--- a/public/index.html
+++ b/public/index.html
@@ -8,7 +8,7 @@
-
+
diff --git a/src/api/iot/batch.js b/src/api/iot/batch.js
new file mode 100644
index 00000000..ae651018
--- /dev/null
+++ b/src/api/iot/batch.js
@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询设备批次号列表
+export function listBatch(query) {
+ return request({
+ url: '/iot/batch/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询设备批次号详细
+export function getBatch(batchId) {
+ return request({
+ url: '/iot/batch/' + batchId,
+ method: 'get'
+ })
+}
+
+// 新增设备批次号
+export function addBatch(data) {
+ return request({
+ url: '/iot/batch',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改设备批次号
+export function updateBatch(data) {
+ return request({
+ url: '/iot/batch',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除设备批次号
+export function delBatch(batchId) {
+ return request({
+ url: '/iot/batch/' + batchId,
+ method: 'delete'
+ })
+}
+
+// 导出设备批次号
+export function exportBatch(query) {
+ return request({
+ url: '/iot/batch/export',
+ method: 'get',
+ params: query
+ })
+}
diff --git a/src/api/iot/library.js b/src/api/iot/library.js
new file mode 100644
index 00000000..e872af3f
--- /dev/null
+++ b/src/api/iot/library.js
@@ -0,0 +1,61 @@
+import request from '@/utils/request'
+
+// 查询硬件数据库列表
+export function listLibrary(query) {
+ return request({
+ url: '/iot/library/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询硬件数据库详细
+export function getLibrary(devId) {
+ return request({
+ url: '/iot/library/' + devId,
+ method: 'get'
+ })
+}
+
+// 新增硬件数据库
+export function addLibrary(data) {
+ return request({
+ url: '/iot/library',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改硬件数据库
+export function updateLibrary(data) {
+ return request({
+ url: '/iot/library',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除硬件数据库
+export function delLibrary(devId) {
+ return request({
+ url: '/iot/library/' + devId,
+ method: 'delete'
+ })
+}
+
+// 导出硬件数据库
+export function exportLibrary(query) {
+ return request({
+ url: '/iot/library/export',
+ method: 'get',
+ params: query
+ })
+}
+
+// 下载用户导入模板
+export function importTemplate() {
+ return request({
+ url: '/iot/library/importTemplate',
+ method: 'get'
+ })
+}
diff --git a/src/assets/icons/svg/A_gjclmune.svg b/src/assets/icons/svg/A_gjclmune.svg
new file mode 100644
index 00000000..d384f296
--- /dev/null
+++ b/src/assets/icons/svg/A_gjclmune.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/svg/A_gjshmenu.svg b/src/assets/icons/svg/A_gjshmenu.svg
new file mode 100644
index 00000000..2c259d6e
--- /dev/null
+++ b/src/assets/icons/svg/A_gjshmenu.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/images/big/v3/bg.jpg b/src/assets/images/big/v3/bg.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..86394f62bd9964fa3efaf48a744e304917fc6ed0
GIT binary patch
literal 69437
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