浏览代码

项目迁移

dylan 2 年之前
父节点
当前提交
be2b249f6d
共有 51 个文件被更改,包括 6070 次插入2497 次删除
  1. 10 0
      .gitignore
  2. 14 0
      package-lock.json
  3. 1 0
      package.json
  4. 55 0
      src/api/baseinfo/map/dangerarea.js
  5. 55 0
      src/api/baseinfo/map/leaveline.js
  6. 55 0
      src/api/baseinfo/map/mapregion.js
  7. 27 0
      src/api/business/warning/warning.js
  8. 24 0
      src/api/report/weekreport.js
  9. 6 4
      src/config/website.js
  10. 251 0
      src/views/baseinfo/map/dangerarea/dangerarea.vue
  11. 163 0
      src/views/baseinfo/map/dangerarea/dangerareaimport.vue
  12. 208 0
      src/views/baseinfo/map/dangerarea/dangerareaimporthistory.vue
  13. 228 0
      src/views/baseinfo/map/leaveline/leaveline.vue
  14. 162 0
      src/views/baseinfo/map/leaveline/leavelineimport.vue
  15. 209 0
      src/views/baseinfo/map/leaveline/leavelineimporthistory.vue
  16. 269 0
      src/views/baseinfo/map/region/mapregion.vue
  17. 193 0
      src/views/baseinfo/map/region/mapregionimport.vue
  18. 209 0
      src/views/baseinfo/map/region/mapregionimporthistory.vue
  19. 6 3
      src/views/baseinfo/rtu/index.vue
  20. 28 12
      src/views/business/data/rainDataCache.vue
  21. 1 1
      src/views/business/data/riverDataCache.vue
  22. 14 4
      src/views/business/inspection/inspectionreportlist.vue
  23. 13 3
      src/views/business/inspection/todaynspectionrportlist.vue
  24. 9 11
      src/views/business/manage/realdatadetail.vue
  25. 87 33
      src/views/business/order/checkorderhistory.vue
  26. 38 31
      src/views/business/order/checkorderlist.vue
  27. 8 1
      src/views/business/order/checkorderprocessdetail.vue
  28. 13 2
      src/views/business/order/comfiredelaycheckorderlist.vue
  29. 14 2
      src/views/business/order/processingcheckorderlist.vue
  30. 237 0
      src/views/business/order/reportcheckorderlist.vue
  31. 90 15
      src/views/business/order/rtucheckorderhistorylist.vue
  32. 19 8
      src/views/business/order/todaycheckorderprocesslist.vue
  33. 12 1
      src/views/business/order/uncomfirecheckorderlist.vue
  34. 143 0
      src/views/business/report/weekreportlist.vue
  35. 56 14
      src/views/business/warning/clockwarnlist.vue
  36. 56 14
      src/views/business/warning/hourmissoutwarnlist.vue
  37. 56 14
      src/views/business/warning/hourupdelaywarnlist.vue
  38. 56 14
      src/views/business/warning/minupdelaywarnlist.vue
  39. 61 20
      src/views/business/warning/offlinewarnlist.vue
  40. 265 0
      src/views/business/warning/otherswarnlist.vue
  41. 56 14
      src/views/business/warning/outlitervaluewarnlist.vue
  42. 56 14
      src/views/business/warning/rainhourmissoutwarnlist.vue
  43. 56 14
      src/views/business/warning/rainhourupdelaywarnlist.vue
  44. 56 14
      src/views/business/warning/riverhourmissoutwarnlist.vue
  45. 56 14
      src/views/business/warning/riverhourupdelaywarnlist.vue
  46. 424 0
      src/views/business/warning/warnsetting.vue
  47. 171 191
      src/views/report/reportlist.vue
  48. 1141 0
      src/views/wel/index-v1.vue
  49. 0 1884
      src/views/wel/index-v2.vue
  50. 629 145
      src/views/wel/index.vue
  51. 4 0
      vue.config.js

+ 10 - 0
.gitignore

@@ -23,3 +23,13 @@ yarn-error.log*
 *.sln
 *.sw*
 *.lock
+dist.zip
+dist1.zip
+dist2.zip
+dist3.zip
+dist4.zip
+dist5.zip
+dist6.zip
+dist7.zip
+dist8.zip
+dist9.zip

+ 14 - 0
package-lock.json

@@ -16,6 +16,7 @@
         "crypto-js": "^4.0.0",
         "echarts": "4.9.0",
         "element-ui": "^2.15.6",
+        "gcoord": "^1.0.5",
         "js-base64": "^2.5.1",
         "js-cookie": "^2.2.0",
         "js-md5": "^0.7.3",
@@ -7218,6 +7219,14 @@
         "node": ">= 4.0.0"
       }
     },
+    "node_modules/gcoord": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/gcoord/-/gcoord-1.0.5.tgz",
+      "integrity": "sha512-IJjyWd7Q57K36SzoEAZ5LEnhFVXVR3996WJp/3NlleXVBzb/GcORfNhCw8JuZPvSGloHgG0yhPFK4Aqf0t/ohg==",
+      "engines": {
+        "node": ">=16.11.0"
+      }
+    },
     "node_modules/gensync": {
       "version": "1.0.0-beta.2",
       "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
@@ -22646,6 +22655,11 @@
         "globule": "^1.0.0"
       }
     },
+    "gcoord": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/gcoord/-/gcoord-1.0.5.tgz",
+      "integrity": "sha512-IJjyWd7Q57K36SzoEAZ5LEnhFVXVR3996WJp/3NlleXVBzb/GcORfNhCw8JuZPvSGloHgG0yhPFK4Aqf0t/ohg=="
+    },
     "gensync": {
       "version": "1.0.0-beta.2",
       "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",

+ 1 - 0
package.json

@@ -19,6 +19,7 @@
     "crypto-js": "^4.0.0",
     "echarts": "4.9.0",
     "element-ui": "^2.15.6",
+    "gcoord": "^1.0.5",
     "js-base64": "^2.5.1",
     "js-cookie": "^2.2.0",
     "js-md5": "^0.7.3",

+ 55 - 0
src/api/baseinfo/map/dangerarea.js

@@ -0,0 +1,55 @@
+import request from '@/router/axios';
+
+export const getPage = (current, size, params) => {
+    return request({
+        url: '/api/galaxy-business/map/dangerarea/page',
+        method: 'get',
+        params: {
+            ...params,
+            current,
+            size,
+        }
+    })
+}
+
+export const remove = (ids) => {
+    return request({
+        url: '/api/galaxy-business/map/dangerarea/remove',
+        method: 'post',
+        params: {
+            ids,
+        }
+    })
+}
+
+export const getDetail = (id) => {
+    return request({
+        url: '/api/galaxy-business/map/dangerarea/detail',
+        method: 'get',
+        params: {
+            id
+        }
+    })
+}
+
+export const getImportPage = (current, size, params) => {
+    return request({
+        url: '/api/galaxy-business/map/dangerarea/import/page',
+        method: 'get',
+        params: {
+            ...params,
+            current,
+            size,
+        }
+    })
+}
+
+export const getPolygon = (params) => {
+    return request({
+        url: '/api/galaxy-business/map/dangerarea/polygon',
+        method: 'get',
+        params: {
+            ...params,
+        }
+    })
+}

+ 55 - 0
src/api/baseinfo/map/leaveline.js

@@ -0,0 +1,55 @@
+import request from '@/router/axios';
+
+export const getPage = (current, size, params) => {
+    return request({
+        url: '/api/galaxy-business/map/leaveline/page',
+        method: 'get',
+        params: {
+            ...params,
+            current,
+            size,
+        }
+    })
+}
+
+export const remove = (ids) => {
+    return request({
+        url: '/api/galaxy-business/map/leaveline/remove',
+        method: 'post',
+        params: {
+            ids,
+        }
+    })
+}
+
+export const getDetail = (id) => {
+    return request({
+        url: '/api/galaxy-business/map/leaveline/detail',
+        method: 'get',
+        params: {
+            id
+        }
+    })
+}
+
+export const getImportPage = (current, size, params) => {
+    return request({
+        url: '/api/galaxy-business/map/leaveline/import/page',
+        method: 'get',
+        params: {
+            ...params,
+            current,
+            size,
+        }
+    })
+}
+
+export const getPolyline = (params) => {
+    return request({
+        url: '/api/galaxy-business/map/leaveline/polyline',
+        method: 'get',
+        params: {
+            ...params,
+        }
+    })
+}

+ 55 - 0
src/api/baseinfo/map/mapregion.js

@@ -0,0 +1,55 @@
+import request from '@/router/axios';
+
+export const getPage = (current, size, params) => {
+    return request({
+        url: '/api/galaxy-business/map/region/page',
+        method: 'get',
+        params: {
+            ...params,
+            current,
+            size,
+        }
+    })
+}
+
+export const remove = (ids) => {
+    return request({
+        url: '/api/galaxy-business/map/region/remove',
+        method: 'post',
+        params: {
+            ids,
+        }
+    })
+}
+
+export const getDetail = (id) => {
+    return request({
+        url: '/api/galaxy-business/map/region/detail',
+        method: 'get',
+        params: {
+            id
+        }
+    })
+}
+
+export const getImportPage = (current, size, params) => {
+    return request({
+        url: '/api/galaxy-business/map/region/import/page',
+        method: 'get',
+        params: {
+            ...params,
+            current,
+            size,
+        }
+    })
+}
+
+export const getPolygon = (params) => {
+    return request({
+        url: '/api/galaxy-business/map/region/polygon',
+        method: 'get',
+        params: {
+            ...params,
+        }
+    })
+}

+ 27 - 0
src/api/business/warning/warning.js

@@ -24,6 +24,18 @@ export const getOfflinePage = (current, size, params) => {
     })
 }
 
+export const getOthersWarnPage = (current, size, params) => {
+    return request({
+        url: '/api/galaxy-business/rtu/warning/otherswarn/page',
+        method: 'get',
+        params: {
+            current,
+            size,
+            ...params
+        }
+    })
+}
+
 export const getClockPage = (current, size, params) => {
     return request({
         url: '/api/galaxy-business/rtu/warning/clock/page',
@@ -144,4 +156,19 @@ export const getDetail = (id) => {
     })
 }
 
+export const getSettingDetail = () => {
+    return request({
+        url: '/api/galaxy-business/rtu/warning/setting/detail',
+        method: 'get',
+    })
+}
+
+export const submitSetting = (data) => {
+    return request({
+        url: '/api/galaxy-business/rtu/warning/setting/submit',
+        method: 'post',
+        data: data
+    })
+}
+
 

+ 24 - 0
src/api/report/weekreport.js

@@ -0,0 +1,24 @@
+import request from '@/router/axios';
+
+export const getPage = (current, size, params) => {
+    return request({
+        url: '/api/galaxy-business/report/week/page',
+        method: 'get',
+        params: {
+            ...params,
+            current,
+            size,
+        }
+    })
+}
+
+export const remove = (ids) => {
+    return request({
+        url: '/api/galaxy-business/report/week/remove',
+        method: 'post',
+        params: {
+            ids,
+        }
+    })
+}
+

+ 6 - 4
src/config/website.js

@@ -34,7 +34,7 @@ export default {
         group: [],
         close: false
     },
-    //配置菜单的属性
+    //配置菜单的属性cd 
     menu: {
         iconDefault: 'iconfont icon-caidan',
         props: {
@@ -47,16 +47,18 @@ export default {
     // 第三方系统授权地址
     authUrl: 'http://localhost:8000/galaxy-auth/oauth/render',
     // 报表设计器地址(cloud端口为8108,boot端口为80)
-    reportUrl: 'http://localhost:8000/ureport',
+    //reportUrl: 'http://localhost:20002/ureport',
+    reportUrl: 'https://nmwx.dahengsi.com:20001/ureport',
     //文件存储服务器地址,末尾必须/
-    //ossServer: 'http://172.9.0.165:80/oss/galaxy/',
+    ossServer: 'http://172.31.1.154:20002/oss/galaxy/',
     //ossServer: 'https://nmwx.dahengsi.com:20001/oss/galaxy/',
-    ossServer: 'http://111.204.228.227:20002/oss/galaxy/',
+    //ossServer: 'http://111.204.228.227:20002/oss/galaxy/',
     //文件预览服务器地址
     kkfileviewServer: 'http://localhost:8012',
     nm_post_code_sysadmin_id: '1562989286284906498',
     nm_post_code_sysadmin_code: '0',
     //nm_post_code_office_personnel_id: '1683328513757200385',
+    //生产环境
     nm_post_code_office_personnel_id: '1683356455274676225',
     nm_post_code_office_personnel_code: '1',
 }

+ 251 - 0
src/views/baseinfo/map/dangerarea/dangerarea.vue

@@ -0,0 +1,251 @@
+<!--
+ * @Title: 
+ * @Description: 
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+    <div>
+        <el-row>
+            <el-col :span="24">
+                <basic-container>
+                    <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page"
+                        :before-open="beforeOpen" ref="crud" v-model="form" :permission="permissionList" @row-del="rowDel"
+                        @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
+                        @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
+                        @on-load="onLoad" @before-open="beforeOpen" @select-change="selectChange">
+                        <template slot-scope="scope" slot="menuLeft">
+                            <el-button v-if="permissionList.importBtn" type="primary" icon="el-icon-upload2" size="small"
+                                @click="toDangerAreaImpoartHandler">导入危险区</el-button>
+                            <el-button v-if="permissionList.importBtn" type="primary" icon="el-icon-finished" size="small"
+                                @click="toDangerAreaImportHistoryHandler">导入历史</el-button>
+                        </template>
+                        <template slot-scope="{ row, index }" slot="menu">
+                            <el-button v-if="permission.order_change && row.orderClose == 0" style="color:orange"
+                                type="text" size="small" @click="toDangerAreaMap(row)" icon="el-icon-position">
+                                查看地图
+                            </el-button>
+                        </template>
+                    </avue-crud>
+                </basic-container>
+            </el-col>
+        </el-row>
+        <el-drawer :visible.sync="dangerAreaImportHistoryDialog" v-if="dangerAreaImportHistoryDialog" title="导入记录"
+            direction="rtl" size="60%" append-to-body="true">
+            <dangerareaimporthistoryVue ref="dangerareaimporthistoryView"></dangerareaimporthistoryVue>
+        </el-drawer>
+        <el-dialog title="导入向导" :visible.sync="dangerAreaImportDialog" width="60%" height="60%"
+            :close-on-click-modal="false" append-to-body :v-loading="importLoading" v-if="dangerAreaImportDialog">
+            <dangerareaimportVue :importLoading="importLoading" :visible.sync="dangerAreaImportDialog"
+                ref="dangerareaimportView">
+            </dangerareaimportVue>
+        </el-dialog>
+    </div>
+</template>
+
+<script>
+import { getPage, remove, getDetail } from "@/api/baseinfo/map/dangerarea.js";
+import { mapGetters } from "vuex";
+import dangerareaimportVue from './dangerareaimport.vue';
+import dangerareaimporthistoryVue from "./dangerareaimporthistory.vue"
+export default {
+    components: {
+        dangerareaimportVue,
+        dangerareaimporthistoryVue,
+    },
+    data() {
+        return {
+            importLoading: false,
+            dangerAreaImportDialog: false,
+            dangerAreaImportHistoryDialog: false,
+            id: "",
+            post_code: '0',
+            form: {},
+            selectionList: [],
+            query: {},
+            loading: true,
+            page: {
+                pageSize: 10,
+                currentPage: 1,
+                total: 0,
+            },
+            option: {
+                labelWidth: 140,
+                viewLabelWidth: 140,
+                searchLabelWidth: 140,
+                height: "auto",
+                calcHeight: 80,
+                align: "center",
+                headerAlign: "center",
+                lazy: false,
+                tip: false,
+                simplePage: true,
+                searchShow: true,
+                searchMenuSpan: 6,
+                tree: true,
+                border: true,
+                index: true,
+                selection: false,
+                viewBtn: false,
+                editBtn: false,
+                delBtn: true,
+                addBtn: false,
+                menuWidth: 220,
+                dialogType: "drawer",
+                dialogClickModal: false,
+                columnBtn: false,
+                column: [
+                    {
+                        label: "危险区名称",
+                        prop: "dangerAreaName",
+                        search: true,
+                        span: 24,
+                    },
+                    {
+                        label: "行政区编码",
+                        prop: "adcd",
+                        span: 24,
+                    },
+                    {
+                        label: "行政区名称",
+                        prop: "adnm",
+                        span: 24,
+                    },
+                    {
+                        label: "测站名称",
+                        prop: "rtuName",
+                        span: 24,
+                    },
+                    {
+                        label: "风险等级",
+                        prop: "dangerStatus",
+                        span: 24,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.dangerStatus && val.dangerStatus == '1') {
+                                return '<b style="color:red">高风险</b>'
+                            } else if (val.dangerStatus && val.dangerStatus == '0') {
+                                return '<b style="color:orange">低风险</b>'
+                            } else {
+                                return '<b></b>';
+                            }
+                        }
+                    },
+                ],
+            },
+            data: [],
+        };
+    },
+    computed: {
+        ...mapGetters(["userInfo", "permission"]),
+        permissionList() {
+            return {
+                importBtn: this.vaildData(this.permission.danger_area_import, false),
+            };
+        },
+    },
+    created() {
+
+    },
+    methods: {
+        toDangerAreaImpoartHandler() {
+            this.dangerAreaImportDialog = true;
+        },
+        toDangerAreaImportHistoryHandler() {
+            this.dangerAreaImportHistoryDialog = true;
+        },
+        toDangerAreaMap() {
+            // this.videoSiteAddDialog = true;
+            // this.$nextTick(() => {
+            //     this.$refs["videositeadd"].init();
+            // });
+        },
+        searchReset() {
+            this.query = {};
+            this.page.currentPage = 1;
+            this.onLoad(this.page);
+        },
+        searchChange(params, done) {
+            this.query = params;
+            this.page.currentPage = 1;
+            this.onLoad(this.page, params);
+            done();
+        },
+        currentChange(currentPage) {
+            console.log("currentPage " + currentPage);
+            this.page.currentPage = currentPage;
+        },
+        sizeChange(pageSize) {
+            this.page.pageSize = pageSize;
+        },
+        refreshChange() {
+            var params = {};
+            this.onLoad(this.page, params);
+        },
+        selectionChange(list) {
+            this.selectionList = list;
+        },
+        selectChange(item) {
+            console.log(JSON.stringify(item));
+        },
+        selectionClear() {
+            this.selectionList = [];
+            this.$refs.crud.toggleSelection();
+        },
+        rowDel(row) {
+            this.$confirm("确定将选择数据删除?", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning",
+            })
+                .then(() => {
+                    return remove(row.id);
+                })
+                .then(() => {
+                    this.onLoad(this.page);
+                    this.$message({
+                        type: "success",
+                        message: "操作成功!",
+                    });
+                });
+        },
+        beforeOpen(done, type) {
+            if (["view"].includes(type)) {
+                getDetail(this.form.id).then((res) => {
+                    this.form = res.data.data;
+                });
+            }
+            done();
+        },
+        onLoad(page, params = {}) {
+            this.loading = true;
+            getPage(
+                page.currentPage,
+                page.pageSize,
+                Object.assign(params, this.query)
+            ).then((res) => {
+                const data = res.data.data;
+                this.page.total = data.total;
+                this.data = data.records;
+                this.loading = false;
+                this.selectionClear();
+            });
+        },
+    },
+};
+</script>
+<style>
+.box {
+    height: 800px;
+}
+
+.el-scrollbar {
+    height: 100%;
+}
+
+.box .el-scrollbar__wrap {
+    overflow: scroll;
+}
+</style>

+ 163 - 0
src/views/baseinfo/map/dangerarea/dangerareaimport.vue

@@ -0,0 +1,163 @@
+<!--
+ * @Title: 
+ * @Description: 
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+    <div>
+        <el-row>
+            <el-col :span="24">
+                <basic-container>
+                    <avue-form :option="debugOption" v-model="debugForm" />
+                    <div style="color:gray;margin-top: 0px;">*数据导入操作任务在后台运行,请在提交数据文件后打开导入历史页面查看导入状态</div>
+                </basic-container>
+            </el-col>
+
+        </el-row>
+        <el-row>
+            <el-col :span="24">
+                <basic-container>
+                    <el-upload ref="upload" :action="uploadUrl" :on-preview="handlePreview" :on-remove="handleRemove"
+                        :before-upload="beforeUpload" :on-error="onError" :on-success="onSuccess" :file-list="fileList"
+                        :on-progress="onProgress" :auto-upload="false" :multiple="false" limit="1" accept=".geojson"
+                        :data="postData">
+                        <el-button slot="trigger" size="small" type="primary">选择危险区数据文件</el-button>
+                        <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">开始导入
+                        </el-button>
+                        <div slot="tip" class="el-upload__tip">只能上传图层数据集文件</div>
+                    </el-upload>
+                </basic-container>
+            </el-col>
+        </el-row>
+    </div>
+</template>
+
+<script>
+
+import { getToken } from "@/util/auth";
+
+
+export default {
+    data() {
+        return {
+            fileName: '',
+            editForm: {},
+            editDialog: false,
+            form: {},
+            selectionList: [],
+            query: {},
+            loading: true,
+            postData: {},
+            uploadUrl: '',
+            debugForm: {},
+            debugOption: {
+                labelWidth: 150,
+                submitBtn: false,
+                emptyBtn: false,
+                column: [
+                    {
+                        label: '导入备注',
+                        prop: 'remark',
+                        span: 24,
+                        rules: [{
+                            required: true,
+                            message: "危险区数据导入是重要的操作,为了记录必要的信息,请务必录入相关操作信息",
+                            trigger: "blur"
+                        }],
+                    },
+                    {
+                        label: '导入操作类型',
+                        prop: 'saveType',
+                        type: 'radio',
+                        span: 24,
+                        value: 0,
+                        dicData: [
+                            {
+                                label: '只新增',
+                                value: 0,
+                            },
+                            {
+                                label: '只更新',
+                                value: 1,
+                            },
+                            {
+                                label: '新增或更新',
+                                value: 2,
+                            }
+                        ],
+                        rules: [{
+                            required: true,
+                        }],
+                    },
+                ]
+            }
+        };
+    },
+    props: {
+        visible: {
+            tyep: [Boolean],
+            default: false,
+        },
+        importLoading: {
+            tyep: [Boolean],
+            default: false,
+        }
+    },
+    name: 'dangerAreaImportProcess',
+    created() {
+        this.init();
+    },
+    methods: {
+        init() {
+            this.uploadUrl = this.getUploadUrl();
+        },
+        submitUpload() {
+            this.postData['remark'] = this.debugForm.remark;
+            this.postData['saveType'] = this.debugForm.saveType;
+            this.$refs.upload.submit();
+
+        },
+        handleRemove(file, fileList) {
+            console.log(file, fileList);
+            // this.$message.success('handleRemove')
+        },
+        handlePreview(file) {
+            console.log(file);
+            //  this.$message.success('handlePreview')
+        },
+        beforeUpload(file) {
+            console.log(file);
+            // this.$message.success('beforeUpload')
+            return true;
+        },
+        getUploadUrl: function () {
+            return `/api/galaxy-business/map/manage/danger/import/json?${this.website.tokenHeader
+                }=${getToken()}`;
+        },
+        onProgress(event, file, fileList) {
+            console.log(fileList);
+            this.$emit("update:importLoading", true);
+        },
+        onError(err, file, fileList) {
+            console.log(fileList);
+            this.$message.warning(err);
+        },
+        onSuccess(response, file, fileList) {
+            console.log(fileList);
+            this.$message.success('已成功提交导入任务!')
+            this.$refs.upload.clearFiles();
+            this.$emit("update:importLoading", false);
+            this.$emit("update:visible", false);
+        },
+    },
+};
+</script>
+<style>
+.mb0 {
+    margin-top: 10;
+
+}
+</style>

+ 208 - 0
src/views/baseinfo/map/dangerarea/dangerareaimporthistory.vue

@@ -0,0 +1,208 @@
+<!--
+ * @Title: 
+ * @Description: 
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+    <div>
+        <el-row>
+            <el-col :span="24">
+                <basic-container>
+                    <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page"
+                        :before-open="beforeOpen" ref="crud" v-model="form" :permission="permissionList"
+                        @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
+                        @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
+                        @on-load="onLoad">
+                    </avue-crud>
+                </basic-container>
+            </el-col>
+        </el-row>
+    </div>
+</template>
+
+<script>
+
+import { getImportPage } from "@/api/baseinfo/map/dangerarea.js";
+export default {
+    components: {
+
+    },
+    data() {
+        return {
+            detailDialog: false,
+            loading: false,
+            id: "",
+            editForm: {},
+            editDialog: false,
+            form: {},
+            selectionList: [],
+            query: {},
+            page: {
+                pageSize: 10,
+                currentPage: 1,
+                total: 0,
+            },
+            option: {
+                labelWidth: 120,
+                viewLabelWidth: 100,
+                searchlabelWidth: 100,
+                height: "auto",
+                calcHeight: 80,
+                align: "center",
+                headerAlign: "center",
+                lazy: false,
+                tip: false,
+                simplePage: true,
+                searchShow: true,
+                searchMenuSpan: 6,
+                tree: true,
+                border: true,
+                index: true,
+                selection: false,
+                viewBtn: false,
+                viewTitle: "危险区导入",
+                editBtn: false,
+                delBtn: false,
+                addBtn: false,
+                menu: false,
+                menuWidth: 120,
+                dialogType: "drawer",
+                dialogClickModal: false,
+                columnBtn: false,
+                column: [
+                    {
+                        label: "导入结果",
+                        prop: "importStatus",
+                        span: 24,
+                        width: 120,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.importStatus === 0) {
+                                return '<b style="color:blue">导入中</b>'
+                            } else if (val.importStatus === 1) {
+                                return '<b style="color:green">导入成功</b>'
+                            } else if (val.importStatus === 2) {
+                                return '<b style="color:red">导入失败</b>'
+                            } else {
+                                return '';
+                            }
+                        },
+                    },
+                    {
+                        label: "操作用户",
+                        prop: "createUserName",
+                        span: 24,
+                        width: 120,
+                        editDisplay: false,
+                        addDisplay: false,
+                        hide: true,
+                    },
+                    {
+                        label: "导入时间",
+                        prop: "importTime",
+                        span: 24,
+                        width: 160,
+                    },
+                    {
+                        label: "导入说明",
+                        prop: "remark",
+                        span: 24,
+                        overHidden: true,
+                    },
+                    {
+                        label: "导入操作类型",
+                        prop: "saveType",
+                        span: 24,
+                        width: 120,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.saveType === 0) {
+                                return '<b style="color:blue">只新增</b>'
+                            } else if (val.saveType === 1) {
+                                return '<b style="color:red">只更新</b>'
+                            } else if (val.saveType === 2) {
+                                return '<b style="color:red">新增或更新</b>'
+                            } else {
+                                return '';
+                            }
+                        },
+                    },
+                    {
+                        label: "文件名称",
+                        prop: "fileName",
+                        span: 24,
+                        overHidden: true,
+                    },
+                ],
+            },
+            data: [],
+        };
+    },
+    computed: {
+        // ...mapGetters(["userInfo", "permission"]),
+        permissionList() {
+            return {
+                // addBtn: this.vaildData(this.permission.docCategory_add, false),
+                // viewBtn: this.vaildData(this.permission.docCategory_view, false),
+                // delBtn: this.vaildData(this.permission.docCategory_delete, false),
+                // editBtn: this.vaildData(this.permission.docCategory_edit, false),
+            };
+        },
+        ids() {
+            let ids = [];
+            this.selectionList.forEach((ele) => {
+                ids.push(ele.id);
+            });
+            return ids.join(",");
+        },
+    },
+    mounted() { },
+    created() {
+    },
+    methods: {
+        searchReset() {
+            this.query = {};
+            this.onLoad(this.page);
+        },
+        searchChange(params, done) {
+            this.query = params;
+            this.page.currentPage = 1;
+            this.onLoad(this.page, params);
+            done();
+        },
+        selectionChange(list) {
+            this.selectionList = list;
+        },
+        selectionClear() {
+            this.selectionList = [];
+            this.$refs.crud.toggleSelection();
+        },
+        currentChange(currentPage) {
+            this.page.currentPage = currentPage;
+        },
+        sizeChange(pageSize) {
+            this.page.pageSize = pageSize;
+        },
+        refreshChange() {
+            this.onLoad(this.page, this.query);
+        },
+        onLoad(page, params = {}) {
+            this.loading = true;
+            getImportPage(
+                page.currentPage,
+                page.pageSize,
+                Object.assign(params, this.query)
+            ).then((res) => {
+                const data = res.data.data;
+                this.page.total = data.total;
+                this.data = data.records;
+                this.loading = false;
+                this.selectionClear();
+            });
+        },
+    },
+};
+</script>

+ 228 - 0
src/views/baseinfo/map/leaveline/leaveline.vue

@@ -0,0 +1,228 @@
+<!--
+ * @Title: 
+ * @Description: 
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+    <div>
+        <el-row>
+            <el-col :span="24">
+                <basic-container>
+                    <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page"
+                        :before-open="beforeOpen" ref="crud" v-model="form" :permission="permissionList" @row-del="rowDel"
+                        @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
+                        @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
+                        @on-load="onLoad" @before-open="beforeOpen" @select-change="selectChange">
+                        <template slot-scope="scope" slot="menuLeft">
+                            <el-button v-if="permissionList.importBtn" type="primary" icon="el-icon-upload2" size="small"
+                                @click="toImpoartHandler">导入转移路线</el-button>
+                            <el-button v-if="permissionList.importBtn" type="primary" icon="el-icon-finished" size="small"
+                                @click="toImportHistoryHandler">导入历史</el-button>
+                        </template>
+                        <template slot-scope="{ row, index }" slot="menu">
+                            <el-button v-if="permission.order_change && row.orderClose == 0" style="color:orange"
+                                type="text" size="small" @click="toMap(row)" icon="el-icon-position">
+                                查看地图
+                            </el-button>
+                        </template>
+                    </avue-crud>
+                </basic-container>
+            </el-col>
+        </el-row>
+        <el-drawer :visible.sync="leaveLineImportHistoryDialog" v-if="leaveLineImportHistoryDialog" title="导入记录"
+            direction="rtl" size="60%" append-to-body="true">
+            <leavelineimporthistoryVue ref="leavelineimporthistoryView"></leavelineimporthistoryVue>
+        </el-drawer>
+        <el-dialog title="导入向导" :visible.sync="leaveLineImportDialog" width="60%" height="60%" :close-on-click-modal="false"
+            append-to-body :v-loading="importLoading" v-if="leaveLineImportDialog">
+            <leavelineimportVue :importLoading="importLoading" :visible.sync="leaveLineImportDialog"
+                ref="leavelineimportView">
+            </leavelineimportVue>
+        </el-dialog>
+    </div>
+</template>
+
+<script>
+import { getPage, remove, getDetail } from "@/api/baseinfo/map/leaveline.js";
+import { mapGetters } from "vuex";
+import leavelineimportVue from './leavelineimport.vue';
+import leavelineimporthistoryVue from "./leavelineimporthistory.vue"
+export default {
+    components: {
+        leavelineimportVue,
+        leavelineimporthistoryVue,
+    },
+    data() {
+        return {
+            importLoading: false,
+            leaveLineImportDialog: false,
+            leaveLineImportHistoryDialog: false,
+            id: "",
+            post_code: '0',
+            form: {},
+            selectionList: [],
+            query: {},
+            loading: true,
+            page: {
+                pageSize: 10,
+                currentPage: 1,
+                total: 0,
+            },
+            option: {
+                labelWidth: 140,
+                viewLabelWidth: 140,
+                searchLabelWidth: 140,
+                height: "auto",
+                calcHeight: 80,
+                align: "center",
+                headerAlign: "center",
+                lazy: false,
+                tip: false,
+                simplePage: true,
+                searchShow: true,
+                searchMenuSpan: 6,
+                tree: true,
+                border: true,
+                index: true,
+                selection: false,
+                viewBtn: false,
+                editBtn: false,
+                delBtn: true,
+                addBtn: false,
+                menuWidth: 220,
+                dialogType: "drawer",
+                dialogClickModal: false,
+                columnBtn: false,
+                column: [
+                    {
+                        label: "转移路线名称",
+                        prop: "leaveLineName",
+                        search: true,
+                        span: 24,
+                    },
+                    {
+                        label: "行政区编码",
+                        prop: "adcd",
+                        span: 24,
+                    },
+                    {
+                        label: "行政区名称",
+                        prop: "adnm",
+                        span: 24,
+                    },
+                ],
+            },
+            data: [],
+        };
+    },
+    computed: {
+        ...mapGetters(["userInfo", "permission"]),
+        permissionList() {
+            return {
+                importBtn: this.vaildData(this.permission.danger_area_leave_line_import, false),
+            };
+        },
+    },
+    created() {
+
+    },
+    methods: {
+        toImpoartHandler() {
+            this.leaveLineImportDialog = true;
+        },
+        toImportHistoryHandler() {
+            this.leaveLineImportHistoryDialog = true;
+        },
+        toMap(item) {
+            console.log(JSON.stringify(item));
+        },
+        searchReset() {
+            this.query = {};
+            this.page.currentPage = 1;
+            this.onLoad(this.page);
+        },
+        searchChange(params, done) {
+            this.query = params;
+            this.page.currentPage = 1;
+            this.onLoad(this.page, params);
+            done();
+        },
+        currentChange(currentPage) {
+            console.log("currentPage " + currentPage);
+            this.page.currentPage = currentPage;
+        },
+        sizeChange(pageSize) {
+            this.page.pageSize = pageSize;
+        },
+        refreshChange() {
+            var params = {};
+            this.onLoad(this.page, params);
+        },
+        selectionChange(list) {
+            this.selectionList = list;
+        },
+        selectChange(item) {
+            console.log(JSON.stringify(item));
+        },
+        selectionClear() {
+            this.selectionList = [];
+            this.$refs.crud.toggleSelection();
+        },
+        rowDel(row) {
+            this.$confirm("确定将选择数据删除?", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning",
+            })
+                .then(() => {
+                    return remove(row.id);
+                })
+                .then(() => {
+                    this.onLoad(this.page);
+                    this.$message({
+                        type: "success",
+                        message: "操作成功!",
+                    });
+                });
+        },
+        beforeOpen(done, type) {
+            if (["view"].includes(type)) {
+                getDetail(this.form.id).then((res) => {
+                    this.form = res.data.data;
+                });
+            }
+            done();
+        },
+        onLoad(page, params = {}) {
+            this.loading = true;
+            getPage(
+                page.currentPage,
+                page.pageSize,
+                Object.assign(params, this.query)
+            ).then((res) => {
+                const data = res.data.data;
+                this.page.total = data.total;
+                this.data = data.records;
+                this.loading = false;
+                this.selectionClear();
+            });
+        },
+    },
+};
+</script>
+<style>
+.box {
+    height: 800px;
+}
+
+.el-scrollbar {
+    height: 100%;
+}
+
+.box .el-scrollbar__wrap {
+    overflow: scroll;
+}
+</style>

