123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395 |
- var $nameInput = $("#name"),//姓名
- $sscInput = $("#ybcard").find("input"),// 医保卡号
- $mobileInput = $("#phonenum").find("input"),// 手机号码
- $Birthday = $("#Birthday").find("input"),// 出生日期
- $address = $("#address").find("input"),// 户口所在地
- $committee = $("#committee"),//所属居委会
- $Present_Address = $('#Present_Address').find('input'),//现住址
- $infoList = $("#info_list"),// 表单的ul容器
- $nextStep = $('#next_step');// 下一步按钮
- var nation, blood, marryed;
- var nationObj = {},
- marryedObj = {},
- bloodObj = {};
- var signData;//缓存签约数据
- var jiandangCase;
- var d = dialog({contentType:'load', skin:'bk-popup'});
- function toast(msg){
- dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:msg}).show()
- }
- //请求失败
- function queryFailed(){ d.close();toast('请求失败');}
- $(function(){
- var cases = window.localStorage.getItem('jiandangCase1')
- jiandangCase = cases?JSON.parse(cases):''
- if(jiandangCase){//有缓存
- $('#name').text(jiandangCase.name)
- $('#idcard').val(jiandangCase.idcard)
- $('#ssc').val(jiandangCase.ssc)
- $committee.val(jiandangCase.countryName)
- $committee.attr('data-jwcode',jiandangCase.countryCode)
- $Birthday.val(jiandangCase.Birthday)
- $mobileInput.val(jiandangCase.mobile)
- $address.val(jiandangCase.address)
- $address.attr('data-code',jiandangCase.addressCode)
- $Present_Address.val(jiandangCase.Present_Address)
- $('#sex').attr('data-code',jiandangCase.sex)
- $('#national').attr('data-code',jiandangCase.national)
- $('#national').attr('data-name',jiandangCase.nationalName)
- $('#marry').attr('data-code',jiandangCase.marry)
- $('#marry').attr('data-name',jiandangCase.marryName)
- $('#Blood_type').attr('data-code',jiandangCase.Blood_type)
- $('#Blood_type').attr('data-name',jiandangCase.Blood_typeName)
- }else{
- signData = JSON.parse(window.localStorage.getItem('is_signData'));// 获取缓存
- $('#name').text(signData.name)
- $('#idcard').val(signData.idcard)
- $('#ssc').val(signData.ssc)
- $('#committee').val(signData.countryName)
- $('#committee').attr('data-jwcode',signData.jwCountryCode)
- //提取身份证
- var idStr;
- var dd = signData.idcard;
- if(dd.length == 18){
- idStr = dd.substring(6,10)+'-'+dd.substring(10,12)+'-'+dd.substring(12,14)
- if(dd.substring(16,17)%2==0){
- $('#sex').attr('data-code','2')
- }else{
- $('#sex').attr('data-code','1')
- }
- }else if(dd.length == 15){
- idStr = '19'+dd.substring(6,8)+'-'+dd.substring(8,10)+'-'+dd.substring(10,12)
- if(dd.substring(14,15)%2==0){
- $('#sex').attr('data-code','2')
- }else{
- $('#sex').attr('data-code','1')
- }
- }
- $Birthday.val(idStr)
- }
-
- // 获取血型、婚姻、民族字典
- sendPost('patient/getNationDict', {}, 'json', 'get',queryFailed, function(res) {
- if(res.status==200) {
- nationObj = res.data
- addOneContent1(nationObj);
- }else{
- toast('获取民族字典数据失败')
- }
- })
- sendPost('patient/getMarryDict', {}, 'json', 'get',queryFailed, function(res) {
- if(res.status==200) {
- marryedObj = res.data
- addOneContent2(marryedObj);
- }else{
- toast('获取婚姻字典数据失败')
- }
- })
- sendPost('patient/getBloodDict', {}, 'json', 'get',queryFailed, function(res) {
- if(res.status==200) {
- bloodObj = res.data
- addOneContent3(bloodObj);
- }else{
- toast('获取血型字典数据失败')
- }
- })
- addOneContent4([{'code':'1','name':'男'},{'code':'2','name':'女'}])
- $Birthday.mobiscroll().date({
- theme: "ios",
- lang: "zh",
- display: "bottom",
- dateFormat: "yy-mm-dd",
- onSelect: function(valueText, inst) {
- }
- })
- // 弹出框生成民族内容
- function addOneContent1(arr) {
- var len = arr.length;
- var html = "<option disabled selected></option>";
- for(var i = 0; i < len; i++) {
- if(jiandangCase&&jiandangCase.national == arr[i].NATION_CODE){
- html += '<option selected value="'+arr[i].NATION_CODE+'">' + arr[i].NATION_NAME + '</option>'
- }else{
- html += '<option value="'+arr[i].NATION_CODE+'">' + arr[i].NATION_NAME + '</option>'
- }
- }
- $('#nation').html(html)
- $('#nation').mobiscroll().select({
- theme: "ios",
- lang: "zh",
- placeholder:'请选择民族',
- display: "bottom",
- onSelect: function(valueText, inst) {
- $('#national').attr('data-code',inst._tempValue)
- $('#national').attr('data-name',valueText)
- }
- })
- }
- // 弹出框生成婚姻内容
- function addOneContent2(arr) {
- var len = arr.length;
- var html = "<option disabled selected></option>";
- for(var i = 0; i < len; i++) {
- if(jiandangCase&&jiandangCase.marry == arr[i].code){
- html += '<option selected value="'+arr[i].code+'">' + arr[i].value + '</option>'
- }else{
- html += '<option value="'+arr[i].code+'">' + arr[i].value + '</option>'
- }
- }
- $('#marryed').html(html)
- $('#marryed').mobiscroll().select({
- theme: "ios",
- lang: "zh",
- placeholder:'请选择婚姻情况',
- display: "bottom",
- onSelect: function(valueText, inst) {
- $('#marry').attr('data-code',inst._tempValue)
- $('#marry').attr('data-name',valueText)
- }
- })
- }
- // 弹出框生成血型内容
- function addOneContent3(arr) {
- var len = arr.length;
- var html = "<option disabled selected></option>";
- for(var i = 0; i < len; i++) {
- if(jiandangCase&&jiandangCase.Blood_type == arr[i].code){
- html += '<option selected value="'+arr[i].code+'">' + arr[i].value + '</option>'
- }else{
- html += '<option value="'+arr[i].code+'">' + arr[i].value + '</option>'
- }
- }
- $('#Bloodtype').html(html)
- $('#Bloodtype').mobiscroll().select({
- theme: "ios",
- lang: "zh",
- placeholder:'请选择血型',
- display: "bottom",
- onSelect: function(valueText,inst) {
- $('#Blood_type').attr('data-code',inst._tempValue)
- $('#Blood_type').attr('data-name',valueText)
- }
- })
- }
- // 弹出框生成性别
- function addOneContent4(arr) {
- var len = arr.length;
- var html = "<option disabled selected></option>";
- for(var i = 0; i < len; i++) {
- if(arr[i].code == $('#sex').attr('data-code') || arr[i].code == jiandangCase.sex){
- html += '<option selected value="'+arr[i].code+'">' + arr[i].name + '</option>'
- }else{
- html += '<option value="'+arr[i].code+'">' + arr[i].name + '</option>'
- }
- }
- $('#sexs').html(html)
- $('#sexs').mobiscroll().select({
- theme: "ios",
- lang: "zh",
- placeholder:'请选择性别',
- display: "bottom",
- onSelect: function(valueText, inst) {
- $('#sex').attr('data-code',inst._tempValue)
- }
- })
- }
-
- initExpressAddr();
- //初始化户口所在地选择下拉框数据
- function initExpressAddr(){
- picker = new mui.PopPicker({
- layer: 2,
- layerNames: ["省","市"]
- });
-
- //获取省份信息
- getDistrict(1, '', 0);
- bindPickerEvent();
- }
- //绑定picker的事件
- function bindPickerEvent(){
- $(picker.pickers[0].holder).on('change', function(event) {
- var eventData = event.originalEvent.detail || {},
- item = eventData.item;
-
- if(!item || !item.value) {
- return ;
- }
- //获取市信息
- getDistrict(2, item.value, 1);
- });
- }
- /**
- * 获得省市区数据
- * @param {number} type 1-省,2-市,3-区
- * @param {string} code 省市对应的code
- * @param {number} level 对应下拉框对应的列 0-省,1-市,2-区
- */
- function getDistrict(type, code, level){
- var url = 'common/district',
- params = {type: type, code: code};
-
- sendPost(url,params,'json', 'post',queryFailed, function(res) {
- if(res.status==200) {
- var data = _.map(res.list, function(o){
- return {
- value: o.code,
- text: o.name
- }
- });
- picker.pickers[level].setItems(data);
- }else{
- toast('获取地址数据失败')
- }
- })
- }
- //选择地址下拉框
- $("#address").on('click', function(){
- picker.show(function(selected){
- var text = selected[0].text+selected[1].text;
- $("#address .select-input").val(text);
- $("#address .select-input").attr('data-code',selected[1].value);
- })
- })
- // 获取填写的数据
- var getInputs = function() {
- var data = {
- idcard:jiandangCase?jiandangCase.idcard:signData.idcard,
- name: jiandangCase?jiandangCase.name:signData.name, // 姓名
- sex:$('#sex').attr('data-code'),
- ssc:jiandangCase?jiandangCase.ssc:signData.ssc,
- sexName:$('#sex').attr('data-code')=='1'?'男':'女',
- mobile: $mobileInput.val().trim(), // 手机号码
- Birthday: $Birthday.val(), // 出生日期
- address: $address.val(), // 户口所在地
- addressCode:$address.attr('data-code'),
- national: $('#national').attr('data-code'), // 民族
- nationalName: $('#national').attr('data-name'),
- marry: $('#marry').attr('data-code'), // 婚姻情况
- marryName: $('#marry').attr('data-name'),
- Blood_type: $('#Blood_type').attr('data-code'), // 血型
- Blood_typeName: $('#Blood_type').attr('data-name'),
- countryCode: $committee.attr('data-jwcode'), //居委会
- countryName: $committee.val(),
- Present_Address: $Present_Address.val().trim(), //现住址
- }
- return data;
- },
- // 必输验证
- validRequired = function(data) {
- var fieldsStr = "mobile,Birthday,address,national,marry,Blood_type,countryCode,Present_Address",
- fieldMap = {
- mobile: "手机号码",
- Birthday: "出生日期",
- address: "户口所在地",
- national: "民族",
- marry: "婚姻情况",
- Blood_type: "血型",
- countryCode: "居委会",
- Present_Address: "现住址"
- },
- fields = fieldsStr.split(","),
- invalidField;
- // 某个字段为""、null、undefined,则该字段不能通过必输校验
- invalidField = _.find(fields, function(key) {
- return !data[key] && data[key] !== 0;
- });
- if(invalidField) {
- toast(fieldMap[invalidField] + '不能为空');
- return false;
- } else {
- return true;
- }
- },
- // 校验医保卡号格式
- validSSC = function(ssc, isshow) {
- var sscReg = /^([a-zA-Z]{1}[a-zA-Z0-9]{8}|[0-9]{12})$/;
- if(!ssc) return;
- if(!sscReg.test(ssc)) {
- $sscInput.css("color", "red")
- if(isshow != false) {
- toast("请填写有效的医保卡卡号");
- }
- return false;
- }
- $sscInput.css("color", "");
- return true;
- },
- // 校验手机号格式
- validMobile = function(mobile) {
- var mobileReg = /^[1][3578][0-9]{9}$/;
- if(!mobile) return;
- if(!mobileReg.test(mobile)) {
- $mobileInput.css("color", "red");
- toast("请填写有效的手机号码");
- return false;
- }
- $mobileInput.css("color", "");
- return true;
- },
- // 输入格式验证
- validFormat = function(data) {
- return validSSC(data.ssc) && (!data.mobile || validMobile(data.mobile))
- },
- // 所有输入验证
- validInputsPromise = function(fun) {
- // 表单数据
- var data = getInputs();
- return Promise.resolve()
- .then(function() {
- if(!validRequired(data)) throw new Error("必输校验失败");
- })
- .then(function() {
- if(!validFormat(data)) throw new Error("格式校验失败");
- })
- .then(function() {
- return fun&&fun.call(this,data);
- })
- .then(function(flag) {
- if(!flag) throw new Error("数据有效性校验失败");
- })
- .then(function() {
- // 所有校验成功
- $infoList.find('input').css("color", "");
- return data;
- });
- },
- bindEvents = function() {
- //选择居委会
- selectCommittee()
- // 预览
- $nextStep.on('tap', function() {
- validInputsPromise(function(data){
- d.show()
- window.localStorage.setItem("jiandangCase1",JSON.stringify(data))
- window.location.href = "xinxiqueren.html";
- })
- })
- //详细信息
- $(".detail").on('tap', function() {
- validInputsPromise(function(data){
- d.show()
- window.localStorage.setItem("jiandangCase1",JSON.stringify(data))
- window.location.href = "xinxicaiji.html";
- })
- })
- // 获取焦点时恢复输入的字体颜色
- $('input').on('focus',function() {
- $(this).css("color", "");
- })
- $sscInput.on('blur', function() {
- validSSC($(this).val().trim());
- })
- $mobileInput.on('blur', function() {
- validMobile($(this).val().trim());
- })
-
- }
- bindEvents()
-
- })
|