刘琳琳 hai 3 meses
pai
achega
dba4c93fdd
Modificáronse 34 ficheiros con 1404 adicións e 1499 borrados
  1. 116 114
      src/components/BatchUpload/index.vue
  2. 1 1
      src/views/HealthCode_three/index.vue
  3. 200 203
      src/views/anomaly_warning/index.vue
  4. 7 7
      src/views/audit_authority/index.vue
  5. 251 338
      src/views/black_list/index.vue
  6. 1 1
      src/views/common_functions/components/Xiaosha_record.vue
  7. 7 7
      src/views/common_functions/components/user_setting.vue
  8. 1 1
      src/views/common_functions/problem_list.vue
  9. 5 5
      src/views/enterprise_manage/index.vue
  10. 13 13
      src/views/exam_list/index.vue
  11. 47 28
      src/views/exception_model/components/details_list.vue
  12. 41 31
      src/views/exception_model/index.vue
  13. 16 41
      src/views/exception_model/scalper_blacklist.vue
  14. 96 91
      src/views/issue_list/detailPage.vue
  15. 83 77
      src/views/issue_list/index.vue
  16. 9 9
      src/views/issue_records/index.vue
  17. 22 26
      src/views/kind_list/index.vue
  18. 8 8
      src/views/machine_list/components/thirdPart_machine_list.vue
  19. 5 5
      src/views/make_appointment/appointment_list.vue
  20. 3 3
      src/views/merchants/index.vue
  21. 95 91
      src/views/monitor_management/index.vue
  22. 1 1
      src/views/pass_records/components/thirdPart_pass_records.vue
  23. 1 1
      src/views/private_area/index.vue
  24. 7 7
      src/views/private_area/table.vue
  25. 3 3
      src/views/setting/components/machine_company.vue
  26. 4 3
      src/views/setting/components/machine_type.vue
  27. 5 4
      src/views/setting/components/pass_records_search.vue
  28. 6 6
      src/views/task_list/index.vue
  29. 113 110
      src/views/visitee_list/index.vue
  30. 117 115
      src/views/visitee_list/modal/AddModal.vue
  31. 4 4
      src/views/visitee_list/modal/UploadModal.vue
  32. 3 3
      src/views/visitors_list/index.vue
  33. 98 126
      src/views/warning_record/index.vue
  34. 15 16
      src/views/white_list/index.vue

+ 116 - 114
src/components/BatchUpload/index.vue

@@ -11,227 +11,229 @@
       />
     </a> -->
     <el-button
+      v-if="fileType === 'directoryImage'"
       type="primary"
       @click="upload"
-      v-if="fileType === 'directoryImage'"
     >
       确定
     </el-button>
-    <a href="javascript:;" class="file" v-if="fileType === 'excel'">
+    <a v-if="fileType === 'excel'" href="javascript:;" class="file">
       批量导入
       <input
+        ID="fileSelect"
         type="file"
         accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel"
-        ID="fileSelect"
         runat="server"
         @change="upload($event, 'excel')"
-      />
+      >
     </a>
   </span>
 </template>
 
 <script>
-import * as XLSX from "xlsx";
+import * as XLSX from 'xlsx'
 export default {
-  name: "BatchUpload",
+  name: 'BatchUpload',
   components: {},
   props: {
-    //图片允许的文件格式
+    // 图片允许的文件格式
     formatStyles: {
       type: Array,
       default() {
-        return ["png", "jpg", "jpeg"];
-      },
+        return ['png', 'jpg', 'jpeg']
+      }
     },
-    //要求文件命名至少包含的项数,并指定返回的key值;----> 命名规则 A-B-C-D-E.XXX   则返回,A=name  B=idNumber  C=cardIdEx
+    // 要求文件命名至少包含的项数,并指定返回的key值;----> 命名规则 A-B-C-D-E.XXX   则返回,A=name  B=idNumber  C=cardIdEx
     needFileNameList: {
-      type: Array,
+      type: Array
       // default() {
       //   return ["name", "idNumber", "cardIdEx"];
       // },
     },
-    //调用种类 directoryImage->文件夹图片  excel->excel文件
+    // 调用种类 directoryImage->文件夹图片  excel->excel文件
     fileType: {
       type: String,
-      default: "directoryImage",
+      default: 'directoryImage'
     },
     file: {
-      type: FileList,
-    },
+      type: FileList
+    }
   },
   data() {
-    return {};
+    return {}
   },
   watch: {},
+  mounted() {},
   methods: {
     upload(e, type) {
-      let files = e.target.files || this.file;
-      //若出现files赋值未知错误值或照片长度不对则return
+      const files = e.target.files || this.file
+      // 若出现files赋值未知错误值或照片长度不对则return
       if (!files || files.length < 1) {
-        return this.$message.error("请上传");
+        return this.$message.error('请上传')
       }
       // 如果是批量上传图片走这里
       if (this.file) {
         if (!this.needFileNameList) {
-          return this.$message.error("请选择命名参数");
+          return this.$message.error('请选择命名参数')
         }
-        if (this.needFileNameList.indexOf("name") === -1) {
-          return this.$message.error("姓名为必填项");
+        if (this.needFileNameList.indexOf('name') === -1) {
+          return this.$message.error('姓名为必填项')
         }
         if (
-          this.needFileNameList.indexOf("idNumber") > -1 ||
-          this.needFileNameList.indexOf("cardIdEx") > -1 ||
-          this.needFileNameList.indexOf("phone") > -1
+          this.needFileNameList.indexOf('idNumber') > -1 ||
+          this.needFileNameList.indexOf('cardIdEx') > -1 ||
+          this.needFileNameList.indexOf('phone') > -1
         ) {
-          //找出所有图片
-          this.getPhotoList(Array.from(files));
+          // 找出所有图片
+          this.getPhotoList(Array.from(files))
         } else {
-          return this.$message.error("手机号、身份证、卡号任选其一必选");
+          return this.$message.error('手机号、身份证、卡号任选其一必选')
         }
       }
-      //判断文件类型,调用不同的处理办法
+      // 判断文件类型,调用不同的处理办法
       switch (type) {
-        case "directoryImage":
-          //找出所有图片
-          this.getPhotoList(Array.from(files));
-          break;
-        case "excel":
-          //处理excel
-          this.getJsonList(Array.from(files));
-          break;
+        case 'directoryImage':
+          // 找出所有图片
+          this.getPhotoList(Array.from(files))
+          break
+        case 'excel':
+          // 处理excel
+          this.getJsonList(Array.from(files))
+          break
         default:
-          break;
+          break
       }
     },
     getPhotoList(files) {
-      let photoList = {
+      const photoList = {
         correct: [],
-        incorrect: [],
-      };
+        incorrect: []
+      }
       files.forEach((item) => {
-        let arr = item.name.split(".");
-        let formatStyle = arr[arr.length - 1];
-        //若文件类型不在指定类型中,则不处理
+        const arr = item.name.split('.')
+        const formatStyle = arr[arr.length - 1]
+        // 若文件类型不在指定类型中,则不处理
         if (!this.formatStyles.includes(formatStyle)) {
           photoList.incorrect.push({
             reason:
-              "文件格式要求为" +
-              this.formatStyles.join(",") +
-              ",上传的类型为" +
+              '文件格式要求为' +
+              this.formatStyles.join(',') +
+              ',上传的类型为' +
               formatStyle,
-            file: item,
-          });
-          return;
+            file: item
+          })
+          return
         } else if (item.size > 1024 * 1024 * 2) {
-          //要求文件大小不大于指定值 单位:字节
+          // 要求文件大小不大于指定值 单位:字节
           photoList.incorrect.push({
             reason:
-              "单张图片大小要求为2M内,上传的图片大小为" +
+              '单张图片大小要求为2M内,上传的图片大小为' +
               item.size / 1024 / 1024 +
-              "M",
-            file: item,
-          });
-          return;
+              'M',
+            file: item
+          })
+          return
         }
 
-        let obj = this.matchNeedFileNameList(item, arr[0]);
-        photoList[obj.status ? "correct" : "incorrect"].push(obj.file);
-      });
-      this.doUpload(photoList);
+        const obj = this.matchNeedFileNameList(item, arr[0])
+        photoList[obj.status ? 'correct' : 'incorrect'].push(obj.file)
+      })
+      this.doUpload(photoList)
     },
     matchNeedFileNameList(file, fileName) {
-      let arrContent = fileName.split("-");
-      let obj = {
+      const arrContent = fileName.split('-')
+      const obj = {
         status: true,
-        file: {},
-      };
+        file: {}
+      }
       if (
         arrContent.length < this.needFileNameList.length ||
         arrContent.some((name) => {
-          return !name;
+          return !name
         })
       ) {
         return {
           status: false,
           file: {
             reason:
-              "文件没有按指定要求命名,需要" + this.needFileNameList.join(","),
-            file: file,
-          },
-        };
+              '文件没有按指定要求命名,需要' + this.needFileNameList.join(','),
+            file: file
+          }
+        }
       }
       this.needFileNameList.forEach((item, index) => {
-        obj.file[item] = arrContent[index].trim() || "";
-      });
-      obj.file["avatar"] = file;
-      return obj;
+        obj.file[item] = arrContent[index].trim() || ''
+      })
+      obj.file['avatar'] = file
+      return obj
     },
     doUpload(photoList) {
-      this.$emit("getFileList", photoList);
+      this.$emit('getFileList', photoList)
     },
     // 处理excel文件的内容
     getJsonList(files) {
-      //只处理第一个文件;
-      let file = files[0];
-      let reader = new FileReader();
-      let photoList = {
+      // 只处理第一个文件;
+      const file = files[0]
+      const reader = new FileReader()
+      const photoList = {
         correct: [],
-        incorrect: [],
-      };
-      reader.readAsBinaryString(file);
+        incorrect: []
+      }
+      reader.readAsBinaryString(file)
       reader.onload = (e) => {
         // 获取传递的表格
-        let binaryString = e.target.result;
+        const binaryString = e.target.result
         // 以二进制流方式读取到整份的excel 表格对象
-        let workbook = XLSX.read(binaryString, {
-          type: "binary",
+        const workbook = XLSX.read(binaryString, {
+          type: 'binary',
           sheetRows: 0,
-          codepage: 936,
-        });
-        let data = [];
+          codepage: 936
+        })
+        let data = []
         // 遍历每张表读取
-        for (let sheet in workbook.Sheets) {
-          data = data.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet]));
+        for (const sheet in workbook.Sheets) {
+          data = data.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet]))
         }
-        photoList["correct"] = data;
-        this.doUpload(photoList);
-      };
-    },
-  },
-  mounted() {},
-};
+        photoList['correct'] = data
+        this.doUpload(photoList)
+      }
+    }
+  }
+}
 </script>
 
-<style scoped>
+<style scoped lang="scss">
 /*批量导入按钮*/
 .file {
-  margin: 10px 0 0 10px;
+  margin: 10px 10px 0 10px;
   position: relative;
   background: #d0eeff;
   border: 1px solid #99d3f5;
   border-radius: 4px;
-  padding: 10px 20px;
+  padding: 12px 20px;
   box-sizing: border-box;
   overflow: hidden;
   color: #1e88c7;
   text-decoration: none;
   text-indent: 0;
-}
-.file input {
-  position: absolute;
   font-size: 14px;
-  width: 106px;
-  height: 40px;
-  left: 0;
-  top: 0;
-  opacity: 0;
-  cursor: pointer;
-}
-.file:hover {
-  background: #aadffd;
-  border-color: #78c3f3;
-  color: #004974;
-  text-decoration: none;
+
+  input {
+    position: absolute;
+    font-size: 14px;
+    width: 106px;
+    height: 40px;
+    left: 0;
+    top: 0;
+    opacity: 0;
+    cursor: pointer;
+  }
+  &:hover {
+    background: #aadffd;
+    border-color: #78c3f3;
+    color: #004974;
+    text-decoration: none;
+  }
 }
 .el-button {
   margin-left: 10px;

+ 1 - 1
src/views/HealthCode_three/index.vue

@@ -126,7 +126,7 @@
           <span>{{ scope.row.requestNumberLimit?scope.row.validRequestTimes:'无限次' }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="创建时间" align="center">
+      <el-table-column label="创建时间" align="center" width="160">
         <template slot-scope="scope">
           <span>{{ scope.row.createTime | matchNull }}</span>
         </template>

+ 200 - 203
src/views/anomaly_warning/index.vue

@@ -1,30 +1,30 @@
 <template>
-  <div class="app-container" v-loading="downloadLoading">
+  <div v-loading="downloadLoading" class="app-container">
     <!--搜索区-->
     <el-input
       v-model="page.data.name"
       placeholder="请输入姓名"
       class="margin-left input"
-    ></el-input>
+    />
     <el-input
       v-model="page.data.phone"
       placeholder="请输入手机号"
       class="margin-left input"
-    ></el-input>
+    />
     <el-input
       v-model="page.data.idNumber"
       placeholder="请输入身份证号"
       class="margin-left input"
-    ></el-input>
+    />
     <el-input
       v-model="page.data.cardIdEx"
       placeholder="请输入卡号"
       class="margin-left input"
-    ></el-input>
+    />
     <el-select
+      v-model="page.data.deviceSn"
       filterable
       clearable
-      v-model="page.data.deviceSn"
       placeholder="请选择设备编号"
       class="margin-left input"
     >
@@ -33,13 +33,12 @@
         :key="item.sn"
         :label="item.sn"
         :value="item.sn"
-      >
-      </el-option>
+      />
     </el-select>
     <el-select
+      v-model="page.data.deviceSn"
       filterable
       clearable
-      v-model="page.data.deviceSn"
       placeholder="请选择设备地点"
       class="margin-left input"
     >
@@ -48,13 +47,12 @@
         :key="item.sn"
         :label="item.name"
         :value="item.sn"
-      >
-      </el-option>
+      />
     </el-select>
     <el-select
+      v-model="page.data.pass"
       filterable
       clearable
-      v-model="page.data.pass"
       placeholder="请选择进出门"
       class="margin-left input"
     >
@@ -63,13 +61,12 @@
         :key="item.id"
         :label="item.name"
         :value="item.id"
-      >
-      </el-option>
+      />
     </el-select>
     <el-select
+      v-model="page.data.verifyType"
       filterable
       clearable
-      v-model="page.data.verifyType"
       placeholder="请选择验证类型"
       class="margin-left input"
     >
@@ -78,13 +75,12 @@
         :key="item.id"
         :label="item.name"
         :value="item.id"
-      >
-      </el-option>
+      />
     </el-select>
     <el-select
+      v-model="page.data.rightno"
       filterable
       clearable
-      v-model="page.data.rightno"
       placeholder="请选择人员类型"
       class="margin-left input"
     >
@@ -93,8 +89,7 @@
         :key="item.id"
         :label="item.name"
         :value="item.id"
-      >
-      </el-option>
+      />
     </el-select>
     <el-date-picker
       v-model="page.data.startTime"
@@ -102,23 +97,20 @@
       placeholder="选择通行开始时间"
       value-format="yyyy-MM-dd HH:mm:ss"
       class="margin-left"
-    >
-    </el-date-picker>
+    />
     <el-date-picker
       v-model="page.data.endTime"
       type="datetime"
       placeholder="选择通行结束时间"
       value-format="yyyy-MM-dd HH:mm:ss"
       class="margin-left"
-    >
-    </el-date-picker>
+    />
     <el-button
       type="primary"
       icon="el-icon-search"
       class="margin-left"
       @click="fetchData"
-      >搜索</el-button
-    >
+    >搜索</el-button>
     <el-tooltip
       class="item"
       effect="dark"
@@ -126,13 +118,12 @@
       placement="top-start"
     >
       <el-button
+        v-if="isOut === 1"
         type="primary"
         icon="el-icon-download"
         class="margin-left"
         @click="download"
-        v-if="isOut === 1"
-        >导出记录</el-button
-      >
+      >导出记录</el-button>
     </el-tooltip>
 
     <el-tooltip
@@ -142,26 +133,24 @@
       placement="top-start"
     >
       <el-button
+        v-if="isOut === 1"
         type="primary"
         icon="el-icon-download"
         class="margin-left"
         @click="steakPhoto(500)"
-        v-if="isOut === 1"
-        >导出照片</el-button
-      >
+      >导出照片</el-button>
     </el-tooltip>
     <el-button
       type="primary"
       :icon="!isUpdate ? 'el-icon-refresh-left' : 'el-icon-loading'"
       class="margin-left"
       @click="isUpdate ? stopUpdate() : autoUpdate()"
-      >{{ !isUpdate ? "打开自动刷新" : "关闭自动刷新" }}</el-button
-    >
+    >{{ !isUpdate ? "打开自动刷新" : "关闭自动刷新" }}</el-button>
     <!--主表格-->
     <el-table
-      class="table"
       ref="table_form"
       v-loading="listLoading"
+      class="table"
       :data="list"
       element-loading-text="Loading"
       border
@@ -173,126 +162,137 @@
           {{ indexMethod(scope.$index) }}
         </template>
       </el-table-column>
-      <el-table-column label="设备编号" align="center">
+      <el-table-column label="设备编号" align="center" width="150">
         <template slot-scope="scope">
           {{ scope.row.deviceSn | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="设备地点" align="center">
+      <el-table-column label="设备地点" align="center" width="150">
         <template slot-scope="scope">
           <span>{{ scope.row.faceDeviceName | matchNull }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="设备类型" align="center">
+      <el-table-column label="设备类型" align="center" width="120">
         <template slot-scope="scope">
           <span>{{ scope.row.faceDeviceTypeName | matchNull }}</span>
         </template>
       </el-table-column>
 
-      <el-table-column label="用户姓名" align="center">
+      <el-table-column label="用户姓名" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.name | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="现场照片" align="center">
+      <el-table-column label="现场照片" align="center" width="120">
         <template slot-scope="scope">
           <el-image
             style="width: 100px; height: 100px"
             :src="scope.row.photo"
             :preview-src-list="[scope.row.photo]"
-          >
-          </el-image>
+          />
         </template>
       </el-table-column>
-      <el-table-column label="证件号" align="center">
+      <el-table-column label="证件号" align="center" width="150">
         <template slot-scope="scope">
           {{ scope.row.cardid }}
         </template>
       </el-table-column>
-      <el-table-column label="卡号" align="center">
+      <el-table-column label="卡号" align="center" width="150">
         <template slot-scope="scope">
           {{ scope.row.cardIdEx }}
         </template>
       </el-table-column>
-      <el-table-column label="手机号码" align="center">
+      <el-table-column label="手机号码" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.phone }}
         </template>
       </el-table-column>
-      <el-table-column label="进/出" align="center">
+      <el-table-column label="进/出" align="center" width="100">
         <template slot-scope="scope">
-          <el-tag type="success" effect="light" v-if="scope.row.outType === 0"
-            >通用</el-tag
-          >
           <el-tag
+            v-if="scope.row.outType === 0"
+            type="success"
+            effect="light"
+          >通用</el-tag>
+          <el-tag
+            v-else-if="scope.row.outType === 1"
             type="primary"
             effect="plain"
-            v-else-if="scope.row.outType === 1"
-            >进门</el-tag
-          >
+          >进门</el-tag>
           <el-tag
+            v-else-if="scope.row.outType === 2"
             type="primary"
             effect="dark"
-            v-else-if="scope.row.outType === 2"
-            >出门</el-tag
-          >
+          >出门</el-tag>
           <el-tag v-else>其它</el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="验证类型" align="center">
+      <el-table-column label="验证类型" align="center" width="120">
         <template slot-scope="scope">
-          <el-tag type="primary" plain v-if="scope.row.verifyType === 0"
-            >人脸</el-tag
-          >
-          <el-tag type="primary" plain v-else-if="scope.row.verifyType === 1"
-            >IC卡</el-tag
-          >
-          <el-tag type="primary" plain v-else-if="scope.row.verifyType === 2"
-            >身份证</el-tag
-          >
-          <el-tag type="primary" plain v-else-if="scope.row.verifyType === 3"
-            >二维码</el-tag
-          >
-          <el-tag type="primary" plain v-else-if="scope.row.verifyType === 4"
-            >远程</el-tag
-          >
-          <el-tag type="primary" plain v-else-if="scope.row.verifyType === 6"
-            >IC卡+人脸</el-tag
-          >
+          <el-tag
+            v-if="scope.row.verifyType === 0"
+            type="primary"
+            plain
+          >人脸</el-tag>
+          <el-tag
+            v-else-if="scope.row.verifyType === 1"
+            type="primary"
+            plain
+          >IC卡</el-tag>
+          <el-tag
+            v-else-if="scope.row.verifyType === 2"
+            type="primary"
+            plain
+          >身份证</el-tag>
+          <el-tag
+            v-else-if="scope.row.verifyType === 3"
+            type="primary"
+            plain
+          >二维码</el-tag>
+          <el-tag
+            v-else-if="scope.row.verifyType === 4"
+            type="primary"
+            plain
+          >远程</el-tag>
+          <el-tag
+            v-else-if="scope.row.verifyType === 6"
+            type="primary"
+            plain
+          >IC卡+人脸</el-tag>
           <el-tag v-else>其它</el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="人员类型" align="center">
+      <el-table-column label="人员类型" align="center" width="120">
         <template slot-scope="scope">
-          <el-tag type="" effect="plain" v-if="scope.row.rightno === 104"
-            >访客</el-tag
-          >
           <el-tag
-            type="success"
+            v-if="scope.row.rightno === 104"
+            type=""
             effect="plain"
+          >访客</el-tag>
+          <el-tag
             v-else-if="scope.row.rightno === 105"
-            >员工</el-tag
-          >
+            type="success"
+            effect="plain"
+          >员工</el-tag>
           <el-tag
+            v-else-if="scope.row.rightno === 101"
             type="info"
             effect="plain"
-            v-else-if="scope.row.rightno === 101"
-            >黑名单</el-tag
-          >
-          <el-tag type="info" effect="plain" v-else>未知</el-tag>
+          >黑名单</el-tag>
+          <el-tag v-else type="info" effect="plain">未知</el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="通行时间" align="center">
+      <el-table-column label="通行时间" align="center" width="150">
         <template slot-scope="scope">
           {{ scope.row.faceTime }}
         </template>
       </el-table-column>
-      <el-table-column label="预警原因" align="center">
+      <el-table-column label="预警原因" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.warningMsg }}
         </template>
       </el-table-column>
-      <el-table-column label="备注" align="center">
+      <el-table-column label="备注" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.remark }}
         </template>
