384 lines
7.5 KiB
JavaScript
384 lines
7.5 KiB
JavaScript
// pages/sugarDetail/sugarDetail.js
|
|
const app = getApp()
|
|
import {throttle} from "../../utils/util"
|
|
import {family,addfamily} from "../../api/familyDoc";
|
|
import {getProject,hasCreate} from "../../api/checkSugar"
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
showdialog:false,
|
|
cancelBtn:false,
|
|
messageTitle:'',
|
|
opacity:0,
|
|
nation_id:'',
|
|
nation_name:'',
|
|
show:false,
|
|
projectImg:'',
|
|
detection_project_id:1,
|
|
idCard:'',
|
|
relation:'',
|
|
phoneNumber:'',
|
|
card_name:'',
|
|
realName:'',
|
|
showAdd:false,
|
|
currentName:'',
|
|
age:"",
|
|
currentFamilyId:'',
|
|
showPicker:false,
|
|
family:[],
|
|
columns: [{
|
|
text: "本人",
|
|
value: 1
|
|
},
|
|
{
|
|
text: "父母",
|
|
value: 2
|
|
},
|
|
{
|
|
text: "爱人",
|
|
value: 3
|
|
},
|
|
{
|
|
text: "子女",
|
|
value: 4
|
|
},
|
|
{
|
|
text: "亲戚",
|
|
value: 5
|
|
},
|
|
{
|
|
text: "其他 ",
|
|
value: 6
|
|
}
|
|
]
|
|
},
|
|
onConfirmPicker(event) {
|
|
const {value} = event.detail;
|
|
this.setData({
|
|
relationId: `${value.value}`,
|
|
relation: `${value.text}`,
|
|
showPicker: false
|
|
});
|
|
},
|
|
|
|
openPicker() {
|
|
this.setData({
|
|
showPicker: true
|
|
})
|
|
},
|
|
closePicker() {
|
|
this.setData({
|
|
showPicker: false
|
|
})
|
|
},
|
|
addPatient(){
|
|
this.setData({
|
|
showAdd:true,
|
|
currentFamilyId:"",
|
|
sex:""
|
|
})
|
|
},
|
|
onCloseAdd() {
|
|
this.setData({
|
|
showAdd: false
|
|
});
|
|
},
|
|
onClose(){
|
|
this.setData({
|
|
show:false
|
|
})
|
|
},
|
|
showPatient(){
|
|
this.setData({
|
|
show:true
|
|
})
|
|
},
|
|
onConfirm(event) {
|
|
const { value} = event.detail;
|
|
this.setData({
|
|
relationId: `${value.value}`,
|
|
relation:`${value.text}`,
|
|
showPicker:false
|
|
});
|
|
},
|
|
inputChange(e){
|
|
this.setData({
|
|
[e.target.dataset.id]: e.detail.value
|
|
})
|
|
},
|
|
handelGetProject(){
|
|
let {detection_project_id}=this.data;
|
|
getProject(
|
|
detection_project_id
|
|
).then(data=>{
|
|
this.setData({
|
|
projectImg:data.img_path
|
|
})
|
|
})
|
|
},
|
|
cancelAlert(){
|
|
this.setData({
|
|
showdialog: false
|
|
})
|
|
},
|
|
confirm(event) {
|
|
if (event.detail) {
|
|
this.setData({
|
|
showdialog: false
|
|
})
|
|
}
|
|
if(this.data.messageTitle=="当前患者存在进行中检测订单"){
|
|
let {order_detection_id}=this.data;
|
|
app.method.navigateTo({
|
|
url: '/pages/checkOrderDetail/checkOrderDetail?order_detection_id='+ order_detection_id,
|
|
})
|
|
}
|
|
},
|
|
handleHasCreate(){
|
|
let {currentFamilyId,sex,currentName,detection_project_id,age,nation_id,nation_name}=this.data;
|
|
hasCreate({
|
|
family_id:currentFamilyId,
|
|
detection_project_id:detection_project_id
|
|
}).then(data=>{
|
|
if(data){
|
|
this.setData({
|
|
showdialog:true,
|
|
messageTitle:"当前患者存在进行中检测订单",
|
|
order_detection_id: data,
|
|
cancelBtn:true
|
|
})
|
|
}else{
|
|
let cur_nation_id=nation_id?nation_id:'';
|
|
let cur_nation_name=nation_name?nation_name:'';
|
|
app.method.navigateTo({
|
|
url: '/pages/sugarSickInfo/sugarSickInfo?family_id='+currentFamilyId+"&real_name="+currentName+"&detection_project_id="+detection_project_id+"&sex="+sex+"&age="+age+"&nation_id="+cur_nation_id+"&nation_name="+cur_nation_name
|
|
})
|
|
}
|
|
})
|
|
},
|
|
|
|
//获取身份证号信息
|
|
getIdInfo(IdCard){
|
|
var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
|
|
if(reg.test(IdCard)){
|
|
let sex
|
|
if (parseInt(IdCard.substr(16, 1)) % 2 === 1) {
|
|
sex = '1'
|
|
} else {
|
|
sex = '2'
|
|
}
|
|
var ageDate = new Date()
|
|
var month = ageDate.getMonth() + 1
|
|
var day = ageDate.getDate()
|
|
var age = ageDate.getFullYear() - IdCard.substring(6, 10) - 1
|
|
if (IdCard.substring(10, 12) < month || (IdCard.substring(10, 12) === month && IdCard.substring(12, 14) <= day)) {
|
|
age++
|
|
}
|
|
if (age <= 0) {
|
|
age = 1
|
|
}
|
|
return { sex, age}
|
|
}else{
|
|
return false;
|
|
}
|
|
},
|
|
addFamily(){
|
|
let {realName,idCard,phoneNumber,relationId}=this.data;
|
|
addfamily({
|
|
card_name:realName,
|
|
type:1,
|
|
id_number:idCard,
|
|
mobile:phoneNumber,
|
|
is_default:0,
|
|
relation:relationId
|
|
}).then((data)=>{
|
|
this.getFamily();
|
|
this.setData({
|
|
currentFamilyId:data.family_id,
|
|
realName:'',
|
|
idCard:'',
|
|
phoneNumber:'',
|
|
relationId:'',
|
|
showAdd:false,
|
|
relation:'',
|
|
show:true
|
|
})
|
|
})
|
|
},
|
|
selectPatient(e){
|
|
const {familyid,sex,card_name,age,nation,nation_name}=e.currentTarget.dataset;
|
|
this.setData({
|
|
currentFamilyId:familyid,
|
|
sex:sex,
|
|
nation_name:nation_name,
|
|
age:age,
|
|
nation_id:nation,
|
|
currentName:card_name
|
|
})
|
|
},
|
|
getFamily(){
|
|
family().then((data)=>{
|
|
this.setData({
|
|
family:this.transforpage(data)
|
|
})
|
|
})
|
|
},
|
|
transforpage(arr) {
|
|
const pages = []
|
|
let newArr=arr.concat([{
|
|
type:"add"
|
|
}])
|
|
newArr.forEach((item, index) => {
|
|
const page = Math.floor(index / 2)
|
|
if (!pages[page]) {
|
|
pages[page] = []
|
|
}
|
|
pages[page].push(item)
|
|
});
|
|
return pages
|
|
},
|
|
goBack(){
|
|
console.log("origion:"+app.globalData.origion)
|
|
if(app.globalData.origion==1){
|
|
wx.reLaunch({
|
|
url: '/pages/index/index',
|
|
})
|
|
}else if(app.globalData.origion==2){
|
|
wx.reLaunch({
|
|
url: '/pages/index/index',
|
|
})
|
|
}else{
|
|
wx.navigateBack({
|
|
delta: 1,
|
|
fail:function(){
|
|
wx.reLaunch({
|
|
url: '/pages/index/index',
|
|
})
|
|
}
|
|
})
|
|
}
|
|
|
|
},
|
|
handleThrottleSick:throttle(function(){
|
|
|
|
this.goSick()
|
|
}),
|
|
goSick(){
|
|
|
|
if (!/^([\u4e00-\u9fa5\·]{2,10})$/.test(this.data.realName)) {
|
|
wx.showToast({
|
|
title: `姓名要求在2-10个汉字`,
|
|
icon: 'none',
|
|
});
|
|
return false;
|
|
};
|
|
if (!/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(this.data.idCard)){
|
|
wx.showToast({
|
|
title: `请输入有效的身份证号`,
|
|
icon: 'none',
|
|
});
|
|
return false;
|
|
};
|
|
if(this.data.phoneNumber){
|
|
if(!/^1[3456789]\d{9}$/.test(this.data.phoneNumber)){
|
|
wx.showToast({
|
|
title: `请输入有效的手机号码!`,
|
|
icon: 'none',
|
|
});
|
|
return false;
|
|
}
|
|
};
|
|
let idInfo=this.getIdInfo(this.data.idCard);
|
|
if(idInfo.age<6){
|
|
wx.showToast({
|
|
title: `六岁以下儿童不支持线上问诊`,
|
|
icon: 'none',
|
|
});
|
|
return false;
|
|
}
|
|
|
|
this.setData({
|
|
sex:idInfo.sex,
|
|
age:idInfo.age,
|
|
nation_id:'',
|
|
nation_name:'',
|
|
currentName:this.data.realName
|
|
})
|
|
this.addFamily();
|
|
|
|
},
|
|
onPageScroll: function(e) {
|
|
let opacity=0;
|
|
if(e.scrollTop/(86*2)>=1){
|
|
opacity=1
|
|
}else{
|
|
opacity=e.scrollTop/(86*2)
|
|
}
|
|
this.setData({
|
|
opacity:opacity
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad(options) {
|
|
this.setData({
|
|
img_host:app.hostConfig().imghost
|
|
});
|
|
this.handelGetProject();
|
|
this.getFamily()
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
// onShareAppMessage() {
|
|
|
|
// }
|
|
}) |