소스 검색

个人信息修改数据对接

chenyue 7 년 전
부모
커밋
fdcb70a13d

+ 51 - 0
api/http-request.js

@ -239,6 +239,55 @@
            }
        }
    }
    
    function httpPostContent(url, options) {
        //发送ajax请求
        return new Promise(function (resolve, reject) {
            $.ajax(server + url,
                $.extend({}, {
                    type: 'POST',
                    beforeSend: function (request) {                    	
                        var oauthInfo = JSON.parse(sessionStorage.getItem("oauthInfo"));
                        if (oauthInfo) {
                            request.setRequestHeader("accessToken", oauthInfo.accessToken);
                            request.setRequestHeader("token", oauthInfo.accessToken);
                        }
                    },
                    error: function (xhr, type, errorThrown) {
                        reject(xhr, type, errorThrown)
                    },
                    success: function (res) {
                        resolve(res)
                    }
                }, options));
        })
    }
    function httpPutContent(url, options) {   //加contentType限制
        //发送ajax请求
        return new Promise(function (resolve, reject) {
            $.ajax(server + url,
                $.extend({}, {
                    type: 'PUT',
                    dataType: 'JSON',
                    contentType:'application/json; charset=utf-8',
                    beforeSend: function (request) {                    	
                        var oauthInfo = JSON.parse(sessionStorage.getItem("oauthInfo"));
                        if (oauthInfo) {
                            request.setRequestHeader("accessToken", oauthInfo.accessToken);
                            request.setRequestHeader("token", oauthInfo.accessToken);
                        }
                    },
                    error: function (xhr, type, errorThrown) {
                        errTip(xhr.status);
                        reject(xhr, type, errorThrown)
                    },
                    success: function (res) {
                        resolve(res)
                    },
                }, options));
        })
    }
    
    httpRequest = {
        agentName: agentName,
@ -256,6 +305,8 @@
        client_id: client_id,
        imgServer:imgServer,
        failCodeHandle: failCodeHandle,
        httpPostContent:httpPostContent,
        httpPutContent:httpPutContent,
        loginIm: function(data){
            return imHttpPost('/users/login', data);
        },

+ 64 - 0
api/patient/file-api.js

@ -0,0 +1,64 @@
(function (exports) {
	var fileAPI = {
		//文件流上传图片
		uploadImg: function (data) {
			return httpRequest.httpPostContent("/dfs/api/v1.0/fastDfs/upload?creator="+data.creator+"&objectId="+data.objectId,{data: data.files, processData : false, contentType : false})
		},
		getBase64Image: //将图片压缩转成base64   
			function (imgSrc,width) {
				return new Promise(function (resolve, reject) {
					var canvas = document.createElement("canvas");
					var img = new Image;
					img.src = imgSrc;
		
					if(width){
					 img.width = width;
					 img.height = width;
					}
					var ctx = canvas.getContext("2d");
					img.onload = function () {
						canvas.width = img.width; /*设置新的图片的宽度*/
						canvas.height = img.height; /*设置新的图片的长度*/
						ctx.drawImage(img, 0, 0, img.width, img.height); /*绘图*/
						var dataURL = canvas.toDataURL("image/png", 0.8);
						resolve(dataURL.replace("data:image/png;base64,", ""));
					}
				})
			},
		zipImg:function(src,isSmall){
			return new Promise(function(resolve,redirect){
				var aImg = src.split("/");
				var imgName = aImg[aImg.length - 1];
				plus.zip.compressImage({
					src: src,
					dst: aImg+imgName,
					quality: 20,
					overwrite: true,
					width:'50%'
				}, function(succ) {
					var url = succ.target;
					var size = succ.size;
					var width = succ.width;
					var height = succ.height;
					resolve(succ)
				}, function(err) {
					console.error("压缩失败:" + err.message);
					redirect(err)
					if(err.message == "文件不存在") {
						mui.toast(err.message);
						plus.nativeUI.closeWaiting();
						plus.webview.currentWebview().reload();
					}
				});
			})
			
		}
	}
	exports.fileAPI = fileAPI;
})(window)

+ 10 - 0
api/patient/jiuzhen-api.js

@ -0,0 +1,10 @@
(function(exports) {
	var jiuzhenAPI = {
		// 我的就诊
		getRemind: function(data) {
			return httpRequest.get("/basic/api/v1.0/MessageRemindByType",{data: data})
		},
	}
	
	exports.jiuzhenAPI = jiuzhenAPI;
})(window)

+ 1 - 1
api/patient/mine-api.js

@ -7,7 +7,7 @@
		},
		// 修改个人资料
		userInforUpdate: function(data) {
			return httpRequest.putContent("/basic/api/v1.0/users",{data: JSON.stringify(data)})
			return httpRequest.httpPutContent("/basic/api/v1.0/users",{data: JSON.stringify(data)})
		},
		checkPhone:function(data){
			return httpRequest.get("/basic/api/v1.0/user/telephone/existence",{data:{telephone:data} })

+ 79 - 96
component/mine/personal-info.js

@ -5,72 +5,68 @@
					<left-menu :code="code"></left-menu>
					<div class="pl251">
						<div class="bgc-fff c-border ptb30">
							<form class="mainbox" id="form" role="form" onsubmit="return false;">
							<form class="mainbox" id="form" role="form" onsubmit="return false;" enctype="multipart/form-data" id="newInterfaceForm">
								<div class="c-t-center mb10">
									<img :src="userinfo.imgRemotePath || defaultImg" class="img-circle" width="100" height="100" id="personalImg" />
									<div class="c-f14 c-909090 pt15">
										<input type="file" @change="uploadImg()" class="c-vam c-inline-block type-hide pl105" accept="image/jpg,image/jpeg,image/png"><span class="changeImg">修改头像</span></div>
										<span>修改头像</span>
										<input type="file" @change="uploadImg($event)" class="c-vam c-inline-block type-hide pl105" accept="image/jpg,image/jpeg,image/png" style="height:150px;margin-top:-150px;"></div>
								</div>
								<div class="w3-row mt50">
								<div class="w3-row mt50 form-group" style="height: 40px;">
									<div class="w3-col c-f16 m5 c-t-right" style="width:80px;">姓&emsp;&emsp;名</div>
									<div class="w3-rest pl15">
										<input type="text" class="form-control" v-model="userinfo.realName">
										<input type="text" class="form-control" v-model="userinfo.realName" name="realName">
									</div>
								</div>
								<div class="w3-row">
								<div class="w3-row form-group">
									<div class="w3-col c-f16 m5 c-t-right" style="width:80px;">性&emsp;&emsp;别</div>
									<div class="w3-rest pl15 c-f14">
										<input type="radio" name="gender"  value="0" v-model="userinfo.gender">&emsp;男&emsp;
										<input type="radio" name="gender"  value="1" v-model="userinfo.gender">&emsp;女
									</div>
								</div>
								<div class="w3-row  mt25">
								<div class="w3-row  mt25 form-group">
									<div class="w3-col c-f16 m5 c-t-right" style="width:80px;">手机号码</div>
									<div class="w3-rest pl15">
										<input type="text" class="form-control" v-model="userinfo.telephone">
										<input type="text" class="form-control" v-model="userinfo.telephone" name="telephone">
									</div>
								</div>
								<div class="w3-row mt25">
								<div class="w3-row mt25 form-group">
									<div class="w3-col c-f16 m5 c-t-right" style="width:80px;">身份证号</div>
									<div class="w3-rest pl15">
										<input type="text" class="form-control" v-model="userinfo.idCardNo">
										<input type="text" class="form-control" v-model="userinfo.idCardNo" name="idCardNo">
									</div>
								</div>
								<div class="w3-row mt25">
								<div class="w3-row mt25 form-group">
									<div class="w3-col c-f16 m5 c-t-right" style="width:80px;">社保卡号</div>
									<div class="w3-rest pl15">
										<input type="text" class="form-control" v-model="userinfo.ssid">
										<input type="text" class="form-control" v-model="userinfo.ssid" name="ssid">
									</div>
								</div>
								<div class="w3-row mt25">
								<div class="w3-row mt25 form-group">
									<div class="w3-col c-f16 m5 c-t-right" style="width:80px;">医疗保险号</div>
									<div class="w3-rest pl15">
										<input type="text" class="form-control" v-model="userinfo.micard">
										<input type="text" class="form-control" v-model="userinfo.micard" name="micard">
									</div>
								</div>
								<div class="w3-row mt25">
								<div class="w3-row mt25 form-group">
									<div class="w3-col c-323232 c-f16 m5 c-t-right" style="width:80px;">行&emsp;&emsp;业</div>
									<div class="pl105" data-toggle="modal" data-target="#selindustry">
										<input id="industry" placeholder="请选择行业" type="text" class="form-control" name="industry"  v-model="userinfo.profession"><span class="caret selcaret"></span>
										<input id="industry" placeholder="请选择行业" type="text" class="form-control" name="industry"  v-model="userinfo.profession" name="profession"><span class="caret selcaret"></span>
									</div>
								</div>
								<div class="w3-row mt25">
									<div class="w3-col c-323232 c-f16 m5 c-t-right" style="width:80px;">家庭住址</div>
									<div class="pl105">
										<div class="dropdown">
											<a id="addressLabel" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
												<input id="addrcode" placeholder="请选择家庭住址" type="text" class="form-control" name="addrcode" :value="address"><span class="caret selcaret"></span>
											</a>
											<selsect-address :userinfo="userinfo"></selsect-address>
										</div>
										<textarea class="form-control mt10"  v-model="userinfo.street"></textarea>
									<div class="pl105">										
											<selsect-address ref="getAddress"></selsect-address>
										<textarea class="form-control mt10 form-group"  v-model="userinfo.street" name="street"></textarea>
									</div>
								</div>
								<div class="c-t-center ">
									<button type="submit" class="btn btn-theme c-f16 mtb30" style="width:144px;" >保 存</button>
									<button type="submit" class="btn btn-theme c-f16 mtb30" style="width:144px;" @click="update()">保 存</button>
								</div>
							</form>
							<select-industry :industryid="industryid" :directionid="directionid" ref="getIndustry"></select-industry>
							<select-industry ref="getIndustry"></select-industry>
						</div>
					</div>
				</div>
@ -78,99 +74,86 @@
		props: [],
		data: function() {
			return {
				userinfo: {
					areaId: 330902,
					areaName: "定海区",
					cityId: 330900,
					cityName: "舟山市",
					demographicId: "362321199703137824",
					gender: "1",
					id: "0dae00035ab8be56319e6d2e0f183443",
					idCardNo: "362321199703137824",
					imgLocalPath: "",
					imgRemotePath: "http://172.19.103.52:80/group1/M00/1F/68/rBFuWFrPC4WAEdQxAAANa_JH8v8564.jpg",
					micard: "D95398393",
					profession: "网站/APP",
					provinceId: 330000,
					provinceName: "浙江省",
					realName: "柯诗莹",
					ssid: "D111111113",
					street: "33311513街道打  软件园二期望海路55号之一健康之路",
					telephone: "18950186666",
					userType: "GovEmployee",
				},
				userinfo: {},
				code: "info",
				industryid: -1,
				directionid: -1,
				industryname: "",
				directionname: "",
				address: '',
				defaultImg:"../../../images/moren_touxiang_img.png",
				defaultImg: "../../../images/moren_touxiang_img.png",
			}
		},
		mounted: function() {
			var vm = this
			vm.address=vm.userinfo.provinceName+"/"+vm.userinfo.cityName+"/"+vm.userinfo.areaName
			$('.dropdown-toggle').dropdown()
			vm.initinfo()
			$('#selindustry').on('hidden.bs.modal', function(e) {
				vm.getNewIndustry()
			})
		},
		methods: {
			initinfo: function() {
				var vm = this;
				var loginInfo = JSON.parse(sessionStorage.getItem("oauthInfo"));
				var data1 = {
					userName: loginInfo.user,
					token: loginInfo.accessToken
				}
				loginAPI.getUserInfo(data1).then(function(res) {
					vm.userinfo = res
				})
			},
			getNewAddress: function() {
				var vm = this
				vm.userinfo.provinceId = vm.$refs.getAddress.provinceid
				vm.userinfo.cityId = vm.$refs.getAddress.cityid
				vm.userinfo.areaId = vm.$refs.getAddress.countyid				
				vm.userinfo.provinceName = vm.$refs.getAddress.provincename
				vm.userinfo.cityName = vm.$refs.getAddress.cityname
				vm.userinfo.areaName = vm.$refs.getAddress.countyname
			},
			getNewIndustry: function() {
				var vm = this
				var aaa = vm.$refs.getIndustry.industryname
				var bbb = vm.$refs.getIndustry.directionname
				if(aaa != "") {
					vm.industryname = aaa
					vm.industryid = vm.$refs.getIndustry.industryid
				if(bbb != "请选择方向") {
					vm.userinfo.profession = bbb
				} else if(aaa != "请选择行业") {
					vm.userinfo.profession = aaa
				}
				if(bbb != "") {
					vm.directionname = bbb
					vm.directionid = vm.$refs.getIndustry.directionid
			},
			uploadImg: function(e) {
				var file = {},
					vm = this
				file = e.target.files[0]
				if(file.size > 5 * 1024 * 1024) {
					alert("图片大小格式超出5M范围不可用")
					return false
				}
				if(vm.industryname == "请选择行业") {
					$("#industry").val("")
				} else {
					$("#industry").val(vm.industryname + ">" + vm.directionname)
				var formData = new FormData()
				formData.append('file', file)
				var param = {
					files: formData,
					creator: vm.userinfo.id,
					objectId: 'EHR',
				}
				fileAPI.uploadImg(param).then(function(reslove) {
					vm.userinfo.imgRemotePath = reslove.obj.httpUrl //上传到图片服务器成功则修改个人资料					
				}, function(err) {
					alert("选择图片失败");
				})
			},
			update: function() {
				if(!this.value) {
					mui.toast(this.keyName + "不能为空!");
					return
				} else if(this.userinfo.key == 'idCardNo' && !this.isCardNo(this.value)) {
					mui.toast("请输入有效的身份证!");
					return
				} else if(this.userinfo.key == 'micard' && !this.validSSC(this.value)) {
					mui.toast("请填写有效的医保卡卡号");
					return
				} else if(this.userinfo.key == 'ssid' && !this.validNumWord(this.value)) {
					mui.toast("请填写有效的社保卡号");
					return
				var vm = this
				var flag = $("#newInterfaceForm").valid();
				if(!flag) {
					//没有通过验证
					return;
				}
				this.userinfo.userinfo[this.userinfo.key] = this.value;
				mineAPI.userinforUpdate(this.userinfo.userinfo).then(function(res) {
					mui.toast("修改成功");
					app.reloadView('user-infor', "./user-infor.html");
				}).catch(function() {
					mui.toast("修改失败!");
				})
				vm.getNewAddress()
				mineAPI.userInforUpdate(vm.userinfo).then(function (res) {
                    alert("修改成功!")
                }).catch(function(){
                    alert("修改失败!")
                })
			},
			isCardNo: function(card) {
				// 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X 
				var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
				return reg.test(card)
			}, // 校验医保卡号格式
			validSSC: function(ssc) {
				var sscReg = /^([a-zA-Z]{1}[a-zA-Z0-9]{8}|[0-9]{12})$/;
				return sscReg.test(ssc);
			},
			validNumWord: function(ssc) {
				var sscReg = /^[0-9a-zA-Z]+$/;
				return sscReg.test(ssc);
			}
			
		},
	})

+ 160 - 88
component/mine/select-address.js

@ -1,6 +1,10 @@
(function() {
	Vue.component('selsect-address', {
		template: `<div class="bgc-fff dropdown-menu dropdown-menu-right" aria-labelledby="addressLabel" style="width:308px;">
		template: `<div class="dropdown">
						<a id="addressLabel" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
							<input id="addrcode" placeholder="请选择家庭住址" type="text" class="form-control c-323232" name="addrcode"><span class="caret selcaret"></span>
						</a>
						<div class="bgc-fff dropdown-menu dropdown-menu-right" aria-labelledby="addressLabel" style="width:308px;" id="dropdown-address">
						<ul class="nav nav-tabs" role="tablist" id="addresslist">
							<li role="presentation" class="active" style="width:102px;">
								<a href="#province" aria-controls="province" role="tab" data-toggle="tab" id="_province" data-stopPropagation="true">{{provincename}}</a>
@ -40,55 +44,55 @@
								</div>
							</div>
							<div role="tabpanel" class="tab-pane w3-row-padding industry" id="city" data-stopPropagation="true">
								<div :id="city.id" class="w3-third mb20" v-for="city in cities" @click="selectCi(city.id,city.name)">
									<div>{{city.name}}</div>
								<div class="w3-third mb20" v-for="city in cities" @click="selectCi(city.id,city.name)">
									<div :id="city.id" style="padding: 5px 13px 3px;">{{city.name}}</div>
								</div>
							</div>
							<div role="tabpanel" class="tab-pane w3-row-padding industry" id="county" data-stopPropagation="true">
								<div :id="county.id" class="w3-third mb20" v-for="county in counties" @click="selectCo(county.id,county.name)">
									<div>{{county.name}}</div>
								<div  class="w3-third mb20" v-for="county in counties" @click="selectCo(county.id,county.name)">
									<div :id="county.id" style="padding: 5px 13px 3px;">{{county.name}}</div>
								</div>
							</div>
						</div>
					</div>`,
		props: ["userinfo"],
		props: [],
		data: function() {
			return {
				"province1": [{
						id: 340000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"安徽",
						name: "安徽",
						pid: 156,
						postCode: null
					},
					{
						id: 820000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"澳门",
						name: "澳门",
						pid: 156,
						postCode: null
					},
					{
						id: 110000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"北京",
						name: "北京",
						pid: 156,
						postCode: null
					},
					{
						id: 500000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"重庆",
						name: "重庆",
						pid: 156,
						postCode: null
					},
					{
						id: 350000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name: "福建",
						pid: 156,
@ -96,56 +100,56 @@
					},
					{
						id: 440000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"广东",
						name: "广东",
						pid: 156,
						postCode: null
					},
					{
						id: 450000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"广西",
						name: "广西",
						pid: 156,
						postCode: null
					},
					{
						id: 520000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"贵州",
						name: "贵州",
						pid: 156,
						postCode: null
					},
					{
						id: 620000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"甘肃",
						name: "甘肃",
						pid: 156,
						postCode: null
					},
				],
				"province2": [{
						id: 420000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"湖北",
						name: "湖北",
						pid: 156,
						postCode: null
					},
					{
						id: 230000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"黑龙江",
						name: "黑龙江",
						pid: 156,
						postCode: null
					},
					{
						id: 410000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name: "河南",
						pid: 156,
@ -153,182 +157,183 @@
					},
					{
						id: 430000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"湖南",
						name: "湖南",
						pid: 156,
						postCode: null
					},
					{
						id: 460000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"海南",
						name: "海南",
						pid: 156,
						postCode: null
					},
					{
						id: 130000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"河北",
						name: "河北",
						pid: 156,
						postCode: null
					},
					{
						id: 220000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"吉林",
						name: "吉林",
						pid: 156,
						postCode: null
					},
					{
						id: 320000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"江苏",
						name: "江苏",
						pid: 156,
						postCode: null
					},
					{
						id: 360000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"江西",
						name: "江西",
						pid: 156,
						postCode: null
					},
				],
				"province3": [{
						id: 210000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"辽宁",
						name: "辽宁",
						pid: 156,
						postCode: null
					},
					{
						id: 140000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"山西",
						name: "山西",
						pid: 156,
						postCode: null
					},
					{
						id: 640000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"宁夏",
						name: "宁夏",
						pid: 156,
						postCode: null
					},
					{
						id: 150000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"内蒙古",
						name: "内蒙古",
						pid: 156,
						postCode: null
					}, {
						id: 630000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"青海",
						name: "青海",
						pid: 156,
						postCode: null
					},
					{
						id: 370000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"山东",
						name: "山东",
						pid: 156,
						postCode: null
					},
					{
						id: 310000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"上海",
						name: "上海",
						pid: 156,
						postCode: null
					},
					{
						id: 510000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"四川",
						name: "四川",
						pid: 156,
						postCode: null
					},
					{
						id: 610000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"陕西",
						name: "陕西",
						pid: 156,
						postCode: null
					},
				],
				"province4": [{
						id: 120000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"天津",
						name: "天津",
						pid: 156,
						postCode: null
					},
					{
						id: 710000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"台湾",
						name: "台湾",
						pid: 156,
						postCode: null
					},
					{
						id: 540000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"西藏",
						name: "西藏",
						pid: 156,
						postCode: null
					},
					{
						id: 650000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"新疆",
						name: "新疆",
						pid: 156,
						postCode: null
					},
					{
						id: 810000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"香港",
						name: "香港",
						pid: 156,
						postCode: null
					},
					{
						id: 530000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"云南",
						name: "云南",
						pid: 156,
						postCode: null
					},
					{
						id: 330000,
						abbreviation:"",
						abbreviation: "",
						level: 1,
						name:"浙江",
						name: "浙江",
						pid: 156,
						postCode: null
					},
				],
				"address": '',
				"cities": [],
				"counties": [],
				"cityid": -1,
@ -339,27 +344,43 @@
				"provincename": "省份",
			}
		},
		mounted: function() {		
		mounted: function() {
			this.initinfo()
			$(".dropdown-menu").on("click", "[data-stopPropagation]", function(e) {
				e.stopPropagation();
				var tabid = e.currentTarget.id //js控制标签页
				var bbb=tabid.indexOf("_") 
				var bbb = tabid.indexOf("_")
				if(tabid.indexOf("_") > -1) {
					$('#' + tabid).tab('show')
				}
			});
		},
		methods: {
			selectP: function(id, name) {
				var vm = this
				$("#" + id).addClass("active")
				if(vm.provinceid != -1) {
					$("#" + vm.provinceid).removeClass("active")
			initinfo: function() {
				var vm = this;
				var loginInfo = JSON.parse(sessionStorage.getItem("oauthInfo"));
				var data1 = {
					userName: loginInfo.user,
					token: loginInfo.accessToken
				}
				vm.provinceid = id
				vm.provincename = name
				vm.getAddress(id, true)
				$('#addresslist a[href="#city"]').tab('show')
				loginAPI.getUserInfo(data1).then(function(res) {
					vm.userinfo = res
					if(vm.userinfo.provinceId != 0) {
						//						vm.provinceid = vm.userinfo.provinceId
						//						vm.cityid = vm.userinfo.cityId
						//						vm.countyid = vm.userinfo.areaId
						//						vm.provincename = vm.userinfo.provinceName
						//						vm.cityname = vm.userinfo.cityName
						//						vm.countyname = vm.userinfo.areaName
						vm.selectP(vm.userinfo.provinceId, vm.userinfo.provinceName)
						setTimeout(function() {
							vm.selectCi(vm.userinfo.cityId, vm.userinfo.cityName)
						}, 1000)
						setTimeout(function() {
							vm.selectCo(vm.userinfo.areaId, vm.userinfo.areaName)
						}, 2000)
					}
				})
			},
			getAddress: function(id, iscity) {
				var vm = this
@ -373,24 +394,75 @@
								}
							})
						} else {
							vm.Counties = res.map(function(res) {
							vm.counties = res.map(function(res) {
								return {
									id: res.id,
									name:res.name,
									name: res.name,
								}
							})
						}
					}
				})
			},
			selectC: function(id, name) {
			selectP: function(id, name) {
				var vm = this
				$("#" + id).addClass("active")
				vm.countyid = id
				vm.countyname = name
				if(vm.provinceid != -1) {
					$("#" + vm.provinceid).removeClass("active")
				}
				vm.initcity()
				vm.initcounty()
				vm.provinceid = id
				vm.provincename = name
				vm.getAddress(id, true)
				$('#addresslist a[href="#city"]').tab('show')
				vm.addAddress()
			},
			selectCi: function(id, name) {
				var vm = this
				$("#" + vm.cityid).removeClass("active")
				vm.initcounty()
				$("#" + id).addClass("active")
				vm.cityid = id
				vm.cityname = name
				vm.getAddress(id, false)
				$('#addresslist a[href="#county"]').tab('show')
				vm.addAddress()
			},
			selectCo: function(id, name) {
				var vm = this
				$("#" + vm.countyid).removeClass("active")
				$("#" + id).addClass("active")
				vm.countyid = id
				vm.countyname = name
				vm.addAddress()
			},
			initcity: function() {
				var vm = this
				$("#" + vm.cityid).removeClass("active")
				vm.cityid = 0
				vm.cityname = "城市"
			},
			initcounty: function() {
				var vm = this
				$("#" + vm.countyid).removeClass("active")
				vm.countyid = 0
				vm.countyname = "县区"
			},
			addAddress: function() {
				var vm = this
				var address = ''
				if(vm.provincename != "省市") {
					address += vm.provincename
					if(vm.cityname != "城市") {
						address += vm.cityname
						if(vm.countyname != "县区") {
							address += vm.countyname
						}
					}
				}
				$("#addrcode").val(address)
			}
		},
	})

+ 10 - 15
component/mine/select-industry.js

@ -37,30 +37,24 @@
					</div>
				</div>
			</div>`,
		props: ["industryid", "directionid","directionname","industryname"],
		props: [],
		data: function() {
			return {
				industrys: [],
				directions: [],
				industryid:-1,
				directionid:-1,
				industryname: "请选择行业",
				directionname: "请选择方向",
			}
		},
		mounted: function() {
			this.getindustry(this.industryid,true)
			$('#_direction').parent("li").addClass("hidden")
			this.getdatas(0,true)
		},
		methods: {
			getindustry: function() {
			getdatas: function(id, isindustry) {
				var vm = this
				if(vm.industryid == -1) {
					$('#_direction').parent("li").addClass("hidden")
				} else {
					vm.selectindustry(vm.industryid,vm.industryname)
					vm.getindustry(vm.industryid,false)
					vm.selectdirection(vm.directionid,vm.directionname)
				}
			},
			getindustry: function(id, isindustry) {
				var params = {
					size: 100,
					page: 1,
@ -73,8 +67,6 @@
					}else{
						vm.directions = res;
					}					//			getAllIndustry() //获取所有行业
				}).catch(function(err) {
					alert("获取行业列表失败");
				})
			},
			selectindustry: function(id, name) {
@ -84,12 +76,15 @@
				}
				$("#industry_" + id).addClass("selected")
				vm.industryid = id
				$("#direction_" + vm.directionid).removeClass("selected")
				vm.directionid = -1				
				vm.directionname = "请选择方向"
				vm.industryname = name
				if($('#_direction').parent("li").hasClass("hidden")) {
					$('#_direction').parent("li").removeClass("hidden")
				}
				$('#industrylist a[href="#direction"]').tab('show') //转到方向页面
				vm.getindustry(id,false) //通过id获取方向
				vm.getdatas(id,false) //通过id获取方向
			},
			selectdirection: function(id, name) {
				var vm = this

+ 2 - 2
page/mine/css/personal-info.css

@ -91,7 +91,7 @@ input.type-hide {
	padding: 5px 13px 3px;
}
.industry span.active {
.industry span.active,#city .active,#county .active{
	background: #0AD8C8;
	color: #fff;
	border-radius: 14px;
@ -176,7 +176,7 @@ input.type-hide {
	padding: 18px 10px;
	text-align: center;
	font-size: 14px;
	height: 281px;
	/*height: 281px;*/
}
.industryname {

+ 3 - 0
page/mine/html/personal-info.html

@ -4,6 +4,7 @@
	<head>
		<meta charset="UTF-8">
		<title>个人信息</title>
		<meta http-equiv="Content-Type" content="multipart/form-data; charset=utf-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<meta name="renderer" content="webkit">
		<meta http-equiv="Cache-Control" content="no-siteapp" />
@ -36,6 +37,8 @@
		<script src="../../../api/http-request.js " type="text/javascript " charset="utf-8 "></script>
		<script src="../../../plugins/artDialog/6.0.5/api/js/dialog-plus.js " type="text/javascript " charset="utf-8 "></script>
		<script src="../../../api/patient/mine-api.js" type="text/javascript " charset="utf-8 "></script>
		<script src="../../../api/patient/login-api.js" type="text/javascript " charset="utf-8 "></script>
		<script src="../../../api/patient/file-api.js" type="text/javascript " charset="utf-8 "></script>
		<script src="../../../component/mine/personal-dialog-form.js "></script>
		<script src="../../../component/common/footer.js "></script>
		<script src="../../../component/common/header.js "></script>

+ 93 - 0
page/mine/js/personal-info.js

@ -9,3 +9,96 @@ new Vue({
	}
});
$.validator.setDefaults({
	highlight: function(e) {
		$(e).closest(".form-group").removeClass("has-success").addClass("has-error")
	},
	success: function(e) {
		e.closest(".form-group").removeClass("has-error").addClass("has-success")
	},
	errorElement: "span",
	errorPlacement: function(e, r) {
		e.appendTo(r.is(":radio") || r.is(":checkbox") ? r.parent().parent().parent() : r.parent())
	},
	errorClass: "help-block m-b-none",
	validClass: "help-block m-b-none"
}), $().ready(function() {
	var e = "<i class='fa fa-times-circle'></i> ";
	$("#newInterfaceForm").validate({
		rules: {
			realName: {
				required: !0,
				noNull: !0,
			}, 
			micard: {
				required: !0,
				noNull: !0,
				validSSC:!0,
			},
			ssid: {
				required: !0,
				noNull: !0,
				validNumWord:!0,
			}, 
			idCardNo: {
				required: !0,
				noNull: !0,
				isCardNo:!0,
			},
			telephone: {
				required: !0,
				noNull: !0,
			}, 
			profession: {
				required: !0,
				noNull: !0,
			},
			street:{
				required: !0,
				noNull: !0,
			}
		},
		messages: {
			realName: {
				required: e + "请输入姓名",
			}, 
			micard: {
				required: e + "请输入医保账号",
			}, 
			ssid: {
				required: e + "请输入社保账号",
			},
			idCardNo: {
				required: e + "请输入身份证号",
			},
			telephone: {
				required: e + "请输入手机号码",
			}, 
			profession: {
				required: e + "请输入行业",
			},  
			street: {
				required: e + "请输入街道地址",
			}, 
		}
	})
});
jQuery.validator.addMethod("noNull", function(value, element) {	
	var aaa=isNull(value)
	var bbb=this.optional(element)
	return this.optional(element) || !isNull(value)
}, "此项必填,不得为空!");
jQuery.validator.addMethod("isCardNo", function(value, element) {
	var reg =/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
	var aaa=reg.test(value)
	var bbb=this.optional(element)
	return this.optional(element) || reg.test(value);
}, "请输入有效的身份证!");
jQuery.validator.addMethod("validSSC", function(value, element) {
	var reg =/^([a-zA-Z]{1}[a-zA-Z0-9]{8}|[0-9]{12})$/
	return this.optional(element) || reg.test(value);
}, "请填写有效的医保卡卡号!");
jQuery.validator.addMethod("validNumWord", function(value, element) {
	var reg =/^[0-9a-zA-Z]+$/
	return this.optional(element) || reg.test(value);
}, "请填写有效的社保卡号!");

+ 2 - 1
page/mineJiuZhen/html/mineJiuZhen.html

@ -114,10 +114,11 @@
		<script src="../../../js/es6-promise.js" type="text/javascript" charset="utf-8"></script>
		<script src="../../../js/underscore.js" type="text/javascript" charset="utf-8"></script>
		<script src="../../../js/util.js" type="text/javascript" charset="utf-8"></script>
		<!--<script src="../../../api/http-request.js" type="text/javascript" charset="utf-8"></script>-->
		<script src="../../../api/http-request.js" type="text/javascript" charset="utf-8"></script>
		<script src="../../../plugins/artDialog/6.0.5/api/js/dialog-plus.js" type="text/javascript" charset="utf-8"></script>
		<script src="../../../plugins/layer/layer.min.js" type="text/javascript" charset="utf-8"></script>
		<script src="../../../js/paging.js"></script>
		<script src="../../../api/patient/jiuzhen-api.js"></script>
		<script src="../../../component/common/event-bus.js" type="text/javascript" charset="utf-8"></script>
		<script src="../../../component/mineJiuZhen/mineJiuZhen-dialog-form.js" type="text/javascript" charset="utf-8"></script>
		<script src="../../../component/common/header.js" type="text/javascript" charset="utf-8"></script>

+ 21 - 4
page/mineJiuZhen/js/mineJiuZhen.js

@ -1,8 +1,8 @@
new Vue({
	el: "#app",
	data: {
		records: [{
			time: "2017年11月11日 13:13:13",
		records: [
			{time: "2017年11月11日 13:13:13",
			type: "预约挂号",
			doctor: "张三",
			zhiwu: "主任医生",
@ -16,8 +16,9 @@ new Vue({
			zhiwu: "主任医生",
			keshi: "骨科",
			yiyuan: "上饶医院",
			id: "2",
		}, ]
			id: "2",}, 
		],
		pageNo:1,
	},
	mounted: function() {
		//分页初始化
@ -34,8 +35,24 @@ new Vue({
		EventBus.$emit("jump-step", {
			step: 3
		}); //step:跳转的步数
		
		this.initlist(this.pageNo)
	},
	methods: {
		initlist:function(pageNo){
			var vm=this
			var oauthInfo = JSON.parse(sessionStorage.getItem("oauthInfo"));			
            var param ={
                type:'101',
                appid:httpRequest.client_id,
				toUserId:oauthInfo.id,
				page:pageNo,
				size:5
            }
			jiuzhenAPI.getRemind(param).then(function(res){
				vm.records=res
			})
		},
		cancelbtn: function(id) {
			mineJiuZhenDialogForm.cancelAppointment(id).then(function(layerid) {
				top.layer.close(layerid)