浏览代码

添加二道应急前端代码和JS代码,路径统一为centerdata_emergency1

limeng 5 月之前
父节点
当前提交
8c96948625
共有 30 个文件被更改,包括 6236 次插入0 次删除
  1. 44 0
      data-ui/src/api/centerdata_emergency1/attach.js
  2. 44 0
      data-ui/src/api/centerdata_emergency1/dept.js
  3. 44 0
      data-ui/src/api/centerdata_emergency1/enterprise.js
  4. 55 0
      data-ui/src/api/centerdata_emergency1/inspection.js
  5. 44 0
      data-ui/src/api/centerdata_emergency1/items.js
  6. 44 0
      data-ui/src/api/centerdata_emergency1/log.js
  7. 59 0
      data-ui/src/api/centerdata_emergency1/main.js
  8. 44 0
      data-ui/src/api/centerdata_emergency1/mapping.js
  9. 44 0
      data-ui/src/api/centerdata_emergency1/material.js
  10. 44 0
      data-ui/src/api/centerdata_emergency1/patrolstation.js
  11. 44 0
      data-ui/src/api/centerdata_emergency1/team.js
  12. 44 0
      data-ui/src/api/centerdata_emergency1/track.js
  13. 44 0
      data-ui/src/api/centerdata_emergency1/user.js
  14. 44 0
      data-ui/src/api/centerdata_emergency1/warehouse.js
  15. 316 0
      data-ui/src/views/centerdata_emergency1/attach/index.vue
  16. 289 0
      data-ui/src/views/centerdata_emergency1/dept/index.vue
  17. 578 0
      data-ui/src/views/centerdata_emergency1/enterprise/index.vue
  18. 132 0
      data-ui/src/views/centerdata_emergency1/enterprise/supermap.vue
  19. 635 0
      data-ui/src/views/centerdata_emergency1/inspection/index.vue
  20. 422 0
      data-ui/src/views/centerdata_emergency1/items/index.vue
  21. 449 0
      data-ui/src/views/centerdata_emergency1/log/index.vue
  22. 257 0
      data-ui/src/views/centerdata_emergency1/mapping/index.vue
  23. 483 0
      data-ui/src/views/centerdata_emergency1/material/index.vue
  24. 395 0
      data-ui/src/views/centerdata_emergency1/patrolstation/index.vue
  25. 132 0
      data-ui/src/views/centerdata_emergency1/patrolstation/supermap.vue
  26. 464 0
      data-ui/src/views/centerdata_emergency1/team/index.vue
  27. 309 0
      data-ui/src/views/centerdata_emergency1/track/index.vue
  28. 226 0
      data-ui/src/views/centerdata_emergency1/user/index.vue
  29. 375 0
      data-ui/src/views/centerdata_emergency1/warehouse/index.vue
  30. 132 0
      data-ui/src/views/centerdata_emergency1/warehouse/supermap.vue

