Kaynağa Gözat

Merge branch 'V0.0.2' of http://10.87.10.227:4000/jzyd_yyds/soc_web into V0.0.2

jiawuxian 2 yıl önce
ebeveyn
işleme
ec6ae695e8

+ 3 - 1
.env.development

@@ -10,9 +10,11 @@ ENV = 'development'
 #罗俊
 # VUE_APP_BASE_API = 'http://10.87.10.49:8080'
 #罗伟
-VUE_APP_BASE_API = 'http://10.87.10.47:8080'
+# VUE_APP_BASE_API = 'http://10.87.10.47:8080'
 #高雄
 #VUE_APP_BASE_API = 'http://10.87.11.94:8080'
+#景远超
+VUE_APP_BASE_API = 'http://10.87.11.173:8080'
 # VUE_APP_BASE_API = 'http://localhost:8080'
 # 55环境
 # VUE_APP_BASE_API = 'http://10.87.10.55:8080'

+ 10 - 0
src/api/core/reportForms/monitorAccessReport.js

@@ -0,0 +1,10 @@
+import request from '@/utils/request'
+
+// 查询列表监控调阅计划
+export function listReport(query) {
+  return request({
+    url: '/core/monitorAccessReport/list',
+    method: 'get',
+    params: query
+  })
+}

+ 1 - 1
src/api/core/reportForms/safetyInspectReport.js

@@ -9,7 +9,7 @@ export function listReport(query) {
   })
 }
 
