You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2168 lines
76 KiB
2168 lines
76 KiB
11 months ago
|
<template>
|
||
|
<view>
|
||
|
<!-- subpages/addResi/pages/addResi/addResi.wxml -->
|
||
|
<view class="header">
|
||
|
<image src="/static/images/back.png" class="back" :style="' top: ' + statusHeight + 'px;width: 50rpx;height: 50rpx;'" @tap="back" mode="" />
|
||
|
<image class="header-bg" src="/static/subpages/addResi/pages/images/header.png" mode="widthFix" />
|
||
|
<view class="navigation" :style="'height: ' + navigationHeight + 'px; top: ' + statusHeight + 'px;'">
|
||
|
{{ formType == 'edit' ? '修改人口信息' : '新增人口信息' }}
|
||
|
</view>
|
||
|
<view class="content">
|
||
|
<view class="h2">填写居民信息</view>
|
||
|
<view class="tag">
|
||
|
带
|
||
|
<b>*</b>
|
||
|
号为必填项
|
||
|
</view>
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="content">
|
||
|
<view class="form_card">
|
||
|
<view class="title">
|
||
|
<text class="tag"></text>
|
||
|
基本信息
|
||
|
</view>
|
||
|
<view class="form_item">
|
||
|
<view class="label">
|
||
|
<text class="must">*</text>
|
||
|
<view class="title">所在网格</view>
|
||
|
</view>
|
||
|
<view class="input">
|
||
|
<picker @change="bindPickerChangeGrid" range-key="label" :value="index" :range="gridList">
|
||
|
<view :class="form.gridName ? '' : 'gray'">
|
||
|
{{ form.gridName ? form.gridName : '请选择' }}
|
||
|
</view>
|
||
|
</picker>
|
||
|
<image src="/static/images/right.png" mode="" />
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="form_item">
|
||
|
<view class="label">
|
||
|
<text class="must">*</text>
|
||
|
<view class="title">所在小区</view>
|
||
|
</view>
|
||
|
<view class="input">
|
||
|
<picker @change="bindPickerChangevillageId" range-key="label" :value="index" :range="villageList">
|
||
|
<view :class="villageName ? '' : 'gray'">
|
||
|
{{ villageName ? villageName : '请选择' }}
|
||
|
</view>
|
||
|
</picker>
|
||
|
<image src="/static/images/right.png" mode="" />
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="form_item">
|
||
|
<view class="label">
|
||
|
<text class="must">*</text>
|
||
|
<view class="title">所在楼栋</view>
|
||
|
</view>
|
||
|
<view class="input">
|
||
|
<picker @change="bindPickerChangebuilding" range-key="label" :value="index" :range="buildingList">
|
||
|
<view :class="buildingName ? '' : 'gray'">
|
||
|
{{ buildingName ? buildingName : '请选择' }}
|
||
|
</view>
|
||
|
</picker>
|
||
|
<image src="/static/images/right.png" mode="" />
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="form_item">
|
||
|
<view class="label">
|
||
|
<text class="must">*</text>
|
||
|
<view class="title">所在单元</view>
|
||
|
</view>
|
||
|
<view class="input">
|
||
|
<picker @change="bindPickerChangeUnit" range-key="label" :value="index" :range="unitList">
|
||
|
<view :class="unitName ? '' : 'gray'">
|
||
|
{{ unitName ? unitName : '请选择' }}
|
||
|
</view>
|
||
|
</picker>
|
||
|
<image src="/static/images/right.png" mode="" />
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="form_house">
|
||
|
<view class="form_item">
|
||
|
<view class="label">
|
||
|
<text class="must">*</text>
|
||
|
<view class="title">所在房屋</view>
|
||
|
</view>
|
||
|
<view class="input">
|
||
|
<picker @change="bindPickerChangeHouse" range-key="label" :value="index" :range="houseList">
|
||
|
<view :class="houseName ? '' : 'gray'">
|
||
|
{{ houseName ? houseName : '请选择' }}
|
||
|
</view>
|
||
|
</picker>
|
||
|
<image src="/static/images/right.png" mode="" />
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="form_bottom">
|
||
|
选项中如无该房屋,请先
|
||
|
<text @tap="handelJump">新增房屋</text>
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="form_item">
|
||
|
<view class="label">
|
||
|
<text class="must">*</text>
|
||
|
<view class="title">姓名</view>
|
||
|
</view>
|
||
|
<view class="input">
|
||
|
<input confirm-type="next" @blur="bindNameInput" @input="bindNameInput" :value="form.name" placeholder-class="gray" placeholder="请输入" />
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="form_item">
|
||
|
<view class="label">
|
||
|
<text class="must">*</text>
|
||
|
<view class="title">性别</view>
|
||
|
</view>
|
||
|
<view class="input">
|
||
|
<picker @change="bindPickerChangeGender" range-key="label" :value="index" :range="genderList">
|
||
|
<view :class="form.gender ? '' : 'gray'">
|
||
|
{{ genderName ? genderName : '请选择' }}
|
||
|
</view>
|
||
|
</picker>
|
||
|
<image src="/static/images/right.png" mode="" />
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="form_item">
|
||
|
<view class="label">
|
||
|
<text class="must">*</text>
|
||
|
<view class="title">出生日期</view>
|
||
|
</view>
|
||
|
<view class="input">
|
||
|
<picker mode="date" :value="form.birthday" :end="day" @change="bindDateChange">
|
||
|
<view :class="form.birthday ? '' : 'gray'">
|
||
|
{{ form.birthday ? form.birthday : '请选择' }}
|
||
|
</view>
|
||
|
</picker>
|
||
|
<image src="/static/images/right.png" mode="" />
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="form_item">
|
||
|
<view class="label">
|
||
|
<text class="must">*</text>
|
||
|
<view class="title">证件号</view>
|
||
|
</view>
|
||
|
<view class="input">
|
||
|
<input confirm-type="next" @blur="bindIdNumInput" @input="bindidNumInput" :value="form.idNum" placeholder-class="gray" placeholder="请输入" />
|
||
|
<block v-if="resiId">
|
||
|
<view @tap="showData" v-if="isShowIdNum" data-key="idNum">
|
||
|
<van-icon name="closed-eye" />
|
||
|
</view>
|
||
|
<view @tap="hideDataFun" v-else data-key="idNum">
|
||
|
<van-icon name="eye-o" />
|
||
|
</view>
|
||
|
</block>
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="form_item">
|
||
|
<view class="label">
|
||
|
<text class="must">*</text>
|
||
|
<view class="title">联系电话</view>
|
||
|
</view>
|
||
|
<view class="input">
|
||
|
<input confirm-type="next" @blur="bindMobileInput" @input="bindmobileInput" :value="form.mobile" placeholder-class="gray" placeholder="请输入" />
|
||
|
<block v-if="resiId">
|
||
|
<view @tap="showData" v-if="isShowIdTel" data-key="mobile">
|
||
|
<van-icon name="closed-eye" />
|
||
|
</view>
|
||
|
<view @tap="hideDataFun" v-else data-key="mobile">
|
||
|
<van-icon name="eye-o" />
|
||
|
</view>
|
||
|
</block>
|
||
|
</view>
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="form_card m-top20">
|
||
|
<view class="title">
|
||
|
<text class="tag"></text>
|
||
|
详细信息
|
||
|
</view>
|
||
|
<view class="form_item">
|
||
|
<view class="label">
|
||
|
<view class="title">户籍地</view>
|
||
|
</view>
|
||
|
<view class="input">
|
||
|
<input
|
||
|
confirm-type="next"
|
||
|
@blur="bindPlaceOfDomicileInput"
|
||
|
@input="bindPlaceOfDomicileInput"
|
||
|
:value="form.resideInfoDto.placeOfDomicile"
|
||
|
placeholder-class="gray"
|
||
|
placeholder="请输入"
|
||
|
/>
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="form_item">
|
||
|
<view class="label">
|
||
|
<view class="title">现居地</view>
|
||
|
</view>
|
||
|
<view class="input">
|
||
|
<input
|
||
|
confirm-type="next"
|
||
|
@blur="bindCurrentResidenceInput"
|
||
|
@input="bindCurrentResidenceInput"
|
||
|
:value="form.resideInfoDto.currentResidence"
|
||
|
placeholder-class="gray"
|
||
|
placeholder="请输入"
|
||
|
/>
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="form_item">
|
||
|
<view class="label">
|
||
|
<view class="title">民族</view>
|
||
|
</view>
|
||
|
<view class="input">
|
||
|
<picker @change="bindPickerChangeNation" range-key="label" :value="index" :range="nation">
|
||
|
<view :class="form.nation ? '' : 'gray'">
|
||
|
{{ form.nation ? nation[form.nation].label : '请选择' }}
|
||
|
</view>
|
||
|
</picker>
|
||
|
<image src="/static/images/right.png" mode="" />
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="form_item">
|
||
|
<view class="label">
|
||
|
<view class="title">籍贯</view>
|
||
|
</view>
|
||
|
<view class="input">
|
||
|
<input
|
||
|
confirm-type="next"
|
||
|
@blur="bindNativePlaceInput"
|
||
|
@input="bindNativePlaceInput"
|
||
|
:value="form.resideInfoDto.nativePlace"
|
||
|
placeholder-class="gray"
|
||
|
placeholder="请输入"
|
||
|
/>
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="form_item">
|
||
|
<view class="label">
|
||
|
<view class="title">文化程度</view>
|
||
|
</view>
|
||
|
<view class="input">
|
||
|
<picker @change="bindPickerChangeEducation" range-key="label" :value="index" :range="education">
|
||
|
<view :class="form.eduInfoDto.cultureLevel ? '' : 'gray'">
|
||
|
{{ form.eduInfoDto.cultureLevel ? education[form.eduInfoDto.cultureLevel].label : '请选择' }}
|
||
|
</view>
|
||
|
</picker>
|
||
|
<image src="/static/images/right.png" mode="" />
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="form_item">
|
||
|
<view class="label">
|
||
|
<view class="title">婚姻状况</view>
|
||
|
</view>
|
||
|
<view class="input">
|
||
|
<picker @change="bindPickerChangemarriage" range-key="label" :value="index" :range="marriageList">
|
||
|
<view :class="form.familyInfoDto.marriage ? '' : 'gray'">
|
||
|
{{ marriageName ? marriageName : '请选择' }}
|
||
|
</view>
|
||
|
</picker>
|
||
|
<image src="/static/images/right.png" mode="" />
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="form_item">
|
||
|
<view class="label">
|
||
|
<view class="title">宗教信仰</view>
|
||
|
</view>
|
||
|
<view class="input">
|
||
|
<input
|
||
|
confirm-type="next"
|
||
|
@blur="bindReligionInput"
|
||
|
@input="bindReligionInput"
|
||
|
:value="form.religionDto.religion"
|
||
|
placeholder-class="gray"
|
||
|
placeholder="请输入"
|
||
|
/>
|
||
|
</view>
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="form_card m-top20">
|
||
|
<view class="title">
|
||
|
<text class="tag"></text>
|
||
|
居民类别
|
||
|
</view>
|
||
|
<view class="form_item">
|
||
|
<view class="label">
|
||
|
<view class="title">居民类别</view>
|
||
|
</view>
|
||
|
<view class="input" @tap="onClick3">
|
||
|
<view :class="'residentCategorySty ' + (residentCategorySty ? '' : 'gray')" style="text-align: left">
|
||
|
{{ residentCategorySty ? residentCategorySty : '请选择' }}
|
||
|
</view>
|
||
|
<image src="/static/images/right.png" mode="" />
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="form_item" :key="index" @tap="openDynamicForms" :data-title="item.title" :data-formtype="item.value" v-for="(item, index) in residentTypeFormCell">
|
||
|
<view class="label">
|
||
|
<view class="title">{{ item.title }}</view>
|
||
|
</view>
|
||
|
|
||
|
<view class="input text-right">
|
||
|
<image src="/static/images/right.png" mode="" />
|
||
|
</view>
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="bottom_btn" @tap="submit">提交</view>
|
||
|
</view>
|
||
|
<wux-select id="wux-select3" />
|
||
|
|
||
|
<DynamicForms :show="isShowDynamicForms" :title="dynamicFormsTitle" @close="closeDynamicForms" @ok="okDynamicForms" :formController="formController" />
|
||
|
</view>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
import wuxSelect from '../../../../wxcomponents/dist/select';
|
||
|
import DynamicForms from '../../../../components/DynamicForms/DynamicForms';
|
||
|
// subpages/addResi/pages/addResi/addResi.js
|
||
|
import api from '../../../../utils/api';
|
||
|
import { cardHide } from '../../../../utils/util';
|
||
|
import { $wuxSelect } from '../../../../wxcomponents/dist/index';
|
||
|
import {
|
||
|
dictlist,
|
||
|
getHouseType,
|
||
|
getOldPeopleDetailById,
|
||
|
getVeteranDetailById,
|
||
|
getVolunteerDetailById,
|
||
|
publicWelfarePost,
|
||
|
residentEnsureHouse,
|
||
|
residentSpecial,
|
||
|
residentTenant,
|
||
|
residentUnemployed,
|
||
|
residentUnitedFront,
|
||
|
specialSupport
|
||
|
} from '../../../../utils/statisticsApi';
|
||
|
const app = getApp();
|
||
|
export default {
|
||
|
components: {
|
||
|
wuxSelect,
|
||
|
DynamicForms
|
||
|
},
|
||
|
data() {
|
||
|
return {
|
||
|
hideData: {},
|
||
|
isShowIdNum: true,
|
||
|
isShowIdTel: true,
|
||
|
formController: [],
|
||
|
ensureHouseFlagOpen: false,
|
||
|
unemployedFlagOpen: false,
|
||
|
veteranFlagOpen: false,
|
||
|
unitedFrontFlagOpen: false,
|
||
|
volunteerFlagOpen: false,
|
||
|
specialSupportFlagOpen: false,
|
||
|
tenantFlagOpen: false,
|
||
|
specialCrowdFlagOpen: false,
|
||
|
oldPeopleFlagOpen: false,
|
||
|
publicWelfareFlagOpen: false,
|
||
|
|
||
|
residentTypeForm: {
|
||
|
ensureHouseFlag: [
|
||
|
{
|
||
|
type: 'select',
|
||
|
value: '',
|
||
|
valueIndex: -1,
|
||
|
label: '住房性质',
|
||
|
optionsKey: 'label',
|
||
|
valueKey: 'value',
|
||
|
options: [],
|
||
|
// 字典获取
|
||
|
key: 'housingNature'
|
||
|
},
|
||
|
{
|
||
|
type: 'input',
|
||
|
value: '',
|
||
|
label: '保障类型',
|
||
|
key: 'securityType'
|
||
|
},
|
||
|
{
|
||
|
type: 'date',
|
||
|
value: '',
|
||
|
label: '发证日期',
|
||
|
key: 'certificateDate'
|
||
|
},
|
||
|
{
|
||
|
type: 'input',
|
||
|
value: '',
|
||
|
label: '补贴编号',
|
||
|
key: 'subsidyNum'
|
||
|
},
|
||
|
{
|
||
|
type: 'input',
|
||
|
value: '',
|
||
|
label: '补贴金额',
|
||
|
afterText: '元',
|
||
|
key: 'subsidyAmount'
|
||
|
},
|
||
|
{
|
||
|
type: 'input',
|
||
|
value: '',
|
||
|
label: '房东姓名',
|
||
|
key: 'landlordName'
|
||
|
},
|
||
|
{
|
||
|
type: 'input',
|
||
|
value: '',
|
||
|
label: '房东证件号',
|
||
|
key: 'landlordIdNum'
|
||
|
},
|
||
|
{
|
||
|
type: 'date',
|
||
|
value: '',
|
||
|
label: '通知书领取日期',
|
||
|
key: 'notificationRcvDate'
|
||
|
}
|
||
|
],
|
||
|
unemployedFlag: [
|
||
|
{
|
||
|
type: 'input',
|
||
|
value: '',
|
||
|
label: '原工作单位',
|
||
|
key: 'originWorkUnit'
|
||
|
},
|
||
|
{
|
||
|
type: 'date',
|
||
|
value: '',
|
||
|
label: '失业时间',
|
||
|
key: 'unemploymentTime'
|
||
|
},
|
||
|
{
|
||
|
type: 'input',
|
||
|
value: '',
|
||
|
label: '失业证号',
|
||
|
key: 'unemploymentNum'
|
||
|
},
|
||
|
{
|
||
|
type: 'input',
|
||
|
value: '',
|
||
|
label: '再就业优惠证号',
|
||
|
key: 'employmentNum'
|
||
|
},
|
||
|
{
|
||
|
type: 'input',
|
||
|
value: '',
|
||
|
label: '技术特长',
|
||
|
key: 'specialSkill'
|
||
|
},
|
||
|
{
|
||
|
type: 'select',
|
||
|
value: '',
|
||
|
valueIndex: -1,
|
||
|
label: '失业原因',
|
||
|
optionsKey: 'label',
|
||
|
valueKey: 'value',
|
||
|
options: [],
|
||
|
// 字典获取
|
||
|
key: 'unemploymentReason'
|
||
|
},
|
||
|
{
|
||
|
type: 'select',
|
||
|
value: '',
|
||
|
valueIndex: -1,
|
||
|
label: '是否就业困难对象',
|
||
|
optionsKey: 'label',
|
||
|
valueKey: 'value',
|
||
|
options: [
|
||
|
{
|
||
|
value: 1,
|
||
|
label: '是'
|
||
|
},
|
||
|
{
|
||
|
value: 0,
|
||
|
label: '否'
|
||
|
}
|
||
|
],
|
||
|
key: 'employmentHardFlag'
|
||
|
},
|
||
|
{
|
||
|
type: 'select',
|
||
|
value: '',
|
||
|
valueIndex: -1,
|
||
|
label: '劳动能力就业愿望',
|
||
|
optionsKey: 'label',
|
||
|
valueKey: 'value',
|
||
|
options: [],
|
||
|
// 字典获取
|
||
|
key: 'employmentWish'
|
||
|
}
|
||
|
],
|
||
|
veteranFlag: [
|
||
|
{
|
||
|
type: 'date',
|
||
|
value: '',
|
||
|
label: '入伍时间',
|
||
|
key: 'joinArmyTime'
|
||
|
},
|
||
|
{
|
||
|
type: 'date',
|
||
|
value: '',
|
||
|
label: '退伍时间',
|
||
|
key: 'leaveArmyTime'
|
||
|
},
|
||
|
{
|
||
|
type: 'input',
|
||
|
value: '',
|
||
|
label: '服役单位',
|
||
|
key: 'serviceUnit'
|
||
|
},
|
||
|
{
|
||
|
type: 'input',
|
||
|
value: '',
|
||
|
label: '接收单位',
|
||
|
key: 'receiveUnit'
|
||
|
},
|
||
|
{
|
||
|
type: 'input',
|
||
|
value: '',
|
||
|
label: '待安置补助金',
|
||
|
afterText: '元',
|
||
|
key: 'settlementAmount'
|
||
|
},
|
||
|
{
|
||
|
type: 'input',
|
||
|
value: '',
|
||
|
label: '培训状况',
|
||
|
key: 'trainDesc'
|
||
|
},
|
||
|
{
|
||
|
type: 'input',
|
||
|
value: '',
|
||
|
label: '现就业情况',
|
||
|
key: 'employmentSituation'
|
||
|
},
|
||
|
{
|
||
|
type: 'select',
|
||
|
value: '',
|
||
|
valueIndex: -1,
|
||
|
label: '是否办理公益性岗位',
|
||
|
optionsKey: 'label',
|
||
|
valueKey: 'value',
|
||
|
options: [
|
||
|
{
|
||
|
value: 1,
|
||
|
label: '是'
|
||
|
},
|
||
|
{
|
||
|
value: 0,
|
||
|
label: '否'
|
||
|
}
|
||
|
],
|
||
|
key: 'pubWelfareJobFlag'
|
||
|
}
|
||
|
],
|
||
|
unitedFrontFlag: [
|
||
|
{
|
||
|
type: 'input',
|
||
|
value: '',
|
||
|
label: '职务',
|
||
|
key: 'duty'
|
||
|
},
|
||
|
{
|
||
|
type: 'input',
|
||
|
value: '',
|
||
|
label: '探亲情况',
|
||
|
key: 'visitation'
|
||
|
}
|
||
|
],
|
||
|
volunteerFlag: [
|
||
|
{
|
||
|
type: 'checkbox',
|
||
|
value: '',
|
||
|
label: '志愿者类别',
|
||
|
key: 'volunteerCategory'
|
||
|
},
|
||
|
{
|
||
|
type: 'textarea',
|
||
|
value: '',
|
||
|
maxlength: 120,
|
||
|
label: '备注',
|
||
|
key: 'volunteerRemark'
|
||
|
}
|
||
|
],
|
||
|
specialSupportFlag: [
|
||
|
{
|
||
|
type: 'select',
|
||
|
value: '',
|
||
|
valueIndex: -1,
|
||
|
label: '特扶类别',
|
||
|
optionsKey: 'label',
|
||
|
valueKey: 'value',
|
||
|
options: [
|
||
|
{
|
||
|
value: '1',
|
||
|
label: '失独'
|
||
|
},
|
||
|
{
|
||
|
value: '2',
|
||
|
label: '伤残'
|
||
|
}
|
||
|
],
|
||
|
// 字典
|
||
|
key: 'specialSupportType',
|
||
|
masterControl: true
|
||
|
},
|
||
|
{
|
||
|
type: 'input',
|
||
|
value: '',
|
||
|
label: '子女姓名',
|
||
|
key: 'childName',
|
||
|
showFlag: '2',
|
||
|
hide: true
|
||
|
},
|
||
|
{
|
||
|
type: 'select',
|
||
|
value: '',
|
||
|
valueIndex: -1,
|
||
|
label: '子女性别',
|
||
|
optionsKey: 'label',
|
||
|
valueKey: 'value',
|
||
|
options: [
|
||
|
{
|
||
|
value: '1',
|
||
|
label: '男'
|
||
|
},
|
||
|
{
|
||
|
value: '2',
|
||
|
label: '女'
|
||
|
}
|
||
|
],
|
||
|
// 字典
|
||
|
key: 'childGender'
|
||
|
},
|
||
|
{
|
||
|
type: 'date',
|
||
|
value: '',
|
||
|
label: '子女死亡日期',
|
||
|
key: 'childDeathDate',
|
||
|
showFlag: '1',
|
||
|
hide: true
|
||
|
},
|
||
|
{
|
||
|
type: 'select',
|
||
|
value: '',
|
||
|
valueIndex: -1,
|
||
|
label: '伤残类别',
|
||
|
optionsKey: 'label',
|
||
|
valueKey: 'value',
|
||
|
options: [],
|
||
|
// 字典
|
||
|
key: 'childDisabilityCategoryCode',
|
||
|
showFlag: '2',
|
||
|
hide: true
|
||
|
},
|
||
|
{
|
||
|
type: 'select',
|
||
|
value: '',
|
||
|
valueIndex: -1,
|
||
|
label: '伤残等级',
|
||
|
optionsKey: 'label',
|
||
|
valueKey: 'value',
|
||
|
options: [],
|
||
|
// 字典
|
||
|
key: 'childDisabilityLevel',
|
||
|
showFlag: '2',
|
||
|
hide: true
|
||
|
},
|
||
|
{
|
||
|
type: 'textarea',
|
||
|
value: '',
|
||
|
maxlength: 120,
|
||
|
label: '备注',
|
||
|
key: 'remark'
|
||
|
}
|
||
|
],
|
||
|
tenantFlag: [
|
||
|
{
|
||
|
type: 'date',
|
||
|
value: '',
|
||
|
label: '合同开始时间',
|
||
|
key: 'contractStartDate'
|
||
|
},
|
||
|
{
|
||
|
type: 'date',
|
||
|
value: '',
|
||
|
label: '合同结束时间',
|
||
|
key: 'contractEndDate'
|
||
|
}
|
||
|
],
|
||
|
specialCrowdFlag: [
|
||
|
{
|
||
|
type: 'select',
|
||
|
value: '',
|
||
|
valueIndex: -1,
|
||
|
label: '人群类别',
|
||
|
optionsKey: 'label',
|
||
|
valueKey: 'value',
|
||
|
options: [],
|
||
|
// 字典
|
||
|
key: 'specialCategoryCode'
|
||
|
}
|
||
|
],
|
||
|
oldPeopleFlag: [
|
||
|
{
|
||
|
type: 'input',
|
||
|
value: '',
|
||
|
label: '高龄补助',
|
||
|
afterText: '元',
|
||
|
key: 'oldSubsidy'
|
||
|
}
|
||
|
],
|
||
|
publicWelfareFlag: [
|
||
|
{
|
||
|
type: 'date',
|
||
|
value: '',
|
||
|
label: '入职时间',
|
||
|
key: 'hireData'
|
||
|
},
|
||
|
{
|
||
|
type: 'checkbox',
|
||
|
value: '',
|
||
|
valueIndex: -1,
|
||
|
label: '岗位类型',
|
||
|
optionsKey: 'label',
|
||
|
valueKey: 'value',
|
||
|
options: [],
|
||
|
// 字典
|
||
|
key: 'postTypes'
|
||
|
},
|
||
|
{
|
||
|
type: '',
|
||
|
value: '',
|
||
|
key: 'userId'
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
|
||
|
residentTypeFormCell: [],
|
||
|
nation: [],
|
||
|
education: [],
|
||
|
marriageList: [],
|
||
|
marriageName: '',
|
||
|
|
||
|
form: {
|
||
|
agencyName: '',
|
||
|
agencyId: '',
|
||
|
resiId: '',
|
||
|
houseMergeId: '',
|
||
|
categoryId: '',
|
||
|
gridName: '',
|
||
|
gridId: '',
|
||
|
villageId: '',
|
||
|
buildId: '',
|
||
|
unitId: '',
|
||
|
homeId: '',
|
||
|
name: '',
|
||
|
nation: '',
|
||
|
remark: '',
|
||
|
localResidenceFlag: '',
|
||
|
birthday: '',
|
||
|
idNum: '',
|
||
|
gender: '',
|
||
|
mobile: '',
|
||
|
partyFlag: 0,
|
||
|
subsistenceAllowanceFlag: 0,
|
||
|
ensureHouseFlag: 0,
|
||
|
unemployedFlag: 0,
|
||
|
fertileWomanFlag: 0,
|
||
|
veteranFlag: 0,
|
||
|
unitedFrontFlag: 0,
|
||
|
petitionOfficerFlag: '',
|
||
|
volunteerFlag: 0,
|
||
|
specialSupportFlag: 0,
|
||
|
tenantFlag: 0,
|
||
|
floatingFlag: 0,
|
||
|
specialCrowdFlag: 0,
|
||
|
oldPeopleFlag: 0,
|
||
|
emptyNesterFlag: 0,
|
||
|
liveAloneFlag: 0,
|
||
|
disabledFlag: 0,
|
||
|
dementedFlag: 0,
|
||
|
disabilityFlag: 0,
|
||
|
seriousIllnessFlag: 0,
|
||
|
chronicDiseaseFlag: 0,
|
||
|
publicWelfareFlag: 0,
|
||
|
resideInfoDto: {
|
||
|
placeOfDomicile: '',
|
||
|
currentResidence: '',
|
||
|
nativePlace: ''
|
||
|
},
|
||
|
eduInfoDto: {
|
||
|
cultureLevel: ''
|
||
|
},
|
||
|
familyInfoDto: {
|
||
|
marriage: ''
|
||
|
},
|
||
|
religionDto: {
|
||
|
religion: ''
|
||
|
}
|
||
|
},
|
||
|
|
||
|
isFirstLoadGrid: true,
|
||
|
isFirstLoadVillage: true,
|
||
|
isFirstLoadBuilding: true,
|
||
|
isFirstLoadUnit: true,
|
||
|
isFirstLoadHouse: true,
|
||
|
agencyId: '',
|
||
|
gridList: [],
|
||
|
villageList: [],
|
||
|
villageName: '',
|
||
|
buildingList: [],
|
||
|
buildingName: '',
|
||
|
unitList: [],
|
||
|
unitName: '',
|
||
|
houseList: [],
|
||
|
houseName: '',
|
||
|
|
||
|
genderList: [
|
||
|
{
|
||
|
label: '男',
|
||
|
value: '1'
|
||
|
},
|
||
|
{
|
||
|
label: '女',
|
||
|
value: '2'
|
||
|
}
|
||
|
],
|
||
|
|
||
|
genderName: '',
|
||
|
day: '',
|
||
|
value3: [],
|
||
|
|
||
|
residentCategory: [
|
||
|
{
|
||
|
title: '党员',
|
||
|
value: 'partyFlag'
|
||
|
},
|
||
|
{
|
||
|
title: '低保人员',
|
||
|
value: 'subsistenceAllowanceFlag'
|
||
|
},
|
||
|
{
|
||
|
title: '保障房人员',
|
||
|
value: 'ensureHouseFlag',
|
||
|
isForm: true
|
||
|
},
|
||
|
{
|
||
|
title: '失业人员',
|
||
|
value: 'unemployedFlag',
|
||
|
isForm: true
|
||
|
},
|
||
|
{
|
||
|
title: '育龄妇女',
|
||
|
value: 'fertileWomanFlag'
|
||
|
},
|
||
|
{
|
||
|
title: '退役军人',
|
||
|
value: 'veteranFlag',
|
||
|
isForm: true
|
||
|
},
|
||
|
{
|
||
|
title: '统战人员',
|
||
|
value: 'unitedFrontFlag',
|
||
|
isForm: true
|
||
|
},
|
||
|
{
|
||
|
title: '信访人员',
|
||
|
value: 'petitionOfficerFlag'
|
||
|
},
|
||
|
{
|
||
|
title: '志愿者',
|
||
|
value: 'volunteerFlag',
|
||
|
isForm: true
|
||
|
},
|
||
|
{
|
||
|
title: '特扶人员',
|
||
|
value: 'specialSupportFlag',
|
||
|
isForm: true
|
||
|
},
|
||
|
{
|
||
|
title: '租户',
|
||
|
value: 'tenantFlag',
|
||
|
isForm: true
|
||
|
},
|
||
|
{
|
||
|
title: '流动人口',
|
||
|
value: 'floatingFlag'
|
||
|
},
|
||
|
{
|
||
|
title: '特殊人群',
|
||
|
value: 'specialCrowdFlag',
|
||
|
isForm: true
|
||
|
},
|
||
|
{
|
||
|
title: '老年人',
|
||
|
value: 'oldPeopleFlag',
|
||
|
isForm: true
|
||
|
},
|
||
|
{
|
||
|
title: '空巢老人',
|
||
|
value: 'emptyNesterFlag'
|
||
|
},
|
||
|
{
|
||
|
title: '独居老人',
|
||
|
value: 'liveAloneFlag'
|
||
|
},
|
||
|
{
|
||
|
title: '失能老人',
|
||
|
value: 'disabledFlag'
|
||
|
},
|
||
|
{
|
||
|
title: '失智老人',
|
||
|
value: 'dementedFlag'
|
||
|
},
|
||
|
{
|
||
|
title: '残疾',
|
||
|
value: 'disabilityFlag'
|
||
|
},
|
||
|
{
|
||
|
title: '大病',
|
||
|
value: 'seriousIllnessFlag'
|
||
|
},
|
||
|
{
|
||
|
title: '慢病',
|
||
|
value: 'chronicDiseaseFlag'
|
||
|
},
|
||
|
{
|
||
|
title: '公益岗人员',
|
||
|
value: 'publicWelfareFlag',
|
||
|
isForm: true
|
||
|
}
|
||
|
],
|
||
|
|
||
|
residentCategorySty: '',
|
||
|
categoryInfo: '',
|
||
|
isShowDynamicForms: false,
|
||
|
dynamicTitle: ' ',
|
||
|
statusHeight: '',
|
||
|
navigationHeight: '',
|
||
|
formType: '',
|
||
|
resiId: '',
|
||
|
isFirstLoadunit: false,
|
||
|
title3: '',
|
||
|
dynamicFormsTitle: '',
|
||
|
currentFormController: '',
|
||
|
label: ''
|
||
|
};
|
||
|
},
|
||
|
/**
|
||
|
* 生命周期函数--监听页面加载
|
||
|
*/
|
||
|
onLoad: async function (options) {
|
||
|
var nowDate = new Date();
|
||
|
var year = nowDate.getFullYear();
|
||
|
var month = nowDate.getMonth() + 1;
|
||
|
var day = nowDate.getDate();
|
||
|
this.setData({
|
||
|
statusHeight: app.globalData.deviceInfo.statusHeight,
|
||
|
navigationHeight: app.globalData.deviceInfo.navigationHeight,
|
||
|
agencyId: app.globalData.user.agencyId,
|
||
|
'form.agencyId': app.globalData.user.agencyId,
|
||
|
'form.agencyName': app.globalData.user.agencyName,
|
||
|
day: `${year}-${month}-${day}`,
|
||
|
formType: options.type,
|
||
|
resiId: options.resiId
|
||
|
});
|
||
|
await this.getNationDictList();
|
||
|
await this.getGridoptionDict();
|
||
|
await this.getEducationDictList();
|
||
|
await this.getmarriageDict();
|
||
|
if (options.resiId) {
|
||
|
uni.setNavigationBarTitle({
|
||
|
title: '修改人口信息'
|
||
|
});
|
||
|
await this.getResiDetail();
|
||
|
await this.getResidentResideInfo();
|
||
|
await this.getResidentReligion();
|
||
|
await this.getResidentEduInfo();
|
||
|
setTimeout(() => {
|
||
|
this.getFamilyInfoDetailById();
|
||
|
}, 500);
|
||
|
} else {
|
||
|
if (options.idCard) {
|
||
|
this.setData({
|
||
|
'form.name': options.name,
|
||
|
'form.idNum': options.idCard,
|
||
|
'form.gender': options.gender == '男' ? '1' : '2',
|
||
|
genderName: options.gender,
|
||
|
'form.birthday': options.birth
|
||
|
});
|
||
|
}
|
||
|
this.setData({
|
||
|
isFirstLoadGrid: false,
|
||
|
isFirstLoadVillage: false,
|
||
|
isFirstLoadBuilding: false,
|
||
|
isFirstLoadUnit: false,
|
||
|
isFirstLoadHouse: false
|
||
|
});
|
||
|
}
|
||
|
},
|
||
|
/**
|
||
|
* 生命周期函数--监听页面初次渲染完成
|
||
|
*/
|
||
|
onReady() {},
|
||
|
/**
|
||
|
* 生命周期函数--监听页面显示
|
||
|
*/
|
||
|
onShow() {},
|
||
|
/**
|
||
|
* 生命周期函数--监听页面隐藏
|
||
|
*/
|
||
|
onHide() {},
|
||
|
/**
|
||
|
* 生命周期函数--监听页面卸载
|
||
|
*/
|
||
|
onUnload() {},
|
||
|
/**
|
||
|
* 页面相关事件处理函数--监听用户下拉动作
|
||
|
*/
|
||
|
onPullDownRefresh() {},
|
||
|
/**
|
||
|
* 页面上拉触底事件的处理函数
|
||
|
*/
|
||
|
onReachBottom() {},
|
||
|
/**
|
||
|
* 用户点击右上角分享
|
||
|
*/
|
||
|
onShareAppMessage() {},
|
||
|
methods: {
|
||
|
getResiDetail: async function () {
|
||
|
try {
|
||
|
let res = await api.getResiDetail(this.resiId);
|
||
|
const {
|
||
|
birthday,
|
||
|
gender,
|
||
|
idNum,
|
||
|
mobile,
|
||
|
name,
|
||
|
nation,
|
||
|
houseInfo = {},
|
||
|
// 为houseInfo提供一个默认值
|
||
|
categoryInfo,
|
||
|
genderName
|
||
|
} = res.data;
|
||
|
let result = this.residentCategory.filter((item) => categoryInfo[item.value] === 1);
|
||
|
let residentCategorySty = result.map((item) => item.title);
|
||
|
let categoryInfoArr = result.map((item) => item.value);
|
||
|
this.setDynamicForm(result);
|
||
|
uni.showLoading({
|
||
|
title: '加载中...'
|
||
|
});
|
||
|
let form = this.form;
|
||
|
for (let i in categoryInfoArr) {
|
||
|
form[categoryInfoArr[i]] = 1;
|
||
|
}
|
||
|
this.setData({
|
||
|
form
|
||
|
});
|
||
|
this.setDataAsync({
|
||
|
'form.name': name,
|
||
|
'form.birthday': birthday,
|
||
|
'form.gender': gender,
|
||
|
'form.idNum': cardHide(idNum),
|
||
|
'form.mobile': mobile,
|
||
|
'form.nation': nation,
|
||
|
'form.gridId': houseInfo?.gridId || '',
|
||
|
// 使用了可选链
|
||
|
'form.gridName': houseInfo?.gridName || '',
|
||
|
// 使用了可选链
|
||
|
'form.villageId': houseInfo?.villageId || '',
|
||
|
// 使用了可选链
|
||
|
'form.buildId': houseInfo?.buildId || '',
|
||
|
// 使用了可选链
|
||
|
'form.unitId': houseInfo?.unitId || '',
|
||
|
// 使用了可选链
|
||
|
'form.homeId': houseInfo?.homeId || '',
|
||
|
// 使用了可选链
|
||
|
'form.houseMergeId': houseInfo?.mergeId || '',
|
||
|
// 使用了可选链
|
||
|
genderName,
|
||
|
categoryInfo: categoryInfoArr,
|
||
|
residentCategorySty
|
||
|
});
|
||
|
await this.delay(1000);
|
||
|
await this.bindPickerChangeGrid();
|
||
|
await this.delay(400);
|
||
|
await this.bindPickerChangevillageId();
|
||
|
await this.delay(400);
|
||
|
await this.bindPickerChangebuilding();
|
||
|
await this.delay(400);
|
||
|
await this.bindPickerChangeUnit();
|
||
|
await this.delay(400);
|
||
|
await this.bindPickerChangeHouse();
|
||
|
uni.hideLoading();
|
||
|
} catch (err) {
|
||
|
console.log('CatchClause', err);
|
||
|
console.log('CatchClause', err);
|
||
|
console.log(err);
|
||
|
}
|
||
|
},
|
||
|
|
||
|
setDataAsync: function (data) {
|
||
|
return new Promise((resolve) => {
|
||
|
this.setData(data, resolve);
|
||
|
});
|
||
|
},
|
||
|
|
||
|
delay(ms) {
|
||
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
||
|
},
|
||
|
|
||
|
// 居住信息详情
|
||
|
getResidentResideInfo() {
|
||
|
api.getResidentResideInfo(this.resiId)
|
||
|
.then((res) => {
|
||
|
this.setData({
|
||
|
'form.resideInfoDto': res.data
|
||
|
});
|
||
|
})
|
||
|
.catch((err) => {
|
||
|
console.log(err);
|
||
|
});
|
||
|
},
|
||
|
|
||
|
// 宗教信仰详情
|
||
|
getResidentReligion() {
|
||
|
api.getResidentReligion(this.resiId)
|
||
|
.then((res) => {
|
||
|
this.setData({
|
||
|
'form.religionDto': res.data
|
||
|
});
|
||
|
})
|
||
|
.catch((err) => {
|
||
|
console.log(err);
|
||
|
});
|
||
|
},
|
||
|
|
||
|
// 获取教育信息详情
|
||
|
getResidentEduInfo() {
|
||
|
api.getResidentEduInfo(this.resiId)
|
||
|
.then((res) => {
|
||
|
this.setData({
|
||
|
'form.eduInfoDto': res.data
|
||
|
});
|
||
|
})
|
||
|
.catch((err) => {
|
||
|
console.log(err);
|
||
|
});
|
||
|
},
|
||
|
|
||
|
// 获取婚姻信息
|
||
|
getFamilyInfoDetailById() {
|
||
|
api.getFamilyInfoDetailById(this.resiId)
|
||
|
.then((res) => {
|
||
|
this.setData({
|
||
|
'form.familyInfoDto': res.data,
|
||
|
marriageName: this.marriageList.filter((item) => item.value == res.data.marriage)[0].label
|
||
|
});
|
||
|
})
|
||
|
.catch((err) => {
|
||
|
console.log(err);
|
||
|
});
|
||
|
},
|
||
|
|
||
|
getNationDictList() {
|
||
|
api.getNationDictList()
|
||
|
.then((res) => {
|
||
|
this.setData({
|
||
|
nation: res.data
|
||
|
});
|
||
|
})
|
||
|
.catch((err) => {
|
||
|
console.log(err);
|
||
|
});
|
||
|
},
|
||
|
|
||
|
getEducationDictList() {
|
||
|
api.getEducationDictList()
|
||
|
.then((res) => {
|
||
|
this.setData({
|
||
|
education: res.data
|
||
|
});
|
||
|
})
|
||
|
.catch((err) => {
|
||
|
console.log(err);
|
||
|
});
|
||
|
},
|
||
|
|
||
|
getGridoptionDict() {
|
||
|
let parm = {
|
||
|
agencyId: this.agencyId,
|
||
|
purpose: 'addorupdate'
|
||
|
};
|
||
|
api.getGridoptionDict(parm)
|
||
|
.then((res) => {
|
||
|
this.setData({
|
||
|
gridList: res.data
|
||
|
});
|
||
|
})
|
||
|
.catch((err) => {
|
||
|
console.log(err);
|
||
|
});
|
||
|
},
|
||
|
|
||
|
getmarriageDict() {
|
||
|
api.getDictList('marriage')
|
||
|
.then((res) => {
|
||
|
this.setData({
|
||
|
marriageList: res.data
|
||
|
});
|
||
|
})
|
||
|
.catch((err) => {
|
||
|
console.log(err);
|
||
|
});
|
||
|
},
|
||
|
|
||
|
// 获取小区列表
|
||
|
getQuartersOptions(gridId) {
|
||
|
let parm = {
|
||
|
gridId,
|
||
|
agencyId: this.agecyId
|
||
|
};
|
||
|
api.getQuartersOptions(parm)
|
||
|
.then((res) => {
|
||
|
this.setData({
|
||
|
villageList: res.data
|
||
|
});
|
||
|
})
|
||
|
.catch((err) => {
|
||
|
console.log(err);
|
||
|
});
|
||
|
},
|
||
|
|
||
|
// 获取楼栋列表
|
||
|
getBuildingoption(villageId) {
|
||
|
api.getBuildingoption(villageId)
|
||
|
.then((res) => {
|
||
|
this.setData({
|
||
|
buildingList: res.data
|
||
|
});
|
||
|
})
|
||
|
.catch((err) => {
|
||
|
console.log(err);
|
||
|
});
|
||
|
},
|
||
|
|
||
|
// 获取单元列表
|
||
|
getUnitoption(buildingId) {
|
||
|
api.getUnitoption(buildingId)
|
||
|
.then((res) => {
|
||
|
this.setData({
|
||
|
unitList: res.data
|
||
|
});
|
||
|
})
|
||
|
.catch((err) => {
|
||
|
console.log(err);
|
||
|
});
|
||
|
},
|
||
|
|
||
|
// 获取房屋列表
|
||
|
getHouseoption(unitId) {
|
||
|
api.getHouseoption(unitId)
|
||
|
.then((res) => {
|
||
|
this.setData({
|
||
|
houseList: res.data
|
||
|
});
|
||
|
})
|
||
|
.catch((err) => {
|
||
|
console.log(err);
|
||
|
});
|
||
|
},
|
||
|
|
||
|
// 获取网格列表
|
||
|
async bindPickerChangeGrid() {
|
||
|
return new Promise(async (resolve, reject) => {
|
||
|
if (this.isFirstLoadGrid) {
|
||
|
// 编辑回填逻辑
|
||
|
const id = this.form.gridId;
|
||
|
const temp = this.gridList.filter((item) => item.value == id);
|
||
|
let gridName = '';
|
||
|
if (temp.length != 0) {
|
||
|
gridName = temp[0].label;
|
||
|
} else {
|
||
|
this.showToast('网格信息有误');
|
||
|
return;
|
||
|
}
|
||
|
this.setData({
|
||
|
'form.gridName': gridName,
|
||
|
'form.gridId': id
|
||
|
});
|
||
|
this.getQuartersOptions(id);
|
||
|
this.setData({
|
||
|
isFirstLoadGrid: false
|
||
|
});
|
||
|
} else {
|
||
|
// 正常修改逻辑
|
||
|
const selectedIndex = e.detail.value;
|
||
|
const selectedVillage = this.gridList[selectedIndex];
|
||
|
this.setData({
|
||
|
'form.gridName': selectedVillage.label,
|
||
|
'form.gridId': selectedVillage.value,
|
||
|
'form.villageId': '',
|
||
|
'form.buildId': '',
|
||
|
'form.unitId': '',
|
||
|
'form.homeId': '',
|
||
|
villageName: '',
|
||
|
villageList: [],
|
||
|
buildingName: '',
|
||
|
buildingList: [],
|
||
|
unitName: '',
|
||
|
unitList: [],
|
||
|
houseName: '',
|
||
|
houseList: []
|
||
|
});
|
||
|
this.getQuartersOptions(selectedVillage.value);
|
||
|
}
|
||
|
resolve();
|
||
|
});
|
||
|
},
|
||
|
|
||
|
bindPickerChangevillageId(e) {
|
||
|
return new Promise((resolve, reject) => {
|
||
|
if (this.isFirstLoadVillage) {
|
||
|
// 编辑回填逻辑
|
||
|
const id = this.form.villageId;
|
||
|
const temp = this.villageList.filter((item) => item.value == id);
|
||
|
let villageName = '';
|
||
|
if (temp.length != 0) {
|
||
|
villageName = temp[0].label;
|
||
|
} else {
|
||
|
this.showToast('小区信息有误');
|
||
|
return;
|
||
|
}
|
||
|
this.setData({
|
||
|
villageName: villageName,
|
||
|
'form.villageId': id
|
||
|
});
|
||
|
this.getBuildingoption(id);
|
||
|
this.setData({
|
||
|
isFirstLoadVillage: false
|
||
|
});
|
||
|
console.log(this.villageList, '小区');
|
||
|
} else {
|
||
|
// 正常修改逻辑
|
||
|
const selectedIndex = e.detail.value;
|
||
|
const selectedVillage = this.villageList[selectedIndex];
|
||
|
this.setData({
|
||
|
villageName: selectedVillage.label,
|
||
|
'form.villageId': selectedVillage.value,
|
||
|
'form.buildId': '',
|
||
|
'form.unitId': '',
|
||
|
'form.homeId': '',
|
||
|
buildingName: '',
|
||
|
buildingList: [],
|
||
|
unitName: '',
|
||
|
unitList: [],
|
||
|
houseName: '',
|
||
|
houseList: []
|
||
|
});
|
||
|
this.getBuildingoption(selectedVillage.value);
|
||
|
}
|
||
|
resolve();
|
||
|
});
|
||
|
},
|
||
|
|
||
|
bindPickerChangebuilding(e) {
|
||
|
return new Promise((resolve, reject) => {
|
||
|
if (this.isFirstLoadBuilding) {
|
||
|
const id = this.form.buildId;
|
||
|
const temp = this.buildingList.filter((item) => item.value == id);
|
||
|
let buildingName = '';
|
||
|
if (temp.length != 0) {
|
||
|
buildingName = temp[0].label;
|
||
|
} else {
|
||
|
this.showToast('小区信息有误');
|
||
|
return;
|
||
|
}
|
||
|
this.setData({
|
||
|
buildingName: buildingName,
|
||
|
'form.buildId': id
|
||
|
});
|
||
|
this.getUnitoption(id);
|
||
|
this.setData({
|
||
|
isFirstLoadBuilding: false
|
||
|
});
|
||
|
} else {
|
||
|
const selectedIndex = e.detail.value;
|
||
|
const selectedVillage = this.buildingList[selectedIndex];
|
||
|
this.setData({
|
||
|
buildingName: selectedVillage.label,
|
||
|
'form.buildId': selectedVillage.value,
|
||
|
'form.unitId': '',
|
||
|
'form.homeId': '',
|
||
|
unitName: '',
|
||
|
unitList: [],
|
||
|
houseName: '',
|
||
|
houseList: []
|
||
|
});
|
||
|
this.getUnitoption(selectedVillage.value);
|
||
|
}
|
||
|
resolve();
|
||
|
});
|
||
|
},
|
||
|
|
||
|
bindPickerChangeUnit(e) {
|
||
|
return new Promise((resolve, reject) => {
|
||
|
if (this.isFirstLoadUnit) {
|
||
|
const id = this.form.unitId;
|
||
|
const temp = this.unitList.filter((item) => item.value == id);
|
||
|
let unitName = '';
|
||
|
if (temp.length != 0) {
|
||
|
unitName = temp[0].label;
|
||
|
} else {
|
||
|
this.showToast('楼栋信息有误');
|
||
|
return;
|
||
|
}
|
||
|
this.setData({
|
||
|
unitName: unitName,
|
||
|
'form.unitId': id
|
||
|
});
|
||
|
this.getHouseoption(id);
|
||
|
this.setData({
|
||
|
isFirstLoadunit: false
|
||
|
});
|
||
|
} else {
|
||
|
const selectedIndex = e.detail.value;
|
||
|
const selectedVillage = this.unitList[selectedIndex];
|
||
|
this.setData({
|
||
|
unitName: selectedVillage.label,
|
||
|
'form.unitId': selectedVillage.value,
|
||
|
'form.homeId': '',
|
||
|
houseName: '',
|
||
|
houseList: []
|
||
|
});
|
||
|
this.getHouseoption(selectedVillage.value);
|
||
|
}
|
||
|
resolve();
|
||
|
});
|
||
|
},
|
||
|
|
||
|
bindPickerChangeHouse(e) {
|
||
|
return new Promise((resolve, reject) => {
|
||
|
if (this.isFirstLoadHouse) {
|
||
|
const id = this.form.homeId;
|
||
|
const temp = this.houseList.filter((item) => item.value == id);
|
||
|
let houseName = '';
|
||
|
if (temp.length != 0) {
|
||
|
houseName = temp[0].label;
|
||
|
} else {
|
||
|
this.showToast('房屋信息有误');
|
||
|
return;
|
||
|
}
|
||
|
this.setData({
|
||
|
houseName: houseName,
|
||
|
'form.homeId': id
|
||
|
});
|
||
|
this.setData({
|
||
|
isFirstLoadHouse: false
|
||
|
});
|
||
|
} else {
|
||
|
const selectedIndex = e.detail.value;
|
||
|
const selectedVillage = this.houseList[selectedIndex];
|
||
|
this.setData({
|
||
|
houseName: selectedVillage.label,
|
||
|
'form.homeId': selectedVillage.value
|
||
|
});
|
||
|
}
|
||
|
resolve();
|
||
|
});
|
||
|
},
|
||
|
|
||
|
bindNameInput(e) {
|
||
|
this.setData({
|
||
|
'form.name': e.detail.value
|
||
|
});
|
||
|
console.log(this.form);
|
||
|
},
|
||
|
|
||
|
bindPickerChangeGender(e) {
|
||
|
this.setData({
|
||
|
genderName: this.genderList[e.detail.value].label,
|
||
|
'form.gender': this.genderList[e.detail.value].value
|
||
|
});
|
||
|
},
|
||
|
|
||
|
bindDateChange(e) {
|
||
|
this.setData({
|
||
|
'form.birthday': e.detail.value
|
||
|
});
|
||
|
},
|
||
|
|
||
|
bindidNumInput(e) {
|
||
|
this.setData({
|
||
|
isShowIdNum: false,
|
||
|
'form.idNum': e.detail.value
|
||
|
});
|
||
|
console.log(this.form);
|
||
|
},
|
||
|
|
||
|
bindMobileInput(e) {
|
||
|
this.setData({
|
||
|
isShowIdTel: false,
|
||
|
'form.mobile': e.detail.value
|
||
|
});
|
||
|
console.log(this.form);
|
||
|
},
|
||
|
|
||
|
bindPlaceOfDomicileInput(e) {
|
||
|
this.setData({
|
||
|
'form.resideInfoDto.placeOfDomicile': e.detail.value
|
||
|
});
|
||
|
console.log(this.form);
|
||
|
},
|
||
|
|
||
|
bindCurrentResidenceInput(e) {
|
||
|
this.setData({
|
||
|
'form.resideInfoDto.currentResidence': e.detail.value
|
||
|
});
|
||
|
console.log(this.form);
|
||
|
},
|
||
|
|
||
|
bindPickerChangeNation(e) {
|
||
|
this.setData({
|
||
|
'form.nation': this.nation[e.detail.value].value
|
||
|
});
|
||
|
},
|
||
|
|
||
|
bindNativePlaceInput(e) {
|
||
|
this.setData({
|
||
|
'form.resideInfoDto.nativePlace': e.detail.value
|
||
|
});
|
||
|
},
|
||
|
|
||
|
bindPickerChangeEducation(e) {
|
||
|
this.setData({
|
||
|
'form.eduInfoDto.cultureLevel': this.education[e.detail.value].value
|
||
|
});
|
||
|
},
|
||
|
|
||
|
bindPickerChangemarriage(e) {
|
||
|
this.setData({
|
||
|
'form.familyInfoDto.marriage': this.marriageList[e.detail.value].value,
|
||
|
marriageName: this.marriageList[e.detail.value].label
|
||
|
});
|
||
|
},
|
||
|
|
||
|
bindReligionInput(e) {
|
||
|
this.setData({
|
||
|
'form.religionDto.religion': e.detail.value
|
||
|
});
|
||
|
},
|
||
|
|
||
|
onClick3() {
|
||
|
const than = this;
|
||
|
$wuxSelect('#wux-select3').open({
|
||
|
value: this.categoryInfo,
|
||
|
multiple: true,
|
||
|
toolbar: {
|
||
|
title: '居民类别',
|
||
|
confirmText: '确定'
|
||
|
},
|
||
|
options: than.residentCategory,
|
||
|
onChange: (value, index, options) => {
|
||
|
console.log('onChange', value, index, options);
|
||
|
const matchingLabels = value
|
||
|
.map((valueToFind) => {
|
||
|
const matchedItem = than.residentCategory.find((item) => item.value === valueToFind);
|
||
|
return matchedItem ? matchedItem.title : null;
|
||
|
})
|
||
|
.filter(Boolean);
|
||
|
this.setData({
|
||
|
value3: value,
|
||
|
residentCategorySty: matchingLabels.join(',')
|
||
|
});
|
||
|
},
|
||
|
onConfirm: (value, index, options) => {
|
||
|
console.log('onConfirm', value, index, options);
|
||
|
let updatedForm = {
|
||
|
...this.form
|
||
|
};
|
||
|
than.residentCategory.forEach((option) => {
|
||
|
if (value.includes(option.value)) {
|
||
|
updatedForm[option.value] = 1;
|
||
|
} else if (updatedForm[option.value] === 1) {
|
||
|
updatedForm[option.value] = 0;
|
||
|
}
|
||
|
});
|
||
|
this.setData({
|
||
|
value3: value,
|
||
|
title3: index.map((n) => options[n].title),
|
||
|
form: updatedForm
|
||
|
});
|
||
|
let residentTypeFormCell = [];
|
||
|
index.forEach((item) => {
|
||
|
residentTypeFormCell.push(this.residentCategory[item]);
|
||
|
});
|
||
|
this.setDynamicForm(residentTypeFormCell);
|
||
|
console.log(this.form);
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
|
||
|
showToast(title) {
|
||
|
uni.showToast({
|
||
|
title: title,
|
||
|
duration: 2000,
|
||
|
icon: 'none'
|
||
|
});
|
||
|
},
|
||
|
|
||
|
submit: async function () {
|
||
|
if (!this.form.gridId) {
|
||
|
this.showToast('请选择所在网格');
|
||
|
return;
|
||
|
}
|
||
|
if (!this.form.villageId) {
|
||
|
this.showToast('请选择所在小区');
|
||
|
return;
|
||
|
}
|
||
|
if (!this.form.buildId) {
|
||
|
this.showToast('请选择所在楼栋');
|
||
|
return;
|
||
|
}
|
||
|
if (!this.form.unitId) {
|
||
|
this.showToast('请选择所在单元');
|
||
|
return;
|
||
|
}
|
||
|
if (!this.form.homeId) {
|
||
|
this.showToast('请选择所在房屋');
|
||
|
return;
|
||
|
}
|
||
|
if (!this.form.name) {
|
||
|
this.showToast('请填写姓名');
|
||
|
return;
|
||
|
}
|
||
|
if (!this.form.gender) {
|
||
|
this.showToast('请选择性别');
|
||
|
return;
|
||
|
}
|
||
|
if (!this.form.birthday) {
|
||
|
this.showToast('请选择出生日期');
|
||
|
return;
|
||
|
}
|
||
|
if (!this.form.idNum) {
|
||
|
this.showToast('请填写证件号');
|
||
|
return;
|
||
|
}
|
||
|
if (!this.form.mobile) {
|
||
|
this.showToast('请填写联系电话');
|
||
|
return;
|
||
|
}
|
||
|
console.log(this.isShowIdNum, this.formType != 'edit');
|
||
|
const parm = {
|
||
|
...this.form,
|
||
|
// idNum: this.data.isShowIdNum&&this.data.formType === 'edit'?undefined:this.data.form.idNum,
|
||
|
// mobile: this.data.isShowIdTel&&this.data.formType === 'edit'?undefined:this.data.form.mobile,
|
||
|
ensureHouseDto: this.ensureHouseFlagOpen ? this.getValue(this.residentTypeForm.ensureHouseFlag) : undefined,
|
||
|
unemployedDto: this.unemployedFlagOpen ? this.getValue(this.residentTypeForm.unemployedFlag) : undefined,
|
||
|
veteranDto: this.veteranFlagOpen ? this.getValue(this.residentTypeForm.veteranFlag) : undefined,
|
||
|
unitedFrontDto: this.unitedFrontFlagOpen ? this.getValue(this.residentTypeForm.unitedFrontFlag) : undefined,
|
||
|
volunteerDto: this.volunteerFlagOpen ? this.getValue(this.residentTypeForm.volunteerFlag) : undefined,
|
||
|
specialSupportDto: this.specialSupportFlagOpen ? this.getValue(this.residentTypeForm.specialSupportFlag) : undefined,
|
||
|
tenantDto: this.tenantFlagOpen ? this.getValue(this.residentTypeForm.tenantFlag) : undefined,
|
||
|
specialDto: this.specialCrowdFlagOpen ? this.getValue(this.residentTypeForm.specialCrowdFlag) : undefined,
|
||
|
oldPeopleDto: this.oldPeopleFlagOpen ? this.getValue(this.residentTypeForm.oldPeopleFlag) : undefined,
|
||
|
postDto: this.publicWelfareFlagOpen ? this.getValue(this.residentTypeForm.publicWelfareFlag) : undefined
|
||
|
};
|
||
|
console.log(this.formType);
|
||
|
if (this.formType == 'edit') {
|
||
|
parm.resiId = this.resiId;
|
||
|
try {
|
||
|
const res = await api.resiEdit(parm);
|
||
|
if (res.code === 0) {
|
||
|
uni.showToast({
|
||
|
title: '编辑成功',
|
||
|
duration: 3000,
|
||
|
success: function () {
|
||
|
setTimeout(() => {
|
||
|
uni.navigateBack({
|
||
|
delta: 1
|
||
|
});
|
||
|
}, 3000);
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
} catch (err) {
|
||
|
console.log('CatchClause', err);
|
||
|
console.log('CatchClause', err);
|
||
|
console.log(err);
|
||
|
}
|
||
|
} else {
|
||
|
try {
|
||
|
const res = await api.resiAdd(parm);
|
||
|
if (res.code === 0) {
|
||
|
uni.showToast({
|
||
|
title: '新增成功',
|
||
|
duration: 3000,
|
||
|
success: function () {
|
||
|
setTimeout(() => {
|
||
|
uni.navigateBack({
|
||
|
delta: 1
|
||
|
});
|
||
|
}, 3000);
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
} catch (err) {
|
||
|
console.log('CatchClause', err);
|
||
|
console.log('CatchClause', err);
|
||
|
console.log(err);
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
|
||
|
back() {
|
||
|
//返回上一级,关闭当前页面
|
||
|
uni.navigateBack({
|
||
|
delta: 1
|
||
|
});
|
||
|
},
|
||
|
|
||
|
handelJump() {
|
||
|
uni.navigateTo({
|
||
|
url: '/subpages/addhouse/pages/addhouse/addhouse'
|
||
|
});
|
||
|
},
|
||
|
|
||
|
closeDynamicForms() {
|
||
|
this.setData({
|
||
|
isShowDynamicForms: false
|
||
|
});
|
||
|
},
|
||
|
|
||
|
okDynamicForms(e) {
|
||
|
console.log(e);
|
||
|
let residentTypeForm = this.residentTypeForm;
|
||
|
residentTypeForm[this.currentFormController] = e.detail;
|
||
|
this.setData({
|
||
|
residentTypeForm
|
||
|
});
|
||
|
},
|
||
|
|
||
|
setDynamicForm(data) {
|
||
|
let residentTypeFormCell = data.filter((item) => item.isForm);
|
||
|
let values = residentTypeFormCell.map((item) => item.value);
|
||
|
// 保障房人员
|
||
|
if (values.includes('ensureHouseFlag')) {
|
||
|
this.getHouseTypes();
|
||
|
}
|
||
|
// 失业人员
|
||
|
if (values.includes('unemployedFlag')) {
|
||
|
// 失业原因
|
||
|
this.getDictData('unemployment_reason', 'unemploymentReason');
|
||
|
// 愿望
|
||
|
this.getDictData('career_goals', 'employmentWish');
|
||
|
}
|
||
|
// 志愿者
|
||
|
if (values.includes('volunteerFlag')) {
|
||
|
// 志愿者类别
|
||
|
this.getDictData('VOLUNTEER_CATEGORY', 'volunteerCategory');
|
||
|
}
|
||
|
// 特扶
|
||
|
if (values.includes('specialSupportFlag')) {
|
||
|
//获取伤残类别字典
|
||
|
this.getDictData('disability_category_code', 'childDisabilityCategoryCode');
|
||
|
// 获取伤残等级字典
|
||
|
this.getDictData('disability_level', 'childDisabilityLevel');
|
||
|
}
|
||
|
|
||
|
// 特殊人群
|
||
|
if (values.includes('specialCrowdFlag')) {
|
||
|
//人群类别
|
||
|
this.getDictData('special_resident_category', 'specialCategoryCode');
|
||
|
}
|
||
|
// 公益岗人员
|
||
|
if (values.includes('specialCrowdFlag')) {
|
||
|
//岗位类型
|
||
|
this.getDictData('public_welfare_post_type', 'postTypes');
|
||
|
}
|
||
|
this.setData({
|
||
|
residentTypeFormCell
|
||
|
});
|
||
|
// residentTypeForm
|
||
|
},
|
||
|
|
||
|
async openDynamicForms(e) {
|
||
|
var data = {};
|
||
|
let formtype = e.currentTarget.dataset.formtype;
|
||
|
let id = this.resiId;
|
||
|
if (formtype === 'ensureHouseFlag') {
|
||
|
let res = await residentEnsureHouse(id);
|
||
|
data = res.data;
|
||
|
}
|
||
|
if (formtype === 'unemployedFlag') {
|
||
|
let res = await residentUnemployed(id);
|
||
|
data = res.data;
|
||
|
}
|
||
|
if (formtype === 'veteranFlag') {
|
||
|
let res = await getVeteranDetailById(id);
|
||
|
data = res.data;
|
||
|
}
|
||
|
if (formtype === 'unitedFrontFlag') {
|
||
|
let res = await residentUnitedFront(id);
|
||
|
data = res.data;
|
||
|
}
|
||
|
if (formtype === 'volunteerFlag') {
|
||
|
let res = await getVolunteerDetailById(id);
|
||
|
data = res.data;
|
||
|
}
|
||
|
if (formtype === 'specialSupportFlag') {
|
||
|
let res = await specialSupport(id);
|
||
|
data = res.data;
|
||
|
}
|
||
|
if (formtype === 'tenantFlag') {
|
||
|
let res = await residentTenant(id);
|
||
|
data = res.data;
|
||
|
}
|
||
|
if (formtype === 'specialCrowdFlag') {
|
||
|
let res = await residentSpecial(id);
|
||
|
data = res.data;
|
||
|
}
|
||
|
if (formtype === 'oldPeopleFlag') {
|
||
|
let res = await getOldPeopleDetailById(id);
|
||
|
data = res.data;
|
||
|
}
|
||
|
if (formtype === 'publicWelfareFlag') {
|
||
|
let res = await publicWelfarePost(id);
|
||
|
data = res.data;
|
||
|
}
|
||
|
let residentTypeForm = this.residentTypeForm;
|
||
|
residentTypeForm[formtype].forEach((item) => {
|
||
|
if (item.key === 'userId') {
|
||
|
item.value = id;
|
||
|
}
|
||
|
for (let i in data) {
|
||
|
if (item.key === i) {
|
||
|
item.value = data[item.key];
|
||
|
if (data[item.key]) {
|
||
|
console.log(data[item.key], 'data[item.key]');
|
||
|
if (item.type === 'date') {
|
||
|
item.value = data[item.key].split(' ')[0];
|
||
|
}
|
||
|
if (item.type === 'checkbox') {
|
||
|
let arr = [];
|
||
|
let value = data[item.key].split(',');
|
||
|
value.forEach((item2) => {
|
||
|
arr.push(...item.options.filter((item3) => item3.value === item2));
|
||
|
});
|
||
|
item.selected = arr.map((item) => item.label).join(',');
|
||
|
}
|
||
|
if (item.type === 'select') {
|
||
|
let options = item.options.map((item2) => item2[item.valueKey]);
|
||
|
item.valueIndex = options.indexOf(item.value);
|
||
|
if (item.masterControl) {
|
||
|
residentTypeForm[formtype].forEach((item3) => {
|
||
|
if (item3.showFlag) {
|
||
|
if (item3.showFlag === item.value) {
|
||
|
item3.hide = false;
|
||
|
} else {
|
||
|
item3.hide = true;
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
} else {
|
||
|
item.valueIndex = -1;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
this.setData({
|
||
|
residentTypeForm,
|
||
|
[formtype + 'Open']: true,
|
||
|
dynamicFormsTitle: '填写' + e.currentTarget.dataset.title,
|
||
|
currentFormController: formtype,
|
||
|
formController: this.residentTypeForm[e.currentTarget.dataset.formtype],
|
||
|
isShowDynamicForms: true
|
||
|
});
|
||
|
console.log(this);
|
||
|
},
|
||
|
|
||
|
// 获取住房性质
|
||
|
getHouseTypes() {
|
||
|
getHouseType({
|
||
|
formCode: 'resi_base_info'
|
||
|
}).then((res) => {
|
||
|
console.log(res.data);
|
||
|
this.setPickerOptions('housingNature', res.data);
|
||
|
});
|
||
|
},
|
||
|
|
||
|
getDictData(dictType, formName) {
|
||
|
dictlist({
|
||
|
dictType: dictType
|
||
|
}).then((res) => {
|
||
|
this.setPickerOptions(formName, res.data);
|
||
|
});
|
||
|
},
|
||
|
|
||
|
setPickerOptions(key, options) {
|
||
|
let residentTypeForm = this.residentTypeForm;
|
||
|
for (let item in residentTypeForm) {
|
||
|
residentTypeForm[item].forEach((item2) => {
|
||
|
if (item2.key === key) {
|
||
|
item2.options = options;
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
this.setData({
|
||
|
residentTypeForm
|
||
|
});
|
||
|
},
|
||
|
|
||
|
getValue(arry) {
|
||
|
let obj = {};
|
||
|
arry.forEach((item) => {
|
||
|
if (item.type === 'date' && item.value != '') {
|
||
|
item.value = item.value + ' 00:00:00';
|
||
|
}
|
||
|
obj[item.key] = item.value;
|
||
|
});
|
||
|
return obj;
|
||
|
},
|
||
|
|
||
|
hideDataFun(e) {
|
||
|
let key = e.currentTarget.dataset.key;
|
||
|
let form = this.form;
|
||
|
form[key] = this.hideData[key];
|
||
|
if (key === 'idNum') {
|
||
|
this.setData({
|
||
|
isShowIdNum: !this.isShowIdNum
|
||
|
});
|
||
|
}
|
||
|
if (key === 'mobile') {
|
||
|
this.setData({
|
||
|
isShowIdTel: !this.isShowIdTel
|
||
|
});
|
||
|
}
|
||
|
this.setData({
|
||
|
form
|
||
|
});
|
||
|
},
|
||
|
|
||
|
showData(e) {
|
||
|
let key = e.currentTarget.dataset.key;
|
||
|
let form = this.form;
|
||
|
let hideData = this.hideData;
|
||
|
hideData[key] = form[key];
|
||
|
this.setData({
|
||
|
hideData
|
||
|
});
|
||
|
api.getResiUserInfo(this.resiId).then((res) => {
|
||
|
if (key === 'idNum') {
|
||
|
this.setData({
|
||
|
isShowIdNum: !this.isShowIdNum
|
||
|
});
|
||
|
}
|
||
|
if (key === 'mobile') {
|
||
|
this.setData({
|
||
|
isShowIdTel: !this.isShowIdTel
|
||
|
});
|
||
|
}
|
||
|
form[key] = res.data[key];
|
||
|
this.setData({
|
||
|
form
|
||
|
});
|
||
|
console.log(res.data[key], this.form[key]);
|
||
|
});
|
||
|
},
|
||
|
|
||
|
bindIdNumInput() {
|
||
|
console.log('占位:函数 bindIdNumInput 未声明');
|
||
|
},
|
||
|
|
||
|
bindmobileInput() {
|
||
|
console.log('占位:函数 bindmobileInput 未声明');
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
</script>
|
||
|
<style>
|
||
|
/* subpages/addResi/pages/addResi/addResi.wxss */
|
||
|
page {
|
||
|
width: 100%;
|
||
|
min-height: 100vh;
|
||
|
overflow-y: auto;
|
||
|
background-color: #f7f7f7;
|
||
|
}
|
||
|
.gray {
|
||
|
color: #c1c1c1;
|
||
|
}
|
||
|
.m-top20 {
|
||
|
margin-top: 20rpx;
|
||
|
}
|
||
|
.header {
|
||
|
width: 100%;
|
||
|
height: 444rpx;
|
||
|
overflow: hidden;
|
||
|
/* position: fixed;
|
||
|
top: 0;
|
||
|
left: 0;
|
||
|
z-index: 1000; */
|
||
|
}
|
||
|
.header .header-bg {
|
||
|
width: 100%;
|
||
|
height: 444rpx;
|
||
|
position: absolute;
|
||
|
height: 100%;
|
||
|
z-index: -999;
|
||
|
}
|
||
|
.back {
|
||
|
width: 30rpx;
|
||
|
height: 30rpx;
|
||
|
margin-left: 20rpx;
|
||
|
position: absolute;
|
||
|
margin-top: 20rpx;
|
||
|
border-radius: 0rpx;
|
||
|
z-index: 101;
|
||
|
}
|
||
|
.header .navigation {
|
||
|
width: 100%;
|
||
|
display: flex;
|
||
|
align-items: center;
|
||
|
justify-content: center;
|
||
|
color: #333333;
|
||
|
font-size: 32rpx;
|
||
|
position: relative;
|
||
|
z-index: 100;
|
||
|
}
|
||
|
.header .content {
|
||
|
margin: 160rpx 0 0 50rpx;
|
||
|
}
|
||
|
.header .content .h2 {
|
||
|
font-size: 44rpx;
|
||
|
font-family: PingFang SC;
|
||
|
font-weight: 800;
|
||
|
color: #333333;
|
||
|
margin-bottom: 28rpx;
|
||
|
}
|
||
|
.header .content .tag {
|
||
|
width: 200rpx;
|
||
|
height: 50rpx;
|
||
|
position: relative;
|
||
|
line-height: 48rpx;
|
||
|
font-size: 28rpx;
|
||
|
font-family: PingFang SC;
|
||
|
font-weight: 500;
|
||
|
color: #94a6c2;
|
||
|
padding-left: 15rpx;
|
||
|
}
|
||
|
.header .content .tag b {
|
||
|
color: #ff2a00;
|
||
|
}
|
||
|
.header .content .tag image {
|
||
|
width: 170rpx;
|
||
|
height: 50rpx;
|
||
|
position: absolute;
|
||
|
top: 0;
|
||
|
left: 0;
|
||
|
z-index: -888;
|
||
|
}
|
||
|
.content {
|
||
|
width: 100%;
|
||
|
height: auto;
|
||
|
padding: 0 20rpx;
|
||
|
box-sizing: border-box;
|
||
|
position: relative;
|
||
|
top: -30rpx;
|
||
|
}
|
||
|
.form_card {
|
||
|
background-color: #fff;
|
||
|
border-radius: 10rpx;
|
||
|
padding: 0 30rpx;
|
||
|
box-sizing: border-box;
|
||
|
height: auto;
|
||
|
}
|
||
|
.form_card > .title {
|
||
|
height: 90rpx;
|
||
|
line-height: 90rpx;
|
||
|
font-size: 34rpx;
|
||
|
font-family: PingFang SC;
|
||
|
font-weight: bold;
|
||
|
color: #333333;
|
||
|
position: relative;
|
||
|
}
|
||
|
.form_card .title .tag {
|
||
|
width: 10rpx;
|
||
|
height: 28rpx;
|
||
|
background: #3a80e7;
|
||
|
border-radius: 4rpx;
|
||
|
position: absolute;
|
||
|
left: -30rpx;
|
||
|
top: 50%;
|
||
|
transform: translateY(-14rpx);
|
||
|
}
|
||
|
.form_card .form_item {
|
||
|
display: flex;
|
||
|
align-items: center;
|
||
|
border-top: 1px solid #eaeaea;
|
||
|
height: 100rpx;
|
||
|
}
|
||
|
.form_card .form_house {
|
||
|
height: 139rpx;
|
||
|
display: flex;
|
||
|
flex-direction: column;
|
||
|
}
|
||
|
.form_card .form_house .form_bottom {
|
||
|
font-size: 24rpx;
|
||
|
color: #c1c1c1;
|
||
|
position: relative;
|
||
|
top: -10rpx;
|
||
|
}
|
||
|
.form_card .form_house .form_bottom text {
|
||
|
color: #3a80e7;
|
||
|
}
|
||
|
.form_card .form_item .label {
|
||
|
min-width: 130rpx;
|
||
|
height: 100%;
|
||
|
line-height: 100rpx;
|
||
|
font-size: 32rpx;
|
||
|
font-family: PingFang SC;
|
||
|
font-weight: 500;
|
||
|
color: #666666;
|
||
|
position: relative;
|
||
|
}
|
||
|
.form_card .form_item .label .must {
|
||
|
font-size: 32rpx;
|
||
|
font-weight: 500;
|
||
|
color: #ff2a00;
|
||
|
position: absolute;
|
||
|
left: -18rpx;
|
||
|
top: 50%;
|
||
|
transform: translateY(-50rpx);
|
||
|
}
|
||
|
.form_card .form_item .input {
|
||
|
flex: 1;
|
||
|
display: flex;
|
||
|
justify-content: space-around;
|
||
|
align-items: center;
|
||
|
margin-left: 51rpx;
|
||
|
overflow: hidden;
|
||
|
}
|
||
|
.form_card .form_item .input .residentCategorySty {
|
||
|
flex: 1;
|
||
|
overflow: hidden;
|
||
|
text-overflow: ellipsis;
|
||
|
white-space: nowrap;
|
||
|
}
|
||
|
.form_card .form_item .input picker,
|
||
|
.form_card .form_item .input input {
|
||
|
flex: 1;
|
||
|
}
|
||
|
.form_card .form_item .input image {
|
||
|
height: 22rpx;
|
||
|
width: 22rpx;
|
||
|
}
|
||
|
.bottom_btn {
|
||
|
width: 600rpx;
|
||
|
height: 86rpx;
|
||
|
background: linear-gradient(87deg, #81b5fb 0%, #3e92ff 100%);
|
||
|
border-radius: 43rpx;
|
||
|
text-align: center;
|
||
|
color: #fff;
|
||
|
margin: 30rpx auto 0;
|
||
|
line-height: 86rpx;
|
||
|
}
|
||
|
.text-right {
|
||
|
text-align: right !important;
|
||
|
justify-content: flex-end !important;
|
||
|
}
|
||
|
</style>
|