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));
|
||
|
||
|
||
})
|