diff --git a/danger-manage-admin/src/main/java/com/zehong/web/controller/system/TNfcSettingController.java b/danger-manage-admin/src/main/java/com/zehong/web/controller/system/TNfcSettingController.java
index cbab54b0fc2900524729c04591cea795dbf2140b..4007880fcb496322422a6256ba9ecb3f58acfce9 100644
--- a/danger-manage-admin/src/main/java/com/zehong/web/controller/system/TNfcSettingController.java
+++ b/danger-manage-admin/src/main/java/com/zehong/web/controller/system/TNfcSettingController.java
@@ -1,5 +1,7 @@
 package com.zehong.web.controller.system;
 import java.util.List;
+
+import com.zehong.system.domain.TNfcRecord;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -44,6 +46,18 @@ public class TNfcSettingController extends BaseController
         return getDataTable(list);
     }
 
+    /**
+     * 巡检打卡查询列表
+     * @param tNfcSetting
+     * @return
+     */
+    @GetMapping("/punchClockList")
+    public TableDataInfo punchClockList(TNfcSetting tNfcSetting){
+        startPage();
+        List<TNfcRecord> list = tNfcSettingService.punchClockList(tNfcSetting);
+        return getDataTable(list);
+    }
+
     /**
      * 导出巡检列表
      */
diff --git a/danger-manage-system/src/main/java/com/zehong/system/domain/TNfcRecord.java b/danger-manage-system/src/main/java/com/zehong/system/domain/TNfcRecord.java
index 4b342b6980b1d047a09e9c0f20213ca4a8158d04..5862b4be6ebe6214dfa46eb3849bee4cecdc2a1f 100644
--- a/danger-manage-system/src/main/java/com/zehong/system/domain/TNfcRecord.java
+++ b/danger-manage-system/src/main/java/com/zehong/system/domain/TNfcRecord.java
@@ -1,82 +1,94 @@
 package com.zehong.system.domain;
-
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.zehong.common.annotation.Excel;
 import com.zehong.common.core.domain.BaseEntity;
+import java.util.Date;
 
 /**
  * nfc巡检记录id对象 t_nfc_record
- * 
+ *
  * @author zehong
  * @date 2022-10-18
  */