@@ -309,21 +309,18 @@
             type="primary"
             size="small"
             @click="clickSure(scope.row.waringLogId)"
-            >确认</el-button
-          >
+          >确认</el-button>
           <el-button
             type="danger"
             size="small"
             @click="deleteItem(scope.row.waringLogId, 1)"
-            >删除</el-button
-          >
+          >删除</el-button>
           <el-button
             v-if="!scope.row.isBlack"
             type="danger"
             size="small"
             @click="deleteItem(scope.row.waringLogId, 2)"
-            >拉黑</el-button
-          >
+          >拉黑</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -341,8 +338,8 @@
       destroy-on-close
     >
       <el-form
-        :model="sure_form"
         ref="sure_form"
+        :model="sure_form"
         label-width="60px"
         label-position="left"
       >
@@ -350,7 +347,7 @@
           <el-input
             v-model="sure_form.remark"
             placeholder="请输入备注信息"
-          ></el-input>
+          />
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -361,46 +358,46 @@
 </template>
 
 <script>
-import detailsDialog from "@/components/DialogDetails/index.vue";
+import detailsDialog from '@/components/DialogDetails/index.vue'
 
 import {
-  getFaceDeviceList,
-} from "@/api/old_api_pengwenbing";
-import Pagination from "@/components/Pagination";
-import { checkRole } from "@/utils/checkRole";
+  getFaceDeviceList
+} from '@/api/old_api_pengwenbing'
+import Pagination from '@/components/Pagination'
+import { checkRole } from '@/utils/checkRole'
 import {
-  getUserListSearch,
-} from "@/api/user_manage";
-import { parseTime } from "@/utils";
-import { downloadPhotosWarningPassRecords } from "@/utils/steakPhoto"; // secondary package based on el-pagination
+  getUserListSearch
+} from '@/api/user_manage'
+import { parseTime } from '@/utils'
+import { downloadPhotosWarningPassRecords } from '@/utils/steakPhoto' // secondary package based on el-pagination
 import {
   doGetWaringServerLog,
   doGetWaringServerLogExcel,
   warningSure,
   warningDelete,
-  warningBlack,
-} from "@/api/user_manage";
+  warningBlack
+} from '@/api/user_manage'
 
 export default {
   components: { Pagination, detailsDialog },
   filters: {
     matchNull(str) {
       if (!str) {
-        return "未记录";
+        return '未记录'
       } else {
-        return str;
+        return str
       }
     },
     aAecimal(str) {
-      return (str = str.slice(0, 4));
-    },
+      return (str = str.slice(0, 4))
+    }
   },
   data() {
     return {
       // 主表格&主表格加载状态
       list: [],
       listLoading: true,
-      downloadLoading: false, //导出加载
+      downloadLoading: false, // 导出加载
       // 分页参数
       page: {
         data: {
@@ -409,15 +406,15 @@ export default {
           phone: null,
           cardIdEx: null,
           deviceSn: null,
-          startTime: "",
-          endTime: "",
+          startTime: '',
+          endTime: '',
           pass: null,
           verifyType: null,
           rightno: null,
-          contents: null, //自定义字段
+          contents: null // 自定义字段
         },
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 10
       },
       total: 0,
       // 账号列表_搜索
@@ -426,174 +423,174 @@ export default {
       machine_list: [],
       // 进出门_搜索
       into_door_list: [
-        { id: 0, name: "不限" },
-        { id: 1, name: "进门" },
-        { id: 2, name: "出门" },
+        { id: 0, name: '不限' },
+        { id: 1, name: '进门' },
+        { id: 2, name: '出门' }
       ],
       // 验证类型
       authentication_type_list: [
-        { id: 0, name: "人脸" },
+        { id: 0, name: '人脸' },
         // { id: "1", name: "IC卡" },
-        { id: 2, name: "身份证" },
-        { id: "3", name: "二维码" },
+        { id: 2, name: '身份证' },
+        { id: '3', name: '二维码' }
       ],
       // 人员类型
       Personnel_type_list: [
-        { id: 104, name: "访客" },
-        { id: 105, name: "员工" },
-        { id: 301, name: "预约人员" },
+        { id: 104, name: '访客' },
+        { id: 105, name: '员工' },
+        { id: 301, name: '预约人员' }
       ],
       // 是否可以导出
       isOut: this.$store.getters.isOut,
       // 是否打开自动更新
-      isUpdate: "",
+      isUpdate: '',
       row: {},
       // 确认情况
       sureVisible: false,
       sure_form: {
-        remark: null,
-      },
-    };
+        remark: null
+      }
+    }
   },
+  computed: {},
   created() {
-    this.page_copy = JSON.parse(JSON.stringify(this.page));
-    this.fetchData();
-    this.matchAutoUpdate();
-    this.getUserListSearch();
-    this.getFaceDeviceList();
+    this.page_copy = JSON.parse(JSON.stringify(this.page))
+    this.fetchData()
+    this.matchAutoUpdate()
+    this.getUserListSearch()
+    this.getFaceDeviceList()
   },
   beforeDestroy() {
-    var isUpdate = localStorage.getItem("isUpdateWarning");
+    var isUpdate = localStorage.getItem('isUpdateWarning')
     if (isUpdate) {
-      clearInterval(isUpdate);
+      clearInterval(isUpdate)
     }
   },
-  computed: {},
   methods: {
     // 查询权限
     checkRole,
     // 获取列表数据
     fetchData(isUpdate = false) {
-      this.listLoading = true;
+      this.listLoading = true
       doGetWaringServerLog(this.page).then((res) => {
-        this.list = res.data.list;
-        this.total = res.data.total;
-        this.listLoading = false;
-      });
+        this.list = res.data.list
+        this.total = res.data.total
+        this.listLoading = false
+      })
     },
     clickSure(id) {
-      this.sure_form.waringLogId = id;
-      this.sure_form.remark = null;
-      this.sureVisible = true;
+      this.sure_form.waringLogId = id
+      this.sure_form.remark = null
+      this.sureVisible = true
     },
     sureFun() {
       warningSure(this.sure_form).then((res) => {
-        this.sureVisible = false;
-        this.fetchData();
+        this.sureVisible = false
+        this.fetchData()
         this.$message({
-          type: "success",
-          message: "确认成功!",
-        });
-      });
+          type: 'success',
+          message: '确认成功!'
+        })
+      })
     },
     // 删除/拉黑
     deleteItem(id, type) {
-      this.$confirm(`确定要${type == 1 ? "删除" : "拉黑"}此人员吗?`, "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-        center: true,
-      }).then(async () => {
-        let res;
+      this.$confirm(`确定要${type == 1 ? '删除' : '拉黑'}此人员吗?`, '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+        center: true
+      }).then(async() => {
+        let res
         if (type == 1) {
-          res = await warningDelete(id);
+          res = await warningDelete(id)
         } else {
-          res = await warningBlack(id);
+          res = await warningBlack(id)
         }
         if (res.code == 200) {
-          this.fetchData();
+          this.fetchData()
           this.$message({
-            type: "success",
-            message: "操作成功!",
-          });
+            type: 'success',
+            message: '操作成功!'
+          })
         }
-      });
+      })
     },
     // 获取设备列表-搜索
     getFaceDeviceList() {
       getFaceDeviceList().then((res) => {
-        this.machine_list = res.data;
-      });
+        this.machine_list = res.data
+      })
     },
     // 获取账号列表数据_搜索
     getUserListSearch() {
       getUserListSearch().then((res) => {
-        this.user_list = res.data;
-      });
+        this.user_list = res.data
+      })
     },
     // 导出记录
     download() {
-      this.$prompt("请输入导出密码", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        closeOnClickModal: false,
+      this.$prompt('请输入导出密码', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        closeOnClickModal: false
       })
         .then(({ value }) => {
-          if (value == "Nqj##361") {
+          if (value == 'Nqj##361') {
             this.$message({
-              type: "success",
-              message: "密码正确,正在下载...",
-            });
-            this.downloadLoading = true;
+              type: 'success',
+              message: '密码正确,正在下载...'
+            })
+            this.downloadLoading = true
             doGetWaringServerLogExcel(this.page.data).then((res) => {
-              window.location.href = res;
-              this.downloadLoading = false;
-            });
+              window.location.href = res
+              this.downloadLoading = false
+            })
           } else {
             this.$message({
-              type: "error",
-              message: "您输入的密码不正确",
-            });
+              type: 'error',
+              message: '您输入的密码不正确'
+            })
           }
         })
         .catch(() => {
           this.$message({
-            type: "info",
-            message: "取消导出",
-          });
-        });
+            type: 'info',
+            message: '取消导出'
+          })
+        })
     },