+ 162 - 0
src/views/baseinfo/map/leaveline/leavelineimport.vue

@@ -0,0 +1,162 @@
+<!--
+ * @Title: 
+ * @Description: 
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+    <div>
+        <el-row>
+            <el-col :span="24">
+                <basic-container>
+                    <avue-form :option="debugOption" v-model="debugForm" />
+                    <div style="color:gray;margin-top: 0px;">*数据导入操作任务在后台运行,请在提交数据文件后打开导入历史页面查看导入状态</div>
+                </basic-container>
+            </el-col>
+
+        </el-row>
+        <el-row>
+            <el-col :span="24">
+                <basic-container>
+                    <el-upload ref="upload" :action="uploadUrl" :on-preview="handlePreview" :on-remove="handleRemove"
+                        :before-upload="beforeUpload" :on-error="onError" :on-success="onSuccess" :file-list="fileList"
+                        :on-progress="onProgress" :auto-upload="false" :multiple="false" limit="1" accept=".geojson"
+                        :data="postData">
+                        <el-button slot="trigger" size="small" type="primary">选择转移路线数据文件</el-button>
+                        <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">开始导入
+                        </el-button>
+                        <div slot="tip" class="el-upload__tip">只能上传图层数据集文件</div>
+                    </el-upload>
+                </basic-container>
+            </el-col>
+        </el-row>
+    </div>
+</template>
+
+<script>
+
+import { getToken } from "@/util/auth";
+
+
+export default {
+    data() {
+        return {
+            fileName: '',
+            editForm: {},
+            editDialog: false,
+            form: {},
+            selectionList: [],
+            query: {},
+            loading: true,
+            postData: {},
+            uploadUrl: '',
+            debugForm: {},
+            debugOption: {
+                labelWidth: 150,
+                submitBtn: false,
+                emptyBtn: false,
+                column: [
+                    {
+                        label: '导入备注',
+                        prop: 'remark',
+                        span: 24,
+                        rules: [{
+                            required: true,
+                            message: "转移路线数据导入是重要的操作,为了记录必要的信息,请务必录入相关操作信息",
+                            trigger: "blur"
+                        }],
+                    },
+                    {
+                        label: '导入操作类型',
+                        prop: 'saveType',
+                        type: 'radio',
+                        span: 24,
+                        value: 0,
+                        dicData: [
+                            {
+                                label: '只新增',
+                                value: 0,
+                            },
+                            {
+                                label: '只更新',
+                                value: 1,
+                            },
+                            {
+                                label: '新增或更新',
+                                value: 2,
+                            }
+                        ],
+                        rules: [{
+                            required: true,
+                        }],
+                    },
+                ]
+            }
+        };
+    },
+    props: {
+        visible: {
+            tyep: [Boolean],
+            default: false,
+        },
+        importLoading: {
+            tyep: [Boolean],
+            default: false,
+        }
+    },
+    created() {
+        this.init();
+    },
+    methods: {
+        init() {
+            this.uploadUrl = this.getUploadUrl();
+        },
+        submitUpload() {
+            this.postData['remark'] = this.debugForm.remark;
+            this.postData['saveType'] = this.debugForm.saveType;
+            this.$refs.upload.submit();
+
+        },
+        handleRemove(file, fileList) {
+            console.log(file, fileList);
+            // this.$message.success('handleRemove')
+        },
+        handlePreview(file) {
+            console.log(file);
+            //  this.$message.success('handlePreview')
+        },
+        beforeUpload(file) {
+            console.log(file);
+            // this.$message.success('beforeUpload')
+            return true;
+        },
+        getUploadUrl: function () {
+            return `/api/galaxy-business/map/leaveline/import/json?${this.website.tokenHeader
+                }=${getToken()}`;
+        },
+        onProgress(event, file, fileList) {
+            console.log(fileList);
+            this.$emit("update:importLoading", true);
+        },
+        onError(err, file, fileList) {
+            console.log(fileList);
+            this.$message.warning(err);
+        },
+        onSuccess(response, file, fileList) {
+            console.log(fileList);
+            this.$message.success('已成功提交导入任务!')
+            this.$refs.upload.clearFiles();
+            this.$emit("update:importLoading", false);
+            this.$emit("update:visible", false);
+        },
+    },
+};
+</script>
+<style>
+.mb0 {
+    margin-top: 10;
+
+}
+</style>

+ 209 - 0
src/views/baseinfo/map/leaveline/leavelineimporthistory.vue

@@ -0,0 +1,209 @@
+<!--
+ * @Title: 
+ * @Description: 
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+    <div>
+        <el-row>
+            <el-col :span="24">
+                <basic-container>
+                    <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page"
+                        :before-open="beforeOpen" ref="crud" v-model="form" :permission="permissionList"
+                        @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
+                        @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
+                        @on-load="onLoad">
+                    </avue-crud>
+                </basic-container>
+            </el-col>
+        </el-row>
+    </div>
+</template>
+
+<script>
+
+import { getImportPage } from "@/api/baseinfo/map/leaveline.js";
+
+export default {
+    components: {
+
+    },
+    data() {
+        return {
+            detailDialog: false,
+            loading: false,
+            id: "",
+            editForm: {},
+            editDialog: false,
+            form: {},
+            selectionList: [],
+            query: {},
+            page: {
+                pageSize: 10,
+                currentPage: 1,
+                total: 0,
+            },
+            option: {
+                labelWidth: 120,
+                viewLabelWidth: 100,
+                searchlabelWidth: 100,
+                height: "auto",
+                calcHeight: 80,
+                align: "center",
+                headerAlign: "center",
+                lazy: false,
+                tip: false,
+                simplePage: true,
+                searchShow: true,
+                searchMenuSpan: 6,
+                tree: true,
+                border: true,
+                index: true,
+                selection: false,
+                viewBtn: false,
+                viewTitle: "危险区导入",
+                editBtn: false,
+                delBtn: false,
+                addBtn: false,
+                menu: false,
+                menuWidth: 120,
+                dialogType: "drawer",
+                dialogClickModal: false,
+                columnBtn: false,
+                column: [
+                    {
+                        label: "导入结果",
+                        prop: "importStatus",
+                        span: 24,
+                        width: 120,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.importStatus === 0) {
+                                return '<b style="color:blue">导入中</b>'
+                            } else if (val.importStatus === 1) {
+                                return '<b style="color:green">导入成功</b>'
+                            } else if (val.importStatus === 2) {
+                                return '<b style="color:red">导入失败</b>'
+                            } else {
+                                return '';
+                            }
+                        },
+                    },
+                    {
+                        label: "操作用户",
+                        prop: "createUserName",
+                        span: 24,
+                        width: 120,
+                        editDisplay: false,
+                        addDisplay: false,
+                        hide: true,
+                    },
+                    {
+                        label: "导入时间",
+                        prop: "importTime",
+                        span: 24,
+                        width: 160,
+                    },
+                    {
+                        label: "导入说明",
+                        prop: "remark",
+                        span: 24,
+                        overHidden: true,
+                    },
+                    {
+                        label: "导入操作类型",
+                        prop: "saveType",
+                        span: 24,
+                        width: 120,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.saveType === 0) {
+                                return '<b style="color:blue">只新增</b>'
+                            } else if (val.saveType === 1) {
+                                return '<b style="color:red">只更新</b>'
+                            } else if (val.saveType === 2) {
+                                return '<b style="color:red">新增或更新</b>'
+                            } else {
+                                return '';
+                            }
+                        },
+                    },
+                    {
+                        label: "文件名称",
+                        prop: "fileName",
+                        span: 24,
+                        overHidden: true,
+                    },
+                ],
+            },
+            data: [],
+        };
+    },
+    computed: {
+        // ...mapGetters(["userInfo", "permission"]),
+        permissionList() {
+            return {
+                // addBtn: this.vaildData(this.permission.docCategory_add, false),
+                // viewBtn: this.vaildData(this.permission.docCategory_view, false),
+                // delBtn: this.vaildData(this.permission.docCategory_delete, false),
+                // editBtn: this.vaildData(this.permission.docCategory_edit, false),
+            };
+        },
+        ids() {
+            let ids = [];
+            this.selectionList.forEach((ele) => {
+                ids.push(ele.id);
+            });
+            return ids.join(",");
+        },
+    },
+    mounted() { },
+    created() {
+    },
+    methods: {
+        searchReset() {
+            this.query = {};
+            this.onLoad(this.page);
+        },
+        searchChange(params, done) {
+            this.query = params;
+            this.page.currentPage = 1;
+            this.onLoad(this.page, params);
+            done();
+        },
+        selectionChange(list) {
+            this.selectionList = list;
+        },
+        selectionClear() {
+            this.selectionList = [];
+            this.$refs.crud.toggleSelection();
+        },
+        currentChange(currentPage) {
+            this.page.currentPage = currentPage;
+        },
+        sizeChange(pageSize) {
+            this.page.pageSize = pageSize;
+        },
+        refreshChange() {
+            this.onLoad(this.page, this.query);
+        },
+        onLoad(page, params = {}) {
+            this.loading = true;
+            getImportPage(
+                page.currentPage,
+                page.pageSize,
+                Object.assign(params, this.query)
+            ).then((res) => {
+                const data = res.data.data;
+                this.page.total = data.total;
+                this.data = data.records;
+                this.loading = false;
+                this.selectionClear();
+            });
+        },
+    },
+};
+</script>

+ 269 - 0
src/views/baseinfo/map/region/mapregion.vue

@@ -0,0 +1,269 @@
+<!--
+ * @Title: 
+ * @Description: 
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+    <div>
+        <el-row>
+            <el-col :span="24">
+                <basic-container>
+                    <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page"
+                        :before-open="beforeOpen" ref="crud" v-model="form" :permission="permissionList" @row-del="rowDel"
+                        @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
+                        @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
+                        @on-load="onLoad" @before-open="beforeOpen" @select-change="selectChange">
+                        <template slot-scope="scope" slot="menuLeft">
+                            <el-button v-if="permissionList.importBtn" type="primary" icon="el-icon-upload2" size="small"
+                                @click="toImpoartHandler">导入行政区</el-button>
+                            <el-button v-if="permissionList.importBtn" type="primary" icon="el-icon-finished" size="small"
+                                @click="toImportHistoryHandler">导入历史</el-button>
+                        </template>
+                        <template slot-scope="{ row, index }" slot="menu">
+                            <el-button v-if="permission.order_change && row.orderClose == 0" style="color:orange"
+                                type="text" size="small" @click="toMap(row)" icon="el-icon-position">
+                                查看地图
+                            </el-button>
+                        </template>
+                    </avue-crud>
+                </basic-container>
+            </el-col>
+        </el-row>
+        <el-drawer :visible.sync="regionImportHistoryDialog" v-if="regionImportHistoryDialog" title="导入记录" direction="rtl"
+            size="60%" append-to-body="true">
+            <mapregionimporthistoryVue ref="mapregionimporthistoryView"></mapregionimporthistoryVue>
+        </el-drawer>
+        <el-dialog title="导入向导" :visible.sync="regionImportDialog" width="60%" height="60%" :close-on-click-modal="false"
+            append-to-body :v-loading="importLoading" v-if="regionImportDialog">
+            <mapregionimportVue :importLoading="importLoading" :visible.sync="regionImportDialog" ref="mapregionimportView">
+            </mapregionimportVue>
+        </el-dialog>
+    </div>
+</template>
+
+<script>
+import { getPage, remove, getDetail } from "@/api/baseinfo/map/mapregion.js";
+import { mapGetters } from "vuex";
+import mapregionimportVue from './mapregionimport.vue';
+import mapregionimporthistoryVue from "./mapregionimporthistory.vue"
+export default {
+    components: {
+        mapregionimportVue,
+        mapregionimporthistoryVue,
+    },
+    data() {
+        return {
+            importLoading: false,
+            regionImportDialog: false,
+            regionImportHistoryDialog: false,
+            id: "",
+            post_code: '0',
+            form: {},
+            selectionList: [],
+            query: {},
+            loading: true,
+            page: {
+                pageSize: 10,
+                currentPage: 1,
+                total: 0,
+            },
+            option: {
+                labelWidth: 140,
+                viewLabelWidth: 140,
+                searchLabelWidth: 140,
+                height: "auto",
+                calcHeight: 80,
+                align: "center",
+                headerAlign: "center",
+                lazy: false,
+                tip: false,
+                simplePage: true,
+                searchShow: true,
+                searchMenuSpan: 6,
+                tree: true,
+                border: true,
+                index: true,
+                selection: false,
+                viewBtn: false,
+                editBtn: false,
+                delBtn: true,
+                addBtn: false,
+                menuWidth: 220,
+                dialogType: "drawer",
+                dialogClickModal: false,
+                columnBtn: false,
+                column: [
+                    {
+                        label: "行政区编码",
+                        prop: "adcd",
+                        span: 24,
+                    },
+                    {
+                        label: "行政区名称",
+                        prop: "adnm",
+                        search: true,
+                        span: 24,
+                    },
+
+                    {
+                        label: "盟市行政区划编码",
+                        prop: "cityAdcd",
+                        span: 24,
+                    },
+                    {
+                        label: "盟市行政区划名称",
+                        prop: "cityAdnm",
+                        search: true,
+                        span: 24,
+                    },
+                    {
+                        label: "区县行政区划编码",
+                        prop: "districtAdcd",
+                        span: 24,
+                    },
+                    {
+                        label: "区县行政区划名称",
+                        prop: "districtAdnm",
+                        search: true,
+                        span: 24,
+                    },
+                    {
+                        label: "经纬度",
+                        prop: "centerPointLng",
+                        span: 24,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.centerPointLng && val.centerPointLat) {
+                                return val.centerPointLng + "/" + val.centerPointLat;
+                            } else {
+                                return "";
+                            }
+                        }
+                    },
+                    {
+                        label: "经纬度",
+                        prop: "centerPointLat",
+                        hide: true,
+                        span: 24,
+                    },
+                ],
+            },
+            data: [],
+        };
+    },
+    computed: {
+        ...mapGetters(["userInfo", "permission"]),
+        permissionList() {
+            return {
+                importBtn: this.vaildData(this.permission.map_region_import, false),
+            };
+        },
+    },
+    created() {
+
+    },
+    methods: {
+        toImpoartHandler() {
+            this.regionImportDialog = true;
+        },
+        toImportHistoryHandler() {
+            this.regionImportHistoryDialog = true;
+        },
+        toMap(item) {
+            console.log(JSON.stringify(item));
+            // this.videoSiteAddDialog = true;
+            // this.$nextTick(() => {
+            //     this.$refs["videositeadd"].init();
+            // });
+        },
+        searchReset() {
+            this.query = {};
+            this.page.currentPage = 1;
+            this.onLoad(this.page);
+        },
+        searchChange(params, done) {
+            this.query = params;
+            this.page.currentPage = 1;
+            this.onLoad(this.page, params);
+            done();
+        },
+        currentChange(currentPage) {
+            console.log("currentPage " + currentPage);
+            this.page.currentPage = currentPage;
+        },
+        sizeChange(pageSize) {
+            this.page.pageSize = pageSize;
+        },
+        refreshChange() {
+            var params = {};
+            this.onLoad(this.page, params);
+        },
+        selectionChange(list) {
+            this.selectionList = list;
+        },
+        selectChange(item) {
+            console.log(JSON.stringify(item));
+        },
+        selectionClear() {
+            this.selectionList = [];
+            this.$refs.crud.toggleSelection();
+        },
+        rowDel(row) {
+            this.$confirm("确定将选择数据删除?", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning",
+            })
+                .then(() => {
+                    return remove(row.id);
+                })
+                .then(() => {
+                    this.onLoad(this.page);
+                    this.$message({
+                        type: "success",
+                        message: "操作成功!",
+                    });
+                });
+        },
+        beforeOpen(done, type) {
+            if (["view"].includes(type)) {
+                getDetail(this.form.id).then((res) => {
+                    this.form = res.data.data;
+                });
+            }
+            done();
+        },
+        onLoad(page, params = {}) {
+            this.loading = true;
+            getPage(
+                page.currentPage,
+                page.pageSize,
+                Object.assign(params, this.query)
+            ).then((res) => {
+                const data = res.data.data;
+                this.page.total = data.total;
+                this.data = data.records;
+                this.loading = false;
+                this.selectionClear();
+            });
+        },
+    },
+};
+</script>
+<style>
+.box {
+    height: 800px;
+
+}
+
+.el-scrollbar {
+    height: 100%;
+}
+
+.box .el-scrollbar__wrap {
+    overflow: scroll;
+}
+</style>

+ 193 - 0
src/views/baseinfo/map/region/mapregionimport.vue

@@ -0,0 +1,193 @@
+<!--
+ * @Title: 
+ * @Description: 
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+    <div>
+        <el-row>
+            <el-col :span="24">
+                <basic-container>
+                    <avue-form :option="debugOption" v-model="debugForm" />
+                    <div style="color:gray;margin-top: 0px;">*数据导入操作任务在后台运行,请在提交数据文件后打开导入历史页面查看导入状态</div>
+                </basic-container>
+            </el-col>
+
+        </el-row>
+        <el-row>
+            <el-col :span="24">
+                <basic-container>
+                    <el-upload ref="upload" :action="uploadUrl" :on-preview="handlePreview" :on-remove="handleRemove"
+                        :before-upload="beforeUpload" :on-error="onError" :on-success="onSuccess" :file-list="fileList"
+                        :on-progress="onProgress" :auto-upload="false" :multiple="false" limit="1" accept=".geojson"
+                        :data="postData">
+                        <el-button slot="trigger" size="small" type="primary">选择行政区数据文件</el-button>
+                        <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">开始导入
+                        </el-button>
+                        <div slot="tip" class="el-upload__tip">只能上传图层数据集文件</div>
+                    </el-upload>
+                </basic-container>
+            </el-col>
+        </el-row>
+    </div>
+</template>
+
+<script>
+
+import { getToken } from "@/util/auth";
+
+
+export default {
+    data() {
+        return {
+            fileName: '',
+            editForm: {},
+            editDialog: false,
+            form: {},
+            selectionList: [],
+            query: {},
+            loading: true,
+            postData: {},
+            uploadUrl: '',
+            debugForm: {},
+            debugOption: {
+                labelWidth: 150,
+                submitBtn: false,
+                emptyBtn: false,
+                column: [
+                    {
+                        label: '导入备注',
+                        prop: 'remark',
+                        span: 24,
+                        rules: [{
+                            required: true,
+                            message: "行政区数据导入是重要的操作,为了记录必要的信息,请务必录入相关操作信息",
+                            trigger: "blur"
+                        }],
+                    },
+                    {
+                        label: '导入操作类型',
+                        prop: 'saveType',
+                        type: 'radio',
+                        span: 24,
+                        value: 0,
+                        dicData: [
+                            {
+                                label: '只新增',
+                                value: 0,
+                            },
+                            {
+                                label: '只更新',
+                                value: 1,
+                            },
+                            {
+                                label: '新增或更新',
+                                value: 2,
+                            }
+                        ],
+                        rules: [{
+                            required: true,
+                        }],
+                    },
+                    {
+                        label: '行政区类型',
+                        prop: 'adType',
+                        type: 'radio',
+                        span: 24,
+                        value: 0,
+                        dicData: [
+                            {
+                                label: '自治区',
+                                value: 1,
+                            },
+                            {
+                                label: '盟市',
+                                value: 2,
+                            },
+                            {
+                                label: '区县旗',
+                                value: 3,
+                            }
+                            ,
+                            {
+                                label: '乡镇',
+                                value: 4,
+                            }
+                        ],
+                        rules: [{
+                            required: true,
+                        }],
+                    },
+                ]
+            }
+        };
+    },
+    props: {
+        visible: {
+            tyep: [Boolean],
+            default: false,
+        },
+        importLoading: {
+            tyep: [Boolean],
+            default: false,
+        }
+    },
+    name: 'dangerAreaImportProcess',
+    created() {
+        this.init();
+    },
+    methods: {
+        init() {
+            this.uploadUrl = this.getUploadUrl();
+        },
+        submitUpload() {
+            this.postData['remark'] = this.debugForm.remark;
+            this.postData['saveType'] = this.debugForm.saveType;
+            this.postData['adType'] = this.debugForm.adType;
+            this.$refs.upload.submit();
+
+        },
+        handleRemove(file, fileList) {
+            console.log(file, fileList);
+            // this.$message.success('handleRemove')
+        },
+        handlePreview(file) {
+            console.log(file);
+            //  this.$message.success('handlePreview')
+        },
+        beforeUpload(file) {
+            console.log(file);
+            // this.$message.success('beforeUpload')
+            return true;
+        },
+        getUploadUrl: function () {
+            return `/api/galaxy-business/map/region/import/json?${this.website.tokenHeader
+                }=${getToken()}`;
+        },
+        onProgress(event, file, fileList) {
+            console.log(fileList);
+            this.$emit("update:importLoading", true);
+        },
+        onError(err, file, fileList) {
+            console.log(fileList);
+            this.$message.warning(err);
+        },
+        onSuccess(response, file, fileList) {
+            console.log(fileList);
+            this.$message.success('已成功提交导入任务!')
+            this.$refs.upload.clearFiles();
+            this.$emit("update:importLoading", false);
+            this.$emit("update:visible", false);
+        },
+    },
+};
+</script>
+<style>
+.mb0 {
+    margin-top: 10;
+
+}
+</style>

+ 209 - 0
src/views/baseinfo/map/region/mapregionimporthistory.vue

@@ -0,0 +1,209 @@
+<!--
+ * @Title: 
+ * @Description: 
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+    <div>
+        <el-row>
+            <el-col :span="24">
+                <basic-container>
+                    <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page"
+                        :before-open="beforeOpen" ref="crud" v-model="form" :permission="permissionList"
+                        @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
+                        @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
+                        @on-load="onLoad">
+                    </avue-crud>
+                </basic-container>
+            </el-col>
+        </el-row>
+    </div>
+</template>
+
+<script>
+
+import { getImportPage } from "@/api/baseinfo/map/mapregion.js";
+
+export default {
+    components: {
+
+    },
+    data() {
+        return {
+            detailDialog: false,
+            loading: false,
+            id: "",
+            editForm: {},
+            editDialog: false,
+            form: {},
+            selectionList: [],
+            query: {},
+            page: {
+                pageSize: 10,
+                currentPage: 1,
+                total: 0,
+            },
+            option: {
+                labelWidth: 120,
+                viewLabelWidth: 100,
+                searchlabelWidth: 100,
+                height: "auto",
+                calcHeight: 80,
+                align: "center",
+                headerAlign: "center",
+                lazy: false,
+                tip: false,
+                simplePage: true,
+                searchShow: true,
+                searchMenuSpan: 6,
+                tree: true,
+                border: true,
+                index: true,
+                selection: false,
+                viewBtn: false,
+                viewTitle: "危险区导入",
+                editBtn: false,
+                delBtn: false,
+                addBtn: false,
+                menu: false,
+                menuWidth: 120,
+                dialogType: "drawer",
+                dialogClickModal: false,
+                columnBtn: false,
+                column: [
+                    {
+                        label: "导入结果",
+                        prop: "importStatus",
+                        span: 24,
+                        width: 120,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.importStatus === 0) {
+                                return '<b style="color:blue">导入中</b>'
+                            } else if (val.importStatus === 1) {
+                                return '<b style="color:green">导入成功</b>'
+                            } else if (val.importStatus === 2) {
+                                return '<b style="color:red">导入失败</b>'
+                            } else {
+                                return '';
+                            }
+                        },
+                    },
+                    {
+                        label: "操作用户",
+                        prop: "createUserName",
+                        span: 24,
+                        width: 120,
+                        editDisplay: false,
+                        addDisplay: false,
+                        hide: true,
+                    },
+                    {
+                        label: "导入时间",
+                        prop: "importTime",
+                        span: 24,
+                        width: 160,
+                    },
+                    {
+                        label: "导入说明",
+                        prop: "remark",
+                        span: 24,
+                        overHidden: true,
+                    },
+                    {
+                        label: "导入操作类型",
+                        prop: "saveType",
+                        span: 24,
+                        width: 120,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.saveType === 0) {
+                                return '<b style="color:blue">只新增</b>'
+                            } else if (val.saveType === 1) {
+                                return '<b style="color:red">只更新</b>'
+                            } else if (val.saveType === 2) {
+                                return '<b style="color:red">新增或更新</b>'
+                            } else {
+                                return '';
+                            }
+                        },
+                    },
+                    {
+                        label: "文件名称",
+                        prop: "fileName",
+                        span: 24,
+                        overHidden: true,
+                    },
+                ],
+            },
+            data: [],
+        };
+    },
+    computed: {
+        // ...mapGetters(["userInfo", "permission"]),
+        permissionList() {
+            return {
+                // addBtn: this.vaildData(this.permission.docCategory_add, false),
+                // viewBtn: this.vaildData(this.permission.docCategory_view, false),
+                // delBtn: this.vaildData(this.permission.docCategory_delete, false),
+                // editBtn: this.vaildData(this.permission.docCategory_edit, false),
+            };
+        },
+        ids() {
+            let ids = [];
+            this.selectionList.forEach((ele) => {
+                ids.push(ele.id);
+            });
+            return ids.join(",");
+        },
+    },
+    mounted() { },
+    created() {
+    },
+    methods: {
+        searchReset() {
+            this.query = {};
+            this.onLoad(this.page);
+        },
+        searchChange(params, done) {
+            this.query = params;
+            this.page.currentPage = 1;
+            this.onLoad(this.page, params);
+            done();
+        },
+        selectionChange(list) {
+            this.selectionList = list;
+        },
+        selectionClear() {
+            this.selectionList = [];
+            this.$refs.crud.toggleSelection();
+        },
+        currentChange(currentPage) {
+            this.page.currentPage = currentPage;
+        },
+        sizeChange(pageSize) {
+            this.page.pageSize = pageSize;
+        },
+        refreshChange() {
+            this.onLoad(this.page, this.query);
+        },
+        onLoad(page, params = {}) {
+            this.loading = true;
+            getImportPage(
+                page.currentPage,
+                page.pageSize,
+                Object.assign(params, this.query)
+            ).then((res) => {
+                const data = res.data.data;
+                this.page.total = data.total;
+                this.data = data.records;
+                this.loading = false;
+                this.selectionClear();
+            });
+        },
+    },
+};
+</script>

+ 6 - 3
src/views/baseinfo/rtu/index.vue

