diff --git a/.gitignore b/.gitignore
index 78a0ead..ae8c51a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
+smartwell/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
diff --git a/.gitignore b/.gitignore
index 78a0ead..ae8c51a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
+smartwell/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
diff --git a/src/App.vue b/src/App.vue
index 721d3a3..274bace 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,6 @@
diff --git a/.gitignore b/.gitignore
index 78a0ead..ae8c51a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
+smartwell/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
diff --git a/src/App.vue b/src/App.vue
index 721d3a3..274bace 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,6 @@
diff --git a/src/api/area.js b/src/api/area.js
index a5a6b0d..974ce81 100644
--- a/src/api/area.js
+++ b/src/api/area.js
@@ -12,6 +12,14 @@
}
})
}
+// 区域查询
+export function getAreaListPage(params) {
+ return request({
+ url: 'area/listPage',
+ method: 'get',
+ params
+ })
+}
// 根据部门找其默认区域
export function getAreaByDept(deptid) {
return request({
diff --git a/.gitignore b/.gitignore
index 78a0ead..ae8c51a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
+smartwell/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
diff --git a/src/App.vue b/src/App.vue
index 721d3a3..274bace 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,6 @@
diff --git a/src/api/area.js b/src/api/area.js
index a5a6b0d..974ce81 100644
--- a/src/api/area.js
+++ b/src/api/area.js
@@ -12,6 +12,14 @@
}
})
}
+// 区域查询
+export function getAreaListPage(params) {
+ return request({
+ url: 'area/listPage',
+ method: 'get',
+ params
+ })
+}
// 根据部门找其默认区域
export function getAreaByDept(deptid) {
return request({
diff --git a/src/components/CMap/components/cmap.vue b/src/components/CMap/components/cmap.vue
index 2e0604c..9bfc2dd 100644
--- a/src/components/CMap/components/cmap.vue
+++ b/src/components/CMap/components/cmap.vue
@@ -73,11 +73,10 @@
'': { size: [10, 10], anchor: [10, 10] }
}, // 图标管理器
layerId: 'yizhuang_poi', // 需要加载的图层id
- queryString: 'ID<1000', // 地图筛选条件
+ queryString: '', // 地图筛选条件
layerInfoManager: {
- yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'Y', lngfd: 'X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'Adress', cache: true, showtype: 'auto' }
+ yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'COORDINATE_Y', lngfd: 'COORDINATE_X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'POSITION', cache: true, showtype: 'auto' }
}, // 图层信息管理器
- // style: 'http://localhost:8080/static/images/map_images/alarm-well1.png',
style: 'resource/images/sys/markers/未分类/dot',
stylepos: 1,
overlay: null,
@@ -119,12 +118,10 @@
mapLayers.setMaxZoom(val)
},
alarmMarkers(val) {
- console.log('alarmMarkers')
this.renderMarkers()
}
},
mounted() {
- console.log('map mounted')
this.reset()
},
activated() {
@@ -320,9 +317,9 @@
stylepos: this.stylepos,
stylefd: layerInfoManager[layerId].stylefd,
morecon: this.queryString,
- namefd: '',
+ namefd: layerInfoManager[layerId].namefd,
keyfd: '',
- attrfds: '' }
+ attrfds: layerInfoManager[layerId].attrfds }
const tableinfostr = CEncodeSpecialChar(CJsonToStringify(tableinfo))
opts.params.tableinfo = tableinfostr
}
@@ -337,8 +334,6 @@
this.registerDotQuery('yizhuang_poi', function(e, _data) {
if (_data.length > 0) {
that.openInfoWindow(_data[0].id, e)
- } else {
-
}
})
// this.loadBigViewFeature(layerId, this.drawFeature)
@@ -351,6 +346,7 @@
mapLayers.removeLayer(overlayManager[layerId])
delete overlayManager[layerId]
}
+ mapLayers.closePopup()
},
// 过滤海量点
filterPoi(listQuery) {
@@ -370,13 +366,11 @@
queryList.push('DEPTID=' + deptid)
}
this.queryString = queryList.join(' and ')
- console.log(this.queryString)
this.cleanPoi()
this.renderPoi(false)
},
// loadBigViewFeature
loadBigViewFeature(id, callback) {
- console.log('loadBigViewFeature')
const { mapLayers, layerInfoManager } = this
if (layerInfoManager[id].spanzoom > mapLayers.getZoom() && layerInfoManager[id].showtype !== 'client') { return }
var bounds = getGlobalBounds()
@@ -456,7 +450,7 @@
if (layerInfoManager[id].layerid) {
transObj.params.layerid = CEncode(layerInfoManager[id].layerid)
} else {
- const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: layerInfoManager[id].morecon, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
+ const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: this.queryString, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
transObj.params.tableinfo = CEncodeSpecialChar(CJsonToStringify(tableinfo))
}
@@ -539,10 +533,8 @@
mapLayers.setZoom(17)
mapLayers.setCenter(overlay.getLatLng())
// this.center = alarmInfo.position
- console.log('before setPopupContent')
overlay.setPopupContent(dom)
// debugger
- console.log('after setPopupContent')
overlay.openPopup()
}
})
@@ -563,8 +555,8 @@
'
详细地址:' + wellInfo.position + '
' +
'' +
''
- mapLayers.setZoom(18)
const position = new CLatLng(wellInfo.coordinateY, wellInfo.coordinateX)
+ // mapLayers.setZoom(17)
mapLayers.openInfoWindow(position, dom)
}
})
@@ -631,6 +623,9 @@
width:100%;
height: calc(100vh - 84px);
}
+ .selectedmaptypecontrol{
+ display: none;
+ }
/*.alarm-window{*/
/*max-width: 250px;*/
/*!*background-color: #ffeaf1;*!*/
diff --git a/.gitignore b/.gitignore
index 78a0ead..ae8c51a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
+smartwell/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
diff --git a/src/App.vue b/src/App.vue
index 721d3a3..274bace 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,6 @@
diff --git a/src/api/area.js b/src/api/area.js
index a5a6b0d..974ce81 100644
--- a/src/api/area.js
+++ b/src/api/area.js
@@ -12,6 +12,14 @@
}
})
}
+// 区域查询
+export function getAreaListPage(params) {
+ return request({
+ url: 'area/listPage',
+ method: 'get',
+ params
+ })
+}
// 根据部门找其默认区域
export function getAreaByDept(deptid) {
return request({
diff --git a/src/components/CMap/components/cmap.vue b/src/components/CMap/components/cmap.vue
index 2e0604c..9bfc2dd 100644
--- a/src/components/CMap/components/cmap.vue
+++ b/src/components/CMap/components/cmap.vue
@@ -73,11 +73,10 @@
'': { size: [10, 10], anchor: [10, 10] }
}, // 图标管理器
layerId: 'yizhuang_poi', // 需要加载的图层id
- queryString: 'ID<1000', // 地图筛选条件
+ queryString: '', // 地图筛选条件
layerInfoManager: {
- yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'Y', lngfd: 'X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'Adress', cache: true, showtype: 'auto' }
+ yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'COORDINATE_Y', lngfd: 'COORDINATE_X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'POSITION', cache: true, showtype: 'auto' }
}, // 图层信息管理器
- // style: 'http://localhost:8080/static/images/map_images/alarm-well1.png',
style: 'resource/images/sys/markers/未分类/dot',
stylepos: 1,
overlay: null,
@@ -119,12 +118,10 @@
mapLayers.setMaxZoom(val)
},
alarmMarkers(val) {
- console.log('alarmMarkers')
this.renderMarkers()
}
},
mounted() {
- console.log('map mounted')
this.reset()
},
activated() {
@@ -320,9 +317,9 @@
stylepos: this.stylepos,
stylefd: layerInfoManager[layerId].stylefd,
morecon: this.queryString,
- namefd: '',
+ namefd: layerInfoManager[layerId].namefd,
keyfd: '',
- attrfds: '' }
+ attrfds: layerInfoManager[layerId].attrfds }
const tableinfostr = CEncodeSpecialChar(CJsonToStringify(tableinfo))
opts.params.tableinfo = tableinfostr
}
@@ -337,8 +334,6 @@
this.registerDotQuery('yizhuang_poi', function(e, _data) {
if (_data.length > 0) {
that.openInfoWindow(_data[0].id, e)
- } else {
-
}
})
// this.loadBigViewFeature(layerId, this.drawFeature)
@@ -351,6 +346,7 @@
mapLayers.removeLayer(overlayManager[layerId])
delete overlayManager[layerId]
}
+ mapLayers.closePopup()
},
// 过滤海量点
filterPoi(listQuery) {
@@ -370,13 +366,11 @@
queryList.push('DEPTID=' + deptid)
}
this.queryString = queryList.join(' and ')
- console.log(this.queryString)
this.cleanPoi()
this.renderPoi(false)
},
// loadBigViewFeature
loadBigViewFeature(id, callback) {
- console.log('loadBigViewFeature')
const { mapLayers, layerInfoManager } = this
if (layerInfoManager[id].spanzoom > mapLayers.getZoom() && layerInfoManager[id].showtype !== 'client') { return }
var bounds = getGlobalBounds()
@@ -456,7 +450,7 @@
if (layerInfoManager[id].layerid) {
transObj.params.layerid = CEncode(layerInfoManager[id].layerid)
} else {
- const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: layerInfoManager[id].morecon, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
+ const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: this.queryString, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
transObj.params.tableinfo = CEncodeSpecialChar(CJsonToStringify(tableinfo))
}
@@ -539,10 +533,8 @@
mapLayers.setZoom(17)
mapLayers.setCenter(overlay.getLatLng())
// this.center = alarmInfo.position
- console.log('before setPopupContent')
overlay.setPopupContent(dom)
// debugger
- console.log('after setPopupContent')
overlay.openPopup()
}
})
@@ -563,8 +555,8 @@
'详细地址:' + wellInfo.position + '
' +
'' +
''
- mapLayers.setZoom(18)
const position = new CLatLng(wellInfo.coordinateY, wellInfo.coordinateX)
+ // mapLayers.setZoom(17)
mapLayers.openInfoWindow(position, dom)
}
})
@@ -631,6 +623,9 @@
width:100%;
height: calc(100vh - 84px);
}
+ .selectedmaptypecontrol{
+ display: none;
+ }
/*.alarm-window{*/
/*max-width: 250px;*/
/*!*background-color: #ffeaf1;*!*/
diff --git a/src/icons/svg/icon-base.svg b/src/icons/svg/icon-base.svg
new file mode 100644
index 0000000..6271178
--- /dev/null
+++ b/src/icons/svg/icon-base.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 78a0ead..ae8c51a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
+smartwell/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
diff --git a/src/App.vue b/src/App.vue
index 721d3a3..274bace 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,6 @@
diff --git a/src/api/area.js b/src/api/area.js
index a5a6b0d..974ce81 100644
--- a/src/api/area.js
+++ b/src/api/area.js
@@ -12,6 +12,14 @@
}
})
}
+// 区域查询
+export function getAreaListPage(params) {
+ return request({
+ url: 'area/listPage',
+ method: 'get',
+ params
+ })
+}
// 根据部门找其默认区域
export function getAreaByDept(deptid) {
return request({
diff --git a/src/components/CMap/components/cmap.vue b/src/components/CMap/components/cmap.vue
index 2e0604c..9bfc2dd 100644
--- a/src/components/CMap/components/cmap.vue
+++ b/src/components/CMap/components/cmap.vue
@@ -73,11 +73,10 @@
'': { size: [10, 10], anchor: [10, 10] }
}, // 图标管理器
layerId: 'yizhuang_poi', // 需要加载的图层id
- queryString: 'ID<1000', // 地图筛选条件
+ queryString: '', // 地图筛选条件
layerInfoManager: {
- yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'Y', lngfd: 'X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'Adress', cache: true, showtype: 'auto' }
+ yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'COORDINATE_Y', lngfd: 'COORDINATE_X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'POSITION', cache: true, showtype: 'auto' }
}, // 图层信息管理器
- // style: 'http://localhost:8080/static/images/map_images/alarm-well1.png',
style: 'resource/images/sys/markers/未分类/dot',
stylepos: 1,
overlay: null,
@@ -119,12 +118,10 @@
mapLayers.setMaxZoom(val)
},
alarmMarkers(val) {
- console.log('alarmMarkers')
this.renderMarkers()
}
},
mounted() {
- console.log('map mounted')
this.reset()
},
activated() {
@@ -320,9 +317,9 @@
stylepos: this.stylepos,
stylefd: layerInfoManager[layerId].stylefd,
morecon: this.queryString,
- namefd: '',
+ namefd: layerInfoManager[layerId].namefd,
keyfd: '',
- attrfds: '' }
+ attrfds: layerInfoManager[layerId].attrfds }
const tableinfostr = CEncodeSpecialChar(CJsonToStringify(tableinfo))
opts.params.tableinfo = tableinfostr
}
@@ -337,8 +334,6 @@
this.registerDotQuery('yizhuang_poi', function(e, _data) {
if (_data.length > 0) {
that.openInfoWindow(_data[0].id, e)
- } else {
-
}
})
// this.loadBigViewFeature(layerId, this.drawFeature)
@@ -351,6 +346,7 @@
mapLayers.removeLayer(overlayManager[layerId])
delete overlayManager[layerId]
}
+ mapLayers.closePopup()
},
// 过滤海量点
filterPoi(listQuery) {
@@ -370,13 +366,11 @@
queryList.push('DEPTID=' + deptid)
}
this.queryString = queryList.join(' and ')
- console.log(this.queryString)
this.cleanPoi()
this.renderPoi(false)
},
// loadBigViewFeature
loadBigViewFeature(id, callback) {
- console.log('loadBigViewFeature')
const { mapLayers, layerInfoManager } = this
if (layerInfoManager[id].spanzoom > mapLayers.getZoom() && layerInfoManager[id].showtype !== 'client') { return }
var bounds = getGlobalBounds()
@@ -456,7 +450,7 @@
if (layerInfoManager[id].layerid) {
transObj.params.layerid = CEncode(layerInfoManager[id].layerid)
} else {
- const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: layerInfoManager[id].morecon, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
+ const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: this.queryString, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
transObj.params.tableinfo = CEncodeSpecialChar(CJsonToStringify(tableinfo))
}
@@ -539,10 +533,8 @@
mapLayers.setZoom(17)
mapLayers.setCenter(overlay.getLatLng())
// this.center = alarmInfo.position
- console.log('before setPopupContent')
overlay.setPopupContent(dom)
// debugger
- console.log('after setPopupContent')
overlay.openPopup()
}
})
@@ -563,8 +555,8 @@
'详细地址:' + wellInfo.position + '
' +
'' +
''
- mapLayers.setZoom(18)
const position = new CLatLng(wellInfo.coordinateY, wellInfo.coordinateX)
+ // mapLayers.setZoom(17)
mapLayers.openInfoWindow(position, dom)
}
})
@@ -631,6 +623,9 @@
width:100%;
height: calc(100vh - 84px);
}
+ .selectedmaptypecontrol{
+ display: none;
+ }
/*.alarm-window{*/
/*max-width: 250px;*/
/*!*background-color: #ffeaf1;*!*/
diff --git a/src/icons/svg/icon-base.svg b/src/icons/svg/icon-base.svg
new file mode 100644
index 0000000..6271178
--- /dev/null
+++ b/src/icons/svg/icon-base.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/views/alarmManage/listAlarmNow.vue b/src/views/alarmManage/listAlarmNow.vue
index 49713f4..1490257 100644
--- a/src/views/alarmManage/listAlarmNow.vue
+++ b/src/views/alarmManage/listAlarmNow.vue
@@ -235,14 +235,14 @@
cancelAlarm(jobId) {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, jobId, false)
+ this.$refs.handlePrompt.initDialog(true, jobId, false)
// }, 100)
},
// 取消报警,调用结束工单接口
batchCancel() {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
+ this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
// }, 100)
},
formatValue(cellValue) {
diff --git a/.gitignore b/.gitignore
index 78a0ead..ae8c51a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
+smartwell/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
diff --git a/src/App.vue b/src/App.vue
index 721d3a3..274bace 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,6 @@
diff --git a/src/api/area.js b/src/api/area.js
index a5a6b0d..974ce81 100644
--- a/src/api/area.js
+++ b/src/api/area.js
@@ -12,6 +12,14 @@
}
})
}
+// 区域查询
+export function getAreaListPage(params) {
+ return request({
+ url: 'area/listPage',
+ method: 'get',
+ params
+ })
+}
// 根据部门找其默认区域
export function getAreaByDept(deptid) {
return request({
diff --git a/src/components/CMap/components/cmap.vue b/src/components/CMap/components/cmap.vue
index 2e0604c..9bfc2dd 100644
--- a/src/components/CMap/components/cmap.vue
+++ b/src/components/CMap/components/cmap.vue
@@ -73,11 +73,10 @@
'': { size: [10, 10], anchor: [10, 10] }
}, // 图标管理器
layerId: 'yizhuang_poi', // 需要加载的图层id
- queryString: 'ID<1000', // 地图筛选条件
+ queryString: '', // 地图筛选条件
layerInfoManager: {
- yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'Y', lngfd: 'X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'Adress', cache: true, showtype: 'auto' }
+ yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'COORDINATE_Y', lngfd: 'COORDINATE_X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'POSITION', cache: true, showtype: 'auto' }
}, // 图层信息管理器
- // style: 'http://localhost:8080/static/images/map_images/alarm-well1.png',
style: 'resource/images/sys/markers/未分类/dot',
stylepos: 1,
overlay: null,
@@ -119,12 +118,10 @@
mapLayers.setMaxZoom(val)
},
alarmMarkers(val) {
- console.log('alarmMarkers')
this.renderMarkers()
}
},
mounted() {
- console.log('map mounted')
this.reset()
},
activated() {
@@ -320,9 +317,9 @@
stylepos: this.stylepos,
stylefd: layerInfoManager[layerId].stylefd,
morecon: this.queryString,
- namefd: '',
+ namefd: layerInfoManager[layerId].namefd,
keyfd: '',
- attrfds: '' }
+ attrfds: layerInfoManager[layerId].attrfds }
const tableinfostr = CEncodeSpecialChar(CJsonToStringify(tableinfo))
opts.params.tableinfo = tableinfostr
}
@@ -337,8 +334,6 @@
this.registerDotQuery('yizhuang_poi', function(e, _data) {
if (_data.length > 0) {
that.openInfoWindow(_data[0].id, e)
- } else {
-
}
})
// this.loadBigViewFeature(layerId, this.drawFeature)
@@ -351,6 +346,7 @@
mapLayers.removeLayer(overlayManager[layerId])
delete overlayManager[layerId]
}
+ mapLayers.closePopup()
},
// 过滤海量点
filterPoi(listQuery) {
@@ -370,13 +366,11 @@
queryList.push('DEPTID=' + deptid)
}
this.queryString = queryList.join(' and ')
- console.log(this.queryString)
this.cleanPoi()
this.renderPoi(false)
},
// loadBigViewFeature
loadBigViewFeature(id, callback) {
- console.log('loadBigViewFeature')
const { mapLayers, layerInfoManager } = this
if (layerInfoManager[id].spanzoom > mapLayers.getZoom() && layerInfoManager[id].showtype !== 'client') { return }
var bounds = getGlobalBounds()
@@ -456,7 +450,7 @@
if (layerInfoManager[id].layerid) {
transObj.params.layerid = CEncode(layerInfoManager[id].layerid)
} else {
- const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: layerInfoManager[id].morecon, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
+ const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: this.queryString, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
transObj.params.tableinfo = CEncodeSpecialChar(CJsonToStringify(tableinfo))
}
@@ -539,10 +533,8 @@
mapLayers.setZoom(17)
mapLayers.setCenter(overlay.getLatLng())
// this.center = alarmInfo.position
- console.log('before setPopupContent')
overlay.setPopupContent(dom)
// debugger
- console.log('after setPopupContent')
overlay.openPopup()
}
})
@@ -563,8 +555,8 @@
'详细地址:' + wellInfo.position + '
' +
'' +
''
- mapLayers.setZoom(18)
const position = new CLatLng(wellInfo.coordinateY, wellInfo.coordinateX)
+ // mapLayers.setZoom(17)
mapLayers.openInfoWindow(position, dom)
}
})
@@ -631,6 +623,9 @@
width:100%;
height: calc(100vh - 84px);
}
+ .selectedmaptypecontrol{
+ display: none;
+ }
/*.alarm-window{*/
/*max-width: 250px;*/
/*!*background-color: #ffeaf1;*!*/
diff --git a/src/icons/svg/icon-base.svg b/src/icons/svg/icon-base.svg
new file mode 100644
index 0000000..6271178
--- /dev/null
+++ b/src/icons/svg/icon-base.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/views/alarmManage/listAlarmNow.vue b/src/views/alarmManage/listAlarmNow.vue
index 49713f4..1490257 100644
--- a/src/views/alarmManage/listAlarmNow.vue
+++ b/src/views/alarmManage/listAlarmNow.vue
@@ -235,14 +235,14 @@
cancelAlarm(jobId) {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, jobId, false)
+ this.$refs.handlePrompt.initDialog(true, jobId, false)
// }, 100)
},
// 取消报警,调用结束工单接口
batchCancel() {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
+ this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
// }, 100)
},
formatValue(cellValue) {
diff --git a/src/views/alarmManage/listAlarmRecords.vue b/src/views/alarmManage/listAlarmRecords.vue
index 886ffc7..b5d4908 100644
--- a/src/views/alarmManage/listAlarmRecords.vue
+++ b/src/views/alarmManage/listAlarmRecords.vue
@@ -50,7 +50,8 @@
- {{ scope.row[column.value] }}
+ {{ scope.row[column.value] }}
+ {{ formatValue(scope.row[column.value]) }}
{{ scope.row[column.value] }}
@@ -124,6 +125,12 @@
align: 'center'
},
{
+ text: '告警等级',
+ value: 'alarmLevel',
+ align: 'center',
+ level: true
+ },
+ {
text: '告警原因',
value: 'alarmContentName',
align: 'center'
@@ -201,8 +208,8 @@
next()
},
mounted() {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -217,8 +224,8 @@
activated() {
console.log('alarmRecored actived')
if (!isFromDetail) {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -237,6 +244,17 @@
this.wellShow = true
this.$refs.wellInfo.initDialog(row.wellId)
},
+ formatValue(cellValue) {
+ if (cellValue === 1) {
+ return '一级告警'
+ } else if (cellValue === 2) {
+ return '二级告警'
+ } else if (cellValue === 3) {
+ return '三级告警'
+ } else {
+ return ''
+ }
+ },
// 工单
showJob(row) {
const jobId = row.jobId
diff --git a/.gitignore b/.gitignore
index 78a0ead..ae8c51a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
+smartwell/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
diff --git a/src/App.vue b/src/App.vue
index 721d3a3..274bace 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,6 @@
diff --git a/src/api/area.js b/src/api/area.js
index a5a6b0d..974ce81 100644
--- a/src/api/area.js
+++ b/src/api/area.js
@@ -12,6 +12,14 @@
}
})
}
+// 区域查询
+export function getAreaListPage(params) {
+ return request({
+ url: 'area/listPage',
+ method: 'get',
+ params
+ })
+}
// 根据部门找其默认区域
export function getAreaByDept(deptid) {
return request({
diff --git a/src/components/CMap/components/cmap.vue b/src/components/CMap/components/cmap.vue
index 2e0604c..9bfc2dd 100644
--- a/src/components/CMap/components/cmap.vue
+++ b/src/components/CMap/components/cmap.vue
@@ -73,11 +73,10 @@
'': { size: [10, 10], anchor: [10, 10] }
}, // 图标管理器
layerId: 'yizhuang_poi', // 需要加载的图层id
- queryString: 'ID<1000', // 地图筛选条件
+ queryString: '', // 地图筛选条件
layerInfoManager: {
- yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'Y', lngfd: 'X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'Adress', cache: true, showtype: 'auto' }
+ yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'COORDINATE_Y', lngfd: 'COORDINATE_X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'POSITION', cache: true, showtype: 'auto' }
}, // 图层信息管理器
- // style: 'http://localhost:8080/static/images/map_images/alarm-well1.png',
style: 'resource/images/sys/markers/未分类/dot',
stylepos: 1,
overlay: null,
@@ -119,12 +118,10 @@
mapLayers.setMaxZoom(val)
},
alarmMarkers(val) {
- console.log('alarmMarkers')
this.renderMarkers()
}
},
mounted() {
- console.log('map mounted')
this.reset()
},
activated() {
@@ -320,9 +317,9 @@
stylepos: this.stylepos,
stylefd: layerInfoManager[layerId].stylefd,
morecon: this.queryString,
- namefd: '',
+ namefd: layerInfoManager[layerId].namefd,
keyfd: '',
- attrfds: '' }
+ attrfds: layerInfoManager[layerId].attrfds }
const tableinfostr = CEncodeSpecialChar(CJsonToStringify(tableinfo))
opts.params.tableinfo = tableinfostr
}
@@ -337,8 +334,6 @@
this.registerDotQuery('yizhuang_poi', function(e, _data) {
if (_data.length > 0) {
that.openInfoWindow(_data[0].id, e)
- } else {
-
}
})
// this.loadBigViewFeature(layerId, this.drawFeature)
@@ -351,6 +346,7 @@
mapLayers.removeLayer(overlayManager[layerId])
delete overlayManager[layerId]
}
+ mapLayers.closePopup()
},
// 过滤海量点
filterPoi(listQuery) {
@@ -370,13 +366,11 @@
queryList.push('DEPTID=' + deptid)
}
this.queryString = queryList.join(' and ')
- console.log(this.queryString)
this.cleanPoi()
this.renderPoi(false)
},
// loadBigViewFeature
loadBigViewFeature(id, callback) {
- console.log('loadBigViewFeature')
const { mapLayers, layerInfoManager } = this
if (layerInfoManager[id].spanzoom > mapLayers.getZoom() && layerInfoManager[id].showtype !== 'client') { return }
var bounds = getGlobalBounds()
@@ -456,7 +450,7 @@
if (layerInfoManager[id].layerid) {
transObj.params.layerid = CEncode(layerInfoManager[id].layerid)
} else {
- const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: layerInfoManager[id].morecon, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
+ const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: this.queryString, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
transObj.params.tableinfo = CEncodeSpecialChar(CJsonToStringify(tableinfo))
}
@@ -539,10 +533,8 @@
mapLayers.setZoom(17)
mapLayers.setCenter(overlay.getLatLng())
// this.center = alarmInfo.position
- console.log('before setPopupContent')
overlay.setPopupContent(dom)
// debugger
- console.log('after setPopupContent')
overlay.openPopup()
}
})
@@ -563,8 +555,8 @@
'详细地址:' + wellInfo.position + '
' +
'' +
''
- mapLayers.setZoom(18)
const position = new CLatLng(wellInfo.coordinateY, wellInfo.coordinateX)
+ // mapLayers.setZoom(17)
mapLayers.openInfoWindow(position, dom)
}
})
@@ -631,6 +623,9 @@
width:100%;
height: calc(100vh - 84px);
}
+ .selectedmaptypecontrol{
+ display: none;
+ }
/*.alarm-window{*/
/*max-width: 250px;*/
/*!*background-color: #ffeaf1;*!*/
diff --git a/src/icons/svg/icon-base.svg b/src/icons/svg/icon-base.svg
new file mode 100644
index 0000000..6271178
--- /dev/null
+++ b/src/icons/svg/icon-base.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/views/alarmManage/listAlarmNow.vue b/src/views/alarmManage/listAlarmNow.vue
index 49713f4..1490257 100644
--- a/src/views/alarmManage/listAlarmNow.vue
+++ b/src/views/alarmManage/listAlarmNow.vue
@@ -235,14 +235,14 @@
cancelAlarm(jobId) {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, jobId, false)
+ this.$refs.handlePrompt.initDialog(true, jobId, false)
// }, 100)
},
// 取消报警,调用结束工单接口
batchCancel() {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
+ this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
// }, 100)
},
formatValue(cellValue) {
diff --git a/src/views/alarmManage/listAlarmRecords.vue b/src/views/alarmManage/listAlarmRecords.vue
index 886ffc7..b5d4908 100644
--- a/src/views/alarmManage/listAlarmRecords.vue
+++ b/src/views/alarmManage/listAlarmRecords.vue
@@ -50,7 +50,8 @@
- {{ scope.row[column.value] }}
+ {{ scope.row[column.value] }}
+ {{ formatValue(scope.row[column.value]) }}
{{ scope.row[column.value] }}
@@ -124,6 +125,12 @@
align: 'center'
},
{
+ text: '告警等级',
+ value: 'alarmLevel',
+ align: 'center',
+ level: true
+ },
+ {
text: '告警原因',
value: 'alarmContentName',
align: 'center'
@@ -201,8 +208,8 @@
next()
},
mounted() {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -217,8 +224,8 @@
activated() {
console.log('alarmRecored actived')
if (!isFromDetail) {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -237,6 +244,17 @@
this.wellShow = true
this.$refs.wellInfo.initDialog(row.wellId)
},
+ formatValue(cellValue) {
+ if (cellValue === 1) {
+ return '一级告警'
+ } else if (cellValue === 2) {
+ return '二级告警'
+ } else if (cellValue === 3) {
+ return '三级告警'
+ } else {
+ return ''
+ }
+ },
// 工单
showJob(row) {
const jobId = row.jobId
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index db4e774..8a3748c 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -65,8 +65,7 @@
},
data() {
return {
- // wsPath: 'ws://10.9.39.8:8080/army/webSocket/'
- wsPath: 'ws://192.168.0.166:14537/websocket/'
+ wsPath: 'ws://119.254.103.80:14537/websocket/'
}
},
computed: {
@@ -106,10 +105,10 @@
}
// 监听socket消息接收
this.socket.onmessage = function(msg) {
- debugger
// 转换为json对象
const data = JSON.parse(msg.data)
if (data.type === 'alarm') {
+ this.playAudio()
that.$notify({
title: '新报警来了',
// 这里也可以把返回信息加入到message中显示
diff --git a/.gitignore b/.gitignore
index 78a0ead..ae8c51a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
+smartwell/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
diff --git a/src/App.vue b/src/App.vue
index 721d3a3..274bace 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,6 @@
diff --git a/src/api/area.js b/src/api/area.js
index a5a6b0d..974ce81 100644
--- a/src/api/area.js
+++ b/src/api/area.js
@@ -12,6 +12,14 @@
}
})
}
+// 区域查询
+export function getAreaListPage(params) {
+ return request({
+ url: 'area/listPage',
+ method: 'get',
+ params
+ })
+}
// 根据部门找其默认区域
export function getAreaByDept(deptid) {
return request({
diff --git a/src/components/CMap/components/cmap.vue b/src/components/CMap/components/cmap.vue
index 2e0604c..9bfc2dd 100644
--- a/src/components/CMap/components/cmap.vue
+++ b/src/components/CMap/components/cmap.vue
@@ -73,11 +73,10 @@
'': { size: [10, 10], anchor: [10, 10] }
}, // 图标管理器
layerId: 'yizhuang_poi', // 需要加载的图层id
- queryString: 'ID<1000', // 地图筛选条件
+ queryString: '', // 地图筛选条件
layerInfoManager: {
- yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'Y', lngfd: 'X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'Adress', cache: true, showtype: 'auto' }
+ yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'COORDINATE_Y', lngfd: 'COORDINATE_X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'POSITION', cache: true, showtype: 'auto' }
}, // 图层信息管理器
- // style: 'http://localhost:8080/static/images/map_images/alarm-well1.png',
style: 'resource/images/sys/markers/未分类/dot',
stylepos: 1,
overlay: null,
@@ -119,12 +118,10 @@
mapLayers.setMaxZoom(val)
},
alarmMarkers(val) {
- console.log('alarmMarkers')
this.renderMarkers()
}
},
mounted() {
- console.log('map mounted')
this.reset()
},
activated() {
@@ -320,9 +317,9 @@
stylepos: this.stylepos,
stylefd: layerInfoManager[layerId].stylefd,
morecon: this.queryString,
- namefd: '',
+ namefd: layerInfoManager[layerId].namefd,
keyfd: '',
- attrfds: '' }
+ attrfds: layerInfoManager[layerId].attrfds }
const tableinfostr = CEncodeSpecialChar(CJsonToStringify(tableinfo))
opts.params.tableinfo = tableinfostr
}
@@ -337,8 +334,6 @@
this.registerDotQuery('yizhuang_poi', function(e, _data) {
if (_data.length > 0) {
that.openInfoWindow(_data[0].id, e)
- } else {
-
}
})
// this.loadBigViewFeature(layerId, this.drawFeature)
@@ -351,6 +346,7 @@
mapLayers.removeLayer(overlayManager[layerId])
delete overlayManager[layerId]
}
+ mapLayers.closePopup()
},
// 过滤海量点
filterPoi(listQuery) {
@@ -370,13 +366,11 @@
queryList.push('DEPTID=' + deptid)
}
this.queryString = queryList.join(' and ')
- console.log(this.queryString)
this.cleanPoi()
this.renderPoi(false)
},
// loadBigViewFeature
loadBigViewFeature(id, callback) {
- console.log('loadBigViewFeature')
const { mapLayers, layerInfoManager } = this
if (layerInfoManager[id].spanzoom > mapLayers.getZoom() && layerInfoManager[id].showtype !== 'client') { return }
var bounds = getGlobalBounds()
@@ -456,7 +450,7 @@
if (layerInfoManager[id].layerid) {
transObj.params.layerid = CEncode(layerInfoManager[id].layerid)
} else {
- const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: layerInfoManager[id].morecon, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
+ const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: this.queryString, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
transObj.params.tableinfo = CEncodeSpecialChar(CJsonToStringify(tableinfo))
}
@@ -539,10 +533,8 @@
mapLayers.setZoom(17)
mapLayers.setCenter(overlay.getLatLng())
// this.center = alarmInfo.position
- console.log('before setPopupContent')
overlay.setPopupContent(dom)
// debugger
- console.log('after setPopupContent')
overlay.openPopup()
}
})
@@ -563,8 +555,8 @@
'详细地址:' + wellInfo.position + '
' +
'' +
''
- mapLayers.setZoom(18)
const position = new CLatLng(wellInfo.coordinateY, wellInfo.coordinateX)
+ // mapLayers.setZoom(17)
mapLayers.openInfoWindow(position, dom)
}
})
@@ -631,6 +623,9 @@
width:100%;
height: calc(100vh - 84px);
}
+ .selectedmaptypecontrol{
+ display: none;
+ }
/*.alarm-window{*/
/*max-width: 250px;*/
/*!*background-color: #ffeaf1;*!*/
diff --git a/src/icons/svg/icon-base.svg b/src/icons/svg/icon-base.svg
new file mode 100644
index 0000000..6271178
--- /dev/null
+++ b/src/icons/svg/icon-base.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/views/alarmManage/listAlarmNow.vue b/src/views/alarmManage/listAlarmNow.vue
index 49713f4..1490257 100644
--- a/src/views/alarmManage/listAlarmNow.vue
+++ b/src/views/alarmManage/listAlarmNow.vue
@@ -235,14 +235,14 @@
cancelAlarm(jobId) {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, jobId, false)
+ this.$refs.handlePrompt.initDialog(true, jobId, false)
// }, 100)
},
// 取消报警,调用结束工单接口
batchCancel() {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
+ this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
// }, 100)
},
formatValue(cellValue) {
diff --git a/src/views/alarmManage/listAlarmRecords.vue b/src/views/alarmManage/listAlarmRecords.vue
index 886ffc7..b5d4908 100644
--- a/src/views/alarmManage/listAlarmRecords.vue
+++ b/src/views/alarmManage/listAlarmRecords.vue
@@ -50,7 +50,8 @@
- {{ scope.row[column.value] }}
+ {{ scope.row[column.value] }}
+ {{ formatValue(scope.row[column.value]) }}
{{ scope.row[column.value] }}
@@ -124,6 +125,12 @@
align: 'center'
},
{
+ text: '告警等级',
+ value: 'alarmLevel',
+ align: 'center',
+ level: true
+ },
+ {
text: '告警原因',
value: 'alarmContentName',
align: 'center'
@@ -201,8 +208,8 @@
next()
},
mounted() {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -217,8 +224,8 @@
activated() {
console.log('alarmRecored actived')
if (!isFromDetail) {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -237,6 +244,17 @@
this.wellShow = true
this.$refs.wellInfo.initDialog(row.wellId)
},
+ formatValue(cellValue) {
+ if (cellValue === 1) {
+ return '一级告警'
+ } else if (cellValue === 2) {
+ return '二级告警'
+ } else if (cellValue === 3) {
+ return '三级告警'
+ } else {
+ return ''
+ }
+ },
// 工单
showJob(row) {
const jobId = row.jobId
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index db4e774..8a3748c 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -65,8 +65,7 @@
},
data() {
return {
- // wsPath: 'ws://10.9.39.8:8080/army/webSocket/'
- wsPath: 'ws://192.168.0.166:14537/websocket/'
+ wsPath: 'ws://119.254.103.80:14537/websocket/'
}
},
computed: {
@@ -106,10 +105,10 @@
}
// 监听socket消息接收
this.socket.onmessage = function(msg) {
- debugger
// 转换为json对象
const data = JSON.parse(msg.data)
if (data.type === 'alarm') {
+ this.playAudio()
that.$notify({
title: '新报警来了',
// 这里也可以把返回信息加入到message中显示
diff --git a/src/views/dataManage/deviceData/listFlowmeterData.vue b/src/views/dataManage/deviceData/listFlowmeterData.vue
index 57a84a4..30d9395 100644
--- a/src/views/dataManage/deviceData/listFlowmeterData.vue
+++ b/src/views/dataManage/deviceData/listFlowmeterData.vue
@@ -97,27 +97,27 @@
// align: 'center'
// },
{
- text: '水位',
+ text: '水位(m)',
value: 'waterLevel',
align: 'center'
},
{
- text: '流速',
+ text: '流速(m/s)',
value: 'flowVelocity',
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temperature',
align: 'center'
},
{
- text: '瞬时流量',
+ text: '瞬时流量(m³/s)',
value: 'instantFlow',
align: 'center'
},
{
- text: '累计流量',
+ text: '累计流量(m³)',
value: 'totalFlow',
align: 'center'
},
diff --git a/.gitignore b/.gitignore
index 78a0ead..ae8c51a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
+smartwell/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
diff --git a/src/App.vue b/src/App.vue
index 721d3a3..274bace 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,6 @@
diff --git a/src/api/area.js b/src/api/area.js
index a5a6b0d..974ce81 100644
--- a/src/api/area.js
+++ b/src/api/area.js
@@ -12,6 +12,14 @@
}
})
}
+// 区域查询
+export function getAreaListPage(params) {
+ return request({
+ url: 'area/listPage',
+ method: 'get',
+ params
+ })
+}
// 根据部门找其默认区域
export function getAreaByDept(deptid) {
return request({
diff --git a/src/components/CMap/components/cmap.vue b/src/components/CMap/components/cmap.vue
index 2e0604c..9bfc2dd 100644
--- a/src/components/CMap/components/cmap.vue
+++ b/src/components/CMap/components/cmap.vue
@@ -73,11 +73,10 @@
'': { size: [10, 10], anchor: [10, 10] }
}, // 图标管理器
layerId: 'yizhuang_poi', // 需要加载的图层id
- queryString: 'ID<1000', // 地图筛选条件
+ queryString: '', // 地图筛选条件
layerInfoManager: {
- yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'Y', lngfd: 'X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'Adress', cache: true, showtype: 'auto' }
+ yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'COORDINATE_Y', lngfd: 'COORDINATE_X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'POSITION', cache: true, showtype: 'auto' }
}, // 图层信息管理器
- // style: 'http://localhost:8080/static/images/map_images/alarm-well1.png',
style: 'resource/images/sys/markers/未分类/dot',
stylepos: 1,
overlay: null,
@@ -119,12 +118,10 @@
mapLayers.setMaxZoom(val)
},
alarmMarkers(val) {
- console.log('alarmMarkers')
this.renderMarkers()
}
},
mounted() {
- console.log('map mounted')
this.reset()
},
activated() {
@@ -320,9 +317,9 @@
stylepos: this.stylepos,
stylefd: layerInfoManager[layerId].stylefd,
morecon: this.queryString,
- namefd: '',
+ namefd: layerInfoManager[layerId].namefd,
keyfd: '',
- attrfds: '' }
+ attrfds: layerInfoManager[layerId].attrfds }
const tableinfostr = CEncodeSpecialChar(CJsonToStringify(tableinfo))
opts.params.tableinfo = tableinfostr
}
@@ -337,8 +334,6 @@
this.registerDotQuery('yizhuang_poi', function(e, _data) {
if (_data.length > 0) {
that.openInfoWindow(_data[0].id, e)
- } else {
-
}
})
// this.loadBigViewFeature(layerId, this.drawFeature)
@@ -351,6 +346,7 @@
mapLayers.removeLayer(overlayManager[layerId])
delete overlayManager[layerId]
}
+ mapLayers.closePopup()
},
// 过滤海量点
filterPoi(listQuery) {
@@ -370,13 +366,11 @@
queryList.push('DEPTID=' + deptid)
}
this.queryString = queryList.join(' and ')
- console.log(this.queryString)
this.cleanPoi()
this.renderPoi(false)
},
// loadBigViewFeature
loadBigViewFeature(id, callback) {
- console.log('loadBigViewFeature')
const { mapLayers, layerInfoManager } = this
if (layerInfoManager[id].spanzoom > mapLayers.getZoom() && layerInfoManager[id].showtype !== 'client') { return }
var bounds = getGlobalBounds()
@@ -456,7 +450,7 @@
if (layerInfoManager[id].layerid) {
transObj.params.layerid = CEncode(layerInfoManager[id].layerid)
} else {
- const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: layerInfoManager[id].morecon, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
+ const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: this.queryString, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
transObj.params.tableinfo = CEncodeSpecialChar(CJsonToStringify(tableinfo))
}
@@ -539,10 +533,8 @@
mapLayers.setZoom(17)
mapLayers.setCenter(overlay.getLatLng())
// this.center = alarmInfo.position
- console.log('before setPopupContent')
overlay.setPopupContent(dom)
// debugger
- console.log('after setPopupContent')
overlay.openPopup()
}
})
@@ -563,8 +555,8 @@
'详细地址:' + wellInfo.position + '
' +
'' +
''
- mapLayers.setZoom(18)
const position = new CLatLng(wellInfo.coordinateY, wellInfo.coordinateX)
+ // mapLayers.setZoom(17)
mapLayers.openInfoWindow(position, dom)
}
})
@@ -631,6 +623,9 @@
width:100%;
height: calc(100vh - 84px);
}
+ .selectedmaptypecontrol{
+ display: none;
+ }
/*.alarm-window{*/
/*max-width: 250px;*/
/*!*background-color: #ffeaf1;*!*/
diff --git a/src/icons/svg/icon-base.svg b/src/icons/svg/icon-base.svg
new file mode 100644
index 0000000..6271178
--- /dev/null
+++ b/src/icons/svg/icon-base.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/views/alarmManage/listAlarmNow.vue b/src/views/alarmManage/listAlarmNow.vue
index 49713f4..1490257 100644
--- a/src/views/alarmManage/listAlarmNow.vue
+++ b/src/views/alarmManage/listAlarmNow.vue
@@ -235,14 +235,14 @@
cancelAlarm(jobId) {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, jobId, false)
+ this.$refs.handlePrompt.initDialog(true, jobId, false)
// }, 100)
},
// 取消报警,调用结束工单接口
batchCancel() {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
+ this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
// }, 100)
},
formatValue(cellValue) {
diff --git a/src/views/alarmManage/listAlarmRecords.vue b/src/views/alarmManage/listAlarmRecords.vue
index 886ffc7..b5d4908 100644
--- a/src/views/alarmManage/listAlarmRecords.vue
+++ b/src/views/alarmManage/listAlarmRecords.vue
@@ -50,7 +50,8 @@
- {{ scope.row[column.value] }}
+ {{ scope.row[column.value] }}
+ {{ formatValue(scope.row[column.value]) }}
{{ scope.row[column.value] }}
@@ -124,6 +125,12 @@
align: 'center'
},
{
+ text: '告警等级',
+ value: 'alarmLevel',
+ align: 'center',
+ level: true
+ },
+ {
text: '告警原因',
value: 'alarmContentName',
align: 'center'
@@ -201,8 +208,8 @@
next()
},
mounted() {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -217,8 +224,8 @@
activated() {
console.log('alarmRecored actived')
if (!isFromDetail) {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -237,6 +244,17 @@
this.wellShow = true
this.$refs.wellInfo.initDialog(row.wellId)
},
+ formatValue(cellValue) {
+ if (cellValue === 1) {
+ return '一级告警'
+ } else if (cellValue === 2) {
+ return '二级告警'
+ } else if (cellValue === 3) {
+ return '三级告警'
+ } else {
+ return ''
+ }
+ },
// 工单
showJob(row) {
const jobId = row.jobId
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index db4e774..8a3748c 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -65,8 +65,7 @@
},
data() {
return {
- // wsPath: 'ws://10.9.39.8:8080/army/webSocket/'
- wsPath: 'ws://192.168.0.166:14537/websocket/'
+ wsPath: 'ws://119.254.103.80:14537/websocket/'
}
},
computed: {
@@ -106,10 +105,10 @@
}
// 监听socket消息接收
this.socket.onmessage = function(msg) {
- debugger
// 转换为json对象
const data = JSON.parse(msg.data)
if (data.type === 'alarm') {
+ this.playAudio()
that.$notify({
title: '新报警来了',
// 这里也可以把返回信息加入到message中显示
diff --git a/src/views/dataManage/deviceData/listFlowmeterData.vue b/src/views/dataManage/deviceData/listFlowmeterData.vue
index 57a84a4..30d9395 100644
--- a/src/views/dataManage/deviceData/listFlowmeterData.vue
+++ b/src/views/dataManage/deviceData/listFlowmeterData.vue
@@ -97,27 +97,27 @@
// align: 'center'
// },
{
- text: '水位',
+ text: '水位(m)',
value: 'waterLevel',
align: 'center'
},
{
- text: '流速',
+ text: '流速(m/s)',
value: 'flowVelocity',
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temperature',
align: 'center'
},
{
- text: '瞬时流量',
+ text: '瞬时流量(m³/s)',
value: 'instantFlow',
align: 'center'
},
{
- text: '累计流量',
+ text: '累计流量(m³)',
value: 'totalFlow',
align: 'center'
},
diff --git a/src/views/dataManage/deviceData/listMeterData.vue b/src/views/dataManage/deviceData/listMeterData.vue
index 20967c4..8c0a30a 100644
--- a/src/views/dataManage/deviceData/listMeterData.vue
+++ b/src/views/dataManage/deviceData/listMeterData.vue
@@ -92,7 +92,7 @@
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temp',
align: 'center'
},
@@ -102,45 +102,45 @@
align: 'center'
},
{
- text: '电导率',
+ text: '电导率(mS/cm)',
value: 'conductivity',
align: 'center'
},
{
- text: '溶解氧',
+ text: '溶解氧(mg/L)',
value: 'do',
align: 'center'
},
{
- text: '浊度',
+ text: '浊度(NTU)',
value: 'turbidity',
align: 'center'
},
{
- text: 'COD',
+ text: 'COD(mg/L)',
value: 'cod',
align: 'center'
},
{
- text: '氨氮',
+ text: '氨氮(mg/L)',
value: 'an',
align: 'center'
},
{
- text: '总磷',
+ text: '总磷(mg/L)',
value: 'tp',
align: 'center'
},
{
- text: '总氮',
+ text: '总氮(mg/L)',
value: 'tn',
align: 'center'
},
- {
- text: '状态描述',
- value: 'descn',
- align: 'center'
- },
+ // {
+ // text: '状态描述',
+ // value: 'descn',
+ // align: 'center'
+ // },
// {
// text: '权属单位',
// value: 'deptName',
@@ -149,7 +149,7 @@
{
text: '记录时间',
value: 'logtime',
- width: 170,
+ width: 160,
align: 'center'
}
], // 显示列
diff --git a/.gitignore b/.gitignore
index 78a0ead..ae8c51a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
+smartwell/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
diff --git a/src/App.vue b/src/App.vue
index 721d3a3..274bace 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,6 @@
diff --git a/src/api/area.js b/src/api/area.js
index a5a6b0d..974ce81 100644
--- a/src/api/area.js
+++ b/src/api/area.js
@@ -12,6 +12,14 @@
}
})
}
+// 区域查询
+export function getAreaListPage(params) {
+ return request({
+ url: 'area/listPage',
+ method: 'get',
+ params
+ })
+}
// 根据部门找其默认区域
export function getAreaByDept(deptid) {
return request({
diff --git a/src/components/CMap/components/cmap.vue b/src/components/CMap/components/cmap.vue
index 2e0604c..9bfc2dd 100644
--- a/src/components/CMap/components/cmap.vue
+++ b/src/components/CMap/components/cmap.vue
@@ -73,11 +73,10 @@
'': { size: [10, 10], anchor: [10, 10] }
}, // 图标管理器
layerId: 'yizhuang_poi', // 需要加载的图层id
- queryString: 'ID<1000', // 地图筛选条件
+ queryString: '', // 地图筛选条件
layerInfoManager: {
- yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'Y', lngfd: 'X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'Adress', cache: true, showtype: 'auto' }
+ yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'COORDINATE_Y', lngfd: 'COORDINATE_X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'POSITION', cache: true, showtype: 'auto' }
}, // 图层信息管理器
- // style: 'http://localhost:8080/static/images/map_images/alarm-well1.png',
style: 'resource/images/sys/markers/未分类/dot',
stylepos: 1,
overlay: null,
@@ -119,12 +118,10 @@
mapLayers.setMaxZoom(val)
},
alarmMarkers(val) {
- console.log('alarmMarkers')
this.renderMarkers()
}
},
mounted() {
- console.log('map mounted')
this.reset()
},
activated() {
@@ -320,9 +317,9 @@
stylepos: this.stylepos,
stylefd: layerInfoManager[layerId].stylefd,
morecon: this.queryString,
- namefd: '',
+ namefd: layerInfoManager[layerId].namefd,
keyfd: '',
- attrfds: '' }
+ attrfds: layerInfoManager[layerId].attrfds }
const tableinfostr = CEncodeSpecialChar(CJsonToStringify(tableinfo))
opts.params.tableinfo = tableinfostr
}
@@ -337,8 +334,6 @@
this.registerDotQuery('yizhuang_poi', function(e, _data) {
if (_data.length > 0) {
that.openInfoWindow(_data[0].id, e)
- } else {
-
}
})
// this.loadBigViewFeature(layerId, this.drawFeature)
@@ -351,6 +346,7 @@
mapLayers.removeLayer(overlayManager[layerId])
delete overlayManager[layerId]
}
+ mapLayers.closePopup()
},
// 过滤海量点
filterPoi(listQuery) {
@@ -370,13 +366,11 @@
queryList.push('DEPTID=' + deptid)
}
this.queryString = queryList.join(' and ')
- console.log(this.queryString)
this.cleanPoi()
this.renderPoi(false)
},
// loadBigViewFeature
loadBigViewFeature(id, callback) {
- console.log('loadBigViewFeature')
const { mapLayers, layerInfoManager } = this
if (layerInfoManager[id].spanzoom > mapLayers.getZoom() && layerInfoManager[id].showtype !== 'client') { return }
var bounds = getGlobalBounds()
@@ -456,7 +450,7 @@
if (layerInfoManager[id].layerid) {
transObj.params.layerid = CEncode(layerInfoManager[id].layerid)
} else {
- const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: layerInfoManager[id].morecon, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
+ const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: this.queryString, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
transObj.params.tableinfo = CEncodeSpecialChar(CJsonToStringify(tableinfo))
}
@@ -539,10 +533,8 @@
mapLayers.setZoom(17)
mapLayers.setCenter(overlay.getLatLng())
// this.center = alarmInfo.position
- console.log('before setPopupContent')
overlay.setPopupContent(dom)
// debugger
- console.log('after setPopupContent')
overlay.openPopup()
}
})
@@ -563,8 +555,8 @@
'详细地址:' + wellInfo.position + '
' +
'' +
''
- mapLayers.setZoom(18)
const position = new CLatLng(wellInfo.coordinateY, wellInfo.coordinateX)
+ // mapLayers.setZoom(17)
mapLayers.openInfoWindow(position, dom)
}
})
@@ -631,6 +623,9 @@
width:100%;
height: calc(100vh - 84px);
}
+ .selectedmaptypecontrol{
+ display: none;
+ }
/*.alarm-window{*/
/*max-width: 250px;*/
/*!*background-color: #ffeaf1;*!*/
diff --git a/src/icons/svg/icon-base.svg b/src/icons/svg/icon-base.svg
new file mode 100644
index 0000000..6271178
--- /dev/null
+++ b/src/icons/svg/icon-base.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/views/alarmManage/listAlarmNow.vue b/src/views/alarmManage/listAlarmNow.vue
index 49713f4..1490257 100644
--- a/src/views/alarmManage/listAlarmNow.vue
+++ b/src/views/alarmManage/listAlarmNow.vue
@@ -235,14 +235,14 @@
cancelAlarm(jobId) {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, jobId, false)
+ this.$refs.handlePrompt.initDialog(true, jobId, false)
// }, 100)
},
// 取消报警,调用结束工单接口
batchCancel() {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
+ this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
// }, 100)
},
formatValue(cellValue) {
diff --git a/src/views/alarmManage/listAlarmRecords.vue b/src/views/alarmManage/listAlarmRecords.vue
index 886ffc7..b5d4908 100644
--- a/src/views/alarmManage/listAlarmRecords.vue
+++ b/src/views/alarmManage/listAlarmRecords.vue
@@ -50,7 +50,8 @@
- {{ scope.row[column.value] }}
+ {{ scope.row[column.value] }}
+ {{ formatValue(scope.row[column.value]) }}
{{ scope.row[column.value] }}
@@ -124,6 +125,12 @@
align: 'center'
},
{
+ text: '告警等级',
+ value: 'alarmLevel',
+ align: 'center',
+ level: true
+ },
+ {
text: '告警原因',
value: 'alarmContentName',
align: 'center'
@@ -201,8 +208,8 @@
next()
},
mounted() {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -217,8 +224,8 @@
activated() {
console.log('alarmRecored actived')
if (!isFromDetail) {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -237,6 +244,17 @@
this.wellShow = true
this.$refs.wellInfo.initDialog(row.wellId)
},
+ formatValue(cellValue) {
+ if (cellValue === 1) {
+ return '一级告警'
+ } else if (cellValue === 2) {
+ return '二级告警'
+ } else if (cellValue === 3) {
+ return '三级告警'
+ } else {
+ return ''
+ }
+ },
// 工单
showJob(row) {
const jobId = row.jobId
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index db4e774..8a3748c 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -65,8 +65,7 @@
},
data() {
return {
- // wsPath: 'ws://10.9.39.8:8080/army/webSocket/'
- wsPath: 'ws://192.168.0.166:14537/websocket/'
+ wsPath: 'ws://119.254.103.80:14537/websocket/'
}
},
computed: {
@@ -106,10 +105,10 @@
}
// 监听socket消息接收
this.socket.onmessage = function(msg) {
- debugger
// 转换为json对象
const data = JSON.parse(msg.data)
if (data.type === 'alarm') {
+ this.playAudio()
that.$notify({
title: '新报警来了',
// 这里也可以把返回信息加入到message中显示
diff --git a/src/views/dataManage/deviceData/listFlowmeterData.vue b/src/views/dataManage/deviceData/listFlowmeterData.vue
index 57a84a4..30d9395 100644
--- a/src/views/dataManage/deviceData/listFlowmeterData.vue
+++ b/src/views/dataManage/deviceData/listFlowmeterData.vue
@@ -97,27 +97,27 @@
// align: 'center'
// },
{
- text: '水位',
+ text: '水位(m)',
value: 'waterLevel',
align: 'center'
},
{
- text: '流速',
+ text: '流速(m/s)',
value: 'flowVelocity',
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temperature',
align: 'center'
},
{
- text: '瞬时流量',
+ text: '瞬时流量(m³/s)',
value: 'instantFlow',
align: 'center'
},
{
- text: '累计流量',
+ text: '累计流量(m³)',
value: 'totalFlow',
align: 'center'
},
diff --git a/src/views/dataManage/deviceData/listMeterData.vue b/src/views/dataManage/deviceData/listMeterData.vue
index 20967c4..8c0a30a 100644
--- a/src/views/dataManage/deviceData/listMeterData.vue
+++ b/src/views/dataManage/deviceData/listMeterData.vue
@@ -92,7 +92,7 @@
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temp',
align: 'center'
},
@@ -102,45 +102,45 @@
align: 'center'
},
{
- text: '电导率',
+ text: '电导率(mS/cm)',
value: 'conductivity',
align: 'center'
},
{
- text: '溶解氧',
+ text: '溶解氧(mg/L)',
value: 'do',
align: 'center'
},
{
- text: '浊度',
+ text: '浊度(NTU)',
value: 'turbidity',
align: 'center'
},
{
- text: 'COD',
+ text: 'COD(mg/L)',
value: 'cod',
align: 'center'
},
{
- text: '氨氮',
+ text: '氨氮(mg/L)',
value: 'an',
align: 'center'
},
{
- text: '总磷',
+ text: '总磷(mg/L)',
value: 'tp',
align: 'center'
},
{
- text: '总氮',
+ text: '总氮(mg/L)',
value: 'tn',
align: 'center'
},
- {
- text: '状态描述',
- value: 'descn',
- align: 'center'
- },
+ // {
+ // text: '状态描述',
+ // value: 'descn',
+ // align: 'center'
+ // },
// {
// text: '权属单位',
// value: 'deptName',
@@ -149,7 +149,7 @@
{
text: '记录时间',
value: 'logtime',
- width: 170,
+ width: 160,
align: 'center'
}
], // 显示列
diff --git a/src/views/dataManage/deviceData/listWellLocaData.vue b/src/views/dataManage/deviceData/listWellLocaData.vue
index 52e1fce..051f5a4 100644
--- a/src/views/dataManage/deviceData/listWellLocaData.vue
+++ b/src/views/dataManage/deviceData/listWellLocaData.vue
@@ -106,20 +106,13 @@
align: 'center'
},
{
- text: '电量(%)',
- value: 'cell',
- width: 80,
- align: 'center',
- checkCell: true
- },
- {
text: '权属单位',
value: 'deptName',
align: 'center'
},
{
text: '上传时间',
- value: 'uptime',
+ value: 'logtime',
width: 170,
align: 'center'
}
diff --git a/.gitignore b/.gitignore
index 78a0ead..ae8c51a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
+smartwell/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
diff --git a/src/App.vue b/src/App.vue
index 721d3a3..274bace 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,6 @@
diff --git a/src/api/area.js b/src/api/area.js
index a5a6b0d..974ce81 100644
--- a/src/api/area.js
+++ b/src/api/area.js
@@ -12,6 +12,14 @@
}
})
}
+// 区域查询
+export function getAreaListPage(params) {
+ return request({
+ url: 'area/listPage',
+ method: 'get',
+ params
+ })
+}
// 根据部门找其默认区域
export function getAreaByDept(deptid) {
return request({
diff --git a/src/components/CMap/components/cmap.vue b/src/components/CMap/components/cmap.vue
index 2e0604c..9bfc2dd 100644
--- a/src/components/CMap/components/cmap.vue
+++ b/src/components/CMap/components/cmap.vue
@@ -73,11 +73,10 @@
'': { size: [10, 10], anchor: [10, 10] }
}, // 图标管理器
layerId: 'yizhuang_poi', // 需要加载的图层id
- queryString: 'ID<1000', // 地图筛选条件
+ queryString: '', // 地图筛选条件
layerInfoManager: {
- yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'Y', lngfd: 'X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'Adress', cache: true, showtype: 'auto' }
+ yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'COORDINATE_Y', lngfd: 'COORDINATE_X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'POSITION', cache: true, showtype: 'auto' }
}, // 图层信息管理器
- // style: 'http://localhost:8080/static/images/map_images/alarm-well1.png',
style: 'resource/images/sys/markers/未分类/dot',
stylepos: 1,
overlay: null,
@@ -119,12 +118,10 @@
mapLayers.setMaxZoom(val)
},
alarmMarkers(val) {
- console.log('alarmMarkers')
this.renderMarkers()
}
},
mounted() {
- console.log('map mounted')
this.reset()
},
activated() {
@@ -320,9 +317,9 @@
stylepos: this.stylepos,
stylefd: layerInfoManager[layerId].stylefd,
morecon: this.queryString,
- namefd: '',
+ namefd: layerInfoManager[layerId].namefd,
keyfd: '',
- attrfds: '' }
+ attrfds: layerInfoManager[layerId].attrfds }
const tableinfostr = CEncodeSpecialChar(CJsonToStringify(tableinfo))
opts.params.tableinfo = tableinfostr
}
@@ -337,8 +334,6 @@
this.registerDotQuery('yizhuang_poi', function(e, _data) {
if (_data.length > 0) {
that.openInfoWindow(_data[0].id, e)
- } else {
-
}
})
// this.loadBigViewFeature(layerId, this.drawFeature)
@@ -351,6 +346,7 @@
mapLayers.removeLayer(overlayManager[layerId])
delete overlayManager[layerId]
}
+ mapLayers.closePopup()
},
// 过滤海量点
filterPoi(listQuery) {
@@ -370,13 +366,11 @@
queryList.push('DEPTID=' + deptid)
}
this.queryString = queryList.join(' and ')
- console.log(this.queryString)
this.cleanPoi()
this.renderPoi(false)
},
// loadBigViewFeature
loadBigViewFeature(id, callback) {
- console.log('loadBigViewFeature')
const { mapLayers, layerInfoManager } = this
if (layerInfoManager[id].spanzoom > mapLayers.getZoom() && layerInfoManager[id].showtype !== 'client') { return }
var bounds = getGlobalBounds()
@@ -456,7 +450,7 @@
if (layerInfoManager[id].layerid) {
transObj.params.layerid = CEncode(layerInfoManager[id].layerid)
} else {
- const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: layerInfoManager[id].morecon, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
+ const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: this.queryString, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
transObj.params.tableinfo = CEncodeSpecialChar(CJsonToStringify(tableinfo))
}
@@ -539,10 +533,8 @@
mapLayers.setZoom(17)
mapLayers.setCenter(overlay.getLatLng())
// this.center = alarmInfo.position
- console.log('before setPopupContent')
overlay.setPopupContent(dom)
// debugger
- console.log('after setPopupContent')
overlay.openPopup()
}
})
@@ -563,8 +555,8 @@
'详细地址:' + wellInfo.position + '
' +
'' +
''
- mapLayers.setZoom(18)
const position = new CLatLng(wellInfo.coordinateY, wellInfo.coordinateX)
+ // mapLayers.setZoom(17)
mapLayers.openInfoWindow(position, dom)
}
})
@@ -631,6 +623,9 @@
width:100%;
height: calc(100vh - 84px);
}
+ .selectedmaptypecontrol{
+ display: none;
+ }
/*.alarm-window{*/
/*max-width: 250px;*/
/*!*background-color: #ffeaf1;*!*/
diff --git a/src/icons/svg/icon-base.svg b/src/icons/svg/icon-base.svg
new file mode 100644
index 0000000..6271178
--- /dev/null
+++ b/src/icons/svg/icon-base.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/views/alarmManage/listAlarmNow.vue b/src/views/alarmManage/listAlarmNow.vue
index 49713f4..1490257 100644
--- a/src/views/alarmManage/listAlarmNow.vue
+++ b/src/views/alarmManage/listAlarmNow.vue
@@ -235,14 +235,14 @@
cancelAlarm(jobId) {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, jobId, false)
+ this.$refs.handlePrompt.initDialog(true, jobId, false)
// }, 100)
},
// 取消报警,调用结束工单接口
batchCancel() {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
+ this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
// }, 100)
},
formatValue(cellValue) {
diff --git a/src/views/alarmManage/listAlarmRecords.vue b/src/views/alarmManage/listAlarmRecords.vue
index 886ffc7..b5d4908 100644
--- a/src/views/alarmManage/listAlarmRecords.vue
+++ b/src/views/alarmManage/listAlarmRecords.vue
@@ -50,7 +50,8 @@
- {{ scope.row[column.value] }}
+ {{ scope.row[column.value] }}
+ {{ formatValue(scope.row[column.value]) }}
{{ scope.row[column.value] }}
@@ -124,6 +125,12 @@
align: 'center'
},
{
+ text: '告警等级',
+ value: 'alarmLevel',
+ align: 'center',
+ level: true
+ },
+ {
text: '告警原因',
value: 'alarmContentName',
align: 'center'
@@ -201,8 +208,8 @@
next()
},
mounted() {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -217,8 +224,8 @@
activated() {
console.log('alarmRecored actived')
if (!isFromDetail) {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -237,6 +244,17 @@
this.wellShow = true
this.$refs.wellInfo.initDialog(row.wellId)
},
+ formatValue(cellValue) {
+ if (cellValue === 1) {
+ return '一级告警'
+ } else if (cellValue === 2) {
+ return '二级告警'
+ } else if (cellValue === 3) {
+ return '三级告警'
+ } else {
+ return ''
+ }
+ },
// 工单
showJob(row) {
const jobId = row.jobId
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index db4e774..8a3748c 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -65,8 +65,7 @@
},
data() {
return {
- // wsPath: 'ws://10.9.39.8:8080/army/webSocket/'
- wsPath: 'ws://192.168.0.166:14537/websocket/'
+ wsPath: 'ws://119.254.103.80:14537/websocket/'
}
},
computed: {
@@ -106,10 +105,10 @@
}
// 监听socket消息接收
this.socket.onmessage = function(msg) {
- debugger
// 转换为json对象
const data = JSON.parse(msg.data)
if (data.type === 'alarm') {
+ this.playAudio()
that.$notify({
title: '新报警来了',
// 这里也可以把返回信息加入到message中显示
diff --git a/src/views/dataManage/deviceData/listFlowmeterData.vue b/src/views/dataManage/deviceData/listFlowmeterData.vue
index 57a84a4..30d9395 100644
--- a/src/views/dataManage/deviceData/listFlowmeterData.vue
+++ b/src/views/dataManage/deviceData/listFlowmeterData.vue
@@ -97,27 +97,27 @@
// align: 'center'
// },
{
- text: '水位',
+ text: '水位(m)',
value: 'waterLevel',
align: 'center'
},
{
- text: '流速',
+ text: '流速(m/s)',
value: 'flowVelocity',
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temperature',
align: 'center'
},
{
- text: '瞬时流量',
+ text: '瞬时流量(m³/s)',
value: 'instantFlow',
align: 'center'
},
{
- text: '累计流量',
+ text: '累计流量(m³)',
value: 'totalFlow',
align: 'center'
},
diff --git a/src/views/dataManage/deviceData/listMeterData.vue b/src/views/dataManage/deviceData/listMeterData.vue
index 20967c4..8c0a30a 100644
--- a/src/views/dataManage/deviceData/listMeterData.vue
+++ b/src/views/dataManage/deviceData/listMeterData.vue
@@ -92,7 +92,7 @@
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temp',
align: 'center'
},
@@ -102,45 +102,45 @@
align: 'center'
},
{
- text: '电导率',
+ text: '电导率(mS/cm)',
value: 'conductivity',
align: 'center'
},
{
- text: '溶解氧',
+ text: '溶解氧(mg/L)',
value: 'do',
align: 'center'
},
{
- text: '浊度',
+ text: '浊度(NTU)',
value: 'turbidity',
align: 'center'
},
{
- text: 'COD',
+ text: 'COD(mg/L)',
value: 'cod',
align: 'center'
},
{
- text: '氨氮',
+ text: '氨氮(mg/L)',
value: 'an',
align: 'center'
},
{
- text: '总磷',
+ text: '总磷(mg/L)',
value: 'tp',
align: 'center'
},
{
- text: '总氮',
+ text: '总氮(mg/L)',
value: 'tn',
align: 'center'
},
- {
- text: '状态描述',
- value: 'descn',
- align: 'center'
- },
+ // {
+ // text: '状态描述',
+ // value: 'descn',
+ // align: 'center'
+ // },
// {
// text: '权属单位',
// value: 'deptName',
@@ -149,7 +149,7 @@
{
text: '记录时间',
value: 'logtime',
- width: 170,
+ width: 160,
align: 'center'
}
], // 显示列
diff --git a/src/views/dataManage/deviceData/listWellLocaData.vue b/src/views/dataManage/deviceData/listWellLocaData.vue
index 52e1fce..051f5a4 100644
--- a/src/views/dataManage/deviceData/listWellLocaData.vue
+++ b/src/views/dataManage/deviceData/listWellLocaData.vue
@@ -106,20 +106,13 @@
align: 'center'
},
{
- text: '电量(%)',
- value: 'cell',
- width: 80,
- align: 'center',
- checkCell: true
- },
- {
text: '权属单位',
value: 'deptName',
align: 'center'
},
{
text: '上传时间',
- value: 'uptime',
+ value: 'logtime',
width: 170,
align: 'center'
}
diff --git a/src/views/deviceConfig/components/editDigConfig.vue b/src/views/deviceConfig/components/editDigConfig.vue
index 3edebf4..00cc7d0 100644
--- a/src/views/deviceConfig/components/editDigConfig.vue
+++ b/src/views/deviceConfig/components/editDigConfig.vue
@@ -88,25 +88,25 @@
-
+
-
+
-
+
@@ -145,10 +145,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 1, 96) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写1到96数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -156,10 +156,10 @@
}
const validateThreshold = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 1, 37500) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写1到37500数值'))
}
} else {
callback(new Error('报警阈值不能为空'))
@@ -180,7 +180,7 @@
deviceId: '', // 设备id
collectInterval: '', // 采集间隔
collectTime: '', // 采集时间
- collectCount: '', // 采集时间
+ collectCount: '', // 采集次数
sleepStartTime: '', // 睡眠时间
threshold: '', // 报警阈值
retryTimes: '3', // 重传次数
@@ -194,6 +194,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
threshold: [{ required: true, trigger: ['blur', 'change'], validator: validateThreshold }],
@@ -247,11 +248,11 @@
this.configForm = {
id: row.id,
deviceId: row.deviceId, // 设备id
- collectInterval: row.collectInterval, // 报警阈值
- collectTime: row.collectTime, // 安装高度
- collectCount: row.collectCount, // 安装高度
- threshold: row.threshold, // 安装高度
- sleepStartTime: row.sleepStartTime, // 安装高度
+ collectInterval: row.collectInterval, // 采集间隔
+ collectTime: row.collectTime, // 采集时间
+ collectCount: row.collectCount, // 采集次数
+ threshold: row.threshold, // 报警阈值
+ sleepStartTime: row.sleepStartTime, // 睡眠时间
retryTimes: row.retryTimes, // 重传次数
ip: row.ip, // ip地址
port: row.port, // 端口号
@@ -282,11 +283,15 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editDigConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
+ this.canEdit = true
this.$emit('watchChild')
this.dialogFormVisible = false
+ } else {
+ this.canEdit = true
}
})
}
diff --git a/.gitignore b/.gitignore
index 78a0ead..ae8c51a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
+smartwell/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
diff --git a/src/App.vue b/src/App.vue
index 721d3a3..274bace 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,6 @@
diff --git a/src/api/area.js b/src/api/area.js
index a5a6b0d..974ce81 100644
--- a/src/api/area.js
+++ b/src/api/area.js
@@ -12,6 +12,14 @@
}
})
}
+// 区域查询
+export function getAreaListPage(params) {
+ return request({
+ url: 'area/listPage',
+ method: 'get',
+ params
+ })
+}
// 根据部门找其默认区域
export function getAreaByDept(deptid) {
return request({
diff --git a/src/components/CMap/components/cmap.vue b/src/components/CMap/components/cmap.vue
index 2e0604c..9bfc2dd 100644
--- a/src/components/CMap/components/cmap.vue
+++ b/src/components/CMap/components/cmap.vue
@@ -73,11 +73,10 @@
'': { size: [10, 10], anchor: [10, 10] }
}, // 图标管理器
layerId: 'yizhuang_poi', // 需要加载的图层id
- queryString: 'ID<1000', // 地图筛选条件
+ queryString: '', // 地图筛选条件
layerInfoManager: {
- yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'Y', lngfd: 'X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'Adress', cache: true, showtype: 'auto' }
+ yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'COORDINATE_Y', lngfd: 'COORDINATE_X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'POSITION', cache: true, showtype: 'auto' }
}, // 图层信息管理器
- // style: 'http://localhost:8080/static/images/map_images/alarm-well1.png',
style: 'resource/images/sys/markers/未分类/dot',
stylepos: 1,
overlay: null,
@@ -119,12 +118,10 @@
mapLayers.setMaxZoom(val)
},
alarmMarkers(val) {
- console.log('alarmMarkers')
this.renderMarkers()
}
},
mounted() {
- console.log('map mounted')
this.reset()
},
activated() {
@@ -320,9 +317,9 @@
stylepos: this.stylepos,
stylefd: layerInfoManager[layerId].stylefd,
morecon: this.queryString,
- namefd: '',
+ namefd: layerInfoManager[layerId].namefd,
keyfd: '',
- attrfds: '' }
+ attrfds: layerInfoManager[layerId].attrfds }
const tableinfostr = CEncodeSpecialChar(CJsonToStringify(tableinfo))
opts.params.tableinfo = tableinfostr
}
@@ -337,8 +334,6 @@
this.registerDotQuery('yizhuang_poi', function(e, _data) {
if (_data.length > 0) {
that.openInfoWindow(_data[0].id, e)
- } else {
-
}
})
// this.loadBigViewFeature(layerId, this.drawFeature)
@@ -351,6 +346,7 @@
mapLayers.removeLayer(overlayManager[layerId])
delete overlayManager[layerId]
}
+ mapLayers.closePopup()
},
// 过滤海量点
filterPoi(listQuery) {
@@ -370,13 +366,11 @@
queryList.push('DEPTID=' + deptid)
}
this.queryString = queryList.join(' and ')
- console.log(this.queryString)
this.cleanPoi()
this.renderPoi(false)
},
// loadBigViewFeature
loadBigViewFeature(id, callback) {
- console.log('loadBigViewFeature')
const { mapLayers, layerInfoManager } = this
if (layerInfoManager[id].spanzoom > mapLayers.getZoom() && layerInfoManager[id].showtype !== 'client') { return }
var bounds = getGlobalBounds()
@@ -456,7 +450,7 @@
if (layerInfoManager[id].layerid) {
transObj.params.layerid = CEncode(layerInfoManager[id].layerid)
} else {
- const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: layerInfoManager[id].morecon, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
+ const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: this.queryString, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
transObj.params.tableinfo = CEncodeSpecialChar(CJsonToStringify(tableinfo))
}
@@ -539,10 +533,8 @@
mapLayers.setZoom(17)
mapLayers.setCenter(overlay.getLatLng())
// this.center = alarmInfo.position
- console.log('before setPopupContent')
overlay.setPopupContent(dom)
// debugger
- console.log('after setPopupContent')
overlay.openPopup()
}
})
@@ -563,8 +555,8 @@
'详细地址:' + wellInfo.position + '
' +
'' +
''
- mapLayers.setZoom(18)
const position = new CLatLng(wellInfo.coordinateY, wellInfo.coordinateX)
+ // mapLayers.setZoom(17)
mapLayers.openInfoWindow(position, dom)
}
})
@@ -631,6 +623,9 @@
width:100%;
height: calc(100vh - 84px);
}
+ .selectedmaptypecontrol{
+ display: none;
+ }
/*.alarm-window{*/
/*max-width: 250px;*/
/*!*background-color: #ffeaf1;*!*/
diff --git a/src/icons/svg/icon-base.svg b/src/icons/svg/icon-base.svg
new file mode 100644
index 0000000..6271178
--- /dev/null
+++ b/src/icons/svg/icon-base.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/views/alarmManage/listAlarmNow.vue b/src/views/alarmManage/listAlarmNow.vue
index 49713f4..1490257 100644
--- a/src/views/alarmManage/listAlarmNow.vue
+++ b/src/views/alarmManage/listAlarmNow.vue
@@ -235,14 +235,14 @@
cancelAlarm(jobId) {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, jobId, false)
+ this.$refs.handlePrompt.initDialog(true, jobId, false)
// }, 100)
},
// 取消报警,调用结束工单接口
batchCancel() {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
+ this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
// }, 100)
},
formatValue(cellValue) {
diff --git a/src/views/alarmManage/listAlarmRecords.vue b/src/views/alarmManage/listAlarmRecords.vue
index 886ffc7..b5d4908 100644
--- a/src/views/alarmManage/listAlarmRecords.vue
+++ b/src/views/alarmManage/listAlarmRecords.vue
@@ -50,7 +50,8 @@
- {{ scope.row[column.value] }}
+ {{ scope.row[column.value] }}
+ {{ formatValue(scope.row[column.value]) }}
{{ scope.row[column.value] }}
@@ -124,6 +125,12 @@
align: 'center'
},
{
+ text: '告警等级',
+ value: 'alarmLevel',
+ align: 'center',
+ level: true
+ },
+ {
text: '告警原因',
value: 'alarmContentName',
align: 'center'
@@ -201,8 +208,8 @@
next()
},
mounted() {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -217,8 +224,8 @@
activated() {
console.log('alarmRecored actived')
if (!isFromDetail) {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -237,6 +244,17 @@
this.wellShow = true
this.$refs.wellInfo.initDialog(row.wellId)
},
+ formatValue(cellValue) {
+ if (cellValue === 1) {
+ return '一级告警'
+ } else if (cellValue === 2) {
+ return '二级告警'
+ } else if (cellValue === 3) {
+ return '三级告警'
+ } else {
+ return ''
+ }
+ },
// 工单
showJob(row) {
const jobId = row.jobId
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index db4e774..8a3748c 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -65,8 +65,7 @@
},
data() {
return {
- // wsPath: 'ws://10.9.39.8:8080/army/webSocket/'
- wsPath: 'ws://192.168.0.166:14537/websocket/'
+ wsPath: 'ws://119.254.103.80:14537/websocket/'
}
},
computed: {
@@ -106,10 +105,10 @@
}
// 监听socket消息接收
this.socket.onmessage = function(msg) {
- debugger
// 转换为json对象
const data = JSON.parse(msg.data)
if (data.type === 'alarm') {
+ this.playAudio()
that.$notify({
title: '新报警来了',
// 这里也可以把返回信息加入到message中显示
diff --git a/src/views/dataManage/deviceData/listFlowmeterData.vue b/src/views/dataManage/deviceData/listFlowmeterData.vue
index 57a84a4..30d9395 100644
--- a/src/views/dataManage/deviceData/listFlowmeterData.vue
+++ b/src/views/dataManage/deviceData/listFlowmeterData.vue
@@ -97,27 +97,27 @@
// align: 'center'
// },
{
- text: '水位',
+ text: '水位(m)',
value: 'waterLevel',
align: 'center'
},
{
- text: '流速',
+ text: '流速(m/s)',
value: 'flowVelocity',
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temperature',
align: 'center'
},
{
- text: '瞬时流量',
+ text: '瞬时流量(m³/s)',
value: 'instantFlow',
align: 'center'
},
{
- text: '累计流量',
+ text: '累计流量(m³)',
value: 'totalFlow',
align: 'center'
},
diff --git a/src/views/dataManage/deviceData/listMeterData.vue b/src/views/dataManage/deviceData/listMeterData.vue
index 20967c4..8c0a30a 100644
--- a/src/views/dataManage/deviceData/listMeterData.vue
+++ b/src/views/dataManage/deviceData/listMeterData.vue
@@ -92,7 +92,7 @@
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temp',
align: 'center'
},
@@ -102,45 +102,45 @@
align: 'center'
},
{
- text: '电导率',
+ text: '电导率(mS/cm)',
value: 'conductivity',
align: 'center'
},
{
- text: '溶解氧',
+ text: '溶解氧(mg/L)',
value: 'do',
align: 'center'
},
{
- text: '浊度',
+ text: '浊度(NTU)',
value: 'turbidity',
align: 'center'
},
{
- text: 'COD',
+ text: 'COD(mg/L)',
value: 'cod',
align: 'center'
},
{
- text: '氨氮',
+ text: '氨氮(mg/L)',
value: 'an',
align: 'center'
},
{
- text: '总磷',
+ text: '总磷(mg/L)',
value: 'tp',
align: 'center'
},
{
- text: '总氮',
+ text: '总氮(mg/L)',
value: 'tn',
align: 'center'
},
- {
- text: '状态描述',
- value: 'descn',
- align: 'center'
- },
+ // {
+ // text: '状态描述',
+ // value: 'descn',
+ // align: 'center'
+ // },
// {
// text: '权属单位',
// value: 'deptName',
@@ -149,7 +149,7 @@
{
text: '记录时间',
value: 'logtime',
- width: 170,
+ width: 160,
align: 'center'
}
], // 显示列
diff --git a/src/views/dataManage/deviceData/listWellLocaData.vue b/src/views/dataManage/deviceData/listWellLocaData.vue
index 52e1fce..051f5a4 100644
--- a/src/views/dataManage/deviceData/listWellLocaData.vue
+++ b/src/views/dataManage/deviceData/listWellLocaData.vue
@@ -106,20 +106,13 @@
align: 'center'
},
{
- text: '电量(%)',
- value: 'cell',
- width: 80,
- align: 'center',
- checkCell: true
- },
- {
text: '权属单位',
value: 'deptName',
align: 'center'
},
{
text: '上传时间',
- value: 'uptime',
+ value: 'logtime',
width: 170,
align: 'center'
}
diff --git a/src/views/deviceConfig/components/editDigConfig.vue b/src/views/deviceConfig/components/editDigConfig.vue
index 3edebf4..00cc7d0 100644
--- a/src/views/deviceConfig/components/editDigConfig.vue
+++ b/src/views/deviceConfig/components/editDigConfig.vue
@@ -88,25 +88,25 @@
-
+
-
+
-
+
@@ -145,10 +145,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 1, 96) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写1到96数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -156,10 +156,10 @@
}
const validateThreshold = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 1, 37500) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写1到37500数值'))
}
} else {
callback(new Error('报警阈值不能为空'))
@@ -180,7 +180,7 @@
deviceId: '', // 设备id
collectInterval: '', // 采集间隔
collectTime: '', // 采集时间
- collectCount: '', // 采集时间
+ collectCount: '', // 采集次数
sleepStartTime: '', // 睡眠时间
threshold: '', // 报警阈值
retryTimes: '3', // 重传次数
@@ -194,6 +194,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
threshold: [{ required: true, trigger: ['blur', 'change'], validator: validateThreshold }],
@@ -247,11 +248,11 @@
this.configForm = {
id: row.id,
deviceId: row.deviceId, // 设备id
- collectInterval: row.collectInterval, // 报警阈值
- collectTime: row.collectTime, // 安装高度
- collectCount: row.collectCount, // 安装高度
- threshold: row.threshold, // 安装高度
- sleepStartTime: row.sleepStartTime, // 安装高度
+ collectInterval: row.collectInterval, // 采集间隔
+ collectTime: row.collectTime, // 采集时间
+ collectCount: row.collectCount, // 采集次数
+ threshold: row.threshold, // 报警阈值
+ sleepStartTime: row.sleepStartTime, // 睡眠时间
retryTimes: row.retryTimes, // 重传次数
ip: row.ip, // ip地址
port: row.port, // 端口号
@@ -282,11 +283,15 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editDigConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
+ this.canEdit = true
this.$emit('watchChild')
this.dialogFormVisible = false
+ } else {
+ this.canEdit = true
}
})
}
diff --git a/src/views/deviceConfig/components/editGasConfig.vue b/src/views/deviceConfig/components/editGasConfig.vue
index 12f5471..1f16f3e 100644
--- a/src/views/deviceConfig/components/editGasConfig.vue
+++ b/src/views/deviceConfig/components/editGasConfig.vue
@@ -1,6 +1,6 @@
-
+
@@ -42,7 +42,7 @@
-
+
@@ -53,31 +53,31 @@
-
+
-
+
-
+
-
+
@@ -116,10 +116,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 5, 1440) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写5到1440数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -127,10 +127,10 @@
}
const validateUpPeriod = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 0, 10080) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写0到10080之间数值'))
}
} else {
callback(new Error('上传周期不能为空'))
@@ -162,6 +162,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
uploadPeriod: [{ required: true, trigger: ['blur', 'change'], validator: validateUpPeriod }],
@@ -244,12 +245,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editGasConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/.gitignore b/.gitignore
index 78a0ead..ae8c51a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
+smartwell/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
diff --git a/src/App.vue b/src/App.vue
index 721d3a3..274bace 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,6 @@
diff --git a/src/api/area.js b/src/api/area.js
index a5a6b0d..974ce81 100644
--- a/src/api/area.js
+++ b/src/api/area.js
@@ -12,6 +12,14 @@
}
})
}
+// 区域查询
+export function getAreaListPage(params) {
+ return request({
+ url: 'area/listPage',
+ method: 'get',
+ params
+ })
+}
// 根据部门找其默认区域
export function getAreaByDept(deptid) {
return request({
diff --git a/src/components/CMap/components/cmap.vue b/src/components/CMap/components/cmap.vue
index 2e0604c..9bfc2dd 100644
--- a/src/components/CMap/components/cmap.vue
+++ b/src/components/CMap/components/cmap.vue
@@ -73,11 +73,10 @@
'': { size: [10, 10], anchor: [10, 10] }
}, // 图标管理器
layerId: 'yizhuang_poi', // 需要加载的图层id
- queryString: 'ID<1000', // 地图筛选条件
+ queryString: '', // 地图筛选条件
layerInfoManager: {
- yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'Y', lngfd: 'X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'Adress', cache: true, showtype: 'auto' }
+ yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'COORDINATE_Y', lngfd: 'COORDINATE_X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'POSITION', cache: true, showtype: 'auto' }
}, // 图层信息管理器
- // style: 'http://localhost:8080/static/images/map_images/alarm-well1.png',
style: 'resource/images/sys/markers/未分类/dot',
stylepos: 1,
overlay: null,
@@ -119,12 +118,10 @@
mapLayers.setMaxZoom(val)
},
alarmMarkers(val) {
- console.log('alarmMarkers')
this.renderMarkers()
}
},
mounted() {
- console.log('map mounted')
this.reset()
},
activated() {
@@ -320,9 +317,9 @@
stylepos: this.stylepos,
stylefd: layerInfoManager[layerId].stylefd,
morecon: this.queryString,
- namefd: '',
+ namefd: layerInfoManager[layerId].namefd,
keyfd: '',
- attrfds: '' }
+ attrfds: layerInfoManager[layerId].attrfds }
const tableinfostr = CEncodeSpecialChar(CJsonToStringify(tableinfo))
opts.params.tableinfo = tableinfostr
}
@@ -337,8 +334,6 @@
this.registerDotQuery('yizhuang_poi', function(e, _data) {
if (_data.length > 0) {
that.openInfoWindow(_data[0].id, e)
- } else {
-
}
})
// this.loadBigViewFeature(layerId, this.drawFeature)
@@ -351,6 +346,7 @@
mapLayers.removeLayer(overlayManager[layerId])
delete overlayManager[layerId]
}
+ mapLayers.closePopup()
},
// 过滤海量点
filterPoi(listQuery) {
@@ -370,13 +366,11 @@
queryList.push('DEPTID=' + deptid)
}
this.queryString = queryList.join(' and ')
- console.log(this.queryString)
this.cleanPoi()
this.renderPoi(false)
},
// loadBigViewFeature
loadBigViewFeature(id, callback) {
- console.log('loadBigViewFeature')
const { mapLayers, layerInfoManager } = this
if (layerInfoManager[id].spanzoom > mapLayers.getZoom() && layerInfoManager[id].showtype !== 'client') { return }
var bounds = getGlobalBounds()
@@ -456,7 +450,7 @@
if (layerInfoManager[id].layerid) {
transObj.params.layerid = CEncode(layerInfoManager[id].layerid)
} else {
- const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: layerInfoManager[id].morecon, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
+ const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: this.queryString, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
transObj.params.tableinfo = CEncodeSpecialChar(CJsonToStringify(tableinfo))
}
@@ -539,10 +533,8 @@
mapLayers.setZoom(17)
mapLayers.setCenter(overlay.getLatLng())
// this.center = alarmInfo.position
- console.log('before setPopupContent')
overlay.setPopupContent(dom)
// debugger
- console.log('after setPopupContent')
overlay.openPopup()
}
})
@@ -563,8 +555,8 @@
'详细地址:' + wellInfo.position + '
' +
'' +
''
- mapLayers.setZoom(18)
const position = new CLatLng(wellInfo.coordinateY, wellInfo.coordinateX)
+ // mapLayers.setZoom(17)
mapLayers.openInfoWindow(position, dom)
}
})
@@ -631,6 +623,9 @@
width:100%;
height: calc(100vh - 84px);
}
+ .selectedmaptypecontrol{
+ display: none;
+ }
/*.alarm-window{*/
/*max-width: 250px;*/
/*!*background-color: #ffeaf1;*!*/
diff --git a/src/icons/svg/icon-base.svg b/src/icons/svg/icon-base.svg
new file mode 100644
index 0000000..6271178
--- /dev/null
+++ b/src/icons/svg/icon-base.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/views/alarmManage/listAlarmNow.vue b/src/views/alarmManage/listAlarmNow.vue
index 49713f4..1490257 100644
--- a/src/views/alarmManage/listAlarmNow.vue
+++ b/src/views/alarmManage/listAlarmNow.vue
@@ -235,14 +235,14 @@
cancelAlarm(jobId) {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, jobId, false)
+ this.$refs.handlePrompt.initDialog(true, jobId, false)
// }, 100)
},
// 取消报警,调用结束工单接口
batchCancel() {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
+ this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
// }, 100)
},
formatValue(cellValue) {
diff --git a/src/views/alarmManage/listAlarmRecords.vue b/src/views/alarmManage/listAlarmRecords.vue
index 886ffc7..b5d4908 100644
--- a/src/views/alarmManage/listAlarmRecords.vue
+++ b/src/views/alarmManage/listAlarmRecords.vue
@@ -50,7 +50,8 @@
- {{ scope.row[column.value] }}
+ {{ scope.row[column.value] }}
+ {{ formatValue(scope.row[column.value]) }}
{{ scope.row[column.value] }}
@@ -124,6 +125,12 @@
align: 'center'
},
{
+ text: '告警等级',
+ value: 'alarmLevel',
+ align: 'center',
+ level: true
+ },
+ {
text: '告警原因',
value: 'alarmContentName',
align: 'center'
@@ -201,8 +208,8 @@
next()
},
mounted() {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -217,8 +224,8 @@
activated() {
console.log('alarmRecored actived')
if (!isFromDetail) {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -237,6 +244,17 @@
this.wellShow = true
this.$refs.wellInfo.initDialog(row.wellId)
},
+ formatValue(cellValue) {
+ if (cellValue === 1) {
+ return '一级告警'
+ } else if (cellValue === 2) {
+ return '二级告警'
+ } else if (cellValue === 3) {
+ return '三级告警'
+ } else {
+ return ''
+ }
+ },
// 工单
showJob(row) {
const jobId = row.jobId
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index db4e774..8a3748c 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -65,8 +65,7 @@
},
data() {
return {
- // wsPath: 'ws://10.9.39.8:8080/army/webSocket/'
- wsPath: 'ws://192.168.0.166:14537/websocket/'
+ wsPath: 'ws://119.254.103.80:14537/websocket/'
}
},
computed: {
@@ -106,10 +105,10 @@
}
// 监听socket消息接收
this.socket.onmessage = function(msg) {
- debugger
// 转换为json对象
const data = JSON.parse(msg.data)
if (data.type === 'alarm') {
+ this.playAudio()
that.$notify({
title: '新报警来了',
// 这里也可以把返回信息加入到message中显示
diff --git a/src/views/dataManage/deviceData/listFlowmeterData.vue b/src/views/dataManage/deviceData/listFlowmeterData.vue
index 57a84a4..30d9395 100644
--- a/src/views/dataManage/deviceData/listFlowmeterData.vue
+++ b/src/views/dataManage/deviceData/listFlowmeterData.vue
@@ -97,27 +97,27 @@
// align: 'center'
// },
{
- text: '水位',
+ text: '水位(m)',
value: 'waterLevel',
align: 'center'
},
{
- text: '流速',
+ text: '流速(m/s)',
value: 'flowVelocity',
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temperature',
align: 'center'
},
{
- text: '瞬时流量',
+ text: '瞬时流量(m³/s)',
value: 'instantFlow',
align: 'center'
},
{
- text: '累计流量',
+ text: '累计流量(m³)',
value: 'totalFlow',
align: 'center'
},
diff --git a/src/views/dataManage/deviceData/listMeterData.vue b/src/views/dataManage/deviceData/listMeterData.vue
index 20967c4..8c0a30a 100644
--- a/src/views/dataManage/deviceData/listMeterData.vue
+++ b/src/views/dataManage/deviceData/listMeterData.vue
@@ -92,7 +92,7 @@
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temp',
align: 'center'
},
@@ -102,45 +102,45 @@
align: 'center'
},
{
- text: '电导率',
+ text: '电导率(mS/cm)',
value: 'conductivity',
align: 'center'
},
{
- text: '溶解氧',
+ text: '溶解氧(mg/L)',
value: 'do',
align: 'center'
},
{
- text: '浊度',
+ text: '浊度(NTU)',
value: 'turbidity',
align: 'center'
},
{
- text: 'COD',
+ text: 'COD(mg/L)',
value: 'cod',
align: 'center'
},
{
- text: '氨氮',
+ text: '氨氮(mg/L)',
value: 'an',
align: 'center'
},
{
- text: '总磷',
+ text: '总磷(mg/L)',
value: 'tp',
align: 'center'
},
{
- text: '总氮',
+ text: '总氮(mg/L)',
value: 'tn',
align: 'center'
},
- {
- text: '状态描述',
- value: 'descn',
- align: 'center'
- },
+ // {
+ // text: '状态描述',
+ // value: 'descn',
+ // align: 'center'
+ // },
// {
// text: '权属单位',
// value: 'deptName',
@@ -149,7 +149,7 @@
{
text: '记录时间',
value: 'logtime',
- width: 170,
+ width: 160,
align: 'center'
}
], // 显示列
diff --git a/src/views/dataManage/deviceData/listWellLocaData.vue b/src/views/dataManage/deviceData/listWellLocaData.vue
index 52e1fce..051f5a4 100644
--- a/src/views/dataManage/deviceData/listWellLocaData.vue
+++ b/src/views/dataManage/deviceData/listWellLocaData.vue
@@ -106,20 +106,13 @@
align: 'center'
},
{
- text: '电量(%)',
- value: 'cell',
- width: 80,
- align: 'center',
- checkCell: true
- },
- {
text: '权属单位',
value: 'deptName',
align: 'center'
},
{
text: '上传时间',
- value: 'uptime',
+ value: 'logtime',
width: 170,
align: 'center'
}
diff --git a/src/views/deviceConfig/components/editDigConfig.vue b/src/views/deviceConfig/components/editDigConfig.vue
index 3edebf4..00cc7d0 100644
--- a/src/views/deviceConfig/components/editDigConfig.vue
+++ b/src/views/deviceConfig/components/editDigConfig.vue
@@ -88,25 +88,25 @@
-
+
-
+
-
+
@@ -145,10 +145,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 1, 96) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写1到96数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -156,10 +156,10 @@
}
const validateThreshold = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 1, 37500) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写1到37500数值'))
}
} else {
callback(new Error('报警阈值不能为空'))
@@ -180,7 +180,7 @@
deviceId: '', // 设备id
collectInterval: '', // 采集间隔
collectTime: '', // 采集时间
- collectCount: '', // 采集时间
+ collectCount: '', // 采集次数
sleepStartTime: '', // 睡眠时间
threshold: '', // 报警阈值
retryTimes: '3', // 重传次数
@@ -194,6 +194,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
threshold: [{ required: true, trigger: ['blur', 'change'], validator: validateThreshold }],
@@ -247,11 +248,11 @@
this.configForm = {
id: row.id,
deviceId: row.deviceId, // 设备id
- collectInterval: row.collectInterval, // 报警阈值
- collectTime: row.collectTime, // 安装高度
- collectCount: row.collectCount, // 安装高度
- threshold: row.threshold, // 安装高度
- sleepStartTime: row.sleepStartTime, // 安装高度
+ collectInterval: row.collectInterval, // 采集间隔
+ collectTime: row.collectTime, // 采集时间
+ collectCount: row.collectCount, // 采集次数
+ threshold: row.threshold, // 报警阈值
+ sleepStartTime: row.sleepStartTime, // 睡眠时间
retryTimes: row.retryTimes, // 重传次数
ip: row.ip, // ip地址
port: row.port, // 端口号
@@ -282,11 +283,15 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editDigConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
+ this.canEdit = true
this.$emit('watchChild')
this.dialogFormVisible = false
+ } else {
+ this.canEdit = true
}
})
}
diff --git a/src/views/deviceConfig/components/editGasConfig.vue b/src/views/deviceConfig/components/editGasConfig.vue
index 12f5471..1f16f3e 100644
--- a/src/views/deviceConfig/components/editGasConfig.vue
+++ b/src/views/deviceConfig/components/editGasConfig.vue
@@ -1,6 +1,6 @@
-
+
@@ -42,7 +42,7 @@
-
+
@@ -53,31 +53,31 @@
-
+
-
+
-
+
-
+
@@ -116,10 +116,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 5, 1440) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写5到1440数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -127,10 +127,10 @@
}
const validateUpPeriod = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 0, 10080) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写0到10080之间数值'))
}
} else {
callback(new Error('上传周期不能为空'))
@@ -162,6 +162,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
uploadPeriod: [{ required: true, trigger: ['blur', 'change'], validator: validateUpPeriod }],
@@ -244,12 +245,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editGasConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceConfig/components/editHarmfulConfig.vue b/src/views/deviceConfig/components/editHarmfulConfig.vue
index 685c36e..9b9b7c3 100644
--- a/src/views/deviceConfig/components/editHarmfulConfig.vue
+++ b/src/views/deviceConfig/components/editHarmfulConfig.vue
@@ -55,18 +55,18 @@
-
+
-
+
@@ -138,6 +138,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
uploadPeriod: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
deviceId: [{ required: true, message: '设备编号不能为空', trigger: ['blur', 'change'] }],
@@ -216,12 +217,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editHarmfulConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/.gitignore b/.gitignore
index 78a0ead..ae8c51a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
+smartwell/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
diff --git a/src/App.vue b/src/App.vue
index 721d3a3..274bace 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,6 @@
diff --git a/src/api/area.js b/src/api/area.js
index a5a6b0d..974ce81 100644
--- a/src/api/area.js
+++ b/src/api/area.js
@@ -12,6 +12,14 @@
}
})
}
+// 区域查询
+export function getAreaListPage(params) {
+ return request({
+ url: 'area/listPage',
+ method: 'get',
+ params
+ })
+}
// 根据部门找其默认区域
export function getAreaByDept(deptid) {
return request({
diff --git a/src/components/CMap/components/cmap.vue b/src/components/CMap/components/cmap.vue
index 2e0604c..9bfc2dd 100644
--- a/src/components/CMap/components/cmap.vue
+++ b/src/components/CMap/components/cmap.vue
@@ -73,11 +73,10 @@
'': { size: [10, 10], anchor: [10, 10] }
}, // 图标管理器
layerId: 'yizhuang_poi', // 需要加载的图层id
- queryString: 'ID<1000', // 地图筛选条件
+ queryString: '', // 地图筛选条件
layerInfoManager: {
- yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'Y', lngfd: 'X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'Adress', cache: true, showtype: 'auto' }
+ yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'COORDINATE_Y', lngfd: 'COORDINATE_X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'POSITION', cache: true, showtype: 'auto' }
}, // 图层信息管理器
- // style: 'http://localhost:8080/static/images/map_images/alarm-well1.png',
style: 'resource/images/sys/markers/未分类/dot',
stylepos: 1,
overlay: null,
@@ -119,12 +118,10 @@
mapLayers.setMaxZoom(val)
},
alarmMarkers(val) {
- console.log('alarmMarkers')
this.renderMarkers()
}
},
mounted() {
- console.log('map mounted')
this.reset()
},
activated() {
@@ -320,9 +317,9 @@
stylepos: this.stylepos,
stylefd: layerInfoManager[layerId].stylefd,
morecon: this.queryString,
- namefd: '',
+ namefd: layerInfoManager[layerId].namefd,
keyfd: '',
- attrfds: '' }
+ attrfds: layerInfoManager[layerId].attrfds }
const tableinfostr = CEncodeSpecialChar(CJsonToStringify(tableinfo))
opts.params.tableinfo = tableinfostr
}
@@ -337,8 +334,6 @@
this.registerDotQuery('yizhuang_poi', function(e, _data) {
if (_data.length > 0) {
that.openInfoWindow(_data[0].id, e)
- } else {
-
}
})
// this.loadBigViewFeature(layerId, this.drawFeature)
@@ -351,6 +346,7 @@
mapLayers.removeLayer(overlayManager[layerId])
delete overlayManager[layerId]
}
+ mapLayers.closePopup()
},
// 过滤海量点
filterPoi(listQuery) {
@@ -370,13 +366,11 @@
queryList.push('DEPTID=' + deptid)
}
this.queryString = queryList.join(' and ')
- console.log(this.queryString)
this.cleanPoi()
this.renderPoi(false)
},
// loadBigViewFeature
loadBigViewFeature(id, callback) {
- console.log('loadBigViewFeature')
const { mapLayers, layerInfoManager } = this
if (layerInfoManager[id].spanzoom > mapLayers.getZoom() && layerInfoManager[id].showtype !== 'client') { return }
var bounds = getGlobalBounds()
@@ -456,7 +450,7 @@
if (layerInfoManager[id].layerid) {
transObj.params.layerid = CEncode(layerInfoManager[id].layerid)
} else {
- const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: layerInfoManager[id].morecon, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
+ const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: this.queryString, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
transObj.params.tableinfo = CEncodeSpecialChar(CJsonToStringify(tableinfo))
}
@@ -539,10 +533,8 @@
mapLayers.setZoom(17)
mapLayers.setCenter(overlay.getLatLng())
// this.center = alarmInfo.position
- console.log('before setPopupContent')
overlay.setPopupContent(dom)
// debugger
- console.log('after setPopupContent')
overlay.openPopup()
}
})
@@ -563,8 +555,8 @@
'详细地址:' + wellInfo.position + '
' +
'' +
''
- mapLayers.setZoom(18)
const position = new CLatLng(wellInfo.coordinateY, wellInfo.coordinateX)
+ // mapLayers.setZoom(17)
mapLayers.openInfoWindow(position, dom)
}
})
@@ -631,6 +623,9 @@
width:100%;
height: calc(100vh - 84px);
}
+ .selectedmaptypecontrol{
+ display: none;
+ }
/*.alarm-window{*/
/*max-width: 250px;*/
/*!*background-color: #ffeaf1;*!*/
diff --git a/src/icons/svg/icon-base.svg b/src/icons/svg/icon-base.svg
new file mode 100644
index 0000000..6271178
--- /dev/null
+++ b/src/icons/svg/icon-base.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/views/alarmManage/listAlarmNow.vue b/src/views/alarmManage/listAlarmNow.vue
index 49713f4..1490257 100644
--- a/src/views/alarmManage/listAlarmNow.vue
+++ b/src/views/alarmManage/listAlarmNow.vue
@@ -235,14 +235,14 @@
cancelAlarm(jobId) {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, jobId, false)
+ this.$refs.handlePrompt.initDialog(true, jobId, false)
// }, 100)
},
// 取消报警,调用结束工单接口
batchCancel() {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
+ this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
// }, 100)
},
formatValue(cellValue) {
diff --git a/src/views/alarmManage/listAlarmRecords.vue b/src/views/alarmManage/listAlarmRecords.vue
index 886ffc7..b5d4908 100644
--- a/src/views/alarmManage/listAlarmRecords.vue
+++ b/src/views/alarmManage/listAlarmRecords.vue
@@ -50,7 +50,8 @@
- {{ scope.row[column.value] }}
+ {{ scope.row[column.value] }}
+ {{ formatValue(scope.row[column.value]) }}
{{ scope.row[column.value] }}
@@ -124,6 +125,12 @@
align: 'center'
},
{
+ text: '告警等级',
+ value: 'alarmLevel',
+ align: 'center',
+ level: true
+ },
+ {
text: '告警原因',
value: 'alarmContentName',
align: 'center'
@@ -201,8 +208,8 @@
next()
},
mounted() {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -217,8 +224,8 @@
activated() {
console.log('alarmRecored actived')
if (!isFromDetail) {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -237,6 +244,17 @@
this.wellShow = true
this.$refs.wellInfo.initDialog(row.wellId)
},
+ formatValue(cellValue) {
+ if (cellValue === 1) {
+ return '一级告警'
+ } else if (cellValue === 2) {
+ return '二级告警'
+ } else if (cellValue === 3) {
+ return '三级告警'
+ } else {
+ return ''
+ }
+ },
// 工单
showJob(row) {
const jobId = row.jobId
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index db4e774..8a3748c 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -65,8 +65,7 @@
},
data() {
return {
- // wsPath: 'ws://10.9.39.8:8080/army/webSocket/'
- wsPath: 'ws://192.168.0.166:14537/websocket/'
+ wsPath: 'ws://119.254.103.80:14537/websocket/'
}
},
computed: {
@@ -106,10 +105,10 @@
}
// 监听socket消息接收
this.socket.onmessage = function(msg) {
- debugger
// 转换为json对象
const data = JSON.parse(msg.data)
if (data.type === 'alarm') {
+ this.playAudio()
that.$notify({
title: '新报警来了',
// 这里也可以把返回信息加入到message中显示
diff --git a/src/views/dataManage/deviceData/listFlowmeterData.vue b/src/views/dataManage/deviceData/listFlowmeterData.vue
index 57a84a4..30d9395 100644
--- a/src/views/dataManage/deviceData/listFlowmeterData.vue
+++ b/src/views/dataManage/deviceData/listFlowmeterData.vue
@@ -97,27 +97,27 @@
// align: 'center'
// },
{
- text: '水位',
+ text: '水位(m)',
value: 'waterLevel',
align: 'center'
},
{
- text: '流速',
+ text: '流速(m/s)',
value: 'flowVelocity',
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temperature',
align: 'center'
},
{
- text: '瞬时流量',
+ text: '瞬时流量(m³/s)',
value: 'instantFlow',
align: 'center'
},
{
- text: '累计流量',
+ text: '累计流量(m³)',
value: 'totalFlow',
align: 'center'
},
diff --git a/src/views/dataManage/deviceData/listMeterData.vue b/src/views/dataManage/deviceData/listMeterData.vue
index 20967c4..8c0a30a 100644
--- a/src/views/dataManage/deviceData/listMeterData.vue
+++ b/src/views/dataManage/deviceData/listMeterData.vue
@@ -92,7 +92,7 @@
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temp',
align: 'center'
},
@@ -102,45 +102,45 @@
align: 'center'
},
{
- text: '电导率',
+ text: '电导率(mS/cm)',
value: 'conductivity',
align: 'center'
},
{
- text: '溶解氧',
+ text: '溶解氧(mg/L)',
value: 'do',
align: 'center'
},
{
- text: '浊度',
+ text: '浊度(NTU)',
value: 'turbidity',
align: 'center'
},
{
- text: 'COD',
+ text: 'COD(mg/L)',
value: 'cod',
align: 'center'
},
{
- text: '氨氮',
+ text: '氨氮(mg/L)',
value: 'an',
align: 'center'
},
{
- text: '总磷',
+ text: '总磷(mg/L)',
value: 'tp',
align: 'center'
},
{
- text: '总氮',
+ text: '总氮(mg/L)',
value: 'tn',
align: 'center'
},
- {
- text: '状态描述',
- value: 'descn',
- align: 'center'
- },
+ // {
+ // text: '状态描述',
+ // value: 'descn',
+ // align: 'center'
+ // },
// {
// text: '权属单位',
// value: 'deptName',
@@ -149,7 +149,7 @@
{
text: '记录时间',
value: 'logtime',
- width: 170,
+ width: 160,
align: 'center'
}
], // 显示列
diff --git a/src/views/dataManage/deviceData/listWellLocaData.vue b/src/views/dataManage/deviceData/listWellLocaData.vue
index 52e1fce..051f5a4 100644
--- a/src/views/dataManage/deviceData/listWellLocaData.vue
+++ b/src/views/dataManage/deviceData/listWellLocaData.vue
@@ -106,20 +106,13 @@
align: 'center'
},
{
- text: '电量(%)',
- value: 'cell',
- width: 80,
- align: 'center',
- checkCell: true
- },
- {
text: '权属单位',
value: 'deptName',
align: 'center'
},
{
text: '上传时间',
- value: 'uptime',
+ value: 'logtime',
width: 170,
align: 'center'
}
diff --git a/src/views/deviceConfig/components/editDigConfig.vue b/src/views/deviceConfig/components/editDigConfig.vue
index 3edebf4..00cc7d0 100644
--- a/src/views/deviceConfig/components/editDigConfig.vue
+++ b/src/views/deviceConfig/components/editDigConfig.vue
@@ -88,25 +88,25 @@
-
+
-
+
-
+
@@ -145,10 +145,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 1, 96) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写1到96数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -156,10 +156,10 @@
}
const validateThreshold = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 1, 37500) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写1到37500数值'))
}
} else {
callback(new Error('报警阈值不能为空'))
@@ -180,7 +180,7 @@
deviceId: '', // 设备id
collectInterval: '', // 采集间隔
collectTime: '', // 采集时间
- collectCount: '', // 采集时间
+ collectCount: '', // 采集次数
sleepStartTime: '', // 睡眠时间
threshold: '', // 报警阈值
retryTimes: '3', // 重传次数
@@ -194,6 +194,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
threshold: [{ required: true, trigger: ['blur', 'change'], validator: validateThreshold }],
@@ -247,11 +248,11 @@
this.configForm = {
id: row.id,
deviceId: row.deviceId, // 设备id
- collectInterval: row.collectInterval, // 报警阈值
- collectTime: row.collectTime, // 安装高度
- collectCount: row.collectCount, // 安装高度
- threshold: row.threshold, // 安装高度
- sleepStartTime: row.sleepStartTime, // 安装高度
+ collectInterval: row.collectInterval, // 采集间隔
+ collectTime: row.collectTime, // 采集时间
+ collectCount: row.collectCount, // 采集次数
+ threshold: row.threshold, // 报警阈值
+ sleepStartTime: row.sleepStartTime, // 睡眠时间
retryTimes: row.retryTimes, // 重传次数
ip: row.ip, // ip地址
port: row.port, // 端口号
@@ -282,11 +283,15 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editDigConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
+ this.canEdit = true
this.$emit('watchChild')
this.dialogFormVisible = false
+ } else {
+ this.canEdit = true
}
})
}
diff --git a/src/views/deviceConfig/components/editGasConfig.vue b/src/views/deviceConfig/components/editGasConfig.vue
index 12f5471..1f16f3e 100644
--- a/src/views/deviceConfig/components/editGasConfig.vue
+++ b/src/views/deviceConfig/components/editGasConfig.vue
@@ -1,6 +1,6 @@
-
+
@@ -42,7 +42,7 @@
-
+
@@ -53,31 +53,31 @@
-
+
-
+
-
+
-
+
@@ -116,10 +116,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 5, 1440) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写5到1440数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -127,10 +127,10 @@
}
const validateUpPeriod = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 0, 10080) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写0到10080之间数值'))
}
} else {
callback(new Error('上传周期不能为空'))
@@ -162,6 +162,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
uploadPeriod: [{ required: true, trigger: ['blur', 'change'], validator: validateUpPeriod }],
@@ -244,12 +245,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editGasConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceConfig/components/editHarmfulConfig.vue b/src/views/deviceConfig/components/editHarmfulConfig.vue
index 685c36e..9b9b7c3 100644
--- a/src/views/deviceConfig/components/editHarmfulConfig.vue
+++ b/src/views/deviceConfig/components/editHarmfulConfig.vue
@@ -55,18 +55,18 @@
-
+
-
+
@@ -138,6 +138,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
uploadPeriod: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
deviceId: [{ required: true, message: '设备编号不能为空', trigger: ['blur', 'change'] }],
@@ -216,12 +217,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editHarmfulConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceConfig/components/editLiquidConfig.vue b/src/views/deviceConfig/components/editLiquidConfig.vue
index cd2bcba..3729f5a 100644
--- a/src/views/deviceConfig/components/editLiquidConfig.vue
+++ b/src/views/deviceConfig/components/editLiquidConfig.vue
@@ -67,18 +67,18 @@
-
+
-
+
@@ -162,6 +162,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
percent: [{ required: true, trigger: ['blur', 'change'], validator: validatePercent }],
installHeight: [{ required: true, trigger: ['blur', 'change'], validator: validateInstallHeight }],
@@ -244,12 +245,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editLiquidConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/.gitignore b/.gitignore
index 78a0ead..ae8c51a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
+smartwell/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
diff --git a/src/App.vue b/src/App.vue
index 721d3a3..274bace 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,6 @@
diff --git a/src/api/area.js b/src/api/area.js
index a5a6b0d..974ce81 100644
--- a/src/api/area.js
+++ b/src/api/area.js
@@ -12,6 +12,14 @@
}
})
}
+// 区域查询
+export function getAreaListPage(params) {
+ return request({
+ url: 'area/listPage',
+ method: 'get',
+ params
+ })
+}
// 根据部门找其默认区域
export function getAreaByDept(deptid) {
return request({
diff --git a/src/components/CMap/components/cmap.vue b/src/components/CMap/components/cmap.vue
index 2e0604c..9bfc2dd 100644
--- a/src/components/CMap/components/cmap.vue
+++ b/src/components/CMap/components/cmap.vue
@@ -73,11 +73,10 @@
'': { size: [10, 10], anchor: [10, 10] }
}, // 图标管理器
layerId: 'yizhuang_poi', // 需要加载的图层id
- queryString: 'ID<1000', // 地图筛选条件
+ queryString: '', // 地图筛选条件
layerInfoManager: {
- yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'Y', lngfd: 'X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'Adress', cache: true, showtype: 'auto' }
+ yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'COORDINATE_Y', lngfd: 'COORDINATE_X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'POSITION', cache: true, showtype: 'auto' }
}, // 图层信息管理器
- // style: 'http://localhost:8080/static/images/map_images/alarm-well1.png',
style: 'resource/images/sys/markers/未分类/dot',
stylepos: 1,
overlay: null,
@@ -119,12 +118,10 @@
mapLayers.setMaxZoom(val)
},
alarmMarkers(val) {
- console.log('alarmMarkers')
this.renderMarkers()
}
},
mounted() {
- console.log('map mounted')
this.reset()
},
activated() {
@@ -320,9 +317,9 @@
stylepos: this.stylepos,
stylefd: layerInfoManager[layerId].stylefd,
morecon: this.queryString,
- namefd: '',
+ namefd: layerInfoManager[layerId].namefd,
keyfd: '',
- attrfds: '' }
+ attrfds: layerInfoManager[layerId].attrfds }
const tableinfostr = CEncodeSpecialChar(CJsonToStringify(tableinfo))
opts.params.tableinfo = tableinfostr
}
@@ -337,8 +334,6 @@
this.registerDotQuery('yizhuang_poi', function(e, _data) {
if (_data.length > 0) {
that.openInfoWindow(_data[0].id, e)
- } else {
-
}
})
// this.loadBigViewFeature(layerId, this.drawFeature)
@@ -351,6 +346,7 @@
mapLayers.removeLayer(overlayManager[layerId])
delete overlayManager[layerId]
}
+ mapLayers.closePopup()
},
// 过滤海量点
filterPoi(listQuery) {
@@ -370,13 +366,11 @@
queryList.push('DEPTID=' + deptid)
}
this.queryString = queryList.join(' and ')
- console.log(this.queryString)
this.cleanPoi()
this.renderPoi(false)
},
// loadBigViewFeature
loadBigViewFeature(id, callback) {
- console.log('loadBigViewFeature')
const { mapLayers, layerInfoManager } = this
if (layerInfoManager[id].spanzoom > mapLayers.getZoom() && layerInfoManager[id].showtype !== 'client') { return }
var bounds = getGlobalBounds()
@@ -456,7 +450,7 @@
if (layerInfoManager[id].layerid) {
transObj.params.layerid = CEncode(layerInfoManager[id].layerid)
} else {
- const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: layerInfoManager[id].morecon, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
+ const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: this.queryString, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
transObj.params.tableinfo = CEncodeSpecialChar(CJsonToStringify(tableinfo))
}
@@ -539,10 +533,8 @@
mapLayers.setZoom(17)
mapLayers.setCenter(overlay.getLatLng())
// this.center = alarmInfo.position
- console.log('before setPopupContent')
overlay.setPopupContent(dom)
// debugger
- console.log('after setPopupContent')
overlay.openPopup()
}
})
@@ -563,8 +555,8 @@
'详细地址:' + wellInfo.position + '
' +
'' +
''
- mapLayers.setZoom(18)
const position = new CLatLng(wellInfo.coordinateY, wellInfo.coordinateX)
+ // mapLayers.setZoom(17)
mapLayers.openInfoWindow(position, dom)
}
})
@@ -631,6 +623,9 @@
width:100%;
height: calc(100vh - 84px);
}
+ .selectedmaptypecontrol{
+ display: none;
+ }
/*.alarm-window{*/
/*max-width: 250px;*/
/*!*background-color: #ffeaf1;*!*/
diff --git a/src/icons/svg/icon-base.svg b/src/icons/svg/icon-base.svg
new file mode 100644
index 0000000..6271178
--- /dev/null
+++ b/src/icons/svg/icon-base.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/views/alarmManage/listAlarmNow.vue b/src/views/alarmManage/listAlarmNow.vue
index 49713f4..1490257 100644
--- a/src/views/alarmManage/listAlarmNow.vue
+++ b/src/views/alarmManage/listAlarmNow.vue
@@ -235,14 +235,14 @@
cancelAlarm(jobId) {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, jobId, false)
+ this.$refs.handlePrompt.initDialog(true, jobId, false)
// }, 100)
},
// 取消报警,调用结束工单接口
batchCancel() {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
+ this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
// }, 100)
},
formatValue(cellValue) {
diff --git a/src/views/alarmManage/listAlarmRecords.vue b/src/views/alarmManage/listAlarmRecords.vue
index 886ffc7..b5d4908 100644
--- a/src/views/alarmManage/listAlarmRecords.vue
+++ b/src/views/alarmManage/listAlarmRecords.vue
@@ -50,7 +50,8 @@
- {{ scope.row[column.value] }}
+ {{ scope.row[column.value] }}
+ {{ formatValue(scope.row[column.value]) }}
{{ scope.row[column.value] }}
@@ -124,6 +125,12 @@
align: 'center'
},
{
+ text: '告警等级',
+ value: 'alarmLevel',
+ align: 'center',
+ level: true
+ },
+ {
text: '告警原因',
value: 'alarmContentName',
align: 'center'
@@ -201,8 +208,8 @@
next()
},
mounted() {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -217,8 +224,8 @@
activated() {
console.log('alarmRecored actived')
if (!isFromDetail) {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -237,6 +244,17 @@
this.wellShow = true
this.$refs.wellInfo.initDialog(row.wellId)
},
+ formatValue(cellValue) {
+ if (cellValue === 1) {
+ return '一级告警'
+ } else if (cellValue === 2) {
+ return '二级告警'
+ } else if (cellValue === 3) {
+ return '三级告警'
+ } else {
+ return ''
+ }
+ },
// 工单
showJob(row) {
const jobId = row.jobId
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index db4e774..8a3748c 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -65,8 +65,7 @@
},
data() {
return {
- // wsPath: 'ws://10.9.39.8:8080/army/webSocket/'
- wsPath: 'ws://192.168.0.166:14537/websocket/'
+ wsPath: 'ws://119.254.103.80:14537/websocket/'
}
},
computed: {
@@ -106,10 +105,10 @@
}
// 监听socket消息接收
this.socket.onmessage = function(msg) {
- debugger
// 转换为json对象
const data = JSON.parse(msg.data)
if (data.type === 'alarm') {
+ this.playAudio()
that.$notify({
title: '新报警来了',
// 这里也可以把返回信息加入到message中显示
diff --git a/src/views/dataManage/deviceData/listFlowmeterData.vue b/src/views/dataManage/deviceData/listFlowmeterData.vue
index 57a84a4..30d9395 100644
--- a/src/views/dataManage/deviceData/listFlowmeterData.vue
+++ b/src/views/dataManage/deviceData/listFlowmeterData.vue
@@ -97,27 +97,27 @@
// align: 'center'
// },
{
- text: '水位',
+ text: '水位(m)',
value: 'waterLevel',
align: 'center'
},
{
- text: '流速',
+ text: '流速(m/s)',
value: 'flowVelocity',
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temperature',
align: 'center'
},
{
- text: '瞬时流量',
+ text: '瞬时流量(m³/s)',
value: 'instantFlow',
align: 'center'
},
{
- text: '累计流量',
+ text: '累计流量(m³)',
value: 'totalFlow',
align: 'center'
},
diff --git a/src/views/dataManage/deviceData/listMeterData.vue b/src/views/dataManage/deviceData/listMeterData.vue
index 20967c4..8c0a30a 100644
--- a/src/views/dataManage/deviceData/listMeterData.vue
+++ b/src/views/dataManage/deviceData/listMeterData.vue
@@ -92,7 +92,7 @@
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temp',
align: 'center'
},
@@ -102,45 +102,45 @@
align: 'center'
},
{
- text: '电导率',
+ text: '电导率(mS/cm)',
value: 'conductivity',
align: 'center'
},
{
- text: '溶解氧',
+ text: '溶解氧(mg/L)',
value: 'do',
align: 'center'
},
{
- text: '浊度',
+ text: '浊度(NTU)',
value: 'turbidity',
align: 'center'
},
{
- text: 'COD',
+ text: 'COD(mg/L)',
value: 'cod',
align: 'center'
},
{
- text: '氨氮',
+ text: '氨氮(mg/L)',
value: 'an',
align: 'center'
},
{
- text: '总磷',
+ text: '总磷(mg/L)',
value: 'tp',
align: 'center'
},
{
- text: '总氮',
+ text: '总氮(mg/L)',
value: 'tn',
align: 'center'
},
- {
- text: '状态描述',
- value: 'descn',
- align: 'center'
- },
+ // {
+ // text: '状态描述',
+ // value: 'descn',
+ // align: 'center'
+ // },
// {
// text: '权属单位',
// value: 'deptName',
@@ -149,7 +149,7 @@
{
text: '记录时间',
value: 'logtime',
- width: 170,
+ width: 160,
align: 'center'
}
], // 显示列
diff --git a/src/views/dataManage/deviceData/listWellLocaData.vue b/src/views/dataManage/deviceData/listWellLocaData.vue
index 52e1fce..051f5a4 100644
--- a/src/views/dataManage/deviceData/listWellLocaData.vue
+++ b/src/views/dataManage/deviceData/listWellLocaData.vue
@@ -106,20 +106,13 @@
align: 'center'
},
{
- text: '电量(%)',
- value: 'cell',
- width: 80,
- align: 'center',
- checkCell: true
- },
- {
text: '权属单位',
value: 'deptName',
align: 'center'
},
{
text: '上传时间',
- value: 'uptime',
+ value: 'logtime',
width: 170,
align: 'center'
}
diff --git a/src/views/deviceConfig/components/editDigConfig.vue b/src/views/deviceConfig/components/editDigConfig.vue
index 3edebf4..00cc7d0 100644
--- a/src/views/deviceConfig/components/editDigConfig.vue
+++ b/src/views/deviceConfig/components/editDigConfig.vue
@@ -88,25 +88,25 @@
-
+
-
+
-
+
@@ -145,10 +145,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 1, 96) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写1到96数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -156,10 +156,10 @@
}
const validateThreshold = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 1, 37500) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写1到37500数值'))
}
} else {
callback(new Error('报警阈值不能为空'))
@@ -180,7 +180,7 @@
deviceId: '', // 设备id
collectInterval: '', // 采集间隔
collectTime: '', // 采集时间
- collectCount: '', // 采集时间
+ collectCount: '', // 采集次数
sleepStartTime: '', // 睡眠时间
threshold: '', // 报警阈值
retryTimes: '3', // 重传次数
@@ -194,6 +194,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
threshold: [{ required: true, trigger: ['blur', 'change'], validator: validateThreshold }],
@@ -247,11 +248,11 @@
this.configForm = {
id: row.id,
deviceId: row.deviceId, // 设备id
- collectInterval: row.collectInterval, // 报警阈值
- collectTime: row.collectTime, // 安装高度
- collectCount: row.collectCount, // 安装高度
- threshold: row.threshold, // 安装高度
- sleepStartTime: row.sleepStartTime, // 安装高度
+ collectInterval: row.collectInterval, // 采集间隔
+ collectTime: row.collectTime, // 采集时间
+ collectCount: row.collectCount, // 采集次数
+ threshold: row.threshold, // 报警阈值
+ sleepStartTime: row.sleepStartTime, // 睡眠时间
retryTimes: row.retryTimes, // 重传次数
ip: row.ip, // ip地址
port: row.port, // 端口号
@@ -282,11 +283,15 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editDigConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
+ this.canEdit = true
this.$emit('watchChild')
this.dialogFormVisible = false
+ } else {
+ this.canEdit = true
}
})
}
diff --git a/src/views/deviceConfig/components/editGasConfig.vue b/src/views/deviceConfig/components/editGasConfig.vue
index 12f5471..1f16f3e 100644
--- a/src/views/deviceConfig/components/editGasConfig.vue
+++ b/src/views/deviceConfig/components/editGasConfig.vue
@@ -1,6 +1,6 @@
-
+
@@ -42,7 +42,7 @@
-
+
@@ -53,31 +53,31 @@
-
+
-
+
-
+
-
+
@@ -116,10 +116,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 5, 1440) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写5到1440数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -127,10 +127,10 @@
}
const validateUpPeriod = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 0, 10080) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写0到10080之间数值'))
}
} else {
callback(new Error('上传周期不能为空'))
@@ -162,6 +162,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
uploadPeriod: [{ required: true, trigger: ['blur', 'change'], validator: validateUpPeriod }],
@@ -244,12 +245,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editGasConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceConfig/components/editHarmfulConfig.vue b/src/views/deviceConfig/components/editHarmfulConfig.vue
index 685c36e..9b9b7c3 100644
--- a/src/views/deviceConfig/components/editHarmfulConfig.vue
+++ b/src/views/deviceConfig/components/editHarmfulConfig.vue
@@ -55,18 +55,18 @@
-
+
-
+
@@ -138,6 +138,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
uploadPeriod: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
deviceId: [{ required: true, message: '设备编号不能为空', trigger: ['blur', 'change'] }],
@@ -216,12 +217,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editHarmfulConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceConfig/components/editLiquidConfig.vue b/src/views/deviceConfig/components/editLiquidConfig.vue
index cd2bcba..3729f5a 100644
--- a/src/views/deviceConfig/components/editLiquidConfig.vue
+++ b/src/views/deviceConfig/components/editLiquidConfig.vue
@@ -67,18 +67,18 @@
-
+
-
+
@@ -162,6 +162,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
percent: [{ required: true, trigger: ['blur', 'change'], validator: validatePercent }],
installHeight: [{ required: true, trigger: ['blur', 'change'], validator: validateInstallHeight }],
@@ -244,12 +245,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editLiquidConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceConfig/components/editTempConfig.vue b/src/views/deviceConfig/components/editTempConfig.vue
index 48ce6c9..b054bea 100644
--- a/src/views/deviceConfig/components/editTempConfig.vue
+++ b/src/views/deviceConfig/components/editTempConfig.vue
@@ -72,25 +72,25 @@
-
+
-
+
-
+
@@ -129,10 +129,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 60, 1440) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写60到1440数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -165,6 +165,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
collectTime: [{ required: true, message: '采集时间不能为空', trigger: ['blur', 'change'] }],
@@ -250,12 +251,21 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ // 验证采集间隔与采集次数乘积不得超过1440
+ const collectInterval = parseFloat(this.configForm.collectInterval)
+ const collectCount = this.configForm.collectCount
+ if (collectInterval * collectCount > 1440) {
+ this.$message.warning('采集间隔与采集次数乘积不得超过1440')
+ return
+ }
+ this.canEdit = false
editTempConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/.gitignore b/.gitignore
index 78a0ead..ae8c51a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
+smartwell/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
diff --git a/src/App.vue b/src/App.vue
index 721d3a3..274bace 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,6 @@
diff --git a/src/api/area.js b/src/api/area.js
index a5a6b0d..974ce81 100644
--- a/src/api/area.js
+++ b/src/api/area.js
@@ -12,6 +12,14 @@
}
})
}
+// 区域查询
+export function getAreaListPage(params) {
+ return request({
+ url: 'area/listPage',
+ method: 'get',
+ params
+ })
+}
// 根据部门找其默认区域
export function getAreaByDept(deptid) {
return request({
diff --git a/src/components/CMap/components/cmap.vue b/src/components/CMap/components/cmap.vue
index 2e0604c..9bfc2dd 100644
--- a/src/components/CMap/components/cmap.vue
+++ b/src/components/CMap/components/cmap.vue
@@ -73,11 +73,10 @@
'': { size: [10, 10], anchor: [10, 10] }
}, // 图标管理器
layerId: 'yizhuang_poi', // 需要加载的图层id
- queryString: 'ID<1000', // 地图筛选条件
+ queryString: '', // 地图筛选条件
layerInfoManager: {
- yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'Y', lngfd: 'X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'Adress', cache: true, showtype: 'auto' }
+ yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'COORDINATE_Y', lngfd: 'COORDINATE_X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'POSITION', cache: true, showtype: 'auto' }
}, // 图层信息管理器
- // style: 'http://localhost:8080/static/images/map_images/alarm-well1.png',
style: 'resource/images/sys/markers/未分类/dot',
stylepos: 1,
overlay: null,
@@ -119,12 +118,10 @@
mapLayers.setMaxZoom(val)
},
alarmMarkers(val) {
- console.log('alarmMarkers')
this.renderMarkers()
}
},
mounted() {
- console.log('map mounted')
this.reset()
},
activated() {
@@ -320,9 +317,9 @@
stylepos: this.stylepos,
stylefd: layerInfoManager[layerId].stylefd,
morecon: this.queryString,
- namefd: '',
+ namefd: layerInfoManager[layerId].namefd,
keyfd: '',
- attrfds: '' }
+ attrfds: layerInfoManager[layerId].attrfds }
const tableinfostr = CEncodeSpecialChar(CJsonToStringify(tableinfo))
opts.params.tableinfo = tableinfostr
}
@@ -337,8 +334,6 @@
this.registerDotQuery('yizhuang_poi', function(e, _data) {
if (_data.length > 0) {
that.openInfoWindow(_data[0].id, e)
- } else {
-
}
})
// this.loadBigViewFeature(layerId, this.drawFeature)
@@ -351,6 +346,7 @@
mapLayers.removeLayer(overlayManager[layerId])
delete overlayManager[layerId]
}
+ mapLayers.closePopup()
},
// 过滤海量点
filterPoi(listQuery) {
@@ -370,13 +366,11 @@
queryList.push('DEPTID=' + deptid)
}
this.queryString = queryList.join(' and ')
- console.log(this.queryString)
this.cleanPoi()
this.renderPoi(false)
},
// loadBigViewFeature
loadBigViewFeature(id, callback) {
- console.log('loadBigViewFeature')
const { mapLayers, layerInfoManager } = this
if (layerInfoManager[id].spanzoom > mapLayers.getZoom() && layerInfoManager[id].showtype !== 'client') { return }
var bounds = getGlobalBounds()
@@ -456,7 +450,7 @@
if (layerInfoManager[id].layerid) {
transObj.params.layerid = CEncode(layerInfoManager[id].layerid)
} else {
- const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: layerInfoManager[id].morecon, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
+ const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: this.queryString, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
transObj.params.tableinfo = CEncodeSpecialChar(CJsonToStringify(tableinfo))
}
@@ -539,10 +533,8 @@
mapLayers.setZoom(17)
mapLayers.setCenter(overlay.getLatLng())
// this.center = alarmInfo.position
- console.log('before setPopupContent')
overlay.setPopupContent(dom)
// debugger
- console.log('after setPopupContent')
overlay.openPopup()
}
})
@@ -563,8 +555,8 @@
'详细地址:' + wellInfo.position + '
' +
'' +
''
- mapLayers.setZoom(18)
const position = new CLatLng(wellInfo.coordinateY, wellInfo.coordinateX)
+ // mapLayers.setZoom(17)
mapLayers.openInfoWindow(position, dom)
}
})
@@ -631,6 +623,9 @@
width:100%;
height: calc(100vh - 84px);
}
+ .selectedmaptypecontrol{
+ display: none;
+ }
/*.alarm-window{*/
/*max-width: 250px;*/
/*!*background-color: #ffeaf1;*!*/
diff --git a/src/icons/svg/icon-base.svg b/src/icons/svg/icon-base.svg
new file mode 100644
index 0000000..6271178
--- /dev/null
+++ b/src/icons/svg/icon-base.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/views/alarmManage/listAlarmNow.vue b/src/views/alarmManage/listAlarmNow.vue
index 49713f4..1490257 100644
--- a/src/views/alarmManage/listAlarmNow.vue
+++ b/src/views/alarmManage/listAlarmNow.vue
@@ -235,14 +235,14 @@
cancelAlarm(jobId) {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, jobId, false)
+ this.$refs.handlePrompt.initDialog(true, jobId, false)
// }, 100)
},
// 取消报警,调用结束工单接口
batchCancel() {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
+ this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
// }, 100)
},
formatValue(cellValue) {
diff --git a/src/views/alarmManage/listAlarmRecords.vue b/src/views/alarmManage/listAlarmRecords.vue
index 886ffc7..b5d4908 100644
--- a/src/views/alarmManage/listAlarmRecords.vue
+++ b/src/views/alarmManage/listAlarmRecords.vue
@@ -50,7 +50,8 @@
- {{ scope.row[column.value] }}
+ {{ scope.row[column.value] }}
+ {{ formatValue(scope.row[column.value]) }}
{{ scope.row[column.value] }}
@@ -124,6 +125,12 @@
align: 'center'
},
{
+ text: '告警等级',
+ value: 'alarmLevel',
+ align: 'center',
+ level: true
+ },
+ {
text: '告警原因',
value: 'alarmContentName',
align: 'center'
@@ -201,8 +208,8 @@
next()
},
mounted() {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -217,8 +224,8 @@
activated() {
console.log('alarmRecored actived')
if (!isFromDetail) {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -237,6 +244,17 @@
this.wellShow = true
this.$refs.wellInfo.initDialog(row.wellId)
},
+ formatValue(cellValue) {
+ if (cellValue === 1) {
+ return '一级告警'
+ } else if (cellValue === 2) {
+ return '二级告警'
+ } else if (cellValue === 3) {
+ return '三级告警'
+ } else {
+ return ''
+ }
+ },
// 工单
showJob(row) {
const jobId = row.jobId
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index db4e774..8a3748c 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -65,8 +65,7 @@
},
data() {
return {
- // wsPath: 'ws://10.9.39.8:8080/army/webSocket/'
- wsPath: 'ws://192.168.0.166:14537/websocket/'
+ wsPath: 'ws://119.254.103.80:14537/websocket/'
}
},
computed: {
@@ -106,10 +105,10 @@
}
// 监听socket消息接收
this.socket.onmessage = function(msg) {
- debugger
// 转换为json对象
const data = JSON.parse(msg.data)
if (data.type === 'alarm') {
+ this.playAudio()
that.$notify({
title: '新报警来了',
// 这里也可以把返回信息加入到message中显示
diff --git a/src/views/dataManage/deviceData/listFlowmeterData.vue b/src/views/dataManage/deviceData/listFlowmeterData.vue
index 57a84a4..30d9395 100644
--- a/src/views/dataManage/deviceData/listFlowmeterData.vue
+++ b/src/views/dataManage/deviceData/listFlowmeterData.vue
@@ -97,27 +97,27 @@
// align: 'center'
// },
{
- text: '水位',
+ text: '水位(m)',
value: 'waterLevel',
align: 'center'
},
{
- text: '流速',
+ text: '流速(m/s)',
value: 'flowVelocity',
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temperature',
align: 'center'
},
{
- text: '瞬时流量',
+ text: '瞬时流量(m³/s)',
value: 'instantFlow',
align: 'center'
},
{
- text: '累计流量',
+ text: '累计流量(m³)',
value: 'totalFlow',
align: 'center'
},
diff --git a/src/views/dataManage/deviceData/listMeterData.vue b/src/views/dataManage/deviceData/listMeterData.vue
index 20967c4..8c0a30a 100644
--- a/src/views/dataManage/deviceData/listMeterData.vue
+++ b/src/views/dataManage/deviceData/listMeterData.vue
@@ -92,7 +92,7 @@
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temp',
align: 'center'
},
@@ -102,45 +102,45 @@
align: 'center'
},
{
- text: '电导率',
+ text: '电导率(mS/cm)',
value: 'conductivity',
align: 'center'
},
{
- text: '溶解氧',
+ text: '溶解氧(mg/L)',
value: 'do',
align: 'center'
},
{
- text: '浊度',
+ text: '浊度(NTU)',
value: 'turbidity',
align: 'center'
},
{
- text: 'COD',
+ text: 'COD(mg/L)',
value: 'cod',
align: 'center'
},
{
- text: '氨氮',
+ text: '氨氮(mg/L)',
value: 'an',
align: 'center'
},
{
- text: '总磷',
+ text: '总磷(mg/L)',
value: 'tp',
align: 'center'
},
{
- text: '总氮',
+ text: '总氮(mg/L)',
value: 'tn',
align: 'center'
},
- {
- text: '状态描述',
- value: 'descn',
- align: 'center'
- },
+ // {
+ // text: '状态描述',
+ // value: 'descn',
+ // align: 'center'
+ // },
// {
// text: '权属单位',
// value: 'deptName',
@@ -149,7 +149,7 @@
{
text: '记录时间',
value: 'logtime',
- width: 170,
+ width: 160,
align: 'center'
}
], // 显示列
diff --git a/src/views/dataManage/deviceData/listWellLocaData.vue b/src/views/dataManage/deviceData/listWellLocaData.vue
index 52e1fce..051f5a4 100644
--- a/src/views/dataManage/deviceData/listWellLocaData.vue
+++ b/src/views/dataManage/deviceData/listWellLocaData.vue
@@ -106,20 +106,13 @@
align: 'center'
},
{
- text: '电量(%)',
- value: 'cell',
- width: 80,
- align: 'center',
- checkCell: true
- },
- {
text: '权属单位',
value: 'deptName',
align: 'center'
},
{
text: '上传时间',
- value: 'uptime',
+ value: 'logtime',
width: 170,
align: 'center'
}
diff --git a/src/views/deviceConfig/components/editDigConfig.vue b/src/views/deviceConfig/components/editDigConfig.vue
index 3edebf4..00cc7d0 100644
--- a/src/views/deviceConfig/components/editDigConfig.vue
+++ b/src/views/deviceConfig/components/editDigConfig.vue
@@ -88,25 +88,25 @@
-
+
-
+
-
+
@@ -145,10 +145,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 1, 96) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写1到96数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -156,10 +156,10 @@
}
const validateThreshold = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 1, 37500) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写1到37500数值'))
}
} else {
callback(new Error('报警阈值不能为空'))
@@ -180,7 +180,7 @@
deviceId: '', // 设备id
collectInterval: '', // 采集间隔
collectTime: '', // 采集时间
- collectCount: '', // 采集时间
+ collectCount: '', // 采集次数
sleepStartTime: '', // 睡眠时间
threshold: '', // 报警阈值
retryTimes: '3', // 重传次数
@@ -194,6 +194,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
threshold: [{ required: true, trigger: ['blur', 'change'], validator: validateThreshold }],
@@ -247,11 +248,11 @@
this.configForm = {
id: row.id,
deviceId: row.deviceId, // 设备id
- collectInterval: row.collectInterval, // 报警阈值
- collectTime: row.collectTime, // 安装高度
- collectCount: row.collectCount, // 安装高度
- threshold: row.threshold, // 安装高度
- sleepStartTime: row.sleepStartTime, // 安装高度
+ collectInterval: row.collectInterval, // 采集间隔
+ collectTime: row.collectTime, // 采集时间
+ collectCount: row.collectCount, // 采集次数
+ threshold: row.threshold, // 报警阈值
+ sleepStartTime: row.sleepStartTime, // 睡眠时间
retryTimes: row.retryTimes, // 重传次数
ip: row.ip, // ip地址
port: row.port, // 端口号
@@ -282,11 +283,15 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editDigConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
+ this.canEdit = true
this.$emit('watchChild')
this.dialogFormVisible = false
+ } else {
+ this.canEdit = true
}
})
}
diff --git a/src/views/deviceConfig/components/editGasConfig.vue b/src/views/deviceConfig/components/editGasConfig.vue
index 12f5471..1f16f3e 100644
--- a/src/views/deviceConfig/components/editGasConfig.vue
+++ b/src/views/deviceConfig/components/editGasConfig.vue
@@ -1,6 +1,6 @@
-
+
@@ -42,7 +42,7 @@
-
+
@@ -53,31 +53,31 @@
-
+
-
+
-
+
-
+
@@ -116,10 +116,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 5, 1440) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写5到1440数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -127,10 +127,10 @@
}
const validateUpPeriod = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 0, 10080) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写0到10080之间数值'))
}
} else {
callback(new Error('上传周期不能为空'))
@@ -162,6 +162,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
uploadPeriod: [{ required: true, trigger: ['blur', 'change'], validator: validateUpPeriod }],
@@ -244,12 +245,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editGasConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceConfig/components/editHarmfulConfig.vue b/src/views/deviceConfig/components/editHarmfulConfig.vue
index 685c36e..9b9b7c3 100644
--- a/src/views/deviceConfig/components/editHarmfulConfig.vue
+++ b/src/views/deviceConfig/components/editHarmfulConfig.vue
@@ -55,18 +55,18 @@
-
+
-
+
@@ -138,6 +138,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
uploadPeriod: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
deviceId: [{ required: true, message: '设备编号不能为空', trigger: ['blur', 'change'] }],
@@ -216,12 +217,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editHarmfulConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceConfig/components/editLiquidConfig.vue b/src/views/deviceConfig/components/editLiquidConfig.vue
index cd2bcba..3729f5a 100644
--- a/src/views/deviceConfig/components/editLiquidConfig.vue
+++ b/src/views/deviceConfig/components/editLiquidConfig.vue
@@ -67,18 +67,18 @@
-
+
-
+
@@ -162,6 +162,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
percent: [{ required: true, trigger: ['blur', 'change'], validator: validatePercent }],
installHeight: [{ required: true, trigger: ['blur', 'change'], validator: validateInstallHeight }],
@@ -244,12 +245,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editLiquidConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceConfig/components/editTempConfig.vue b/src/views/deviceConfig/components/editTempConfig.vue
index 48ce6c9..b054bea 100644
--- a/src/views/deviceConfig/components/editTempConfig.vue
+++ b/src/views/deviceConfig/components/editTempConfig.vue
@@ -72,25 +72,25 @@
-
+
-
+
-
+
@@ -129,10 +129,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 60, 1440) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写60到1440数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -165,6 +165,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
collectTime: [{ required: true, message: '采集时间不能为空', trigger: ['blur', 'change'] }],
@@ -250,12 +251,21 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ // 验证采集间隔与采集次数乘积不得超过1440
+ const collectInterval = parseFloat(this.configForm.collectInterval)
+ const collectCount = this.configForm.collectCount
+ if (collectInterval * collectCount > 1440) {
+ this.$message.warning('采集间隔与采集次数乘积不得超过1440')
+ return
+ }
+ this.canEdit = false
editTempConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceManage/editDevice.vue b/src/views/deviceManage/editDevice.vue
index c87a220..5539bbe 100644
--- a/src/views/deviceManage/editDevice.vue
+++ b/src/views/deviceManage/editDevice.vue
@@ -25,7 +25,7 @@
-
+
{
diff --git a/.gitignore b/.gitignore
index 78a0ead..ae8c51a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
+smartwell/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
diff --git a/src/App.vue b/src/App.vue
index 721d3a3..274bace 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,6 @@
diff --git a/src/api/area.js b/src/api/area.js
index a5a6b0d..974ce81 100644
--- a/src/api/area.js
+++ b/src/api/area.js
@@ -12,6 +12,14 @@
}
})
}
+// 区域查询
+export function getAreaListPage(params) {
+ return request({
+ url: 'area/listPage',
+ method: 'get',
+ params
+ })
+}
// 根据部门找其默认区域
export function getAreaByDept(deptid) {
return request({
diff --git a/src/components/CMap/components/cmap.vue b/src/components/CMap/components/cmap.vue
index 2e0604c..9bfc2dd 100644
--- a/src/components/CMap/components/cmap.vue
+++ b/src/components/CMap/components/cmap.vue
@@ -73,11 +73,10 @@
'': { size: [10, 10], anchor: [10, 10] }
}, // 图标管理器
layerId: 'yizhuang_poi', // 需要加载的图层id
- queryString: 'ID<1000', // 地图筛选条件
+ queryString: '', // 地图筛选条件
layerInfoManager: {
- yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'Y', lngfd: 'X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'Adress', cache: true, showtype: 'auto' }
+ yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'COORDINATE_Y', lngfd: 'COORDINATE_X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'POSITION', cache: true, showtype: 'auto' }
}, // 图层信息管理器
- // style: 'http://localhost:8080/static/images/map_images/alarm-well1.png',
style: 'resource/images/sys/markers/未分类/dot',
stylepos: 1,
overlay: null,
@@ -119,12 +118,10 @@
mapLayers.setMaxZoom(val)
},
alarmMarkers(val) {
- console.log('alarmMarkers')
this.renderMarkers()
}
},
mounted() {
- console.log('map mounted')
this.reset()
},
activated() {
@@ -320,9 +317,9 @@
stylepos: this.stylepos,
stylefd: layerInfoManager[layerId].stylefd,
morecon: this.queryString,
- namefd: '',
+ namefd: layerInfoManager[layerId].namefd,
keyfd: '',
- attrfds: '' }
+ attrfds: layerInfoManager[layerId].attrfds }
const tableinfostr = CEncodeSpecialChar(CJsonToStringify(tableinfo))
opts.params.tableinfo = tableinfostr
}
@@ -337,8 +334,6 @@
this.registerDotQuery('yizhuang_poi', function(e, _data) {
if (_data.length > 0) {
that.openInfoWindow(_data[0].id, e)
- } else {
-
}
})
// this.loadBigViewFeature(layerId, this.drawFeature)
@@ -351,6 +346,7 @@
mapLayers.removeLayer(overlayManager[layerId])
delete overlayManager[layerId]
}
+ mapLayers.closePopup()
},
// 过滤海量点
filterPoi(listQuery) {
@@ -370,13 +366,11 @@
queryList.push('DEPTID=' + deptid)
}
this.queryString = queryList.join(' and ')
- console.log(this.queryString)
this.cleanPoi()
this.renderPoi(false)
},
// loadBigViewFeature
loadBigViewFeature(id, callback) {
- console.log('loadBigViewFeature')
const { mapLayers, layerInfoManager } = this
if (layerInfoManager[id].spanzoom > mapLayers.getZoom() && layerInfoManager[id].showtype !== 'client') { return }
var bounds = getGlobalBounds()
@@ -456,7 +450,7 @@
if (layerInfoManager[id].layerid) {
transObj.params.layerid = CEncode(layerInfoManager[id].layerid)
} else {
- const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: layerInfoManager[id].morecon, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
+ const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: this.queryString, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
transObj.params.tableinfo = CEncodeSpecialChar(CJsonToStringify(tableinfo))
}
@@ -539,10 +533,8 @@
mapLayers.setZoom(17)
mapLayers.setCenter(overlay.getLatLng())
// this.center = alarmInfo.position
- console.log('before setPopupContent')
overlay.setPopupContent(dom)
// debugger
- console.log('after setPopupContent')
overlay.openPopup()
}
})
@@ -563,8 +555,8 @@
'详细地址:' + wellInfo.position + '
' +
'' +
''
- mapLayers.setZoom(18)
const position = new CLatLng(wellInfo.coordinateY, wellInfo.coordinateX)
+ // mapLayers.setZoom(17)
mapLayers.openInfoWindow(position, dom)
}
})
@@ -631,6 +623,9 @@
width:100%;
height: calc(100vh - 84px);
}
+ .selectedmaptypecontrol{
+ display: none;
+ }
/*.alarm-window{*/
/*max-width: 250px;*/
/*!*background-color: #ffeaf1;*!*/
diff --git a/src/icons/svg/icon-base.svg b/src/icons/svg/icon-base.svg
new file mode 100644
index 0000000..6271178
--- /dev/null
+++ b/src/icons/svg/icon-base.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/views/alarmManage/listAlarmNow.vue b/src/views/alarmManage/listAlarmNow.vue
index 49713f4..1490257 100644
--- a/src/views/alarmManage/listAlarmNow.vue
+++ b/src/views/alarmManage/listAlarmNow.vue
@@ -235,14 +235,14 @@
cancelAlarm(jobId) {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, jobId, false)
+ this.$refs.handlePrompt.initDialog(true, jobId, false)
// }, 100)
},
// 取消报警,调用结束工单接口
batchCancel() {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
+ this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
// }, 100)
},
formatValue(cellValue) {
diff --git a/src/views/alarmManage/listAlarmRecords.vue b/src/views/alarmManage/listAlarmRecords.vue
index 886ffc7..b5d4908 100644
--- a/src/views/alarmManage/listAlarmRecords.vue
+++ b/src/views/alarmManage/listAlarmRecords.vue
@@ -50,7 +50,8 @@
- {{ scope.row[column.value] }}
+ {{ scope.row[column.value] }}
+ {{ formatValue(scope.row[column.value]) }}
{{ scope.row[column.value] }}
@@ -124,6 +125,12 @@
align: 'center'
},
{
+ text: '告警等级',
+ value: 'alarmLevel',
+ align: 'center',
+ level: true
+ },
+ {
text: '告警原因',
value: 'alarmContentName',
align: 'center'
@@ -201,8 +208,8 @@
next()
},
mounted() {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -217,8 +224,8 @@
activated() {
console.log('alarmRecored actived')
if (!isFromDetail) {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -237,6 +244,17 @@
this.wellShow = true
this.$refs.wellInfo.initDialog(row.wellId)
},
+ formatValue(cellValue) {
+ if (cellValue === 1) {
+ return '一级告警'
+ } else if (cellValue === 2) {
+ return '二级告警'
+ } else if (cellValue === 3) {
+ return '三级告警'
+ } else {
+ return ''
+ }
+ },
// 工单
showJob(row) {
const jobId = row.jobId
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index db4e774..8a3748c 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -65,8 +65,7 @@
},
data() {
return {
- // wsPath: 'ws://10.9.39.8:8080/army/webSocket/'
- wsPath: 'ws://192.168.0.166:14537/websocket/'
+ wsPath: 'ws://119.254.103.80:14537/websocket/'
}
},
computed: {
@@ -106,10 +105,10 @@
}
// 监听socket消息接收
this.socket.onmessage = function(msg) {
- debugger
// 转换为json对象
const data = JSON.parse(msg.data)
if (data.type === 'alarm') {
+ this.playAudio()
that.$notify({
title: '新报警来了',
// 这里也可以把返回信息加入到message中显示
diff --git a/src/views/dataManage/deviceData/listFlowmeterData.vue b/src/views/dataManage/deviceData/listFlowmeterData.vue
index 57a84a4..30d9395 100644
--- a/src/views/dataManage/deviceData/listFlowmeterData.vue
+++ b/src/views/dataManage/deviceData/listFlowmeterData.vue
@@ -97,27 +97,27 @@
// align: 'center'
// },
{
- text: '水位',
+ text: '水位(m)',
value: 'waterLevel',
align: 'center'
},
{
- text: '流速',
+ text: '流速(m/s)',
value: 'flowVelocity',
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temperature',
align: 'center'
},
{
- text: '瞬时流量',
+ text: '瞬时流量(m³/s)',
value: 'instantFlow',
align: 'center'
},
{
- text: '累计流量',
+ text: '累计流量(m³)',
value: 'totalFlow',
align: 'center'
},
diff --git a/src/views/dataManage/deviceData/listMeterData.vue b/src/views/dataManage/deviceData/listMeterData.vue
index 20967c4..8c0a30a 100644
--- a/src/views/dataManage/deviceData/listMeterData.vue
+++ b/src/views/dataManage/deviceData/listMeterData.vue
@@ -92,7 +92,7 @@
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temp',
align: 'center'
},
@@ -102,45 +102,45 @@
align: 'center'
},
{
- text: '电导率',
+ text: '电导率(mS/cm)',
value: 'conductivity',
align: 'center'
},
{
- text: '溶解氧',
+ text: '溶解氧(mg/L)',
value: 'do',
align: 'center'
},
{
- text: '浊度',
+ text: '浊度(NTU)',
value: 'turbidity',
align: 'center'
},
{
- text: 'COD',
+ text: 'COD(mg/L)',
value: 'cod',
align: 'center'
},
{
- text: '氨氮',
+ text: '氨氮(mg/L)',
value: 'an',
align: 'center'
},
{
- text: '总磷',
+ text: '总磷(mg/L)',
value: 'tp',
align: 'center'
},
{
- text: '总氮',
+ text: '总氮(mg/L)',
value: 'tn',
align: 'center'
},
- {
- text: '状态描述',
- value: 'descn',
- align: 'center'
- },
+ // {
+ // text: '状态描述',
+ // value: 'descn',
+ // align: 'center'
+ // },
// {
// text: '权属单位',
// value: 'deptName',
@@ -149,7 +149,7 @@
{
text: '记录时间',
value: 'logtime',
- width: 170,
+ width: 160,
align: 'center'
}
], // 显示列
diff --git a/src/views/dataManage/deviceData/listWellLocaData.vue b/src/views/dataManage/deviceData/listWellLocaData.vue
index 52e1fce..051f5a4 100644
--- a/src/views/dataManage/deviceData/listWellLocaData.vue
+++ b/src/views/dataManage/deviceData/listWellLocaData.vue
@@ -106,20 +106,13 @@
align: 'center'
},
{
- text: '电量(%)',
- value: 'cell',
- width: 80,
- align: 'center',
- checkCell: true
- },
- {
text: '权属单位',
value: 'deptName',
align: 'center'
},
{
text: '上传时间',
- value: 'uptime',
+ value: 'logtime',
width: 170,
align: 'center'
}
diff --git a/src/views/deviceConfig/components/editDigConfig.vue b/src/views/deviceConfig/components/editDigConfig.vue
index 3edebf4..00cc7d0 100644
--- a/src/views/deviceConfig/components/editDigConfig.vue
+++ b/src/views/deviceConfig/components/editDigConfig.vue
@@ -88,25 +88,25 @@
-
+
-
+
-
+
@@ -145,10 +145,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 1, 96) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写1到96数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -156,10 +156,10 @@
}
const validateThreshold = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 1, 37500) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写1到37500数值'))
}
} else {
callback(new Error('报警阈值不能为空'))
@@ -180,7 +180,7 @@
deviceId: '', // 设备id
collectInterval: '', // 采集间隔
collectTime: '', // 采集时间
- collectCount: '', // 采集时间
+ collectCount: '', // 采集次数
sleepStartTime: '', // 睡眠时间
threshold: '', // 报警阈值
retryTimes: '3', // 重传次数
@@ -194,6 +194,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
threshold: [{ required: true, trigger: ['blur', 'change'], validator: validateThreshold }],
@@ -247,11 +248,11 @@
this.configForm = {
id: row.id,
deviceId: row.deviceId, // 设备id
- collectInterval: row.collectInterval, // 报警阈值
- collectTime: row.collectTime, // 安装高度
- collectCount: row.collectCount, // 安装高度
- threshold: row.threshold, // 安装高度
- sleepStartTime: row.sleepStartTime, // 安装高度
+ collectInterval: row.collectInterval, // 采集间隔
+ collectTime: row.collectTime, // 采集时间
+ collectCount: row.collectCount, // 采集次数
+ threshold: row.threshold, // 报警阈值
+ sleepStartTime: row.sleepStartTime, // 睡眠时间
retryTimes: row.retryTimes, // 重传次数
ip: row.ip, // ip地址
port: row.port, // 端口号
@@ -282,11 +283,15 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editDigConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
+ this.canEdit = true
this.$emit('watchChild')
this.dialogFormVisible = false
+ } else {
+ this.canEdit = true
}
})
}
diff --git a/src/views/deviceConfig/components/editGasConfig.vue b/src/views/deviceConfig/components/editGasConfig.vue
index 12f5471..1f16f3e 100644
--- a/src/views/deviceConfig/components/editGasConfig.vue
+++ b/src/views/deviceConfig/components/editGasConfig.vue
@@ -1,6 +1,6 @@
-
+
@@ -42,7 +42,7 @@
-
+
@@ -53,31 +53,31 @@
-
+
-
+
-
+
-
+
@@ -116,10 +116,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 5, 1440) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写5到1440数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -127,10 +127,10 @@
}
const validateUpPeriod = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 0, 10080) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写0到10080之间数值'))
}
} else {
callback(new Error('上传周期不能为空'))
@@ -162,6 +162,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
uploadPeriod: [{ required: true, trigger: ['blur', 'change'], validator: validateUpPeriod }],
@@ -244,12 +245,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editGasConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceConfig/components/editHarmfulConfig.vue b/src/views/deviceConfig/components/editHarmfulConfig.vue
index 685c36e..9b9b7c3 100644
--- a/src/views/deviceConfig/components/editHarmfulConfig.vue
+++ b/src/views/deviceConfig/components/editHarmfulConfig.vue
@@ -55,18 +55,18 @@
-
+
-
+
@@ -138,6 +138,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
uploadPeriod: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
deviceId: [{ required: true, message: '设备编号不能为空', trigger: ['blur', 'change'] }],
@@ -216,12 +217,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editHarmfulConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceConfig/components/editLiquidConfig.vue b/src/views/deviceConfig/components/editLiquidConfig.vue
index cd2bcba..3729f5a 100644
--- a/src/views/deviceConfig/components/editLiquidConfig.vue
+++ b/src/views/deviceConfig/components/editLiquidConfig.vue
@@ -67,18 +67,18 @@
-
+
-
+
@@ -162,6 +162,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
percent: [{ required: true, trigger: ['blur', 'change'], validator: validatePercent }],
installHeight: [{ required: true, trigger: ['blur', 'change'], validator: validateInstallHeight }],
@@ -244,12 +245,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editLiquidConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceConfig/components/editTempConfig.vue b/src/views/deviceConfig/components/editTempConfig.vue
index 48ce6c9..b054bea 100644
--- a/src/views/deviceConfig/components/editTempConfig.vue
+++ b/src/views/deviceConfig/components/editTempConfig.vue
@@ -72,25 +72,25 @@
-
+
-
+
-
+
@@ -129,10 +129,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 60, 1440) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写60到1440数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -165,6 +165,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
collectTime: [{ required: true, message: '采集时间不能为空', trigger: ['blur', 'change'] }],
@@ -250,12 +251,21 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ // 验证采集间隔与采集次数乘积不得超过1440
+ const collectInterval = parseFloat(this.configForm.collectInterval)
+ const collectCount = this.configForm.collectCount
+ if (collectInterval * collectCount > 1440) {
+ this.$message.warning('采集间隔与采集次数乘积不得超过1440')
+ return
+ }
+ this.canEdit = false
editTempConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceManage/editDevice.vue b/src/views/deviceManage/editDevice.vue
index c87a220..5539bbe 100644
--- a/src/views/deviceManage/editDevice.vue
+++ b/src/views/deviceManage/editDevice.vue
@@ -25,7 +25,7 @@
-
+
{
diff --git a/src/views/deviceManage/listDevice.vue b/src/views/deviceManage/listDevice.vue
index e4888d6..eca6ecf 100644
--- a/src/views/deviceManage/listDevice.vue
+++ b/src/views/deviceManage/listDevice.vue
@@ -121,8 +121,8 @@
// align: 'center'
// },
{
- text: '监控内容',
- value: 'watchType',
+ text: '设备类型',
+ value: 'deviceTypeName',
align: 'center'
},
{
@@ -299,7 +299,6 @@
window.URL.revokeObjectURL(href) // 释放blob对象
}).catch((res) => {
loading.close()
- this.$message.error(res.message)
})
},
// 查询数据
diff --git a/.gitignore b/.gitignore
index 78a0ead..ae8c51a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
+smartwell/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
diff --git a/src/App.vue b/src/App.vue
index 721d3a3..274bace 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,6 @@
diff --git a/src/api/area.js b/src/api/area.js
index a5a6b0d..974ce81 100644
--- a/src/api/area.js
+++ b/src/api/area.js
@@ -12,6 +12,14 @@
}
})
}
+// 区域查询
+export function getAreaListPage(params) {
+ return request({
+ url: 'area/listPage',
+ method: 'get',
+ params
+ })
+}
// 根据部门找其默认区域
export function getAreaByDept(deptid) {
return request({
diff --git a/src/components/CMap/components/cmap.vue b/src/components/CMap/components/cmap.vue
index 2e0604c..9bfc2dd 100644
--- a/src/components/CMap/components/cmap.vue
+++ b/src/components/CMap/components/cmap.vue
@@ -73,11 +73,10 @@
'': { size: [10, 10], anchor: [10, 10] }
}, // 图标管理器
layerId: 'yizhuang_poi', // 需要加载的图层id
- queryString: 'ID<1000', // 地图筛选条件
+ queryString: '', // 地图筛选条件
layerInfoManager: {
- yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'Y', lngfd: 'X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'Adress', cache: true, showtype: 'auto' }
+ yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'COORDINATE_Y', lngfd: 'COORDINATE_X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'POSITION', cache: true, showtype: 'auto' }
}, // 图层信息管理器
- // style: 'http://localhost:8080/static/images/map_images/alarm-well1.png',
style: 'resource/images/sys/markers/未分类/dot',
stylepos: 1,
overlay: null,
@@ -119,12 +118,10 @@
mapLayers.setMaxZoom(val)
},
alarmMarkers(val) {
- console.log('alarmMarkers')
this.renderMarkers()
}
},
mounted() {
- console.log('map mounted')
this.reset()
},
activated() {
@@ -320,9 +317,9 @@
stylepos: this.stylepos,
stylefd: layerInfoManager[layerId].stylefd,
morecon: this.queryString,
- namefd: '',
+ namefd: layerInfoManager[layerId].namefd,
keyfd: '',
- attrfds: '' }
+ attrfds: layerInfoManager[layerId].attrfds }
const tableinfostr = CEncodeSpecialChar(CJsonToStringify(tableinfo))
opts.params.tableinfo = tableinfostr
}
@@ -337,8 +334,6 @@
this.registerDotQuery('yizhuang_poi', function(e, _data) {
if (_data.length > 0) {
that.openInfoWindow(_data[0].id, e)
- } else {
-
}
})
// this.loadBigViewFeature(layerId, this.drawFeature)
@@ -351,6 +346,7 @@
mapLayers.removeLayer(overlayManager[layerId])
delete overlayManager[layerId]
}
+ mapLayers.closePopup()
},
// 过滤海量点
filterPoi(listQuery) {
@@ -370,13 +366,11 @@
queryList.push('DEPTID=' + deptid)
}
this.queryString = queryList.join(' and ')
- console.log(this.queryString)
this.cleanPoi()
this.renderPoi(false)
},
// loadBigViewFeature
loadBigViewFeature(id, callback) {
- console.log('loadBigViewFeature')
const { mapLayers, layerInfoManager } = this
if (layerInfoManager[id].spanzoom > mapLayers.getZoom() && layerInfoManager[id].showtype !== 'client') { return }
var bounds = getGlobalBounds()
@@ -456,7 +450,7 @@
if (layerInfoManager[id].layerid) {
transObj.params.layerid = CEncode(layerInfoManager[id].layerid)
} else {
- const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: layerInfoManager[id].morecon, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
+ const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: this.queryString, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
transObj.params.tableinfo = CEncodeSpecialChar(CJsonToStringify(tableinfo))
}
@@ -539,10 +533,8 @@
mapLayers.setZoom(17)
mapLayers.setCenter(overlay.getLatLng())
// this.center = alarmInfo.position
- console.log('before setPopupContent')
overlay.setPopupContent(dom)
// debugger
- console.log('after setPopupContent')
overlay.openPopup()
}
})
@@ -563,8 +555,8 @@
'详细地址:' + wellInfo.position + '
' +
'' +
''
- mapLayers.setZoom(18)
const position = new CLatLng(wellInfo.coordinateY, wellInfo.coordinateX)
+ // mapLayers.setZoom(17)
mapLayers.openInfoWindow(position, dom)
}
})
@@ -631,6 +623,9 @@
width:100%;
height: calc(100vh - 84px);
}
+ .selectedmaptypecontrol{
+ display: none;
+ }
/*.alarm-window{*/
/*max-width: 250px;*/
/*!*background-color: #ffeaf1;*!*/
diff --git a/src/icons/svg/icon-base.svg b/src/icons/svg/icon-base.svg
new file mode 100644
index 0000000..6271178
--- /dev/null
+++ b/src/icons/svg/icon-base.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/views/alarmManage/listAlarmNow.vue b/src/views/alarmManage/listAlarmNow.vue
index 49713f4..1490257 100644
--- a/src/views/alarmManage/listAlarmNow.vue
+++ b/src/views/alarmManage/listAlarmNow.vue
@@ -235,14 +235,14 @@
cancelAlarm(jobId) {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, jobId, false)
+ this.$refs.handlePrompt.initDialog(true, jobId, false)
// }, 100)
},
// 取消报警,调用结束工单接口
batchCancel() {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
+ this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
// }, 100)
},
formatValue(cellValue) {
diff --git a/src/views/alarmManage/listAlarmRecords.vue b/src/views/alarmManage/listAlarmRecords.vue
index 886ffc7..b5d4908 100644
--- a/src/views/alarmManage/listAlarmRecords.vue
+++ b/src/views/alarmManage/listAlarmRecords.vue
@@ -50,7 +50,8 @@
- {{ scope.row[column.value] }}
+ {{ scope.row[column.value] }}
+ {{ formatValue(scope.row[column.value]) }}
{{ scope.row[column.value] }}
@@ -124,6 +125,12 @@
align: 'center'
},
{
+ text: '告警等级',
+ value: 'alarmLevel',
+ align: 'center',
+ level: true
+ },
+ {
text: '告警原因',
value: 'alarmContentName',
align: 'center'
@@ -201,8 +208,8 @@
next()
},
mounted() {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -217,8 +224,8 @@
activated() {
console.log('alarmRecored actived')
if (!isFromDetail) {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -237,6 +244,17 @@
this.wellShow = true
this.$refs.wellInfo.initDialog(row.wellId)
},
+ formatValue(cellValue) {
+ if (cellValue === 1) {
+ return '一级告警'
+ } else if (cellValue === 2) {
+ return '二级告警'
+ } else if (cellValue === 3) {
+ return '三级告警'
+ } else {
+ return ''
+ }
+ },
// 工单
showJob(row) {
const jobId = row.jobId
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index db4e774..8a3748c 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -65,8 +65,7 @@
},
data() {
return {
- // wsPath: 'ws://10.9.39.8:8080/army/webSocket/'
- wsPath: 'ws://192.168.0.166:14537/websocket/'
+ wsPath: 'ws://119.254.103.80:14537/websocket/'
}
},
computed: {
@@ -106,10 +105,10 @@
}
// 监听socket消息接收
this.socket.onmessage = function(msg) {
- debugger
// 转换为json对象
const data = JSON.parse(msg.data)
if (data.type === 'alarm') {
+ this.playAudio()
that.$notify({
title: '新报警来了',
// 这里也可以把返回信息加入到message中显示
diff --git a/src/views/dataManage/deviceData/listFlowmeterData.vue b/src/views/dataManage/deviceData/listFlowmeterData.vue
index 57a84a4..30d9395 100644
--- a/src/views/dataManage/deviceData/listFlowmeterData.vue
+++ b/src/views/dataManage/deviceData/listFlowmeterData.vue
@@ -97,27 +97,27 @@
// align: 'center'
// },
{
- text: '水位',
+ text: '水位(m)',
value: 'waterLevel',
align: 'center'
},
{
- text: '流速',
+ text: '流速(m/s)',
value: 'flowVelocity',
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temperature',
align: 'center'
},
{
- text: '瞬时流量',
+ text: '瞬时流量(m³/s)',
value: 'instantFlow',
align: 'center'
},
{
- text: '累计流量',
+ text: '累计流量(m³)',
value: 'totalFlow',
align: 'center'
},
diff --git a/src/views/dataManage/deviceData/listMeterData.vue b/src/views/dataManage/deviceData/listMeterData.vue
index 20967c4..8c0a30a 100644
--- a/src/views/dataManage/deviceData/listMeterData.vue
+++ b/src/views/dataManage/deviceData/listMeterData.vue
@@ -92,7 +92,7 @@
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temp',
align: 'center'
},
@@ -102,45 +102,45 @@
align: 'center'
},
{
- text: '电导率',
+ text: '电导率(mS/cm)',
value: 'conductivity',
align: 'center'
},
{
- text: '溶解氧',
+ text: '溶解氧(mg/L)',
value: 'do',
align: 'center'
},
{
- text: '浊度',
+ text: '浊度(NTU)',
value: 'turbidity',
align: 'center'
},
{
- text: 'COD',
+ text: 'COD(mg/L)',
value: 'cod',
align: 'center'
},
{
- text: '氨氮',
+ text: '氨氮(mg/L)',
value: 'an',
align: 'center'
},
{
- text: '总磷',
+ text: '总磷(mg/L)',
value: 'tp',
align: 'center'
},
{
- text: '总氮',
+ text: '总氮(mg/L)',
value: 'tn',
align: 'center'
},
- {
- text: '状态描述',
- value: 'descn',
- align: 'center'
- },
+ // {
+ // text: '状态描述',
+ // value: 'descn',
+ // align: 'center'
+ // },
// {
// text: '权属单位',
// value: 'deptName',
@@ -149,7 +149,7 @@
{
text: '记录时间',
value: 'logtime',
- width: 170,
+ width: 160,
align: 'center'
}
], // 显示列
diff --git a/src/views/dataManage/deviceData/listWellLocaData.vue b/src/views/dataManage/deviceData/listWellLocaData.vue
index 52e1fce..051f5a4 100644
--- a/src/views/dataManage/deviceData/listWellLocaData.vue
+++ b/src/views/dataManage/deviceData/listWellLocaData.vue
@@ -106,20 +106,13 @@
align: 'center'
},
{
- text: '电量(%)',
- value: 'cell',
- width: 80,
- align: 'center',
- checkCell: true
- },
- {
text: '权属单位',
value: 'deptName',
align: 'center'
},
{
text: '上传时间',
- value: 'uptime',
+ value: 'logtime',
width: 170,
align: 'center'
}
diff --git a/src/views/deviceConfig/components/editDigConfig.vue b/src/views/deviceConfig/components/editDigConfig.vue
index 3edebf4..00cc7d0 100644
--- a/src/views/deviceConfig/components/editDigConfig.vue
+++ b/src/views/deviceConfig/components/editDigConfig.vue
@@ -88,25 +88,25 @@
-
+
-
+
-
+
@@ -145,10 +145,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 1, 96) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写1到96数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -156,10 +156,10 @@
}
const validateThreshold = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 1, 37500) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写1到37500数值'))
}
} else {
callback(new Error('报警阈值不能为空'))
@@ -180,7 +180,7 @@
deviceId: '', // 设备id
collectInterval: '', // 采集间隔
collectTime: '', // 采集时间
- collectCount: '', // 采集时间
+ collectCount: '', // 采集次数
sleepStartTime: '', // 睡眠时间
threshold: '', // 报警阈值
retryTimes: '3', // 重传次数
@@ -194,6 +194,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
threshold: [{ required: true, trigger: ['blur', 'change'], validator: validateThreshold }],
@@ -247,11 +248,11 @@
this.configForm = {
id: row.id,
deviceId: row.deviceId, // 设备id
- collectInterval: row.collectInterval, // 报警阈值
- collectTime: row.collectTime, // 安装高度
- collectCount: row.collectCount, // 安装高度
- threshold: row.threshold, // 安装高度
- sleepStartTime: row.sleepStartTime, // 安装高度
+ collectInterval: row.collectInterval, // 采集间隔
+ collectTime: row.collectTime, // 采集时间
+ collectCount: row.collectCount, // 采集次数
+ threshold: row.threshold, // 报警阈值
+ sleepStartTime: row.sleepStartTime, // 睡眠时间
retryTimes: row.retryTimes, // 重传次数
ip: row.ip, // ip地址
port: row.port, // 端口号
@@ -282,11 +283,15 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editDigConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
+ this.canEdit = true
this.$emit('watchChild')
this.dialogFormVisible = false
+ } else {
+ this.canEdit = true
}
})
}
diff --git a/src/views/deviceConfig/components/editGasConfig.vue b/src/views/deviceConfig/components/editGasConfig.vue
index 12f5471..1f16f3e 100644
--- a/src/views/deviceConfig/components/editGasConfig.vue
+++ b/src/views/deviceConfig/components/editGasConfig.vue
@@ -1,6 +1,6 @@
-
+
@@ -42,7 +42,7 @@
-
+
@@ -53,31 +53,31 @@
-
+
-
+
-
+
-
+
@@ -116,10 +116,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 5, 1440) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写5到1440数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -127,10 +127,10 @@
}
const validateUpPeriod = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 0, 10080) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写0到10080之间数值'))
}
} else {
callback(new Error('上传周期不能为空'))
@@ -162,6 +162,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
uploadPeriod: [{ required: true, trigger: ['blur', 'change'], validator: validateUpPeriod }],
@@ -244,12 +245,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editGasConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceConfig/components/editHarmfulConfig.vue b/src/views/deviceConfig/components/editHarmfulConfig.vue
index 685c36e..9b9b7c3 100644
--- a/src/views/deviceConfig/components/editHarmfulConfig.vue
+++ b/src/views/deviceConfig/components/editHarmfulConfig.vue
@@ -55,18 +55,18 @@
-
+
-
+
@@ -138,6 +138,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
uploadPeriod: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
deviceId: [{ required: true, message: '设备编号不能为空', trigger: ['blur', 'change'] }],
@@ -216,12 +217,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editHarmfulConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceConfig/components/editLiquidConfig.vue b/src/views/deviceConfig/components/editLiquidConfig.vue
index cd2bcba..3729f5a 100644
--- a/src/views/deviceConfig/components/editLiquidConfig.vue
+++ b/src/views/deviceConfig/components/editLiquidConfig.vue
@@ -67,18 +67,18 @@
-
+
-
+
@@ -162,6 +162,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
percent: [{ required: true, trigger: ['blur', 'change'], validator: validatePercent }],
installHeight: [{ required: true, trigger: ['blur', 'change'], validator: validateInstallHeight }],
@@ -244,12 +245,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editLiquidConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceConfig/components/editTempConfig.vue b/src/views/deviceConfig/components/editTempConfig.vue
index 48ce6c9..b054bea 100644
--- a/src/views/deviceConfig/components/editTempConfig.vue
+++ b/src/views/deviceConfig/components/editTempConfig.vue
@@ -72,25 +72,25 @@
-
+
-
+
-
+
@@ -129,10 +129,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 60, 1440) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写60到1440数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -165,6 +165,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
collectTime: [{ required: true, message: '采集时间不能为空', trigger: ['blur', 'change'] }],
@@ -250,12 +251,21 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ // 验证采集间隔与采集次数乘积不得超过1440
+ const collectInterval = parseFloat(this.configForm.collectInterval)
+ const collectCount = this.configForm.collectCount
+ if (collectInterval * collectCount > 1440) {
+ this.$message.warning('采集间隔与采集次数乘积不得超过1440')
+ return
+ }
+ this.canEdit = false
editTempConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceManage/editDevice.vue b/src/views/deviceManage/editDevice.vue
index c87a220..5539bbe 100644
--- a/src/views/deviceManage/editDevice.vue
+++ b/src/views/deviceManage/editDevice.vue
@@ -25,7 +25,7 @@
-
+
{
diff --git a/src/views/deviceManage/listDevice.vue b/src/views/deviceManage/listDevice.vue
index e4888d6..eca6ecf 100644
--- a/src/views/deviceManage/listDevice.vue
+++ b/src/views/deviceManage/listDevice.vue
@@ -121,8 +121,8 @@
// align: 'center'
// },
{
- text: '监控内容',
- value: 'watchType',
+ text: '设备类型',
+ value: 'deviceTypeName',
align: 'center'
},
{
@@ -299,7 +299,6 @@
window.URL.revokeObjectURL(href) // 释放blob对象
}).catch((res) => {
loading.close()
- this.$message.error(res.message)
})
},
// 查询数据
diff --git a/src/views/layout/components/AppHeader.vue b/src/views/layout/components/AppHeader.vue
index da35099..9bd0ceb 100644
--- a/src/views/layout/components/AppHeader.vue
+++ b/src/views/layout/components/AppHeader.vue
@@ -68,7 +68,7 @@
height:60px;
background-color:#000000;
background-repeat: no-repeat;
- background: #000000 url("/static/images/global_images/header.png") no-repeat;
+ /*background: #000000 url("/static/images/global_images/header.png") no-repeat;*/
-webkit-background-size: 100% 100%;
background-size: 100% 100%;
color:white;
diff --git a/.gitignore b/.gitignore
index 78a0ead..ae8c51a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
+smartwell/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
diff --git a/src/App.vue b/src/App.vue
index 721d3a3..274bace 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,6 @@
diff --git a/src/api/area.js b/src/api/area.js
index a5a6b0d..974ce81 100644
--- a/src/api/area.js
+++ b/src/api/area.js
@@ -12,6 +12,14 @@
}
})
}
+// 区域查询
+export function getAreaListPage(params) {
+ return request({
+ url: 'area/listPage',
+ method: 'get',
+ params
+ })
+}
// 根据部门找其默认区域
export function getAreaByDept(deptid) {
return request({
diff --git a/src/components/CMap/components/cmap.vue b/src/components/CMap/components/cmap.vue
index 2e0604c..9bfc2dd 100644
--- a/src/components/CMap/components/cmap.vue
+++ b/src/components/CMap/components/cmap.vue
@@ -73,11 +73,10 @@
'': { size: [10, 10], anchor: [10, 10] }
}, // 图标管理器
layerId: 'yizhuang_poi', // 需要加载的图层id
- queryString: 'ID<1000', // 地图筛选条件
+ queryString: '', // 地图筛选条件
layerInfoManager: {
- yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'Y', lngfd: 'X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'Adress', cache: true, showtype: 'auto' }
+ yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'COORDINATE_Y', lngfd: 'COORDINATE_X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'POSITION', cache: true, showtype: 'auto' }
}, // 图层信息管理器
- // style: 'http://localhost:8080/static/images/map_images/alarm-well1.png',
style: 'resource/images/sys/markers/未分类/dot',
stylepos: 1,
overlay: null,
@@ -119,12 +118,10 @@
mapLayers.setMaxZoom(val)
},
alarmMarkers(val) {
- console.log('alarmMarkers')
this.renderMarkers()
}
},
mounted() {
- console.log('map mounted')
this.reset()
},
activated() {
@@ -320,9 +317,9 @@
stylepos: this.stylepos,
stylefd: layerInfoManager[layerId].stylefd,
morecon: this.queryString,
- namefd: '',
+ namefd: layerInfoManager[layerId].namefd,
keyfd: '',
- attrfds: '' }
+ attrfds: layerInfoManager[layerId].attrfds }
const tableinfostr = CEncodeSpecialChar(CJsonToStringify(tableinfo))
opts.params.tableinfo = tableinfostr
}
@@ -337,8 +334,6 @@
this.registerDotQuery('yizhuang_poi', function(e, _data) {
if (_data.length > 0) {
that.openInfoWindow(_data[0].id, e)
- } else {
-
}
})
// this.loadBigViewFeature(layerId, this.drawFeature)
@@ -351,6 +346,7 @@
mapLayers.removeLayer(overlayManager[layerId])
delete overlayManager[layerId]
}
+ mapLayers.closePopup()
},
// 过滤海量点
filterPoi(listQuery) {
@@ -370,13 +366,11 @@
queryList.push('DEPTID=' + deptid)
}
this.queryString = queryList.join(' and ')
- console.log(this.queryString)
this.cleanPoi()
this.renderPoi(false)
},
// loadBigViewFeature
loadBigViewFeature(id, callback) {
- console.log('loadBigViewFeature')
const { mapLayers, layerInfoManager } = this
if (layerInfoManager[id].spanzoom > mapLayers.getZoom() && layerInfoManager[id].showtype !== 'client') { return }
var bounds = getGlobalBounds()
@@ -456,7 +450,7 @@
if (layerInfoManager[id].layerid) {
transObj.params.layerid = CEncode(layerInfoManager[id].layerid)
} else {
- const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: layerInfoManager[id].morecon, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
+ const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: this.queryString, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
transObj.params.tableinfo = CEncodeSpecialChar(CJsonToStringify(tableinfo))
}
@@ -539,10 +533,8 @@
mapLayers.setZoom(17)
mapLayers.setCenter(overlay.getLatLng())
// this.center = alarmInfo.position
- console.log('before setPopupContent')
overlay.setPopupContent(dom)
// debugger
- console.log('after setPopupContent')
overlay.openPopup()
}
})
@@ -563,8 +555,8 @@
'详细地址:' + wellInfo.position + '
' +
'' +
''
- mapLayers.setZoom(18)
const position = new CLatLng(wellInfo.coordinateY, wellInfo.coordinateX)
+ // mapLayers.setZoom(17)
mapLayers.openInfoWindow(position, dom)
}
})
@@ -631,6 +623,9 @@
width:100%;
height: calc(100vh - 84px);
}
+ .selectedmaptypecontrol{
+ display: none;
+ }
/*.alarm-window{*/
/*max-width: 250px;*/
/*!*background-color: #ffeaf1;*!*/
diff --git a/src/icons/svg/icon-base.svg b/src/icons/svg/icon-base.svg
new file mode 100644
index 0000000..6271178
--- /dev/null
+++ b/src/icons/svg/icon-base.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/views/alarmManage/listAlarmNow.vue b/src/views/alarmManage/listAlarmNow.vue
index 49713f4..1490257 100644
--- a/src/views/alarmManage/listAlarmNow.vue
+++ b/src/views/alarmManage/listAlarmNow.vue
@@ -235,14 +235,14 @@
cancelAlarm(jobId) {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, jobId, false)
+ this.$refs.handlePrompt.initDialog(true, jobId, false)
// }, 100)
},
// 取消报警,调用结束工单接口
batchCancel() {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
+ this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
// }, 100)
},
formatValue(cellValue) {
diff --git a/src/views/alarmManage/listAlarmRecords.vue b/src/views/alarmManage/listAlarmRecords.vue
index 886ffc7..b5d4908 100644
--- a/src/views/alarmManage/listAlarmRecords.vue
+++ b/src/views/alarmManage/listAlarmRecords.vue
@@ -50,7 +50,8 @@
- {{ scope.row[column.value] }}
+ {{ scope.row[column.value] }}
+ {{ formatValue(scope.row[column.value]) }}
{{ scope.row[column.value] }}
@@ -124,6 +125,12 @@
align: 'center'
},
{
+ text: '告警等级',
+ value: 'alarmLevel',
+ align: 'center',
+ level: true
+ },
+ {
text: '告警原因',
value: 'alarmContentName',
align: 'center'
@@ -201,8 +208,8 @@
next()
},
mounted() {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -217,8 +224,8 @@
activated() {
console.log('alarmRecored actived')
if (!isFromDetail) {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -237,6 +244,17 @@
this.wellShow = true
this.$refs.wellInfo.initDialog(row.wellId)
},
+ formatValue(cellValue) {
+ if (cellValue === 1) {
+ return '一级告警'
+ } else if (cellValue === 2) {
+ return '二级告警'
+ } else if (cellValue === 3) {
+ return '三级告警'
+ } else {
+ return ''
+ }
+ },
// 工单
showJob(row) {
const jobId = row.jobId
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index db4e774..8a3748c 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -65,8 +65,7 @@
},
data() {
return {
- // wsPath: 'ws://10.9.39.8:8080/army/webSocket/'
- wsPath: 'ws://192.168.0.166:14537/websocket/'
+ wsPath: 'ws://119.254.103.80:14537/websocket/'
}
},
computed: {
@@ -106,10 +105,10 @@
}
// 监听socket消息接收
this.socket.onmessage = function(msg) {
- debugger
// 转换为json对象
const data = JSON.parse(msg.data)
if (data.type === 'alarm') {
+ this.playAudio()
that.$notify({
title: '新报警来了',
// 这里也可以把返回信息加入到message中显示
diff --git a/src/views/dataManage/deviceData/listFlowmeterData.vue b/src/views/dataManage/deviceData/listFlowmeterData.vue
index 57a84a4..30d9395 100644
--- a/src/views/dataManage/deviceData/listFlowmeterData.vue
+++ b/src/views/dataManage/deviceData/listFlowmeterData.vue
@@ -97,27 +97,27 @@
// align: 'center'
// },
{
- text: '水位',
+ text: '水位(m)',
value: 'waterLevel',
align: 'center'
},
{
- text: '流速',
+ text: '流速(m/s)',
value: 'flowVelocity',
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temperature',
align: 'center'
},
{
- text: '瞬时流量',
+ text: '瞬时流量(m³/s)',
value: 'instantFlow',
align: 'center'
},
{
- text: '累计流量',
+ text: '累计流量(m³)',
value: 'totalFlow',
align: 'center'
},
diff --git a/src/views/dataManage/deviceData/listMeterData.vue b/src/views/dataManage/deviceData/listMeterData.vue
index 20967c4..8c0a30a 100644
--- a/src/views/dataManage/deviceData/listMeterData.vue
+++ b/src/views/dataManage/deviceData/listMeterData.vue
@@ -92,7 +92,7 @@
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temp',
align: 'center'
},
@@ -102,45 +102,45 @@
align: 'center'
},
{
- text: '电导率',
+ text: '电导率(mS/cm)',
value: 'conductivity',
align: 'center'
},
{
- text: '溶解氧',
+ text: '溶解氧(mg/L)',
value: 'do',
align: 'center'
},
{
- text: '浊度',
+ text: '浊度(NTU)',
value: 'turbidity',
align: 'center'
},
{
- text: 'COD',
+ text: 'COD(mg/L)',
value: 'cod',
align: 'center'
},
{
- text: '氨氮',
+ text: '氨氮(mg/L)',
value: 'an',
align: 'center'
},
{
- text: '总磷',
+ text: '总磷(mg/L)',
value: 'tp',
align: 'center'
},
{
- text: '总氮',
+ text: '总氮(mg/L)',
value: 'tn',
align: 'center'
},
- {
- text: '状态描述',
- value: 'descn',
- align: 'center'
- },
+ // {
+ // text: '状态描述',
+ // value: 'descn',
+ // align: 'center'
+ // },
// {
// text: '权属单位',
// value: 'deptName',
@@ -149,7 +149,7 @@
{
text: '记录时间',
value: 'logtime',
- width: 170,
+ width: 160,
align: 'center'
}
], // 显示列
diff --git a/src/views/dataManage/deviceData/listWellLocaData.vue b/src/views/dataManage/deviceData/listWellLocaData.vue
index 52e1fce..051f5a4 100644
--- a/src/views/dataManage/deviceData/listWellLocaData.vue
+++ b/src/views/dataManage/deviceData/listWellLocaData.vue
@@ -106,20 +106,13 @@
align: 'center'
},
{
- text: '电量(%)',
- value: 'cell',
- width: 80,
- align: 'center',
- checkCell: true
- },
- {
text: '权属单位',
value: 'deptName',
align: 'center'
},
{
text: '上传时间',
- value: 'uptime',
+ value: 'logtime',
width: 170,
align: 'center'
}
diff --git a/src/views/deviceConfig/components/editDigConfig.vue b/src/views/deviceConfig/components/editDigConfig.vue
index 3edebf4..00cc7d0 100644
--- a/src/views/deviceConfig/components/editDigConfig.vue
+++ b/src/views/deviceConfig/components/editDigConfig.vue
@@ -88,25 +88,25 @@
-
+
-
+
-
+
@@ -145,10 +145,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 1, 96) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写1到96数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -156,10 +156,10 @@
}
const validateThreshold = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 1, 37500) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写1到37500数值'))
}
} else {
callback(new Error('报警阈值不能为空'))
@@ -180,7 +180,7 @@
deviceId: '', // 设备id
collectInterval: '', // 采集间隔
collectTime: '', // 采集时间
- collectCount: '', // 采集时间
+ collectCount: '', // 采集次数
sleepStartTime: '', // 睡眠时间
threshold: '', // 报警阈值
retryTimes: '3', // 重传次数
@@ -194,6 +194,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
threshold: [{ required: true, trigger: ['blur', 'change'], validator: validateThreshold }],
@@ -247,11 +248,11 @@
this.configForm = {
id: row.id,
deviceId: row.deviceId, // 设备id
- collectInterval: row.collectInterval, // 报警阈值
- collectTime: row.collectTime, // 安装高度
- collectCount: row.collectCount, // 安装高度
- threshold: row.threshold, // 安装高度
- sleepStartTime: row.sleepStartTime, // 安装高度
+ collectInterval: row.collectInterval, // 采集间隔
+ collectTime: row.collectTime, // 采集时间
+ collectCount: row.collectCount, // 采集次数
+ threshold: row.threshold, // 报警阈值
+ sleepStartTime: row.sleepStartTime, // 睡眠时间
retryTimes: row.retryTimes, // 重传次数
ip: row.ip, // ip地址
port: row.port, // 端口号
@@ -282,11 +283,15 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editDigConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
+ this.canEdit = true
this.$emit('watchChild')
this.dialogFormVisible = false
+ } else {
+ this.canEdit = true
}
})
}
diff --git a/src/views/deviceConfig/components/editGasConfig.vue b/src/views/deviceConfig/components/editGasConfig.vue
index 12f5471..1f16f3e 100644
--- a/src/views/deviceConfig/components/editGasConfig.vue
+++ b/src/views/deviceConfig/components/editGasConfig.vue
@@ -1,6 +1,6 @@
-
+
@@ -42,7 +42,7 @@
-
+
@@ -53,31 +53,31 @@
-
+
-
+
-
+
-
+
@@ -116,10 +116,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 5, 1440) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写5到1440数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -127,10 +127,10 @@
}
const validateUpPeriod = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 0, 10080) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写0到10080之间数值'))
}
} else {
callback(new Error('上传周期不能为空'))
@@ -162,6 +162,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
uploadPeriod: [{ required: true, trigger: ['blur', 'change'], validator: validateUpPeriod }],
@@ -244,12 +245,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editGasConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceConfig/components/editHarmfulConfig.vue b/src/views/deviceConfig/components/editHarmfulConfig.vue
index 685c36e..9b9b7c3 100644
--- a/src/views/deviceConfig/components/editHarmfulConfig.vue
+++ b/src/views/deviceConfig/components/editHarmfulConfig.vue
@@ -55,18 +55,18 @@
-
+
-
+
@@ -138,6 +138,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
uploadPeriod: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
deviceId: [{ required: true, message: '设备编号不能为空', trigger: ['blur', 'change'] }],
@@ -216,12 +217,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editHarmfulConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceConfig/components/editLiquidConfig.vue b/src/views/deviceConfig/components/editLiquidConfig.vue
index cd2bcba..3729f5a 100644
--- a/src/views/deviceConfig/components/editLiquidConfig.vue
+++ b/src/views/deviceConfig/components/editLiquidConfig.vue
@@ -67,18 +67,18 @@
-
+
-
+
@@ -162,6 +162,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
percent: [{ required: true, trigger: ['blur', 'change'], validator: validatePercent }],
installHeight: [{ required: true, trigger: ['blur', 'change'], validator: validateInstallHeight }],
@@ -244,12 +245,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editLiquidConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceConfig/components/editTempConfig.vue b/src/views/deviceConfig/components/editTempConfig.vue
index 48ce6c9..b054bea 100644
--- a/src/views/deviceConfig/components/editTempConfig.vue
+++ b/src/views/deviceConfig/components/editTempConfig.vue
@@ -72,25 +72,25 @@
-
+
-
+
-
+
@@ -129,10 +129,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 60, 1440) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写60到1440数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -165,6 +165,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
collectTime: [{ required: true, message: '采集时间不能为空', trigger: ['blur', 'change'] }],
@@ -250,12 +251,21 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ // 验证采集间隔与采集次数乘积不得超过1440
+ const collectInterval = parseFloat(this.configForm.collectInterval)
+ const collectCount = this.configForm.collectCount
+ if (collectInterval * collectCount > 1440) {
+ this.$message.warning('采集间隔与采集次数乘积不得超过1440')
+ return
+ }
+ this.canEdit = false
editTempConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceManage/editDevice.vue b/src/views/deviceManage/editDevice.vue
index c87a220..5539bbe 100644
--- a/src/views/deviceManage/editDevice.vue
+++ b/src/views/deviceManage/editDevice.vue
@@ -25,7 +25,7 @@
-
+
{
diff --git a/src/views/deviceManage/listDevice.vue b/src/views/deviceManage/listDevice.vue
index e4888d6..eca6ecf 100644
--- a/src/views/deviceManage/listDevice.vue
+++ b/src/views/deviceManage/listDevice.vue
@@ -121,8 +121,8 @@
// align: 'center'
// },
{
- text: '监控内容',
- value: 'watchType',
+ text: '设备类型',
+ value: 'deviceTypeName',
align: 'center'
},
{
@@ -299,7 +299,6 @@
window.URL.revokeObjectURL(href) // 释放blob对象
}).catch((res) => {
loading.close()
- this.$message.error(res.message)
})
},
// 查询数据
diff --git a/src/views/layout/components/AppHeader.vue b/src/views/layout/components/AppHeader.vue
index da35099..9bd0ceb 100644
--- a/src/views/layout/components/AppHeader.vue
+++ b/src/views/layout/components/AppHeader.vue
@@ -68,7 +68,7 @@
height:60px;
background-color:#000000;
background-repeat: no-repeat;
- background: #000000 url("/static/images/global_images/header.png") no-repeat;
+ /*background: #000000 url("/static/images/global_images/header.png") no-repeat;*/
-webkit-background-size: 100% 100%;
background-size: 100% 100%;
color:white;
diff --git a/src/views/overview/overview_cmap.vue b/src/views/overview/overview_cmap.vue
index 5662bc3..5a8b627 100644
--- a/src/views/overview/overview_cmap.vue
+++ b/src/views/overview/overview_cmap.vue
@@ -29,6 +29,7 @@
+
@@ -473,7 +474,6 @@
max-width: 250px;
/*background-color: lightcyan;*/
.info-header{
- padding: 10px 10px 5px 10px;
line-height: 30px;
font-weight: bold;
font-size: 16px;
diff --git a/.gitignore b/.gitignore
index 78a0ead..ae8c51a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
+smartwell/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
diff --git a/src/App.vue b/src/App.vue
index 721d3a3..274bace 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,6 @@
diff --git a/src/api/area.js b/src/api/area.js
index a5a6b0d..974ce81 100644
--- a/src/api/area.js
+++ b/src/api/area.js
@@ -12,6 +12,14 @@
}
})
}
+// 区域查询
+export function getAreaListPage(params) {
+ return request({
+ url: 'area/listPage',
+ method: 'get',
+ params
+ })
+}
// 根据部门找其默认区域
export function getAreaByDept(deptid) {
return request({
diff --git a/src/components/CMap/components/cmap.vue b/src/components/CMap/components/cmap.vue
index 2e0604c..9bfc2dd 100644
--- a/src/components/CMap/components/cmap.vue
+++ b/src/components/CMap/components/cmap.vue
@@ -73,11 +73,10 @@
'': { size: [10, 10], anchor: [10, 10] }
}, // 图标管理器
layerId: 'yizhuang_poi', // 需要加载的图层id
- queryString: 'ID<1000', // 地图筛选条件
+ queryString: '', // 地图筛选条件
layerInfoManager: {
- yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'Y', lngfd: 'X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'Adress', cache: true, showtype: 'auto' }
+ yizhuang_poi: { pm: 'yizhuang', table: 'poi', spanzoom: 18, latfd: 'COORDINATE_Y', lngfd: 'COORDINATE_X', style: '', morecon: '', namefd: 'WELL_NAME', keyfd: 'ID', attrfds: 'POSITION', cache: true, showtype: 'auto' }
}, // 图层信息管理器
- // style: 'http://localhost:8080/static/images/map_images/alarm-well1.png',
style: 'resource/images/sys/markers/未分类/dot',
stylepos: 1,
overlay: null,
@@ -119,12 +118,10 @@
mapLayers.setMaxZoom(val)
},
alarmMarkers(val) {
- console.log('alarmMarkers')
this.renderMarkers()
}
},
mounted() {
- console.log('map mounted')
this.reset()
},
activated() {
@@ -320,9 +317,9 @@
stylepos: this.stylepos,
stylefd: layerInfoManager[layerId].stylefd,
morecon: this.queryString,
- namefd: '',
+ namefd: layerInfoManager[layerId].namefd,
keyfd: '',
- attrfds: '' }
+ attrfds: layerInfoManager[layerId].attrfds }
const tableinfostr = CEncodeSpecialChar(CJsonToStringify(tableinfo))
opts.params.tableinfo = tableinfostr
}
@@ -337,8 +334,6 @@
this.registerDotQuery('yizhuang_poi', function(e, _data) {
if (_data.length > 0) {
that.openInfoWindow(_data[0].id, e)
- } else {
-
}
})
// this.loadBigViewFeature(layerId, this.drawFeature)
@@ -351,6 +346,7 @@
mapLayers.removeLayer(overlayManager[layerId])
delete overlayManager[layerId]
}
+ mapLayers.closePopup()
},
// 过滤海量点
filterPoi(listQuery) {
@@ -370,13 +366,11 @@
queryList.push('DEPTID=' + deptid)
}
this.queryString = queryList.join(' and ')
- console.log(this.queryString)
this.cleanPoi()
this.renderPoi(false)
},
// loadBigViewFeature
loadBigViewFeature(id, callback) {
- console.log('loadBigViewFeature')
const { mapLayers, layerInfoManager } = this
if (layerInfoManager[id].spanzoom > mapLayers.getZoom() && layerInfoManager[id].showtype !== 'client') { return }
var bounds = getGlobalBounds()
@@ -456,7 +450,7 @@
if (layerInfoManager[id].layerid) {
transObj.params.layerid = CEncode(layerInfoManager[id].layerid)
} else {
- const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: layerInfoManager[id].morecon, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
+ const tableinfo = { pm: layerInfoManager[id].pm, table: layerInfoManager[id].table, id: id, latfd: layerInfoManager[id].latfd, lngfd: layerInfoManager[id].lngfd, stylefd: layerInfoManager[id].stylefd, morecon: this.queryString, namefd: layerInfoManager[id].namefd, keyfd: layerInfoManager[id].keyfd, attrfds: layerInfoManager[id].attrfds }
transObj.params.tableinfo = CEncodeSpecialChar(CJsonToStringify(tableinfo))
}
@@ -539,10 +533,8 @@
mapLayers.setZoom(17)
mapLayers.setCenter(overlay.getLatLng())
// this.center = alarmInfo.position
- console.log('before setPopupContent')
overlay.setPopupContent(dom)
// debugger
- console.log('after setPopupContent')
overlay.openPopup()
}
})
@@ -563,8 +555,8 @@
'
详细地址:' + wellInfo.position + '
' +
'
' +
''
- mapLayers.setZoom(18)
const position = new CLatLng(wellInfo.coordinateY, wellInfo.coordinateX)
+ // mapLayers.setZoom(17)
mapLayers.openInfoWindow(position, dom)
}
})
@@ -631,6 +623,9 @@
width:100%;
height: calc(100vh - 84px);
}
+ .selectedmaptypecontrol{
+ display: none;
+ }
/*.alarm-window{*/
/*max-width: 250px;*/
/*!*background-color: #ffeaf1;*!*/
diff --git a/src/icons/svg/icon-base.svg b/src/icons/svg/icon-base.svg
new file mode 100644
index 0000000..6271178
--- /dev/null
+++ b/src/icons/svg/icon-base.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/views/alarmManage/listAlarmNow.vue b/src/views/alarmManage/listAlarmNow.vue
index 49713f4..1490257 100644
--- a/src/views/alarmManage/listAlarmNow.vue
+++ b/src/views/alarmManage/listAlarmNow.vue
@@ -235,14 +235,14 @@
cancelAlarm(jobId) {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, jobId, false)
+ this.$refs.handlePrompt.initDialog(true, jobId, false)
// }, 100)
},
// 取消报警,调用结束工单接口
batchCancel() {
this.cancelShow = true
// setTimeout(function() {
- this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
+ this.$refs.handlePrompt.initDialog(true, '', true, this.listQuery)
// }, 100)
},
formatValue(cellValue) {
diff --git a/src/views/alarmManage/listAlarmRecords.vue b/src/views/alarmManage/listAlarmRecords.vue
index 886ffc7..b5d4908 100644
--- a/src/views/alarmManage/listAlarmRecords.vue
+++ b/src/views/alarmManage/listAlarmRecords.vue
@@ -50,7 +50,8 @@
- {{ scope.row[column.value] }}
+ {{ scope.row[column.value] }}
+ {{ formatValue(scope.row[column.value]) }}
{{ scope.row[column.value] }}
@@ -124,6 +125,12 @@
align: 'center'
},
{
+ text: '告警等级',
+ value: 'alarmLevel',
+ align: 'center',
+ level: true
+ },
+ {
text: '告警原因',
value: 'alarmContentName',
align: 'center'
@@ -201,8 +208,8 @@
next()
},
mounted() {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -217,8 +224,8 @@
activated() {
console.log('alarmRecored actived')
if (!isFromDetail) {
- if (this.$route.窨井 && this.$route.窨井.wellCode) {
- this.listQuery.keywords = this.$route.窨井.wellCode
+ if (this.$route.query && this.$route.query.wellCode) {
+ this.listQuery.keywords = this.$route.query.wellCode
this.fetchData(false)
} else {
this.listQuery.keywords = ''
@@ -237,6 +244,17 @@
this.wellShow = true
this.$refs.wellInfo.initDialog(row.wellId)
},
+ formatValue(cellValue) {
+ if (cellValue === 1) {
+ return '一级告警'
+ } else if (cellValue === 2) {
+ return '二级告警'
+ } else if (cellValue === 3) {
+ return '三级告警'
+ } else {
+ return ''
+ }
+ },
// 工单
showJob(row) {
const jobId = row.jobId
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index db4e774..8a3748c 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -65,8 +65,7 @@
},
data() {
return {
- // wsPath: 'ws://10.9.39.8:8080/army/webSocket/'
- wsPath: 'ws://192.168.0.166:14537/websocket/'
+ wsPath: 'ws://119.254.103.80:14537/websocket/'
}
},
computed: {
@@ -106,10 +105,10 @@
}
// 监听socket消息接收
this.socket.onmessage = function(msg) {
- debugger
// 转换为json对象
const data = JSON.parse(msg.data)
if (data.type === 'alarm') {
+ this.playAudio()
that.$notify({
title: '新报警来了',
// 这里也可以把返回信息加入到message中显示
diff --git a/src/views/dataManage/deviceData/listFlowmeterData.vue b/src/views/dataManage/deviceData/listFlowmeterData.vue
index 57a84a4..30d9395 100644
--- a/src/views/dataManage/deviceData/listFlowmeterData.vue
+++ b/src/views/dataManage/deviceData/listFlowmeterData.vue
@@ -97,27 +97,27 @@
// align: 'center'
// },
{
- text: '水位',
+ text: '水位(m)',
value: 'waterLevel',
align: 'center'
},
{
- text: '流速',
+ text: '流速(m/s)',
value: 'flowVelocity',
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temperature',
align: 'center'
},
{
- text: '瞬时流量',
+ text: '瞬时流量(m³/s)',
value: 'instantFlow',
align: 'center'
},
{
- text: '累计流量',
+ text: '累计流量(m³)',
value: 'totalFlow',
align: 'center'
},
diff --git a/src/views/dataManage/deviceData/listMeterData.vue b/src/views/dataManage/deviceData/listMeterData.vue
index 20967c4..8c0a30a 100644
--- a/src/views/dataManage/deviceData/listMeterData.vue
+++ b/src/views/dataManage/deviceData/listMeterData.vue
@@ -92,7 +92,7 @@
align: 'center'
},
{
- text: '温度',
+ text: '温度(℃)',
value: 'temp',
align: 'center'
},
@@ -102,45 +102,45 @@
align: 'center'
},
{
- text: '电导率',
+ text: '电导率(mS/cm)',
value: 'conductivity',
align: 'center'
},
{
- text: '溶解氧',
+ text: '溶解氧(mg/L)',
value: 'do',
align: 'center'
},
{
- text: '浊度',
+ text: '浊度(NTU)',
value: 'turbidity',
align: 'center'
},
{
- text: 'COD',
+ text: 'COD(mg/L)',
value: 'cod',
align: 'center'
},
{
- text: '氨氮',
+ text: '氨氮(mg/L)',
value: 'an',
align: 'center'
},
{
- text: '总磷',
+ text: '总磷(mg/L)',
value: 'tp',
align: 'center'
},
{
- text: '总氮',
+ text: '总氮(mg/L)',
value: 'tn',
align: 'center'
},
- {
- text: '状态描述',
- value: 'descn',
- align: 'center'
- },
+ // {
+ // text: '状态描述',
+ // value: 'descn',
+ // align: 'center'
+ // },
// {
// text: '权属单位',
// value: 'deptName',
@@ -149,7 +149,7 @@
{
text: '记录时间',
value: 'logtime',
- width: 170,
+ width: 160,
align: 'center'
}
], // 显示列
diff --git a/src/views/dataManage/deviceData/listWellLocaData.vue b/src/views/dataManage/deviceData/listWellLocaData.vue
index 52e1fce..051f5a4 100644
--- a/src/views/dataManage/deviceData/listWellLocaData.vue
+++ b/src/views/dataManage/deviceData/listWellLocaData.vue
@@ -106,20 +106,13 @@
align: 'center'
},
{
- text: '电量(%)',
- value: 'cell',
- width: 80,
- align: 'center',
- checkCell: true
- },
- {
text: '权属单位',
value: 'deptName',
align: 'center'
},
{
text: '上传时间',
- value: 'uptime',
+ value: 'logtime',
width: 170,
align: 'center'
}
diff --git a/src/views/deviceConfig/components/editDigConfig.vue b/src/views/deviceConfig/components/editDigConfig.vue
index 3edebf4..00cc7d0 100644
--- a/src/views/deviceConfig/components/editDigConfig.vue
+++ b/src/views/deviceConfig/components/editDigConfig.vue
@@ -88,25 +88,25 @@
-
+
-
+
-
+
@@ -145,10 +145,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 1, 96) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写1到96数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -156,10 +156,10 @@
}
const validateThreshold = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 1, 37500) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写1到37500数值'))
}
} else {
callback(new Error('报警阈值不能为空'))
@@ -180,7 +180,7 @@
deviceId: '', // 设备id
collectInterval: '', // 采集间隔
collectTime: '', // 采集时间
- collectCount: '', // 采集时间
+ collectCount: '', // 采集次数
sleepStartTime: '', // 睡眠时间
threshold: '', // 报警阈值
retryTimes: '3', // 重传次数
@@ -194,6 +194,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
threshold: [{ required: true, trigger: ['blur', 'change'], validator: validateThreshold }],
@@ -247,11 +248,11 @@
this.configForm = {
id: row.id,
deviceId: row.deviceId, // 设备id
- collectInterval: row.collectInterval, // 报警阈值
- collectTime: row.collectTime, // 安装高度
- collectCount: row.collectCount, // 安装高度
- threshold: row.threshold, // 安装高度
- sleepStartTime: row.sleepStartTime, // 安装高度
+ collectInterval: row.collectInterval, // 采集间隔
+ collectTime: row.collectTime, // 采集时间
+ collectCount: row.collectCount, // 采集次数
+ threshold: row.threshold, // 报警阈值
+ sleepStartTime: row.sleepStartTime, // 睡眠时间
retryTimes: row.retryTimes, // 重传次数
ip: row.ip, // ip地址
port: row.port, // 端口号
@@ -282,11 +283,15 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editDigConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
+ this.canEdit = true
this.$emit('watchChild')
this.dialogFormVisible = false
+ } else {
+ this.canEdit = true
}
})
}
diff --git a/src/views/deviceConfig/components/editGasConfig.vue b/src/views/deviceConfig/components/editGasConfig.vue
index 12f5471..1f16f3e 100644
--- a/src/views/deviceConfig/components/editGasConfig.vue
+++ b/src/views/deviceConfig/components/editGasConfig.vue
@@ -1,6 +1,6 @@
-
+
@@ -42,7 +42,7 @@
-
+
@@ -53,31 +53,31 @@
-
+
-
+
-
+
-
+
@@ -116,10 +116,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 5, 1440) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写5到1440数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -127,10 +127,10 @@
}
const validateUpPeriod = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 0, 10080) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写0到10080之间数值'))
}
} else {
callback(new Error('上传周期不能为空'))
@@ -162,6 +162,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
uploadPeriod: [{ required: true, trigger: ['blur', 'change'], validator: validateUpPeriod }],
@@ -244,12 +245,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editGasConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceConfig/components/editHarmfulConfig.vue b/src/views/deviceConfig/components/editHarmfulConfig.vue
index 685c36e..9b9b7c3 100644
--- a/src/views/deviceConfig/components/editHarmfulConfig.vue
+++ b/src/views/deviceConfig/components/editHarmfulConfig.vue
@@ -55,18 +55,18 @@
-
+
-
+
@@ -138,6 +138,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
uploadPeriod: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
deviceId: [{ required: true, message: '设备编号不能为空', trigger: ['blur', 'change'] }],
@@ -216,12 +217,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editHarmfulConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceConfig/components/editLiquidConfig.vue b/src/views/deviceConfig/components/editLiquidConfig.vue
index cd2bcba..3729f5a 100644
--- a/src/views/deviceConfig/components/editLiquidConfig.vue
+++ b/src/views/deviceConfig/components/editLiquidConfig.vue
@@ -67,18 +67,18 @@
-
+
-
+
@@ -162,6 +162,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
percent: [{ required: true, trigger: ['blur', 'change'], validator: validatePercent }],
installHeight: [{ required: true, trigger: ['blur', 'change'], validator: validateInstallHeight }],
@@ -244,12 +245,14 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ this.canEdit = false
editLiquidConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceConfig/components/editTempConfig.vue b/src/views/deviceConfig/components/editTempConfig.vue
index 48ce6c9..b054bea 100644
--- a/src/views/deviceConfig/components/editTempConfig.vue
+++ b/src/views/deviceConfig/components/editTempConfig.vue
@@ -72,25 +72,25 @@
-
+
-
+
-
+
@@ -129,10 +129,10 @@
}
const validateCollectCycle = (rule, value, callback) => {
if (value !== '') {
- if (validateFloatPlus(value, 0, 100) === true) {
+ if (validateFloatPlus(value, 60, 1440) === true) {
callback()
} else {
- callback(new Error('请填写0到100数值'))
+ callback(new Error('请填写60到1440数值'))
}
} else {
callback(new Error('采集间隔不能为空'))
@@ -165,6 +165,7 @@
}, // 表头显示标题
devices: [], // 设备下拉选择列表
loading: false, // 加载动画是否显示
+ canEdit: true, // 是否允许点击保存按钮
rules: {
collectInterval: [{ required: true, trigger: ['blur', 'change'], validator: validateCollectCycle }],
collectTime: [{ required: true, message: '采集时间不能为空', trigger: ['blur', 'change'] }],
@@ -250,12 +251,21 @@
saveData: function() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
+ // 验证采集间隔与采集次数乘积不得超过1440
+ const collectInterval = parseFloat(this.configForm.collectInterval)
+ const collectCount = this.configForm.collectCount
+ if (collectInterval * collectCount > 1440) {
+ this.$message.warning('采集间隔与采集次数乘积不得超过1440')
+ return
+ }
+ this.canEdit = false
editTempConfig(this.configForm).then(response => {
if (response.code === 200) {
this.$message.success('配置成功')
this.$emit('watchChild')
this.dialogFormVisible = false
}
+ this.canEdit = false
})
}
})
diff --git a/src/views/deviceManage/editDevice.vue b/src/views/deviceManage/editDevice.vue
index c87a220..5539bbe 100644
--- a/src/views/deviceManage/editDevice.vue
+++ b/src/views/deviceManage/editDevice.vue
@@ -25,7 +25,7 @@
-
+
{
diff --git a/src/views/deviceManage/listDevice.vue b/src/views/deviceManage/listDevice.vue
index e4888d6..eca6ecf 100644
--- a/src/views/deviceManage/listDevice.vue
+++ b/src/views/deviceManage/listDevice.vue
@@ -121,8 +121,8 @@
// align: 'center'
// },
{
- text: '监控内容',
- value: 'watchType',
+ text: '设备类型',
+ value: 'deviceTypeName',
align: 'center'
},
{
@@ -299,7 +299,6 @@
window.URL.revokeObjectURL(href) // 释放blob对象
}).catch((res) => {
loading.close()
- this.$message.error(res.message)
})
},
// 查询数据
diff --git a/src/views/layout/components/AppHeader.vue b/src/views/layout/components/AppHeader.vue
index da35099..9bd0ceb 100644
--- a/src/views/layout/components/AppHeader.vue
+++ b/src/views/layout/components/AppHeader.vue
@@ -68,7 +68,7 @@
height:60px;
background-color:#000000;
background-repeat: no-repeat;
- background: #000000 url("/static/images/global_images/header.png") no-repeat;
+ /*background: #000000 url("/static/images/global_images/header.png") no-repeat;*/
-webkit-background-size: 100% 100%;
background-size: 100% 100%;
color:white;
diff --git a/src/views/overview/overview_cmap.vue b/src/views/overview/overview_cmap.vue
index 5662bc3..5a8b627 100644
--- a/src/views/overview/overview_cmap.vue
+++ b/src/views/overview/overview_cmap.vue
@@ -29,6 +29,7 @@
+
@@ -473,7 +474,6 @@
max-width: 250px;
/*background-color: lightcyan;*/
.info-header{
- padding: 10px 10px 5px 10px;
line-height: 30px;
font-weight: bold;
font-size: 16px;
diff --git a/src/views/system/area/listArea.vue b/src/views/system/area/listArea.vue
index 1d73f81..c52871d 100644
--- a/src/views/system/area/listArea.vue
+++ b/src/views/system/area/listArea.vue
@@ -49,7 +49,7 @@