<!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">
    <link rel="stylesheet" type="text/css" href="assets/js/vendor/viewer/viewer.min.css">
    <link rel="stylesheet" href="http://cdn.bootcss.com/leaflet/1.0.3/leaflet.css">
    <link rel="stylesheet" href="assets/superMap/js/geoman/leaflet-geoman.css">
</head>
<body>
<div class="layui-fluid layui-anim layui-anim-fadein">
    <div class="layui-card">
        <div class="layui-card-header">
            <span class="layui-breadcrumb" lay-filter="breadcrumb" style="visibility: visible;">
              <a class="close" href="javascript:void(0);">上级列表</a><span lay-separator="">/</span>
              <a href="javascript:void(0);"><cite>编辑内容</cite></a>
            </span>
        </div>
        <div class="layui-card-body" style="padding: 15px;">
            <form class="layui-form layui-form-pane" lay-filter="dataForm">
                <input type="hidden" id="baseId" name="baseId" class="layui-input" value="" placeholder="请输入基础人员信息表ID"  maxlength="36">
                <div class="layui-row">
                    <div class="layui-col-md3">
                        <div class="layui-form-item">
                            <label class="layui-form-label">身份证</label>
                            <div class="layui-input-block">
                                <input type="text" id="idCardNumber" name="idCardNumber" class="layui-input" value="" placeholder="请输入公民身份证进行检索">
                            </div>
                        </div>
                    </div>
                    <div class="layui-col-md3">
                        <div style="margin: 4px 4px;">
                            <button type="button" id="search" class="layui-btn layui-btn-sm">
                                <i class="fa fa-lg fa-search"></i> 搜索
                            </button>
                        </div>
                    </div>
                </div>
                <div class="div-base-population-info" style="display: none">
                    <blockquote class="layui-elem-quote">人员基础信息</blockquote>
                    <div class="layui-row">
                        <div class="layui-col-md3">
                            <div class="layui-form-item">
                                <label class="layui-form-label">姓名</label>
                                <div class="layui-input-block">
                                    <input type="text" id="fullName" name="fullName" class="layui-input" value="" readonly="readonly">
                                    <input type="hidden" id="nameUsedBefore" name="nameUsedBefore" class="layui-input" value="" readonly="readonly">
                                    <input type="hidden" id="cardNum" name="cardNum" class="layui-input" value="" readonly="readonly">
                                </div>
                            </div>
                        </div>
                        <div class="layui-col-md3">
                            <div class="layui-form-item">
                                <label class="layui-form-label">性别</label>
                                <div class="layui-input-block">
                                    <input type="text" id="gender" name="gender" class="layui-input" value="" readonly="readonly">
                                </div>
                            </div>
                        </div>
                        <div class="layui-col-md3">
                            <div class="layui-form-item">
                                <label class="layui-form-label">联系方式</label>
                                <div class="layui-input-block">
                                    <input type="text" id="telephone" name="telephone" class="layui-input" value="" readonly="readonly">
                                </div>
                            </div>
                        </div>
                        <div class="layui-col-md3">
                            <div class="layui-form-item">
                                <label class="layui-form-label">籍贯</label>
                                <div class="layui-input-block">
                                    <input type="text" id="nativePlace" name="nativePlace" class="layui-input" value="" readonly="readonly">
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="layui-row">
                        <div class="layui-col-md12">
                            <div class="layui-form-item">
                                <label class="layui-form-label">现住地</label>
                                <div class="layui-input-block">
                                    <input type="text" id="currentResidence" name="currentResidence" class="layui-input" value="" readonly="readonly">
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="layui-form-item" id="schoolDiv">
                    <label class="layui-form-label">学校<span style="color: red;vertical-align: middle;">*</span></label>
                    <div class="layui-input-block layui-form" id="schoolIdSelectTemplateBox" lay-filter="schoolIdSelectTemplateBox"></div>
                    <script id="schoolIdSelectTemplate" type="text/html">
                        <select id="schoolId" name="schoolId" lay-filter="schoolId" lay-verify="required" lay-search>
                            <option value="">请选择学校</option>
                            {{# for(var i = 0, item; item = d[i++];) { }}
                            <option value="{{item.schoolId}}">{{item.schoolName}}</option>
                            {{# } }}
                        </select>
                    </script>
                </div>
                <div class="layui-form-item layui-row">
                    <div class="layui-col-lg6">
                        <label class="layui-form-label">所在地<span style="color: red;vertical-align: middle;">*</span></label>
                        <input type="hidden" id="locationId" name="locationId" class="layui-input" value="" placeholder="请输入一级区域ID"  maxlength="36">
                        <input type="hidden" id="locationCode" name="locationCode" class="layui-input" value="" placeholder="请输入一级区域名称"  maxlength="255">
                        <div class="layui-input-block">
                            <input type="text" id="location" name="location" class="layui-input" value="" placeholder="点击选择所在地"  maxlength="11" lay-verify="required">
                        </div>
                    </div>
                    <div class="layui-col-lg6">
                        <label class="layui-form-label">所属网格<span style="color: red;vertical-align: middle;">*</span></label>
                        <div class="layui-input-block layui-form" id="gridSelectTemplateBox" lay-filter="gridSelectTemplateBox"></div>
                        <script id="gridSelectTemplate" type="text/html">
                            <select id="grid" name="grid" lay-filter="grid" lay-verify="required" lay-search>
                                <option value="">请选择网格</option>
                                {{# for(var i = 0, item; item = d[i++];) { }}
                                <option value="{{item.gridId}}">{{item.gridName}}</option>
                                {{# } }}
                            </select>
                        </script>
                    </div>
                </div>
                <div class="layui-form-item">
                    <input type="hidden" id="degreeOfHarmName" name="degreeOfHarmName" class="layui-input" value="" placeholder="请输入危害程度名称"  maxlength="20">
                    <input type="hidden" id="degreeOfHarmCode" name="degreeOfHarmCode" class="layui-input" value="" placeholder="请输入危害程度编码"  maxlength="2">
                    <label class="layui-form-label">危害程度<span style="color: red;vertical-align: middle;">*</span></label>
                    <div class="layui-input-block layui-form" id="degreeOfHarmSelectTemplateBox" lay-filter="degreeOfHarmSelectTemplateBox"></div>
                    <script id="degreeOfHarmSelectTemplate" type="text/html">
                        <select id="degreeOfHarm" name="degreeOfHarm" lay-filter="degreeOfHarm" lay-verify="required" lay-search>
                            <option value="">请选择危害程度</option>
                            {{# for(var i = 0, item; item = d[i++];) { }}
                            <option value="{{item.dataId}},{{item.dataSummary}}">{{item.dataName}}</option>
                            {{# } }}
                        </select>
                    </script>
                </div>
                <div class="layui-form-item" pane>
                    <label class="layui-form-label">是否关注<span style="color: red;vertical-align: middle;">*</span></label>
                    <div class="layui-input-block">
                        <input type="radio" name="isFollow" lay-filter="isFollow" value="1" title="是" checked>
                        <input type="radio" name="isFollow" lay-filter="isFollow" value="0" title="否">
                    </div>
                </div>
                <div class="layui-form-item layui-row">
                    <div class="layui-col-lg6">
                        <label class="layui-form-label">经度</label>
                        <div class="layui-input-block">
                            <input type="number" step="0.01" id="longitude" name="longitude" class="layui-input" value="" placeholder="请输入经度">
                        </div>
                    </div>
                    <div class="layui-col-lg6">
                        <label class="layui-form-label">纬度</label>
                        <div class="layui-input-block">
                            <input type="number" step="0.01" id="latitude" name="latitude" class="layui-input" value="" placeholder="请输入纬度">
                        </div>
                    </div>
                </div>
                <div class="layui-row" id="mapDiv">
                    <div class="layui-col-md12 layui-col-sm12" style="padding: 0 0px;">
                        <div id="mapContainer" style="width: 100%;height: 350px;"></div>
                    </div>
                </div>
                <div class="layui-form-item layui-layout-admin">
                    <div class="layui-input-block">
                        <div class="layui-footer" style="left: 0;">
                            <button type="button" class="layui-btn" lay-submit lay-filter="submitForm">提交新增</button>
                            <button type="button" class="layui-btn layui-btn-primary close">返回上级</button>
                        </div>
                    </div>
                </div>
            </form>
        </div>
    </div>
</div>
<script src="assets/js/vendor/wangEditor/wangEditor.min.js"></script>
<script src="assets/js/vendor/ckplayer/ckplayer/ckplayer.js"></script>
<script src="http://cdn.bootcss.com/leaflet/1.0.3/leaflet.js"></script>
<script src="assets/superMap/js/iclient-leaflet.min.js"></script>
<script src="assets/superMap/js/geoman/leaflet-geoman.min.js"></script>
<script src="assets/js/vendor/viewer/viewer.min.js"></script>
<script src="assets/layuiadmin/layui/layui.js"></script>
<script>
    layui.config({
        base: 'assets/layuiadmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index' //主入口模块
    }).use(['index', 'form', 'laydate', 'laytpl'], function(){
        var $ = layui.$;
        var form = layui.form;
        var laytpl = layui.laytpl;
        var laydate = layui.laydate;
        var schoolKeyId = top.restAjax.params(window.location.href).schoolKeyId;
        var isView = top.restAjax.params(window.location.href).isView;

        var wangEditor = window.wangEditor;
        var wangEditorObj = {};
        var viewerObj = {};var map;
        var marker;

        function initMap(longitude, latitude) {
            var url1 = 'https://iserver.supermap.io/iserver/services/map-china400/rest/maps/China';
            map = L.map('mapContainer', {
                crs: L.CRS.EPSG3857,
                center: {lon: 113.11412662267688, lat: 40.98896497581636},
                maxZoom: 18,
                zoom: 8,
                boxZoom: false,
                scrollWheelZoom: true,
                dragging: true,
                doubleClickZoom: false,
                zoomControl: false
            });
            L.control.zoom().addTo(map);
            L.control.scale().addTo(map);
            L.supermap.tiledMapLayer(url1, {noWrap: true}).addTo(map);
            marker = L.marker();
            var latLng = [latitude, longitude];
            marker = L.marker(latLng, {
                draggable:false,
                riseOnHover: true
            }).addTo(map)
            map.on('click',addPoint);
        }

        function addPoint(e){
            if(marker)map.removeLayer(marker);
            marker = L.marker(e.latlng, {
                draggable:false,
                riseOnHover: true
            }).addTo(map)
            $('#longitude').val(e.latlng.lng);
            $('#latitude').val(e.latlng.lat);
        }

        // 初始化组织名称
        function initSchoolSelect(selectValue) {
            top.restAjax.get(top.restAjax.path('api/school/list', []), {}, null, function(code, data, args) {
                laytpl(document.getElementById('schoolIdSelectTemplate').innerHTML).render(data, function(html) {
                    document.getElementById('schoolIdSelectTemplateBox').innerHTML = html;
                });
                form.render('select', 'schoolIdSelectTemplateBox');

                var selectObj = {};
                selectObj['schoolId'] = selectValue;
                form.val('dataForm', selectObj);
            }, function(code, data) {
                top.dialog.msg(data.msg);
            });
        }

        // 选择所在地
        $(document).on('click', '#location', function() {
            top.dialog.open({
                title: '选择地区',
                url: top.restAjax.path('route/mongo/area/get-select?areaName={areaName}', [encodeURI($('#location').val())]),
                width: '800px',
                height: '225px',
                onClose: function () {
                    var selectedAreaArray = top.dialog.dialogData.selectedAreaArray;
                    var areaCode = '';
                    var areaName = '';
                    if (selectedAreaArray.length > 0) {
                        areaCode = selectedAreaArray[selectedAreaArray.length - 1].areaCode;
                        for (var i = 0, item; item = selectedAreaArray[i++];) {
                            if (areaName) {
                                areaName += ',';
                            }
                            areaName += item.areaName;
                        }
                        $('#locationCode').val(areaCode);
                        $('#location').val(areaName);
                    }
                    initGridSelect(areaCode);
                }
            })
        });

        // 初始化地区网格
        function initGridSelect(areaCode, selectValue) {
            if(!areaCode) {
                laytpl(document.getElementById('gridSelectTemplate').innerHTML).render([], function(html) {
                    document.getElementById('gridSelectTemplateBox').innerHTML = html;
                });
                form.render('select', 'gridSelectTemplateBox');
                return;
            }
            top.restAjax.get(top.restAjax.path('api/grid/grid-list/{areaCode}', [areaCode]), {}, null, function(code, data, args) {
                laytpl(document.getElementById('gridSelectTemplate').innerHTML).render(data, function(html) {
                    document.getElementById('gridSelectTemplateBox').innerHTML = html;
                });
                form.render('select', 'gridSelectTemplateBox');

                var selectObj = {};
                selectObj['grid'] = selectValue;
                form.val('dataForm', selectObj);
            }, function(code, data) {
                top.dialog.msg(data.msg);
            });
        }

        $(document).on('click','#search',function(){
            queryBasePopulationInfo($('#idCardNumber').val());
        });

        function queryBasePopulationInfo(idCardNumber){
            if(!idCardNumber){
                top.dialog.msg('请输入身份证号进行查询');
                return false;
            }
            var loadIndex = layer.load(0);
            top.restAjax.get(top.restAjax.path('api/schoolkey/get-by-id-card-number/{idCardNumber}', [idCardNumber]),
                {}, null, function(code, data) {
                    if(!data || !data.basePopulationInfoId) {
                        top.dialog.msg('暂无此人，请先补充人员基本信息');
                        var dataFormData = {};
                        dataFormData['populationId'] = '';
                        dataFormData['fullName'] = '';
                        dataFormData['gender'] = '';
                        dataFormData['cardNum'] = '';
                        dataFormData['nameUsedBefore'] = '';
                        form.val('dataForm', dataFormData);
                        form.render(null, 'dataForm');
                        $('#submitBtn').addClass("layui-btn-disabled").attr("disabled", true);
                        $('.div-base-population-info').hide();
                        return false;
                    }
                    var dataFormData = {};
                    for(var i in data) {
                        dataFormData[i] = data[i] +'';
                    }
                    dataFormData['baseId'] = dataFormData['idCardNumber'];
                    dataFormData['fullName'] = dataFormData['fullName'];
                    dataFormData['gender'] = dataFormData['genderDictionaryName'];
                    dataFormData['cardNum'] = dataFormData['idCardNumber'];
                    dataFormData['nameUsedBefore'] = dataFormData['nameUsedBefore'];
                    form.val('dataForm', dataFormData);
                    form.render(null, 'dataForm');
                    $('.div-base-population-info').show();
                }, function(code, data) {
                    top.dialog.msg(data.msg);
                },function(){

                },
                function () {
                    layer.close(loadIndex);
                });
        }

        // 危害程度change事件
        form.on('select(degreeOfHarm)', function(data){
            if(!data.value) {

            }else {
                var valueArr = data.value.split(',');
                if(2 == valueArr.length) {
                    var text = $('#degreeOfHarm option:selected').text();
                    $('#degreeOfHarm option:selected').val(valueArr[0]);
                    $('#degreeOfHarmName').val(text);
                    $('#degreeOfHarmCode').val(valueArr[1]);
                }
            }
            form.render("select");
        });

        function closeBox() {
            parent.layer.close(parent.layer.getFrameIndex(window.name));
        }

        // 初始化危害程度字典表ID下拉选择
        function initDegreeOfHarmSelect(selectValue) {
            top.restAjax.get(top.restAjax.path('api/mongo/data/list-all/parent-id/{dataParentId}', ['ac006130-7403-40ef-b647-e89bb8cce631']), {}, null, function(code, data, args) {
                laytpl(document.getElementById('degreeOfHarmSelectTemplate').innerHTML).render(data, function(html) {
                    document.getElementById('degreeOfHarmSelectTemplateBox').innerHTML = html;
                });
                form.render('select', 'degreeOfHarmSelectTemplateBox');

                var selectObj = {};
                selectObj['degreeOfHarm'] = selectValue;
                form.val('dataForm', selectObj);
            }, function(code, data) {
                top.dialog.msg(data.msg);
            });
        }

        // 初始化内容
        function initData() {
            var loadLayerIndex;
            top.restAjax.get(top.restAjax.path('api/schoolkey/get/{schoolKeyId}', [schoolKeyId]), {}, null, function(code, data) {
                var dataFormData = {};
                for(var i in data) {
                    dataFormData[i] = data[i] +'';
                }
                form.val('dataForm', dataFormData);
                form.render(null, 'dataForm');
                initDegreeOfHarmSelect(data['degreeOfHarm'] + ',' + data['degreeOfHarmCode']);
                queryBasePopulationInfo(data['baseId']);
                initGridSelect(data['locationCode'], data['grid']);
                initSchoolSelect(data['schoolId']);
                if('view' == isView) {
                    $('#submitBtn').hide();
                }
                initMap(data['longitude'], data['latitude']);
            }, function(code, data) {
                top.dialog.msg(data.msg);
            }, function() {
                loadLayerIndex = top.dialog.msg(top.dataMessage.loading, {icon: 16, time: 0, shade: 0.3});
            }, function() {
                top.dialog.close(loadLayerIndex);
            });
        }

        initData();

        function changeFun(value, id, formData) {
            var valueArr = value.split(',');
            if(2 == valueArr.length) {
                var name = $('#' + id + 'option:selected').text();
                formData.field[id] = valueArr[0];
                $('#' + id + 'Name').val(name);
                $('#' + id + 'Code').val(valueArr[1]);
            }
        }
        
        // 提交表单
        form.on('submit(submitForm)', function(formData) {
            changeFun(formData.field['degreeOfHarm'], 'degreeOfHarm', formData);
            top.dialog.confirm(top.dataMessage.commit, function(index) {
                top.dialog.close(index);
                var loadLayerIndex;
                top.restAjax.put(top.restAjax.path('api/schoolkey/update/{schoolKeyId}', [schoolKeyId]), formData.field, null, function(code, data) {
                    var layerIndex = top.dialog.msg(top.dataMessage.updateSuccess, {
                        time: 0,
                        btn: [top.dataMessage.button.yes, top.dataMessage.button.no],
                        shade: 0.3,
                        yes: function(index) {
                            top.dialog.close(index);
                            window.location.reload();
                        },
                        btn2: function() {
                            closeBox();
                        }
                    });
                }, function(code, data) {
                    top.dialog.msg(data.msg);
                }, function() {
                    loadLayerIndex = top.dialog.msg(top.dataMessage.committing, {icon: 16, time: 0, shade: 0.3});
                }, function() {
                    top.dialog.close(loadLayerIndex);
                });
            });
            return false;
        });

        $('.close').on('click', function() {
            closeBox();
        });
    });
</script>
</body>
</html>