@@ -233,14 +233,17 @@ export default {
                             name: '雨量站',
                             code: "1"
                         }, {
-                            name: '水位站',
+                            name: '河道水位站',
                             code: "2"
                         }, {
-                            name: '墒情站',
+                            name: '水库水位站',
                             code: "3"
                         }, {
-                            name: '视频站',
+                            name: '墒情站',
                             code: "4"
+                        }, {
+                            name: '视频站',
+                            code: "5"
                         }],
                         rules: [
                             {

+ 28 - 12
src/views/business/data/rainDataCache.vue

@@ -33,7 +33,16 @@
                         @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange"
                         @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad"
                         @select-change="selectChange" @sort-change="sortChange">
-
+                        <template slot-scope="scope" slot="menuLeft">
+                            <el-radio-group v-model="rainCountType" @change="counttypehandle">
+                                <el-radio :label="0">默认</el-radio>
+                                <el-radio :label="1">近1小时</el-radio>
+                                <el-radio :label="3">近3小时</el-radio>
+                                <el-radio :label="6">近6小时</el-radio>
+                                <el-radio :label="12">近12小时</el-radio>
+                                <el-radio :label="24">近24小时</el-radio>
+                            </el-radio-group>
+                        </template>
                     </avue-crud>
                 </basic-container>
             </el-col>
@@ -52,6 +61,7 @@ export default {
     data() {
         return {
             id: "",
+            rainCountType: 0,
             form: {},
             selectionList: [],
             query: {},
@@ -156,18 +166,18 @@ export default {
                     },
                     {
                         label: "时段长",
-                        prop: "intv",
+                        prop: "intvLable",
                         span: 24,
-                        html: true,
-                        formatter: (val) => {
-                            if (val.intv === 1.0) {
-                                return '<b>1小时</b>'
-                            } if (val.intv === 0.05) {
-                                return '<b>5分钟</b>'
-                            } else {
-                                return '';
-                            }
-                        }
+                        // html: true,
+                        // formatter: (val) => {
+                        //     if (val.intv === 1.0) {
+                        //         return '<b>1小时</b>'
+                        //     } if (val.intv === 0.05) {
+                        //         return '<b>5分钟</b>'
+                        //     } else {
+                        //         return '';
+                        //     }
+                        // }
                     },
                     {
                         label: "时段降水量",
@@ -258,6 +268,11 @@ export default {
                 this.onLoad(this.page, params);
             }
         },
+        counttypehandle(value) {
+            console.log("counttype ", value)
+            this.page.currentPage = 1;
+            this.onLoad(this.page);
+        },
         nodeClick(data) {
             this.treeCode = data.id;
             this.treeParentCode = data.parentId;
@@ -299,6 +314,7 @@ export default {
         },
         onLoad(page, params = {}) {
             this.loading = true;
+            params['rainCountType'] = this.rainCountType;
             getPage(
                 page.currentPage,
                 page.pageSize,

+ 1 - 1
src/views/business/data/riverDataCache.vue

@@ -226,7 +226,7 @@ export default {
         },
         sortChange(val) {
             // this.$message.success(JSON.stringify(val));
-            console.log(JSON.stringify(val))
+            //console.log(JSON.stringify(val))
             //prop":"tm","order":"ascending"  descending
             let prop = val.prop;
             if (prop === 'wlTm') {

+ 14 - 4
src/views/business/inspection/inspectionreportlist.vue

@@ -114,15 +114,24 @@ export default {
                     {
                         label: "测站编码",
                         prop: "rtuCode",
-                        span: 12,
+                        span: 24,
                         search: true,
-                        width: 120,
+                        width: 160,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.rtuName) {
+                                return '<b>' + val.rtuName + '</b>' + '<b>【' + val.rtuCode + '】</b>'
+                            } else {
+                                return '<b>' + val.rtuCode + '</b>'
+                            }
+                        }
                     },
                     {
                         label: "测站名称",
                         prop: "rtuName",
                         span: 12,
                         search: true,
+                        hide: true,
                         // html: true,
                         // formatter: (val) => {
                         //     if (val.rtuName) {
@@ -141,7 +150,7 @@ export default {
                         label: "填报时间",
                         prop: "createTime",
                         span: 24,
-
+                        width: 150,
                     },
                     {
                         label: "行政区",
@@ -150,7 +159,7 @@ export default {
                         html: true,
                         formatter: (val) => {
                             if (val.adCity) {
-                                return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
+                                return '<b style="color: gray;">' + val.adCity + '</b>/' + '<b style="color: gray;">' + val.adDist + '</b>'
                             } else {
                                 return '<b></b>'
                             }
@@ -240,6 +249,7 @@ export default {
         },
         onLoad(page, params = {}) {
             this.loading = true;
+            params['rainSeasonKind'] = this.rainSeasonKind;
             getPage(
                 page.currentPage,
                 page.pageSize,

+ 13 - 3
src/views/business/inspection/todaynspectionrportlist.vue

@@ -69,7 +69,7 @@ export default {
                 index: true,
                 editBtn: false,
                 delBtn: false,
-                menuWidth: 200,
+                menuWidth: 120,
                 dialogType: "drawer",
                 dialogClickModal: false,
                 columnBtn: false,
@@ -80,13 +80,22 @@ export default {
                         prop: "rtuCode",
                         span: 24,
                         search: true,
-                        width: 120,
+                        width: 160,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.rtuName) {
+                                return '<b>' + val.rtuName + '</b>' + '<b>【' + val.rtuCode + '】</b>'
+                            } else {
+                                return '<b>' + val.rtuCode + '</b>'
+                            }
+                        }
                     },
                     {
                         label: "测站名称",
                         prop: "rtuName",
                         span: 24,
                         search: true,
+                        hide: true,
                     },
                     {
                         label: "行政区",
@@ -115,6 +124,7 @@ export default {
                         label: "填报时间",
                         prop: "updateTime",
                         span: 24,
+                        width: 150
                     },
                 ],
             },
@@ -176,7 +186,7 @@ export default {
         },
         onLoad(page, params = {}) {
             this.loading = true;
-            console.log(params)
+            //console.log(params)
             todayInspectionReportPage(
                 page.currentPage,
                 page.pageSize,

+ 9 - 11
src/views/business/manage/realdatadetail.vue

@@ -29,7 +29,7 @@
                 </el-form-item>
             </el-card>
 
-            <el-card v-if="isRiver == 1" shadow="hover" style="margin-top: 10px;">
+            <el-card v-if="isRiver == 1 || isRes == 1" shadow="hover" style="margin-top: 10px;">
                 <div slot="header">
                     <span>水位站</span>
                 </div>
@@ -39,14 +39,13 @@
                 <el-form-item label="上报时间:" labelWidth="150px">
                     <div style="color: black;">{{ riverData.fromTime }}</div>
                 </el-form-item>
-
                 <el-form-item label="水位:" labelWidth="150px">
                     <div>
-                        <label style="color: black;">{{ riverData.z }}</label>
+                        <label style="color: black;">{{ riverData.waterLevel }}</label>
                     </div>
                 </el-form-item>
             </el-card>
-            <el-card v-else-if="isRes == 1" shadow="hover" style="margin-top: 10px;">
+            <!-- <el-card v-else-if="isRes == 1" shadow="hover" style="margin-top: 10px;">
                 <div slot="header">
                     <span>水位站</span>
                 </div>
@@ -61,8 +60,7 @@
                         <label style="color: black;"> {{ rsvrData.rz }}</label>
                     </div>
                 </el-form-item>
-            </el-card>
-
+            </el-card> -->
             <el-card v-if="isGround == 1" shadow="hover" style="margin-top: 10px;">
                 <div slot="header">
                     <span>墒情站</span>
@@ -132,7 +130,7 @@
 import { getDetail as getGround } from "@/api/data/dataGround.js";
 import { getDetail as getRain } from "@/api/data/dataRain.js";
 import { getDetail as getRiver } from "@/api/data/dataRiver.js";
-import { getDetail as getRsvr } from "@/api/data/dataRsvr.js";
+// import { getDetail as getRsvr } from "@/api/data/dataRsvr.js";
 export default {
     components: {
 
@@ -195,11 +193,11 @@ export default {
 
             });
 
-            getRsvr(this.rtuCode).then((res) => {
-                console.log(JSON.stringify(res.data));
-                this.rsvrData = res.data.data;
+            // getRsvr(this.rtuCode).then((res) => {
+            //     console.log(JSON.stringify(res.data));
+            //     this.rsvrData = res.data.data;
 
-            });
+            // });
         },
     }
 }

+ 87 - 33
src/views/business/order/checkorderhistory.vue

@@ -51,7 +51,7 @@
                 </basic-container>
             </el-col>
         </el-row>
-        <el-drawer :visible.sync="recordDialog" v-if="recordDialog" title="维修历史" direction="rtl" size="60%"
+        <el-drawer :visible.sync="recordDialog" v-if="recordDialog" title="维修历史" direction="rtl" size="50%"
             append-to-body="true">
             <div slot="title" class="header-title">
                 <span class="name">{{ dialogTitle }}</span>
@@ -112,7 +112,7 @@ export default {
             option: {
                 labelWidth: 120,
                 viewLabelWidth: 100,
-                searchlabelWidth: 100,
+                searchlabelWidth: 160,
                 height: "auto",
                 calcHeight: 80,
                 align: "center",
@@ -127,7 +127,7 @@ export default {
                 index: true,
                 editBtn: false,
                 delBtn: false,
-                menuWidth: 200,
+                menuWidth: 180,
                 dialogType: "drawer",
                 dialogClickModal: false,
                 columnBtn: false,
@@ -135,15 +135,17 @@ export default {
                     {
                         label: "测站编码",
                         prop: "rtuCode",
-                        span: 12,
+                        span: 24,
                         search: true,
                         width: 120,
+                        searchSpan: 8,
                     },
                     {
                         label: "测站名称",
                         prop: "rtuName",
-                        span: 12,
+                        span: 24,
                         search: true,
+                        searchSpan: 8,
                         // html: true,
                         // formatter: (val) => {
                         //     if (val.rtuName) {
@@ -178,35 +180,86 @@ export default {
                         span: 12,
                         overHidden: true,
                     },
+                    // {
+                    //     label: '异常类型',
+                    //     prop: 'warnKind',
+                    //     type: 'select',
+                    //     width: 100,
+                    //     hide: true,
+                    //     editDisplay: false,
+                    //     addDisplay: false,
+                    //     search: true,
+                    //     searchSpan: 8,
+                    //     props: {
+                    //         label: 'name',
+                    //         value: 'code'
+                    //     },
+                    //     span: 24,
+                    //     dicData: [{
+                    //         name: '测站离线',
+                    //         code: 1
+                    //     }, {
+                    //         name: '测站时钟异常',
+                    //         code: 2
+                    //     }, {
+                    //         name: '测站雨量小时报漏报',
+                    //         code: 3
+                    //     }, {
+                    //         name: '测站水位小时报漏报',
+                    //         code: 4
+                    //     }, {
+                    //         name: '雨量5分钟上报延时',
+                    //         code: 5
+                    //     }, {
+                    //         name: '雨量站小时上报延时',
+                    //         code: 6
+                    //     }, {
+                    //         name: '水位站小时上报延时',
+                    //         code: 7
+                    //     }, {
+                    //         name: '雨量疑似异常值',
+                    //         code: 8
+                    //     }]
+                    // },
                     {
-                        label: "测站类型",
-                        prop: "isRain",
-                        span: 12,
-                        html: true,
-                        formatter: (val) => {
-                            let html = '';
-                            if (val.isRain && val.isRain == 1) {
-                                html = html + '<b style="color:grey">雨量站</b>'
-                            }
-                            if (val.isRiver && val.isRiver == 1) {
-                                if (html.length > 0) {
-                                    html = html + '<b style="color:grey"> / </b>'
-                                }
-                                html = html + '<b style="color:grey">水位站</b>'
-                            } else if (val.isRes && val.isRes == 1) {
-                                if (html.length > 0) {
-                                    html = html + '<b style="color:grey"> / </b>'
-                                }
-                                html = html + '<b style="color:grey">水位站</b>'
-                            }
-                            if (val.isGround && val.isGround == 1) {
-                                if (html.length > 0) {
-                                    html = html + '<b style="color:grey"> / </b>'
-                                }
-                                html = html + '<b style="color:grey">墒情站</b>'
-                            }
-                            return html;
-                        }
+                        label: "关闭类别",
+                        prop: "orderCloseType",
+                        span: 24,
+                        search: true,
+                        searchSpan: 8,
+                        type: 'select',
+                        hide: true,
+                        props: {
+                            label: 'name',
+                            value: 'code'
+                        },
+                        dicData: [{
+                            name: '自动关闭',
+                            code: 0
+                        }, {
+                            name: '人工关闭',
+                            code: 1
+                        }]
+                    },
+                    {
+                        label: "是否维修",
+                        prop: "orderReportStatus",
+                        span: 24,
+                        search: true,
+                        searchSpan: 8,
+                        type: 'select',
+                        hide: true,
+                        props: {
+                            label: 'name',
+                            value: 'code'
+                        },
+                        dicData: [{
+                            name: '未维修',
+                            code: 0
+                        }, {
+                            name: '已维修',
+                            code: 1
+                        }]
                     },
                     {
                         label: "维修任务次数",
@@ -318,6 +371,7 @@ export default {
         },
         onLoad(page, params = {}) {
             this.loading = true;
+            params['orderReportStatus'] = 1;
             console.log("load" + JSON.stringify(params))
             getHistroyPage(
                 page.currentPage,

+ 38 - 31
src/views/business/order/checkorderlist.vue

@@ -37,14 +37,14 @@
                                 等待确认
                             </div>
                             <div v-if="row.row.orderStatus == 2" style="color: orange;">
-                                任务已下发
+                                处理中
                             </div>
                             <div v-if="row.row.orderStatus == 3" style="color: blue;">
-                                任务已处理
-                            </div>
-                            <div v-if="row.row.orderStatus == 4" style="color: green;">
-                                任务已完成
+                                已处理
                             </div>
+                            <!-- <div v-if="row.row.orderStatus == 4" style="color: green;">
+                                已完成
+                            </div> -->
                             <div v-else style="color: red;">
                             </div>
                         </template>
@@ -70,6 +70,13 @@
                                     <span class="orderProcessing">处理中任务数量: {{
                                         countInfo.orderProcessing }}</span>
                                 </div>
+                                <div class="lineText">
+                                    <span class="spliteLine">/</span>
+                                </div>
+                                <div class="lineText">
+                                    <span class="orderReport">已处理任务数量: {{
+                                        countInfo.reportOrder }}</span>
+                                </div>
                             </div>
                         </template>
                         <template slot-scope="{ row, index }" slot="menu">
@@ -207,6 +214,7 @@ export default {
                         span: 24,
                         search: true,
                         width: 120,
+                        searchSpan: 8,
                     },
                     {
                         label: "测站名称",
@@ -215,6 +223,7 @@ export default {
                         width: 120,
                         overHidden: true,
                         search: true,
+                        searchSpan: 8,
                         // html: true,
                         // formatter: (val) => {
                         //     if (val.rtuName) {
@@ -264,12 +273,12 @@ export default {
                         editDisplay: false,
                         addDisplay: false,
                         search: true,
-                        searchSpan: 5,
+                        searchSpan: 8,
                         props: {
                             label: 'name',
                             value: 'code'
                         },
-                        span: 6,
+                        span: 24,
                         dicData: [{
                             name: '测站离线',
                             code: 1
@@ -313,41 +322,34 @@ export default {
                         width: 160,
                         overHidden: true,
                     },
-                    // {
-                    //     search: true,
-                    //     label: "运维单位",
-                    //     prop: "orgId",
-                    //     hide: true,
-                    //     type: 'select',
-                    //     span: 12,
-                    //     props: {
-                    //         label: 'dictValue',
-                    //         value: 'id'
-                    //     },
-                    //     dicUrl: '/api/galaxy-business/baseinfo/org/list',
-                    // },
-                    // {
-                    //     label: "维修状态",
-                    //     prop: "orderStatusKey",
-                    //     span: 12,
-                    //     props: {
-                    //         label: 'dictValue',
-                    //         value: 'id'
-                    //     },
-                    //     dicUrl: '/api/galaxy-system/dict-biz/dictionary?code=rtu_check_order_status',
-                    // },
                     {
                         label: "异常类别",
                         prop: "warnKindInfo",
                         span: 12,
                         width: 120,
                     },
-
                     {
                         label: "维修状态",
                         prop: "orderStatus",
                         span: 24,
                         width: 120,
+                        type: 'select',
+                        search: true,
+                        searchSpan: 8,
+                        props: {
+                            label: 'name',
+                            value: 'code'
+                        },
+                        dicData: [{
+                            name: '等待确认',
+                            code: 1
+                        }, {
+                            name: '处理中',
+                            code: 2
+                        }, {
+                            name: '已处理',
+                            code: 3
+                        }]
                     },
                     {
                         label: "任务确认时间",
@@ -607,4 +609,9 @@ export default {
     color: dodgerblue;
     font-size: 0.8rem;
 }
+
+.line .lineText .orderReport {
+    color: green;
+    font-size: 0.8rem;
+}
 </style>

+ 8 - 1
src/views/business/order/checkorderprocessdetail.vue

@@ -35,7 +35,14 @@
                             </el-card>
                         </div>
                         <div v-else-if="item.orderStatusKey == orderStatusProcessKey">
-
+                            <el-card shadow="hover">
+                                <div slot="header">
+                                    <span>维修任务填报人</span>
+                                </div>
+                                <div>
+                                    <label>{{ item.orderProcessUserName }}</label>
+                                </div>
+                            </el-card>
                             <el-card shadow="hover" style="margin-top: 10px;">
                                 <div slot="header">
                                     <span>RTU设备信息</span>

+ 13 - 2
src/views/business/order/comfiredelaycheckorderlist.vue

@@ -79,13 +79,22 @@ export default {
                         prop: "rtuCode",
                         span: 24,
                         search: true,
-                        width: 120,
+                        width: 160,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.rtuName) {
+                                return '<b>' + val.rtuName + '</b>' + '<b>【' + val.rtuCode + '】</b>'
+                            } else {
+                                return '<b>' + val.rtuCode + '</b>'
+                            }
+                        }
                     },
                     {
                         label: "测站名称",
                         prop: "rtuName",
                         span: 24,
                         search: true,
+                        hide: true,
                     },
                     {
                         label: "行政区",
@@ -103,11 +112,13 @@ export default {
                         label: "任务创建时间",
                         prop: "createTime",
                         span: 24,
+                        width: 150,
                     },
                     {
-                        label: "任务时长",
+                        label: "任务创建时长",
                         prop: "taskCreateDuration",
                         span: 24,
+                        width: 150,
                     },
                 ],
             },

+ 14 - 2
src/views/business/order/processingcheckorderlist.vue

@@ -38,7 +38,7 @@ export default {
     name: 'processingcheckorderlist',
     data() {
         return {
-            dialogTitle: "维修中任务",
+            dialogTitle: "处理中任务",
             id: "",
             form: {},
             selectionList: [],
@@ -78,13 +78,22 @@ export default {
                         prop: "rtuCode",
                         span: 24,
                         search: true,
-                        width: 120,
+                        width: 160,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.rtuName) {
+                                return '<b>' + val.rtuName + '</b>' + '<b>【' + val.rtuCode + '】</b>'
+                            } else {
+                                return '<b>' + val.rtuCode + '</b>'
+                            }
+                        }
                     },
                     {
                         label: "测站名称",
                         prop: "rtuName",
                         span: 24,
                         search: true,
+                        hide: true,
                     },
                     {
                         label: "行政区",
@@ -102,11 +111,13 @@ export default {
                         label: "任务确认时间",
                         prop: "orderConfirmTime",
                         span: 24,
+                        width: 150,
                     },
                     {
                         label: "维修时长",
                         prop: "taskProcessDuration",
                         span: 24,
+                        width: 150,
                     },
                 ],
             },
@@ -172,6 +183,7 @@ export default {
             this.loading = true;
             params['orderConfirm'] = 1;
             params['orderClose'] = 0;
+            params['orderReportStatus'] = 0;
             getPage(
                 page.currentPage,
                 page.pageSize,

+ 237 - 0
src/views/business/order/reportcheckorderlist.vue

@@ -0,0 +1,237 @@
+<!--
+ * @Title: 
+ * @Description: 维修中任务列表
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+    <div>
+        <el-row>
+            <el-col :span="24">
+                <basic-container>
+                    <avue-crud :option="option" :table-loading="loading" :page.sync="page" :data="data" ref="crud"
+                        v-model="form" :permission="permissionList" @row-del="rowDel" @row-update="rowUpdate"
+                        @row-save="rowSave" @search-change="searchChange" @search-reset="searchReset"
+                        @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+                        @refresh-change="refreshChange" @on-load="onLoad">
+                    </avue-crud>
+                </basic-container>
+            </el-col>
+        </el-row>
+    </div>
+</template>
+
+<script>
+
+import {
+    getPage,
+    getDetail,
+} from "@/api/business/order/order.js";
+
+import { mapGetters } from "vuex";
+export default {
+    components: {
+
+    },
+    name: 'reportcheckorderlist',
+    data() {
+        return {
+            dialogTitle: "已处理任务",
+            id: "",
+            form: {},
+            selectionList: [],
+            query: {},
+            loading: true,
+            page: {
+                pageSize: 10,
+                currentPage: 1,
+                total: 0,
+            },
+            option: {
+                labelWidth: 120,
+                viewLabelWidth: 100,
+                searchlabelWidth: 100,
+                height: "auto",
+                calcHeight: 80,
+                align: "center",
+                headerAlign: "center",
+                tip: false,
+                simplePage: true,
+                searchShow: true,
+                searchMenuSpan: 6,
+                addBtn: false,
+                tree: true,
+                border: true,
+                index: true,
+                editBtn: false,
+                delBtn: false,
+                menuWidth: 200,
+                dialogType: "drawer",
+                dialogClickModal: false,
+                columnBtn: false,
+                menu: false,
+                column: [
+                    {
+                        label: "测站编码",
+                        prop: "rtuCode",
+                        span: 24,
+                        search: true,
+                        width: 160,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.rtuName) {
+                                return '<b>' + val.rtuName + '</b>' + '<b>【' + val.rtuCode + '】</b>'
+                            } else {
+                                return '<b>' + val.rtuCode + '</b>'
+                            }
+                        }
+                    },
+                    {
+                        label: "测站名称",
+                        prop: "rtuName",
+                        span: 24,
+                        search: true,
+                        hide: true,
+                    },
+                    {
+                        label: "行政区",
+                        prop: "areaName",
+                        span: 12,
+                        editDisplay: false,
+                        addDisplay: false,
+                    },
+                    {
+                        label: "运维单位",
+                        prop: "manageCompany",
+                        span: 12,
+                    },
+                    {
+                        label: "维修填报时间",
+                        prop: "orderProcessTime",
+                        span: 24,
+                        width: 150
+                    },
+                    {
+                        label: "维修时长",
+                        prop: "taskProcessDuration",
+                        span: 24,
+                        width: 150
+                    },
+                ],
+            },
+            data: [],
+        };
+    },
+    prop: {
+
+    },
+    computed: {
+        ...mapGetters(["userInfo", "permission"]),
+        permissionList() {
+            return {
+                closeBtn: this.vaildData(this.permission.order_close, false),
+                changeBtn: this.vaildData(this.permission.order_change, false),
+            };
+        },
+    },
+    created() {
+
+    },
+    methods: {
+        init() {
+            this.onLoad(this.page);
+        },
+        searchReset() {
+            this.query = {};
+            this.page.currentPage = 1;
+            this.onLoad(this.page);
+        },
+        searchChange(params, done) {
+            this.query = params;
+            this.page.currentPage = 1;
+            this.onLoad(this.page, params);
+            done();
+        },
+        selectionChange(list) {
+            this.selectionList = list;
+        },
+        selectionClear() {
+            this.selectionList = [];
+            //this.$refs.crud.toggleSelection();
+        },
+        beforeOpen(done, type) {
+            if (["edit", "view"].includes(type)) {
+                getDetail(this.form.id).then((res) => {
+                    this.form = res.data.data;
+                });
+            }
+            done();
+        },
+        currentChange(currentPage) {
+            this.page.currentPage = currentPage;
+        },
+        sizeChange(pageSize) {
+            this.page.pageSize = pageSize;
+        },
+        refreshChange() {
+            var params = {};
+            this.onLoad(this.page, params);
+        },
+        onLoad(page, params = {}) {
+            this.loading = true;
+            params['orderConfirm'] = 1;
+            params['orderClose'] = 0;
+            params['orderReportStatus'] = 1;
+            getPage(
+                page.currentPage,
+                page.pageSize,
+                Object.assign(params, this.query)
+            ).then((res) => {
+                const data = res.data.data;
+                this.page.total = data.total;
+                this.data = data.records;
+                this.loading = false;
+                this.selectionClear();
+            });
+        },
+    },
+};
+</script>
+
+<style  lang="scss" scoped>
+.line {
+    display: flex;
+    flex-direction: row;
+    justify-content: flex-start;
+}
+
+.line .lineText {
+    margin-left: 10px;
+    margin-right: 0px;
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
+}
+
+.line .lineText .orderCount {
+    color: green;
+    font-size: 0.8rem;
+}
+
+.line .lineText .spliteLine {
+    color: gray;
+    font-size: 0.8rem;
+}
+
+.line .lineText .orderUnconfirm {
+    color: lightcoral;
+    font-size: 0.8rem;
+}
+
+.line .lineText .orderProcessing {
+    color: dodgerblue;
+    font-size: 0.8rem;
+}
+</style>

+ 90 - 15
src/views/business/order/rtucheckorderhistorylist.vue

@@ -34,7 +34,7 @@
                 </basic-container>
             </el-col>
         </el-row>
-        <el-drawer :visible.sync="recordDialog" v-if="recordDialog" title="维修详情" direction="rtl" size="60%"
+        <el-drawer :visible.sync="recordDialog" v-if="recordDialog" title="维修详情" direction="rtl" size="50%"
             append-to-body="true">
             <div slot="title" class="header-title">
                 <span class="name">{{ dialogTitle }}</span>
@@ -114,7 +114,7 @@ export default {
                 index: true,
                 editBtn: false,
                 delBtn: false,
-                menuWidth: 200,
+                menuWidth: 160,
                 dialogType: "drawer",
                 dialogClickModal: false,
                 columnBtn: false,
@@ -139,34 +139,109 @@ export default {
                             }
                         }
                     },
+                    {
+                        label: "任务确认人",
+                        prop: "orderConfirmUserName",
+                        span: 12,
+                    },
                     {
                         label: "填报人",
                         prop: "processUserName",
                         span: 12,
                     },
+                    // {
+                    //     label: '异常类型',
+                    //     prop: 'warnKind',
+                    //     type: 'select',
+                    //     width: 100,
+                    //     hide: true,
+                    //     editDisplay: false,
+                    //     addDisplay: false,
+                    //     search: true,
+                    //     searchSpan: 8,
+                    //     props: {
+                    //         label: 'name',
+                    //         value: 'code'
+                    //     },
+                    //     span: 24,
+                    //     dicData: [{
+                    //         name: '测站离线',
+                    //         code: 1
+                    //     }, {
+                    //         name: '测站时钟异常',
+                    //         code: 2
+                    //     }, {
+                    //         name: '测站雨量小时报漏报',
+                    //         code: 3
+                    //     }, {
+                    //         name: '测站水位小时报漏报',
+                    //         code: 4
+                    //     }, {
+                    //         name: '雨量5分钟上报延时',
+                    //         code: 5
+                    //     }, {
+                    //         name: '雨量站小时上报延时',
+                    //         code: 6
+                    //     }, {
+                    //         name: '水位站小时上报延时',
+                    //         code: 7
+                    //     }, {
+                    //         name: '雨量疑似异常值',
+                    //         code: 8
+                    //     }]
+                    // },
+                    // {
+                    //     label: "任务创建时间",
+                    //     prop: "createTime",
+                    //     span: 12,
+                    // },
+                    // {
+                    //     label: "任务确认时间",
+                    //     prop: "orderConfirmTime",
+                    //     span: 12,
+                    // },
+                    // {
+                    //     label: "任务关闭时间",
+                    //     prop: "updateTime",
+                    //     span: 12,
+                    // },
                     {
-                        label: "任务创建时间",
-                        prop: "createTime",
+                        label: "维修时长",
+                        prop: "taskProcessDuration",
                         span: 12,
                     },
                     {
-                        label: "任务确认时间",
-                        prop: "orderConfirmTime",
+                        label: "异常信息",
+                        prop: "warnKindInfo",
                         span: 12,
                     },
                     {
-                        label: "任务关闭时间",
-                        prop: "updateTime",
+                        label: "任务关闭类别",
+                        prop: "orderCloseType",
                         span: 12,
+                        html: true,
+                        formatter: (val) => {
+
+                            if (val.orderCloseType == 0) {
+                                return '<b style="color:blue">系统自动关闭</b>'
+                            } else if (val.orderCloseType == 1) {
+                                return '<b style="color:blue">人工关闭</b>'
+                            }
+
+                        }
                     },
                     {
-                        label: "维修时长",
-                        prop: "taskProcessDuration",
-                        span: 12,
-                    }, {
-                        label: "异常信息",
-                        prop: "warnKindInfo",
+                        label: "是否维修",
+                        prop: "orderReportStatus",
                         span: 12,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.orderReportStatus == 0) {
+                                return '<b style="color:blue">否</b>'
+                            } else if (val.orderReportStatus == 1) {
+                                return '<b style="color:blue">已维修</b>'
+                            }
+                        }
                     },
                 ],
             },
@@ -238,7 +313,7 @@ export default {
             this.loading = true;
             params['rtuCode'] = this.rtuCode;
             params['orderClose'] = 1;
-            params['orderConfirm'] = 1;
+            params['orderReportStatus'] = 1;
             console.log("rtuCode " + this.rtuCode)
             getPage(
                 page.currentPage,

+ 19 - 8
src/views/business/order/todaycheckorderprocesslist.vue

@@ -87,7 +87,7 @@ export default {
                 index: true,
                 editBtn: false,
                 delBtn: false,
-                menuWidth: 160,
+                menuWidth: 100,
                 dialogType: "drawer",
                 dialogClickModal: false,
                 columnBtn: false,
@@ -98,13 +98,22 @@ export default {
                         prop: "rtuCode",
                         span: 24,
                         search: true,
-                        width: 120,
+                        width: 160,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.rtuName) {
+                                return '<b>' + val.rtuName + '</b>' + '<b>【' + val.rtuCode + '】</b>'
+                            } else {
+                                return '<b>' + val.rtuCode + '</b>'
+                            }
+                        }
                     },
                     {
                         label: "测站名称",
                         prop: "rtuName",
                         span: 24,
                         search: true,
+                        hide: true,
                     },
                     {
                         label: "行政区",
@@ -128,17 +137,19 @@ export default {
                         label: "维修状态",
                         prop: "orderStatusName",
                         span: 24,
+                        width: 100,
                     },
                     {
                         label: "反馈时间",
                         prop: "updateTime",
                         span: 24,
+                        width: 150
                     },
-                    {
-                        label: "处理说明",
-                        prop: "processDesc",
-                        span: 24,
-                    },
+                    // {
+                    //     label: "处理说明",
+                    //     prop: "processDesc",
+                    //     span: 24,
+                    // },
 
                 ],
             },
@@ -200,7 +211,7 @@ export default {
         },
         onLoad(page, params = {}) {
             this.loading = true;
-            console.log(params)
+            //console.log(params)
             todayOrderProcessPage(
                 page.currentPage,
                 page.pageSize,

+ 12 - 1
src/views/business/order/uncomfirecheckorderlist.vue

@@ -78,13 +78,22 @@ export default {
                         prop: "rtuCode",
                         span: 24,
                         search: true,
-                        width: 120,
+                        width: 160,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.rtuName) {
+                                return '<b>' + val.rtuName + '</b>' + '<b>【' + val.rtuCode + '】</b>'
+                            } else {
+                                return '<b>' + val.rtuCode + '</b>'
+                            }
+                        }
                     },
                     {
                         label: "测站名称",
                         prop: "rtuName",
                         span: 24,
                         search: true,
+                        hide: true,
                     },
                     {
                         label: "行政区",
@@ -102,11 +111,13 @@ export default {
                         label: "任务创建时间",
                         prop: "createTime",
                         span: 24,
+                        width: 150,
                     },
                     {
                         label: "任务创建时长",
                         prop: "taskCreateDuration",
                         span: 24,
+                        width: 150,
                     },
                 ],
             },

+ 143 - 0
src/views/business/report/weekreportlist.vue

@@ -0,0 +1,143 @@
+<template>
+    <basic-container>
+        <avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="form" :page.sync="page"
+            :permission="permissionList" @search-change="searchChange" @search-reset="searchReset"
+            @selection-change="selectionChange" @current-change="currentChange" @row-del="rowDel" @size-change="sizeChange"
+            @refresh-change="refreshChange" @on-load="onLoad">
+            <template slot-scope="scope" slot="menu">
+                <el-button type="text" icon="el-icon-view" size="small"
+                    @click.stop="handlePreview(scope.row.id, scope.row.name)">预览
+                </el-button>
+            </template>
+
+        </avue-crud>
+    </basic-container>
+</template>
+
+<script>
+import { getPage, remove } from "@/api/report/weekreport";
+import { mapGetters } from "vuex";
+
+export default {
+    data() {
+        return {
+            form: {},
+            selectionList: [],
+            query: {},
+            loading: true,
+            page: {
+                pageSize: 10,
+                currentPage: 1,
+                total: 0
+            },
+            option: {
+                height: 'auto',
+                calcHeight: 30,
+                tip: false,
+                searchShow: true,
+                searchMenuSpan: 6,
+                border: true,
+                index: true,
+                selection: true,
+                viewBtn: true,
+                dialogClickModal: false,
+                column: [
+                    {
+                        label: "报表标题",
+                        prop: "reportTitle",
+                    },
+                    {
+                        label: "报表创建时间",
+                        prop: "reportTime",
+                    }
+                ]
+            },
+            data: []
+        };
+    },
+    computed: {
+        ...mapGetters(["userInfo", "permission"]),
+        permissionList() {
+            return {
+                addBtn: false,
+                viewBtn: false,
+                delBtn: true,
+                editBtn: false
+            };
+        },
+        ids() {
+            let ids = [];
+            this.selectionList.forEach(ele => {
+                ids.push(ele.id);
+            });
+            return ids.join(",");
+        }
+    },
+    methods: {
+        handlePreview(id, name) {
+            //console.log(id)
+            //console.log(name)
+            let toUrl = encodeURIComponent(this.website.reportUrl + '/preview?_u=blade-' + name + "&id=" + id)
+            this.$router.push({
+                path: `/myiframe/urlPath?name=周报预览&src=${toUrl}`,
+            });
+            //path: `/myiframe/urlPath?name=preview-${name}&src=${this.website.reportUrl}/preview?_u=blade-${name}`
+        },
+        searchReset() {
+            this.query = {};
+            this.onLoad(this.page);
+        },
+        searchChange(params, done) {
+            this.query = params;
+            this.page.currentPage = 1;
+            this.onLoad(this.page, params);
+            done();
+        },
+        selectionChange(list) {
+            this.selectionList = list;
+        },
+        selectionClear() {
+            this.selectionList = [];
+            this.$refs.crud.toggleSelection();
+        },
+        currentChange(currentPage) {
+            this.page.currentPage = currentPage;
+        },
+        sizeChange(pageSize) {
+            this.page.pageSize = pageSize;
+        },
+        refreshChange() {
+            this.onLoad(this.page, this.query);
+        },
+        rowDel(row) {
+            this.$confirm("确定将选择数据删除?", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning",
+            })
+                .then(() => {
+                    return remove(row.id);
+                })
+                .then(() => {
+                    this.onLoad(this.page);
+                    this.$message({
+                        type: "success",
+                        message: "操作成功!",
+                    });
+                });
+        },
+        onLoad(page, params = {}) {
+            this.loading = true;
+            getPage(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+                const data = res.data.data;
+                this.page.total = data.total;
+                this.data = data.records;
+                this.loading = false;
+                this.selectionClear();
+            });
+        }
+    }
+};
+</script>
+
+<style></style>

+ 56 - 14
src/views/business/warning/clockwarnlist.vue

@@ -81,40 +81,82 @@ export default {
                         prop: "rtuCode",
                         span: 24,
                         search: true,
+                        width: 160,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.rtuName) {
+                                return '<b>' + val.rtuName + '</b>' + '<b>【' + val.rtuCode + '】</b>'
+                            } else {
+                                return '<b>' + val.rtuCode + '</b>'
+                            }
+                        }
                     },
                     {
                         label: "测站名称",
                         prop: "rtuName",
                         span: 24,
                         search: true,
+                        hide: true,
                     },
-                    {
-                        label: "行政区",
-                        prop: "adCity",
-                        span: 12,
-                        html: true,
-                        formatter: (val) => {
-                            if (val.adDist) {
-                                return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
-                            } else {
-                                return '<b>' + val.adCity + '</b>'
-                            }
-                        }
-                    },
+                    // {
+                    //     label: "行政区",
+                    //     prop: "adCity",
+                    //     span: 12,
+                    //     html: true,
+                    //     formatter: (val) => {
+                    //         if (val.adDist) {
+                    //             return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
+                    //         } else {
+                    //             return '<b>' + val.adCity + '</b>'
+                    //         }
+                    //     }
+                    // },
                     {
                         label: "运维单位",
                         prop: "manageCompany",
                         span: 12,
+                        width: 180
                     },
                     {
                         label: "异常信息",
                         prop: "warningDesc",
                         span: 12,
                     },
+                    {
+                        label: "异常类别",
+                        prop: "warningKind",
+                        span: 12,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.warningKind) {
+                                let htmltext = '';
+                                if (val.warningKind == 1) {
+                                    htmltext = '<b style="color:red">测站离线</b>';
+                                } else if (val.warningKind == 2) {
+                                    htmltext = '<b style="color:red">测站时钟异常</b>';
+                                } else if (val.warningKind == 3) {
+                                    htmltext = '<b style="color:red">测站雨量小时报漏报</b>';
+                                } else if (val.warningKind == 4) {
+                                    htmltext = '<b style="color:red">测站水位小时报漏报</b>';
+                                } else if (val.warningKind == 5) {
+                                    htmltext = '<b style="color:red">雨量5分钟上报延时</b>';
+                                } else if (val.warningKind == 6) {
+                                    htmltext = '<b style="color:red">雨量站小时上报延时</b>';
+                                } else if (val.warningKind == 7) {
+                                    htmltext = '<b style="color:red">水位站小时上报延时</b>';
+                                } else if (val.warningKind == 8) {
+                                    htmltext = '<b style="color:red">雨量疑似异常值</b>';
+                                }
+
+                                return htmltext;
+                            }
+                        }
+                    },
                     {
                         label: "发生时间",
                         prop: "warningHappenTime",
                         span: 12,
+                        width: 150
                     },
                 ],
             },
@@ -176,7 +218,7 @@ export default {
         onLoad(page, params = {}) {
             this.loading = true;
             params['deptId'] = this.deptId;
-            console.log("load " + JSON.stringify(params))
+            //console.log("load " + JSON.stringify(params))
             getClockPage(
                 page.currentPage,
                 page.pageSize,

+ 56 - 14
src/views/business/warning/hourmissoutwarnlist.vue

@@ -81,40 +81,82 @@ export default {
                         prop: "rtuCode",
                         span: 24,
                         search: true,
+                        width: 160,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.rtuName) {
+                                return '<b>' + val.rtuName + '</b>' + '<b>【' + val.rtuCode + '】</b>'
+                            } else {
+                                return '<b>' + val.rtuCode + '</b>'
+                            }
+                        }
                     },
                     {
                         label: "测站名称",
                         prop: "rtuName",
                         span: 24,
                         search: true,
+                        hide: true,
                     },
-                    {
-                        label: "行政区",
-                        prop: "adCity",
-                        span: 12,
-                        html: true,
-                        formatter: (val) => {
-                            if (val.adDist) {
-                                return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
-                            } else {
-                                return '<b>' + val.adCity + '</b>'
-                            }
-                        }
-                    },
+                    // {
+                    //     label: "行政区",
+                    //     prop: "adCity",
+                    //     span: 12,
+                    //     html: true,
+                    //     formatter: (val) => {
+                    //         if (val.adDist) {
+                    //             return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
+                    //         } else {
+                    //             return '<b>' + val.adCity + '</b>'
+                    //         }
+                    //     }
+                    // },
                     {
                         label: "运维单位",
                         prop: "manageCompany",
                         span: 12,
+                        width: 180
                     },
                     {
                         label: "异常信息",
                         prop: "warningDesc",
                         span: 12,
                     },
+                    {
+                        label: "异常类别",
+                        prop: "warningKind",
+                        span: 12,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.warningKind) {
+                                let htmltext = '';
+                                if (val.warningKind == 1) {
+                                    htmltext = '<b style="color:red">测站离线</b>';
+                                } else if (val.warningKind == 2) {
+                                    htmltext = '<b style="color:red">测站时钟异常</b>';
+                                } else if (val.warningKind == 3) {
+                                    htmltext = '<b style="color:red">测站雨量小时报漏报</b>';
+                                } else if (val.warningKind == 4) {
+                                    htmltext = '<b style="color:red">测站水位小时报漏报</b>';
+                                } else if (val.warningKind == 5) {
+                                    htmltext = '<b style="color:red">雨量5分钟上报延时</b>';
+                                } else if (val.warningKind == 6) {
+                                    htmltext = '<b style="color:red">雨量站小时上报延时</b>';
+                                } else if (val.warningKind == 7) {
+                                    htmltext = '<b style="color:red">水位站小时上报延时</b>';
+                                } else if (val.warningKind == 8) {
+                                    htmltext = '<b style="color:red">雨量疑似异常值</b>';
+                                }
+
+                                return htmltext;
+                            }
+                        }
+                    },
                     {
                         label: "发生时间",
                         prop: "warningHappenTime",
                         span: 12,
+                        width: 150
                     },
                 ],
             },
@@ -176,7 +218,7 @@ export default {
         onLoad(page, params = {}) {
             this.loading = true;
             params['deptId'] = this.deptId;
-            console.log("load " + JSON.stringify(params))
+           // console.log("load " + JSON.stringify(params))
             getHourmissoutPage(
                 page.currentPage,
                 page.pageSize,

+ 56 - 14
src/views/business/warning/hourupdelaywarnlist.vue

@@ -81,40 +81,82 @@ export default {
                         prop: "rtuCode",
                         span: 24,
                         search: true,
+                        width: 160,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.rtuName) {
+                                return '<b>' + val.rtuName + '</b>' + '<b>【' + val.rtuCode + '】</b>'
+                            } else {
+                                return '<b>' + val.rtuCode + '</b>'
+                            }
+                        }
                     },
                     {
                         label: "测站名称",
                         prop: "rtuName",
                         span: 24,
                         search: true,
+                        hide: true,
                     },
-                    {
-                        label: "行政区",
-                        prop: "adCity",
-                        span: 12,
-                        html: true,
-                        formatter: (val) => {
-                            if (val.adDist) {
-                                return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
-                            } else {
-                                return '<b>' + val.adCity + '</b>'
-                            }
-                        }
-                    },
+                    // {
+                    //     label: "行政区",
+                    //     prop: "adCity",
+                    //     span: 12,
+                    //     html: true,
+                    //     formatter: (val) => {
+                    //         if (val.adDist) {
+                    //             return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
+                    //         } else {
+                    //             return '<b>' + val.adCity + '</b>'
+                    //         }
+                    //     }
+                    // },
                     {
                         label: "运维单位",
                         prop: "manageCompany",
                         span: 12,
+                        width: 180
                     },
                     {
                         label: "异常信息",
                         prop: "warningDesc",
                         span: 12,
                     },
+                    {
+                        label: "异常类别",
+                        prop: "warningKind",
+                        span: 12,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.warningKind) {
+                                let htmltext = '';
+                                if (val.warningKind == 1) {
+                                    htmltext = '<b style="color:red">测站离线</b>';
+                                } else if (val.warningKind == 2) {
+                                    htmltext = '<b style="color:red">测站时钟异常</b>';
+                                } else if (val.warningKind == 3) {
+                                    htmltext = '<b style="color:red">测站雨量小时报漏报</b>';
+                                } else if (val.warningKind == 4) {
+                                    htmltext = '<b style="color:red">测站水位小时报漏报</b>';
+                                } else if (val.warningKind == 5) {
+                                    htmltext = '<b style="color:red">雨量5分钟上报延时</b>';
+                                } else if (val.warningKind == 6) {
+                                    htmltext = '<b style="color:red">雨量站小时上报延时</b>';
+                                } else if (val.warningKind == 7) {
+                                    htmltext = '<b style="color:red">水位站小时上报延时</b>';
+                                } else if (val.warningKind == 8) {
+                                    htmltext = '<b style="color:red">雨量疑似异常值</b>';
+                                }
+
+                                return htmltext;
+                            }
+                        }
+                    },
                     {
                         label: "发生时间",
                         prop: "warningHappenTime",
                         span: 12,
+                        width: 150
                     },
                 ],
             },
@@ -176,7 +218,7 @@ export default {
         onLoad(page, params = {}) {
             this.loading = true;
             params['deptId'] = this.deptId;
-            console.log("load " + JSON.stringify(params))
+            //console.log("load " + JSON.stringify(params))
             getHourupdelayPage(
                 page.currentPage,
                 page.pageSize,

+ 56 - 14
src/views/business/warning/minupdelaywarnlist.vue

@@ -81,40 +81,82 @@ export default {
                         prop: "rtuCode",
                         span: 24,
                         search: true,
+                        width: 160,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.rtuName) {
+                                return '<b>' + val.rtuName + '</b>' + '<b>【' + val.rtuCode + '】</b>'
+                            } else {
+                                return '<b>' + val.rtuCode + '</b>'
+                            }
+                        }
                     },
                     {
                         label: "测站名称",
                         prop: "rtuName",
                         span: 24,
                         search: true,
+                        hide: true,
                     },
-                    {
-                        label: "行政区",
-                        prop: "adCity",
-                        span: 12,
-                        html: true,
-                        formatter: (val) => {
-                            if (val.adDist) {
-                                return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
-                            } else {
-                                return '<b>' + val.adCity + '</b>'
-                            }
-                        }
-                    },
+                    // {
+                    //     label: "行政区",
+                    //     prop: "adCity",
+                    //     span: 12,
+                    //     html: true,
+                    //     formatter: (val) => {
+                    //         if (val.adDist) {
+                    //             return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
+                    //         } else {
+                    //             return '<b>' + val.adCity + '</b>'
+                    //         }
+                    //     }
+                    // },
                     {
                         label: "运维单位",
                         prop: "manageCompany",
                         span: 12,
+                        width: 180
                     },
                     {
                         label: "异常信息",
                         prop: "warningDesc",
                         span: 12,
                     },
+                    {
+                        label: "异常类别",
+                        prop: "warningKind",
+                        span: 12,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.warningKind) {
+                                let htmltext = '';
+                                if (val.warningKind == 1) {
+                                    htmltext = '<b style="color:red">测站离线</b>';
+                                } else if (val.warningKind == 2) {
+                                    htmltext = '<b style="color:red">测站时钟异常</b>';
+                                } else if (val.warningKind == 3) {
+                                    htmltext = '<b style="color:red">测站雨量小时报漏报</b>';
+                                } else if (val.warningKind == 4) {
+                                    htmltext = '<b style="color:red">测站水位小时报漏报</b>';
+                                } else if (val.warningKind == 5) {
+                                    htmltext = '<b style="color:red">雨量5分钟上报延时</b>';
+                                } else if (val.warningKind == 6) {
+                                    htmltext = '<b style="color:red">雨量站小时上报延时</b>';
+                                } else if (val.warningKind == 7) {
+                                    htmltext = '<b style="color:red">水位站小时上报延时</b>';
+                                } else if (val.warningKind == 8) {
+                                    htmltext = '<b style="color:red">雨量疑似异常值</b>';
+                                }
+
+                                return htmltext;
+                            }
+                        }
+                    },
                     {
                         label: "发生时间",
                         prop: "warningHappenTime",
                         span: 12,
+                        width: 150
                     },
                 ],
             },
@@ -176,7 +218,7 @@ export default {
         onLoad(page, params = {}) {
             this.loading = true;
             params['deptId'] = this.deptId;
-            console.log("load " + JSON.stringify(params))
+            //console.log("load " + JSON.stringify(params))
             getMinupdelayPage(
                 page.currentPage,
                 page.pageSize,

+ 61 - 20
src/views/business/warning/offlinewarnlist.vue

@@ -12,10 +12,9 @@
             <el-col :span="24">
                 <basic-container>
                     <avue-crud :option="option" :table-loading="loading" :page.sync="page" :data="data" ref="crud"
-                        v-model="form" :permission="permissionList" @row-del="rowDel" @row-update="rowUpdate"
-                        @row-save="rowSave" @search-change="searchChange" @search-reset="searchReset"
-                        @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
-                        @refresh-change="refreshChange" @on-load="onLoad">
+                        v-model="form" :permission="permissionList" @search-change="searchChange"
+                        @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange"
+                        @size-change="sizeChange" @refresh-change="refreshChange">
                     </avue-crud>
                 </basic-container>
             </el-col>
@@ -38,7 +37,7 @@ export default {
             required: true
         },
     },
-    name: 'warninglist',
+    name: 'offlinewarninglist',
     data() {
         return {
             dialogTitle: "异常测站列表",
@@ -81,40 +80,82 @@ export default {
                         prop: "rtuCode",
                         span: 24,
                         search: true,
+                        width: 160,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.rtuName) {
+                                return '<b>' + val.rtuName + '</b>' + '<b>【' + val.rtuCode + '】</b>'
+                            } else {
+                                return '<b>' + val.rtuCode + '</b>'
+                            }
+                        }
                     },
                     {
                         label: "测站名称",
                         prop: "rtuName",
                         span: 24,
                         search: true,
+                        hide: true,
                     },
-                    {
-                        label: "行政区",
-                        prop: "adCity",
-                        span: 12,
-                        html: true,
-                        formatter: (val) => {
-                            if (val.adDist) {
-                                return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
-                            } else {
-                                return '<b>' + val.adCity + '</b>'
-                            }
-                        }
-                    },
+                    // {
+                    //     label: "行政区",
+                    //     prop: "adCity",
+                    //     span: 12,
+                    //     html: true,
+                    //     formatter: (val) => {
+                    //         if (val.adDist) {
+                    //             return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
+                    //         } else {
+                    //             return '<b>' + val.adCity + '</b>'
+                    //         }
+                    //     }
+                    // },
                     {
                         label: "运维单位",
                         prop: "manageCompany",
                         span: 12,
+                        width: 180
                     },
                     {
                         label: "异常信息",
                         prop: "warningDesc",
                         span: 12,
                     },
+                    {
+                        label: "异常类别",
+                        prop: "warningKind",
+                        span: 12,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.warningKind) {
+                                let htmltext = '';
+                                if (val.warningKind == 1) {
+                                    htmltext = '<b style="color:red">测站离线</b>';
+                                } else if (val.warningKind == 2) {
+                                    htmltext = '<b style="color:red">测站时钟异常</b>';
+                                } else if (val.warningKind == 3) {
+                                    htmltext = '<b style="color:red">测站雨量小时报漏报</b>';
+                                } else if (val.warningKind == 4) {
+                                    htmltext = '<b style="color:red">测站水位小时报漏报</b>';
+                                } else if (val.warningKind == 5) {
+                                    htmltext = '<b style="color:red">雨量5分钟上报延时</b>';
+                                } else if (val.warningKind == 6) {
+                                    htmltext = '<b style="color:red">雨量站小时上报延时</b>';
+                                } else if (val.warningKind == 7) {
+                                    htmltext = '<b style="color:red">水位站小时上报延时</b>';
+                                } else if (val.warningKind == 8) {
+                                    htmltext = '<b style="color:red">雨量疑似异常值</b>';
+                                }
+
+                                return htmltext;
+                            }
+                        }
+                    },
                     {
                         label: "发生时间",
                         prop: "warningHappenTime",
                         span: 12,
+                        width: 150
                     },
                 ],
             },
