diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/router/index.js b/src/router/index.js
index 44cba3b..48cffff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -8,6 +8,10 @@
/* Layout */
import Layout from '@/layout/Layout'
+import { overviewRouters } from './modules/overview'
+import { orderRouters } from './modules/order'
+import { bridgeRouters } from './modules/bridge'
+import { statisticsRouters } from './modules/statistics'
import { systemRouters } from './modules/system'
import { exampleRouters } from './modules/example'
@@ -70,6 +74,10 @@
// 异步挂载路由
// 动态需要根据权限加载的路由表
export const asyncRouterMap = [
+ ...overviewRouters,
+ ...orderRouters,
+ ...bridgeRouters,
+ ...statisticsRouters,
...exampleRouters,
...systemRouters,
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/router/index.js b/src/router/index.js
index 44cba3b..48cffff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -8,6 +8,10 @@
/* Layout */
import Layout from '@/layout/Layout'
+import { overviewRouters } from './modules/overview'
+import { orderRouters } from './modules/order'
+import { bridgeRouters } from './modules/bridge'
+import { statisticsRouters } from './modules/statistics'
import { systemRouters } from './modules/system'
import { exampleRouters } from './modules/example'
@@ -70,6 +74,10 @@
// 异步挂载路由
// 动态需要根据权限加载的路由表
export const asyncRouterMap = [
+ ...overviewRouters,
+ ...orderRouters,
+ ...bridgeRouters,
+ ...statisticsRouters,
...exampleRouters,
...systemRouters,
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/router/modules/bridge.js b/src/router/modules/bridge.js
new file mode 100644
index 0000000..05a4748
--- /dev/null
+++ b/src/router/modules/bridge.js
@@ -0,0 +1,36 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const bridgeRouters = [
+ {
+ path: 'bridge',
+ component: Layout,
+ redirect: '/yongSheng',
+ name: 'Bridge',
+ meta: {
+ title: '桥梁管理',
+ icon: 'icon-config', // 图标
+ permission: ['/bridgeManage']// 权限名称
+ },
+ children: [
+ {
+ path: '/yongSheng',
+ name: 'YongSheng',
+ component: () => import('@/views/bridge/yongSheng'),
+ meta: { title: '永胜桥', icon: 'function', permission: ['/yongSheng'] }
+ },
+ {
+ path: '/huangZhou',
+ name: 'HuangZhou',
+ component: () => import('@/views/bridge/huangZhou'),
+ meta: { title: '黄洲桥', icon: 'function', permission: ['/huangZhou'] }
+ },
+ {
+ path: '/guangMing',
+ name: 'GuangMing',
+ component: () => import('@/views/bridge/guangMing'),
+ meta: { title: '光明桥', icon: 'function', permission: ['/guangMing'] }
+ }
+ ]
+ }
+]
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/router/index.js b/src/router/index.js
index 44cba3b..48cffff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -8,6 +8,10 @@
/* Layout */
import Layout from '@/layout/Layout'
+import { overviewRouters } from './modules/overview'
+import { orderRouters } from './modules/order'
+import { bridgeRouters } from './modules/bridge'
+import { statisticsRouters } from './modules/statistics'
import { systemRouters } from './modules/system'
import { exampleRouters } from './modules/example'
@@ -70,6 +74,10 @@
// 异步挂载路由
// 动态需要根据权限加载的路由表
export const asyncRouterMap = [
+ ...overviewRouters,
+ ...orderRouters,
+ ...bridgeRouters,
+ ...statisticsRouters,
...exampleRouters,
...systemRouters,
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/router/modules/bridge.js b/src/router/modules/bridge.js
new file mode 100644
index 0000000..05a4748
--- /dev/null
+++ b/src/router/modules/bridge.js
@@ -0,0 +1,36 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const bridgeRouters = [
+ {
+ path: 'bridge',
+ component: Layout,
+ redirect: '/yongSheng',
+ name: 'Bridge',
+ meta: {
+ title: '桥梁管理',
+ icon: 'icon-config', // 图标
+ permission: ['/bridgeManage']// 权限名称
+ },
+ children: [
+ {
+ path: '/yongSheng',
+ name: 'YongSheng',
+ component: () => import('@/views/bridge/yongSheng'),
+ meta: { title: '永胜桥', icon: 'function', permission: ['/yongSheng'] }
+ },
+ {
+ path: '/huangZhou',
+ name: 'HuangZhou',
+ component: () => import('@/views/bridge/huangZhou'),
+ meta: { title: '黄洲桥', icon: 'function', permission: ['/huangZhou'] }
+ },
+ {
+ path: '/guangMing',
+ name: 'GuangMing',
+ component: () => import('@/views/bridge/guangMing'),
+ meta: { title: '光明桥', icon: 'function', permission: ['/guangMing'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/order.js b/src/router/modules/order.js
new file mode 100644
index 0000000..fdb43c5
--- /dev/null
+++ b/src/router/modules/order.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const orderRouters = [
+ {
+ path: 'order',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Order',
+ meta: {
+ title: '工单管理',
+ icon: 'icon-config', // 图标
+ permission: ['/order']// 权限名称
+ },
+ children: [
+ {
+ path: '/order',
+ name: 'Order',
+ component: () => import('@/views/order/listMaintainRecords'),
+ meta: { title: '养护记录', icon: 'dashboard', permission: ['/order'] }
+ }
+ ]
+ }]
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/router/index.js b/src/router/index.js
index 44cba3b..48cffff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -8,6 +8,10 @@
/* Layout */
import Layout from '@/layout/Layout'
+import { overviewRouters } from './modules/overview'
+import { orderRouters } from './modules/order'
+import { bridgeRouters } from './modules/bridge'
+import { statisticsRouters } from './modules/statistics'
import { systemRouters } from './modules/system'
import { exampleRouters } from './modules/example'
@@ -70,6 +74,10 @@
// 异步挂载路由
// 动态需要根据权限加载的路由表
export const asyncRouterMap = [
+ ...overviewRouters,
+ ...orderRouters,
+ ...bridgeRouters,
+ ...statisticsRouters,
...exampleRouters,
...systemRouters,
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/router/modules/bridge.js b/src/router/modules/bridge.js
new file mode 100644
index 0000000..05a4748
--- /dev/null
+++ b/src/router/modules/bridge.js
@@ -0,0 +1,36 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const bridgeRouters = [
+ {
+ path: 'bridge',
+ component: Layout,
+ redirect: '/yongSheng',
+ name: 'Bridge',
+ meta: {
+ title: '桥梁管理',
+ icon: 'icon-config', // 图标
+ permission: ['/bridgeManage']// 权限名称
+ },
+ children: [
+ {
+ path: '/yongSheng',
+ name: 'YongSheng',
+ component: () => import('@/views/bridge/yongSheng'),
+ meta: { title: '永胜桥', icon: 'function', permission: ['/yongSheng'] }
+ },
+ {
+ path: '/huangZhou',
+ name: 'HuangZhou',
+ component: () => import('@/views/bridge/huangZhou'),
+ meta: { title: '黄洲桥', icon: 'function', permission: ['/huangZhou'] }
+ },
+ {
+ path: '/guangMing',
+ name: 'GuangMing',
+ component: () => import('@/views/bridge/guangMing'),
+ meta: { title: '光明桥', icon: 'function', permission: ['/guangMing'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/order.js b/src/router/modules/order.js
new file mode 100644
index 0000000..fdb43c5
--- /dev/null
+++ b/src/router/modules/order.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const orderRouters = [
+ {
+ path: 'order',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Order',
+ meta: {
+ title: '工单管理',
+ icon: 'icon-config', // 图标
+ permission: ['/order']// 权限名称
+ },
+ children: [
+ {
+ path: '/order',
+ name: 'Order',
+ component: () => import('@/views/order/listMaintainRecords'),
+ meta: { title: '养护记录', icon: 'dashboard', permission: ['/order'] }
+ }
+ ]
+ }]
diff --git a/src/router/modules/overview.js b/src/router/modules/overview.js
new file mode 100644
index 0000000..5879990
--- /dev/null
+++ b/src/router/modules/overview.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const overviewRouters = [
+ {
+ path: 'overviewBridge',
+ component: Layout,
+ redirect: '/overviewBridge',
+ name: 'OverviewBridge',
+ meta: {
+ title: '运行总览',
+ icon: 'icon-overview', // 图标
+ permission: ['/overviewBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/overviewBridge',
+ name: 'OverviewBridge',
+ component: () => import('@/views/overview/overview.vue'),
+ meta: { title: '运行总览', icon: 'function', permission: ['/overviewBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/router/index.js b/src/router/index.js
index 44cba3b..48cffff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -8,6 +8,10 @@
/* Layout */
import Layout from '@/layout/Layout'
+import { overviewRouters } from './modules/overview'
+import { orderRouters } from './modules/order'
+import { bridgeRouters } from './modules/bridge'
+import { statisticsRouters } from './modules/statistics'
import { systemRouters } from './modules/system'
import { exampleRouters } from './modules/example'
@@ -70,6 +74,10 @@
// 异步挂载路由
// 动态需要根据权限加载的路由表
export const asyncRouterMap = [
+ ...overviewRouters,
+ ...orderRouters,
+ ...bridgeRouters,
+ ...statisticsRouters,
...exampleRouters,
...systemRouters,
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/router/modules/bridge.js b/src/router/modules/bridge.js
new file mode 100644
index 0000000..05a4748
--- /dev/null
+++ b/src/router/modules/bridge.js
@@ -0,0 +1,36 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const bridgeRouters = [
+ {
+ path: 'bridge',
+ component: Layout,
+ redirect: '/yongSheng',
+ name: 'Bridge',
+ meta: {
+ title: '桥梁管理',
+ icon: 'icon-config', // 图标
+ permission: ['/bridgeManage']// 权限名称
+ },
+ children: [
+ {
+ path: '/yongSheng',
+ name: 'YongSheng',
+ component: () => import('@/views/bridge/yongSheng'),
+ meta: { title: '永胜桥', icon: 'function', permission: ['/yongSheng'] }
+ },
+ {
+ path: '/huangZhou',
+ name: 'HuangZhou',
+ component: () => import('@/views/bridge/huangZhou'),
+ meta: { title: '黄洲桥', icon: 'function', permission: ['/huangZhou'] }
+ },
+ {
+ path: '/guangMing',
+ name: 'GuangMing',
+ component: () => import('@/views/bridge/guangMing'),
+ meta: { title: '光明桥', icon: 'function', permission: ['/guangMing'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/order.js b/src/router/modules/order.js
new file mode 100644
index 0000000..fdb43c5
--- /dev/null
+++ b/src/router/modules/order.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const orderRouters = [
+ {
+ path: 'order',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Order',
+ meta: {
+ title: '工单管理',
+ icon: 'icon-config', // 图标
+ permission: ['/order']// 权限名称
+ },
+ children: [
+ {
+ path: '/order',
+ name: 'Order',
+ component: () => import('@/views/order/listMaintainRecords'),
+ meta: { title: '养护记录', icon: 'dashboard', permission: ['/order'] }
+ }
+ ]
+ }]
diff --git a/src/router/modules/overview.js b/src/router/modules/overview.js
new file mode 100644
index 0000000..5879990
--- /dev/null
+++ b/src/router/modules/overview.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const overviewRouters = [
+ {
+ path: 'overviewBridge',
+ component: Layout,
+ redirect: '/overviewBridge',
+ name: 'OverviewBridge',
+ meta: {
+ title: '运行总览',
+ icon: 'icon-overview', // 图标
+ permission: ['/overviewBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/overviewBridge',
+ name: 'OverviewBridge',
+ component: () => import('@/views/overview/overview.vue'),
+ meta: { title: '运行总览', icon: 'function', permission: ['/overviewBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/rule.js b/src/router/modules/rule.js
new file mode 100644
index 0000000..50d0992
--- /dev/null
+++ b/src/router/modules/rule.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+export const ruleRouters = [
+ {
+ path: 'rule',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Rule',
+ meta: {
+ title: '规章制度',
+ icon: 'icon-config', // 图标
+ permission: ['/rule']// 权限名称
+ },
+ children: [
+ {
+ path: '/rule',
+ name: 'Rule',
+ component: () => import('@/views/rule/listRule'),
+ meta: { title: '规章制度', icon: 'function', permission: ['/rule'] }
+ }
+ ]
+ }
+]
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/router/index.js b/src/router/index.js
index 44cba3b..48cffff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -8,6 +8,10 @@
/* Layout */
import Layout from '@/layout/Layout'
+import { overviewRouters } from './modules/overview'
+import { orderRouters } from './modules/order'
+import { bridgeRouters } from './modules/bridge'
+import { statisticsRouters } from './modules/statistics'
import { systemRouters } from './modules/system'
import { exampleRouters } from './modules/example'
@@ -70,6 +74,10 @@
// 异步挂载路由
// 动态需要根据权限加载的路由表
export const asyncRouterMap = [
+ ...overviewRouters,
+ ...orderRouters,
+ ...bridgeRouters,
+ ...statisticsRouters,
...exampleRouters,
...systemRouters,
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/router/modules/bridge.js b/src/router/modules/bridge.js
new file mode 100644
index 0000000..05a4748
--- /dev/null
+++ b/src/router/modules/bridge.js
@@ -0,0 +1,36 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const bridgeRouters = [
+ {
+ path: 'bridge',
+ component: Layout,
+ redirect: '/yongSheng',
+ name: 'Bridge',
+ meta: {
+ title: '桥梁管理',
+ icon: 'icon-config', // 图标
+ permission: ['/bridgeManage']// 权限名称
+ },
+ children: [
+ {
+ path: '/yongSheng',
+ name: 'YongSheng',
+ component: () => import('@/views/bridge/yongSheng'),
+ meta: { title: '永胜桥', icon: 'function', permission: ['/yongSheng'] }
+ },
+ {
+ path: '/huangZhou',
+ name: 'HuangZhou',
+ component: () => import('@/views/bridge/huangZhou'),
+ meta: { title: '黄洲桥', icon: 'function', permission: ['/huangZhou'] }
+ },
+ {
+ path: '/guangMing',
+ name: 'GuangMing',
+ component: () => import('@/views/bridge/guangMing'),
+ meta: { title: '光明桥', icon: 'function', permission: ['/guangMing'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/order.js b/src/router/modules/order.js
new file mode 100644
index 0000000..fdb43c5
--- /dev/null
+++ b/src/router/modules/order.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const orderRouters = [
+ {
+ path: 'order',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Order',
+ meta: {
+ title: '工单管理',
+ icon: 'icon-config', // 图标
+ permission: ['/order']// 权限名称
+ },
+ children: [
+ {
+ path: '/order',
+ name: 'Order',
+ component: () => import('@/views/order/listMaintainRecords'),
+ meta: { title: '养护记录', icon: 'dashboard', permission: ['/order'] }
+ }
+ ]
+ }]
diff --git a/src/router/modules/overview.js b/src/router/modules/overview.js
new file mode 100644
index 0000000..5879990
--- /dev/null
+++ b/src/router/modules/overview.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const overviewRouters = [
+ {
+ path: 'overviewBridge',
+ component: Layout,
+ redirect: '/overviewBridge',
+ name: 'OverviewBridge',
+ meta: {
+ title: '运行总览',
+ icon: 'icon-overview', // 图标
+ permission: ['/overviewBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/overviewBridge',
+ name: 'OverviewBridge',
+ component: () => import('@/views/overview/overview.vue'),
+ meta: { title: '运行总览', icon: 'function', permission: ['/overviewBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/rule.js b/src/router/modules/rule.js
new file mode 100644
index 0000000..50d0992
--- /dev/null
+++ b/src/router/modules/rule.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+export const ruleRouters = [
+ {
+ path: 'rule',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Rule',
+ meta: {
+ title: '规章制度',
+ icon: 'icon-config', // 图标
+ permission: ['/rule']// 权限名称
+ },
+ children: [
+ {
+ path: '/rule',
+ name: 'Rule',
+ component: () => import('@/views/rule/listRule'),
+ meta: { title: '规章制度', icon: 'function', permission: ['/rule'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/statistics.js b/src/router/modules/statistics.js
new file mode 100644
index 0000000..ce9315a
--- /dev/null
+++ b/src/router/modules/statistics.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const statisticsRouters = [
+ {
+ path: 'statisticsBridge',
+ component: Layout,
+ redirect: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ meta: {
+ title: '养护统计',
+ icon: 'icon-config', // 图标
+ permission: ['/statisticsBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ component: () => import('@/views/statistics/maintainStatistics'),
+ meta: { title: '养护统计', icon: 'function', permission: ['/statisticsBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/router/index.js b/src/router/index.js
index 44cba3b..48cffff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -8,6 +8,10 @@
/* Layout */
import Layout from '@/layout/Layout'
+import { overviewRouters } from './modules/overview'
+import { orderRouters } from './modules/order'
+import { bridgeRouters } from './modules/bridge'
+import { statisticsRouters } from './modules/statistics'
import { systemRouters } from './modules/system'
import { exampleRouters } from './modules/example'
@@ -70,6 +74,10 @@
// 异步挂载路由
// 动态需要根据权限加载的路由表
export const asyncRouterMap = [
+ ...overviewRouters,
+ ...orderRouters,
+ ...bridgeRouters,
+ ...statisticsRouters,
...exampleRouters,
...systemRouters,
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/router/modules/bridge.js b/src/router/modules/bridge.js
new file mode 100644
index 0000000..05a4748
--- /dev/null
+++ b/src/router/modules/bridge.js
@@ -0,0 +1,36 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const bridgeRouters = [
+ {
+ path: 'bridge',
+ component: Layout,
+ redirect: '/yongSheng',
+ name: 'Bridge',
+ meta: {
+ title: '桥梁管理',
+ icon: 'icon-config', // 图标
+ permission: ['/bridgeManage']// 权限名称
+ },
+ children: [
+ {
+ path: '/yongSheng',
+ name: 'YongSheng',
+ component: () => import('@/views/bridge/yongSheng'),
+ meta: { title: '永胜桥', icon: 'function', permission: ['/yongSheng'] }
+ },
+ {
+ path: '/huangZhou',
+ name: 'HuangZhou',
+ component: () => import('@/views/bridge/huangZhou'),
+ meta: { title: '黄洲桥', icon: 'function', permission: ['/huangZhou'] }
+ },
+ {
+ path: '/guangMing',
+ name: 'GuangMing',
+ component: () => import('@/views/bridge/guangMing'),
+ meta: { title: '光明桥', icon: 'function', permission: ['/guangMing'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/order.js b/src/router/modules/order.js
new file mode 100644
index 0000000..fdb43c5
--- /dev/null
+++ b/src/router/modules/order.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const orderRouters = [
+ {
+ path: 'order',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Order',
+ meta: {
+ title: '工单管理',
+ icon: 'icon-config', // 图标
+ permission: ['/order']// 权限名称
+ },
+ children: [
+ {
+ path: '/order',
+ name: 'Order',
+ component: () => import('@/views/order/listMaintainRecords'),
+ meta: { title: '养护记录', icon: 'dashboard', permission: ['/order'] }
+ }
+ ]
+ }]
diff --git a/src/router/modules/overview.js b/src/router/modules/overview.js
new file mode 100644
index 0000000..5879990
--- /dev/null
+++ b/src/router/modules/overview.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const overviewRouters = [
+ {
+ path: 'overviewBridge',
+ component: Layout,
+ redirect: '/overviewBridge',
+ name: 'OverviewBridge',
+ meta: {
+ title: '运行总览',
+ icon: 'icon-overview', // 图标
+ permission: ['/overviewBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/overviewBridge',
+ name: 'OverviewBridge',
+ component: () => import('@/views/overview/overview.vue'),
+ meta: { title: '运行总览', icon: 'function', permission: ['/overviewBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/rule.js b/src/router/modules/rule.js
new file mode 100644
index 0000000..50d0992
--- /dev/null
+++ b/src/router/modules/rule.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+export const ruleRouters = [
+ {
+ path: 'rule',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Rule',
+ meta: {
+ title: '规章制度',
+ icon: 'icon-config', // 图标
+ permission: ['/rule']// 权限名称
+ },
+ children: [
+ {
+ path: '/rule',
+ name: 'Rule',
+ component: () => import('@/views/rule/listRule'),
+ meta: { title: '规章制度', icon: 'function', permission: ['/rule'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/statistics.js b/src/router/modules/statistics.js
new file mode 100644
index 0000000..ce9315a
--- /dev/null
+++ b/src/router/modules/statistics.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const statisticsRouters = [
+ {
+ path: 'statisticsBridge',
+ component: Layout,
+ redirect: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ meta: {
+ title: '养护统计',
+ icon: 'icon-config', // 图标
+ permission: ['/statisticsBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ component: () => import('@/views/statistics/maintainStatistics'),
+ meta: { title: '养护统计', icon: 'function', permission: ['/statisticsBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/utils/request.js b/src/utils/request.js
index c88ea76..dc56e26 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -17,6 +17,13 @@
config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
console.log(config.headers['token'])
}
+ // 在接口增加时间戳
+ // if (config.method === 'get') {
+ config.params = {
+ _t: Date.parse(new Date()) / 1000,
+ ...config.params
+ }
+ // }
return config
},
error => {
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/router/index.js b/src/router/index.js
index 44cba3b..48cffff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -8,6 +8,10 @@
/* Layout */
import Layout from '@/layout/Layout'
+import { overviewRouters } from './modules/overview'
+import { orderRouters } from './modules/order'
+import { bridgeRouters } from './modules/bridge'
+import { statisticsRouters } from './modules/statistics'
import { systemRouters } from './modules/system'
import { exampleRouters } from './modules/example'
@@ -70,6 +74,10 @@
// 异步挂载路由
// 动态需要根据权限加载的路由表
export const asyncRouterMap = [
+ ...overviewRouters,
+ ...orderRouters,
+ ...bridgeRouters,
+ ...statisticsRouters,
...exampleRouters,
...systemRouters,
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/router/modules/bridge.js b/src/router/modules/bridge.js
new file mode 100644
index 0000000..05a4748
--- /dev/null
+++ b/src/router/modules/bridge.js
@@ -0,0 +1,36 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const bridgeRouters = [
+ {
+ path: 'bridge',
+ component: Layout,
+ redirect: '/yongSheng',
+ name: 'Bridge',
+ meta: {
+ title: '桥梁管理',
+ icon: 'icon-config', // 图标
+ permission: ['/bridgeManage']// 权限名称
+ },
+ children: [
+ {
+ path: '/yongSheng',
+ name: 'YongSheng',
+ component: () => import('@/views/bridge/yongSheng'),
+ meta: { title: '永胜桥', icon: 'function', permission: ['/yongSheng'] }
+ },
+ {
+ path: '/huangZhou',
+ name: 'HuangZhou',
+ component: () => import('@/views/bridge/huangZhou'),
+ meta: { title: '黄洲桥', icon: 'function', permission: ['/huangZhou'] }
+ },
+ {
+ path: '/guangMing',
+ name: 'GuangMing',
+ component: () => import('@/views/bridge/guangMing'),
+ meta: { title: '光明桥', icon: 'function', permission: ['/guangMing'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/order.js b/src/router/modules/order.js
new file mode 100644
index 0000000..fdb43c5
--- /dev/null
+++ b/src/router/modules/order.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const orderRouters = [
+ {
+ path: 'order',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Order',
+ meta: {
+ title: '工单管理',
+ icon: 'icon-config', // 图标
+ permission: ['/order']// 权限名称
+ },
+ children: [
+ {
+ path: '/order',
+ name: 'Order',
+ component: () => import('@/views/order/listMaintainRecords'),
+ meta: { title: '养护记录', icon: 'dashboard', permission: ['/order'] }
+ }
+ ]
+ }]
diff --git a/src/router/modules/overview.js b/src/router/modules/overview.js
new file mode 100644
index 0000000..5879990
--- /dev/null
+++ b/src/router/modules/overview.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const overviewRouters = [
+ {
+ path: 'overviewBridge',
+ component: Layout,
+ redirect: '/overviewBridge',
+ name: 'OverviewBridge',
+ meta: {
+ title: '运行总览',
+ icon: 'icon-overview', // 图标
+ permission: ['/overviewBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/overviewBridge',
+ name: 'OverviewBridge',
+ component: () => import('@/views/overview/overview.vue'),
+ meta: { title: '运行总览', icon: 'function', permission: ['/overviewBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/rule.js b/src/router/modules/rule.js
new file mode 100644
index 0000000..50d0992
--- /dev/null
+++ b/src/router/modules/rule.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+export const ruleRouters = [
+ {
+ path: 'rule',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Rule',
+ meta: {
+ title: '规章制度',
+ icon: 'icon-config', // 图标
+ permission: ['/rule']// 权限名称
+ },
+ children: [
+ {
+ path: '/rule',
+ name: 'Rule',
+ component: () => import('@/views/rule/listRule'),
+ meta: { title: '规章制度', icon: 'function', permission: ['/rule'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/statistics.js b/src/router/modules/statistics.js
new file mode 100644
index 0000000..ce9315a
--- /dev/null
+++ b/src/router/modules/statistics.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const statisticsRouters = [
+ {
+ path: 'statisticsBridge',
+ component: Layout,
+ redirect: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ meta: {
+ title: '养护统计',
+ icon: 'icon-config', // 图标
+ permission: ['/statisticsBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ component: () => import('@/views/statistics/maintainStatistics'),
+ meta: { title: '养护统计', icon: 'function', permission: ['/statisticsBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/utils/request.js b/src/utils/request.js
index c88ea76..dc56e26 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -17,6 +17,13 @@
config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
console.log(config.headers['token'])
}
+ // 在接口增加时间戳
+ // if (config.method === 'get') {
+ config.params = {
+ _t: Date.parse(new Date()) / 1000,
+ ...config.params
+ }
+ // }
return config
},
error => {
diff --git a/src/views/bridge/components/detail.vue b/src/views/bridge/components/detail.vue
new file mode 100644
index 0000000..96cf9f8
--- /dev/null
+++ b/src/views/bridge/components/detail.vue
@@ -0,0 +1,425 @@
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime.substr(0,10) }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime.substr(0,10) }}
+
+
+
+
+
+
+ 桥梁图片:
+ 无
+
+
+ 上传桥梁图片
+
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+ {{ bridgeForm.description }}
+
+
+
+
+
+ 保存
+ 取消
+
+
+
+
+
+
+
+
+
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/router/index.js b/src/router/index.js
index 44cba3b..48cffff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -8,6 +8,10 @@
/* Layout */
import Layout from '@/layout/Layout'
+import { overviewRouters } from './modules/overview'
+import { orderRouters } from './modules/order'
+import { bridgeRouters } from './modules/bridge'
+import { statisticsRouters } from './modules/statistics'
import { systemRouters } from './modules/system'
import { exampleRouters } from './modules/example'
@@ -70,6 +74,10 @@
// 异步挂载路由
// 动态需要根据权限加载的路由表
export const asyncRouterMap = [
+ ...overviewRouters,
+ ...orderRouters,
+ ...bridgeRouters,
+ ...statisticsRouters,
...exampleRouters,
...systemRouters,
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/router/modules/bridge.js b/src/router/modules/bridge.js
new file mode 100644
index 0000000..05a4748
--- /dev/null
+++ b/src/router/modules/bridge.js
@@ -0,0 +1,36 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const bridgeRouters = [
+ {
+ path: 'bridge',
+ component: Layout,
+ redirect: '/yongSheng',
+ name: 'Bridge',
+ meta: {
+ title: '桥梁管理',
+ icon: 'icon-config', // 图标
+ permission: ['/bridgeManage']// 权限名称
+ },
+ children: [
+ {
+ path: '/yongSheng',
+ name: 'YongSheng',
+ component: () => import('@/views/bridge/yongSheng'),
+ meta: { title: '永胜桥', icon: 'function', permission: ['/yongSheng'] }
+ },
+ {
+ path: '/huangZhou',
+ name: 'HuangZhou',
+ component: () => import('@/views/bridge/huangZhou'),
+ meta: { title: '黄洲桥', icon: 'function', permission: ['/huangZhou'] }
+ },
+ {
+ path: '/guangMing',
+ name: 'GuangMing',
+ component: () => import('@/views/bridge/guangMing'),
+ meta: { title: '光明桥', icon: 'function', permission: ['/guangMing'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/order.js b/src/router/modules/order.js
new file mode 100644
index 0000000..fdb43c5
--- /dev/null
+++ b/src/router/modules/order.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const orderRouters = [
+ {
+ path: 'order',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Order',
+ meta: {
+ title: '工单管理',
+ icon: 'icon-config', // 图标
+ permission: ['/order']// 权限名称
+ },
+ children: [
+ {
+ path: '/order',
+ name: 'Order',
+ component: () => import('@/views/order/listMaintainRecords'),
+ meta: { title: '养护记录', icon: 'dashboard', permission: ['/order'] }
+ }
+ ]
+ }]
diff --git a/src/router/modules/overview.js b/src/router/modules/overview.js
new file mode 100644
index 0000000..5879990
--- /dev/null
+++ b/src/router/modules/overview.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const overviewRouters = [
+ {
+ path: 'overviewBridge',
+ component: Layout,
+ redirect: '/overviewBridge',
+ name: 'OverviewBridge',
+ meta: {
+ title: '运行总览',
+ icon: 'icon-overview', // 图标
+ permission: ['/overviewBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/overviewBridge',
+ name: 'OverviewBridge',
+ component: () => import('@/views/overview/overview.vue'),
+ meta: { title: '运行总览', icon: 'function', permission: ['/overviewBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/rule.js b/src/router/modules/rule.js
new file mode 100644
index 0000000..50d0992
--- /dev/null
+++ b/src/router/modules/rule.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+export const ruleRouters = [
+ {
+ path: 'rule',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Rule',
+ meta: {
+ title: '规章制度',
+ icon: 'icon-config', // 图标
+ permission: ['/rule']// 权限名称
+ },
+ children: [
+ {
+ path: '/rule',
+ name: 'Rule',
+ component: () => import('@/views/rule/listRule'),
+ meta: { title: '规章制度', icon: 'function', permission: ['/rule'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/statistics.js b/src/router/modules/statistics.js
new file mode 100644
index 0000000..ce9315a
--- /dev/null
+++ b/src/router/modules/statistics.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const statisticsRouters = [
+ {
+ path: 'statisticsBridge',
+ component: Layout,
+ redirect: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ meta: {
+ title: '养护统计',
+ icon: 'icon-config', // 图标
+ permission: ['/statisticsBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ component: () => import('@/views/statistics/maintainStatistics'),
+ meta: { title: '养护统计', icon: 'function', permission: ['/statisticsBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/utils/request.js b/src/utils/request.js
index c88ea76..dc56e26 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -17,6 +17,13 @@
config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
console.log(config.headers['token'])
}
+ // 在接口增加时间戳
+ // if (config.method === 'get') {
+ config.params = {
+ _t: Date.parse(new Date()) / 1000,
+ ...config.params
+ }
+ // }
return config
},
error => {
diff --git a/src/views/bridge/components/detail.vue b/src/views/bridge/components/detail.vue
new file mode 100644
index 0000000..96cf9f8
--- /dev/null
+++ b/src/views/bridge/components/detail.vue
@@ -0,0 +1,425 @@
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime.substr(0,10) }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime.substr(0,10) }}
+
+
+
+
+
+
+ 桥梁图片:
+ 无
+
+
+ 上传桥梁图片
+
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+ {{ bridgeForm.description }}
+
+
+
+
+
+ 保存
+ 取消
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/components/editBridge.vue b/src/views/bridge/components/editBridge.vue
new file mode 100644
index 0000000..6182fee
--- /dev/null
+++ b/src/views/bridge/components/editBridge.vue
@@ -0,0 +1,239 @@
+
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime }}
+
+
+
+
+
+
+ 桥梁照片:
+ 无
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/router/index.js b/src/router/index.js
index 44cba3b..48cffff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -8,6 +8,10 @@
/* Layout */
import Layout from '@/layout/Layout'
+import { overviewRouters } from './modules/overview'
+import { orderRouters } from './modules/order'
+import { bridgeRouters } from './modules/bridge'
+import { statisticsRouters } from './modules/statistics'
import { systemRouters } from './modules/system'
import { exampleRouters } from './modules/example'
@@ -70,6 +74,10 @@
// 异步挂载路由
// 动态需要根据权限加载的路由表
export const asyncRouterMap = [
+ ...overviewRouters,
+ ...orderRouters,
+ ...bridgeRouters,
+ ...statisticsRouters,
...exampleRouters,
...systemRouters,
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/router/modules/bridge.js b/src/router/modules/bridge.js
new file mode 100644
index 0000000..05a4748
--- /dev/null
+++ b/src/router/modules/bridge.js
@@ -0,0 +1,36 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const bridgeRouters = [
+ {
+ path: 'bridge',
+ component: Layout,
+ redirect: '/yongSheng',
+ name: 'Bridge',
+ meta: {
+ title: '桥梁管理',
+ icon: 'icon-config', // 图标
+ permission: ['/bridgeManage']// 权限名称
+ },
+ children: [
+ {
+ path: '/yongSheng',
+ name: 'YongSheng',
+ component: () => import('@/views/bridge/yongSheng'),
+ meta: { title: '永胜桥', icon: 'function', permission: ['/yongSheng'] }
+ },
+ {
+ path: '/huangZhou',
+ name: 'HuangZhou',
+ component: () => import('@/views/bridge/huangZhou'),
+ meta: { title: '黄洲桥', icon: 'function', permission: ['/huangZhou'] }
+ },
+ {
+ path: '/guangMing',
+ name: 'GuangMing',
+ component: () => import('@/views/bridge/guangMing'),
+ meta: { title: '光明桥', icon: 'function', permission: ['/guangMing'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/order.js b/src/router/modules/order.js
new file mode 100644
index 0000000..fdb43c5
--- /dev/null
+++ b/src/router/modules/order.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const orderRouters = [
+ {
+ path: 'order',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Order',
+ meta: {
+ title: '工单管理',
+ icon: 'icon-config', // 图标
+ permission: ['/order']// 权限名称
+ },
+ children: [
+ {
+ path: '/order',
+ name: 'Order',
+ component: () => import('@/views/order/listMaintainRecords'),
+ meta: { title: '养护记录', icon: 'dashboard', permission: ['/order'] }
+ }
+ ]
+ }]
diff --git a/src/router/modules/overview.js b/src/router/modules/overview.js
new file mode 100644
index 0000000..5879990
--- /dev/null
+++ b/src/router/modules/overview.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const overviewRouters = [
+ {
+ path: 'overviewBridge',
+ component: Layout,
+ redirect: '/overviewBridge',
+ name: 'OverviewBridge',
+ meta: {
+ title: '运行总览',
+ icon: 'icon-overview', // 图标
+ permission: ['/overviewBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/overviewBridge',
+ name: 'OverviewBridge',
+ component: () => import('@/views/overview/overview.vue'),
+ meta: { title: '运行总览', icon: 'function', permission: ['/overviewBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/rule.js b/src/router/modules/rule.js
new file mode 100644
index 0000000..50d0992
--- /dev/null
+++ b/src/router/modules/rule.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+export const ruleRouters = [
+ {
+ path: 'rule',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Rule',
+ meta: {
+ title: '规章制度',
+ icon: 'icon-config', // 图标
+ permission: ['/rule']// 权限名称
+ },
+ children: [
+ {
+ path: '/rule',
+ name: 'Rule',
+ component: () => import('@/views/rule/listRule'),
+ meta: { title: '规章制度', icon: 'function', permission: ['/rule'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/statistics.js b/src/router/modules/statistics.js
new file mode 100644
index 0000000..ce9315a
--- /dev/null
+++ b/src/router/modules/statistics.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const statisticsRouters = [
+ {
+ path: 'statisticsBridge',
+ component: Layout,
+ redirect: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ meta: {
+ title: '养护统计',
+ icon: 'icon-config', // 图标
+ permission: ['/statisticsBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ component: () => import('@/views/statistics/maintainStatistics'),
+ meta: { title: '养护统计', icon: 'function', permission: ['/statisticsBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/utils/request.js b/src/utils/request.js
index c88ea76..dc56e26 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -17,6 +17,13 @@
config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
console.log(config.headers['token'])
}
+ // 在接口增加时间戳
+ // if (config.method === 'get') {
+ config.params = {
+ _t: Date.parse(new Date()) / 1000,
+ ...config.params
+ }
+ // }
return config
},
error => {
diff --git a/src/views/bridge/components/detail.vue b/src/views/bridge/components/detail.vue
new file mode 100644
index 0000000..96cf9f8
--- /dev/null
+++ b/src/views/bridge/components/detail.vue
@@ -0,0 +1,425 @@
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime.substr(0,10) }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime.substr(0,10) }}
+
+
+
+
+
+
+ 桥梁图片:
+ 无
+
+
+ 上传桥梁图片
+
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+ {{ bridgeForm.description }}
+
+
+
+
+
+ 保存
+ 取消
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/components/editBridge.vue b/src/views/bridge/components/editBridge.vue
new file mode 100644
index 0000000..6182fee
--- /dev/null
+++ b/src/views/bridge/components/editBridge.vue
@@ -0,0 +1,239 @@
+
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime }}
+
+
+
+
+
+
+ 桥梁照片:
+ 无
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/guangMing.vue b/src/views/bridge/guangMing.vue
new file mode 100644
index 0000000..2a50ac4
--- /dev/null
+++ b/src/views/bridge/guangMing.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/router/index.js b/src/router/index.js
index 44cba3b..48cffff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -8,6 +8,10 @@
/* Layout */
import Layout from '@/layout/Layout'
+import { overviewRouters } from './modules/overview'
+import { orderRouters } from './modules/order'
+import { bridgeRouters } from './modules/bridge'
+import { statisticsRouters } from './modules/statistics'
import { systemRouters } from './modules/system'
import { exampleRouters } from './modules/example'
@@ -70,6 +74,10 @@
// 异步挂载路由
// 动态需要根据权限加载的路由表
export const asyncRouterMap = [
+ ...overviewRouters,
+ ...orderRouters,
+ ...bridgeRouters,
+ ...statisticsRouters,
...exampleRouters,
...systemRouters,
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/router/modules/bridge.js b/src/router/modules/bridge.js
new file mode 100644
index 0000000..05a4748
--- /dev/null
+++ b/src/router/modules/bridge.js
@@ -0,0 +1,36 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const bridgeRouters = [
+ {
+ path: 'bridge',
+ component: Layout,
+ redirect: '/yongSheng',
+ name: 'Bridge',
+ meta: {
+ title: '桥梁管理',
+ icon: 'icon-config', // 图标
+ permission: ['/bridgeManage']// 权限名称
+ },
+ children: [
+ {
+ path: '/yongSheng',
+ name: 'YongSheng',
+ component: () => import('@/views/bridge/yongSheng'),
+ meta: { title: '永胜桥', icon: 'function', permission: ['/yongSheng'] }
+ },
+ {
+ path: '/huangZhou',
+ name: 'HuangZhou',
+ component: () => import('@/views/bridge/huangZhou'),
+ meta: { title: '黄洲桥', icon: 'function', permission: ['/huangZhou'] }
+ },
+ {
+ path: '/guangMing',
+ name: 'GuangMing',
+ component: () => import('@/views/bridge/guangMing'),
+ meta: { title: '光明桥', icon: 'function', permission: ['/guangMing'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/order.js b/src/router/modules/order.js
new file mode 100644
index 0000000..fdb43c5
--- /dev/null
+++ b/src/router/modules/order.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const orderRouters = [
+ {
+ path: 'order',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Order',
+ meta: {
+ title: '工单管理',
+ icon: 'icon-config', // 图标
+ permission: ['/order']// 权限名称
+ },
+ children: [
+ {
+ path: '/order',
+ name: 'Order',
+ component: () => import('@/views/order/listMaintainRecords'),
+ meta: { title: '养护记录', icon: 'dashboard', permission: ['/order'] }
+ }
+ ]
+ }]
diff --git a/src/router/modules/overview.js b/src/router/modules/overview.js
new file mode 100644
index 0000000..5879990
--- /dev/null
+++ b/src/router/modules/overview.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const overviewRouters = [
+ {
+ path: 'overviewBridge',
+ component: Layout,
+ redirect: '/overviewBridge',
+ name: 'OverviewBridge',
+ meta: {
+ title: '运行总览',
+ icon: 'icon-overview', // 图标
+ permission: ['/overviewBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/overviewBridge',
+ name: 'OverviewBridge',
+ component: () => import('@/views/overview/overview.vue'),
+ meta: { title: '运行总览', icon: 'function', permission: ['/overviewBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/rule.js b/src/router/modules/rule.js
new file mode 100644
index 0000000..50d0992
--- /dev/null
+++ b/src/router/modules/rule.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+export const ruleRouters = [
+ {
+ path: 'rule',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Rule',
+ meta: {
+ title: '规章制度',
+ icon: 'icon-config', // 图标
+ permission: ['/rule']// 权限名称
+ },
+ children: [
+ {
+ path: '/rule',
+ name: 'Rule',
+ component: () => import('@/views/rule/listRule'),
+ meta: { title: '规章制度', icon: 'function', permission: ['/rule'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/statistics.js b/src/router/modules/statistics.js
new file mode 100644
index 0000000..ce9315a
--- /dev/null
+++ b/src/router/modules/statistics.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const statisticsRouters = [
+ {
+ path: 'statisticsBridge',
+ component: Layout,
+ redirect: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ meta: {
+ title: '养护统计',
+ icon: 'icon-config', // 图标
+ permission: ['/statisticsBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ component: () => import('@/views/statistics/maintainStatistics'),
+ meta: { title: '养护统计', icon: 'function', permission: ['/statisticsBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/utils/request.js b/src/utils/request.js
index c88ea76..dc56e26 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -17,6 +17,13 @@
config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
console.log(config.headers['token'])
}
+ // 在接口增加时间戳
+ // if (config.method === 'get') {
+ config.params = {
+ _t: Date.parse(new Date()) / 1000,
+ ...config.params
+ }
+ // }
return config
},
error => {
diff --git a/src/views/bridge/components/detail.vue b/src/views/bridge/components/detail.vue
new file mode 100644
index 0000000..96cf9f8
--- /dev/null
+++ b/src/views/bridge/components/detail.vue
@@ -0,0 +1,425 @@
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime.substr(0,10) }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime.substr(0,10) }}
+
+
+
+
+
+
+ 桥梁图片:
+ 无
+
+
+ 上传桥梁图片
+
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+ {{ bridgeForm.description }}
+
+
+
+
+
+ 保存
+ 取消
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/components/editBridge.vue b/src/views/bridge/components/editBridge.vue
new file mode 100644
index 0000000..6182fee
--- /dev/null
+++ b/src/views/bridge/components/editBridge.vue
@@ -0,0 +1,239 @@
+
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime }}
+
+
+
+
+
+
+ 桥梁照片:
+ 无
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/guangMing.vue b/src/views/bridge/guangMing.vue
new file mode 100644
index 0000000..2a50ac4
--- /dev/null
+++ b/src/views/bridge/guangMing.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/views/bridge/huangzhou.vue b/src/views/bridge/huangzhou.vue
new file mode 100644
index 0000000..311b07b
--- /dev/null
+++ b/src/views/bridge/huangzhou.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/router/index.js b/src/router/index.js
index 44cba3b..48cffff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -8,6 +8,10 @@
/* Layout */
import Layout from '@/layout/Layout'
+import { overviewRouters } from './modules/overview'
+import { orderRouters } from './modules/order'
+import { bridgeRouters } from './modules/bridge'
+import { statisticsRouters } from './modules/statistics'
import { systemRouters } from './modules/system'
import { exampleRouters } from './modules/example'
@@ -70,6 +74,10 @@
// 异步挂载路由
// 动态需要根据权限加载的路由表
export const asyncRouterMap = [
+ ...overviewRouters,
+ ...orderRouters,
+ ...bridgeRouters,
+ ...statisticsRouters,
...exampleRouters,
...systemRouters,
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/router/modules/bridge.js b/src/router/modules/bridge.js
new file mode 100644
index 0000000..05a4748
--- /dev/null
+++ b/src/router/modules/bridge.js
@@ -0,0 +1,36 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const bridgeRouters = [
+ {
+ path: 'bridge',
+ component: Layout,
+ redirect: '/yongSheng',
+ name: 'Bridge',
+ meta: {
+ title: '桥梁管理',
+ icon: 'icon-config', // 图标
+ permission: ['/bridgeManage']// 权限名称
+ },
+ children: [
+ {
+ path: '/yongSheng',
+ name: 'YongSheng',
+ component: () => import('@/views/bridge/yongSheng'),
+ meta: { title: '永胜桥', icon: 'function', permission: ['/yongSheng'] }
+ },
+ {
+ path: '/huangZhou',
+ name: 'HuangZhou',
+ component: () => import('@/views/bridge/huangZhou'),
+ meta: { title: '黄洲桥', icon: 'function', permission: ['/huangZhou'] }
+ },
+ {
+ path: '/guangMing',
+ name: 'GuangMing',
+ component: () => import('@/views/bridge/guangMing'),
+ meta: { title: '光明桥', icon: 'function', permission: ['/guangMing'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/order.js b/src/router/modules/order.js
new file mode 100644
index 0000000..fdb43c5
--- /dev/null
+++ b/src/router/modules/order.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const orderRouters = [
+ {
+ path: 'order',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Order',
+ meta: {
+ title: '工单管理',
+ icon: 'icon-config', // 图标
+ permission: ['/order']// 权限名称
+ },
+ children: [
+ {
+ path: '/order',
+ name: 'Order',
+ component: () => import('@/views/order/listMaintainRecords'),
+ meta: { title: '养护记录', icon: 'dashboard', permission: ['/order'] }
+ }
+ ]
+ }]
diff --git a/src/router/modules/overview.js b/src/router/modules/overview.js
new file mode 100644
index 0000000..5879990
--- /dev/null
+++ b/src/router/modules/overview.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const overviewRouters = [
+ {
+ path: 'overviewBridge',
+ component: Layout,
+ redirect: '/overviewBridge',
+ name: 'OverviewBridge',
+ meta: {
+ title: '运行总览',
+ icon: 'icon-overview', // 图标
+ permission: ['/overviewBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/overviewBridge',
+ name: 'OverviewBridge',
+ component: () => import('@/views/overview/overview.vue'),
+ meta: { title: '运行总览', icon: 'function', permission: ['/overviewBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/rule.js b/src/router/modules/rule.js
new file mode 100644
index 0000000..50d0992
--- /dev/null
+++ b/src/router/modules/rule.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+export const ruleRouters = [
+ {
+ path: 'rule',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Rule',
+ meta: {
+ title: '规章制度',
+ icon: 'icon-config', // 图标
+ permission: ['/rule']// 权限名称
+ },
+ children: [
+ {
+ path: '/rule',
+ name: 'Rule',
+ component: () => import('@/views/rule/listRule'),
+ meta: { title: '规章制度', icon: 'function', permission: ['/rule'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/statistics.js b/src/router/modules/statistics.js
new file mode 100644
index 0000000..ce9315a
--- /dev/null
+++ b/src/router/modules/statistics.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const statisticsRouters = [
+ {
+ path: 'statisticsBridge',
+ component: Layout,
+ redirect: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ meta: {
+ title: '养护统计',
+ icon: 'icon-config', // 图标
+ permission: ['/statisticsBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ component: () => import('@/views/statistics/maintainStatistics'),
+ meta: { title: '养护统计', icon: 'function', permission: ['/statisticsBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/utils/request.js b/src/utils/request.js
index c88ea76..dc56e26 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -17,6 +17,13 @@
config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
console.log(config.headers['token'])
}
+ // 在接口增加时间戳
+ // if (config.method === 'get') {
+ config.params = {
+ _t: Date.parse(new Date()) / 1000,
+ ...config.params
+ }
+ // }
return config
},
error => {
diff --git a/src/views/bridge/components/detail.vue b/src/views/bridge/components/detail.vue
new file mode 100644
index 0000000..96cf9f8
--- /dev/null
+++ b/src/views/bridge/components/detail.vue
@@ -0,0 +1,425 @@
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime.substr(0,10) }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime.substr(0,10) }}
+
+
+
+
+
+
+ 桥梁图片:
+ 无
+
+
+ 上传桥梁图片
+
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+ {{ bridgeForm.description }}
+
+
+
+
+
+ 保存
+ 取消
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/components/editBridge.vue b/src/views/bridge/components/editBridge.vue
new file mode 100644
index 0000000..6182fee
--- /dev/null
+++ b/src/views/bridge/components/editBridge.vue
@@ -0,0 +1,239 @@
+
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime }}
+
+
+
+
+
+
+ 桥梁照片:
+ 无
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/guangMing.vue b/src/views/bridge/guangMing.vue
new file mode 100644
index 0000000..2a50ac4
--- /dev/null
+++ b/src/views/bridge/guangMing.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/views/bridge/huangzhou.vue b/src/views/bridge/huangzhou.vue
new file mode 100644
index 0000000..311b07b
--- /dev/null
+++ b/src/views/bridge/huangzhou.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
diff --git a/src/views/bridge/yongSheng.vue b/src/views/bridge/yongSheng.vue
new file mode 100644
index 0000000..b986dbb
--- /dev/null
+++ b/src/views/bridge/yongSheng.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/router/index.js b/src/router/index.js
index 44cba3b..48cffff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -8,6 +8,10 @@
/* Layout */
import Layout from '@/layout/Layout'
+import { overviewRouters } from './modules/overview'
+import { orderRouters } from './modules/order'
+import { bridgeRouters } from './modules/bridge'
+import { statisticsRouters } from './modules/statistics'
import { systemRouters } from './modules/system'
import { exampleRouters } from './modules/example'
@@ -70,6 +74,10 @@
// 异步挂载路由
// 动态需要根据权限加载的路由表
export const asyncRouterMap = [
+ ...overviewRouters,
+ ...orderRouters,
+ ...bridgeRouters,
+ ...statisticsRouters,
...exampleRouters,
...systemRouters,
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/router/modules/bridge.js b/src/router/modules/bridge.js
new file mode 100644
index 0000000..05a4748
--- /dev/null
+++ b/src/router/modules/bridge.js
@@ -0,0 +1,36 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const bridgeRouters = [
+ {
+ path: 'bridge',
+ component: Layout,
+ redirect: '/yongSheng',
+ name: 'Bridge',
+ meta: {
+ title: '桥梁管理',
+ icon: 'icon-config', // 图标
+ permission: ['/bridgeManage']// 权限名称
+ },
+ children: [
+ {
+ path: '/yongSheng',
+ name: 'YongSheng',
+ component: () => import('@/views/bridge/yongSheng'),
+ meta: { title: '永胜桥', icon: 'function', permission: ['/yongSheng'] }
+ },
+ {
+ path: '/huangZhou',
+ name: 'HuangZhou',
+ component: () => import('@/views/bridge/huangZhou'),
+ meta: { title: '黄洲桥', icon: 'function', permission: ['/huangZhou'] }
+ },
+ {
+ path: '/guangMing',
+ name: 'GuangMing',
+ component: () => import('@/views/bridge/guangMing'),
+ meta: { title: '光明桥', icon: 'function', permission: ['/guangMing'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/order.js b/src/router/modules/order.js
new file mode 100644
index 0000000..fdb43c5
--- /dev/null
+++ b/src/router/modules/order.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const orderRouters = [
+ {
+ path: 'order',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Order',
+ meta: {
+ title: '工单管理',
+ icon: 'icon-config', // 图标
+ permission: ['/order']// 权限名称
+ },
+ children: [
+ {
+ path: '/order',
+ name: 'Order',
+ component: () => import('@/views/order/listMaintainRecords'),
+ meta: { title: '养护记录', icon: 'dashboard', permission: ['/order'] }
+ }
+ ]
+ }]
diff --git a/src/router/modules/overview.js b/src/router/modules/overview.js
new file mode 100644
index 0000000..5879990
--- /dev/null
+++ b/src/router/modules/overview.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const overviewRouters = [
+ {
+ path: 'overviewBridge',
+ component: Layout,
+ redirect: '/overviewBridge',
+ name: 'OverviewBridge',
+ meta: {
+ title: '运行总览',
+ icon: 'icon-overview', // 图标
+ permission: ['/overviewBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/overviewBridge',
+ name: 'OverviewBridge',
+ component: () => import('@/views/overview/overview.vue'),
+ meta: { title: '运行总览', icon: 'function', permission: ['/overviewBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/rule.js b/src/router/modules/rule.js
new file mode 100644
index 0000000..50d0992
--- /dev/null
+++ b/src/router/modules/rule.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+export const ruleRouters = [
+ {
+ path: 'rule',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Rule',
+ meta: {
+ title: '规章制度',
+ icon: 'icon-config', // 图标
+ permission: ['/rule']// 权限名称
+ },
+ children: [
+ {
+ path: '/rule',
+ name: 'Rule',
+ component: () => import('@/views/rule/listRule'),
+ meta: { title: '规章制度', icon: 'function', permission: ['/rule'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/statistics.js b/src/router/modules/statistics.js
new file mode 100644
index 0000000..ce9315a
--- /dev/null
+++ b/src/router/modules/statistics.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const statisticsRouters = [
+ {
+ path: 'statisticsBridge',
+ component: Layout,
+ redirect: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ meta: {
+ title: '养护统计',
+ icon: 'icon-config', // 图标
+ permission: ['/statisticsBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ component: () => import('@/views/statistics/maintainStatistics'),
+ meta: { title: '养护统计', icon: 'function', permission: ['/statisticsBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/utils/request.js b/src/utils/request.js
index c88ea76..dc56e26 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -17,6 +17,13 @@
config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
console.log(config.headers['token'])
}
+ // 在接口增加时间戳
+ // if (config.method === 'get') {
+ config.params = {
+ _t: Date.parse(new Date()) / 1000,
+ ...config.params
+ }
+ // }
return config
},
error => {
diff --git a/src/views/bridge/components/detail.vue b/src/views/bridge/components/detail.vue
new file mode 100644
index 0000000..96cf9f8
--- /dev/null
+++ b/src/views/bridge/components/detail.vue
@@ -0,0 +1,425 @@
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime.substr(0,10) }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime.substr(0,10) }}
+
+
+
+
+
+
+ 桥梁图片:
+ 无
+
+
+ 上传桥梁图片
+
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+ {{ bridgeForm.description }}
+
+
+
+
+
+ 保存
+ 取消
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/components/editBridge.vue b/src/views/bridge/components/editBridge.vue
new file mode 100644
index 0000000..6182fee
--- /dev/null
+++ b/src/views/bridge/components/editBridge.vue
@@ -0,0 +1,239 @@
+
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime }}
+
+
+
+
+
+
+ 桥梁照片:
+ 无
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/guangMing.vue b/src/views/bridge/guangMing.vue
new file mode 100644
index 0000000..2a50ac4
--- /dev/null
+++ b/src/views/bridge/guangMing.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/views/bridge/huangzhou.vue b/src/views/bridge/huangzhou.vue
new file mode 100644
index 0000000..311b07b
--- /dev/null
+++ b/src/views/bridge/huangzhou.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
diff --git a/src/views/bridge/yongSheng.vue b/src/views/bridge/yongSheng.vue
new file mode 100644
index 0000000..b986dbb
--- /dev/null
+++ b/src/views/bridge/yongSheng.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/views/order/editOrder.vue b/src/views/order/editOrder.vue
new file mode 100644
index 0000000..f5e5fd7
--- /dev/null
+++ b/src/views/order/editOrder.vue
@@ -0,0 +1,305 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 桥梁养护
+ 道路养护
+
+
+
+
+ 永胜桥
+ 黄洲桥
+ 光明桥
+
+
+ 备选项
+ 备选项
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 未启动
+ 进行中
+ 已完成
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/router/index.js b/src/router/index.js
index 44cba3b..48cffff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -8,6 +8,10 @@
/* Layout */
import Layout from '@/layout/Layout'
+import { overviewRouters } from './modules/overview'
+import { orderRouters } from './modules/order'
+import { bridgeRouters } from './modules/bridge'
+import { statisticsRouters } from './modules/statistics'
import { systemRouters } from './modules/system'
import { exampleRouters } from './modules/example'
@@ -70,6 +74,10 @@
// 异步挂载路由
// 动态需要根据权限加载的路由表
export const asyncRouterMap = [
+ ...overviewRouters,
+ ...orderRouters,
+ ...bridgeRouters,
+ ...statisticsRouters,
...exampleRouters,
...systemRouters,
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/router/modules/bridge.js b/src/router/modules/bridge.js
new file mode 100644
index 0000000..05a4748
--- /dev/null
+++ b/src/router/modules/bridge.js
@@ -0,0 +1,36 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const bridgeRouters = [
+ {
+ path: 'bridge',
+ component: Layout,
+ redirect: '/yongSheng',
+ name: 'Bridge',
+ meta: {
+ title: '桥梁管理',
+ icon: 'icon-config', // 图标
+ permission: ['/bridgeManage']// 权限名称
+ },
+ children: [
+ {
+ path: '/yongSheng',
+ name: 'YongSheng',
+ component: () => import('@/views/bridge/yongSheng'),
+ meta: { title: '永胜桥', icon: 'function', permission: ['/yongSheng'] }
+ },
+ {
+ path: '/huangZhou',
+ name: 'HuangZhou',
+ component: () => import('@/views/bridge/huangZhou'),
+ meta: { title: '黄洲桥', icon: 'function', permission: ['/huangZhou'] }
+ },
+ {
+ path: '/guangMing',
+ name: 'GuangMing',
+ component: () => import('@/views/bridge/guangMing'),
+ meta: { title: '光明桥', icon: 'function', permission: ['/guangMing'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/order.js b/src/router/modules/order.js
new file mode 100644
index 0000000..fdb43c5
--- /dev/null
+++ b/src/router/modules/order.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const orderRouters = [
+ {
+ path: 'order',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Order',
+ meta: {
+ title: '工单管理',
+ icon: 'icon-config', // 图标
+ permission: ['/order']// 权限名称
+ },
+ children: [
+ {
+ path: '/order',
+ name: 'Order',
+ component: () => import('@/views/order/listMaintainRecords'),
+ meta: { title: '养护记录', icon: 'dashboard', permission: ['/order'] }
+ }
+ ]
+ }]
diff --git a/src/router/modules/overview.js b/src/router/modules/overview.js
new file mode 100644
index 0000000..5879990
--- /dev/null
+++ b/src/router/modules/overview.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const overviewRouters = [
+ {
+ path: 'overviewBridge',
+ component: Layout,
+ redirect: '/overviewBridge',
+ name: 'OverviewBridge',
+ meta: {
+ title: '运行总览',
+ icon: 'icon-overview', // 图标
+ permission: ['/overviewBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/overviewBridge',
+ name: 'OverviewBridge',
+ component: () => import('@/views/overview/overview.vue'),
+ meta: { title: '运行总览', icon: 'function', permission: ['/overviewBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/rule.js b/src/router/modules/rule.js
new file mode 100644
index 0000000..50d0992
--- /dev/null
+++ b/src/router/modules/rule.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+export const ruleRouters = [
+ {
+ path: 'rule',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Rule',
+ meta: {
+ title: '规章制度',
+ icon: 'icon-config', // 图标
+ permission: ['/rule']// 权限名称
+ },
+ children: [
+ {
+ path: '/rule',
+ name: 'Rule',
+ component: () => import('@/views/rule/listRule'),
+ meta: { title: '规章制度', icon: 'function', permission: ['/rule'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/statistics.js b/src/router/modules/statistics.js
new file mode 100644
index 0000000..ce9315a
--- /dev/null
+++ b/src/router/modules/statistics.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const statisticsRouters = [
+ {
+ path: 'statisticsBridge',
+ component: Layout,
+ redirect: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ meta: {
+ title: '养护统计',
+ icon: 'icon-config', // 图标
+ permission: ['/statisticsBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ component: () => import('@/views/statistics/maintainStatistics'),
+ meta: { title: '养护统计', icon: 'function', permission: ['/statisticsBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/utils/request.js b/src/utils/request.js
index c88ea76..dc56e26 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -17,6 +17,13 @@
config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
console.log(config.headers['token'])
}
+ // 在接口增加时间戳
+ // if (config.method === 'get') {
+ config.params = {
+ _t: Date.parse(new Date()) / 1000,
+ ...config.params
+ }
+ // }
return config
},
error => {
diff --git a/src/views/bridge/components/detail.vue b/src/views/bridge/components/detail.vue
new file mode 100644
index 0000000..96cf9f8
--- /dev/null
+++ b/src/views/bridge/components/detail.vue
@@ -0,0 +1,425 @@
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime.substr(0,10) }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime.substr(0,10) }}
+
+
+
+
+
+
+ 桥梁图片:
+ 无
+
+
+ 上传桥梁图片
+
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+ {{ bridgeForm.description }}
+
+
+
+
+
+ 保存
+ 取消
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/components/editBridge.vue b/src/views/bridge/components/editBridge.vue
new file mode 100644
index 0000000..6182fee
--- /dev/null
+++ b/src/views/bridge/components/editBridge.vue
@@ -0,0 +1,239 @@
+
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime }}
+
+
+
+
+
+
+ 桥梁照片:
+ 无
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/guangMing.vue b/src/views/bridge/guangMing.vue
new file mode 100644
index 0000000..2a50ac4
--- /dev/null
+++ b/src/views/bridge/guangMing.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/views/bridge/huangzhou.vue b/src/views/bridge/huangzhou.vue
new file mode 100644
index 0000000..311b07b
--- /dev/null
+++ b/src/views/bridge/huangzhou.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
diff --git a/src/views/bridge/yongSheng.vue b/src/views/bridge/yongSheng.vue
new file mode 100644
index 0000000..b986dbb
--- /dev/null
+++ b/src/views/bridge/yongSheng.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/views/order/editOrder.vue b/src/views/order/editOrder.vue
new file mode 100644
index 0000000..f5e5fd7
--- /dev/null
+++ b/src/views/order/editOrder.vue
@@ -0,0 +1,305 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 桥梁养护
+ 道路养护
+
+
+
+
+ 永胜桥
+ 黄洲桥
+ 光明桥
+
+
+ 备选项
+ 备选项
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 未启动
+ 进行中
+ 已完成
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/order/listMaintainRecords.vue b/src/views/order/listMaintainRecords.vue
new file mode 100644
index 0000000..db090b4
--- /dev/null
+++ b/src/views/order/listMaintainRecords.vue
@@ -0,0 +1,327 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 导出记录
+ 添加
+
+
+ -->
+
+ {{ scope.row[column.value]!==''? scope.row[column.value]:scope.row['roadName'] }}
+ {{ scope.row[column.value].substr(0,10) }}
+ {{ scope.row[column.value] }}
+
+
+
+
+
+
+ 详情
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/router/index.js b/src/router/index.js
index 44cba3b..48cffff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -8,6 +8,10 @@
/* Layout */
import Layout from '@/layout/Layout'
+import { overviewRouters } from './modules/overview'
+import { orderRouters } from './modules/order'
+import { bridgeRouters } from './modules/bridge'
+import { statisticsRouters } from './modules/statistics'
import { systemRouters } from './modules/system'
import { exampleRouters } from './modules/example'
@@ -70,6 +74,10 @@
// 异步挂载路由
// 动态需要根据权限加载的路由表
export const asyncRouterMap = [
+ ...overviewRouters,
+ ...orderRouters,
+ ...bridgeRouters,
+ ...statisticsRouters,
...exampleRouters,
...systemRouters,
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/router/modules/bridge.js b/src/router/modules/bridge.js
new file mode 100644
index 0000000..05a4748
--- /dev/null
+++ b/src/router/modules/bridge.js
@@ -0,0 +1,36 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const bridgeRouters = [
+ {
+ path: 'bridge',
+ component: Layout,
+ redirect: '/yongSheng',
+ name: 'Bridge',
+ meta: {
+ title: '桥梁管理',
+ icon: 'icon-config', // 图标
+ permission: ['/bridgeManage']// 权限名称
+ },
+ children: [
+ {
+ path: '/yongSheng',
+ name: 'YongSheng',
+ component: () => import('@/views/bridge/yongSheng'),
+ meta: { title: '永胜桥', icon: 'function', permission: ['/yongSheng'] }
+ },
+ {
+ path: '/huangZhou',
+ name: 'HuangZhou',
+ component: () => import('@/views/bridge/huangZhou'),
+ meta: { title: '黄洲桥', icon: 'function', permission: ['/huangZhou'] }
+ },
+ {
+ path: '/guangMing',
+ name: 'GuangMing',
+ component: () => import('@/views/bridge/guangMing'),
+ meta: { title: '光明桥', icon: 'function', permission: ['/guangMing'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/order.js b/src/router/modules/order.js
new file mode 100644
index 0000000..fdb43c5
--- /dev/null
+++ b/src/router/modules/order.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const orderRouters = [
+ {
+ path: 'order',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Order',
+ meta: {
+ title: '工单管理',
+ icon: 'icon-config', // 图标
+ permission: ['/order']// 权限名称
+ },
+ children: [
+ {
+ path: '/order',
+ name: 'Order',
+ component: () => import('@/views/order/listMaintainRecords'),
+ meta: { title: '养护记录', icon: 'dashboard', permission: ['/order'] }
+ }
+ ]
+ }]
diff --git a/src/router/modules/overview.js b/src/router/modules/overview.js
new file mode 100644
index 0000000..5879990
--- /dev/null
+++ b/src/router/modules/overview.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const overviewRouters = [
+ {
+ path: 'overviewBridge',
+ component: Layout,
+ redirect: '/overviewBridge',
+ name: 'OverviewBridge',
+ meta: {
+ title: '运行总览',
+ icon: 'icon-overview', // 图标
+ permission: ['/overviewBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/overviewBridge',
+ name: 'OverviewBridge',
+ component: () => import('@/views/overview/overview.vue'),
+ meta: { title: '运行总览', icon: 'function', permission: ['/overviewBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/rule.js b/src/router/modules/rule.js
new file mode 100644
index 0000000..50d0992
--- /dev/null
+++ b/src/router/modules/rule.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+export const ruleRouters = [
+ {
+ path: 'rule',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Rule',
+ meta: {
+ title: '规章制度',
+ icon: 'icon-config', // 图标
+ permission: ['/rule']// 权限名称
+ },
+ children: [
+ {
+ path: '/rule',
+ name: 'Rule',
+ component: () => import('@/views/rule/listRule'),
+ meta: { title: '规章制度', icon: 'function', permission: ['/rule'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/statistics.js b/src/router/modules/statistics.js
new file mode 100644
index 0000000..ce9315a
--- /dev/null
+++ b/src/router/modules/statistics.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const statisticsRouters = [
+ {
+ path: 'statisticsBridge',
+ component: Layout,
+ redirect: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ meta: {
+ title: '养护统计',
+ icon: 'icon-config', // 图标
+ permission: ['/statisticsBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ component: () => import('@/views/statistics/maintainStatistics'),
+ meta: { title: '养护统计', icon: 'function', permission: ['/statisticsBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/utils/request.js b/src/utils/request.js
index c88ea76..dc56e26 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -17,6 +17,13 @@
config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
console.log(config.headers['token'])
}
+ // 在接口增加时间戳
+ // if (config.method === 'get') {
+ config.params = {
+ _t: Date.parse(new Date()) / 1000,
+ ...config.params
+ }
+ // }
return config
},
error => {
diff --git a/src/views/bridge/components/detail.vue b/src/views/bridge/components/detail.vue
new file mode 100644
index 0000000..96cf9f8
--- /dev/null
+++ b/src/views/bridge/components/detail.vue
@@ -0,0 +1,425 @@
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime.substr(0,10) }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime.substr(0,10) }}
+
+
+
+
+
+
+ 桥梁图片:
+ 无
+
+
+ 上传桥梁图片
+
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+ {{ bridgeForm.description }}
+
+
+
+
+
+ 保存
+ 取消
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/components/editBridge.vue b/src/views/bridge/components/editBridge.vue
new file mode 100644
index 0000000..6182fee
--- /dev/null
+++ b/src/views/bridge/components/editBridge.vue
@@ -0,0 +1,239 @@
+
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime }}
+
+
+
+
+
+
+ 桥梁照片:
+ 无
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/guangMing.vue b/src/views/bridge/guangMing.vue
new file mode 100644
index 0000000..2a50ac4
--- /dev/null
+++ b/src/views/bridge/guangMing.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/views/bridge/huangzhou.vue b/src/views/bridge/huangzhou.vue
new file mode 100644
index 0000000..311b07b
--- /dev/null
+++ b/src/views/bridge/huangzhou.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
diff --git a/src/views/bridge/yongSheng.vue b/src/views/bridge/yongSheng.vue
new file mode 100644
index 0000000..b986dbb
--- /dev/null
+++ b/src/views/bridge/yongSheng.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/views/order/editOrder.vue b/src/views/order/editOrder.vue
new file mode 100644
index 0000000..f5e5fd7
--- /dev/null
+++ b/src/views/order/editOrder.vue
@@ -0,0 +1,305 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 桥梁养护
+ 道路养护
+
+
+
+
+ 永胜桥
+ 黄洲桥
+ 光明桥
+
+
+ 备选项
+ 备选项
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 未启动
+ 进行中
+ 已完成
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/order/listMaintainRecords.vue b/src/views/order/listMaintainRecords.vue
new file mode 100644
index 0000000..db090b4
--- /dev/null
+++ b/src/views/order/listMaintainRecords.vue
@@ -0,0 +1,327 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 导出记录
+ 添加
+
+
+ -->
+
+ {{ scope.row[column.value]!==''? scope.row[column.value]:scope.row['roadName'] }}
+ {{ scope.row[column.value].substr(0,10) }}
+ {{ scope.row[column.value] }}
+
+
+
+
+
+
+ 详情
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/overview/overview.vue b/src/views/overview/overview.vue
new file mode 100644
index 0000000..ff9f9a1
--- /dev/null
+++ b/src/views/overview/overview.vue
@@ -0,0 +1,304 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/router/index.js b/src/router/index.js
index 44cba3b..48cffff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -8,6 +8,10 @@
/* Layout */
import Layout from '@/layout/Layout'
+import { overviewRouters } from './modules/overview'
+import { orderRouters } from './modules/order'
+import { bridgeRouters } from './modules/bridge'
+import { statisticsRouters } from './modules/statistics'
import { systemRouters } from './modules/system'
import { exampleRouters } from './modules/example'
@@ -70,6 +74,10 @@
// 异步挂载路由
// 动态需要根据权限加载的路由表
export const asyncRouterMap = [
+ ...overviewRouters,
+ ...orderRouters,
+ ...bridgeRouters,
+ ...statisticsRouters,
...exampleRouters,
...systemRouters,
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/router/modules/bridge.js b/src/router/modules/bridge.js
new file mode 100644
index 0000000..05a4748
--- /dev/null
+++ b/src/router/modules/bridge.js
@@ -0,0 +1,36 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const bridgeRouters = [
+ {
+ path: 'bridge',
+ component: Layout,
+ redirect: '/yongSheng',
+ name: 'Bridge',
+ meta: {
+ title: '桥梁管理',
+ icon: 'icon-config', // 图标
+ permission: ['/bridgeManage']// 权限名称
+ },
+ children: [
+ {
+ path: '/yongSheng',
+ name: 'YongSheng',
+ component: () => import('@/views/bridge/yongSheng'),
+ meta: { title: '永胜桥', icon: 'function', permission: ['/yongSheng'] }
+ },
+ {
+ path: '/huangZhou',
+ name: 'HuangZhou',
+ component: () => import('@/views/bridge/huangZhou'),
+ meta: { title: '黄洲桥', icon: 'function', permission: ['/huangZhou'] }
+ },
+ {
+ path: '/guangMing',
+ name: 'GuangMing',
+ component: () => import('@/views/bridge/guangMing'),
+ meta: { title: '光明桥', icon: 'function', permission: ['/guangMing'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/order.js b/src/router/modules/order.js
new file mode 100644
index 0000000..fdb43c5
--- /dev/null
+++ b/src/router/modules/order.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const orderRouters = [
+ {
+ path: 'order',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Order',
+ meta: {
+ title: '工单管理',
+ icon: 'icon-config', // 图标
+ permission: ['/order']// 权限名称
+ },
+ children: [
+ {
+ path: '/order',
+ name: 'Order',
+ component: () => import('@/views/order/listMaintainRecords'),
+ meta: { title: '养护记录', icon: 'dashboard', permission: ['/order'] }
+ }
+ ]
+ }]
diff --git a/src/router/modules/overview.js b/src/router/modules/overview.js
new file mode 100644
index 0000000..5879990
--- /dev/null
+++ b/src/router/modules/overview.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const overviewRouters = [
+ {
+ path: 'overviewBridge',
+ component: Layout,
+ redirect: '/overviewBridge',
+ name: 'OverviewBridge',
+ meta: {
+ title: '运行总览',
+ icon: 'icon-overview', // 图标
+ permission: ['/overviewBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/overviewBridge',
+ name: 'OverviewBridge',
+ component: () => import('@/views/overview/overview.vue'),
+ meta: { title: '运行总览', icon: 'function', permission: ['/overviewBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/rule.js b/src/router/modules/rule.js
new file mode 100644
index 0000000..50d0992
--- /dev/null
+++ b/src/router/modules/rule.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+export const ruleRouters = [
+ {
+ path: 'rule',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Rule',
+ meta: {
+ title: '规章制度',
+ icon: 'icon-config', // 图标
+ permission: ['/rule']// 权限名称
+ },
+ children: [
+ {
+ path: '/rule',
+ name: 'Rule',
+ component: () => import('@/views/rule/listRule'),
+ meta: { title: '规章制度', icon: 'function', permission: ['/rule'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/statistics.js b/src/router/modules/statistics.js
new file mode 100644
index 0000000..ce9315a
--- /dev/null
+++ b/src/router/modules/statistics.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const statisticsRouters = [
+ {
+ path: 'statisticsBridge',
+ component: Layout,
+ redirect: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ meta: {
+ title: '养护统计',
+ icon: 'icon-config', // 图标
+ permission: ['/statisticsBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ component: () => import('@/views/statistics/maintainStatistics'),
+ meta: { title: '养护统计', icon: 'function', permission: ['/statisticsBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/utils/request.js b/src/utils/request.js
index c88ea76..dc56e26 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -17,6 +17,13 @@
config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
console.log(config.headers['token'])
}
+ // 在接口增加时间戳
+ // if (config.method === 'get') {
+ config.params = {
+ _t: Date.parse(new Date()) / 1000,
+ ...config.params
+ }
+ // }
return config
},
error => {
diff --git a/src/views/bridge/components/detail.vue b/src/views/bridge/components/detail.vue
new file mode 100644
index 0000000..96cf9f8
--- /dev/null
+++ b/src/views/bridge/components/detail.vue
@@ -0,0 +1,425 @@
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime.substr(0,10) }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime.substr(0,10) }}
+
+
+
+
+
+
+ 桥梁图片:
+ 无
+
+
+ 上传桥梁图片
+
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+ {{ bridgeForm.description }}
+
+
+
+
+
+ 保存
+ 取消
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/components/editBridge.vue b/src/views/bridge/components/editBridge.vue
new file mode 100644
index 0000000..6182fee
--- /dev/null
+++ b/src/views/bridge/components/editBridge.vue
@@ -0,0 +1,239 @@
+
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime }}
+
+
+
+
+
+
+ 桥梁照片:
+ 无
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/guangMing.vue b/src/views/bridge/guangMing.vue
new file mode 100644
index 0000000..2a50ac4
--- /dev/null
+++ b/src/views/bridge/guangMing.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/views/bridge/huangzhou.vue b/src/views/bridge/huangzhou.vue
new file mode 100644
index 0000000..311b07b
--- /dev/null
+++ b/src/views/bridge/huangzhou.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
diff --git a/src/views/bridge/yongSheng.vue b/src/views/bridge/yongSheng.vue
new file mode 100644
index 0000000..b986dbb
--- /dev/null
+++ b/src/views/bridge/yongSheng.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/views/order/editOrder.vue b/src/views/order/editOrder.vue
new file mode 100644
index 0000000..f5e5fd7
--- /dev/null
+++ b/src/views/order/editOrder.vue
@@ -0,0 +1,305 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 桥梁养护
+ 道路养护
+
+
+
+
+ 永胜桥
+ 黄洲桥
+ 光明桥
+
+
+ 备选项
+ 备选项
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 未启动
+ 进行中
+ 已完成
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/order/listMaintainRecords.vue b/src/views/order/listMaintainRecords.vue
new file mode 100644
index 0000000..db090b4
--- /dev/null
+++ b/src/views/order/listMaintainRecords.vue
@@ -0,0 +1,327 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 导出记录
+ 添加
+
+
+ -->
+
+ {{ scope.row[column.value]!==''? scope.row[column.value]:scope.row['roadName'] }}
+ {{ scope.row[column.value].substr(0,10) }}
+ {{ scope.row[column.value] }}
+
+
+
+
+
+
+ 详情
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/overview/overview.vue b/src/views/overview/overview.vue
new file mode 100644
index 0000000..ff9f9a1
--- /dev/null
+++ b/src/views/overview/overview.vue
@@ -0,0 +1,304 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/rule/components/setThresh.vue b/src/views/rule/components/setThresh.vue
new file mode 100644
index 0000000..a0ee404
--- /dev/null
+++ b/src/views/rule/components/setThresh.vue
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/router/index.js b/src/router/index.js
index 44cba3b..48cffff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -8,6 +8,10 @@
/* Layout */
import Layout from '@/layout/Layout'
+import { overviewRouters } from './modules/overview'
+import { orderRouters } from './modules/order'
+import { bridgeRouters } from './modules/bridge'
+import { statisticsRouters } from './modules/statistics'
import { systemRouters } from './modules/system'
import { exampleRouters } from './modules/example'
@@ -70,6 +74,10 @@
// 异步挂载路由
// 动态需要根据权限加载的路由表
export const asyncRouterMap = [
+ ...overviewRouters,
+ ...orderRouters,
+ ...bridgeRouters,
+ ...statisticsRouters,
...exampleRouters,
...systemRouters,
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/router/modules/bridge.js b/src/router/modules/bridge.js
new file mode 100644
index 0000000..05a4748
--- /dev/null
+++ b/src/router/modules/bridge.js
@@ -0,0 +1,36 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const bridgeRouters = [
+ {
+ path: 'bridge',
+ component: Layout,
+ redirect: '/yongSheng',
+ name: 'Bridge',
+ meta: {
+ title: '桥梁管理',
+ icon: 'icon-config', // 图标
+ permission: ['/bridgeManage']// 权限名称
+ },
+ children: [
+ {
+ path: '/yongSheng',
+ name: 'YongSheng',
+ component: () => import('@/views/bridge/yongSheng'),
+ meta: { title: '永胜桥', icon: 'function', permission: ['/yongSheng'] }
+ },
+ {
+ path: '/huangZhou',
+ name: 'HuangZhou',
+ component: () => import('@/views/bridge/huangZhou'),
+ meta: { title: '黄洲桥', icon: 'function', permission: ['/huangZhou'] }
+ },
+ {
+ path: '/guangMing',
+ name: 'GuangMing',
+ component: () => import('@/views/bridge/guangMing'),
+ meta: { title: '光明桥', icon: 'function', permission: ['/guangMing'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/order.js b/src/router/modules/order.js
new file mode 100644
index 0000000..fdb43c5
--- /dev/null
+++ b/src/router/modules/order.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const orderRouters = [
+ {
+ path: 'order',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Order',
+ meta: {
+ title: '工单管理',
+ icon: 'icon-config', // 图标
+ permission: ['/order']// 权限名称
+ },
+ children: [
+ {
+ path: '/order',
+ name: 'Order',
+ component: () => import('@/views/order/listMaintainRecords'),
+ meta: { title: '养护记录', icon: 'dashboard', permission: ['/order'] }
+ }
+ ]
+ }]
diff --git a/src/router/modules/overview.js b/src/router/modules/overview.js
new file mode 100644
index 0000000..5879990
--- /dev/null
+++ b/src/router/modules/overview.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const overviewRouters = [
+ {
+ path: 'overviewBridge',
+ component: Layout,
+ redirect: '/overviewBridge',
+ name: 'OverviewBridge',
+ meta: {
+ title: '运行总览',
+ icon: 'icon-overview', // 图标
+ permission: ['/overviewBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/overviewBridge',
+ name: 'OverviewBridge',
+ component: () => import('@/views/overview/overview.vue'),
+ meta: { title: '运行总览', icon: 'function', permission: ['/overviewBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/rule.js b/src/router/modules/rule.js
new file mode 100644
index 0000000..50d0992
--- /dev/null
+++ b/src/router/modules/rule.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+export const ruleRouters = [
+ {
+ path: 'rule',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Rule',
+ meta: {
+ title: '规章制度',
+ icon: 'icon-config', // 图标
+ permission: ['/rule']// 权限名称
+ },
+ children: [
+ {
+ path: '/rule',
+ name: 'Rule',
+ component: () => import('@/views/rule/listRule'),
+ meta: { title: '规章制度', icon: 'function', permission: ['/rule'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/statistics.js b/src/router/modules/statistics.js
new file mode 100644
index 0000000..ce9315a
--- /dev/null
+++ b/src/router/modules/statistics.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const statisticsRouters = [
+ {
+ path: 'statisticsBridge',
+ component: Layout,
+ redirect: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ meta: {
+ title: '养护统计',
+ icon: 'icon-config', // 图标
+ permission: ['/statisticsBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ component: () => import('@/views/statistics/maintainStatistics'),
+ meta: { title: '养护统计', icon: 'function', permission: ['/statisticsBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/utils/request.js b/src/utils/request.js
index c88ea76..dc56e26 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -17,6 +17,13 @@
config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
console.log(config.headers['token'])
}
+ // 在接口增加时间戳
+ // if (config.method === 'get') {
+ config.params = {
+ _t: Date.parse(new Date()) / 1000,
+ ...config.params
+ }
+ // }
return config
},
error => {
diff --git a/src/views/bridge/components/detail.vue b/src/views/bridge/components/detail.vue
new file mode 100644
index 0000000..96cf9f8
--- /dev/null
+++ b/src/views/bridge/components/detail.vue
@@ -0,0 +1,425 @@
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime.substr(0,10) }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime.substr(0,10) }}
+
+
+
+
+
+
+ 桥梁图片:
+ 无
+
+
+ 上传桥梁图片
+
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+ {{ bridgeForm.description }}
+
+
+
+
+
+ 保存
+ 取消
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/components/editBridge.vue b/src/views/bridge/components/editBridge.vue
new file mode 100644
index 0000000..6182fee
--- /dev/null
+++ b/src/views/bridge/components/editBridge.vue
@@ -0,0 +1,239 @@
+
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime }}
+
+
+
+
+
+
+ 桥梁照片:
+ 无
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/guangMing.vue b/src/views/bridge/guangMing.vue
new file mode 100644
index 0000000..2a50ac4
--- /dev/null
+++ b/src/views/bridge/guangMing.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/views/bridge/huangzhou.vue b/src/views/bridge/huangzhou.vue
new file mode 100644
index 0000000..311b07b
--- /dev/null
+++ b/src/views/bridge/huangzhou.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
diff --git a/src/views/bridge/yongSheng.vue b/src/views/bridge/yongSheng.vue
new file mode 100644
index 0000000..b986dbb
--- /dev/null
+++ b/src/views/bridge/yongSheng.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/views/order/editOrder.vue b/src/views/order/editOrder.vue
new file mode 100644
index 0000000..f5e5fd7
--- /dev/null
+++ b/src/views/order/editOrder.vue
@@ -0,0 +1,305 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 桥梁养护
+ 道路养护
+
+
+
+
+ 永胜桥
+ 黄洲桥
+ 光明桥
+
+
+ 备选项
+ 备选项
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 未启动
+ 进行中
+ 已完成
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/order/listMaintainRecords.vue b/src/views/order/listMaintainRecords.vue
new file mode 100644
index 0000000..db090b4
--- /dev/null
+++ b/src/views/order/listMaintainRecords.vue
@@ -0,0 +1,327 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 导出记录
+ 添加
+
+
+ -->
+
+ {{ scope.row[column.value]!==''? scope.row[column.value]:scope.row['roadName'] }}
+ {{ scope.row[column.value].substr(0,10) }}
+ {{ scope.row[column.value] }}
+
+
+
+
+
+
+ 详情
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/overview/overview.vue b/src/views/overview/overview.vue
new file mode 100644
index 0000000..ff9f9a1
--- /dev/null
+++ b/src/views/overview/overview.vue
@@ -0,0 +1,304 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/rule/components/setThresh.vue b/src/views/rule/components/setThresh.vue
new file mode 100644
index 0000000..a0ee404
--- /dev/null
+++ b/src/views/rule/components/setThresh.vue
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/rule/listRule.vue b/src/views/rule/listRule.vue
new file mode 100644
index 0000000..a19b9e4
--- /dev/null
+++ b/src/views/rule/listRule.vue
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row[column.value] }}
+ {{ scope.row[column.value] }}
+
+
+
+
+ 打印
+ 下载
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/router/index.js b/src/router/index.js
index 44cba3b..48cffff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -8,6 +8,10 @@
/* Layout */
import Layout from '@/layout/Layout'
+import { overviewRouters } from './modules/overview'
+import { orderRouters } from './modules/order'
+import { bridgeRouters } from './modules/bridge'
+import { statisticsRouters } from './modules/statistics'
import { systemRouters } from './modules/system'
import { exampleRouters } from './modules/example'
@@ -70,6 +74,10 @@
// 异步挂载路由
// 动态需要根据权限加载的路由表
export const asyncRouterMap = [
+ ...overviewRouters,
+ ...orderRouters,
+ ...bridgeRouters,
+ ...statisticsRouters,
...exampleRouters,
...systemRouters,
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/router/modules/bridge.js b/src/router/modules/bridge.js
new file mode 100644
index 0000000..05a4748
--- /dev/null
+++ b/src/router/modules/bridge.js
@@ -0,0 +1,36 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const bridgeRouters = [
+ {
+ path: 'bridge',
+ component: Layout,
+ redirect: '/yongSheng',
+ name: 'Bridge',
+ meta: {
+ title: '桥梁管理',
+ icon: 'icon-config', // 图标
+ permission: ['/bridgeManage']// 权限名称
+ },
+ children: [
+ {
+ path: '/yongSheng',
+ name: 'YongSheng',
+ component: () => import('@/views/bridge/yongSheng'),
+ meta: { title: '永胜桥', icon: 'function', permission: ['/yongSheng'] }
+ },
+ {
+ path: '/huangZhou',
+ name: 'HuangZhou',
+ component: () => import('@/views/bridge/huangZhou'),
+ meta: { title: '黄洲桥', icon: 'function', permission: ['/huangZhou'] }
+ },
+ {
+ path: '/guangMing',
+ name: 'GuangMing',
+ component: () => import('@/views/bridge/guangMing'),
+ meta: { title: '光明桥', icon: 'function', permission: ['/guangMing'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/order.js b/src/router/modules/order.js
new file mode 100644
index 0000000..fdb43c5
--- /dev/null
+++ b/src/router/modules/order.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const orderRouters = [
+ {
+ path: 'order',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Order',
+ meta: {
+ title: '工单管理',
+ icon: 'icon-config', // 图标
+ permission: ['/order']// 权限名称
+ },
+ children: [
+ {
+ path: '/order',
+ name: 'Order',
+ component: () => import('@/views/order/listMaintainRecords'),
+ meta: { title: '养护记录', icon: 'dashboard', permission: ['/order'] }
+ }
+ ]
+ }]
diff --git a/src/router/modules/overview.js b/src/router/modules/overview.js
new file mode 100644
index 0000000..5879990
--- /dev/null
+++ b/src/router/modules/overview.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const overviewRouters = [
+ {
+ path: 'overviewBridge',
+ component: Layout,
+ redirect: '/overviewBridge',
+ name: 'OverviewBridge',
+ meta: {
+ title: '运行总览',
+ icon: 'icon-overview', // 图标
+ permission: ['/overviewBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/overviewBridge',
+ name: 'OverviewBridge',
+ component: () => import('@/views/overview/overview.vue'),
+ meta: { title: '运行总览', icon: 'function', permission: ['/overviewBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/rule.js b/src/router/modules/rule.js
new file mode 100644
index 0000000..50d0992
--- /dev/null
+++ b/src/router/modules/rule.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+export const ruleRouters = [
+ {
+ path: 'rule',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Rule',
+ meta: {
+ title: '规章制度',
+ icon: 'icon-config', // 图标
+ permission: ['/rule']// 权限名称
+ },
+ children: [
+ {
+ path: '/rule',
+ name: 'Rule',
+ component: () => import('@/views/rule/listRule'),
+ meta: { title: '规章制度', icon: 'function', permission: ['/rule'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/statistics.js b/src/router/modules/statistics.js
new file mode 100644
index 0000000..ce9315a
--- /dev/null
+++ b/src/router/modules/statistics.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const statisticsRouters = [
+ {
+ path: 'statisticsBridge',
+ component: Layout,
+ redirect: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ meta: {
+ title: '养护统计',
+ icon: 'icon-config', // 图标
+ permission: ['/statisticsBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ component: () => import('@/views/statistics/maintainStatistics'),
+ meta: { title: '养护统计', icon: 'function', permission: ['/statisticsBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/utils/request.js b/src/utils/request.js
index c88ea76..dc56e26 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -17,6 +17,13 @@
config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
console.log(config.headers['token'])
}
+ // 在接口增加时间戳
+ // if (config.method === 'get') {
+ config.params = {
+ _t: Date.parse(new Date()) / 1000,
+ ...config.params
+ }
+ // }
return config
},
error => {
diff --git a/src/views/bridge/components/detail.vue b/src/views/bridge/components/detail.vue
new file mode 100644
index 0000000..96cf9f8
--- /dev/null
+++ b/src/views/bridge/components/detail.vue
@@ -0,0 +1,425 @@
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime.substr(0,10) }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime.substr(0,10) }}
+
+
+
+
+
+
+ 桥梁图片:
+ 无
+
+
+ 上传桥梁图片
+
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+ {{ bridgeForm.description }}
+
+
+
+
+
+ 保存
+ 取消
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/components/editBridge.vue b/src/views/bridge/components/editBridge.vue
new file mode 100644
index 0000000..6182fee
--- /dev/null
+++ b/src/views/bridge/components/editBridge.vue
@@ -0,0 +1,239 @@
+
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime }}
+
+
+
+
+
+
+ 桥梁照片:
+ 无
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/guangMing.vue b/src/views/bridge/guangMing.vue
new file mode 100644
index 0000000..2a50ac4
--- /dev/null
+++ b/src/views/bridge/guangMing.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/views/bridge/huangzhou.vue b/src/views/bridge/huangzhou.vue
new file mode 100644
index 0000000..311b07b
--- /dev/null
+++ b/src/views/bridge/huangzhou.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
diff --git a/src/views/bridge/yongSheng.vue b/src/views/bridge/yongSheng.vue
new file mode 100644
index 0000000..b986dbb
--- /dev/null
+++ b/src/views/bridge/yongSheng.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/views/order/editOrder.vue b/src/views/order/editOrder.vue
new file mode 100644
index 0000000..f5e5fd7
--- /dev/null
+++ b/src/views/order/editOrder.vue
@@ -0,0 +1,305 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 桥梁养护
+ 道路养护
+
+
+
+
+ 永胜桥
+ 黄洲桥
+ 光明桥
+
+
+ 备选项
+ 备选项
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 未启动
+ 进行中
+ 已完成
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/order/listMaintainRecords.vue b/src/views/order/listMaintainRecords.vue
new file mode 100644
index 0000000..db090b4
--- /dev/null
+++ b/src/views/order/listMaintainRecords.vue
@@ -0,0 +1,327 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 导出记录
+ 添加
+
+
+ -->
+
+ {{ scope.row[column.value]!==''? scope.row[column.value]:scope.row['roadName'] }}
+ {{ scope.row[column.value].substr(0,10) }}
+ {{ scope.row[column.value] }}
+
+
+
+
+
+
+ 详情
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/overview/overview.vue b/src/views/overview/overview.vue
new file mode 100644
index 0000000..ff9f9a1
--- /dev/null
+++ b/src/views/overview/overview.vue
@@ -0,0 +1,304 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/rule/components/setThresh.vue b/src/views/rule/components/setThresh.vue
new file mode 100644
index 0000000..a0ee404
--- /dev/null
+++ b/src/views/rule/components/setThresh.vue
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/rule/listRule.vue b/src/views/rule/listRule.vue
new file mode 100644
index 0000000..a19b9e4
--- /dev/null
+++ b/src/views/rule/listRule.vue
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row[column.value] }}
+ {{ scope.row[column.value] }}
+
+
+
+
+ 打印
+ 下载
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/statistics/barChart.vue b/src/views/statistics/barChart.vue
new file mode 100644
index 0000000..34910e2
--- /dev/null
+++ b/src/views/statistics/barChart.vue
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/router/index.js b/src/router/index.js
index 44cba3b..48cffff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -8,6 +8,10 @@
/* Layout */
import Layout from '@/layout/Layout'
+import { overviewRouters } from './modules/overview'
+import { orderRouters } from './modules/order'
+import { bridgeRouters } from './modules/bridge'
+import { statisticsRouters } from './modules/statistics'
import { systemRouters } from './modules/system'
import { exampleRouters } from './modules/example'
@@ -70,6 +74,10 @@
// 异步挂载路由
// 动态需要根据权限加载的路由表
export const asyncRouterMap = [
+ ...overviewRouters,
+ ...orderRouters,
+ ...bridgeRouters,
+ ...statisticsRouters,
...exampleRouters,
...systemRouters,
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/router/modules/bridge.js b/src/router/modules/bridge.js
new file mode 100644
index 0000000..05a4748
--- /dev/null
+++ b/src/router/modules/bridge.js
@@ -0,0 +1,36 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const bridgeRouters = [
+ {
+ path: 'bridge',
+ component: Layout,
+ redirect: '/yongSheng',
+ name: 'Bridge',
+ meta: {
+ title: '桥梁管理',
+ icon: 'icon-config', // 图标
+ permission: ['/bridgeManage']// 权限名称
+ },
+ children: [
+ {
+ path: '/yongSheng',
+ name: 'YongSheng',
+ component: () => import('@/views/bridge/yongSheng'),
+ meta: { title: '永胜桥', icon: 'function', permission: ['/yongSheng'] }
+ },
+ {
+ path: '/huangZhou',
+ name: 'HuangZhou',
+ component: () => import('@/views/bridge/huangZhou'),
+ meta: { title: '黄洲桥', icon: 'function', permission: ['/huangZhou'] }
+ },
+ {
+ path: '/guangMing',
+ name: 'GuangMing',
+ component: () => import('@/views/bridge/guangMing'),
+ meta: { title: '光明桥', icon: 'function', permission: ['/guangMing'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/order.js b/src/router/modules/order.js
new file mode 100644
index 0000000..fdb43c5
--- /dev/null
+++ b/src/router/modules/order.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const orderRouters = [
+ {
+ path: 'order',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Order',
+ meta: {
+ title: '工单管理',
+ icon: 'icon-config', // 图标
+ permission: ['/order']// 权限名称
+ },
+ children: [
+ {
+ path: '/order',
+ name: 'Order',
+ component: () => import('@/views/order/listMaintainRecords'),
+ meta: { title: '养护记录', icon: 'dashboard', permission: ['/order'] }
+ }
+ ]
+ }]
diff --git a/src/router/modules/overview.js b/src/router/modules/overview.js
new file mode 100644
index 0000000..5879990
--- /dev/null
+++ b/src/router/modules/overview.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const overviewRouters = [
+ {
+ path: 'overviewBridge',
+ component: Layout,
+ redirect: '/overviewBridge',
+ name: 'OverviewBridge',
+ meta: {
+ title: '运行总览',
+ icon: 'icon-overview', // 图标
+ permission: ['/overviewBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/overviewBridge',
+ name: 'OverviewBridge',
+ component: () => import('@/views/overview/overview.vue'),
+ meta: { title: '运行总览', icon: 'function', permission: ['/overviewBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/rule.js b/src/router/modules/rule.js
new file mode 100644
index 0000000..50d0992
--- /dev/null
+++ b/src/router/modules/rule.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+export const ruleRouters = [
+ {
+ path: 'rule',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Rule',
+ meta: {
+ title: '规章制度',
+ icon: 'icon-config', // 图标
+ permission: ['/rule']// 权限名称
+ },
+ children: [
+ {
+ path: '/rule',
+ name: 'Rule',
+ component: () => import('@/views/rule/listRule'),
+ meta: { title: '规章制度', icon: 'function', permission: ['/rule'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/statistics.js b/src/router/modules/statistics.js
new file mode 100644
index 0000000..ce9315a
--- /dev/null
+++ b/src/router/modules/statistics.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const statisticsRouters = [
+ {
+ path: 'statisticsBridge',
+ component: Layout,
+ redirect: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ meta: {
+ title: '养护统计',
+ icon: 'icon-config', // 图标
+ permission: ['/statisticsBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ component: () => import('@/views/statistics/maintainStatistics'),
+ meta: { title: '养护统计', icon: 'function', permission: ['/statisticsBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/utils/request.js b/src/utils/request.js
index c88ea76..dc56e26 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -17,6 +17,13 @@
config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
console.log(config.headers['token'])
}
+ // 在接口增加时间戳
+ // if (config.method === 'get') {
+ config.params = {
+ _t: Date.parse(new Date()) / 1000,
+ ...config.params
+ }
+ // }
return config
},
error => {
diff --git a/src/views/bridge/components/detail.vue b/src/views/bridge/components/detail.vue
new file mode 100644
index 0000000..96cf9f8
--- /dev/null
+++ b/src/views/bridge/components/detail.vue
@@ -0,0 +1,425 @@
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime.substr(0,10) }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime.substr(0,10) }}
+
+
+
+
+
+
+ 桥梁图片:
+ 无
+
+
+ 上传桥梁图片
+
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+ {{ bridgeForm.description }}
+
+
+
+
+
+ 保存
+ 取消
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/components/editBridge.vue b/src/views/bridge/components/editBridge.vue
new file mode 100644
index 0000000..6182fee
--- /dev/null
+++ b/src/views/bridge/components/editBridge.vue
@@ -0,0 +1,239 @@
+
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime }}
+
+
+
+
+
+
+ 桥梁照片:
+ 无
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/guangMing.vue b/src/views/bridge/guangMing.vue
new file mode 100644
index 0000000..2a50ac4
--- /dev/null
+++ b/src/views/bridge/guangMing.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/views/bridge/huangzhou.vue b/src/views/bridge/huangzhou.vue
new file mode 100644
index 0000000..311b07b
--- /dev/null
+++ b/src/views/bridge/huangzhou.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
diff --git a/src/views/bridge/yongSheng.vue b/src/views/bridge/yongSheng.vue
new file mode 100644
index 0000000..b986dbb
--- /dev/null
+++ b/src/views/bridge/yongSheng.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/views/order/editOrder.vue b/src/views/order/editOrder.vue
new file mode 100644
index 0000000..f5e5fd7
--- /dev/null
+++ b/src/views/order/editOrder.vue
@@ -0,0 +1,305 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 桥梁养护
+ 道路养护
+
+
+
+
+ 永胜桥
+ 黄洲桥
+ 光明桥
+
+
+ 备选项
+ 备选项
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 未启动
+ 进行中
+ 已完成
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/order/listMaintainRecords.vue b/src/views/order/listMaintainRecords.vue
new file mode 100644
index 0000000..db090b4
--- /dev/null
+++ b/src/views/order/listMaintainRecords.vue
@@ -0,0 +1,327 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 导出记录
+ 添加
+
+
+ -->
+
+ {{ scope.row[column.value]!==''? scope.row[column.value]:scope.row['roadName'] }}
+ {{ scope.row[column.value].substr(0,10) }}
+ {{ scope.row[column.value] }}
+
+
+
+
+
+
+ 详情
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/overview/overview.vue b/src/views/overview/overview.vue
new file mode 100644
index 0000000..ff9f9a1
--- /dev/null
+++ b/src/views/overview/overview.vue
@@ -0,0 +1,304 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/rule/components/setThresh.vue b/src/views/rule/components/setThresh.vue
new file mode 100644
index 0000000..a0ee404
--- /dev/null
+++ b/src/views/rule/components/setThresh.vue
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/rule/listRule.vue b/src/views/rule/listRule.vue
new file mode 100644
index 0000000..a19b9e4
--- /dev/null
+++ b/src/views/rule/listRule.vue
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row[column.value] }}
+ {{ scope.row[column.value] }}
+
+
+
+
+ 打印
+ 下载
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/statistics/barChart.vue b/src/views/statistics/barChart.vue
new file mode 100644
index 0000000..34910e2
--- /dev/null
+++ b/src/views/statistics/barChart.vue
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
diff --git a/src/views/statistics/maintainStatistics.vue b/src/views/statistics/maintainStatistics.vue
new file mode 100644
index 0000000..a86e235
--- /dev/null
+++ b/src/views/statistics/maintainStatistics.vue
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+
+
+
+ 各类型养护数量统计及占比
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row[column.value] }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/router/index.js b/src/router/index.js
index 44cba3b..48cffff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -8,6 +8,10 @@
/* Layout */
import Layout from '@/layout/Layout'
+import { overviewRouters } from './modules/overview'
+import { orderRouters } from './modules/order'
+import { bridgeRouters } from './modules/bridge'
+import { statisticsRouters } from './modules/statistics'
import { systemRouters } from './modules/system'
import { exampleRouters } from './modules/example'
@@ -70,6 +74,10 @@
// 异步挂载路由
// 动态需要根据权限加载的路由表
export const asyncRouterMap = [
+ ...overviewRouters,
+ ...orderRouters,
+ ...bridgeRouters,
+ ...statisticsRouters,
...exampleRouters,
...systemRouters,
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/router/modules/bridge.js b/src/router/modules/bridge.js
new file mode 100644
index 0000000..05a4748
--- /dev/null
+++ b/src/router/modules/bridge.js
@@ -0,0 +1,36 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const bridgeRouters = [
+ {
+ path: 'bridge',
+ component: Layout,
+ redirect: '/yongSheng',
+ name: 'Bridge',
+ meta: {
+ title: '桥梁管理',
+ icon: 'icon-config', // 图标
+ permission: ['/bridgeManage']// 权限名称
+ },
+ children: [
+ {
+ path: '/yongSheng',
+ name: 'YongSheng',
+ component: () => import('@/views/bridge/yongSheng'),
+ meta: { title: '永胜桥', icon: 'function', permission: ['/yongSheng'] }
+ },
+ {
+ path: '/huangZhou',
+ name: 'HuangZhou',
+ component: () => import('@/views/bridge/huangZhou'),
+ meta: { title: '黄洲桥', icon: 'function', permission: ['/huangZhou'] }
+ },
+ {
+ path: '/guangMing',
+ name: 'GuangMing',
+ component: () => import('@/views/bridge/guangMing'),
+ meta: { title: '光明桥', icon: 'function', permission: ['/guangMing'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/order.js b/src/router/modules/order.js
new file mode 100644
index 0000000..fdb43c5
--- /dev/null
+++ b/src/router/modules/order.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const orderRouters = [
+ {
+ path: 'order',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Order',
+ meta: {
+ title: '工单管理',
+ icon: 'icon-config', // 图标
+ permission: ['/order']// 权限名称
+ },
+ children: [
+ {
+ path: '/order',
+ name: 'Order',
+ component: () => import('@/views/order/listMaintainRecords'),
+ meta: { title: '养护记录', icon: 'dashboard', permission: ['/order'] }
+ }
+ ]
+ }]
diff --git a/src/router/modules/overview.js b/src/router/modules/overview.js
new file mode 100644
index 0000000..5879990
--- /dev/null
+++ b/src/router/modules/overview.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const overviewRouters = [
+ {
+ path: 'overviewBridge',
+ component: Layout,
+ redirect: '/overviewBridge',
+ name: 'OverviewBridge',
+ meta: {
+ title: '运行总览',
+ icon: 'icon-overview', // 图标
+ permission: ['/overviewBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/overviewBridge',
+ name: 'OverviewBridge',
+ component: () => import('@/views/overview/overview.vue'),
+ meta: { title: '运行总览', icon: 'function', permission: ['/overviewBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/rule.js b/src/router/modules/rule.js
new file mode 100644
index 0000000..50d0992
--- /dev/null
+++ b/src/router/modules/rule.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+export const ruleRouters = [
+ {
+ path: 'rule',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Rule',
+ meta: {
+ title: '规章制度',
+ icon: 'icon-config', // 图标
+ permission: ['/rule']// 权限名称
+ },
+ children: [
+ {
+ path: '/rule',
+ name: 'Rule',
+ component: () => import('@/views/rule/listRule'),
+ meta: { title: '规章制度', icon: 'function', permission: ['/rule'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/statistics.js b/src/router/modules/statistics.js
new file mode 100644
index 0000000..ce9315a
--- /dev/null
+++ b/src/router/modules/statistics.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const statisticsRouters = [
+ {
+ path: 'statisticsBridge',
+ component: Layout,
+ redirect: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ meta: {
+ title: '养护统计',
+ icon: 'icon-config', // 图标
+ permission: ['/statisticsBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ component: () => import('@/views/statistics/maintainStatistics'),
+ meta: { title: '养护统计', icon: 'function', permission: ['/statisticsBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/utils/request.js b/src/utils/request.js
index c88ea76..dc56e26 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -17,6 +17,13 @@
config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
console.log(config.headers['token'])
}
+ // 在接口增加时间戳
+ // if (config.method === 'get') {
+ config.params = {
+ _t: Date.parse(new Date()) / 1000,
+ ...config.params
+ }
+ // }
return config
},
error => {
diff --git a/src/views/bridge/components/detail.vue b/src/views/bridge/components/detail.vue
new file mode 100644
index 0000000..96cf9f8
--- /dev/null
+++ b/src/views/bridge/components/detail.vue
@@ -0,0 +1,425 @@
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime.substr(0,10) }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime.substr(0,10) }}
+
+
+
+
+
+
+ 桥梁图片:
+ 无
+
+
+ 上传桥梁图片
+
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+ {{ bridgeForm.description }}
+
+
+
+
+
+ 保存
+ 取消
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/components/editBridge.vue b/src/views/bridge/components/editBridge.vue
new file mode 100644
index 0000000..6182fee
--- /dev/null
+++ b/src/views/bridge/components/editBridge.vue
@@ -0,0 +1,239 @@
+
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime }}
+
+
+
+
+
+
+ 桥梁照片:
+ 无
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/guangMing.vue b/src/views/bridge/guangMing.vue
new file mode 100644
index 0000000..2a50ac4
--- /dev/null
+++ b/src/views/bridge/guangMing.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/views/bridge/huangzhou.vue b/src/views/bridge/huangzhou.vue
new file mode 100644
index 0000000..311b07b
--- /dev/null
+++ b/src/views/bridge/huangzhou.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
diff --git a/src/views/bridge/yongSheng.vue b/src/views/bridge/yongSheng.vue
new file mode 100644
index 0000000..b986dbb
--- /dev/null
+++ b/src/views/bridge/yongSheng.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/views/order/editOrder.vue b/src/views/order/editOrder.vue
new file mode 100644
index 0000000..f5e5fd7
--- /dev/null
+++ b/src/views/order/editOrder.vue
@@ -0,0 +1,305 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 桥梁养护
+ 道路养护
+
+
+
+
+ 永胜桥
+ 黄洲桥
+ 光明桥
+
+
+ 备选项
+ 备选项
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 未启动
+ 进行中
+ 已完成
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/order/listMaintainRecords.vue b/src/views/order/listMaintainRecords.vue
new file mode 100644
index 0000000..db090b4
--- /dev/null
+++ b/src/views/order/listMaintainRecords.vue
@@ -0,0 +1,327 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 导出记录
+ 添加
+
+
+ -->
+
+ {{ scope.row[column.value]!==''? scope.row[column.value]:scope.row['roadName'] }}
+ {{ scope.row[column.value].substr(0,10) }}
+ {{ scope.row[column.value] }}
+
+
+
+
+
+
+ 详情
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/overview/overview.vue b/src/views/overview/overview.vue
new file mode 100644
index 0000000..ff9f9a1
--- /dev/null
+++ b/src/views/overview/overview.vue
@@ -0,0 +1,304 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/rule/components/setThresh.vue b/src/views/rule/components/setThresh.vue
new file mode 100644
index 0000000..a0ee404
--- /dev/null
+++ b/src/views/rule/components/setThresh.vue
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/rule/listRule.vue b/src/views/rule/listRule.vue
new file mode 100644
index 0000000..a19b9e4
--- /dev/null
+++ b/src/views/rule/listRule.vue
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row[column.value] }}
+ {{ scope.row[column.value] }}
+
+
+
+
+ 打印
+ 下载
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/statistics/barChart.vue b/src/views/statistics/barChart.vue
new file mode 100644
index 0000000..34910e2
--- /dev/null
+++ b/src/views/statistics/barChart.vue
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
diff --git a/src/views/statistics/maintainStatistics.vue b/src/views/statistics/maintainStatistics.vue
new file mode 100644
index 0000000..a86e235
--- /dev/null
+++ b/src/views/statistics/maintainStatistics.vue
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+
+
+
+ 各类型养护数量统计及占比
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row[column.value] }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/statistics/pieChart.vue b/src/views/statistics/pieChart.vue
new file mode 100644
index 0000000..d69f41a
--- /dev/null
+++ b/src/views/statistics/pieChart.vue
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/router/index.js b/src/router/index.js
index 44cba3b..48cffff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -8,6 +8,10 @@
/* Layout */
import Layout from '@/layout/Layout'
+import { overviewRouters } from './modules/overview'
+import { orderRouters } from './modules/order'
+import { bridgeRouters } from './modules/bridge'
+import { statisticsRouters } from './modules/statistics'
import { systemRouters } from './modules/system'
import { exampleRouters } from './modules/example'
@@ -70,6 +74,10 @@
// 异步挂载路由
// 动态需要根据权限加载的路由表
export const asyncRouterMap = [
+ ...overviewRouters,
+ ...orderRouters,
+ ...bridgeRouters,
+ ...statisticsRouters,
...exampleRouters,
...systemRouters,
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/router/modules/bridge.js b/src/router/modules/bridge.js
new file mode 100644
index 0000000..05a4748
--- /dev/null
+++ b/src/router/modules/bridge.js
@@ -0,0 +1,36 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const bridgeRouters = [
+ {
+ path: 'bridge',
+ component: Layout,
+ redirect: '/yongSheng',
+ name: 'Bridge',
+ meta: {
+ title: '桥梁管理',
+ icon: 'icon-config', // 图标
+ permission: ['/bridgeManage']// 权限名称
+ },
+ children: [
+ {
+ path: '/yongSheng',
+ name: 'YongSheng',
+ component: () => import('@/views/bridge/yongSheng'),
+ meta: { title: '永胜桥', icon: 'function', permission: ['/yongSheng'] }
+ },
+ {
+ path: '/huangZhou',
+ name: 'HuangZhou',
+ component: () => import('@/views/bridge/huangZhou'),
+ meta: { title: '黄洲桥', icon: 'function', permission: ['/huangZhou'] }
+ },
+ {
+ path: '/guangMing',
+ name: 'GuangMing',
+ component: () => import('@/views/bridge/guangMing'),
+ meta: { title: '光明桥', icon: 'function', permission: ['/guangMing'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/order.js b/src/router/modules/order.js
new file mode 100644
index 0000000..fdb43c5
--- /dev/null
+++ b/src/router/modules/order.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const orderRouters = [
+ {
+ path: 'order',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Order',
+ meta: {
+ title: '工单管理',
+ icon: 'icon-config', // 图标
+ permission: ['/order']// 权限名称
+ },
+ children: [
+ {
+ path: '/order',
+ name: 'Order',
+ component: () => import('@/views/order/listMaintainRecords'),
+ meta: { title: '养护记录', icon: 'dashboard', permission: ['/order'] }
+ }
+ ]
+ }]
diff --git a/src/router/modules/overview.js b/src/router/modules/overview.js
new file mode 100644
index 0000000..5879990
--- /dev/null
+++ b/src/router/modules/overview.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const overviewRouters = [
+ {
+ path: 'overviewBridge',
+ component: Layout,
+ redirect: '/overviewBridge',
+ name: 'OverviewBridge',
+ meta: {
+ title: '运行总览',
+ icon: 'icon-overview', // 图标
+ permission: ['/overviewBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/overviewBridge',
+ name: 'OverviewBridge',
+ component: () => import('@/views/overview/overview.vue'),
+ meta: { title: '运行总览', icon: 'function', permission: ['/overviewBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/rule.js b/src/router/modules/rule.js
new file mode 100644
index 0000000..50d0992
--- /dev/null
+++ b/src/router/modules/rule.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+export const ruleRouters = [
+ {
+ path: 'rule',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Rule',
+ meta: {
+ title: '规章制度',
+ icon: 'icon-config', // 图标
+ permission: ['/rule']// 权限名称
+ },
+ children: [
+ {
+ path: '/rule',
+ name: 'Rule',
+ component: () => import('@/views/rule/listRule'),
+ meta: { title: '规章制度', icon: 'function', permission: ['/rule'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/statistics.js b/src/router/modules/statistics.js
new file mode 100644
index 0000000..ce9315a
--- /dev/null
+++ b/src/router/modules/statistics.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const statisticsRouters = [
+ {
+ path: 'statisticsBridge',
+ component: Layout,
+ redirect: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ meta: {
+ title: '养护统计',
+ icon: 'icon-config', // 图标
+ permission: ['/statisticsBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ component: () => import('@/views/statistics/maintainStatistics'),
+ meta: { title: '养护统计', icon: 'function', permission: ['/statisticsBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/utils/request.js b/src/utils/request.js
index c88ea76..dc56e26 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -17,6 +17,13 @@
config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
console.log(config.headers['token'])
}
+ // 在接口增加时间戳
+ // if (config.method === 'get') {
+ config.params = {
+ _t: Date.parse(new Date()) / 1000,
+ ...config.params
+ }
+ // }
return config
},
error => {
diff --git a/src/views/bridge/components/detail.vue b/src/views/bridge/components/detail.vue
new file mode 100644
index 0000000..96cf9f8
--- /dev/null
+++ b/src/views/bridge/components/detail.vue
@@ -0,0 +1,425 @@
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime.substr(0,10) }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime.substr(0,10) }}
+
+
+
+
+
+
+ 桥梁图片:
+ 无
+
+
+ 上传桥梁图片
+
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+ {{ bridgeForm.description }}
+
+
+
+
+
+ 保存
+ 取消
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/components/editBridge.vue b/src/views/bridge/components/editBridge.vue
new file mode 100644
index 0000000..6182fee
--- /dev/null
+++ b/src/views/bridge/components/editBridge.vue
@@ -0,0 +1,239 @@
+
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime }}
+
+
+
+
+
+
+ 桥梁照片:
+ 无
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/guangMing.vue b/src/views/bridge/guangMing.vue
new file mode 100644
index 0000000..2a50ac4
--- /dev/null
+++ b/src/views/bridge/guangMing.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/views/bridge/huangzhou.vue b/src/views/bridge/huangzhou.vue
new file mode 100644
index 0000000..311b07b
--- /dev/null
+++ b/src/views/bridge/huangzhou.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
diff --git a/src/views/bridge/yongSheng.vue b/src/views/bridge/yongSheng.vue
new file mode 100644
index 0000000..b986dbb
--- /dev/null
+++ b/src/views/bridge/yongSheng.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/views/order/editOrder.vue b/src/views/order/editOrder.vue
new file mode 100644
index 0000000..f5e5fd7
--- /dev/null
+++ b/src/views/order/editOrder.vue
@@ -0,0 +1,305 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 桥梁养护
+ 道路养护
+
+
+
+
+ 永胜桥
+ 黄洲桥
+ 光明桥
+
+
+ 备选项
+ 备选项
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 未启动
+ 进行中
+ 已完成
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/order/listMaintainRecords.vue b/src/views/order/listMaintainRecords.vue
new file mode 100644
index 0000000..db090b4
--- /dev/null
+++ b/src/views/order/listMaintainRecords.vue
@@ -0,0 +1,327 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 导出记录
+ 添加
+
+
+ -->
+
+ {{ scope.row[column.value]!==''? scope.row[column.value]:scope.row['roadName'] }}
+ {{ scope.row[column.value].substr(0,10) }}
+ {{ scope.row[column.value] }}
+
+
+
+
+
+
+ 详情
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/overview/overview.vue b/src/views/overview/overview.vue
new file mode 100644
index 0000000..ff9f9a1
--- /dev/null
+++ b/src/views/overview/overview.vue
@@ -0,0 +1,304 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/rule/components/setThresh.vue b/src/views/rule/components/setThresh.vue
new file mode 100644
index 0000000..a0ee404
--- /dev/null
+++ b/src/views/rule/components/setThresh.vue
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/rule/listRule.vue b/src/views/rule/listRule.vue
new file mode 100644
index 0000000..a19b9e4
--- /dev/null
+++ b/src/views/rule/listRule.vue
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row[column.value] }}
+ {{ scope.row[column.value] }}
+
+
+
+
+ 打印
+ 下载
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/statistics/barChart.vue b/src/views/statistics/barChart.vue
new file mode 100644
index 0000000..34910e2
--- /dev/null
+++ b/src/views/statistics/barChart.vue
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
diff --git a/src/views/statistics/maintainStatistics.vue b/src/views/statistics/maintainStatistics.vue
new file mode 100644
index 0000000..a86e235
--- /dev/null
+++ b/src/views/statistics/maintainStatistics.vue
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+
+
+
+ 各类型养护数量统计及占比
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row[column.value] }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/statistics/pieChart.vue b/src/views/statistics/pieChart.vue
new file mode 100644
index 0000000..d69f41a
--- /dev/null
+++ b/src/views/statistics/pieChart.vue
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
diff --git a/src/views/statistics/statisticsChart.vue b/src/views/statistics/statisticsChart.vue
new file mode 100644
index 0000000..2c48fe0
--- /dev/null
+++ b/src/views/statistics/statisticsChart.vue
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
diff --git a/src/api/system/alarm.js b/src/api/system/alarm.js
new file mode 100644
index 0000000..1c3a7ab
--- /dev/null
+++ b/src/api/system/alarm.js
@@ -0,0 +1,62 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getAlarmNowList(params) {
+ return request({
+ url: '/alarm/listNowPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getAlarmHistoryList(params) {
+ return request({
+ url: '/alarm/listHisPage',
+ method: 'get',
+ params
+ })
+}
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/bridge.js b/src/api/system/bridge.js
new file mode 100644
index 0000000..4df107b
--- /dev/null
+++ b/src/api/system/bridge.js
@@ -0,0 +1,81 @@
+/**
+ * 桥梁管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取桥梁详情
+export function getDetail(id) {
+ return request({
+ url: '/bridge/detail',
+ method: 'get',
+ params: {
+ id: id
+ }
+ })
+}
+
+export function updateBridge(params) {
+ return request({
+ url: '/bridge/update',
+ method: 'post',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/data.js b/src/api/system/data.js
new file mode 100644
index 0000000..4c95db5
--- /dev/null
+++ b/src/api/system/data.js
@@ -0,0 +1,63 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+import qs from 'qs'
+
+// 获取当前报警列表
+export function getHistoryList(params) {
+ return request({
+ url: '/data/hisListPage',
+ method: 'get',
+ params
+ })
+}
+
+// 获取当前报警列表
+export function getHistory(params) {
+ return request({
+ url: '/data/hisList',
+ method: 'get',
+ params
+ })
+}
+
+
+
+// 批量消警
+export function clearAll(params) {
+ return request({
+ url: '/alarm/allClear',
+ method: 'get',
+ params
+ })
+}
+
+// 消警
+export function clearAlarm(params) {
+ return request({
+ url: '/alarm/cancel',
+ method: 'get',
+ params
+ })
+}
+
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 设置报警阈值
+export function setThresh(params) {
+ return request({
+ url: '/alarm/resetAlarmRule',
+ method: 'post',
+ params
+ })
+}
diff --git a/src/api/system/order.js b/src/api/system/order.js
new file mode 100644
index 0000000..7007c50
--- /dev/null
+++ b/src/api/system/order.js
@@ -0,0 +1,71 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRecordList(params) {
+ return request({
+ url: '/maintain/listPage',
+ method: 'get',
+ params
+ })
+}
+// 批量导出
+export function exportRecords(params) {
+ return request({
+ url: 'device/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ bridgeMaintenanceId: id
+ }
+ })
+}
diff --git a/src/api/system/rule.js b/src/api/system/rule.js
new file mode 100644
index 0000000..76c6b2d
--- /dev/null
+++ b/src/api/system/rule.js
@@ -0,0 +1,59 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 获取当前报警列表
+export function getRuleList() {
+ return request({
+ url: 'rule/listPage',
+ method: 'get'
+ })
+}
+export function getContentList(params) {
+ return request({
+ url: 'maintain/contentByType',
+ method: 'get',
+ params: {
+ type: params
+ }
+ })
+}
+// 批量导出报警
+export function batchExportAlarm(params) {
+ return request({
+ url: 'person/batchExport',
+ method: 'get',
+ timeout: 120000,
+ params,
+ responseType: 'blob' // 这一步也很关键,一定要加上 responseType 值为 blob
+ })
+}
+
+// 编辑
+export function editRecord(params) {
+ return request({
+ url: 'maintain/update',
+ method: 'post',
+ params
+ })
+}
+// 新增
+export function addRecord(params) {
+ return request({
+ url: 'maintain/add',
+ method: 'post',
+ params
+ })
+}
+// 删除
+export function delRecord(id) {
+ return request({
+ url: 'maintain/delete',
+ method: 'post',
+ params: {
+ id: id
+ }
+ })
+}
diff --git a/src/api/system/statistics.js b/src/api/system/statistics.js
new file mode 100644
index 0000000..b8f29db
--- /dev/null
+++ b/src/api/system/statistics.js
@@ -0,0 +1,15 @@
+/**
+ * 人员管理接口
+ */
+import request from '@/utils/request'
+// import qs from 'qs'
+
+// 年养护次数统计
+export function countByYear(params) {
+ return request({
+ url: 'maintain/maintainCount',
+ method: 'get',
+ params
+ })
+}
+
diff --git a/src/assets/global_images/location_green.png b/src/assets/global_images/location_green.png
new file mode 100644
index 0000000..aa8be65
--- /dev/null
+++ b/src/assets/global_images/location_green.png
Binary files differ
diff --git a/src/assets/global_images/location_red.png b/src/assets/global_images/location_red.png
new file mode 100644
index 0000000..2be8c3d
--- /dev/null
+++ b/src/assets/global_images/location_red.png
Binary files differ
diff --git a/src/assets/global_images/location_yellow.png b/src/assets/global_images/location_yellow.png
new file mode 100644
index 0000000..5ab6f4d
--- /dev/null
+++ b/src/assets/global_images/location_yellow.png
Binary files differ
diff --git a/src/icons/svg/bridge.svg b/src/icons/svg/bridge.svg
new file mode 100644
index 0000000..1a0336f
--- /dev/null
+++ b/src/icons/svg/bridge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index f2d105d..c400ef4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,6 +18,9 @@
// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
+// 引入v-charts
+import VCharts from 'v-charts'
+Vue.use(VCharts)
// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
diff --git a/src/router/index.js b/src/router/index.js
index 44cba3b..48cffff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -8,6 +8,10 @@
/* Layout */
import Layout from '@/layout/Layout'
+import { overviewRouters } from './modules/overview'
+import { orderRouters } from './modules/order'
+import { bridgeRouters } from './modules/bridge'
+import { statisticsRouters } from './modules/statistics'
import { systemRouters } from './modules/system'
import { exampleRouters } from './modules/example'
@@ -70,6 +74,10 @@
// 异步挂载路由
// 动态需要根据权限加载的路由表
export const asyncRouterMap = [
+ ...overviewRouters,
+ ...orderRouters,
+ ...bridgeRouters,
+ ...statisticsRouters,
...exampleRouters,
...systemRouters,
{ path: '*', redirect: '/404', hidden: true }
diff --git a/src/router/modules/bridge.js b/src/router/modules/bridge.js
new file mode 100644
index 0000000..05a4748
--- /dev/null
+++ b/src/router/modules/bridge.js
@@ -0,0 +1,36 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const bridgeRouters = [
+ {
+ path: 'bridge',
+ component: Layout,
+ redirect: '/yongSheng',
+ name: 'Bridge',
+ meta: {
+ title: '桥梁管理',
+ icon: 'icon-config', // 图标
+ permission: ['/bridgeManage']// 权限名称
+ },
+ children: [
+ {
+ path: '/yongSheng',
+ name: 'YongSheng',
+ component: () => import('@/views/bridge/yongSheng'),
+ meta: { title: '永胜桥', icon: 'function', permission: ['/yongSheng'] }
+ },
+ {
+ path: '/huangZhou',
+ name: 'HuangZhou',
+ component: () => import('@/views/bridge/huangZhou'),
+ meta: { title: '黄洲桥', icon: 'function', permission: ['/huangZhou'] }
+ },
+ {
+ path: '/guangMing',
+ name: 'GuangMing',
+ component: () => import('@/views/bridge/guangMing'),
+ meta: { title: '光明桥', icon: 'function', permission: ['/guangMing'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/order.js b/src/router/modules/order.js
new file mode 100644
index 0000000..fdb43c5
--- /dev/null
+++ b/src/router/modules/order.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const orderRouters = [
+ {
+ path: 'order',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Order',
+ meta: {
+ title: '工单管理',
+ icon: 'icon-config', // 图标
+ permission: ['/order']// 权限名称
+ },
+ children: [
+ {
+ path: '/order',
+ name: 'Order',
+ component: () => import('@/views/order/listMaintainRecords'),
+ meta: { title: '养护记录', icon: 'dashboard', permission: ['/order'] }
+ }
+ ]
+ }]
diff --git a/src/router/modules/overview.js b/src/router/modules/overview.js
new file mode 100644
index 0000000..5879990
--- /dev/null
+++ b/src/router/modules/overview.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const overviewRouters = [
+ {
+ path: 'overviewBridge',
+ component: Layout,
+ redirect: '/overviewBridge',
+ name: 'OverviewBridge',
+ meta: {
+ title: '运行总览',
+ icon: 'icon-overview', // 图标
+ permission: ['/overviewBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/overviewBridge',
+ name: 'OverviewBridge',
+ component: () => import('@/views/overview/overview.vue'),
+ meta: { title: '运行总览', icon: 'function', permission: ['/overviewBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/rule.js b/src/router/modules/rule.js
new file mode 100644
index 0000000..50d0992
--- /dev/null
+++ b/src/router/modules/rule.js
@@ -0,0 +1,23 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+export const ruleRouters = [
+ {
+ path: 'rule',
+ component: Layout,
+ redirect: '/rule',
+ name: 'Rule',
+ meta: {
+ title: '规章制度',
+ icon: 'icon-config', // 图标
+ permission: ['/rule']// 权限名称
+ },
+ children: [
+ {
+ path: '/rule',
+ name: 'Rule',
+ component: () => import('@/views/rule/listRule'),
+ meta: { title: '规章制度', icon: 'function', permission: ['/rule'] }
+ }
+ ]
+ }
+]
diff --git a/src/router/modules/statistics.js b/src/router/modules/statistics.js
new file mode 100644
index 0000000..ce9315a
--- /dev/null
+++ b/src/router/modules/statistics.js
@@ -0,0 +1,24 @@
+/* Layout */
+import Layout from '@/layout/Layout'
+
+export const statisticsRouters = [
+ {
+ path: 'statisticsBridge',
+ component: Layout,
+ redirect: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ meta: {
+ title: '养护统计',
+ icon: 'icon-config', // 图标
+ permission: ['/statisticsBridge']// 权限名称
+ },
+ children: [
+ {
+ path: '/statisticsBridge',
+ name: 'StatisticsBridge',
+ component: () => import('@/views/statistics/maintainStatistics'),
+ meta: { title: '养护统计', icon: 'function', permission: ['/statisticsBridge'] }
+ }
+ ]
+ }
+]
diff --git a/src/utils/request.js b/src/utils/request.js
index c88ea76..dc56e26 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -17,6 +17,13 @@
config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
console.log(config.headers['token'])
}
+ // 在接口增加时间戳
+ // if (config.method === 'get') {
+ config.params = {
+ _t: Date.parse(new Date()) / 1000,
+ ...config.params
+ }
+ // }
return config
},
error => {
diff --git a/src/views/bridge/components/detail.vue b/src/views/bridge/components/detail.vue
new file mode 100644
index 0000000..96cf9f8
--- /dev/null
+++ b/src/views/bridge/components/detail.vue
@@ -0,0 +1,425 @@
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime.substr(0,10) }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime.substr(0,10) }}
+
+
+
+
+
+
+ 桥梁图片:
+ 无
+
+
+ 上传桥梁图片
+
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+ {{ bridgeForm.description }}
+
+
+
+
+
+ 保存
+ 取消
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/components/editBridge.vue b/src/views/bridge/components/editBridge.vue
new file mode 100644
index 0000000..6182fee
--- /dev/null
+++ b/src/views/bridge/components/editBridge.vue
@@ -0,0 +1,239 @@
+
+
+
+
+
+
+
+
+ 桥梁名称:
+ {{ bridgeForm.name }}
+
+
+
+
+
+
+
+ 桥型:
+ {{ bridgeForm.typeName }}
+
+
+
+
+
+ 柱号:
+ {{ bridgeForm.bridgeCode }}
+
+
+
+
+
+
+ 道路名称:
+ {{ bridgeForm.roadName }}
+
+
+
+
+
+
+
+ 高度(m):
+ {{ bridgeForm.height }}
+
+
+
+
+ 长度(m):
+ {{ bridgeForm.length }}
+
+
+
+
+
+
+ 开建时间:
+ {{ bridgeForm.buildTime }}
+
+
+
+
+ 通车时间:
+ {{ bridgeForm.openTime }}
+
+
+
+
+
+
+ 桥梁照片:
+ 无
+
+
+
+
+
+
+
桥梁位置:
+
{{ bridgeForm.position }}
+
查看地图
+
+
+
+
+
+
+
+ 桥梁简介:
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bridge/guangMing.vue b/src/views/bridge/guangMing.vue
new file mode 100644
index 0000000..2a50ac4
--- /dev/null
+++ b/src/views/bridge/guangMing.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/views/bridge/huangzhou.vue b/src/views/bridge/huangzhou.vue
new file mode 100644
index 0000000..311b07b
--- /dev/null
+++ b/src/views/bridge/huangzhou.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
diff --git a/src/views/bridge/yongSheng.vue b/src/views/bridge/yongSheng.vue
new file mode 100644
index 0000000..b986dbb
--- /dev/null
+++ b/src/views/bridge/yongSheng.vue
@@ -0,0 +1,44 @@
+
+
+ 编辑
+
+
+
+
+
+
+
diff --git a/src/views/order/editOrder.vue b/src/views/order/editOrder.vue
new file mode 100644
index 0000000..f5e5fd7
--- /dev/null
+++ b/src/views/order/editOrder.vue
@@ -0,0 +1,305 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 桥梁养护
+ 道路养护
+
+
+
+
+ 永胜桥
+ 黄洲桥
+ 光明桥
+
+
+ 备选项
+ 备选项
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 未启动
+ 进行中
+ 已完成
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/order/listMaintainRecords.vue b/src/views/order/listMaintainRecords.vue
new file mode 100644
index 0000000..db090b4
--- /dev/null
+++ b/src/views/order/listMaintainRecords.vue
@@ -0,0 +1,327 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 导出记录
+ 添加
+
+
+ -->
+
+ {{ scope.row[column.value]!==''? scope.row[column.value]:scope.row['roadName'] }}
+ {{ scope.row[column.value].substr(0,10) }}
+ {{ scope.row[column.value] }}
+
+
+
+
+
+
+ 详情
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/overview/overview.vue b/src/views/overview/overview.vue
new file mode 100644
index 0000000..ff9f9a1
--- /dev/null
+++ b/src/views/overview/overview.vue
@@ -0,0 +1,304 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/rule/components/setThresh.vue b/src/views/rule/components/setThresh.vue
new file mode 100644
index 0000000..a0ee404
--- /dev/null
+++ b/src/views/rule/components/setThresh.vue
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/rule/listRule.vue b/src/views/rule/listRule.vue
new file mode 100644
index 0000000..a19b9e4
--- /dev/null
+++ b/src/views/rule/listRule.vue
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row[column.value] }}
+ {{ scope.row[column.value] }}
+
+
+
+
+ 打印
+ 下载
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/statistics/barChart.vue b/src/views/statistics/barChart.vue
new file mode 100644
index 0000000..34910e2
--- /dev/null
+++ b/src/views/statistics/barChart.vue
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
diff --git a/src/views/statistics/maintainStatistics.vue b/src/views/statistics/maintainStatistics.vue
new file mode 100644
index 0000000..a86e235
--- /dev/null
+++ b/src/views/statistics/maintainStatistics.vue
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+
+
+
+ 各类型养护数量统计及占比
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row[column.value] }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/statistics/pieChart.vue b/src/views/statistics/pieChart.vue
new file mode 100644
index 0000000..d69f41a
--- /dev/null
+++ b/src/views/statistics/pieChart.vue
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
diff --git a/src/views/statistics/statisticsChart.vue b/src/views/statistics/statisticsChart.vue
new file mode 100644
index 0000000..2c48fe0
--- /dev/null
+++ b/src/views/statistics/statisticsChart.vue
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
diff --git a/static/project.config.json b/static/project.config.json
index cb1eb78..8fddbd3 100644
--- a/static/project.config.json
+++ b/static/project.config.json
@@ -1,11 +1,11 @@
{
- "title": "基础资源系统",
- "baseUrl": "http://111.198.10.15:11409/",
+ "title": "路桥养护子系统",
+ "baseUrl": "http://111.198.10.15:11413/bridge/",
"mainPage": "http://111.198.10.15:11404/dcms/",
"singleSys": true,
"city":"崇仁县",
"mapUrl":"https://t0.tianditu.gov.cn/vec_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=vec&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=216ee92889e17ab1b083fae665d522b8",
"labelUrl":"https://t0.tianditu.gov.cn/cva_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cva&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=216ee92889e17ab1b083fae665d522b8",
"center":[27.75962, 116.06021],
- "zoom":13
+ "zoom":15
}