{}">
+
{ }">
-
- 闸井详情数据
+
+
+
+
+
+ {{ item.text }}
+
+
+ {{ detailInfo[item.value] || '' }}
+
+
diff --git a/src/views/home/well/components/lifeCycleRecord.vue b/src/views/home/well/components/lifeCycleRecord.vue
new file mode 100644
index 0000000..1f37b5a
--- /dev/null
+++ b/src/views/home/well/components/lifeCycleRecord.vue
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+ 搜索
+
+
+ 导出
+
+
+
+
+
+
+
+ 查看
+
+
+
+
+
+
+
diff --git a/src/views/home/well/components/maintenanceRecord.vue b/src/views/home/well/components/maintenanceRecord.vue
new file mode 100644
index 0000000..a389d61
--- /dev/null
+++ b/src/views/home/well/components/maintenanceRecord.vue
@@ -0,0 +1,32 @@
+
+
+
+
+
+
diff --git a/src/views/home/well/components/map.vue b/src/views/home/well/components/map.vue
index f58c925..5341746 100644
--- a/src/views/home/well/components/map.vue
+++ b/src/views/home/well/components/map.vue
@@ -3,7 +3,7 @@
Author: 李亚光
Date: 2023-07-08
-->
-
@@ -157,11 +186,46 @@
+
+
+
+
![]()
+
+
{{ item.name }}
+
+
diff --git a/src/views/home/well/components/monitorData.vue b/src/views/home/well/components/monitorData.vue
new file mode 100644
index 0000000..9264abb
--- /dev/null
+++ b/src/views/home/well/components/monitorData.vue
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/home/well/components/monitorDataList.vue b/src/views/home/well/components/monitorDataList.vue
new file mode 100644
index 0000000..d6118ad
--- /dev/null
+++ b/src/views/home/well/components/monitorDataList.vue
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+ 搜索
+
+ 切换视图
+
+
+
+
diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts
index b8bcbbf..3b8d5f7 100644
--- a/src/router/modules/home.ts
+++ b/src/router/modules/home.ts
@@ -119,6 +119,19 @@
auth: '/well',
},
},
+ {
+ path: '/well/:type',
+ component: () => import('@/views/home/well/components/detail.vue'),
+ name: 'WellMonitorDetail',
+ meta: {
+ title: '闸井详情',
+ icon: 'ep:key',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/well',
+ auth: '/well/detail',
+ },
+ },
],
},
{
diff --git a/src/views/home/well/components/detail.vue b/src/views/home/well/components/detail.vue
new file mode 100644
index 0000000..17c4b8d
--- /dev/null
+++ b/src/views/home/well/components/detail.vue
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+
+
+
+ 关闭
+
+
+
+
+
+
+
+
+ {{ item.text }}
+
+
+ {{ detailInfo[item.value] || '' }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/home/well/components/detailData.vue b/src/views/home/well/components/detailData.vue
new file mode 100644
index 0000000..fb87a94
--- /dev/null
+++ b/src/views/home/well/components/detailData.vue
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/home/well/components/detailInfoDialog.vue b/src/views/home/well/components/detailInfoDialog.vue
index da6f6b2..1b52d44 100644
--- a/src/views/home/well/components/detailInfoDialog.vue
+++ b/src/views/home/well/components/detailInfoDialog.vue
@@ -1,5 +1,5 @@
@@ -7,20 +7,84 @@
const dialogFormVisible = ref(false)
const overlay = ref()
const infoWindow = ref()
-// 弹窗展示数据信息
-const info = ref()
-// 弹窗展示的内容
-const flag = ref('')
+// 基本数据
+const baseInfo = ref({
+ ledgerCode: '', // 闸井编号
+ ledgerName: '', // 闸井名称
+ lngGaode: '',
+ latGaode: '',
+})
+// 详细信息
+const detailInfo = ref<{ [key: string]: string }>({})
+// 描述列表数据
+const descriptionsList = ref([
+ {
+ text: '闸井位号',
+ value: '',
+ align: 'center',
+ },
+ {
+ text: '使用状态',
+ value: '',
+ align: 'center',
+ },
+ {
+ text: '产权单位',
+ value: '',
+ align: 'center',
+ },
+ {
+ text: '联系人',
+ value: '',
+ align: 'center',
+ },
+ {
+ text: '管理单位',
+ value: '',
+ align: 'center',
+ },
+ {
+ text: '管理方式',
+ value: '',
+ align: 'center',
+ },
+ {
+ text: '负责人',
+ value: '',
+ align: 'center',
+ },
+ {
+ text: '联系方式',
+ value: '',
+ align: 'center',
+ },
+ {
+ text: '所在区域',
+ value: '',
+ align: 'center',
+ },
+ {
+ text: '详细位置',
+ value: '',
+ align: 'center',
+ },
+ {
+ text: '标签',
+ value: '',
+ align: 'center',
+ },
+])
// 初始化
const initDialog = (e: any) => {
- // console.log(e, '信息窗体接收的数据')
+ console.log(e, '信息窗体接收的数据')
overlay.value = e.overlay
infoWindow.value = e.infoWindow
- info.value = e.info
+ baseInfo.value = e.info.row
dialogFormVisible.value = true
if (e.map) {
e.map.setZoom(15)
}
+ // 获取详细信息
}
// 关闭
@@ -32,34 +96,96 @@
- {}">
+
{ }">
-
- 闸井详情数据
+
+
+
+
+
+ {{ item.text }}
+
+
+ {{ detailInfo[item.value] || '' }}
+
+
diff --git a/src/views/home/well/components/lifeCycleRecord.vue b/src/views/home/well/components/lifeCycleRecord.vue
new file mode 100644
index 0000000..1f37b5a
--- /dev/null
+++ b/src/views/home/well/components/lifeCycleRecord.vue
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+ 搜索
+
+
+ 导出
+
+
+
+
+
+
+
+ 查看
+
+
+
+
+
+
+
diff --git a/src/views/home/well/components/maintenanceRecord.vue b/src/views/home/well/components/maintenanceRecord.vue
new file mode 100644
index 0000000..a389d61
--- /dev/null
+++ b/src/views/home/well/components/maintenanceRecord.vue
@@ -0,0 +1,32 @@
+
+
+
+
+
+
diff --git a/src/views/home/well/components/map.vue b/src/views/home/well/components/map.vue
index f58c925..5341746 100644
--- a/src/views/home/well/components/map.vue
+++ b/src/views/home/well/components/map.vue
@@ -3,7 +3,7 @@
Author: 李亚光
Date: 2023-07-08
-->
-
@@ -157,11 +186,46 @@
+
+
+
+
![]()
+
+
{{ item.name }}
+
+
diff --git a/src/views/home/well/components/monitorData.vue b/src/views/home/well/components/monitorData.vue
new file mode 100644
index 0000000..9264abb
--- /dev/null
+++ b/src/views/home/well/components/monitorData.vue
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/home/well/components/monitorDataList.vue b/src/views/home/well/components/monitorDataList.vue
new file mode 100644
index 0000000..d6118ad
--- /dev/null
+++ b/src/views/home/well/components/monitorDataList.vue
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+ 搜索
+
+ 切换视图
+
+
+
+
diff --git a/src/views/home/well/index.vue b/src/views/home/well/index.vue
index e6cd0a5..09d32ca 100644
--- a/src/views/home/well/index.vue
+++ b/src/views/home/well/index.vue
@@ -9,6 +9,10 @@
import MapCom from './components/map.vue'
import { getWellList, getWellListPage } from '@/api/home/well/well'
import { getDictByCode } from '@/api/system/dict'
+// 表格标识 地图或普通
+const mapRef = ref()
+const tableFlag = ref('normal')
+const mapLoading = ref(true)
// 表格数据
const list = ref([])
const total = ref(0)
@@ -17,16 +21,16 @@
// 初始展示列
const columns = ref
([
- { text: '闸井位号', value: 'tagNumber', align: 'center' },
+ { text: '闸井位号', value: 'tagNumber', align: 'center', width: '110' },
{ text: '闸井编号', value: 'ledgerCode', align: 'center' },
{ text: '闸井名称', value: 'ledgerName', align: 'center' },
{ text: '管理单位', value: 'responsibleDeptName', align: 'center' },
{ text: '产权单位', value: 'propertyOwner', align: 'center' },
- { text: '管理方式', value: 'manageTypeName', align: 'center' },
- { text: '使用状态', value: 'onStateName', align: 'center' },
- { text: '布防状态', value: 'bfztName', align: 'center' },
- { text: '状态', value: 'monitorStateName', align: 'center' },
- { text: '感知设备', value: 'device', align: 'center' },
+ { text: '管理方式', value: 'manageTypeName', align: 'center', width: '90' },
+ { text: '使用状态', value: 'onStateName', align: 'center', width: '90' },
+ { text: '布防状态', value: 'bfztName', align: 'center', width: '90' },
+ { text: '状态', value: 'monitorStateName', align: 'center', width: '90' },
+ { text: '感知设备', value: 'device', align: 'center', width: '90' },
{ text: '标签', value: 'marker', align: 'center' },
])
// 最终展示列
@@ -50,19 +54,49 @@
bfzt: '', // 布防状态
monitorState: '', // 监控状态
marker: '',
-})
+} as { [key: string]: string | number })
// 查询数据
const fetchData = () => {
loadingTable.value = true
+ mapLoading.value = true
+ // 判断是否有查询条件(是地图展示20条 否地图展示所有)
+ const queryList = [] as Boolean[] // 长度大于2 即为是
+ for (const i in listQuery.value) {
+ if (listQuery.value[i]) {
+ queryList.push(true)
+ }
+ }
getWellListPage(listQuery.value).then((res) => {
list.value = res.data.rows.map((item: any) => ({ ...item, bfztName: item.bfzt === '1' ? '布防' : '撤防' }))
total.value = res.data.total
loadingTable.value = false
+ if (queryList.length > 2) {
+ mapList.value = list.value
+ setTimeout(() => {
+ if (tableFlag.value === 'map') {
+ mapRef.value.resetDraw()
+ }
+ mapLoading.value = false
+ }, 500)
+ }
}).catch(() => {
loadingTable.value = false
+ if (queryList.length <= 2) {
+ mapLoading.value = false
+ }
})
+ if (queryList.length > 2) { return }
+ // 获取地图全部数据
getWellList(listQuery.value).then((res) => {
mapList.value = res.data
+ setTimeout(() => {
+ if (tableFlag.value === 'map') {
+ mapRef.value.resetDraw()
+ }
+ mapLoading.value = false
+ }, 500)
+ }).catch(() => {
+ mapLoading.value = false
})
}
// 重置查询条件f
@@ -122,14 +156,12 @@
fetchData()
})
-// 表格标识 地图或普通
-const mapRef = ref()
-const tableFlag = ref('normal')
+// 切换地图标识
const switchMode = (type: string) => {
- if (!mapList.value.length) {
- ElMessage.warning('暂无数据')
- return
- }
+ // if (!mapList.value.length) {
+ // ElMessage.warning('数据正在获取中或无数据')
+ // return
+ // }
tableFlag.value = type
}
// 点击数据行
@@ -139,10 +171,12 @@
ElMessage.warning('该数据缺少坐标信息')
return
}
+ // 打开地图弹窗
mapRef.value.openInfoDetail({
lnglat: [data.lngGaode, data.latGaode],
id: data.id,
name: data.ledgerName,
+ row: data,
})
}
// 布防/撤防
@@ -159,8 +193,14 @@
})
}
// 查看/编辑
+const $router = useRouter()
const editRow = (type: string, row: any) => {
-
+ $router.push({
+ path: `/well/${type}`,
+ query: {
+ id: row.id,
+ },
+ })
}
@@ -168,14 +208,17 @@
-
+
+
+
+
-
+
@@ -215,6 +258,8 @@
+
+
-
+
切换地图模式
@@ -249,7 +294,7 @@
-->
- {{ (listQuery.offset - 1) * listQuery.limit + scope.$index + 1 }}
+ {{ (listQuery.offset as number - 1) * (listQuery.limit as number) + scope.$index + 1 }}
@@ -278,23 +323,31 @@