dylan 2 rokov pred
rodič
commit
0a26e070a7

+ 5 - 5
src/api/baseinfo/org.js

@@ -2,7 +2,7 @@ import request from '@/router/axios';
 
 export const getPage = (current, size, params) => {
     return request({
-        url: '/api/galaxy-business/baseinfo/org/page',
+        url: '/api/galaxy-business/base/org/page',
         method: 'get',
         params: {
             ...params,
@@ -15,7 +15,7 @@ export const getPage = (current, size, params) => {
 
 export const remove = (ids) => {
     return request({
-        url: '/api/galaxy-business/baseinfo/org/remove',
+        url: '/api/galaxy-business/base/org/remove',
         method: 'post',
         params: {
             ids,
@@ -25,7 +25,7 @@ export const remove = (ids) => {
 
 export const add = (row) => {
     return request({
-        url: '/api/galaxy-business/baseinfo/org/save',
+        url: '/api/galaxy-business/base/org/save',
         method: 'post',
         data: row
     })
@@ -33,7 +33,7 @@ export const add = (row) => {
 
 export const update = (row) => {
     return request({
-        url: '/api/galaxy-business/baseinfo/org/update',
+        url: '/api/galaxy-business/base/org/update',
         method: 'post',
         data: row
     })
@@ -41,7 +41,7 @@ export const update = (row) => {
 
 export const getDetail = (id) => {
     return request({
-        url: '/api/galaxy-business/baseinfo/org/detail',
+        url: '/api/galaxy-business/base/org/detail',
         method: 'get',
         params: {
             id

+ 1 - 1
src/api/baseinfo/wateruseconsumer.js

@@ -33,7 +33,7 @@ export const add = (row) => {
 
 export const update = (row) => {
     return request({
-        url: '/api/galaxy-business/base/wateruse/submit',
+        url: '/api/galaxy-business/base/wateruse/update',
         method: 'post',
         data: row
     })

+ 41 - 2
src/api/business/count/count.js

@@ -9,17 +9,19 @@ export const getMonitorSiteCountPage = (params) => {
     })
 }
 
-export const getOrgWaterFlowCountPage = (params) => {
+export const getOrgWaterFlowCountPage = (current, size, params) => {
     return request({
         url: '/api/galaxy-business/count/org/wateruse/page',
         method: 'get',
         params: {
             ...params,
+            current,
+            size,
         }
     })
 }
 
-export const getWaterUseConsumerCountPage = (params) => {
+export const getWaterUseConsumerFlowCountPage = (params) => {
     return request({
         url: '/api/galaxy-business/count/wateruseconsumer/wateruse/page',
         method: 'get',
@@ -29,3 +31,40 @@ export const getWaterUseConsumerCountPage = (params) => {
     })
 }
 
+
+export const getWaterUseConsumerCountPage = (current, size, params) => {
+    return request({
+        url: '/api/galaxy-business/count/wateruseconsumer/wateruse/page',
+        method: 'get',
+        params: {
+            ...params,
+            current,
+            size,
+        }
+    })
+}
+
+export const getWaterUseConsumerMonthCountPage = (current, size, params) => {
+    return request({
+        url: '/api/galaxy-business/count/wateruseconsumer/month/page',
+        method: 'get',
+        params: {
+            ...params,
+            current,
+            size,
+        }
+    })
+}
+
+export const getWaterUseConsumerYearCountPage = (current, size, params) => {
+    return request({
+        url: '/api/galaxy-business/count/wateruseconsumer/year/page',
+        method: 'get',
+        params: {
+            ...params,
+            current,
+            size,
+        }
+    })
+}
+

+ 12 - 83
src/views/baseinfo/monitorpoint/index.vue

@@ -33,60 +33,23 @@
                         @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="toRtuImpoartHandler">导入测站</el-button>
-                            <el-button v-if="permissionList.importBtn" type="primary" icon="el-icon-finished" size="small"
-                                @click="toRtuImportHistoryHandler">测站导入历史</el-button>
-                            <el-button v-if="permissionList.importBtn" type="primary" icon="el-icon-download" size="small"
-                                @click="downloadTemplate">测站信息模板下载</el-button>
-
-                        </template> -->
-
                     </avue-crud>
                 </basic-container>
             </el-col>
         </el-row>
-        <!-- <el-drawer :visible.sync="rtuImportHistoryDialog" v-if="rtuImportHistoryDialog" title="测站导入操作记录" direction="rtl"
-            size="60%" append-to-body="true">
-            <rtuImportHistoryView ref="rtuImportHistoryView"></rtuImportHistoryView>
-        </el-drawer>
-        <el-dialog title="测站导入向导" :visible.sync="rtuImportDialog" width="60%" height="60%" :close-on-click-modal="false"
-            append-to-body :v-loading="importLoading" v-if="rtuImportDialog">
-            <rtuImportView :importLoading="importLoading" :visible.sync="rtuImportDialog" ref="rtuImportView">
-            </rtuImportView>
-        </el-dialog> -->
-        <!-- <el-dialog title="添加视频站" :visible.sync="videoSiteAddDialog" width="60%" height="60%" :close-on-click-modal="false"
-            append-to-body :v-loading="importLoading" v-if="videoSiteAddDialog">
-            <videositeadd :importLoading="importLoading" :visible.sync="videoSiteAddDialog" ref="videositeadd"
-                @fevent="update_table">
-            </videositeadd>
-
-        </el-dialog> -->
     </div>
 </template>
 
 <script>
 import { getPage, getDetail, add, update, remove } from "@/api/baseinfo/monitorpoint.js";
-//import { getLazyTree as getLazyDeptTree } from "@/api/baseinfo/org";
 import { getTree } from "@/api/baseinfo/org";
-// import { getStore } from '@/util/store.js';
 import { mapGetters } from "vuex";
-// import rtuImportHistoryView from './rtuimport.vue';
-// import rtuImportView from './rtuImportProcess.vue';
-// import videositeadd from './videositeadd.vue';
 export default {
     components: {
-        // rtuImportView,
-        // rtuImportHistoryView,
-        // videositeadd
     },
     data() {
         return {
             importLoading: false,
-            rtuImportDialog: false,
-            rtuImportHistoryDialog: false,
-            videoSiteAddDialog: false,
             id: "",
             post_code: '0',
             form: {},
@@ -221,7 +184,7 @@ export default {
                         addDisplay: false,
                     },
                     {
-                        label: "行政",
+                        label: "行政机构",
                         prop: "orgName",
                         span: 24,
                         editDisplay: false,
@@ -352,36 +315,15 @@ export default {
     computed: {
         ...mapGetters(["userInfo", "permission"]),
         permissionList() {
-            return {};
-            // if (this.post_code == '0') {
-            //     return {
-            //         addBtn: this.vaildData(this.permission.rtu_add, false),
-            //         viewBtn: this.vaildData(this.permission.rtu_view, false),
-            //         delBtn: this.vaildData(this.permission.rtu_del, false),
-            //         editBtn: this.vaildData(this.permission.rtu_edit, false),
-            //         importBtn: this.vaildData(this.permission.rtu_import, false),
-            //         videoSiteAdd: this.vaildData(this.permission.video_site_add, false),
-            //     };
-            // } else {
-            //     return {
-            //         addBtn: false,
-            //         viewBtn: true,
-            //         delBtn: false,
-            //         editBtn: false,
-            //         importBtn: false,
-            //         videoSiteAdd: false
-            //     };
-            // }
+            return {
+                addBtn: this.vaildData(this.permission.site_point_add, false),
+                viewBtn: this.vaildData(this.permission.site_point_view, false),
+                delBtn: this.vaildData(this.permission.site_point_del, false),
+                editBtn: this.vaildData(this.permission.site_point_edit, false),
+            };
         },
     },
     created() {
-        // let u = getStore({ name: 'userInfo' });
-        // console.log(JSON.stringify(u));
-        // if (u.post_id == this.website.nm_post_code_sysadmin_id) {
-        //     this.post_code = this.website.nm_post_code_sysadmin_code;
-        // } else if (u.post_id == this.website.nm_post_code_office_personnel_id) {
-        //     this.post_code = this.website.nm_post_code_office_personnel_code;
-        // }
         this.initTree();
     },
     methods: {
@@ -396,28 +338,15 @@ export default {
                 })
                 this.treeOption.defaultExpandedKeys.push(this.treeData[0].id);
                 this.treeCode = this.treeData[0].id;
+                this.query = {};
+                this.query['orgId'] = this.treeCode;
+                var params = {};
+                this.onLoad(this.page, params);
             });
         },
-        // update_table() {
-        //     this.onLoad(this.page, this.query);
-        // },
-        // toRtuImpoartHandler() {
-        //     this.rtuImportDialog = true;
-        // },
-        // toRtuImportHistoryHandler() {
-        //     this.rtuImportHistoryDialog = true;
-        // },
-        // toAddVideoSite() {
-        //     this.videoSiteAddDialog = true;
-        //     this.$nextTick(() => {
-        //         this.$refs["videositeadd"].init();
-        //     });
-        // },
-        // downloadTemplate() {
-        //     window.open('/file/download/template/站点信息记录表模板.xlsx')
-        // },
         nodeClick(data) {
             this.treeCode = data.id;
+            this.excludeCode = data.exclude;
             this.treeParentCode = data.parentId;
             this.query = {};
             this.query['orgId'] = this.treeCode;

+ 81 - 49
src/views/baseinfo/monitorsite/index.vue

@@ -34,7 +34,8 @@
                         @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad"
                         @before-open="beforeOpen" @select-change="selectChange">
                         <template slot-scope="{ row, index }" slot="menu">
-                            <el-button type="text" size="small" @click="toAddMonitorPoint(row)" icon="el-icon-plus">添加监测点
+                            <el-button v-if="permissionList.addPointBtn" type="text" size="small"
+                                @click="toAddMonitorPoint(row)" icon="el-icon-plus">添加监测点
                             </el-button>
                         </template>
 
@@ -168,7 +169,7 @@ export default {
                         addDisplay: false,
                     },
                     {
-                        label: "行政",
+                        label: "行政机构",
                         prop: "orgName",
                         span: 24,
                         editDisabled: true,
@@ -196,6 +197,71 @@ export default {
                             },
                         ],
                     },
+                    {
+                        label: "证照编号",
+                        prop: "siteCertId",
+                        span: 24,
+                        hide: true,
+                        rules: [
+                            {
+                                required: true,
+                                message: "请录入证照编号",
+                                trigger: "click",
+                            },
+                        ],
+                    },
+                    {
+                        label: '站点建设来源类型',
+                        prop: 'siteOwner',
+                        hide: true,
+                        type: 'select',
+                        props: {
+                            label: 'name',
+                            value: 'code'
+                        },
+                        span: 24,
+                        dicData: [{
+                            name: '国控转计量',
+                            code: '1'
+                        }, {
+                            name: '用户安装的计量设施',
+                            code: '2'
+                        }, {
+                            name: '中央专项资金',
+                            code: '3'
+                        }],
+                        rules: [
+                            {
+                                required: true,
+                                message: "请选择数据来源类型",
+                                trigger: "click",
+                            },
+                        ],
+                    }, {
+                        label: '是否同步到金水',
+                        prop: 'dataShareActive',
+                        hide: true,
+                        type: 'radio',
+                        props: {
+                            label: 'name',
+                            value: 'code'
+                        },
+                        span: 24,
+                        dicData: [{
+                            name: '否',
+                            code: 1
+                        }, {
+                            name: '同步',
+                            code: 2
+                        }],
+                        rules: [
+                            {
+                                required: true,
+                                message: "请选择是否同步",
+                                trigger: "click",
+                            },
+                        ],
+                    },
                     {
                         label: '监测站类别',
                         prop: 'wiustTp',
@@ -308,26 +374,13 @@ export default {
     computed: {
         ...mapGetters(["userInfo", "permission"]),
         permissionList() {
-            return {};
-            // if (this.post_code == '0') {
-            //     return {
-            //         addBtn: this.vaildData(this.permission.rtu_add, false),
-            //         viewBtn: this.vaildData(this.permission.rtu_view, false),
-            //         delBtn: this.vaildData(this.permission.rtu_del, false),
-            //         editBtn: this.vaildData(this.permission.rtu_edit, false),
-            //         importBtn: this.vaildData(this.permission.rtu_import, false),
-            //         videoSiteAdd: this.vaildData(this.permission.video_site_add, false),
-            //     };
-            // } else {
-            //     return {
-            //         addBtn: false,
-            //         viewBtn: true,
-            //         delBtn: false,
-            //         editBtn: false,
-            //         importBtn: false,
-            //         videoSiteAdd: false
-            //     };
-            // }
+            return {
+                addBtn: this.vaildData(this.permission.site_add, false),
+                viewBtn: this.vaildData(this.permission.site_view, false),
+                delBtn: this.vaildData(this.permission.site_del, false),
+                editBtn: this.vaildData(this.permission.site_edit, false),
+                addPointBtn: this.vaildData(this.permission.site_add_point, false),
+            };
         },
     },
     created() {
@@ -352,13 +405,13 @@ export default {
                 })
                 this.treeOption.defaultExpandedKeys.push(this.treeData[0].id);
                 this.treeCode = this.treeData[0].id;
+                this.query = {};
+                this.query['orgId'] = this.treeCode;
             });
         },
-        update_table() {
-            this.onLoad(this.page, this.query);
-        },
         nodeClick(data) {
             this.treeCode = data.id;
+            this.excludeCode = data.exclude;
             this.treeParentCode = data.parentId;
             this.query = {};
             this.query['orgId'] = this.treeCode;
@@ -366,6 +419,9 @@ export default {
             var params = {};
             this.onLoad(this.page, params);
         },
+        update_table() {
+            this.onLoad(this.page, this.query);
+        },
         toAddMonitorPoint(row) {
             this.addMonitorPointDialog = true;
             this.wiustCd = row.wiustCd;
@@ -374,42 +430,18 @@ export default {
                 this.$refs["addMonitorPointView"].init();
             });
         },
-        // toRtuImportHistoryHandler() {
-        //     this.rtuImportHistoryDialog = true;
-        // },
-        // toAddVideoSite() {
-        //     this.videoSiteAddDialog = true;
-        //     this.$nextTick(() => {
-        //         this.$refs["videositeadd"].init();
-        //     });
-        // },
-        // downloadTemplate() {
-        //     window.open('/file/download/template/站点信息记录表模板.xlsx')
-        // },
-        // nodeClick(data) {
-        //     this.treeCode = data.id;
-        //     this.treeParentCode = data.parentId;
-        //     this.query = {};
-        //     this.query['adCode'] = this.treeCode;
-        //     this.page.currentPage = 1;
-        //     var params = {};
-        //     this.onLoad(this.page, params);
-        // },
         searchReset() {
             this.query = {};
-            // this.query['adCode'] = this.treeCode;
             this.page.currentPage = 1;
             this.onLoad(this.page);
         },
         searchChange(params, done) {
             this.query = params;
-            //this.query['adCode'] = this.treeCode;
             this.page.currentPage = 1;
             this.onLoad(this.page, params);
             done();
         },
         currentChange(currentPage) {
-            console.log("currentPage " + currentPage);
             this.page.currentPage = currentPage;
         },
         sizeChange(pageSize) {

+ 150 - 0
src/views/baseinfo/org/addorgadmin.vue

@@ -0,0 +1,150 @@
+<!--
+ * @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="formOption" v-model="dataForm" @submit="submit" />
+                </basic-container>
+            </el-col>
+        </el-row>
+    </div>
+</template>
+<script>
+import { add } from "@/api/baseinfo/serviceperson.js";
+export default {
+    data() {
+        return {
+            form: {},
+            query: {},
+            loading: true,
+            dataForm: {
+                name: '',
+                deptId: '',
+                account: '',
+                realName: '',
+                phone: '',
+                roleId: 0,
+            },
+            formOption: {
+                labelWidth: 150,
+                submitBtn: true,
+                emptyBtn: true,
+                column: [
+                    {
+                        label: "机构名称",
+                        prop: "name",
+                        span: 24,
+                        disabled: true,
+                    },
+                    {
+                        label: '用户角色类别',
+                        prop: 'roleId',
+                        type: 'radio',
+                        props: {
+                            label: 'name',
+                            value: 'code'
+                        },
+                        span: 24,
+                        dicData: [{
+                            name: '旗县管理员',
+                            code: '1'
+                        }, {
+                            name: '企业管理员',
+                            code: '2'
+                        }],
+                        rules: [
+                            {
+                                required: true,
+                                message: "请选择用户角色类别",
+                                trigger: "click",
+                            },
+                        ],
+
+                    },
+                    {
+                        label: "登录帐号",
+                        prop: "account",
+                        span: 24,
+                        tip: "密码默认为帐号+@8282",
+                        tipPlacement: 'right-end',
+                        rules: [
+                            {
+                                required: true,
+                                message: "请录入登录帐号",
+                                trigger: "click",
+                            },
+                        ],
+                    },
+                    {
+                        label: "用户名称",
+                        prop: "realName",
+                        span: 24,
+                        rules: [
+                            {
+                                required: true,
+                                message: "请录入用户名称",
+                                trigger: "click",
+                            },
+                        ],
+                    },
+                    {
+                        label: "联系电话",
+                        prop: "phone",
+                        span: 24,
+                    },
+                ]
+            }
+        };
+    },
+
+    props: {
+        visible: {
+            type: [Boolean],
+            default: false,
+        },
+        orgId: {
+            type: [String],
+            required: true
+        },
+        orgName: {
+            type: [String],
+            required: true
+        },
+    },
+    name: 'addOrgAdminView',
+    created() {
+        this.init();
+    },
+    methods: {
+        init() {
+            this.dataForm['name'] = this.orgName;
+            this.dataForm['deptId'] = this.orgId;
+        },
+        submit(from, done) {
+            console.log(JSON.stringify(from));
+            add(from).then(() => {
+                this.$message({
+                    type: "success",
+                    message: "提交成功!"
+                });
+
+                this.$emit("update:visible", false);
+                this.$emit("fevent");
+                done();
+            }, error => {
+                console.log(error);
+                done();
+            });
+        },
+    },
+};
+</script>
+<style lang="scss" scoped></style>

+ 381 - 0
src/views/baseinfo/org/index.vue

@@ -0,0 +1,381 @@
+<!--
+ * @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="4">
+                <div class="box">
+                    <el-scrollbar>
+                        <basic-container>
+                            <avue-tree :option="treeOption" :data="treeData" @node-click="nodeClick">
+                                <span class="el-tree-node__label" slot-scope="{ node, data }">
+                                    <span>
+                                        <i class="el-icon-office-building"></i>
+                                        {{ (node || {}).label }}
+                                    </span>
+                                </span>
+                            </avue-tree>
+                        </basic-container>
+                    </el-scrollbar>
+                </div>
+            </el-col>
+            <el-col :span="20">
+                <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"
+                        @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"
+                        @before-open="beforeOpen" @select-change="selectChange">
+                        <template slot-scope="{ row, index }" slot="menu">
+                            <!-- <el-button type="text" size="small" @click="toAddMonitorPoint(row)" icon="el-icon-plus">添加下级机构
+                            </el-button> -->
+                            <el-button type="text" size="small" @click="toAddOrgAdmin(row)" icon="el-icon-plus">添加管理员
+                            </el-button>
+                            <el-button type="text" size="small" @click="toOrgAdminList(row)" icon="el-icon-plus">管理员列表
+                            </el-button>
+                        </template>
+
+                    </avue-crud>
+                </basic-container>
+            </el-col>
+        </el-row>
+
+        <el-drawer title="添加管理员" :visible.sync="addOrgAdminDialog" size="60%" append-to-body v-if="addOrgAdminDialog">
+            <addorgadminVue ref="addorgadminRef" :visible.sync="addOrgAdminDialog" :orgId="orgId" :orgName="orgName"
+                @fevent="update_table">
+            </addorgadminVue>
+        </el-drawer>
+
+        <el-drawer title="管理员列表" :visible.sync="orgAdminListDialog" size="60%" append-to-body v-if="orgAdminListDialog">
+            <orgadminlistVue ref="orgadminListRef" :visible.sync="orgAdminListDialog" :orgId="orgId" @fevent="update_table">
+            </orgadminlistVue>
+        </el-drawer>
+    </div>
+</template>
+
+<script>
+import { getTree, getPage, add, update, remove } from "@/api/baseinfo/org";
+import { mapGetters } from "vuex";
+import addorgadminVue from "./addorgadmin.vue";
+import orgadminlistVue from "./orgadminlist.vue";
+
+export default {
+    components: {
+        addorgadminVue,
+        orgadminlistVue
+    },
+    data() {
+        return {
+            addOrgAdminDialog: false,
+            orgAdminListDialog: false,
+            orgId: '',
+            orgName: '',
+            form: {},
+            selectionList: [],
+            query: {},
+            loading: true,
+            page: {
+                pageSize: 10,
+                currentPage: 1,
+                total: 0,
+            },
+            treeCode: '',
+            treeParentCode: '',
+            treeData: [],
+            treeOption: {
+                nodeKey: "id",
+                defaultExpandedKeys: [],
+                lazy: false,
+                // treeLoad: function (node, resolve) {
+                //     const parentCode = (node.level === 0) ? "" : node.data.id;
+                //     getLazyDeptTree(parentCode, {}).then(res => {
+                //         resolve(res.data.data.map(item => {
+                //             return {
+                //                 ...item,
+                //                 leaf: !item.hasChildren
+                //             }
+                //         }))
+                //     });
+                // },
+                addBtn: false,
+                menu: true,
+                size: "small",
+                props: {
+                    labelText: "标题",
+                    label: "title",
+                    value: "value",
+                    children: "children",
+                },
+            },
+            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: true,
+                delBtn: true,
+                addBtn: true,
+                menuWidth: 400,
+                dialogType: "drawer",
+                addBtnText: '新增机构',
+                dialogClickModal: false,
+                columnBtn: false,
+                column: [
+                    {
+                        label: "单位全称",
+                        prop: "deptName",
+                        span: 24,
+                        search: true,
+                        rules: [
+                            {
+                                required: true,
+                                message: "请录入单位全称",
+                                trigger: "click",
+                            },
+                        ],
+                    },
+                    {
+                        label: "备注说明",
+                        prop: "remark",
+                        span: 24,
+                        type: "textarea",
+                    },
+                ],
+            },
+            data: [],
+        };
+    },
+    computed: {
+        ...mapGetters(["userInfo", "permission"]),
+        permissionList() {
+            return {
+                addBtn: true,
+                viewBtn: false,
+                delBtn: true,
+                editBtn: true,
+            };
+        },
+    },
+    created() {
+        this.initTree();
+    },
+    methods: {
+        initTree() {
+            this.treeData = [];
+            getTree().then(res => {
+                this.treeData = res.data.data.map(item => {
+                    return {
+                        ...item,
+                        leaf: !item.hasChildren
+                    }
+                })
+                this.treeOption.defaultExpandedKeys.push(this.treeData[0].id);
+                this.treeCode = this.treeData[0].id;
+                this.query = {};
+                this.query['parentId'] = this.treeCode;
+            });
+        },
+        nodeClick(data) {
+            this.treeCode = data.id;
+            this.excludeCode = data.exclude;
+            this.treeParentCode = data.parentId;
+            this.query = {};
+            this.query['parentId'] = this.treeCode;
+            this.page.currentPage = 1;
+            var params = {};
+            this.onLoad(this.page, params);
+        },
+        update_table() {
+            this.query = {};
+            this.page.currentPage = 1;
+            this.onLoad(this.page, this.query);
+            this.initTree();
+        },
+        toAddOrgAdmin(row) {
+            this.addOrgAdminDialog = true;
+            this.orgId = row.id;
+            this.orgName = row.deptName;
+            this.$nextTick(() => {
+                this.$refs["addorgadminRef"].init();
+            });
+        },
+        toOrgAdminList(row) {
+            this.orgAdminListDialog = true;
+            this.orgId = row.id;
+            this.orgName = row.deptName;
+            this.$nextTick(() => {
+                this.$refs["orgadminListRef"].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) {
+            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();
+        },
+        rowSave(row, done, loading) {
+            row['parentId'] = this.treeCode;
+            console.log(JSON.stringify(row))
+            add(row).then(
+                () => {
+                    this.query = {};
+                    this.page.currentPage = 1;
+                    this.onLoad(this.page);
+                    this.initTree();
+
+                    this.$message({
+                        type: "success",
+                        message: "操作成功!",
+                    });
+                    done();
+                },
+                (error) => {
+                    window.console.log(error);
+                    loading();
+                }
+            );
+        },
+        rowUpdate(row, index, done, loading) {
+            update(row).then(
+                () => {
+                    this.query = {};
+                    this.page.currentPage = 1;
+                    this.onLoad(this.page);
+                    this.initTree();
+                    this.$message({
+                        type: "success",
+                        message: "操作成功!",
+                    });
+                    done();
+                },
+                (error) => {
+                    window.console.log(error);
+                    loading();
+                }
+            );
+        },
+        rowDel(row) {
+            this.$confirm("确定将选择数据删除?", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning",
+            })
+                .then(() => {
+                    return remove(row.id);
+                })
+                .then(() => {
+                    this.query = {};
+                    this.page.currentPage = 1;
+                    this.onLoad(this.page);
+                    this.initTree();
+                    this.$message({
+                        type: "success",
+                        message: "操作成功!",
+                    });
+                });
+        },
+        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();
+                });
+        },
+        beforeOpen(done, type) {
+            if (["edit", "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>

+ 261 - 0
src/views/baseinfo/org/orgadminlist.vue

@@ -0,0 +1,261 @@
+<!--
+ * @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"
+                        @row-update="rowUpdate" @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">
+
+                    </avue-crud>
+                </basic-container>
+            </el-col>
+        </el-row>
+    </div>
+</template>
+
+<script>
+
+import { getPage, getDetail, update, remove } from "@/api/baseinfo/serviceperson.js";
+import { mapGetters } from "vuex";
+export default {
+    components: {
+
+    },
+    data() {
+        return {
+            id: "",
+            editForm: {},
+            editDialog: false,
+            form: {},
+            selectionList: [],
+            query: {},
+            loading: true,
+            page: {
+                pageSize: 10,
+                currentPage: 1,
+                total: 0,
+            },
+            option: {
+                labelWidth: 120,
+                viewLabelWidth: 100,
+                searchlabelWidth: 140,
+                height: "auto",
+                calcHeight: 80,
+                align: "center",
+                headerAlign: "center",
+                tip: false,
+                simplePage: true,
+                searchShow: true,
+                searchMenuSpan: 6,
+                border: true,
+                index: true,
+                selection: false,
+                viewBtn: false,
+                viewTitle: "管理员列表",
+                menuWidth: 220,
+                dialogType: "drawer",
+                dialogClickModal: false,
+                columnBtn: false,
+                column: [
+                    {
+                        label: "登录帐号",
+                        prop: "account",
+                        span: 24,
+                        editDisabled: true,
+                        rules: [
+                            {
+                                required: true,
+                                message: "请录入登录帐号",
+                                trigger: "click",
+                            },
+                        ],
+                    },
+                    {
+                        label: "用户名称",
+                        prop: "realName",
+                        span: 24,
+                        rules: [
+                            {
+                                required: true,
+                                message: "请录入用户名称",
+                                trigger: "click",
+                            },
+                        ],
+                    },
+                    {
+                        label: "联系电话",
+                        prop: "phone",
+                        span: 24,
+                        rules: [
+                            {
+                                required: true,
+                                message: "请录入联系电话",
+                                trigger: "click",
+                            },
+                        ],
+                    },
+                ],
+            },
+            data: [],
+        };
+    },
+    computed: {
+        ...mapGetters(["userInfo", "permission"]),
+        permissionList() {
+            return {
+                addBtn: false,
+                viewBtn: false,
+                delBtn: true,
+                editBtn: true,
+            };
+
+        },
+        ids() {
+            let ids = [];
+            this.selectionList.forEach((ele) => {
+                ids.push(ele.id);
+            });
+            return ids.join(",");
+        },
+    },
+    mounted() { },
+    props: {
+        visible: {
+            type: [Boolean],
+            default: false,
+        },
+        orgId: {
+            type: [String],
+            required: true
+        },
+    },
+    name: 'orgAdminListView',
+    created() {
+        this.init();
+    },
+    methods: {
+        init() {
+
+        },
+        rowUpdate(row, index, done, loading) {
+            update(row).then(
+                () => {
+                    this.onLoad(this.page);
+                    this.$message({
+                        type: "success",
+                        message: "操作成功!",
+                    });
+                    done();
+                },
+                (error) => {
+                    window.console.log(error);
+                    loading();
+                }
+            );
+        },
+        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;
+        },
+        selectChange(item) {
+            console.log(item);
+        },
+        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();
+                });
+        },
+        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() {
+            this.onLoad(this.page, this.query);
+        },
+        onLoad(page, params = {}) {
+            this.loading = true;
+            params['deptId'] = this.orgId;
+            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>

+ 19 - 31
src/views/baseinfo/rtu/index.vue

@@ -31,8 +31,8 @@
                         :before-open="beforeOpen" 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"
-                        @before-open="beforeOpen" @select-change="selectChange">
+                        @size-change="sizeChange" @refresh-change="refreshChange" @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="toRtuImpoartHandler">导入测站</el-button>
@@ -40,8 +40,6 @@
                                 @click="toRtuImportHistoryHandler">测站导入历史</el-button>
                             <el-button v-if="permissionList.importBtn" type="primary" icon="el-icon-download" size="small"
                                 @click="downloadTemplate">测站信息模板下载</el-button>
-                            <!-- <el-button v-if="permissionList.videoSiteAdd" type="primary" icon="el-icon-plus" size="small"
-                                @click="toAddVideoSite">添加视频站</el-button> -->
                         </template>
 
                     </avue-crud>
@@ -57,29 +55,21 @@
             <rtuImportView :importLoading="importLoading" :visible.sync="rtuImportDialog" ref="rtuImportView">
             </rtuImportView>
         </el-dialog>
-        <!-- <el-dialog title="添加视频站" :visible.sync="videoSiteAddDialog" width="60%" height="60%" :close-on-click-modal="false"
-            append-to-body :v-loading="importLoading" v-if="videoSiteAddDialog">
-            <videositeadd :importLoading="importLoading" :visible.sync="videoSiteAddDialog" ref="videositeadd"
-                @fevent="update_table">
-            </videositeadd>
-
-        </el-dialog> -->
     </div>
 </template>
 
 <script>
 import { getPage, getDetail, add, update, remove } from "@/api/baseinfo/rtu.js";
-import { getTree } from "@/api/baseinfo/region.js";
-import { getStore } from '@/util/store.js';
+import { getTree } from "@/api/baseinfo/org";
+// import { getStore } from '@/util/store.js';
 import { mapGetters } from "vuex";
 import rtuImportHistoryView from './rtuimport.vue';
 import rtuImportView from './rtuImportProcess.vue';
-import videositeadd from './videositeadd.vue';
+
 export default {
     components: {
         rtuImportView,
         rtuImportHistoryView,
-        videositeadd
     },
     data() {
         return {
@@ -611,13 +601,6 @@ export default {
         },
     },
     created() {
-        let u = getStore({ name: 'userInfo' });
-        console.log(JSON.stringify(u));
-        if (u.post_id == this.website.nm_post_code_sysadmin_id) {
-            this.post_code = this.website.nm_post_code_sysadmin_code;
-        } else if (u.post_id == this.website.nm_post_code_office_personnel_id) {
-            this.post_code = this.website.nm_post_code_office_personnel_code;
-        }
         this.initTree();
     },
     methods: {
@@ -632,8 +615,22 @@ export default {
                 })
                 this.treeOption.defaultExpandedKeys.push(this.treeData[0].id);
                 this.treeCode = this.treeData[0].id;
+                this.query = {};
+                this.query['orgId'] = this.treeCode;
+                var params = {};
+                this.onLoad(this.page, params);
             });
         },
+        nodeClick(data) {
+            this.treeCode = data.id;
+            this.excludeCode = data.exclude;
+            this.treeParentCode = data.parentId;
+            this.query = {};
+            this.query['orgId'] = this.treeCode;
+            this.page.currentPage = 1;
+            var params = {};
+            this.onLoad(this.page, params);
+        },
         update_table() {
             this.onLoad(this.page, this.query);
         },
@@ -652,15 +649,6 @@ export default {
         downloadTemplate() {
             window.open('/file/download/template/站点信息记录表模板.xlsx')
         },
-        nodeClick(data) {
-            this.treeCode = data.id;
-            this.treeParentCode = data.parentId;
-            this.query = {};
-            this.query['adCode'] = this.treeCode;
-            this.page.currentPage = 1;
-            var params = {};
-            this.onLoad(this.page, params);
-        },
         searchReset() {
             this.query = {};
             this.query['adCode'] = this.treeCode;

+ 1 - 1
src/views/baseinfo/wateruseconsumer/addmonitorsite.vue

@@ -62,7 +62,7 @@ export default {
 
                     },
                     {
-                        label: "行政",
+                        label: "行政机构",
                         prop: "orgName",
                         span: 24,
                         disabled: true,

+ 32 - 34
src/views/baseinfo/wateruseconsumer/index.vue

@@ -29,10 +29,11 @@
                         :before-open="beforeOpen" 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"
-                        @before-open="beforeOpen" @select-change="selectChange">
+                        @size-change="sizeChange" @refresh-change="refreshChange" @before-open="beforeOpen"
+                        @select-change="selectChange" @on-load="onLoad">
                         <template slot-scope="{ row, index }" slot="menu">
-                            <el-button type="text" size="small" @click="toAddMonitorSite(row)" icon="el-icon-plus">添加监测站
+                            <el-button v-if="permissionList.addSiteBtn" type="text" size="small"
+                                @click="toAddMonitorSite(row)" icon="el-icon-plus">添加监测站
                             </el-button>
                         </template>
                     </avue-crud>
@@ -157,14 +158,14 @@ export default {
 
                     },
                     {
-                        label: "行政",
+                        label: "行政机构",
                         prop: "orgName",
                         span: 24,
                         editDisplay: false,
                         addDisplay: false,
                     },
                     {
-                        label: "所属行政区",
+                        label: "行政机构",
                         prop: "orgId",
                         span: 24,
                         hide: true,
@@ -185,6 +186,13 @@ export default {
                             },
                         ],
                     },
+                    {
+                        label: "行政区划编码",
+                        prop: "adlCd",
+                        span: 24,
+                        hide: true,
+                        tip: "请输入县级行政区划编码",
+                    },
                     {
                         label: "法人代表",
                         prop: "lrNm",
@@ -314,26 +322,13 @@ export default {
     computed: {
         ...mapGetters(["userInfo", "permission"]),
         permissionList() {
-            return {};
-            // if (this.post_code == '0') {
-            //     return {
-            //         addBtn: this.vaildData(this.permission.rtu_add, false),
-            //         viewBtn: this.vaildData(this.permission.rtu_view, false),
-            //         delBtn: this.vaildData(this.permission.rtu_del, false),
-            //         editBtn: this.vaildData(this.permission.rtu_edit, false),
-            //         importBtn: this.vaildData(this.permission.rtu_import, false),
-            //         videoSiteAdd: this.vaildData(this.permission.video_site_add, false),
-            //     };
-            // } else {
-            //     return {
-            //         addBtn: false,
-            //         viewBtn: true,
-            //         delBtn: false,
-            //         editBtn: false,
-            //         importBtn: false,
-            //         videoSiteAdd: false
-            //     };
-            // }
+            return {
+                addBtn: this.vaildData(this.permission.wiu_add, false),
+                viewBtn: this.vaildData(this.permission.wiu_view, false),
+                delBtn: this.vaildData(this.permission.wiu_del, false),
+                editBtn: this.vaildData(this.permission.wiu_edit, false),
+                addSiteBtn: this.vaildData(this.permission.wiu_add_site, false),
+            };
         },
     },
     created() {
@@ -351,8 +346,20 @@ export default {
                 })
                 this.treeOption.defaultExpandedKeys.push(this.treeData[0].id);
                 this.treeCode = this.treeData[0].id;
+                this.query = {};
+                this.query['orgId'] = this.treeCode;
             });
         },
+        nodeClick(data) {
+            this.treeCode = data.id;
+            this.excludeCode = data.exclude;
+            this.treeParentCode = data.parentId;
+            this.query = {};
+            this.query['orgId'] = this.treeCode;
+            this.page.currentPage = 1;
+            var params = {};
+            this.onLoad(this.page, params);
+        },
         update_table() {
             this.onLoad(this.page, this.query);
         },
@@ -365,15 +372,6 @@ export default {
                 this.$refs["addMonitorSiteView"].init();
             });
         },
-        nodeClick(data) {
-            this.treeCode = data.id;
-            this.treeParentCode = data.parentId;
-            this.query = {};
-            this.query['orgId'] = this.treeCode;
-            this.page.currentPage = 1;
-            var params = {};
-            this.onLoad(this.page, params);
-        },
         searchReset() {
             this.query = {};
             this.query['orgId'] = this.treeCode;

+ 14 - 30
src/views/business/monitor/waterflowrate/index.vue

@@ -30,8 +30,8 @@
                     <avue-crud :option="option" :table-loading="loading" :page.sync="page" :data="data" 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"
-                        @before-open="beforeOpen" @sort-change="sortChange" @cell-click="cellClick">
+                        @size-change="sizeChange" @refresh-change="refreshChange" @before-open="beforeOpen"
+                        @sort-change="sortChange" @cell-click="cellClick" @on-load="onLoad">
                         <template slot="runStatusId" slot-scope="row">
                             <div v-if="row.row.runStatusId == 0" style="color: blue;">
                                 正常
@@ -41,8 +41,8 @@
                                 @click="openWarningInfo(row.row)">
                                 异常
                             </div>
-                            <div v-else>
-
+                            <div v-else style="color: red;cursor:pointer;text-decoration-line: underline;">
+                                异常
                             </div>
                         </template>
                         <template slot-scope="{ row, index }" slot="menu">
@@ -147,9 +147,15 @@ export default {
                         label: "监测点状态",
                         prop: "runStatusId",
                         span: 24,
-                        width: 110,
+                        width: 100,
                         viewDisplay: false,
                     },
+                    {
+                        label: "取用水户名称",
+                        prop: "wiuNm",
+                        span: 24,
+                        search: true,
+                    },
                     {
                         label: "监测点编码",
                         prop: "mpcd",
@@ -170,16 +176,6 @@ export default {
                         width: 150,
                         sortable: 'custom',
                     },
-                    {
-                        label: "监测站名称",
-                        prop: "wiustNm",
-                        span: 24,
-                    },
-                    {
-                        label: "取用水户名称",
-                        prop: "wiuNm",
-                        span: 24,
-                    },
                     {
                         label: '监测项目',
                         prop: 'mpItem',
@@ -244,35 +240,23 @@ export default {
                         editDisplay: false,
                         addDisplay: false,
                     },
-                    {
-                        label: "监测站名称",
-                        prop: "wiustNm",
-                        span: 24,
-                        hide: true,
-                    },
-                    {
-                        label: "取用水户名称",
-                        prop: "wiuNm",
-                        span: 24,
-                        hide: true,
-                    },
                     {
                         label: "瞬时流量",
                         prop: "mpq",
                         span: 24,
-                        width: 120,
+                        width: 110,
                     },
                     {
                         label: "累计流量",
                         prop: "accw",
                         span: 24,
-                        width: 120,
+                        width: 110,
                     },
                     {
                         label: "上小时累计流量",
                         prop: "hourw",
                         span: 24,
-                        width: 140,
+                        width: 120,
                     },
                 ],
             },

+ 93 - 20
src/views/business/report/consumerwaterflowcount.vue

@@ -1,15 +1,37 @@
 <template>
-    <basic-container>
-        <avue-crud :option="option" :table-loading="loading" :data="data" 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>
+    <div>
+        <el-row>
+            <el-col :span="4">
+                <div class="box">
+                    <el-scrollbar>
+                        <basic-container>
+                            <avue-tree :option="treeOption" :data="treeData" @node-click="nodeClick">
+                                <span class="el-tree-node__label" slot-scope="{ node, data }">
+                                    <span>
+                                        <i class="el-icon-office-building"></i>
+                                        {{ (node || {}).label }}
+                                    </span>
+                                </span>
+                            </avue-tree>
+                        </basic-container>
+                    </el-scrollbar>
+                </div>
+            </el-col>
+            <el-col :span="20">
+                <basic-container>
+                    <avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="form"
+                        :permission="permissionList" @search-change="searchChange" @search-reset="searchReset"
+                        @refresh-change="refreshChange" @on-load="onLoad">
+                    </avue-crud>
+                </basic-container>
+            </el-col>
+        </el-row>
+    </div>
 </template>
 
 <script>
-import { getWaterUseConsumerCountPage } from "@/api/business/count/count";
+import { getWaterUseConsumerFlowCountPage } from "@/api/business/count/count";
+import { getTree } from "@/api/baseinfo/org";
 import { mapGetters } from "vuex";
 
 export default {
@@ -19,9 +41,38 @@ export default {
             selectionList: [],
             query: {},
             loading: true,
+            treeCode: '',
+            treeParentCode: '',
+            treeData: [],
+            treeOption: {
+                nodeKey: "id",
+                defaultExpandedKeys: [],
+                lazy: false,
+                // treeLoad: function (node, resolve) {
+                //     const parentCode = (node.level === 0) ? "" : node.data.id;
+                //     getLazyDeptTree(parentCode, {}).then(res => {
+                //         resolve(res.data.data.map(item => {
+                //             return {
+                //                 ...item,
+                //                 leaf: !item.hasChildren
+                //             }
+                //         }))
+                //     });
+                // },
+                addBtn: false,
+                menu: true,
+                size: "small",
+                props: {
+                    labelText: "标题",
+                    label: "title",
+                    value: "value",
+                    children: "children",
+                },
+            },
             option: {
                 height: 'auto',
                 calcHeight: 30,
+                searchLabelWidth: 140,
                 tip: false,
                 searchShow: true,
                 searchMenuSpan: 6,
@@ -35,10 +86,12 @@ export default {
                     {
                         label: "取用水户代码",
                         prop: "wiuCd",
+                        search: true,
                     },
                     {
                         label: "取用水户名称",
                         prop: "wiuNm",
+                        search: true,
                     },
                     {
                         label: "当月累计用水量",
@@ -49,6 +102,9 @@ export default {
             data: []
         };
     },
+    created() {
+        this.initTree();
+    },
     computed: {
         ...mapGetters(["userInfo", "permission"]),
         permissionList() {
@@ -68,14 +124,37 @@ export default {
         }
     },
     methods: {
+        initTree() {
+            this.treeData = [];
+            getTree().then(res => {
+                this.treeData = res.data.data.map(item => {
+                    return {
+                        ...item,
+                        leaf: !item.hasChildren
+                    }
+                })
+                this.treeOption.defaultExpandedKeys.push(this.treeData[0].id);
+                this.treeCode = this.treeData[0].id;
+                this.query = {};
+                this.query['orgId'] = this.treeCode;
+            });
+        },
+        nodeClick(data) {
+            this.treeCode = data.id;
+            this.excludeCode = data.exclude;
+            this.treeParentCode = data.parentId;
+            this.query = {};
+            this.query['orgId'] = this.treeCode;
+            var params = {};
+            this.onLoad(params);
+        },
         searchReset() {
             this.query = {};
-            this.onLoad(this.page);
+            this.onLoad();
         },
         searchChange(params, done) {
             this.query = params;
-            this.page.currentPage = 1;
-            this.onLoad(this.page, params);
+            this.onLoad(params);
             done();
         },
         selectionChange(list) {
@@ -85,18 +164,12 @@ export default {
             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);
+            this.onLoad(this.query);
         },
-        onLoad(page, params = {}) {
+        onLoad(params = {}) {
             this.loading = true;
-            getWaterUseConsumerCountPage(Object.assign(params, this.query)).then(res => {
+            getWaterUseConsumerFlowCountPage(Object.assign(params, this.query)).then(res => {
                 this.data = res.data.data;
                 this.loading = false;
                 this.selectionClear();

+ 46 - 40
src/views/business/report/consumerwaterflowmonthcountdetail.vue

@@ -1,27 +1,21 @@
 <template>
     <div>
-        <el-row :gutter="10" style="margin-bottom: 0px;">
+        <!-- <el-row :gutter="10" style="margin-bottom: 0px;">
             <el-col :span="24">
                 <basic-container>
                     <avue-form :option="searchOption" v-model="searchForm" @submit="handleImportSubmit">
                     </avue-form>
                 </basic-container>
             </el-col>
-        </el-row>
+        </el-row> -->
         <el-row :gutter="10" style="margin-bottom: 0px;">
             <el-col :span="24">
                 <basic-container>
-
-                </basic-container>
-            </el-col>
-        </el-row>
-        <el-row :gutter="10" style="margin-bottom: 0px;">
-            <el-col :span="24">
-                <basic-container>
-                    <avue-crud :option="option" :table-loading="loading" :data="data" 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 :option="option" :table-loading="loading" :data="data" :page.sync="page" 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" @before-open="beforeOpen"
+                        @sort-change="sortChange" @cell-click="cellClick" @on-load="onLoad">
                     </avue-crud>
                 </basic-container>
             </el-col>
@@ -30,7 +24,7 @@
 </template>
 
 <script>
-import { getMonitorSiteCountPage } from "@/api/business/count/count";
+import { getWaterUseConsumerMonthCountPage } from "@/api/business/count/count";
 import { mapGetters } from "vuex";
 
 export default {
@@ -40,25 +34,27 @@ export default {
             selectionList: [],
             query: {},
             loading: true,
+            page: {
+                pageSize: 10,
+                currentPage: 1,
+                total: 0,
+            },
             searchForm: {
-                countTime: '',
+                tm: '',
             },
             searchOption: {
-                // submitBtn: false,
-                // emptyBtn: false,
                 submitText: '查询',
                 column: [
                     {
                         label: "统计年月",
-                        prop: "countTime",
+                        prop: "tm",
                         type: "date",
                         span: 6,
                         format: 'yyyy年MM月',
-                        valueFormat: 'yyyy-MM-dd HH:mm:ss',
+                        valueFormat: 'yyyy-MM-dd',
                     }
                 ]
             },
-
             option: {
                 height: 'auto',
                 calcHeight: 30,
@@ -73,23 +69,22 @@ export default {
                 menu: false,
                 column: [
                     {
-                        label: "ID",
-                        prop: "deptId",
-                        hide: true,
-                    },
-                    {
-                        label: "行政区",
-                        prop: "adCity",
+                        label: "取用水户编码",
+                        prop: "wiuCd",
                     }, {
-                        label: "取用水户数量",
-                        prop: "waterUseConsumer",
+                        label: "取用水户名称",
+                        prop: "wiuNm",
                     }, {
-                        label: "监测站数量",
-                        prop: "monitorSite",
+                        label: "月份",
+                        prop: "tm",
+                        search: true,
+                        type: "date",
+                        format: 'yyyy年MM月',
+                        valueFormat: 'yyyy-MM-dd HH:mm:ss',
                     }, {
-                        label: "监测点数量",
-                        prop: "monitorPoint",
-                    }
+                        label: "累计用水量",
+                        prop: "accw",
+                    },
                 ]
             },
             data: []
@@ -115,11 +110,16 @@ export default {
     },
     mounted() {
         this.searchForm.countTime = new Date();
-        
+    },
+    props: {
+        wiuCd: {
+            type: [String],
+            required: true
+        },
     },
     methods: {
         init() {
-
+            this.onLoad(this.page);
         },
         searchReset() {
             this.query = {};
@@ -147,12 +147,18 @@ export default {
         refreshChange() {
             this.onLoad(this.page, this.query);
         },
-
         onLoad(page, params = {}) {
             this.loading = true;
-            getMonitorSiteCountPage(Object.assign(params, this.query)).then(res => {
-                this.data = res.data.data;
-
+            params['wiuCd'] = this.wiuCd;
+            console.log("wiu " + JSON.stringify(params))
+            getWaterUseConsumerMonthCountPage(
+                page.currentPage,
+                page.pageSize,
+                Object.assign(params, this.sort, this.query)
+            ).then((res) => {
+                const data = res.data.data;
+                this.page.total = data.total;
+                this.data = data.records;
                 this.loading = false;
                 this.selectionClear();
             });

+ 93 - 12
src/views/business/report/consumerwaterflowmonthreport.vue

@@ -1,20 +1,42 @@
 <template>
     <div>
-        <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" @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)">查看月报
-                    </el-button>
-                </template>
+        <el-row>
+            <el-col :span="4">
+                <div class="box">
+                    <el-scrollbar>
+                        <basic-container>
+                            <avue-tree :option="treeOption" :data="treeData" @node-click="nodeClick">
+                                <span class="el-tree-node__label" slot-scope="{ node, data }">
+                                    <span>
+                                        <i class="el-icon-office-building"></i>
+                                        {{ (node || {}).label }}
+                                    </span>
+                                </span>
+                            </avue-tree>
+                        </basic-container>
+                    </el-scrollbar>
+                </div>
+            </el-col>
+            <el-col :span="20">
+                <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"
+                        @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)">查看月报
+                            </el-button>
+                        </template>
+
+                    </avue-crud>
+                </basic-container>
+            </el-col>
+        </el-row>
 
-            </avue-crud>
-        </basic-container>
         <el-drawer :visible.sync="monthCounDialog" v-if="monthCounDialog" title="月报" direction="rtl" size="60%"
             append-to-body="true">
-            <consumerwaterflowmonthcountdetailVue ref="consumerwaterflowmonthcountdetail">
+            <consumerwaterflowmonthcountdetailVue ref="consumerwaterflowmonthcountdetail" :wiuCd="wiuCd">
             </consumerwaterflowmonthcountdetailVue>
         </el-drawer>
     </div>
@@ -22,6 +44,7 @@
 
 <script>
 import { getPage } from "@/api/baseinfo/wateruseconsumer.js";
+import { getTree } from "@/api/baseinfo/org";
 import { mapGetters } from "vuex";
 import consumerwaterflowmonthcountdetailVue from './consumerwaterflowmonthcountdetail.vue'
 export default {
@@ -40,6 +63,35 @@ export default {
                 currentPage: 1,
                 total: 0
             },
+            wiuCd:'',
+            treeCode: '',
+            treeParentCode: '',
+            treeData: [],
+            treeOption: {
+                nodeKey: "id",
+                defaultExpandedKeys: [],
+                lazy: false,
+                // treeLoad: function (node, resolve) {
+                //     const parentCode = (node.level === 0) ? "" : node.data.id;
+                //     getLazyDeptTree(parentCode, {}).then(res => {
+                //         resolve(res.data.data.map(item => {
+                //             return {
+                //                 ...item,
+                //                 leaf: !item.hasChildren
+                //             }
+                //         }))
+                //     });
+                // },
+                addBtn: false,
+                menu: true,
+                size: "small",
+                props: {
+                    labelText: "标题",
+                    label: "title",
+                    value: "value",
+                    children: "children",
+                },
+            },
             option: {
                 labelWidth: 140,
                 viewLabelWidth: 140,
@@ -101,8 +153,37 @@ export default {
             return ids.join(",");
         }
     },
+    created() {
+        this.initTree();
+    },
     methods: {
+        initTree() {
+            this.treeData = [];
+            getTree().then(res => {
+                this.treeData = res.data.data.map(item => {
+                    return {
+                        ...item,
+                        leaf: !item.hasChildren
+                    }
+                })
+                this.treeOption.defaultExpandedKeys.push(this.treeData[0].id);
+                this.treeCode = this.treeData[0].id;
+                this.query = {};
+                this.query['orgId'] = this.treeCode;
+            });
+        },
+        nodeClick(data) {
+            this.treeCode = data.id;
+            this.excludeCode = data.exclude;
+            this.treeParentCode = data.parentId;
+            this.query = {};
+            this.query['orgId'] = this.treeCode;
+            this.page.currentPage = 1;
+            var params = {};
+            this.onLoad(this.page, params);
+        },
         handlePreview(row) {
+            this.wiuCd=row.wiuCd;
             this.monthCounDialog = true;
             this.$nextTick(() => {
                 this.$refs["consumerwaterflowmonthcountdetail"].init();

+ 170 - 0
src/views/business/report/consumerwaterflowyearcountdetail.vue

@@ -0,0 +1,170 @@
+<template>
+    <div>
+        <!-- <el-row :gutter="10" style="margin-bottom: 0px;">
+            <el-col :span="24">
+                <basic-container>
+                    <avue-form :option="searchOption" v-model="searchForm" @submit="handleImportSubmit">
+                    </avue-form>
+                </basic-container>
+            </el-col>
+        </el-row> -->
+        <el-row :gutter="10" style="margin-bottom: 0px;">
+            <el-col :span="24">
+                <basic-container>
+                    <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" 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" @before-open="beforeOpen"
+                        @sort-change="sortChange" @cell-click="cellClick" @on-load="onLoad">
+                    </avue-crud>
+                </basic-container>
+            </el-col>
+        </el-row>
+    </div>
+</template>
+
+<script>
+import { getWaterUseConsumerYearCountPage } from "@/api/business/count/count";
+import { mapGetters } from "vuex";
+
+export default {
+    data() {
+        return {
+            form: {},
+            selectionList: [],
+            query: {},
+            loading: true,
+            page: {
+                pageSize: 10,
+                currentPage: 1,
+                total: 0,
+            },
+            searchForm: {
+                tm: '',
+            },
+            searchOption: {
+                submitText: '查询',
+                column: [
+                    {
+                        label: "统计年月",
+                        prop: "tm",
+                        type: "date",
+                        span: 6,
+                        format: 'yyyy年MM月',
+                        valueFormat: 'yyyy-MM-dd',
+                    }
+                ]
+            },
+            option: {
+                height: 'auto',
+                calcHeight: 30,
+                tip: false,
+                searchShow: true,
+                searchMenuSpan: 6,
+                border: true,
+                index: true,
+                selection: true,
+                viewBtn: false,
+                dialogClickModal: false,
+                menu: false,
+                column: [
+                    {
+                        label: "取用水户编码",
+                        prop: "wiuCd",
+                    }, {
+                        label: "取用水户名称",
+                        prop: "wiuNm",
+                    }, {
+                        label: "年份",
+                        prop: "tm",
+                        search: true,
+                        type: "date",
+                        format: 'yyyy年',
+                        valueFormat: 'yyyy-MM-dd HH:mm:ss',
+                    }, {
+                        label: "累计用水量",
+                        prop: "accw",
+                    },
+                ]
+            },
+            data: []
+        };
+    },
+    computed: {
+        ...mapGetters(["userInfo", "permission"]),
+        permissionList() {
+            return {
+                addBtn: false,
+                viewBtn: false,
+                delBtn: false,
+                editBtn: false
+            };
+        },
+        ids() {
+            let ids = [];
+            this.selectionList.forEach(ele => {
+                ids.push(ele.id);
+            });
+            return ids.join(",");
+        }
+    },
+    mounted() {
+        this.searchForm.countTime = new Date();
+    },
+    props: {
+        wiuCd: {
+            type: [String],
+            required: true
+        },
+    },
+    methods: {
+        init() {
+            this.onLoad(this.page);
+        },
+        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;
+            params['wiuCd'] = this.wiuCd;
+            console.log("wiu " + JSON.stringify(params))
+            getWaterUseConsumerYearCountPage(
+                page.currentPage,
+                page.pageSize,
+                Object.assign(params, this.sort, 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>

+ 110 - 14
src/views/business/report/consumerwaterflowyearreport.vue

@@ -1,34 +1,97 @@
 <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" @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)">查看年报
-                </el-button>
-            </template>
+    <div>
+        <el-row>
+            <el-col :span="4">
+                <div class="box">
+                    <el-scrollbar>
+                        <basic-container>
+                            <avue-tree :option="treeOption" :data="treeData" @node-click="nodeClick">
+                                <span class="el-tree-node__label" slot-scope="{ node, data }">
+                                    <span>
+                                        <i class="el-icon-office-building"></i>
+                                        {{ (node || {}).label }}
+                                    </span>
+                                </span>
+                            </avue-tree>
+                        </basic-container>
+                    </el-scrollbar>
+                </div>
+            </el-col>
+            <el-col :span="20">
+                <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"
+                        @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)">查看年报
+                            </el-button>
+                        </template>
 
-        </avue-crud>
-    </basic-container>
+                    </avue-crud>
+                </basic-container>
+            </el-col>
+        </el-row>
+
+        <el-drawer :visible.sync="monthCounDialog" v-if="monthCounDialog" title="年报" direction="rtl" size="60%"
+            append-to-body="true">
+            <consumerwaterflowyearcountdetailVue ref="consumerwaterflowyearcountdetail" :wiuCd="wiuCd">
+            </consumerwaterflowyearcountdetailVue>
+        </el-drawer>
+    </div>
 </template>
 
 <script>
 import { getPage } from "@/api/baseinfo/wateruseconsumer.js";
+import { getTree } from "@/api/baseinfo/org";
 import { mapGetters } from "vuex";
-
+import consumerwaterflowyearcountdetailVue from './consumerwaterflowyearcountdetail.vue'
 export default {
+    components: {
+        consumerwaterflowyearcountdetailVue
+    },
     data() {
         return {
             form: {},
             selectionList: [],
             query: {},
             loading: true,
+            monthCounDialog: false,
             page: {
                 pageSize: 10,
                 currentPage: 1,
                 total: 0
             },
+            wiuCd: '',
+            treeCode: '',
+            treeParentCode: '',
+            treeData: [],
+            treeOption: {
+                nodeKey: "id",
+                defaultExpandedKeys: [],
+                lazy: false,
+                // treeLoad: function (node, resolve) {
+                //     const parentCode = (node.level === 0) ? "" : node.data.id;
+                //     getLazyDeptTree(parentCode, {}).then(res => {
+                //         resolve(res.data.data.map(item => {
+                //             return {
+                //                 ...item,
+                //                 leaf: !item.hasChildren
+                //             }
+                //         }))
+                //     });
+                // },
+                addBtn: false,
+                menu: true,
+                size: "small",
+                props: {
+                    labelText: "标题",
+                    label: "title",
+                    value: "value",
+                    children: "children",
+                },
+            },
             option: {
                 labelWidth: 140,
                 viewLabelWidth: 140,
@@ -41,7 +104,8 @@ export default {
                 border: true,
                 index: true,
                 selection: true,
-                viewBtn: true,
+                viewBtn: false,
+                menu: true,
                 dialogClickModal: false,
                 column: [
                     {
@@ -89,9 +153,41 @@ export default {
             return ids.join(",");
         }
     },
+    created() {
+        this.initTree();
+    },
     methods: {
+        initTree() {
+            this.treeData = [];
+            getTree().then(res => {
+                this.treeData = res.data.data.map(item => {
+                    return {
+                        ...item,
+                        leaf: !item.hasChildren
+                    }
+                })
+                this.treeOption.defaultExpandedKeys.push(this.treeData[0].id);
+                this.treeCode = this.treeData[0].id;
+                this.query = {};
+                this.query['orgId'] = this.treeCode;
+            });
+        },
+        nodeClick(data) {
+            this.treeCode = data.id;
+            this.excludeCode = data.exclude;
+            this.treeParentCode = data.parentId;
+            this.query = {};
+            this.query['orgId'] = this.treeCode;
+            this.page.currentPage = 1;
+            var params = {};
+            this.onLoad(this.page, params);
+        },
         handlePreview(row) {
-
+            this.wiuCd = row.wiuCd;
+            this.monthCounDialog = true;
+            this.$nextTick(() => {
+                this.$refs["consumerwaterflowyearcountdetail"].init();
+            });
         },
         searchReset() {
             this.query = {};

+ 22 - 22
src/views/notice/index.vue

@@ -113,28 +113,28 @@ export default {
                             trigger: "click"
                         }]
                     },
-                    {
-                        label: "是否公开",
-                        prop: "publicState",
-                        span: 12,
-                        html: true,
-                        formatter: (val) => {
-                            if (val.publicState == 0) {
-                                return '<b style="color:blue">内部</b>'
-                            } else {
-                                return '<b style="color:orangered">公开</b>'
-                            }
-                        },
-                        value: 0,
-                        type: "radio",
-                        dicData: [{
-                            label: '内部',
-                            value: 0,
-                        }, {
-                            label: '公开',
-                            value: 1
-                        }]
-                    },
+                    // {
+                    //     label: "是否公开",
+                    //     prop: "publicState",
+                    //     span: 12,
+                    //     html: true,
+                    //     formatter: (val) => {
+                    //         if (val.publicState == 0) {
+                    //             return '<b style="color:blue">内部</b>'
+                    //         } else {
+                    //             return '<b style="color:orangered">公开</b>'
+                    //         }
+                    //     },
+                    //     value: 0,
+                    //     type: "radio",
+                    //     dicData: [{
+                    //         label: '内部',
+                    //         value: 0,
+                    //     }, {
+                    //         label: '公开',
+                    //         value: 1
+                    //     }]
+                    // },
                     {
                         label: "发布单位",
                         prop: "releaseDeptName",

+ 0 - 5
src/views/wel/index.vue

@@ -86,8 +86,6 @@
                 </el-card>
             </el-col>
         </el-row>
-
-
         <el-row :gutter="10" style="margin-bottom: 5px;">
             <el-col :span="12">
                 <el-card shadow="hover" style="height: 400px;">
@@ -123,8 +121,6 @@
                 </el-card>
             </el-col>
         </el-row>
-
-
         <el-drawer title="通知公告信息" :visible.sync="moreNoticeDig" v-if="moreNoticeDig" size="50%"
             :close-on-click-modal="false" append-to-body>
             <todaynoticelist ref="todaynoticelist"></todaynoticelist>
@@ -133,7 +129,6 @@
             :close-on-click-modal="false" append-to-body>
             <warninglist ref="warninglist" :deptId="deptId"></warninglist>
         </el-drawer>
-
     </div>
 </template>