diff --git a/common/util.js b/common/util.js index 10d0136..3e67817 100644 --- a/common/util.js +++ b/common/util.js @@ -27,3 +27,35 @@ export function formatDate(date, fmt) { function padLeftZero(str) { return ('00' + str).substr(str.length); }; + + +export function getAgeByIdcard(identityCard) { + let len = (identityCard + "").length; + if (len == 0) { + return 0; + } else { + if ((len != 15) && (len != 18)) //身份证号码只能为15位或18位其它不合法 + { + return 0; + } + } + let strBirthday = ""; + if (len == 18) //处理18位的身份证号码从号码中得到生日和性别代码 + { + strBirthday = identityCard.substr(6, 4) + "/" + identityCard.substr(10, 2) + "/" + identityCard.substr(12, 2); + } + if (len == 15) { + strBirthday = "19" + identityCard.substr(6, 2) + "/" + identityCard.substr(8, 2) + "/" + identityCard.substr(10, + 2); + } + //时间字符串里,必须是“/” + let birthDate = new Date(strBirthday); + let nowDateTime = new Date(); + let age = nowDateTime.getFullYear() - birthDate.getFullYear(); + //再考虑月、天的因素;.getMonth()获取的是从0开始的,这里进行比较,不需要加1 + if (nowDateTime.getMonth() < birthDate.getMonth() || (nowDateTime.getMonth() == birthDate.getMonth() && nowDateTime + .getDate() < birthDate.getDate())) { + age--; + } + return age; +} diff --git a/pages/detailNursing/detailNursing.vue b/pages/detailNursing/detailNursing.vue index 4e7f65a..dd46f36 100644 --- a/pages/detailNursing/detailNursing.vue +++ b/pages/detailNursing/detailNursing.vue @@ -13,7 +13,7 @@ {{detail.customer.name}} - {{ageComputed(detail.customer.birthday)}}岁 + {{ageComputed(detail.customer.idcard)}}岁 {{detail.customer.sex}} 机构护理 @@ -127,6 +127,9 @@ } from '@/common/config.js' import QQMapWX from '@/libs/qqmap-wx-jssdk.js' import moment from '@/libs/moment.min.js' + import { + getAgeByIdcard + } from '@/common/util.js' import imgUpload from './components/imgUpload.vue' export default { @@ -465,8 +468,8 @@ }, computed: { ageComputed() { - return function(birth) { - return new Date().getFullYear() - new Date(birth).getFullYear() + return function(idcard) { + return getAgeByIdcard(idcard) } }, addressFormat() {