wlcb-common-population/src/main/resources/static/route/basepopulationinfo/list-basepopulationinfo.html
java_cuibaocheng@163.com aa4c538d8a sync
2023-06-20 18:13:10 +08:00

532 lines
25 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en">
<head>
<base href="/populationhouse/">
<meta charset="utf-8">
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css"/>
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
</head>
<body>
<div class="layui-fluid layui-anim layui-anim-fadein">
<div class="layui-row layui-col-space5">
<div class="layui-col-md3 layui-col-sm3">
<div class="layui-card" id="left-card-div" style="">
<div class="layui-card-body">
<div style="padding: 10px 0px; border-bottom: 1px solid #DDDDDD;text-align: right">
<!--<button typeof="button" class="layui-btn layui-btn-normal layui-btn-sm">数据图表</button>-->
<button typeof="button" id="backToArea" class="layui-btn layui-btn-sm">返回上级</button>
</div>
<div>
<table class="layui-table">
<colgroup>
<col width="200">
<col width="150">
</colgroup>
<thead>
<tr>
<th style="text-align: center;">行政区域</th>
<th style="text-align: center;">人员数量</th>
</tr>
</thead>
<tbody id="areaUserCountBox"></tbody>
<script type="text/html" id="areaUserCountTemplate">
{{# for(var i = 0, item; item = d[i++];) { }}
<tr>
<td>
{{# if(item.hasSubArea == 'false'){ }}
<a href="javascript:void(0)" data-hansubarea="{{item.hasSubArea}}">{{item.areaName}}</a>
{{# } }}
{{# if(item.hasSubArea == 'true'){ }}
<a href="javascript:void(0)" class="change-area" style="color: #0a54a6;text-decoration: underline"
data-areaid="{{item.areaId}}" data-areacode="{{item.areaCode}}">{{item.areaName}}</a>
{{# } }}
</td>
<td style="text-align: center;">
{{# if(item.areaPeopleNum == '0'){ }}
<a href="javascript:void(0)">{{item.areaPeopleNum}} </a>
{{# } }}
{{# if(item.areaPeopleNum != '0'){ }}
<a href="javascript:void(0)" class="people-event" style="color: #0a54a6;text-decoration: underline"
data-areaid="{{item.areaId}}" data-areacode="{{item.areaCode}}">{{item.areaPeopleNum}} </a>
{{# } }}
</td>
</tr>
{{# } }}
</script>
</table>
</div>
</div>
</div>
</div>
<div class="layui-col-md9 layui-col-sm9">
<div class="layui-card">
<div class="layui-card-body">
<div class="test-table-reload-btn" style="margin-bottom: 10px;">
<div class="layui-inline">
<input type="text" id="fullName" class="layui-input " style="width: 120px" autocomplete="off" placeholder="姓名">
</div>
<div class="layui-inline">
<input type="text" id="idCardNumber" class="layui-input " style="width: 200px" autocomplete="off" placeholder="身份证号">
</div>
<div class="layui-inline">
<input type="text" id="telephone" class="layui-input" style="width: 150px" autocomplete="off" placeholder="手机号">
</div>
<div class="layui-inline layui-form" id="nationSelectTemplateBox" lay-filter="nationSelectTemplateBox">
<script id="nationSelectTemplate" type="text/html">
<select id="nation" name="nation" lay-search>
<option value="">请选择民族(支持搜索)</option>
{{# for(var i = 0, item; item = d[i++];) { }}
<option value="{{item.dataId}}">{{item.dataName}}</option>
{{# } }}
</select>
</script>
</div>
<div class="layui-inline layui-form" id="politicalStatusSelectTemplateBox" lay-filter="politicalStatusSelectTemplateBox">
<script id="politicalStatusSelectTemplate" type="text/html">
<select id="politicalStatus" name="politicalStatus" lay-search>
<option value="">请选择政治面貌(支持搜索)</option>
{{# for(var i = 0, item; item = d[i++];) { }}
<option value="{{item.dataId}}">{{item.dataName}}</option>
{{# } }}
</select>
</script>
</div>
<button type="button" id="search" class="layui-btn layui-btn-sm">
<i class="fa fa-lg fa-search"></i> 搜索
</button>
</div>
<table class="layui-hide" id="dataTable" lay-filter="dataTable"></table>
<!-- 表头按钮组 -->
<script type="text/html" id="headerToolBar">
<div class="layui-btn-group">
<button type="button" class="layui-btn layui-btn-sm" lay-event="saveEvent">
<i class="fa fa-lg fa-plus"></i>
</button>
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm" lay-event="updateEvent">
<i class="fa fa-lg fa-edit"></i>
</button>
<button type="button" class="layui-btn layui-btn-danger layui-btn-sm" lay-event="removeEvent">
<i class="fa fa-lg fa-trash"></i>
</button>
<button type="button" class="layui-btn layui-btn-sm" lay-event="excelEvent">
<i class="fa fa-lg fa-file-excel-o"></i> Excel
</button>
</div>
</script>
</div>
</div>
</div>
</div>
</div>
<script id="popIdCardNumberSearchBox-template" type="text/html">
<div style="height: 40px;">
<div style="margin: 20px 10px 0px 10px;">
<input type="text" id="idCardNumberSearchValue" class="layui-input" value="" autocomplete="off" placeholder="请输入身份证号进行查询">
</div>
</div>
</script>
<script src="assets/layuiadmin/layui/layui.js"></script>
<script src="assets/js/vendor/viewer/viewer.min.js"></script>
<script>
layui.config({
base: 'assets/layuiadmin/'
}).extend({
index: 'lib/index'
}).use(['index', 'table', 'laydate', 'common','laytpl', 'form'], function() {
var $ = layui.$;
var $win = $(window);
var table = layui.table;
var admin = layui.admin;
var laydate = layui.laydate;
var laytpl = layui.laytpl;
var form = layui.form;
var resizeTimeout = null;
var type = top.restAjax.params(window.location.href).type;
var tableUrl = 'api/basepopulationinfo/listpagebasepopulationinfo?type=' + type;
var idCardNumberSearchValue = "";
var areaParentId = [''];
var areaCode = '';
$('#left-card-div').height($win.height() - 30);
$('#left-card-div').css('overflow', 'auto');
function initData(){
initTable();
listAreaUserCounts();
initNationSelect();
initPoliticalStatusSelect();
}
initData();
function listAreaUserCounts(){
var loadIndex = layer.load(0,{shade : 0.3});
top.restAjax.get(top.restAjax.path('api/basepopulationinfo/list-area-user-counts?type=' + type, []), {areaParentId : areaParentId[areaParentId.length - 1]}, null, function (code, data) {
laytpl(document.getElementById('areaUserCountTemplate').innerHTML).render(data, function(html) {
document.getElementById('areaUserCountBox').innerHTML = html;
});
layer.close(loadIndex);
}, function (code, data) {
top.dialog.msg(data.msg);
});
}
// 绑定点击区域切换事件
$(document).on('click', '.change-area', function(){
areaParentId.push($(this).data().areaid);
areaCode = '';
listAreaUserCounts();
reloadTable(1);
});
// 点击人员查看人员列表
$(document).on('click', '.people-event', function(){
areaCode = $(this).data().areacode;
var gridId = "";
if (areaCode == 'gridId') {
gridId = $(this).data().areaid;
}
reloadTable(1, gridId);
});
// 返回上级
$(document).on('click', '#backToArea',function(){
if(areaParentId.length > 1){
areaParentId.splice(areaParentId.length - 1, 1);
}
areaCode = '';
listAreaUserCounts();
reloadTable(1);
});
// 初始化民族下拉选择
function initNationSelect() {
top.restAjax.get(top.restAjax.path('api/mongo/data/list/parent-id/a981579c-572b-4fd1-8e76-5d17df97f6a4', []), {}, null, function(code, data, args) {
laytpl(document.getElementById('nationSelectTemplate').innerHTML).render(data, function(html) {
document.getElementById('nationSelectTemplateBox').innerHTML = html;
});
form.render('select', 'nationSelectTemplateBox');
}, function(code, data) {
top.dialog.msg(data.msg);
});
}
// 初始化政治面貌下拉选择
function initPoliticalStatusSelect() {
top.restAjax.get(top.restAjax.path('api/mongo/data/list/parent-id/b2c96de0-3df8-41db-99b1-bc4e24ac6c24', []), {}, null, function(code, data, args) {
laytpl(document.getElementById('politicalStatusSelectTemplate').innerHTML).render(data, function(html) {
document.getElementById('politicalStatusSelectTemplateBox').innerHTML = html;
});
form.render('select', 'politicalStatusSelectTemplateBox');
}, function(code, data) {
top.dialog.msg(data.msg);
});
}
// 初始化表格
function initTable() {
table.render({
elem: '#dataTable',
id: 'dataTable',
url: top.restAjax.path(tableUrl, []),
where : {
areaParentId : areaParentId[areaParentId.length -1],
areaCode : areaCode,
},
width: admin.screen() > 1 ? '100%' : '',
height: $win.height() - 140,
limit: 20,
limits: [20, 40, 60, 80, 100, 200],
toolbar: '#headerToolBar',
request: {
pageName: 'page',
limitName: 'rows'
},
cols: [[
{type:'checkbox', fixed: 'left'},
{field:'rowNum', width:80, title: '序号', fixed: 'left', align:'center', templet: '<span>{{d.LAY_INDEX}}</span>'},
{field: 'fullName', width: 120, title: '姓名', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'genderDictionaryName', width: 120, title: '性别', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'idCardNumber', width: 180, title: '公民身份证号', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'telephone', width: 150, title: '联系方式', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'nationDictionaryName', width: 120, title: '民族', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'nativePlaceAddr', width: 150, title: '住址', align:'center',
templet: function(row) {
var rowData = row[this.field];
return rowData
}
},
{field: 'politicalStatusDictionaryName', width: 120, title: '政治面貌', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'occupationCategoryDictionaryName', width: 150, title: '职业', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(rowData === '' || typeof (rowData) === 'undefined'){
return row['occupation'];
}
return rowData + '-' + row['occupation'];
}
},
{field: 'currentResidenceAddr', width: 180, title: '现住地', align:'center',
templet: function(row) {
var rowData = row[this.field];
return rowData;
}
}
]],
page: true,
parseData: function(data) {
return {
'code': 0,
'msg': '',
'count': data.total,
'data': data.rows
};
}
});
}
// 重载表格
function reloadTable(currentPage, gridId) {
table.reload('dataTable', {
url: top.restAjax.path(tableUrl, []),
where: {
fullName: $('#fullName').val(),
idCardNumber: $('#idCardNumber').val(),
telephone: $('#telephone').val(),
areaParentId : areaParentId[areaParentId.length -1],
politicalStatus: $("#politicalStatus").val(),
nation: $("#nation").val(),
type: type,
areaCode : areaCode == "gridId" ? "" : areaCode,
gridId: gridId ? gridId : ""
},
page: {
curr: currentPage
},
height: $win.height() - 140,
});
listAreaUserCounts();
}
// 删除
function removeData(ids) {
top.dialog.msg(top.dataMessage.delete, {
time: 0,
btn: [top.dataMessage.button.yes, top.dataMessage.button.no],
shade: 0.3,
yes: function (index) {
top.dialog.close(index);
var layIndex;
top.restAjax.delete(top.restAjax.path('api/basepopulationinfo/removebasepopulationinfo/{ids}', [ids]), {}, null, function (code, data) {
top.dialog.msg(top.dataMessage.deleteSuccess, {time: 1000});
reloadTable();
}, function (code, data) {
top.dialog.msg(data.msg);
}, function () {
layIndex = top.dialog.msg(top.dataMessage.deleting, {icon: 16, time: 0, shade: 0.3});
}, function () {
top.dialog.close(layIndex);
});
}
});
}
// 事件 - 页面变化
$win.on('resize', function() {
clearTimeout(resizeTimeout);
resizeTimeout = setTimeout(function() {
reloadTable();
$('#left-card-div').height($win.height() - 30);
}, 500);
});
// 事件 - 搜索
$(document).on('click', '#search', function() {
reloadTable(1);
});
// 事件 - 增删改
table.on('toolbar(dataTable)', function(obj) {
var layEvent = obj.event;
var checkStatus = table.checkStatus('dataTable');
var checkDatas = checkStatus.data;
if(layEvent === 'saveEvent') {
popIdCardNumberSearchBox();
} else if(layEvent === 'updateEvent') {
if(checkDatas.length === 0) {
top.dialog.msg(top.dataMessage.table.selectEdit);
} else if(checkDatas.length > 1) {
top.dialog.msg(top.dataMessage.table.selectOneEdit);
} else {
layer.open({
type: 2,
title: false,
closeBtn: 0,
area: ['100%', '100%'],
shadeClose: true,
anim: 2,
content: top.restAjax.path('route/basepopulationinfo/update-basepopulationinfo.html?basePopulationInfoId={basePopulationInfoId}', [checkDatas[0].basePopulationInfoId]),
end: function() {
reloadTable();
}
});
}
} else if(layEvent === 'excelEvent') {
top.layer.open({
type: 2,
title: false,
closeBtn: 1,
area: ["1200px", "730px"],
shadeClose: true,
anim: 2,
content: top.restAjax.path('route/basepopulationinfo/importexcel', []),
end: function () {
reloadTable();
}, success: function () {
}
});
} else if(layEvent === 'removeEvent') {
if(checkDatas.length === 0) {
top.dialog.msg(top.dataMessage.table.selectDelete);
} else {
var ids = '';
for(var i = 0, item; item = checkDatas[i++];) {
if(i > 1) {
ids += '_';
}
ids += item['basePopulationInfoId'];
}
removeData(ids);
}
}
});
// 弹出身份证校验窗口
function popIdCardNumberSearchBox(){
var popIndex = layer.open({
type: 1
,title: '请先输入身份证号进行查询'
,closeBtn: 1
,area: '300px'
,offset: '250px'
,shade: 0.5
,id: 'popIdCardNumberSearchBox' //设定一个id防止重复弹出
,btn: ['查询']
,btnAlign: 'c'
,content: $('#popIdCardNumberSearchBox-template').html()
,yes: function(){
idCardNumberSearchValue = $('#idCardNumberSearchValue').val();
if(idCardNumberSearchValue == ''){
layer.msg("请输入身份证号进行查询!");
return;
}
getIdCardNumberVerify(idCardNumberSearchValue, popIndex);
}
});
}
function getIdCardNumberVerify(idCardNumber, popIndex) {
top.restAjax.get(top.restAjax.path('api/basepopulationinfo/get-idCardNumber-verify/{arg}', [idCardNumber]), {}, null, function (code, data) {
if (typeof (data) == "boolean" && data) {
layer.close(popIndex);
checkHasInfo()
} else {
layer.msg("请填写有效的身份证号码");
}
}, function (code, data) {
layer.msg("请填写有效的身份证号码");
});
}
function checkHasInfo(){
// 查询所输入身份证是否已有基本信息
top.restAjax.get(top.restAjax.path('api/basepopulationinfo/getbasepopulationinfo', []),
{idCardNumber : idCardNumberSearchValue}, null, function(code, data) {
if(typeof (data.basePopulationInfoId) === 'undefined' || data.basePopulationInfoId == ''){
top.layer.msg('未查询到基本信息,请先补充基本信息');
layer.open({
type: 2,
title: false,
closeBtn: 0,
area: ['100%', '100%'],
shadeClose: true,
anim: 2,
content: top.restAjax.path('route/basepopulationinfo/save-base-user-info.html?idCardNumber={arg}', [idCardNumberSearchValue]),
end: function() {
reloadTable();
}
});
} else {
layer.open({
type: 2,
title: false,
closeBtn: 0,
area: ['100%', '100%'],
shadeClose: true,
anim: 2,
content: top.restAjax.path('route/basepopulationinfo/update-basepopulationinfo.html?basePopulationInfoId={arg}', [data.basePopulationInfoId]),
end: function() {
reloadTable();
}
});
}
}, function(code, data) {
layer.msg(data.msg);
}
);
}
});
</script>
</body>
</html>