瀏覽代碼

智慧安防数据修改,条件查询

Bella 2 年之前
父節點
當前提交
c7ae7aa8e8

+ 196 - 121
src/components/scene/access/sceneAccessGuestManage.vue

@@ -64,20 +64,22 @@ export default {
         objective: '1',
         company: '0'
       },
+      objectiveMap:new Map(),
       objectiveOptions: [
         {
           label: '全部',
-          value: '1'
+          value: '0'
         },
         {
           label: '开会',
-          value: '2'
+          value: '1'
         },
         {
           label: '交流',
-          value: '3'
+          value: '2'
         },
       ],
+      companyMap:new Map(),
       companyOptions: [
         {
           label: '全部',
@@ -98,14 +100,14 @@ export default {
           customRender: (text, record, index) => `${index + 1}`
         },
         {
-          title: '姓名',
-          dataIndex: 'name',
-          key: 'name',
+          title: '访客',
+          dataIndex: 'visitor',
+          key: 'visitor',
         },
         {
           title: '访客手机号',
-          dataIndex: 'people_type',
-          key: 'people_type',
+          dataIndex: 'visitor_phone',
+          key: 'visitor_phone',
         },
         {
           title: '所属公司',
@@ -124,8 +126,8 @@ export default {
         },
         {
           title: '受访人手机号',
-          dataIndex: 'phone',
-          key: 'phone',
+          dataIndex: 'interviewee_phone',
+          key: 'interviewee_phone',
         },
         {
           title: '通行时间',
@@ -146,224 +148,238 @@ export default {
         //},
 
       ],
-      tableData: [
+      tableData:[],
+      originalData: [
         {
           key: '1',
-          name: "潘夏彤",
-          people_type: "自有员工",
+          visitor: "潘夏彤",
+          visitor_phone: "13038678756",
           department: "北京电信规划院",
-          time: "进:2022-08-26 12:00:00",
-          reason: "ZY010012",
+          time: "2022-08-26 12:00:00",
+          reason: "开会",
           direction: "进入B3",
-          interviewee: "某某某", behavior: "",
+          interviewee: "胡八一", interviewee_phone: "15643567892",
+          directionStatus: "进",
         },
         {
           key: '2',
-          name: "庞慧",
-          people_type: "协作员工",
+          visitor: "庞慧",
+          visitor_phone: "13038678756",
           department: "北京电信规划院",
-          time: "进:2022-08-26 12:00:00",
-          reason: "ZY010012",
+          time: "2022-08-26 12:00:00",
+          reason: "开会",
           direction: "进入1F",
-          interviewee: "某某某",
-          behavior: "",
+          interviewee: "胡八一",
+          interviewee_phone: "15643567892",
+          directionStatus: "进",
         },
         {
           key: '3',
-          name: "李天泽",
-          people_type: "访客",
+          visitor: "李天泽",
+          visitor_phone: "13038678756",
           department: "北京电信规划院",
-          time: "进:2022-08-26 12:00:00",
-          reason: "ZY010012",
+          time: "2022-08-26 12:00:00",
+          reason: "开会",
           direction: "进入B2",
-          interviewee: "某某某", behavior: "",
+          interviewee: "张永军", interviewee_phone: "15643563892",
+          directionStatus: "进",
         },
         {
           key: '4',
-          name: "李天泽",
-          people_type: "访客",
+          visitor: "李天泽",
+          visitor_phone: "13038678754",
           department: "北京电信规划院",
-          time: "进:2022-08-26 12:00:00",
-          reason: "ZY010012",
+          time: "2022-08-26 12:00:00",
+          reason: "开会",
           direction: "进入B2",
-          interviewee: "某某某", behavior: "",
+          interviewee: "胡八一", interviewee_phone: "15643567892",directionStatus: "进",
         },
         {
           key: '5',
-          name: "李天泽",
-          people_type: "访客",
+          visitor: "李天泽",
+          visitor_phone: "13038678754",
           department: "北京电信规划院",
-          time: "进:2022-08-26 12:00:00",
-          reason: "ZY010012",
+          time: "2022-08-26 12:00:00",
+          reason: "开会",
           direction: "进入B2",
-          interviewee: "某某某", behavior: "",
+          interviewee: "胡八一", interviewee_phone: "15643563892",directionStatus: "进",
         },
         {
           key: '6',
-          name: "李天泽",
-          people_type: "访客",
+          visitor: "李天泽",
+          visitor_phone: "13038678754",
           department: "北京电信规划院",
-          time: "进:2022-08-26 12:00:00",
-          reason: "ZY010012",
+          time: "2022-08-26 12:00:00",
+          reason: "开会",
           direction: "进入B2",
-          interviewee: "某某某", behavior: "",
+          interviewee: "胡八一", interviewee_phone: "15643563892",directionStatus: "进",
         },
         {
           key: '7',
-          name: "李天泽",
-          people_type: "访客",
+          visitor: "李天泽",
+          visitor_phone: "13032678754",
           department: "北京电信规划院",
-          time: "进:2022-08-26 12:00:00",
-          reason: "ZY010012",
+          time: "2022-08-26 12:00:00",
+          reason: "交流",
           direction: "进入B2",
-          interviewee: "某某某", behavior: "",
+          interviewee: "刘一鸣", interviewee_phone: "15943563892",directionStatus: "进",
         },
         {
           key: '8',
-          name: "李天泽",
-          people_type: "访客",
+          visitor: "李天泽",
+          visitor_phone: "13032678754",
           department: "北京电信规划院",
-          time: "进:2022-08-26 12:00:00",
-          reason: "ZY010012",
+          time: "2022-08-26 12:00:00",
+          reason: "交流",
           direction: "进入B2",
-          interviewee: "某某某", behavior: "",
+          interviewee: "刘一鸣", interviewee_phone: "15943563892",directionStatus: "进",
         },
         {
           key: '9',
-          name: "李天泽",
-          people_type: "访客",
+          visitor: "李天泽",
+          visitor_phone: "13032678754",
           department: "北京电信规划院",
-          time: "进:2022-08-26 12:00:00",
-          reason: "ZY010012",
+          time: "2022-08-26 12:00:00",
+          reason: "交流",
           direction: "进入B2",
-          interviewee: "某某某", behavior: "",
+          interviewee: "胡八一", interviewee_phone: "15943563892",directionStatus: "进",
         },
         {
           key: '10',
-          name: "李天泽",
-          people_type: "访客",
+          visitor: "李天泽",
+          visitor_phone: "12232678754",
           department: "北京电信规划院",
-          time: "进:2022-08-26 12:00:00",
-          reason: "ZY010012",
+          time: "2022-08-26 12:00:00",
+          reason: "交流",
           direction: "进入B2",
-          interviewee: "某某某", behavior: "",
+          interviewee: "胡八一", interviewee_phone: "15943563892",directionStatus: "进",
         },
         {
           key: '11',
-          name: "李天泽",
-          people_type: "访客",
+          visitor: "李天泽",
+          visitor_phone: "12232678754",
           department: "北京电信规划院",
-          time: "进:2022-08-26 12:00:00",
-          reason: "ZY010012",
-          direction: "进入B2",
-          interviewee: "某某某", behavior: "",
+          time: "2022-08-26 12:00:00",
+          reason: "交流",
+          direction: "出去B2",
+          interviewee: "胡八一", interviewee_phone: "15943563892",directionStatus: "出",
         },
         {
           key: '12',
-          name: "李天泽",
-          people_type: "访客",
+          visitor: "李天泽",
+          visitor_phone: "12232678759",
           department: "北京电信规划院",
-          time: "进:2022-08-26 12:00:00",
-          reason: "ZY010012",
-          direction: "进入B2",
-          interviewee: "某某某", behavior: "",
+          time: "2022-08-26 12:00:00",
+          reason: "交流",
+          direction: "出去B2",
+          interviewee: "刘一鸣", interviewee_phone: "15943463892",directionStatus: "出",
         },
         {
           key: '13',
-          name: "李天泽",
-          people_type: "访客",
+          visitor: "李天泽",
+          visitor_phone: "15513548219",
           department: "北京电信规划院",
-          time: "进:2022-08-26 12:00:00",
-          reason: "ZY010012",
+          time: "2023-03-26 12:00:00",
+          reason: "开会",
           direction: "进入B2",
-          interviewee: "某某某", behavior: "",
+          interviewee: "刘一鸣", interviewee_phone: "15943563892",directionStatus: "进",
         },
         {
           key: '14',
-          name: "李天泽",
-          people_type: "访客",
+          visitor: "李天泽",
+          visitor_phone: "15513548214",
           department: "北京电信规划院",
-          time: "进:2022-08-26 12:00:00",
-          reason: "ZY010012",
+          time: "2023-03-20 12:00:00",
+          reason: "开会",
           direction: "进入B2",
-          interviewee: "某某某", behavior: "",
+          interviewee: "刘一鸣", interviewee_phone: "15943563892",directionStatus: "进",
         },
         {
           key: '15',
-          name: "李天泽",
-          people_type: "访客",
+          visitor: "李天泽",
+          visitor_phone: "15511548219",
           department: "北京电信规划院",
-          time: "进:2022-08-26 12:00:00",
-          reason: "ZY010012",
+          time: "2022-08-26 12:00:00",
+          reason: "开会",
           direction: "进入B2",
-          interviewee: "某某某", behavior: "",
+          interviewee: "刘一鸣", interviewee_phone: "15943563892",directionStatus: "进",
         },
         {
           key: '16',
-          name: "李天泽",
-          people_type: "访客",
+          visitor: "李天泽",
+          visitor_phone: "15513548219",
           department: "北京电信规划院",
-          time: "进:2022-08-26 12:00:00",
-          reason: "ZY010012",
+          time: "2022-08-26 12:00:00",
+          reason: "开会",
           direction: "进入B2",
-          interviewee: "某某某", behavior: "",
+          interviewee: "刘一鸣", interviewee_phone: "15943563892",directionStatus: "进",
         },
         {
           key: '17',
-          name: "李天泽",
-          people_type: "访客",
+          visitor: "李天泽",
+          visitor_phone: "15513548219",
           department: "北京电信规划院",
-          time: "进:2022-08-26 12:00:00",
-          reason: "ZY010012",
+          time: "2022-08-26 12:00:00",
+          reason: "开会",
           direction: "进入B2",
-          interviewee: "某某某", behavior: "",
+          interviewee: "刘一鸣", interviewee_phone: "13943563892",directionStatus: "进",
         },
         {
           key: '18',
-          name: "李天泽",
-          people_type: "访客",
+          visitor: "李天泽",
+          visitor_phone: "15513548219",
           department: "北京电信规划院",
-          time: "进:2022-08-26 12:00:00",
-          reason: "ZY010012",
-          direction: "进入B2",
-          interviewee: "某某某", behavior: "",
+          time: "2023-03-10 12:00:00",
+          reason: "开会",
+          direction: "出去B1",
+          interviewee: "刘一鸣", interviewee_phone: "15943563892",directionStatus: "出",
         },
         {
           key: '19',
-          name: "李天泽",
-          people_type: "访客",
+          visitor: "李天泽",
+          visitor_phone: "15513548219",
           department: "北京电信规划院",
-          time: "进:2022-08-26 12:00:00",
-          reason: "ZY010012",
-          direction: "进入B2",
-          interviewee: "某某某", behavior: "",
+          time: "2022-08-26 12:00:00",
+          reason: "开会",
+          direction: "出去B2",
+          interviewee: "钱多多", interviewee_phone: "15942563898",directionStatus: "出",
         },
         {
           key: '20',
-          name: "李天泽",
-          people_type: "访客",
+          visitor: "李天泽",
+          visitor_phone: "15913548219",
           department: "北京电信规划院",
-          time: "进:2022-08-26 12:00:00",
-          reason: "ZY010012",
+          time: "2022-08-26 12:00:00",
+          reason: "开会",
           direction: "进入B2",
-          interviewee: "某某某", behavior: "",
+          interviewee: "钱多多", interviewee_phone: "15942563898",directionStatus: "进",
         },
         {
           key: '21',
-          name: "李天泽",
-          people_type: "访客",
+          visitor: "李天泽",
+          visitor_phone: "15913548219",
           department: "北京电信规划院",
-          time: "进:2022-08-26 12:00:00",
-          reason: "ZY010012",
+          time: "2022-08-26 12:00:00",
+          reason: "开会",
           direction: "进入B2",
-          interviewee: "某某某", behavior: "",
+          interviewee: "钱多多", interviewee_phone: "15942563898",directionStatus: "进",
         },
       ]
     }
   },
   mounted() {
+    this.initData()
   },
   methods: {
+    initData(){
+      this.objectiveOptions.forEach((v) => {
+        this.objectiveMap.set(v.value, v.label);
+      });
+      this.companyOptions.forEach((v) => {
+        this.companyMap.set(v.value, v.label);
+      });
+      this.tableData = this.originalData;
+    },
     showTotal(total, range) {
       let pageSize = range[1]-range[0]+1;
       let pages = Math.ceil(total/pageSize);
@@ -373,6 +389,65 @@ export default {
 
     },
     search(){
+      // this.$util.asyncPromise(this.getGuestData());
+      this.getGuestData()
+    },
+    getGuestData(){
+      console.log(this.queryData,"访客管理查询条件");
+      let guestRegex = new RegExp(this.queryData.guestName)
+      let intervieweeRegex = new RegExp(this.queryData.name)
+      let startDate;
+      let endDate;
+      if (this.queryData.timeRange) {
+        startDate = this.queryData.timeRange.startDate;
+        endDate = this.queryData.timeRange.endDate;
+      }
+      this.tableData = this.originalData.filter((item) => {
+        if (
+          this.queryData.guestName &&
+          this.queryData.guestName != "" &&
+          !nameRegex.test(item.visitor)
+        ) {
+          return false;
+        }
+        if (
+          this.queryData.name &&
+          this.queryData.name != "" &&
+          !equipmentRegex.test(item.interviewee)
+        ) {
+          return false;
+        }
+        if (
+          this.queryData.objective &&
+          this.queryData.objective != "0" &&
+          !(this.objectiveMap.get(this.queryData.objective) === item.reason)
+        ) {
+          return false;
+        }
+        if (
+          this.queryData.company &&
+          this.queryData.company != "0" &&
+          !(
+            this.companyMap.get(this.queryData.company) ===
+            item.department
+          )
+        ) {
+          return false;
+        }
+
+        if (
+          this.queryData.timeRange &&
+          this.queryData.timeRange.startDate != "" &&
+          !(
+            this.$moment(item.time).isSameOrAfter(startDate) &&
+            this.$moment(item.time).isSameOrBefore(endDate)
+          )
+        ) {
+          return false;
+        }
+
+        return true;
+      });
 
     }
   }

+ 269 - 134
src/components/scene/access/sceneAccessManage.vue

@@ -1,32 +1,50 @@
 <template>
-  <div class="accessManage ">
+  <div class="accessManage">
     <div class="page-query-core" style="padding: 30px 15px">
       <Query :show="['time']" :query-data.sync="queryData" :search="search">
         <template #extraItem>
           <a-form-model-item label="员工姓名" style="margin-left: 45px">
-            <a-input style="width: 250px" v-model="queryData.name" placeholder="请输入员工姓名"/>
+            <a-input
+              style="width: 250px"
+              v-model="queryData.name"
+              placeholder="请输入员工姓名"
+            />
           </a-form-model-item>
           <a-form-model-item label="设备名称">
-            <a-input v-model="queryData.deviceName" placeholder="请输入设备名称"/>
+            <a-input
+              v-model="queryData.deviceName"
+              placeholder="请输入设备名称"
+            />
           </a-form-model-item>
           <div style="height: 20px"></div>
           <a-form-model-item label="人员类型" style="margin-left: 15px">
             <a-select v-model="queryData.people" style="width: 250px">
-              <a-select-option v-for="(item,index) in peopleOptions" :key="index" :value="item.value">{{ item.label }}
+              <a-select-option
+                v-for="(item, index) in peopleOptions"
+                :key="index"
+                :value="item.value"
+                >{{ item.label }}
               </a-select-option>
             </a-select>
           </a-form-model-item>
           <a-form-model-item label="通行方向">
             <a-select v-model="queryData.direction" style="width: 250px">
-              <a-select-option value="0">全部</a-select-option>
-              <a-select-option value="1">进</a-select-option>
-              <a-select-option value="2">出</a-select-option>
+              <a-select-option
+                v-for="(item, index) in directionOptions"
+                :key="index"
+                :value="item.value"
+                >{{ item.label }}</a-select-option
+              >
             </a-select>
           </a-form-model-item>
           <a-form-model-item label="部门" style="margin-left: 30px">
             <a-select v-model="queryData.dept" style="width: 150px">
               <a-select-option value="0">全部</a-select-option>
-              <a-select-option v-for="(item,index) in deptOptions" :key="index" :value="item.value">{{ item.label }}
+              <a-select-option
+                v-for="(item, index) in deptOptions"
+                :key="index"
+                :value="item.value"
+                >{{ item.label }}
               </a-select-option>
             </a-select>
           </a-form-model-item>
@@ -35,21 +53,25 @@
     </div>
 
     <div class="accessManage-body">
-      <a-table :columns="tableColumns" :data-source="tableData" :pagination="false"
-               :scroll="{ y: tableContainerHeight }" bordered>
-        <a-button slot="action" slot-scope="text" type="link">
-          查看
-        </a-button>
+      <a-table
+        :columns="tableColumns"
+        :data-source="tableData"
+        :pagination="false"
+        :scroll="{ y: tableContainerHeight }"
+        bordered
+      >
+        <a-button slot="action" slot-scope="text" type="link"> 查看 </a-button>
       </a-table>
-      <div style="width: 100%;text-align: right;margin-top: 15px;">
-        <a-pagination ref="pagination"
-            :showQuickJumper="true"
-            :show-size-changer="true"
-            :show-total="showTotal"
-            v-model="currentPage"
-            :default-current="1"
-            :total="500"
-            @showSizeChange="onShowSizeChange"
+      <div style="width: 100%; text-align: right; margin-top: 15px">
+        <a-pagination
+          ref="pagination"
+          :showQuickJumper="true"
+          :show-size-changer="true"
+          :show-total="showTotal"
+          v-model="currentPage"
+          :default-current="1"
+          :total="total"
+          @showSizeChange="onShowSizeChange"
         />
       </div>
     </div>
@@ -65,85 +87,107 @@ export default {
   },
   data() {
     return {
+      total: 21,
       currentPage: 1,
       queryData: {
-        name:"",
-        deviceName:"",
-        people: "1",
+        name: "",
+        deviceName: "",
+        people: "0",
         direction: "0",
-        dept: "0"
+        dept: "0",
       },
+      deptMap: new Map(),
       deptOptions: [
         {
-          label: '业务一部',
-          value: '1'
+          label: "业务一部",
+          value: "1",
         },
         {
-          label: '业务二部',
-          value: '2'
+          label: "业务二部",
+          value: "2",
         },
         {
-          label: '业务三部',
-          value: '3'
+          label: "业务三部",
+          value: "3",
         },
       ],
+      peopleMap: new Map(),
       peopleOptions: [
         {
-          label: '自有员工',
-          value: '1'
+          label: "全部",
+          value: "0",
+        },
+        {
+          label: "自有员工",
+          value: "1",
+        },
+        {
+          label: "协作员工",
+          value: "2",
+        },
+        {
+          label: "访客",
+          value: "3",
+        },
+      ],
+      directionMap: new Map(),
+      directionOptions: [
+        {
+          label: "全部",
+          value: "0",
         },
         {
-          label: '协作员工',
-          value: '2'
+          label: "进",
+          value: "1",
         },
         {
-          label: '访客',
-          value: '3'
+          label: "出",
+          value: "2",
         },
       ],
       tableContainerHeight: 500,
       tableColumns: [
         {
-          title: '序号',
-          dataIndex: 'index',
-          key: 'index',
+          title: "序号",
+          dataIndex: "index",
+          key: "index",
           align: "center",
           width: 80,
-          customRender: (text, record, index) => `${index + 1}`
+          customRender: (text, record, index) => `${index + 1}`,
         },
         {
-          title: '姓名',
-          dataIndex: 'name',
-          key: 'name',
+          title: "姓名",
+          dataIndex: "name",
+          key: "name",
           align: "center",
         },
         {
-          title: '人员类型',
-          dataIndex: 'people_type',
-          key: 'people_type',
+          title: "人员类型",
+          dataIndex: "people_type",
+          key: "people_type",
           align: "center",
         },
         {
-          title: '部门',
-          dataIndex: 'department',
-          key: 'department',
+          title: "部门",
+          dataIndex: "department",
+          key: "department",
           align: "center",
         },
         {
-          title: '通行时间',
-          dataIndex: 'time',
-          key: 'time',
+          title: "通行时间",
+          dataIndex: "time",
+          key: "time",
         },
         {
-          title: '通行设备',
-          dataIndex: 'equipment',
-          key: 'equipment',
+          title: "通行设备",
+          dataIndex: "equipment",
+          key: "equipment",
           align: "center",
         },
         {
-          title: '通行方向',
-          dataIndex: 'direction',
-          key: 'direction',
+          title: "通行方向",
+          dataIndex: "direction",
+          key: "direction",
           align: "center",
         },
         //{
@@ -153,239 +197,332 @@ export default {
         //  width: 100,
         //  scopedSlots: {customRender: 'action'},
         //},
-
       ],
-      tableData: [
+      originalData: [
         {
-          key: '1',
+          key: "1",
           name: "潘夏彤",
           people_type: "自有员工",
           department: "业务一部",
-          time: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          time: "2023-03-11 12:00:00",
+          equipment: "ZX010012",
           direction: "进入B3",
           behavior: "",
+          directionStatus: "进",
         },
         {
-          key: '2',
+          key: "2",
           name: "庞慧",
           people_type: "协作员工",
           department: "业务二部",
-          time: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          time: "2023-03-15 12:00:00",
+          equipment: "ZX010012",
           direction: "进入1F",
           behavior: "",
+          directionStatus: "进",
         },
         {
-          key: '3',
+          key: "3",
           name: "李天泽",
           people_type: "访客",
           department: "业务二部",
-          time: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
-          direction: "进入B2",
+          time: "2023-03-24 12:00:00",
+          equipment: "ZX010012",
+          direction: "出去B2",
           behavior: "",
+          directionStatus: "出",
         },
         {
-          key: '4',
+          key: "4",
           name: "李天泽",
           people_type: "访客",
           department: "业务二部",
-          time: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
-          direction: "进入B2",
+          time: "2022-09-11 12:00:00",
+          equipment: "ZX010012",
+          direction: "出去B2",
           behavior: "",
+          directionStatus: "出",
         },
         {
-          key: '5',
+          key: "5",
           name: "李天泽",
           people_type: "访客",
           department: "业务二部",
-          time: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
-          direction: "进入B2",
+          time: "2022-09-11 12:00:00",
+          equipment: "ZX010012",
+          direction: "出去B2",
           behavior: "",
+          directionStatus: "出",
         },
         {
-          key: '6',
+          key: "6",
           name: "李天泽",
           people_type: "访客",
           department: "业务二部",
-          time: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          time: "2022-09-11 12:00:00",
+          equipment: "ZX010017",
           direction: "进入B2",
           behavior: "",
+          directionStatus: "进",
         },
         {
-          key: '7',
+          key: "7",
           name: "李天泽",
           people_type: "访客",
           department: "业务三部",
-          time: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          time: "2022-08-26 12:00:00",
+          equipment: "ZX010017",
           direction: "进入B2",
           behavior: "",
+          directionStatus: "进",
         },
         {
-          key: '8',
+          key: "8",
           name: "李天泽",
           people_type: "访客",
           department: "业务三部",
-          time: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          time: "2022-08-26 12:00:00",
+          equipment: "ZX010017",
           direction: "进入B2",
           behavior: "",
+          directionStatus: "进",
         },
         {
-          key: '9',
+          key: "9",
           name: "李天泽",
           people_type: "访客",
           department: "业务三部",
-          time: "进:2022-08-26 12:00:00",
+          time: "2022-08-26 12:00:00",
           equipment: "ZY010012",
           direction: "进入B2",
           behavior: "",
+          directionStatus: "进",
         },
         {
-          key: '10',
+          key: "10",
           name: "李天泽",
           people_type: "访客",
           department: "业务三部",
-          time: "进:2022-08-26 12:00:00",
+          time: "2022-08-26 12:00:00",
           equipment: "ZY010012",
           direction: "进入B2",
           behavior: "",
+          directionStatus: "进",
         },
         {
-          key: '11',
+          key: "11",
           name: "李天泽",
           people_type: "访客",
           department: "业务一部",
-          time: "进:2022-08-26 12:00:00",
+          time: "2022-08-26 12:00:00",
           equipment: "ZY010012",
           direction: "进入B2",
           behavior: "",
+          directionStatus: "进",
         },
         {
-          key: '12',
+          key: "12",
           name: "李天泽",
           people_type: "访客",
           department: "业务一部",
-          time: "进:2022-08-26 12:00:00",
+          time: "2022-08-26 12:00:00",
           equipment: "ZY010012",
           direction: "进入B2",
           behavior: "",
+          directionStatus: "进",
         },
         {
-          key: '13',
+          key: "13",
           name: "李天泽",
           people_type: "访客",
           department: "业务一部",
-          time: "进:2022-08-26 12:00:00",
+          time: "2022-08-26 12:00:00",
           equipment: "ZY010012",
           direction: "进入B2",
           behavior: "",
+          directionStatus: "进",
         },
         {
-          key: '14',
+          key: "14",
           name: "李天泽",
           people_type: "访客",
           department: "业务一部",
-          time: "进:2022-08-26 12:00:00",
+          time: "2022-08-26 12:00:00",
           equipment: "ZY010012",
           direction: "进入B2",
           behavior: "",
+          directionStatus: "进",
         },
         {
-          key: '15',
+          key: "15",
           name: "李天泽",
           people_type: "访客",
           department: "业务一部",
-          time: "进:2022-08-26 12:00:00",
+          time: "2022-08-26 12:00:00",
           equipment: "ZY010012",
           direction: "进入B2",
           behavior: "",
+          directionStatus: "进",
         },
         {
-          key: '16',
+          key: "16",
           name: "李天泽",
           people_type: "访客",
           department: "业务一部",
-          time: "进:2022-08-26 12:00:00",
+          time: "2022-08-26 12:00:00",
           equipment: "ZY010012",
           direction: "进入B2",
           behavior: "",
+          directionStatus: "进",
         },
         {
-          key: '17',
+          key: "17",
           name: "李天泽",
           people_type: "访客",
           department: "业务一部",
-          time: "进:2022-08-26 12:00:00",
+          time: "2022-08-26 12:00:00",
           equipment: "ZY010012",
           direction: "进入B2",
           behavior: "",
+          directionStatus: "进",
         },
         {
-          key: '18',
+          key: "18",
           name: "李天泽",
           people_type: "访客",
           department: "业务一部",
-          time: "进:2022-08-26 12:00:00",
+          time: "2022-08-26 12:00:00",
           equipment: "ZY010012",
-          direction: "进入B2",
+          direction: "出去B2",
           behavior: "",
+          directionStatus: "出",
         },
         {
-          key: '19',
+          key: "19",
           name: "李天泽",
           people_type: "访客",
           department: "业务三部",
-          time: "进:2022-08-26 12:00:00",
+          time: "2022-08-26 12:00:00",
           equipment: "ZY010012",
-          direction: "进入B2",
+          direction: "出去B2",
           behavior: "",
+          directionStatus: "出",
         },
         {
-          key: '20',
+          key: "20",
           name: "李天泽",
           people_type: "访客",
           department: "业务三部",
-          time: "进:2022-08-26 12:00:00",
+          time: "2022-08-26 12:00:00",
           equipment: "ZY010012",
-          direction: "进入B2",
+          direction: "出去B2",
           behavior: "",
+          directionStatus: "出",
         },
         {
-          key: '21',
+          key: "21",
           name: "李天泽",
           people_type: "访客",
           department: "业务三部",
-          time: "进:2022-08-26 12:00:00",
+          time: "2022-08-26 12:00:00",
           equipment: "ZY010012",
-          direction: "进入B2",
+          direction: "出去B2",
           behavior: "",
+          directionStatus: "出",
         },
-      ]
-    }
+      ],
+      tableData: [],
+    };
   },
   mounted() {
-
+    this.initData();
   },
   methods: {
+    initData() {
+      this.deptOptions.forEach((v) => {
+        this.deptMap.set(v.value, v.label);
+      });
+      this.peopleOptions.forEach((v) => {
+        this.peopleMap.set(v.value, v.label);
+      });
+      console.log(this.peopleMap);
+      this.directionOptions.forEach((v) => {
+        this.directionMap.set(v.value, v.label);
+      });
+      this.tableData = this.originalData;
+    },
     showTotal(total, range) {
-      let pageSize = range[1]-range[0]+1;
-      let pages = Math.ceil(total/pageSize);
-      return '共'+total+'条数据,第 '+this.currentPage+'/'+pages+' 页'
+      let pageSize = range[1] - range[0] + 1;
+      let pages = Math.ceil(total / pageSize);
+      return (
+        "共" + total + "条数据,第 " + this.currentPage + "/" + pages + " 页"
+      );
+    },
+    onShowSizeChange(val) {},
+    search(data) {
+      // this.$util.asyncPromise(this.getAccessManageData());
+      this.getAccessManageData();
     },
-    onShowSizeChange(val) {
+    getAccessManageData() {
+      console.log(this.queryData, "门禁管理查询条件");
+      let nameRegex = new RegExp(this.queryData.name, "i");
+      let equipmentRegex = new RegExp(this.queryData.deviceName, "i");
+      let startDate;
+      let endDate;
+      if (this.queryData.timeRange) {
+        startDate = this.queryData.timeRange.startDate;
+        endDate = this.queryData.timeRange.endDate;
+      }
+
+      this.tableData = this.originalData.filter((item) => {
+        if (
+          this.queryData.name &&
+          this.queryData.name != "" &&
+          !nameRegex.test(item.name)
+        ) {
+          return false;
+        }
+        if (
+          this.queryData.deviceName &&
+          this.queryData.deviceName != "" &&
+          !equipmentRegex.test(item.equipment)
+        ) {
+          return false;
+        }
+        if (
+          this.queryData.people &&
+          this.queryData.people != "0" &&
+          !(this.peopleMap.get(this.queryData.people) === item.people_type)
+        ) {
+          return false;
+        }
+        if (
+          this.queryData.direction &&
+          this.queryData.direction != "0" &&
+          !(
+            this.directionMap.get(this.queryData.direction) ===
+            item.directionStatus
+          )
+        ) {
+          return false;
+        }
 
+        if (
+          this.queryData.timeRange &&
+          this.queryData.timeRange.startDate != "" &&
+          !(
+            this.$moment(item.time).isSameOrAfter(startDate) &&
+            this.$moment(item.time).isSameOrBefore(endDate)
+          )
+        ) {
+          return false;
+        }
+
+        return true;
+      });
     },
-    search(data){
-      console.log(data,"data");
-    }
-  }
-}
+  },
+};
 </script>
 
 <style lang="less" scoped>
@@ -395,7 +532,6 @@ export default {
 
   .ant-form-inline .ant-form-item {
     margin-right: 60px;
-
   }
 
   .accessManage-body {
@@ -404,6 +540,5 @@ export default {
     margin-top: 12px;
     padding: 15px;
   }
-
 }
-</style>
+</style>

+ 193 - 131
src/components/scene/access/sceneAccessParkManage.vue

@@ -167,6 +167,7 @@ export default {
         status: '0',
         method: '0'
       },
+      statusMap:new Map(),
       statusOptions: [
         {
           value: '0',
@@ -180,6 +181,7 @@ export default {
           label: '已支付'
         },
       ],
+      methodMap:new Map(),
       methodOptions: [
         {
           value: '0',
@@ -215,18 +217,18 @@ export default {
         },
         {
           title: '订单状态',
-          dataIndex: 'people_type',
-          key: 'people_type',
+          dataIndex: 'paymentstatus',
+          key: 'paymentstatus',
         },
         {
           title: '支付方式',
-          dataIndex: 'department',
-          key: 'department',
+          dataIndex: 'paymentway',
+          key: 'paymentway',
         },
         {
           title: '实收金额(¥)',
-          dataIndex: 'equipment',
-          key: 'equipment',
+          dataIndex: 'money',
+          key: 'money',
         },
         {
           title: '入场时间',
@@ -247,235 +249,236 @@ export default {
           scopedSlots: {customRender: 'action'},
         },
       ],
-      tableData: [
+      tableData:[],
+      originalData: [
         {
           key: '1',
-          name: "潘夏彤",
-          people_type: "自有员工",
-          department: "办公室",
-          time: "进:2022-08-26 12:00:00",
-          outtime: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          name: "沪B53467",
+          paymentstatus: "待支付",
+          paymentway: "年卡",
+          time: "2023-03-26 12:00:00",
+          outtime: "2023-03-26 14:00:00",
+          money: "200.00",
           direction: "进入B3",
           behavior: "",
         },
         {
           key: '2',
-          name: "庞慧",
-          people_type: "协作员工",
-          department: "规划院-办公室",
-          time: "进:2022-08-26 12:00:00",
-          outtime: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          name: "沪B53467",
+          paymentstatus: "待支付",
+          paymentway: "人工",
+          time: "2023-03-20 12:00:00",
+          outtime: "2023-03-21 12:00:00",
+          money: "200.00",
           direction: "进入1F",
           behavior: "",
         },
         {
           key: '3',
-          name: "李天泽",
-          people_type: "访客",
-          department: "规划院-产品中心",
-          time: "进:2022-08-26 12:00:00",
-          outtime: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          name: "沪A12345",
+          paymentstatus: "已支付",
+          paymentway: "手机支付",
+          time: "2022-08-26 12:00:00",
+          outtime: "2022-08-26 12:00:00",
+          money: "200.00",
           direction: "进入B2",
           behavior: "",
         },
         {
           key: '4',
-          name: "李天泽",
-          people_type: "访客",
-          department: "规划院-产品中心",
-          time: "进:2022-08-26 12:00:00",
-          outtime: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          name: "沪A88888",
+          paymentstatus: "已支付",
+          paymentway: "手机支付",
+          time: "2022-08-26 12:00:00",
+          outtime: "2022-08-26 12:00:00",
+          money: "200.00",
           direction: "进入B2",
           behavior: "",
         },
         {
           key: '5',
-          name: "李天泽",
-          people_type: "访客",
-          department: "规划院-产品中心",
-          time: "进:2022-08-26 12:00:00",
-          outtime: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          name: "沪A88888",
+          paymentstatus: "已支付",
+          paymentway: "手机支付",
+          time: "2022-08-26 12:00:00",
+          outtime: "2022-08-26 12:00:00",
+          money: "200.00",
           direction: "进入B2",
           behavior: "",
         },
         {
           key: '6',
-          name: "李天泽",
-          people_type: "访客",
-          department: "规划院-产品中心",
-          time: "进:2022-08-26 12:00:00",
-          outtime: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          name: "沪A88888",
+          paymentstatus: "已支付",
+          paymentway: "手机支付",
+          time: "2022-08-26 12:00:00",
+          outtime: "2022-08-26 12:00:00",
+          money: "200.00",
           direction: "进入B2",
           behavior: "",
         },
         {
           key: '7',
-          name: "李天泽",
-          people_type: "访客",
-          department: "规划院-产品中心",
-          time: "进:2022-08-26 12:00:00",
-          outtime: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          name: "沪A88888",
+          paymentstatus: "已支付",
+          paymentway: "手机支付",
+          time: "2022-08-26 12:00:00",
+          outtime: "2022-08-26 12:00:00",
+          money: "200.00",
           direction: "进入B2",
           behavior: "",
         },
         {
           key: '8',
-          name: "李天泽",
-          people_type: "访客",
-          department: "规划院-产品中心",
-          time: "进:2022-08-26 12:00:00",
-          outtime: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          name: "沪A88888",
+          paymentstatus: "已支付",
+          paymentway: "手机支付",
+          time: "2022-08-26 12:00:00",
+          outtime: "2022-08-26 12:00:00",
+          money: "200.00",
           direction: "进入B2",
           behavior: "",
         },
         {
           key: '9',
-          name: "李天泽",
-          people_type: "访客",
-          department: "规划院-产品中心",
-          time: "进:2022-08-26 12:00:00",
-          outtime: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          name: "沪A88888",
+          paymentstatus: "已支付",
+          paymentway: "手机支付",
+          time: "2022-08-26 12:00:00",
+          outtime: "2022-08-26 12:00:00",
+          money: "100.00",
           direction: "进入B2",
           behavior: "",
         },
         {
           key: '10',
-          name: "李天泽",
-          people_type: "访客",
-          department: "规划院-产品中心",
-          time: "进:2022-08-26 12:00:00",
-          outtime: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          name: "沪A88888",
+          paymentstatus: "已支付",
+          paymentway: "手机支付",
+          time: "2022-08-26 12:00:00",
+          outtime: "2022-08-26 12:00:00",
+          money: "100.00",
           direction: "进入B2",
           behavior: "",
         },
         {
           key: '11',
-          name: "李天泽",
-          people_type: "访客",
-          department: "规划院-产品中心",
-          time: "进:2022-08-26 12:00:00",
-          outtime: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          name: "沪A88888",
+          paymentstatus: "已支付",
+          paymentway: "手机支付",
+          time: "2022-08-26 12:00:00",
+          outtime: "2022-08-26 12:00:00",
+          money: "100.00",
           direction: "进入B2",
           behavior: "",
         },
         {
           key: '12',
-          name: "李天泽",
-          people_type: "访客",
-          department: "规划院-产品中心",
-          time: "进:2022-08-26 12:00:00",
-          outtime: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          name: "沪A88888",
+          paymentstatus: "已支付",
+          paymentway: "手机支付",
+          time: "2022-08-26 12:00:00",
+          outtime: "2022-08-26 12:00:00",
+          money: "100.00",
           direction: "进入B2",
           behavior: "",
         },
         {
           key: '13',
-          name: "李天泽",
-          people_type: "访客",
-          department: "规划院-产品中心",
-          time: "进:2022-08-26 12:00:00",
-          outtime: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          name: "沪A88888",
+          paymentstatus: "已支付",
+          paymentway: "手机支付",
+          time: "2022-08-26 12:00:00",
+          outtime: "2022-08-26 12:00:00",
+          money: "100.00",
           direction: "进入B2",
           behavior: "",
         },
         {
           key: '14',
-          name: "李天泽",
-          people_type: "访客",
-          department: "规划院-产品中心",
-          time: "进:2022-08-26 12:00:00",
-          outtime: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          name: "沪B88888",
+          paymentstatus: "已支付",
+          paymentway: "人工",
+          time: "2022-08-26 12:00:00",
+          outtime: "2022-08-26 12:00:00",
+          money: "100.00",
           direction: "进入B2",
           behavior: "",
         },
         {
           key: '15',
-          name: "李天泽",
-          people_type: "访客",
-          department: "规划院-产品中心",
-          time: "进:2022-08-26 12:00:00",
-          outtime: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          name: "沪A12345",
+          paymentstatus: "已支付",
+          paymentway: "人工",
+          time: "2022-08-26 12:00:00",
+          outtime: "2022-08-26 12:00:00",
+          money: "100.00",
           direction: "进入B2",
           behavior: "",
         },
         {
           key: '16',
-          name: "李天泽",
-          people_type: "访客",
-          department: "规划院-产品中心",
-          time: "进:2022-08-26 12:00:00",
-          outtime: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          name: "沪A12345",
+          paymentstatus: "已支付",
+          paymentway: "人工",
+          time: "2022-08-26 12:00:00",
+          outtime: "2022-08-26 12:00:00",
+          money: "100.00",
           direction: "进入B2",
           behavior: "",
         },
         {
           key: '17',
-          name: "李天泽",
-          people_type: "访客",
-          department: "规划院-产品中心",
-          time: "进:2022-08-26 12:00:00",
-          outtime: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          name: "沪A12345",
+          paymentstatus: "已支付",
+          paymentway: "人工",
+          time: "2022-08-26 12:00:00",
+          outtime: "2022-08-26 12:00:00",
+          money: "100.00",
           direction: "进入B2",
           behavior: "",
         },
         {
           key: '18',
-          name: "李天泽",
-          people_type: "访客",
-          department: "规划院-产品中心",
-          time: "进:2022-08-26 12:00:00",
-          outtime: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          name: "沪A12345",
+          paymentstatus: "已支付",
+          paymentway: "人工",
+          time: "2022-08-26 12:00:00",
+          outtime: "2022-08-26 12:00:00",
+          money: "100.00",
           direction: "进入B2",
           behavior: "",
         },
         {
           key: '19',
-          name: "李天泽",
-          people_type: "访客",
-          department: "规划院-产品中心",
-          time: "进:2022-08-26 12:00:00",
-          outtime: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          name: "沪A12345",
+          paymentstatus: "已支付",
+          paymentway: "手机支付",
+          time: "2022-08-26 12:00:00",
+          outtime: "2022-08-26 12:00:00",
+          money: "100.00",
           direction: "进入B2",
           behavior: "",
         },
         {
           key: '20',
-          name: "李天泽",
-          people_type: "访客",
-          department: "规划院-产品中心",
+          name: "沪A12345",
+          paymentstatus: "已支付",
+          paymentway: "手机支付",
           time: "进:2022-08-26 12:00:00",
           outtime: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          money: "100.00",
           direction: "进入B2",
           behavior: "",
         },
         {
           key: '21',
-          name: "李天泽",
-          people_type: "访客",
-          department: "规划院-产品中心",
+          name: "沪A12345",
+          paymentstatus: "已支付",
+          paymentway: "手机支付",
           time: "进:2022-08-26 12:00:00",
           outtime: "进:2022-08-26 12:00:00",
-          equipment: "ZY010012",
+          money: "200.00",
           direction: "进入B2",
           behavior: "",
         },
@@ -483,9 +486,18 @@ export default {
     }
   },
   mounted() {
-
+    this.initData()
   },
   methods: {
+    initData(){
+      this.methodOptions.forEach((v) => {
+        this.methodMap.set(v.value, v.label);
+      });
+      this.statusOptions.forEach((v) => {
+        this.statusMap.set(v.value, v.label);
+      });
+      this.tableData = this.originalData;
+    },
     showTotal(total, range) {
       let pageSize = range[1]-range[0]+1;
       let pages = Math.ceil(total/pageSize);
@@ -497,7 +509,57 @@ export default {
       this.showDetail = false
     },
     search() {
-      
+      // this.$util.asyncPromise(this.getParkingData());
+      this.getParkingData()
+    },
+    getParkingData(){
+      console.log(this.queryData, "停车管理查询条件");
+      let cardRegex = new RegExp(this.queryData.guestName)
+      let startDate;
+      let endDate;
+      if (this.queryData.timeRange) {
+        startDate = this.queryData.timeRange.startDate;
+        endDate = this.queryData.timeRange.endDate;
+      }
+      this.tableData = this.originalData.filter((item) => {
+        if (
+          this.queryData.guestName &&
+          this.queryData.guestName != "" &&
+          !cardRegex.test(item.name)
+        ) {
+          return false;
+        }
+        if (
+          this.queryData.method &&
+          this.queryData.method != "0" &&
+          !(this.methodMap.get(this.queryData.method) === item.paymentway)
+        ) {
+          return false;
+        }
+        if (
+          this.queryData.status &&
+          this.queryData.status != "0" &&
+          !(
+            this.statusMap.get(this.queryData.status) ===
+            item.paymentstatus
+          )
+        ) {
+          return false;
+        }
+
+        if (
+          this.queryData.timeRange &&
+          this.queryData.timeRange.startDate != "" &&
+          !(
+            this.$moment(item.time).isSameOrAfter(startDate) &&
+            this.$moment(item.time).isSameOrBefore(endDate)
+          )
+        ) {
+          return false;
+        }
+
+        return true;
+      });
     }
   }
 }