-// 下发
+
 export function selectAllOrg() {
     return request({
       url: '/core/safetyInspectReport/selectAllOrg',

+ 30 - 5
src/api/scorestatistics/scorestatistics.js

@@ -1,17 +1,42 @@
 import request from "@/utils/request";
-//对押运公司月度评价报表
+//综合计算得分
 // 查询列表分页
 export function list(query) {
   return request({
-    url: "/core/task/statistics",
+    url: "/core/safeMonthScore/list",
     method: "get",
     params: query,
   });
 }
-//获取所有计划
-export function getPlanList() {
+// 评分重新计算
+export function  anewDetail(data) {
   return request({
-    url: "/core/evaluatePlan/allList",
+    url: "/core/safetyExceptionData/reCalculate",
+    method: "post",
+    data
+  });
+}
+// 详情
+export function detail(data) {
+  return request({
+    url: "/core/safeMonthScore/detail",
+    method: "post",
+    data,
+  });
+}
+// 编辑规则配置
+export function editTargetEvaluate(data) {
+  return request({
+    url: "/core/safetyIndexRule",
+    method: "put",
+    data,
+  });
+}
+// 获取详情
+export function getEvaluateById(id) {
+  return request({
+    url: `/core/safetyIndexRule/${id}`,
     method: "get",
   });
 }
+

+ 4 - 4
src/assets/styles/element-ui.scss

@@ -89,10 +89,10 @@
   }
 }
 
-.tree-container{
-  height: 744px;
-  overflow: auto;
-}
+//.tree-container{
+//  height: 744px;
+//  overflow: auto;
+//}
 
 .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{
   background-color:#d1e0f1  !important;

+ 1 - 1
src/assets/styles/index.scss

@@ -1,7 +1,7 @@
+@import "./element-ui.scss";
 @import "./variables.scss";
 @import "./mixin.scss";
 @import "./transition.scss";
-@import "./element-ui.scss";
 @import "./sidebar.scss";
 @import "./btn.scss";
 

+ 7 - 1
src/assets/styles/ruoyi.scss

@@ -299,5 +299,11 @@
   }
 }
 .el-tree-node__content{
-	height: 32px !important;
+    font-size: 13px;
+    height: 32px!important;
   }
+ .el-submenu__title,.el-menu-item{
+   font-size: 13px!important;
+   height: 42px!important;
+   line-height: 42px!important;
+ }

+ 1 - 1
src/components/FileUpload/index.vue

@@ -55,7 +55,7 @@ export default {
     // 大小限制(MB)
     fileSize: {
       type: Number,
-      default: 5,
+      default: 20,
     },
     // 文件类型, 例如['png', 'jpg', 'jpeg']
     fileType: {

+ 1 - 1
src/components/ImageUpload/index.vue

@@ -134,7 +134,7 @@ export default {
     // 大小限制(MB)
     fileSize: {
       type: Number,
-      default: 5,
+      default: 20,
     },
     // 文件类型, 例如['png', 'jpg', 'jpeg']
     fileType: {

+ 1 - 1
src/components/ImgsUpload/index.vue

@@ -61,7 +61,7 @@ export default {
     // 大小限制(MB)
     fileSize: {
       type: Number,
-      default: 5,
+      default: 20,
     },
     // 文件类型, 例如['png', 'jpg', 'jpeg']
     fileType: {

+ 15 - 1
src/components/orgTree/index.vue

@@ -112,7 +112,20 @@ export default {
   computed:{
     ...mapGetters(["orgTree"]),
   },
+  mounted() {
+    this.getHeight();
+  },
   methods: {
+    getHeight(){
+      let orgTree = document.querySelector('.org-tree');
+      const resizeObserver = new ResizeObserver(entries => {
+        for (let entry of entries) {
+          orgTree.style.height = entry.contentRect.height + 'px';
+          console.log(entry,'entry')
+        }
+      });
+      resizeObserver.observe(document.querySelector('.main-right-box'));
+    },
     /** 下穿状态改变*/
     changeCheckBox(state) {
       this.$emit("checkChange", state);
@@ -174,9 +187,10 @@ export default {
   background-color: #fff;
   padding: 10px;
   box-shadow: 0 2px 8px #ccc;
+  -min-height: calc(100vh - 107px);
+  overflow: auto;
 }
 .el-tree-ex {
-  // overflow: auto;
   ::v-deep .is-current > .el-tree-node__content {
     background-color: #d1e0f1 !important;
   }

+ 1 - 1
src/layout/components/TagsView/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div id="tags-view-container" class="tags-view-container">
-    
+
     <!-- <breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav"/>
     -->
     <scroll-pane ref="scrollPane" class="tags-view-wrapper" @scroll="handleScroll">

+ 14 - 4
src/views/check/dialog.edit.vue

@@ -19,6 +19,7 @@
             <el-col :span="6">
               <el-form-item prop="planName" label="任务名称:">
                 <el-input
+                :disabled="isChildren()"
                   v-model.trim="formData.planName"
                   :maxlength="50"
                   name="planName"
@@ -258,9 +259,9 @@
         </el-form>
         <el-button @click="openSelect">选择检查内容</el-button>
         <el-button @click="deleteSelected">批量删除</el-button>
-        <el-table
+        <el-table 
           :data="tableData"
-          style="width: 100%"
+          style="width: 100%;margin-top: 15px;"
           height="400px"
           @selection-change="handleSelectionChange"
         >
@@ -572,7 +573,7 @@ export default {
       }
     },
     onSelect(selectList) {
-      // console.log(selectList,"selectList");
+      console.log(selectList,"selectList");
       for (let i = 0; i < selectList.length; i++) {
         let tem = {
           ofOrgId: this.orgId,
@@ -589,8 +590,10 @@ export default {
         if (this.tableData == null) {
           this.tableData = [];
         }
+        if(tem.itemName!=null&&tem.itemName!=undefined){
         this.tableData.push(tem);
       }
+      }
     },
 
     async show(id, other = {}) {
@@ -604,7 +607,14 @@ export default {
       this.isShow = true;
     },
     removeRow(row) {
-      this.tableData = this.tableData.filter((item) => item !== row);
+      this.$modal
+        .confirm("是否确认删除?")
+        .then(function () {})
+        .then(() => {
+          this.tableData = this.tableData.filter((item) => item !== row);
+          this.$modal.msgSuccess("删除成功");
+        });
+      // this.tableData = this.tableData.filter((item) => item !== row);
     },
     // 事件
     onHide() {

+ 2 - 1
src/views/check/index.vue

@@ -469,7 +469,8 @@ export default {
         (row.planOfOrgType == 3 &&
           row.planStatus != 1 &&
           row.planCreateOrgId == this.orgId) ||
-        (row.planStatus == 2 && row.parentId != -1 && row.planOfOrgType == 1)
+        (row.planStatus == 2 && row.parentId != -1 && row.planOfOrgType == 1)||
+        (row.planStatus != 1&&(row.execOrgType == 1||row.execOrgType == 2))
       ) {
         return true;
       }

+ 4 - 3
src/views/check/task/index.vue

@@ -211,9 +211,10 @@
           >
             <template slot-scope="r">
               <span>
-                <i class="circle" :style="statusColor(r.row.status, true)" />
-                <label :style="statusColor(r.row.status, false)">
-                  {{
+                <!-- <i class="circle" :style="statusColor(r.row.status, true)" /> -->
+                <!-- <label :style="statusColor(r.row.status, false)"> -->
+                  <label >
+                 {{
                     getLabel(dict.type.safety_check_status, r.row.status)
                   }}</label
                 >

+ 1 - 1
src/views/core/edu/plan/index.vue

@@ -181,7 +181,7 @@
         <el-row>
           <el-col :span="12" v-show="form.planCycle == 0">
             <el-form-item prop="startDate" label="开始日期">
-              <el-date-picker v-model="form.startDate" @change="startDateChanged"
+              <el-date-picker style="width: 100%" v-model="form.startDate" @change="startDateChanged"
                               :picker-options="startDatepickerOptions"
                               align="right" type="date" placeholder="选择开始日期">
               </el-date-picker>

+ 256 - 0
src/views/core/reportForms/monitorAccessReport.vue

@@ -0,0 +1,256 @@
+<template>
+    <div class="app-container">
+
+          <el-form :model="queryParams" ref="queryForm" size="small"  :inline="true"
+          v-show="showSearch"
+          label-width="100px">
+
+            <el-form-item label="组织机构" class="formTreeItem">
+            <tree-select
+              v-model="queryParams.orgId"
+              :options="deptOptions"
+              :show-count="true"
+              :normalizer="tenantIdnormalizer"
+              :props="{ checkStrictly: true, label: 'name' }"
+              placeholder="请选择归属机构"
+              clearValueText="清除"
+              :noChildrenText="''"
+              noOptionsText="没有数据"
+              noResultsText="没有搜索结果"
+            />
+          </el-form-item>
+
+             
+        <el-form-item label="周期" prop="cycle">
+            <el-select v-model="queryParams.cycle" placeholder="请选择周期">
+              <el-option v-for="dict in dict.type.repot_cycle" :key="dict.value" :label="dict.label"
+                :value=dict.value></el-option>
+            </el-select>
+          </el-form-item>
+
+              <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+              <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+            </el-form-item>
+          </el-form>
+          <h3 class="title">{{ this.title}}</h3>
+          <el-row :gutter="10" class="mb8">
+            <!-- <el-col :span="1.5">
+              <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport"
+                         v-hasPermi="['core:safetyInspectReport:export']">导出
+              </el-button>
+            </el-col> -->
+            <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+          </el-row>
+          <el-table
+            border
+            height="600"
+            size="small"
+            v-loading="loading" :data="checkList" @selection-change="handleSelectionChange">
+       
+            <el-table-column label="序号" align="center" min-width="50">
+              <template v-slot:default="scope">
+                <span v-text="getPageIndex(scope.$index)"> </span>
+              </template>
+            </el-table-column>
+          
+            <el-table-column label="机构名称" align="center" prop="orgName" />
+            <el-table-column label="网点数量" align="left" prop="networkNumber"/>
+            <el-table-column label="应调阅次数" align="center" prop="planAccessNumber"/>
+            <el-table-column label="调阅次数" align="center" prop="realityAccessNumber"/>
+            <el-table-column label="调阅率" align="center" prop="accessRate"/>
+          </el-table>
+          <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
+                      :limit.sync="queryParams.pageSize"
+                      @pagination="getList"/>
+  
+    </div>
+  </template>
+  
+  <script>
+    import tableList from '@/mixins/tableList'
+    import {listReport} from "@/api/core/reportForms/monitorAccessReport";
+    import treeselect from '@riophae/vue-treeselect'
+    import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+    import {deptTreeSelect,businessTreeSelect} from "@/api/system/public";
+    import orgTree from "@/components/orgTree";
+    export default {
+      name: "Check",
+      /** 引入基础minxins*/
+      mixins: [tableList],
+      components: {treeselect,orgTree},
+      dicts: ['sys_normal_disable','sys_org_type','repot_cycle'],
+      data() {
+        return {
+          // 遮罩层
+          loading: true,
+          // 选中数组
+          ids: [],
+          names: [],
+          // 非单个禁用
+          single: true,
+          //搜索tree
+          deptName: null,
+          // 非多个禁用
+          multiple: true,
+          // 显示搜索条件
+          showSearch: true,
+          //区域
+          roleOptions: [],
+           //全部检查机构
+      orgOptions: [],
+          //搜索tree
+          deptName: null,
+          // 部门树选项
+          deptOptions: [],
+          // 总条数
+          total: 0,
+          //区域集合
+          areaList: [],
+          // 区域采集点表格数据
+          checkList: [],
+          // 弹出层标题
+          title: "",
+          // 是否显示弹出层
+          open: false,
+          // 查询参数
+          queryParams: {
+            pageNum: 1,
+            pageSize: 10,
+            checkName: null,
+            areaId: null,
+            orgId: null,
+            year:null
+          },
+          // 表单参数
+          form: {},
+          // 表单校验
+          checkList: [],
+          roleOptions: [],
+          defaultKeys: [],
+          //是否关联下级
+          checked: false,
+          defaultProps: {
+            children: "children",
+            label: "name"
+          },
+  
+          rules: {
+            areaId: [
+              {required: true, message: '请选择区域', trigger: 'blur'},
+            ],
+            orgType: [
+              {required: true, message: '请选择机构类型', trigger: 'blur'},
+            ],
+            checkName: [
+              {required: true, message: '请输入NFC点位名称', trigger: 'change'}
+            ],
+          },
+          defaultKeys: []
+  
+        };
+      },
+      created() {
+      this. getList();
+      },
+      watch: {
+        // 根据名称筛选部门树
+        deptName(val) {
+          this.$refs.tree.filter(val);
+        }
+      },
+      methods: {
+  /** 查询机构树数据 */
+  getDeptTree() {
+      deptTreeSelect().then((response) => {
+        this.deptOptions = response.data;
+      });
+    },
+        /** treeSelect组件自定义数据*/
+        tenantIdnormalizer(node, instanceId) {
+      if (node.children && !node.children.length) {
+        delete node.children;
+      }
+      return {
+        id: node.id,
+        label: node.shortName,
+        children: node.children,
+      };
+    },
+        getPageIndex($index) {
+          //表格序号
+          return (
+            (this.queryParams.pageNum - 1) * this.queryParams.pageSize + $index + 1
+          );
+        },
+        handleExport() {
+      this.download('core/safetyInspectReport/export', {
+        ...this.queryParams
+      }, `${'【'+this.orgName+'】'+'-检查统计报表-'+this.formatTime(new Date(),'YYYYMMDD')}.xlsx`)
+    },
+    
+     
+        getList() {
+          this.loading = true;
+          listReport(this.queryParams).then(response => {
+            this.checkList = response.data.rows;
+            this.title=response.title;
+            this.total = response.data.total;
+            this.loading = false;
+          });
+        },
+        getAllOrg() {
+          selectAllOrg().then(response => {
+        this.orgOptions = response.data;
+      })
+    },
+ 
+    
+        // 取消按钮
+        cancel() {
+          this.open = false;
+          this.reset();
+        },
+        // 表单重置
+        reset() {
+          this.form = {
+            id: null,
+            checkName: null,
+            areaId: null,
+            orgId: null,
+            createTime: null,
+            updateTime: null,
+            updateId: null,
+            createBy: null,
+            delFlag: null,
+            updateBy: null
+          };
+          this.resetForm("form");
+        },
+        /** 搜索按钮操作 */
+        handleQuery() {
+          this.queryParams.pageNum = 1;
+          this.getList();
+        },
+        /** 重置按钮操作 */
+        resetQuery() {
+          this.resetForm("queryForm");
+          this.handleQuery();
+        },
+        // 多选框选中数据
+        handleSelectionChange(selection) {
+          this.ids = selection.map(item => item.id)
+          this.names = selection.map(item => item.checkName)
+          this.single = selection.length !== 1
+          this.multiple = !selection.length
+        },
+  
+      }
+    };
+  </script>
+  <style lang="scss" scoped>
+  ::v-deep.formTreeItem {
+    .el-form-item__content {
+      width: 264px;
+    }
+  }
+  </style>

+ 1 - 57
src/views/core/reportForms/safetyInspectReport.vue

@@ -170,7 +170,7 @@
       }, `${'【'+this.orgName+'】'+'-检查统计报表-'+this.formatTime(new Date(),'YYYYMMDD')}.xlsx`)
     },
     
-        /** 查询区域采集点列表 */
+     
         getList() {
           this.loading = true;
           listReport(this.queryParams).then(response => {
@@ -225,62 +225,6 @@
           this.single = selection.length !== 1
           this.multiple = !selection.length
         },
-        /** 新增按钮操作 */
-        handleAdd() {
-          this.reset();
-          getCheck('').then(response => {
-  
-            this.roleOptions = response.areas;
-  
-            this.open = true;
-            this.title = "新增";
-            this.form.password = this.initPassword;
-          });
-        },
-        /** 修改按钮操作 */
-        handleUpdate(row) {
-          this.reset();
-          const id = row.id || this.ids
-  
-          getCheck(id).then(response => {
-            this.form = response.data;
-            this.roleOptions = response.areas;
-            this.open = true;
-            this.title = "编辑";
-          });
-        },
-        /** 提交按钮 */
-        submitForm() {
-          this.$refs["form"].validate(valid => {
-            if (valid) {
-              if (this.form.id != null) {
-                updateCheck(this.form).then(response => {
-                  this.$modal.msgSuccess("处理成功");
-                  this.open = false;
-                  this.getList();
-                });
-              } else {
-                addCheck(this.form).then(response => {
-                  this.$modal.msgSuccess("处理成功");
-                  this.open = false;
-                  this.getList();
-                });
-              }
-            }
-          });
-        },
-        /** 删除按钮操作 */
-        handleDelete(row) {
-          const ids = row.id || this.ids;
-          const names = row.checkName || this.names
-          this.$modal.confirm('是否确认删除区域NFC点位名称为"' + names + '"的数据项?').then(function () {
-            return delCheck(ids);
-          }).then(() => {
-            this.getList();
-            this.$modal.msgSuccess("删除成功");
-          }).catch(() => {
-          });
-        },
   
       }
     };

+ 3 - 1
src/views/scorestatistics/index.vue

@@ -86,7 +86,8 @@
           <el-table-column label="80-90 中" prop="level_80_90" />
           <el-table-column label="70-80 高" prop="level_70_80" />
           
-          <el-table-column label="70及以下 极高" prop="level_lt70" />
+          <el-table-column label="70及以下 极高" prop="level_lt70" >
+          </el-table-column>
 
           <el-table-column
             label="操作"
@@ -173,6 +174,7 @@ export default {
     };
   },
   created() {
+    this.queryParams.orgId = this.orgId
     this.getList();
     this.getDeptTree();
   },

+ 6 - 6
src/views/scorestatistics/scorestatisticsDialog.vue

@@ -27,13 +27,13 @@
         <el-table :data="tableData" style="width: 100%" height="400px">
           <el-table-column label="序号" type="index" width="50">
           </el-table-column>
-          <el-table-column prop="indicatorNote" label="营业场所">
+          <el-table-column prop="orgName" label="营业场所">
           </el-table-column>
-          <el-table-column prop="indicatorDays" label="场所分类">
+          <el-table-column prop="orgTypeText" label="场所分类">
           </el-table-column>
-          <el-table-column prop="indicatorDays" label="安全指数">
+          <el-table-column prop="orgScore" label="安全指数">
           </el-table-column>
-          <el-table-column prop="indicatorDays" label="安全等级">
+          <el-table-column prop="levelName" label="安全等级">
           </el-table-column>
         </el-table>
         <pagination
@@ -106,9 +106,9 @@ export default {
     //获取分页数据
     getDetailList() {
       detail(this.queryParams).then((res) => {
-        let { code, msg, data } = res;
+        let { code, msg, rows } = res;
         if (code == 200) {
-          this.tableData = [];
+          this.tableData = rows||[];
           this.isShow = true;
         } else {
           this.$message.error(msg);

+ 214 - 212
src/views/system/dept/index.vue

@@ -1,226 +1,228 @@
 <template>
   <div class="app-container">
     <el-row :gutter="10">
-    <!--机构数据-->
-     <el-col :span="4" :xs="24">
-      <org-tree
-        v-model="queryParams.orgId"
-        @defaultKey="defaultKeys"
-        @checkChange="checkChange"
-        @click="handleNodeClick"
-      ></org-tree>
-     </el-col>
-      <!--用户数据-->
-     <el-col :span="20" :xs="24">
-      <!--    搜索条件    -->
-        <div class="main-search-box">
-           <el-form
-             :model="queryParams"
-             ref="queryForm"
-             size="small"
-             :inline="true"
-             v-show="showSearch"
-           >
-             <el-form-item label="机构名称" prop="name" >
-               <el-input
-                 v-model="queryParams.name"
-                 placeholder="请输入机构名称"
-                 clearable
-                 @keyup.enter.native="handleQuery"
-                 maxlength="50" @input="inputRestriction"
-               />
-             </el-form-item>
-             <el-form-item label="机构编码" prop="code">
-               <el-input
-                 v-model="queryParams.code"
-                 placeholder="请输入机构编码"
-                 clearable
-                 @keyup.enter.native="handleQuery"
-               />
-             </el-form-item>
-             <el-form-item label="状态" prop="isLock">
-               <el-select
-                 v-model="queryParams.isLock"
-                 placeholder="请选择状态"
-                 clearable
-               >
-                 <el-option
-                   v-for="dict in dict.type.sys_normal_disable"
-                   :key="dict.value"
-                   :label="dict.label"
-                   :value="dict.value"
+       <!--机构数据-->
+       <el-col :span="4" :xs="24">
+        <org-tree
+          v-model="queryParams.orgId"
+          @defaultKey="defaultKeys"
+          @checkChange="checkChange"
+          @click="handleNodeClick"
+        ></org-tree>
+       </el-col>
+        <!--用户数据-->
+       <el-col :span="20" :xs="24">
+         <div class="main-right-box">
+           <!--    搜索条件    -->
+           <div class="main-search-box">
+             <el-form
+               :model="queryParams"
+               ref="queryForm"
+               size="small"
+               :inline="true"
+               v-show="showSearch"
+             >
+               <el-form-item label="机构名称" prop="name" >
+                 <el-input
+                   v-model="queryParams.name"
+                   placeholder="请输入机构名称"
+                   clearable
+                   @keyup.enter.native="handleQuery"
+                   maxlength="50" @input="inputRestriction"
                  />
-               </el-select>
-             </el-form-item>
-             <el-form-item label="机构类型" prop="type">
-               <el-select
-                 v-model="queryParams.type"
-                 placeholder="请选择机构类型"
-                 clearable
-               >
-                 <el-option
-                   v-for="dict in dict.type.sys_org_type"
-                   :key="dict.value"
-                   :label="dict.label"
-                   :value="dict.value"
+               </el-form-item>
+               <el-form-item label="机构编码" prop="code">
+                 <el-input
+                   v-model="queryParams.code"
+                   placeholder="请输入机构编码"
+                   clearable
+                   @keyup.enter.native="handleQuery"
                  />
-               </el-select>
-             </el-form-item>
-             <el-form-item>
-               <el-button
-                 type="primary"
-                 icon="el-icon-search"
-                 size="mini"
-                 @click="handleQuery"
-               >搜索</el-button
-               >
-               <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
-               >重置</el-button
-               >
-             </el-form-item>
-           </el-form>
-           <el-row :gutter="10">
-            <el-col :span="1.5">
-              <el-button
-                type="primary"
-                icon="el-icon-plus"
-                size="mini"
-                @click="handleAdd"
-                v-hasPermi="['system:dept:add']"
-              >新增机构</el-button
-              >
-            </el-col>
-            <right-toolbar
-              :showSearch.sync="showSearch"
-              @queryTable="getList"
-            ></right-toolbar>
-          </el-row>
-        </div>
-          <el-table
-          border
-          height="650"
-          size="small"
-          v-loading="loading"
-          :data="deptList">
-          <el-table-column label="序号" align="center" width="80">
-            <template v-slot:default="scope">
-              <span v-text="getPageIndex(scope.$index)"> </span>
-            </template>
-          </el-table-column>
-          <el-table-column v-if="false"
-            prop="name"
-            label="机构名称"
-          ></el-table-column>
-          <el-table-column
-            prop="shortName"
-            label="机构简称"
-          ></el-table-column>
-          <el-table-column align="center" prop="type" label="机构类型">
-            <template v-slot="scope">
-              <dict-tag
-                :options="dict.type.sys_org_type"
-                :value="scope.row.type"
-              />
-            </template>
-          </el-table-column>
-           <el-table-column  prop="code" align="center" label="机构编码"></el-table-column>
+               </el-form-item>
+               <el-form-item label="状态" prop="isLock">
+                 <el-select
+                   v-model="queryParams.isLock"
+                   placeholder="请选择状态"
+                   clearable
+                 >
+                   <el-option
+                     v-for="dict in dict.type.sys_normal_disable"
+                     :key="dict.value"
+                     :label="dict.label"
+                     :value="dict.value"
+                   />
+                 </el-select>
+               </el-form-item>
+               <el-form-item label="机构类型" prop="type">
+                 <el-select
+                   v-model="queryParams.type"
+                   placeholder="请选择机构类型"
+                   clearable
+                 >
+                   <el-option
+                     v-for="dict in dict.type.sys_org_type"
+                     :key="dict.value"
+                     :label="dict.label"
+                     :value="dict.value"
+                   />
+                 </el-select>
+               </el-form-item>
+               <el-form-item>
+                 <el-button
+                   type="primary"
+                   icon="el-icon-search"
+                   size="mini"
+                   @click="handleQuery"
+                 >搜索</el-button
+                 >
+                 <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+                 >重置</el-button
+                 >
+               </el-form-item>
+             </el-form>
+             <el-row :gutter="10">
+               <el-col :span="1.5">
+                 <el-button
+                   type="primary"
+                   icon="el-icon-plus"
+                   size="mini"
+                   @click="handleAdd"
+                   v-hasPermi="['system:dept:add']"
+                 >新增机构</el-button
+                 >
+               </el-col>
+               <right-toolbar
+                 :showSearch.sync="showSearch"
+                 @queryTable="getList"
+               ></right-toolbar>
+             </el-row>
+           </div>
+           <el-table
+             border
+             height="650"
+             size="small"
+             v-loading="loading"
+             :data="deptList">
+             <el-table-column label="序号" align="center" width="80">
+               <template v-slot:default="scope">
+                 <span v-text="getPageIndex(scope.$index)"> </span>
+               </template>
+             </el-table-column>
+             <el-table-column v-if="false"
+                              prop="name"
+                              label="机构名称"
+             ></el-table-column>
+             <el-table-column
+               prop="shortName"
+               label="机构简称"
+             ></el-table-column>
+             <el-table-column align="center" prop="type" label="机构类型">
+               <template v-slot="scope">
+                 <dict-tag
+                   :options="dict.type.sys_org_type"
+                   :value="scope.row.type"
+                 />
+               </template>
+             </el-table-column>
+             <el-table-column  prop="code" align="center" label="机构编码"></el-table-column>
 
-            <el-table-column prop="isLock" align="center" label="机构状态">
-              <template v-slot="scope">
-                <dict-tag
-                  :options="dict.type.sys_normal_disable"
-                  :value="scope.row.isLock"
-                />
-              </template>
-            </el-table-column>
+             <el-table-column prop="isLock" align="center" label="机构状态">
+               <template v-slot="scope">
+                 <dict-tag
+                   :options="dict.type.sys_normal_disable"
+                   :value="scope.row.isLock"
+                 />
+               </template>
+             </el-table-column>
 
-            <el-table-column
-              align="center"
-              prop="sort"
-              label="排序"
-            ></el-table-column>
-            <el-table-column v-if="false"
-              align="center"
-              prop="weatherCityCode"
-              label="城市天气区域"
-            >
-              <template slot-scope="r">
-                <span>{{ getCode(r.row.weatherCityCode) }}</span>
-              </template>
-            </el-table-column>
-            <!-- <el-table-column prop="address" label="地址"></el-table-column> -->
-            <!-- <el-table-column label="负责人" align="center">
-            <template v-slot:default="scope">
-              <span v-text="scope.row.manager"></span>-
-              <span v-text="scope.row.managerPhone"> </span>
-            </template>
-          </el-table-column> -->
-            <el-table-column  v-if="false"
-              align="center"
-              prop="manager"
-              label="负责人"
-            ></el-table-column>
-            <el-table-column v-if="false"
-              align="center"
-              prop="managerPhone"
-              label="负责人电话"
-            ></el-table-column>
-            <el-table-column
-              label="操作"
-              align="left"
-              width="220"
-              class-name="small-padding fixed-width"
-            >
-              <template slot-scope="scope">
-                <!-- <router-link
-                  :to="'/system/dept-extend/extend/' + scope.row.id"
-                  class="link-type"
-                > -->
-                <el-button
-                  v-if="
+             <el-table-column
+               align="center"
+               prop="sort"
+               label="排序"
+             ></el-table-column>
+             <el-table-column v-if="false"
+                              align="center"
+                              prop="weatherCityCode"
+                              label="城市天气区域"
+             >
+               <template slot-scope="r">
+                 <span>{{ getCode(r.row.weatherCityCode) }}</span>
+               </template>
+             </el-table-column>
+             <!-- <el-table-column prop="address" label="地址"></el-table-column> -->
+             <!-- <el-table-column label="负责人" align="center">
+             <template v-slot:default="scope">
+               <span v-text="scope.row.manager"></span>-
+               <span v-text="scope.row.managerPhone"> </span>
+             </template>
+           </el-table-column> -->
+             <el-table-column  v-if="false"
+                               align="center"
+                               prop="manager"
+                               label="负责人"
+             ></el-table-column>
+             <el-table-column v-if="false"
+                              align="center"
+                              prop="managerPhone"
+                              label="负责人电话"
+             ></el-table-column>
+             <el-table-column
+               label="操作"
+               align="left"
+               width="220"
+               class-name="small-padding fixed-width"
+             >
+               <template slot-scope="scope">
+                 <!-- <router-link
+                   :to="'/system/dept-extend/extend/' + scope.row.id"
+                   class="link-type"
+                 > -->
+                 <el-button
+                   v-if="
                     scope.row.type == 4 ||
                     scope.row.type == 10 ||
                     scope.row.type == 5
                   "
-                  size="mini"
-                  type="text"
-                  icon="el-icon-plus"
-                  v-hasPermi="['system:dept:extend']"
-                  @click="handleReplenish(scope.row.id)"
-                  >补充信息</el-button
-                >
-                <span v-else style="display: inline-block;width: 70px;height: 20px;"></span>
-                <!-- </router-link> -->
-                <el-divider direction="vertical"></el-divider>
-                <el-button
-                  size="mini"
-                  type="text"
-                  icon="el-icon-edit-outline"
-                  @click="handleUpdate(scope.row)"
-                  v-hasPermi="['system:dept:edit']"
-                  >编辑</el-button
-                ><el-divider direction="vertical"></el-divider>
-                <el-button
-                  v-if="!scope.row.source"
-                  size="mini"
-                  type="text"
-                  icon="el-icon-delete"
-                  @click="handleDelete(scope.row)"
-                  v-hasPermi="['system:dept:remove']"
-                  >删除</el-button
-                >
-              </template>
-            </el-table-column>
-          </el-table>
-          <pagination
-            v-show="total > 0"
-            :total="total"
-            :page.sync="queryParams.pageNum"
-            :limit.sync="queryParams.pageSize"
-            @pagination="getList"
-          />
-        </el-col>
-     </el-row>
+                   size="mini"
+                   type="text"
+                   icon="el-icon-plus"
+                   v-hasPermi="['system:dept:extend']"
+                   @click="handleReplenish(scope.row.id)"
+                 >补充信息</el-button
+                 >
+                 <span v-else style="display: inline-block;width: 70px;height: 20px;"></span>
+                 <!-- </router-link> -->
+                 <el-divider direction="vertical"></el-divider>
+                 <el-button
+                   size="mini"
+                   type="text"
+                   icon="el-icon-edit-outline"
+                   @click="handleUpdate(scope.row)"
+                   v-hasPermi="['system:dept:edit']"
+                 >编辑</el-button
+                 ><el-divider direction="vertical"></el-divider>
+                 <el-button
+                   v-if="!scope.row.source"
+                   size="mini"
+                   type="text"
+                   icon="el-icon-delete"
+                   @click="handleDelete(scope.row)"
+                   v-hasPermi="['system:dept:remove']"
+                 >删除</el-button
+                 >
+               </template>
+             </el-table-column>
+           </el-table>
+           <pagination
+             v-show="total > 0"
+             :total="total"
+             :page.sync="queryParams.pageNum"
+             :limit.sync="queryParams.pageSize"
+             @pagination="getList"
+           />
+         </div>
+       </el-col>
+    </el-row>
 
     <!-- 添加或修改机构对话框 -->
     <DialogCom

+ 155 - 154
src/views/system/device/index.vue

@@ -12,171 +12,172 @@
         ></org-tree>
       </el-col>
       <el-col :span="20" :xs="24">
-        <div class="main-search-box">
-            <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
-                     label-width="68px">
-              <el-form-item label="设备名称" prop="deviceName">
-                <el-input v-model="queryParams.deviceName" placeholder="请输入关键字" maxlength="50"
-                          @keyup.enter.native="handleQuery" />
-              </el-form-item>
-              <el-form-item label="设备类别" prop="assetType">
+        <div class="main-right-box">
+          <div class="main-search-box">
+              <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
+                       label-width="68px">
+                <el-form-item label="设备名称" prop="deviceName">
+                  <el-input v-model="queryParams.deviceName" placeholder="请输入关键字" maxlength="50"
+                            @keyup.enter.native="handleQuery" />
+                </el-form-item>
+                <el-form-item label="设备类别" prop="assetType">
 
-                <el-select style="width: 100%;"  v-model="queryParams.assetType" placeholder="请选择设备类别"
-                           @change="searchChangeSelectDevice">
-                  <el-option v-for="dict in dict.type.sys_asset_type" :key="dict.value" :label="dict.label"
-                             :value="`${dict.value}`"></el-option>
-                </el-select>
-              </el-form-item>
+                  <el-select style="width: 100%;"  v-model="queryParams.assetType" placeholder="请选择设备类别"
+                             @change="searchChangeSelectDevice">
+                    <el-option v-for="dict in dict.type.sys_asset_type" :key="dict.value" :label="dict.label"
+                               :value="`${dict.value}`"></el-option>
+                  </el-select>
+                </el-form-item>
 
-              <el-form-item label="设备分类" prop="deviceType">
+                <el-form-item label="设备分类" prop="deviceType">
 
-                <el-select style="width: 100%;"  v-model="queryParams.deviceType" placeholder="请选择设备种类">
-                  <el-option v-for="item in searchDevices" :key="item.dictValue" :label="item.dictLabel"
-                             :value="item.dictValue"></el-option>
-                </el-select>
-              </el-form-item>
+                  <el-select style="width: 100%;"  v-model="queryParams.deviceType" placeholder="请选择设备种类">
+                    <el-option v-for="item in searchDevices" :key="item.dictValue" :label="item.dictLabel"
+                               :value="item.dictValue"></el-option>
+                  </el-select>
+                </el-form-item>
 
-              <el-form-item>
-                <el-button
-                  type="primary"
-                  icon="el-icon-search"
-                  size="mini"
-                  @click="handleQuery"
-                >搜索</el-button
-                >
-                <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
-                >重置</el-button
-                >
-              </el-form-item>
-            </el-form>
-            <el-row :gutter="10">
-              <el-col :span="1.5">
-                <el-button
-                  type="primary"
-                  icon="el-icon-plus"
-                  size="mini"
-                  @click="handleAdd"
-                  v-hasPermi="['system:device:add']"
-                >新增设备</el-button
-                >
-              </el-col>
+                <el-form-item>
+                  <el-button
+                    type="primary"
+                    icon="el-icon-search"
+                    size="mini"
+                    @click="handleQuery"
+                  >搜索</el-button
+                  >
+                  <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+                  >重置</el-button
+                  >
+                </el-form-item>
+              </el-form>
+              <el-row :gutter="10">
+                <el-col :span="1.5">
+                  <el-button
+                    type="primary"
+                    icon="el-icon-plus"
+                    size="mini"
+                    @click="handleAdd"
+                    v-hasPermi="['system:device:add']"
+                  >新增设备</el-button
+                  >
+                </el-col>
+
+                <el-col :span="1.5">
+                  <el-button
+                    type="primary"
+                    icon="el-icon-upload"
+                    size="mini"
+                    @click="handleImport"
+                    v-hasPermi="['system:device:importData']"
+                  >导入设备</el-button
+                  >
+                </el-col>
 
-              <el-col :span="1.5">
+                <el-col :span="1.5">
+                  <el-button
+                    type="primary"
+                    icon="el-icon-download"
+                    size="mini"
+                    @click="handleOut"
+                    v-hasPermi="['system:user:export']"
+                  >导出模版</el-button
+                  >
+                </el-col>
+                <right-toolbar
+                  :showSearch.sync="showSearch"
+                  @queryTable="getList"
+                ></right-toolbar>
+              </el-row>
+            </div>
+          <el-table
+            border
+            height="650"
+            size="small"
+            v-loading="loading"
+            :data="deviceList"
+            @selection-change="handleSelectionChange"
+
+          >
+          <!-- :header-cell-style="{backgroundColor:'#CCE8F7'}" -->
+            <!--<el-table-column type="selection" width="55" align="center" />-->
+            <el-table-column label="序号" align="center" min-width="50">
+              <template v-slot:default="scope">
+                <span v-text="getPageIndex(scope.$index)"> </span>
+              </template>
+            </el-table-column>
+            <el-table-column label="所属机构" align="left" prop="orgName" />
+
+            <el-table-column
+              label="设备类别"
+              align="center"
+              key="assetType"
+              prop="assetType"
+            >
+              <template slot-scope="scope">
+                <dict-tag
+                  :options="dict.type.sys_asset_type"
+                  :value="scope.row.assetType"
+                />
+              </template>
+            </el-table-column>
+
+            <el-table-column
+              label="设备分类"
+              align="center"
+              key="deviceType"
+              prop="deviceType"
+            >
+              <template slot-scope="scope">
+                <dict-tag
+                  :options="dict.type.sys_device_type"
+                  :value="scope.row.deviceType"
+                />
+              </template>
+            </el-table-column>
+            <el-table-column label="设备名称" align="center" prop="deviceName"  />
+            <!-- <el-table-column label="设备品牌" align="center" prop="deviceBrand" />
+            <el-table-column
+              label="有效期至"
+              align="center"
+              prop="checkTime"
+              width="160"
+            >
+            </el-table-column> -->
+            <!--    <el-table-column label="保修期限" align="center" prop="maintenanceTerm" /> -->
+            <el-table-column
+              label="操作"
+              align="center"
+              class-name="small-padding fixed-width"
+            >
+              <template slot-scope="scope">
                 <el-button
-                  type="primary"
-                  icon="el-icon-upload"
                   size="mini"
-                  @click="handleImport"
-                  v-hasPermi="['system:device:importData']"
-                >导入设备</el-button
+                  type="text"
+                  icon="el-icon-edit-outline"
+                  @click="handleUpdate(scope.row)"
+                  v-hasPermi="['system:device:edit']"
+                  >编辑</el-button
                 >
-              </el-col>
-
-              <el-col :span="1.5">
+                <el-divider direction="vertical"></el-divider>
                 <el-button
-                  type="primary"
-                  icon="el-icon-download"
                   size="mini"
-                  @click="handleOut"
-                  v-hasPermi="['system:user:export']"
-                >导出模版</el-button
+                  type="text"
+                  icon="el-icon-delete"
+                  @click="handleDelete(scope.row)"
+                  v-hasPermi="['system:device:remove']"
+                  >删除</el-button
                 >
-              </el-col>
-              <right-toolbar
-                :showSearch.sync="showSearch"
-                @queryTable="getList"
-              ></right-toolbar>
-            </el-row>
-          </div>
-        <el-table
-          border
-          height="650"
-          size="small"
-          v-loading="loading"
-          :data="deviceList"
-          @selection-change="handleSelectionChange"
-
-        >
-        <!-- :header-cell-style="{backgroundColor:'#CCE8F7'}" -->
-          <!--<el-table-column type="selection" width="55" align="center" />-->
-          <el-table-column label="序号" align="center" min-width="50">
-            <template v-slot:default="scope">
-              <span v-text="getPageIndex(scope.$index)"> </span>
-            </template>
-          </el-table-column>
-          <el-table-column label="所属机构" align="left" prop="orgName" />
-
-          <el-table-column
-            label="设备类别"
-            align="center"
-            key="assetType"
-            prop="assetType"
-          >
-            <template slot-scope="scope">
-              <dict-tag
-                :options="dict.type.sys_asset_type"
-                :value="scope.row.assetType"
-              />
-            </template>
-          </el-table-column>
-
-          <el-table-column
-            label="设备分类"
-            align="center"
-            key="deviceType"
-            prop="deviceType"
-          >
-            <template slot-scope="scope">
-              <dict-tag
-                :options="dict.type.sys_device_type"
-                :value="scope.row.deviceType"
-              />
-            </template>
-          </el-table-column>
-          <el-table-column label="设备名称" align="center" prop="deviceName"  />
-          <!-- <el-table-column label="设备品牌" align="center" prop="deviceBrand" />
-          <el-table-column
-            label="有效期至"
-            align="center"
-            prop="checkTime"
-            width="160"
-          >
-          </el-table-column> -->
-          <!--    <el-table-column label="保修期限" align="center" prop="maintenanceTerm" /> -->
-          <el-table-column
-            label="操作"
-            align="center"
-            class-name="small-padding fixed-width"
-          >
-            <template slot-scope="scope">
-              <el-button
-                size="mini"
-                type="text"
-                icon="el-icon-edit-outline"
-                @click="handleUpdate(scope.row)"
-                v-hasPermi="['system:device:edit']"
-                >编辑</el-button
-              >
-              <el-divider direction="vertical"></el-divider>
-              <el-button
-                size="mini"
-                type="text"
-                icon="el-icon-delete"
-                @click="handleDelete(scope.row)"
-                v-hasPermi="['system:device:remove']"
-                >删除</el-button
-              >
-            </template>
-          </el-table-column>
-        </el-table>
-
-        <pagination
-          v-show="total > 0"
-          :total="total"
-          :page.sync="queryParams.pageNum"
-          :limit.sync="queryParams.pageSize"
-          @pagination="getList"
-        />
+              </template>
+            </el-table-column>
+          </el-table>
+          <pagination
+            v-show="total > 0"
+            :total="total"
+            :page.sync="queryParams.pageNum"
+            :limit.sync="queryParams.pageSize"
+            @pagination="getList"
+          />
+        </div>
       </el-col>
     </el-row>
 

+ 352 - 316
src/views/system/user/index.vue

@@ -13,327 +13,363 @@
       </el-col>
       <!--用户数据-->
       <el-col :span="20" :xs="24">
-        <!--    搜索条件    -->
-        <div class="main-search-box">
-          <el-form
-            :model="queryParams"
-            ref="queryForm"
-            size="small"
-            :inline="true"
-            v-show="showSearch"
-          >
-            <el-form-item label="账号" prop="username">
-              <el-input
-                :maxlength="20"
-                v-model="queryParams.username"
-                placeholder="请输入账号"
-                clearable
-                style="width: 200px"
-                @keyup.enter.native="handleQuery"
-              />
-            </el-form-item>
-            <el-form-item label="姓名" prop="name">
-              <el-input
-                :maxlength="50"
-                v-model="queryParams.name"
-                placeholder="请输入姓名"
-                clearable
-                style="width: 200px"
-                @keyup.enter.native="handleQuery"
-              />
-            </el-form-item>
-
-            <el-form-item label="用户角色" prop="roleIds">
-              <!-- @visible-change="selectAllRoles" -->
-              <el-select
-                style="width: 200px"
-                v-model="queryParams.roleId"
-                placeholder="请选择用户角色"
-                clearable
-              >
-                <el-option
-                  v-for="item in role_options"
-                  :key="item.id"
-                  :label="item.roleName"
-                  :value="item.id"
-                ></el-option>
-              </el-select>
-            </el-form-item>
-            <el-form-item label="账号状态" prop="isLock">
-              <el-select
-                v-model="queryParams.isLock"
-                placeholder="请选择账号状态"
-                clearable
-                style="width: 200px"
-              >
-                <el-option
-                  v-for="dict in dict.type.sys_user_is_lock"
-                  :key="dict.value"
-                  :label="dict.label"
-                  :value="dict.value"
+        <div class="main-right-box">
+          <!--    搜索条件    -->
+          <div class="main-search-box">
+            <el-form
+              :model="queryParams"
+              ref="queryForm"
+              size="small"
+              :inline="true"
+              v-show="showSearch"
+            >
+              <el-form-item label="账号" prop="username">
+                <el-input
+                  :maxlength="20"
+                  v-model="queryParams.username"
+                  placeholder="请输入关键字"
+                  clearable
+                  style="width: 200px"
+                  @keyup.enter.native="handleQuery"
                 />
-              </el-select>
-            </el-form-item>
-            <el-form-item label="管理人员" prop="isLock">
-              <el-switch
-                v-model="queryParams.onlyManager"
-                active-text=""
-                @change="handleQuery"
-              >
-              </el-switch>
-            </el-form-item>
-            <el-form-item>
-              <el-button
-                type="primary"
-                icon="el-icon-search"
-                size="mini"
-                @click="handleQuery"
-              >搜索</el-button
-              >
-              <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
-              >重置</el-button
-              >
-            </el-form-item>
-            <!-- <el-form-item label="创建时间">
-              <el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange"
-                range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
-            </el-form-item> -->
-          </el-form>
-          <!--    按纽    -->
-          <el-row :gutter="10">
-            <el-col :span="1.5">
-              <el-button
-                type="primary"
-                icon="el-icon-plus"
-                size="mini"
-                @click="handleAdd"
-                v-hasPermi="['system:user:add']"
-              >新增</el-button
-              >
-            </el-col>
-            <!-- <el-col :span="1.5">
-              <el-button type="success" plain icon="el-icon-edit-outline" size="mini" :disabled="single" @click="handleUpdate"
-                v-hasPermi="['system:user:edit']">修改</el-button>
-            </el-col>
-            <el-col :span="1.5">
-              <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
-                v-hasPermi="['system:user:remove']">删除</el-button>
-            </el-col> -->
-            <el-col :span="1.5">
-              <el-button
-                type="primary"
-                plain
-                icon="el-icon-upload2"
-                size="mini"
-                @click="handleImport"
-                v-hasPermi="['system:user:import']"
-              >导入</el-button
-              >
-            </el-col>
+              </el-form-item>
+              <el-form-item label="姓名" prop="name">
+                <el-input
+                  :maxlength="50"
+                  v-model="queryParams.name"
+                  placeholder="请输入关键字"
+                  clearable
+                  style="width: 200px"
+                  @keyup.enter.native="handleQuery"
+                />
+              </el-form-item>
 
-            <el-col :span="1.5">
-              <el-button
-                type="primary"
-                plain
-                icon="el-icon-download"
-                size="mini"
-                @click="handleExport"
-                v-hasPermi="['system:user:export']"
-              >导出用户角色</el-button
-              >
-            </el-col>
-            <el-col :span="1.5">
-              <el-button
-                type="primary"
-                plain
-                icon="el-icon-download"
-                size="mini"
-                @click="handleExportManager"
-                v-hasPermi="['system:user:exportManager']"
-              >导出管理人员</el-button
-              >
-            </el-col>
-            <right-toolbar
-              :showSearch.sync="showSearch"
-              @queryTable="getList"
-            ></right-toolbar>
-          </el-row>
-        </div>
-        <el-table
-          border
-          height="650"
-          size="small"
-          v-loading="loading"
-          :data="userList"
-          @selection-change="handleSelectionChange"
-        >
-          <el-table-column
-            fixed
-            label="序号"
-            type="index"
-            align="center"
-            width="50"
-          ></el-table-column>
-          <el-table-column
-            label="账号"
-            align="center"
-            key="username"
-            prop="username"
-            width="120"
-            v-if="columns[0].visible"
-          />
-          <el-table-column
-            label="姓名"
-            align="center"
-            key="name"
-            prop="name"
-            width="120"
-            v-if="columns[1].visible"
-            :show-overflow-tooltip="true"
-          />
+              <el-form-item label="用户角色" prop="roleIds">
+                <!-- @visible-change="selectAllRoles" -->
+                <el-select
+                  style="width: 200px"
+                  v-model="queryParams.roleId"
+                  placeholder="请选择用户角色"
+                  clearable
+                >
+                  <el-option
+                    v-for="item in role_options"
+                    :key="item.id"
+                    :label="item.roleName"
+                    :value="item.id"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+              <el-form-item label="账号状态" prop="isLock">
+                <el-select
+                  v-model="queryParams.isLock"
+                  placeholder="请选择账号状态"
+                  clearable
+                  style="width: 200px"
+                >
+                  <el-option
+                    v-for="dict in dict.type.sys_user_is_lock"
+                    :key="dict.value"
+                    :label="dict.label"
+                    :value="dict.value"
+                  />
+                </el-select>
+              </el-form-item>
+              <el-form-item label="安保部门从业人员" prop="isLock">
+                <el-switch
+                  v-model="queryParams.onlyManager"
+                  active-text=""
+                  @change="handleQuery"
+                >
+                </el-switch>
+              </el-form-item>
+              <!-- <el-form-item>
+                <el-button
+                  type="primary"
+                  icon="el-icon-search"
+                  size="mini"
+                  @click="handleQuery"
+                >搜索</el-button
+                >
+                <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+                >重置</el-button
+                >
+              </el-form-item> -->
+              <!-- <el-form-item label="创建时间">
+                <el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange"
+                  range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
+              </el-form-item> -->
+            </el-form>
+            <!--    按纽    -->
+            <el-row :gutter="10">
+              <el-col :span="1.5">
+                <el-button
+                  type="primary"
+                  icon="el-icon-search"
+                  size="mini"
+                  @click="handleQuery"
+                >搜索</el-button>
+              </el-col>
+              <el-col :span="1.5">
+                <el-button type="primary" icon="el-icon-refresh" size="mini" @click="resetQuery"
+                >重置</el-button>
+              </el-col>
+              <el-col :span="1.5">
+                <el-button
+                  type="primary"
+                  icon="el-icon-plus"
+                  size="mini"
+                  @click="handleAdd"
+                  v-hasPermi="['system:user:add']"
+                >新增人员</el-button
+                >
+              </el-col>
+              <!-- <el-col :span="1.5">
+                <el-button type="success" plain icon="el-icon-edit-outline" size="mini" :disabled="single" @click="handleUpdate"
+                  v-hasPermi="['system:user:edit']">修改</el-button>
+              </el-col>
+              <el-col :span="1.5">
+                <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
+                  v-hasPermi="['system:user:remove']">删除</el-button>
+              </el-col> -->
+              <el-col :span="1.5">
+                <el-button
+                  type="primary"
+                  plain
+                  icon="el-icon-upload2"
+                  size="mini"
+                  @click="handleImport"
+                  v-hasPermi="['system:user:import']"
+                >导入人员</el-button
+                >
+              </el-col>
 
-          <el-table-column
-            label="所属机构"
-            align="left"
-            key="orgName"
-            prop="orgName"
-            width="180"
-            v-if="columns[3].visible"
-            :show-overflow-tooltip="true"
-          />
-          <el-table-column
-            label="用户角色"
-            align="left"
-            prop="roles"
-            width="300"
-            v-if="columns[2].visible"
-            :show-overflow-tooltip="true"
-          >
-            <template slot-scope="scope">
-              <!-- <template v-for="item in scope.row.roles">
-                  {{ item.roleName }}
-                  <br />
-                </template> -->
-              <div class="cell" v-html="formatter(scope.row.roleNames)"></div>
-            </template>
-          </el-table-column>
-          <!-- <el-table-column
-            label="手机号码"
-            align="left"
-            prop="phone"
-            width="200"
-            v-if="columns[3].visible"
-            :show-overflow-tooltip="true"
-          /> -->
-          <el-table-column
-            label="状态"
-            align="center"
-            key="isLock"
-            prop="isLock"
-            v-if="columns[4].visible"
-            width="80"
-          >
-            <template slot-scope="scope">
-              <dict-tag
-                :options="dict.type.sys_user_is_lock"
-                :value="scope.row.isLock"
-              />
-            </template>
-          </el-table-column>
-          <el-table-column
-            label="管理人员"
-            align="center"
-            key="isManager"
-            prop="isManager"
-            v-if="columns[5].visible"
-            width="100"
-          >
-            <template slot-scope="scope">
-              {{ scope.row.isManage === "Y" ? "是" : "否" }}
-            </template>
-          </el-table-column>
-          <el-table-column
-            label="登录IP"
-            align="center"
-            key="lastIp"
-            prop="lastIp"
-            v-if="columns[6].visible"
-            width="140"
-          />
-          <el-table-column
-            label="登录时间"
-            align="center"
-            key="lastTime"
-            prop="lastTime"
-            v-if="columns[7].visible"
-            width="140"
-          />
-          <el-table-column
-            label="操作"
-            align="left"
-            width="220"
-            fixed="right"
-            class-name="small-padding fixed-width"
+              <el-col :span="1.5">
+                <el-button
+                  type="primary"
+                  plain
+                  icon="el-icon-download"
+                  size="mini"
+                  @click="handleExport"
+                  v-hasPermi="['system:user:export']"
+                >导出人员</el-button
+                >
+              </el-col>
+              <el-col :span="1.5">
+                <el-button
+                  type="primary"
+                  plain
+                  icon="el-icon-download"
+                  size="mini"
+                  @click="handleExportManager"
+                  v-hasPermi="['system:user:exportManager']"
+                >导出管理人员</el-button
+                >
+              </el-col>
+              <right-toolbar
+                :showSearch.sync="showSearch"
+                @queryTable="getList"
+              ></right-toolbar>
+            </el-row>
+          </div>
+          <el-table
+            border
+            height="650"
+            size="small"
+            v-loading="loading"
+            :data="userList"
+            @selection-change="handleSelectionChange"
           >
-            <template slot-scope="scope">
+            <el-table-column
+              fixed
+              label="序号"
+              type="index"
+              align="center"
+              width="50"
+            ></el-table-column>
+            <el-table-column
+              label="账号"
+              align="center"
+              key="username"
+              prop="username"
+              width="120"
+              v-if="columns[0].visible"
+            />
+            <el-table-column
+              label="姓名"
+              align="center"
+              key="name"
+              prop="name"
+              width="120"
+              v-if="columns[1].visible"
+              :show-overflow-tooltip="true"
+            />
 
-              <el-button
-                size="mini"
-                type="text"
-                v-if="scope.row.isManage=='Y'"
-                icon="el-icon-plus"
-                @click="handleExtend(scope.row)"
-                v-hasPermi="['system:user:extend']"
+            <el-table-column
+              label="所属机构"
+              align="left"
+              header-align="center"
+              key="orgName"
+              prop="orgName"
+              width="180"
+              v-if="columns[3].visible"
+              :show-overflow-tooltip="true"
+            />
+            <el-table-column
+              label="用户角色"
+              align="left"
+              header-align="center"
+              prop="roles"
+              width="300"
+              v-if="columns[2].visible"
+              :show-overflow-tooltip="true"
+            >
+              <template slot-scope="scope">
+                <!-- <template v-for="item in scope.row.roles">
+                    {{ item.roleName }}
+                    <br />
+                  </template> -->
+                <div class="cell" v-html="formatter(scope.row.roleNames)"></div>
+              </template>
+            </el-table-column>
+            <!-- <el-table-column
+              label="手机号码"
+              align="left"
+              prop="phone"
+              width="200"
+              v-if="columns[3].visible"
+              :show-overflow-tooltip="true"
+            /> -->
+            <el-table-column
+              label="账号状态"
+              align="center"
+              key="isLock"
+              prop="isLock"
+              v-if="columns[4].visible"
+              width="100"
+            >
+              <template slot-scope="scope">
+                <dict-tag
+                  :options="dict.type.sys_user_is_lock"
+                  :value="scope.row.isLock"
+                />
+              </template>
+            </el-table-column>
+            
+            <el-table-column
+              label="登录IP"
+              align="center"
+              key="lastIp"
+              prop="lastIp"
+              v-if="columns[6].visible"
+              width="140"
+            />
+            <el-table-column
+              label="登录时间"
+              align="center"
+              key="lastTime"
+              prop="lastTime"
+              v-if="columns[7].visible"
+              width="140"
+            />
+            <el-table-column
+              label="安保部门从业人员"
+              align="center"
+              key="isManager"
+              prop="isManager"
+              v-if="columns[5].visible"
+              width="160"
+            >
+              <template slot-scope="scope">
+                {{ scope.row.isManage === "Y" ? "是" : "否" }}
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="操作"
+              align="left"
+              header-align="center"
+              width="300"
+              fixed="right"
+              class-name="small-padding fixed-width"
+            >
+              <template slot-scope="scope">
+
+                <el-button
+                  size="mini"
+                  type="text"
+                  v-if="scope.row.isManage=='Y'"
+                  icon="el-icon-plus"
+                  @click="handleExtend(scope.row)"
+                  v-hasPermi="['system:user:extend']"
                 >补充信息</el-button
-              >
-              <span v-else style="display: inline-block;width: 70px;height: 20px;"></span>
-              <el-divider direction="vertical"></el-divider>
-              <el-button
-                size="mini"
-                type="text"
-                icon="el-icon-edit-outline"
-                @click="handleUpdate(scope.row)"
-                v-hasPermi="['system:user:edit']"
+                >
+                <!-- <span v-else style="display: inline-block;width: 70px;height: 20px;"></span> -->
+                <!-- <el-divider direction="vertical"></el-divider> -->
+                <el-button
+                  size="mini"
+                  type="text"
+                  icon="el-icon-edit-outline"
+                  @click="handleUpdate(scope.row)"
+                  v-hasPermi="['system:user:edit']"
                 >编辑</el-button
-              >
-              <el-divider direction="vertical"></el-divider>
-              <el-dropdown
-                size="mini"
-                @command="(command) => handleCommand(command, scope.row)"
-                v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
-                <el-button size="mini" type="text" icon="el-icon-menu">更多</el-button>
-                <el-dropdown-menu slot="dropdown">
-                  <el-dropdown-item
-                    command="handleResetPwd"
-                    icon="el-icon-key"
-                    v-hasPermi="['system:user:resetPwd']"
-                    >重置密码</el-dropdown-item
-                  >
-                  <el-dropdown-item
-                    command="handleAuthRole"
-                    v-if="false"
-                    icon="el-icon-circle-check"
-                    v-hasPermi="['system:user:edit']"
-                    >分配角色</el-dropdown-item
-                  >
-                  <el-dropdown-item
-                    command="handleDelete"
-                    icon="el-icon-delete"
-                    v-hasPermi="['system:user:remove']"
-                  >删除</el-dropdown-item>
-                </el-dropdown-menu>
-              </el-dropdown>
-            </template>
-          </el-table-column>
-        </el-table>
+                >
+
+                <el-button
+                  size="mini"
+                  type="text"
+                  icon="el-icon-delete"
+                  v-if="scope.row.source==0"
+                  @click="handleDelete(scope.row)"
+                  v-hasPermi="['system:user:remove']"
+                >删除</el-button
+                >
 
-        <pagination
-          v-show="total > 0"
-          :total="total"
-          :page.sync="queryParams.pageNum"
-          :limit.sync="queryParams.pageSize"
-          @pagination="getList"
-        />
+                <el-button
+                  size="mini"
+                  type="text"
+                  icon="el-icon-key"
+                  v-if="scope.row.source==0"
+                  @click="handleResetPwd(scope.row)"
+                  v-hasPermi="['system:user:resetPwd']"
+                >重置密码</el-button
+                >
+                <!-- <el-divider direction="vertical"></el-divider> -->
+                <!-- <el-dropdown
+                  size="mini"
+                  @command="(command) => handleCommand(command, scope.row)"
+                  v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
+                  <el-button size="mini" type="text" icon="el-icon-menu">更多</el-button>
+                  <el-dropdown-menu slot="dropdown">
+                    <el-dropdown-item
+                      command="handleResetPwd"
+                      icon="el-icon-key"
+                      v-hasPermi="['system:user:resetPwd']"
+                      >重置密码</el-dropdown-item
+                    >
+                    <el-dropdown-item
+                      command="handleAuthRole"
+                      v-if="false"
+                      icon="el-icon-circle-check"
+                      v-hasPermi="['system:user:edit']"
+                      >分配角色</el-dropdown-item
+                    >
+                    <el-dropdown-item
+                      command="handleDelete"
+                      icon="el-icon-delete"
+                      v-hasPermi="['system:user:remove']"
+                    >删除</el-dropdown-item>
+                  </el-dropdown-menu>
+                </el-dropdown> -->
+              </template>
+            </el-table-column>
+          </el-table>
+          <pagination            
+            :total="total"
+            :page.sync="queryParams.pageNum"
+            :limit.sync="queryParams.pageSize"
+            @pagination="getList"
+          />
+        </div>
       </el-col>
     </el-row>
 
@@ -347,7 +383,7 @@
                 v-model="form.username"
                 placeholder="请输入账号"
                 :maxlength="20"
-                :readonly="form.source == 1"
+                :disabled="form.source == 1"
               />
             </el-form-item>
           </el-col>
@@ -371,7 +407,7 @@
                 v-model="form.name"
                 placeholder="请输入姓名"
                 maxlength="30"
-                :readonly="form.source == 1"
+                :disabled="form.source == 1"
               />
             </el-form-item>
           </el-col>
@@ -735,7 +771,7 @@ export default {
         const strArr = content.toString().split(",");
         let rel = "";
         strArr.forEach(function (item, index, arr) {
-          let ops = `<span style="color: #008CD6;"> ${item} </span> `;
+          let ops = `<span style="color: #606266;"> ${item} </span> `;
           rel = rel == "" ? ops : rel + " || " + ops;
         });
         return rel;