819 lines
20 KiB
JavaScript
819 lines
20 KiB
JavaScript
|
|
const util = require('../../utils/util.js');
|
|||
|
|
const api = require('../../config/api.js');
|
|||
|
|
const user = require('../../utils/user.js');
|
|||
|
|
|
|||
|
|
//获取应用实例
|
|||
|
|
const app = getApp();
|
|||
|
|
//var app = getApp();
|
|||
|
|
Page({
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 页面的初始数据
|
|||
|
|
*/
|
|||
|
|
data: {
|
|||
|
|
//默认为0,从根节点开始
|
|||
|
|
parentid: 0,
|
|||
|
|
//学生归属的学校id
|
|||
|
|
deptid: 0,
|
|||
|
|
|
|||
|
|
//班级选择
|
|||
|
|
classxpList:[],
|
|||
|
|
classxpListBackup: [],
|
|||
|
|
classIndexes: '',
|
|||
|
|
classcurrent: '',
|
|||
|
|
classSwitch: false,
|
|||
|
|
//学校选择
|
|||
|
|
schoolxpList:[],
|
|||
|
|
schoolxpListBackup: [],
|
|||
|
|
schoolIndexes: '',
|
|||
|
|
schoolcurrent: '',
|
|||
|
|
schoolSwitch: false,
|
|||
|
|
|
|||
|
|
//体检部门信息
|
|||
|
|
schoolname: '',
|
|||
|
|
classname: '',
|
|||
|
|
studentname: '',
|
|||
|
|
xytjinfo: {
|
|||
|
|
jdid: '',
|
|||
|
|
jdname: '',
|
|||
|
|
sqid: '',
|
|||
|
|
sqname: '',
|
|||
|
|
schoolid: '',
|
|||
|
|
schoolname: '',
|
|||
|
|
classid: '',
|
|||
|
|
classname: ''
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// show:false,
|
|||
|
|
// show2:false,
|
|||
|
|
// show3:false,
|
|||
|
|
showsex: false,
|
|||
|
|
relateSex:[
|
|||
|
|
{name:'男',value:'1'},
|
|||
|
|
{name:'女',value:'2'},
|
|||
|
|
],
|
|||
|
|
// relate:[
|
|||
|
|
// {name:'本人',relate:'0'},
|
|||
|
|
// {name:'子女',relate:'1'},
|
|||
|
|
// {name:'夫妻',relate:'2'},
|
|||
|
|
// {name:'父母',relate:'3'},
|
|||
|
|
// {name:'朋友',relate:'4'},
|
|||
|
|
// ],
|
|||
|
|
// cardType: [
|
|||
|
|
// // { name: '病历卡', value: 0 },
|
|||
|
|
// { name: '就诊卡', value: 1 ,msg:"请输入就诊卡号"},
|
|||
|
|
// // { name: '保障卡', value: 3 },
|
|||
|
|
// { name: '社保卡', value: 1 ,msg:'请输入社保卡号'},
|
|||
|
|
// { name: '身份证(电子健康卡)', value: 4 ,msg:'请输入身份证号码'},
|
|||
|
|
// ],
|
|||
|
|
state:'',//新增编辑状态
|
|||
|
|
type:'',//是否默认
|
|||
|
|
checked: '',//默认按钮选中状态
|
|||
|
|
idCard:'',//身份证
|
|||
|
|
trueName:'',//姓名
|
|||
|
|
sex: '', //性别
|
|||
|
|
sexdisp: '', //性别显示
|
|||
|
|
age: '', //年龄
|
|||
|
|
id: 0, //学生表主键id
|
|||
|
|
xschoolname: '',
|
|||
|
|
xclassname: '',
|
|||
|
|
xclassid: '',
|
|||
|
|
|
|||
|
|
sfzList:[],
|
|||
|
|
msg:"请输入号码",
|
|||
|
|
relateNmae:'',//关系名
|
|||
|
|
relateId:'',//关系值
|
|||
|
|
carNum:'',//就诊卡
|
|||
|
|
title:'',//标题
|
|||
|
|
cardT:'',//证件类型
|
|||
|
|
disabled:'',
|
|||
|
|
zjh:'',//证件号
|
|||
|
|
usrPatid:'' //学生就诊卡
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
showPopSex(){
|
|||
|
|
this.setData({ showsex: true });
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
onCloseSex(){
|
|||
|
|
this.setData({ showsex: false });
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
confirmSex(e){
|
|||
|
|
console.log(e.currentTarget.dataset.item)
|
|||
|
|
let item = e.currentTarget.dataset.item
|
|||
|
|
this.setData({
|
|||
|
|
sex : item.value,
|
|||
|
|
sexdisp: item.name,
|
|||
|
|
showsex: false
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
|
|||
|
|
onChange({ detail }) {
|
|||
|
|
this.setData({ checked: detail });
|
|||
|
|
},
|
|||
|
|
del(){
|
|||
|
|
var userid = 0;
|
|||
|
|
userid = this.data.id;
|
|||
|
|
|
|||
|
|
wx.showModal({
|
|||
|
|
title: '',
|
|||
|
|
content: '确定删除此体检人信息吗?',
|
|||
|
|
cancelText:"否",
|
|||
|
|
confirmText:'是',
|
|||
|
|
|
|||
|
|
success: function(res) {
|
|||
|
|
if (res.confirm) {
|
|||
|
|
util.requestForm(api.deletestudent, {
|
|||
|
|
id: userid
|
|||
|
|
}, "DELETE")
|
|||
|
|
.then(function(res) {
|
|||
|
|
if (res.code === 0) {
|
|||
|
|
console.log("deletestudent res:");
|
|||
|
|
console.log(res);
|
|||
|
|
console.log("deletestudent resdata:");
|
|||
|
|
console.log(res.data);
|
|||
|
|
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '删除成功',
|
|||
|
|
icon:'success'
|
|||
|
|
})
|
|||
|
|
setTimeout(item => {
|
|||
|
|
wx.navigateBack({
|
|||
|
|
delta: 1 //返回上一级页面
|
|||
|
|
})
|
|||
|
|
},1000)
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
save(){
|
|||
|
|
//是否默认体检人
|
|||
|
|
if(this.data.checked == true){
|
|||
|
|
this.setData({
|
|||
|
|
type:0
|
|||
|
|
})
|
|||
|
|
}else{
|
|||
|
|
this.setData({
|
|||
|
|
type:1
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// let relate = this.data.relateId
|
|||
|
|
// let cardType = this.data.cardV
|
|||
|
|
// let medical_card = this.data.carNum
|
|||
|
|
let that = this;
|
|||
|
|
let cardNum = this.data.idCard
|
|||
|
|
let type = this.data.type
|
|||
|
|
let hzxm =this.data.trueName
|
|||
|
|
let sex = this.getSexFromIdCard(this.data.idCard)
|
|||
|
|
let age = this.calculateAge(this.data.idCard)
|
|||
|
|
let userid = this.data.id;
|
|||
|
|
let classid = this.data.xytjinfo.classid;
|
|||
|
|
let classname = this.data.xytjinfo.classname;
|
|||
|
|
let schoolname = this.data.xytjinfo.schoolname;
|
|||
|
|
|
|||
|
|
console.log(hzxm)
|
|||
|
|
console.log(cardNum)
|
|||
|
|
console.log(type)
|
|||
|
|
console.log(sex)
|
|||
|
|
console.log(age)
|
|||
|
|
console.log(this.data.state)
|
|||
|
|
|
|||
|
|
//state 0 -- 新增
|
|||
|
|
if(this.data.state == 0){
|
|||
|
|
if(cardNum ==''){
|
|||
|
|
wx.showModal({
|
|||
|
|
content: '请填写完整身份证号码',
|
|||
|
|
showCancel: false,
|
|||
|
|
})
|
|||
|
|
}else{
|
|||
|
|
util.requestPost(api.createstudent, {
|
|||
|
|
openid: app.globalData.openId,
|
|||
|
|
defaultflag: type,
|
|||
|
|
name: hzxm,
|
|||
|
|
sex: sex,
|
|||
|
|
age: age,
|
|||
|
|
deptId: classid,
|
|||
|
|
className: classname,
|
|||
|
|
schoolName: schoolname,
|
|||
|
|
nationId: cardNum
|
|||
|
|
})
|
|||
|
|
.then(function(res) {
|
|||
|
|
console.log(res);
|
|||
|
|
if (res.code === 0) {
|
|||
|
|
console.log("createstudent res:");
|
|||
|
|
console.log(res);
|
|||
|
|
console.log("createstudent resdata:");
|
|||
|
|
console.log(res.data);
|
|||
|
|
|
|||
|
|
if(type == 0)
|
|||
|
|
{
|
|||
|
|
app.globalData.gdefaultflag = type;
|
|||
|
|
app.globalData.gname = hzxm;
|
|||
|
|
app.globalData.gsex = sex;
|
|||
|
|
app.globalData.gage = age;
|
|||
|
|
app.globalData.gdeptId = classid;
|
|||
|
|
app.globalData.gclassName = classname;
|
|||
|
|
app.globalData.gschoolName = schoolname;
|
|||
|
|
app.globalData.gnationId = cardNum;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//自动建档并关联到父openid
|
|||
|
|
that.linkUser(hzxm, cardNum);
|
|||
|
|
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '添加成功',
|
|||
|
|
icon:'success'
|
|||
|
|
})
|
|||
|
|
setTimeout(item => {
|
|||
|
|
wx.navigateBack({
|
|||
|
|
delta: 1 //返回上一级页面
|
|||
|
|
})
|
|||
|
|
},1000)
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
else{
|
|||
|
|
wx.showToast({
|
|||
|
|
title: res.msg,
|
|||
|
|
icon:'error'
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}else{
|
|||
|
|
|
|||
|
|
//如果已经是默认体检人,不允许改变,需要先设置其他人为默认
|
|||
|
|
console.log("默认 体检人");
|
|||
|
|
console.log(app.globalData.gnationId);
|
|||
|
|
if(type == 1 && (app.globalData.gnationId === cardNum) ){
|
|||
|
|
wx.showModal({
|
|||
|
|
content: '至少一个人为默认体检人',
|
|||
|
|
showCancel: false,
|
|||
|
|
})
|
|||
|
|
}else{
|
|||
|
|
wx.showModal({
|
|||
|
|
title: '',
|
|||
|
|
content: '确定更改此体检人信息吗?',
|
|||
|
|
cancelText:"否",
|
|||
|
|
confirmText:'是',
|
|||
|
|
success: function(res) {
|
|||
|
|
if (res.confirm) {
|
|||
|
|
|
|||
|
|
util.requestPost(api.updatestudent, {
|
|||
|
|
openid: app.globalData.openId,
|
|||
|
|
defaultflag: type,
|
|||
|
|
name: hzxm,
|
|||
|
|
sex: sex,
|
|||
|
|
nationId: cardNum,
|
|||
|
|
id: userid,
|
|||
|
|
deptId: classid,
|
|||
|
|
className: classname,
|
|||
|
|
schoolName: schoolname,
|
|||
|
|
age: age
|
|||
|
|
})
|
|||
|
|
.then(function(res) {
|
|||
|
|
if (res.code === 0) {
|
|||
|
|
console.log("updatestudent res:");
|
|||
|
|
console.log(res);
|
|||
|
|
console.log("updatestudent resdata:");
|
|||
|
|
console.log(res.data);
|
|||
|
|
|
|||
|
|
console.log(hzxm)
|
|||
|
|
console.log(cardNum)
|
|||
|
|
console.log(type)
|
|||
|
|
console.log(sex)
|
|||
|
|
console.log(age)
|
|||
|
|
|
|||
|
|
if(type == 0){
|
|||
|
|
app.globalData.gdefaultflag = type;
|
|||
|
|
app.globalData.gname = hzxm;
|
|||
|
|
app.globalData.gsex = sex;
|
|||
|
|
app.globalData.gage = age;
|
|||
|
|
app.globalData.gdeptId = classid;
|
|||
|
|
app.globalData.gclassName = classname;
|
|||
|
|
app.globalData.gschoolName = schoolname;
|
|||
|
|
app.globalData.gnationId = cardNum;
|
|||
|
|
}
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '编辑成功',
|
|||
|
|
icon:'success'
|
|||
|
|
})
|
|||
|
|
setTimeout(item => {
|
|||
|
|
wx.navigateBack({
|
|||
|
|
delta: 1 //返回上一级页面
|
|||
|
|
})
|
|||
|
|
},1000)
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
else{
|
|||
|
|
wx.showToast({
|
|||
|
|
title: res.msg,
|
|||
|
|
icon:'error'
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
linkUser:function(gname, xPatid){
|
|||
|
|
//第二步 关联到父openid
|
|||
|
|
console.log(xPatid, 'usrPatid');
|
|||
|
|
wx.request({
|
|||
|
|
url:'https://fy.btlsoln.com:8443/patientBindWXUser?cardno&cardtype&openid&relate&type&hzxm',
|
|||
|
|
method:"GET",
|
|||
|
|
data:{
|
|||
|
|
cardno: xPatid,
|
|||
|
|
cardtype: '1',
|
|||
|
|
relate: '1', //都是子女
|
|||
|
|
type: '1', //不当做默认就诊人
|
|||
|
|
openid: app.globalData.openId,
|
|||
|
|
hzxm: gname
|
|||
|
|
},
|
|||
|
|
header: {
|
|||
|
|
'content-type': 'application/json'
|
|||
|
|
},
|
|||
|
|
success: (res)=> {
|
|||
|
|
if(res.data.errCode == 0){
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '关联就诊人成功',
|
|||
|
|
icon:'success'
|
|||
|
|
})
|
|||
|
|
return true;
|
|||
|
|
}else{
|
|||
|
|
wx.showToast({
|
|||
|
|
title: "关联就诊人失败",
|
|||
|
|
icon:'error'
|
|||
|
|
})
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
checkUser(gname, gnationId){
|
|||
|
|
let that = this;
|
|||
|
|
//查档
|
|||
|
|
wx.request({
|
|||
|
|
url:'https://fy.btlsoln.com:8443/his/getPatient?cardno&cardtype&hzxm',
|
|||
|
|
method:"GET",
|
|||
|
|
data:{
|
|||
|
|
cardno: gnationId,
|
|||
|
|
cardtype: '4', //只支持身份证建档
|
|||
|
|
hzxm: gname
|
|||
|
|
},
|
|||
|
|
header: {
|
|||
|
|
'content-type': 'application/json'
|
|||
|
|
},
|
|||
|
|
success: (res)=> {
|
|||
|
|
if(res.data.errCode == 0){
|
|||
|
|
console.log(res.data,'exist user')
|
|||
|
|
console.log(res.data.list[0].brzt,'exist user')
|
|||
|
|
if(res.data.list[0].brzt == 'R'){
|
|||
|
|
//需要建档
|
|||
|
|
//第一步 先做身份证建档
|
|||
|
|
console.log("开始建档");
|
|||
|
|
util.requestForm(api.addUser, {
|
|||
|
|
hzxm: gname,
|
|||
|
|
sfzh: gnationId,
|
|||
|
|
lxdh: ''
|
|||
|
|
})
|
|||
|
|
.then(function(res) {
|
|||
|
|
console.log(res, 'adduser res');
|
|||
|
|
if (res.errCode == 0) {
|
|||
|
|
console.log(res.list[0].patid, 'patid');
|
|||
|
|
|
|||
|
|
that.setData({
|
|||
|
|
usrPatid: res.list[0].patid
|
|||
|
|
})
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '自动建档成功',
|
|||
|
|
icon:'success'
|
|||
|
|
})
|
|||
|
|
// that.linkUser(gname, res.list[0].patid);
|
|||
|
|
|
|||
|
|
that.linkUser(gname, gnationId);
|
|||
|
|
}
|
|||
|
|
else{
|
|||
|
|
wx.showToast({
|
|||
|
|
title: res.errMsg,
|
|||
|
|
icon:'error'
|
|||
|
|
})
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
else{
|
|||
|
|
//已经建档
|
|||
|
|
// that.linkUser(gname, res.data.list[0].patid);
|
|||
|
|
that.linkUser(gname, gnationId);
|
|||
|
|
}
|
|||
|
|
}else{
|
|||
|
|
console.log(res.data,'error for check user')
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
fail: (res)=> {
|
|||
|
|
console.log(res.data,'exception for check user')
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
showModal(error) {
|
|||
|
|
wx.showModal({
|
|||
|
|
content: error.msg,
|
|||
|
|
showCancel: false,
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
trueName:function(e){
|
|||
|
|
this.setData({
|
|||
|
|
trueName:e.detail.value
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
change_trueName(e){
|
|||
|
|
let hzxm =e.detail.value.replace(/\./g,'·')
|
|||
|
|
hzxm =hzxm.replace(/\。/g,'·')
|
|||
|
|
this.setData({
|
|||
|
|
trueName:hzxm
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
zjh:function(e){
|
|||
|
|
this.setData({
|
|||
|
|
zjh:e.detail.value
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* 生命周期函数--监听页面加载
|
|||
|
|
*/
|
|||
|
|
onLoad: function (options) {
|
|||
|
|
|
|||
|
|
// url: '/pages/studentMsgDel/studentMsgDel?state='+state+'&idCard='+idCard+'&trueName='+trueName+'&type='+type +'&sex='+sex +'&age='+age+'&state='+state,
|
|||
|
|
console.log(options,"编辑")
|
|||
|
|
this.setData({
|
|||
|
|
state:options.state,
|
|||
|
|
id: options.id
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
if(options.sex == 1){
|
|||
|
|
this.setData({
|
|||
|
|
sexdisp: '男'
|
|||
|
|
})
|
|||
|
|
}else if(options.sex == 2){
|
|||
|
|
this.setData({
|
|||
|
|
sexdisp: '女'
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if(options.type == 0){
|
|||
|
|
this.setData({
|
|||
|
|
checked:true,
|
|||
|
|
type: 0
|
|||
|
|
})
|
|||
|
|
}else {
|
|||
|
|
this.setData({
|
|||
|
|
checked:false,
|
|||
|
|
type: 1
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
if(options.state == 0){
|
|||
|
|
this.setData({
|
|||
|
|
title:"添加体检人"
|
|||
|
|
})
|
|||
|
|
}else{
|
|||
|
|
this.setData({
|
|||
|
|
title:"编辑体检人",
|
|||
|
|
trueName:options.trueName,
|
|||
|
|
idCard:options.idCard,
|
|||
|
|
sex:options.sex,
|
|||
|
|
age:options.age,
|
|||
|
|
id: options.id,
|
|||
|
|
schoolname: options.schoolname,
|
|||
|
|
classname: options.classname,
|
|||
|
|
disabled:"disabled"
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//设置值
|
|||
|
|
this.data.xytjinfo.schoolname = options.schoolname;
|
|||
|
|
this.data.xytjinfo.classname = options.classname;
|
|||
|
|
this.data.xytjinfo.classid = options.classid;
|
|||
|
|
this.schoolList();
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 生命周期函数--监听页面初次渲染完成
|
|||
|
|
*/
|
|||
|
|
onReady: function () {
|
|||
|
|
wx.setNavigationBarTitle({
|
|||
|
|
title: this.data.title
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 生命周期函数--监听页面显示
|
|||
|
|
*/
|
|||
|
|
onShow: function () {
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 生命周期函数--监听页面隐藏
|
|||
|
|
*/
|
|||
|
|
onHide: function () {
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 生命周期函数--监听页面卸载
|
|||
|
|
*/
|
|||
|
|
onUnload: function () {
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|||
|
|
*/
|
|||
|
|
onPullDownRefresh: function () {
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 页面上拉触底事件的处理函数
|
|||
|
|
*/
|
|||
|
|
onReachBottom: function () {
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 用户点击右上角分享
|
|||
|
|
*/
|
|||
|
|
onShareAppMessage: function () {
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//班级
|
|||
|
|
classList: function() {
|
|||
|
|
var that = this;
|
|||
|
|
util.request(api.deptinfo, {
|
|||
|
|
parentid: this.data.parentid
|
|||
|
|
})
|
|||
|
|
.then(function(res) {
|
|||
|
|
if (res.code === 0) {
|
|||
|
|
console.log("classinfo res:");
|
|||
|
|
console.log(res);
|
|||
|
|
console.log("classinfo resdata:");
|
|||
|
|
console.log(res.data);
|
|||
|
|
that.setData({
|
|||
|
|
classxpList: res.data,
|
|||
|
|
classxpListBackup: res.data
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
//开启控件
|
|||
|
|
classOn: function(){
|
|||
|
|
this.setData({
|
|||
|
|
classSwitch: true
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
//关闭控件
|
|||
|
|
classShutdown: function(){
|
|||
|
|
let List = [];
|
|||
|
|
this.setData({
|
|||
|
|
classSwitch: false
|
|||
|
|
})
|
|||
|
|
//恢复数据
|
|||
|
|
for(let i = 0;i < this.data.classxpListBackup.length;i++){
|
|||
|
|
List.push(this.data.classxpListBackup[i]);
|
|||
|
|
}
|
|||
|
|
this.setData({
|
|||
|
|
classxpList: List,
|
|||
|
|
classIndexes: ''
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
//条件输入事件
|
|||
|
|
setclassIndexes(event){
|
|||
|
|
this.setData({
|
|||
|
|
classIndexes: event.detail,
|
|||
|
|
});
|
|||
|
|
console.log("classIndexes:" + event.detail)
|
|||
|
|
},
|
|||
|
|
//点击确定搜索时触发事件
|
|||
|
|
classGo: function(){
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '加载中',
|
|||
|
|
icon: "loading",
|
|||
|
|
duration: 1000
|
|||
|
|
})
|
|||
|
|
let row = [];
|
|||
|
|
if(this.data.classIndexes){
|
|||
|
|
this.data.classxpListBackup.forEach((item) => {
|
|||
|
|
if (item.name.indexOf(this.data.classIndexes) > -1) {
|
|||
|
|
row.push(item);
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}else{
|
|||
|
|
row = this.data.classxpListBackup
|
|||
|
|
}
|
|||
|
|
this.setData({
|
|||
|
|
classcurrent: this.data.classIndexes,
|
|||
|
|
classxpList: row
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
//用户选择某个选项后触发事件
|
|||
|
|
classIdentification(event){
|
|||
|
|
let List = [];
|
|||
|
|
let Backups = this.data.classxpListBackup;
|
|||
|
|
let id = event.detail.value.id;
|
|||
|
|
console.log("pick select value:");
|
|||
|
|
console.log(event.detail.value);
|
|||
|
|
console.log("pick select id:" + event.detail.index);
|
|||
|
|
|
|||
|
|
this.data.xytjinfo.classid = event.detail.value.id;
|
|||
|
|
this.data.xytjinfo.classname = event.detail.value.name;
|
|||
|
|
this.setData({ classname: event.detail.value.name });
|
|||
|
|
//根据选择的id,获取下一级结构
|
|||
|
|
// this.setData({ deptid: event.detail.value.id});
|
|||
|
|
// this.studentList();
|
|||
|
|
|
|||
|
|
console.log("set select classid:" + this.data.xytjinfo.classid);
|
|||
|
|
console.log("set select classname:" + this.data.xytjinfo.classname);
|
|||
|
|
|
|||
|
|
for(let i = 0;i < Backups.length;i++){
|
|||
|
|
List.push(Backups[i]);
|
|||
|
|
}
|
|||
|
|
this.setData({
|
|||
|
|
classxpList: List,
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
console.log("pick after list:");
|
|||
|
|
console.log(this.data.classxpList);
|
|||
|
|
console.log("pick after list backup");
|
|||
|
|
console.log(this.data.classxpListBackup);
|
|||
|
|
this.classShutdown();
|
|||
|
|
},
|
|||
|
|
//学校
|
|||
|
|
schoolList: function() {
|
|||
|
|
var that = this;
|
|||
|
|
util.request(api.deptinfo, {
|
|||
|
|
parentid: this.data.parentid
|
|||
|
|
})
|
|||
|
|
.then(function(res) {
|
|||
|
|
if (res.code === 0) {
|
|||
|
|
console.log("schoolinfo res:");
|
|||
|
|
console.log(res);
|
|||
|
|
console.log("schoolinfo resdata:");
|
|||
|
|
console.log(res.data);
|
|||
|
|
that.setData({
|
|||
|
|
schoolxpList: res.data,
|
|||
|
|
schoolxpListBackup: res.data
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
//开启控件
|
|||
|
|
schoolOn: function(){
|
|||
|
|
this.setData({
|
|||
|
|
schoolSwitch: true
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
//关闭控件
|
|||
|
|
schoolShutdown: function(){
|
|||
|
|
let List = [];
|
|||
|
|
this.setData({
|
|||
|
|
schoolSwitch: false
|
|||
|
|
})
|
|||
|
|
//恢复数据
|
|||
|
|
for(let i = 0;i < this.data.schoolxpListBackup.length;i++){
|
|||
|
|
List.push(this.data.schoolxpListBackup[i]);
|
|||
|
|
}
|
|||
|
|
this.setData({
|
|||
|
|
schoolxpList: List,
|
|||
|
|
schoolIndexes: ''
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
//条件输入事件
|
|||
|
|
setschoolIndexes(event){
|
|||
|
|
this.setData({
|
|||
|
|
schoolIndexes: event.detail,
|
|||
|
|
});
|
|||
|
|
console.log("schoolIndexes:" + event.detail)
|
|||
|
|
},
|
|||
|
|
//点击确定搜索时触发事件
|
|||
|
|
schoolGo: function(){
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '加载中',
|
|||
|
|
icon: "loading",
|
|||
|
|
duration: 1000
|
|||
|
|
})
|
|||
|
|
let row = [];
|
|||
|
|
if(this.data.schoolIndexes){
|
|||
|
|
this.data.schoolxpListBackup.forEach((item) => {
|
|||
|
|
if (item.name.indexOf(this.data.schoolIndexes) > -1) {
|
|||
|
|
row.push(item);
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}else{
|
|||
|
|
row = this.data.schoolxpListBackup
|
|||
|
|
}
|
|||
|
|
this.setData({
|
|||
|
|
schoolcurrent: this.data.schoolIndexes,
|
|||
|
|
schoolxpList: row
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
//用户选择某个选项后触发事件
|
|||
|
|
schoolIdentification(event){
|
|||
|
|
let List = [];
|
|||
|
|
let Backups = this.data.schoolxpListBackup;
|
|||
|
|
let id = event.detail.value.id;
|
|||
|
|
console.log("pick select value:");
|
|||
|
|
console.log(event.detail.value);
|
|||
|
|
console.log("pick select id:" + event.detail.index);
|
|||
|
|
|
|||
|
|
this.data.xytjinfo.schoolid = event.detail.value.id;
|
|||
|
|
this.data.xytjinfo.schoolname = event.detail.value.name;
|
|||
|
|
this.setData({ schoolname: event.detail.value.name });
|
|||
|
|
//根据选择的id,获取下一级结构
|
|||
|
|
this.setData({ parentid: event.detail.value.id});
|
|||
|
|
this.classList();
|
|||
|
|
|
|||
|
|
console.log("set select schoolid:" + this.data.xytjinfo.schoolid);
|
|||
|
|
console.log("set select schoolname:" + this.data.xytjinfo.schoolname);
|
|||
|
|
|
|||
|
|
for(let i = 0;i < Backups.length;i++){
|
|||
|
|
List.push(Backups[i]);
|
|||
|
|
}
|
|||
|
|
this.setData({
|
|||
|
|
schoolxpList: List,
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
console.log("pick after list:");
|
|||
|
|
console.log(this.data.schoolxpList);
|
|||
|
|
console.log("pick after list backup");
|
|||
|
|
console.log(this.data.schoolxpListBackup);
|
|||
|
|
this.schoolShutdown();
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
|
|||
|
|
// 从身份证号码中提取性别信息
|
|||
|
|
getSexFromIdCard: function(idCard){
|
|||
|
|
var org_gender = idCard.substring(16, 17);
|
|||
|
|
// var sex = org_gender % 2 == 1 ? "男" : "女";
|
|||
|
|
var sex = org_gender % 2 == 1 ? 1 : 2;
|
|||
|
|
|
|||
|
|
return sex; // 这里假设身份证号码长度为18位并按照标准格式存放
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 从身份证号码中提取生日信息(格式为YYYYMMDD)
|
|||
|
|
getBirthdayFromIdCard: function(idCard){
|
|||
|
|
return idCard.substring(6, 14); // 这里假设身份证号码长度为18位并按照标准格式存放
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
// 将字符串类型的生日转换成Date对象
|
|||
|
|
convertToDateObject: function(birthdayString){
|
|||
|
|
const year = birthdayString.substr(0, 4);
|
|||
|
|
const month = birthdayString.substr(4, 2);
|
|||
|
|
const day = birthdayString.substr(6, 2);
|
|||
|
|
|
|||
|
|
return new Date(`${year}-${month}-${day}`);
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 计算年龄函数
|
|||
|
|
calculateAge: function(idCard){
|
|||
|
|
// 获取当前日期
|
|||
|
|
const currentDate = new Date();
|
|||
|
|
|
|||
|
|
const birthdate = this.convertToDateObject(this.getBirthdayFromIdCard(idCard));
|
|||
|
|
let age;
|
|||
|
|
|
|||
|
|
if (currentDate >= birthdate && !isNaN(currentDate)) {
|
|||
|
|
age = Math.floor((currentDate - birthdate) / (365 * 24 * 60 * 60 * 1000));
|
|||
|
|
} else {
|
|||
|
|
console.error('无效的身份证号码或者未知错误');
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return age || '';
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
// 调用示例
|
|||
|
|
// const idCardNumber = 'xxxxxxxxx'; // 输入真实的身份证号码
|
|||
|
|
// console.log(calculateAge(idCardNumber));
|
|||
|
|
|
|||
|
|
|
|||
|
|
})
|