Browse Source

dd

shibei_master
13176889840 3 years ago
parent
commit
884d4f5487
  1. 30
      src/utils/index.js
  2. 2
      src/views/components/editResi.vue
  3. 55
      src/views/components/resiForm.vue
  4. 2
      src/views/components/resiSearch.vue

30
src/utils/index.js

@ -115,3 +115,33 @@ export function dateFormats(fmt, date) {
}
return fmt
}
// 根据身份证计算出生日期,性别,年龄
export function computedCard(idCard) {
let sex = null;
let birth = null;
let myDate = new Date();
let month = myDate.getMonth() + 1;
let day = myDate.getDate();
let age = 0;
if(idCard.length===18){
age = myDate.getFullYear() - idCard.substring(6, 10) - 1;
sex = idCard.substring(16,17);
birth = idCard.substring(6,10)+"-"+idCard.substring(10,12)+"-"+idCard.substring(12,14);
if (idCard.substring(10, 12) < month || idCard.substring(10, 12) === month && idCard.substring(12, 14) <= day) age++;
}
if(idCard.length===15){
age = myDate.getFullYear() - idCard.substring(6, 8) - 1901;
sex = idCard.substring(13,14);
birth = "19"+idCard.substring(6,8)+"-"+idCard.substring(8,10)+"-"+idCard.substring(10,12);
if (idCard.substring(8, 10) < month || idCard.substring(8, 10) === month && idCard.substring(10, 12) <= day) age++;
}
if(sex%2 === 0)
sex = '0'; // 性别代码 1代表男,0代表女,暂时不涉及其他类型性别
else
sex = '1';
return {age , sex, birth}
}

2
src/views/components/editResi.vue

@ -33,7 +33,7 @@
</el-form-item>
</el-col>
<el-col :span="18">
<el-form-item label="所属家庭" required>
<el-form-item label="所属房屋" required>
<div class="resi-cell-value">
<div class="resi-cell-col">
<el-form-item prop="VILLAGE_ID">

55
src/views/components/resiForm.vue

@ -32,7 +32,7 @@
</el-form-item>
</el-col>
<el-col :span="18">
<el-form-item label="所属家庭" required>
<el-form-item label="所属房屋" required>
<div class="resi-cell-value">
<div class="resi-cell-col">
<el-form-item prop="VILLAGE_ID">
@ -99,48 +99,7 @@
</div>
</el-form-item>
</el-col>
<!-- <el-col :span="6">
<el-form-item :prop="form.BUILD_ID" label="所属楼宇">
<div class="resi-cell-value">
<el-select v-model.trim="form.BUILD_ID" placeholder="请选择楼号" size="small"
clearable class="resi-cell-select" @change="handleChangeB"
>
<el-option
v-for="item in optionsB"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :prop="form.HOME_ID" label="所属家庭">
<div class="resi-cell-value">
<el-select v-model.trim="form.HOME_ID" placeholder="请选择" size="small"
clearable class="resi-cell-select resi-cell-select-small"
>
<el-option
v-for="item in optionsH"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model.trim="form.HOME_ID" placeholder="请选择" size="small"
clearable class="resi-cell-select-small"
>
<el-option
v-for="item in optionsH"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
</el-form-item>
</el-col> -->
</el-row>
<el-row v-for="(item, index) in sliceList(formList, columns)" :key="index" class="resi-row">
<!-- <el-col v-for="n in item" :key="n.id" :span="n.itemType === 'textarea'&&24 || (24/columns)"> -->
@ -158,6 +117,7 @@
size="small"
clearable
placeholder="请输入内容"
@blur="handleValidBlur(n)"
>
</el-input>
<el-input
@ -267,6 +227,7 @@
<script>
import { isCard, isMobile } from '@/utils/validate'
import { computedCard } from '@/utils/index'
export default {
name: 'resiForm',
@ -525,6 +486,14 @@ export default {
// }
})
},
handleValidBlur(n) {
console.log('n---', n)
if (n.columnName !== 'ID_CARD') return
if (!isCard(this.form.ID_CARD)) return
const { sex, birth } = computedCard(this.form.ID_CARD)
this.form.BIRTHDAY = birth
this.form.GENDER = sex == 1 ? '1' : '2'
},
handleOpenSearch () {
this.openSearch = !this.openSearch
},

2
src/views/components/resiSearch.vue

@ -28,7 +28,7 @@
</el-col>
<el-col :span="18">
<div class="resi-cell">
<div class="resi-cell-label">所属小区</div>
<div class="resi-cell-label">所属房屋</div>
<div class="resi-cell-value">
<el-select
v-model.trim="form.VILLAGE_ID"

Loading…
Cancel
Save