-    //批量导出图片-带参数导出入口-BETA $1 查询参数  $2多少条
+    // 批量导出图片-带参数导出入口-BETA $1 查询参数  $2多少条
     steakPhoto(number) {
-      downloadPhotosWarningPassRecords(this.page, number);
+      downloadPhotosWarningPassRecords(this.page, number)
     },
     // 打开自动更新
     autoUpdate() {
       this.isUpdate = setInterval(() => {
-        this.fetchData(true);
-      }, 1000*60*5);
-      localStorage.setItem("isUpdateWarning", this.isUpdate);
+        this.fetchData(true)
+      }, 1000 * 60 * 5)
+      localStorage.setItem('isUpdateWarning', this.isUpdate)
     },
     // 关闭自动更新
     stopUpdate() {
-      clearInterval(this.isUpdate);
-      localStorage.setItem("isUpdateWarning", "");
-      this.isUpdate = "";
+      clearInterval(this.isUpdate)
+      localStorage.setItem('isUpdateWarning', '')
+      this.isUpdate = ''
     },
     // 检测上次自动更新状态
     matchAutoUpdate() {
-      var isUpdate = localStorage.getItem("isUpdateWarning");
+      var isUpdate = localStorage.getItem('isUpdateWarning')
       if (isUpdate) {
-        clearInterval(isUpdate);
-        this.autoUpdate();
+        clearInterval(isUpdate)
+        this.autoUpdate()
       }
     },
     // 返回列表序号
     indexMethod(index) {
-      return (this.page.pageNum - 1) * this.page.pageSize + index + 1;
-    },
-  },
-};
+      return (this.page.pageNum - 1) * this.page.pageSize + index + 1
+    }
+  }
+}
 </script>
 <style scoped>
 .table {

+ 7 - 7
src/views/audit_authority/index.vue

@@ -24,7 +24,7 @@
           {{ indexMethod(scope.$index) }}
         </template>
       </el-table-column>
-      <el-table-column label="照片" align="center">
+      <el-table-column label="照片" align="center" width="120">
         <template slot-scope="scope">
           <el-image
             style="width: 70px; height: 70px"
@@ -37,32 +37,32 @@
           </el-image>
         </template>
       </el-table-column>
-      <el-table-column label="所属企业" align="center">
+      <el-table-column label="所属企业" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.userWhitelistLessVO.username | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="姓名" align="center">
+      <el-table-column label="姓名" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.userWhitelistLessVO.name | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="手机号" align="center">
+      <el-table-column label="手机号" align="center" min-width="120">
         <template slot-scope="scope">
           {{ scope.row.userWhitelistLessVO.phone | desensitization( 3, 7) }}
         </template>
       </el-table-column>
-      <el-table-column label="身份证号" align="center">
+      <el-table-column label="身份证号"  align="center" width="160">
         <template slot-scope="scope">
           {{ scope.row.userWhitelistLessVO.idNumber | desensitization( 6,14) }}
         </template>
       </el-table-column>
-      <el-table-column label="卡号" align="center">
+      <el-table-column label="卡号" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.userWhitelistLessVO.cardIdEx | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="创建时间" align="center">
+      <el-table-column label="创建时间" align="center" width="160">
         <template slot-scope="scope">
           {{ scope.row.createTime | matchNull }}
         </template>

+ 251 - 338
src/views/black_list/index.vue

@@ -1,122 +1,74 @@
 <template>
   <div class="app-container">
-    <span v-if="checkRole([5, 99])">
-      <el-button
-        type="primary"
-        icon="el-icon-plus"
-        @click="create"
-        class="margin-left"
-        >添加黑名单</el-button
-      >
-      <el-button
-        type="primary"
-        icon="el-icon-download"
-        @click="batchDownloadMachineList"
-        class="margin-left"
-        >下载模板</el-button
-      >
-      <BatchUpload
-        fileType="excel"
-        @getFileList="getFileList"
-        :needFileNameList="['name', 'idNumber', 'cardIdEx']"
-      ></BatchUpload>
-    </span>
     <!--操作区-->
-    <el-input
-      v-model="page.data.name"
-      placeholder="请输入姓名"
-      class="margin-left input"
-    ></el-input>
-    <!-- <el-input
-      v-model="page.data.phone"
-      placeholder="请输入手机号"
-      class="margin-left input"
-    ></el-input> -->
-    <el-input
-      v-model="page.data.idNumber"
-      placeholder="请输入身份证号"
-      class="margin-left input"
-    ></el-input>
-    <el-select
-      v-if="checkRole([1, 2, 3, 4])"
-      v-model="page.data.username"
-      clearable
-      filterable
-      placeholder="请选择所属账号"
-      class="margin-left input"
-    >
-      <el-option
-        v-for="item in user_list"
-        :key="item.id"
-        :label="item.username"
-        :value="item.username"
-      >
-      </el-option>
-    </el-select>
-    <el-select
-      filterable
-      clearable
-      v-model="page.data.provinceId"
-      @change="chooseProvinceSearch"
-      placeholder="请选择省份"
-      class="margin-left input"
-      :disabled="checkRole([2, 3, 4, 5, 99])"
-    >
-      <el-option
-        v-for="item in province_list_search"
-        :key="item.areaCodeId"
-        :label="item.name"
-        :value="item.areaCodeId"
-      >
-      </el-option>
-    </el-select>
-    <el-select
-      filterable
-      clearable
-      v-model="page.data.cityId"
-      @change="chooseCitySearch"
-      placeholder="请选择城市"
-      class="margin-left input"
-      :disabled="checkRole([4, 5, 99])"
-    >
-      <el-option
-        v-for="item in city_list_search"
-        :key="item.areaCodeId"
-        :label="item.name"
-        :value="item.areaCodeId"
-      >
-      </el-option>
-    </el-select>
-    <el-select
-      filterable
-      clearable
-      v-model="page.data.areaId"
-      placeholder="请选择区域"
-      class="margin-left input"
-      :disabled="checkRole([5, 99])"
-    >
-      <el-option
-        v-for="item in area_list_search"
-        :key="item.areaCodeId"
-        :label="item.name"
-        :value="item.areaCodeId"
-      >
-      </el-option>
-    </el-select>
-    <el-button
-      type="primary"
-      icon="el-icon-search"
-      @click="fetchData"
-      class="margin-left"
-      >搜索</el-button
-    >
+    <div class="operation-box">
+      <div class="operation-box_btn">
+        <span v-if="checkRole([5, 99])">
+          <el-button
+            type="primary"
+            icon="el-icon-plus"
+            @click="create"
+          >添加黑名单</el-button>
+          <el-button
+            type="primary"
+            icon="el-icon-download"
+            @click="batchDownloadMachineList"
+          >下载模板</el-button>
+          <BatchUpload
+            file-type="excel"
+            :need-file-name-list="['name', 'idNumber', 'cardIdEx']"
+            @getFileList="getFileList"
+          />
+        </span>
+      </div>
+      <div class="operation-box_search">
+        <el-select
+          v-if="checkRole([1, 2, 3, 4])"
+          v-model="page.data.username"
+          clearable
+          filterable
+          placeholder="请选择所属账号"
+          class="search-input"
+        >
+          <el-option
+            v-for="item in user_list"
+            :key="item.id"
+            :label="item.username"
+            :value="item.username"
+          />
+        </el-select>
+        <el-input
+          v-model="page.data.name"
+          placeholder="请输入姓名"
+          class="search-input"
+        />
+        <!-- <el-input
+          v-model="page.data.phone"
+          placeholder="请输入手机号"
+          class="search-input"
+        ></el-input> -->
+        <el-input
+          v-model="page.data.idNumber"
+          placeholder="请输入身份证号"
+          class="search-input"
+        />
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          class="search-btn"
+          @click="fetchData"
+        >搜索</el-button>
+      </div>
+    </div>
+    <!--操作区-->
     <!--主表格-->
     <el-table
-      class="table"
       ref="table_form"
       v-loading="listLoading"
+      class="table"
       :data="list"
       element-loading-text="Loading"
+      height="calc(100vh - 280px)"
       border
       fit
       highlight-current-row
@@ -126,7 +78,7 @@
           {{ indexMethod(scope.$index) }}
         </template>
       </el-table-column>
-      <!-- <el-table-column label="实名照片" align="center">
+      <!-- <el-table-column label="实名照片" align="center" width="120">
         <template slot-scope="scope">
           <el-image
             style="width: 70px; height: 70px"
@@ -138,83 +90,43 @@
           </el-image>
         </template>
       </el-table-column> -->
-      <el-table-column label="姓名" align="center">
+      <el-table-column label="姓名" align="center" min-width="120">
         <template slot-scope="scope">
           {{ scope.row.name | matchNull }}
         </template>
       </el-table-column>
-      <!-- <el-table-column label="手机号" align="center">
+      <!-- <el-table-column label="手机号" align="center" min-width="120">
         <template slot-scope="scope">
           {{ scope.row.phone | matchNull}}
         </template>
       </el-table-column> -->
-      <el-table-column label="身份证号" align="center">
+      <el-table-column label="身份证号" align="center" min-width="150">
         <template slot-scope="scope">
           {{ scope.row.idNumber | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="省" align="center" v-if="checkRole([1, 2])">
-        <template slot-scope="scope">
-          {{ scope.row.provinceName | matchNull }}
-        </template>
-      </el-table-column>
-      <el-table-column label="市" align="center" v-if="checkRole([1, 2, 3])">
-        <template slot-scope="scope">
-          {{ scope.row.cityName | matchNull }}
-        </template>
-      </el-table-column>
-      <el-table-column label="区" align="center" v-if="checkRole([1, 2, 3, 4])">
-        <template slot-scope="scope">
-          {{ scope.row.areaName | matchNull }}
-        </template>
-      </el-table-column>
-      <el-table-column
-        label="街道"
-        align="center"
-        v-if="checkRole([1, 2, 3, 4])"
-      >
-        <template slot-scope="scope">
-          {{ scope.row.streetName | matchNull }}
-        </template>
-      </el-table-column>
-      <el-table-column
-        label="详细地址"
-        align="center"
-        v-if="checkRole([1, 2, 3, 4])"
-      >
-        <template slot-scope="scope">
-          {{ scope.row.address | matchNull }}
-        </template>
-      </el-table-column>
-      <el-table-column
-        label="所属组织名称"
-        align="center"
-        v-if="checkRole([1, 2, 3, 4])"
-      >
-        <template slot-scope="scope">
-          {{ scope.row.policeStationName | matchNull }}
-        </template>
-      </el-table-column>
-      <el-table-column label="创建时间" align="center">
+      <el-table-column label="创建时间" align="center" min-width="150">
         <template slot-scope="scope">
           {{ scope.row.createTime | matchNull }}
         </template>
       </el-table-column>
       <el-table-column
+        v-if="checkRole([1, 2, 3, 4])"
         label="所属账号"
         align="center"
-        v-if="checkRole([1, 2, 3, 4])"
+        min-width="150"
       >
         <template slot-scope="scope">
           {{ scope.row.username | matchNull }}
         </template>
       </el-table-column>
       <el-table-column
+        v-if="checkRole([1, 2, 5, 99])"
         align="center"
         prop=""
+        fixed="right"
         label="操作区"
         width="100"
-        v-if="checkRole([1, 2, 5, 99])"
       >
         <template slot-scope="scope">
           <el-button
@@ -222,8 +134,7 @@
             plain
             size="small"
             @click="removeUser(scope.row.id)"
-            >移除</el-button
-          >
+          >移除</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -236,20 +147,20 @@
     />
     <el-dialog title="添加黑名单" :visible.sync="dialogVisible" width="800px">
       <el-form
+        ref="form"
         :model="form"
         :rules="rules"
-        ref="form"
         label-width="120px"
         label-position="left"
       >
         <el-form-item label="姓名" prop="name">
-          <el-input v-model="form.name" placeholder="请输入姓名"></el-input>
+          <el-input v-model="form.name" placeholder="请输入姓名" />
         </el-form-item>
         <el-form-item label="身份证号" prop="idNumber">
           <el-input
             v-model="form.idNumber"
             placeholder="请输入身份证号"
-          ></el-input>
+          />
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -261,7 +172,7 @@
     <el-drawer
       :title="hasCompleted ? '导入已完成' : '正在处理中..'"
       :visible.sync="drawerVisible"
-      :wrapperClosable="false"
+      :wrapper-closable="false"
       size="50%"
       direction="rtl"
     >
@@ -274,11 +185,11 @@
           style="margin-top: 10px"
           :percentage="makePercent"
           :format="formatProgress"
-        ></el-progress>
+        />
         <el-table
-          class="table"
           ref="batch_upload_result"
           v-loading="false"
+          class="table"
           :data="batchUploadResultList"
           element-loading-text="Loading"
           border
@@ -291,17 +202,17 @@
               {{ scope.$index + 1 }}
             </template>
           </el-table-column>
-          <el-table-column label="姓名" align="center">
+          <el-table-column label="姓名" align="center" width="120">
             <template slot-scope="scope">
               {{ scope.row.name | matchNull }}
             </template>
           </el-table-column>
-          <el-table-column label="身份证号" align="center">
+          <el-table-column label="身份证号" align="center" min-width="170">
             <template slot-scope="scope">
               {{ scope.row.idNumber | matchNull }}
             </template>
           </el-table-column>
-          <el-table-column label="错误描述" align="center">
+          <el-table-column label="错误描述" align="center" width="120">
             <template slot-scope="scope">
               {{ scope.row.err | matchNull }}
             </template>
@@ -324,29 +235,29 @@
 import {
   getPageListBlack,
   removeBlack,
-  iuserBlackListInsert,
-} from "@/api/ordinary_user";
-import { checkRole } from "@/utils/checkRole";
-import Pagination from "@/components/Pagination";
+  iuserBlackListInsert
+} from '@/api/ordinary_user'
+import { checkRole } from '@/utils/checkRole'
+import Pagination from '@/components/Pagination'
 import {
   getArea,
   getCity,
   getProvince,
-  getUserListSearch,
-} from "@/api/user_manage";
-import BatchUpload from "@/components/BatchUpload";
-import { batchDownload } from "@/utils/batchDownload";
+  getUserListSearch
+} from '@/api/user_manage'
+import BatchUpload from '@/components/BatchUpload'
+import { batchDownload } from '@/utils/batchDownload'
 
 export default {
   components: { Pagination, BatchUpload },
   filters: {
     matchNull(str) {
       if (!str) {
-        return "暂无";
+        return '暂无'
       } else {
-        return str;
+        return str
       }
-    },
+    }
   },
   data() {
     return {
@@ -357,68 +268,74 @@ export default {
       page: {
         data: {
           username: null,
-          name: "",
-          phone: "",
-          idNumber: "",
+          name: '',
+          phone: '',
+          idNumber: '',
           provinceId: null,
           cityId: null,
-          areaId: null,
+          areaId: null
         },
         pageNum: 1,
-        pageSize: 10,
+        pageSize: 10
       },
       total: 0,
       // 账号列表_搜索
       user_list: [],
-      //省市县列表_搜索
+      // 省市县列表_搜索
       province_list_search: [],
       city_list_search: [],
       area_list_search: [],
       // 是否认证_搜索
       status_list: [
-        { id: 1, name: "已认证" },
-        { id: 2, name: "未认证" },
+        { id: 1, name: '已认证' },
+        { id: 2, name: '未认证' }
       ],
       form: {
         idNumber: null,
-        name: "",
+        name: ''
       },
       // 验证规则
       rules: {
         idNumber: [
-          { required: true, message: "请输入身份证号", trigger: "blur" },
-        ],
+          { required: true, message: '请输入身份证号', trigger: 'blur' }
+        ]
       },
       dialogVisible: false,
       form_copy: {},
-      //批量人员注册-处理提示值
+      // 批量人员注册-处理提示值
       hasDealNumber: 0,
       waitDealNumber: 0,
       allNumber: 0,
       hasCompleted: false,
-      //批量注册人员-抽屉控制值
+      // 批量注册人员-抽屉控制值
       drawerVisible: false,
-      batchUploadResultList: [],
-    };
+      batchUploadResultList: []
+    }
+  },
+  computed: {
+    // 批量注册人员-返回向下取整,减少渲染次数
+    makePercent() {
+      return Math.floor((this.hasDealNumber / this.allNumber) * 100)
+    }
   },
   created() {
-    this.fetchData();
-    this.getUserListSearch();
-    this.getAddressListSearch(1);
+    this.fetchData()
+    this.getUserListSearch()
+    this.getAddressListSearch(1)
     if (checkRole([2, 3])) {
-      this.getAddressListSearch(2, this.$store.getters.provinceId);
-      this.page.data.provinceId = this.$store.getters.provinceId;
+      this.getAddressListSearch(2, this.$store.getters.provinceId)
+      this.page.data.provinceId = this.$store.getters.provinceId
     } else if (checkRole([4])) {
-      this.getAddressListSearch(2, this.$store.getters.provinceId);
-      this.page.data.provinceId = this.$store.getters.provinceId;
-      this.getAddressListSearch(3, this.$store.getters.cityId);
-      this.page.data.cityId = this.$store.getters.cityId;
+      this.getAddressListSearch(2, this.$store.getters.provinceId)
+      this.page.data.provinceId = this.$store.getters.provinceId
+      this.getAddressListSearch(3, this.$store.getters.cityId)
+      this.page.data.cityId = this.$store.getters.cityId
     } else if (checkRole([5, 99])) {
-      this.getAddressListSearch(2, this.$store.getters.provinceId);
-      this.page.data.provinceId = this.$store.getters.provinceId;
-      this.getAddressListSearch(3, this.$store.getters.cityId);
-      this.page.data.cityId = this.$store.getters.cityId;
-      this.page.data.areaId = this.$store.getters.areaId;
+      this.getAddressListSearch(2, this.$store.getters.provinceId)
+      this.page.data.provinceId = this.$store.getters.provinceId
+      this.getAddressListSearch(3, this.$store.getters.cityId)
+      this.page.data.cityId = this.$store.getters.cityId
+      this.page.data.areaId = this.$store.getters.areaId
     }
   },
   methods: {
@@ -426,199 +343,193 @@ export default {
     checkRole,
     // 获取列表数据
     fetchData() {
-      this.listLoading = true;
+      this.listLoading = true
       getPageListBlack(this.page).then((res) => {
-        this.list = res.data.list;
-        this.total = res.data.total;
-        this.listLoading = false;
-      });
+        this.list = res.data.list
+        this.total = res.data.total
+        this.listLoading = false
+      })
     },
     // 打开添加对话框
     create() {
-      this.form = JSON.parse(JSON.stringify(this.form_copy));
-      this.dialogVisible = true;
+      this.form = JSON.parse(JSON.stringify(this.form_copy))
+      this.dialogVisible = true
       this.$nextTick(() => {
-        this.$refs["form"].clearValidate();
-      });
+        this.$refs['form'].clearValidate()
+      })
     },
     // 确定添加
     add() {
-      this.$refs["form"].validate((valid) => {
+      this.$refs['form'].validate((valid) => {
         if (valid) {
           iuserBlackListInsert(this.form).then((res) => {
-            this.dialogVisible = false;
-            this.fetchData();
+            this.dialogVisible = false
+            this.fetchData()
             this.$message({
-              type: "success",
-              message: "添加成功!",
-            });
-          });
+              type: 'success',
+              message: '添加成功!'
+            })
+          })
         }
-      });
+      })
     },
     // 批量注册人员-操作
     getFileList(correctList) {
-      this.hasCompleted = false;
-      this.drawerVisible = true;
-      this.hasDealNumber = correctList.incorrect.length;
-      this.waitDealNumber = correctList.correct.length;
+      this.hasCompleted = false
+      this.drawerVisible = true
+      this.hasDealNumber = correctList.incorrect.length
+      this.waitDealNumber = correctList.correct.length
       this.allNumber =
-        correctList.incorrect.length + correctList.correct.length;
+        correctList.incorrect.length + correctList.correct.length
       this.batchUploadResultList = correctList.incorrect.map((item) => {
-        return { name: item.file.name, err: item.reason };
-      });
-      this.makeScrollDown();
-      this.doSubmitUrl(correctList, 0);
+        return { name: item.file.name, err: item.reason }
+      })
+      this.makeScrollDown()
+      this.doSubmitUrl(correctList, 0)
     },
-    //批量注册人员-并提交至添加黑名单接口
+    // 批量注册人员-并提交至添加黑名单接口
     async doSubmitUrl(correctList, index) {
       if (index <= correctList.correct.length - 1) {
         // 换url
-        let item = correctList.correct[index];
+        const item = correctList.correct[index]
 
-        //组装数据上传至添加黑名单接口
-        let data = JSON.parse(JSON.stringify(this.form_copy));
-        data.name = item["姓名"];
-        data.idNumber = item["身份证号"];
+        // 组装数据上传至添加黑名单接口
+        const data = JSON.parse(JSON.stringify(this.form_copy))
+        data.name = item['姓名']
+        data.idNumber = item['身份证号']
         await iuserBlackListInsert(data)
           .then((res) => {
-            console.log(res);
+            console.log(res)
           })
           .catch((err) => {
-            console.log(err);
+            console.log(err)
             this.batchUploadResultList.push({
               name: data.name,
               idNumber: data.idNumber,
-              err: err,
-            });
-          });
-        this.hasDealNumber += 1;
-        this.waitDealNumber -= 1;
-        this.makeScrollDown();
-        //继续调用
-        this.doSubmitUrl(correctList, ++index);
+              err: err
+            })
+          })
+        this.hasDealNumber += 1
+        this.waitDealNumber -= 1
+        this.makeScrollDown()
+        // 继续调用
+        this.doSubmitUrl(correctList, ++index)
       } else {
-        this.hasCompleted = true;
-        this.fetchData();
+        this.hasCompleted = true
+        this.fetchData()
       }
     },
     // 批量注册人员-保持滚动条在最底部
     makeScrollDown() {
       this.$nextTick(() => {
         this.$refs.batch_upload_result.$refs.bodyWrapper.scrollTop =
-          this.$refs.batch_upload_result.$refs.bodyWrapper.scrollHeight;
-      });
+          this.$refs.batch_upload_result.$refs.bodyWrapper.scrollHeight
+      })
     },