@@ -135,7 +176,7 @@ export default {
     },
     methods: {
         init() {
-            //  this.onLoad(this.page);
+            this.onLoad(this.page);
         },
         searchReset() {
             this.query = {};
@@ -176,7 +217,7 @@ export default {
         onLoad(page, params = {}) {
             this.loading = true;
             params['deptId'] = this.deptId;
-            console.log("load " + JSON.stringify(params))
+            //console.log("load " + JSON.stringify(params))
             getOfflinePage(
                 page.currentPage,
                 page.pageSize,

+ 265 - 0
src/views/business/warning/otherswarnlist.vue

@@ -0,0 +1,265 @@
+<!--
+ * @Title: 
+ * @Description: 预警测站列表,按测站统计
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+    <div>
+        <el-row>
+            <el-col :span="24">
+                <basic-container>
+                    <avue-crud :option="option" :table-loading="loading" :page.sync="page" :data="data" ref="crud"
+                        v-model="form" @search-change="searchChange" @search-reset="searchReset"
+                        @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+                        @refresh-change="refreshChange">
+                    </avue-crud>
+                </basic-container>
+            </el-col>
+        </el-row>
+    </div>
+</template>
+
+<script>
+
+import { getOthersWarnPage, getDetail } from "@/api/business/warning/warning.js";
+
+// import { mapGetters } from "vuex";
+export default {
+    components: {
+
+    },
+    props: {
+        deptId: {
+            type: [Number],
+            required: true
+        },
+    },
+    name: 'otherwarninglist',
+    data() {
+        return {
+            dialogTitle: "异常测站列表",
+            id: "",
+            form: {},
+            selectionList: [],
+            query: {},
+            loading: true,
+            page: {
+                pageSize: 10,
+                currentPage: 1,
+                total: 0,
+            },
+            option: {
+                labelWidth: 120,
+                viewLabelWidth: 100,
+                searchlabelWidth: 100,
+                height: "auto",
+                calcHeight: 80,
+                align: "center",
+                headerAlign: "center",
+                tip: false,
+                simplePage: true,
+                searchShow: true,
+                searchMenuSpan: 6,
+                addBtn: false,
+                tree: true,
+                border: true,
+                index: true,
+                editBtn: false,
+                delBtn: false,
+                menuWidth: 200,
+                dialogType: "drawer",
+                dialogClickModal: false,
+                columnBtn: false,
+                menu: false,
+                column: [
+                    {
+                        label: "测站编码",
+                        prop: "rtuCode",
+                        span: 24,
+                        search: true,
+                        width: 160,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.rtuName) {
+                                return '<b>' + val.rtuName + '</b>' + '<b>【' + val.rtuCode + '】</b>'
+                            } else {
+                                return '<b>' + val.rtuCode + '</b>'
+                            }
+                        }
+                    },
+                    {
+                        label: "测站名称",
+                        prop: "rtuName",
+                        span: 24,
+                        search: true,
+                        hide: true,
+                    },
+                    // {
+                    //     label: "行政区",
+                    //     prop: "adCity",
+                    //     span: 12,
+                    //     html: true,
+                    //     formatter: (val) => {
+                    //         if (val.adDist) {
+                    //             return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
+                    //         } else {
+                    //             return '<b>' + val.adCity + '</b>'
+                    //         }
+                    //     }
+                    // },
+                    {
+                        label: "运维单位",
+                        prop: "manageCompany",
+                        span: 12,
+                        width: 180
+                    },
+                    {
+                        label: "异常信息",
+                        prop: "warningDesc",
+                        span: 12,
+                    },
+                    {
+                        label: "异常类别",
+                        prop: "warningKind",
+                        span: 12,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.warningKind) {
+                                let htmltext = '';
+                                if (val.warningKind == 1) {
+                                    htmltext = '<b style="color:red">测站离线</b>';
+                                } else if (val.warningKind == 2) {
+                                    htmltext = '<b style="color:red">测站时钟异常</b>';
+                                } else if (val.warningKind == 3) {
+                                    htmltext = '<b style="color:red">测站雨量小时报漏报</b>';
+                                } else if (val.warningKind == 4) {
+                                    htmltext = '<b style="color:red">测站水位小时报漏报</b>';
+                                } else if (val.warningKind == 5) {
+                                    htmltext = '<b style="color:red">雨量5分钟上报延时</b>';
+                                } else if (val.warningKind == 6) {
+                                    htmltext = '<b style="color:red">雨量站小时上报延时</b>';
+                                } else if (val.warningKind == 7) {
+                                    htmltext = '<b style="color:red">水位站小时上报延时</b>';
+                                } else if (val.warningKind == 8) {
+                                    htmltext = '<b style="color:red">雨量疑似异常值</b>';
+                                }
+
+                                return htmltext;
+                            }
+                        }
+                    },
+                    {
+                        label: "发生时间",
+                        prop: "warningHappenTime",
+                        span: 12,
+                        width: 150
+                    },
+                ],
+            },
+            data: [],
+        };
+    },
+    created() {
+
+    },
+    methods: {
+        init() {
+            this.onLoad(this.page);
+        },
+        searchReset() {
+            this.query = {};
+            this.page.currentPage = 1;
+            this.onLoad(this.page);
+        },
+        searchChange(params, done) {
+            this.query = params;
+            this.page.currentPage = 1;
+            this.onLoad(this.page, params);
+            done();
+        },
+        selectionChange(list) {
+            this.selectionList = list;
+        },
+        selectionClear() {
+            this.selectionList = [];
+            this.$refs.crud.toggleSelection();
+        },
+        beforeOpen(done, type) {
+            if (["edit", "view"].includes(type)) {
+                getDetail(this.form.id).then((res) => {
+                    this.form = res.data.data;
+                });
+            }
+            done();
+        },
+        currentChange(currentPage) {
+            this.page.currentPage = currentPage;
+        },
+        sizeChange(pageSize) {
+            this.page.pageSize = pageSize;
+        },
+        refreshChange() {
+            var params = {};
+            this.onLoad(this.page, params);
+        },
+        onLoad(page, params = {}) {
+            this.loading = true;
+            params['deptId'] = this.deptId;
+            console.log("load " + JSON.stringify(params))
+            getOthersWarnPage(
+                page.currentPage,
+                page.pageSize,
+                Object.assign(params, this.query)
+            ).then((res) => {
+                const data = res.data.data;
+                this.page.total = data.total;
+                this.data = data.records;
+                this.loading = false;
+                //this.selectionClear();
+            });
+        },
+    },
+};
+</script>
+
+<style  lang="scss" scoped>
+.line {
+    display: flex;
+    flex-direction: row;
+    justify-content: flex-start;
+}
+
+.line .lineText {
+    margin-left: 10px;
+    margin-right: 0px;
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
+}
+
+.line .lineText .orderCount {
+
+    color: green;
+    font-size: 0.8rem;
+}
+
+.line .lineText .spliteLine {
+    color: gray;
+    font-size: 0.8rem;
+}
+
+.line .lineText .orderUnconfirm {
+
+    color: lightcoral;
+    font-size: 0.8rem;
+}
+
+.line .lineText .orderProcessing {
+
+    color: dodgerblue;
+    font-size: 0.8rem;
+}
+</style>

+ 56 - 14
src/views/business/warning/outlitervaluewarnlist.vue

@@ -81,40 +81,82 @@ export default {
                         prop: "rtuCode",
                         span: 24,
                         search: true,
+                        width: 160,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.rtuName) {
+                                return '<b>' + val.rtuName + '</b>' + '<b>【' + val.rtuCode + '】</b>'
+                            } else {
+                                return '<b>' + val.rtuCode + '</b>'
+                            }
+                        }
                     },
                     {
                         label: "测站名称",
                         prop: "rtuName",
                         span: 24,
                         search: true,
+                        hide: true,
                     },
-                    {
-                        label: "行政区",
-                        prop: "adCity",
-                        span: 12,
-                        html: true,
-                        formatter: (val) => {
-                            if (val.adDist) {
-                                return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
-                            } else {
-                                return '<b>' + val.adCity + '</b>'
-                            }
-                        }
-                    },
+                    // {
+                    //     label: "行政区",
+                    //     prop: "adCity",
+                    //     span: 12,
+                    //     html: true,
+                    //     formatter: (val) => {
+                    //         if (val.adDist) {
+                    //             return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
+                    //         } else {
+                    //             return '<b>' + val.adCity + '</b>'
+                    //         }
+                    //     }
+                    // },
                     {
                         label: "运维单位",
                         prop: "manageCompany",
                         span: 12,
+                        width: 180
                     },
                     {
                         label: "异常信息",
                         prop: "warningDesc",
                         span: 12,
                     },
+                    {
+                        label: "异常类别",
+                        prop: "warningKind",
+                        span: 12,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.warningKind) {
+                                let htmltext = '';
+                                if (val.warningKind == 1) {
+                                    htmltext = '<b style="color:red">测站离线</b>';
+                                } else if (val.warningKind == 2) {
+                                    htmltext = '<b style="color:red">测站时钟异常</b>';
+                                } else if (val.warningKind == 3) {
+                                    htmltext = '<b style="color:red">测站雨量小时报漏报</b>';
+                                } else if (val.warningKind == 4) {
+                                    htmltext = '<b style="color:red">测站水位小时报漏报</b>';
+                                } else if (val.warningKind == 5) {
+                                    htmltext = '<b style="color:red">雨量5分钟上报延时</b>';
+                                } else if (val.warningKind == 6) {
+                                    htmltext = '<b style="color:red">雨量站小时上报延时</b>';
+                                } else if (val.warningKind == 7) {
+                                    htmltext = '<b style="color:red">水位站小时上报延时</b>';
+                                } else if (val.warningKind == 8) {
+                                    htmltext = '<b style="color:red">雨量疑似异常值</b>';
+                                }
+
+                                return htmltext;
+                            }
+                        }
+                    },
                     {
                         label: "发生时间",
                         prop: "warningHappenTime",
                         span: 12,
+                        width: 150
                     },
                 ],
             },
@@ -176,7 +218,7 @@ export default {
         onLoad(page, params = {}) {
             this.loading = true;
             params['deptId'] = this.deptId;
-            console.log("load " + JSON.stringify(params))
+            //console.log("load " + JSON.stringify(params))
             getOutltervaluePage(
                 page.currentPage,
                 page.pageSize,

+ 56 - 14
src/views/business/warning/rainhourmissoutwarnlist.vue

@@ -81,40 +81,82 @@ export default {
                         prop: "rtuCode",
                         span: 24,
                         search: true,
+                        width: 160,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.rtuName) {
+                                return '<b>' + val.rtuName + '</b>' + '<b>【' + val.rtuCode + '】</b>'
+                            } else {
+                                return '<b>' + val.rtuCode + '</b>'
+                            }
+                        }
                     },
                     {
                         label: "测站名称",
                         prop: "rtuName",
                         span: 24,
                         search: true,
+                        hide: true,
                     },
-                    {
-                        label: "行政区",
-                        prop: "adCity",
-                        span: 12,
-                        html: true,
-                        formatter: (val) => {
-                            if (val.adDist) {
-                                return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
-                            } else {
-                                return '<b>' + val.adCity + '</b>'
-                            }
-                        }
-                    },
+                    // {
+                    //     label: "行政区",
+                    //     prop: "adCity",
+                    //     span: 12,
+                    //     html: true,
+                    //     formatter: (val) => {
+                    //         if (val.adDist) {
+                    //             return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
+                    //         } else {
+                    //             return '<b>' + val.adCity + '</b>'
+                    //         }
+                    //     }
+                    // },
                     {
                         label: "运维单位",
                         prop: "manageCompany",
                         span: 12,
+                        width: 180
                     },
                     {
                         label: "异常信息",
                         prop: "warningDesc",
                         span: 12,
                     },
+                    {
+                        label: "异常类别",
+                        prop: "warningKind",
+                        span: 12,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.warningKind) {
+                                let htmltext = '';
+                                if (val.warningKind == 1) {
+                                    htmltext = '<b style="color:red">测站离线</b>';
+                                } else if (val.warningKind == 2) {
+                                    htmltext = '<b style="color:red">测站时钟异常</b>';
+                                } else if (val.warningKind == 3) {
+                                    htmltext = '<b style="color:red">测站雨量小时报漏报</b>';
+                                } else if (val.warningKind == 4) {
+                                    htmltext = '<b style="color:red">测站水位小时报漏报</b>';
+                                } else if (val.warningKind == 5) {
+                                    htmltext = '<b style="color:red">雨量5分钟上报延时</b>';
+                                } else if (val.warningKind == 6) {
+                                    htmltext = '<b style="color:red">雨量站小时上报延时</b>';
+                                } else if (val.warningKind == 7) {
+                                    htmltext = '<b style="color:red">水位站小时上报延时</b>';
+                                } else if (val.warningKind == 8) {
+                                    htmltext = '<b style="color:red">雨量疑似异常值</b>';
+                                }
+
+                                return htmltext;
+                            }
+                        }
+                    },
                     {
                         label: "发生时间",
                         prop: "warningHappenTime",
                         span: 12,
+                        width: 150
                     },
                 ],
             },
@@ -176,7 +218,7 @@ export default {
         onLoad(page, params = {}) {
             this.loading = true;
             params['deptId'] = this.deptId;
-            console.log("load " + JSON.stringify(params))
+            //console.log("load " + JSON.stringify(params))
             getRainHourmissoutPage(
                 page.currentPage,
                 page.pageSize,

+ 56 - 14
src/views/business/warning/rainhourupdelaywarnlist.vue

@@ -81,40 +81,82 @@ export default {
                         prop: "rtuCode",
                         span: 24,
                         search: true,
+                        width: 160,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.rtuName) {
+                                return '<b>' + val.rtuName + '</b>' + '<b>【' + val.rtuCode + '】</b>'
+                            } else {
+                                return '<b>' + val.rtuCode + '</b>'
+                            }
+                        }
                     },
                     {
                         label: "测站名称",
                         prop: "rtuName",
                         span: 24,
                         search: true,
+                        hide: true,
                     },
-                    {
-                        label: "行政区",
-                        prop: "adCity",
-                        span: 12,
-                        html: true,
-                        formatter: (val) => {
-                            if (val.adDist) {
-                                return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
-                            } else {
-                                return '<b>' + val.adCity + '</b>'
-                            }
-                        }
-                    },
+                    // {
+                    //     label: "行政区",
+                    //     prop: "adCity",
+                    //     span: 12,
+                    //     html: true,
+                    //     formatter: (val) => {
+                    //         if (val.adDist) {
+                    //             return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
+                    //         } else {
+                    //             return '<b>' + val.adCity + '</b>'
+                    //         }
+                    //     }
+                    // },
                     {
                         label: "运维单位",
                         prop: "manageCompany",
                         span: 12,
+                        width: 180
                     },
                     {
                         label: "异常信息",
                         prop: "warningDesc",
                         span: 12,
                     },
+                    {
+                        label: "异常类别",
+                        prop: "warningKind",
+                        span: 12,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.warningKind) {
+                                let htmltext = '';
+                                if (val.warningKind == 1) {
+                                    htmltext = '<b style="color:red">测站离线</b>';
+                                } else if (val.warningKind == 2) {
+                                    htmltext = '<b style="color:red">测站时钟异常</b>';
+                                } else if (val.warningKind == 3) {
+                                    htmltext = '<b style="color:red">测站雨量小时报漏报</b>';
+                                } else if (val.warningKind == 4) {
+                                    htmltext = '<b style="color:red">测站水位小时报漏报</b>';
+                                } else if (val.warningKind == 5) {
+                                    htmltext = '<b style="color:red">雨量5分钟上报延时</b>';
+                                } else if (val.warningKind == 6) {
+                                    htmltext = '<b style="color:red">雨量站小时上报延时</b>';
+                                } else if (val.warningKind == 7) {
+                                    htmltext = '<b style="color:red">水位站小时上报延时</b>';
+                                } else if (val.warningKind == 8) {
+                                    htmltext = '<b style="color:red">雨量疑似异常值</b>';
+                                }
+
+                                return htmltext;
+                            }
+                        }
+                    },
                     {
                         label: "发生时间",
                         prop: "warningHappenTime",
                         span: 12,
+                        width: 150
                     },
                 ],
             },
@@ -176,7 +218,7 @@ export default {
         onLoad(page, params = {}) {
             this.loading = true;
             params['deptId'] = this.deptId;
-            console.log("load " + JSON.stringify(params))
+            //console.log("load " + JSON.stringify(params))
             getRainHourupdelayPage(
                 page.currentPage,
                 page.pageSize,

+ 56 - 14
src/views/business/warning/riverhourmissoutwarnlist.vue

@@ -81,40 +81,82 @@ export default {
                         prop: "rtuCode",
                         span: 24,
                         search: true,
+                        width: 160,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.rtuName) {
+                                return '<b>' + val.rtuName + '</b>' + '<b>【' + val.rtuCode + '】</b>'
+                            } else {
+                                return '<b>' + val.rtuCode + '</b>'
+                            }
+                        }
                     },
                     {
                         label: "测站名称",
                         prop: "rtuName",
                         span: 24,
                         search: true,
+                        hide: true,
                     },
-                    {
-                        label: "行政区",
-                        prop: "adCity",
-                        span: 12,
-                        html: true,
-                        formatter: (val) => {
-                            if (val.adDist) {
-                                return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
-                            } else {
-                                return '<b>' + val.adCity + '</b>'
-                            }
-                        }
-                    },
+                    // {
+                    //     label: "行政区",
+                    //     prop: "adCity",
+                    //     span: 12,
+                    //     html: true,
+                    //     formatter: (val) => {
+                    //         if (val.adDist) {
+                    //             return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
+                    //         } else {
+                    //             return '<b>' + val.adCity + '</b>'
+                    //         }
+                    //     }
+                    // },
                     {
                         label: "运维单位",
                         prop: "manageCompany",
                         span: 12,
+                        width: 180
                     },
                     {
                         label: "异常信息",
                         prop: "warningDesc",
                         span: 12,
                     },
+                    {
+                        label: "异常类别",
+                        prop: "warningKind",
+                        span: 12,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.warningKind) {
+                                let htmltext = '';
+                                if (val.warningKind == 1) {
+                                    htmltext = '<b style="color:red">测站离线</b>';
+                                } else if (val.warningKind == 2) {
+                                    htmltext = '<b style="color:red">测站时钟异常</b>';
+                                } else if (val.warningKind == 3) {
+                                    htmltext = '<b style="color:red">测站雨量小时报漏报</b>';
+                                } else if (val.warningKind == 4) {
+                                    htmltext = '<b style="color:red">测站水位小时报漏报</b>';
+                                } else if (val.warningKind == 5) {
+                                    htmltext = '<b style="color:red">雨量5分钟上报延时</b>';
+                                } else if (val.warningKind == 6) {
+                                    htmltext = '<b style="color:red">雨量站小时上报延时</b>';
+                                } else if (val.warningKind == 7) {
+                                    htmltext = '<b style="color:red">水位站小时上报延时</b>';
+                                } else if (val.warningKind == 8) {
+                                    htmltext = '<b style="color:red">雨量疑似异常值</b>';
+                                }
+
+                                return htmltext;
+                            }
+                        }
+                    },
                     {
                         label: "发生时间",
                         prop: "warningHappenTime",
                         span: 12,
+                        width: 150
                     },
                 ],
             },
