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("请求失败")
- }
|