/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) * Copyright (c) 2013-2018 北京泉江科技有限公司 * 创建人:超级管理员 * 日 期:2019-08-08 17:21 * 描 述:新生信息管理 */ var acceptClick; var keyValue = request('keyValue'); var bootstrap = function ($, learun) { "use strict"; var page = { init: function () { $('.lr-form-wrap').lrscroll(); page.bind(); page.initData(); }, bind: function () { $("#GenderNo").lrDataItemSelect({ code: 'usersex' }); $("#PartyFaceNo").lrDataItemSelect({ code: 'BCdPartyFace' }); $("#FamilyOriginNo").lrDataItemSelect({ code: 'ExamineeCategory' }); $("#NationalityNo").lrDataItemSelect({ code: 'National' }); $("#TestStuSortNo").lrDataItemSelect({ code: 'ExamineeType' }); $("#TestStuSubjectNo").lrDataItemSelect({ code: 'SubjectType' }); $("#HighTestSortNo").lrDataItemSelect({ code: 'GraduateCategory' }); $("#MatriculateSort").lrDataItemSelect({ code: 'EnrollStyle' }); $('#ResidenceNo').lrDataItemSelect({ code: 'ResidenceNo' }); $('#StuInfoFreshFamily').jfGrid({ headData: [ { label: '姓名', name: 'Name', width: 100, align: 'left' , edit: { type: 'input' } }, { label: '与本人关系', name: 'Relation', width: 100, align: 'left' , edit: { type: 'select', datatype: 'dataItem', code: 'FamilyRelation' } }, { label: '性别', name: 'Sex', width: 100, align: 'left' , edit: { type: 'select', datatype: 'dataItem', code: 'usersex' } }, { label: '年龄', name: 'Age', width: 100, align: 'left' , edit: { type: 'input' } }, { label: '政治面貌', name: 'Politicy', width: 100, align: 'left' , edit: { type: 'select', datatype: 'dataItem', code: 'PolityStatus' } }, { label: '身份证号', name: 'IdCard', width: 100, align: 'left' , edit: { type: 'input' } }, ], isEdit: true, isEditWithTip: true, height: 200 }); $('#StuInfoFreshEmergePeople').jfGrid({ headData: [ { label: '姓名', name: 'Name', width: 100, align: 'left' , edit: { type: 'input' } }, { label: '与本人关系', name: 'Relation', width: 100, align: 'left' , edit: { type: 'input' } }, { label: '手机号码', name: 'Mobile', width: 100, align: 'left' , edit: { type: 'input' } }, { label: '座机电话', name: 'Telephone', width: 100, align: 'left' , edit: { type: 'input' } }, { label: '联系地址', name: 'Address', width: 100, align: 'left' , edit: { type: 'input' } }, ], isEdit: true, isEditWithTip: true, height: 200 }); //拍照 $("#photoBtn").on('click', function () { takeImg(); }); }, initData: function () { if (!!keyValue) { $.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StuInfoFresh/GetFormData?keyValue=' + keyValue, function (data) { for (var id in data) { if (id == 'Url') { //头像地址 $('#photoBox').find('img').attr('src', data[id]); } else { if (!!data[id].length && data[id].length > 0) { $('#' + id).jfGridSet('refreshdata', data[id]); } else { $('[data-table="' + id + '"]').lrSetFormData(data[id]); } } } }); } } }; // 保存数据 acceptClick = function (callBack) { if (!$('body').lrValidform()) { return false; } //家庭成员:身份证号的验证 var familyList = $('#StuInfoFreshFamily').jfGridGet('rowdatas'); $.each(familyList, function (i, item) { if (!IsUserCard(item.IdCard)) {//身份证错误 learun.alert.warning("家庭成员:" + item.Name + "的身份证号有误!"); return false; } }); var postData = {}; postData.strEntity = JSON.stringify($('[data-table="StuInfoFresh"]').lrGetFormData()); postData.strstuInfoFreshEmergePeopleList = JSON.stringify($('#StuInfoFreshEmergePeople').jfGridGet('rowdatas')); postData.strstuInfoFreshFamilyList = JSON.stringify($('#StuInfoFreshFamily').jfGridGet('rowdatas')); $.lrSaveForm(top.$.rootUrl + '/EducationalAdministration/StuInfoFresh/SaveForm?keyValue=' + keyValue, postData, function (res) { // 保存成功后才回调 if (!!callBack) { callBack(); } }); }; page.init(); } // 验证身份证 function IsUserCard(idNo) { if (idNo.length != 0) { if (!checkCard(idNo)) { // $("#errorTips").html("身份证号码格式错误"); return false; } else { return true; } } return true; } checkCard = function (obj) { //校验长度,类型 if (isCardNo(obj) === false) { return false; } //检查省份 if (checkProvince(obj) === false) { return false; } //校验生日 if (checkBirthday(obj) === false) { return false; } //检验位的检测 if (checkParity(obj) === false) { return false; } return true; }; //检查号码是否符合规范,包括长度,类型 isCardNo = function (obj) { //身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X)$)/; if (reg.test(obj) === false) { return false; } return true; }; //取身份证前两位,校验省份 checkProvince = function (obj) { var province = obj.substr(0, 2); if (vcity[province] == undefined) { return false; } return true; }; //检查生日是否正确 checkBirthday = function (obj) { var len = obj.length; //身份证15位时,次序为省(3位)市(3位)年(2位)月(2位)日(2位)校验位(3位),皆为数字 if (len == '15') { var re_fifteen = /^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/; var arr_data = obj.match(re_fifteen); var year = arr_data[2]; var month = arr_data[3]; var day = arr_data[4]; var birthday = new Date('19' + year + '/' + month + '/' + day); return verifyBirthday('19' + year, month, day, birthday); } //身份证18位时,次序为省(3位)市(3位)年(4位)月(2位)日(2位)校验位(4位),校验位末尾可能为X if (len == '18') { var re_eighteen = /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/; var arr_data = obj.match(re_eighteen); var year = arr_data[2]; var month = arr_data[3]; var day = arr_data[4]; var birthday = new Date(year + '/' + month + '/' + day); return verifyBirthday(year, month, day, birthday); } return false; }; //校验日期 verifyBirthday = function (year, month, day, birthday) { var now = new Date(); var now_year = now.getFullYear(); //年月日是否合理 if (birthday.getFullYear() == year && (birthday.getMonth() + 1) == month && birthday.getDate() == day) { //判断年份的范围(3岁到100岁之间) var time = now_year - year; if (time >= 0 && time <= 130) { return true; } return false; } return false; }; //校验位的检测 checkParity = function (obj) { //15位转18位 obj = changeFivteenToEighteen(obj); var len = obj.length; if (len == '18') { var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); var cardTemp = 0, i, valnum; for (i = 0; i < 17; i++) { cardTemp += obj.substr(i, 1) * arrInt[i]; } valnum = arrCh[cardTemp % 11]; if (valnum == obj.substr(17, 1)) { return true; } return false; } return false; }; //15位转18位身份证号 changeFivteenToEighteen = function (obj) { if (obj.length == '15') { var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); var cardTemp = 0, i; obj = obj.substr(0, 6) + '19' + obj.substr(6, obj.length - 6); for (i = 0; i < 17; i++) { cardTemp += obj.substr(i, 1) * arrInt[i]; } obj += arrCh[cardTemp % 11]; return obj; } return obj; }; var vcity = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江", 31: "上海", 32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南", 42: "湖北", 43: "湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆", 51: "四川", 52: "贵州", 53: "云南", 54: "西藏", 61: "陕西", 62: "甘肃", 63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外" };