-    //批量注册人员-返回进度条尾部显示值
+    // 批量注册人员-返回进度条尾部显示值
     formatProgress(percent) {
-      return percent == 100 ? "已完成" : "";
+      return percent == 100 ? '已完成' : ''
     },
-    //批量注册人员-导出错误名单
+    // 批量注册人员-导出错误名单
     downloadBatchUploadErrorList() {
-      let list = this.batchUploadResultList;
-      let string = "序号\t文件名\t错误原因\n";
+      const list = this.batchUploadResultList
+      let string = '序号\t文件名\t错误原因\n'
       for (let i = 0; i < this.batchUploadResultList.length; i++) {
         string +=
           (i + 1).toString() +
-          "\t" +
+          '\t' +
           list[i].name +
-          "\t" +
+          '\t' +
           list[i].err +
-          "\t" +
-          "\n";
+          '\t' +
+          '\n'
       }
-      let blob = new Blob([string], { type: "text/plain;charset=utf-8" });
-      let excel_url = window.URL.createObjectURL(blob);
-      let link = document.createElement("a");
-      link.href = excel_url;
-      link.download = "批量注册结果错误名单.xls";
-      document.body.appendChild(link);
-      link.click();
-      document.body.removeChild(link);
+      const blob = new Blob([string], { type: 'text/plain;charset=utf-8' })
+      const excel_url = window.URL.createObjectURL(blob)
+      const link = document.createElement('a')
+      link.href = excel_url
+      link.download = '批量注册结果错误名单.xls'
+      document.body.appendChild(link)
+      link.click()
+      document.body.removeChild(link)
     },
-    //下载模板
+    // 下载模板
     batchDownloadMachineList() {
       window.location.href =
-        process.env.VUE_APP_BASE_API + "/excel/userBlackListExcel.xlsx";
+        process.env.VUE_APP_BASE_API + '/excel/userBlackListExcel.xlsx'
     },
     // 获取账号列表数据_搜索
     getUserListSearch() {
       getUserListSearch().then((res) => {
-        this.user_list = res.data;
-      });
+        this.user_list = res.data
+      })
     },
     // 获得省市县列表_搜索
     getAddressListSearch(type, code) {
       switch (type) {
         case 1:
           getProvince().then((res) => {
-            this.province_list_search = res.data;
-          });
-          break;
+            this.province_list_search = res.data
+          })
+          break
         case 2:
           getCity(code).then((res) => {
-            this.city_list_search = res.data;
-          });
-          break;
+            this.city_list_search = res.data
+          })
+          break
         case 3:
           getArea(code).then((res) => {
-            this.area_list_search = res.data;
-          });
-          break;
+            this.area_list_search = res.data
+          })
+          break
         default:
-          break;
+          break
       }
     },
     // 选择省份_搜索
     chooseProvinceSearch(e) {
-      this.city_list_search = [];
-      this.page.data.cityId = "";
-      this.page.data.cityName = "";
-      this.area_list_search = [];
-      this.page.data.areaId = "";
-      this.page.data.areaName = "";
-      this.getAddressListSearch(2, e);
-      this.getTagList(e);
+      this.city_list_search = []
+      this.page.data.cityId = ''
+      this.page.data.cityName = ''
+      this.area_list_search = []
+      this.page.data.areaId = ''
+      this.page.data.areaName = ''
+      this.getAddressListSearch(2, e)
+      this.getTagList(e)
     },
     // 选择市_搜索
     chooseCitySearch(e) {
-      this.area_list = [];
-      this.page.data.areaId = "";
-      this.page.data.areaName = "";
-      this.getAddressListSearch(3, e);
+      this.area_list = []
+      this.page.data.areaId = ''
+      this.page.data.areaName = ''
+      this.getAddressListSearch(3, e)
     },
     // 返回列表序号
     indexMethod(index) {
-      return (this.page.pageNum - 1) * this.page.pageSize + index + 1;
+      return (this.page.pageNum - 1) * this.page.pageSize + index + 1
     },
     // 移除黑名单
     removeUser(id) {
-      this.$confirm("确定要将此用户移除黑名单吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-        center: true,
+      this.$confirm('确定要将此用户移除黑名单吗?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+        center: true
       }).then(() => {
         removeBlack(id).then((res) => {
-          this.fetchData();
+          this.fetchData()
           this.$message({
-            type: "success",
-            message: "移除成功!",
-          });
-        });
-      });
-    },
-  },
-  computed: {
-    //批量注册人员-返回向下取整,减少渲染次数
-    makePercent() {
-      return Math.floor((this.hasDealNumber / this.allNumber) * 100);
-    },
-  },
-};
+            type: 'success',
+            message: '移除成功!'
+          })
+        })
+      })
+    }
+  }
+}
 </script>
 
-<style scoped>
+<style scoped lang="scss">
 .table {
   margin-top: 15px;
 }
@@ -638,33 +549,35 @@ export default {
 }
 /*批量导入按钮*/
 .file {
-  margin: 10px 0 0 10px;
+  margin: 10px 10px 0 10px;
   position: relative;
   background: #d0eeff;
   border: 1px solid #99d3f5;
   border-radius: 4px;
-  padding: 10px 20px;
+  padding: 12px 20px;
   box-sizing: border-box;
   overflow: hidden;
   color: #1e88c7;
   text-decoration: none;
   text-indent: 0;
-}
-.file input {
-  position: absolute;
   font-size: 14px;
-  width: 106px;
-  height: 40px;
-  left: 0;
-  top: 0;
-  opacity: 0;
-  cursor: pointer;
-}
-.file:hover {
-  background: #aadffd;
-  border-color: #78c3f3;
-  color: #004974;
-  text-decoration: none;
+
+  input {
+    position: absolute;
+    font-size: 14px;
+    width: 106px;
+    height: 40px;
+    left: 0;
+    top: 0;
+    opacity: 0;
+    cursor: pointer;
+  }
+  &:hover {
+    background: #aadffd;
+    border-color: #78c3f3;
+    color: #004974;
+    text-decoration: none;
+  }
 }
 </style>
 

+ 1 - 1
src/views/common_functions/components/Xiaosha_record.vue

@@ -92,7 +92,7 @@
           {{ indexMethod(scope.$index) }}
         </template>
       </el-table-column>
-      <el-table-column label="巡查人员姓名" align="center">
+      <el-table-column label="巡查人员姓名" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.name | matchNull }}
         </template>

+ 7 - 7
src/views/common_functions/components/user_setting.vue

@@ -91,27 +91,27 @@ w
           {{ indexMethod(scope.$index) }}
         </template>
       </el-table-column>
-      <el-table-column label="姓名" align="center">
+      <el-table-column label="姓名" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.name | matchNull }}
         </template>
       </el-table-column>
-      <!-- <el-table-column label="手机号" align="center">
+      <!-- <el-table-column label="手机号" align="center" min-width="120">
         <template slot-scope="scope">
           {{ scope.row.phone | matchNull }}
         </template>
       </el-table-column> -->
-      <el-table-column label="身份证号" align="center">
+      <el-table-column label="身份证号"  align="center" width="160">
         <template slot-scope="scope">
           {{ scope.row.idNumber | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="负责区域" align="center">
+      <el-table-column label="负责区域" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.disinfectAreaNameStringList | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="权限" align="center">
+      <el-table-column label="权限" align="center" width="120">
         <template slot-scope="scope">
           <span
             v-for="(item, index) in scope.row.disinfectAuthList"
@@ -122,7 +122,7 @@ w
           </span>
         </template>
       </el-table-column>
-      <el-table-column label="创建时间" align="center">
+      <el-table-column label="创建时间" align="center" width="160">
         <template slot-scope="scope">
           {{ scope.row.createTime | matchNull }}
         </template>
@@ -251,7 +251,7 @@ w
             {{ scope.$index + 1 }}
           </template>
         </el-table-column>
-        <el-table-column label="错误描述" align="center">
+        <el-table-column label="错误描述" align="center" width="120">
           <template slot-scope="scope">
             {{ scope.row | matchNull }}
           </template>

+ 1 - 1
src/views/common_functions/problem_list.vue

@@ -175,7 +175,7 @@
           <div v-if="scope.row.anonymityFlag">匿名</div>
         </template>
       </el-table-column>
-      <el-table-column label="上报时间" align="center">
+      <el-table-column label="上报时间" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.reportTime }}
         </template>

+ 5 - 5
src/views/enterprise_manage/index.vue

@@ -45,17 +45,17 @@
           {{ indexMethod(scope.$index) }}
         </template>
       </el-table-column>
-      <el-table-column label="账号名称" align="center">
+      <el-table-column label="账号名称" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.username | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="管理员姓名" align="center">
+      <el-table-column label="管理员姓名" align="center" width="120">
         <template slot-scope="scope">
           <span>{{ scope.row.name | matchNull }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="管理员手机号" align="center">
+      <el-table-column label="管理员手机号" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.phone | matchNull }}
         </template>
@@ -66,12 +66,12 @@
           {{ scope.row.phone | matchNull }}
         </template>
       </el-table-column> -->
-      <el-table-column label="详细地址" align="center">
+      <el-table-column label="详细地址" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.address | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="状态" align="center">
+      <el-table-column label="状态" align="center" width="120">
         <template slot-scope="scope">
           <el-tag
             effect="plain"

+ 13 - 13
src/views/exam_list/index.vue

@@ -151,7 +151,7 @@
           {{ indexMethod(scope.$index) }}
         </template>
       </el-table-column>
-      <el-table-column label="实名照片" align="center">
+      <el-table-column label="实名照片" align="center" width="120">
         <template slot-scope="scope">
           <el-image
             style="width: 70px; height: 70px"
@@ -164,17 +164,17 @@
           </el-image>
         </template>
       </el-table-column>
