| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532 |
- <!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>宗教类别:</label>
- <select name="religionType" th:with="type=${@dict.getType('religion_type')}">
- <option value="">所有</option>
- <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
- </select>
- </li>
- <li>
- <label>所属场所:</label>
- <select id="placeId" name="placeId" class="form-control">
- <option value="">所有场所</option>
- <option th:each="place : ${placeList}" th:value="${place.placeId}" th:text="${place.placeName}"></option>
- </select>
- </li>
- <li>
- <label>姓名:</label>
- <input type="text" name="name" placeholder="请输入姓名"/>
- </li>
- <li>
- <label>身份证号:</label>
- <input type="text" name="idNumber" placeholder="请输入身份证号"/>
- </li>
- <li>
- <label>状态:</label>
- <select name="status">
- <option value="TO_CHECK" selected>待校核</option>
- <option value="CHECKED">已校核待上报</option>
- </select>
- </li>
- <li>
- <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a>
- <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i> 重置</a>
- </li>
- </ul>
- </div>
- </form>
- </div>
- <div class="btn-group-sm" id="toolbar" role="group">
- <a class="btn btn-success multiple disabled" onclick="batchPass()" shiro:hasPermission="religion:religionPerson:check">
- <i class="fa fa-check"></i> 批量通过校核
- </a>
- </div>
-
- <div class="col-sm-12 select-table table-striped">
- <table id="bootstrap-table"></table>
- </div>
- </div>
- </div>
- <!-- 单条校核弹框 -->
- <div class="modal fade" id="checkModal" tabindex="-1" role="dialog" aria-hidden="true">
- <div class="modal-dialog" style="width: 900px;">
- <div class="modal-content">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
- <h4 class="modal-title">教职人员校核</h4>
- </div>
- <div class="modal-body" style="max-height: 600px; overflow-y: auto;">
- <!-- 人员详情 -->
- <div class="panel panel-info">
- <div class="panel-heading">
- <h3 class="panel-title"><i class="fa fa-user"></i> 人员详情</h3>
- </div>
- <div class="panel-body">
- <form class="form-horizontal">
- <div class="row">
- <div class="col-sm-6">
- <div class="form-group">
- <label class="col-sm-5 control-label text-right">姓名:</label>
- <div class="col-sm-7">
- <p class="form-control-static" id="detail_name"></p>
- </div>
- </div>
- </div>
- <div class="col-sm-6">
- <div class="form-group">
- <label class="col-sm-5 control-label text-right">性别:</label>
- <div class="col-sm-7">
- <p class="form-control-static" id="detail_gender"></p>
- </div>
- </div>
- </div>
- </div>
- <div class="row">
- <div class="col-sm-6">
- <div class="form-group">
- <label class="col-sm-5 control-label text-right">民族:</label>
- <div class="col-sm-7">
- <p class="form-control-static" id="detail_nation"></p>
- </div>
- </div>
- </div>
- <div class="col-sm-6">
- <div class="form-group">
- <label class="col-sm-5 control-label text-right">宗教类别:</label>
- <div class="col-sm-7">
- <p class="form-control-static" id="detail_religionType"></p>
- </div>
- </div>
- </div>
- </div>
- <div class="row">
- <div class="col-sm-6">
- <div class="form-group">
- <label class="col-sm-5 control-label text-right">身份证号:</label>
- <div class="col-sm-7">
- <p class="form-control-static" id="detail_idNumber"></p>
- </div>
- </div>
- </div>
- <div class="col-sm-6">
- <!-- 空列,保持布局对称 -->
- </div>
- </div>
- <div class="row">
- <div class="col-sm-6">
- <div class="form-group">
- <label class="col-sm-5 control-label text-right">所属场所:</label>
- <div class="col-sm-7">
- <p class="form-control-static" id="detail_placeName"></p>
- </div>
- </div>
- </div>
- <div class="col-sm-6">
- <div class="form-group">
- <label class="col-sm-5 control-label text-right">所属区县:</label>
- <div class="col-sm-7">
- <p class="form-control-static" id="detail_county"></p>
- </div>
- </div>
- </div>
- </div>
- <div class="row">
- <div class="col-sm-6">
- <div class="form-group">
- <label class="col-sm-5 control-label text-right">政治面貌:</label>
- <div class="col-sm-7">
- <p class="form-control-static" id="detail_politicalStatus"></p>
- </div>
- </div>
- </div>
- <div class="col-sm-6">
- <div class="form-group">
- <label class="col-sm-5 control-label text-right">联系电话:</label>
- <div class="col-sm-7">
- <p class="form-control-static" id="detail_phone"></p>
- </div>
- </div>
- </div>
- </div>
- <div class="row">
- <div class="col-sm-6">
- <div class="form-group">
- <label class="col-sm-5 control-label text-right">国民教育学历:</label>
- <div class="col-sm-7">
- <p class="form-control-static" id="detail_eduNational"></p>
- </div>
- </div>
- </div>
- <div class="col-sm-6">
- <div class="form-group">
- <label class="col-sm-5 control-label text-right">宗教学历:</label>
- <div class="col-sm-7">
- <p class="form-control-static" id="detail_eduReligious"></p>
- </div>
- </div>
- </div>
- </div>
- <div class="row">
- <div class="col-sm-6">
- <div class="form-group">
- <label class="col-sm-5 control-label text-right">家庭地址:</label>
- <div class="col-sm-7">
- <p class="form-control-static" id="detail_address"></p>
- </div>
- </div>
- </div>
- <div class="col-sm-6">
- <!-- 空列,保持布局对称 -->
- </div>
- </div>
- <div class="row">
- <div class="col-sm-6">
- <div class="form-group">
- <label class="col-sm-5 control-label text-right">户籍所在地:</label>
- <div class="col-sm-7">
- <p class="form-control-static" id="detail_domicile"></p>
- </div>
- </div>
- </div>
- <div class="col-sm-6">
- <div class="form-group">
- <label class="col-sm-5 control-label text-right">籍贯:</label>
- <div class="col-sm-7">
- <p class="form-control-static" id="detail_nativePlace"></p>
- </div>
- </div>
- </div>
- </div>
- </form>
- </div>
- </div>
- <!-- 校核操作区 -->
- <div class="panel panel-warning">
- <div class="panel-heading">
- <h3 class="panel-title"><i class="fa fa-check-square-o"></i> 校核操作</h3>
- </div>
- <div class="panel-body">
- <form class="form-horizontal">
- <div class="row">
- <div class="col-sm-6">
- <div class="form-group">
- <label class="col-sm-5 control-label text-right">校核结果:</label>
- <div class="col-sm-7">
- <label class="radio-inline">
- <input type="radio" name="checkAction" value="PASS" checked> 通过
- </label>
- <label class="radio-inline">
- <input type="radio" name="checkAction" value="REJECT"> 驳回
- </label>
- </div>
- </div>
- </div>
- <div class="col-sm-6">
- <!-- 空列,保持布局对称 -->
- </div>
- </div>
- <div class="row">
- <div class="col-sm-12">
- <div class="form-group">
- <label class="col-sm-2 control-label text-right" style="padding-left: 15px;">校核意见:</label>
- <div class="col-sm-10">
- <textarea id="checkComment" class="form-control" rows="3" placeholder="请输入校核意见(驳回时必填)"></textarea>
- </div>
- </div>
- </div>
- </div>
- </form>
- </div>
- </div>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
- <button type="button" class="btn btn-primary" onclick="submitCheck()">提交</button>
- </div>
- </div>
- </div>
- </div>
- <th:block th:include="include :: footer" />
- <script th:inline="javascript">
- var prefix = ctx + "religion/person/check";
- var checkFlag = [[${@permission.hasPermi('religion:religionPerson:check')}]];
- var currentPersonId = null;
- $(function() {
- var options = {
- url: prefix + "/list",
- createUrl: prefix + "/add",
- updateUrl: prefix + "/edit/{id}",
- removeUrl: prefix + "/remove",
- exportUrl: prefix + "/export",
- modalName: "教职人员",
- uniqueId: "personId",
- showColumns: true,
- showRefresh: true,
- showToggle: true,
- columns: [{
- checkbox: true
- },
- {
- field: 'personId',
- title: '人员ID',
- visible: false
- },
- {
- field: 'name',
- title: '姓名',
- sortable: true
- },
- {
- field: 'gender',
- title: '性别',
- sortable: true,
- visible: false
- },
- {
- field: 'nation',
- title: '民族',
- sortable: true,
- visible: false
- },
- {
- field: 'religionType',
- title: '宗教类别',
- sortable: true
- },
- {
- field: 'idNumber',
- title: '身份证号',
- sortable: true
- },
- {
- field: 'county',
- title: '所属区县',
- sortable: true
- },
- {
- field: 'placeName',
- title: '所属场所',
- sortable: true
- },
- {
- field: 'address',
- title: '家庭地址',
- visible: false
- },
- {
- field: 'politicalStatus',
- title: '政治面貌',
- visible: false
- },
- {
- field: 'eduNational',
- title: '国民教育学历',
- visible: false
- },
- {
- field: 'eduReligious',
- title: '宗教学历',
- visible: false
- },
- {
- field: 'joinTime',
- title: '入教时间',
- visible: false
- },
- {
- field: 'phone',
- title: '联系电话',
- visible: false
- },
- {
- field: 'domicile',
- title: '户籍所在地',
- visible: false
- },
- {
- field: 'nativePlace',
- title: '籍贯',
- visible: false
- },
- {
- field: 'status',
- title: '状态',
- sortable: true,
- formatter: function(value, row, index) {
- if (value == 'TO_CHECK') {
- return '<span class="badge badge-warning">待校核</span>';
- } else if (value == 'CHECKED') {
- return '<span class="badge badge-success">已校核待上报</span>';
- } else if (value == 'REPORTED') {
- return '<span class="badge badge-info">已上报</span>';
- }
- return value;
- }
- },
- {
- field: 'countyCheckBy',
- title: '校核人',
- sortable: true,
- visible: false
- },
- {
- field: 'countyCheckTime',
- title: '校核时间',
- sortable: true,
- visible: false
- },
- {
- title: '操作',
- align: 'center',
- formatter: function(value, row, index) {
- var actions = [];
- if (row.status == 'TO_CHECK') {
- actions.push('<a class="btn btn-primary btn-xs ' + checkFlag + '" href="javascript:void(0)" onclick="openCheckModal(\'' + row.personId + '\')"><i class="fa fa-check-square-o"></i>校核</a> ');
- }
- return actions.join('');
- }
- }]
- };
- $.table.init(options);
- });
- /* 打开校核弹框 */
- function openCheckModal(personId) {
- currentPersonId = personId;
-
- // 从表格中获取所有数据,查找对应的行
- var tableData = $("#bootstrap-table").bootstrapTable('getData');
- var row = null;
- for (var i = 0; i < tableData.length; i++) {
- if (tableData[i].personId == personId) {
- row = tableData[i];
- break;
- }
- }
-
- if (row) {
- // 填充详情
- $("#detail_name").text(row.name || '-');
- $("#detail_gender").text(row.gender || '-');
- $("#detail_nation").text(row.nation || '-');
- $("#detail_religionType").text(row.religionType || '-');
- $("#detail_idNumber").text(row.idNumber || '-');
- $("#detail_placeName").text(row.placeName || '-');
- $("#detail_county").text(row.county || '-');
- $("#detail_politicalStatus").text(row.politicalStatus || '-');
- $("#detail_phone").text(row.phone || '-');
- $("#detail_eduNational").text(row.eduNational || '-');
- $("#detail_eduReligious").text(row.eduReligious || '-');
- $("#detail_address").text(row.address || '-');
- $("#detail_domicile").text(row.domicile || '-');
- $("#detail_nativePlace").text(row.nativePlace || '-');
-
- // 重置校核表单
- $("input[name='checkAction'][value='PASS']").prop('checked', true);
- $("#checkComment").val('');
-
- // 打开弹框
- $("#checkModal").modal('show');
- } else {
- $.modal.alertWarning("未找到该人员信息");
- }
- }
- /* 提交校核 */
- function submitCheck() {
- var action = $("input[name='checkAction']:checked").val();
- var comment = $("#checkComment").val().trim();
-
- // 如果是驳回,校核意见必填
- if (action == 'REJECT' && comment == '') {
- $.modal.alertWarning("驳回时必须填写驳回原因");
- return;
- }
-
- var url = action == 'PASS' ? prefix + "/pass" : prefix + "/reject";
- var data = {
- personId: currentPersonId,
- comment: comment
- };
-
- // 先关闭对话框,再显示 loading
- $("#checkModal").modal('hide');
- $.modal.loading("正在提交...");
-
- $.ajax({
- type: "POST",
- url: url,
- contentType: "application/json",
- data: JSON.stringify(data),
- success: function(result) {
- $.modal.closeLoading();
- if (result.code == web_status.SUCCESS) {
- $.modal.msgSuccess(result.msg);
- $.table.refresh();
- } else {
- $.modal.alertError(result.msg);
- }
- },
- error: function() {
- $.modal.closeLoading();
- $.modal.alertError("操作失败");
- }
- });
- }
- /* 批量通过校核 */
- function batchPass() {
- var rows = $.table.selectColumns("personId");
- if (rows.length == 0) {
- $.modal.alertWarning("请至少选择一条记录");
- return;
- }
-
- $.modal.confirm("确定对选中的 " + rows.length + " 条记录执行通过区县校核?", function() {
- var data = {
- personIds: rows.join(","),
- comment: "" // 可选,可以弹出输入框让用户填写统一备注
- };
-
- $.modal.loading("正在处理...");
- $.ajax({
- type: "POST",
- url: prefix + "/batchPass",
- contentType: "application/json",
- data: JSON.stringify(data),
- success: function(result) {
- $.modal.closeLoading();
- if (result.code == web_status.SUCCESS) {
- $.modal.msgSuccess(result.msg);
- $.table.refresh();
- } else {
- $.modal.alertError(result.msg);
- }
- },
- error: function() {
- $.modal.closeLoading();
- $.modal.alertError("操作失败");
- }
- });
- });
- }
- </script>
- </body>
- </html>
|