-public class TNfcRecord extends BaseEntity
-{
+public class TNfcRecord extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    /** 巡检记录 */
+    /**
+     * 巡检记录
+     */
     private Long recordId;
 
-    /** nfc_id */
+    /**
+     * nfc_id
+     */
     @Excel(name = "nfc_id")
     private Long nfcId;
 
-    /** 是否正常 0否 1是 */
+    /**
+     * 是否正常 0否 1是
+     */
     @Excel(name = "是否正常 0否 1是")
     private Integer isNormal;
 
-    /** 图片地址 */
+    /**
+     * 图片地址
+     */
     @Excel(name = "图片地址")
     private String picture;
 
-    /** 备注 */
+    /**
+     * 备注
+     */
     @Excel(name = "备注")
     private String remarks;
 
-    /** 上报人 */
+    /**上报时间*/
+    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
+    private Date createTime;
+
+    /**
+     * 上报人姓名
+     */
     @Excel(name = "上报人")
     private Long createUser;
 
-    private String userName;
-
-    @Excel(name = "巡检地点")
+    /**巡检地点*/
     private String patrolAddress;
 
-    /** 巡检内容 */
-    @Excel(name = "巡检内容")
-    private String patrolComent;
+    /**巡检内容*/
+    private String  patrolComent;
 
-    /** 巡检频次 */
-    @Excel(name = "巡检频次")
+    /**巡检频次*/
     private String patrolFrequency;
 
+    /** 巡检人*/
+    private String nickName;
+
+    private String userName;
+
     private String startTime;
 
     private String endTime;
 
-    public String getUserName() {
-        return userName;
-    }
+    /**巡检区域*/
+    private String dictLabel;
 
-    public void setUserName(String userName) {
-        this.userName = userName;
+    public String getDictLabel() {
+        return dictLabel;
     }
 
-    public String getStartTime() {
-        return startTime;
+    public void setDictLabel(String dictLabel) {
+        this.dictLabel = dictLabel;
     }
 
-    public void setStartTime(String startTime) {
-        this.startTime = startTime;
-    }
-
-    public String getEndTime() {
-        return endTime;
+    @Override
+    public Date getCreateTime() {
+        return createTime;
     }
 
-    public void setEndTime(String endTime) {
-        this.endTime = endTime;
+    @Override
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
     }
 
     public String getPatrolAddress() {
@@ -103,71 +115,110 @@ public class TNfcRecord extends BaseEntity
         this.patrolFrequency = patrolFrequency;
     }
 
-    public void setRecordId(Long recordId)
-    {
-        this.recordId = recordId;
+    public String getNickName() {
+        return nickName;
+    }
+
+    public void setNickName(String nickName) {
+        this.nickName = nickName;
+    }
+
+    public static long getSerialVersionUID() {
+        return serialVersionUID;
     }
 
-    public Long getRecordId() 
-    {
+    public Long getRecordId() {
         return recordId;
     }
-    public void setNfcId(Long nfcId) 
-    {
-        this.nfcId = nfcId;
+
+    public void setRecordId(Long recordId) {
+        this.recordId = recordId;
     }
 
-    public Long getNfcId() 
-    {
+    public Long getNfcId() {
         return nfcId;
     }
-    public void setIsNormal(Integer isNormal) 
-    {
-        this.isNormal = isNormal;
+
+    public void setNfcId(Long nfcId) {
+        this.nfcId = nfcId;
     }
 
-    public Integer getIsNormal() 
-    {
+    public Integer getIsNormal() {
         return isNormal;
     }
-    public void setPicture(String picture) 
-    {
-        this.picture = picture;
+
+    public void setIsNormal(Integer isNormal) {
+        this.isNormal = isNormal;
     }
 
-    public String getPicture() 
-    {
+    public String getPicture() {
         return picture;
     }
-    public void setRemarks(String remarks) 
-    {
-        this.remarks = remarks;
+
+    public void setPicture(String picture) {
+        this.picture = picture;
     }
 
-    public String getRemarks() 
-    {
+    public String getRemarks() {
         return remarks;
     }
-    public void setCreateUser(Long createUser)
-    {
-        this.createUser = createUser;
+
+    public void setRemarks(String remarks) {
+        this.remarks = remarks;
     }
 
-    public Long getCreateUser()
-    {
+    public Long getCreateUser() {
         return createUser;
     }
 
+    public void setCreateUser(Long createUser) {
+        this.createUser = createUser;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(String startTime) {
+        this.startTime = startTime;
+    }
+
+    public String getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(String endTime) {
+        this.endTime = endTime;
+    }
+
     @Override
     public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("recordId", getRecordId())
-            .append("nfcId", getNfcId())
-            .append("isNormal", getIsNormal())
-            .append("picture", getPicture())
-            .append("remarks", getRemarks())
-            .append("createTime", getCreateTime())
-            .append("createUser", getCreateUser())
-            .toString();
+        return "TNfcRecord{" +
+                "recordId=" + recordId +
+                ", nfcId=" + nfcId +
+                ", isNormal=" + isNormal +
+                ", picture='" + picture + '\'' +
+                ", remarks='" + remarks + '\'' +
+                ", createTime=" + createTime +
+                ", createUser=" + createUser +
+                ", patrolAddress='" + patrolAddress + '\'' +
+                ", patrolComent='" + patrolComent + '\'' +
+                ", patrolFrequency='" + patrolFrequency + '\'' +
+                ", nickName='" + nickName + '\'' +
+                ", userName='" + userName + '\'' +
+                ", startTime='" + startTime + '\'' +
+                ", endTime='" + endTime + '\'' +
+                ", dictLabel='" + dictLabel + '\'' +
+                '}';
     }
 }
+
+
diff --git a/danger-manage-system/src/main/java/com/zehong/system/domain/TNfcSetting.java b/danger-manage-system/src/main/java/com/zehong/system/domain/TNfcSetting.java
index 4e3694ea2ce515d4e42dbfffb902269c0fc94052..1146df86d3452f426dee116f7f2f62bb28fcdba1 100644
--- a/danger-manage-system/src/main/java/com/zehong/system/domain/TNfcSetting.java
+++ b/danger-manage-system/src/main/java/com/zehong/system/domain/TNfcSetting.java
@@ -42,10 +42,22 @@ public class TNfcSetting extends BaseEntity
     private Integer isDel;
 
     /**
-     * 区域  0氨合成  1罐区
+     * 区域 编号
      */
     private String region;
 
+    /**
+     * 巡检区域
+     */
+    private String nickName;
+
+    public String getNickName() {
+        return nickName;
+    }
+
+    public void setNickName(String nickName) {
+        this.nickName = nickName;
+    }
 
     public static long getSerialVersionUID() {
         return serialVersionUID;
@@ -134,6 +146,7 @@ public class TNfcSetting extends BaseEntity
                 ", nfcNum='" + nfcNum + '\'' +
                 ", isDel=" + isDel +
                 ", region='" + region + '\'' +
+                ", nickName='" + nickName + '\'' +
                 '}';
     }
 }
diff --git a/danger-manage-system/src/main/java/com/zehong/system/mapper/TNfcSettingMapper.java b/danger-manage-system/src/main/java/com/zehong/system/mapper/TNfcSettingMapper.java
index 90172550af46554928e4b5124794d5b36101dfe0..6941536339daa0d601b4f579ab954095e6ad944e 100644
--- a/danger-manage-system/src/main/java/com/zehong/system/mapper/TNfcSettingMapper.java
+++ b/danger-manage-system/src/main/java/com/zehong/system/mapper/TNfcSettingMapper.java
@@ -1,19 +1,21 @@
 package com.zehong.system.mapper;
 
 import java.util.List;
+
+import com.zehong.system.domain.TNfcRecord;
 import com.zehong.system.domain.TNfcSetting;
 
 /**
  * settingMapper接口
- * 
+ *
  * @author zehong
  * @date 2022-10-17
  */
-public interface TNfcSettingMapper 
+public interface TNfcSettingMapper
 {
     /**
      * 查询setting
-     * 
+     *
      * @param nfcId settingID
      * @return setting
      */
@@ -27,7 +29,7 @@ public interface TNfcSettingMapper
 
     /**
      * 查询setting列表
-     * 
+     *
      * @param tNfcSetting setting
      * @return setting集合
      */
@@ -35,7 +37,7 @@ public interface TNfcSettingMapper
 
     /**
      * 新增setting
-     * 
+     *
      * @param tNfcSetting setting
      * @return 结果
      */
@@ -43,7 +45,7 @@ public interface TNfcSettingMapper
 
     /**
      * 修改setting
-     * 
+     *
      * @param tNfcSetting setting
      * @return 结果
      */
@@ -51,7 +53,7 @@ public interface TNfcSettingMapper
 
     /**
      * 删除setting
-     * 
+     *
      * @param nfcId settingID
      * @return 结果
      */
@@ -59,9 +61,16 @@ public interface TNfcSettingMapper
 
     /**
      * 批量删除setting
-     * 
+     *
      * @param nfcIds 需要删除的数据ID
      * @return 结果
      */
     public int deleteTNfcSettingByIds(Long[] nfcIds);
+
+    /**
+     * 巡检打卡查询列表
+     * @param tNfcSetting
+     * @return
+     */
+    List<TNfcRecord> punchClockList(TNfcSetting tNfcSetting);
 }
diff --git a/danger-manage-system/src/main/java/com/zehong/system/service/ITNfcSettingService.java b/danger-manage-system/src/main/java/com/zehong/system/service/ITNfcSettingService.java
index 75e4735d057fd195e70be1fb23f895929b34089a..a7e571d53b0742d4a86f29b1ceea8c63bccdd98e 100644
--- a/danger-manage-system/src/main/java/com/zehong/system/service/ITNfcSettingService.java
+++ b/danger-manage-system/src/main/java/com/zehong/system/service/ITNfcSettingService.java
@@ -1,19 +1,21 @@
 package com.zehong.system.service;
 
 import java.util.List;
+
+import com.zehong.system.domain.TNfcRecord;
 import com.zehong.system.domain.TNfcSetting;
 
 /**
  * settingService接口
- * 
+ *
  * @author zehong
  * @date 2022-10-17
  */
-public interface ITNfcSettingService 
+public interface ITNfcSettingService
 {
     /**
      * 查询setting
-     * 
+     *
      * @param nfcId settingID
      * @return setting
      */
@@ -27,7 +29,7 @@ public interface ITNfcSettingService
     public TNfcSetting getInfoByNfcNum(String nfcNum);
     /**
      * 查询setting列表
-     * 
+     *
      * @param tNfcSetting setting
      * @return setting集合
      */
@@ -35,7 +37,7 @@ public interface ITNfcSettingService
 
     /**
      * 新增setting
-     * 
+     *
      * @param tNfcSetting setting
      * @return 结果
      */
@@ -43,7 +45,7 @@ public interface ITNfcSettingService
 
     /**
      * 修改setting
-     * 
+     *
      * @param tNfcSetting setting
      * @return 结果
      */
@@ -51,7 +53,7 @@ public interface ITNfcSettingService
 
     /**
      * 批量删除setting
-     * 
+     *
      * @param nfcIds 需要删除的settingID
      * @return 结果
      */
@@ -59,9 +61,16 @@ public interface ITNfcSettingService
 
     /**
      * 删除setting信息
-     * 
+     *
      * @param nfcId settingID
      * @return 结果
      */
     public int deleteTNfcSettingById(Long nfcId);
+
+    /**
+     * 巡检打卡查询列表
+     * @param tNfcSetting
+     * @return
+     */
+    List<TNfcRecord> punchClockList(TNfcSetting tNfcSetting);
 }
diff --git a/danger-manage-system/src/main/java/com/zehong/system/service/impl/TNfcSettingServiceImpl.java b/danger-manage-system/src/main/java/com/zehong/system/service/impl/TNfcSettingServiceImpl.java
index 35f2aa6a0d3d95cd43fdd0aab471dc93c21a319a..595812f0a31810832f0905c8cc438a022bfcac64 100644
--- a/danger-manage-system/src/main/java/com/zehong/system/service/impl/TNfcSettingServiceImpl.java
+++ b/danger-manage-system/src/main/java/com/zehong/system/service/impl/TNfcSettingServiceImpl.java
@@ -2,6 +2,7 @@ package com.zehong.system.service.impl;
 
 import java.util.List;
 import com.zehong.common.utils.DateUtils;
+import com.zehong.system.domain.TNfcRecord;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.zehong.system.mapper.TNfcSettingMapper;
@@ -10,19 +11,19 @@ import com.zehong.system.service.ITNfcSettingService;
 
 /**
  * settingService业务层处理
- * 
+ *
  * @author zehong
  * @date 2022-10-17
  */
 @Service
-public class TNfcSettingServiceImpl implements ITNfcSettingService 
+public class TNfcSettingServiceImpl implements ITNfcSettingService
 {
     @Autowired
     private TNfcSettingMapper tNfcSettingMapper;
 
     /**
      * 查询setting
-     * 
+     *
      * @param nfcId settingID
      * @return setting
      */
@@ -45,7 +46,7 @@ public class TNfcSettingServiceImpl implements ITNfcSettingService
 
     /**
      * 查询setting列表
-     * 
+     *
      * @param tNfcSetting setting
      * @return setting
      */
@@ -57,7 +58,7 @@ public class TNfcSettingServiceImpl implements ITNfcSettingService
 
     /**
      * 新增setting
-     * 
+     *
      * @param tNfcSetting setting
      * @return 结果
      */
@@ -70,7 +71,7 @@ public class TNfcSettingServiceImpl implements ITNfcSettingService
 
     /**
      * 修改setting
-     * 
+     *
      * @param tNfcSetting setting
      * @return 结果
      */
@@ -82,7 +83,7 @@ public class TNfcSettingServiceImpl implements ITNfcSettingService
 
     /**
      * 批量删除setting
-     * 
+     *
      * @param nfcIds 需要删除的settingID
      * @return 结果
      */
@@ -94,7 +95,7 @@ public class TNfcSettingServiceImpl implements ITNfcSettingService
 
     /**
      * 删除setting信息
-     * 
+     *
      * @param nfcId settingID
      * @return 结果
      */
@@ -103,4 +104,14 @@ public class TNfcSettingServiceImpl implements ITNfcSettingService
     {
         return tNfcSettingMapper.deleteTNfcSettingById(nfcId);
     }
+
+    /**
+     * 巡检打卡查询列表
+     * @param tNfcSetting
+     * @return
+     */
+    @Override
+    public List<TNfcRecord> punchClockList(TNfcSetting tNfcSetting) {
+        return tNfcSettingMapper.punchClockList(tNfcSetting);
+    }
 }
diff --git a/danger-manage-system/src/main/resources/mapper/system/TNfcSettingMapper.xml b/danger-manage-system/src/main/resources/mapper/system/TNfcSettingMapper.xml
index 1ffb99580e0128400f33bb3d55fb6ea81d7f4137..b8181fed3fe264dc753a1e4d3e4404afe2866b5c 100644
--- a/danger-manage-system/src/main/resources/mapper/system/TNfcSettingMapper.xml
+++ b/danger-manage-system/src/main/resources/mapper/system/TNfcSettingMapper.xml
@@ -12,19 +12,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="patrolFrequency"    column="patrol_frequency"    />
         <result property="nfcNum"    column="nfc_num"    />
         <result property="createTime"    column="create_time"    />
+        <result property="region"    column="region"    />
         <result property="isDel"    column="is_del"    />
     </resultMap>
 
     <sql id="selectTNfcSettingVo">
-        select nfc_id, patrol_sort, patrol_address, patrol_coment, patrol_frequency, nfc_num, create_time, is_del from t_nfc_setting
+        select nfc_id, patrol_sort, patrol_address, patrol_coment, patrol_frequency, nfc_num, create_time,region, is_del from t_nfc_setting
     </sql>
 
     <select id="selectTNfcSettingList" parameterType="TNfcSetting" resultMap="TNfcSettingResult">
-        <include refid="selectTNfcSettingVo"/>
+        select a.*,b.dict_label as nickName from t_nfc_setting a
+        left join  sys_dict_data b on a.region=b.dict_value
         <where>
-            is_del='0'
-            and
-            region = #{region}
+            a.is_del='0' and b.dict_type='t_nfc_region'
+            <if test="region != null  and region != ''"> and  region = #{region}</if>
             <if test="patrolAddress != null  and patrolAddress != ''"> and patrol_address = #{patrolAddress}</if>
             <if test="nfcNum != null  and nfcNum != ''"> and nfc_num = #{nfcNum}</if>
         </where>
@@ -40,6 +41,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where nfc_num = #{nfcNum}
     </select>
 
+
     <insert id="insertTNfcSetting" parameterType="TNfcSetting" useGeneratedKeys="true" keyProperty="nfcId">
         insert into t_nfc_setting
         <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -72,6 +74,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="patrolComent != null">patrol_coment = #{patrolComent},</if>
             <if test="patrolFrequency != null">patrol_frequency = #{patrolFrequency},</if>
             <if test="nfcNum != null">nfc_num = #{nfcNum},</if>
+            <if test="region != null">region = #{region},</if>
             <if test="createTime != null">create_time = #{createTime},</if>
             <if test="isDel != null">is_del = #{isDel},</if>
         </trim>
@@ -88,4 +91,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{nfcId}
         </foreach>
     </update>
+
+    <!--巡检打卡查询列表-->
+    <select id="punchClockList" resultType="com.zehong.system.domain.TNfcRecord">
+        select a.is_normal as isNormal,a.remarks as remarks ,a.create_time as createTime,
+               b.patrol_address as patrolAddress,b.patrol_coment as patrolComent,b.patrol_frequency as patrolFrequency,
+			   c.nick_name as nickName,
+               d.dict_label as dictLabel
+           from t_nfc_record a left join t_nfc_setting b on a.nfc_id=b.nfc_id
+		        left join  sys_user  c  on a.create_user=c.user_id
+                left join sys_dict_data d on b.region=d.dict_value
+        <where>
+            b.is_del='0' and d.dict_type='t_nfc_region'
+            <if test="patrolAddress != null and patrolName != ''">
+                and b.patrol_address like concat('%', #{patrolAddress}, '%')
+            </if>
+            <if test="region != null and region != ''">
+                and b.region=#{region}
+            </if>
+        </where>
+			group by a.create_time desc
+    </select>
 </mapper>
diff --git a/danger-manage-web/src/api/system/setting.js b/danger-manage-web/src/api/system/setting.js
index 8ac615da8b776885473869c375c403c271eea251..4e9ea35b82429187cb7384aecefcda526cf4b7d8 100644
--- a/danger-manage-web/src/api/system/setting.js
+++ b/danger-manage-web/src/api/system/setting.js
@@ -61,54 +61,4 @@ export function refreshSystemSetting(query) {
   })
 }
 
-// 查询setting列表
-export function listSetting(query) {
-  return request({
-    url: '/system/inspection/list',
-    method: 'get',
-    params: query
-  })
-}
-
-// 查询setting详细
-export function getSetting(nfcId) {
-  return request({
-    url: '/system/inspection/' + nfcId,
-    method: 'get'
-  })
-}
-
-// 新增setting
-export function addSetting(data) {
-  return request({
-    url: '/system/inspection',
-    method: 'post',
-    data: data
-  })
-}
 
-// 修改setting
-export function updateSetting(data) {
-  return request({
-    url: '/system/inspection',
-    method: 'put',
-    data: data
-  })
-}
-
-// 删除setting
-export function delSetting(nfcId) {
-  return request({
-    url: '/system/inspection/' + nfcId,
-    method: 'delete'
-  })
-}
-
-// 导出setting
-export function exportSetting(query) {
-  return request({
-    url: '/system/inspection/export',
-    method: 'get',
-    params: query
-  })
-}
diff --git a/danger-manage-web/src/api/system/statistics.js b/danger-manage-web/src/api/system/statistics.js
new file mode 100644
index 0000000000000000000000000000000000000000..f714818cc2dc11e6ac8c3f1396029e5eef01aef2
--- /dev/null
+++ b/danger-manage-web/src/api/system/statistics.js
@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询setting列表
+export function listSetting(query) {
+  return request({
+    url: '/system/inspection/punchClockList',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询setting详细
+export function getSetting(nfcId) {
+  return request({
+    url: '/system/inspection/' + nfcId,
+    method: 'get'
+  })
+}
+
+// 新增setting
+export function addSetting(data) {
+  return request({
+    url: '/system/inspection',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改setting
+export function updateSetting(data) {
+  return request({
+    url: '/system/inspection',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除setting
+export function delSetting(nfcId) {
+  return request({
+    url: '/system/inspection/' + nfcId,
+    method: 'delete'
+  })
+}
+
+// 导出setting
+export function exportSetting(query) {
+  return request({
+    url: '/system/inspection/export',
+    method: 'get',
+    params: query
+  })
+}
diff --git a/danger-manage-web/src/views/system/statistics/index.vue b/danger-manage-web/src/views/system/statistics/index.vue
new file mode 100644
index 0000000000000000000000000000000000000000..658aec00c74188d6cc26fb94b2bd3630c7fafb34
--- /dev/null
+++ b/danger-manage-web/src/views/system/statistics/index.vue
@@ -0,0 +1,324 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="巡检地点" prop="patrolAddress">
+        <el-input
+          v-model="queryParams.patrolAddress"
+          placeholder="请输入巡检地点"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="巡检区域" prop="workType">
+        <el-select v-model="queryParams.region" placeholder="请选择区域" clearable size="small">
+          <el-option
+            v-for="dict in workTypeOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+<!--    <el-row :gutter="10" class="mb8">-->
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="primary"-->
+<!--          plain-->
+<!--          icon="el-icon-plus"-->
+<!--          size="mini"-->
+<!--          @click="handleAdd"-->
+<!--          v-hasPermi="['system:setting:add']"-->
+<!--        >新增</el-button>-->
+<!--      </el-col>-->
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="success"-->
+<!--          plain-->
+<!--          icon="el-icon-edit"-->
+<!--          size="mini"-->
+<!--          :disabled="single"-->
+<!--          @click="handleUpdate"-->
+<!--          v-hasPermi="['system:setting:edit']"-->
+<!--        >修改</el-button>-->
+<!--      </el-col>-->
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="danger"-->
+<!--          plain-->
+<!--          icon="el-icon-delete"-->
+<!--          size="mini"-->
+<!--          :disabled="multiple"-->
+<!--          @click="handleDelete"-->
+<!--          v-hasPermi="['system:setting:remove']"-->
+<!--        >删除</el-button>-->
+<!--      </el-col>-->
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="warning"-->
+<!--          plain-->
+<!--          icon="el-icon-download"-->
+<!--          size="mini"-->
+<!--		  :loading="exportLoading"-->
+<!--          @click="handleExport"-->
+<!--          v-hasPermi="['system:setting:export']"-->
+<!--        >导出</el-button>-->
+<!--      </el-col>-->
+<!--      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
+<!--    </el-row>-->
+
+    <el-table v-loading="loading" :data="settingList" @selection-change="handleSelectionChange">
+      <el-table-column  width="250" label="巡检地点" align="center" prop="patrolAddress" />
+      <el-table-column  width="250" label="巡检区域" align="center" prop="dictLabel" />
+      <el-table-column width="650"  label="巡检内容" align="center" prop="patrolComent" >
+        <span slot-scope="scope" v-if="scope.row.patrolComent">{{scope.row.patrolComent}}</span>
+        <span v-else>-</span>
+      </el-table-column>
+      <el-table-column label="巡检频次" align="center" prop="patrolFrequency" >
+        <span slot-scope="scope" v-if="scope.row.patrolFrequency">{{scope.row.patrolFrequency}}</span>
+        <span v-else>-</span>
+      </el-table-column>
+      <el-table-column width="150" label="上报人" align="center" prop="nickName" />
+      <el-table-column width="200"  label="是否正常" align="center" prop="isNormal">
+        <span slot-scope="scope" style="color: red" v-if="scope.row.isNormal==0">异常</span>
+        <span slot-scope="scope" v-else-if="scope.row.isNormal==1">正常</span>
+      </el-table-column>
+      <el-table-column label="上报时间" align="center" prop="createTime" />
+<!--      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
+<!--        <template slot-scope="scope">-->
+<!--          <el-button-->
+<!--            size="mini"-->
+<!--            type="text"-->
+<!--            icon="el-icon-edit"-->
+<!--            @click="handleUpdate(scope.row)"-->
+<!--            v-hasPermi="['system:setting:edit']"-->
+<!--          >修改</el-button>-->
+<!--          <el-button-->
+<!--            size="mini"-->
+<!--            type="text"-->
+<!--            icon="el-icon-delete"-->
+<!--            @click="handleDelete(scope.row)"-->
+<!--            v-hasPermi="['system:setting:remove']"-->
+<!--          >删除</el-button>-->
+<!--        </template>-->
+<!--      </el-table-column>-->
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改setting对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="排序" prop="patrolSort">
+          <el-input v-model="form.patrolSort" placeholder="请输入排序" />
+        </el-form-item>
+        <el-form-item label="巡检地点" prop="patrolAddress">
+          <el-input v-model="form.patrolAddress" placeholder="请输入巡检地点" />
+        </el-form-item>
+        <el-form-item label="巡检频次" prop="patrolFrequency">
+          <el-input v-model="form.patrolFrequency" placeholder="请输入巡检频次" />
+        </el-form-item>
+        <el-form-item label="nfc编号" prop="nfcNum">
+          <el-input v-model="form.nfcNum" placeholder="请输入nfc编号" />
+        </el-form-item>
+        <el-form-item label="巡检内容" prop="patrolComent">
+          <el-input v-model="form.patrolComent" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listSetting, getSetting, delSetting, addSetting, updateSetting, exportSetting } from "@/api/system/statistics.js";
+
+export default {
+  name: "Setting",
+  components: {
+  },
+  data() {
+    return {
+      region:null,
+      activeName: '0',
+      // 遮罩层
+      loading: true,
+      // 导出遮罩层
+      exportLoading: false,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // setting表格数据
+      settingList: [],
+      //查询下拉框数据
+      workTypeOptions: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        patrolAddress: null,
+        nfcNum: null,
+        region:null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        patrolAddress: [
+          { required: true, message: "巡检地点不能为空", trigger: "blur" }
+        ],
+        patrolSort: [
+          { required: true, message: "排序不能为空", trigger: "blur" }
+        ],
+
+      }
+    };
+  },
+  created() {
+    this.getList();
+    this.getDicts("t_nfc_region").then(response => {
+      this.workTypeOptions = response.data;
+    });
+  },
+  methods: {
+    /** 查询setting列表 */
+    getList() {
+      this.loading = true;
+      listSetting(this.queryParams).then(response => {
+        this.settingList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        nfcId: null,
+        patrolSort: null,
+        patrolAddress: null,
+        patrolComent: null,
+        patrolFrequency: null,
+        nfcNum: null,
+        createTime: null,
+        isDel: null,
+        region:null,
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.nfcId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "化工车间巡检";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const nfcId = row.nfcId || this.ids
+      getSetting(nfcId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改化工车间巡检信息";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.nfcId != null) {
+            updateSetting(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            this.form.region= this.queryParams.region;
+            addSetting(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const nfcIds = row.nfcId || this.ids;
+      const patrolAddress = row.patrolAddress;
+      this.$confirm('是否确认删除巡检地点为"' + patrolAddress + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delSetting(nfcIds);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有巡检数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+          this.exportLoading = true;
+          return exportSetting(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+          this.exportLoading = false;
+        }).catch(() => {});
+    }
+  }
+};
+</script>
diff --git a/danger-manage-web/src/views/system/tNfcSetting/index.vue b/danger-manage-web/src/views/system/tNfcSetting/index.vue
index a23936e4846de7c74113b7be804c90ca52d7e29f..957918a86fad438e306f698a284217db69cbaada 100644
--- a/danger-manage-web/src/views/system/tNfcSetting/index.vue
+++ b/danger-manage-web/src/views/system/tNfcSetting/index.vue
@@ -1,6 +1,4 @@
 <template>
-  <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
-    <el-tab-pane label="氨合成" name="0">
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
       <el-form-item label="巡检地点" prop="patrolAddress">
@@ -21,6 +19,16 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
+      <el-form-item label="巡检区域" >
+        <el-select v-model="queryParams.region" placeholder="请选择区域" clearable size="small">
+          <el-option
+            v-for="dict in workTypeOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          />
+        </el-select>
+      </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -76,13 +84,14 @@
 
     <el-table v-loading="loading" :data="settingList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="排序" align="center" prop="patrolSort" />
-      <el-table-column label="巡检地点" align="center" prop="patrolAddress" />
-      <el-table-column label="巡检内容" align="center" prop="patrolComent" >
+      <el-table-column label="排序"   width="150" align="center" prop="patrolSort" />
+      <el-table-column label="巡检地点" width="200" align="center" prop="patrolAddress" />
+      <el-table-column label="巡检区域" width="200" align="center" prop="nickName" />
+      <el-table-column label="巡检内容" width="750" align="center" prop="patrolComent" >
         <span slot-scope="scope" v-if="scope.row.patrolComent">{{scope.row.patrolComent}}</span>
         <span v-else>-</span>
       </el-table-column>
-      <el-table-column label="巡检频次" align="center" prop="patrolFrequency" >
+      <el-table-column label="巡检频次"  width="250" align="center" prop="patrolFrequency" >
         <span slot-scope="scope" v-if="scope.row.patrolFrequency">{{scope.row.patrolFrequency}}</span>
         <span v-else>-</span>
       </el-table-column>
@@ -124,6 +133,16 @@
         <el-form-item label="排序" prop="patrolSort">
           <el-input v-model="form.patrolSort" placeholder="请输入排序" />
         </el-form-item>
+        <el-form-item label="巡检区域" prop="region">
+          <el-select v-model="form.region" style="width: 100%" placeholder="请选择区域" clearable size="small">
+            <el-option
+              v-for="dict in workTypeOptions"
+              :key="dict.dictValue"
+              :label="dict.dictLabel"
+              :value="dict.dictValue"
+            />
+          </el-select>
+        </el-form-item>
         <el-form-item label="巡检地点" prop="patrolAddress">
           <el-input v-model="form.patrolAddress" placeholder="请输入巡检地点" />
         </el-form-item>
@@ -143,152 +162,6 @@
       </div>
     </el-dialog>
   </div>
-    </el-tab-pane>
-    <el-tab-pane label="罐区" name="1">
-      <div class="app-container">
-        <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-          <el-form-item label="巡检地点" prop="patrolAddress">
-            <el-input
-              v-model="queryParams.patrolAddress"
-              placeholder="请输入巡检地点"
-              clearable
-              size="small"
-              @keyup.enter.native="handleQuery"
-            />
-          </el-form-item>
-          <el-form-item label="nfc编号" prop="nfcNum">
-            <el-input
-              v-model="queryParams.nfcNum"
-              placeholder="请输入nfc编号"
-              clearable
-              size="small"
-              @keyup.enter.native="handleQuery"
-            />
-          </el-form-item>
-          <el-form-item>
-            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
-          </el-form-item>
-        </el-form>
-
-        <el-row :gutter="10" class="mb8">
-          <el-col :span="1.5">
-            <el-button
-              type="primary"
-              plain
-              icon="el-icon-plus"
-              size="mini"
-              @click="handleAdd"
-              v-hasPermi="['system:setting:add']"
-            >新增</el-button>
-          </el-col>
-          <el-col :span="1.5">
-            <el-button
-              type="success"
-              plain
-              icon="el-icon-edit"
-              size="mini"
-              :disabled="single"
-              @click="handleUpdate"
-              v-hasPermi="['system:setting:edit']"
-            >修改</el-button>
-          </el-col>
-          <el-col :span="1.5">
-            <el-button
-              type="danger"
-              plain
-              icon="el-icon-delete"
-              size="mini"
-              :disabled="multiple"
-              @click="handleDelete"
-              v-hasPermi="['system:setting:remove']"
-            >删除</el-button>
-          </el-col>
-          <el-col :span="1.5">
-            <el-button
-              type="warning"
-              plain
-              icon="el-icon-download"
-              size="mini"
-              :loading="exportLoading"
-              @click="handleExport"
-              v-hasPermi="['system:setting:export']"
-            >导出</el-button>
-          </el-col>
-          <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-        </el-row>
-
-        <el-table v-loading="loading" :data="settingList" @selection-change="handleSelectionChange">
-          <el-table-column type="selection" width="55" align="center" />
-          <el-table-column label="排序" align="center" prop="patrolSort" />
-          <el-table-column label="巡检地点" align="center" prop="patrolAddress" />
-          <el-table-column label="巡检内容" align="center" prop="patrolComent" >
-            <span slot-scope="scope" v-if="scope.row.patrolComent">{{scope.row.patrolComent}}</span>
-            <span v-else>-</span>
-          </el-table-column>
-          <el-table-column label="巡检频次" align="center" prop="patrolFrequency" >
-            <span slot-scope="scope" v-if="scope.row.patrolFrequency">{{scope.row.patrolFrequency}}</span>
-            <span v-else>-</span>
-          </el-table-column>
-          <el-table-column label="nfc编号" align="center" prop="nfcNum" >
-            <span slot-scope="scope" v-if="scope.row.nfcNum">{{scope.row.nfcNum}}</span>
-            <span v-else>-</span>
-          </el-table-column>>
-          <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-            <template slot-scope="scope">
-              <el-button
-                size="mini"
-                type="text"
-                icon="el-icon-edit"
-                @click="handleUpdate(scope.row)"
-                v-hasPermi="['system:setting:edit']"
-              >修改</el-button>
-              <el-button
-                size="mini"
-                type="text"
-                icon="el-icon-delete"
-                @click="handleDelete(scope.row)"
-                v-hasPermi="['system:setting:remove']"
-              >删除</el-button>
-            </template>
-          </el-table-column>
-        </el-table>
-
-        <pagination
-          v-show="total>0"
-          :total="total"
-          :page.sync="queryParams.pageNum"
-          :limit.sync="queryParams.pageSize"
-          @pagination="getList"
-        />
-
-        <!-- 添加或修改setting对话框 -->
-        <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-          <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-            <el-form-item label="排序" prop="patrolSort">
-              <el-input v-model="form.patrolSort" placeholder="请输入排序" />
-            </el-form-item>
-            <el-form-item label="巡检地点" prop="patrolAddress">
-              <el-input v-model="form.patrolAddress" placeholder="请输入巡检地点" />
-            </el-form-item>
-            <el-form-item label="巡检频次" prop="patrolFrequency">
-              <el-input v-model="form.patrolFrequency" placeholder="请输入巡检频次" />
-            </el-form-item>
-            <el-form-item label="nfc编号" prop="nfcNum">
-              <el-input v-model="form.nfcNum" placeholder="请输入nfc编号" />
-            </el-form-item>
-            <el-form-item label="巡检内容" prop="patrolComent">
-              <el-input v-model="form.patrolComent" type="textarea" placeholder="请输入内容" />
-            </el-form-item>
-          </el-form>
-          <div slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="submitForm">确 定</el-button>
-            <el-button @click="cancel">取 消</el-button>
-          </div>
-        </el-dialog>
-      </div>
-    </el-tab-pane>
-  </el-tabs>
 </template>
 
 <script>
@@ -300,6 +173,8 @@ export default {
   },
   data() {
     return {
+      //查询下拉框数据
+      workTypeOptions: [],
       activeName: '0',
       // 遮罩层
       loading: true,
@@ -327,7 +202,7 @@ export default {
         pageSize: 10,
         patrolAddress: null,
         nfcNum: null,
-        region:'0',
+        region:null,
       },
       // 表单参数
       form: {},
@@ -339,32 +214,20 @@ export default {
         patrolSort: [
           { required: true, message: "排序不能为空", trigger: "blur" }
         ],
-
+        region:[
+          { required: true, message: "请选择巡检区域", trigger: "blur" }
+        ],
       }
     };
   },
   created() {
     this.getList();
+    this.getDicts("t_nfc_region").then(response => {
+      this.workTypeOptions = response.data;
+    });
   },
   methods: {
-    handleClick(tab, event) {
-      //0 氨合成       1 罐区
-      if (event.originalTarget.id=='tab-0'){
-        this.queryParams.region=0;
-        listSetting(this.queryParams).then(response => {
-          this.settingList = response.rows;
-          this.total = response.total;
-          this.loading = false;
-        });
-      }else {
-        this.queryParams.region=1;
-        listSetting(this.queryParams).then(response => {
-          this.settingList = response.rows;
-          this.total = response.total;
-          this.loading = false;
-        });
-      }
-    },
+
     /** 查询setting列表 */
     getList() {
       this.loading = true;