@@ -176,7 +218,7 @@ export default {
         onLoad(page, params = {}) {
             this.loading = true;
             params['deptId'] = this.deptId;
-            console.log("load " + JSON.stringify(params))
+            //console.log("load " + JSON.stringify(params))
             getRiverHourmissoutPage(
                 page.currentPage,
                 page.pageSize,

+ 56 - 14
src/views/business/warning/riverhourupdelaywarnlist.vue

@@ -81,40 +81,82 @@ export default {
                         prop: "rtuCode",
                         span: 24,
                         search: true,
+                        width: 160,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.rtuName) {
+                                return '<b>' + val.rtuName + '</b>' + '<b>【' + val.rtuCode + '】</b>'
+                            } else {
+                                return '<b>' + val.rtuCode + '</b>'
+                            }
+                        }
                     },
                     {
                         label: "测站名称",
                         prop: "rtuName",
                         span: 24,
                         search: true,
+                        hide: true,
                     },
-                    {
-                        label: "行政区",
-                        prop: "adCity",
-                        span: 12,
-                        html: true,
-                        formatter: (val) => {
-                            if (val.adDist) {
-                                return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
-                            } else {
-                                return '<b>' + val.adCity + '</b>'
-                            }
-                        }
-                    },
+                    // {
+                    //     label: "行政区",
+                    //     prop: "adCity",
+                    //     span: 12,
+                    //     html: true,
+                    //     formatter: (val) => {
+                    //         if (val.adDist) {
+                    //             return '<b>' + val.adCity + '</b>/' + '<b>' + val.adDist + '</b>'
+                    //         } else {
+                    //             return '<b>' + val.adCity + '</b>'
+                    //         }
+                    //     }
+                    // },
                     {
                         label: "运维单位",
                         prop: "manageCompany",
                         span: 12,
+                        width: 180
                     },
                     {
                         label: "异常信息",
                         prop: "warningDesc",
                         span: 12,
                     },
+                    {
+                        label: "异常类别",
+                        prop: "warningKind",
+                        span: 12,
+                        html: true,
+                        formatter: (val) => {
+                            if (val.warningKind) {
+                                let htmltext = '';
+                                if (val.warningKind == 1) {
+                                    htmltext = '<b style="color:red">测站离线</b>';
+                                } else if (val.warningKind == 2) {
+                                    htmltext = '<b style="color:red">测站时钟异常</b>';
+                                } else if (val.warningKind == 3) {
+                                    htmltext = '<b style="color:red">测站雨量小时报漏报</b>';
+                                } else if (val.warningKind == 4) {
+                                    htmltext = '<b style="color:red">测站水位小时报漏报</b>';
+                                } else if (val.warningKind == 5) {
+                                    htmltext = '<b style="color:red">雨量5分钟上报延时</b>';
+                                } else if (val.warningKind == 6) {
+                                    htmltext = '<b style="color:red">雨量站小时上报延时</b>';
+                                } else if (val.warningKind == 7) {
+                                    htmltext = '<b style="color:red">水位站小时上报延时</b>';
+                                } else if (val.warningKind == 8) {
+                                    htmltext = '<b style="color:red">雨量疑似异常值</b>';
+                                }
+
+                                return htmltext;
+                            }
+                        }
+                    },
                     {
                         label: "发生时间",
                         prop: "warningHappenTime",
                         span: 12,
+                        width: 150
                     },
                 ],
             },
@@ -176,7 +218,7 @@ export default {
         onLoad(page, params = {}) {
             this.loading = true;
             params['deptId'] = this.deptId;
-            console.log("load " + JSON.stringify(params))
+            //console.log("load " + JSON.stringify(params))
             getRiverHourupdelayPage(
                 page.currentPage,
                 page.pageSize,

+ 424 - 0
src/views/business/warning/warnsetting.vue

@@ -0,0 +1,424 @@
+<!--
+ * @Title: 
+ * @Description: 维修任务参数配置
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+    <div>
+        <el-row>
+            <el-col :span="24">
+                <basic-container>
+                    <label style="color: gray;font-size: 0.8rem;">备注:预警总开关关闭后,所有预警配置将忽略</label>
+                </basic-container>
+            </el-col>
+        </el-row>
+        <el-row>
+            <el-col :span="24">
+                <basic-container>
+                    <avue-form :option="warnSettingOption" v-model="warnSettingForm" @submit="submitWarnSetting" />
+                </basic-container>
+            </el-col>
+        </el-row>
+    </div>
+</template>
+
+<script>
+import { getSettingDetail, submitSetting } from "@/api/business/warning/warning.js";
+
+export default {
+    components: {
+
+    },
+    props: {
+
+    },
+    name: 'warnsetting',
+    data() {
+        return {
+            warnSettingForm: {
+
+            },
+            warnSettingOption: {
+                labelWidth: 180,
+                emptyBtn: false,
+                column: [
+                    {
+                        label: "预警总开关",
+                        prop: "warnActive",
+                        span: 24,
+                        rules: [{
+                            required: true,
+                            message: "必填项",
+                        }],
+                        type: 'radio',
+                        dicData: [{
+                            label: '关闭',
+                            value: 0
+                        }, {
+                            label: '启动',
+                            value: 1
+                        }]
+                    },
+                    {
+                        label: "离线预警开关",
+                        prop: "warnOfflineActive",
+                        span: 8,
+                        rules: [{
+                            required: true,
+                            message: "必填项",
+                        }],
+                        type: 'radio',
+                        dicData: [{
+                            label: '关闭',
+                            value: 0
+                        }, {
+                            label: '启动',
+                            value: 1
+                        }]
+                    },
+                    {
+                        label: "时钟异常预警开关",
+                        prop: "warnClockActive",
+                        span: 8,
+                        rules: [{
+                            required: true,
+                            message: "必填项",
+                        }],
+                        type: 'radio',
+                        dicData: [{
+                            label: '关闭',
+                            value: 0
+                        }, {
+                            label: '启动',
+                            value: 1
+                        }]
+                    },
+                    {
+                        label: "雨量分钟报延时预警开关",
+                        prop: "warnMinUpDelayActive",
+                        span: 8,
+                        rules: [{
+                            required: true,
+                            message: "必填项",
+                        }],
+                        type: 'radio',
+                        dicData: [{
+                            label: '关闭',
+                            value: 0
+                        }, {
+                            label: '启动',
+                            value: 1
+                        }]
+                    },
+                    {
+                        label: "小时报延时预警开关",
+                        prop: "warnHourUpDelayActive",
+                        span: 8,
+                        rules: [{
+                            required: true,
+                            message: "必填项",
+                        }],
+                        type: 'radio',
+                        dicData: [{
+                            label: '关闭',
+                            value: 0
+                        }, {
+                            label: '启动',
+                            value: 1
+                        }]
+                    },
+                    {
+                        label: "漏报预警开关",
+                        prop: "warnMissOutActive",
+                        span: 8,
+                        rules: [{
+                            required: true,
+                            message: "必填项",
+                        }],
+                        type: 'radio',
+                        dicData: [{
+                            label: '关闭',
+                            value: 0
+                        }, {
+                            label: '启动',
+                            value: 1
+                        }]
+                    },
+                    {
+                        label: "雨量疑似异常值预警开关",
+                        prop: "warnOutlierValueActive",
+                        span: 8,
+                        rules: [{
+                            required: true,
+                            message: "必填项",
+                        }],
+                        type: 'radio',
+                        dicData: [{
+                            label: '关闭',
+                            value: 0
+                        }, {
+                            label: '启动',
+                            value: 1
+                        }]
+                    },
+                    {
+                        label: "离线预警是否创建任务",
+                        prop: "warnOfflineAutoTask",
+                        span: 8,
+                        rules: [{
+                            required: true,
+                            message: "必填项",
+                        }],
+                        type: 'radio',
+                        dicData: [{
+                            label: '关闭',
+                            value: 0
+                        }, {
+                            label: '创建',
+                            value: 1
+                        }]
+                    },
+                    {
+                        label: "时钟异常是否创建任务",
+                        prop: "warnClockAutoTask",
+                        span: 8,
+                        rules: [{
+                            required: true,
+                            message: "必填项",
+                        }],
+                        type: 'radio',
+                        dicData: [{
+                            label: '关闭',
+                            value: 0
+                        }, {
+                            label: '创建',
+                            value: 1
+                        }]
+                    },
+                    {
+                        label: "分钟上报延时是否创建任务",
+                        prop: "warnDelayAutoTask",
+                        span: 8,
+                        rules: [{
+                            required: true,
+                            message: "必填项",
+                        }],
+                        type: 'radio',
+                        dicData: [{
+                            label: '关闭',
+                            value: 0
+                        }, {
+                            label: '创建',
+                            value: 1
+                        }]
+                    },
+                    {
+                        label: "小时上报延时是否创建任务",
+                        prop: "warnHourUpDelayAutoTask",
+                        span: 8,
+                        rules: [{
+                            required: true,
+                            message: "必填项",
+                        }],
+                        type: 'radio',
+                        dicData: [{
+                            label: '关闭',
+                            value: 0
+                        }, {
+                            label: '创建',
+                            value: 1
+                        }]
+                    },
+                    {
+                        label: "漏报预警是否创建任务",
+                        prop: "warnMissOutAutoTask",
+                        span: 8,
+                        rules: [{
+                            required: true,
+                            message: "必填项",
+                        }],
+                        type: 'radio',
+                        dicData: [{
+                            label: '关闭',
+                            value: 0
+                        }, {
+                            label: '创建',
+                            value: 1
+                        }]
+                    },
+                    {
+                        label: "雨量疑似异常值是否创建任务",
+                        prop: "warnOutlierValueAutoTask",
+                        span: 16,
+                        rules: [{
+                            required: true,
+                            message: "必填项",
+                        }],
+                        type: 'radio',
+                        dicData: [{
+                            label: '关闭',
+                            value: 0
+                        }, {
+                            label: '创建',
+                            value: 1
+                        }]
+                    },
+                    {
+                        label: "雨情测站离线时长",
+                        prop: "warnRainOfflineDuration",
+                        span: 8,
+                        tip: '单位为小时',
+                        rules: [{
+                            required: true,
+                            message: "必填项",
+                        }],
+                    },
+                    {
+                        label: "河道水情测站离线时长",
+                        prop: "warnRiverOfflineDuration",
+                        span: 8,
+                        tip: '单位为小时',
+                        rules: [{
+                            required: true,
+                            message: "必填项",
+                        }],
+                    },
+                    {
+                        label: "墒情测站离线时长",
+                        prop: "warnGroundOfflineDuration",
+                        span: 8,
+                        tip: '单位为小时',
+                        rules: [{
+                            required: true,
+                            message: "必填项",
+                        }],
+                    },
+                    {
+                        label: "5分钟雨情上报延时时长",
+                        prop: "warnRainDelayMinDuration",
+                        span: 8,
+                        tip: '单位为分钟',
+                        rules: [{
+                            required: true,
+                            message: "必填项",
+                        }],
+                    },
+                    // {
+                    //     label: "5分钟水情上报延时时长",
+                    //     prop: "warnRiverDelayMinDuration",
+                    //     span: 8,
+                    //     tip: '单位为分钟',
+                    //     rules: [{
+                    //         required: true,
+                    //         message: "必填项",
+                    //     }],
+                    // },
+                    // {
+                    //     label: "5分钟墒情上报延时时长",
+                    //     prop: "warnGroundDelayMinDuration",
+                    //     span: 8,
+                    //     tip: '单位为分钟',
+                    //     rules: [{
+                    //         required: true,
+                    //         message: "必填项",
+                    //     }],
+                    // },
+                    {
+                        label: "小时雨情上报延时时长",
+                        prop: "warnRainDelayHourDuration",
+                        span: 8,
+                        tip: '单位为分钟',
+                        rules: [{
+                            required: true,
+                            message: "必填项",
+                        }],
+                    },
+                    {
+                        label: "小时水情上报延时时长",
+                        prop: "warnRiverDelayHourDuration",
+                        span: 8,
+                        tip: '单位为分钟',
+                        rules: [{
+                            required: true,
+                            message: "必填项",
+                        }],
+                    },
+                    {
+                        label: "小时墒情上报延时时长",
+                        prop: "warnGroundDelayHourDuration",
+                        span: 8,
+                        tip: '单位为分钟',
+                        rules: [{
+                            required: true,
+                            message: "必填项",
+                        }],
+                    },
+                    {
+                        label: "漏报数量阀值",
+                        prop: "warnMissNum",
+                        span: 8,
+                        tip: '24小时内漏报阀值数量',
+                        rules: [{
+                            required: true,
+                            message: "必填项",
+                        }],
+                    },
+                ]
+            },
+            loading: true,
+        };
+    },
+    computed: {
+        // ...mapGetters(["userInfo", "permission"]),
+        permissionList() {
+            return {
+                // addBtn: this.vaildData(this.permission.docCategory_add, false),
+                // viewBtn: this.vaildData(this.permission.docCategory_view, false),
+                // delBtn: this.vaildData(this.permission.docCategory_delete, false),
+                // editBtn: this.vaildData(this.permission.docCategory_edit, false),
+            };
+        },
+        ids() {
+            let ids = [];
+            return ids.join(",");
+        },
+    },
+    mounted() {
+    },
+    created() {
+        this.initData();
+    },
+    methods: {
+        initData() {
+            getSettingDetail().then((res) => {
+                this.warnSettingForm = res.data.data;
+                //console.log(JSON.stringify(this.warnSettingForm))
+            });
+        },
+        submitWarnSetting(from, done) {
+            //console.log(JSON.stringify(from))
+            //console.log(JSON.stringify(this.warnSettingForm))
+            this.loading = true;
+            submitSetting(from).then((res) => {
+                console.log(JSON.stringify(res))
+                this.loading = false;
+                this.$message({
+                    type: "success",
+                    message: "配置提交成功!",
+                });
+                done();
+                getSettingDetail().then((res) => {
+                    this.warnSettingForm = res.data.data;
+                });
+            }, (error) => {
+                console.log(error)
+                this.loading = false;
+                done();
+            });
+        }
+    },
+};
+</script>

+ 171 - 191
src/views/report/reportlist.vue

@@ -1,203 +1,183 @@
 <template>
-  <basic-container>
-    <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               ref="crud"
-               v-model="form"
-               :page.sync="page"
-               :permission="permissionList"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
-      <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   @click="handleDelete">删 除
-        </el-button>
-      </template>
-      <template slot-scope="scope" slot="menu">
-        <el-button
-          type="text"
-          icon="el-icon-edit-outline"
-          size="small"
-          @click.stop="handleDesign(scope.row.name)"
-          v-if="userInfo.role_name.includes('admin')"
-        >设计
-        </el-button>
-        <el-button
-          type="text"
-          icon="el-icon-view"
-          size="small"
-          @click.stop="handlePreview(scope.row.name)"
-          v-if="userInfo.role_name.includes('admin')"
-        >预览
-        </el-button>
-      </template>
-      <template slot-scope="{row}" slot="name">
-        <el-tag style="cursor:pointer" @click="handlePreview(row.name)">{{ row.name }}</el-tag>
-      </template>
-    </avue-crud>
-  </basic-container>
+    <basic-container>
+        <avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="form" :page.sync="page"
+            :permission="permissionList" @row-del="rowDel" @search-change="searchChange" @search-reset="searchReset"
+            @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+            @refresh-change="refreshChange" @on-load="onLoad">
+            <template slot="menuLeft">
+                <el-button type="danger" size="small" icon="el-icon-delete" plain @click="handleDelete">删 除
+                </el-button>
+            </template>
+            <template slot-scope="scope" slot="menu">
+                <el-button type="text" icon="el-icon-edit-outline" size="small" @click.stop="handleDesign(scope.row.name)"
+                    v-if="userInfo.role_name.includes('admin')">设计
+                </el-button>
+                <el-button type="text" icon="el-icon-view" size="small"
+                    @click.stop="handlePreview(scope.row.id, scope.row.name)" v-if="userInfo.role_name.includes('admin')">预览
+                </el-button>
+            </template>
+            <template slot-scope="{row}" slot="name">
+                <el-tag style="cursor:pointer" @click="handlePreview(row.id, row.name)">{{ row.name }}</el-tag>
+            </template>
+        </avue-crud>
+    </basic-container>
 </template>
 
 <script>
-import {getList, remove} from "@/api/report/report";
-import {mapGetters} from "vuex";
+import { getList, remove } from "@/api/report/report";
+import { mapGetters } from "vuex";
 
 export default {
-  data() {
-    return {
-      form: {},
-      selectionList: [],
-      query: {},
-      loading: true,
-      page: {
-        pageSize: 10,
-        currentPage: 1,
-        total: 0
-      },
-      option: {
-        height: 'auto',
-        calcHeight: 30,
-        tip: false,
-        searchShow: true,
-        searchMenuSpan: 6,
-        border: true,
-        index: true,
-        selection: true,
-        viewBtn: true,
-        dialogClickModal: false,
-        column: [
-          {
-            label: "文件名",
-            prop: "name",
-            search: true,
-            slot: true,
-          },
-          {
-            label: "创建时间",
-            prop: "createTime",
-          },
-          {
-            label: "更新时间",
-            prop: "updateTime",
-          }
-        ]
-      },
-      data: []
-    };
-  },
-  computed: {
-    ...mapGetters(["userInfo", "permission"]),
-    permissionList() {
-      return {
-        addBtn: false,
-        viewBtn: false,
-        delBtn: true,
-        editBtn: false
-      };
+    data() {
+        return {
+            form: {},
+            selectionList: [],
+            query: {},
+            loading: true,
+            page: {
+                pageSize: 10,
+                currentPage: 1,
+                total: 0
+            },
+            option: {
+                height: 'auto',
+                calcHeight: 30,
+                tip: false,
+                searchShow: true,
+                searchMenuSpan: 6,
+                border: true,
+                index: true,
+                selection: true,
+                viewBtn: true,
+                dialogClickModal: false,
+                column: [
+                    {
+                        label: "文件名",
+                        prop: "name",
+                        search: true,
+                        slot: true,
+                    },
+                    {
+                        label: "创建时间",
+                        prop: "createTime",
+                    },
+                    {
+                        label: "更新时间",
+                        prop: "updateTime",
+                    }
+                ]
+            },
+            data: []
+        };
     },
-    ids() {
-      let ids = [];
-      this.selectionList.forEach(ele => {
-        ids.push(ele.id);
-      });
-      return ids.join(",");
-    }
-  },
-  methods: {
-    handlePreview(name) {
-      this.$router.push({path: `/myiframe/urlPath?name=preview-${name}&src=${this.website.reportUrl}/preview?_u=blade-${name}`});
-    },
-    handleDesign(name) {
-      this.$router.push({path: `/myiframe/urlPath?name=designer-${name}&src=${this.website.reportUrl}/designer?_u=blade-${name}`});
-    },
-    rowDel(row) {
-      this.$confirm("确定将选择数据删除?", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      })
-        .then(() => {
-          return remove(row.id);
-        })
-        .then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-        });
-    },
-    searchReset() {
-      this.query = {};
-      this.onLoad(this.page);
-    },
-    searchChange(params, done) {
-      this.query = params;
-      this.page.currentPage = 1;
-      this.onLoad(this.page, params);
-      done();
-    },
-    selectionChange(list) {
-      this.selectionList = list;
-    },
-    selectionClear() {
-      this.selectionList = [];
-      this.$refs.crud.toggleSelection();
-    },
-    handleDelete() {
-      if (this.selectionList.length === 0) {
-        this.$message.warning("请选择至少一条数据");
-        return;
-      }
-      this.$confirm("确定将选择数据删除?", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      })
-        .then(() => {
-          return remove(this.ids);
-        })
-        .then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          this.$refs.crud.toggleSelection();
-        });
-    },
-    currentChange(currentPage) {
-      this.page.currentPage = currentPage;
-    },
-    sizeChange(pageSize) {
-      this.page.pageSize = pageSize;
-    },
-    refreshChange() {
-      this.onLoad(this.page, this.query);
+    computed: {
+        ...mapGetters(["userInfo", "permission"]),
+        permissionList() {
+            return {
+                addBtn: false,
+                viewBtn: false,
+                delBtn: true,
+                editBtn: false
+            };
+        },
+        ids() {
+            let ids = [];
+            this.selectionList.forEach(ele => {
+                ids.push(ele.id);
+            });
+            return ids.join(",");
+        }
     },
-    onLoad(page, params = {}) {
-      this.loading = true;
-      getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-        const data = res.data.data;
-        this.page.total = data.total;
-        this.data = data.records;
-        this.loading = false;
-        this.selectionClear();
-      });
+    methods: {
+        handlePreview(id, name) {
+            //console.log(id)
+            //console.log(name)
+            let toUrl = encodeURIComponent(this.website.reportUrl + '/preview?_u=blade-' + name + "&id=" + id)
+            this.$router.push({
+                path: `/myiframe/urlPath?name=preview-${name}&src=${toUrl}`,
+            });
+            //path: `/myiframe/urlPath?name=preview-${name}&src=${this.website.reportUrl}/preview?_u=blade-${name}`
+        },
+        handleDesign(name) {
+            this.$router.push({ path: `/myiframe/urlPath?name=designer-${name}&src=${this.website.reportUrl}/designer?_u=blade-${name}` });
+        },
+        rowDel(row) {
+            this.$confirm("确定将选择数据删除?", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning"
+            })
+                .then(() => {
+                    return remove(row.id);
+                })
+                .then(() => {
+                    this.onLoad(this.page);
+                    this.$message({
+                        type: "success",
+                        message: "操作成功!"
+                    });
+                });
+        },
+        searchReset() {
+            this.query = {};
+            this.onLoad(this.page);
+        },
+        searchChange(params, done) {
+            this.query = params;
+            this.page.currentPage = 1;
+            this.onLoad(this.page, params);
+            done();
+        },
+        selectionChange(list) {
+            this.selectionList = list;
+        },
+        selectionClear() {
+            this.selectionList = [];
+            this.$refs.crud.toggleSelection();
+        },
+        handleDelete() {
+            if (this.selectionList.length === 0) {
+                this.$message.warning("请选择至少一条数据");
+                return;
+            }
+            this.$confirm("确定将选择数据删除?", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning"
+            })
+                .then(() => {
+                    return remove(this.ids);
+                })
+                .then(() => {
+                    this.onLoad(this.page);
+                    this.$message({
+                        type: "success",
+                        message: "操作成功!"
+                    });
+                    this.$refs.crud.toggleSelection();
+                });
+        },
+        currentChange(currentPage) {
+            this.page.currentPage = currentPage;
+        },
+        sizeChange(pageSize) {
+            this.page.pageSize = pageSize;
+        },
+        refreshChange() {
+            this.onLoad(this.page, this.query);
+        },
+        onLoad(page, params = {}) {
+            this.loading = true;
+            getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+                const data = res.data.data;
+                this.page.total = data.total;
+                this.data = data.records;
+                this.loading = false;
+                this.selectionClear();
+            });
+        }
     }
-  }
 };
 </script>
 
-<style>
-</style>
+<style></style>

+ 1141 - 0
src/views/wel/index-v1.vue

