| | |
| | | <u-icon slot="right" name="arrow-right"></u-icon> |
| | | </u-form-item> --> |
| | | |
| | | <u-form-item @click="showSelectBus('角色关系','relationship')" class="form-item" labelWidth="100" |
| | | label="角色关系" required prop="relationship"> |
| | | <u-form-item @click="showSelectBus('与业主关系','relationship')" class="form-item" labelWidth="100" |
| | | label="与业主关系" required prop="relationship"> |
| | | <u--input border="none" v-model="selectDefaultName.relationship" disabled |
| | | disabledColor="#ffffff" placeholder="请选择角色关系"> |
| | | disabledColor="#ffffff" placeholder="请选择与业主关系"> |
| | | </u--input> |
| | | <u-icon slot="right" name="arrow-right"></u-icon> |
| | | </u-form-item> |
| | |
| | | </u--input> |
| | | </u-form-item> |
| | | |
| | | <u-form-item class="form-item" labelWidth="100" label="出生日期" prop="birthday" |
| | | @click="showSelectBirthday = true"> |
| | | <u--input border="none" v-model="form.birthday" disabled disabledColor="#ffffff" |
| | | placeholder="请选择出生日期"> |
| | | </u--input> |
| | | <u-icon slot="right" name="arrow-right"></u-icon> |
| | | </u-form-item> |
| | | |
| | | <u-form-item @click="showSelectBus('证件类型','cardType')" class="form-item" labelWidth="100" |
| | | label="证件类型" prop="gender"> |
| | |
| | | </u-form-item> |
| | | |
| | | |
| | | <u-form-item v-if="selectDefaultIndex.cardType == 0" class="form-item" labelWidth="100" |
| | | label="身份证号码" prop="idCard"> |
| | | <u-form-item v-if="form.cardType == 111" class="form-item" labelWidth="100" label="身份证号码" |
| | | prop="idCard"> |
| | | <u--input border="none" type="idcard " v-model="form.idCard" placeholder="请输入身份证号码"> |
| | | </u--input> |
| | | </u-form-item> |
| | | |
| | | <u-form-item v-if="selectDefaultIndex.cardType == 1" class="form-item" labelWidth="100" |
| | | <u-form-item v-if="form.cardType && form.cardType != 111" class="form-item" labelWidth="100" |
| | | label="证件号码" prop="cardNo"> |
| | | <u--input border="none" v-model="form.cardNo" placeholder="请输入证件号码"> |
| | | </u--input> |
| | |
| | | <u-icon slot="right" name="arrow-right"></u-icon> |
| | | </u-form-item> |
| | | |
| | | <u-form-item class="form-item" labelWidth="100" label="手机号码" prop="phoneNumber"> |
| | | <u-form-item class="form-item" labelWidth="100" label="手机号码" prop="phoneNumber" required> |
| | | <u--input border="none" type="number" v-model="form.phoneNumber" placeholder="请输入手机号码"> |
| | | </u--input> |
| | | </u-form-item> |
| | |
| | | </u-form-item> |
| | | <u-form-item class="form-item" labelWidth="100" label="籍贯地区" prop="nativePlaceAdcode"> |
| | | <view class="region"> |
| | | <picker mode="region" @change="changeNativeRegion"> |
| | | <picker mode="region" :value="navtivePlaceDefault" @change="changeNativeRegion"> |
| | | <view class="region-picker c-c0" v-if="!nativePlace"> |
| | | 请选择籍贯地区 |
| | | </view> |
| | |
| | | |
| | | <u-form-item class="form-item" labelWidth="100" label="户籍地区" prop="residentAdcode"> |
| | | <view class="region"> |
| | | <picker mode="region" @change="changeHouseholdRegion"> |
| | | <picker mode="region" :value="residentadDefault" @change="changeHouseholdRegion"> |
| | | <view class="region-picker c-c0" v-if="!residentad"> |
| | | 请选择户籍地区 |
| | | </view> |
| | |
| | | <view class=""> |
| | | <text style="color: #c0c4cc;" |
| | | v-if="!form.householdLabelList || !form.householdLabelList.length">请选择标签</text> |
| | | <text class="f-28" v-else style="margin-right:5rpx;" |
| | | v-for="i in form.householdLabelList">{{i.labelName}}</text> |
| | | <text class="f-28" v-else>{{showLabel()}}</text> |
| | | </view> |
| | | <u-icon slot="right" name="arrow-right"></u-icon> |
| | | </u-form-item> |
| | |
| | | <u--input border="none" v-model="form.remark" placeholder="补充说明"> |
| | | </u--input> |
| | | </u-form-item> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | </view> |
| | | </u-form> |
| | | </view> |
| | |
| | | :show="typeShow" :columns="[selectBusList]" @close="typeShow = false" @cancel="typeShow = false" |
| | | keyName="name" @confirm="typeSelect"></u-picker> |
| | | |
| | | <u-datetime-picker ref="datetimePicker" :show="showSelectDate" v-model="goOutTime" mode="date" |
| | | :formatter="formatter" @confirm="confirmDate" @cancel="showSelectDate = false"></u-datetime-picker> |
| | | <u-datetime-picker :show="showSelectDate" v-model="currentTime" mode="date" :formatter="formatter" |
| | | @confirm="confirmDate" @cancel="showSelectDate = false"></u-datetime-picker> |
| | | |
| | | <u-datetime-picker :show="showSelectBirthday" v-model="currentTime" mode="date" @confirm="confirmBirthday" |
| | | @cancel="showSelectBirthday = false"></u-datetime-picker> |
| | | |
| | | <u-picker :defaultIndex="[homeIndex]" :closeOnClickOverlay="true" :show="showRegion" :columns="[regionList]" |
| | | @close="showRegion = false" @cancel="showRegion = false" keyName="name" @confirm="regionSelect"></u-picker> |
| | |
| | | description: "", |
| | | }, |
| | | rules: { |
| | | // roleType: [{ |
| | | // required: true, |
| | | // message: '请选择角色' |
| | | // }], |
| | | name: [{ |
| | | 'selectDefaultName.relationship': { |
| | | required: true, |
| | | message: '请填写姓名' |
| | | }], |
| | | message: '请选择与业主关系', |
| | | trigger: ['change', 'blur'], |
| | | }, |
| | | 'name': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请填写姓名', |
| | | trigger: ['change', 'blur'], |
| | | }, |
| | | 'idCard': [{ |
| | | type: 'string', |
| | | required: false, |
| | | message: '请输入身份证号码', |
| | | trigger: ['change', 'blur'] |
| | | }, |
| | | { |
| | | validator: (rule, value, callback) => { |
| | | const idCardRegex = |
| | | /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/ |
| | | return idCardRegex.test(value) |
| | | }, |
| | | |
| | | message: '身份证号码有误', |
| | | trigger: ['change', 'blur'] |
| | | } |
| | | ], |
| | | 'phoneNumber': [{ |
| | | required: true, |
| | | message: '请输入手机号码', |
| | | trigger: ['change', 'blur'] |
| | | }, |
| | | { |
| | | |
| | | validator: (rule, value, callback) => { |
| | | return uni.$u.test.mobile(value); |
| | | }, |
| | | message: '手机号码不正确', |
| | | trigger: ['change', 'blur'] |
| | | |
| | | } |
| | | ] |
| | | }, |
| | | typeShow: false, |
| | | roleName: "", |
| | |
| | | healthStatus: [], |
| | | cardType: [] |
| | | }, |
| | | roleTypeName: '', |
| | | relationshipName: '', |
| | | genderName: '', |
| | | residentialStatusName: "", |
| | | isPrimaryContactName: '', |
| | | ethnicityName: '', |
| | | educationName: '', |
| | | partyEmberName: '', |
| | | workStatusName: '', |
| | | maritalStatusName: '', |
| | | // 下拉变量 |
| | | selectBusList: [], |
| | | selectBusVal: '', |
| | |
| | | maritalStatus: 0, |
| | | cardType: 0, |
| | | healthStatus: 0, |
| | | residentType: 0 |
| | | residentType: 0, |
| | | residentialStatus: 0 |
| | | }, |
| | | selectDefaultName: { |
| | | roleType: "", |
| | |
| | | partyEmber: "", |
| | | workStatus: "", |
| | | maritalStatus: "", |
| | | cardType: "身份证", |
| | | cardType: "", |
| | | healthStatus: "", |
| | | residentType: "" |
| | | residentType: "", |
| | | residentialStatus: "" |
| | | }, |
| | | showSelectDate: false, |
| | | regionList: [], |
| | |
| | | from: "", |
| | | type: "", |
| | | id: "", |
| | | goOutTime: Number(new Date()) |
| | | showSelectBirthday: false, |
| | | currentTime: Number(new Date()), |
| | | } |
| | | }, |
| | | created() { |
| | | this.getHeader() |
| | | }, |
| | | onReady() { |
| | | this.$refs.form.setRules(this.rules) |
| | | }, |
| | | onLoad(option) { |
| | | const data = JSON.parse(option.data) |
| | |
| | | |
| | | onShow() { |
| | | console.log(this.form); |
| | | if (this.id) { |
| | | this.getHouseholdInfo() |
| | | } |
| | | // if (this.id) { |
| | | // this.getHouseholdInfo() |
| | | // } |
| | | }, |
| | | |
| | | methods: { |
| | | showLabel() { |
| | | let arr = [] |
| | | for (let i of this.form.householdLabelList) { |
| | | arr.push(i.labelName) |
| | | } |
| | | return arr.join(",") |
| | | }, |
| | | |
| | | |
| | | //选择籍贯 |
| | | changeNativeRegion(e) { |
| | | console.log(e); |
| | | let { |
| | | code, |
| | | value |
| | | } = e.detail; |
| | | this.nativePlace = `${value[0]}${value[1]}${value[2]}` |
| | | this.nativePlace = `${value[0]}-${value[1]}-${value[2]}` |
| | | this.form.nativePlaceAdcode = code[2]; |
| | | |
| | | }, |
| | |
| | | code, |
| | | value |
| | | } = e.detail; |
| | | this.residentad = `${value[0]}${value[1]}${value[2]}` |
| | | this.residentad = `${value[0]}-${value[1]}-${value[2]}` |
| | | this.form.residentAdcode = code[2]; |
| | | }, |
| | | |
| | |
| | | index, |
| | | name |
| | | } = this.findObjValue(data[i], this.dataList[i]) |
| | | this.selectDefaultIndex[i] = index; |
| | | this.selectDefaultIndex[i] = index || 0; |
| | | this.selectDefaultName[i] = name; |
| | | } |
| | | |
| | | if (data.idCard && !data.cardType) { |
| | | this.$set(this.form, "cardType", this.dataList.cardType[0].dictKey) |
| | | this.$set(this.selectDefaultIndex, "cardType", 0) |
| | | this.$set(this.selectDefaultName, "cardType", "身份证") |
| | | this.$set(this.selectDefaultName, "cardType", "居民身份证") |
| | | } |
| | | if (data.nativePlaceAdName) { |
| | | this.nativePlace = |
| | | `${data.nativePlaceProvinceAdName}${data.nativePlaceCityAdName}${data.nativePlaceAdName}` |
| | | `${data.nativePlaceProvinceAdName}-${data.nativePlaceCityAdName}-${data.nativePlaceAdName}` |
| | | this.navtivePlaceDefault = [data.nativePlaceProvinceAdName, data |
| | | .nativePlaceCityAdName, data.nativePlaceAdName |
| | | ] |
| | | } |
| | | if (data.residentAdName) { |
| | | this.residentad = |
| | | `${data.residentProvinceAdName}${data.residentCityAdName}${data.residentAdName}` |
| | | this.residentadDefault = [data.residentProvinceAdName, data.residentCityAdName, |
| | | `${data.residentProvinceAdName}-${data.residentCityAdName}-${data.residentAdName}` |
| | | this.residentadDefault = [data.residentProvinceAdName, data |
| | | .residentCityAdName, |
| | | data.residentAdName |
| | | ] |
| | | } |
| | |
| | | // 新增更新操作 |
| | | async saveOrUpdate() { |
| | | this.form['houseCode'] = this.houseCode |
| | | const idCardRegex = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; // 支持15位、18位或者17位加上最后一位为数字或小写"X"的身份证号码 |
| | | const telRegex = /^1[3456789]\d{9}$/; |
| | | if (this.form.idCard) { |
| | | if (!idCardRegex.test(this.form.idCard)) { |
| | | uni.showToast({ |
| | | title: "身份证号格式有误", |
| | | icon: "none" |
| | | }) |
| | | return; |
| | | } |
| | | } |
| | | |
| | | if (this.form.phoneNumber) { |
| | | if (!telRegex.test(this.form.phoneNumber)) { |
| | | uni.showToast({ |
| | | title: "手机号格式有误", |
| | | icon: "none" |
| | | }) |
| | | return; |
| | | if (this.form.cardType) { |
| | | if (this.form.cardType == 111) { |
| | | if (!this.form.idCard) { |
| | | uni.showToast({ |
| | | title: "请输入身份证号", |
| | | icon: "none" |
| | | }) |
| | | return; |
| | | } |
| | | } else { |
| | | if (!this.form.cardNo) { |
| | | uni.showToast({ |
| | | title: "请输入证件号", |
| | | icon: "none" |
| | | }) |
| | | return; |
| | | } |
| | | } |
| | | } |
| | | const res = await saveOrUpdateHousehold(this.form) |
| | |
| | | }, |
| | | |
| | | confirmDate(e) { |
| | | this.showSelectDate = false; |
| | | this.form.goOutTime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd') |
| | | this.showSelectDate = false; |
| | | }, |
| | | |
| | | confirmBirthday(e) { |
| | | this.form.birthday = uni.$u.timeFormat(e.value, 'yyyy-mm-dd') |
| | | this.showSelectBirthday = false; |
| | | }, |
| | | |
| | | findObjValue(value, obj, key = "value") { |
| | |
| | | |
| | | navTo() { |
| | | let data = JSON.parse(JSON.stringify(this.form)); |
| | | // this.$u.func.globalNavigator( |
| | | // `householdLabel?data=${JSON.stringify(data)}&from=add`) |
| | | if (!this.isEdit) { |
| | | this.$u.func.globalNavigator( |
| | | `householdLabel?data=${JSON.stringify(data)}&from=add`) |