| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428 | 	//姓名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'),    // 表单的ul容器    $infoList = $("#info_list"),    // 下一步按钮    $nextStep = $('#next_step');var nation, blood, marryed;var nationObj = {},    marryedObj = {},    bloodObj = {};var self,docInfo;var state;//状态var encryKey;mui.plusReady(function(){	//获取公钥	sendPost('login/public_key', {},null, function(res) {        if (res.status==200) {        	var mod = res.data.modulus;			var exp = res.data.exponent;			encryKey = RSAUtils.getKeyPair(exp, "", mod);        }else{        	mui.toast('获取公钥失败')        }    },'GET')		//返回事件	mui.back = function(){        backAction();    }	var self = plus.webview.currentWebview();	state = self.state;	$('#name').text(self.name) 	$('#idcard').val(self.idCard)	//身份证提取信息	var idStr;	var dd = self.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('/doctor/patient/getNationDict', {}, getPublicDataFailed, function(res) {        if (res.status==200) {        	nationObj = res.data        	addOneContent1(nationObj);        }else{         	mui.toast('获取民族字典数据失败')        }    },'GET')    sendPost('/doctor/patient/getMarryDict', {}, getPublicDataFailed, function(res) {        if (res.status ==200) {            marryedObj = res.data            addOneContent2(marryedObj);        }else{        	mui.toast('获取婚姻字典数据失败')        }    },'GET')    sendPost('/doctor/patient/getBloodDict', {}, getPublicDataFailed, function(res) {        if (res.status==200) {            bloodObj = res.data            addOneContent3(bloodObj);        }else{        	mui.toast('获取血型字典数据失败')        }    },'GET')    $Birthday.mobiscroll().date({        theme: "ios",        lang: "zh",        display: "bottom",        dateFormat: "yy-mm-dd",        onSelect: function(valueText, inst) {        }    })        addOneContent4([{'code':'1','name':'男'},{'code':'2','name':'女'}])        // 弹出框生成民族内容    function addOneContent1(arr) {        var len = arr.length;        var html = "<option disabled selected></option>";        for(var i = 0; i < len; i++) {            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++) {            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++) {            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')){        		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,getPublicDataFailed,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{	            getPublicDataFailed(res);	        }	        	    },'POST','',true)	}    //选择地址下拉框    $("#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 = {            name: $nameInput.text().trim(), // 姓名            sex:$('#sex').attr('data-code'),//性别            sexName:$('#sex').attr('data-code')=='1'?'男':'女',            ssc: $sscInput.val().trim().toUpperCase(), // 医保卡号            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(), //现住址            idcard:RSAUtils.encryStr(encryKey, $('#idcard').val().trim()),            idcardAll:$('#idcard').val().trim(),        }        return data;    },    // 必输验证    validRequired = function(data) {        var fieldsStr = "ssc,mobile,Birthday,address,national,marry,Blood_type,countryCode,Present_Address",            fieldMap = {                ssc: "医保卡号",                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) {            mui.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) {                mui.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");            mui.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){            	plus.storage.setItem("jiandangCase1",JSON.stringify(data))            	mui.openWindow({					id: "xinxiqueren",					url: "xinxiqueren.html",					createNew:true,					extras: {						state:state					}				})            })        })        //详细信息        $(".detail").on('tap', function() {            validInputsPromise(function(data){            	plus.storage.setItem("jiandangCase1",JSON.stringify(data))            	mui.openWindow({					id: "xinxicaiji",					url: "xinxicaiji.html",					extras: {						state:state					}				})            })        })        // 获取焦点时恢复输入的字体颜色        $('input').on('focus',function() {            $(this).css("color", "");        })        $sscInput.on('blur', function() {            validSSC($(this).val().trim());        })        $mobileInput.on('blur', function() {            validMobile($(this).val().trim());        })    }    bindEvents()        //返回重置	function backAction(){		if(plus.storage.getItem("jiandangCase1")){			dialog({			    content: '是否退出自助建档?',			    okValue: '继续编辑',			    cancelValue: '确定退出',			    cancel: function () {			    	plus.storage.removeItem("jiandangCase1")			    	plus.storage.removeItem("jiandangCase2")					closePage()			    },			    ok: function() {			    	return			    }			}).showModal();		}else{			closePage()		}		function closePage(){			var zzjd = plus.webview.getWebviewById('zizhujiandang');		    var xxcj = plus.webview.getWebviewById('xinxicaiji');		    var xxqr = plus.webview.getWebviewById('xinxiqueren');		    var dljd = plus.webview.getWebviewById('dailijiandang');	    	if(xxqr){xxqr.close('none')}	    	if(dljd){dljd.close('none')}	    	if(xxcj){xxcj.close('none')}			zzjd.close()		}	} })    function getPublicDataFailed(res) {    mui.toast("请求失败")}
 |