13 changed files with 2461 additions and 0 deletions
@ -0,0 +1,143 @@ |
|||
<template> |
|||
<el-card shadow="never" class="aui-card--fill"> |
|||
<div class="mod-news__populationinformation}"> |
|||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()"> |
|||
<el-form-item> |
|||
<el-button type="primary" @click="backToHouseheadedit">{{"返回"}}</el-button> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button> |
|||
</el-form-item> |
|||
|
|||
</el-form> |
|||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;"> |
|||
<el-table-column label="序号" width="70px"><template slot-scope="scope">{{scope.$index+1}}</template></el-table-column> |
|||
<el-table-column prop="houseHeadRelation" label="与户主关系" header-align="center" align="center" :formatter="houseHeadRelationFormat"></el-table-column> |
|||
<el-table-column prop="residentsName" label="姓名" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="residentsSex" label="性别" header-align="center" align="center" :formatter="sexFormat"></el-table-column> |
|||
<el-table-column prop="residentsNation" label="民族" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="educationLevel" label="文化程度" header-align="center" align="center" :formatter="educationLevelFormat"></el-table-column> |
|||
<el-table-column prop="politicsStatus" label="政治面貌" header-align="center" align="center" :formatter="politicsStatusFormat"></el-table-column> |
|||
<el-table-column prop="residentsIdentityNo" label="身份证号码" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="residentsPhone" label="联系电话" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="currentEmployer" label="单位" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="currentAddress" label="现居住地址" header-align="center" align="center"></el-table-column> |
|||
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button> |
|||
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<el-pagination |
|||
:current-page="page" |
|||
:page-sizes="[10, 20, 50, 100]" |
|||
:page-size="limit" |
|||
:total="total" |
|||
layout="total, sizes, prev, pager, next, jumper" |
|||
@size-change="pageSizeChangeHandle" |
|||
@current-change="pageCurrentChangeHandle"> |
|||
</el-pagination> |
|||
<!-- 弹窗, 新增 / 修改 --> |
|||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList" :houseId="dataForm.houseId"></add-or-update> |
|||
</div> |
|||
</el-card> |
|||
</template> |
|||
|
|||
<script> |
|||
import mixinViewModule from '@/mixins/view-module' |
|||
import AddOrUpdate from './houseresidentInfo-add-or-update' |
|||
export default { |
|||
mixins: [mixinViewModule], |
|||
data () { |
|||
return { |
|||
mixinViewModuleOptions: { |
|||
getDataListURL: '/app-user/houseresident/page', |
|||
getDataListIsPage: true, |
|||
deleteURL: '/app-user/houseresident', |
|||
deleteIsBatch: true |
|||
}, |
|||
dataForm: { |
|||
id: '', |
|||
houseId: '' |
|||
}, |
|||
educationLevelList: [], |
|||
politicsStatusList: [], |
|||
houseHeadRelationList: [ |
|||
{ |
|||
label: '子女', |
|||
value: '0' |
|||
}, |
|||
{ |
|||
label: '夫妻', |
|||
value: '1' |
|||
}, |
|||
{ |
|||
label: '其他', |
|||
value: '2' |
|||
} |
|||
] |
|||
} |
|||
}, |
|||
components: { |
|||
AddOrUpdate |
|||
}, |
|||
created () { |
|||
this.$http.get(`/sys/dict/listSimple/education_level`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.educationLevelList = res.data |
|||
}).catch(() => { }) |
|||
this.$http.get(`/sys/dict/listSimple/politics_status`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.politicsStatusList = res.data |
|||
}).catch(() => { }) |
|||
}, |
|||
mounted () { |
|||
if (this.$route.query.id !== '' && this.$route.query.id != null) { |
|||
this.dataForm.houseId = this.$route.query.id |
|||
this.getDataList() |
|||
} |
|||
}, |
|||
methods: { |
|||
backToHouseheadedit () { |
|||
this.$emit('refreshDataList') |
|||
this.$parent.selectComponent = 'Househeadedit' |
|||
this.$router.push({ path: '/user-houseinfomationroute', query: { id: this.$route.query.id } }) |
|||
}, |
|||
educationLevelFormat: function (row, column) { |
|||
if (row.educationLevel) { |
|||
let dict = this.educationLevelList.filter(item => item.dictValue === row.educationLevel)[0] |
|||
if (dict) { |
|||
return dict.dictName |
|||
} |
|||
} |
|||
return '' |
|||
}, |
|||
politicsStatusFormat: function (row, column) { |
|||
if (row.politicsStatus) { |
|||
let dict = this.politicsStatusList.filter(item => item.dictValue === row.politicsStatus)[0] |
|||
if (dict) { |
|||
return dict.dictName |
|||
} |
|||
} |
|||
return '' |
|||
}, |
|||
sexFormat: function (row, column) { |
|||
return row.residentsSex === '0' ? '女' : '男' |
|||
}, |
|||
houseHeadRelationFormat: function (row, column) { |
|||
if (row.houseHeadRelation) { |
|||
let dict = this.houseHeadRelationList.filter(item => item.value === row.houseHeadRelation)[0] |
|||
if (dict) { |
|||
return dict.label |
|||
} |
|||
} |
|||
return '' |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
@ -0,0 +1,152 @@ |
|||
<template> |
|||
<el-dialog :visible.sync="visible" :title="!dataForm.id ? $t('add') : $t('update')" :close-on-click-modal="false" :close-on-press-escape="false"> |
|||
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" :label-width="$i18n.locale === 'en-US' ? '120px' : '80px'"> |
|||
<el-form-item label="企业名称" prop="enterpriseName"> |
|||
<el-input v-model="dataForm.enterpriseName" placeholder="企业名称"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="社会统一代码" prop="socialUniformCode"> |
|||
<el-input v-model="dataForm.socialUniformCode" placeholder="社会统一代码"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="法人代表" prop="legalRepresentative"> |
|||
<el-input v-model="dataForm.legalRepresentative" placeholder="法人代表"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="电话" prop="enterprisePhone"> |
|||
<el-input v-model="dataForm.enterprisePhone" placeholder="电话"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="房屋ID" prop="houseId"> |
|||
<el-input v-model="dataForm.houseId" placeholder="房屋ID"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="删除标识 (0:否 1:是)" prop="delFlag"> |
|||
<el-input v-model="dataForm.delFlag" placeholder="删除标识 (0:否 1:是)"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="乐观锁" prop="revision"> |
|||
<el-input v-model="dataForm.revision" placeholder="乐观锁"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="创建人" prop="createdBy"> |
|||
<el-input v-model="dataForm.createdBy" placeholder="创建人"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="创建时间" prop="createdTime"> |
|||
<el-input v-model="dataForm.createdTime" placeholder="创建时间"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="更新人" prop="updatedBy"> |
|||
<el-input v-model="dataForm.updatedBy" placeholder="更新人"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="更新时间" prop="updatedTime"> |
|||
<el-input v-model="dataForm.updatedTime" placeholder="更新时间"></el-input> |
|||
</el-form-item> |
|||
</el-form> |
|||
<template slot="footer"> |
|||
<el-button @click="visible = false">{{ $t('cancel') }}</el-button> |
|||
<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button> |
|||
</template> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
import debounce from 'lodash/debounce' |
|||
export default { |
|||
data () { |
|||
return { |
|||
visible: false, |
|||
dataForm: { |
|||
id: '', |
|||
enterpriseName: '', |
|||
socialUniformCode: '', |
|||
legalRepresentative: '', |
|||
enterprisePhone: '', |
|||
houseId: '', |
|||
delFlag: '', |
|||
revision: '', |
|||
createdBy: '', |
|||
createdTime: '', |
|||
updatedBy: '', |
|||
updatedTime: '' |
|||
} |
|||
} |
|||
}, |
|||
computed: { |
|||
dataRule () { |
|||
return { |
|||
enterpriseName: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
socialUniformCode: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
legalRepresentative: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
enterprisePhone: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
houseId: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
delFlag: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
revision: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
createdBy: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
createdTime: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
updatedBy: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
updatedTime: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
] |
|||
} |
|||
} |
|||
}, |
|||
methods: { |
|||
init () { |
|||
this.visible = true |
|||
this.$nextTick(() => { |
|||
this.$refs['dataForm'].resetFields() |
|||
if (this.dataForm.id) { |
|||
this.getInfo() |
|||
} |
|||
}) |
|||
}, |
|||
// 获取信息 |
|||
getInfo () { |
|||
this.$http.get(`/news/housebusinessinfo/${this.dataForm.id}`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.dataForm = { |
|||
...this.dataForm, |
|||
...res.data |
|||
} |
|||
}).catch(() => {}) |
|||
}, |
|||
// 表单提交 |
|||
dataFormSubmitHandle: debounce(function () { |
|||
this.$refs['dataForm'].validate((valid) => { |
|||
if (!valid) { |
|||
return false |
|||
} |
|||
this.$http[!this.dataForm.id ? 'post' : 'put']('/news/housebusinessinfo/', this.dataForm).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.$message({ |
|||
message: this.$t('prompt.success'), |
|||
type: 'success', |
|||
duration: 500, |
|||
onClose: () => { |
|||
this.visible = false |
|||
this.$emit('refreshDataList') |
|||
} |
|||
}) |
|||
}).catch(() => {}) |
|||
}) |
|||
}, 1000, { 'leading': true, 'trailing': false }) |
|||
} |
|||
} |
|||
</script> |
|||
@ -0,0 +1,76 @@ |
|||
<template> |
|||
<el-card shadow="never" class="aui-card--fill"> |
|||
<div class="mod-news__housebusinessinfo}"> |
|||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()"> |
|||
<el-form-item> |
|||
<el-input v-model="dataForm.id" placeholder="id" clearable></el-input> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button @click="getDataList()">{{ $t('query') }}</el-button> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button v-if="$hasPermission('news:housebusinessinfo:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button v-if="$hasPermission('news:housebusinessinfo:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;"> |
|||
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column> |
|||
<el-table-column prop="id" label="主键" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="enterpriseName" label="企业名称" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="socialUniformCode" label="社会统一代码" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="legalRepresentative" label="法人代表" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="enterprisePhone" label="电话" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="houseId" label="房屋ID" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="delFlag" label="删除标识 (0:否 1:是)" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="revision" label="乐观锁" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="createdBy" label="创建人" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="createdTime" label="创建时间" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="updatedBy" label="更新人" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="updatedTime" label="更新时间" header-align="center" align="center"></el-table-column> |
|||
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150"> |
|||
<template slot-scope="scope"> |
|||
<el-button v-if="$hasPermission('news:housebusinessinfo:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button> |
|||
<el-button v-if="$hasPermission('news:housebusinessinfo:delete')" type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<el-pagination |
|||
:current-page="page" |
|||
:page-sizes="[10, 20, 50, 100]" |
|||
:page-size="limit" |
|||
:total="total" |
|||
layout="total, sizes, prev, pager, next, jumper" |
|||
@size-change="pageSizeChangeHandle" |
|||
@current-change="pageCurrentChangeHandle"> |
|||
</el-pagination> |
|||
<!-- 弹窗, 新增 / 修改 --> |
|||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update> |
|||
</div> |
|||
</el-card> |
|||
</template> |
|||
|
|||
<script> |
|||
import mixinViewModule from '@/mixins/view-module' |
|||
import AddOrUpdate from './housebusinessinfo-add-or-update' |
|||
export default { |
|||
mixins: [mixinViewModule], |
|||
data () { |
|||
return { |
|||
mixinViewModuleOptions: { |
|||
getDataListURL: '/news/housebusinessinfo/page', |
|||
getDataListIsPage: true, |
|||
deleteURL: '/news/housebusinessinfo', |
|||
deleteIsBatch: true |
|||
}, |
|||
dataForm: { |
|||
id: '' |
|||
} |
|||
} |
|||
}, |
|||
components: { |
|||
AddOrUpdate |
|||
} |
|||
} |
|||
</script> |
|||
@ -0,0 +1,530 @@ |
|||
<template> |
|||
<el-card shadow="never" |
|||
class="aui-card--fill"> |
|||
<div class="mod-news__news}"> |
|||
<el-button type="primary" @click="backToUserRelationList">{{"返回"}}</el-button> |
|||
<el-button type="info" @click="getResidentsInfo">居住人信息</el-button> |
|||
|
|||
<el-button style="float:right" v-if="noEdit" type="primary" @click="editResidentInfo">{{"编辑"}}</el-button> |
|||
<el-button style="float:right" v-if="isEdit" type="primary" @click="submitResidentInfo">{{"保存"}}</el-button> |
|||
<el-button style="float:right" v-if="isEdit" type="primary" @click="cancelEditResidentInfo">{{"取消"}}</el-button> |
|||
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" :label-width="$i18n.locale === 'en-US' ? '120px' : '120px'"> |
|||
<br> |
|||
<hr> |
|||
<fieldset :disabled="noEdit" style="border: 0"> |
|||
<el-form-item class="item" label="基本信息"> |
|||
</el-form-item> |
|||
<br> |
|||
<el-form-item label="户主姓名" prop="residentsName" > |
|||
<el-input v-model="dataForm.residentsName" placeholder="姓名"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="性别" prop="residentsSex"> |
|||
<el-radio-group v-model="dataForm.residentsSex"> |
|||
<el-radio label="0">女</el-radio> |
|||
<el-radio label="1">男</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
<el-form-item label="民族" prop="residentsNation"> |
|||
<el-input v-model="dataForm.residentsNation" placeholder="民族"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="出生年月" prop="residentsBirthday"> |
|||
<el-date-picker |
|||
v-model="dataForm.residentsBirthday" |
|||
type="date" |
|||
placeholder="选择日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item label="文化程度" prop="educationLevel"> |
|||
<el-radio-group v-model="dataForm.educationLevel"> |
|||
<el-radio v-for="item in educationLevelList" |
|||
:key="item.dictValue" |
|||
:label="item.dictValue">{{item.dictName}}</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
<el-form-item label="政治面貌" prop="politicsStatus"> |
|||
<el-radio-group v-model="dataForm.politicsStatus"> |
|||
<el-radio v-for="item in politicsStatusList" |
|||
:key="item.dictValue" |
|||
:label="item.dictValue">{{item.dictName}}</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
<el-form-item label="入党时间" prop="joinTime"> |
|||
<el-date-picker |
|||
v-model="dataForm.joinTime" |
|||
type="date" |
|||
placeholder="选择日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item label="组织关系所在地" prop="organizationalRelationshipLocation"> |
|||
<el-input v-model="dataForm.organizationalRelationshipLocation" placeholder="组织关系所在地"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="身份证号码" prop="residentsIdentityNo"> |
|||
<el-input v-model="dataForm.residentsIdentityNo" placeholder="身份证号码"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="联系电话" prop="residentsPhone"> |
|||
<el-input v-model="dataForm.residentsPhone" placeholder="联系电话"></el-input> |
|||
</el-form-item> |
|||
<br> |
|||
<el-form-item label="身体状况" prop="bodyStatus"> |
|||
<el-radio-group v-model="dataForm.bodyStatus"> |
|||
<el-radio v-for="item in bodyStatusList" |
|||
:key="item.dictValue" |
|||
:label="item.dictValue">{{item.dictName}}</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
<el-form-item label="婚姻状况" prop="maritalStatus"> |
|||
<el-radio-group v-model="dataForm.maritalStatus"> |
|||
<el-radio v-for="item in maritalStatusList" |
|||
:key="item.dictValue" |
|||
:label="item.dictValue">{{item.dictName}}</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
<el-form-item label="户口类型" prop="accountType"> |
|||
<el-radio-group v-model="dataForm.accountType"> |
|||
<el-radio v-for="item in accountTypeList" |
|||
:key="item.dictValue" |
|||
:label="item.dictValue">{{item.dictName}}</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
<el-form-item label="服兵役" prop="militaryService"> |
|||
<el-radio-group v-model="dataForm.militaryService"> |
|||
<el-radio label="0">否</el-radio> |
|||
<el-radio label="1">是</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
<br> |
|||
<el-form-item label="户籍地" prop="householdRegistrationPlace"> |
|||
<el-input v-model="dataForm.householdRegistrationPlace" placeholder="户籍地" style="width: 500px"></el-input> |
|||
</el-form-item> |
|||
<br> |
|||
<hr> |
|||
<el-form-item class="item" label="就业情况"> |
|||
</el-form-item> |
|||
<br> |
|||
<el-form-item label="就业情况" prop="employmentStatus"> |
|||
<el-radio-group v-model="dataForm.employmentStatus"> |
|||
<el-radio v-for="item in employmentStatusList" |
|||
:key="item.dictValue" |
|||
:label="item.dictValue">{{item.dictName}}</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
<el-form-item label="现工作单位" prop="currentEmployer"> |
|||
<el-input v-model="dataForm.currentEmployer" placeholder="现工作单位"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="现单位地址" prop="currentEmployerAddress"> |
|||
<el-input v-model="dataForm.currentEmployerAddress" placeholder="现单位地址"></el-input> |
|||
</el-form-item> |
|||
<br> |
|||
<el-form-item label="失业原因" prop="unemploymentReason"> |
|||
<el-radio-group v-model="dataForm.unemploymentReason"> |
|||
<el-radio v-for="item in unemploymentReasonList" |
|||
:key="item.dictValue" |
|||
:label="item.dictValue">{{item.dictName}}</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
<el-form-item label="再就业优惠证" prop="reemploymentPermit"> |
|||
<el-input v-model="dataForm.reemploymentPermit" placeholder="再就业优惠证"></el-input> |
|||
</el-form-item> |
|||
<br> |
|||
<el-form-item label="失业登记" prop="unemploymentRegister"> |
|||
<el-radio-group v-model="dataForm.unemploymentRegister"> |
|||
<el-radio label="0">否</el-radio> |
|||
<el-radio label="1">是</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
<el-form-item label="失业登记时间" prop="unemploymentRegisterTime"> |
|||
<el-date-picker |
|||
v-model="dataForm.unemploymentRegisterTime" |
|||
type="date" |
|||
placeholder="选择日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<br> |
|||
<hr> |
|||
<el-form-item class="item" label="家庭情况"> |
|||
</el-form-item> |
|||
<br> |
|||
<el-form-item label="家庭类别" prop="familyCategory"> |
|||
<el-radio-group v-model="dataForm.familyCategory"> |
|||
<el-radio v-for="item in familyCategoryList" |
|||
:key="item.dictValue" |
|||
:label="item.dictValue">{{item.dictName}}</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
<br> |
|||
<el-form-item label="救助情况" prop="helpStatus"> |
|||
<el-radio-group v-model="dataForm.helpStatus"> |
|||
<el-radio v-for="item in helpStatusList" |
|||
:key="item.dictValue" |
|||
:label="item.dictValue">{{item.dictName}}</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
<br> |
|||
<el-form-item label="机动车数量" prop="motorVehicleNum"> |
|||
<el-input-number v-model="dataForm.motorVehicleNum" placeholder="机动车数量"></el-input-number> |
|||
</el-form-item> |
|||
<el-form-item label="机动车类型" prop="motorVehicleCategory"> |
|||
<el-radio-group v-model="dataForm.motorVehicleCategory"> |
|||
<el-radio v-for="item in motorVehicleCategoryList" |
|||
:key="item.dictValue" |
|||
:label="item.dictValue">{{item.dictName}}</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
<el-form-item label="宠物犬状况" prop="dogStatus"> |
|||
<el-radio-group v-model="dataForm.dogStatus"> |
|||
<el-radio label="0">无</el-radio> |
|||
<el-radio label="1">有</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
<br> |
|||
<el-form-item label="家庭成员数" prop="familyMemberNum"> |
|||
<el-input-number v-model="dataForm.familyMemberNum" placeholder="家庭成员数"></el-input-number> |
|||
</el-form-item> |
|||
<el-form-item label="家庭外出成员数" prop="familyMemberOutNum"> |
|||
<el-input v-model="dataForm.familyMemberOutNum" placeholder="家庭外出成员数"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="外出原因" prop="familyMemberOutReason"> |
|||
<el-radio-group v-model="dataForm.familyMemberOutReason"> |
|||
<el-radio v-for="item in familyMemberOutReasonList" |
|||
:key="item.dictValue" |
|||
::label="item.dictValue">{{item.dictName}}</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
<el-form-item label="在外月数" prop="familyMemberOutMonth"> |
|||
<el-input-number v-model="dataForm.familyMemberOutMonth" placeholder="在外月数"></el-input-number> |
|||
</el-form-item> |
|||
</fieldset> |
|||
</el-form> |
|||
<template slot="footer"> |
|||
<el-button @click="visible = false">{{ $t('cancel') }}</el-button> |
|||
<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button> |
|||
</template> |
|||
</div> |
|||
</el-card> |
|||
</template> |
|||
|
|||
<script> |
|||
import debounce from 'lodash/debounce' |
|||
export default { |
|||
data () { |
|||
return { |
|||
visible: false, |
|||
dataForm: { |
|||
id: '', |
|||
residentsName: '', |
|||
residentsSex: '', |
|||
residentsNation: '', |
|||
residentsBirthday: '', |
|||
educationLevel: '', |
|||
politicsStatus: '', |
|||
joinTime: '', |
|||
organizationalRelationshipLocation: '', |
|||
residentsIdentityNo: '', |
|||
residentsPhone: '', |
|||
bodyStatus: '', |
|||
maritalStatus: '', |
|||
accountType: '', |
|||
militaryService: '', |
|||
householdRegistrationPlace: '', |
|||
employmentStatus: '', |
|||
currentEmployer: '', |
|||
currentEmployerAddress: '', |
|||
unemploymentReason: '', |
|||
reemploymentPermit: '', |
|||
unemploymentRegister: '', |
|||
unemploymentRegisterTime: '', |
|||
familyCategory: '', |
|||
helpStatus: '', |
|||
motorVehicleNum: '', |
|||
motorVehicleCategory: '', |
|||
dogStatus: '', |
|||
familyMemberNum: '', |
|||
familyMemberOutNum: '', |
|||
familyMemberOutReason: '', |
|||
familyMemberOutMonth: '', |
|||
delFlag: '', |
|||
revision: '', |
|||
createdBy: '', |
|||
createdTime: '', |
|||
updatedBy: '', |
|||
updatedTime: '', |
|||
gridId: '', |
|||
parentDeptIds: '', |
|||
parentDeptNames: '', |
|||
allDeptIds: '', |
|||
allDeptNames: '' |
|||
}, |
|||
educationLevelList: [], |
|||
politicsStatusList: [], |
|||
bodyStatusList: [], |
|||
maritalStatusList: [], |
|||
accountTypeList: [], |
|||
employmentStatusList: [], |
|||
unemploymentReasonList: [], |
|||
familyCategoryList: [], |
|||
helpStatusList: [], |
|||
motorVehicleCategoryList: [], |
|||
familyMemberOutReasonList: [], |
|||
noEdit: true, |
|||
isEdit: false |
|||
} |
|||
}, |
|||
computed: { |
|||
dataRule () { |
|||
return { |
|||
residentsName: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
residentsSex: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
residentsNation: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
residentsBirthday: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
educationLevel: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
politicsStatus: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
joinTime: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
organizationalRelationshipLocation: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
residentsIdentityNo: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
residentsPhone: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
bodyStatus: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
maritalStatus: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
accountType: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
militaryService: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
householdRegistrationPlace: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
employmentStatus: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
currentEmployer: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
currentEmployerAddress: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
unemploymentReason: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
reemploymentPermit: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
unemploymentRegister: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
unemploymentRegisterTime: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
familyCategory: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
helpStatus: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
motorVehicleNum: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
motorVehicleCategory: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
dogStatus: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
familyMemberNum: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
familyMemberOutNum: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
familyMemberOutReason: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
familyMemberOutMonth: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
] |
|||
} |
|||
} |
|||
}, |
|||
mounted () { |
|||
if (this.$route.query.id !== '' && this.$route.query.id != null) { |
|||
this.dataForm.id = this.$route.query.id |
|||
this.getInfo() |
|||
} |
|||
}, |
|||
created () { |
|||
this.getAllDict() |
|||
}, |
|||
methods: { |
|||
getResidentsInfo () { |
|||
this.$parent.selectComponent = 'HouseResidentInfo' |
|||
this.$router.push({ path: '/user-houseinfomationroute', query: { id: this.$route.query.id } }) |
|||
}, |
|||
editResidentInfo () { |
|||
this.isEdit = true |
|||
this.noEdit = false |
|||
}, |
|||
cancelEditResidentInfo () { |
|||
this.$confirm('如果取消,之前编辑会丢失,确定取消吗?', '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}).then(() => { |
|||
this.isEdit = false |
|||
this.noEdit = true |
|||
this.init() |
|||
}).catch(() => { |
|||
}) |
|||
}, |
|||
submitResidentInfo () { |
|||
this.dataFormSubmitHandle() |
|||
}, |
|||
getAllDict () { |
|||
this.$http.get(`/sys/dict/listSimple/education_level`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.educationLevelList = res.data |
|||
}).catch(() => { }) |
|||
this.$http.get(`/sys/dict/listSimple/politics_status`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.politicsStatusList = res.data |
|||
}).catch(() => { }) |
|||
this.$http.get(`/sys/dict/listSimple/body_status`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.bodyStatusList = res.data |
|||
}).catch(() => { }) |
|||
this.$http.get(`/sys/dict/listSimple/marital_status`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.maritalStatusList = res.data |
|||
}).catch(() => { }) |
|||
this.$http.get(`/sys/dict/listSimple/account_type`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.accountTypeList = res.data |
|||
}).catch(() => { }) |
|||
this.$http.get(`/sys/dict/listSimple/employment_status`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.employmentStatusList = res.data |
|||
}).catch(() => { }) |
|||
this.$http.get(`/sys/dict/listSimple/unemployment_reason`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.unemploymentReasonList = res.data |
|||
}).catch(() => { }) |
|||
this.$http.get(`/sys/dict/listSimple/family_category`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.familyCategoryList = res.data |
|||
}).catch(() => { }) |
|||
this.$http.get(`/sys/dict/listSimple/help_status`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.helpStatusList = res.data |
|||
}).catch(() => { }) |
|||
this.$http.get(`/sys/dict/listSimple/motor_vehicle_category`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.motorVehicleCategoryList = res.data |
|||
}).catch(() => { }) |
|||
this.$http.get(`/sys/dict/listSimple/family_member_out_reason`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.familyMemberOutReasonList = res.data |
|||
}).catch(() => { }) |
|||
}, |
|||
backToUserRelationList () { |
|||
this.$emit('refreshDataList') |
|||
this.$parent.selectComponent = 'Housinginformation' |
|||
this.$router.push({ path: '/user-houseinfomationroute' }) |
|||
}, |
|||
init () { |
|||
this.dataForm.id = this.$route.query.id |
|||
this.visible = true |
|||
this.$nextTick(() => { |
|||
this.$refs['dataForm'].resetFields() |
|||
if (this.dataForm.id) { |
|||
this.getInfo() |
|||
} |
|||
}) |
|||
}, |
|||
// 获取信息 |
|||
getInfo () { |
|||
this.$http.get(`/app-user/populationinformation/getHouseHeadInfo?id=` + this.dataForm.id).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.dataForm = { |
|||
...this.dataForm, |
|||
...res.data |
|||
} |
|||
}).catch(() => {}) |
|||
}, |
|||
// 表单提交 |
|||
dataFormSubmitHandle: debounce(function () { |
|||
this.$refs['dataForm'].validate((valid) => { |
|||
if (!valid) { |
|||
return false |
|||
} |
|||
this.$http[!this.dataForm.id ? 'post' : 'put']('/app-user/populationinformation/', this.dataForm).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.$message({ |
|||
message: this.$t('prompt.success'), |
|||
type: 'success', |
|||
duration: 500, |
|||
onClose: () => { |
|||
this.visible = false |
|||
this.$emit('refreshDataList') |
|||
} |
|||
}) |
|||
}).catch(() => {}) |
|||
}) |
|||
}, 1000, { 'leading': true, 'trailing': false }) |
|||
} |
|||
} |
|||
</script> |
|||
<style> |
|||
.item .el-form-item__label{ |
|||
font-size: 20px; |
|||
width: 50px; |
|||
font-weight: bold; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,31 @@ |
|||
<template> |
|||
<keep-alive include="housinginformation"> |
|||
<component :is="selectComponent"></component> |
|||
</keep-alive> |
|||
</template> |
|||
<script> |
|||
import Housinginformation from './housinginformation' |
|||
import Househeadedit from './househeadedit' |
|||
import HouseResidentInfo from './houseResidentInfo' |
|||
export default { |
|||
data () { |
|||
return { |
|||
selectComponent: Housinginformation |
|||
} |
|||
}, |
|||
components: { |
|||
Housinginformation, |
|||
Househeadedit, |
|||
HouseResidentInfo |
|||
}, |
|||
methods: { |
|||
init () { |
|||
this.selectComponent = Housinginformation |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
|
|||
</style> |
|||
@ -0,0 +1,145 @@ |
|||
<template> |
|||
<el-dialog :visible.sync="visible" :title="!dataForm.id ? $t('add') : $t('update')" :close-on-click-modal="false" :close-on-press-escape="false"> |
|||
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" :label-width="$i18n.locale === 'en-US' ? '120px' : '80px'"> |
|||
<el-form-item label="承租人姓名" prop="tenantName"> |
|||
<el-input v-model="dataForm.tenantName" placeholder="承租人姓名"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="承租人电话" prop="tenantPhone"> |
|||
<el-input v-model="dataForm.tenantPhone" placeholder="承租人电话"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="承租人身份证号" prop="tenantIdentityNo"> |
|||
<el-input v-model="dataForm.tenantIdentityNo" placeholder="承租人身份证号"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="房屋ID" prop="houseId"> |
|||
<el-input v-model="dataForm.houseId" placeholder="房屋ID"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="删除标识" prop="delFlag"> |
|||
<el-input v-model="dataForm.delFlag" placeholder="删除标识"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="乐观锁" prop="revision"> |
|||
<el-input v-model="dataForm.revision" placeholder="乐观锁"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="创建人" prop="createdBy"> |
|||
<el-input v-model="dataForm.createdBy" placeholder="创建人"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="创建时间" prop="createdTime"> |
|||
<el-input v-model="dataForm.createdTime" placeholder="创建时间"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="更新人" prop="updatedBy"> |
|||
<el-input v-model="dataForm.updatedBy" placeholder="更新人"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="更新时间" prop="updatedTime"> |
|||
<el-input v-model="dataForm.updatedTime" placeholder="更新时间"></el-input> |
|||
</el-form-item> |
|||
</el-form> |
|||
<template slot="footer"> |
|||
<el-button @click="visible = false">{{ $t('cancel') }}</el-button> |
|||
<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button> |
|||
</template> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
import debounce from 'lodash/debounce' |
|||
export default { |
|||
data () { |
|||
return { |
|||
visible: false, |
|||
dataForm: { |
|||
id: '', |
|||
tenantName: '', |
|||
tenantPhone: '', |
|||
tenantIdentityNo: '', |
|||
houseId: '', |
|||
delFlag: '', |
|||
revision: '', |
|||
createdBy: '', |
|||
createdTime: '', |
|||
updatedBy: '', |
|||
updatedTime: '' |
|||
} |
|||
} |
|||
}, |
|||
computed: { |
|||
dataRule () { |
|||
return { |
|||
tenantName: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
tenantPhone: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
tenantIdentityNo: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
houseId: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
delFlag: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
revision: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
createdBy: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
createdTime: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
updatedBy: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
updatedTime: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
] |
|||
} |
|||
} |
|||
}, |
|||
methods: { |
|||
init () { |
|||
this.visible = true |
|||
this.$nextTick(() => { |
|||
this.$refs['dataForm'].resetFields() |
|||
if (this.dataForm.id) { |
|||
this.getInfo() |
|||
} |
|||
}) |
|||
}, |
|||
// 获取信息 |
|||
getInfo () { |
|||
this.$http.get(`/news/houserentinfo/${this.dataForm.id}`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.dataForm = { |
|||
...this.dataForm, |
|||
...res.data |
|||
} |
|||
}).catch(() => {}) |
|||
}, |
|||
// 表单提交 |
|||
dataFormSubmitHandle: debounce(function () { |
|||
this.$refs['dataForm'].validate((valid) => { |
|||
if (!valid) { |
|||
return false |
|||
} |
|||
this.$http[!this.dataForm.id ? 'post' : 'put']('/news/houserentinfo/', this.dataForm).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.$message({ |
|||
message: this.$t('prompt.success'), |
|||
type: 'success', |
|||
duration: 500, |
|||
onClose: () => { |
|||
this.visible = false |
|||
this.$emit('refreshDataList') |
|||
} |
|||
}) |
|||
}).catch(() => {}) |
|||
}) |
|||
}, 1000, { 'leading': true, 'trailing': false }) |
|||
} |
|||
} |
|||
</script> |
|||
@ -0,0 +1,75 @@ |
|||
<template> |
|||
<el-card shadow="never" class="aui-card--fill"> |
|||
<div class="mod-news__houserentinfo}"> |
|||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()"> |
|||
<el-form-item> |
|||
<el-input v-model="dataForm.id" placeholder="id" clearable></el-input> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button @click="getDataList()">{{ $t('query') }}</el-button> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button v-if="$hasPermission('news:houserentinfo:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button v-if="$hasPermission('news:houserentinfo:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;"> |
|||
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column> |
|||
<el-table-column prop="id" label="主键" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="tenantName" label="承租人姓名" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="tenantPhone" label="承租人电话" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="tenantIdentityNo" label="承租人身份证号" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="houseId" label="房屋ID" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="delFlag" label="删除标识" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="revision" label="乐观锁" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="createdBy" label="创建人" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="createdTime" label="创建时间" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="updatedBy" label="更新人" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="updatedTime" label="更新时间" header-align="center" align="center"></el-table-column> |
|||
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150"> |
|||
<template slot-scope="scope"> |
|||
<el-button v-if="$hasPermission('news:houserentinfo:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button> |
|||
<el-button v-if="$hasPermission('news:houserentinfo:delete')" type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<el-pagination |
|||
:current-page="page" |
|||
:page-sizes="[10, 20, 50, 100]" |
|||
:page-size="limit" |
|||
:total="total" |
|||
layout="total, sizes, prev, pager, next, jumper" |
|||
@size-change="pageSizeChangeHandle" |
|||
@current-change="pageCurrentChangeHandle"> |
|||
</el-pagination> |
|||
<!-- 弹窗, 新增 / 修改 --> |
|||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update> |
|||
</div> |
|||
</el-card> |
|||
</template> |
|||
|
|||
<script> |
|||
import mixinViewModule from '@/mixins/view-module' |
|||
import AddOrUpdate from './houserentinfo-add-or-update' |
|||
export default { |
|||
mixins: [mixinViewModule], |
|||
data () { |
|||
return { |
|||
mixinViewModuleOptions: { |
|||
getDataListURL: '/news/houserentinfo/page', |
|||
getDataListIsPage: true, |
|||
deleteURL: '/news/houserentinfo', |
|||
deleteIsBatch: true |
|||
}, |
|||
dataForm: { |
|||
id: '' |
|||
} |
|||
} |
|||
}, |
|||
components: { |
|||
AddOrUpdate |
|||
} |
|||
} |
|||
</script> |
|||
@ -0,0 +1,210 @@ |
|||
<template> |
|||
<el-dialog :visible.sync="visible" :title="!dataForm.id ? $t('add') : $t('update')" :close-on-click-modal="false" :close-on-press-escape="false"> |
|||
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" :label-width="$i18n.locale === 'en-US' ? '120px' : '120px'"> |
|||
<el-form-item label="与户主关系" prop="houseHeadRelation"> |
|||
<el-select v-model="dataForm.houseHeadRelation"> |
|||
<el-option v-for="item in houseHeadRelationList" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="姓名" prop="residentsName" > |
|||
<el-input v-model="dataForm.residentsName" placeholder="姓名"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="民族" prop="residentsNation"> |
|||
<el-input v-model="dataForm.residentsNation" placeholder="民族"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="文化程度" prop="educationLevel"> |
|||
<el-select v-model="dataForm.educationLevel"> |
|||
<el-option v-for="item in educationLevelList" |
|||
:key="item.dictValue" |
|||
:label="item.dictName" |
|||
:value="item.dictValue"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="政治面貌" prop="politicsStatus"> |
|||
<el-radio-group v-model="dataForm.politicsStatus"> |
|||
<el-radio v-for="item in politicsStatusList" |
|||
:key="item.dictValue" |
|||
:label="item.dictValue">{{item.dictName}}</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
<el-form-item label="身份证号码" prop="residentsIdentityNo"> |
|||
<el-input v-model="dataForm.residentsIdentityNo" placeholder="身份证号码"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="联系电话" prop="residentsPhone"> |
|||
<el-input v-model="dataForm.residentsPhone" placeholder="联系电话"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="工作单位" prop="currentEmployer"> |
|||
<el-input v-model="dataForm.currentEmployer" placeholder="现工作单位"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="现居住地址单位" prop="currentAddress"> |
|||
<el-input v-model="dataForm.currentAddress" placeholder="现工作单位"></el-input> |
|||
</el-form-item> |
|||
</el-form> |
|||
<template slot="footer"> |
|||
<el-button @click="visible = false">{{ $t('cancel') }}</el-button> |
|||
<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button> |
|||
</template> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
import debounce from 'lodash/debounce' |
|||
export default { |
|||
data () { |
|||
return { |
|||
visible: false, |
|||
dataForm: { |
|||
houseId: '', |
|||
residentsName: '', |
|||
residentsSex: '', |
|||
residentsNation: '', |
|||
educationLevel: '', |
|||
politicsStatus: '', |
|||
residentsIdentityNo: '', |
|||
residentsPhone: '', |
|||
currentEmployer: '', |
|||
currentAddress: '', |
|||
houseHeadRelation: '', |
|||
isEditResidentInfo: '' |
|||
}, |
|||
educationLevelList: [], |
|||
politicsStatusList: [], |
|||
houseHeadRelationList: [ |
|||
{ |
|||
label: '子女', |
|||
value: '0' |
|||
}, |
|||
{ |
|||
label: '夫妻', |
|||
value: '1' |
|||
}, |
|||
{ |
|||
label: '其他', |
|||
value: '2' |
|||
} |
|||
] |
|||
} |
|||
}, |
|||
props: ['houseId'], |
|||
computed: { |
|||
dataRule () { |
|||
return { |
|||
residentsName: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
residentsNation: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
educationLevel: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
politicsStatus: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
residentsIdentityNo: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
residentsPhone: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
currentEmployer: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
currentAddress: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
] |
|||
} |
|||
} |
|||
}, |
|||
created () { |
|||
this.$http.get(`/sys/dict/listSimple/education_level`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.educationLevelList = res.data |
|||
}).catch(() => { }) |
|||
this.$http.get(`/sys/dict/listSimple/politics_status`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.politicsStatusList = res.data |
|||
}).catch(() => { }) |
|||
}, |
|||
methods: { |
|||
init () { |
|||
this.visible = true |
|||
this.$nextTick(() => { |
|||
this.$refs['dataForm'].resetFields() |
|||
if (this.dataForm.id) { |
|||
this.getInfo() |
|||
} |
|||
}) |
|||
}, |
|||
// 获取信息 |
|||
getInfo () { |
|||
this.$http.get(`/app-user/houseresident/${this.dataForm.id}`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.dataForm = { |
|||
...this.dataForm, |
|||
...res.data |
|||
} |
|||
}).catch(() => {}) |
|||
}, |
|||
// 表单提交 |
|||
dataFormSubmitHandle: debounce(function () { |
|||
this.$refs['dataForm'].validate((valid) => { |
|||
if (!valid) { |
|||
return false |
|||
} |
|||
this.dataForm.houseId = this.houseId |
|||
this.dataForm.isEditResidentInfo = '0' |
|||
this.$http[!this.dataForm.id ? 'post' : 'put']('/app-user/houseresident/', this.dataForm).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
if (res.data !== '' && res.data !== undefined && res.data !== null) { |
|||
this.$confirm(res.data, '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}).then(() => { |
|||
this.dataForm.isEditResidentInfo = '1' |
|||
this.$http[!this.dataForm.id ? 'post' : 'put']('/app-user/houseresident/', this.dataForm).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.$message({ |
|||
message: this.$t('prompt.success'), |
|||
type: 'success', |
|||
duration: 500, |
|||
onClose: () => { |
|||
this.visible = false |
|||
this.$emit('refreshDataList') |
|||
} |
|||
}) |
|||
}).catch(() => {}) |
|||
}).catch(() => {}) |
|||
} else { |
|||
this.$message({ |
|||
message: this.$t('prompt.success'), |
|||
type: 'success', |
|||
duration: 500, |
|||
onClose: () => { |
|||
this.visible = false |
|||
this.$emit('refreshDataList') |
|||
} |
|||
}) |
|||
} |
|||
}).catch(() => {}) |
|||
}) |
|||
}, 1000, { 'leading': true, 'trailing': false }) |
|||
} |
|||
} |
|||
</script> |
|||
@ -0,0 +1,267 @@ |
|||
<template> |
|||
<el-dialog :visible.sync="visible" :title="!dataForm.id ? $t('add') : $t('update')" :close-on-click-modal="false" :close-on-press-escape="false"> |
|||
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" :label-width="$i18n.locale === 'en-US' ? '120px' : '120px'"> |
|||
<el-form-item label="房屋地址" prop="houseAddress"> |
|||
<el-input v-model="dataForm.houseAddress" placeholder="房屋地址"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="购房时间" prop="buyingTime"> |
|||
<el-date-picker |
|||
v-model="dataForm.buyingTime" |
|||
type="date" |
|||
placeholder="选择日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item label="房屋面积(m²)" prop="houseArea" width="50px"> |
|||
<el-input-number v-model="dataForm.houseArea" placeholder="房屋面积" :min="1"></el-input-number> |
|||
</el-form-item> |
|||
<el-form-item label="产权人" prop="propertyOwner"> |
|||
<el-input v-model="dataForm.propertyOwner" placeholder="产权人"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="产权人联系电话" prop="propertyOwnerMobile"> |
|||
<el-input v-model="dataForm.propertyOwnerMobile" placeholder="联系电话"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="产权人身份证号" prop="propertyOwnerIdentityNo"> |
|||
<el-input v-model="dataForm.propertyOwnerIdentityNo" placeholder="产权人身份证号"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="产权证" prop="propertyOwnerCard"> |
|||
<el-input v-model="dataForm.propertyOwnerCard" placeholder="产权证"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="所属网格"> |
|||
<el-cascader v-model="deptIdList" |
|||
:options="options" |
|||
:props="{ checkStrictly: true }" |
|||
clearable> |
|||
</el-cascader> |
|||
</el-form-item> |
|||
<el-form-item label="房屋用途" prop="houseUse"> |
|||
<el-select v-model="dataForm.houseUse" placeholder="房屋用途" clearable> |
|||
<el-option |
|||
v-for="item in houseUseFlag" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<div v-if="dataForm.houseUse === '1'"> |
|||
<el-form-item label="承租人姓名" prop="tenantName"> |
|||
<el-input v-model="dataForm.tenantName" placeholder="承租人姓名"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="承租人电话" prop="tenantPhone"> |
|||
<el-input v-model="dataForm.tenantPhone" placeholder="承租人电话"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="承租人身份证号" prop="tenantIdentityNo"> |
|||
<el-input v-model="dataForm.tenantIdentityNo" placeholder="承租人身份证号"></el-input> |
|||
</el-form-item> |
|||
</div> |
|||
<div v-if="dataForm.houseUse === '2'"> |
|||
<el-form-item label="企业名称" prop="enterpriseName"> |
|||
<el-input v-model="dataForm.enterpriseName" placeholder="企业名称"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="社会统一代码" prop="socialUniformCode"> |
|||
<el-input v-model="dataForm.socialUniformCode" placeholder="社会统一代码"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="法人代表" prop="legalRepresentative"> |
|||
<el-input v-model="dataForm.legalRepresentative" placeholder="法人代表"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="电话" prop="enterprisePhone"> |
|||
<el-input v-model="dataForm.enterprisePhone" placeholder="电话"></el-input> |
|||
</el-form-item> |
|||
</div> |
|||
</el-form> |
|||
<template slot="footer"> |
|||
<el-button @click="visible = false">{{ $t('cancel') }}</el-button> |
|||
<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button> |
|||
</template> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
import debounce from 'lodash/debounce' |
|||
export default { |
|||
data () { |
|||
return { |
|||
visible: false, |
|||
dataForm: { |
|||
id: '', |
|||
houseAddress: '', |
|||
buyingTime: '', |
|||
houseArea: '', |
|||
propertyOwner: '', |
|||
propertyOwnerIdentityNo: '', |
|||
propertyOwnerMobile: '', |
|||
houseUse: '', |
|||
delFlag: '', |
|||
revision: '', |
|||
createdBy: '', |
|||
createdTime: '', |
|||
updatedBy: '', |
|||
updatedTime: '', |
|||
gridId: '', |
|||
parentDeptIds: '', |
|||
parentDeptNames: '', |
|||
allDeptIds: '', |
|||
allDeptNames: '', |
|||
deptIdList: [], |
|||
propertyOwnerCard: '' |
|||
}, |
|||
houseUseFlag: [ |
|||
{ |
|||
value: '0', |
|||
label: '自住' |
|||
}, |
|||
{ |
|||
value: '1', |
|||
label: '租赁' |
|||
}, |
|||
{ |
|||
value: '2', |
|||
label: '经营' |
|||
} |
|||
], |
|||
options: [], |
|||
deptIdList: [] |
|||
} |
|||
}, |
|||
computed: { |
|||
dataRule () { |
|||
return { |
|||
houseAddress: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
buyingTime: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
houseArea: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
propertyOwner: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
propertyOwnerIdentityNo: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
propertyOwnerMobile: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
houseUse: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
propertyOwnerCard: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
] |
|||
} |
|||
} |
|||
}, |
|||
watch: { |
|||
'deptIdList': function (val) { |
|||
if (val.length === 0) { |
|||
this.dataForm.streetId = '' |
|||
this.dataForm.communityId = '' |
|||
this.dataForm.gridId = '' |
|||
} |
|||
if (val.length === 1) { |
|||
this.dataForm.streetId = this.deptIdList[0] |
|||
this.dataForm.communityId = '' |
|||
this.dataForm.gridId = '' |
|||
} |
|||
if (val.length === 2) { |
|||
this.dataForm.streetId = this.deptIdList[0] |
|||
this.dataForm.communityId = this.deptIdList[1] |
|||
this.dataForm.gridId = '' |
|||
} |
|||
if (val.length === 3) { |
|||
this.dataForm.streetId = this.deptIdList[0] |
|||
this.dataForm.communityId = this.deptIdList[1] |
|||
this.dataForm.gridId = this.deptIdList[2] |
|||
} |
|||
} |
|||
}, |
|||
created: function () { |
|||
this.$http |
|||
.get(`/sys/user/deptOptions/getByLoginUser`) |
|||
.then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.options = res.data.options |
|||
}) |
|||
.catch(() => { }) |
|||
}, |
|||
methods: { |
|||
init () { |
|||
this.visible = true |
|||
this.$nextTick(() => { |
|||
this.$refs['dataForm'].resetFields() |
|||
if (this.dataForm.id) { |
|||
this.getInfo() |
|||
} else { |
|||
this.deptIdList = [] |
|||
} |
|||
}) |
|||
}, |
|||
// 获取信息 |
|||
getInfo () { |
|||
this.$http.get(`/app-user/housinginformation/${this.dataForm.id}`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.dataForm = { |
|||
...this.dataForm, |
|||
...res.data |
|||
} |
|||
this.deptIdList = this.dataForm.deptIdList |
|||
}).catch(() => {}) |
|||
}, |
|||
// 表单提交 |
|||
dataFormSubmitHandle: debounce(function () { |
|||
this.$refs['dataForm'].validate((valid) => { |
|||
if (!valid) { |
|||
return false |
|||
} |
|||
if (this.dataForm.gridId === '' || this.dataForm.gridId === undefined) { |
|||
return this.$message.error('请选择所属网格') |
|||
} |
|||
if (this.dataForm.houseUse === '1') { |
|||
if (this.dataForm.tenantName === '' || this.dataForm.tenantName === undefined) { |
|||
return this.$message.error('承租人姓名不能为空') |
|||
} |
|||
if (this.dataForm.tenantPhone === '' || this.dataForm.tenantPhone === undefined) { |
|||
return this.$message.error('承租人电话不能为空') |
|||
} |
|||
if (this.dataForm.tenantIdentityNo === '' || this.dataForm.tenantIdentityNo === undefined) { |
|||
return this.$message.error('承租人身份证号不能为空') |
|||
} |
|||
} else if (this.dataForm.houseUse === '2') { |
|||
if (this.dataForm.enterpriseName === '' || this.dataForm.enterpriseName === undefined) { |
|||
return this.$message.error('企业名称不能为空') |
|||
} |
|||
if (this.dataForm.socialUniformCode === '' || this.dataForm.socialUniformCode === undefined) { |
|||
return this.$message.error('社会统一代码不能为空') |
|||
} |
|||
if (this.dataForm.legalRepresentative === '' || this.dataForm.legalRepresentative === undefined) { |
|||
return this.$message.error('法人代表不能为空') |
|||
} |
|||
if (this.dataForm.enterprisePhone === '' || this.dataForm.enterprisePhone === undefined) { |
|||
return this.$message.error('电话不能为空') |
|||
} |
|||
} |
|||
this.$http[!this.dataForm.id ? 'post' : 'put']('/app-user/housinginformation/', this.dataForm).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.$message({ |
|||
message: this.$t('prompt.success'), |
|||
type: 'success', |
|||
duration: 500, |
|||
onClose: () => { |
|||
this.visible = false |
|||
this.$emit('refreshDataList') |
|||
} |
|||
}) |
|||
}).catch(() => {}) |
|||
}) |
|||
}, 1000, { 'leading': true, 'trailing': false }) |
|||
} |
|||
} |
|||
</script> |
|||
@ -0,0 +1,170 @@ |
|||
<template> |
|||
<el-dialog :visible.sync="visible" :title="详情" :close-on-click-modal="false" :close-on-press-escape="false"> |
|||
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" :label-width="$i18n.locale === 'en-US' ? '120px' : '130px'"> |
|||
<el-form-item label="房屋地址:" prop="houseAddress"> |
|||
<span>{{dataForm.houseAddress}}</span> |
|||
</el-form-item> |
|||
<el-form-item label="购房时间:" prop="buyingTime"> |
|||
<span>{{dataForm.buyingTime.substr(0,10)}}</span> |
|||
</el-form-item> |
|||
<el-form-item label="房屋面积(m²):" prop="houseArea" width="50px"> |
|||
<span>{{dataForm.houseArea}}</span> |
|||
</el-form-item> |
|||
<el-form-item label="产权人:" prop="propertyOwner"> |
|||
<span>{{dataForm.propertyOwner}}</span> |
|||
</el-form-item> |
|||
<el-form-item label="产权人联系电话:" prop="propertyOwnerMobile"> |
|||
<span>{{dataForm.propertyOwnerMobile}}</span> |
|||
</el-form-item> |
|||
<el-form-item label="产权人身份证号:" prop="propertyOwnerIdentityNo"> |
|||
<span>{{dataForm.propertyOwnerIdentityNo}}</span> |
|||
</el-form-item> |
|||
<el-form-item label="产权证:" prop="propertyOwnerCard"> |
|||
<span>{{dataForm.propertyOwnerCard}}</span> |
|||
</el-form-item> |
|||
<el-form-item label="所属网格:"> |
|||
<span>{{dataForm.gridName}}</span> |
|||
</el-form-item> |
|||
<el-form-item label="房屋用途:" prop="houseUse"> |
|||
<span>{{houseUse}}</span> |
|||
</el-form-item> |
|||
<div v-if="dataForm.houseUse === '1'"> |
|||
<el-form-item label="承租人姓名:" prop="tenantName"> |
|||
<span>{{dataForm.tenantName}}</span> |
|||
</el-form-item> |
|||
<el-form-item label="承租人电话:" prop="tenantPhone"> |
|||
<span>{{dataForm.tenantPhone}}</span> |
|||
</el-form-item> |
|||
<el-form-item label="承租人身份证号:" prop="tenantIdentityNo"> |
|||
<span>{{dataForm.tenantIdentityNo}}</span> |
|||
</el-form-item> |
|||
</div> |
|||
<div v-if="dataForm.houseUse === '2'"> |
|||
<el-form-item label="企业名称:" prop="enterpriseName"> |
|||
<span>{{dataForm.enterpriseName}}</span> |
|||
</el-form-item> |
|||
<el-form-item label="社会统一代码:" prop="socialUniformCode"> |
|||
<span>{{dataForm.socialUniformCode}}</span> |
|||
</el-form-item> |
|||
<el-form-item label="法人代表:" prop="legalRepresentative"> |
|||
<span>{{dataForm.legalRepresentative}}</span> |
|||
</el-form-item> |
|||
<el-form-item label="电话:" prop="enterprisePhone"> |
|||
<span>{{dataForm.enterprisePhone}}</span> |
|||
</el-form-item> |
|||
</div> |
|||
</el-form> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
data () { |
|||
return { |
|||
visible: false, |
|||
dataForm: { |
|||
id: '', |
|||
houseAddress: '', |
|||
buyingTime: '', |
|||
houseArea: '', |
|||
propertyOwner: '', |
|||
propertyOwnerIdentityNo: '', |
|||
propertyOwnerMobile: '', |
|||
houseUse: '', |
|||
delFlag: '', |
|||
revision: '', |
|||
createdBy: '', |
|||
createdTime: '', |
|||
updatedBy: '', |
|||
updatedTime: '', |
|||
gridId: '', |
|||
parentDeptIds: '', |
|||
parentDeptNames: '', |
|||
allDeptIds: '', |
|||
allDeptNames: '', |
|||
deptIdList: [], |
|||
propertyOwnerCard: '' |
|||
}, |
|||
houseUseFlag: [ |
|||
{ |
|||
value: '0', |
|||
label: '自住' |
|||
}, |
|||
{ |
|||
value: '1', |
|||
label: '租赁' |
|||
}, |
|||
{ |
|||
value: '2', |
|||
label: '经营' |
|||
} |
|||
], |
|||
options: [], |
|||
deptIdList: [], |
|||
houseUse: '' |
|||
} |
|||
}, |
|||
computed: { |
|||
dataRule () { |
|||
return { |
|||
houseAddress: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
buyingTime: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
houseArea: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
propertyOwner: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
propertyOwnerIdentityNo: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
propertyOwnerMobile: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
houseUse: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
propertyOwnerCard: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
] |
|||
} |
|||
} |
|||
}, |
|||
methods: { |
|||
init () { |
|||
this.visible = true |
|||
this.$nextTick(() => { |
|||
this.$refs['dataForm'].resetFields() |
|||
if (this.dataForm.id) { |
|||
this.getInfo() |
|||
} else { |
|||
this.deptIdList = [] |
|||
} |
|||
}) |
|||
}, |
|||
// 获取信息 |
|||
getInfo () { |
|||
this.$http.get(`/app-user/housinginformation/${this.dataForm.id}`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.dataForm = { |
|||
...this.dataForm, |
|||
...res.data |
|||
} |
|||
if (this.dataForm.houseUse === '0') { |
|||
this.houseUse = '自住' |
|||
} else if (this.dataForm.houseUse === '1') { |
|||
this.houseUse = '租赁' |
|||
} else if (this.dataForm.houseUse === '2') { |
|||
this.houseUse = '经营' |
|||
} |
|||
}).catch(() => {}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
@ -0,0 +1,186 @@ |
|||
<template> |
|||
<el-card shadow="never" class="aui-card--fill"> |
|||
<div class="mod-news__housinginformation}"> |
|||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()"> |
|||
<el-form-item label="房屋地址"> |
|||
<el-input v-model="dataForm.houseAddress" |
|||
placeholder="" |
|||
clearable></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="产权人"> |
|||
<el-input v-model="dataForm.propertyOwner" |
|||
placeholder="" |
|||
clearable></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="联系电话"> |
|||
<el-input v-model="dataForm.propertyOwnerMobile" |
|||
placeholder="" |
|||
clearable></el-input> |
|||
</el-form-item> |
|||
<br> |
|||
<el-form-item label="所属机构"> |
|||
<el-cascader v-model="deptIdList" |
|||
:options="options" |
|||
:props="{ checkStrictly: true }" |
|||
clearable> |
|||
</el-cascader> |
|||
</el-form-item> |
|||
<el-form-item label="房屋用途" prop="houseUse"> |
|||
<el-select v-model="dataForm.houseUse" placeholder="房屋用途" clearable> |
|||
<el-option |
|||
v-for="item in houseUseFlag" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button @click="getDataList()">{{ $t('query') }}</el-button> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;"> |
|||
<el-table-column label="序号" width="70px"><template slot-scope="scope">{{scope.$index+1}}</template></el-table-column> |
|||
<el-table-column prop="houseUse" label="房屋用途" header-align="center" align="center" :formatter="houseUseFormatter"></el-table-column> |
|||
<el-table-column prop="houseAddress" label="房屋地址" header-align="center" align="center" width="200px"></el-table-column> |
|||
<el-table-column prop="gridName" label="所属网格" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="propertyOwner" label="产权人" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="propertyOwnerMobile" label="联系电话" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="propertyOwnerIdentityNo" label="身份证号" header-align="center" align="center" width="180px"></el-table-column> |
|||
<el-table-column label="房屋信息" fixed="right" header-align="center" align="center" width="150"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="text" size="small" @click="lookHouseInfo(scope.row.id)">查看</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="居住人信息" fixed="right" header-align="center" align="center" width="150"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="text" size="small" @click="lookResidentInfo(scope.row.id)">查看</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button> |
|||
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<el-pagination |
|||
:current-page="page" |
|||
:page-sizes="[10, 20, 50, 100]" |
|||
:page-size="limit" |
|||
:total="total" |
|||
layout="total, sizes, prev, pager, next, jumper" |
|||
@size-change="pageSizeChangeHandle" |
|||
@current-change="pageCurrentChangeHandle"> |
|||
</el-pagination> |
|||
<!-- 弹窗, 新增 / 修改 --> |
|||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update> |
|||
<housinginformation-detail v-if="detailVisible" ref="housinginformationDetail" @refreshDataList="getDataList"></housinginformation-detail> |
|||
</div> |
|||
</el-card> |
|||
</template> |
|||
|
|||
<script> |
|||
import mixinViewModule from '@/mixins/view-module' |
|||
import AddOrUpdate from './housinginformation-add-or-update' |
|||
import HousinginformationDetail from './housinginformation-detail' |
|||
export default { |
|||
mixins: [mixinViewModule], |
|||
data () { |
|||
return { |
|||
mixinViewModuleOptions: { |
|||
getDataListURL: '/app-user/housinginformation/page', |
|||
getDataListIsPage: true, |
|||
deleteURL: '/app-user/housinginformation', |
|||
deleteIsBatch: true |
|||
}, |
|||
dataForm: { |
|||
id: '' |
|||
}, |
|||
deptIdList: [], |
|||
options: [], |
|||
houseUseFlag: [ |
|||
{ |
|||
value: '0', |
|||
label: '自住' |
|||
}, |
|||
{ |
|||
value: '1', |
|||
label: '租赁' |
|||
}, |
|||
{ |
|||
value: '2', |
|||
label: '经营' |
|||
} |
|||
], |
|||
detailVisible: false |
|||
} |
|||
}, |
|||
components: { |
|||
AddOrUpdate, |
|||
HousinginformationDetail |
|||
}, |
|||
watch: { |
|||
'deptIdList': function (val) { |
|||
if (val.length === 0) { |
|||
this.dataForm.streetId = '' |
|||
this.dataForm.communityId = '' |
|||
this.dataForm.gridId = '' |
|||
} |
|||
if (val.length === 1) { |
|||
this.dataForm.streetId = this.deptIdList[0] |
|||
this.dataForm.communityId = '' |
|||
this.dataForm.gridId = '' |
|||
} |
|||
if (val.length === 2) { |
|||
this.dataForm.streetId = this.deptIdList[0] |
|||
this.dataForm.communityId = this.deptIdList[1] |
|||
this.dataForm.gridId = '' |
|||
} |
|||
if (val.length === 3) { |
|||
this.dataForm.streetId = this.deptIdList[0] |
|||
this.dataForm.communityId = this.deptIdList[1] |
|||
this.dataForm.gridId = this.deptIdList[2] |
|||
} |
|||
} |
|||
}, |
|||
created: function () { |
|||
this.$http |
|||
.get(`/sys/user/deptOptions/getByLoginUser`) |
|||
.then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.options = res.data.options |
|||
}) |
|||
.catch(() => { }) |
|||
this.getDataList() |
|||
}, |
|||
methods: { |
|||
houseUseFormatter: function (row, column) { |
|||
if (row.houseUse === '0') { |
|||
return '自住' |
|||
} else if (row.houseUse === '1') { |
|||
return '租赁' |
|||
} else if (row.houseUse === '2') { |
|||
return '经营' |
|||
} |
|||
return '' |
|||
}, |
|||
lookHouseInfo (id) { |
|||
this.detailVisible = true |
|||
this.$nextTick(() => { |
|||
this.$refs.housinginformationDetail.dataForm.id = id |
|||
this.$refs.housinginformationDetail.init() |
|||
}) |
|||
}, |
|||
lookResidentInfo (id) { |
|||
this.$parent.selectComponent = 'Househeadedit' |
|||
this.$router.push({ path: '/user-houseinfomationroute', query: { id: id } }) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
@ -0,0 +1,369 @@ |
|||
<template> |
|||
<el-dialog :visible.sync="visible" :title="!dataForm.id ? $t('add') : $t('update')" :close-on-click-modal="false" :close-on-press-escape="false"> |
|||
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" :label-width="$i18n.locale === 'en-US' ? '120px' : '80px'"> |
|||
<el-form-item label="姓名" prop="residentsName"> |
|||
<el-input v-model="dataForm.residentsName" placeholder="姓名"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="性别 (0:女 1:男)" prop="residentsSex"> |
|||
<el-input v-model="dataForm.residentsSex" placeholder="性别 (0:女 1:男)"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="民族" prop="residentsNation"> |
|||
<el-input v-model="dataForm.residentsNation" placeholder="民族"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="出生年/月" prop="residentsBirthday"> |
|||
<el-input v-model="dataForm.residentsBirthday" placeholder="出生年/月"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="文化程度" prop="educationLevel"> |
|||
<el-input v-model="dataForm.educationLevel" placeholder="文化程度"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="政治面貌 (0:群众 1:党员)" prop="politicsStatus"> |
|||
<el-input v-model="dataForm.politicsStatus" placeholder="政治面貌 (0:群众 1:党员)"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="入党时间" prop="joinTime"> |
|||
<el-input v-model="dataForm.joinTime" placeholder="入党时间"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="组织关系所在地" prop="organizationalRelationshipLocation"> |
|||
<el-input v-model="dataForm.organizationalRelationshipLocation" placeholder="组织关系所在地"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="身份证号码" prop="residentsIdentityNo"> |
|||
<el-input v-model="dataForm.residentsIdentityNo" placeholder="身份证号码"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="联系电话" prop="residentsPhone"> |
|||
<el-input v-model="dataForm.residentsPhone" placeholder="联系电话"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="身体状况 (0:病残 1:健康)" prop="bodyStatus"> |
|||
<el-input v-model="dataForm.bodyStatus" placeholder="身体状况 (0:病残 1:健康)"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="婚姻状况 (0:未婚 1:已婚)" prop="maritalStatus"> |
|||
<el-input v-model="dataForm.maritalStatus" placeholder="婚姻状况 (0:未婚 1:已婚)"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="户口类型 (0:城镇 1:农业)" prop="accountType"> |
|||
<el-input v-model="dataForm.accountType" placeholder="户口类型 (0:城镇 1:农业)"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="服兵役 (0:否 1:是)" prop="militaryService"> |
|||
<el-input v-model="dataForm.militaryService" placeholder="服兵役 (0:否 1:是)"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="户籍地" prop="householdRegistrationPlace"> |
|||
<el-input v-model="dataForm.householdRegistrationPlace" placeholder="户籍地"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="就业情况 (0:在岗 1:就业)" prop="employmentStatus"> |
|||
<el-input v-model="dataForm.employmentStatus" placeholder="就业情况 (0:在岗 1:就业)"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="现工作单位" prop="currentEmployer"> |
|||
<el-input v-model="dataForm.currentEmployer" placeholder="现工作单位"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="现单位地址" prop="currentEmployerAddress"> |
|||
<el-input v-model="dataForm.currentEmployerAddress" placeholder="现单位地址"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="失业原因 (0:原单位破产 1:解除合同 2:效益不好 3:减员 4:其他)" prop="unemploymentReason"> |
|||
<el-input v-model="dataForm.unemploymentReason" placeholder="失业原因 (0:原单位破产 1:解除合同 2:效益不好 3:减员 4:其他)"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="再就业优惠证 (0:无 1:有)" prop="reemploymentPermit"> |
|||
<el-input v-model="dataForm.reemploymentPermit" placeholder="再就业优惠证 (0:无 1:有)"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="失业登记 (0:否 1:是)" prop="unemploymentRegister"> |
|||
<el-input v-model="dataForm.unemploymentRegister" placeholder="失业登记 (0:否 1:是)"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="失业登记时间" prop="unemploymentRegisterTime"> |
|||
<el-input v-model="dataForm.unemploymentRegisterTime" placeholder="失业登记时间"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="家庭类别 (0:普通家庭 1:五好家庭 2:军烈家庭 3:优抚家庭 4:单亲家庭 5:空巢老人 6:困难家庭)" prop="familyCategory"> |
|||
<el-input v-model="dataForm.familyCategory" placeholder="家庭类别 (0:普通家庭 1:五好家庭 2:军烈家庭 3:优抚家庭 4:单亲家庭 5:空巢老人 6:困难家庭)"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="救助情况 (0:低保 1:大病 2:廉租 3:教育 4:临时 5:其他)" prop="helpStatus"> |
|||
<el-input v-model="dataForm.helpStatus" placeholder="救助情况 (0:低保 1:大病 2:廉租 3:教育 4:临时 5:其他)"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="机动车数量" prop="motorVehicleNum"> |
|||
<el-input v-model="dataForm.motorVehicleNum" placeholder="机动车数量"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="机动车类型 (0:轿车 1:摩托 2:其他)" prop="motorVehicleCategory"> |
|||
<el-input v-model="dataForm.motorVehicleCategory" placeholder="机动车类型 (0:轿车 1:摩托 2:其他)"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="宠物犬状况 (0:无 1:有)" prop="dogStatus"> |
|||
<el-input v-model="dataForm.dogStatus" placeholder="宠物犬状况 (0:无 1:有)"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="家庭成员数" prop="familyMemberNum"> |
|||
<el-input v-model="dataForm.familyMemberNum" placeholder="家庭成员数"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="家庭外出成员数" prop="familyMemberOutNum"> |
|||
<el-input v-model="dataForm.familyMemberOutNum" placeholder="家庭外出成员数"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="外出原因 (0:务工 1:上学 2:探亲 3:其他)" prop="familyMemberOutReason"> |
|||
<el-input v-model="dataForm.familyMemberOutReason" placeholder="外出原因 (0:务工 1:上学 2:探亲 3:其他)"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="在外月数" prop="familyMemberOutMonth"> |
|||
<el-input v-model="dataForm.familyMemberOutMonth" placeholder="在外月数"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="删除标识" prop="delFlag"> |
|||
<el-input v-model="dataForm.delFlag" placeholder="删除标识"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="乐观锁" prop="revision"> |
|||
<el-input v-model="dataForm.revision" placeholder="乐观锁"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="创建人" prop="createdBy"> |
|||
<el-input v-model="dataForm.createdBy" placeholder="创建人"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="创建时间" prop="createdTime"> |
|||
<el-input v-model="dataForm.createdTime" placeholder="创建时间"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="更新人" prop="updatedBy"> |
|||
<el-input v-model="dataForm.updatedBy" placeholder="更新人"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="更新时间" prop="updatedTime"> |
|||
<el-input v-model="dataForm.updatedTime" placeholder="更新时间"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="所属网格ID" prop="gridId"> |
|||
<el-input v-model="dataForm.gridId" placeholder="所属网格ID"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="父所有部门" prop="parentDeptIds"> |
|||
<el-input v-model="dataForm.parentDeptIds" placeholder="父所有部门"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="父所有部门" prop="parentDeptNames"> |
|||
<el-input v-model="dataForm.parentDeptNames" placeholder="父所有部门"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="所有部门ID" prop="allDeptIds"> |
|||
<el-input v-model="dataForm.allDeptIds" placeholder="所有部门ID"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="所有部门名称" prop="allDeptNames"> |
|||
<el-input v-model="dataForm.allDeptNames" placeholder="所有部门名称"></el-input> |
|||
</el-form-item> |
|||
</el-form> |
|||
<template slot="footer"> |
|||
<el-button @click="visible = false">{{ $t('cancel') }}</el-button> |
|||
<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button> |
|||
</template> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
import debounce from 'lodash/debounce' |
|||
export default { |
|||
data () { |
|||
return { |
|||
visible: false, |
|||
dataForm: { |
|||
id: '', |
|||
residentsName: '', |
|||
residentsSex: '', |
|||
residentsNation: '', |
|||
residentsBirthday: '', |
|||
educationLevel: '', |
|||
politicsStatus: '', |
|||
joinTime: '', |
|||
organizationalRelationshipLocation: '', |
|||
residentsIdentityNo: '', |
|||
residentsPhone: '', |
|||
bodyStatus: '', |
|||
maritalStatus: '', |
|||
accountType: '', |
|||
militaryService: '', |
|||
householdRegistrationPlace: '', |
|||
employmentStatus: '', |
|||
currentEmployer: '', |
|||
currentEmployerAddress: '', |
|||
unemploymentReason: '', |
|||
reemploymentPermit: '', |
|||
unemploymentRegister: '', |
|||
unemploymentRegisterTime: '', |
|||
familyCategory: '', |
|||
helpStatus: '', |
|||
motorVehicleNum: '', |
|||
motorVehicleCategory: '', |
|||
dogStatus: '', |
|||
familyMemberNum: '', |
|||
familyMemberOutNum: '', |
|||
familyMemberOutReason: '', |
|||
familyMemberOutMonth: '', |
|||
delFlag: '', |
|||
revision: '', |
|||
createdBy: '', |
|||
createdTime: '', |
|||
updatedBy: '', |
|||
updatedTime: '', |
|||
gridId: '', |
|||
parentDeptIds: '', |
|||
parentDeptNames: '', |
|||
allDeptIds: '', |
|||
allDeptNames: '' |
|||
} |
|||
} |
|||
}, |
|||
computed: { |
|||
dataRule () { |
|||
return { |
|||
residentsName: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
residentsSex: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
residentsNation: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
residentsBirthday: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
educationLevel: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
politicsStatus: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
joinTime: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
organizationalRelationshipLocation: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
residentsIdentityNo: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
residentsPhone: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
bodyStatus: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
maritalStatus: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
accountType: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
militaryService: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
householdRegistrationPlace: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
employmentStatus: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
currentEmployer: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
currentEmployerAddress: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
unemploymentReason: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
reemploymentPermit: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
unemploymentRegister: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
unemploymentRegisterTime: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
familyCategory: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
helpStatus: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
motorVehicleNum: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
motorVehicleCategory: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
dogStatus: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
familyMemberNum: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
familyMemberOutNum: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
familyMemberOutReason: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
familyMemberOutMonth: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
delFlag: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
revision: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
createdBy: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
createdTime: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
updatedBy: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
updatedTime: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
gridId: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
parentDeptIds: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
parentDeptNames: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
allDeptIds: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
allDeptNames: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
] |
|||
} |
|||
} |
|||
}, |
|||
methods: { |
|||
init () { |
|||
this.visible = true |
|||
this.$nextTick(() => { |
|||
this.$refs['dataForm'].resetFields() |
|||
if (this.dataForm.id) { |
|||
this.getInfo() |
|||
} |
|||
}) |
|||
}, |
|||
// 获取信息 |
|||
getInfo () { |
|||
this.$http.get(`/news/populationinformation/${this.dataForm.id}`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.dataForm = { |
|||
...this.dataForm, |
|||
...res.data |
|||
} |
|||
}).catch(() => {}) |
|||
}, |
|||
// 表单提交 |
|||
dataFormSubmitHandle: debounce(function () { |
|||
this.$refs['dataForm'].validate((valid) => { |
|||
if (!valid) { |
|||
return false |
|||
} |
|||
this.$http[!this.dataForm.id ? 'post' : 'put']('/news/populationinformation/', this.dataForm).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.$message({ |
|||
message: this.$t('prompt.success'), |
|||
type: 'success', |
|||
duration: 500, |
|||
onClose: () => { |
|||
this.visible = false |
|||
this.$emit('refreshDataList') |
|||
} |
|||
}) |
|||
}).catch(() => {}) |
|||
}) |
|||
}, 1000, { 'leading': true, 'trailing': false }) |
|||
} |
|||
} |
|||
</script> |
|||
@ -0,0 +1,107 @@ |
|||
<template> |
|||
<el-card shadow="never" class="aui-card--fill"> |
|||
<div class="mod-news__populationinformation}"> |
|||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()"> |
|||
<el-form-item> |
|||
<el-input v-model="dataForm.id" placeholder="id" clearable></el-input> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button @click="getDataList()">{{ $t('query') }}</el-button> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button v-if="$hasPermission('news:populationinformation:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button v-if="$hasPermission('news:populationinformation:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;"> |
|||
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column> |
|||
<el-table-column prop="id" label="主键" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="residentsName" label="姓名" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="residentsSex" label="性别 (0:女 1:男)" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="residentsNation" label="民族" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="residentsBirthday" label="出生年/月" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="educationLevel" label="文化程度" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="politicsStatus" label="政治面貌 (0:群众 1:党员)" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="joinTime" label="入党时间" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="organizationalRelationshipLocation" label="组织关系所在地" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="residentsIdentityNo" label="身份证号码" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="residentsPhone" label="联系电话" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="bodyStatus" label="身体状况 (0:病残 1:健康)" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="maritalStatus" label="婚姻状况 (0:未婚 1:已婚)" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="accountType" label="户口类型 (0:城镇 1:农业)" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="militaryService" label="服兵役 (0:否 1:是)" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="householdRegistrationPlace" label="户籍地" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="employmentStatus" label="就业情况 (0:在岗 1:就业)" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="currentEmployer" label="现工作单位" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="currentEmployerAddress" label="现单位地址" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="unemploymentReason" label="失业原因 (0:原单位破产 1:解除合同 2:效益不好 3:减员 4:其他)" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="reemploymentPermit" label="再就业优惠证 (0:无 1:有)" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="unemploymentRegister" label="失业登记 (0:否 1:是)" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="unemploymentRegisterTime" label="失业登记时间" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="familyCategory" label="家庭类别 (0:普通家庭 1:五好家庭 2:军烈家庭 3:优抚家庭 4:单亲家庭 5:空巢老人 6:困难家庭)" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="helpStatus" label="救助情况 (0:低保 1:大病 2:廉租 3:教育 4:临时 5:其他)" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="motorVehicleNum" label="机动车数量" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="motorVehicleCategory" label="机动车类型 (0:轿车 1:摩托 2:其他)" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="dogStatus" label="宠物犬状况 (0:无 1:有)" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="familyMemberNum" label="家庭成员数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="familyMemberOutNum" label="家庭外出成员数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="familyMemberOutReason" label="外出原因 (0:务工 1:上学 2:探亲 3:其他)" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="familyMemberOutMonth" label="在外月数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="delFlag" label="删除标识" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="revision" label="乐观锁" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="createdBy" label="创建人" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="createdTime" label="创建时间" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="updatedBy" label="更新人" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="updatedTime" label="更新时间" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="gridId" label="所属网格ID" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="parentDeptIds" label="父所有部门" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="parentDeptNames" label="父所有部门" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="allDeptIds" label="所有部门ID" header-align="center" align="center"></el-table-column> |
|||
<el-table-column prop="allDeptNames" label="所有部门名称" header-align="center" align="center"></el-table-column> |
|||
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150"> |
|||
<template slot-scope="scope"> |
|||
<el-button v-if="$hasPermission('news:populationinformation:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button> |
|||
<el-button v-if="$hasPermission('news:populationinformation:delete')" type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<el-pagination |
|||
:current-page="page" |
|||
:page-sizes="[10, 20, 50, 100]" |
|||
:page-size="limit" |
|||
:total="total" |
|||
layout="total, sizes, prev, pager, next, jumper" |
|||
@size-change="pageSizeChangeHandle" |
|||
@current-change="pageCurrentChangeHandle"> |
|||
</el-pagination> |
|||
<!-- 弹窗, 新增 / 修改 --> |
|||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update> |
|||
</div> |
|||
</el-card> |
|||
</template> |
|||
|
|||
<script> |
|||
import mixinViewModule from '@/mixins/view-module' |
|||
import AddOrUpdate from './populationinformation-add-or-update' |
|||
export default { |
|||
mixins: [mixinViewModule], |
|||
data () { |
|||
return { |
|||
mixinViewModuleOptions: { |
|||
getDataListURL: '/news/populationinformation/page', |
|||
getDataListIsPage: true, |
|||
deleteURL: '/news/populationinformation', |
|||
deleteIsBatch: true |
|||
}, |
|||
dataForm: { |
|||
id: '' |
|||
} |
|||
} |
|||
}, |
|||
components: { |
|||
AddOrUpdate |
|||
} |
|||
} |
|||
</script> |
|||
Loading…
Reference in new issue