+ 44 - 0
data-ui/src/api/centerdata_emergency1/attach.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询附件列表
+export function listAttach(query) {
+  return request({
+    url: '/system/attach/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询附件详细
+export function getAttach(attachId) {
+  return request({
+    url: '/system/attach/' + attachId,
+    method: 'get'
+  })
+}
+
+// 新增附件
+export function addAttach(data) {
+  return request({
+    url: '/system/attach',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改附件
+export function updateAttach(data) {
+  return request({
+    url: '/system/attach',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除附件
+export function delAttach(attachId) {
+  return request({
+    url: '/system/attach/' + attachId,
+    method: 'delete'
+  })
+}

+ 44 - 0
data-ui/src/api/centerdata_emergency1/dept.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询业务部门列表
+export function listDept(query) {
+  return request({
+    url: '/system/busdept/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询业务部门详细
+export function getDept(busDeptId) {
+  return request({
+    url: '/system/busdept/' + busDeptId,
+    method: 'get'
+  })
+}
+
+// 新增业务部门
+export function addDept(data) {
+  return request({
+    url: '/system/busdept',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改业务部门
+export function updateDept(data) {
+  return request({
+    url: '/system/busdept',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除业务部门
+export function delDept(busDeptId) {
+  return request({
+    url: '/system/busdept/' + busDeptId,
+    method: 'delete'
+  })
+}

+ 44 - 0
data-ui/src/api/centerdata_emergency1/enterprise.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询企业列表
+export function listEnterprise(query) {
+  return request({
+    url: '/system/enterprise/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询企业详细
+export function getEnterprise(busEnterpriseId) {
+  return request({
+    url: '/system/enterprise/' + busEnterpriseId,
+    method: 'get'
+  })
+}
+
+// 新增企业
+export function addEnterprise(data) {
+  return request({
+    url: '/system/enterprise',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改企业
+export function updateEnterprise(data) {
+  return request({
+    url: '/system/enterprise',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除企业
+export function delEnterprise(busEnterpriseId) {
+  return request({
+    url: '/system/enterprise/' + busEnterpriseId,
+    method: 'delete'
+  })
+}

+ 55 - 0
data-ui/src/api/centerdata_emergency1/inspection.js

@@ -0,0 +1,55 @@
+import request from '@/utils/request'
+
+
+export function detail(query) {
+  return request({
+    url: '/system/inspection/detail',
+    method: 'get',
+    params: query
+  })
+}
+
+
+
+// 查询巡检项记录列表
+export function listInspection(query) {
+  return request({
+    url: '/system/inspection/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询巡检项记录详细
+export function getInspection(busInspectionId) {
+  return request({
+    url: '/system/inspection/' + busInspectionId,
+    method: 'get'
+  })
+}
+
+// 新增巡检项记录
+export function addInspection(data) {
+  return request({
+    url: '/system/inspection',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改巡检项记录
+export function updateInspection(data) {
+  return request({
+    url: '/system/inspection',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除巡检项记录
+export function delInspection(busInspectionId) {
+  return request({
+    url: '/system/inspection/' + busInspectionId,
+    method: 'delete'
+  })
+}

+ 44 - 0
data-ui/src/api/centerdata_emergency1/items.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询巡检项列表
+export function listItems(query) {
+  return request({
+    url: '/system/items/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询巡检项详细
+export function getItems(busItemsId) {
+  return request({
+    url: '/system/items/' + busItemsId,
+    method: 'get'
+  })
+}
+
+// 新增巡检项
+export function addItems(data) {
+  return request({
+    url: '/system/items',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改巡检项
+export function updateItems(data) {
+  return request({
+    url: '/system/items',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除巡检项
+export function delItems(busItemsId) {
+  return request({
+    url: '/system/items/' + busItemsId,
+    method: 'delete'
+  })
+}

+ 44 - 0
data-ui/src/api/centerdata_emergency1/log.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询日志列表
+export function listLog(query) {
+  return request({
+    url: '/system/log/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询日志详细
+export function getLog(busLogId) {
+  return request({
+    url: '/system/log/' + busLogId,
+    method: 'get'
+  })
+}
+
+// 新增日志
+export function addLog(data) {
+  return request({
+    url: '/system/log',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改日志
+export function updateLog(data) {
+  return request({
+    url: '/system/log',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除日志
+export function delLog(busLogId) {
+  return request({
+    url: '/system/log/' + busLogId,
+    method: 'delete'
+  })
+}

+ 59 - 0
data-ui/src/api/centerdata_emergency1/main.js

@@ -0,0 +1,59 @@
+import request from '@/utils/request'
+
+
+//查询有隐患的日志
+export function getMainInfo(query) {
+  return request({
+    url: '/system/ManagerMainController/getMainInfo',
+    method: 'post',
+    params: query
+  })
+}
+export function getLoginUser() {
+  return request({
+    url: '/system/ManagerMainController/getLoginUser',
+    method: 'post',
+  })
+}
+
+//企业
+export function getInitEnterpriseData() {
+  return request({
+    url: '/system/AppEnterpriseController/getInitEnterpriseData',
+    method: 'post',
+  })
+}
+
+export function getInitEnterpriseList() {
+  return request({
+    url: '/system/AppEnterpriseController/getInitEnterpriseList',
+    method: 'post',
+  })
+}
+//巡查
+export function getXunchaCount() {
+  return request({
+    url: '/system/AppXunchaController/getXunchaCount',
+    method: 'post',
+  })
+}
+export function getXunchaList() {
+  return request({
+    url: '/system/AppXunchaController/getXunchaList',
+    method: 'post',
+  })
+}
+//隐患
+export function getXunjianimgList() {
+  return request({
+    url: '/system/AppXunjianimgController/getXunjianimgList',
+    method: 'post',
+  })
+}
+//判断用户密码是否为默认密码
+export function isDefaultPassword(pwd) {
+  return request({
+    url: '/system/ManagerMainController/isDefaultPassword?password='+pwd,
+    method: 'post',
+  })
+}

+ 44 - 0
data-ui/src/api/centerdata_emergency1/mapping.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询企业与巡检项映射列表
+export function listMapping(query) {
+  return request({
+    url: '/system/mapping/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询企业与巡检项映射详细
+export function getMapping(busEnterpriseId) {
+  return request({
+    url: '/system/mapping/' + busEnterpriseId,
+    method: 'get'
+  })
+}
+
+// 新增企业与巡检项映射
+export function addMapping(data) {
+  return request({
+    url: '/system/mapping',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改企业与巡检项映射
+export function updateMapping(data) {
+  return request({
+    url: '/system/mapping',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除企业与巡检项映射
+export function delMapping(busEnterpriseId) {
+  return request({
+    url: '/system/mapping/' + busEnterpriseId,
+    method: 'delete'
+  })
+}

+ 44 - 0
data-ui/src/api/centerdata_emergency1/material.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询物资列表
+export function listMaterial(query) {
+  return request({
+    url: '/system/material/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询物资详细
+export function getMaterial(materialId) {
+  return request({
+    url: '/system/material/' + materialId,
+    method: 'get'
+  })
+}
+
+// 新增物资
+export function addMaterial(data) {
+  return request({
+    url: '/system/material',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改物资
+export function updateMaterial(data) {
+  return request({
+    url: '/system/material',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除物资
+export function delMaterial(materialId) {
+  return request({
+    url: '/system/material/' + materialId,
+    method: 'delete'
+  })
+}

+ 44 - 0
data-ui/src/api/centerdata_emergency1/patrolstation.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询巡更点列表
+export function listPatrolstation(query) {
+  return request({
+    url: '/system/patrolstation/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询巡更点详细
+export function getPatrolstation(busPatrolstationId) {
+  return request({
+    url: '/system/patrolstation/' + busPatrolstationId,
+    method: 'get'
+  })
+}
+
+// 新增巡更点
+export function addPatrolstation(data) {
+  return request({
+    url: '/system/patrolstation',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改巡更点
+export function updatePatrolstation(data) {
+  return request({
+    url: '/system/patrolstation',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除巡更点
+export function delPatrolstation(busPatrolstationId) {
+  return request({
+    url: '/system/patrolstation/' + busPatrolstationId,
+    method: 'delete'
+  })
+}

+ 44 - 0
data-ui/src/api/centerdata_emergency1/team.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询救援队伍列表
+export function listTeam(query) {
+  return request({
+    url: '/system/team/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询救援队伍详细
+export function getTeam(teamId) {
+  return request({
+    url: '/system/team/' + teamId,
+    method: 'get'
+  })
+}
+
+// 新增救援队伍
+export function addTeam(data) {
+  return request({
+    url: '/system/team',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改救援队伍
+export function updateTeam(data) {
+  return request({
+    url: '/system/team',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除救援队伍
+export function delTeam(teamId) {
+  return request({
+    url: '/system/team/' + teamId,
+    method: 'delete'
+  })
+}

+ 44 - 0
data-ui/src/api/centerdata_emergency1/track.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询进度列表
+export function listTrack(query) {
+  return request({
+    url: '/system/track/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询进度详细
+export function getTrack(busTrackId) {
+  return request({
+    url: '/system/track/' + busTrackId,
+    method: 'get'
+  })
+}
+
+// 新增进度
+export function addTrack(data) {
+  return request({
+    url: '/system/track',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改进度
+export function updateTrack(data) {
+  return request({
+    url: '/system/track',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除进度
+export function delTrack(busTrackId) {
+  return request({
+    url: '/system/track/' + busTrackId,
+    method: 'delete'
+  })
+}

+ 44 - 0
data-ui/src/api/centerdata_emergency1/user.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询微信用户列表
+export function listUser(query) {
+  return request({
+    url: '/system/wechatuser/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询微信用户详细
+export function getUser(wechaId) {
+  return request({
+    url: '/system/wechatuser/' + wechaId,
+    method: 'get'
+  })
+}
+
+// 新增微信用户
+export function addUser(data) {
+  return request({
+    url: '/system/weachatuser',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改微信用户
+export function updateUser(data) {
+  return request({
+    url: '/system/wechatuser',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除微信用户
+export function delUser(wechaId) {
+  return request({
+    url: '/system/wechatuser/' + wechaId,
+    method: 'delete'
+  })
+}

+ 44 - 0
data-ui/src/api/centerdata_emergency1/warehouse.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询仓库列表
+export function listWarehouse(query) {
+  return request({
+    url: '/system/warehouse/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询仓库详细
+export function getWarehouse(warehouseId) {
+  return request({
+    url: '/system/warehouse/' + warehouseId,
+    method: 'get'
+  })
+}
+
+// 新增仓库
+export function addWarehouse(data) {
+  return request({
+    url: '/system/warehouse',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改仓库
+export function updateWarehouse(data) {
+  return request({
+    url: '/system/warehouse',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除仓库
+export function delWarehouse(warehouseId) {
+  return request({
+    url: '/system/warehouse/' + warehouseId,
+    method: 'delete'
+  })
+}

+ 316 - 0
data-ui/src/views/centerdata_emergency1/attach/index.vue

@@ -0,0 +1,316 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="附件ID" prop="attachId">
+        <el-input
+          v-model="queryParams.attachId"
+          placeholder="请输入附件ID"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="业务ID" prop="busId">
+        <el-input
+          v-model="queryParams.busId"
+          placeholder="请输入业务ID"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="标识" prop="attachLabel">
+        <el-input
+          v-model="queryParams.attachLabel"
+          placeholder="请输入标识"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="源文件名" prop="attachName">
+        <el-input
+          v-model="queryParams.attachName"
+          placeholder="请输入源文件名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="大小" prop="attachSize">
+        <el-input
+          v-model="queryParams.attachSize"
+          placeholder="请输入大小"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="地址" prop="attachUrl">
+        <el-input
+          v-model="queryParams.attachUrl"
+          placeholder="请输入地址"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:attach:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:attach:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:attach:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:attach:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="attachList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="附件ID" align="center" prop="attachId" />
+      <el-table-column label="业务ID" align="center" prop="busId" />
+      <el-table-column label="标识" align="center" prop="attachLabel" />
+      <el-table-column label="源文件名" align="center" prop="attachName" />
+      <el-table-column label="类型" align="center" prop="attachType" />
+      <el-table-column label="大小" align="center" prop="attachSize" />
+      <el-table-column label="地址" align="center" prop="attachUrl" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:attach:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:attach:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改附件对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="附件ID" prop="attachId">
+          <el-input v-model="form.attachId" placeholder="请输入附件ID" />
+        </el-form-item>
+        <el-form-item label="业务ID" prop="busId">
+          <el-input v-model="form.busId" placeholder="请输入业务ID" />
+        </el-form-item>
+        <el-form-item label="标识" prop="attachLabel">
+          <el-input v-model="form.attachLabel" placeholder="请输入标识" />
+        </el-form-item>
+        <el-form-item label="源文件名" prop="attachName">
+          <el-input v-model="form.attachName" placeholder="请输入源文件名" />
+        </el-form-item>
+        <el-form-item label="大小" prop="attachSize">
+          <el-input v-model="form.attachSize" placeholder="请输入大小" />
+        </el-form-item>
+        <el-form-item label="地址" prop="attachUrl">
+          <el-input v-model="form.attachUrl" placeholder="请输入地址" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listAttach, getAttach, delAttach, addAttach, updateAttach } from "@/api/edyj/attach";
+
+export default {
+  name: "Attach",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 附件表格数据
+      attachList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        attachId: null,
+        busId: null,
+        attachLabel: null,
+        attachName: null,
+        attachType: null,
+        attachSize: null,
+        attachUrl: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询附件列表 */
+    getList() {
+      this.loading = true;
+      listAttach(this.queryParams).then(response => {
+        this.attachList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        attachId: null,
+        busId: null,
+        attachLabel: null,
+        attachName: null,
+        attachType: null,
+        attachSize: null,
+        attachUrl: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.attachId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加附件";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const attachId = row.attachId || this.ids
+      getAttach(attachId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改附件";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.attachId != null) {
+            updateAttach(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addAttach(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const attachIds = row.attachId || this.ids;
+      this.$modal.confirm('是否确认删除附件编号为"' + attachIds + '"的数据项?').then(function() {
+        return delAttach(attachIds);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('system/attach/export', {
+        ...this.queryParams
+      }, `attach_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 289 - 0
data-ui/src/views/centerdata_emergency1/dept/index.vue

@@ -0,0 +1,289 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="部门主键" prop="busDeptId">
+        <el-input
+          v-model="queryParams.busDeptId"
+          placeholder="请输入部门主键"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="日志ID" prop="busLogId">
+        <el-input
+          v-model="queryParams.busLogId"
+          placeholder="请输入日志ID"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="部门ID" prop="deptId">
+        <el-input
+          v-model="queryParams.deptId"
+          placeholder="请输入部门ID"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="用户ID" prop="userId">
+        <el-input
+          v-model="queryParams.userId"
+          placeholder="请输入用户ID"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:dept:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:dept:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:dept:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:dept:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="deptList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="部门主键" align="center" prop="busDeptId" />
+      <el-table-column label="日志ID" align="center" prop="busLogId" />
+      <el-table-column label="部门ID" align="center" prop="deptId" />
+      <el-table-column label="用户ID" align="center" prop="userId" />
+      <el-table-column label="部门类型" align="center" prop="deptType" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:dept:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:dept:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改业务部门对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="部门主键" prop="busDeptId">
+          <el-input v-model="form.busDeptId" placeholder="请输入部门主键" />
+        </el-form-item>
+        <el-form-item label="日志ID" prop="busLogId">
+          <el-input v-model="form.busLogId" placeholder="请输入日志ID" />
+        </el-form-item>
+        <el-form-item label="部门ID" prop="deptId">
+          <el-input v-model="form.deptId" placeholder="请输入部门ID" />
+        </el-form-item>
+        <el-form-item label="用户ID" prop="userId">
+          <el-input v-model="form.userId" placeholder="请输入用户ID" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listDept, getDept, delDept, addDept, updateDept } from "@/api/edyj/dept";
+
+export default {
+  name: "Dept",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 业务部门表格数据
+      deptList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        busDeptId: null,
+        busLogId: null,
+        deptId: null,
+        userId: null,
+        deptType: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询业务部门列表 */
+    getList() {
+      this.loading = true;
+      listDept(this.queryParams).then(response => {
+        this.deptList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        busDeptId: null,
+        busLogId: null,
+        deptId: null,
+        userId: null,
+        createTime: null,
+        deptType: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.busDeptId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加业务部门";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const busDeptId = row.busDeptId || this.ids
+      getDept(busDeptId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改业务部门";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.busDeptId != null) {
+            updateDept(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addDept(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const busDeptIds = row.busDeptId || this.ids;
+      this.$modal.confirm('是否确认删除业务部门编号为"' + busDeptIds + '"的数据项?').then(function() {
+        return delDept(busDeptIds);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('system/dept/export', {
+        ...this.queryParams
+      }, `dept_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 578 - 0
data-ui/src/views/centerdata_emergency1/enterprise/index.vue

@@ -0,0 +1,578 @@
+<template>
+  <div class="app-container">
+    <el-dialog :visible.sync="showLongitude" append-to-body>
+      经度
+      <el-input v-model="form.longitude"></el-input>
+      纬度
+      <el-input v-model="form.latitude"></el-input>
+      <supermap ref="enterprisemap" :visible.sync="showLongitude"
+                style="width: 100%;height: 500px;" :setLatLng="setLatLng"></supermap>
+      <el-button type="primary" @click="showLongitude=false">确定</el-button>
+    </el-dialog>
+
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="98px">
+      <el-form-item label="企业名称" prop="businessName">
+        <el-input
+          v-model="queryParams.businessName"
+          placeholder="请输入企业名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="所属部门" prop="deptName">
+        <el-input
+          v-model="queryParams.deptName"
+          placeholder="请输入所属部门"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="录入人" prop="userName">
+        <el-input
+          v-model="queryParams.userName"
+          placeholder="请输入录入人名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="组织机构代码" prop="orgCode">
+        <el-input
+          v-model="queryParams.orgCode"
+          placeholder="请输入组织机构代码"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="主要负责人" prop="mainPerson">
+        <el-input
+          v-model="queryParams.mainPerson"
+          placeholder="请输入主要负责人"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="负责人电话" prop="mainPersonPhone">
+        <el-input
+          v-model="queryParams.mainPersonPhone"
+          placeholder="请输入主要负责人电话"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="企业编码" prop="enterpriseCode">
+        <el-input
+          v-model="queryParams.enterpriseCode"
+          placeholder="企业编码"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:enterprise:add']"
+        >新增
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:enterprise:edit']"
+        >修改
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:enterprise:remove']"
+        >删除
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:enterprise:export']"
+        >导出
+        </el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="enterpriseList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center"/>
+      <el-table-column label="企业名称" align="center" prop="businessName"/>
+      <el-table-column label="经营地址" align="center" prop="businessAddress"/>
+      <el-table-column label="办公地址" align="center" prop="officeAddress"/>
+      <el-table-column label="主要负责人" align="center" prop="mainPerson"/>
+      <el-table-column label="主要负责人电话" align="center" prop="mainPersonPhone"/>
+      <el-table-column label="所属部门" align="center" prop="deptName" />
+      <el-table-column label="录入人" align="center" prop="userName" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            v-if="scope.row.userId == loginUserId"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:enterprise:edit']"
+          >修改
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-if="scope.row.userId == loginUserId"
+            v-hasPermi="['system:enterprise:remove']"
+          >废弃
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDetail(scope.row)"
+            v-hasPermi="['system:enterprise:remove']"
+          >详情
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="list-icon-sj iconfont icon-richangxuncha"
+            @click="toXuncha(scope.row)"
+            v-hasPermi="['system:enterprise:remove']"
+          >巡查
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="list-icon-sj iconfont icon-xungengdian"
+            v-if="scope.row.userId == loginUserId"
+            @click="toPatrolstation(scope.row)"
+            v-hasPermi="['system:enterprise:remove']"
+          >巡更点
+          </el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改企业对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="180px">
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="所属部门" prop="deptId">
+              <!--<el-input v-model="form.deptId" placeholder="请选择企业所属部门"/>-->
+              <treeselect :disabled="isDetail" v-model="form.deptId" :options="deptOptions" :show-count="true"
+                          placeholder="请选择归属部门"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="企业登录人账号" prop="accountId">
+              <el-input v-model="form.accountId" placeholder="请选择企业登录人账号" disabled/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="企业名称" prop="businessName">
+              <el-input :disabled="isDetail" v-model="form.businessName" placeholder="请输入企业名称"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="经营地址" prop="businessAddress">
+              <el-input :disabled="isDetail" v-model="form.businessAddress" placeholder="请输入经营地址"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="办公地址" prop="officeAddress">
+              <el-input :disabled="isDetail" v-model="form.officeAddress" placeholder="请输入办公地址"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="组织机构代码" prop="orgCode">
+              <el-input :disabled="isDetail" v-model="form.orgCode" placeholder="请输入组织机构代码"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="主要负责人" prop="mainPerson">
+              <el-input :disabled="isDetail" v-model="form.mainPerson" placeholder="请输入主要负责人"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="主要负责人电话" prop="mainPersonPhone">
+              <el-input :disabled="isDetail" v-model="form.mainPersonPhone" placeholder="请输入主要负责人电话"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="安全负责人" prop="headSecurity">
+              <el-input :disabled="isDetail" v-model="form.headSecurity" placeholder="请输入安全负责人"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="安全负责人电话" prop="headSecurityPhone">
+              <el-input :disabled="isDetail" v-model="form.headSecurityPhone" placeholder="请输入安全负责人电话"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="属地监管人员" prop="supervisor">
+              <el-input :disabled="isDetail" v-model="form.supervisor" placeholder="请输入属地监管人员"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="区县行业主管部门" prop="tradeDept">
+              <el-input :disabled="isDetail" v-model="form.tradeDept" placeholder="请输入区县行业主管部门"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="经度" prop="longitude" @dblclick.native="showMap">
+              <el-input :disabled="isDetail" v-model="form.longitude" placeholder="请输入经度"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="纬度" prop="latitude" @dblclick.native="showMap">
+              <el-input :disabled="isDetail" v-model="form.latitude" placeholder="请输入纬度"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="企业编码" prop="enterpriseCode">
+              <el-input :disabled="isDetail" v-model="form.enterpriseCode" placeholder="企业编码"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm" v-show="!isDetail">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+
+  </div>
+</template>
+
+<script>
+  import Treeselect from "@riophae/vue-treeselect";
+  import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+  import {listEnterprise, getEnterprise, delEnterprise, addEnterprise, updateEnterprise} from "@/api/edyj/enterprise";
+  import {listUser, deptTreeSelect,} from "@/api/system/user";
+  import {getLoginUser} from "@/api/edyj/main";
+
+  import supermap from './supermap'
+
+  export default {
+    components: {
+      Treeselect,
+      supermap
+    },
+    name: "Enterprise",
+    data() {
+      return {
+
+        showLongitude: false,
+        isDetail: false,
+
+        //当前登录人ID
+        loginUserId: 0,
+        // 遮罩层
+        loading: true,
+        // 部门树选项
+        deptOptions: undefined,
+        // 选中数组
+        ids: [],
+        enterpriseNames: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        // 显示搜索条件
+        showSearch: true,
+        // 总条数
+        total: 0,
+        // 企业表格数据
+        enterpriseList: [],
+        // 弹出层标题
+        title: "",
+        // 是否显示弹出层
+        open: false,
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          deptId: null,
+          userId: null,
+          accountId: null,
+          businessName: null,
+          businessAddress: null,
+          officeAddress: null,
+          orgCode: null,
+          mainPerson: null,
+          mainPersonPhone: null,
+          headSecurity: null,
+          headSecurityPhone: null,
+          supervisor: null,
+          tradeDept: null,
+          longitude: null,
+          latitude: null,
+          dataStatus: null,
+          deptName: null,
+          userName: null,
+        },
+        // 表单参数
+        form: {},
+        // 表单校验
+        rules: {
+          deptId: [
+            {required: true, message: "所属部门不能为空", trigger: "blur"}
+          ],
+          enterpriseCode: [
+            {required: true, message: "企业码不能为空", trigger: "blur"}
+          ],
+          businessName: [
+            {required: true, message: "企业名称不能为空", trigger: "blur"}
+          ],
+          longitude: [
+            {required: true, message: "经纬度坐标不能为空", trigger: "blur"},
+            {
+              type: "number", message: "经纬度只能为数字", trigger: "blur", transform(value) {
+                return Number(value)
+              }
+            }
+          ],
+          mainPersonPhone: [
+            {
+              pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
+              message: "请输入正确的手机号码",
+              trigger: "blur"
+            }
+          ],
+          headSecurityPhone: [
+            {
+              pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
+              message: "请输入正确的手机号码",
+              trigger: "blur"
+            }
+          ],
+          latitude: [
+            {required: true, message: "经纬度坐标不能为空", trigger: "blur"},
+            {
+              type: "number", message: "经纬度只能为数字", trigger: "blur", transform(value) {
+                return Number(value)
+              }
+            }
+          ],
+        }
+      };
+    },
+    created() {
+      this.getList();
+      this.getDeptTree();
+      this.getLoginUser();
+    },
+    methods: {
+      getLoginUser() {
+        getLoginUser().then(response => {
+          this.loginUserId = response.data.userid;
+        });
+      },
+      toXuncha(row) {
+        this.$router.push({path: '/edyj/log', query: {busEnterpriseId: row.busEnterpriseId}})
+      },
+
+      toPatrolstation(row) {
+        this.$router.push({
+          path: '/edyj/patrolstation',
+          query: {busEnterpriseId: row.busEnterpriseId, busEnterpriseName: row.busEnterpriseName}
+        })
+      },
+
+      showMap() {
+        if (!this.isDetail) {
+          this.showLongitude = true
+          this.$nextTick(() => {
+            if (this.form.latitude != null && this.form.latitude != undefined && this.form.longitude != null && this.form.longitude != undefined) {
+              this.$refs.enterprisemap.setMarker(this.form.latitude, this.form.longitude)
+            }
+          })
+        }
+      },
+      setLatLng: function (lat, lng) {
+        this.form.latitude = lat
+        this.form.longitude = lng
+      },
+      getDeptTree() {
+        deptTreeSelect().then(response => {
+          this.deptOptions = response.data;
+        });
+      },
+      /** 查询企业列表 */
+      getList() {
+        this.loading = true;
+        listEnterprise(this.queryParams).then(response => {
+          this.enterpriseList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        });
+      },
+      // 取消按钮
+      cancel() {
+        this.open = false;
+        this.reset();
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          busEnterpriseId: null,
+          deptId: null,
+          userId: null,
+          accountId: null,
+          businessName: null,
+          businessAddress: null,
+          officeAddress: null,
+          orgCode: null,
+          mainPerson: null,
+          mainPersonPhone: null,
+          headSecurity: null,
+          headSecurityPhone: null,
+          supervisor: null,
+          tradeDept: null,
+          createTime: null,
+          longitude: null,
+          latitude: null,
+          dataStatus: null
+        };
+        this.resetForm("form");
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParams.pageNum = 1;
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.resetForm("queryForm");
+        this.handleQuery();
+      },
+      // 多选框选中数据
+      handleSelectionChange(selection) {
+        this.ids = selection.map(item => item.busEnterpriseId)
+        this.enterpriseNames = selection.map(item => item.businessName)
+        this.single = selection.length !== 1
+        this.multiple = !selection.length
+      },
+      /** 新增按钮操作 */
+      handleAdd() {
+        this.isDetail = false
+        this.reset();
+        this.open = true;
+        this.title = "添加企业";
+      },
+      /** 修改按钮操作 */
+      handleUpdate(row) {
+        this.isDetail = false
+        this.reset();
+        const busEnterpriseId = row.busEnterpriseId || this.ids
+        getEnterprise(busEnterpriseId).then(response => {
+          this.form = response.data;
+          this.open = true;
+          this.title = "修改企业";
+        });
+      },
+      handleDetail(row) {
+        this.isDetail = true
+        this.reset();
+        const busEnterpriseId = row.busEnterpriseId || this.ids
+        getEnterprise(busEnterpriseId).then(response => {
+          this.form = response.data;
+          this.open = true;
+          this.title = "企业信息详情";
+        });
+      },
+      /** 提交按钮 */
+      submitForm() {
+        this.$refs["form"].validate(valid => {
+          if (valid) {
+            if (this.form.busEnterpriseId != null) {
+              updateEnterprise(this.form).then(response => {
+                this.$modal.msgSuccess("修改成功");
+                this.open = false;
+                this.getList();
+              });
+            } else {
+              addEnterprise(this.form).then(response => {
+                this.$modal.msgSuccess("新增成功");
+                this.open = false;
+                this.getList();
+              });
+            }
+          }
+        });
+      },
+      /** 删除按钮操作 */
+      handleDelete(row) {
+        const busEnterpriseIds = row.busEnterpriseId || this.ids;
+        const enterpriseNames = row.businessName || this.enterpriseNames;
+        this.$modal.confirm('是否确认废弃企业为["' + enterpriseNames + '"]的数据项?').then(function () {
+          return delEnterprise(busEnterpriseIds);
+        }).then(() => {
+          this.getList();
+          this.$modal.msgSuccess("废弃成功");
+        }).catch(() => {
+        });
+      },
+      /** 导出按钮操作 */
+      handleExport() {
+        this.download('system/enterprise/export', {
+          ...this.queryParams
+        }, `enterprise_${new Date().getTime()}.xlsx`)
+      }
+    }
+  };
+</script>

+ 132 - 0
data-ui/src/views/centerdata_emergency1/enterprise/supermap.vue

@@ -0,0 +1,132 @@
+<!-- **************************************NO.5 地图*************************************** -->
+<template>
+  <div class="map-container">
+
+    <div id="enterprisemap" style="width: 100%;height: 100%;"></div>
+  </div>
+</template>
+
+<script>
+
+  import L from 'leaflet'
+  import '@supermap/iclient-leaflet'
+  import 'leaflet/dist/leaflet.css'
+
+  export default {
+    name: 'spuermap',
+    data() {
+      return {
+        mapUrl: 'http://121.36.228.94:8090/iserver/services/map-JiLin/rest/maps/JiLin',
+        map: null,
+        lat: '',
+        lng: '',
+        iconMarker: new L.Icon({
+          iconUrl: require('@/assets/images/icon-danger.png'),
+          iconSize: [65, 60],
+          iconAnchor: [12, 41],
+          popupAnchor: [17, -34],
+          shadowSize: [41, 41]
+        }),
+        marker: {},
+        layers: [],
+        myGroup: undefined
+      }
+    },
+    mounted() {
+      this.initMap()
+    },
+    props:{
+      setLatLng : Function
+    },
+    methods: {
+      clearM: async function() {
+        if (this.myGroup != undefined) {
+          // await this.initMap()
+          this.myGroup.clearLayers()
+        }
+        this.layers = []
+      },
+
+      setMarker(lat,lng){
+        this.clearM()
+        let marker = window.L.marker([lat, lng], {
+          icon: this.iconMarker
+        })
+        this.layers.push(marker)
+        this.myGroup = window.L.layerGroup(this.layers)
+        this.map.addLayer(this.myGroup)
+
+
+        this.map.panTo([lat,lng])
+        // let center = window.L.LonLat(104.07, 30.67);
+        // this.map.setCenter(center,7)
+      },
+
+      initMap() {
+        let lat = 43.875228
+        let lon = 125.379896
+        this.map = window.L.map('enterprisemap', {
+          crs: window.L.CRS.EPSG4326,
+          center: [lat, lon],
+          maxZoom: 18,
+          zoom: 10,
+          editable: true,
+          zoomControl: false
+        })
+        window.L.supermap.tiledMapLayer(this.mapUrl).addTo(this.map)
+        let that = this
+        this.map.on('click', function(e) {
+          that.clearM()
+          let lat = e.latlng.lat
+          let lng = e.latlng.lng
+          let marker = window.L.marker([lat, lng], {
+            icon: that.iconMarker
+          })
+          that.setLatLng(lat,lng)
+
+          that.layers.push(marker)
+          that.myGroup = window.L.layerGroup(that.layers)
+          that.map.addLayer(that.myGroup)
+
+
+        })
+
+
+
+        // this.map.on('click', function(e) {
+        //   console.log(e)
+        //   let lat = e.latlng.lat
+        //   let lng = e.latlng.lng
+        //   // let marker = L.marker([lat, lng], {
+        //   //   icon: this.iconMarker
+        //   // })
+        //   // this.layers.push(marker)
+        //   // this.myGroup = L.layerGroup(this.layers)
+        //   // this.map.addLayer(this.myGroup)
+        //   // this.map.addLayer(this.marker)
+        // })
+      }
+    }
+
+  }
+</script>
+
+<style rel="stylesheet/scss" lang="scss">
+  .map-container {
+    width: 100%;
+    height: 100%;
+    color: #fff;
+    background-color: #01020c;
+    box-shadow: rgba(1, 2, 12, 1) 0px 0px 25px inset;
+
+    .leaflet-left {
+      .leaflet-control {
+        margin-top: 60px;
+      }
+    }
+
+    .leaflet-right {
+      display: none;
+    }
+  }
+</style>

+ 635 - 0
data-ui/src/views/centerdata_emergency1/inspection/index.vue

@@ -0,0 +1,635 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="整改期限" prop="timeLimit">
+        <el-input
+          v-model="queryParams.timeLimit"
+          placeholder="请输入整改期限"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="最后时间" prop="latTime">
+        <el-date-picker clearable
+                        v-model="queryParams.latTime"
+                        type="date"
+                        value-format="yyyy-MM-dd"
+                        placeholder="请选择最后整改时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="合格" prop="isPass">
+
+        <el-select v-model="queryParams.isPass" placeholder="是否合格" clearable>
+          <el-option
+            v-for="dict in dict.type.sys_yes_no"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <!--<el-col :span="1.5">-->
+        <!--<el-button-->
+          <!--type="warning"-->
+          <!--plain-->
+          <!--icon="el-icon-download"-->
+          <!--size="mini"-->
+          <!--@click="handleExport"-->
+          <!--v-hasPermi="['system:inspection:export']"-->
+        <!--&gt;导出-->
+        <!--</el-button>-->
+      <!--</el-col>-->
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="inspectionList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center"/>
+      <el-table-column label="巡检项名称" align="center" prop="busItemsName"/>
+      <el-table-column label="隐患类型" align="center" prop="itemsType">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.items_type" :value="scope.row.itemsType"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="整改期限" align="center" prop="timeLimit"/>
+      <el-table-column label="最后整改时间" align="center" prop="latTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.latTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="合格" align="center" prop="isPass">
+        <template slot-scope="scope">
+          <div v-if="scope.row.isPass=='Y' && (scope.row.riskStatus=='risk_status_2' || scope.row.riskStatus=='risk_status_3') && scope.row.itemsType ==null ">
+            <dict-tag :options="dict.type.sys_yes_no" value="Y"/>
+          </div>
+          <div v-if="scope.row.itemsType !=null ">
+            <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isPass"/>
+          </div>
+
+        </template>
+      </el-table-column>
+      <el-table-column label="巡检项名" align="center" prop="busItemsName"/>
+      <el-table-column label="巡检时间" align="center" prop="createTime">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.createTime) }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="当前状态" align="center" prop="riskStatus">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.risk_status" :value="scope.row.riskStatus"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            :disabled="scope.row.itemsType == null || scope.row.itemsType == 'items_type_0'"
+            size="mini"
+            type="text"
+            icon="list-icon-sj iconfont icon-chakan2"
+            @click="detail(scope.row)"
+            v-hasPermi="['system:inspection:remove']"
+          >查看
+          </el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改巡检项记录对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <!--<el-form-item label="巡检ID" prop="busInspectionId">-->
+        <!--<el-input v-model="form.busInspectionId" placeholder="请输入巡检ID"/>-->
+        <!--</el-form-item>-->
+        <!--<el-form-item label="日志ID" prop="busLogId">-->
+        <!--<el-input v-model="form.busLogId" placeholder="请输入日志ID"/>-->
+        <!--</el-form-item>-->
+        <!--<el-form-item label="巡检项ID" prop="busItemsId">-->
+        <!--<el-input v-model="form.busItemsId" placeholder="请输入巡检项ID"/>-->
+        <!--</el-form-item>-->
+        <!--<el-form-item label="整改期限" prop="timeLimit">-->
+        <!--<el-input v-model="form.timeLimit" placeholder="请输入整改期限"/>-->
+        <!--</el-form-item>-->
+        <!--<el-form-item label="最后整改时间" prop="latTime">-->
+        <!--<el-date-picker clearable-->
+        <!--v-model="form.latTime"-->
+        <!--type="date"-->
+        <!--value-format="yyyy-MM-dd"-->
+        <!--placeholder="请选择最后整改时间">-->
+        <!--</el-date-picker>-->
+        <!--</el-form-item>-->
+        <el-form-item label="合格" prop="isPass">
+          <el-select v-model="form.isPass">
+            <el-option label="否" value="N"></el-option>
+            <el-option label="是" value="Y"></el-option>
+          </el-select>
+        </el-form-item>
+        <!--<el-form-item label="巡检项名" prop="busItemsName">-->
+        <!--<el-input v-model="form.busItemsName" placeholder="请输入巡检项名"/>-->
+        <!--</el-form-item>-->
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+    <el-dialog :visible.sync="isShowDetail" title="巡检详情">
+      <div class="con">
+        <div class="con_left">
+          <div class="list_img">
+            <el-image :src="item" style="background: #000;" v-for="(item,index) in detail_pictures" :key="index">
+            </el-image>
+          </div>
+          <div class="left_btn">
+            <el-button
+              :disabled="is_have_gzs != true"
+              size="small"
+              type="primary"
+              plain
+              @click="show_gz_fc('gzs')"
+            >告知
+            </el-button>
+            <el-button
+              :disabled="is_have_fcs != true"
+              size="small"
+              type="warning"
+              plain
+              @click="show_gz_fc('fcs')"
+            >复查
+            </el-button>
+          </div>
+        </div>
+        <div class="con_right">
+          <div class="bz_lc">
+            <div class="bz_line" v-for="(item) in detail_tracks_list">
+              <i></i>
+              <h5>{{item.busTrackContent}}</h5>
+<!--              <p>内容:{{item.busTrackContent}}</p>-->
+              <p>操作人:{{item.nickName}}</p>
+              <p>时间:{{item.createTime}}</p>
+              <p>状态:<b class="color1">[{{item.riskStatusStr}}]</b></p>
+            </div>
+          </div>
+        </div>
+        <div class="con_right2">
+          <div v-if="is_show_gzs">
+            <div class="gzs table_div">
+              <h5>编号:{{detail_gzs[0].code}}</h5>
+              <h4>隐患限期整改告知书</h4>
+              <p>经查,你单位存在下列问题: </p>
+              <p v-for="(item,index) in detail_gzs_items">
+                {{index+1}}、{{item.itemContent}}
+              </p>
+              <p>现告知你单位对上述问题于<i>{{detail_gzs[0].lastTime}}</i>,前整改完毕,达到有关法律法规规章和标准规定的要求。由此造成事故的,依法追究有关人员的责任。整改期间,你单位应当采取措施,确保安全生产。
+                逾期未整改或在整改过程中存在安全生产违法行为的,我单位将提报相关执法部门进行依法查处。 如果对本告知内容有异议,可向
+                {{detail_gzs[0].askCom}}咨询或说明情况,也可通过12350安全生产举报电话进行反映。在没有新书面告知前,本告知要求不停止执行,法律另有规定的除外。</p>
+              <p>检查人员:{{detail_gzs[0].checker1Sign}}</p>
+              <p>检查人员编号:{{detail_gzs[0].checker1Code}}</p>
+              <p>监督人员(签名):
+                <el-image  :src="pictureBasePath+'/'+detail_gzs[0].checker2Sign"></el-image>
+              </p>
+              <p>监督人员编号:{{detail_gzs[0].checker2Code}}</p>
+              <p>被复查单位负责人(签名):
+                <el-image  :src="pictureBasePath+'/'+detail_gzs[0].becheckerSign"></el-image>
+              </p>
+              <!--<p>部门:XXX</p>-->
+              <h6>{{detail_gzs[0].checkTime}}</h6>
+            </div>
+          </div>
+          <div v-if="is_show_fcs">
+            <div class="fcs table_div">
+              <h5>编号:{{detail_fcs[0].code}}</h5>
+              <h4>复查意见告知书</h4>
+              <p>本机关于<i>{{detail_fcs[0].checkTime}}</i>,对你单位做出了隐患限期整改告知书(编号:<i>{{detail_gzs[0].code}}</i>,经对你单位整改情况进行复查,提出如下意见: </p>
+              <p>现告知你单位对上述问题于<i>{{detail_fcs[0].lasttime}}</i>,前整改完毕,达到有关法律法规规章和标准规定的要求。由此造成事故的,依法追究有关人员的责任。整改期间,你单位应当采取措施,确保安全生产。
+                逾期未整改或在整改过程中存在安全生产违法行为的,我单位将提报相关执法部门进行依法查处。 如果对本告知内容有异议,可向
+                {{detail_fcs[0].askCom}}咨询或说明情况,也可通过12350安全生产举报电话进行反映。在没有新书面告知前,本告知要求不停止执行,法律另有规定的除外。</p>
+              <p>检查人员:{{detail_fcs[0].checker1Sign}}</p>
+              <p>检查人员编号:{{detail_fcs[0].checker1Code}}</p>
+              <p>监督人员(签名):<el-image  :src="pictureBasePath+'/'+detail_fcs[0].checker2Sign"></el-image>
+              </p>
+              <p>监督人员编号:{{detail_fcs[0].checker2Code}}</p>
+              <p>被复查单位负责人(签名):
+                <el-image  :src="pictureBasePath+'/'+detail_gzs[0].becheckerSign"></el-image>
+              </p>
+
+              <h6>{{detail_fcs[0].checkTime}}</h6>
+            </div>
+          </div>
+        </div>
+      </div>
+    </el-dialog>
+  </div>
+
+</template>
+
+<script>
+  import {
+    detail,
+    listInspection,
+    getInspection,
+    delInspection,
+    addInspection,
+    updateInspection
+  } from "@/api/edyj/inspection";
+
+  export default {
+    name: "Inspection",
+    dicts: ['items_type', 'risk_status', 'sys_yes_no'],
+    data() {
+      return {
+        pictureBasePath: null,
+        isShowDetail: false,
+        // 遮罩层
+        loading: true,
+        // 选中数组
+        ids: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        // 显示搜索条件
+        showSearch: true,
+        // 总条数
+        total: 0,
+        // 巡检项记录表格数据
+        inspectionList: [],
+        // 弹出层标题
+        title: "",
+        // 是否显示弹出层
+        open: false,
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          busInspectionId: null,
+          busLogId: null,
+          busItemsId: null,
+          itemsType: null,
+          timeLimit: null,
+          latTime: null,
+          isPass: null,
+          busItemsName: null,
+          riskStatus: null
+        },
+
+        detail_busInspection: null,
+        detail_pictures: [],
+        detail_tracks_list: [],
+        detail_gzs: null,
+        detail_gzs_items: [],
+        detail_fcs: null,
+        //
+        is_show_gzs: false,
+        is_show_fcs: false,
+        is_have_gzs: false,
+        is_have_fcs: false,
+
+        // 表单参数
+        form: {},
+        // 表单校验
+        rules: {}
+      };
+    },
+    watch:{
+      '$route.query.log_id': {
+        handler: function (newValue, oldValue) {
+          if(newValue != undefined){
+            this.queryParams.busLogId = newValue
+          }
+          if(oldValue != undefined){
+            this.queryParams.busLogId = oldValue
+          }
+          this.getList();
+        },
+      },
+      '$route.query.busInspectionId': {
+        handler: function (newValue, oldValue) {
+          if(newValue != undefined){
+            this.queryParams.busInspectionId = newValue
+          }
+          if(oldValue != undefined){
+            this.queryParams.busInspectionId = oldValue
+          }
+          this.getList();
+        },
+      },
+    },
+    created() {
+      this.queryParams.busLogId = this.$route.query.log_id
+      this.queryParams.busInspectionId = this.$route.query.busInspectionId
+      this.getList();
+    },
+    methods: {
+      show_gz_fc(a) {
+        if (a == 'gzs') {
+          this.is_show_gzs = true
+          this.is_show_fcs = false
+        } else if (a == 'fcs') {
+          this.is_show_gzs = false
+          this.is_show_fcs = true
+        }
+      },
+
+      detail(row) {
+        let that = this
+        this.isShowDetail = true;
+        this.detail_busInspection = row
+        let query = {busInspectionId: row.busInspectionId}
+        detail(query).then(resp => {
+          that.pictureBasePath = resp.pictureBasePath
+          that.detail_pictures = resp.pictures
+          that.detail_tracks_list = resp.tracks_list
+
+          that.detail_gzs = resp.gzs;
+          if (that.detail_gzs != null && that.detail_gzs.length > 0) {
+            that.is_have_gzs = true
+          }else{
+            that.is_show_gzs = false
+          }
+          that.detail_gzs_items = resp.gzs_items;
+          that.detail_fcs = resp.fcs;
+
+
+          if (that.detail_fcs != null && that.detail_fcs.length > 0) {
+            that.is_have_fcs = true
+          }else{
+            that.is_show_fcs = false
+          }
+
+
+        })
+      },
+      /** 查询巡检项记录列表 */
+      getList() {
+        this.loading = true;
+        listInspection(this.queryParams).then(response => {
+          this.inspectionList = response.rows;
+          console.log("$$$",this.inspectionList)
+          this.total = response.total;
+          this.loading = false;
+        });
+      },
+      // 取消按钮
+      cancel() {
+        this.open = false;
+        this.reset();
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          busInspectionId: null,
+          busLogId: null,
+          busItemsId: null,
+          itemsType: null,
+          timeLimit: null,
+          latTime: null,
+          isPass: null,
+          busItemsName: null,
+          riskStatus: "0"
+        };
+        this.resetForm("form");
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParams.pageNum = 1;
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.resetForm("queryForm");
+        this.handleQuery();
+      },
+      // 多选框选中数据
+      handleSelectionChange(selection) {
+        this.ids = selection.map(item => item.busInspectionId)
+        this.single = selection.length !== 1
+        this.multiple = !selection.length
+      },
+      /** 新增按钮操作 */
+      handleAdd() {
+        this.reset();
+        this.open = true;
+        this.title = "添加巡检项记录";
+      },
+      /** 修改按钮操作 */
+      handleUpdate(row) {
+        this.reset();
+        const busInspectionId = row.busInspectionId || this.ids
+        getInspection(busInspectionId).then(response => {
+          this.form = response.data;
+          this.open = true;
+          this.title = "修改巡检项记录";
+        });
+      },
+      /** 提交按钮 */
+      submitForm() {
+        this.$refs["form"].validate(valid => {
+          if (valid) {
+            if (this.form.busInspectionId != null) {
+              updateInspection(this.form).then(response => {
+                this.$modal.msgSuccess("修改成功");
+                this.open = false;
+                this.getList();
+              });
+            } else {
+              addInspection(this.form).then(response => {
+                this.$modal.msgSuccess("新增成功");
+                this.open = false;
+                this.getList();
+              });
+            }
+          }
+        });
+      },
+      /** 删除按钮操作 */
+      handleDelete(row) {
+        const busInspectionIds = row.busInspectionId || this.ids;
+        this.$modal.confirm('是否确认删除巡检项记录编号为"' + row.busItemsName + '"的数据项?').then(function () {
+          return delInspection(busInspectionIds);
+        }).then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        }).catch(() => {
+        });
+      },
+      /** 导出按钮操作 */
+      handleExport() {
+        this.download('system/inspection/export', {
+          ...this.queryParams
+        }, `inspection_${new Date().getTime()}.xlsx`)
+      }
+    }
+  };
+</script>
+<style>
+  .con {
+    display: flex;
+    flex-direction: row;
+
+  }
+
+  .con_left {
+    width: 225px;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    justify-content: center;
+    background: #f4f9ff;
+    padding: 20px 0px;
+    margin-right: 20px;
+  }
+
+  .con_left .list_img {
+    display: flex;
+    flex-direction: column;
+    margin-bottom: 20px;
+    height: 400px;
+    overflow-y: scroll;
+  }
+
+  .con_left .list_img::-webkit-scrollbar {
+    width: 3px;
+    height: 8px;
+  }
+
+  .con_left .list_img .el-image {
+    width: 190px;
+    height: 130px;
+    margin-bottom: 10px;
+    display: block;
+    border: 1px solid #ccc;
+    overflow: visible;
+  }
+
+  .con_right {
+    height: 488px;
+    overflow-y: scroll;
+    padding-left: 20px;
+    width: 340px;
+    margin-right: 20px;
+  }
+
+  .con_right::-webkit-scrollbar, .con_right2::-webkit-scrollbar {
+    width: 3px;
+    height: 8px;
+  }
+
+  .bz_lc {
+    border-left: 2px solid #ededed;
+    padding-left: 30px;
+    min-height: 491px;
+  }
+
+  .bz_lc .bz_line {
+    position: relative;
+    padding-bottom: 20px;
+    padding-top: 10px;
+  }
+
+  .bz_lc .bz_line i {
+    display: block;
+    width: 24px;
+    height: 24px;
+    background: #2078ff;
+    border-radius: 50%;
+    border: 5px solid #eef5ff;
+    position: absolute;
+    left: -43px;
+    top: 8px;
+  }
+
+  .bz_lc .bz_line h5 {
+    font-size: 18px;
+    font-weight: 900;
+    margin: 0px;
+    padding-bottom: 15px;
+    color: #333;
+  }
+
+  .bz_lc .bz_line p {
+    font-size: 16px;
+    line-height: 24px;
+    margin: 0px;
+    padding-bottom: 2px;
+  }
+
+  .bz_lc .bz_line p b {
+    font-weight: normal;
+  }
+
+  .bz_lc .bz_line p b.color1 {
+    color: #1890ff;
+  }
+
+  .bz_lc .bz_line p b.color2 {
+    color: #3ee293;
+  }
+
+  .bz_lc .bz_line p b.color3 {
+    color: #e2a912;
+  }
+
+  .con_right2 {
+    height: 488px;
+    overflow-y: scroll;
+    width: 340px;
+  }
+
+  .table_div {
+    width: 100%;
+  }
+
+  .table_div h5 {
+    font-size: 14px;
+    text-align: left;
+    color: #555;
+  }
+
+  .table_div h4 {
+    font-size: 18px;
+    text-align: center;
+    color: #333;
+    font-weight: 800;
+  }
+
+  .table_div p {
+    font-size: 16px;
+    text-align: left;
+    color: #444;
+    margin-bottom: 10px;
+    margin-top: 5px;
+    line-height: 25px;
+  }
+
+  .table_div p i {
+    color: #f00;
+    font-style: normal;
+  }
+
+  .table_div h6 {
+    font-size: 16px;
+    text-align: right;
+    color: #444;
+  }
+
+  .table_div p .el-image {
+    display: inline-flex;
+    width: 100px;
+    height: auto;
+  }
+</style>

+ 422 - 0
data-ui/src/views/centerdata_emergency1/items/index.vue

@@ -0,0 +1,422 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <!--<el-form-item label="巡检项ID" prop="busItemsId">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.busItemsId"-->
+      <!--placeholder="请输入巡检项ID"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="上级ID" prop="parentId">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.parentId"-->
+      <!--placeholder="请输入上级ID"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <el-form-item label="名称" prop="busItemsName">
+        <el-input
+          v-model="queryParams.busItemsName"
+          placeholder="请输入名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <!--<el-form-item label="整改期限" prop="busTimeLimit">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.busTimeLimit"-->
+      <!--placeholder="请输入整改期限"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="置顶" prop="isTop">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.isTop"-->
+      <!--placeholder="请输入置顶"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="排序号" prop="other">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.other"-->
+      <!--placeholder="请输入排序号"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:items:add']"
+        >新增
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:items:edit']"
+        >修改
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:items:remove']"
+        >删除
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:items:export']"
+        >导出
+        </el-button>
+      </el-col>
+
+      <el-col :span="1.5" v-if="items_ceng >0 ">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="back"
+        >返回
+        </el-button>
+      </el-col>
+
+
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="itemsList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center"/>
+      <!--<el-table-column label="巡检项ID" align="center" prop="busItemsId" />-->
+      <!--<el-table-column label="上级ID" align="center" prop="parentId" />-->
+      <el-table-column label="名称" align="center">
+        <template slot-scope="scope">
+          <label style="cursor: pointer;color:#0000ff" v-show="items_ceng <=1" @click="toNext(scope.row.busItemsId)">{{scope.row.busItemsName}}</label>
+          <label v-show="items_ceng ==2">{{scope.row.busItemsName}}</label>
+        </template>
+      </el-table-column>
+      <el-table-column label="整改期限" align="center" prop="busTimeLimit" v-if="items_ceng == 2">
+      </el-table-column>
+      <el-table-column label="置顶" align="center" prop="isTop">
+        <template slot-scope="scope">
+          <label v-show="scope.row.isTop == 'N'">否</label>
+          <label v-show="scope.row.isTop == 'Y'">是</label>
+        </template>
+      </el-table-column>
+      <el-table-column label="排序号" align="center" prop="other"/>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:items:edit']"
+          >修改
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:items:remove']"
+          >删除
+          </el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改巡检项对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="items_ceng == 2 ? rulesItem: rules " label-width="80px">
+        <!--<el-form-item label="巡检项ID" prop="busItemsId">-->
+        <!--<el-input v-model="form.busItemsId" placeholder="请输入巡检项ID" />-->
+        <!--</el-form-item>-->
+        <!--<el-form-item label="上级ID" prop="parentId">-->
+        <!--<el-input v-model="form.parentId" placeholder="请输入上级ID" />-->
+        <!--</el-form-item>-->
+        <el-form-item label="名称" prop="busItemsName">
+          <el-input v-model="form.busItemsName" placeholder="请输入名称"/>
+        </el-form-item>
+        <el-form-item label="整改期限" prop="busTimeLimit" v-show="items_ceng == 2">
+          <el-input v-model="form.busTimeLimit" placeholder="请输入整改期限"/>
+        </el-form-item>
+        <el-form-item label="置顶" prop="isTop">
+          <el-select v-model="form.isTop">
+            <el-option label="否" value="N" sel></el-option>
+            <el-option label="是" value="Y"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="排序号" prop="other">
+          <el-input v-model="form.other" placeholder="请输入排序号"/>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  import {listItems, getItems, delItems, addItems, updateItems} from "@/api/edyj/items";
+
+  export default {
+    name: "Items",
+    data() {
+      return {
+        items_ceng: 0,
+        // 遮罩层
+        loading: true,
+        // 选中数组
+        ids: [],
+        items_names: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        // 显示搜索条件
+        showSearch: true,
+        // 总条数
+        total: 0,
+        // 巡检项表格数据
+        itemsList: [],
+        // 弹出层标题
+        title: "",
+        // 是否显示弹出层
+        open: false,
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          busItemsId: null,
+          parentId: null,
+          busItemsName: null,
+          busTimeLimit: null,
+          isTop: null,
+          other: null
+        },
+        // 表单参数
+        form: {
+          isTop: 'N'
+        },
+        rulesItem:{
+          other:[
+            {
+              pattern: /^\d*$/,
+              message: "序号必须为数字",
+              trigger: "blur"
+            }
+          ],
+          busItemsName: [
+            {
+              required: true, message: "名称不能为空", trigger: "blur"
+            },
+            {min: 1, max: 20, message: '巡检项目名长度必须介于 1 和 20 之间', trigger: 'blur'}
+          ],
+          busTimeLimit: [
+            {
+              required: true, message: "整改期限不能为空", trigger: "blur"
+            },
+            {
+              pattern: /^\d*$/,
+              message: "整改期限必须为数字",
+              trigger: "blur"
+            }
+          ]
+        },
+        // 表单校验
+        rules: {
+          other:[
+            {
+              pattern: /^\d*$/,
+              message: "序号必须为数字",
+              trigger: "blur"
+            }
+          ],
+          busItemsName: [
+            {
+              required: true, message: "名称不能为空", trigger: "blur"
+            },
+            {min: 1, max: 20, message: '巡检项目名长度必须介于 1 和 20 之间', trigger: 'blur'}
+          ],
+        }
+      };
+    },
+    created() {
+      this.queryParams.parentId = this.$route.query.parent_id
+      this.items_ceng = this.$route.query.items_ceng
+      this.getList();
+    },
+
+    watch: {
+      $route() {
+        this.queryParams.parentId = this.$route.query.parent_id
+        this.items_ceng = this.$route.query.items_ceng
+        this.getList();
+      }
+    },
+    methods: {
+      back() {
+        this.$router.go(-1)
+      },
+
+      toNext(busItemsId) {
+        this.items_ceng++;
+        this.$router.push({
+          path: '',
+          query: {"parent_id": busItemsId, "items_ceng": this.items_ceng}
+        })
+      },
+
+
+      /** 查询巡检项列表 */
+      getList() {
+        this.loading = true;
+        listItems(this.queryParams).then(response => {
+          this.itemsList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        });
+      },
+      // 取消按钮
+      cancel() {
+        this.open = false;
+        this.reset();
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          busItemsId: null,
+          parentId: this.queryParams.parentId,
+          busItemsName: null,
+          busTimeLimit: null,
+          isTop: 'N',
+          other: null
+        };
+        this.resetForm("form");
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParams.pageNum = 1;
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.resetForm("queryForm");
+        this.handleQuery();
+      },
+      // 多选框选中数据
+      handleSelectionChange(selection) {
+        this.ids = selection.map(item => item.busItemsId)
+        this.items_names = selection.map(item => item.busItemsName)
+        this.single = selection.length !== 1
+        this.multiple = !selection.length
+      },
+      /** 新增按钮操作 */
+      handleAdd() {
+        this.reset();
+        this.open = true;
+        this.title = "添加巡检项";
+      },
+      /** 修改按钮操作 */
+      handleUpdate(row) {
+        this.reset();
+        const busItemsId = row.busItemsId || this.ids
+        getItems(busItemsId).then(response => {
+          this.form = response.data;
+          this.open = true;
+          this.title = "修改巡检项";
+        });
+      },
+      /** 提交按钮 */
+      submitForm() {
+        console.log("kkkkkkk")
+        this.$refs["form"].validate(valid => {
+          console.log("1111111", valid)
+          if (valid) {
+            if (this.form.busItemsId != null) {
+              updateItems(this.form).then(response => {
+                this.$modal.msgSuccess("修改成功");
+                this.open = false;
+                this.getList();
+              });
+            } else {
+              addItems(this.form).then(response => {
+                this.$modal.msgSuccess("新增成功");
+                this.open = false;
+                this.getList();
+              });
+            }
+          }
+        });
+      },
+      /** 删除按钮操作 */
+      handleDelete(row) {
+        const busItemsIds = row.busItemsId || this.ids;
+        const busItemsName = row.busItemsName || this.items_names
+        this.$modal.confirm('是否确认删除巡检项为"' + busItemsName + '"的数据项?').then(function () {
+          return delItems(busItemsIds);
+        }).then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        }).catch(() => {
+        });
+      },
+      /** 导出按钮操作 */
+      handleExport() {
+        let path;
+        if (this.items_ceng == 2) {
+          path = 'system/items/export'
+        } else {
+          path = 'system/items/export12'
+        }
+        this.download(path, {
+          ...this.queryParams
+        }, `items_${new Date().getTime()}.xlsx`)
+      }
+    }
+  };
+</script>

+ 449 - 0
data-ui/src/views/centerdata_emergency1/log/index.vue

@@ -0,0 +1,449 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <!--<el-form-item label="日志ID" prop="busLogId">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.busLogId"-->
+      <!--placeholder="请输入日志ID"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="日志类型" prop="busLogType">-->
+        <!--<el-select v-model="queryParams.busLogType" placeholder="日志类型" clearable>-->
+          <!--<el-option-->
+            <!--v-for="dict in dict.type.log_type"-->
+            <!--:key="dict.value"-->
+            <!--:label="dict.label"-->
+            <!--:value="dict.value"-->
+          <!--/>-->
+        <!--</el-select>-->
+      <!--</el-form-item>-->
+
+
+
+
+      <!--<el-form-item label="日志来源" prop="logSource">-->
+        <!--<el-select v-model="queryParams.logSource" placeholder="日志来源" clearable>-->
+          <!--<el-option-->
+            <!--v-for="dict in dict.type.log_source"-->
+            <!--:key="dict.value"-->
+            <!--:label="dict.label"-->
+            <!--:value="dict.value"-->
+          <!--/>-->
+        <!--</el-select>-->
+      <!--</el-form-item>-->
+      <el-form-item label="隐患" prop="isRisk">
+        <el-select v-model="queryParams.isRisk" placeholder="是否有隐患" clearable>
+          <el-option key="0" label="无" value="0"/>
+          <el-option key="1" label="有" value="1"/>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="状态" prop="riskStatus">
+        <el-select v-model="queryParams.riskStatus" placeholder="状态" clearable>
+          <el-option
+            v-for="dict in dict.type.risk_status"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="记录时间">
+        <el-date-picker
+          v-model="dateRange"
+          style="width: 240px"
+          value-format="yyyy-MM-dd"
+          type="daterange"
+          range-separator="-"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期"
+        ></el-date-picker>
+      </el-form-item>
+      <!--<el-form-item label="企业ID" prop="busEnterpriseId">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.busEnterpriseId"-->
+      <!--placeholder="请输入企业ID"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="企业名称" prop="busEnterpriseName">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.busEnterpriseName"-->
+      <!--placeholder="请输入企业名称"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="经度" prop="longitude">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.longitude"-->
+      <!--placeholder="请输入经度"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="纬度" prop="latitude">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.latitude"-->
+      <!--placeholder="请输入纬度"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <!--<el-col :span="1.5">-->
+      <!--<el-button-->
+      <!--type="primary"-->
+      <!--plain-->
+      <!--icon="el-icon-plus"-->
+      <!--size="mini"-->
+      <!--@click="handleAdd"-->
+      <!--v-hasPermi="['system:log:add']"-->
+      <!--&gt;新增</el-button>-->
+      <!--</el-col>-->
+      <!--<el-col :span="1.5">-->
+      <!--<el-button-->
+      <!--type="success"-->
+      <!--plain-->
+      <!--icon="el-icon-edit"-->
+      <!--size="mini"-->
+      <!--:disabled="single"-->
+      <!--@click="handleUpdate"-->
+      <!--v-hasPermi="['system:log:edit']"-->
+      <!--&gt;修改</el-button>-->
+      <!--</el-col>-->
+      <!--<el-col :span="1.5">-->
+      <!--<el-button-->
+      <!--type="danger"-->
+      <!--plain-->
+      <!--icon="el-icon-delete"-->
+      <!--size="mini"-->
+      <!--:disabled="multiple"-->
+      <!--@click="handleDelete"-->
+      <!--v-hasPermi="['system:log:remove']"-->
+      <!--&gt;删除</el-button>-->
+      <!--</el-col>-->
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:log:export']"
+        >导出
+        </el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="logList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center"/>
+      <!--<el-table-column label="日志ID" align="center" prop="busLogId" />-->
+      <el-table-column label="日志类型" align="center" prop="busLogType">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.log_type" :value="scope.row.busLogType"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="来源" align="center" prop="logSource">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.log_source" :value="scope.row.logSource"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="巡更点名称" align="center" prop="busPatrolstationName">
+
+      </el-table-column>
+
+
+      <el-table-column label="记录时间" align="center">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{mi}:{s}') }}</span>
+        </template>
+      </el-table-column>
+      <!--<el-table-column label="记录人" align="center" prop="createBy">-->
+      <!--</el-table-column>-->
+      <el-table-column label="隐患" align="center" prop="isRisk">
+        <template slot-scope="scope">
+          <label v-show="scope.row.isRisk == 1" style="color: #ff0000">有</label>
+          <label v-show="scope.row.isRisk == 0" style="color: #00ff00">无</label>
+        </template>
+      </el-table-column>
+      <!--<el-table-column label="企业ID" align="center" prop="busEnterpriseId" />-->
+      <el-table-column label="企业名称" align="center" prop="busEnterpriseName"/>
+      <el-table-column label="状态" align="center" prop="riskStatus">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.risk_status" :value="scope.row.riskStatus"/>
+        </template>
+      </el-table-column>
+      <!--<el-table-column label="经度" align="center" prop="longitude" />-->
+      <!--<el-table-column label="纬度" align="center" prop="latitude" />-->
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+
+          <el-button v-show="scope.row.busLogType == 'log_type_0'"
+                     size="mini"
+                     type="text"
+                     icon="list-icon-sj iconfont icon-chakan"
+                     @click="handleInspection(scope.row)"
+                     v-hasPermi="['system:log:edit']"
+          >巡检记录
+          </el-button>
+
+
+          <!--<el-button-->
+          <!--size="mini"-->
+          <!--type="text"-->
+          <!--icon="el-icon-edit"-->
+          <!--@click="handleUpdate(scope.row)"-->
+          <!--v-hasPermi="['system:log:edit']"-->
+          <!--&gt;修改-->
+          <!--</el-button>-->
+          <!--<el-button-->
+          <!--size="mini"-->
+          <!--type="text"-->
+          <!--icon="el-icon-delete"-->
+          <!--@click="handleDelete(scope.row)"-->
+          <!--v-hasPermi="['system:log:remove']"-->
+          <!--&gt;删除-->
+          <!--</el-button>-->
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改日志对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="日志ID" prop="busLogId">
+          <el-input v-model="form.busLogId" placeholder="请输入日志ID"/>
+        </el-form-item>
+        <el-form-item label="来源" prop="logSource">
+          <el-input v-model="form.logSource" placeholder="请输入来源"/>
+        </el-form-item>
+        <el-form-item label="隐患" prop="isRisk">
+          <el-input v-model="form.isRisk" placeholder="请输入隐患"/>
+        </el-form-item>
+        <el-form-item label="企业ID" prop="busEnterpriseId">
+          <el-input v-model="form.busEnterpriseId" placeholder="请输入企业ID"/>
+        </el-form-item>
+        <el-form-item label="企业名称" prop="busEnterpriseName">
+          <el-input v-model="form.busEnterpriseName" placeholder="请输入企业名称"/>
+        </el-form-item>
+        <el-form-item label="经度" prop="longitude">
+          <el-input v-model="form.longitude" placeholder="请输入经度"/>
+        </el-form-item>
+        <el-form-item label="纬度" prop="latitude">
+          <el-input v-model="form.latitude" placeholder="请输入纬度"/>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  import {listLog, getLog, delLog, addLog, updateLog} from "@/api/edyj/log";
+
+  export default {
+    name: "Log",
+    dicts: ['log_type', 'log_source', 'risk_status'],
+    data() {
+      return {
+        // 遮罩层
+        loading: true,
+        // 选中数组
+        ids: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        // 显示搜索条件
+        showSearch: true,
+        // 总条数
+        total: 0,
+        // 日志表格数据
+        logList: [],
+        // 日期范围
+        dateRange: [],
+        // 弹出层标题
+        title: "",
+        // 是否显示弹出层
+        open: false,
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          busLogId: null,
+          busLogType: null,
+          logSource: null,
+          isRisk: null,
+          busEnterpriseId: null,
+          busEnterpriseName: null,
+          riskStatus: null,
+          longitude: null,
+          latitude: null,
+          // 日期范围
+          beginTime: null,
+          endTime: null,
+        },
+        excel_col:{
+          busEnterpriseName: null
+        },
+        // 表单参数
+        form: {},
+        // 表单校验
+        rules: {}
+      };
+    },
+    mounted() {
+      this.queryParams.busLogId = this.$route.query.busLogId
+      this.queryParams.busEnterpriseId = this.$route.query.busEnterpriseId
+      this.getList();
+    },
+    watch: {
+      '$route.query.busLogId': {
+        handler: function (newValue, oldValue) {
+          if(newValue != undefined){
+            this.queryParams.busLogId = newValue
+          }
+          if(oldValue != undefined){
+            this.queryParams.busLogId = oldValue
+          }
+          this.getList();
+        },
+      },
+      '$route.query.busEnterpriseId': {
+        handler: function (newValue, oldValue) {
+          if(newValue != undefined){
+            this.queryParams.busEnterpriseId = newValue
+          }
+          if(oldValue != undefined){
+            this.queryParams.busEnterpriseId = oldValue
+          }
+          this.getList();
+        },
+      }
+
+    },
+    methods: {
+      /** 查询日志列表 */
+      getList() {
+        this.loading = true;
+        this.queryParams.beginTime = this.dateRange[0];
+        this.queryParams.endTime = this.dateRange[1];
+        listLog(this.queryParams).then(response => {
+          this.logList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        });
+      },
+      // 取消按钮
+      cancel() {
+        this.open = false;
+        this.reset();
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          busLogId: null,
+          busLogType: null,
+          logSource: null,
+          isRisk: null,
+          busEnterpriseId: null,
+          busEnterpriseName: null,
+          riskStatus: "0",
+          longitude: null,
+          latitude: null
+        };
+        this.resetForm("form");
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParams.pageNum = 1;
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.dateRange = [];
+        this.resetForm("queryForm");
+        this.handleQuery();
+      },
+      // 多选框选中数据
+      handleSelectionChange(selection) {
+        this.ids = selection.map(item => item.busLogId)
+        this.single = selection.length !== 1
+        this.multiple = !selection.length
+      },
+      /** 新增按钮操作 */
+      handleAdd() {
+        this.reset();
+        this.open = true;
+        this.title = "添加日志";
+      },
+      /** 修改按钮操作 */
+      handleInspection(row) {
+        this.$router.push({
+          path: '/edyj/inspection',
+          query: {"log_id": row.busLogId}
+        })
+      },
+      /** 提交按钮 */
+      submitForm() {
+        this.$refs["form"].validate(valid => {
+          if (valid) {
+            if (this.form.busLogId != null) {
+              updateLog(this.form).then(response => {
+                this.$modal.msgSuccess("修改成功");
+                this.open = false;
+                this.getList();
+              });
+            } else {
+              addLog(this.form).then(response => {
+                this.$modal.msgSuccess("新增成功");
+                this.open = false;
+                this.getList();
+              });
+            }
+          }
+        });
+      },
+      /** 删除按钮操作 */
+      handleDelete(row) {
+        const busLogIds = row.busLogId || this.ids;
+        this.$modal.confirm('是否确认删除日志编号为"' + busLogIds + '"的数据项?').then(function () {
+          return delLog(busLogIds);
+        }).then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        }).catch(() => {
+        });
+      },
+      /** 导出按钮操作 */
+      handleExport() {
+        this.queryParams.beginTime = this.dateRange[0];
+        this.queryParams.endTime = this.dateRange[1];
+        this.download('system/log/export', {
+          ...this.queryParams
+        }, `log_${new Date().getTime()}.xlsx`)
+      }
+    }
+  };
+</script>

+ 257 - 0
data-ui/src/views/centerdata_emergency1/mapping/index.vue

@@ -0,0 +1,257 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="企业ID" prop="busEnterpriseId">
+        <el-input
+          v-model="queryParams.busEnterpriseId"
+          placeholder="请输入企业ID"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="巡检项ID" prop="busItemsId">
+        <el-input
+          v-model="queryParams.busItemsId"
+          placeholder="请输入巡检项ID"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:mapping:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:mapping:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:mapping:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:mapping:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="mappingList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="企业ID" align="center" prop="busEnterpriseId" />
+      <el-table-column label="巡检项ID" align="center" prop="busItemsId" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:mapping:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:mapping:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改企业与巡检项映射对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="企业ID" prop="busEnterpriseId">
+          <el-input v-model="form.busEnterpriseId" placeholder="请输入企业ID" />
+        </el-form-item>
+        <el-form-item label="巡检项ID" prop="busItemsId">
+          <el-input v-model="form.busItemsId" placeholder="请输入巡检项ID" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listMapping, getMapping, delMapping, addMapping, updateMapping } from "@/api/edyj/mapping";
+
+export default {
+  name: "Mapping",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 企业与巡检项映射表格数据
+      mappingList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        busEnterpriseId: null,
+        busItemsId: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询企业与巡检项映射列表 */
+    getList() {
+      this.loading = true;
+      listMapping(this.queryParams).then(response => {
+        this.mappingList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        busEnterpriseId: null,
+        busItemsId: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.busEnterpriseId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加企业与巡检项映射";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const busEnterpriseId = row.busEnterpriseId || this.ids
+      getMapping(busEnterpriseId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改企业与巡检项映射";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.busEnterpriseId != null) {
+            updateMapping(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addMapping(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const busEnterpriseIds = row.busEnterpriseId || this.ids;
+      this.$modal.confirm('是否确认删除企业与巡检项映射编号为"' + busEnterpriseIds + '"的数据项?').then(function() {
+        return delMapping(busEnterpriseIds);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('system/mapping/export', {
+        ...this.queryParams
+      }, `mapping_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 483 - 0
data-ui/src/views/centerdata_emergency1/material/index.vue

@@ -0,0 +1,483 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="物资名称" prop="materialName">
+        <el-input
+          v-model="queryParams.materialName"
+          placeholder="请输入物资名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <!--<el-form-item label="所属仓库id" prop="warehouseId">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.warehouseId"-->
+      <!--placeholder="请输入所属仓库id"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="所属仓库名称" prop="warehouseName">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.warehouseName"-->
+      <!--placeholder="请输入所属仓库名称"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="品牌、型号、主要参数" prop="materialParms">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.materialParms"-->
+      <!--placeholder="请输入品牌、型号、主要参数"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="数量" prop="num">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.num"-->
+      <!--placeholder="请输入数量"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="主要功能和用途" prop="purpose">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.purpose"-->
+      <!--placeholder="请输入主要功能和用途"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="技术状况" prop="technology">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.technology"-->
+      <!--placeholder="请输入技术状况"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="生产日期" prop="productionDate">-->
+      <!--<el-date-picker clearable-->
+      <!--v-model="queryParams.productionDate"-->
+      <!--type="date"-->
+      <!--value-format="yyyy-MM-dd"-->
+      <!--placeholder="请选择生产日期">-->
+      <!--</el-date-picker>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="负责人或联络人" prop="connector">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.connector"-->
+      <!--placeholder="请输入负责人或联络人"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <el-form-item label="联系电话" prop="connectorPhone">
+        <el-input
+          v-model="queryParams.connectorPhone"
+          placeholder="请输入联系电话"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:material:add']"
+        >新增
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:material:edit']"
+        >修改
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:material:remove']"
+        >删除
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:material:export']"
+        >导出
+        </el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="materialList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center"/>
+      <!--<el-table-column label="id" align="center" prop="materialId"/>-->
+      <el-table-column label="物资名称" align="center" prop="materialName"/>
+      <!--<el-table-column label="所属仓库id" align="center" prop="warehouseId"/>-->
+      <!--<el-table-column label="所属仓库名称" align="center" prop="warehouseName"/>-->
+      <el-table-column label="物资类型" align="center" prop="materialType"/>
+      <el-table-column label="品牌型号" align="center" prop="materialParms"/>
+      <el-table-column label="数量" align="center" prop="num"/>
+      <el-table-column label="主要功能和用途" align="center" prop="purpose"/>
+      <el-table-column label="技术状况" align="center" prop="technology"/>
+      <el-table-column label="生产日期" align="center" prop="productionDate" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.productionDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="负责人或联络人" align="center" prop="connector"/>
+      <el-table-column label="联系电话" align="center" prop="connectorPhone"/>
+      <el-table-column label="备注" align="center" prop="remark"/>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:material:edit']"
+          >修改
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:material:remove']"
+          >删除
+          </el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改物资对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="物资名称" prop="materialName">
+              <el-input v-model="form.materialName" placeholder="请输入物资名称"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="品牌型号" prop="materialParms">
+              <el-input v-model="form.materialParms" placeholder="请输入品牌、型号、主要参数"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="数量" prop="num">
+              <el-input v-model="form.num" placeholder="请输入数量"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="功能用途" prop="purpose">
+              <el-input v-model="form.purpose" placeholder="请输入主要功能和用途"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="技术状况" prop="technology">
+              <el-input v-model="form.technology" placeholder="请输入技术状况"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="生产日期" prop="productionDate">
+              <el-date-picker clearable
+                              v-model="form.productionDate"
+                              type="date"
+                              value-format="yyyy-MM-dd"
+                              placeholder="请选择生产日期">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="负责人" prop="connector">
+              <el-input v-model="form.connector" placeholder="请输入负责人或联络人"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="联系电话" prop="connectorPhone">
+              <el-input v-model="form.connectorPhone" placeholder="请输入联系电话"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="备注" prop="remark">
+              <el-input v-model="form.remark" placeholder="请输入备注"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="物资类型" prop="materialType">
+              <el-input v-model="form.materialType" placeholder="请输入物资类型"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <!--<el-form-item label="所属仓库id" prop="warehouseId">-->
+        <!--<el-input v-model="form.warehouseId" placeholder="请输入所属仓库id"/>-->
+        <!--</el-form-item>-->
+        <!--<el-form-item label="所属仓库名称" prop="warehouseName">-->
+        <!--<el-input v-model="form.warehouseName" placeholder="请输入所属仓库名称"/>-->
+        <!--</el-form-item>-->
+
+
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  import {listMaterial, getMaterial, delMaterial, addMaterial, updateMaterial} from "@/api/edyj/material";
+
+  export default {
+    name: "Material",
+    data() {
+      return {
+        // 遮罩层
+        loading: true,
+        // 选中数组
+        ids: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        // 显示搜索条件
+        showSearch: true,
+        // 总条数
+        total: 0,
+        // 物资表格数据
+        materialList: [],
+        // 弹出层标题
+        title: "",
+        // 是否显示弹出层
+        open: false,
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          materialName: null,
+          warehouseId: null,
+          warehouseName: null,
+          materialType: null,
+          materialParms: null,
+          num: null,
+          purpose: null,
+          technology: null,
+          productionDate: null,
+          connector: null,
+          connectorPhone: null,
+        },
+        // 表单参数
+        form: {},
+        // 表单校验
+        rules: {
+          materialName: [
+            {required: true, message: "物资名不能为空", trigger: "blur"},
+            {min: 1, max: 20, message: '物资名长度必须介于 1 和 20 之间', trigger: 'blur'}
+          ],
+          materialParms: [
+            {min: 0, max: 20, message: '品牌型号必须介于 1 和 20 之间', trigger: 'blur'}
+          ],
+          num: [
+            {required: true, message: "数量不能为空", trigger: "blur"},
+            {
+              pattern: /^\d*$/,
+              message: "数量必须为数字",
+              trigger: "blur"
+            }
+          ],
+          purpose: [
+            {min: 0, max: 20, message: '功能用途必须介于 1 和 20 之间', trigger: 'blur'}
+          ],
+          technology: [
+            {min: 0, max: 20, message: '技术状况必须介于 1 和 20 之间', trigger: 'blur'}
+          ],
+          connector: [
+            {min: 0, max: 20, message: '负责人必须介于 1 和 20 之间', trigger: 'blur'}
+          ],
+          connectorPhone: [
+            {min: 0, max: 20, message: '联系电话必须介于 1 和 20 之间', trigger: 'blur'},
+            {
+              pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
+              message: "请输入正确的手机号码",
+              trigger: "blur"
+            }
+          ],
+          remark: [
+            {min: 0, max: 20, message: '备注必须介于 1 和 20 之间', trigger: 'blur'}
+          ],
+        }
+      };
+    },
+    watch: {
+      $route: {
+        handler: function (route) {
+          if (this.$route.query.warehouseId != undefined) {
+            this.queryParams.warehouseId = this.$route.query.warehouseId
+            this.form.warehouseId = this.$route.query.warehouseId
+            this.getList();
+          }
+        },
+        immediate: true,
+      },
+    },
+    created() {
+      console.log(this.$route.query.warehouseId)
+      this.queryParams.warehouseId = this.$route.query.warehouseId
+      this.form.warehouseId = this.$route.query.warehouseId
+      this.getList();
+    },
+    methods: {
+      /** 查询物资列表 */
+      getList() {
+        this.loading = true;
+        listMaterial(this.queryParams).then(response => {
+          this.materialList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        });
+      },
+      // 取消按钮
+      cancel() {
+        this.open = false;
+        this.reset();
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          materialId: null,
+          materialName: null,
+          warehouseId: this.form.warehouseId,
+          warehouseName: null,
+          materialType: null,
+          materialParms: null,
+          num: null,
+          purpose: null,
+          technology: null,
+          productionDate: null,
+          connector: null,
+          connectorPhone: null,
+          remark: null
+        };
+        this.resetForm("form");
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParams.pageNum = 1;
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.resetForm("queryForm");
+        this.handleQuery();
+      },
+      // 多选框选中数据
+      handleSelectionChange(selection) {
+        this.ids = selection.map(item => item.materialId)
+        this.single = selection.length !== 1
+        this.multiple = !selection.length
+      },
+      /** 新增按钮操作 */
+      handleAdd() {
+        this.reset();
+        this.open = true;
+        this.title = "添加物资";
+      },
+      /** 修改按钮操作 */
+      handleUpdate(row) {
+        this.reset();
+        const materialId = row.materialId || this.ids
+        getMaterial(materialId).then(response => {
+          this.form = response.data;
+          this.open = true;
+          this.title = "修改物资";
+        });
+      },
+      /** 提交按钮 */
+      submitForm() {
+        this.$refs["form"].validate(valid => {
+          if (valid) {
+            if (this.form.materialId != null) {
+              updateMaterial(this.form).then(response => {
+                this.$modal.msgSuccess("修改成功");
+                this.open = false;
+                this.getList();
+              });
+            } else {
+              addMaterial(this.form).then(response => {
+                this.$modal.msgSuccess("新增成功");
+                this.open = false;
+                this.getList();
+              });
+            }
+          }
+        });
+      },
+      /** 删除按钮操作 */
+      handleDelete(row) {
+        const materialIds = row.materialId || this.ids;
+        this.$modal.confirm('是否确认删除物资编号为"' + materialIds + '"的数据项?').then(function () {
+          return delMaterial(materialIds);
+        }).then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        }).catch(() => {
+        });
+      },
+      /** 导出按钮操作 */
+      handleExport() {
+        this.download('system/material/export', {
+          ...this.queryParams
+        }, `material_${new Date().getTime()}.xlsx`)
+      }
+    }
+  };
+</script>

+ 395 - 0
data-ui/src/views/centerdata_emergency1/patrolstation/index.vue

@@ -0,0 +1,395 @@
+<template>
+  <div class="app-container">
+
+    <el-dialog :visible.sync="showLongitude" append-to-body>
+      经度
+      <el-input v-model="form.longitude"></el-input>
+      纬度
+      <el-input v-model="form.latitude"></el-input>
+      <supermap ref="enterprisemap" :visible.sync="showLongitude"
+                style="width: 100%;height: 500px;" :setLatLng="setLatLng"></supermap>
+      <el-button type="primary" @click="showLongitude=false">确定</el-button>
+    </el-dialog>
+
+    <el-form :model="queryParams" class="formclass" ref="queryForm" size="large" :inline="true" v-show="showSearch"
+             label-width="100px">
+      <el-form-item label="巡更点名称" prop="busPatrolstationName">
+        <el-input
+          v-model="queryParams.busPatrolstationName"
+          placeholder="请输入巡更点名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="编码" prop="busPatrolstationCode">
+        <el-input
+          v-model="queryParams.busPatrolstationCode"
+          placeholder="请输入编码"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <!--<el-form-item label="所属企业id" prop="busEnterpriseId">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.busEnterpriseId"-->
+      <!--placeholder="请输入所属企业id"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="所属企业名称" prop="busEnterpriseName">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.busEnterpriseName"-->
+      <!--placeholder="请输入所属企业名称"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="经度" prop="longitude">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.longitude"-->
+      <!--placeholder="请输入经度"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="纬度" prop="latitude">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.latitude"-->
+      <!--placeholder="请输入纬度"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="备注" prop="remarks">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.remarks"-->
+      <!--placeholder="请输入备注"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:patrolstation:add']"
+        >新增
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:patrolstation:edit']"
+        >修改
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:patrolstation:remove']"
+        >删除
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:patrolstation:export']"
+        >导出
+        </el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="patrolstationList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center"/>
+      <!--<el-table-column label="id" align="center" prop="busPatrolstationId" />-->
+      <el-table-column label="巡更点名称" align="center" prop="busPatrolstationName"/>
+      <el-table-column label="编码" align="center" prop="busPatrolstationCode"/>
+      <!--<el-table-column label="所属企业id" align="center" prop="busEnterpriseId" />-->
+      <el-table-column label="所属企业名称" align="center" prop="busEnterpriseName"/>
+      <el-table-column label="经度" align="center" prop="longitude"/>
+      <el-table-column label="纬度" align="center" prop="latitude"/>
+      <el-table-column label="备注" align="center" prop="remarks"/>
+      <el-table-column label="状态" align="center" prop="delFlag"/>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:patrolstation:edit']"
+          >修改
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:patrolstation:remove']"
+          >废弃
+          </el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改巡更点对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="名称" prop="busPatrolstationName">
+          <el-input v-model="form.busPatrolstationName" placeholder="请输入巡更点名称"/>
+        </el-form-item>
+        <el-form-item label="编码" prop="busPatrolstationCode">
+          <el-input v-model="form.busPatrolstationCode" placeholder="请输入编码"/>
+        </el-form-item>
+        <!--<el-form-item label="所属企业id" prop="busEnterpriseId">-->
+        <!--<el-input v-model="form.busEnterpriseId" placeholder="请输入所属企业id" />-->
+        <!--</el-form-item>-->
+        <!--<el-form-item label="所属企业名称" prop="busEnterpriseName">-->
+        <!--<el-input v-model="form.busEnterpriseName" placeholder="请输入所属企业名称" />-->
+        <!--</el-form-item>-->
+        <el-form-item label="经度" prop="longitude" @dblclick.native="showMap">
+          <el-input v-model="form.longitude" placeholder="请输入经度"/>
+        </el-form-item>
+        <el-form-item label="纬度" prop="latitude" @dblclick.native="showMap">
+          <el-input v-model="form.latitude" placeholder="请输入纬度"/>
+        </el-form-item>
+        <el-form-item label="备注" prop="remarks">
+          <el-input v-model="form.remarks" placeholder="请输入备注"/>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  import {
+    listPatrolstation,
+    getPatrolstation,
+    delPatrolstation,
+    addPatrolstation,
+    updatePatrolstation
+  } from "@/api/edyj/patrolstation";
+  import supermap from './supermap'
+
+  export default {
+    name: "Patrolstation",
+    components: {
+      supermap
+    },
+    data() {
+      return {
+        showLongitude: false,
+        // 遮罩层
+        loading: true,
+        // 选中数组
+        ids: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        // 显示搜索条件
+        showSearch: true,
+        // 总条数
+        total: 0,
+        // 巡更点表格数据
+        patrolstationList: [],
+        // 弹出层标题
+        title: "",
+        // 是否显示弹出层
+        open: false,
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          busPatrolstationName: null,
+          busPatrolstationCode: null,
+          busEnterpriseId: null,
+          busEnterpriseName: null,
+          longitude: null,
+          latitude: null,
+          remarks: null
+        },
+        // 表单参数
+        form: {},
+        // 表单校验
+        rules: {
+          busPatrolstationCode: [
+            {required: true, message: "巡更点编码不能为空", trigger: "blur"}
+          ],
+          busPatrolstationName: [
+            {required: true, message: "巡更点名称不能为空", trigger: "blur"}
+          ],
+        }
+      };
+    },
+
+    watch: {
+      '$route.query.busEnterpriseId': {
+        handler: function (newValue, oldValue) {
+          if (newValue != undefined) {
+            this.queryParams.busEnterpriseId = newValue
+          }
+          if (oldValue != undefined) {
+            this.queryParams.busEnterpriseId = oldValue
+          }
+          this.getList();
+        },
+      }
+    },
+    created() {
+      this.queryParams.busEnterpriseId = this.$route.query.busEnterpriseId
+      this.form.busEnterpriseId = this.$route.query.busEnterpriseId
+      this.form.busEnterpriseName = this.$route.query.busEnterpriseName
+      this.getList();
+    },
+    methods: {
+      showMap() {
+        this.showLongitude = true
+        this.$nextTick(() => {
+          if (this.form.latitude != null && this.form.latitude != undefined && this.form.longitude != null && this.form.longitude != undefined) {
+            this.$refs.enterprisemap.setMarker(this.form.latitude, this.form.longitude)
+          }
+        })
+      },
+      setLatLng: function (lat, lng) {
+        this.form.latitude = lat
+        this.form.longitude = lng
+      },
+      /** 查询巡更点列表 */
+      getList() {
+        this.loading = true;
+        listPatrolstation(this.queryParams).then(response => {
+          this.patrolstationList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        });
+      },
+      // 取消按钮
+      cancel() {
+        this.open = false;
+        this.reset();
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          busPatrolstationId: null,
+          busPatrolstationName: null,
+          busPatrolstationCode: null,
+          busEnterpriseId: this.form.busEnterpriseId,
+          busEnterpriseName: this.form.busEnterpriseName,
+          longitude: null,
+          latitude: null,
+          remarks: null
+        };
+        this.resetForm("form");
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParams.pageNum = 1;
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.resetForm("queryForm");
+        this.handleQuery();
+      },
+      // 多选框选中数据
+      handleSelectionChange(selection) {
+        this.ids = selection.map(item => item.busPatrolstationId)
+        this.single = selection.length !== 1
+        this.multiple = !selection.length
+      },
+      /** 新增按钮操作 */
+      handleAdd() {
+        this.reset();
+        this.open = true;
+        this.title = "添加巡更点";
+      },
+      /** 修改按钮操作 */
+      handleUpdate(row) {
+        this.reset();
+        const busPatrolstationId = row.busPatrolstationId || this.ids
+        getPatrolstation(busPatrolstationId).then(response => {
+          this.form = response.data;
+          this.open = true;
+          this.title = "修改巡更点";
+        });
+      },
+      /** 提交按钮 */
+      submitForm() {
+        this.$refs["form"].validate(valid => {
+          if (valid) {
+            if (this.form.busPatrolstationId != null) {
+              updatePatrolstation(this.form).then(response => {
+                this.$modal.msgSuccess("修改成功");
+                this.open = false;
+                this.getList();
+              });
+            } else {
+              addPatrolstation(this.form).then(response => {
+                this.$modal.msgSuccess("新增成功");
+                this.open = false;
+                this.getList();
+              });
+            }
+          }
+        });
+      },
+      /** 删除按钮操作 */
+      handleDelete(row) {
+        const busPatrolstationIds = row.busPatrolstationId || this.ids;
+        this.$modal.confirm('是否确认废弃巡更点编号为"' + busPatrolstationIds + '"的数据项?').then(function () {
+          return delPatrolstation(busPatrolstationIds);
+        }).then(() => {
+          this.getList();
+          this.$modal.msgSuccess("废弃成功");
+        }).catch(() => {
+        });
+      },
+      /** 导出按钮操作 */
+      handleExport() {
+        this.download('system/patrolstation/export', {
+          ...this.queryParams
+        }, `patrolstation_${new Date().getTime()}.xlsx`)
+      }
+    }
+  };
+</script>

+ 132 - 0
data-ui/src/views/centerdata_emergency1/patrolstation/supermap.vue

@@ -0,0 +1,132 @@
+<!-- **************************************NO.5 地图*************************************** -->
+<template>
+  <div class="map-container">
+
+    <div id="enterprisemap" style="width: 100%;height: 100%;"></div>
+  </div>
+</template>
+
+<script>
+
+  import L from 'leaflet'
+  import '@supermap/iclient-leaflet'
+  import 'leaflet/dist/leaflet.css'
+
+  export default {
+    name: 'spuermap',
+    data() {
+      return {
+        mapUrl: 'http://121.36.228.94:8090/iserver/services/map-JiLin/rest/maps/JiLin',
+        map: null,
+        lat: '',
+        lng: '',
+        iconMarker: new L.Icon({
+          iconUrl: require('@/assets/images/icon-danger.png'),
+          iconSize: [65, 60],
+          iconAnchor: [12, 41],
+          popupAnchor: [17, -34],
+          shadowSize: [41, 41]
+        }),
+        marker: {},
+        layers: [],
+        myGroup: undefined
+      }
+    },
+    mounted() {
+      this.initMap()
+    },
+    props:{
+      setLatLng : Function
+    },
+    methods: {
+      clearM: async function() {
+        if (this.myGroup != undefined) {
+          // await this.initMap()
+          this.myGroup.clearLayers()
+        }
+        this.layers = []
+      },
+
+      setMarker(lat,lng){
+        this.clearM()
+        let marker = window.L.marker([lat, lng], {
+          icon: this.iconMarker
+        })
+        this.layers.push(marker)
+        this.myGroup = window.L.layerGroup(this.layers)
+        this.map.addLayer(this.myGroup)
+
+
+        this.map.panTo([lat,lng])
+        // let center = window.L.LonLat(104.07, 30.67);
+        // this.map.setCenter(center,7)
+      },
+
+      initMap() {
+        let lat = 43.875228
+        let lon = 125.379896
+        this.map = window.L.map('enterprisemap', {
+          crs: window.L.CRS.EPSG4326,
+          center: [lat, lon],
+          maxZoom: 18,
+          zoom: 10,
+          editable: true,
+          zoomControl: false
+        })
+        window.L.supermap.tiledMapLayer(this.mapUrl).addTo(this.map)
+        let that = this
+        this.map.on('click', function(e) {
+          that.clearM()
+          let lat = e.latlng.lat
+          let lng = e.latlng.lng
+          let marker = window.L.marker([lat, lng], {
+            icon: that.iconMarker
+          })
+          that.setLatLng(lat,lng)
+
+          that.layers.push(marker)
+          that.myGroup = window.L.layerGroup(that.layers)
+          that.map.addLayer(that.myGroup)
+
+
+        })
+
+
+
+        // this.map.on('click', function(e) {
+        //   console.log(e)
+        //   let lat = e.latlng.lat
+        //   let lng = e.latlng.lng
+        //   // let marker = L.marker([lat, lng], {
+        //   //   icon: this.iconMarker
+        //   // })
+        //   // this.layers.push(marker)
+        //   // this.myGroup = L.layerGroup(this.layers)
+        //   // this.map.addLayer(this.myGroup)
+        //   // this.map.addLayer(this.marker)
+        // })
+      }
+    }
+
+  }
+</script>
+
+<style rel="stylesheet/scss" lang="scss">
+  .map-container {
+    width: 100%;
+    height: 100%;
+    color: #fff;
+    background-color: #01020c;
+    box-shadow: rgba(1, 2, 12, 1) 0px 0px 25px inset;
+
+    .leaflet-left {
+      .leaflet-control {
+        margin-top: 60px;
+      }
+    }
+
+    .leaflet-right {
+      display: none;
+    }
+  }
+</style>

+ 464 - 0
data-ui/src/views/centerdata_emergency1/team/index.vue

@@ -0,0 +1,464 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="队伍名称" prop="teamName">
+        <el-input
+          v-model="queryParams.teamName"
+          placeholder="请输入队伍名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <!--<el-form-item label="${comment}" prop="teamCategory">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.teamCategory"-->
+      <!--placeholder="请输入${comment}"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="部门id" prop="deptId">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.deptId"-->
+      <!--placeholder="请输入部门id"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="部门名称" prop="deptName">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.deptName"-->
+      <!--placeholder="请输入部门名称"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="队伍性质" prop="teamNature">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.teamNature"-->
+      <!--placeholder="请输入队伍性质"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="所在地点" prop="teamPos">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.teamPos"-->
+      <!--placeholder="请输入所在地点"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="擅长领域" prop="goodat">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.goodat"-->
+      <!--placeholder="请输入擅长领域"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="队伍人数" prop="teamPnum">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.teamPnum"-->
+      <!--placeholder="请输入队伍人数"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="负责人" prop="charger">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.charger"-->
+      <!--placeholder="请输入负责人"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <el-form-item label="应急信息" prop="emergencyPhone">
+        <el-input
+          v-model="queryParams.emergencyPhone"
+          placeholder="请输入应急联系人及电话"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <!--<el-form-item label="核心装备及数量" prop="equipmentNum">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.equipmentNum"-->
+      <!--placeholder="请输入核心装备及数量"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:team:add']"
+        >新增
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:team:edit']"
+        >修改
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:team:remove']"
+        >删除
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:team:export']"
+        >导出
+        </el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="teamList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center"/>
+      <!--<el-table-column label="id" align="center" prop="teamId" />-->
+      <el-table-column label="队伍名称" align="center" prop="teamName"/>
+      <el-table-column label="队伍类型" align="center" prop="teamCategory"/>
+      <!--<el-table-column label="部门id" align="center" prop="deptId" />-->
+      <!--<el-table-column label="部门名称" align="center" prop="deptName" />-->
+      <el-table-column label="队伍性质" align="center" prop="teamNature"/>
+      <el-table-column label="所在地点" align="center" prop="teamPos"/>
+      <el-table-column label="擅长领域" align="center" prop="goodat"/>
+      <el-table-column label="队伍人数" align="center" prop="teamPnum"/>
+      <el-table-column label="负责人" align="center" prop="charger"/>
+      <el-table-column label="应急信息" align="center" prop="emergencyPhone"/>
+      <el-table-column label="核心装备及数量" align="center" prop="equipmentNum"/>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:team:edit']"
+          >修改
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:team:remove']"
+          >删除
+          </el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改救援队伍对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="队伍名称" prop="teamName">
+              <el-input size="20" v-model="form.teamName" placeholder="请输入队伍名称"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="部门类型" prop="teamCategory">
+              <el-input v-model="form.teamCategory" placeholder="部门类型"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="部门" prop="deptId">
+              <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="核心装备" prop="equipmentNum">
+              <el-input v-model="form.equipmentNum" placeholder="请输入核心装备及数量"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="队伍性质" prop="teamNature">
+              <el-input v-model="form.teamNature" placeholder="请输入队伍性质"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="所在地点" prop="teamPos">
+              <el-input v-model="form.teamPos" placeholder="请输入所在地点"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="擅长领域" prop="goodat">
+              <el-input v-model="form.goodat" placeholder="请输入擅长领域"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="队伍人数" prop="teamPnum">
+              <el-input v-model="form.teamPnum" placeholder="请输入队伍人数"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="负责人" prop="charger">
+              <el-input v-model="form.charger" placeholder="请输入负责人"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="应急信息" prop="emergencyPhone">
+              <el-input v-model="form.emergencyPhone" placeholder="请输入应急联系人及电话"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  import {listTeam, getTeam, delTeam, addTeam, updateTeam} from "@/api/edyj/team";
+  import Treeselect from "@riophae/vue-treeselect";
+  import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+  import {deptTreeSelect} from "@/api/system/user";
+  export default {
+    name: "Team",
+    components: {Treeselect},
+    data() {
+      return {
+        //归属部门
+        deptOptions: undefined,
+        // 遮罩层
+        loading: true,
+        // 选中数组
+        ids: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        // 显示搜索条件
+        showSearch: true,
+        // 总条数
+        total: 0,
+        // 救援队伍表格数据
+        teamList: [],
+        // 弹出层标题
+        title: "",
+        // 是否显示弹出层
+        open: false,
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          teamName: null,
+          teamCategory: null,
+          deptId: null,
+          deptName: null,
+          teamNature: null,
+          teamPos: null,
+          goodat: null,
+          teamPnum: null,
+          charger: null,
+          emergencyPhone: null,
+          equipmentNum: null
+        },
+        // 表单参数
+        form: {},
+        // 表单校验
+        rules: {
+
+          teamName: [
+            {required: true, message: "队伍名称不能为空", trigger: "blur"},
+            {min: 1, max: 20, message: '队伍名称长度必须介于 1 和 20 之间', trigger: 'blur'}
+          ],
+          teamCategory: [
+            {required: true, message: "部门类型不能为空", trigger: "blur"},
+            {min: 1, max: 20, message: '部门类型长度必须介于 1 和 20 之间', trigger: 'blur'}
+          ],
+          deptId: [
+            {required: true, message: "部门不能为空", trigger: "blur"},
+          ],
+          equipmentNum: [
+            {min: 0, max: 20, message: '核心装备长度必须介于 1 和 20 之间', trigger: 'blur'}
+          ],
+          teamNature: [
+            {min: 0, max: 20, message: '队伍性质长度必须介于 1 和 20 之间', trigger: 'blur'}
+          ],
+          teamPos: [
+            {min: 0, max: 20, message: '所在地点长度必须介于 1 和 20 之间', trigger: 'blur'}
+          ],
+          goodat: [
+            {min: 0, max: 20, message: '擅长领域长度必须介于 1 和 20 之间', trigger: 'blur'}
+          ],
+          teamPnum: [
+            {min: 0, max: 20, message: '队伍人数长度必须介于 1 和 20 之间', trigger: 'blur'}
+          ],
+          charger: [
+            {min: 0, max: 20, message: '负责人长度必须介于 1 和 20 之间', trigger: 'blur'}
+          ],
+          emergencyPhone: [
+            {min: 0, max: 20, message: '应急信息长度必须介于 1 和 20 之间', trigger: 'blur'}
+          ],
+        }
+      };
+    },
+    created() {
+      this.getDeptTree();
+      this.getList();
+    },
+    methods: {
+      getDeptTree() {
+        deptTreeSelect().then(response => {
+          this.deptOptions = response.data;
+        });
+      },
+      /** 查询救援队伍列表 */
+      getList() {
+        this.loading = true;
+        listTeam(this.queryParams).then(response => {
+          this.teamList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        });
+      },
+      // 取消按钮
+      cancel() {
+        this.open = false;
+        this.reset();
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          teamId: null,
+          teamName: null,
+          teamCategory: null,
+          deptId: null,
+          deptName: null,
+          teamNature: null,
+          teamPos: null,
+          goodat: null,
+          teamPnum: null,
+          charger: null,
+          emergencyPhone: null,
+          equipmentNum: null
+        };
+        this.resetForm("form");
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParams.pageNum = 1;
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.resetForm("queryForm");
+        this.handleQuery();
+      },
+      // 多选框选中数据
+      handleSelectionChange(selection) {
+        this.ids = selection.map(item => item.teamId)
+        this.single = selection.length !== 1
+        this.multiple = !selection.length
+      },
+      /** 新增按钮操作 */
+      handleAdd() {
+        this.reset();
+        this.open = true;
+        this.title = "添加救援队伍";
+      },
+      /** 修改按钮操作 */
+      handleUpdate(row) {
+        this.reset();
+        const teamId = row.teamId || this.ids
+        getTeam(teamId).then(response => {
+          this.form = response.data;
+          this.open = true;
+          this.title = "修改救援队伍";
+        });
+      },
+      /** 提交按钮 */
+      submitForm() {
+        this.$refs["form"].validate(valid => {
+          if (valid) {
+            if (this.form.teamId != null) {
+              updateTeam(this.form).then(response => {
+                this.$modal.msgSuccess("修改成功");
+                this.open = false;
+                this.getList();
+              });
+            } else {
+              addTeam(this.form).then(response => {
+                this.$modal.msgSuccess("新增成功");
+                this.open = false;
+                this.getList();
+              });
+            }
+          }
+        });
+      },
+      /** 删除按钮操作 */
+      handleDelete(row) {
+        const teamIds = row.teamId || this.ids;
+        this.$modal.confirm('是否确认删除救援队伍编号为"' + teamIds + '"的数据项?').then(function () {
+          return delTeam(teamIds);
+        }).then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        }).catch(() => {
+        });
+      },
+      /** 导出按钮操作 */
+      handleExport() {
+        this.download('system/team/export', {
+          ...this.queryParams
+        }, `team_${new Date().getTime()}.xlsx`)
+      }
+    }
+  };
+</script>

+ 309 - 0
data-ui/src/views/centerdata_emergency1/track/index.vue

@@ -0,0 +1,309 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="进度ID" prop="busTrackId">
+        <el-input
+          v-model="queryParams.busTrackId"
+          placeholder="请输入进度ID"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="日志ID" prop="busLogId">
+        <el-input
+          v-model="queryParams.busLogId"
+          placeholder="请输入日志ID"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="巡检ID" prop="busInspectionId">
+        <el-input
+          v-model="queryParams.busInspectionId"
+          placeholder="请输入巡检ID"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="部门ID" prop="deptId">
+        <el-input
+          v-model="queryParams.deptId"
+          placeholder="请输入部门ID"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="用户ID" prop="userId">
+        <el-input
+          v-model="queryParams.userId"
+          placeholder="请输入用户ID"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:track:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:track:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:track:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:track:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="trackList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="进度ID" align="center" prop="busTrackId" />
+      <el-table-column label="日志ID" align="center" prop="busLogId" />
+      <el-table-column label="巡检ID" align="center" prop="busInspectionId" />
+      <el-table-column label="部门ID" align="center" prop="deptId" />
+      <el-table-column label="用户ID" align="center" prop="userId" />
+      <el-table-column label="状态" align="center" prop="riskStatus" />
+      <el-table-column label="${comment}" align="center" prop="busTrackContent" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:track:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:track:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改进度对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="进度ID" prop="busTrackId">
+          <el-input v-model="form.busTrackId" placeholder="请输入进度ID" />
+        </el-form-item>
+        <el-form-item label="日志ID" prop="busLogId">
+          <el-input v-model="form.busLogId" placeholder="请输入日志ID" />
+        </el-form-item>
+        <el-form-item label="巡检ID" prop="busInspectionId">
+          <el-input v-model="form.busInspectionId" placeholder="请输入巡检ID" />
+        </el-form-item>
+        <el-form-item label="部门ID" prop="deptId">
+          <el-input v-model="form.deptId" placeholder="请输入部门ID" />
+        </el-form-item>
+        <el-form-item label="用户ID" prop="userId">
+          <el-input v-model="form.userId" placeholder="请输入用户ID" />
+        </el-form-item>
+        <el-form-item label="${comment}">
+          <editor v-model="form.busTrackContent" :min-height="192"/>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listTrack, getTrack, delTrack, addTrack, updateTrack } from "@/api/edyj/track";
+
+export default {
+  name: "Track",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 进度表格数据
+      trackList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        busTrackId: null,
+        busLogId: null,
+        busInspectionId: null,
+        deptId: null,
+        userId: null,
+        riskStatus: null,
+        busTrackContent: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询进度列表 */
+    getList() {
+      this.loading = true;
+      listTrack(this.queryParams).then(response => {
+        this.trackList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        busTrackId: null,
+        busLogId: null,
+        busInspectionId: null,
+        deptId: null,
+        userId: null,
+        riskStatus: "0",
+        busTrackContent: null,
+        createTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.busTrackId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加进度";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const busTrackId = row.busTrackId || this.ids
+      getTrack(busTrackId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改进度";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.busTrackId != null) {
+            updateTrack(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addTrack(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const busTrackIds = row.busTrackId || this.ids;
+      this.$modal.confirm('是否确认删除进度编号为"' + busTrackIds + '"的数据项?').then(function() {
+        return delTrack(busTrackIds);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('system/track/export', {
+        ...this.queryParams
+      }, `track_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 226 - 0
data-ui/src/views/centerdata_emergency1/user/index.vue

@@ -0,0 +1,226 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="昵称" prop="nickname">
+        <el-input
+          v-model="queryParams.nickname"
+          placeholder="请输入昵称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:user:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="绑定用户ID" align="center" prop="userId" />
+      <el-table-column label="昵称" align="center" prop="nickname" />
+      <el-table-column label="openid" align="center" prop="openid" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:user:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改微信用户对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="微信ID" prop="wechaId">
+          <el-input v-model="form.wechaId" placeholder="请输入微信ID" />
+        </el-form-item>
+        <el-form-item label="用户ID" prop="userId">
+          <el-input v-model="form.userId" placeholder="请输入用户ID" />
+        </el-form-item>
+        <el-form-item label="昵称" prop="nickname">
+          <el-input v-model="form.nickname" placeholder="请输入昵称" />
+        </el-form-item>
+        <el-form-item label="头像" prop="portrait">
+          <el-input v-model="form.portrait" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="openid" prop="openid">
+          <el-input v-model="form.openid" placeholder="请输入openid" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listUser, getUser, delUser, addUser, updateUser } from "@/api/edyj/user";
+
+export default {
+  name: "User",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 微信用户表格数据
+      userList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        wechaId: null,
+        userId: null,
+        nickname: null,
+        portrait: null,
+        openid: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询微信用户列表 */
+    getList() {
+      this.loading = true;
+      listUser(this.queryParams).then(response => {
+        this.userList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        wechaId: null,
+        userId: null,
+        nickname: null,
+        portrait: null,
+        openid: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.wechaId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加微信用户";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const wechaId = row.wechaId || this.ids
+      getUser(wechaId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改微信用户";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.wechaId != null) {
+            updateUser(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addUser(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const wechaIds = row.wechaId || this.ids;
+      this.$modal.confirm('是否确认删除微信用户编号为"' + wechaIds + '"的数据项?').then(function() {
+        return delUser(wechaIds);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('system/wechatuser/export', {
+        ...this.queryParams
+      }, `user_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 375 - 0
data-ui/src/views/centerdata_emergency1/warehouse/index.vue

@@ -0,0 +1,375 @@
+<template>
+  <div class="app-container">
+
+    <el-dialog :visible.sync="showLongitude" append-to-body>
+      经度
+      <el-input v-model="form.longitude"></el-input>
+      纬度
+      <el-input v-model="form.latitude"></el-input>
+      <supermap ref="enterprisemap" :visible.sync="showLongitude"
+                style="width: 100%;height: 500px;" :setLatLng="setLatLng"></supermap>
+      <el-button type="primary" @click="showLongitude=false">确定</el-button>
+    </el-dialog>
+
+
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="仓库名称" prop="warehouseName">
+        <el-input
+          v-model="queryParams.warehouseName"
+          placeholder="请输入仓库名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <!--<el-form-item label="部门id" prop="deptId">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.deptId"-->
+      <!--placeholder="请输入部门id"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="部门名称" prop="deptName">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.deptName"-->
+      <!--placeholder="请输入部门名称"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="经度" prop="longitude">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.longitude"-->
+      <!--placeholder="请输入经度"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item label="纬度" prop="latitude">-->
+      <!--<el-input-->
+      <!--v-model="queryParams.latitude"-->
+      <!--placeholder="请输入纬度"-->
+      <!--clearable-->
+      <!--@keyup.enter.native="handleQuery"-->
+      <!--/>-->
+      <!--</el-form-item>-->
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:warehouse:add']"
+        >新增
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:warehouse:edit']"
+        >修改
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:warehouse:remove']"
+        >删除
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:warehouse:export']"
+        >导出
+        </el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="warehouseList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center"/>
+      <!--<el-table-column label="id" align="center" prop="warehouseId"/>-->
+      <el-table-column label="仓库名称" align="center">
+        <template slot-scope="scope">
+          <label @click="toMaterial(scope.row)"
+                 style="cursor: pointer;color:#0000ff">{{scope.row.warehouseName}}</label>
+        </template>
+      </el-table-column>
+      <!--<el-table-column label="部门id" align="center" prop="deptId"/>-->
+      <el-table-column label="部门名称" align="center" prop="deptName"/>
+      <el-table-column label="经度" align="center" prop="longitude"/>
+      <el-table-column label="纬度" align="center" prop="latitude"/>
+      <el-table-column label="备注" align="center" prop="remark"/>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:warehouse:edit']"
+          >修改
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:warehouse:remove']"
+          >删除
+          </el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改仓库对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="仓库名称" prop="warehouseName">
+          <el-input v-model="form.warehouseName" placeholder="请输入仓库名称"/>
+        </el-form-item>
+        <el-form-item label="归属部门" prop="deptId">
+          <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门"/>
+        </el-form-item>
+        <el-form-item label="经度" prop="longitude">
+
+          <el-input v-model="form.longitude" placeholder="请输入经度" @dblclick.native="showMap"/>
+        </el-form-item>
+        <el-form-item label="纬度" prop="latitude">
+          <el-input v-model="form.latitude" placeholder="请输入纬度" @dblclick.native="showMap"/>
+        </el-form-item>
+        <el-form-item label="备注" prop="remark">
+          <el-input v-model="form.remark" placeholder="请输入备注"/>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  import {listWarehouse, getWarehouse, delWarehouse, addWarehouse, updateWarehouse} from "@/api/edyj/warehouse";
+  import Treeselect from "@riophae/vue-treeselect";
+  import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+  import {deptTreeSelect} from "@/api/system/user";
+  import supermap from './supermap'
+
+  export default {
+    name: "Warehouse",
+    components: {Treeselect, supermap},
+    data() {
+      return {
+        showLongitude: false,
+        //归属部门
+        deptOptions: undefined,
+        // 遮罩层
+        loading: true,
+        // 选中数组
+        ids: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        // 显示搜索条件
+        showSearch: true,
+        // 总条数
+        total: 0,
+        // 仓库表格数据
+        warehouseList: [],
+        // 弹出层标题
+        title: "",
+        // 是否显示弹出层
+        open: false,
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          warehouseName: null,
+          deptId: null,
+          deptName: null,
+          longitude: null,
+          latitude: null,
+        },
+        // 表单参数
+        form: {},
+        // 表单校验
+        rules: {
+          deptId: [
+            {required: true, message: "归属部门不能为空", trigger: "blur"},
+          ],
+          warehouseName: [
+            {required: true, message: "仓库名不能为空", trigger: "blur"},
+            {min: 1, max: 20, message: '仓库名长度必须介于 1 和 20 之间', trigger: 'blur'}
+          ],
+          longitude: [
+            {required: true, message: "经度不能为空", trigger: "blur"},
+          ],
+          latitude: [
+            {required: true, message: "纬度不能为空", trigger: "blur"},
+          ],
+        }
+      };
+    },
+    created() {
+      this.getDeptTree();
+      this.getList();
+    },
+    methods: {
+      toMaterial(row) {
+        this.$router.push({
+          path: '/edyj/material',
+          query: {warehouseId: row.warehouseId}
+        })
+      },
+      showMap() {
+        this.showLongitude = true
+        this.$nextTick(() => {
+          if (this.form.latitude != null && this.form.latitude != undefined && this.form.longitude != null && this.form.longitude != undefined) {
+            this.$refs.enterprisemap.setMarker(this.form.latitude, this.form.longitude)
+          }
+        })
+
+      },
+      setLatLng: function (lat, lng) {
+        this.form.latitude = lat
+        this.form.longitude = lng
+      },
+
+      getDeptTree() {
+        deptTreeSelect().then(response => {
+          this.deptOptions = response.data;
+        });
+      },
+      /** 查询仓库列表 */
+      getList() {
+        this.loading = true;
+        listWarehouse(this.queryParams).then(response => {
+          this.warehouseList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        });
+      },
+      // 取消按钮
+      cancel() {
+        this.open = false;
+        this.reset();
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          warehouseId: null,
+          warehouseName: null,
+          deptId: null,
+          deptName: null,
+          longitude: null,
+          latitude: null,
+          remark: null
+        };
+        this.resetForm("form");
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParams.pageNum = 1;
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.resetForm("queryForm");
+        this.handleQuery();
+      },
+      // 多选框选中数据
+      handleSelectionChange(selection) {
+        this.ids = selection.map(item => item.warehouseId)
+        this.single = selection.length !== 1
+        this.multiple = !selection.length
+      },
+      /** 新增按钮操作 */
+      handleAdd() {
+        this.reset();
+        this.open = true;
+        this.title = "添加仓库";
+      },
+      /** 修改按钮操作 */
+      handleUpdate(row) {
+        this.reset();
+        const warehouseId = row.warehouseId || this.ids
+        getWarehouse(warehouseId).then(response => {
+          this.form = response.data;
+          this.open = true;
+          this.title = "修改仓库";
+        });
+      },
+      /** 提交按钮 */
+      submitForm() {
+        this.$refs["form"].validate(valid => {
+          if (valid) {
+            if (this.form.warehouseId != null) {
+              updateWarehouse(this.form).then(response => {
+                this.$modal.msgSuccess("修改成功");
+                this.open = false;
+                this.getList();
+              });
+            } else {
+              addWarehouse(this.form).then(response => {
+                this.$modal.msgSuccess("新增成功");
+                this.open = false;
+                this.getList();
+              });
+            }
+          }
+        });
+      },
+      /** 删除按钮操作 */
+      handleDelete(row) {
+        const warehouseIds = row.warehouseId || this.ids;
+        this.$modal.confirm('是否确认删除仓库编号为"' + warehouseIds + '"的数据项?').then(function () {
+          return delWarehouse(warehouseIds);
+        }).then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        }).catch(() => {
+        });
+      },
+      /** 导出按钮操作 */
+      handleExport() {
+        this.download('system/warehouse/export', {
+          ...this.queryParams
+        }, `warehouse_${new Date().getTime()}.xlsx`)
+      }
+    }
+  };
+</script>

+ 132 - 0
data-ui/src/views/centerdata_emergency1/warehouse/supermap.vue

@@ -0,0 +1,132 @@
+<!-- **************************************NO.5 地图*************************************** -->
+<template>
+  <div class="map-container">
+
+    <div id="warehousemap" style="width: 100%;height: 100%;"></div>
+  </div>
+</template>
+
+<script>
+
+  import L from 'leaflet'
+  import '@supermap/iclient-leaflet'
+  import 'leaflet/dist/leaflet.css'
+
+  export default {
+    name: 'spuermap',
+    data() {
+      return {
+        mapUrl: 'http://121.36.228.94:8090/iserver/services/map-JiLin/rest/maps/JiLin',
+        map: null,
+        lat: '',
+        lng: '',
+        iconMarker: new L.Icon({
+          iconUrl: require('@/assets/images/icon-danger.png'),
+          iconSize: [65, 60],
+          iconAnchor: [12, 41],
+          popupAnchor: [17, -34],
+          shadowSize: [41, 41]
+        }),
+        marker: {},
+        layers: [],
+        myGroup: undefined
+      }
+    },
+    mounted() {
+      this.initMap()
+    },
+    props:{
+      setLatLng : Function
+    },
+    methods: {
+      clearM: async function() {
+        if (this.myGroup != undefined) {
+          // await this.initMap()
+          this.myGroup.clearLayers()
+        }
+        this.layers = []
+      },
+
+      setMarker(lat,lng){
+        this.clearM()
+        let marker = window.L.marker([lat, lng], {
+          icon: this.iconMarker
+        })
+        this.layers.push(marker)
+        this.myGroup = window.L.layerGroup(this.layers)
+        this.map.addLayer(this.myGroup)
+
+
+        this.map.panTo([lat,lng])
+        // let center = window.L.LonLat(104.07, 30.67);
+        // this.map.setCenter(center,7)
+      },
+
+      initMap() {
+        let lat = 43.875228
+        let lon = 125.379896
+        this.map = window.L.map('warehousemap', {
+          crs: window.L.CRS.EPSG4326,
+          center: [lat, lon],
+          maxZoom: 18,
+          zoom: 10,
+          editable: true,
+          zoomControl: false
+        })
+        window.L.supermap.tiledMapLayer(this.mapUrl).addTo(this.map)
+        let that = this
+        this.map.on('click', function(e) {
+          that.clearM()
+          let lat = e.latlng.lat
+          let lng = e.latlng.lng
+          let marker = window.L.marker([lat, lng], {
+            icon: that.iconMarker
+          })
+          that.setLatLng(lat,lng)
+
+          that.layers.push(marker)
+          that.myGroup = window.L.layerGroup(that.layers)
+          that.map.addLayer(that.myGroup)
+
+
+        })
+
+
+
+        // this.map.on('click', function(e) {
+        //   console.log(e)
+        //   let lat = e.latlng.lat
+        //   let lng = e.latlng.lng
+        //   // let marker = L.marker([lat, lng], {
+        //   //   icon: this.iconMarker
+        //   // })
+        //   // this.layers.push(marker)
+        //   // this.myGroup = L.layerGroup(this.layers)
+        //   // this.map.addLayer(this.myGroup)
+        //   // this.map.addLayer(this.marker)
+        // })
+      }
+    }
+
+  }
+</script>
+
+<style rel="stylesheet/scss" lang="scss">
+  .map-container {
+    width: 100%;
+    height: 100%;
+    color: #fff;
+    background-color: #01020c;
+    box-shadow: rgba(1, 2, 12, 1) 0px 0px 25px inset;
+
+    .leaflet-left {
+      .leaflet-control {
+        margin-top: 60px;
+      }
+    }
+
+    .leaflet-right {
+      display: none;
+    }
+  }
+</style>