Parcourir la source

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

coys il y a 2 ans
Parent
commit
40b5323327

+ 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',

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

@@ -85,14 +85,14 @@
 
 .tree-container{
   .el-tree-node>.el-tree-node__children{
-    overflow: visible!important; /* 添加横向滚动条*/
+    -overflow: visible!important; /* 添加横向滚动条*/
   }
 }
 
-.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{
+   font-size: 13px!important;
+   height: 48px!important;
+   line-height: 48px!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 - 0
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,6 +187,8 @@ 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;

+ 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">

+ 274 - 0
src/views/core/drill/task/dialog.evaluate.vue

@@ -0,0 +1,274 @@
+<template>
+  <div class="edu-training-edit">
+    <DialogCom title="演练任务评价" :visible.sync="isShow" width="960px">
+      <div class="page-body">
+        <el-form :model="formData" size="small" ref="form" label-position="right" label-width="120px"
+                 label-suffix=":">
+          <el-row>
+            <el-col :span="12">
+              <el-form-item prop="type" label="任务名称">{{
+                  formData.title
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item prop="type" label="任务进度">{{
+                  getLabel(dict.type.drill_task_status, formData.status,"未知")
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="任务时间">{{
+                  formData.startDate +" ~ " + formData.endDate
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="演练机构">{{
+                  formData.orgName
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="指挥人">{{
+                  formData.hostName
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="记录人">{{
+                  formData.recorderName
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="演练项目">{{
+                  formData.typeText
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="演练地点">{{
+                  formData.drillSite
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item prop="drillStartTime" label="演练开始时间">
+                {{ formData.drillStartTime }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item prop="drillEndTime" label="演练结束时间">
+                {{ formData.drillEndTime }}
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="24">
+              <el-form-item prop="hostId" label="预设案由">{{
+                  formData.presetCase
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item prop="hostId" label="演练情况">{{
+                  formData.drillSituation
+                }}
+              </el-form-item>
+            </el-col>
+
+            <!-- 参与人数 -->
+            <el-col :span="12">
+              <el-form-item prop="dueCount" label="参与人员">{{
+                  formData.taskUserList ? formData.taskUserList.filter((x) => x.type === 1)
+                    .map((v) => v.userName).join(",") : ""
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item prop="dueCount" label="缺席人员">{{
+                  formData.taskUserList ? formData.taskUserList.filter((x) => x.type === 2)
+                    .map((v) => v.userName).join(",") : ""
+                }}
+              </el-form-item>
+            </el-col>
+            <!-- 图片 -->
+            <el-col :span="12">
+              <el-form-item prop="imageList" label="演练图片">
+                <ImageListPreview v-model="formData.imageList"></ImageListPreview>
+              </el-form-item>
+            </el-col>
+            <!-- 图片 -->
+            <el-col :span="12">
+              <el-form-item prop="imageList" label="参与人员签名图片">
+                <ImageListPreview v-model="formData.signImageList"></ImageListPreview>
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="24">
+            <el-form-item label="资料文件" prop="fileList">
+              <K-file-upload ref="upload" :isShowUploadBtn="false"
+                             :defaultValue="formFileListDefualtValue"
+                             v-model="formData.fileList"/>
+            </el-form-item>
+            </el-col>
+
+
+            <el-col :span="24">
+              <el-form-item  prop="commentScore" label="评分">
+                <el-rate
+                  :max="10"
+                  v-model="formData.commentScore"
+                >
+                </el-rate>
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="24">
+              <el-form-item  prop="comment" label="评语">
+                <k-textarea style="width: 100%;" v-model="formData.comment" placeholder="请输入评语" :length="200"/>
+              </el-form-item>
+            </el-col>
+
+          </el-row>
+        </el-form>
+      </div>
+
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="onHide">关闭</el-button>
+        <el-button type="primary" @click="onEvaluate">评价</el-button>
+      </div>
+    </DialogCom>
+  </div>
+</template>
+
+<script>
+import {mapState, mapMutations} from "vuex";
+import KTextarea from "@/components/common/textarea.vue";
+import {evaluateDrillTask, getDrillTask} from "@/api/core/drill/drillTask";
+import {initList} from "@/api/core/drill/drillDictionary";
+import KFileUpload from "@/components/K-FileUpload/index.vue";
+import { getLabel } from "@/views/commonOption";
+export default {
+  components: {KFileUpload,KTextarea},
+  dicts: ['drill_task_status', 'core_drill_type'],
+  data() {
+    const params = this.$route.params;
+    return {
+      id: params ? params.id : null,
+      isShow: false,
+      formData: this.reset(),
+      drillTypeOptions: [],
+      formFileListDefualtValue: [],
+      iconClasses: ['icon-rate-face-1', 'icon-rate-face-2', 'icon-rate-face-3'] // 等同于 { 2: 'icon-rate-face-1', 4: { value: 'icon-rate-face-2', excluded: true }, 5: 'icon-rate-face-3' }
+    };
+  },
+  props: {},
+  watch: {},
+  computed: {
+    ...mapState(["loginUser"]),
+  },
+  methods: {
+    ...mapMutations([]),
+    getLabel,
+    reset(other = {}) {
+      return {
+        id: null,
+        type: null,
+        host: null,
+        drillSite: null,
+        drillTime: null,
+        hostName: null,
+        presetCase: null,
+        drillSituation: null,
+        imageList: null,
+        signImageList: null,
+        commentScore: 5,
+
+        org: {},
+        ...other,
+      };
+    },
+    async onEvaluate() {
+      console.log("onEvaluate", this.formData)
+      if (!this.formData.commentScore) {
+        this.$message.error("请选择评分!");
+      }
+      if (!this.formData.comment) {
+        this.$message.error("请输入评语!");
+      }
+      let { commentScore,comment,id} = { ...this.formData};
+      let json={};
+      json.score = commentScore;
+      json.comment = comment;
+      json.taskId = id;
+
+      evaluateDrillTask(json).then((v) => {
+        this.$emit("success", this.formData);
+        this.onHide();
+        this.$modal.msgSuccess("演练登记评价成功");
+
+      });
+      this.getList();
+    },
+    async refresh(id, other) {
+      if (!id) {
+        this.reset(other);
+      } else {
+        getDrillTask(id).then(response => {
+          this.formData = response.data;
+          this.formFileListDefualtValue=response.data.fileList;
+          this.formData.signImageList = this.getSingImageList();
+          this.loading = false;
+        })
+      }
+    },
+    async show(id, other = {}) {
+      this.id = id;
+      await this.refresh(id, other);
+      this.isShow = true;
+    },
+    // 事件
+    onHide() {
+      this.isShow = false;
+    },
+    onDownload(url, filename) {
+      let this_ = this;
+      this.getBlob(url, function (blob) {
+        this_.saveAs(blob, filename);
+      });
+    },
+    getSingImageList() {
+      let res = this.formData.taskUserList ? this.formData.taskUserList.filter((x) => x.type === 1 && x.sign == 1)
+        .map((v) => v.signImage).join(",") : null;
+      console.log("getSingImage", res)
+      return res;
+    },
+    getBlob(url, cb) {
+      var xhr = new XMLHttpRequest();
+      xhr.open("GET", url, true);
+      xhr.responseType = "blob";
+      xhr.onload = function () {
+        if (xhr.status === 200) {
+          cb(xhr.response);
+        }
+      };
+      xhr.send();
+    },
+    initDrillTypeOptions() {
+      initList().then(response => {
+        this.drillTypeOptions = response;
+      })
+    }
+    // 事件
+    //apimark//
+  },
+  mounted() {
+  },
+};
+</script>
+
+<!-- <style lang="less">
+.edu-training-edit {
+}
+</style> -->

+ 2 - 39
src/views/core/drill/task/dialog.perform.vue

@@ -30,7 +30,7 @@
                 <el-input style="width: 100%;" v-model="formData.drillSite" placeholder="请输入演练地点" :length="50"/>
               </el-form-item>
             </el-col>
-         
+
             <el-col :span="12">
               <el-form-item prop="drillStartTime" label="演练开始时间">
                 <el-date-picker style="width: 100%;" required v-model="formData.drillStartTime"
@@ -48,7 +48,7 @@
               </el-form-item>
             </el-col>
 
-         
+
 
             <el-col :span="24">
 
@@ -94,23 +94,7 @@
                                v-model="formData.fileList"/>
               </el-form-item>
             </el-col>
-           
-
-            <el-col :span="24">
-              <el-form-item v-if="formData.status==2" prop="commentScore" label="评分">
-                <el-rate
-                  :max="10"
-                  v-model="formData.commentScore"
-                >
-                </el-rate>
-              </el-form-item>
-            </el-col>
 
-            <el-col :span="24">
-              <el-form-item v-if="formData.status==2" prop="comment" label="评语">
-                <k-textarea v-model="formData.comment" placeholder="请输入评语" :length="200"/>
-              </el-form-item>
-            </el-col>
           </el-row>
         </el-form>
       </div>
@@ -119,7 +103,6 @@
         <el-button @click="onHide">取消</el-button>
         <el-button v-if="formData.status!=2" type="primary" @click="onSave">暂存</el-button>
         <el-button v-if="formData.status!=2" type="primary" @click="onSubmit">提交</el-button>
-        <el-button v-if="formData.status==2" type="primary" @click="onEvaluate">评价</el-button>
       </div>
     </DialogCom>
     <dialog-drill-dictionary-select
@@ -354,27 +337,7 @@ export default {
         });
       }
     },
-    async onEvaluate() {
-      console.log("onEvaluate", this.formData)
-      if (!this.formData.commentScore) {
-        this.$message.error("请选择评分!");
-      }
-      if (!this.formData.comment) {
-        this.$message.error("请输入评语!");
-      }
-      let { commentScore,comment,id} = { ...this.formData};
-      let json={};
-      json.score = commentScore;
-      json.comment = comment;
-      json.taskId = id;
-
-      evaluateDrillTask(json).then((v) => {
-        this.$emit("success", this.formData);
-        this.onHide();
-        this.$modal.msgSuccess("演练登记评价成功");
-      });
 
-    },
     validatePerson() {
       for (let i = 0; i < this.formData.absenceList.length; i++) {
         let absence = this.formData.absenceList[i];

+ 11 - 4
src/views/core/drill/task/index.vue

@@ -100,7 +100,7 @@
                               </el-table-column>
                               <el-table-column label="指挥人" align="center" prop="hostName"/>
                               <el-table-column label="演练地点" align="center" prop="drillSite"/>-->
-          
+
           <!-- <el-table-column label="演练时间" align="center" width="300">
             <template slot-scope="scope">
               {{scope.row.drillStartTime? dayjs(scope.row.drillStartTime).format("YYYY-MM-DD HH:MM") +" ~ "+dayjs(scope.row.drillEndTime).format("YYYY-MM-DD HH:MM"):''}}
@@ -129,7 +129,7 @@
                               type="text"
                               icon="el-icon-document-add"
                               v-if="canEvaluate(scope.row)"
-                              @click="handleRecorded(scope.row.id)"
+                              @click="handleEvaluate(scope.row.id)"
                               v-hasPermi="['core:drillTask:evaluate']"
                             >评价</el-button>
               <el-button
@@ -160,6 +160,7 @@
     <dialog-info ref="infoDialog" @success="handleQuery(true)"></dialog-info>
     <dialog-perform ref="performDialog" @success="handleQuery(true)"></dialog-perform>
     <dialog-new-task ref="newTaskDialog"></dialog-new-task>
+    <dialog-evaluate ref="evaluateDialog"></dialog-evaluate>
   </div>
 </template>
 
@@ -169,6 +170,7 @@ import OrgTree from "@/components/orgTree";
 import DialogInfo from "./dialog.info";
 import DialogPerform from "./dialog.perform";
 import DialogNewTask from "./dialog.newtask";
+import DialogEvaluate from "./dialog.evaluate";
 import dayjs from "dayjs";
 
 export default {
@@ -178,6 +180,7 @@ export default {
     DialogInfo,
     DialogPerform,
     DialogNewTask,
+    DialogEvaluate,
     OrgTree,
     dayjs
   },
@@ -322,12 +325,16 @@ export default {
     handleRecorded(id) {
       this.$refs["performDialog"].show(id, {});
     },
+    /** 评价按钮操作 */
+    handleEvaluate(id) {
+      this.$refs["evaluateDialog"].show(id, {});
+    },
     /** 导出按钮操作 */
-    handleExport() {
+    /*handleExport() {
       this.download('system/eduTask/export', {
         ...this.queryParams
       }, `eduTask_${new Date().getTime()}.xlsx`)
-    },
+    },*/
     canEvaluate(row) {
       //仅行社安全保卫管理人员进入且演练任务处于待评价状态才显示
       return row.status == 2 && this.$store.getters.roleList.some(item => item.roleId == 120) && this.isNotOverOrUnStart(row);

+ 27 - 28
src/views/core/edu/plan/index.vue

@@ -44,15 +44,14 @@
           <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-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd"
+                       v-hasPermi="['core:plan:add']">新增任务
+            </el-button>
           </el-form-item>
         </el-form>
 
         <el-row :gutter="10" class="mb8">
-          <el-col :span="1.5">
-            <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd"
-                       v-hasPermi="['core:plan: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="['core:plan:edit']">修改
@@ -119,7 +118,7 @@
           </el-table-column>
 
           <el-table-column label="备注" align="center" prop="remark"/>
-          <el-table-column label="操作" width="160" fixed="right" align="center" class-name="small-padding fixed-width">
+          <el-table-column label="操作" width="220" fixed="right" align="center" class-name="small-padding fixed-width">
             <template slot-scope="scope">
               <el-button v-if="checkCanPublish(scope.row)" size="mini" type="text" icon="el-icon-down"
                          @click="handlePublish(scope.row)" v-hasPermi="['core:plan:edit']">下发
@@ -162,22 +161,15 @@
               </el-select>
             </el-form-item>
           </el-col>
-
-
-          <el-col :span="12" v-show="form.planCycle != 0">
-            <el-form-item label="立即生效" prop="buildTaskNow">
-              <el-checkbox v-model="form.buildTaskNow">
-                默认从下个周期生成任务,
-                <br/>
-                勾选后从当前周期立即生成任务
-                <!--                <el-popover placement="top-start" title="" width="200" trigger="hover"
-                                            content="默认从下个周期生成任务,勾选后从当前周期立即生成任务">
-                                  <i class="el-icon-warning-outline change-icon" slot="reference"></i>
-                                </el-popover>-->
-              </el-checkbox>
+          <el-col :span="12">
+            <el-form-item label="任务次数" prop="execTimes">
+              <template>
+                <el-input-number style="width: 100%" v-model="form.execTimes" :min="1" :max="10"></el-input-number>
+              </template>
             </el-form-item>
-
           </el-col>
+
+
           <!--     <el-col :span="12">
                  <el-form-item label="培训角色" prop="planRoleId">
                    <el-select style="width: 100%"  v-model="form.planRoleId" placeholder="请选择" multiple>
@@ -206,6 +198,20 @@
         </el-row>
 
         <el-row>
+          <el-col :span="12" v-show="form.planCycle != 0">
+            <el-form-item label="立即生效" prop="buildTaskNow">
+              <el-checkbox v-model="form.buildTaskNow">
+                默认从下个周期生成任务,
+                <br/>
+                勾选后从当前周期立即生成任务
+                <!--                <el-popover placement="top-start" title="" width="200" trigger="hover"
+                                            content="默认从下个周期生成任务,勾选后从当前周期立即生成任务">
+                                  <i class="el-icon-warning-outline change-icon" slot="reference"></i>
+                                </el-popover>-->
+              </el-checkbox>
+            </el-form-item>
+
+          </el-col>
           <el-col :span="12">
             <el-form-item label="受训机构类型" prop="execOrgType">
               <el-select style="width: 100%" v-model="form.execOrgType" placeholder="请选择受训机构类型"
@@ -215,13 +221,6 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="任务次数" prop="execTimes">
-              <template>
-                <el-input-number style="width: 100%" v-model="form.execTimes" :min="1" :max="10"></el-input-number>
-              </template>
-            </el-form-item>
-          </el-col>
         </el-row>
         <el-row>
           <!--          <el-col :span="12">
@@ -232,7 +231,7 @@
                         </el-select>
                       </el-form-item>
                     </el-col>-->
-          <el-col :span="12">
+          <el-col :span="24">
             <el-form-item v-show="form.execOrgType" label="受训机构" prop="planExecOrgIdList">
               <org-tree-select v-model="form.planExecOrgIdList" :queryData="form.execOrgType"
                                ref="orgTreeSelect" :enabledCheckOrgTypes="form.execOrgType" :disable="true">

+ 2 - 0
src/views/core/edu/task/dialog.perform.vue

@@ -42,6 +42,7 @@
               <el-form-item prop="trainingStartDateTime" label="培训开始时间">
                 <el-date-picker required v-model="formData.trainingStartDateTime"
                                 :picker-options="startDatepickerOptions"
+                                format="yyyy-MM-dd HH:mm"
                                 type="datetime" placeholder="选择日期" @change="startDateChanged">
                 </el-date-picker>
               </el-form-item>
@@ -50,6 +51,7 @@
               <el-form-item prop="trainingEndDateTime" label="培训结束时间">
                 <el-date-picker required v-model="formData.trainingEndDateTime" :picker-options="endDatepickerOptions"
                                 @change="endDateChanged"
+                                format="yyyy-MM-dd HH:mm"
                                 type="datetime" placeholder="选择日期">
                 </el-date-picker>
               </el-form-item>

+ 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(() => {
-          });
-        },
   
       }
     };

+ 1 - 1
src/views/resumption/rule/dialog.edit.vue

@@ -69,7 +69,7 @@
       </div>
 
       <div slot="footer" class="dialog-footer">
-        <el-button @click="isShow = false">取消</el-button>
+        <el-button type="primary" @click="isShow = false">取消</el-button>
         <el-button type="primary" @click="onSubmit">确定</el-button>
       </div>
     </DialogCom>

+ 8 - 7
src/views/resumption/rule/index.vue

@@ -48,6 +48,13 @@
             </el-select>
           </el-form-item>
           <el-form-item>
+            
+          </el-form-item>
+        </el-form>
+
+        <!--    按纽    -->
+        <el-row :gutter="10" class="mb8">
+          <el-col :span="1.5">
             <el-button
               type="primary"
               icon="el-icon-search"
@@ -56,15 +63,9 @@
               v-hasPermi="['resumption:rule:query']"
               >搜索</el-button
             >
-            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+            <el-button type="primary" icon="el-icon-refresh" size="mini" @click="resetQuery"
               >重置</el-button
             >
-          </el-form-item>
-        </el-form>
-
-        <!--    按纽    -->
-        <el-row :gutter="10" class="mb8">
-          <el-col :span="1.5">
             <el-button
               type="primary"
               icon="el-icon-plus"

+ 1 - 1
src/views/resumption/ruleManager/dialog.editItem.vue

@@ -70,7 +70,7 @@
       </div>
 
       <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible = false">取 消</el-button>
+        <el-button type="primary"  @click="dialogVisible = false">取 消</el-button>
         <el-button type="primary" @click="onSubmit()">保 存</el-button>
       </div>
     </DialogCom>

+ 5 - 7
src/views/resumption/ruleManager/index.vue

@@ -14,16 +14,14 @@
           </el-form-item>
           <el-form-item prop="pointName" label="履职内容">
             <el-input v-model="queryParams.pointName" placeholder="请输入履职内容" maxlength="50" clearable></el-input>
-          </el-form-item>
-          <el-form-item>
-            <el-button type="primary" icon="el-icon-search" size="mini" @click="refresh"
-              v-hasPermi="['resumption:ruleManager']">搜索</el-button>
-            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
-          </el-form-item>
+          </el-form-item>         
         </el-form>
         <!--    按纽    -->
         <el-row :gutter="10" class="mb8">
           <el-col :span="1.5">
+            <el-button type="primary" icon="el-icon-search" size="mini" @click="refresh"
+              v-hasPermi="['resumption:ruleManager']">搜索</el-button>
+            <el-button type="primary" icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
             <el-button type="primary" size="mini" icon="el-icon-plus" @click="onAddItem()" :disabled="rule ? false : true"
               v-hasPermi="['resumption:ruleManager:add']"
               v-if="rule && rule.orgId == orgId && rule.ruleStatus == 0">新增</el-button>
@@ -32,7 +30,7 @@
               @click="onSelect()"
               >选择</el-button
             > -->
-            <el-button type="warning" @click="dakai" size="mini" :disabled="rule ? false : true">{{ expandAll ? "收起所有行" :
+            <el-button type="primary" :icon="expandAll ?'el-icon-arrow-up':'el-icon-arrow-down'" @click="dakai" size="mini" :disabled="rule ? false : true">{{ expandAll ? "收起所有行" :
               "展开所有行" }}</el-button>
           </el-col>
           <!-- <el-col :span="1.5">

+ 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="100"
+              v-if="columns[0].visible"
+            />
+            <el-table-column
+              label="姓名"
+              align="center"
+              key="name"
+              prop="name"
+              width="100"
+              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="60"
+            >
+              <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="160"
+            >
+              <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"
+              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
+            v-show="total > 0"
+            :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;