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.
1426 lines
38 KiB
1426 lines
38 KiB
// subpages/addResi/pages/addResi/addResi.js
|
|
import api from "../../../../utils/api"
|
|
import { cardHide } from "../../../../utils/util"
|
|
|
|
|
|
import { $wuxSelect } from '../../../../components/dist/index'
|
|
import {
|
|
dictlist,
|
|
getHouseType, getOldPeopleDetailById,
|
|
getVeteranDetailById, getVolunteerDetailById, publicWelfarePost,
|
|
residentEnsureHouse, residentSpecial, residentTenant,
|
|
residentUnemployed, residentUnitedFront, specialSupport
|
|
} from "../../../../utils/statisticsApi";
|
|
|
|
const app = getApp()
|
|
Page({
|
|
data: {
|
|
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: " ",
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
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) {
|
|
wx.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,
|
|
})
|
|
}
|
|
},
|
|
getResiDetail: async function () {
|
|
try {
|
|
let res = await api.getResiDetail(this.data.resiId);
|
|
const {
|
|
birthday,
|
|
gender,
|
|
idNum,
|
|
mobile,
|
|
name,
|
|
nation,
|
|
houseInfo = {}, // 为houseInfo提供一个默认值
|
|
categoryInfo,
|
|
genderName
|
|
} = res.data;
|
|
|
|
let result = this.data.residentCategory.filter(item => categoryInfo[item.value] === 1);
|
|
let residentCategorySty = result.map(item => item.title);
|
|
let categoryInfoArr = result.map(item => item.value);
|
|
this.setDynamicForm(result)
|
|
|
|
wx.showLoading({
|
|
title: '加载中...',
|
|
});
|
|
let form = this.data.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();
|
|
wx.hideLoading();
|
|
} catch (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.data.resiId).then(res => {
|
|
this.setData({
|
|
'form.resideInfoDto': res.data,
|
|
})
|
|
}).catch(err => {
|
|
console.log(err);
|
|
})
|
|
},
|
|
// 宗教信仰详情
|
|
getResidentReligion() {
|
|
api.getResidentReligion(this.data.resiId).then(res => {
|
|
this.setData({
|
|
'form.religionDto': res.data
|
|
})
|
|
}).catch(err => {
|
|
console.log(err);
|
|
})
|
|
},
|
|
// 获取教育信息详情
|
|
getResidentEduInfo() {
|
|
api.getResidentEduInfo(this.data.resiId).then(res => {
|
|
this.setData({
|
|
'form.eduInfoDto': res.data
|
|
})
|
|
}).catch(err => {
|
|
console.log(err);
|
|
})
|
|
},
|
|
// 获取婚姻信息
|
|
getFamilyInfoDetailById() {
|
|
api.getFamilyInfoDetailById(this.data.resiId).then(res => {
|
|
this.setData({
|
|
'form.familyInfoDto': res.data,
|
|
marriageName: this.data.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.data.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.data.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);
|
|
})
|
|
},
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage() {
|
|
},
|
|
// 获取网格列表
|
|
async bindPickerChangeGrid() {
|
|
return new Promise(async (resolve, reject) => {
|
|
if (this.data.isFirstLoadGrid) {
|
|
// 编辑回填逻辑
|
|
const id = this.data.form.gridId;
|
|
const temp = this.data.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.data.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.data.isFirstLoadVillage) {
|
|
// 编辑回填逻辑
|
|
const id = this.data.form.villageId;
|
|
const temp = this.data.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.data.villageList, '小区');
|
|
} else {
|
|
// 正常修改逻辑
|
|
const selectedIndex = e.detail.value;
|
|
const selectedVillage = this.data.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.data.isFirstLoadBuilding) {
|
|
const id = this.data.form.buildId;
|
|
const temp = this.data.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.data.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.data.isFirstLoadUnit) {
|
|
const id = this.data.form.unitId;
|
|
const temp = this.data.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.data.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.data.isFirstLoadHouse) {
|
|
const id = this.data.form.homeId;
|
|
const temp = this.data.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.data.houseList[selectedIndex];
|
|
this.setData({
|
|
houseName: selectedVillage.label,
|
|
"form.homeId": selectedVillage.value
|
|
});
|
|
}
|
|
resolve();
|
|
});
|
|
},
|
|
bindNameInput(e) {
|
|
this.setData({
|
|
'form.name': e.detail.value
|
|
})
|
|
console.log(this.data.form)
|
|
},
|
|
bindPickerChangeGender(e) {
|
|
this.setData({
|
|
genderName: this.data.genderList[e.detail.value].label,
|
|
"form.gender": this.data.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.data.form)
|
|
},
|
|
bindMobileInput(e) {
|
|
this.setData({
|
|
isShowIdTel: false,
|
|
'form.mobile': e.detail.value
|
|
})
|
|
console.log(this.data.form)
|
|
},
|
|
bindPlaceOfDomicileInput(e) {
|
|
this.setData({
|
|
'form.resideInfoDto.placeOfDomicile': e.detail.value
|
|
})
|
|
console.log(this.data.form)
|
|
},
|
|
bindCurrentResidenceInput(e) {
|
|
this.setData({
|
|
'form.resideInfoDto.currentResidence': e.detail.value
|
|
})
|
|
console.log(this.data.form)
|
|
},
|
|
bindPickerChangeNation(e) {
|
|
this.setData({
|
|
"form.nation": this.data.nation[e.detail.value].value
|
|
})
|
|
},
|
|
bindNativePlaceInput(e) {
|
|
this.setData({
|
|
'form.resideInfoDto.nativePlace': e.detail.value
|
|
})
|
|
},
|
|
bindPickerChangeEducation(e) {
|
|
this.setData({
|
|
"form.eduInfoDto.cultureLevel": this.data.education[e.detail.value].value
|
|
})
|
|
},
|
|
bindPickerChangemarriage(e) {
|
|
this.setData({
|
|
"form.familyInfoDto.marriage": this.data.marriageList[e.detail.value].value,
|
|
marriageName: this.data.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.data.categoryInfo,
|
|
multiple: true,
|
|
toolbar: {
|
|
title: '居民类别',
|
|
confirmText: '确定',
|
|
},
|
|
options: than.data.residentCategory,
|
|
onChange: (value, index, options) => {
|
|
console.log('onChange', value, index, options)
|
|
|
|
const matchingLabels = value.map(valueToFind => {
|
|
const matchedItem = than.data.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.data.form };
|
|
than.data.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.data.residentCategory[item])
|
|
})
|
|
this.setDynamicForm(residentTypeFormCell)
|
|
console.log(this.data.form);
|
|
},
|
|
})
|
|
},
|
|
showToast(title) {
|
|
wx.showToast({
|
|
title: title,
|
|
duration: 2000,
|
|
icon: 'none'
|
|
})
|
|
},
|
|
submit: async function () {
|
|
if (!this.data.form.gridId) {
|
|
this.showToast('请选择所在网格')
|
|
return
|
|
}
|
|
if (!this.data.form.villageId) {
|
|
this.showToast('请选择所在小区')
|
|
return
|
|
}
|
|
if (!this.data.form.buildId) {
|
|
this.showToast('请选择所在楼栋')
|
|
return
|
|
}
|
|
if (!this.data.form.unitId) {
|
|
this.showToast('请选择所在单元')
|
|
return
|
|
}
|
|
if (!this.data.form.homeId) {
|
|
this.showToast('请选择所在房屋')
|
|
return
|
|
}
|
|
if (!this.data.form.name) {
|
|
this.showToast('请填写姓名')
|
|
return
|
|
}
|
|
if (!this.data.form.gender) {
|
|
this.showToast('请选择性别')
|
|
return
|
|
}
|
|
if (!this.data.form.birthday) {
|
|
this.showToast('请选择出生日期')
|
|
return
|
|
}
|
|
if (!this.data.form.idNum) {
|
|
this.showToast('请填写证件号')
|
|
return
|
|
}
|
|
if (!this.data.form.mobile) {
|
|
this.showToast('请填写联系电话')
|
|
return
|
|
}
|
|
console.log(this.data.isShowIdNum,this.data.formType != 'edit')
|
|
const parm = {
|
|
...this.data.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.data.ensureHouseFlagOpen ? this.getValue(this.data.residentTypeForm.ensureHouseFlag) : undefined,
|
|
unemployedDto: this.data.unemployedFlagOpen ? this.getValue(this.data.residentTypeForm.unemployedFlag) : undefined,
|
|
veteranDto: this.data.veteranFlagOpen ? this.getValue(this.data.residentTypeForm.veteranFlag) : undefined,
|
|
unitedFrontDto: this.data.unitedFrontFlagOpen ? this.getValue(this.data.residentTypeForm.unitedFrontFlag) : undefined,
|
|
volunteerDto: this.data.volunteerFlagOpen ? this.getValue(this.data.residentTypeForm.volunteerFlag) : undefined,
|
|
specialSupportDto: this.data.specialSupportFlagOpen ? this.getValue(this.data.residentTypeForm.specialSupportFlag) : undefined,
|
|
tenantDto: this.data.tenantFlagOpen ? this.getValue(this.data.residentTypeForm.tenantFlag) : undefined,
|
|
specialDto: this.data.specialCrowdFlagOpen ? this.getValue(this.data.residentTypeForm.specialCrowdFlag) : undefined,
|
|
oldPeopleDto: this.data.oldPeopleFlagOpen ? this.getValue(this.data.residentTypeForm.oldPeopleFlag) : undefined,
|
|
postDto: this.data.publicWelfareFlagOpen ? this.getValue(this.data.residentTypeForm.publicWelfareFlag) : undefined,
|
|
}
|
|
console.log(this.data.formType);
|
|
if (this.data.formType == 'edit') {
|
|
parm.resiId = this.data.resiId
|
|
try {
|
|
const res = await api.resiEdit(parm)
|
|
if (res.code === 0) {
|
|
wx.showToast({
|
|
title: '编辑成功',
|
|
duration: 3000,
|
|
success: function () {
|
|
setTimeout(() => {
|
|
wx.navigateBack({
|
|
delta: 1
|
|
})
|
|
}, 3000)
|
|
}
|
|
})
|
|
}
|
|
} catch (err) {
|
|
console.log(err);
|
|
}
|
|
} else {
|
|
try {
|
|
const res = await api.resiAdd(parm)
|
|
if (res.code === 0) {
|
|
wx.showToast({
|
|
title: '新增成功',
|
|
duration: 3000,
|
|
success: function () {
|
|
setTimeout(() => {
|
|
wx.navigateBack({
|
|
delta: 1
|
|
})
|
|
}, 3000)
|
|
}
|
|
})
|
|
}
|
|
} catch (err) {
|
|
console.log(err);
|
|
}
|
|
}
|
|
},
|
|
back() {
|
|
//返回上一级,关闭当前页面
|
|
wx.navigateBack({
|
|
delta: 1
|
|
})
|
|
},
|
|
handelJump() {
|
|
wx.navigateTo({
|
|
url: '/subpages/addhouse/pages/addhouse/addhouse',
|
|
})
|
|
},
|
|
closeDynamicForms() {
|
|
this.setData({
|
|
isShowDynamicForms: false
|
|
})
|
|
},
|
|
okDynamicForms(e) {
|
|
console.log(e)
|
|
let residentTypeForm = this.data.residentTypeForm
|
|
residentTypeForm[this.data.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.data.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.data.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.data.residentTypeForm[e.currentTarget.dataset.formtype],
|
|
isShowDynamicForms: true
|
|
})
|
|
console.log(this.data)
|
|
},
|
|
// 获取住房性质
|
|
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.data.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
|
|
},
|
|
hideData(e) {
|
|
let key = e.currentTarget.dataset.key
|
|
let form = this.data.form
|
|
form[key] = this.data.hideData[key]
|
|
if(key === 'idNum') {
|
|
this.setData({
|
|
isShowIdNum: !this.data.isShowIdNum
|
|
})
|
|
}
|
|
if(key === 'mobile') {
|
|
this.setData({
|
|
isShowIdTel: !this.data.isShowIdTel
|
|
})
|
|
}
|
|
this.setData({
|
|
form
|
|
})
|
|
},
|
|
showData(e) {
|
|
let key = e.currentTarget.dataset.key
|
|
let form = this.data.form;
|
|
let hideData = this.data.hideData
|
|
hideData[key] = form[key]
|
|
this.setData({
|
|
hideData
|
|
})
|
|
|
|
|
|
api.getResiUserInfo(this.data.resiId).then(res => {
|
|
if(key === 'idNum') {
|
|
this.setData({
|
|
isShowIdNum: !this.data.isShowIdNum
|
|
})
|
|
}
|
|
if(key === 'mobile') {
|
|
this.setData({
|
|
isShowIdTel: !this.data.isShowIdTel
|
|
})
|
|
}
|
|
form[key] = res.data[key]
|
|
this.setData({
|
|
form
|
|
})
|
|
console.log(res.data[key], this.data.form[key])
|
|
})
|
|
}
|
|
})
|