Browse Source

宗教活动管理部分修改,新增宗教职人员

zmj 5 tháng trước cách đây
mục cha
commit
b3723ca562

+ 128 - 0
ruoyi-admin/src/main/java/com/ruoyi/project/religion/person/controller/ReligionPersonController.java

@@ -0,0 +1,128 @@
+package com.ruoyi.project.religion.person.controller;
+
+import java.util.List;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.project.religion.person.domain.ReligionPerson;
+import com.ruoyi.project.religion.person.service.IReligionPersonService;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 教职人员Controller
+ * 
+ * @author zmj
+ * @date 2025-12-04
+ */
+@Controller
+@RequestMapping("/religion/religionPerson")
+public class ReligionPersonController extends BaseController
+{
+    private String prefix = "religion/religionPerson";
+
+    @Autowired
+    private IReligionPersonService religionPersonService;
+
+    @RequiresPermissions("religion:religionPerson:view")
+    @GetMapping()
+    public String religionPerson()
+    {
+        return prefix + "/religionPerson";
+    }
+
+    /**
+     * 查询教职人员列表
+     */
+    @RequiresPermissions("religion:religionPerson:list")
+    @PostMapping("/list")
+    @ResponseBody
+    public TableDataInfo list(ReligionPerson religionPerson)
+    {
+        startPage();
+        List<ReligionPerson> list = religionPersonService.selectReligionPersonList(religionPerson);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出教职人员列表
+     */
+    @RequiresPermissions("religion:religionPerson:export")
+    @Log(title = "教职人员", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    @ResponseBody
+    public AjaxResult export(ReligionPerson religionPerson)
+    {
+        List<ReligionPerson> list = religionPersonService.selectReligionPersonList(religionPerson);
+        ExcelUtil<ReligionPerson> util = new ExcelUtil<ReligionPerson>(ReligionPerson.class);
+        return util.exportExcel(list, "教职人员数据");
+    }
+
+    /**
+     * 新增教职人员
+     */
+    @RequiresPermissions("religion:religionPerson:add")
+    @GetMapping("/add")
+    public String add()
+    {
+        return prefix + "/add";
+    }
+
+    /**
+     * 新增保存教职人员
+     */
+    @RequiresPermissions("religion:religionPerson:add")
+    @Log(title = "教职人员", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    @ResponseBody
+    public AjaxResult addSave(ReligionPerson religionPerson)
+    {
+        return toAjax(religionPersonService.insertReligionPerson(religionPerson));
+    }
+
+    /**
+     * 修改教职人员
+     */
+    @RequiresPermissions("religion:religionPerson:edit")
+    @GetMapping("/edit/{personId}")
+    public String edit(@PathVariable("personId") Long personId, ModelMap mmap)
+    {
+        ReligionPerson religionPerson = religionPersonService.selectReligionPersonByPersonId(personId);
+        mmap.put("religionPerson", religionPerson);
+        return prefix + "/edit";
+    }
+
+    /**
+     * 修改保存教职人员
+     */
+    @RequiresPermissions("religion:religionPerson:edit")
+    @Log(title = "教职人员", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    @ResponseBody
+    public AjaxResult editSave(ReligionPerson religionPerson)
+    {
+        return toAjax(religionPersonService.updateReligionPerson(religionPerson));
+    }
+
+    /**
+     * 删除教职人员
+     */
+    @RequiresPermissions("religion:religionPerson:remove")
+    @Log(title = "教职人员", businessType = BusinessType.DELETE)
+    @PostMapping( "/remove")
+    @ResponseBody
+    public AjaxResult remove(String ids)
+    {
+        return toAjax(religionPersonService.deleteReligionPersonByPersonIds(ids));
+    }
+}

+ 315 - 0
ruoyi-admin/src/main/java/com/ruoyi/project/religion/person/domain/ReligionPerson.java

@@ -0,0 +1,315 @@
+package com.ruoyi.project.religion.person.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 教职人员对象 religion_person
+ * 
+ * @author zmj
+ * @date 2025-12-04
+ */
+public class ReligionPerson extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 人员ID */
+    private Long personId;
+
+    /** 所属场所ID(外键,关联 religion_place.place_id) */
+    @Excel(name = "所属场所ID", readConverterExp = "外=键,关联,r=eligion_place.place_id")
+    private Long placeId;
+
+    /** 姓名 */
+    @Excel(name = "姓名")
+    private String name;
+
+    /** 宗教类别 */
+    @Excel(name = "宗教类别")
+    private String religionType;
+
+    /** 性别 */
+    @Excel(name = "性别")
+    private String gender;
+
+    /** 身份证号 */
+    @Excel(name = "身份证号")
+    private String idNumber;
+
+    /** 出生日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date birthday;
+
+    /** 所属区县 */
+    @Excel(name = "所属区县")
+    private String county;
+
+    /** 家庭地址/联系地址 */
+    @Excel(name = "家庭地址/联系地址")
+    private String address;
+
+    /** 政治面貌 */
+    @Excel(name = "政治面貌")
+    private String politicalStatus;
+
+    /** 国民教育学历 */
+    @Excel(name = "国民教育学历")
+    private String eduNational;
+
+    /** 宗教学历 */
+    @Excel(name = "宗教学历")
+    private String eduReligious;
+
+    /** 入教/出家时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @Excel(name = "入教/出家时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date joinTime;
+
+    /** 联系电话 */
+    @Excel(name = "联系电话")
+    private String phone;
+
+    /** 户籍所在地 */
+    @Excel(name = "户籍所在地")
+    private String domicile;
+
+    /** 籍贯 */
+    @Excel(name = "籍贯")
+    private String nativePlace;
+
+    /** 所属宫观名称(Excel 原始值,仅留档) */
+    @Excel(name = "所属宫观名称", readConverterExp = "E=xcel,原=始值,仅留档")
+    private String orgName;
+
+    /** 所属宫观地址(Excel 原始值,仅留档) */
+    @Excel(name = "所属宫观地址", readConverterExp = "E=xcel,原=始值,仅留档")
+    private String orgAddress;
+
+    /** 状态:TO_CHECK待校核/CHECKED已校核/REPORTED已上报 */
+    @Excel(name = "状态:TO_CHECK待校核/CHECKED已校核/REPORTED已上报")
+    private String status;
+
+    public void setPersonId(Long personId) 
+    {
+        this.personId = personId;
+    }
+
+    public Long getPersonId() 
+    {
+        return personId;
+    }
+
+    public void setPlaceId(Long placeId) 
+    {
+        this.placeId = placeId;
+    }
+
+    public Long getPlaceId() 
+    {
+        return placeId;
+    }
+
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+
+    public void setReligionType(String religionType) 
+    {
+        this.religionType = religionType;
+    }
+
+    public String getReligionType() 
+    {
+        return religionType;
+    }
+
+    public void setGender(String gender) 
+    {
+        this.gender = gender;
+    }
+
+    public String getGender() 
+    {
+        return gender;
+    }
+
+    public void setIdNumber(String idNumber) 
+    {
+        this.idNumber = idNumber;
+    }
+
+    public String getIdNumber() 
+    {
+        return idNumber;
+    }
+
+    public void setBirthday(Date birthday) 
+    {
+        this.birthday = birthday;
+    }
+
+    public Date getBirthday() 
+    {
+        return birthday;
+    }
+
+    public void setCounty(String county) 
+    {
+        this.county = county;
+    }
+
+    public String getCounty() 
+    {
+        return county;
+    }
+
+    public void setAddress(String address) 
+    {
+        this.address = address;
+    }
+
+    public String getAddress() 
+    {
+        return address;
+    }
+
+    public void setPoliticalStatus(String politicalStatus) 
+    {
+        this.politicalStatus = politicalStatus;
+    }
+
+    public String getPoliticalStatus() 
+    {
+        return politicalStatus;
+    }
+
+    public void setEduNational(String eduNational) 
+    {
+        this.eduNational = eduNational;
+    }
+
+    public String getEduNational() 
+    {
+        return eduNational;
+    }
+
+    public void setEduReligious(String eduReligious) 
+    {
+        this.eduReligious = eduReligious;
+    }
+
+    public String getEduReligious() 
+    {
+        return eduReligious;
+    }
+
+    public void setJoinTime(Date joinTime) 
+    {
+        this.joinTime = joinTime;
+    }
+
+    public Date getJoinTime() 
+    {
+        return joinTime;
+    }
+
+    public void setPhone(String phone) 
+    {
+        this.phone = phone;
+    }
+
+    public String getPhone() 
+    {
+        return phone;
+    }
+
+    public void setDomicile(String domicile) 
+    {
+        this.domicile = domicile;
+    }
+
+    public String getDomicile() 
+    {
+        return domicile;
+    }
+
+    public void setNativePlace(String nativePlace) 
+    {
+        this.nativePlace = nativePlace;
+    }
+
+    public String getNativePlace() 
+    {
+        return nativePlace;
+    }
+
+    public void setOrgName(String orgName) 
+    {
+        this.orgName = orgName;
+    }
+
+    public String getOrgName() 
+    {
+        return orgName;
+    }
+
+    public void setOrgAddress(String orgAddress) 
+    {
+        this.orgAddress = orgAddress;
+    }
+
+    public String getOrgAddress() 
+    {
+        return orgAddress;
+    }
+
+    public void setStatus(String status) 
+    {
+        this.status = status;
+    }
+
+    public String getStatus() 
+    {
+        return status;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("personId", getPersonId())
+            .append("placeId", getPlaceId())
+            .append("name", getName())
+            .append("religionType", getReligionType())
+            .append("gender", getGender())
+            .append("idNumber", getIdNumber())
+            .append("birthday", getBirthday())
+            .append("county", getCounty())
+            .append("address", getAddress())
+            .append("politicalStatus", getPoliticalStatus())
+            .append("eduNational", getEduNational())
+            .append("eduReligious", getEduReligious())
+            .append("joinTime", getJoinTime())
+            .append("phone", getPhone())
+            .append("domicile", getDomicile())
+            .append("nativePlace", getNativePlace())
+            .append("orgName", getOrgName())
+            .append("orgAddress", getOrgAddress())
+            .append("status", getStatus())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 61 - 0
ruoyi-admin/src/main/java/com/ruoyi/project/religion/person/mapper/ReligionPersonMapper.java

@@ -0,0 +1,61 @@
+package com.ruoyi.project.religion.person.mapper;
+
+import java.util.List;
+import com.ruoyi.project.religion.person.domain.ReligionPerson;
+
+/**
+ * 教职人员Mapper接口
+ * 
+ * @author zmj
+ * @date 2025-12-04
+ */
+public interface ReligionPersonMapper 
+{
+    /**
+     * 查询教职人员
+     * 
+     * @param personId 教职人员主键
+     * @return 教职人员
+     */
+    public ReligionPerson selectReligionPersonByPersonId(Long personId);
+
+    /**
+     * 查询教职人员列表
+     * 
+     * @param religionPerson 教职人员
+     * @return 教职人员集合
+     */
+    public List<ReligionPerson> selectReligionPersonList(ReligionPerson religionPerson);
+
+    /**
+     * 新增教职人员
+     * 
+     * @param religionPerson 教职人员
+     * @return 结果
+     */
+    public int insertReligionPerson(ReligionPerson religionPerson);
+
+    /**
+     * 修改教职人员
+     * 
+     * @param religionPerson 教职人员
+     * @return 结果
+     */
+    public int updateReligionPerson(ReligionPerson religionPerson);
+
+    /**
+     * 删除教职人员
+     * 
+     * @param personId 教职人员主键
+     * @return 结果
+     */
+    public int deleteReligionPersonByPersonId(Long personId);
+
+    /**
+     * 批量删除教职人员
+     * 
+     * @param personIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteReligionPersonByPersonIds(String[] personIds);
+}

+ 61 - 0
ruoyi-admin/src/main/java/com/ruoyi/project/religion/person/service/IReligionPersonService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.project.religion.person.service;
+
+import java.util.List;
+import com.ruoyi.project.religion.person.domain.ReligionPerson;
+
+/**
+ * 教职人员Service接口
+ * 
+ * @author zmj
+ * @date 2025-12-04
+ */
+public interface IReligionPersonService 
+{
+    /**
+     * 查询教职人员
+     * 
+     * @param personId 教职人员主键
+     * @return 教职人员
+     */
+    public ReligionPerson selectReligionPersonByPersonId(Long personId);
+
+    /**
+     * 查询教职人员列表
+     * 
+     * @param religionPerson 教职人员
+     * @return 教职人员集合
+     */
+    public List<ReligionPerson> selectReligionPersonList(ReligionPerson religionPerson);
+
+    /**
+     * 新增教职人员
+     * 
+     * @param religionPerson 教职人员
+     * @return 结果
+     */
+    public int insertReligionPerson(ReligionPerson religionPerson);
+
+    /**
+     * 修改教职人员
+     * 
+     * @param religionPerson 教职人员
+     * @return 结果
+     */
+    public int updateReligionPerson(ReligionPerson religionPerson);
+
+    /**
+     * 批量删除教职人员
+     * 
+     * @param personIds 需要删除的教职人员主键集合
+     * @return 结果
+     */
+    public int deleteReligionPersonByPersonIds(String personIds);
+
+    /**
+     * 删除教职人员信息
+     * 
+     * @param personId 教职人员主键
+     * @return 结果
+     */
+    public int deleteReligionPersonByPersonId(Long personId);
+}

+ 97 - 0
ruoyi-admin/src/main/java/com/ruoyi/project/religion/person/service/impl/ReligionPersonServiceImpl.java

@@ -0,0 +1,97 @@
+package com.ruoyi.project.religion.person.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.project.religion.person.mapper.ReligionPersonMapper;
+import com.ruoyi.project.religion.person.domain.ReligionPerson;
+import com.ruoyi.project.religion.person.service.IReligionPersonService;
+import com.ruoyi.common.core.text.Convert;
+
+/**
+ * 教职人员Service业务层处理
+ * 
+ * @author zmj
+ * @date 2025-12-04
+ */
+@Service
+public class ReligionPersonServiceImpl implements IReligionPersonService 
+{
+    @Autowired
+    private ReligionPersonMapper religionPersonMapper;
+
+    /**
+     * 查询教职人员
+     * 
+     * @param personId 教职人员主键
+     * @return 教职人员
+     */
+    @Override
+    public ReligionPerson selectReligionPersonByPersonId(Long personId)
+    {
+        return religionPersonMapper.selectReligionPersonByPersonId(personId);
+    }
+
+    /**
+     * 查询教职人员列表
+     * 
+     * @param religionPerson 教职人员
+     * @return 教职人员
+     */
+    @Override
+    public List<ReligionPerson> selectReligionPersonList(ReligionPerson religionPerson)
+    {
+        return religionPersonMapper.selectReligionPersonList(religionPerson);
+    }
+
+    /**
+     * 新增教职人员
+     * 
+     * @param religionPerson 教职人员
+     * @return 结果
+     */
+    @Override
+    public int insertReligionPerson(ReligionPerson religionPerson)
+    {
+        religionPerson.setCreateTime(DateUtils.getNowDate());
+        return religionPersonMapper.insertReligionPerson(religionPerson);
+    }
+
+    /**
+     * 修改教职人员
+     * 
+     * @param religionPerson 教职人员
+     * @return 结果
+     */
+    @Override
+    public int updateReligionPerson(ReligionPerson religionPerson)
+    {
+        religionPerson.setUpdateTime(DateUtils.getNowDate());
+        return religionPersonMapper.updateReligionPerson(religionPerson);
+    }
+
+    /**
+     * 批量删除教职人员
+     * 
+     * @param personIds 需要删除的教职人员主键
+     * @return 结果
+     */
+    @Override
+    public int deleteReligionPersonByPersonIds(String personIds)
+    {
+        return religionPersonMapper.deleteReligionPersonByPersonIds(Convert.toStrArray(personIds));
+    }
+
+    /**
+     * 删除教职人员信息
+     * 
+     * @param personId 教职人员主键
+     * @return 结果
+     */
+    @Override
+    public int deleteReligionPersonByPersonId(Long personId)
+    {
+        return religionPersonMapper.deleteReligionPersonByPersonId(personId);
+    }
+}

+ 2 - 2
ruoyi-admin/src/main/resources/application.yml

@@ -7,7 +7,7 @@ ruoyi:
   # 版权年份
   copyrightYear: 2025
   # 实例演示开关
-  demoEnabled: true
+  demoEnabled: false
   # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
   profile: D:/ruoyi/uploadPath
   # 获取ip地址开关
@@ -30,7 +30,7 @@ server:
       max: 800
       # Tomcat启动初始化的线程数,默认值10
       min-spare: 100
- 
+
 # 日志配置
 logging:
   level:

+ 158 - 0
ruoyi-admin/src/main/resources/mapper/religion/person/ReligionPersonMapper.xml

@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.project.religion.person.mapper.ReligionPersonMapper">
+    
+    <resultMap type="ReligionPerson" id="ReligionPersonResult">
+        <result property="personId"    column="person_id"    />
+        <result property="placeId"    column="place_id"    />
+        <result property="name"    column="name"    />
+        <result property="religionType"    column="religion_type"    />
+        <result property="gender"    column="gender"    />
+        <result property="idNumber"    column="id_number"    />
+        <result property="birthday"    column="birthday"    />
+        <result property="county"    column="county"    />
+        <result property="address"    column="address"    />
+        <result property="politicalStatus"    column="political_status"    />
+        <result property="eduNational"    column="edu_national"    />
+        <result property="eduReligious"    column="edu_religious"    />
+        <result property="joinTime"    column="join_time"    />
+        <result property="phone"    column="phone"    />
+        <result property="domicile"    column="domicile"    />
+        <result property="nativePlace"    column="native_place"    />
+        <result property="orgName"    column="org_name"    />
+        <result property="orgAddress"    column="org_address"    />
+        <result property="status"    column="status"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectReligionPersonVo">
+        select person_id, place_id, name, religion_type, gender, id_number, birthday, county, address, political_status, edu_national, edu_religious, join_time, phone, domicile, native_place, org_name, org_address, status, create_by, create_time, update_by, update_time from religion_person
+    </sql>
+
+    <select id="selectReligionPersonList" parameterType="ReligionPerson" resultMap="ReligionPersonResult">
+        <include refid="selectReligionPersonVo"/>
+        <where>  
+            <if test="placeId != null "> and place_id = #{placeId}</if>
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="religionType != null  and religionType != ''"> and religion_type = #{religionType}</if>
+            <if test="gender != null  and gender != ''"> and gender = #{gender}</if>
+            <if test="idNumber != null  and idNumber != ''"> and id_number = #{idNumber}</if>
+            <if test="birthday != null "> and birthday = #{birthday}</if>
+            <if test="county != null  and county != ''"> and county = #{county}</if>
+            <if test="address != null  and address != ''"> and address = #{address}</if>
+            <if test="politicalStatus != null  and politicalStatus != ''"> and political_status = #{politicalStatus}</if>
+            <if test="eduNational != null  and eduNational != ''"> and edu_national = #{eduNational}</if>
+            <if test="eduReligious != null  and eduReligious != ''"> and edu_religious = #{eduReligious}</if>
+            <if test="joinTime != null "> and join_time = #{joinTime}</if>
+            <if test="phone != null  and phone != ''"> and phone = #{phone}</if>
+            <if test="domicile != null  and domicile != ''"> and domicile = #{domicile}</if>
+            <if test="nativePlace != null  and nativePlace != ''"> and native_place = #{nativePlace}</if>
+            <if test="orgName != null  and orgName != ''"> and org_name like concat('%', #{orgName}, '%')</if>
+            <if test="orgAddress != null  and orgAddress != ''"> and org_address = #{orgAddress}</if>
+            <if test="status != null  and status != ''"> and status = #{status}</if>
+        </where>
+    </select>
+    
+    <select id="selectReligionPersonByPersonId" parameterType="Long" resultMap="ReligionPersonResult">
+        <include refid="selectReligionPersonVo"/>
+        where person_id = #{personId}
+    </select>
+
+    <insert id="insertReligionPerson" parameterType="ReligionPerson" useGeneratedKeys="true" keyProperty="personId">
+        insert into religion_person
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="placeId != null">place_id,</if>
+            <if test="name != null and name != ''">name,</if>
+            <if test="religionType != null and religionType != ''">religion_type,</if>
+            <if test="gender != null">gender,</if>
+            <if test="idNumber != null and idNumber != ''">id_number,</if>
+            <if test="birthday != null">birthday,</if>
+            <if test="county != null">county,</if>
+            <if test="address != null">address,</if>
+            <if test="politicalStatus != null">political_status,</if>
+            <if test="eduNational != null">edu_national,</if>
+            <if test="eduReligious != null">edu_religious,</if>
+            <if test="joinTime != null">join_time,</if>
+            <if test="phone != null">phone,</if>
+            <if test="domicile != null">domicile,</if>
+            <if test="nativePlace != null">native_place,</if>
+            <if test="orgName != null">org_name,</if>
+            <if test="orgAddress != null">org_address,</if>
+            <if test="status != null">status,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="placeId != null">#{placeId},</if>
+            <if test="name != null and name != ''">#{name},</if>
+            <if test="religionType != null and religionType != ''">#{religionType},</if>
+            <if test="gender != null">#{gender},</if>
+            <if test="idNumber != null and idNumber != ''">#{idNumber},</if>
+            <if test="birthday != null">#{birthday},</if>
+            <if test="county != null">#{county},</if>
+            <if test="address != null">#{address},</if>
+            <if test="politicalStatus != null">#{politicalStatus},</if>
+            <if test="eduNational != null">#{eduNational},</if>
+            <if test="eduReligious != null">#{eduReligious},</if>
+            <if test="joinTime != null">#{joinTime},</if>
+            <if test="phone != null">#{phone},</if>
+            <if test="domicile != null">#{domicile},</if>
+            <if test="nativePlace != null">#{nativePlace},</if>
+            <if test="orgName != null">#{orgName},</if>
+            <if test="orgAddress != null">#{orgAddress},</if>
+            <if test="status != null">#{status},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateReligionPerson" parameterType="ReligionPerson">
+        update religion_person
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="placeId != null">place_id = #{placeId},</if>
+            <if test="name != null and name != ''">name = #{name},</if>
+            <if test="religionType != null and religionType != ''">religion_type = #{religionType},</if>
+            <if test="gender != null">gender = #{gender},</if>
+            <if test="idNumber != null and idNumber != ''">id_number = #{idNumber},</if>
+            <if test="birthday != null">birthday = #{birthday},</if>
+            <if test="county != null">county = #{county},</if>
+            <if test="address != null">address = #{address},</if>
+            <if test="politicalStatus != null">political_status = #{politicalStatus},</if>
+            <if test="eduNational != null">edu_national = #{eduNational},</if>
+            <if test="eduReligious != null">edu_religious = #{eduReligious},</if>
+            <if test="joinTime != null">join_time = #{joinTime},</if>
+            <if test="phone != null">phone = #{phone},</if>
+            <if test="domicile != null">domicile = #{domicile},</if>
+            <if test="nativePlace != null">native_place = #{nativePlace},</if>
+            <if test="orgName != null">org_name = #{orgName},</if>
+            <if test="orgAddress != null">org_address = #{orgAddress},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where person_id = #{personId}
+    </update>
+
+    <delete id="deleteReligionPersonByPersonId" parameterType="Long">
+        delete from religion_person where person_id = #{personId}
+    </delete>
+
+    <delete id="deleteReligionPersonByPersonIds" parameterType="String">
+        delete from religion_person where person_id in 
+        <foreach item="personId" collection="array" open="(" separator="," close=")">
+            #{personId}
+        </foreach>
+    </delete>
+
+</mapper>

BIN
ruoyi-admin/src/main/resources/static/img/tx.jpg


+ 15 - 7
ruoyi-admin/src/main/resources/templates/religion/place/add.html

@@ -21,9 +21,15 @@
                     <div class="form-group">
                         <label class="col-sm-4 control-label is-required">宗教类别:</label>
                         <div class="col-sm-8">
-                            <select name="religionType" class="form-control" required th:with="type=${@dict.getType('religion_type')}">
-                                <!--<option value="">请选择宗教类别</option>-->
+                            <!--<select name="religionType" class="form-control" required th:with="type=${@dict.getType('religion_type')}">
+                                &lt;!&ndash;<option value="">请选择宗教类别</option>&ndash;&gt;
                                 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" ></option>
+                            </select>-->
+                            <select name="religionType" class="form-control" required th:with="type=${@dict.getType('religion_type')}">
+                                <!-- 默认显示请选择,禁用且隐藏 -->
+                                <option value="" disabled hidden selected>请选择</option>
+                                <!-- 遍历生成实际选项 -->
+                                <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
                             </select>
                         </div>
                     </div>
@@ -35,7 +41,9 @@
                         <label class="col-sm-4 control-label is-required">场所类别:</label>
                         <div class="col-sm-8">
                             <select name="placeCategory" class="form-control" required th:with="type=${@dict.getType('category_type')}">
-                                <!--<option value="">请选择场所类别</option>-->
+                                <!-- 默认显示请选择,禁用且隐藏 -->
+                                <option value="" disabled hidden selected>请选择</option>
+                                <!-- 遍历生成实际选项 -->
                                 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
                             </select>
                         </div>
@@ -46,7 +54,7 @@
                         <label class="col-sm-4 control-label is-required">所属区县:</label>
                         <div class="col-sm-8">
                             <select name="county" class="form-control" required th:with="type=${@dict.getType('region_xa_district')}">
-                                <option value="">请选择所属区县</option>
+                                <option value="" disabled hidden selected>请选择所属区县</option>
                                 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
                             </select>
                         </div>
@@ -76,10 +84,10 @@
                 </div>
                 <div class="col-sm-6">
                     <div class="form-group">
-                        <label class="col-sm-4 control-label is-required">联系电话:</label>
+                        <label class="col-sm-4 control-label">联系电话:</label>
                         <div class="col-sm-8">
                             <div class="input-group">
-                                <input name="chargePhone" placeholder="请输入联系电话" class="form-control" type="text" maxlength="32" required>
+                                <input name="chargePhone" placeholder="请输入联系电话" class="form-control" type="text" maxlength="32">
                                 <span class="input-group-addon"><i class="fa fa-mobile"></i></span>
                             </div>
                         </div>
@@ -182,7 +190,7 @@
                         <label class="col-sm-4 control-label">是否具有法人资格:</label>
                         <div class="col-sm-8">
                             <select name="legalQualified" class="form-control">
-                                <option value="">请选择</option>
+                                <option value="" disabled hidden selected>请选择</option>
                                 <option value="0">否</option>
                                 <option value="1">是</option>
                             </select>

+ 4 - 4
ruoyi-admin/src/main/resources/templates/religion/place/edit.html

@@ -49,7 +49,7 @@
                         <label class="col-sm-4 control-label is-required">所属区县:</label>
                         <div class="col-sm-8">
                             <select name="county" class="form-control" required th:with="type=${@dict.getType('region_xa_district')}">
-                                <option value="">请选择所属区县</option>
+                                <!--<option value="">请选择所属区县</option>-->
                                 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{county}"></option>
                             </select>
                         </div>
@@ -79,10 +79,10 @@
                 </div>
                 <div class="col-sm-6">
                     <div class="form-group">
-                        <label class="col-sm-4 control-label is-required">联系电话:</label>
+                        <label class="col-sm-4 control-label ">联系电话:</label>
                         <div class="col-sm-8">
                             <div class="input-group">
-                                <input name="chargePhone" placeholder="请输入联系电话" class="form-control" type="text" maxlength="32" th:field="*{chargePhone}" required>
+                                <input name="chargePhone" placeholder="请输入联系电话" class="form-control" type="text" maxlength="32" th:field="*{chargePhone}" >
                                 <span class="input-group-addon"><i class="fa fa-mobile"></i></span>
                             </div>
                         </div>
@@ -185,7 +185,7 @@
                         <label class="col-sm-4 control-label">是否具有法人资格:</label>
                         <div class="col-sm-8">
                             <select name="legalQualified" class="form-control" th:field="*{legalQualified}">
-                                <option value="">请选择</option>
+                                <!--<option value="">请选择</option>-->
                                 <option value="0">否</option>
                                 <option value="1">是</option>
                             </select>

+ 176 - 0
ruoyi-admin/src/main/resources/templates/religion/religionPerson/add.html

@@ -0,0 +1,176 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('新增教职人员')" />
+    <th:block th:include="include :: datetimepicker-css" />
+</head>
+<body class="white-bg">
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-religionPerson-add">
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label is-required">所属场所ID:</label>
+                <div class="col-sm-8">
+                    <input name="placeId" class="form-control" type="text" required>
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label is-required">姓名:</label>
+                <div class="col-sm-8">
+                    <input name="name" class="form-control" type="text" required>
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">性别:</label>
+                <div class="col-sm-8">
+                    <input name="gender" class="form-control" type="text">
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label is-required">身份证号:</label>
+                <div class="col-sm-8">
+                    <input name="idNumber" class="form-control" type="text" required>
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">出生日期:</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <input name="birthday" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">所属区县:</label>
+                <div class="col-sm-8">
+                    <input name="county" class="form-control" type="text">
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">家庭地址/联系地址:</label>
+                <div class="col-sm-8">
+                    <textarea name="address" class="form-control"></textarea>
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">国民教育学历:</label>
+                <div class="col-sm-8">
+                    <input name="eduNational" class="form-control" type="text">
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">宗教学历:</label>
+                <div class="col-sm-8">
+                    <input name="eduReligious" class="form-control" type="text">
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">入教/出家时间:</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <input name="joinTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">联系电话:</label>
+                <div class="col-sm-8">
+                    <input name="phone" class="form-control" type="text">
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">户籍所在地:</label>
+                <div class="col-sm-8">
+                    <input name="domicile" class="form-control" type="text">
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">籍贯:</label>
+                <div class="col-sm-8">
+                    <input name="nativePlace" class="form-control" type="text">
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">所属宫观名称:</label>
+                <div class="col-sm-8">
+                    <input name="orgName" class="form-control" type="text">
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">所属宫观地址:</label>
+                <div class="col-sm-8">
+                    <textarea name="orgAddress" class="form-control"></textarea>
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">状态:TO_CHECK待校核/CHECKED已校核/REPORTED已上报:</label>
+                <div class="col-sm-8">
+                    <div class="radio-box" th:each="dict : ${@dict.getType('religion_person_status')}">
+                        <input type="radio" th:id="${'status_' + dict.dictCode}" name="status" th:value="${dict.dictValue}" th:checked="${dict.default}">
+                        <label th:for="${'status_' + dict.dictCode}" th:text="${dict.dictLabel}"></label>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </form>
+</div>
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: datetimepicker-js" />
+<script th:inline="javascript">
+    var prefix = ctx + "religion/religionPerson"
+    $("#form-religionPerson-add").validate({
+        focusCleanup: true
+    });
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            $.operate.save(prefix + "/add", $('#form-religionPerson-add').serialize());
+        }
+    }
+
+    $("input[name='birthday']").datetimepicker({
+        format: "yyyy-mm-dd",
+        minView: "month",
+        autoclose: true
+    });
+
+    $("input[name='joinTime']").datetimepicker({
+        format: "yyyy-mm-dd",
+        minView: "month",
+        autoclose: true
+    });
+</script>
+</body>
+</html>

+ 177 - 0
ruoyi-admin/src/main/resources/templates/religion/religionPerson/edit.html

@@ -0,0 +1,177 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('修改教职人员')" />
+    <th:block th:include="include :: datetimepicker-css" />
+</head>
+<body class="white-bg">
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-religionPerson-edit" th:object="${religionPerson}">
+        <input name="personId" th:field="*{personId}" type="hidden">
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label is-required">所属场所ID:</label>
+                <div class="col-sm-8">
+                    <input name="placeId" th:field="*{placeId}" class="form-control" type="text" required>
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label is-required">姓名:</label>
+                <div class="col-sm-8">
+                    <input name="name" th:field="*{name}" class="form-control" type="text" required>
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">性别:</label>
+                <div class="col-sm-8">
+                    <input name="gender" th:field="*{gender}" class="form-control" type="text">
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label is-required">身份证号:</label>
+                <div class="col-sm-8">
+                    <input name="idNumber" th:field="*{idNumber}" class="form-control" type="text" required>
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">出生日期:</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <input name="birthday" th:value="${#dates.format(religionPerson.birthday, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">所属区县:</label>
+                <div class="col-sm-8">
+                    <input name="county" th:field="*{county}" class="form-control" type="text">
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">家庭地址/联系地址:</label>
+                <div class="col-sm-8">
+                    <textarea name="address" class="form-control">[[*{address}]]</textarea>
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">国民教育学历:</label>
+                <div class="col-sm-8">
+                    <input name="eduNational" th:field="*{eduNational}" class="form-control" type="text">
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">宗教学历:</label>
+                <div class="col-sm-8">
+                    <input name="eduReligious" th:field="*{eduReligious}" class="form-control" type="text">
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">入教/出家时间:</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <input name="joinTime" th:value="${#dates.format(religionPerson.joinTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">联系电话:</label>
+                <div class="col-sm-8">
+                    <input name="phone" th:field="*{phone}" class="form-control" type="text">
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">户籍所在地:</label>
+                <div class="col-sm-8">
+                    <input name="domicile" th:field="*{domicile}" class="form-control" type="text">
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">籍贯:</label>
+                <div class="col-sm-8">
+                    <input name="nativePlace" th:field="*{nativePlace}" class="form-control" type="text">
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">所属宫观名称:</label>
+                <div class="col-sm-8">
+                    <input name="orgName" th:field="*{orgName}" class="form-control" type="text">
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">所属宫观地址:</label>
+                <div class="col-sm-8">
+                    <textarea name="orgAddress" class="form-control">[[*{orgAddress}]]</textarea>
+                </div>
+            </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">状态:TO_CHECK待校核/CHECKED已校核/REPORTED已上报:</label>
+                <div class="col-sm-8">
+                    <div class="radio-box" th:each="dict : ${@dict.getType('religion_person_status')}">
+                        <input type="radio" th:id="${'status_' + dict.dictCode}" name="status" th:value="${dict.dictValue}" th:field="*{status}">
+                        <label th:for="${'status_' + dict.dictCode}" th:text="${dict.dictLabel}"></label>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </form>
+</div>
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: datetimepicker-js" />
+<script th:inline="javascript">
+    var prefix = ctx + "religion/religionPerson";
+    $("#form-religionPerson-edit").validate({
+        focusCleanup: true
+    });
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            $.operate.save(prefix + "/edit", $('#form-religionPerson-edit').serialize());
+        }
+    }
+
+    $("input[name='birthday']").datetimepicker({
+        format: "yyyy-mm-dd",
+        minView: "month",
+        autoclose: true
+    });
+
+    $("input[name='joinTime']").datetimepicker({
+        format: "yyyy-mm-dd",
+        minView: "month",
+        autoclose: true
+    });
+</script>
+</body>
+</html>

+ 213 - 0
ruoyi-admin/src/main/resources/templates/religion/religionPerson/religionPerson.html

@@ -0,0 +1,213 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <th:block th:include="include :: header('教职人员列表')" />
+</head>
+<body class="gray-bg">
+<div class="container-div">
+    <div class="row">
+        <div class="col-sm-12 search-collapse">
+            <form id="formId">
+                <div class="select-list">
+                    <ul>
+                        <li>
+                            <label>所属场所ID:</label>
+                            <input type="text" name="placeId"/>
+                        </li>
+                        <li>
+                            <label>姓名:</label>
+                            <input type="text" name="name"/>
+                        </li>
+                        <li>
+                            <label>性别:</label>
+                            <input type="text" name="gender"/>
+                        </li>
+                        <li>
+                            <label>身份证号:</label>
+                            <input type="text" name="idNumber"/>
+                        </li>
+                        <li>
+                            <label>出生日期:</label>
+                            <input type="text" class="time-input" placeholder="请选择出生日期" name="birthday"/>
+                        </li>
+                        <li>
+                            <label>所属区县:</label>
+                            <input type="text" name="county"/>
+                        </li>
+                        <li>
+                            <label>国民教育学历:</label>
+                            <input type="text" name="eduNational"/>
+                        </li>
+                        <li>
+                            <label>宗教学历:</label>
+                            <input type="text" name="eduReligious"/>
+                        </li>
+                        <li>
+                            <label>入教/出家时间:</label>
+                            <input type="text" class="time-input" placeholder="请选择入教/出家时间" name="joinTime"/>
+                        </li>
+                        <li>
+                            <label>联系电话:</label>
+                            <input type="text" name="phone"/>
+                        </li>
+                        <li>
+                            <label>户籍所在地:</label>
+                            <input type="text" name="domicile"/>
+                        </li>
+                        <li>
+                            <label>籍贯:</label>
+                            <input type="text" name="nativePlace"/>
+                        </li>
+                        <li>
+                            <label>所属宫观名称:</label>
+                            <input type="text" name="orgName"/>
+                        </li>
+                        <li>
+                            <label>状态:TO_CHECK待校核/CHECKED已校核/REPORTED已上报:</label>
+                            <select name="status" th:with="type=${@dict.getType('religion_person_status')}">
+                                <option value="">所有</option>
+                                <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
+                            </select>
+                        </li>
+                        <li>
+                            <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                            <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+                        </li>
+                    </ul>
+                </div>
+            </form>
+        </div>
+
+        <div class="btn-group-sm" id="toolbar" role="group">
+            <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="religion:religionPerson:add">
+                <i class="fa fa-plus"></i> 添加
+            </a>
+            <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="religion:religionPerson:edit">
+                <i class="fa fa-edit"></i> 修改
+            </a>
+            <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="religion:religionPerson:remove">
+                <i class="fa fa-remove"></i> 删除
+            </a>
+            <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="religion:religionPerson:export">
+                <i class="fa fa-download"></i> 导出
+            </a>
+        </div>
+        <div class="col-sm-12 select-table table-striped">
+            <table id="bootstrap-table"></table>
+        </div>
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+<script th:inline="javascript">
+    var editFlag = [[${@permission.hasPermi('religion:religionPerson:edit')}]];
+    var removeFlag = [[${@permission.hasPermi('religion:religionPerson:remove')}]];
+    var statusDatas = [[${@dict.getType('religion_person_status')}]];
+    var prefix = ctx + "religion/religionPerson";
+
+    $(function() {
+        var options = {
+            url: prefix + "/list",
+            createUrl: prefix + "/add",
+            updateUrl: prefix + "/edit/{id}",
+            removeUrl: prefix + "/remove",
+            exportUrl: prefix + "/export",
+            modalName: "教职人员",
+            columns: [{
+                checkbox: true
+            },
+                {
+                    field: 'personId',
+                    title: '人员ID',
+                    visible: false
+                },
+                {
+                    field: 'placeId',
+                    title: '所属场所ID'
+                },
+                {
+                    field: 'name',
+                    title: '姓名'
+                },
+                {
+                    field: 'religionType',
+                    title: '宗教类别'
+                },
+                {
+                    field: 'gender',
+                    title: '性别'
+                },
+                {
+                    field: 'idNumber',
+                    title: '身份证号'
+                },
+                {
+                    field: 'birthday',
+                    title: '出生日期'
+                },
+                {
+                    field: 'county',
+                    title: '所属区县'
+                },
+                {
+                    field: 'address',
+                    title: '家庭地址/联系地址'
+                },
+                {
+                    field: 'politicalStatus',
+                    title: '政治面貌'
+                },
+                {
+                    field: 'eduNational',
+                    title: '国民教育学历'
+                },
+                {
+                    field: 'eduReligious',
+                    title: '宗教学历'
+                },
+                {
+                    field: 'joinTime',
+                    title: '入教/出家时间'
+                },
+                {
+                    field: 'phone',
+                    title: '联系电话'
+                },
+                {
+                    field: 'domicile',
+                    title: '户籍所在地'
+                },
+                {
+                    field: 'nativePlace',
+                    title: '籍贯'
+                },
+                {
+                    field: 'orgName',
+                    title: '所属宫观名称'
+                },
+                {
+                    field: 'orgAddress',
+                    title: '所属宫观地址'
+                },
+                {
+                    field: 'status',
+                    title: '状态:TO_CHECK待校核/CHECKED已校核/REPORTED已上报',
+                    formatter: function(value, row, index) {
+                        return $.table.selectDictLabel(statusDatas, value);
+                    }
+                },
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        var actions = [];
+                        actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.personId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                        actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.personId + '\')"><i class="fa fa-remove"></i>删除</a>');
+                        return actions.join('');
+                    }
+                }]
+        };
+        $.table.init(options);
+    });
+</script>
+</body>
+</html>