@@ -0,0 +1,1141 @@
+<template>
+    <div>
+        <el-row :gutter="10">
+            <el-col :span="8">
+                <el-card shadow="always" style="height:280px">
+                    <div ref="rtuInfoCountChart" style="width: 100%;height: 280px;">
+                    </div>
+                </el-card>
+            </el-col>
+            <el-col :span="8">
+                <el-card shadow="always" style="height:280px">
+                    <div ref="checkOrderChart" style="width: 100%;height: 280px;">
+                    </div>
+                </el-card>
+            </el-col>
+            <el-col :span="8">
+                <el-card shadow="always" style="height:280px">
+                    <div ref="equipmentInspectionCountChart" style="width: 100%;height: 280px;">
+                    </div>
+                </el-card>
+            </el-col>
+        </el-row>
+        <el-row :gutter="10">
+            <el-col :span="8">
+                <el-card style="width: 100%;height: 500px;overflow-y: auto;">
+                    <div slot="header" class="clearfix">
+                        <span>今日维修任务动态</span>
+                        <el-button style="float: right; padding: 3px 0" type="text"
+                            @click="openMoreTodayOrderProcess">更多</el-button>
+                    </div>
+                    <div v-for="(item, index) in todayOrderList" :key="index" class="list-item">
+                        <el-row type="flex">
+                            <el-col :span="20">
+                                <div style="display: flex; flex-direction: row;align-items: center;">
+                                    <label>{{ item.rtuName }}</label>
+                                    <label style="margin-left: 5px;color: gray;"> / {{ item.rtuCode }}</label>
+                                </div>
+                                <div style="display: flex; flex-direction: row;align-items: center;margin-top: 4px;">
+                                    <label style="margin-right: 10px;">维修状态:<span style="color:gray">{{
+                                        item.orderStatusName }}</span></label>
+                                </div>
+                                <div style="display: flex; flex-direction: row;align-items: center;margin-top: 4px;">
+                                    <label>更新时间:<span style="color:gray">{{ item.updateTime }}</span></label>
+                                </div>
+                                <div style="margin-top: 4px;margin-bottom: 5px;">
+                                    <label>备注:<span style="color:gray">{{ item.processDesc }}</span></label>
+                                </div>
+                            </el-col>
+                            <el-col :span="4" style="display: flex;flex-direction: column;justify-content: center;">
+                                <el-button style="margin-right: 10px;" size="mini" type="info" round
+                                    @click="openCheckOrderReportDetail(item)">查看详情</el-button>
+                            </el-col>
+                        </el-row>
+                    </div>
+                </el-card>
+            </el-col>
+            <el-col :span="8">
+                <el-card style="width: 100%;height: 500px;overflow-y: auto;">
+                    <div slot="header" class="clearfix">
+                        <span>今日巡检动态</span>
+                        <el-button style="float: right; padding: 3px 0" type="text"
+                            @click="openMoreTodayInspectionReport">更多</el-button>
+                    </div>
+                    <div v-for="(item, index) in todayInspectionReportList" :key="index" class="list-item">
+                        <el-row type="flex">
+                            <el-col :span="20">
+                                <div style="display: flex; flex-direction: row;align-items: center;">
+                                    <label>{{ item.rtuName }}</label>
+                                    <label style="margin-left: 5px;color: gray;"> / {{ item.rtuCode }}</label>
+                                </div>
+                                <div style="display: flex; flex-direction: row;align-items: center;margin-top: 4px;">
+                                    <label style="margin-right: 10px;">填报人:<span style="color:gray">{{
+                                        item.servicePersonName
+                                    }}</span></label>
+                                </div>
+                                <div
+                                    style="display: flex; flex-direction: row;align-items: center;margin-top: 4px;margin-bottom: 5px;">
+                                    <label>填报时间:<span style="color:gray">{{ item.updateTime }}</span></label>
+                                </div>
+                            </el-col>
+                            <el-col :span="4" style="display: flex;flex-direction: column;justify-content: center;">
+                                <el-button style="margin-right: 10px;" size="mini" type="info" round
+                                    @click="openInspectionReportDetail(item)">查看详情</el-button>
+                            </el-col>
+                        </el-row>
+                    </div>
+                </el-card>
+            </el-col>
+            <el-col :span="8">
+                <el-row>
+                    <el-col :span="24">
+                        <el-card class="box-card-news">
+                            <div slot="header" class="clearfix">
+                                <span>通知公告</span>
+                                <el-button style="float: right; padding: 3px 0" type="text"
+                                    @click="openMoreNotice">更多</el-button>
+                            </div>
+                            <div v-for="(item, index) in noticeList" :key="index" class="notice-item">
+                                <div>
+                                    <label>{{ item.title }}</label>
+                                </div>
+                                <div style="margin-top: 4px;">
+                                    <label class="notice-time">发布时间: {{ item.releaseTime }}</label>
+                                </div>
+                                <div style="margin-top: 4px;margin-bottom: 2px;">
+                                    <label>{{
+                                        item.content
+                                    }}</label>
+                                </div>
+                            </div>
+                        </el-card>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="24">
+                        <el-card class="box-card-apk">
+                            <div slot="header" class="clearfix">
+                                <span>手机客户端下载</span>
+                            </div>
+                            <div>
+                                <img style="width: 100px;height: 100px;" :src="appinfo.apkQrUrl" />
+                            </div>
+                            <div style="margin-top: 4px;">
+                                <label style="padding-left: 5px;font-size: 0.8rem;">版本号 {{ appinfo.version }}</label>
+                            </div>
+                            <div style="margin-top: 4px;">
+                                <el-button type="text" @click="downloadApk">下载安卓客户端</el-button>
+                            </div>
+                        </el-card>
+                    </el-col>
+                </el-row>
+            </el-col>
+        </el-row>
+        <el-drawer title="今日维修任务动态" :visible.sync="moreTodayOrderProcessDig" v-if="moreTodayOrderProcessDig" size="50%"
+            :close-on-click-modal="false" append-to-body>
+            <todaycheckorderprocesslist ref="todaycheckorderprocesslist">
+            </todaycheckorderprocesslist>
+        </el-drawer>
+        <el-drawer title="今日巡检动态" :visible.sync="moreTodayInspectionReportDig" v-if="moreTodayInspectionReportDig"
+            size="50%" :close-on-click-modal="false" append-to-body>
+            <todaynspectionrportlist ref="todaynspectionrportlist"></todaynspectionrportlist>
+        </el-drawer>
+        <el-drawer title="通知公告" :visible.sync="moreNoticeDig" v-if="moreNoticeDig" size="50%" :close-on-click-modal="false"
+            append-to-body>
+            <todaynoticelist ref="todaynoticelist"></todaynoticelist>
+        </el-drawer>
+        <el-drawer title="异常测站信息" :visible.sync="warninglistDig" v-if="warninglistDig" size="50%"
+            :close-on-click-modal="false" append-to-body>
+            <warninglist ref="warninglist"></warninglist>
+        </el-drawer>
+        <el-drawer title="未确认维修任务" :visible.sync="uncomfireCheckOrderDig" v-if="uncomfireCheckOrderDig" size="50%"
+            :close-on-click-modal="false" append-to-body>
+            <uncomfirecheckorderlist ref="uncomfirecheckorderlist"></uncomfirecheckorderlist>
+        </el-drawer>
+        <el-drawer title="确认超时维修任务" :visible.sync="comfireDelayCheckOrderDig" v-if="comfireDelayCheckOrderDig" size="50%"
+            :close-on-click-modal="false" append-to-body>
+            <comfiredelaycheckorderlist ref="comfiredelaycheckorderlist"></comfiredelaycheckorderlist>
+        </el-drawer>
+        <el-drawer title="维修任务详情" :visible.sync="checkorderprocessdetailDig" v-if="checkorderprocessdetailDig" size="50%"
+            :close-on-click-modal="false" append-to-body>
+            <checkorderprocessdetail ref="checkorderprocessdetail" :orderId="checkOrderReportId"></checkorderprocessdetail>
+        </el-drawer>
+        <el-drawer title="设备巡检详情" :visible.sync="inspectionreportdetailDig" v-if="inspectionreportdetailDig" size="50%"
+            :close-on-click-modal="false" append-to-body>
+            <inspectionreportdetail ref="inspectionreportdetail" :id="inspectionReportId"></inspectionreportdetail>
+        </el-drawer>
+        <el-drawer :visible.sync="inspectionreportlistDig" v-if="inspectionreportlistDig" size="50%"
+            :close-on-click-modal="false" append-to-body>
+            <div slot="title" class="header-title">
+                <span class="name">{{ dialogTitle }}</span>
+            </div>
+            <inspectionreportlistVue ref="inspectionreportlist" :rainSeasonKind="rainSeasonKind"></inspectionreportlistVue>
+        </el-drawer>
+    </div>
+</template>
+
+<script>
+import { getRealData } from "@/api/home/home.js";
+import { todayOrderProcessList } from "@/api/business/order/process.js";
+import { todayInspectionReportList } from "@/api/business/inspection/inspectionreport.js";
+import { getLastList } from "@/api/notice/notice.js";
+import { getStore } from '@/util/store.js';
+import { getAppInfo } from "@/api/versionmanage/version.js";
+import todaycheckorderprocesslist from "../business/order/todaycheckorderprocesslist.vue";
+import uncomfirecheckorderlist from "../business/order/uncomfirecheckorderlist.vue";
+import comfiredelaycheckorderlist from "../business/order/comfiredelaycheckorderlist.vue";
+import todaynspectionrportlist from "../business/inspection/todaynspectionrportlist.vue";
+import todaynoticelist from "../notice/todaynoticelist.vue";
+import warninglist from "../business/warning/warninglist.vue";
+import checkorderprocessdetail from "../business/order/checkorderprocessdetail.vue";
+import inspectionreportdetail from "../business/inspection/inspectionreportdetail.vue";
+import inspectionreportlistVue from "../business/inspection/inspectionreportlist.vue";
+
+export default {
+    name: "home",
+    components: {
+        todaycheckorderprocesslist,
+        todaynspectionrportlist,
+        todaynoticelist,
+        warninglist,
+        uncomfirecheckorderlist,
+        comfiredelaycheckorderlist,
+        checkorderprocessdetail,
+        inspectionreportdetail,
+        inspectionreportlistVue
+    },
+    data() {
+        return {
+            warninglistDig: false,
+            uncomfireCheckOrderDig: false,
+            comfireDelayCheckOrderDig: false,
+            moreTodayOrderProcessDig: false,
+            moreTodayInspectionReportDig: false,
+            moreNoticeDig: false,
+            checkorderprocessdetailDig: false,
+            inspectionreportdetailDig: false,
+            inspectionreportlistDig: false,
+            appinfo: {
+                apkUrl: '',
+                apkQrUrl: '',
+                version: ''
+            },
+            checkOrderReportId: '',
+            inspectionReportId: '',
+            realData: {
+            },
+            stompClient: null,
+            layout: [],
+            cache: [],
+            editSw: false,
+            dialog: false,
+            dialogTitle: '',
+            id: "",
+            guideForm: {},
+            second: 0,
+            timer: null,
+            state: 5,
+            todayOrderList: [],
+            todayInspectionReportList: [],
+            noticeList: [],
+            userInfo: getStore({ name: 'userInfo' }) || [],
+            rainSeasonKind: 0,
+            rtuInfoMap: null,
+            rtuInfoCountOption: {
+                tooltip: {
+                    trigger: 'axis',
+                    axisPointer: {
+                        type: 'shadow',
+                    },
+                    showContent: true,
+                    formatter: function (params) {
+                        //console.log(JSON.stringify(params))
+                        if (params[0].data.showpercent) {
+                            return "点击柱状图可查看详情";
+                        } else {
+                            return "点击打开管理工作台页面";
+                        }
+                    }
+                },
+                title: {
+                    text: '测站统计信息',
+                    textStyle: {
+                        fontSize: 16,
+                        fontWeight: "bold",
+                        color: "#464646",
+                    }
+                },
+                color: ['#5470c6'],
+                yAxis: {
+                    type: 'category',
+                    data: ['设备异常', '测站数量']
+                },
+                xAxis: {
+                    type: 'value',
+
+                },
+                grid: {
+                    right: '2%',
+                    containLabel: true
+                },
+                series: [
+                    {
+                        data: [
+                            {
+                                value: 0,
+                                itemStyle: {
+                                    color: 'rgba(84, 112, 198,1.0)'
+                                },
+                                showpercent: false,
+                                percent: 0
+                            },
+                            {
+                                value: 0,
+                                itemStyle: {
+                                    color: 'rgba(84, 112, 198,1.0)'
+                                },
+                                showpercent: false,
+                                percent: 0
+                            },
+                        ],
+                        type: 'bar',
+                        barWidth: 20,
+                        label: {
+                            show: true,
+                            position: 'insideLeft',
+                            rich: {
+                                a: {
+                                    color: 'red',
+                                    width: 20,
+                                    padding: [0, 0, 4, 0]
+                                },
+                                b: {
+                                    color: 'red',
+                                    width: 50,
+                                    height: 0,
+                                    borderWidth: 1,
+                                    borderColor: 'red'
+                                }
+                            },
+                            formatter(params) {
+                                if (params.data.showpercent) {
+                                    return '    ' + params.data.value + ' / ' + params.data.percent + '%';
+                                } else {
+                                    return '    ' + params.data.value;
+                                }
+
+                            }
+                        },
+                    }
+                ]
+            },
+            checkOrderMap: null,
+            checkOrderCountOption: {
+                tooltip: {
+                    trigger: 'axis',
+                    axisPointer: {
+                        type: 'shadow',
+                    },
+                    showContent: true,
+                    formatter: function (params) {
+                        //console.log(JSON.stringify(params))
+                        if (params[0].data.showpercent) {
+                            return "点击柱状图可查看详情";
+                        } else {
+                            return "点击打开维修任务页面";
+                        }
+                    },
+                    textStyle: {
+                        fontSize: 12
+                    }
+                },
+                title: {
+                    text: '维修任务统计信息',
+                    textStyle: {
+                        fontSize: 16,
+                        fontWeight: "bold",
+                        color: "#464646",
+                    }
+                },
+                color: ['#5470c6'],
+                yAxis: {
+                    type: 'category',
+                    data: ['超时未确认任务', '未确认任务', '维修任务数量']
+                },
+                xAxis: {
+                    type: 'value',
+
+                },
+                grid: {
+                    right: '2%',
+                    containLabel: true
+                },
+                series: [
+                    {
+                        data: [
+                            {
+                                value: 0,
+                                itemStyle: {
+                                    color: 'rgba(238, 122, 122,1.0)'
+
+                                },
+                                showpercent: true,
+                                percent: 0
+                            },
+                            {
+                                value: 0,
+                                itemStyle: {
+                                    color: 'rgba(250, 200, 88,1.0)'
+
+                                },
+                                showpercent: true,
+                                percent: 0
+                            },
+                            {
+                                value: 0,
+                                itemStyle: {
+
+                                    color: 'rgba(84, 112, 198,1.0)'
+                                },
+                                showpercent: true,
+                                percent: 0
+                            },
+                        ],
+                        type: 'bar',
+                        barWidth: 20,
+                        label: {
+                            show: true,
+                            position: 'insideLeft',
+                            formatter(params) {
+                                if (params.data.showpercent) {
+                                    return '    ' + params.data.value + ' / ' + params.data.percent + '%';
+                                } else {
+                                    return '    ' + params.data.value;
+                                }
+
+                            }
+                        },
+                    }
+                ]
+            },
+            equipmentInspectionChartMap: null,
+            equipmentInspectionCountOption: {
+                tooltip: {
+                    trigger: 'axis',
+                    axisPointer: {
+                        type: 'shadow',
+                    },
+                    showContent: true,
+                    formatter: function (params) {
+                        // console.log(JSON.stringify(params))
+                        if (params[0].data.showpercent) {
+                            return "点击柱状图可查看详情";
+                        } else {
+                            return "点击打开设备巡检信息页面";
+                        }
+                    }
+                },
+                title: {
+                    text: '本年度设备巡检统计信息',
+                    textStyle: {
+                        fontSize: 16,
+                        fontWeight: "bold",
+                        color: "#464646",
+                    }
+                },
+                color: ['#5470c6'],
+                yAxis: {
+                    type: 'category',
+                    data: ['汛中(二)已巡检', '汛中(一)已巡检', '汛前已巡检', '需巡检站点数量']
+                },
+                xAxis: {
+                    type: 'value',
+
+                },
+                grid: {
+                    right: '2%',
+                    containLabel: true
+                },
+                series: [
+                    {
+                        data: [
+                            {
+                                value: 0,
+                                itemStyle: {
+                                    color: 'rgba(84, 112, 198,1.0)'
+                                },
+                                showpercent: false,
+                                percent: 0
+                            },
+                            {
+                                value: 0,
+                                itemStyle: {
+                                    color: 'rgba(84, 112, 198,1.0)'
+                                },
+                                showpercent: false,
+                                percent: 0
+                            },
+                            {
+                                value: 0,
+                                itemStyle: {
+                                    color: 'rgba(84, 112, 198,1.0)'
+                                },
+                                showpercent: false,
+                                percent: 0
+                            },
+                            {
+                                value: 0,
+                                itemStyle: {
+                                    color: 'rgba(84, 112, 198,1.0)'
+                                },
+                                showpercent: false,
+                                percent: 0
+                            },
+                        ],
+                        type: 'bar',
+                        barWidth: 20,
+                        label: {
+                            show: true,
+                            position: 'insideLeft',
+                            formatter(params) {
+                                if (params.data.showpercent) {
+                                    return '    ' + params.data.value + ' / ' + params.data.percent + '%';
+                                } else {
+                                    return '    ' + params.data.value;
+                                }
+
+                            }
+                        },
+                    }
+                ]
+            },
+        };
+    },
+    created() {
+        // let u = getStore({ name: 'userInfo' });
+        // console.log(JSON.stringify(u));
+        this.getData();
+
+    },
+    computed: {
+        // ...mapGetters(["userInfo"]),
+    },
+    mounted() {
+        console.log("mounted ++++++++++++++++++++");
+        // this.initWebsocket();
+
+        this.initRtuInfoCountMap();
+        this.initCheckOrderCountMap();
+        this.initEquipmentInspectionCountMap();
+        if (this.timer == null) {
+            this.timer = setInterval(this.timeCall, 10000);
+        }
+    },
+    beforeDestroy() {
+        console.log("beforeDestroy ++++++++++++++++++++");
+        //  this.closeSocket();
+        if (this.timer != null) {
+            console.log("clear timer ++++++++++++++ ")
+            clearInterval(this.timer);
+            this.timer = null;
+        }
+    },
+    methods: {
+        timeCall() {
+            console.log("time ++++++++++++++++++++");
+            this.getData();
+        },
+        initRtuInfoCountMap() {
+            var that = this;
+
+            let chart = this.$refs.rtuInfoCountChart;
+            if (chart) {
+                this.rtuInfoMap = this.$echarts.init(chart);
+                this.rtuInfoMap.setOption(this.rtuInfoCountOption);
+                // window.addEventListener("resize", function () {
+                //     that.$refs['rtuInfoChart'].resize();
+                // })
+
+                // this.$on('hook:destroyed', () => {
+                //     window.removeEventListener("resize", function () {
+                //         that.$refs['rtuInfoChart'].resize();
+                //     })
+                // })
+
+                //  this.rtuInfoMap.clear();
+
+                this.rtuInfoMap.getZr().off('click');
+                this.rtuInfoMap.getZr().on('click', function (p) {
+                    console.log("checkOrderChart  zr ++++++++++++++++++++++++++++++++++++")
+                    let pointInPixel = [p.offsetX, p.offsetY];
+                    if (that.rtuInfoMap.containPixel('grid', pointInPixel)) {
+                        let yIndex = that.rtuInfoMap.convertFromPixel({ seriesIndex: 0 }, [p.offsetX, p.offsetY])[1];
+                        //let  yData=that.checkOrderCountOption.yAxis.data[yIndex];//当前点击柱子的数据
+                        let value = that.rtuInfoCountOption.series[0].data[yIndex].value;
+                        if (yIndex == 1) {
+                            console.log("测站数量 index " + yIndex)
+                            that.$router.push({ path: '/business/manage/index' });
+                        } else if (yIndex == 0) {
+                            if (value > 0) {
+                                console.log("设备异常 index " + yIndex)
+                                that.warninglistDig = true;
+                                that.$nextTick(() => {
+                                    that.$refs['warninglist'].init();
+                                });
+                            } else {
+                                that.$message.warning("超时未确认维修任务暂无数据");
+                            }
+                        }
+                    }
+                });
+
+                // this.rtuInfoMap.off('click');
+                // this.rtuInfoMap.on('click', function (p) {
+                //     if (p.name === '设备异常') {
+                //         that.warninglistDig = true;
+                //         that.$nextTick(() => {
+                //             that.$refs['warninglist'].init();
+                //         });
+                //     }
+                // })
+            }
+        },
+        initCheckOrderCountMap() {
+            let chart = this.$refs.checkOrderChart;
+            if (chart) {
+                this.checkOrderMap = this.$echarts.init(chart);
+                this.checkOrderMap.setOption(this.checkOrderCountOption);
+                // window.addEventListener("resize", function () {
+                //     this.$refs.checkOrderChart.resize();
+                // })
+
+                // this.$on('hook:destroyed', () => {
+                //     window.removeEventListener("resize", function () {
+                //         this.$refs.checkOrderChart.resize();
+                //     })
+                // })
+
+                var that = this;
+
+                //this.checkOrderMap.clear();
+
+                this.checkOrderMap.getZr().off('click');
+                this.checkOrderMap.getZr().on('click', function (p) {
+                    console.log("checkOrderChart  zr ++++++++++++++++++++++++++++++++++++")
+                    let pointInPixel = [p.offsetX, p.offsetY];
+                    if (that.checkOrderMap.containPixel('grid', pointInPixel)) {
+                        let yIndex = that.checkOrderMap.convertFromPixel({ seriesIndex: 0 }, [p.offsetX, p.offsetY])[1];
+                        //let  yData=that.checkOrderCountOption.yAxis.data[yIndex];//当前点击柱子的数据
+                        let value = that.checkOrderCountOption.series[0].data[yIndex].value;
+                        if (yIndex == 2) {
+                            console.log("维修数量 index " + yIndex)
+                            that.$router.push({ path: '/business/order/checkorderlist' });
+                        } else if (yIndex == 1) {
+                            if (value > 0) {
+                                console.log("未确认 index " + yIndex)
+                                that.uncomfireCheckOrderDig = true;
+                                that.$nextTick(() => {
+                                    that.$refs["uncomfirecheckorderlist"].init();
+                                });
+                            } else {
+                                that.$message.warning("未确认维修任务暂无数据");
+                            }
+                        } else if (yIndex == 0) {
+                            if (value > 0) {
+                                console.log("超时未确认 index " + yIndex)
+                                that.comfireDelayCheckOrderDig = true;
+                                that.$nextTick(() => {
+                                    that.$refs["comfiredelaycheckorderlist"].init();
+                                });
+                            } else {
+                                that.$message.warning("超时未确认维修任务暂无数据");
+                            }
+                        }
+                    }
+                });
+
+                // this.checkOrderMap.off('click');
+                // this.checkOrderMap.on('click', function (p) {
+                //     if (p.name === '未确认任务') {
+                //         that.uncomfireCheckOrderDig = true;
+                //         that.$nextTick(() => {
+                //             that.$refs["uncomfirecheckorderlist"].init();
+                //         });
+                //     } else if (p.name === '超时未确认任务') {
+                //         that.comfireDelayCheckOrderDig = true;
+                //         that.$nextTick(() => {
+                //             that.$refs["comfiredelaycheckorderlist"].init();
+                //         });
+                //     }
+                // })
+            }
+        },
+        initEquipmentInspectionCountMap() {
+            let chart = this.$refs.equipmentInspectionCountChart;
+            if (chart) {
+                this.equipmentInspectionChartMap = this.$echarts.init(chart);
+                this.equipmentInspectionChartMap.setOption(this.equipmentInspectionCountOption);
+                // window.addEventListener("resize", function () {
+                //     this.$refs.equipmentInspectionCountChart.resize();
+                // })
+
+                // this.$on('hook:destroyed', () => {
+                //     window.removeEventListener("resize", function () {
+                //         this.$refs.equipmentInspectionCountChart.resize();
+                //     })
+                // })
+                var that = this;
+                this.equipmentInspectionChartMap.getZr().off('click');
+                this.equipmentInspectionChartMap.getZr().on('click', function (p) {
+                    console.log("checkOrderChart  zr ++++++++++++++++++++++++++++++++++++")
+                    let pointInPixel = [p.offsetX, p.offsetY];
+                    if (that.equipmentInspectionChartMap.containPixel('grid', pointInPixel)) {
+                        let yIndex = that.equipmentInspectionChartMap.convertFromPixel({ seriesIndex: 0 }, [p.offsetX, p.offsetY])[1];
+                        //let yData = that.equipmentInspectionCountOption.yAxis.data[yIndex];//当前点击柱子的数据
+                        let value = that.equipmentInspectionCountOption.series[0].data[yIndex].value;
+                        console.log(" yData " + value)
+                        if (yIndex == 3) {
+                            console.log("巡检数量 index " + yIndex)
+                            that.$router.push({ path: '/business/inspection/index' });
+                        } else if (yIndex == 2) {
+
+                            if (value > 0) {
+                                console.log("汛前 index " + yIndex)
+                                that.rainSeasonKind = 1;
+                                that.inspectionreportlistDig = true;
+                                that.dialogTitle = '汛前已巡检信息';
+                                that.$nextTick(() => {
+                                    that.$refs["inspectionreportlist"].init();
+                                });
+
+                            } else {
+                                that.$message.warning("汛前巡检暂无上报数据");
+                            }
+                        } else if (yIndex == 1) {
+                            if (value > 0) {
+                                console.log("汛中一 index " + yIndex)
+                                that.rainSeasonKind = 2;
+                                that.inspectionreportlistDig = true;
+                                that.dialogTitle = '汛中(一)已巡检信息';
+                                that.$nextTick(() => {
+                                    that.$refs["inspectionreportlist"].init();
+                                });
+                            } else {
+                                that.$message.warning("汛中第一次巡检暂无上报数据");
+                            }
+                        } else if (yIndex == 0) {
+                            if (value > 0) {
+                                console.log("汛中二 index " + yIndex)
+
+                                that.rainSeasonKind = 3;
+                                that.inspectionreportlistDig = true;
+                                that.dialogTitle = '汛中(二)已巡检信息';
+                                that.$nextTick(() => {
+                                    that.$refs["inspectionreportlist"].init();
+                                });
+                            } else {
+                                that.$message.warning("汛中第二次巡检暂无上报数据");
+                            }
+                        }
+                    }
+                });
+
+
+                // this.equipmentInspectionChartMap.off('click');
+                // this.equipmentInspectionChartMap.on('click', function (p) {
+                //     console.log("equipmentInspectionChartMap**********************************")
+
+                //     console.log(p)
+
+                //     if (p.name === '汛前已巡检') {
+                //         that.rainSeasonKind = 1;
+                //         that.inspectionreportlistDig = true;
+                //         that.dialogTitle = '汛前已巡检信息';
+                //         that.$nextTick(() => {
+                //             that.$refs["inspectionreportlist"].init();
+                //         });
+                //     } else if (p.name === '汛中(一)已巡检') {
+                //         that.rainSeasonKind = 2;
+                //         that.inspectionreportlistDig = true;
+                //         that.dialogTitle = '汛中(一)已巡检信息';
+                //         that.$nextTick(() => {
+                //             that.$refs["inspectionreportlist"].init();
+                //         });
+                //     } else if (p.name === '汛中(二)已巡检') {
+                //         that.rainSeasonKind = 3;
+                //         that.inspectionreportlistDig = true;
+                //         that.dialogTitle = '汛中(二)已巡检信息';
+                //         that.$nextTick(() => {
+                //             that.$refs["inspectionreportlist"].init();
+                //         });
+                //     }
+                // })
+            }
+        },
+        close() {
+            this.dialog = false;
+        },
+        openMoreTodayOrderProcess() {
+            this.moreTodayOrderProcessDig = true;
+            this.$nextTick(() => {
+                this.$refs["todaycheckorderprocesslist"].init();
+            });
+        },
+        openMoreTodayInspectionReport() {
+            this.moreTodayInspectionReportDig = true;
+            this.$nextTick(() => {
+                this.$refs["todaynspectionrportlist"].init();
+            });
+        },
+        openMoreNotice() {
+            this.moreNoticeDig = true;
+            this.$nextTick(() => {
+                this.$refs["todaynoticelist"].init();
+            });
+        },
+        openCheckOrderReportDetail(item) {
+            this.checkOrderReportId = item.orderId;
+            this.checkorderprocessdetailDig = true;
+            this.$nextTick(() => {
+                this.$refs["checkorderprocessdetail"].init();
+            });
+        },
+        openInspectionReportDetail(item) {
+            this.inspectionReportId = item.id;
+            this.inspectionreportdetailDig = true;
+            this.$nextTick(() => {
+                this.$refs["inspectionreportdetail"].init();
+            });
+        },
+        downloadApk() {
+            if (this.appinfo.apkUrl !== '') {
+                window.open(this.appinfo.apkUrl);
+            }
+        },
+        getData() {
+            getRealData().then((res) => {
+                if (res.data.code === 200) {
+                    this.realData = res.data.data;
+                    let data = [];
+                    let num = new Number(this.realData.warningRtus / this.realData.rtus * 100);
+                    let bar = {
+                        value: this.realData.warningRtus,
+                        itemStyle: {
+                            color: 'rgba(255, 0, 0,1.0)'
+                        },
+                        showpercent: true,
+                        percent: num.toFixed(2),
+                    }
+                    data.push(bar)
+                    bar = {
+                        value: this.realData.rtus,
+                        itemStyle: {
+                            color: 'rgba(84, 112, 198,1.0)'
+                        },
+                        showpercent: false,
+                        percent: 0
+                    }
+                    data.push(bar)
+                    this.rtuInfoCountOption.series[0].data = data;
+                    this.rtuInfoMap.setOption(this.rtuInfoCountOption);
+                    num = new Number(this.realData.delayComfireOrders / this.realData.orderCount * 100);
+                    this.checkOrderCountOption.series[0].data[0].value = this.realData.delayComfireOrders;
+                    this.checkOrderCountOption.series[0].data[0].showpercent = true;
+                    this.checkOrderCountOption.series[0].data[0].percent = num.toFixed(2);
+
+                    num = new Number(this.realData.unconfirmOrderCount / this.realData.orderCount * 100);
+                    this.checkOrderCountOption.series[0].data[1].value = this.realData.unconfirmOrderCount;
+                    this.checkOrderCountOption.series[0].data[1].showpercent = true;
+                    this.checkOrderCountOption.series[0].data[1].percent = num.toFixed(2);
+
+                    // num = new Number((this.realData.orderCount - this.realData.unconfirmOrderCount) / this.realData.orderCount * 100);
+                    // this.checkOrderCountOption.series[0].data[2].value = this.realData.orderCount - this.realData.unconfirmOrderCount;
+                    // this.checkOrderCountOption.series[0].data[2].showpercent = true;
+                    // this.checkOrderCountOption.series[0].data[2].percent = num.toFixed(2);
+
+
+                    this.checkOrderCountOption.series[0].data[2].value = this.realData.orderCount;
+                    this.checkOrderCountOption.series[0].data[2].showpercent = false;
+                    this.checkOrderCountOption.series[0].data[2].percent = num.toFixed(2);
+
+                    // let data = [];
+                    // num = new Number(this.realData.delayComfireOrders / this.realData.orderCount * 100);
+                    // bar = {
+                    //     value: this.realData.delayComfireOrders,
+                    //     itemStyle: {
+                    //         color: 'rgba(255, 0, 0,1.0)'
+                    //     },
+                    //     showpercent: true,
+                    //     percent: num.toFixed(2),
+                    // }
+                    // data.push(bar)
+                    // let num = new Number(this.realData.unconfirmOrderCount / this.realData.orderCount * 100);
+                    // let bar = {
+                    //     value: this.realData.unconfirmOrderCount,
+                    //     itemStyle: {
+                    //         color: 'rgba(255, 0, 0,1.0)'
+                    //     },
+                    //     showpercent: true,
+                    //     percent: num.toFixed(2),
+                    // }
+                    // data.push(bar)
+                    // bar = {
+                    //     value: this.realData.orderCount,
+                    //     itemStyle: {
+                    //         color: 'rgba(84, 112, 198,1.0)'
+                    //     },
+                    //     showpercent: false,
+                    //     percent: 0
+                    // }
+                    // data.push(bar)
+                    // this.checkOrderCountOption.series[0].data = data;
+                    this.checkOrderMap.setOption(this.checkOrderCountOption);
+                    data = [];
+                    num = new Number(this.realData.equipmentInspectionRainSecondReports / this.realData.equipmentInspectionCount * 100);
+                    bar = {
+                        value: this.realData.equipmentInspectionRainSecondReports,
+                        itemStyle: {
+                            color: 'rgba(0, 133, 133,1.0)'
+                        },
+                        showpercent: true,
+                        percent: num.toFixed(2),
+                    }
+                    data.push(bar)
+                    num = new Number(this.realData.equipmentInspectionRainFirstReports / this.realData.equipmentInspectionCount * 100);
+                    bar = {
+                        value: this.realData.equipmentInspectionRainFirstReports,
+                        itemStyle: {
+                            color: 'rgba(0, 133, 133,1.0)'
+                        },
+                        showpercent: true,
+                        percent: num.toFixed(2),
+                    }
+                    data.push(bar)
+                    num = new Number(this.realData.equipmentInspectionBeforeRainReports / this.realData.equipmentInspectionCount * 100);
+                    bar = {
+                        value: this.realData.equipmentInspectionBeforeRainReports,
+                        itemStyle: {
+                            color: 'rgba(0, 133, 133,1.0)'
+                        },
+                        showpercent: true,
+                        percent: num.toFixed(2),
+                    }
+                    data.push(bar)
+                    bar = {
+                        value: this.realData.equipmentInspectionCount,
+                        itemStyle: {
+                            color: 'rgba(84, 112, 198,1.0)'
+                        },
+                        showpercent: false,
+                        percent: 0,
+                    }
+                    data.push(bar)
+                    this.equipmentInspectionCountOption.series[0].label.position = 'insideLeft';
+                    this.equipmentInspectionCountOption.series[0].data = data;
+                    this.equipmentInspectionChartMap.setOption(this.equipmentInspectionCountOption);
+                }
+            });
+            todayOrderProcessList().then((res) => {
+                this.todayOrderList = [];
+                for (let i = 0; i < 3 && i < res.data.data.length; i++) {
+                    this.todayOrderList.push(res.data.data[i]);
+                }
+            });
+            todayInspectionReportList().then((res) => {
+                this.todayInspectionReportList = [];
+                for (let i = 0; i < 3 && i < res.data.data.length; i++) {
+                    this.todayInspectionReportList.push(res.data.data[i]);
+                }
+            });
+            getLastList(1).then((res) => {
+                this.noticeList = [];
+                this.noticeList = res.data.data;
+            });
+            getAppInfo().then((res) => {
+                console.log(JSON.stringify(res.data.data))
+                this.appinfo = res.data.data;
+            });
+        },
+        changeState(state) {
+            this.state = state;
+
+            if (state != 5) {
+                if (this.timer) clearInterval(this.timer);
+                this.timer = setInterval(() => {
+                    this.second++;
+                }, 1000);
+            } else {
+                if (this.timer) {
+                    clearInterval(this.timer);
+                }
+                this.second = 0;
+            }
+        },
+        confirm() {
+            // let arr = this.layout.map((e) => {
+            //   return {
+            //     x: e.x,
+            //     y: e.y,
+            //     width: e.w,
+            //     height: e.h,
+            //     isShow: e.isShow,
+            //     moduleName: e.i,
+            //     moduleCode: e.i,
+            //   };
+            // });
+            // let params = {
+            //   layoutId: "",
+            //   homeLayoutDetailEntityList: arr,
+            // };
+            // insertCustom(params).then((res) => {});
+            // this.cache = [...this.layout];
+            // this.editSw = false;
+        },
+
+        /**
+         * 建立websocket连接
+         */
+        // initWebsocket: function () {
+        //     console.log("WebSocket 准备建立连接");
+        //     const socket = new SockJS("/api/galaxy-yjjcpt/ws");
+        //     this.stompClient = Stomp.over(socket);
+        //     this.stompClient.connect({}, this.onConnected, this.onError);
+        // },
+
+        /**
+         * 连接成功: 订阅服务器的地址。为了浏览器可以接收到消息,必须先订阅服务器的地址
+         */
+        // onConnected: function () {
+        //     console.log("WebSocket 连接成功");
+
+        //     // 设置心跳发送接受频率(ms)默认为10000ms。 heart-beating是利用window.setInterval()去规律地发送heart-beats或者检查服务端的heart-beats。
+        //     this.stompClient.heartbeat.outgoing = 10000;
+        //     this.stompClient.heartbeat.incoming = 0;
+
+        //     // 订阅
+        //     this.stompClient.subscribe("/topic/event", this.onMessageReceived);
+        // },
+
+        /**
+         * 连接失败
+         */
+        // onError: function (error) {
+        //     console.log("WebSocket 连接失败", error);
+        // },
+
+        /**
+         * 接收消息
+         */
+        // onMessageReceived: function (res) {
+        //     console.log(res.body);
+
+        //     console.log("WebSocket 接收消息-----------------------------------");
+        // },
+
+        /**
+         * 发送消息
+         */
+        // sendMessage: function () {
+        //     const chatMessage = {
+        //         sender: "",
+        //         content: "",
+        //         type: "CHAT",
+        //     };
+        //     this.stompClient.send(
+        //         "/app/chat.sendMessage",
+        //         {},
+        //         JSON.stringify(chatMessage)
+        //     );
+        // },
+
+        /**
+         * 关闭websocket连接
+         */
+        // closeSocket: function () {
+        //     if (this.stompClient != null) {
+        //         // this.stompClient.disconnect();
+        //         this.stompClient.disconnect(() => {
+        //             console.log("连接关闭");
+        //         });
+        //     }
+        // },
+    },
+};
+</script>
+  
+<style>
+.box-card {
+    width: 100%;
+    height: 500px;
+    overflow-y: auto;
+}
+
+.box-card-news {
+    width: 100%;
+    height: 250px;
+    overflow-y: auto;
+}
+
+.box-card-apk {
+    width: 100%;
+    height: 220px;
+}
+
+.el-row {
+    margin-bottom: 20px;
+}
+
+.el-col {
+    border-radius: 4px;
+}
+
+.bg-purple-dark {
+    background: #99a9bf;
+}
+
+.bg-purple {
+    background: #d3dce6;
+}
+
+.bg-purple-light {
+    background: #e5e9f2;
+}
+
+.grid-content {
+    border-radius: 4px;
+    min-height: 36px;
+}
+
+.row-bg {
+    padding: 10px 0;
+    background-color: #f9fafc;
+}
+
+.list-item {
+    padding-top: 5px;
+    padding-left: 2px;
+    border-width: thin;
+    border-bottom-style: solid;
+    border-bottom-color: lightgray;
+}
+
+.notice-item {
+    padding-top: 5px;
+    padding-left: 2px;
+    border-width: thin;
+    border-bottom-style: solid;
+    border-bottom-color: lightgray;
+}
+
+.notice-time {
+    font-size: 0.8rem;
+    color: gray;
+}
+
+.notice-content {
+    font-size: 0.9rem;
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
+}
+</style>

+ 0 - 1884
src/views/wel/index-v2.vue

