btxtgxq-system-population/src/main/resources/templates/populationinfo/list-bigdata.html

541 lines
25 KiB
HTML

<!doctype html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<base th:href="${#request.getContextPath() + '/'}">
<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">
<style>
.layui-form-select{
min-width:200px!important;
}
.layui-select-title{
min-width:200px!important;
}
.layui-select-title input{
min-width:200px!important;
}
#queryTab{
background-color: #FFFFFF;
}
</style>
</head>
<body>
<div class="layui-fluid layui-anim layui-anim-fadein">
<div class="layui-row layui-col-space10">
<div class="layui-col-xs2">
<div class="layui-card" id="queryTab">
<form class="layui-form layui-form-pane" lay-filter="dataForm">
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">人员所在街道</label>
<input type="hidden" id="creatorArea1" name="creatorArea1" class="layui-input" value="" maxlength="36">
<div class="layui-input-block layui-form layui-text" id="streetNameSelectTemplateBox" lay-filter="streetNameSelectTemplateBox"></div>
<script id="streetNameSelectTemplate" type="text/html">
<select id="street" name="street" lay-filter="street" lay-verify="required" lay-search>
<option value="">请选择街道</option>
{{# for(var i = 0, item; item = d.list[i++];) { }}
{{# if(d.jiedao == item.name){ }}
<option selected value="{{item.id}}">{{item.name}}</option>
{{# } else { }}
<option value="{{item.id}}">{{item.name}}</option>
{{# } }}
{{# } }}
</select>
</script>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">人员所在社区</label>
<input type="hidden" id="creatorArea2" name="creatorArea2" class="layui-input" value="" maxlength="36">
<div class="layui-input-block layui-form layui-text" id="communityNameSelectTemplateBox" lay-filter="communityNameSelectTemplateBox"></div>
<script id="communityNameSelectTemplate" type="text/html">
<select id="community" name="community" lay-filter="community" lay-verify="required" lay-search>
<option value="">请选择社区</option>
{{# for(var i = 0, item; item = d[i++];) { }}
<option value="{{item.communityId}}">{{item.communityName}}</option>
{{# } }}
</select>
</script>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">人员所在小区</label>
<div class="layui-input-block layui-form layui-text" id="residentialNameSelectTemplateBox" lay-filter="residentialNameSelectTemplateBox"></div>
<script id="residentialNameSelectTemplate" type="text/html">
<select id="residentialId" name="residentialId" lay-filter="residentialId" lay-verify="required" lay-search>
<option value="">请选择小区</option>
{{# for(var i = 0, item; item = d[i++];) { }}
<option value="{{item.residentialId}}">{{item.name}}</option>
{{# } }}
</select>
</script>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">人员所在楼/排</label>
<div class="layui-input-block layui-form layui-text" id="buildingNameSelectTemplateBox" lay-filter="buildingNameSelectTemplateBox"></div>
<script id="buildingNameSelectTemplate" type="text/html">
<select id="buildingId" name="buildingId" lay-filter="buildingId" lay-verify="required" lay-search>
<option value="">请选择楼/</option>
{{# for(var i = 0, item; item = d[i++];) { }}
<option value="{{item.buildingId}}">{{item.name}}</option>
{{# } }}
</select>
</script>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">人员所在房屋</label>
<div class="layui-input-block layui-form layui-text" id="houseNameSelectTemplateBox" lay-filter="houseNameSelectTemplateBox"></div>
<script id="houseNameSelectTemplate" type="text/html">
<select id="houseId" name="houseId" lay-filter="houseId" lay-verify="required" lay-search>
<option value="">请选择房屋</option>
{{# for(var i = 0, item; item = d[i++];) { }}
<option value="{{item.houseId}}">{{item.affiliationUnit}} / {{item.affiliationFloors}} / {{item.houseNum}}</option>
{{# } }}
</select>
</script>
</div>
</form>
</div>
</div>
<div class="layui-col-xs10">
<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="name" class="layui-input search-item" placeholder="请输入姓名">
</div>
<div class="layui-inline layui-form search-item" id="idcardTypeSelectTemplateBox" lay-filter="idcardTypeSelectTemplateBox"></div>
<div class="layui-inline">
<input type="text" id="idcard" class="layui-input search-item" placeholder="请输入证件号">
</div>
<button type="button" id="search" class="layui-btn layui-btn-sm">
<i class="fa fa-lg fa-search"></i> 搜索
</button>
<button type="button" id="clear-search" class="layui-btn layui-btn-sm">
<i class="fa fa-lg fa-close"></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-normal layui-btn-sm" lay-event="updateEvent">
<i class="fa fa-lg fa-edit"></i>
</button>
</div>
</script>
</div>
</div>
</div>
</div>
</div>
<script id="idcardTypeSelectTemplate" type="text/html" lay-search>
<select id="idcardType" name="idcardType">
<option value="">请选择证件类型</option>
{{# for(var i = 0, item; item = d[i++];) { }}
<option value="{{item.dictionaryName}}">{{item.dictionaryName}}</option>
{{# } }}
</select>
</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', 'form', 'laytpl', 'laydate', 'common'], function() {
var $ = layui.$;
var $win = $(window);
var table = layui.table;
var admin = layui.admin;
var laydate = layui.laydate;
var form = layui.form;
var laytpl = layui.laytpl;
var common = layui.common;
var resizeTimeout = null;
var tableUrl = 'api/populationinfo/listpage?[[${params}]]';
$("#queryTab").height($win.height() - 30);
// 初始化街道下拉选择
var jiedao = "[[${jiedao}]]";
initStreetNameSelect();
initResidentialNameSelect('9999', '9999');
initBuildingNameSelect("9999");
initHouseNameSelect("9999");
// 初始化街道下拉选择
function initStreetNameSelect() {
$.ajax({
url: 'api/residential/getStreetList',
type: 'get',
dataType: 'json',
success: function (data) {
laytpl(document.getElementById('streetNameSelectTemplate').innerHTML).render({jiedao: jiedao , list: data}, function(html) {
document.getElementById('streetNameSelectTemplateBox').innerHTML = html;
});
form.render('select', 'streetNameSelectTemplateBox');
if (jiedao) {
$("#creatorArea1").val(jiedao);
initCommunityNameSelect($("#street").val());
}else{
initCommunityNameSelect('9999');
}
}
});
}
// 初始化街道变化
form.on('select(street)', function(data){
var selectedText = data.elem[data.elem.selectedIndex].text;
$("#creatorArea1").val(selectedText);
if(data.value) {
initCommunityNameSelect(data.value);
}else {
initCommunityNameSelect('9999');
}
});
// 初始化社区变化
form.on('select(community)', function(data){
var streetValue = $("#street").val();
var selectedText = data.elem[data.elem.selectedIndex].text;
$("#creatorArea2").val(selectedText);
if(data.value) {
initResidentialNameSelect(streetValue, data.value);
}else {
initResidentialNameSelect(streetValue, '');
}
});
// 初始化社区下拉选择
function initCommunityNameSelect(areaId) {
$.ajax({
url: 'api/residential/getCommunityList?areaId=' + areaId,
type: 'get',
dataType: 'json',
success: function (data) {
laytpl(document.getElementById('communityNameSelectTemplate').innerHTML).render(data, function(html) {
document.getElementById('communityNameSelectTemplateBox').innerHTML = html;
});
form.render('select', 'communityNameSelectTemplateBox');
initResidentialNameSelect('9999', '9999');
initBuildingNameSelect("9999");
initHouseNameSelect("9999");
}
});
}
// 初始化小区变化
form.on('select(residentialId)', function(data){
if(data.value) {
initBuildingNameSelect(data.value);
}else {
initBuildingNameSelect('9999');
}
});
// 初始化小区下拉选择
function initResidentialNameSelect(street, community) {
$.ajax({
url: 'api/residential/list?street=' + street + '&community=' + community,
type: 'get',
dataType: 'json',
success: function (data) {
laytpl(document.getElementById('residentialNameSelectTemplate').innerHTML).render(data, function(html) {
document.getElementById('residentialNameSelectTemplateBox').innerHTML = html;
});
form.render('select', 'residentialNameSelectTemplateBox');
initBuildingNameSelect("9999");
initHouseNameSelect("9999");
}
});
}
// 初始化楼栋变化
form.on('select(buildingId)', function(data){
if(data.value) {
initHouseNameSelect(data.value);
}else {
initHouseNameSelect('9999');
}
});
// 初始化楼/排下拉选择
function initBuildingNameSelect(residentialId) {
$.ajax({
url: 'api/building/list?residentialId=' + residentialId,
type: 'get',
dataType: 'json',
success: function (data) {
if(data.length < 1 && residentialId != 9999) {
layer.msg("该小区暂无录入楼/排");
}
laytpl(document.getElementById('buildingNameSelectTemplate').innerHTML).render(data, function(html) {
document.getElementById('buildingNameSelectTemplateBox').innerHTML = html;
});
form.render('select', 'buildingNameSelectTemplateBox');
initHouseNameSelect("9999");
}
});
}
// 初始化房屋下拉选择
function initHouseNameSelect(buildingId) {
$.ajax({
url: 'api/house/list?buildingId=' + buildingId,
type: 'get',
dataType: 'json',
success: function (data) {
if(data.length < 1 && buildingId != 9999) {
layer.msg("该楼/排暂无录入房屋");
}
laytpl(document.getElementById('houseNameSelectTemplate').innerHTML).render(data, function(html) {
document.getElementById('houseNameSelectTemplateBox').innerHTML = html;
});
form.render('select', 'houseNameSelectTemplateBox');
}
});
}
// 初始化证件类型下拉选择
function initIdcardTypeSelect() {
$.ajax({
url: 'api/datadictionary/listdictionarybyparentid/76c5044f-805a-4313-b1e8-79e966b97c0d',
type: 'get',
dataType: 'json',
success: function (data) {
laytpl(document.getElementById('idcardTypeSelectTemplate').innerHTML).render(data, function(html) {
document.getElementById('idcardTypeSelectTemplateBox').innerHTML = html;
});
form.render('select', 'idcardTypeSelectTemplateBox');
}
});
}
initIdcardTypeSelect();
// 初始化表格
function initTable() {
table.render({
elem: '#dataTable',
id: 'dataTable',
url: tableUrl,
width: admin.screen() > 1 ? '100%' : '',
height: $win.height() - 90,
defaultToolbar: [],
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: 'name', width: 130, title: '姓名', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'idcardType', width: 130, title: '证件类型', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'idcard', width: 180, title: '证件号码', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'birthday', width: 130, title: '出生日期', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'sex', width: 130, title: '性别', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'nation', width: 130, title: '民族', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'label', width: 380, title: '标签', align:'center',
templet: function(row) {
var rowData = row['labelList'];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
var b = "";
for(var i = 0 ; i < rowData.length; i++) {
b = b + '<button type="button" class="layui-btn layui-btn-xs" style="background-color: ' + rowData[i].color + ';">' + rowData[i].name + '</button>';
}
return b;
}
},
{field: 'creatorName', width: 120, title: '当前认领人', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
}
]
],
page: true,
parseData: function(data) {
return {
'code': 0,
'msg': '',
'count': data.total,
'data': data.rows
};
}
});
}
// 重载表格
function reloadTable(currentPage) {
var data = getParams();
table.reload('dataTable', {
url: tableUrl,
where: data,
page: {
curr: currentPage
},
height: $win.height() - 90,
});
}
function getParams() {
var dataParams = {
name: $('#name').val(),
idcardType: $('#idcardType').val(),
idcard: $('#idcard').val(),
creatorArea1: "",
creatorArea2: "",
residentialId: "",
buildingId: "",
houseId:""
};
if ($("#creatorArea1").val() == undefined || $("#creatorArea1").val() == "" || $("#creatorArea1").val() == "请选择街道" ) {
return dataParams;
}else{
dataParams.creatorArea1 = $("#creatorArea1").val();
}
if ($("#creatorArea2").val() == undefined || $("#creatorArea2").val() == "" || $("#creatorArea2").val() == "请选择社区" ) {
return dataParams;
}else{
dataParams.creatorArea2 = $("#creatorArea2").val();
}
if ($("#residentialId").val() == undefined || $("#residentialId").val() == "" || $("#creatorArea2").val() == "请选择小区" ) {
return dataParams;
}else{
dataParams.residentialId = $("#residentialId").val();
}
if ($("#buildingId").val() == undefined || $("#buildingId").val() == "" || $("#creatorArea2").val() == "请选择楼/排" ) {
return dataParams;
}else{
dataParams.residentialId = "";
dataParams.buildingId = $("#buildingId").val();
}
if ($("#houseId").val() == undefined || $("#houseId").val() == "" || $("#creatorArea2").val() == "请选择房屋" ) {
return dataParams;
}else{
dataParams.residentialId = "";
dataParams.buildingId = "";
dataParams.houseId = $("#houseId").val();
}
return dataParams;
}
initTable();
// 事件 - 页面变化
$win.on('resize', function() {
clearTimeout(resizeTimeout);
resizeTimeout = setTimeout(function() {
reloadTable();
}, 500);
});
// 事件 - 搜索
$(document).on('click', '#search', function() {
reloadTable(1);
});
$(document).on('click', '#clear-search', function() {
initStreetNameSelect("9999");
$("#creatorArea1").val("");
$("#creatorArea2").val("");
$("#residential").val("");
$("#building").val("");
$("#house").val("");
$('#name').val("");
$('#idcard').val("");
initIdcardTypeSelect();
$('#idcardType').val("");
reloadTable(1);
});
// 事件 - 增删改
table.on('toolbar(dataTable)', function(obj) {
var layEvent = obj.event;
var checkStatus = table.checkStatus('dataTable');
var checkDatas = checkStatus.data;
if(layEvent === 'updateEvent') {
if(checkDatas.length === 0) {
layer.msg("至少选择一个人员");
} else if(checkDatas.length > 1) {
layer.msg("只能选择一个人员");
} else {
layer.open({
type: 2,
title: '个人信息卡片',
closeBtn: 1,
area: ['80%', '80%'],
shadeClose: false,
anim: 2,
content: 'pages/housepopulation/index.html#/population-info?populationInfoId=' + checkDatas[0].populationInfoId,
end: function() {
reloadTable();
}
});
}
}
});
});
</script>
</body>
</html>