-      <el-table-column label="姓名" align="center">
+      <el-table-column label="姓名" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.name | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="身份证号" align="center">
+      <el-table-column label="身份证号" align="center" min-width="170">
         <template slot-scope="scope">
           {{ scope.row.idNumber | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="手机号" align="center">
+      <el-table-column label="手机号" align="center" min-width="120">
         <template slot-scope="scope">
           {{ scope.row.phone | matchNull }}
         </template>
@@ -188,43 +188,43 @@
           {{ scope.row.username | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="场次" align="center">
+      <el-table-column label="场次" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.examSession | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="准考证号" align="center">
+      <el-table-column label="准考证号" align="center" width="150">
         <template slot-scope="scope">
           {{ scope.row.examCode | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="报考类别" align="center">
+      <el-table-column label="报考类别" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.examType | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="开始时间" align="center">
+      <el-table-column label="开始时间" align="center" width="150">
         <template slot-scope="scope">
           {{ scope.row.startTime | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="结束时间" align="center">
+      <el-table-column label="结束时间" align="center" width="150">
         <template slot-scope="scope">
           {{ scope.row.endTime | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="是否入场" align="center">
+      <el-table-column label="是否入场" align="center" width="120">
         <template slot-scope="scope">
           <el-tag v-if="scope.row.status == 0" type="info">未入场</el-tag>
           <el-tag v-if="scope.row.status == 1">已入场</el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="入场时间" align="center">
+      <el-table-column label="入场时间" align="center" width="150">
         <template slot-scope="scope">
           {{ scope.row.inTime | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="备注" align="center">
+      <el-table-column label="备注" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.remark }}
         </template>
@@ -388,7 +388,7 @@
             {{ scope.$index + 1 }}
           </template>
         </el-table-column>
-        <el-table-column label="错误描述" align="center">
+        <el-table-column label="错误描述" align="center" width="120">
           <template slot-scope="scope">
             {{ scope.row | matchNull }}
           </template>

+ 47 - 28
src/views/exception_model/components/details_list.vue

@@ -2,28 +2,30 @@
   <div class="app-container">
     <!-- 返回 -->
     <el-page-header content="详情" @back="goBack" />
-    <!-- 搜索 -->
-    <el-date-picker
-      v-model="data.startTime"
-      type="datetime"
-      placeholder="选择通行开始时间"
-      value-format="yyyy-MM-dd HH:mm:ss"
-      class="margin-left"
-    />
-    <el-date-picker
-      v-model="data.endTime"
-      type="datetime"
-      placeholder="选择通行结束时间"
-      value-format="yyyy-MM-dd HH:mm:ss"
-      class="margin-left"
-    />
-    <el-button
-      type="primary"
-      icon="el-icon-search"
-      class="margin-left"
-      @click="fetchData"
-    >搜索</el-button>
+    <div class="operation-box">
+      <div class="operation-box_search">
+        <!-- 搜索 -->
+        <el-date-picker
+          v-model="data.createTime"
+          type="datetimerange"
+          style="width: 350px;margin: 5px"
+          align="right"
+          unlink-panels
+          range-separator="-"
+          :start-placeholder="`通行开始日期`"
+          :end-placeholder="`通行结束日期`"
+          :clearable="true"
+          :editable="false"
+        />
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          class="search-btn"
+          @click="fetchData"
+        >搜索</el-button>
 
+      </div>
+    </div>
     <!--主表格-->
     <el-table
       ref="table_form"
@@ -31,6 +33,7 @@
       class="table"
       :data="list"
       element-loading-text="Loading"
+      height="calc(100vh - 220px)"
       border
       fit
       highlight-current-row
@@ -40,32 +43,36 @@
           {{ scope.$index + 1 }}
         </template>
       </el-table-column>
-      <el-table-column label="现场照片" align="center">
+      <el-table-column label="现场照片" align="center" width="120">
         <template slot-scope="scope">
           <el-image
-            style="width: 100px; height: 100px"
+            style="width: 70px; height: 70px"
             fit="cover"
             :src="scope.row.photo"
             :preview-src-list="[scope.row.photo]"
-          />
+          >
+            <div slot="error" style="width: 70px;height: 70px;display: flex;justify-content: center;align-items: center;color:#C0C4CC;background-color: #F5F7FA;">
+              {{ scope.row.avatar ? "加载失败" : "暂无照片" }}
+            </div>
+          </el-image>
         </template>
       </el-table-column>
-      <el-table-column label="姓名" align="center">
+      <el-table-column label="姓名" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.name | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="证件号" align="center">
+      <el-table-column label="证件号" align="center" min-width="160">
         <template slot-scope="scope">
           {{ scope.row.cardid | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="设备编号" align="center">
+      <el-table-column label="设备编号" align="center" min-width="160">
         <template slot-scope="scope">
           {{ scope.row.deviceSn | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="进出时间" align="center">
+      <el-table-column label="进出时间" align="center" width="160">
         <template slot-scope="scope">
           {{ scope.row.faceTime | matchNull }}
         </template>
@@ -81,6 +88,7 @@
 
 <script>
 import { getFaceLogList } from '@/api/exception_model'
+import { parseTime } from '@/utils'
 export default {
   name: '',
   components: {},
@@ -100,8 +108,10 @@ export default {
   },
   data() {
     return {
+      listLoading: false,
       // 分页参数
       data: {
+        createTime: [],
         startTime: null,
         endTime: null,
         userCattleId: this.userCattleId
@@ -123,6 +133,15 @@ export default {
     // 获取列表数据
     fetchData() {
       this.listLoading = true
+      let startTime = null
+      let endTime = null
+      const createTime = this.data.createTime
+      if (createTime && createTime.length > 0) {
+        startTime = parseTime(createTime[0], '{y}-{m}-{d} {h}:{i}:{s}')
+        endTime = parseTime(createTime[1], '{y}-{m}-{d} {h}:{i}:{s}')
+      }
+      this.data.startTime = startTime
+      this.data.endTime = endTime
       getFaceLogList(this.data).then((res) => {
         this.list = res.data
         this.listLoading = false

+ 41 - 31
src/views/exception_model/index.vue

@@ -6,34 +6,40 @@
       @showDetails="clickDetails = false"
     />
     <div v-else class="app-container">
-      <!--搜索区-->
-      <el-input
-        v-model="page.data.name"
-        placeholder="请输入姓名"
-        class="margin-left input"
-      />
-      <el-input
-        v-model="page.data.idNumber"
-        placeholder="请输入证件号"
-        class="margin-left input"
-      />
-      <el-input
-        v-model="page.data.phone"
-        placeholder="请输入手机号"
-        class="margin-left input"
-      />
-      <el-button
-        type="primary"
-        icon="el-icon-search"
-        class="margin-left"
-        @click="fetchData"
-      >搜索</el-button>
+      <!--操作区-->
+      <div class="operation-box">
+        <div class="operation-box_search">
+          <!--搜索区-->
+          <el-input
+            v-model="page.data.name"
+            placeholder="请输入姓名"
+            class="search-input"
+          />
+          <el-input
+            v-model="page.data.idNumber"
+            placeholder="请输入证件号"
+            class="search-input"
+          />
+          <el-input
+            v-model="page.data.phone"
+            placeholder="请输入手机号"
+            class="search-input"
+          />
+          <el-button
+            type="primary"
+            icon="el-icon-search"
+            class="search-btn"
+            @click="fetchData"
+          >搜索</el-button>
+        </div>
+      </div>
       <!--主表格-->
       <el-table
         ref="table_form"
         v-loading="listLoading"
         class="table"
         :data="list.filter(i=>i.status===2)"
+        height="calc(100vh - 220px)"
         element-loading-text="Loading"
         border
         fit
@@ -44,27 +50,31 @@
             {{ indexMethod(scope.$index) }}
           </template>
         </el-table-column>
-        <el-table-column label="照片" align="center">
+        <el-table-column label="照片" align="center" width="120">
           <template slot-scope="scope">
             <el-image
-              style="width: 100px; height: 100px"
+              style="width: 70px; height: 70px"
               fit="cover"
               :src="scope.row.avatar"
               :preview-src-list="[scope.row.avatar]"
-            />
+            >
+              <div slot="error" style="width: 70px;height: 70px;display: flex;justify-content: center;align-items: center;color:#C0C4CC;background-color: #F5F7FA;">
+                {{ scope.row.avatar ? "加载失败" : "暂无照片" }}
+              </div>
+            </el-image>
           </template>
         </el-table-column>
-        <el-table-column label="姓名" align="center">
+        <el-table-column label="姓名" align="center" width="120">
           <template slot-scope="scope">
             {{ scope.row.name | matchNull }}
           </template>
         </el-table-column>
-        <el-table-column label="证件号" align="center">
+        <el-table-column label="证件号" align="center" width="160">
           <template slot-scope="scope">
             {{ scope.row.idNumber | matchNull }}
           </template>
         </el-table-column>
-        <el-table-column label="手机号" align="center">
+        <el-table-column label="手机号" align="center" min-width="120">
           <template slot-scope="scope">
             {{ scope.row.phone | matchNull }}
           </template>
@@ -79,12 +89,12 @@
             {{ scope.row.currentNum | matchNull }}
           </template>
         </el-table-column>
-        <el-table-column label="所属账号" align="center">
+        <el-table-column label="所属账号" align="center" width="150">
           <template slot-scope="scope">
             {{ scope.row.username | matchNull }}
           </template>
         </el-table-column>
-        <el-table-column align="center" label="操作区">
+        <el-table-column align="center" fixed="right" label="操作区">
           <template slot-scope="scope">
             <el-button
               type="primary"
@@ -120,7 +130,7 @@ export default {
   filters: {
     matchNull(str) {
       if (!str) {
-        return '暂无数据'
+        return '-'
       } else {
         return str
       }

+ 16 - 41
src/views/exception_model/scalper_blacklist.vue

@@ -1,10 +1,14 @@
 <template>
   <div class="app-container">
     <!--操作区-->
-    <el-input v-model="page.data.name" placeholder="请输入姓名" class="margin-left input" />
-    <el-input v-model="page.data.phone" placeholder="请输入手机号" class="margin-left input" />
-    <el-input v-model="page.data.idNumber" placeholder="请输入身份证号" class="margin-left input" />
-    <el-button type="primary" icon="el-icon-search" class="margin-left" @click="fetchData">搜索</el-button>
+    <div class="operation-box">
+      <div class="operation-box_search">
+        <el-input v-model="page.data.name" placeholder="请输入姓名" class="search-input" />
+        <el-input v-model="page.data.phone" placeholder="请输入手机号" class="search-input" />
+        <el-input v-model="page.data.idNumber" placeholder="请输入身份证号" class="search-input" />
+        <el-button type="primary" icon="el-icon-search" class="search-btn" @click="fetchData">搜索</el-button>
+      </div>
+    </div>
     <!--主表格-->
     <el-table
       ref="table_form"
@@ -12,6 +16,7 @@
       class="table"
       :data="list"
       element-loading-text="Loading"
+      height="calc(100vh - 220px)"
       border
       fit
       highlight-current-row
@@ -21,7 +26,7 @@
           {{ indexMethod(scope.$index) }}
         </template>
       </el-table-column>
-      <el-table-column label="实名照片" align="center">
+      <el-table-column label="实名照片" align="center" width="120">
         <template slot-scope="scope">
           <el-image
             style="width: 70px; height: 70px"
@@ -33,62 +38,32 @@
           </el-image>
         </template>
       </el-table-column>
-      <el-table-column label="姓名" align="center">
+      <el-table-column label="姓名" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.name | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="手机号" align="center">
+      <el-table-column label="手机号" align="center" min-width="120">
         <template slot-scope="scope">
           {{ scope.row.phone | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="身份证号" align="center">
+      <el-table-column label="身份证号" align="center" min-width="160">
         <template slot-scope="scope">
           {{ scope.row.idNumber | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="省" align="center">
-        <template slot-scope="scope">
-          {{ scope.row.provinceName | matchNull }}
-        </template>
-      </el-table-column>
-      <el-table-column label="市" align="center">
-        <template slot-scope="scope">
-          {{ scope.row.cityName | matchNull }}
-        </template>
-      </el-table-column>
-      <el-table-column label="区" align="center">
-        <template slot-scope="scope">
-          {{ scope.row.areaName | matchNull }}
-        </template>
-      </el-table-column>
-      <el-table-column label="街道" align="center">
-        <template slot-scope="scope">
-          {{ scope.row.streetName | matchNull }}
-        </template>
-      </el-table-column>
-      <el-table-column label="详细地址" align="center">
-        <template slot-scope="scope">
-          {{ scope.row.address | matchNull }}
-        </template>
-      </el-table-column>
-      <!-- <el-table-column label="所属组织名称" align="center">
-        <template slot-scope="scope">
-          {{ scope.row.policeStationName | matchNull}}
-        </template>
-      </el-table-column> -->
-      <el-table-column label="创建时间" align="center">
+      <el-table-column label="创建时间" align="center" width="160">
         <template slot-scope="scope">
           {{ scope.row.createTime | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="所属账号" align="center">
+      <el-table-column label="所属账号" align="center" min-width="120">
         <template slot-scope="scope">
           {{ scope.row.username | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column align="center" prop="" label="操作区" width="100">
+      <el-table-column align="center" prop="" fixed="right" label="操作区" width="100">
         <template slot-scope="scope">
           <el-button type="warning" plain size="small" @click="removeUser(scope.row.id)">移除</el-button>
         </template>

+ 96 - 91
src/views/issue_list/detailPage.vue

@@ -97,33 +97,34 @@
       </div>
     </div>
     <!--搜索区-->
-    <div>
-      <el-input
-        v-model="page.data.username"
-        placeholder="请输入姓名"
-        class="margin-left input"
-      />
-      <el-input
-        v-model="page.data.phone"
-        placeholder="请输入手机号"
-        class="margin-left input"
-      />
-      <el-input
-        v-model="page.data.idNumber"
-        placeholder="请输入身份证号"
-        class="margin-left input"
-      />
-      <el-input
-        v-model="page.data.cardIdEx"
-        placeholder="请输入卡号"
-        class="margin-left input"
-      />
-      <!-- <el-select
+    <div class="operation-box">
+      <div class="operation-box_search">
+        <el-input
+          v-model="page.data.username"
+          placeholder="请输入姓名"
+          class="search-input"
+        />
+        <el-input
+          v-model="page.data.phone"
+          placeholder="请输入手机号"
+          class="search-input"
+        />
+        <el-input
+          v-model="page.data.idNumber"
+          placeholder="请输入身份证号"
+          class="search-input"
+        />
+        <el-input
+          v-model="page.data.cardIdEx"
+          placeholder="请输入卡号"
+          class="search-input"
+        />
+        <!-- <el-select
         filterable
         clearable
         v-model="page.data.zoneIds"
         placeholder="请选择所属区域"
-        class="margin-left input"
+        class="search-input"
       >
         <el-option
           v-for="item in area_list"
@@ -133,54 +134,53 @@
         >
         </el-option>
       </el-select> -->
-      <el-select
-        v-model="page.data.userType"
-        filterable
-        clearable
-        placeholder="请选择人员类型"
-        class="margin-left input"
-      >
-        <el-option
-          v-for="item in type_list"
-          :key="item.id"
-          :label="item.name"
-          :value="item.id"
-        />
-      </el-select>
-      <el-select
-        v-model="page.data.issueStatus"
-        filterable
-        clearable
-        placeholder="请选择下发状态"
-        class="margin-left input"
-      >
-        <el-option
-          v-for="item in status_list"
-          :key="item.id"
-          :label="item.name"
-          :value="item.id"
+        <el-select
+          v-model="page.data.userType"
+          filterable
+          clearable
+          placeholder="请选择人员类型"
+          class="search-input"
+        >
+          <el-option
+            v-for="item in type_list"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          />
+        </el-select>
+        <el-select
+          v-model="page.data.issueStatus"
+          filterable
+          clearable
+          placeholder="请选择下发状态"
+          class="search-input"
+        >
+          <el-option
+            v-for="item in status_list"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          />
+        </el-select>
+        <el-date-picker
+          v-model="page.data.createTime"
+          type="datetimerange"
+          style="width: 350px;margin: 5px"
+          align="right"
+          unlink-panels
+          range-separator="-"
+          :start-placeholder="`开始日期`"
+          :end-placeholder="`结束日期`"
+          :clearable="true"
+          :editable="false"
         />
-      </el-select>
-      <el-date-picker
-        v-model="page.data.startTime"
-        type="datetime"
-        placeholder="请选择开始时间"
-        value-format="yyyy-MM-dd HH:mm:ss"
-        class="margin-left"
-      />
-      <el-date-picker
-        v-model="page.data.endTime"
-        type="datetime"
-        placeholder="请选择结束时间"
-        value-format="yyyy-MM-dd HH:mm:ss"
-        class="margin-left"
-      />
-      <el-button
-        type="primary"
-        icon="el-icon-search"
-        class="margin-left"
-        @click="fetchData"
-      >搜索</el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          class="search-btn"
+          @click="fetchData"
+        >搜索</el-button>
+      </div>
     </div>
     <!--主表格-->
     <el-table
@@ -198,40 +198,41 @@
           {{ indexMethod(scope.$index) }}
         </template>
       </el-table-column>
-      <el-table-column label="实名照片" align="center">
+      <el-table-column label="实名照片" align="center" width="120">
         <template slot-scope="scope">
           <el-image
             style="width: 70px; height: 70px"
+            fit="cover"
             :src="scope.row.photo"
             :preview-src-list="[scope.row.photo]"
           >
-            <div slot="error" class="image-slot">
-              {{ scope.row.photo ? "加载失败" : "暂无照片" }}
+            <div slot="error" style="width: 70px;height: 70px;display: flex;justify-content: center;align-items: center;color:#C0C4CC;background-color: #F5F7FA;">
+              {{ scope.row.avatar ? "加载失败" : "暂无照片" }}
             </div>
           </el-image>
         </template>
       </el-table-column>
-      <el-table-column label="姓名" align="center">
+      <el-table-column label="姓名" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.userName | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="手机号" align="center">
+      <el-table-column label="手机号" align="center" min-width="120">
         <template slot-scope="scope">
           {{ scope.row.phone | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="身份证号" align="center">
+      <el-table-column label="身份证号" align="center" min-width="170">
         <template slot-scope="scope">
           {{ scope.row.idNumber | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="卡号" align="center">
+      <el-table-column label="卡号" align="center" min-width="120">
         <template slot-scope="scope">
           {{ scope.row.cardIdEx | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="人员类型" align="center">
+      <el-table-column label="人员类型" align="center" width="120">
         <template slot-scope="scope">
           <el-tag
             v-if="scope.row.userType === 105"
@@ -250,22 +251,22 @@
           >黑名单</el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="有效期开始时间" align="center">
+      <el-table-column label="有效期开始时间" align="center" width="160">
         <template slot-scope="scope">
           {{ scope.row.startTime | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="有效期结束时间" align="center">
+      <el-table-column label="有效期结束时间" align="center" width="160">
         <template slot-scope="scope">
           {{ scope.row.endTime | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="下发时间" align="center">
+      <el-table-column label="下发时间" align="center" width="160">
         <template slot-scope="scope">
-          {{ scope.row.issueTime }}
+          {{ scope.row.issueTime | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="下发状态" align="center">
+      <el-table-column label="下发状态" align="center" width="120">
         <template slot-scope="scope">
           <el-tag
             v-if="scope.row.issueStatus === 'success'"
@@ -284,7 +285,7 @@
           >下发中</el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="备注" align="center">
+      <el-table-column label="备注" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.remarks }}
         </template>
@@ -306,6 +307,7 @@ import { getAreaList } from '@/api/area'
 import Pagination from '@/components/Pagination'
 import detailPage from './detailPage.vue'
 import { ws } from '@/utils/getWebSocket'
+import { parseTime } from '@/utils'
 export default {
   components: { Pagination, detailPage },
   filters: {
@@ -339,6 +341,7 @@ export default {
           deviceSn: null,
           userType: null,
           issueStatus: null,
+          createTime: [],
           startTime: null,
           endTime: null,
           username: '',
@@ -387,6 +390,15 @@ export default {
       this.listLoading = true
       this.page.data.issueDeviceId = this.rowData.id
       const res1 = await deviceDetail(this.rowData.id)
+      let startTime = null
+      let endTime = null
+      const createTime = this.page.data.createTime
+      if (createTime && createTime.length > 0) {
+        startTime = parseTime(createTime[0], '{y}-{m}-{d} {h}:{i}:{s}')
+        endTime = parseTime(createTime[1], '{y}-{m}-{d} {h}:{i}:{s}')
+      }
+      this.page.data.startTime = startTime
+      this.page.data.endTime = endTime
       const res2 = await itemPage(this.page)
       this.detailData = res1.data
       const sendObj = {
@@ -471,13 +483,6 @@ export default {
   justify-content: flex-start;
   align-items: center;
 }
-.margin-left {
-  margin: 10px 0 0 10px;
-}
-.input {
-  width: 200px;
-}
-
 .top {
   background-color: #f8faff;
   border-radius: 5px;

+ 83 - 77
src/views/issue_list/index.vue

@@ -2,78 +2,83 @@
   <div class="app-container">
     <!--搜索区-->
     <div v-if="!isDetail">
-      <el-select
-        v-model="page.data.deviceSn"
-        filterable
-        clearable
-        placeholder="请选择设备编号"
-        class="margin-left input"
-      >
-        <el-option
-          v-for="item in machine_list"
-          :key="item.sn"
-          :label="item.sn"
-          :value="item.sn"
-        />
-      </el-select>
-      <!-- <el-input
+      <!--操作区-->
+      <div class="operation-box">
+        <div class="operation-box_search">
+          <el-select
+            v-model="page.data.deviceSn"
+            filterable
+            clearable
+            placeholder="请选择设备SN"
+            class="search-input"
+          >
+            <el-option
+              v-for="item in machine_list"
+              :key="item.sn"
+              :label="item.sn"
+              :value="item.sn"
+            />
+          </el-select>
+          <!-- <el-input
         v-model="page.data.aaaaa"
         placeholder="请输入设备地点"
-        class="margin-left input"
+        class="search-input"
       ></el-input> -->
-      <!-- <el-input
+          <!-- <el-input
         v-model="page.data.bbbbb"
         placeholder="请输入设备类型"
-        class="margin-left input"
+        class="search-input"
       ></el-input> -->
-      <el-select
-        v-model="page.data.adminId"
-        filterable
-        clearable
-        placeholder="请选择所属账号"
-        class="margin-left input"
-      >
-        <el-option
-          v-for="item in account_list"
-          :key="item.adminId"
-          :label="item.username"
-          :value="item.adminId"
-        />
-      </el-select>
-      <el-select
-        v-model="page.data.issueType"
-        filterable
-        clearable
-        placeholder="请选择下发类型"
-        class="margin-left input"
-      >
-        <el-option
-          v-for="item in type_list"
-          :key="item.id"
-          :label="item.name"
-          :value="item.id"
-        />
-      </el-select>
-      <el-select
-        v-model="page.data.issueStatus"
-        filterable
-        clearable
-        placeholder="请选择下发状态"
-        class="margin-left input"
-      >
-        <el-option
-          v-for="item in status_list"
-          :key="item.id"
-          :label="item.name"
-          :value="item.id"
-        />
-      </el-select>
-      <el-button
-        type="primary"
-        icon="el-icon-search"
-        class="margin-left"
-        @click="fetchData"
-      >搜索</el-button>
+          <el-select
+            v-model="page.data.adminId"
+            filterable
+            clearable
+            placeholder="请选择所属账号"
+            class="search-input"
+          >
+            <el-option
+              v-for="item in account_list"
+              :key="item.adminId"
+              :label="item.username"
+              :value="item.adminId"
+            />
+          </el-select>
+          <el-select
+            v-model="page.data.issueType"
+            filterable
+            clearable
+            placeholder="请选择下发类型"
+            class="search-input"
+          >
+            <el-option
+              v-for="item in type_list"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
+            />
+          </el-select>
+          <el-select
+            v-model="page.data.issueStatus"
+            filterable
+            clearable
+            placeholder="请选择下发状态"
+            class="search-input"
+          >
+            <el-option
+              v-for="item in status_list"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
+            />
+          </el-select>
+          <el-button
+            type="primary"
+            icon="el-icon-search"
+            class="search-btn"
+            @click="fetchData"
+          >搜索</el-button>
+        </div>
+      </div>
       <!--主表格-->
       <el-table
         ref="table_form"
@@ -81,6 +86,7 @@
         class="table"
         :data="list"
         element-loading-text="Loading"
+        height="calc(100vh - 220px)"
         border
         fit
         highlight-current-row
@@ -90,38 +96,38 @@
             {{ indexMethod(scope.$index) }}
           </template>
         </el-table-column>
-        <el-table-column label="设备sn" align="center">
+        <el-table-column label="设备SN" align="center" width="150">
           <template slot-scope="scope">
             {{ scope.row.deviceSn | matchNull }}
           </template>
         </el-table-column>
-        <el-table-column label="在离线状态" align="center">
+        <el-table-column label="在离线状态" align="center" width="120">
           <template slot-scope="scope">
             <el-tag v-if="scope.row.online" type="success">在线</el-tag>
             <el-tag v-else-if="!scope.row.online" type="info">离线</el-tag>
           </template>
         </el-table-column>
-        <el-table-column label="设备地点" align="center">
+        <el-table-column label="设备地点" align="center" width="120">
           <template slot-scope="scope">
             {{ scope.row.name | matchNull }}
           </template>
         </el-table-column>
-        <el-table-column label="设备类型" align="center">
+        <el-table-column label="设备类型" align="center" width="120">
           <template slot-scope="scope">
             {{ scope.row.faceDeviceTypeName | matchNull }}
           </template>
         </el-table-column>
-        <el-table-column label="所属账号" align="center">
+        <el-table-column label="所属账号" align="center" width="150">
           <template slot-scope="scope">
             {{ scope.row.adminUserName | matchNull }}
           </template>
         </el-table-column>
-        <el-table-column label="下发人员数量" align="center">
+        <el-table-column label="下发人员数量" align="center" width="120">
           <template slot-scope="scope">
             {{ scope.row.issueFaceCount | matchNull }}
           </template>
         </el-table-column>
-        <el-table-column label="下发类型" align="center">
+        <el-table-column label="下发类型" align="center" width="120">
           <template slot-scope="scope">
             <el-tag
               v-if="scope.row.issueType === 'all'"
@@ -145,7 +151,7 @@
             >全量删除</el-tag>
           </template>
         </el-table-column>
-        <el-table-column :key="isUpdate" label="下发状态" align="center">
+        <el-table-column :key="isUpdate" label="下发状态" align="center" width="120">
           <template slot-scope="scope">
             <el-tag
               v-if="scope.row.issueStatus === 'cancel'"
@@ -173,17 +179,17 @@
             />
           </template>
         </el-table-column>
-        <el-table-column label="备注" align="center">
+        <el-table-column label="备注" align="center" width="120">
           <template slot-scope="scope">
             {{ scope.row.remarks }}
           </template>
         </el-table-column>
-        <el-table-column label="创建时间" align="center">
+        <el-table-column label="创建时间" align="center" width="160">
           <template slot-scope="scope">
             {{ scope.row.createTime }}
           </template>
         </el-table-column>
-        <el-table-column align="center" prop="" label="操作区" width="180">
+        <el-table-column align="center" fixed="right" prop="" label="操作区" width="180">
           <template slot-scope="scope">
             <el-button
               v-if="

+ 9 - 9
src/views/issue_records/index.vue

@@ -28,27 +28,27 @@
           {{ indexMethod(scope.$index) }}
         </template>
       </el-table-column>
-      <el-table-column label="姓名" align="center">
+      <el-table-column label="姓名" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.username | matchNull}}
         </template>
       </el-table-column>
-      <el-table-column label="手机号" align="center">
+      <el-table-column label="手机号" align="center" min-width="120">
         <template slot-scope="scope">
           <span>{{ scope.row.phone | matchNull}}</span>
         </template>
       </el-table-column>
-      <el-table-column label="设备编号" align="center">
+      <el-table-column label="设备编号" align="center" width="150">
         <template slot-scope="scope">
           {{ scope.row.deviceSn | matchNull}}
         </template>
       </el-table-column>
-      <el-table-column label="设备名称" align="center">
+      <el-table-column label="设备名称" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.deviceName | matchNull}}
         </template>
       </el-table-column>
-      <el-table-column label="下发类型" align="center">
+      <el-table-column label="下发类型" align="center" width="120">
         <template slot-scope="scope">
           <el-tag type="info" v-if="scope.row.type === 1">黑名单</el-tag>
           <el-tag type="success" v-else-if="scope.row.type === 2">员工</el-tag>
@@ -56,7 +56,7 @@
           <el-tag v-else>未知类型</el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="下发状态" align="center">
+      <el-table-column label="下发状态" align="center" width="120">
         <template slot-scope="scope">
           <el-tag type="info" v-if="scope.row.status === 1">下发中</el-tag>
           <el-tag type="success" v-else-if="scope.row.status === 2">成功</el-tag>
@@ -64,17 +64,17 @@
           <el-tag v-else>其它</el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="下发时间" align="center">
+      <el-table-column label="下发时间" align="center" width="160">
         <template slot-scope="scope">
           {{ scope.row.createTime }}
         </template>
       </el-table-column>
-      <el-table-column label="有效期开始时间" align="center">
+      <el-table-column label="有效期开始时间" align="center" width="160">
         <template slot-scope="scope">
           {{ scope.row.startTime }}
         </template>
       </el-table-column>
-      <el-table-column label="有效期结束时间" align="center">
+      <el-table-column label="有效期结束时间" align="center" width="160">
         <template slot-scope="scope">
           {{ scope.row.endTime }}
         </template>

+ 22 - 26
src/views/kind_list/index.vue

@@ -1,19 +1,25 @@
 <template>
   <div class="app-container">
     <!--操作区-->
-    <el-button v-if="checkRole([1,2])" type="primary" icon="el-icon-plus" class="margin-left" @click="create">添加标签</el-button>
+    <div class="operation-box">
+      <div class="operation-box_btn">
+        <el-button v-if="checkRole([1,2])" type="primary" icon="el-icon-plus" @click="create">添加标签</el-button>
+      </div>
+      <div class="operation-box_search">
+        <template v-if="checkRole([1])">
+          <el-select v-model="page" placeholder="请选择省份" class="search-input" :clearable="true">
+            <el-option
+              v-for="item in province_list"
+              :key="item.areaCodeId"
+              :label="item.name"
+              :value="item.areaCodeId"
+            />
+          </el-select>
+          <el-button type="primary" icon="el-icon-search" class="search-btn" @click="fetchData">搜索</el-button>
+        </template>
+      </div>
+    </div>
     <!--搜索区-->
-    <template v-if="checkRole([1])">
-      <el-select v-model="page" placeholder="请选择省份" class="margin-left">
-        <el-option
-          v-for="item in province_list"
-          :key="item.areaCodeId"
-          :label="item.name"
-          :value="item.areaCodeId"
-        />
-      </el-select>
-      <el-button type="primary" icon="el-icon-search" class="margin-left" @click="fetchData">搜索</el-button>
-    </template>
     <!--主表格-->
     <el-table
       ref="table_form"
@@ -21,6 +27,7 @@
       class="table"
       :data="list"
       element-loading-text="Loading"
+      height="calc(100vh - 220px)"
       border
       fit
       highlight-current-row
@@ -30,17 +37,17 @@
           {{ scope.$index+1 }}
         </template>
       </el-table-column>
-      <el-table-column label="名称" align="center">
+      <el-table-column label="名称" align="center" min-width="120">
         <template slot-scope="scope">
           {{ scope.row.name | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="所属省份" align="center">
+      <el-table-column label="所属省份" align="center" min-width="120">
         <template slot-scope="scope">
           {{ scope.row.provinceName | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column v-if="checkRole([2])" align="center" label="操作区" width="200">
+      <el-table-column v-if="checkRole([2])" fixed="right" align="center" label="操作区" width="200">
         <template slot-scope="scope">
           <el-button type="danger" size="small" @click="deleteUser(scope.row.id)">删除</el-button>
           <el-button type="primary" size="small" @click="update(scope.row)">修改</el-button>
@@ -232,15 +239,4 @@ export default {
   .table{
     margin-top: 15px;
   }
-  .flex {
-    display: flex;
-    justify-content: flex-start;
-    align-items: center;
-  }
-  .margin-left {
-    margin: 10px 0 0 10px;
-  }
-  .input {
-    width: 200px;
-  }
 </style>

+ 8 - 8
src/views/machine_list/components/thirdPart_machine_list.vue

@@ -184,7 +184,7 @@
           {{ scope.row.sn | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="设备地点" align="center">
+      <el-table-column label="设备地点" align="center" width="120">
         <template slot-scope="scope">
           <span>{{ scope.row.name | matchNull }}</span>
         </template>
@@ -203,7 +203,7 @@
           <span>{{ scope.row.thirdPartyName | matchNull }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="所属账号" align="center">
+      <el-table-column label="所属账号" align="center" width="150">
         <template slot-scope="scope">
           <span>{{ scope.row.username | matchNull }}</span>
         </template>
@@ -215,12 +215,12 @@
           }}-{{ scope.row.areaName | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="设备IP" align="center">
+      <el-table-column label="设备IP" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.interIp | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="APP版本" align="center">
+      <el-table-column label="APP版本" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.appVersion | matchNull }}
         </template>
@@ -237,21 +237,21 @@
           <el-tag v-else>不限</el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="在线状态" align="center">
+      <el-table-column label="在线状态" align="center" width="120">
         <template slot-scope="scope">
           <el-tag type="success" v-if="scope.row.online === 1">在线</el-tag>
           <el-tag type="info" v-else-if="scope.row.online === 0">离线</el-tag>
           <el-tag v-else>未知</el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="使用状态" align="center">
+      <el-table-column label="使用状态" align="center" width="120">
         <template slot-scope="scope">
           <el-tag type="success" v-if="scope.row.enable === 1">启用</el-tag>
           <el-tag type="info" v-else-if="scope.row.enable === 0">停用</el-tag>
           <el-tag v-else>其它</el-tag>
         </template>
       </el-table-column>
-      <el-table-column class-name="status-col" label="授权状态" align="center">
+      <el-table-column class-name="status-col" label="授权状态" align="center" width="120">
         <template slot-scope="scope">
           <el-tag type="info" v-if="scope.row.auth === 0">未授权</el-tag>
           <el-tag type="success" v-else-if="scope.row.auth === 1"
@@ -276,7 +276,7 @@
           >
         </template>
       </el-table-column>
-      <el-table-column label="创建时间" align="center">
+      <el-table-column label="创建时间" align="center" width="160">
         <template slot-scope="scope">
           {{ scope.row.createTime }}
         </template>

+ 5 - 5
src/views/make_appointment/appointment_list.vue

@@ -101,7 +101,7 @@
           {{ indexMethod(scope.$index) }}
         </template>
       </el-table-column>
-      <el-table-column label="实名照片" align="center">
+      <el-table-column label="实名照片" align="center" width="120">
         <template slot-scope="scope">
           <el-image
             style="width: 70px; height: 70px"
@@ -114,17 +114,17 @@
           </el-image>
         </template>
       </el-table-column>
-      <el-table-column label="姓名" align="center">
+      <el-table-column label="姓名"  align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.name | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="手机号" align="center">
+      <el-table-column label="手机号"  align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.phone | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="身份证号" align="center">
+      <el-table-column label="身份证号"  align="center" width="160">
         <template slot-scope="scope">
           {{ scope.row.idNumber | matchNull }}
         </template>
@@ -148,7 +148,7 @@
           <el-tag effect="plain" v-else-if="scope.row.type === 1">外宾</el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="创建时间" align="center">
+      <el-table-column label="创建时间" align="center" width="160">
         <template slot-scope="scope">
           {{ scope.row.createTime | matchNull }}
         </template>

+ 3 - 3
src/views/merchants/index.vue

@@ -80,17 +80,17 @@
           {{ scope.row.bussinessNumber | matchNull }}
         </template>
       </el-table-column>
-      <!-- <el-table-column label="姓名" align="center">
+      <!-- <el-table-column label="姓名"  align="center" width="120">
         <template slot-scope="scope">
           <span>{{ scope.row.name | matchNull }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="手机号" align="center">
+      <el-table-column label="手机号"  align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.phone | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="身份证" align="center">
+      <el-table-column label="身份证"  align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.phone | matchNull }}
         </template>

+ 95 - 91
src/views/monitor_management/index.vue

@@ -1,70 +1,71 @@
 <template>
   <div class="app-container">
     <!--搜索区-->
-    <el-button
-      type="primary"
-      icon="el-icon-plus"
-      class="margin-left"
-      @click="addOrUpdate('add')"
-    >添加</el-button>
-    <el-button
-      type="primary"
-      icon="el-icon-download"
-      class="margin-left"
-      @click="download"
-    >下载模板</el-button>
-    <!-- v-if="checkRole([2])" -->
-    <el-button
-      v-if="checkRole([1, 2,3,4])"
-      type="primary"
-      class="margin-left"
-      plain
-      @click="addOrUpdate('upload')"
-    >批量导入</el-button>
-    <a
-      v-if="checkRole([5])"
-      href="javascript:;"
-      class="file margin-sm"
-    >批量导入<input
-      ref="file"
-      type="file"
-      name="file"
-      @change="chooseFile($event)"
-    ></a>
-    <!-- @change="upload($event)" -->
-    <el-input
-      v-model="page.data.controlName"
-      placeholder="请输入布控人姓名"
-      class="margin-left input"
-    />
-    <el-input
-      v-model="page.data.controlPhone"
-      placeholder="请输入布控人手机号"
-      class="margin-left input"
-    />
-
-    <el-input
-      v-model="page.data.controlUnit"
-      placeholder="请输入布控人单位"
-      class="margin-left input"
-    />
-    <el-input
-      v-model="page.data.earlyWarningName"
-      placeholder="请输入预警人员姓名"
-      class="margin-left input"
-    />
-    <el-input
-      v-model="page.data.earlyWarningIdNumber"
-      placeholder="请输入预警人员证件号"
-      class="margin-left input"
-    />
-    <el-button
-      type="primary"
-      icon="el-icon-search"
-      class="margin-left"
-      @click="fetchData"
-    >搜索</el-button>
+    <div class="operation-box">
+      <div class="operation-box_btn">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          @click="addOrUpdate('add')"
+        >添加</el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-download"
+          @click="download"
+        >下载模板</el-button>
+        <!-- v-if="checkRole([2])" -->
+        <el-button
+          v-if="checkRole([1, 2,3,4])"
+          type="primary"
+          plain
+          @click="addOrUpdate('upload')"
+        >批量导入</el-button>
+        <a
+          v-if="checkRole([5])"
+          href="javascript:;"
+          class="file margin-sm"
+        >批量导入<input
+          ref="file"
+          type="file"
+          name="file"
+          @change="chooseFile($event)"
+        ></a>
+      </div>
+      <div class="operation-box_search">
+        <el-input
+          v-model="page.data.controlName"
+          placeholder="请输入布控人姓名"
+          class="search-input"
+        />
+        <el-input
+          v-model="page.data.controlPhone"
+          placeholder="请输入布控人手机号"
+          class="search-input"
+        />
 
+        <el-input
+          v-model="page.data.controlUnit"
+          placeholder="请输入布控人单位"
+          class="search-input"
+        />
+        <el-input
+          v-model="page.data.earlyWarningName"
+          placeholder="请输入预警人员姓名"
+          class="search-input"
+        />
+        <el-input
+          v-model="page.data.earlyWarningIdNumber"
+          placeholder="请输入预警人员证件号"
+          class="search-input"
+        />
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          class="search-btn"
+          @click="fetchData"
+        >搜索</el-button>
+      </div>
+    </div>
     <!--主表格-->
     <el-table
       ref="table_form"
@@ -72,6 +73,7 @@
       class="table"
       :data="list"
       element-loading-text="Loading"
+      height="calc(100vh - 220px)"
       border
       fit
       highlight-current-row
@@ -86,37 +88,37 @@
           <span>{{ scope.row.username | matchNull }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="布控人姓名" align="center">
+      <el-table-column label="布控人姓名" align="center" width="150">
         <template slot-scope="scope">
           {{ scope.row.controlName | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="布控人手机号" align="center">
+      <el-table-column label="布控人手机号" align="center" width="150">
         <template slot-scope="scope">
           <span>{{ scope.row.controlPhone | matchNull }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="布控人单位" align="center">
+      <el-table-column label="布控人单位" align="center" width="170">
         <template slot-scope="scope">
           <span>{{ scope.row.controlUnit | matchNull }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="预警人员姓名" align="center">
+      <el-table-column label="预警人员姓名" align="center" width="170">
         <template slot-scope="scope">
           <span>{{ scope.row.earlyWarningName | matchNull }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="预警人员证件号" align="center">
+      <el-table-column label="预警人员证件号" align="center" width="170">
         <template slot-scope="scope">
           <span>{{ scope.row.earlyWarningIdNumber | matchNull }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="创建时间" align="center">
+      <el-table-column label="创建时间" align="center" width="160">
         <template slot-scope="scope">
           {{ scope.row.createTime }}
         </template>
       </el-table-column>
-      <el-table-column align="center" prop="" label="操作区" width="160">
+      <el-table-column fixed="right" align="center" prop="" label="操作区" width="160">
         <template slot-scope="scope">
           <el-button
             type="primary"
@@ -541,7 +543,7 @@ export default {
   }
 }
 </script>
-<style scoped>
+<style scoped lang="scss">
 .table {
   margin-top: 15px;
 }
@@ -559,38 +561,40 @@ export default {
 .input {
   width: 200px;
 }
+.margin-sm {
+  margin: 10px 0 0 10px;
+}
 /*批量导入按钮*/
 .file {
+  margin: 10px 10px 0 10px;
   position: relative;
   background: #d0eeff;
   border: 1px solid #99d3f5;
   border-radius: 4px;
-  padding: 10px 20px;
+  padding: 12px 20px;
   box-sizing: border-box;
   overflow: hidden;
   color: #1e88c7;
   text-decoration: none;
   text-indent: 0;
-}
-.margin-sm {
-  margin: 10px 0 0 10px;
-}
-
-.file input {
-  position: absolute;
   font-size: 14px;
-  width: 106px;
-  height: 40px;
-  left: 0;
-  top: 0;
-  opacity: 0;
-  cursor: pointer;
-}
 
-.file:hover {
-  background: #aadffd;
-  border-color: #78c3f3;
-  color: #004974;
-  text-decoration: none;
+  input {
+    position: absolute;
+    font-size: 14px;
+    width: 106px;
+    height: 40px;
+    left: 0;
+    top: 0;
+    opacity: 0;
+    cursor: pointer;
+  }
+
+  &:hover {
+     background: #aadffd;
+     border-color: #78c3f3;
+     color: #004974;
+     text-decoration: none;
+   }
 }
 </style>

+ 1 - 1
src/views/pass_records/components/thirdPart_pass_records.vue

@@ -364,7 +364,7 @@
           </el-image>
         </template>
       </el-table-column>
-      <el-table-column label="证件号" align="center">
+      <el-table-column label="证件号" align="center" width="160">
         <template slot-scope="scope">
           {{ scope.row.cardid }}
         </template>

+ 1 - 1
src/views/private_area/index.vue

@@ -60,7 +60,7 @@
             <span>{{ scope.row.username | matchNull }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="创建时间" align="center">
+        <el-table-column label="创建时间" align="center" width="160">
           <template slot-scope="scope">
             <span>{{ scope.row.createTime | matchNull }}</span>
           </template>

+ 7 - 7
src/views/private_area/table.vue

@@ -12,7 +12,7 @@
     >
       <el-table-column label="序号" align="center" width="80px" type="index" />
       <template v-if="type == '查看设备'">
-        <el-table-column label="设备名称" align="center">
+        <el-table-column label="设备名称" align="center" width="120">
           <template slot-scope="scope">
             {{ scope.row.name }}
           </template>
@@ -22,14 +22,14 @@
             <span>{{ scope.row.sn }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="创建时间" align="center">
+        <el-table-column label="创建时间" align="center" width="160">
           <template slot-scope="scope">
             <span>{{ scope.row.createTime }}</span>
           </template>
         </el-table-column>
       </template>
       <template v-else>
-        <el-table-column label="实名照片" align="center">
+        <el-table-column label="实名照片" align="center" width="120">
           <template slot-scope="scope">
             <el-image
               style="width: 70px; height: 70px"
@@ -42,23 +42,23 @@
             </el-image>
           </template>
         </el-table-column>
-        <el-table-column label="姓名" align="center">
+        <el-table-column label="姓名" align="center" width="120">
           <template slot-scope="scope">
             {{ scope.row.name }}
           </template>
         </el-table-column>
-        <el-table-column label="手机号" align="center">
+        <el-table-column label="手机号" align="center" min-width="120">
           <template slot-scope="scope">
             <span>{{ scope.row.phone }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="身份证号" align="center">
+        <el-table-column label="身份证号"  align="center" width="160">
           <template slot-scope="scope">
             <span>{{ scope.row.idNumber }}</span>
           </template>
         </el-table-column>
 
-        <el-table-column label="创建时间" align="center">
+        <el-table-column label="创建时间" align="center" width="160">
           <template slot-scope="scope">
             <span>{{ scope.row.createTime }}</span>
           </template>

+ 3 - 3
src/views/setting/components/machine_company.vue

@@ -47,17 +47,17 @@
       highlight-current-row
     >
       <el-table-column label="序号" align="center" width="80px" type="index"/>
-      <el-table-column label="设备品牌名称" align="center">
+      <el-table-column label="设备品牌名称" align="center" width="150">
         <template slot-scope="scope">
           {{ scope.row.name | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="设备公司名称" align="center">
+      <el-table-column label="设备公司名称" align="center" width="150">
         <template slot-scope="scope">
           {{ scope.row.extend1 | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="创建时间" align="center">
+      <el-table-column label="创建时间" align="center" width="160">
         <template slot-scope="scope">
           {{ scope.row.createTime | matchNull }}
         </template>

+ 4 - 3
src/views/setting/components/machine_type.vue

@@ -42,22 +42,23 @@
       class="table"
       :data="list"
       element-loading-text="Loading"
+      height="calc(100vh - 320px)"
       border
       fit
       highlight-current-row
     >
       <el-table-column label="序号" align="center" width="80px" type="index" />
-      <el-table-column label="设备类型名称" align="center">
+      <el-table-column label="设备类型名称" align="center" min-width="150">
         <template slot-scope="scope">
           {{ scope.row.name | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="创建时间" align="center">
+      <el-table-column label="创建时间" align="center" min-width="160">
         <template slot-scope="scope">
           {{ scope.row.createTime | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column align="center" label="操作区" width="200">
+      <el-table-column fixed="right" align="center" label="操作区" width="200">
         <template slot-scope="scope">
           <el-button
             type="danger"

+ 5 - 4
src/views/setting/components/pass_records_search.vue

@@ -54,29 +54,30 @@
       class="table"
       :data="list"
       element-loading-text="Loading"
+      height="calc(100vh - 320px)"
       border
       fit
       highlight-current-row
     >
       <el-table-column label="序号" align="center" width="80px" type="index" />
-      <el-table-column label="账号名称" align="center">
+      <el-table-column label="账号名称" align="center" min-width="120">
         <template slot-scope="scope">
           {{ scope.row.account | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="停用/启用" align="center">
+      <el-table-column label="停用/启用" align="center" min-width="120">
         <template slot-scope="scope">
           <el-tag v-if="scope.row.status === 0 " type="warning" effect="dark">停用</el-tag>
           <el-tag v-else-if="scope.row.status === 1 " type="success" effect="dark">启用</el-tag>
           <el-tag v-else type="info" effect="plain">未知</el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="创建时间" align="center">
+      <el-table-column label="创建时间" align="center" min-width="160">
         <template slot-scope="scope">
           {{ scope.row.createTime | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column align="center" label="操作区" width="200">
+      <el-table-column fixed="right" align="center" label="操作区" width="200">
         <template slot-scope="scope">
           <el-button
             type="danger"

+ 6 - 6
src/views/task_list/index.vue

@@ -15,7 +15,7 @@
           {{ indexMethod(scope.$index) }}
         </template>
       </el-table-column>
-      <el-table-column label="任务类型" align="center">
+      <el-table-column label="任务类型" align="center" width="120">
         <template slot-scope="scope">
           <el-tag type="success" effect="plain" v-if="scope.row.taskType === 1"
             >全量下发</el-tag
@@ -34,7 +34,7 @@
           >
         </template>
       </el-table-column>
-      <el-table-column label="设备号" align="center">
+      <el-table-column label="设备号" align="center" width="150">
         <template slot-scope="scope">
           {{ scope.row.sn || "暂无" }}
         </template>
@@ -56,7 +56,7 @@
           {{ scope.row.retryTime || "暂无" }}
         </template>
       </el-table-column>
-      <el-table-column label="创建时间" align="center">
+      <el-table-column label="创建时间" align="center" width="160">
         <template slot-scope="scope">
           {{ scope.row.createTime || "暂无" }}
         </template>
@@ -165,17 +165,17 @@
             </el-image>
           </template>
         </el-table-column>
-        <el-table-column label="姓名" align="center">
+        <el-table-column label="姓名"  align="center" width="120">
           <template slot-scope="scope">
             {{ scope.row.name | matchNull }}
           </template>
         </el-table-column>
-        <el-table-column label="手机号" align="center">
+        <el-table-column label="手机号"  align="center" width="120">
           <template slot-scope="scope">
             {{ scope.row.phone | matchNull }}
           </template>
         </el-table-column>
-        <el-table-column label="身份证号" align="center">
+        <el-table-column label="身份证号"  align="center" width="160">
           <template slot-scope="scope">
             {{ scope.row.idNumber | matchNull }}
           </template>

+ 113 - 110
src/views/visitee_list/index.vue

@@ -13,105 +13,107 @@
       @finish="modalSuccess(false)"
     />
     <!--搜索区-->
-    <el-select
-      v-if="checkRole([1])"
-      v-model="form.adminId"
-      filterable
-      clearable
-      placeholder="请选择账号"
-    >
-      <el-option
-        v-for="item in user_list"
-        :key="item.adminId"
-        :label="item.username"
-        :value="item.adminId"
-      />
-    </el-select>
-    <el-input
-      v-model="form.company"
-      placeholder="请输入单位名称"
-      class="margin-left input"
-    />
-    <el-input
-      v-model="form.floor"
-      placeholder="请输入楼层"
-      class="margin-left input"
-    />
-    <el-input
-      v-model="form.name"
-      placeholder="请输入姓名"
-      class="margin-left input"
-    />
-    <el-input
-      v-model="form.phone"
-      placeholder="请输入手机号"
-      class="margin-left input"
-    />
-    <el-input
-      v-model="form.idNumber"
-      placeholder="请输入身份证号"
-      class="margin-left input"
-    />
-    <el-input
-      v-model="form.showTitle"
-      placeholder="请输入显示标题"
-      class="margin-left input"
-    />
-    <el-input
-      v-model="form.unitName"
-      placeholder="请输入部门"
-      class="margin-left input"
-    />
-    <el-select
-      v-if="!checkRole([99])"
-      v-model="form.zoneId"
-      filterable
-      clearable
-      placeholder="请选择区域"
-      class="margin-left input"
-      no-data-text="“选择区域”为空"
-    >
-      <el-option
-        v-for="(item, index) in areaList"
-        :key="index"
-        :label="item.name"
-        :value="item.id"
-      />
-    </el-select>
-    <br>
-    <el-button
-      type="primary"
-      icon="el-icon-search"
-      style="margin-top: 10px"
-      @click="query"
-    >搜索</el-button>
-    <el-button
-      class="filter-item"
-      style="margin-left: 10px"
-      type="primary"
-      icon="el-icon-plus"
-      @click="handleCreate"
-    >
-      添加
-    </el-button>
-    <el-button
-      type="primary"
-      icon="el-icon-download"
-      style="margin-left: 10px"
-      @click="download"
-    >下载模板</el-button>
-    <el-button
-      type="primary"
-      style="margin-left: 10px"
-      plain
-      @click="addOrUpdate"
-    >批量导入</el-button>
-    <el-button
-      type="danger"
-      style="margin-left: 10px"
-      plain
-      @click="deletes"
-    >批量删除</el-button>
+    <div class="operation-box">
+      <div class="operation-box_btn">
+        <el-button
+          class="filter-item"
+          type="primary"
+          icon="el-icon-plus"
+          @click="handleCreate"
+        >
+          添加
+        </el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-download"
+          @click="download"
+        >下载模板</el-button>
+        <el-button
+          type="primary"
+          plain
+          @click="addOrUpdate"
+        >批量导入</el-button>
+        <el-button
+          type="danger"
+          plain
+          @click="deletes"
+        >批量删除</el-button>
+      </div>
+      <div class="operation-box_search">
+        <el-select
+          v-if="checkRole([1])"
+          v-model="form.adminId"
+          filterable
+          clearable
+          class="search-input"
+          placeholder="请选择账号"
+        >
+          <el-option
+            v-for="item in user_list"
+            :key="item.adminId"
+            :label="item.username"
+            :value="item.adminId"
+          />
+        </el-select>
+        <el-input
+          v-model="form.company"
+          placeholder="请输入单位名称"
+          class="search-input"
+        />
+        <el-input
+          v-model="form.floor"
+          placeholder="请输入楼层"
+          class="search-input"
+        />
+        <el-input
+          v-model="form.name"
+          placeholder="请输入姓名"
+          class="search-input"
+        />
+        <el-input
+          v-model="form.phone"
+          placeholder="请输入手机号"
+          class="search-input"
+        />
+        <el-input
+          v-model="form.idNumber"
+          placeholder="请输入身份证号"
+          class="search-input"
+        />
+        <el-input
+          v-model="form.showTitle"
+          placeholder="请输入显示标题"
+          class="search-input"
+        />
+        <el-input
+          v-model="form.unitName"
+          placeholder="请输入部门"
+          class="search-input"
+        />
+        <el-select
+          v-if="!checkRole([99])"
+          v-model="form.zoneId"
+          filterable
+          clearable
+          placeholder="请选择区域"
+          class="search-input"
+          no-data-text="“选择区域”为空"
+        >
+          <el-option
+            v-for="(item, index) in areaList"
+            :key="index"
+            :label="item.name"
+            :value="item.id"
+          />
+        </el-select>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          class="search-btn"
+          @click="query"
+        >搜索</el-button>
+      </div>
+    </div>
     <!--主表格-->
     <el-table
       v-loading="tableLoading"
@@ -119,6 +121,7 @@
       :data="tableData"
       stripe
       element-loading-text="Loading"
+      height="calc(100vh - 340px)"
       border
       fit
       highlight-current-row
@@ -130,47 +133,47 @@
           }}
         </template>
       </el-table-column>
-      <el-table-column v-if="checkRole([1])" label="所属账号" align="center">
+      <el-table-column v-if="checkRole([1])" label="所属账号" align="center" width="150">
         <template slot-scope="scope">
           {{ scope.row.username | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="姓名" align="center">
+      <el-table-column label="姓名" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.name | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="手机号" align="center">
+      <el-table-column label="手机号" align="center" min-width="120">
         <template slot-scope="scope">
           <span>{{ scope.row.phone | matchNull }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="身份证号" align="center">
+      <el-table-column label="身份证号" align="center" min-width="170">
         <template slot-scope="scope">
           <span>{{ scope.row.idNumber | matchNull }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="单位名称" align="center">
+      <el-table-column label="单位名称" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.company | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="部门" align="center">
+      <el-table-column label="部门" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.unitName | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="楼层" align="center">
+      <el-table-column label="楼层" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.floor | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="房间号" align="center">
+      <el-table-column label="房间号" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.room | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="显示标题" align="center">
+      <el-table-column label="显示标题" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.showTitle | matchNull }}
         </template>
@@ -184,12 +187,12 @@
           {{ scope.row.zoneNames || "全部" }}
         </template>
       </el-table-column>
-      <el-table-column label="创建时间" align="center" :width="180">
+      <el-table-column label="创建时间" align="center" width="180">
         <template slot-scope="scope">
           {{ scope.row.createTime }}
         </template>
       </el-table-column>
-      <el-table-column align="center" prop="" label="操作区" :width="180">
+      <el-table-column fixed="right" align="center" prop="" label="操作区" width="180">
         <template slot-scope="{ row, $index }">
           <el-button type="primary" size="mini" @click="handleUpdate(row)">
             编辑

+ 117 - 115
src/views/visitee_list/modal/AddModal.vue

@@ -2,129 +2,131 @@
 <template>
   <el-dialog
     :title="isEdit ? '编辑受访人' : '添加受访人'"
-    width="500px"
+    width="600"
     :visible.sync="visible"
     :destroy-on-close="false"
     :close-on-click-modal="false"
   >
-    <el-form
-      ref="form"
-      :rules="rules"
-      :model="form"
-      label-position="left"
-      label-width="90px"
-    >
-      <el-form-item prop="id" style="margin-bottom: 0">&nbsp;</el-form-item>
-      <el-form-item
-        v-if="checkRole([1])"
-        label="绑定账号"
-        prop="adminId"
-        required
+    <div style="max-height: 500px;overflow-y: scroll;">
+      <el-form
+        ref="form"
+        :rules="rules"
+        :model="form"
+        label-position="left"
+        label-width="90px"
       >
-        <el-select
-          v-model="form.adminId"
-          class="filter-item"
-          placeholder="请选择账号"
-          clearable
-          filterable
+        <el-form-item prop="id" style="margin-bottom: 0">&nbsp;</el-form-item>
+        <el-form-item
+          v-if="checkRole([1])"
+          label="绑定账号"
+          prop="adminId"
+          required
         >
-          <el-option
-            v-for="item in userList"
-            :key="item.adminId"
-            :label="item.username"
-            :value="item.adminId"
+          <el-select
+            v-model="form.adminId"
+            class="filter-item"
+            placeholder="请选择账号"
+            clearable
+            filterable
+          >
+            <el-option
+              v-for="item in userList"
+              :key="item.adminId"
+              :label="item.username"
+              :value="item.adminId"
+            />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="姓名" prop="name">
+          <el-input
+            v-model="form.name"
+            :disabled="nameReadOnly"
+            placeholder="请输入姓名"
+            maxlength="10"
+            show-word-limit
           />
-        </el-select>
-      </el-form-item>
-      <el-form-item label="姓名" prop="name">
-        <el-input
-          v-model="form.name"
-          :disabled="nameReadOnly"
-          placeholder="请输入姓名"
-          maxlength="10"
-          show-word-limit
-        />
-      </el-form-item>
-      <el-form-item label="手机号" prop="phone">
-        <el-input
-          v-model="form.phone"
-          :disabled="phoneReadOnly"
-          placeholder="请输入手机号"
-          maxlength="11"
-          show-word-limit
-        />
-      </el-form-item>
-      <el-form-item label="身份证号" prop="idNumber">
-        <el-input
-          v-model="form.idNumber"
-          :disabled="idNumberReadOnly"
-          placeholder="请输入身份证号"
-          maxlength="18"
-          show-word-limit
-        />
-      </el-form-item>
-      <el-form-item label="单位名称" prop="company">
-        <el-input
-          v-model="form.company"
-          placeholder="请输入单位名称"
-          maxlength="20"
-          show-word-limit
-        />
-      </el-form-item>
-      <el-form-item label="部门" prop="unitName">
-        <el-input
-          v-model="form.unitName"
-          placeholder="请输入部门"
-          maxlength="20"
-          show-word-limit
-        />
-      </el-form-item>
-      <el-form-item label="楼层" prop="floor" required>
-        <el-input
-          v-model="form.floor"
-          placeholder="请输入楼层,多个楼层请用英文逗号分隔"
-        />
-      </el-form-item>
-      <el-form-item label="房间号" prop="room">
-        <el-input
-          v-model="form.room"
-          placeholder="请输入房间号"
-          maxlength="20"
-          show-word-limit
-        />
-      </el-form-item>
-      <el-form-item label="显示标题" prop="showTitle" required>
-        <el-input
-          v-model="form.showTitle"
-          placeholder="请输入显示标题"
-          maxlength="20"
-          show-word-limit
-        />
-      </el-form-item>
-      <el-form-item
-        v-if="!checkRole([99])"
-        label="区域"
-        prop="selectAreaList"
-        required
-      >
-        <el-select
-          v-model="form.selectAreaList"
-          class="filter-item"
-          placeholder="请选择区域"
-          clearable
-          multiple
-          filterable
-          @change="areaChange"
-        >
-          <el-option
-            v-for="item in areaList"
-            :key="item.id"
-            :label="item.name"
-            :value="item.id"
+        </el-form-item>
+        <el-form-item label="手机号" prop="phone">
+          <el-input
+            v-model="form.phone"
+            :disabled="phoneReadOnly"
+            placeholder="请输入手机号"
+            maxlength="11"
+            show-word-limit
+          />
+        </el-form-item>
+        <el-form-item label="身份证号" prop="idNumber">
+          <el-input
+            v-model="form.idNumber"
+            :disabled="idNumberReadOnly"
+            placeholder="请输入身份证号"
+            maxlength="18"
+            show-word-limit
+          />
+        </el-form-item>
+        <el-form-item label="单位名称" prop="company">
+          <el-input
+            v-model="form.company"
+            placeholder="请输入单位名称"
+            maxlength="20"
+            show-word-limit
+          />
+        </el-form-item>
+        <el-form-item label="部门" prop="unitName">
+          <el-input
+            v-model="form.unitName"
+            placeholder="请输入部门"
+            maxlength="20"
+            show-word-limit
           />
-        </el-select>
-      </el-form-item>
-    </el-form>
+        </el-form-item>
+        <el-form-item label="楼层" prop="floor" required>
+          <el-input
+            v-model="form.floor"
+            placeholder="请输入楼层,多个楼层请用英文逗号分隔"
+          />
+        </el-form-item>
+        <el-form-item label="房间号" prop="room">
+          <el-input
+            v-model="form.room"
+            placeholder="请输入房间号"
+            maxlength="20"
+            show-word-limit
+          />
+        </el-form-item>
+        <el-form-item label="显示标题" prop="showTitle" required>
+          <el-input
+            v-model="form.showTitle"
+            placeholder="请输入显示标题"
+            maxlength="20"
+            show-word-limit
+          />
+        </el-form-item>
+        <el-form-item
+          v-if="!checkRole([99])"
+          label="区域"
+          prop="selectAreaList"
+          required
+        >
+          <el-select
+            v-model="form.selectAreaList"
+            class="filter-item"
+            placeholder="请选择区域"
+            clearable
+            multiple
+            filterable
+            @change="areaChange"
+          >
+            <el-option
+              v-for="item in areaList"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
+            />
+          </el-select>
+        </el-form-item>
+      </el-form>
+    </div>
     <div slot="footer" class="dialog-footer">
       <el-button @click="visible = false"> 取消 </el-button>
       <el-button type="primary" :loading="submitLoading" @click="submit">

+ 4 - 4
src/views/visitee_list/modal/UploadModal.vue

@@ -67,22 +67,22 @@
               {{ scope.$index + 1 }}
             </template>
           </el-table-column>
-          <el-table-column label="楼层" align="center">
+          <el-table-column label="楼层" align="center" width="120">
             <template slot-scope="scope">
               {{ scope.row.floor }}
             </template>
           </el-table-column>
-          <el-table-column label="显示标题" align="center">
+          <el-table-column label="显示标题" align="center" width="120">
             <template slot-scope="scope">
               {{ scope.row.showTitle }}
             </template>
           </el-table-column>
-          <el-table-column label="身份证号" align="center">
+          <el-table-column label="身份证号" align="center" min-width="170">
             <template slot-scope="scope">
               {{ scope.row.idNumber }}
             </template>
           </el-table-column>
-          <el-table-column label="错误描述" align="center">
+          <el-table-column label="错误描述" align="center" width="120">
             <template slot-scope="scope">
               {{ scope.row.err }}
             </template>

+ 3 - 3
src/views/visitors_list/index.vue

@@ -155,12 +155,12 @@
           {{ scope.row.name | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="身份证号" align="center" width="170">
+      <el-table-column label="身份证号" align="center" min-width="170">
         <template slot-scope="scope">
           {{ scope.row.idNumber | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="手机号" align="center" width="120">
+      <el-table-column label="手机号" align="center" min-width="120">
         <template slot-scope="scope">
           {{ scope.row.phone | matchNull }}
         </template>
@@ -291,7 +291,7 @@
           >详情</el-button>
           <el-button
             v-if="checkRole([1, 2, 5,99])"
-            type="success"
+            type="primary"
             size="small"
             @click="addWhiteList(scope.row.id)"
           >转为员工</el-button>

+ 98 - 126
src/views/warning_record/index.vue

@@ -1,73 +1,75 @@
 <template>
   <div class="app-container">
-    <el-button
-      v-if="checkRole([1, 2, 5]) && isOut === 1"
-      type="primary"
-      icon="el-icon-download"
-      class="margin-left"
-      @click="download"
-    >导出记录
-    </el-button>
-    <el-input
-      v-model="page.data.name"
-      placeholder="请输入预警人员姓名"
-      class="margin-left input"
-    />
-    <el-input
-      v-model="page.data.idNumber"
-      placeholder="请输入预警人员证件号"
-      class="margin-left input"
-    />
-    <el-select
-      v-model="page.data.status"
-      filterable
-      clearable
-      placeholder="请选择预警是否确认"
-      class="margin-left input"
-    >
-      <el-option
-        v-for="item in warning_list"
-        :key="item.id"
-        :label="item.name"
-        :value="item.id"
-      />
-    </el-select>
-    <el-input
-      v-model="page.data.controlName"
-      placeholder="请输入布控人姓名"
-      class="margin-left input"
-    />
-    <el-input
-      v-model="page.data.controlPhone"
-      placeholder="请输入布控人手机号"
-      class="margin-left input"
-    />
-
-    <el-input
-      v-model="page.data.controlUnit"
-      placeholder="请输入布控人单位"
-      class="margin-left input"
-    />
-    <el-date-picker
-      v-model="page.data.startTime"
-      type="datetime"
-      placeholder="选择开始时间"
-      value-format="yyyy-MM-dd HH:mm:ss"
-      class="margin-left"
-    />
-    <el-date-picker
-      v-model="page.data.endTime"
-      type="datetime"
-      placeholder="选择结束时间"
-      value-format="yyyy-MM-dd HH:mm:ss"
-      class="margin-left"
-    />
-    <el-button
-      type="primary"
-      icon="el-icon-search"
-      class="margin-left"
-      @click="fetchData"
-    >搜索</el-button>
+    <div class="operation-box">
+      <div class="operation-box_btn">
+        <el-button
+          v-if="checkRole([1, 2, 5]) && isOut === 1"
+          type="primary"
+          icon="el-icon-download"
+          @click="download"
+        >导出记录
+        </el-button>
+      </div>
+      <div class="operation-box_search">
+        <el-input
+          v-model="page.data.name"
+          placeholder="请输入预警人员姓名"
+          class="search-input"
+        />
+        <el-input
+          v-model="page.data.idNumber"
+          placeholder="请输入预警人员证件号"
+          class="search-input"
+        />
+        <el-select
+          v-model="page.data.status"
+          filterable
+          clearable
+          placeholder="请选择预警是否确认"
+          class="search-input"
+        >
+          <el-option
+            v-for="item in warning_list"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          />
+        </el-select>
+        <el-input
+          v-model="page.data.controlName"
+          placeholder="请输入布控人姓名"
+          class="search-input"
+        />
+        <el-input
+          v-model="page.data.controlPhone"
+          placeholder="请输入布控人手机号"
+          class="search-input"
+        />
+        <el-input
+          v-model="page.data.controlUnit"
+          placeholder="请输入布控人单位"
+          class="search-input"
+        />
+        <el-date-picker
+          v-model="page.data.createTime"
+          type="datetimerange"
+          style="width: 350px;margin: 5px"
+          align="right"
+          unlink-panels
+          range-separator="-"
+          :start-placeholder="`过闸开始日期`"
+          :end-placeholder="`过闸结束日期`"
+          :clearable="true"
+          :editable="false"
+        />
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          class="search-btn"
+          @click="fetchData"
+        >搜索</el-button>
+      </div>
+    </div>
     <!--主表格-->
     <el-table
       ref="table_form"
@@ -75,6 +77,7 @@
       class="table"
       :data="list"
       element-loading-text="Loading"
+      height="calc(100vh - 320px)"
       border
       fit
       highlight-current-row
@@ -84,58 +87,62 @@
           {{ indexMethod(scope.$index) }}
         </template>
       </el-table-column>
-      <el-table-column label="设备名称" align="center">
+      <el-table-column label="设备名称" align="center" width="130">
         <template slot-scope="scope">
           <span>{{ scope.row.snName | matchNull }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="预警人现场照片" align="center">
+      <el-table-column label="预警人现场照片" align="center" width="120">
         <template slot-scope="scope">
           <el-image
-            style="width: 100px; height: 100px"
+            style="width: 70px; height: 70px"
             fit="cover"
             :src="scope.row.photo"
             :preview-src-list="[scope.row.photo]"
-          />
+          >
+            <div slot="error" style="width: 70px;height: 70px;display: flex;justify-content: center;align-items: center;color:#C0C4CC;background-color: #F5F7FA;">
+              {{ scope.row.avatar ? "加载失败" : "暂无照片" }}
+            </div>
+          </el-image>
         </template>
       </el-table-column>
-      <el-table-column label="预警人姓名" align="center">
+      <el-table-column label="预警人姓名" align="center" width="120">
         <template slot-scope="scope">
           <span>{{ scope.row.name | matchNull }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="预警人证件号" align="center">
+      <el-table-column label="预警人证件号" align="center" min-width="170">
         <template slot-scope="scope">
           <span>{{ scope.row.idNumber | matchNull }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="布控人姓名" align="center">
+      <el-table-column label="布控人姓名" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.controlName | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="布控人手机号" align="center">
+      <el-table-column label="布控人手机号" align="center" min-width="120">
         <template slot-scope="scope">
           {{ scope.row.controlPhone | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column label="布控人单位" align="center">
+      <el-table-column label="布控人单位" align="center" width="160">
         <template slot-scope="scope">
           <span>{{ scope.row.controlUnit | matchNull }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="过闸时间" align="center">
+      <el-table-column label="过闸时间" align="center" width="160">
         <template slot-scope="scope">
           <span>{{ scope.row.faceTime | matchNull }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="预警是否确认" align="center">
+      <el-table-column label="预警是否确认" align="center" width="150">
         <template slot-scope="scope">
           <el-tag v-if="scope.row.status === 2 " type="success">已确认</el-tag>
           <el-tag v-else-if="scope.row.status === 1 " type="danger">未确认</el-tag>
         </template>
       </el-table-column>
-      <el-table-column align="center" prop="" label="操作区">
+      <el-table-column fixed="right" align="center" prop="" label="操作区">
         <template slot-scope="scope">
           <el-button
             :disabled="scope.row.status !== 1"
@@ -162,6 +169,7 @@
 <script>
 import { checkRole } from '@/utils/checkRole'
 import Pagination from '@/components/Pagination'
+import { parseTime } from '@/utils'
 import {
   earlyWarningConfirm,
   getListLogPageInfo,
@@ -194,6 +202,7 @@ export default {
           idNumber: null,
           name: null,
           status: null,
+          createTime: [],
           endTime: null,
           startTime: null
         },
@@ -228,6 +237,15 @@ export default {
     // 获取列表数据
     fetchData() {
       this.listLoading = true
+      let startTime = null
+      let endTime = null
+      const createTime = this.page.data.createTime
+      if (createTime && createTime.length > 0) {
+        startTime = parseTime(createTime[0], '{y}-{m}-{d} {h}:{i}:{s}')
+        endTime = parseTime(createTime[1], '{y}-{m}-{d} {h}:{i}:{s}')
+      }
+      this.page.data.startTime = startTime
+      this.page.data.endTime = endTime
       getListLogPageInfo(this.page).then((res) => {
         this.list = res.data.list
         this.total = res.data.total
@@ -309,50 +327,4 @@ export default {
 .table {
   margin-top: 15px;
 }
-
-.flex {
-  display: flex;
-  justify-content: flex-start;
-  align-items: center;
-}
-
-.margin-left {
-  margin: 10px 0 0 10px;
-}
-
-.input {
-  width: 200px;
-}
-/*批量导入按钮*/
-.file {
-  margin: 10px 0 0 10px;
-  position: relative;
-  background: #d0eeff;
-  border: 1px solid #99d3f5;
-  border-radius: 4px;
-  padding: 10px 20px;
-  box-sizing: border-box;
-  overflow: hidden;
-  color: #1e88c7;
-  text-decoration: none;
-  text-indent: 0;
-}
-
-.file input {
-  position: absolute;
-  font-size: 14px;
-  width: 106px;
-  height: 40px;
-  left: 0;
-  top: 0;
-  opacity: 0;
-  cursor: pointer;
-}
-
-.file:hover {
-  background: #aadffd;
-  border-color: #78c3f3;
-  color: #004974;
-  text-decoration: none;
-}
 </style>

+ 15 - 16
src/views/white_list/index.vue

@@ -2,7 +2,6 @@
   <div v-loading="downloadLoading" class="app-container">
     <!--操作区-->
     <div class="operation-box">
-      <!--操作区-->
       <div class="operation-box_btn">
         <template v-if="checkRole([1, 5, 99])">
           <el-button
@@ -324,10 +323,10 @@
             :placeholder="item.prompt"
           >
             <el-option
-              v-for="item in item.configurationOption"
-              :key="item.name"
-              :label="item.name"
-              :value="item.name"
+              v-for="cItem in item.configurationOption"
+              :key="cItem.name"
+              :label="cItem.name"
+              :value="cItem.name"
             />
           </el-select>
           <el-input
@@ -371,7 +370,7 @@
           {{ indexMethod(scope.$index) }}
         </template>
       </el-table-column>
-      <el-table-column key="rrr" label="实名照片" align="center">
+      <el-table-column key="rrr" label="实名照片" align="center" width="120">
         <template slot-scope="scope">
           <el-image
             style="width: 70px; height: 70px"
@@ -385,22 +384,22 @@
           </el-image>
         </template>
       </el-table-column>
-      <el-table-column key="ttt" label="姓名" align="center">
+      <el-table-column key="ttt" label="姓名" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.name | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column key="yyy" label="手机号" align="center">
+      <el-table-column key="yyy" label="手机号" align="center" min-width="120">
         <template slot-scope="scope">
           {{ scope.row.phone | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column key="ooo" label="身份证号" align="center">
+      <el-table-column key="ooo" label="身份证号" align="center" min-width="170">
         <template slot-scope="scope">
           {{ scope.row.idNumber | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column key="uuu" label="卡号" align="center">
+      <el-table-column key="uuu" label="卡号" align="center" width="120">
         <template slot-scope="scope">
           {{ scope.row.cardIdEx | matchNull }}
         </template>
@@ -416,7 +415,7 @@
           {{ scope.row.username | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column key="nnn" label="认证状态" align="center">
+      <el-table-column key="nnn" label="认证状态" align="center" width="120">
         <template slot-scope="scope">
           <el-tag
             v-if="scope.row.status === 1"
@@ -431,7 +430,7 @@
           <el-tag v-else effect="plain" type="info">未知</el-tag>
         </template>
       </el-table-column>
-      <el-table-column key="ppp" label="认证类型" align="center">
+      <el-table-column key="ppp" label="认证类型" align="center" width="120">
         <template slot-scope="scope">
           <el-tag
             v-if="scope.row.pushType === 0"
@@ -465,7 +464,7 @@
           <el-tag v-else effect="plain" type="info">其他</el-tag>
         </template>
       </el-table-column>
-      <el-table-column v-if="placeType == 3" key="aaa" label="人员类型" align="center">
+      <el-table-column v-if="placeType == 3" key="aaa" label="人员类型" align="center" width="120">
         <template slot-scope="scope">
           <span>{{
             scope.row.personnelType | getPersonnelTypeName(that)
@@ -503,7 +502,7 @@
           {{ (scope.row.privateAreaNameList||[]).join(',') || '全部' }}
         </template>
       </el-table-column>
-      <el-table-column v-if="placeType == 3" key="fff" label="入库状态" align="center">
+      <el-table-column v-if="placeType == 3" key="fff" label="入库状态" align="center" width="120">
         <template slot-scope="scope">
           <el-tag
             v-if="scope.row.warehousingStatus == 1"
@@ -525,7 +524,7 @@
           {{ scope.row.endTime | matchNull }}
         </template>
       </el-table-column>
-      <el-table-column v-if="!(checkRole([5])&&placeType == 2)&&!checkRole([99])" key="jjj" label="所属区域" align="center">
+      <el-table-column v-if="!(checkRole([5])&&placeType == 2)&&!checkRole([99])" key="jjj" label="所属区域" align="center" width="120">
         <template slot-scope="scope">
           {{ (scope.row.zoneDeviceRLessVOList||[]).map(item=>item.name).join(',') || '全部' }}
         </template>
@@ -551,7 +550,7 @@
           </template>
         </el-table-column>
       </template>
-      <el-table-column label="创建时间" align="center" width="150">
+      <el-table-column label="创建时间" align="center" width="160">
         <template slot-scope="scope">
           {{ scope.row.createTime | matchNull }}
         </template>