@@ -1,1884 +0,0 @@
-<template>
-    <div>
-        <el-row :gutter="10">
-            <el-col :span="6">
-                <el-card shadow="always" style="height:280px">
-                    <div ref="rtuInfoCountPieChart" style="width: 100%;height: 280px;">
-                    </div>
-                </el-card>
-            </el-col>
-            <el-col :span="6">
-                <el-card shadow="always" style="height:280px">
-                    <div ref="rtuDataUpCountChart" style="width: 100%;height: 280px;">
-                    </div>
-                </el-card>
-            </el-col>
-            <el-col :span="6">
-                <el-card shadow="always" style="height:280px">
-                    <div ref="checkOrderChart" style="width: 100%;height: 280px;">
-                    </div>
-                </el-card>
-            </el-col>
-            <el-col :span="6">
-                <el-card shadow="always" style="height:280px">
-                    <div ref="equipmentInspectionCountChart" style="width: 100%;height: 280px;">
-                    </div>
-                </el-card>
-            </el-col>
-
-        </el-row>
-        <el-row v-if="adminPageStyle" :gutter="10">
-            <el-col :span="12">
-                <el-card shadow="always" style="height: 500px;">
-                    <div slot="header" class="clearfix">
-                        <span>测站异常分布统计信息</span>
-                    </div>
-                    <avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="form"
-                        @on-load="onLoad" @cell-click="cellClick">
-                    </avue-crud>
-                </el-card>
-            </el-col>
-            <el-col :span="6">
-                <el-row>
-                    <el-col :span="24">
-                        <el-card class="box-small-card">
-                            <div slot="header" class="clearfix">
-                                <span>今日维修任务动态</span>
-                                <el-button style="float: right; padding: 3px 0" type="text"
-                                    @click="openMoreTodayOrderProcess">更多</el-button>
-                            </div>
-                            <div v-for="(item, index) in todayOrderList" :key="index" class="list-item">
-                                <el-row type="flex">
-                                    <el-col :span="19">
-                                        <div style="padding-right: 5px;">
-
-                                            <div style="display: flex; flex-direction: row;align-items: center;">
-                                                <label>{{ item.rtuName }}</label>
-                                                <label style="margin-left: 5px;color: gray;"> / {{ item.rtuCode }}</label>
-                                            </div>
-                                            <div
-                                                style="display: flex; flex-direction: row;align-items: center;margin-top: 4px;">
-                                                <label>维修状态:<span style="color:gray">{{
-                                                    item.orderStatusName }}</span></label>
-                                            </div>
-                                            <div
-                                                style="display: flex; flex-direction: row;align-items: center;margin-top: 4px;">
-                                                <label>更新时间:<span style="color:gray">{{ item.updateTime }}</span></label>
-                                            </div>
-                                            <div style="margin-top: 4px;margin-bottom: 5px;">
-                                                <label>备注:<span style="color:gray">{{ item.processDesc }}</span></label>
-                                            </div>
-                                        </div>
-                                    </el-col>
-                                    <el-col :span="5" style="display: flex;flex-direction: column;justify-content: center;">
-                                        <el-button style="font-size: 0.7rem;" size="mini" type="info" round
-                                            @click="openCheckOrderReportDetail(item)">查看详情</el-button>
-                                    </el-col>
-                                </el-row>
-                            </div>
-                        </el-card>
-                    </el-col>
-                </el-row>
-                <el-row>
-                    <el-col :span="24">
-                        <el-card class="box-card-news">
-                            <div slot="header" class="clearfix">
-                                <span>通知公告</span>
-                                <el-button style="float: right; padding: 3px 0" type="text"
-                                    @click="openMoreNotice">更多</el-button>
-                            </div>
-                            <div v-for="(item, index) in noticeList" :key="index" class="notice-item">
-                                <div>
-                                    <label>{{ item.title }}</label>
-                                </div>
-                                <div style="margin-top: 4px;">
-                                    <label class="notice-time">发布时间: {{ item.releaseTime }}</label>
-                                </div>
-                                <div style="margin-top: 4px;margin-bottom: 2px;">
-                                    <label>{{
-                                        item.content
-                                    }}</label>
-                                </div>
-                            </div>
-                        </el-card>
-                    </el-col>
-                </el-row>
-            </el-col>
-            <el-col :span="6">
-                <el-row>
-                    <el-col :span="24">
-                        <el-card class="box-small-card">
-                            <div slot="header" class="clearfix">
-                                <span>今日巡检动态</span>
-                                <el-button style="float: right; padding: 3px 0" type="text"
-                                    @click="openMoreTodayInspectionReport">更多</el-button>
-                            </div>
-                            <div v-for="(item, index) in todayInspectionReportList" :key="index" class="list-item">
-                                <el-row type="flex">
-                                    <el-col :span="19">
-                                        <div style="display: flex; flex-direction: row;align-items: center;">
-                                            <label>{{ item.rtuName }}</label>
-                                            <label style="margin-left: 5px;color: gray;"> / {{ item.rtuCode }}</label>
-                                        </div>
-                                        <div
-                                            style="display: flex; flex-direction: row;align-items: center;margin-top: 4px;">
-                                            <label>填报人:<span style="color:gray">{{
-                                                item.servicePersonName
-                                            }}</span></label>
-                                        </div>
-                                        <div
-                                            style="display: flex; flex-direction: row;align-items: center;margin-top: 4px;margin-bottom: 5px;">
-                                            <label>填报时间:<span style="color:gray">{{ item.updateTime }}</span></label>
-                                        </div>
-                                    </el-col>
-                                    <el-col :span="5" style="display: flex;flex-direction: column;justify-content: center;">
-                                        <el-button style="font-size: 0.7rem;" size="mini" type="info" round
-                                            @click="openInspectionReportDetail(item)">查看详情</el-button>
-                                    </el-col>
-                                </el-row>
-                            </div>
-                        </el-card>
-
-
-                    </el-col>
-                </el-row>
-                <el-row>
-                    <el-col :span="24">
-                        <el-card class="box-card-apk">
-                            <div slot="header" class="clearfix">
-                                <span>手机客户端下载</span>
-                            </div>
-                            <div>
-                                <img style="width: 100px;height: 100px;" :src="appinfo.apkQrUrl" />
-                            </div>
-                            <div style="margin-top: 4px;">
-                                <label style="padding-left: 5px;font-size: 0.8rem;">版本号 {{ appinfo.version }}</label>
-                            </div>
-                            <div style="margin-top: 4px;">
-                                <el-button type="text" @click="downloadApk">下载安卓客户端</el-button>
-                            </div>
-                        </el-card>
-                    </el-col>
-                </el-row>
-            </el-col>
-        </el-row>
-        <el-row v-else :gutter="10">
-            <el-col :span="6">
-                <el-card shadow="always" style="height: 500px;">
-                    <div ref="rtuWarnCountChart" style="width: 100%;height: 500px;">
-                    </div>
-                </el-card>
-            </el-col>
-            <el-col :span="6">
-                <el-card class="box-high-card">
-                    <div slot="header" class="clearfix">
-                        <span>今日维修任务动态</span>
-                        <el-button style="float: right; padding: 3px 0" type="text"
-                            @click="openMoreTodayOrderProcess">更多</el-button>
-                    </div>
-                    <div v-for="(item, index) in todayOrderList" :key="index" class="list-item">
-                        <el-row type="flex">
-                            <el-col :span="19">
-                                <div style="padding-right: 5px;">
-
-                                    <div style="display: flex; flex-direction: row;align-items: center;">
-                                        <label>{{ item.rtuName }}</label>
-                                        <label style="margin-left: 5px;color: gray;"> / {{ item.rtuCode }}</label>
-                                    </div>
-                                    <div style="display: flex; flex-direction: row;align-items: center;margin-top: 4px;">
-                                        <label>维修状态:<span style="color:gray">{{
-                                            item.orderStatusName }}</span></label>
-                                    </div>
-                                    <div style="display: flex; flex-direction: row;align-items: center;margin-top: 4px;">
-                                        <label>更新时间:<span style="color:gray">{{ item.updateTime }}</span></label>
-                                    </div>
-                                    <div style="margin-top: 4px;margin-bottom: 5px;">
-                                        <label>备注:<span style="color:gray">{{ item.processDesc }}</span></label>
-                                    </div>
-                                </div>
-                            </el-col>
-                            <el-col :span="5" style="display: flex;flex-direction: column;justify-content: center;">
-                                <el-button style="font-size: 0.7rem;" size="mini" type="info" round
-                                    @click="openCheckOrderReportDetail(item)">查看详情</el-button>
-                            </el-col>
-                        </el-row>
-                    </div>
-                </el-card>
-            </el-col>
-            <el-col :span="6">
-                <el-row>
-                    <el-col :span="24">
-                        <el-card class="box-high-card">
-                            <div slot="header" class="clearfix">
-                                <span>今日巡检动态</span>
-                                <el-button style="float: right; padding: 3px 0" type="text"
-                                    @click="openMoreTodayInspectionReport">更多</el-button>
-                            </div>
-                            <div v-for="(item, index) in todayInspectionReportList" :key="index" class="list-item">
-                                <el-row type="flex">
-                                    <el-col :span="19">
-                                        <div style="padding-right: 5px;">
-                                            <div style="display: flex; flex-direction: row;align-items: center;">
-                                                <label>{{ item.rtuName }}</label>
-                                                <label style="margin-left: 5px;color: gray;"> / {{ item.rtuCode }}</label>
-                                            </div>
-                                            <div
-                                                style="display: flex; flex-direction: row;align-items: center;margin-top: 4px;">
-                                                <label>填报人:<span style="color:gray">{{
-                                                    item.servicePersonName
-                                                }}</span></label>
-                                            </div>
-                                            <div
-                                                style="display: flex; flex-direction: row;align-items: center;margin-top: 4px;margin-bottom: 5px;">
-                                                <label>填报时间:<span style="color:gray">{{ item.updateTime }}</span></label>
-                                            </div>
-                                        </div>
-                                    </el-col>
-                                    <el-col :span="5" style="display: flex;flex-direction: column;justify-content: center;">
-                                        <el-button style="font-size: 0.7rem;" size="mini" type="info" round
-                                            @click="openInspectionReportDetail(item)">查看详情</el-button>
-                                    </el-col>
-                                </el-row>
-                            </div>
-                        </el-card>
-                    </el-col>
-                </el-row>
-                <el-row>
-                    <el-col :span="24">
-
-                    </el-col>
-                </el-row>
-            </el-col>
-            <el-col :span="6">
-                <el-row>
-                    <el-col :span="24">
-                        <el-card class="box-card-news">
-                            <div slot="header" class="clearfix">
-                                <span>通知公告</span>
-                                <el-button style="float: right; padding: 3px 0" type="text"
-                                    @click="openMoreNotice">更多</el-button>
-                            </div>
-                            <div v-for="(item, index) in noticeList" :key="index" class="notice-item">
-                                <div>
-                                    <label>{{ item.title }}</label>
-                                </div>
-                                <div style="margin-top: 4px;">
-                                    <label class="notice-time">发布时间: {{ item.releaseTime }}</label>
-                                </div>
-                                <div style="margin-top: 4px;margin-bottom: 2px;">
-                                    <label>{{
-                                        item.content
-                                    }}</label>
-                                </div>
-                            </div>
-                        </el-card>
-
-
-                    </el-col>
-                </el-row>
-                <el-row>
-                    <el-col :span="24">
-                        <el-card class="box-card-apk">
-                            <div slot="header" class="clearfix">
-                                <span>手机客户端下载</span>
-                            </div>
-                            <div>
-                                <img style="width: 100px;height: 100px;" :src="appinfo.apkQrUrl" />
-                            </div>
-                            <div style="margin-top: 4px;">
-                                <label style="padding-left: 5px;font-size: 0.8rem;">版本号 {{ appinfo.version }}</label>
-                            </div>
-                            <div style="margin-top: 4px;">
-                                <el-button type="text" @click="downloadApk">下载安卓客户端</el-button>
-                            </div>
-                        </el-card>
-                    </el-col>
-                </el-row>
-            </el-col>
-        </el-row>
-        <el-drawer title="今日维修任务动态信息" :visible.sync="moreTodayOrderProcessDig" v-if="moreTodayOrderProcessDig" size="50%"
-            :close-on-click-modal="false" append-to-body>
-            <todaycheckorderprocesslist ref="todaycheckorderprocesslist">
-            </todaycheckorderprocesslist>
-        </el-drawer>
-        <el-drawer title="今日巡检动态信息" :visible.sync="moreTodayInspectionReportDig" v-if="moreTodayInspectionReportDig"
-            size="50%" :close-on-click-modal="false" append-to-body>
-            <todaynspectionrportlist ref="todaynspectionrportlist"></todaynspectionrportlist>
-        </el-drawer>
-        <el-drawer title="通知公告信息" :visible.sync="moreNoticeDig" v-if="moreNoticeDig" size="50%"
-            :close-on-click-modal="false" append-to-body>
-            <todaynoticelist ref="todaynoticelist"></todaynoticelist>
-        </el-drawer>
-        <el-drawer title="异常测站信息" :visible.sync="warninglistDig" v-if="warninglistDig" size="50%"
-            :close-on-click-modal="false" append-to-body>
-            <warninglist ref="warninglist" :deptId="deptId"></warninglist>
-        </el-drawer>
-        <el-drawer title="离线测站信息" :visible.sync="offlineWarnListDig" v-if="offlineWarnListDig" size="50%"
-            :close-on-click-modal="false" append-to-body>
-            <offlinewarnlist ref="offlinewarnlist" :deptId="deptId"></offlinewarnlist>
-        </el-drawer>
-        <el-drawer title="时钟异常测站信息" :visible.sync="clockWarnListDig" v-if="clockWarnListDig" size="50%"
-            :close-on-click-modal="false" append-to-body>
-            <clockwarnlist ref="clockwarnlist" :deptId="deptId"></clockwarnlist>
-        </el-drawer>
-        <el-drawer title="小时报漏报测站信息" :visible.sync="hourmissoutWarnListDig" v-if="hourmissoutWarnListDig" size="50%"
-            :close-on-click-modal="false" append-to-body>
-            <hourmissoutwarnlist ref="hourmissoutwarnlist" :deptId="deptId"></hourmissoutwarnlist>
-        </el-drawer>
-        <el-drawer title="雨量站小时报漏报测站信息" :visible.sync="rainHourmissoutWarnListDig" v-if="rainHourmissoutWarnListDig"
-            size="50%" :close-on-click-modal="false" append-to-body>
-            <rainHourmissoutWarnListVue ref="rainHourmissoutWarnList" :deptId="deptId"></rainHourmissoutWarnListVue>
-        </el-drawer>
-        <el-drawer title="水位站小时报漏报测站信息" :visible.sync="riverHourmissoutWarnListDig" v-if="riverHourmissoutWarnListDig"
-            size="50%" :close-on-click-modal="false" append-to-body>
-            <riverHourmissoutWarnListVue ref="riverHourmissoutWarnList" :deptId="deptId"></riverHourmissoutWarnListVue>
-        </el-drawer>
-        <el-drawer title="5分钟报延时测站信息" :visible.sync="minupdelayWarnListDig" v-if="minupdelayWarnListDig" size="50%"
-            :close-on-click-modal="false" append-to-body>
-            <minupdelaywarnlist ref="minupdelaywarnlist" :deptId="deptId"></minupdelaywarnlist>
-        </el-drawer>
-        <el-drawer title="小时报延时测站信息" :visible.sync="hourupdelayWarnListDig" v-if="hourupdelayWarnListDig" size="50%"
-            :close-on-click-modal="false" append-to-body>
-            <hourupdelaywarnlist ref="hourupdelaywarnlist" :deptId="deptId"></hourupdelaywarnlist>
-        </el-drawer>
-        <el-drawer title="雨量站小时报延时测站信息" :visible.sync="rainHourupdelayWarnListDig" v-if="rainHourupdelayWarnListDig"
-            size="50%" :close-on-click-modal="false" append-to-body>
-            <rainhourupdelaywarnlistVue ref="rainhourupdelaywarnlist" :deptId="deptId"></rainhourupdelaywarnlistVue>
-        </el-drawer>
-        <el-drawer title="水位站小时报延时测站信息" :visible.sync="riverHourupdelayWarnListDig" v-if="riverHourupdelayWarnListDig"
-            size="50%" :close-on-click-modal="false" append-to-body>
-            <riverhourupdelaywarnlistVue ref="riverhourupdelaywarnlist" :deptId="deptId"></riverhourupdelaywarnlistVue>
-        </el-drawer>
-        <el-drawer title="疑似异常值测站信息" :visible.sync="outlterValueWarnListDig" v-if="outlterValueWarnListDig" size="50%"
-            :close-on-click-modal="false" append-to-body>
-            <outlitervaluewarnlist ref="outlitervaluewarnlist" :deptId="deptId"></outlitervaluewarnlist>
-        </el-drawer>
-        <el-drawer title="维修中任务信息" :visible.sync="processingcheckorderlistDig" v-if="processingcheckorderlistDig" size="50%"
-            :close-on-click-modal="false" append-to-body>
-            <processingcheckorderlist ref="processingcheckorderlist"></processingcheckorderlist>
-        </el-drawer>
-        <el-drawer title="未确认维修任务信息" :visible.sync="uncomfireCheckOrderDig" v-if="uncomfireCheckOrderDig" size="50%"
-            :close-on-click-modal="false" append-to-body>
-            <uncomfirecheckorderlist ref="uncomfirecheckorderlist"></uncomfirecheckorderlist>
-        </el-drawer>
-        <el-drawer title="确认超时维修任务信息" :visible.sync="comfireDelayCheckOrderDig" v-if="comfireDelayCheckOrderDig" size="50%"
-            :close-on-click-modal="false" append-to-body>
-            <comfiredelaycheckorderlist ref="comfiredelaycheckorderlist"></comfiredelaycheckorderlist>
-        </el-drawer>
-        <el-drawer title="维修任务详情" :visible.sync="checkorderprocessdetailDig" v-if="checkorderprocessdetailDig" size="50%"
-            :close-on-click-modal="false" append-to-body>
-            <checkorderprocessdetail ref="checkorderprocessdetail" :orderId="checkOrderReportId"></checkorderprocessdetail>
-        </el-drawer>
-        <el-drawer title="设备巡检详情" :visible.sync="inspectionreportdetailDig" v-if="inspectionreportdetailDig" size="50%"
-            :close-on-click-modal="false" append-to-body>
-            <inspectionreportdetail ref="inspectionreportdetail" :id="inspectionReportId"></inspectionreportdetail>
-        </el-drawer>
-        <el-drawer :visible.sync="inspectionreportlistDig" v-if="inspectionreportlistDig" size="50%"
-            :close-on-click-modal="false" append-to-body>
-            <div slot="title" class="header-title">
-                <span class="name">{{ dialogTitle }}</span>
-            </div>
-            <inspectionreportlistVue ref="inspectionreportlist" :rainSeasonKind="rainSeasonKind"></inspectionreportlistVue>
-        </el-drawer>
-    </div>
-</template>
-
-<script>
-import { getRtuStatusCountData, getRtuUpCountData, getCheckOrderCountData, getInspectionReportCountData, getWarnKindCountData, getWarnCountList } from "@/api/home/home.js";
-import { todayOrderProcessList } from "@/api/business/order/process.js";
-import { todayInspectionReportList } from "@/api/business/inspection/inspectionreport.js";
-import { getLastList } from "@/api/notice/notice.js";
-import { getStore } from '@/util/store.js';
-import { getAppInfo } from "@/api/versionmanage/version.js";
-import todaycheckorderprocesslist from "../business/order/todaycheckorderprocesslist.vue";
-import uncomfirecheckorderlist from "../business/order/uncomfirecheckorderlist.vue";
-import comfiredelaycheckorderlist from "../business/order/comfiredelaycheckorderlist.vue";
-import processingcheckorderlist from "../business/order/processingcheckorderlist.vue";
-import todaynspectionrportlist from "../business/inspection/todaynspectionrportlist.vue";
-import todaynoticelist from "../notice/todaynoticelist.vue";
-import warninglist from "../business/warning/warninglist.vue";
-import offlinewarnlist from "../business/warning/offlinewarnlist.vue";
-import clockwarnlist from "../business/warning/clockwarnlist.vue";
-import hourmissoutwarnlist from "../business/warning/hourmissoutwarnlist.vue";
-import rainHourmissoutWarnListVue from "../business/warning/rainhourmissoutwarnlist.vue";
-import riverHourmissoutWarnListVue from "../business/warning/riverhourmissoutwarnlist.vue";
-import minupdelaywarnlist from "../business/warning/minupdelaywarnlist.vue";
-import hourupdelaywarnlist from "../business/warning/hourupdelaywarnlist.vue";
-import rainhourupdelaywarnlistVue from "../business/warning/rainhourupdelaywarnlist.vue";
-import riverhourupdelaywarnlistVue from "../business/warning/riverhourupdelaywarnlist.vue";
-import outlitervaluewarnlist from "../business/warning/outlitervaluewarnlist.vue";
-import checkorderprocessdetail from "../business/order/checkorderprocessdetail.vue";
-import inspectionreportdetail from "../business/inspection/inspectionreportdetail.vue";
-import inspectionreportlistVue from "../business/inspection/inspectionreportlist.vue";
-import { mapGetters } from "vuex";
-export default {
-    name: "home",
-    components: {
-        todaycheckorderprocesslist,
-        todaynspectionrportlist,
-        todaynoticelist,
-        warninglist,
-        offlinewarnlist,
-        hourmissoutwarnlist,
-        minupdelaywarnlist,
-        hourupdelaywarnlist,
-        uncomfirecheckorderlist,
-        comfiredelaycheckorderlist,
-        checkorderprocessdetail,
-        inspectionreportdetail,
-        inspectionreportlistVue,
-        clockwarnlist,
-        rainHourmissoutWarnListVue,
-        riverHourmissoutWarnListVue,
-        rainhourupdelaywarnlistVue,
-        riverhourupdelaywarnlistVue,
-        outlitervaluewarnlist,
-        processingcheckorderlist
-    },
-    data() {
-        return {
-            adminPageStyle: false,
-            warninglistDig: false,
-            offlineWarnListDig: false,
-            clockWarnListDig: false,
-            hourmissoutWarnListDig: false,
-            rainHourmissoutWarnListDig: false,
-            riverHourmissoutWarnListDig: false,
-            minupdelayWarnListDig: false,
-            hourupdelayWarnListDig: false,
-            rainHourupdelayWarnListDig: false,
-            riverHourupdelayWarnListDig: false,
-            outlterValueWarnListDig: false,
-            uncomfireCheckOrderDig: false,
-            comfireDelayCheckOrderDig: false,
-            processingcheckorderlistDig: false,
-            moreTodayOrderProcessDig: false,
-            moreTodayInspectionReportDig: false,
-            moreNoticeDig: false,
-            checkorderprocessdetailDig: false,
-            inspectionreportdetailDig: false,
-            inspectionreportlistDig: false,
-            dialogTitle: '',
-            deptId: 0,
-            form: {},
-            selectionList: [],
-            query: {},
-            loading: true,
-            data: [],
-            option: {
-                height: "420",
-                align: "center",
-                headerAlign: "center",
-                tip: false,
-                simplePage: true,
-                searchShow: false,
-                searchMenuSpan: 6,
-                addBtn: false,
-                tree: true,
-                border: true,
-                index: true,
-                editBtn: false,
-                delBtn: false,
-                menu: false,
-                dialogType: "drawer",
-                dialogClickModal: false,
-                columnBtn: false,
-                refreshBtn: false,
-                header: false,
-                column: [
-                    {
-                        label: "盟市",
-                        prop: "adCity",
-                        span: 24,
-                    },
-                    {
-                        label: "测站数量",
-                        prop: "rtus",
-                        span: 12,
-                    },
-                    {
-                        label: "测站离线",
-                        prop: "warnOffline",
-                        span: 12,
-                        html: true,
-                        formatter: (val) => {
-                            if (val.warnOffline && val.warnOffline > 0) {
-                                let n = val.warnOffline / val.rtus * 100;
-                                let num = new Number(n);
-                                // if (val.deptId == 0) {
-                                //     return '<span><b style="color:rgb(238,112,112)">' + val.warnOffline + '</b> / ' + '<b style="color:rgb(84,123,201)">' + num.toFixed(2) + '%</b></span>'
-                                // } else {
-                                return '<span style="cursor:pointer;text-decoration-line: underline;"><b style="color:rgb(238,112,112)">' + val.warnOffline + '</b> / ' + '<b style="color:rgb(84,123,201)">' + num.toFixed(2) + '%</b></span>'
-                                // }
-                            } else {
-                                return '<b></b>'
-                            }
-
-                        }
-                    }, {
-                        label: "小时报漏报",
-                        prop: "warnMissOut",
-                        span: 12,
-                        html: true,
-                        formatter: (val) => {
-                            if (val.warnMissOut && val.warnMissOut > 0) {
-                                let n = val.warnMissOut / val.rtus * 100;
-                                let num = new Number(n);
-                                // if (val.deptId == 0) {
-                                //     return '<span><b style="color:rgb(238,112,112)">' + val.warnMissOut + '</b> / ' + '<b style="color:rgb(84,123,201)">' + num.toFixed(2) + '%</b></span>'
-                                // } else {
-                                return '<span style="cursor:pointer;text-decoration-line: underline;"><b style="color:rgb(238,112,112)">' + val.warnMissOut + '</b> / ' + '<b style="color:rgb(84,123,201)">' + num.toFixed(2) + '%</b></span>'
-                                // }
-                            } else {
-                                return '<b></b>'
-                            }
-                        }
-                    }, {
-                        label: "5分钟上报延时",
-                        prop: "warnUpMinDelay",
-                        span: 12,
-                        html: true,
-                        formatter: (val) => {
-                            if (val.warnUpMinDelay && val.warnUpMinDelay > 0) {
-                                let n = val.warnUpMinDelay / val.rtus * 100;
-                                let num = new Number(n);
-                                // if (val.deptId == 0) {
-                                //     return '<span><b style="color:rgb(238,112,112)">' + val.warnUpMinDelay + '</b> / ' + '<b style="color:rgb(84,123,201)">' + num.toFixed(2) + '%</b></span>'
-                                // } else {
-                                return '<span style="cursor:pointer;text-decoration-line: underline;"><b style="color:rgb(238,112,112)">' + val.warnUpMinDelay + '</b> / ' + '<b style="color:rgb(84,123,201)">' + num.toFixed(2) + '%</b></span>'
-                                // }
-
-                            } else {
-                                return '<b></b>'
-                            }
-                        }
-                    }, {
-                        label: "小时上报延时",
-                        prop: "warnUpHourDelay",
-                        span: 12,
-                        html: true,
-                        formatter: (val) => {
-                            if (val.warnUpHourDelay && val.warnUpHourDelay > 0) {
-                                let n = val.warnUpHourDelay / val.rtus * 100;
-                                let num = new Number(n);
-                                // if (val.deptId == 0) {
-                                //     return '<span><b style="color:rgb(238,112,112)">' + val.warnUpHourDelay + '</b> / ' + '<b style="color:rgb(84,123,201)">' + num.toFixed(2) + '%</b></span>'
-                                // } else {
-                                return '<span style="cursor:pointer;text-decoration-line: underline;"><b style="color:rgb(238,112,112)">' + val.warnUpHourDelay + '</b> / ' + '<b style="color:rgb(84,123,201)">' + num.toFixed(2) + '%</b></span>'
-                                // }
-
-                            } else {
-                                return '<b></b>'
-                            }
-                        }
-                    },
-                ],
-            },
-            appinfo: {
-                apkUrl: '',
-                apkQrUrl: '',
-                version: ''
-            },
-            checkOrderReportId: '',
-            inspectionReportId: '',
-            realData: {
-            },
-            stompClient: null,
-            layout: [],
-            cache: [],
-            editSw: false,
-            dialog: false,
-            id: "",
-            guideForm: {},
-            second: 0,
-            timer: null,
-            state: 5,
-            todayOrderList: [],
-            todayInspectionReportList: [],
-            noticeList: [],
-            userInfo: getStore({ name: 'userInfo' }) || [],
-            rtuInfoCountPieMap: null,
-            rtuInfoCountPieOption: {
-                title: {
-                    text: '测站状态统计信息',
-                    subtext: '测站总数量',
-                    left: 'center'
-                },
-                tooltip: {
-                    trigger: 'item',
-                    formatter: '{a} <br/>{b} : {c} ({d}%)',
-                    textStyle: {
-                        fontSize: 12
-                    }
-                },
-                legend: {
-                    bottom: 20,
-                    left: 'center',
-                    data: ['运行正常', '测站离线', '其他异常']
-                },
-                series: [
-                    {
-                        name: '状态信息',
-                        type: 'pie',
-                        radius: '40%',
-                        center: ['50%', '50%'],
-                        selectedMode: 'single',
-                        data: [
-                            {
-                                value: 0,
-                                name: '运行正常',
-                                label: {
-                                    show: true,
-                                    formatter(param) {
-                                        // correct the percentage
-                                        return ' (' + param.value + ' / ' + param.percent + '%)';
-                                    }
-                                },
-                                itemStyle: {
-                                    color: '#547bc9'
-                                }
-                            },
-                            {
-                                value: 0,
-                                name: '测站离线',
-                                label: {
-                                    show: true,
-                                    formatter(param) {
-                                        // correct the percentage
-                                        return ' (' + param.value + ' / ' + param.percent + '%)';
-                                    }
-                                },
-                                itemStyle: {
-                                    color: '#ff0000'
-                                }
-                            },
-                            {
-                                value: 0,
-                                name: '其他异常',
-                                label: {
-                                    show: true,
-                                    formatter(param) {
-                                        // correct the percentage
-                                        return ' (' + param.value + ' / ' + param.percent + '%)';
-                                    }
-                                },
-                                itemStyle: {
-                                    color: '#ee7070'
-                                }
-                            },
-                        ],
-                        emphasis: {
-                            itemStyle: {
-                                shadowBlur: 10,
-                                shadowOffsetX: 0,
-                                shadowColor: 'rgba(0, 0, 0, 0.5)'
-                            }
-                        }
-                    }
-                ]
-            },
-            rtuDataUpCountMap: null,
-            rtuDataUpCountOption: {
-                title: {
-                    text: '测站上报率统计信息',
-                    subtext: '统计口径为上一个自然天',
-                    left: 'center'
-                },
-                tooltip: {
-                    trigger: 'axis',
-                    axisPointer: {
-                        type: 'shadow'
-                    },
-                    showContent: true,
-                    formatter: function (params) {
-                        console.log(JSON.stringify(params))
-                        return '<b>' + params[0].name + '数量:' + params[0].data.value + '</b><br/><b>上报数量:' + params[1].data.value + '/' + params[1].data.percent + '</b><br/><b>点击打开列表页</b>';
-                    },
-                    textStyle: {
-                        fontSize: 10,
-                    }
-                },
-                legend: {
-                    show: true,
-                    bottom: 20,
-
-                },
-                grid: {
-                    left: '3%',
-                    right: '4%',
-                    bottom: '18%',
-                    containLabel: true
-                },
-                xAxis: {
-                    type: 'value',
-                    boundaryGap: [0, 0.01]
-                },
-                yAxis: {
-                    type: 'category',
-                    data: ['墒情站', '水位站', '雨量站']
-                },
-                series: [
-                    {
-                        name: '测站数量',
-                        type: 'bar',
-                        data: [{
-                            value: 0,
-                            showpercent: false,
-                            percent: 0
-                        }, {
-                            value: 0,
-                            showpercent: false,
-                            percent: 0
-                        }, {
-                            value: 0,
-                            showpercent: false,
-                            percent: 0
-                        }],
-                        itemStyle: {
-                            color: 'rgba(84, 112, 198,1.0)'
-                        },
-                        label: {
-                            show: true,
-                            position: 'insideLeft',
-                            formatter(params) {
-                                if (params.data.showpercent) {
-                                    return '    ' + params.data.value + ' / ' + params.data.percent + '%';
-                                } else {
-                                    return '    ' + params.data.value;
-                                }
-
-
-
-                            }
-                        },
-                    },
-                    {
-                        name: '上报数量',
-                        type: 'bar',
-                        data: [{
-                            value: 0,
-                            showpercent: true,
-                            percent: 0
-                        }, {
-                            value: 0,
-                            showpercent: true,
-                            percent: 0
-                        }, {
-                            value: 0,
-                            showpercent: true,
-                            percent: 0
-                        }],
-                        itemStyle: {
-                            color: 'rgba(145, 204, 122,1.0)'
-                        },
-                        label: {
-                            show: true,
-                            position: 'insideLeft',
-                            formatter(params) {
-
-                                if (params.data.showpercent) {
-                                    return '    ' + params.data.value + ' / ' + params.data.percent + '%';
-                                } else {
-                                    return '    ' + params.data.value;
-                                }
-
-
-
-                            }
-                        },
-                    }
-                ]
-            },
-            checkOrderMap: null,
-            checkOrderCountOption: {
-                tooltip: {
-                    trigger: 'axis',
-                    axisPointer: {
-                        type: 'shadow',
-                    },
-                    showContent: true,
-                    formatter: function (params) {
-                        //console.log(JSON.stringify(params))
-                        if (params[0].data.showpercent) {
-
-                            return '<b>' + params[0].name + ':' + params[0].data.value + '</b><br/><b>百分比:' + params[0].data.percent + '</b><br/><b>点击打开列表页</b>';
-                        } else {
-                            return "点击跳转到维修任务管理页面";
-                        }
-                    },
-                    textStyle: {
-                        fontSize: 10
-                    }
-                },
-                title: {
-                    text: '维修任务统计信息',
-                    left: 'center',
-                    subtext: '实时统计'
-                    // textStyle: {
-                    //     fontSize: 16,
-                    //     fontWeight: "bold",
-                    //     color: "#464646",
-                    // }
-                },
-                color: ['#5470c6'],
-                yAxis: {
-                    type: 'category',
-                    data: ['超时未确认任务', '未确认任务', '维修中', '维修任务总量']
-                },
-                xAxis: {
-                    type: 'value',
-
-                },
-                grid: {
-                    left: '3%',
-                    right: '4%',
-                    bottom: '18%',
-                    containLabel: true
-                },
-                series: [
-                    {
-                        data: [
-                            {
-                                value: 0,
-                                itemStyle: {
-                                    color: 'rgba(238, 122, 122,1.0)'
-
-                                },
-                                showpercent: true,
-                                percent: 0
-                            },
-                            {
-                                value: 0,
-                                itemStyle: {
-                                    color: 'rgba(250, 200, 88,1.0)'
-
-                                },
-                                showpercent: true,
-                                percent: 0
-                            },
-                            {
-                                value: 0,
-                                itemStyle: {
-                                    color: 'rgba(145, 204, 122,1.0)'
-                                },
-                                showpercent: true,
-                                percent: 0
-                            },
-                            {
-                                value: 0,
-                                itemStyle: {
-
-                                    color: 'rgba(84, 112, 198,1.0)'
-                                },
-                                showpercent: false,
-                                percent: 0
-                            },
-                        ],
-                        type: 'bar',
-                        barWidth: 20,
-                        label: {
-                            show: true,
-                            position: 'insideLeft',
-                            formatter(params) {
-                                if (params.data.showpercent) {
-                                    return '    ' + params.data.value + ' / ' + params.data.percent + '%';
-                                } else {
-                                    return '    ' + params.data.value;
-                                }
-
-                            }
-                        },
-                    }
-                ]
-            },
-            equipmentInspectionChartMap: null,
-            equipmentInspectionCountOption: {
-                tooltip: {
-                    trigger: 'axis',
-                    axisPointer: {
-                        type: 'shadow',
-                    },
-                    showContent: true,
-                    formatter: function (params) {
-                        // console.log(JSON.stringify(params))
-                        if (params[0].data.showpercent) {
-                            // return "点击柱状图可查看详情";
-                            return '<b>已巡检:' + params[0].data.value + '</b><br/><b>百分比:' + params[0].data.percent + '</b><br/><b>点击打开列表页</b>';
-                        } else {
-                            return "点击跳转到设备巡检管理页面";
-                        }
-                    },
-                    textStyle: {
-                        fontSize: 10
-                    }
-                },
-                title: {
-                    text: '本年度设备巡检统计信息',
-                    left: 'center',
-                    subtext: '实时统计'
-                    // textStyle: {
-                    //     fontSize: 16,
-                    //     fontWeight: "bold",
-                    //     color: "#464646",
-                    // }
-                },
-                color: ['#5470c6'],
-                yAxis: {
-                    type: 'category',
-                    data: ['汛中(二)已巡检', '汛中(一)已巡检', '汛前已巡检', '需巡检站点数量']
-                },
-                xAxis: {
-                    type: 'value',
-
-                },
-                grid: {
-                    left: '3%',
-                    right: '4%',
-                    bottom: '18%',
-                    containLabel: true
-                },
-                series: [
-                    {
-                        data: [
-                            {
-                                value: 0,
-                                itemStyle: {
-                                    color: 'rgba(145, 204, 122,1.0)'
-                                },
-                                showpercent: true,
-                                percent: 0
-                            },
-                            {
-                                value: 0,
-                                itemStyle: {
-                                    color: 'rgba(145, 204, 122,1.0)'
-                                },
-                                showpercent: true,
-                                percent: 0
-                            },
-                            {
-                                value: 0,
-                                itemStyle: {
-                                    color: 'rgba(145, 204, 122,1.0)'
-                                },
-                                showpercent: true,
-                                percent: 4
-                            },
-                            {
-                                value: 0,
-                                itemStyle: {
-                                    color: 'rgba(84, 112, 198,1.0)'
-                                },
-                                showpercent: false,
-                                percent: 0
-                            },
-                        ],
-                        type: 'bar',
-                        barWidth: 20,
-                        label: {
-                            show: true,
-                            position: 'insideLeft',
-                            formatter(params) {
-                                if (params.data.showpercent) {
-                                    return '    ' + params.data.value + ' / ' + params.data.percent + '%';
-                                } else {
-                                    return '    ' + params.data.value;
-                                }
-
-                            }
-                        },
-                    }
-                ]
-            },
-            rtuWarnCountMap: null,
-            rtuWarnCountOption: {
-                tooltip: {
-                    trigger: 'axis',
-                    axisPointer: {
-                        type: 'shadow',
-                    },
-                    showContent: true,
-                    formatter: function (params) {
-                        // console.log(JSON.stringify(params))
-                        if (params[0].data.showpercent) {
-                            //return "点击柱状图可查看详情";
-                            return '<b>' + params[0].name + ':' + params[0].data.value + '</b><br/><b>百分比:' + params[0].data.percent + '</b><br/><b>点击打开列表页</b>';
-                        } else {
-                            return '<b>' + params[0].name + ':' + params[0].data.value + '</b><br/><b>点击打开列表页</b>';
-                        }
-                    },
-                    textStyle: {
-                        fontSize: 10
-                    }
-                },
-                title: {
-
-                    text: '测站异常分类统计信息',
-                    left: 'center',
-                    subtext: '实时统计'
-                    // textStyle: {
-                    //     fontSize: 16,
-                    //     fontWeight: "bold",
-                    //     color: "#464646",
-                    // }
-                },
-                color: ['#5470c6'],
-                yAxis: {
-                    type: 'category',
-                    data: ['疑似异常值', '水位站小时报上报延时', '雨量站小时报上报延时', '5分钟上报延时', '水位站小时报漏报', '雨量站小时报漏报', '时钟异常', '离线', '异常测站总数']
-                },
-                xAxis: {
-                    type: 'value',
-                },
-                grid: {
-                    left: '3%',
-                    right: '4%',
-                    bottom: '10%',
-                    containLabel: true
-                },
-                series: [
-                    {
-                        data: [
-                            {
-                                value: 0,
-                                itemStyle: {
-                                    color: 'rgba(238, 122, 122,1.0)'
-
-                                },
-                                showpercent: true,
-                                percent: 0
-                            },
-                            {
-                                value: 0,
-                                itemStyle: {
-                                    color: 'rgba(238, 122, 122,1.0)'
-
-                                },
-                                showpercent: true,
-                                percent: 0
-                            },
-                            {
-                                value: 0,
-                                itemStyle: {
-                                    color: 'rgba(238, 122, 122,1.0)'
-
-                                },
-                                showpercent: true,
-                                percent: 0
-                            },
-                            {
-                                value: 0,
-                                itemStyle: {
-                                    color: 'rgba(238, 122, 122,1.0)'
-
-                                },
-                                showpercent: true,
-                                percent: 0
-                            },
-                            {
-                                value: 0,
-                                itemStyle: {
-                                    color: 'rgba(238, 122, 122,1.0)'
-
-                                },
-                                showpercent: true,
-                                percent: 0
-                            },
-                            {
-                                value: 0,
-                                itemStyle: {
-                                    color: 'rgba(238, 122, 122,1.0)'
-
-                                },
-                                showpercent: true,
-                                percent: 0
-                            },
-                            {
-                                value: 0,
-                                itemStyle: {
-                                    color: 'rgba(238, 122, 122,1.0)'
-
-                                },
-                                showpercent: true,
-                                percent: 0
-                            },
-                            {
-                                value: 0,
-                                itemStyle: {
-                                    color: 'rgba(238, 122, 122,1.0)'
-                                },
-                                showpercent: true,
-                                percent: 0
-                            },
-                            {
-                                value: 0,
-                                itemStyle: {
-
-                                    color: 'rgba(84, 112, 198,1.0)'
-                                },
-                                showpercent: false,
-                                percent: 0
-                            },
-                        ],
-                        type: 'bar',
-                        barWidth: 20,
-                        label: {
-                            show: true,
-                            position: 'insideLeft',
-                            formatter(params) {
-                                if (params.data.showpercent) {
-                                    return '    ' + params.data.value + ' / ' + params.data.percent + '%';
-                                } else {
-                                    return '    ' + params.data.value;
-                                }
-
-                            }
-                        },
-                    }
-                ]
-            },
-        };
-    },
-    created() {
-        // let u = getStore({ name: 'userInfo' });
-        console.log(JSON.stringify(this.userInfo));
-        // this.getData();
-        if (this.userInfo.role_name === "sys_admin") {
-            this.adminPageStyle = true;
-        }
-    },
-    computed: {
-        ...mapGetters(["userInfo"]),
-    },
-    mounted() {
-        console.log("mounted ++++++++++++++++++++");
-        // this.initWebsocket();
-        var that = this;
-        let chart = this.$refs.rtuInfoCountPieChart;
-        if (chart) {
-            this.rtuInfoCountPieMap = this.$echarts.init(chart);
-            this.rtuInfoCountPieMap.setOption(this.rtuInfoCountPieOption);
-            // this.rtuInfoCountPieMap.off('click');
-            // this.rtuInfoCountPieMap.on('click', function (p) {
-            //     console.log(p)
-            //     if (p.name === '设备异常') {
-            //         that.warninglistDig = true;
-            //         that.$nextTick(() => {
-            //             that.$refs['warninglist'].init();
-            //         });
-            //     }
-            // })
-        }
-
-        chart = this.$refs.rtuDataUpCountChart;
-        if (chart) {
-            this.rtuDataUpCountMap = this.$echarts.init(chart);
-            this.rtuDataUpCountMap.setOption(this.rtuDataUpCountOption);
-            // this.rtuDataUpCountMap.off('click');
-            // this.rtuDataUpCountMap.on('click', function (p) {
-            //     console.log(p)
-
-            // })
-            this.rtuDataUpCountMap.getZr().off('click');
-            this.rtuDataUpCountMap.getZr().on('click', function (p) {
-                let pointInPixel = [p.offsetX, p.offsetY];
-                if (that.rtuDataUpCountMap.containPixel('grid', pointInPixel)) {
-                    let yIndex = that.rtuDataUpCountMap.convertFromPixel({ seriesIndex: 0 }, [p.offsetX, p.offsetY])[1];
-                    //let  yData=that.checkOrderCountOption.yAxis.data[yIndex];//当前点击柱子的数据
-                    //   let value = that.rtuDataUpCountOption.series[0].data[yIndex].value;
-                    if (yIndex == 2) {
-                        that.$router.push({ path: '/business/data/rainDataCache' });
-                    } else if (yIndex == 1) {
-                        that.$router.push({ path: '/business/data/riverDataCache' });
-                    } else if (yIndex == 0) {
-                        that.$router.push({ path: '/business/data/groundDataCache' });
-                    }
-                }
-            });
-        }
-
-        chart = this.$refs.checkOrderChart;
-        if (chart) {
-            this.checkOrderMap = this.$echarts.init(chart);
-            this.checkOrderMap.setOption(this.checkOrderCountOption);
-            this.checkOrderMap.getZr().off('click');
-            this.checkOrderMap.getZr().on('click', function (p) {
-                console.log("checkOrderChart  zr ++++++++++++++++++++++++++++++++++++")
-                let pointInPixel = [p.offsetX, p.offsetY];
-                if (that.checkOrderMap.containPixel('grid', pointInPixel)) {
-                    let yIndex = that.checkOrderMap.convertFromPixel({ seriesIndex: 0 }, [p.offsetX, p.offsetY])[1];
-                    //let  yData=that.checkOrderCountOption.yAxis.data[yIndex];//当前点击柱子的数据
-                    let value = that.checkOrderCountOption.series[0].data[yIndex].value;
-                    if (yIndex == 3) {
-                        console.log("维修数量 index " + yIndex)
-                        that.$router.push({ path: '/business/order/checkorderlist' });
-                    } else if (yIndex == 2) {
-                        if (value > 0) {
-                            console.log("维修中 index " + yIndex)
-                            that.processingcheckorderlistDig = true;
-                            that.$nextTick(() => {
-                                that.$refs["processingcheckorderlist"].init();
-                            });
-                        } else {
-                            that.$message.warning("维修中暂无数据");
-                        }
-                    } else if (yIndex == 1) {
-                        if (value > 0) {
-                            console.log("未确认 index " + yIndex)
-                            that.uncomfireCheckOrderDig = true;
-                            that.$nextTick(() => {
-                                that.$refs["uncomfirecheckorderlist"].init();
-                            });
-                        } else {
-                            that.$message.warning("未确认维修任务暂无数据");
-                        }
-                    } else if (yIndex == 0) {
-                        if (value > 0) {
-                            console.log("超时未确认 index " + yIndex)
-                            that.comfireDelayCheckOrderDig = true;
-                            that.$nextTick(() => {
-                                that.$refs["comfiredelaycheckorderlist"].init();
-                            });
-                        } else {
-                            that.$message.warning("超时未确认维修任务暂无数据");
-                        }
-                    }
-                }
-            });
-
-            // this.checkOrderMap.off('click');
-            // this.checkOrderMap.on('click', function (p) {
-            //     console.log("checkOrderChart++++++++++++++++++++++++++++++++++++")
-            //     if (p.name === '维修任务数量') {
-            //         that.$router.push({ name: 'checkordermanagepage' });
-            //     } else if (p.name === '维修中') {
-            //     } else if (p.name === '未确认任务') {
-            //         that.uncomfireCheckOrderDig = true;
-            //         that.$nextTick(() => {
-            //             that.$refs["uncomfirecheckorderlist"].init();
-            //         });
-            //     } else if (p.name === '超时未确认任务') {
-            //         that.comfireDelayCheckOrderDig = true;
-            //         that.$nextTick(() => {
-            //             that.$refs["comfiredelaycheckorderlist"].init();
-            //         });
-            //     }
-            // })
-        }
-        chart = this.$refs.equipmentInspectionCountChart;
-        if (chart) {
-            this.equipmentInspectionChartMap = this.$echarts.init(chart);
-            this.equipmentInspectionChartMap.setOption(this.equipmentInspectionCountOption);
-            this.equipmentInspectionChartMap.getZr().off('click');
-            this.equipmentInspectionChartMap.getZr().on('click', function (p) {
-                console.log("checkOrderChart  zr ++++++++++++++++++++++++++++++++++++")
-                let pointInPixel = [p.offsetX, p.offsetY];
-                if (that.equipmentInspectionChartMap.containPixel('grid', pointInPixel)) {
-                    let yIndex = that.equipmentInspectionChartMap.convertFromPixel({ seriesIndex: 0 }, [p.offsetX, p.offsetY])[1];
-                    //let yData = that.equipmentInspectionCountOption.yAxis.data[yIndex];//当前点击柱子的数据
-                    let value = that.equipmentInspectionCountOption.series[0].data[yIndex].value;
-                    console.log(" yData " + value)
-                    if (yIndex == 3) {
-                        console.log("巡检数量 index " + yIndex)
-                        that.$router.push({ path: '/business/inspection/index' });
-                    } else if (yIndex == 2) {
-
-                        if (value > 0) {
-                            console.log("汛前 index " + yIndex)
-                            that.rainSeasonKind = 1;
-                            that.inspectionreportlistDig = true;
-                            that.dialogTitle = '汛前已巡检信息';
-                            that.$nextTick(() => {
-                                that.$refs["inspectionreportlist"].init();
-                            });
-
-                        } else {
-                            that.$message.warning("汛前巡检暂无上报数据");
-                        }
-                    } else if (yIndex == 1) {
-                        if (value > 0) {
-                            console.log("汛中一 index " + yIndex)
-                            that.rainSeasonKind = 2;
-                            that.inspectionreportlistDig = true;
-                            that.dialogTitle = '汛中(一)已巡检信息';
-                            that.$nextTick(() => {
-                                that.$refs["inspectionreportlist"].init();
-                            });
-                        } else {
-                            that.$message.warning("汛中第一次巡检暂无上报数据");
-                        }
-                    } else if (yIndex == 0) {
-                        if (value > 0) {
-                            console.log("汛中二 index " + yIndex)
-                            that.rainSeasonKind = 3;
-                            that.inspectionreportlistDig = true;
-                            that.dialogTitle = '汛中(二)已巡检信息';
-                            that.$nextTick(() => {
-                                that.$refs["inspectionreportlist"].init();
-                            });
-                        } else {
-                            that.$message.warning("汛中第二次巡检暂无上报数据");
-                        }
-                    }
-                }
-            });
-
-            // this.equipmentInspectionChartMap.off('click')
-            // this.equipmentInspectionChartMap.on('click', function (p) {
-            //     console.log(p)
-            // })
-        }
-
-        chart = this.$refs.rtuWarnCountChart;
-        if (chart) {
-            this.rtuWarnCountMap = this.$echarts.init(chart);
-            this.rtuWarnCountMap.setOption(this.rtuWarnCountOption);
-            this.rtuWarnCountMap.getZr().off('click');
-            this.rtuWarnCountMap.getZr().on('click', function (p) {
-                console.log(p)
-                let pointInPixel = [p.offsetX, p.offsetY];
-                if (that.rtuWarnCountMap.containPixel('grid', pointInPixel)) {
-                    let yIndex = that.rtuWarnCountMap.convertFromPixel({ seriesIndex: 0 }, [p.offsetX, p.offsetY])[1];
-                    let name = that.rtuWarnCountOption.yAxis.data[yIndex];
-                    let value = that.rtuWarnCountOption.series[0].data[yIndex].value;
-                    if (name === '异常测站总数') {
-                        if (value > 0) {
-                            that.warninglistDig = true;
-                            that.$nextTick(() => {
-                                that.$refs["warninglist"].init();
-                            });
-                        } else {
-                            that.$message.warning("暂无异常数据");
-                        }
-                    } else if (name === '离线') {
-                        if (value > 0) {
-                            that.offlineWarnListDig = true;
-                            that.$nextTick(() => {
-                                that.$refs["offlinewarnlist"].init();
-                            });
-                        } else {
-                            that.$message.warning("暂无异常数据");
-                        }
-                    } else if (name === '时钟异常') {
-                        if (value > 0) {
-                            that.clockWarnListDig = true;
-                            that.$nextTick(() => {
-                                that.$refs["clockwarnlist"].init();
-                            });
-                        } else {
-                            that.$message.warning("暂无异常数据");
-                        }
-                    } else if (name === '雨量站小时报漏报') {
-                        if (value > 0) {
-                            that.rainHourmissoutWarnListDig = true;
-                            that.$nextTick(() => {
-                                that.$refs["rainHourmissoutWarnList"].init();
-                            });
-                        } else {
-                            that.$message.warning("暂无异常数据");
-                        }
-                    } else if (name === '水位站小时报漏报') {
-                        if (value > 0) {
-                            that.riverHourmissoutWarnListDig = true;
-                            that.$nextTick(() => {
-                                that.$refs["riverHourmissoutWarnList"].init();
-                            });
-                        } else {
-                            that.$message.warning("暂无异常数据");
-                        }
-                    } else if (name === '5分钟上报延时') {
-                        if (value > 0) {
-                            that.minupdelayWarnListDig = true;
-                            that.$nextTick(() => {
-                                that.$refs["minupdelaywarnlist"].init();
-                            });
-                        } else {
-                            that.$message.warning("暂无异常数据");
-                        }
-                    } else if (name === '雨量站小时报上报延时') {
-                        if (value > 0) {
-                            that.rainHourupdelayWarnListDig = true;
-                            that.$nextTick(() => {
-                                that.$refs["rainhourupdelaywarnlist"].init();
-                            });
-                        } else {
-                            that.$message.warning("暂无异常数据");
-                        }
-                    } else if (name === '水位站小时报上报延时') {
-                        if (value > 0) {
-                            that.riverHourupdelayWarnListDig = true;
-                            that.$nextTick(() => {
-                                that.$refs["riverhourupdelaywarnlist"].init();
-                            });
-                        } else {
-                            that.$message.warning("暂无异常数据");
-                        }
-                    } else if (name === '疑似异常值') {
-                        if (value > 0) {
-                            that.outlterValueWarnListDig = true;
-                            that.$nextTick(() => {
-                                that.$refs["outlitervaluewarnlist"].init();
-                            });
-                        } else {
-                            that.$message.warning("暂无异常数据");
-                        }
-                    }
-                }
-            })
-        }
-
-        this.$nextTick(() => {
-            this.loadData();
-        });
-    },
-    beforeDestroy() {
-        console.log("beforeDestroy ++++++++++++++++++++");
-        //  this.closeSocket();
-        if (this.timer != null) {
-            console.log("clear timer ++++++++++++++ ")
-            clearInterval(this.timer);
-            this.timer = null;
-        }
-    },
-    methods: {
-        loadData() {
-            this.getCountData();
-            if (this.timer == null) {
-                this.timer = setInterval(this.timeCall, 10000);
-            }
-        },
-        onLoad() {
-            this.loading = true;
-            getWarnCountList().then((res) => {
-                this.data = res.data.data;
-                this.loading = false;
-            });
-        },
-        timeCall() {
-            console.log("time ++++++++++++++++++++");
-            this.getCountData();
-            this.getWarnCountList().then((res) => {
-                this.data = res.data.data;
-            });
-        },
-        close() {
-            this.dialog = false;
-        },
-        cellClick(row, column, cell, event) {
-            if (event.isTrusted) {
-                if (column.label === '测站离线') {
-                    if (row.warnOffline) {
-                        this.deptId = row.deptId;
-                        this.offlineWarnListDig = true;
-                        console.log("warn offline " + this.deptId)
-                        this.$nextTick(() => {
-                            this.$refs["offlinewarnlist"].init();
-                        });
-                    }
-                } else if (column.label === '小时报漏报') {
-                    if (row.warnMissOut) {
-                        this.deptId = row.deptId;
-                        this.hourmissoutWarnListDig = true;
-                        this.$nextTick(() => {
-                            this.$refs["hourmissoutwarnlist"].init();
-                        });
-                    }
-                } else if (column.label === '5分钟上报延时') {
-                    if (row.warnUpMinDelay) {
-                        this.deptId = row.deptId;
-                        this.minupdelayWarnListDig = true;
-                        this.$nextTick(() => {
-                            this.$refs["minupdelaywarnlist"].init();
-                        });
-                    }
-                } else if (column.label === '小时上报延时') {
-                    if (row.warnUpHourDelay) {
-                        this.deptId = row.deptId;
-                        this.hourupdelayWarnListDig = true;
-                        this.$nextTick(() => {
-                            this.$refs["hourupdelaywarnlist"].init();
-                        });
-                    }
-                }
-            }
-        },
-        openMoreTodayOrderProcess() {
-            this.moreTodayOrderProcessDig = true;
-            this.$nextTick(() => {
-                this.$refs["todaycheckorderprocesslist"].init();
-            });
-        },
-        openMoreTodayInspectionReport() {
-            this.moreTodayInspectionReportDig = true;
-            this.$nextTick(() => {
-                this.$refs["todaynspectionrportlist"].init();
-            });
-        },
-        openMoreNotice() {
-            this.moreNoticeDig = true;
-            this.$nextTick(() => {
-                this.$refs["todaynoticelist"].init();
-            });
-        },
-        openCheckOrderReportDetail(item) {
-            this.checkOrderReportId = item.orderId;
-            this.checkorderprocessdetailDig = true;
-            this.$nextTick(() => {
-                this.$refs["checkorderprocessdetail"].init();
-            });
-        },
-        openInspectionReportDetail(item) {
-            this.inspectionReportId = item.id;
-            this.inspectionreportdetailDig = true;
-            this.$nextTick(() => {
-                this.$refs["inspectionreportdetail"].init();
-            });
-        },
-        downloadApk() {
-            if (this.appinfo.apkUrl !== '') {
-                window.open(this.appinfo.apkUrl);
-            }
-        },
-        getCountData() {
-            getRtuStatusCountData().then((res) => {
-                console.log("status count " + JSON.stringify(res.data))
-                if (res.data.code === 200) {
-                    let data = res.data.data;
-                    let num = new Number((data.rtus - data.warningRtus) / data.rtus * 100);
-                    this.rtuInfoCountPieOption.series[0].data[0].value = data.rtus - data.warningRtus;
-                    this.rtuInfoCountPieOption.series[0].data[0].percent = num.toFixed(2);
-                    num = new Number(data.offlineRtus / data.rtus * 100);
-                    this.rtuInfoCountPieOption.series[0].data[1].value = data.offlineRtus;
-                    this.rtuInfoCountPieOption.series[0].data[1].percent = num.toFixed(2);
-                    num = new Number((data.warningRtus - data.offlineRtus) / data.rtus * 100);
-                    this.rtuInfoCountPieOption.series[0].data[0].value = data.warningRtus - data.offlineRtus;
-                    this.rtuInfoCountPieOption.series[0].data[0].percent = num.toFixed(2);
-                    this.rtuInfoCountPieMap.setOption(this.rtuInfoCountPieOption);
-                }
-            });
-
-
-            getRtuUpCountData().then((res) => {
-                console.log("up count " + JSON.stringify(res.data))
-                if (res.data.code === 200) {
-                    let data = res.data.data;
-                    this.rtuDataUpCountOption.series[0].data[2].value = data.rainRtuCount;
-                    this.rtuDataUpCountOption.series[0].data[1].value = data.riverRtuCount;
-                    this.rtuDataUpCountOption.series[0].data[0].value = data.groundRtuCount;
-                    let num = new Number(data.rainUpDataCount / data.rainRtuCount * 100);
-                    this.rtuDataUpCountOption.series[1].data[2].value = data.rainUpDataCount;
-                    this.rtuDataUpCountOption.series[1].data[2].percent = num.toFixed(2);
-                    num = new Number(data.riverUpDataCount / data.riverRtuCount * 100);
-                    this.rtuDataUpCountOption.series[1].data[1].value = data.riverUpDataCount;
-                    this.rtuDataUpCountOption.series[1].data[1].percent = num.toFixed(2);
-                    num = new Number(data.groundUpDataCount / data.groundRtuCount * 100);
-                    this.rtuDataUpCountOption.series[1].data[0].value = data.groundUpDataCount;
-                    this.rtuDataUpCountOption.series[1].data[0].percent = num.toFixed(2);
-                    this.rtuDataUpCountMap.setOption(this.rtuDataUpCountOption);
-                }
-            });
-
-            getCheckOrderCountData().then((res) => {
-                console.log("CheckOrder count " + JSON.stringify(res.data))
-                if (res.data.code === 200) {
-                    let data = res.data.data;
-                    this.checkOrderCountOption.series[0].data[3].value = data.orderCount;
-                    let num = new Number((data.orderCount - data.unconfirmOrderCount) / data.orderCount * 100);
-                    this.checkOrderCountOption.series[0].data[2].value = data.orderCount - data.unconfirmOrderCount;
-                    this.checkOrderCountOption.series[0].data[2].percent = num.toFixed(2);
-                    num = new Number(data.unconfirmOrderCount / data.orderCount * 100);
-                    this.checkOrderCountOption.series[0].data[1].value = data.unconfirmOrderCount;
-                    this.checkOrderCountOption.series[0].data[1].percent = num.toFixed(2);
-                    num = new Number(data.delayComfireOrders / data.orderCount * 100);
-                    this.checkOrderCountOption.series[0].data[0].value = data.delayComfireOrders;
-                    this.checkOrderCountOption.series[0].data[0].percent = num.toFixed(2);
-                    this.checkOrderMap.setOption(this.checkOrderCountOption);
-                }
-            });
-
-            getInspectionReportCountData().then((res) => {
-                console.log("InspectionReport count " + JSON.stringify(res.data))
-                if (res.data.code === 200) {
-                    let data = res.data.data;
-                    this.equipmentInspectionCountOption.series[0].data[3].value = data.equipmentInspectionCount;
-                    let num = new Number(data.equipmentInspectionBeforeRainReports / data.equipmentInspectionCount * 100);
-                    this.equipmentInspectionCountOption.series[0].data[2].value = data.equipmentInspectionBeforeRainReports;
-                    this.equipmentInspectionCountOption.series[0].data[2].percent = num.toFixed(2);
-                    num = new Number(data.equipmentInspectionRainFirstReports / data.equipmentInspectionCount * 100);
-                    this.equipmentInspectionCountOption.series[0].data[1].value = data.equipmentInspectionRainFirstReports;
-                    this.equipmentInspectionCountOption.series[0].data[1].percent = num.toFixed(2);
-                    num = new Number(data.equipmentInspectionRainSecondReports / data.equipmentInspectionCount * 100);
-                    this.equipmentInspectionCountOption.series[0].data[0].value = data.equipmentInspectionRainSecondReports;
-                    this.equipmentInspectionCountOption.series[0].data[0].percent = num.toFixed(2);
-                    this.equipmentInspectionChartMap.setOption(this.equipmentInspectionCountOption);
-                }
-            });
-
-            getWarnKindCountData().then((res) => {
-                console.log("warn kind count " + JSON.stringify(res.data))
-                if (res.data.code === 200) {
-                    let data = res.data.data;
-                    this.rtuWarnCountOption.series[0].data[8].value = data.warnRtus;
-
-                    let num = new Number(data.offlineRtus / data.warnRtus * 100);
-                    this.rtuWarnCountOption.series[0].data[7].value = data.offlineRtus;
-                    this.rtuWarnCountOption.series[0].data[7].percent = num.toFixed(2);
-
-                    num = new Number(data.clockWarn / data.warnRtus * 100);
-                    this.rtuWarnCountOption.series[0].data[6].value = data.clockWarn;
-                    this.rtuWarnCountOption.series[0].data[6].percent = num.toFixed(2);
-
-                    num = new Number(data.rainUpMissOut / data.warnRtus * 100);
-                    this.rtuWarnCountOption.series[0].data[5].value = data.rainUpMissOut;
-                    this.rtuWarnCountOption.series[0].data[5].percent = num.toFixed(2);
-
-                    num = new Number(data.riverUpMissOut / data.warnRtus * 100);
-                    this.rtuWarnCountOption.series[0].data[4].value = data.riverUpMissOut;
-                    this.rtuWarnCountOption.series[0].data[4].percent = num.toFixed(2);
-
-
-                    num = new Number(data.minUpDelay / data.warnRtus * 100);
-                    this.rtuWarnCountOption.series[0].data[3].value = data.minUpDelay;
-                    this.rtuWarnCountOption.series[0].data[3].percent = num.toFixed(2);
-
-
-                    num = new Number(data.rainHourUpDelay / data.warnRtus * 100);
-                    this.rtuWarnCountOption.series[0].data[2].value = data.rainHourUpDelay;
-                    this.rtuWarnCountOption.series[0].data[2].percent = num.toFixed(2);
-
-                    num = new Number(data.riverHourUpDelay / data.warnRtus * 100);
-                    this.rtuWarnCountOption.series[0].data[1].value = data.riverHourUpDelay;
-                    this.rtuWarnCountOption.series[0].data[1].percent = num.toFixed(2);
-
-                    num = new Number(data.outlierValue / data.warnRtus * 100);
-                    this.rtuWarnCountOption.series[0].data[0].value = data.outlierValue;
-                    this.rtuWarnCountOption.series[0].data[0].percent = num.toFixed(2);
-
-                    this.rtuWarnCountMap.setOption(this.rtuWarnCountOption);
-                }
-            });
-
-
-            todayOrderProcessList().then((res) => {
-                this.todayOrderList = [];
-                let showCount = 3;
-                if (this.adminPageStyle) {
-                    showCount = 1;
-                }
-                for (let i = 0; i < showCount && i < res.data.data.length; i++) {
-                    this.todayOrderList.push(res.data.data[i]);
-                }
-            });
-            todayInspectionReportList().then((res) => {
-                this.todayInspectionReportList = [];
-                let showCount = 3;
-                if (this.adminPageStyle) {
-                    showCount = 1;
-                }
-                for (let i = 0; i < showCount && i < res.data.data.length; i++) {
-                    this.todayInspectionReportList.push(res.data.data[i]);
-                }
-            });
-            getLastList(1).then((res) => {
-                this.noticeList = [];
-                this.noticeList = res.data.data;
-            });
-            getAppInfo().then((res) => {
-                console.log(JSON.stringify(res.data.data))
-                this.appinfo = res.data.data;
-            });
-        },
-        changeState(state) {
-            this.state = state;
-            if (state != 5) {
-                if (this.timer) clearInterval(this.timer);
-                this.timer = setInterval(() => {
-                    this.second++;
-                }, 1000);
-            } else {
-                if (this.timer) {
-                    clearInterval(this.timer);
-                }
-                this.second = 0;
-            }
-        },
-        confirm() {
-            // let arr = this.layout.map((e) => {
-            //   return {
-            //     x: e.x,
-            //     y: e.y,
-            //     width: e.w,
-            //     height: e.h,
-            //     isShow: e.isShow,
-            //     moduleName: e.i,
-            //     moduleCode: e.i,
-            //   };
-            // });
-            // let params = {
-            //   layoutId: "",
-            //   homeLayoutDetailEntityList: arr,
-            // };
-            // insertCustom(params).then((res) => {});
-            // this.cache = [...this.layout];
-            // this.editSw = false;
-        },
-
-        /**
-         * 建立websocket连接
-         */
-        // initWebsocket: function () {
-        //     console.log("WebSocket 准备建立连接");
-        //     const socket = new SockJS("/api/galaxy-yjjcpt/ws");
-        //     this.stompClient = Stomp.over(socket);
-        //     this.stompClient.connect({}, this.onConnected, this.onError);
-        // },
-
-        /**
-         * 连接成功: 订阅服务器的地址。为了浏览器可以接收到消息,必须先订阅服务器的地址
-         */
-        // onConnected: function () {
-        //     console.log("WebSocket 连接成功");
-
-        //     // 设置心跳发送接受频率(ms)默认为10000ms。 heart-beating是利用window.setInterval()去规律地发送heart-beats或者检查服务端的heart-beats。
-        //     this.stompClient.heartbeat.outgoing = 10000;
-        //     this.stompClient.heartbeat.incoming = 0;
-
-        //     // 订阅
-        //     this.stompClient.subscribe("/topic/event", this.onMessageReceived);
-        // },
-
-        /**
-         * 连接失败
-         */
-        // onError: function (error) {
-        //     console.log("WebSocket 连接失败", error);
-        // },
-
-        /**
-         * 接收消息
-         */
-        // onMessageReceived: function (res) {
-        //     console.log(res.body);
-
-        //     console.log("WebSocket 接收消息-----------------------------------");
-        // },
-
-        /**
-         * 发送消息
-         */
-        // sendMessage: function () {
-        //     const chatMessage = {
-        //         sender: "",
-        //         content: "",
-        //         type: "CHAT",
-        //     };
-        //     this.stompClient.send(
-        //         "/app/chat.sendMessage",
-        //         {},
-        //         JSON.stringify(chatMessage)
-        //     );
-        // },
-
-        /**
-         * 关闭websocket连接
-         */
-        // closeSocket: function () {
-        //     if (this.stompClient != null) {
-        //         // this.stompClient.disconnect();
-        //         this.stompClient.disconnect(() => {
-        //             console.log("连接关闭");
-        //         });
-        //     }
-        // },
-    },
-};
-</script>
-  
-<style>
-.box-card {
-    width: 100%;
-    height: 220px;
-    overflow-y: auto;
-}
-
-.box-high-card {
-    width: 100%;
-    height: 500px;
-    overflow-y: auto;
-}
-
-.box-small-card {
-    width: 100%;
-    height: 235px;
-    overflow-y: auto;
-}
-
-.box-card-news {
-    width: 100%;
-    height: 235px;
-    overflow-y: auto;
-}
-
-.box-card-apk {
-    width: 100%;
-    height: 235px;
-}
-
-.el-row {
-    margin-bottom: 20px;
-}
-
-.el-col {
-    border-radius: 4px;
-}
-
-.bg-purple-dark {
-    background: #99a9bf;
-}
-
-.bg-purple {
-    background: #d3dce6;
-}
-
-.bg-purple-light {
-    background: #e5e9f2;
-}
-
-.grid-content {
-    border-radius: 4px;
-    min-height: 36px;
-}
-
-.row-bg {
-    padding: 10px 0;
-    background-color: #f9fafc;
-}
-
-.list-item {
-    padding-top: 5px;
-    padding-left: 2px;
-    border-width: thin;
-    border-bottom-style: solid;
-    border-bottom-color: lightgray;
-}
-
-.notice-item {
-    padding-top: 5px;
-    padding-left: 2px;
-    border-width: thin;
-    border-bottom-style: solid;
-    border-bottom-color: lightgray;
-}
-
-.notice-time {
-    font-size: 0.8rem;
-    color: gray;
-}
-
-.notice-content {
-    font-size: 0.9rem;
-    white-space: nowrap;
-    overflow: hidden;
-    text-overflow: ellipsis;
-}
-</style>

文件差异内容过多而无法显示
+ 629 - 145
src/views/wel/index.vue


+ 4 - 0
vue.config.js

@@ -43,6 +43,10 @@ module.exports = {
                     '^/api': '/'
                 }
             },
+            '/ureport': {
+                //本地服务接口地址
+                target: 'http://localhost:40004',
+            },
             '/oss/galaxy': {
                 target: 'http://111.204.228.227:20002',
                 //target: 'https://nmwx.dahengsi.com:20001',

部分文件因为文件数量过多而无法显示