Browse Source

租房审核详情页

shibei_master
wanggongfeng 3 years ago
parent
commit
2c897e3afc
  1. 1
      src/i18n/zh-CN.js
  2. 95
      src/views/modules/plugins/rent/rentcontractinfo-add-or-update.vue
  3. 153
      src/views/modules/plugins/rent/rentcontractinfo.vue
  4. 85
      src/views/modules/plugins/rent/rentcontractreview.vue

1
src/i18n/zh-CN.js

@ -13,6 +13,7 @@ t.delete = '删除'
t.deleteBatch = '删除'
t.update = '修改'
t.checkBtn = '审核'
t.lookBtn = '查看'
t.checkTGBtn = '审核通过'
t.checkBTGBtn = '审核不通过'
t.query = '查询'

95
src/views/modules/plugins/rent/rentcontractinfo-add-or-update.vue

@ -1,43 +1,45 @@
<template>
<el-dialog :visible.sync="visible" title="审核" :close-on-click-modal="false" :close-on-press-escape="false">
<el-dialog :visible.sync="visible" :title="dataForm.flag === '1' ? '查看' : '审核'" :close-on-click-modal="false" :close-on-press-escape="false">
<el-form :inline="true" :model="dataForm" :rules="dataRule" ref="dataForm"
@keyup.enter.native="dataFormSubmitHandle()" label-width="120px" disabled>
<div style="height: 30px;font-weight: bold;">房屋信息</div>
<el-form-item label="所属社区" prop="gridName">
<el-input v-model="dataForm.gridName" placeholder="网格"></el-input>
</el-form-item>
<el-form-item label="所属网格" prop="gridName">
<el-input v-model="dataForm.gridName" placeholder="所属网格"></el-input>
</el-form-item>
<br/>
<el-form-item label="房屋" prop="homeName">
<el-input v-model="dataForm.homeName" placeholder="房屋"></el-input>
</el-form-item>
<el-form-item label="房主姓名" prop="ownerName">
<el-input v-model="dataForm.ownerName" placeholder="房主姓名"></el-input>
</el-form-item>
<br/>
<div v-if="dataForm.flag === '2'">
<div style="height: 30px;font-weight: bold;">房屋信息</div>
<el-form-item label="所属社区" prop="gridName">
<el-input v-model="dataForm.gridName" placeholder="网格"></el-input>
</el-form-item>
<el-form-item label="所属网格" prop="gridName">
<el-input v-model="dataForm.gridName" placeholder="所属网格"></el-input>
</el-form-item>
<br/>
<el-form-item label="房屋" prop="homeName">
<el-input v-model="dataForm.homeName" placeholder="房屋"></el-input>
</el-form-item>
<el-form-item label="房主姓名" prop="ownerName">
<el-input v-model="dataForm.ownerName" placeholder="房主姓名"></el-input>
</el-form-item>
<br/>
<div style="height: 30px;font-weight: bold;">居住成员信息</div>
<el-table v-loading="dataListLoading" :data="dataForm.tenantList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%">
<el-table-column label="序号" header-align="center" align="center" width="50px">
<template slot-scope="scope">
{{scope.$index+1}}
</template>
</el-table-column>
<el-table-column prop="name" label="姓名" header-align="center" align="center"></el-table-column>
<el-table-column prop="yfzgx" label="与户主关系" header-align="center" align="center"></el-table-column>
<el-table-column prop="mobile" label="手机" header-align="center" align="center"></el-table-column>
<el-table-column prop="idCard" label="身份证号" header-align="center" align="center"></el-table-column>
<el-table-column prop="imgList" label="照片" header-align="center" align="center">
<template slot-scope="scope">
<label v-for="(item,index) in scope.row.imgList">
<img :src="item.fileUrl" width="20" height="20" />
</label>
</template>
</el-table-column>
</el-table>
<br/>
<div style="height: 30px;font-weight: bold;">居住成员信息</div>
<el-table v-loading="dataListLoading" :data="dataForm.tenantList" border style="width: 100%">
<el-table-column label="序号" header-align="center" align="center" width="50px">
<template slot-scope="scope">
{{scope.$index+1}}
</template>
</el-table-column>
<el-table-column prop="name" label="姓名" header-align="center" align="center"></el-table-column>
<el-table-column prop="yfzgx" label="与户主关系" header-align="center" align="center"></el-table-column>
<el-table-column prop="mobile" label="手机" header-align="center" align="center"></el-table-column>
<el-table-column prop="idCard" label="身份证号" header-align="center" align="center"></el-table-column>
<el-table-column prop="imgList" label="照片" header-align="center" align="center">
<template slot-scope="scope">
<div v-for="(item,index) in scope.row.imgList">
<img :src="item.fileUrl" @click="imgShow(item.fileUrl)" width="40" height="40" />
</div>
</template>
</el-table-column>
</el-table>
<br/>
</div>
<div style="height: 30px;font-weight: bold;">合同信息</div>
<div style="height: 30px;">出租人信息</div>
@ -82,7 +84,7 @@
<el-form-item label="合同附件" prop="fileList">
<template slot-scope="scope">
<label v-for="(item,index) in dataForm.fileList">
<img :src="item.fileUrl" width="40" height="40" />
<img :src="item.fileUrl" @click="imgShow(item.fileUrl)" width="100" height="100" />
</label>
</template>
</el-form-item>
@ -93,6 +95,9 @@
<el-button type="primary" @click="checkHandle(1)">{{ $t('checkTGBtn') }}</el-button>
<el-button type="primary" @click="checkHandle(2)">{{ $t('checkBTGBtn') }}</el-button>
</template>
<el-dialog :visible.sync="dialogVisible" :modal="false">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</el-dialog>
</template>
@ -104,6 +109,7 @@ export default {
visible: false,
dataForm: {
id: '',
flag: '',
gridId: '',
gridName: '',
buildId: '',
@ -123,7 +129,10 @@ export default {
signDate: '',
startDate: '',
endDate: ''
}
},
dataListLoading: false,
dialogVisible: false,
dialogImageUrl: ''
}
},
computed: {
@ -199,6 +208,11 @@ export default {
}
})
},
//
imgShow(url){
this.dialogImageUrl = url
this.dialogVisible = true
},
//
getInfo () {
this.$http.get(`/pli/power/rentContractInfo/${this.dataForm.id}`).then(({ data: res }) => {
@ -212,12 +226,13 @@ export default {
}).catch(() => {})
},
//
checkHandle(type){
checkHandle: function (type) {
this.$message({
message: type,
type: 'success',
duration: 500,
onClose: () => {}
onClose: () => {
}
})
},

153
src/views/modules/plugins/rent/rentcontractinfo.vue

@ -97,12 +97,20 @@
</div>
</div>
</el-form-item>
<el-form-item label="审核状态" prop="scanFlag" label-width="100px">
<el-select v-model="dataForm.state" placeholder="审核状态" clearable>
<el-option v-for="item in stateArr" :key="item.dictValue" :label="item.dictName" :value="item.dictValue">
</el-option>
</el-select>
</el-form-item>
<br/>
<el-form-item label="出租人" label-width="100px">
<el-input v-model="dataForm.lessorName" placeholder='承租人' clearable @keyup.native="btKeyUpLessorName"></el-input>
</el-form-item>
<el-form-item label="出租身份证" label-width="100px">
<el-input v-model="dataForm.lessorIdCard" placeholder='承租人身份证' clearable @keyup.native="btKeyUpLessorIdCard"></el-input>
</el-form-item>
<el-form-item label="出租手机号" label-width="100px">
<el-input v-model="dataForm.lessorMobile" placeholder='承租人手机号' clearable @keyup.native="btKeyUpLessorMobile"></el-input>
</el-form-item>
<br/>
<el-form-item label="承租人" label-width="100px">
<el-input v-model="dataForm.lesseeName" placeholder='承租人' clearable @keyup.native="btKeyUpLesseeName"></el-input>
</el-form-item>
<el-form-item label="承租人身份证" label-width="100px">
<el-input v-model="dataForm.lesseeIdCard" placeholder='承租人身份证' clearable @keyup.native="btKeyUpLesseeIdCard"></el-input>
</el-form-item>
@ -110,10 +118,14 @@
<el-input v-model="dataForm.lesseeMobile" placeholder='承租人手机号' clearable @keyup.native="btKeyUpLesseeMobile"></el-input>
</el-form-item>
<br/>
<el-form-item label="承租人" label-width="100px">
<el-input v-model="dataForm.lesseeName" placeholder='承租人' clearable @keyup.native="btKeyUpLesseeName"></el-input>
</el-form-item>
<el-form-item label="审核时间" prop="startTime" label-width="100px">
<el-form-item label="合同到期时间" prop="endDate" label-width="100px">
<el-select v-model="dataForm.endDate" placeholder="合同到期时间" clearable>
<el-option v-for="item in endDateArr" :key="item.dictValue" :label="item.dictName" :value="item.dictValue">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="合同签订时间" prop="startTime" label-width="100px">
<el-date-picker v-model="dataForm.startTime"
type="date"
:picker-options="pickerBeginDateBefore"
@ -159,7 +171,7 @@
<el-table-column prop="endDate" 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('checkBtn') }}</el-button>
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id,'1')">{{ $t('lookBtn') }}</el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>
</template>
</el-table-column>
@ -184,56 +196,60 @@ import mixinViewModule from '@/mixins/view-module'
import AddOrUpdate from './rentcontractinfo-add-or-update'
export default {
mixins: [mixinViewModule],
data () {
return {
mixinViewModuleOptions: {
getDataListURL: '/pli/power/rentContractInfo/page',
getDataListIsPage: true,
deleteURL: '/pli/power/rentContractInfo',
deleteIsBatch: true
},
optionsV: [],
optionsB: [],
optionsH: [],
optionsD: [],
optionsG: [],
dataForm: {
id: '',
gridId: '',
villageId: '',
buildId: '',
unitId: '',
homeId: '',
lesseeIdCard: '',
state: '',
lesseeMobile: '',
lesseeName: '',
startTime: '',
endTime: ''
},
stateArr: [
{ dictValue: '0', dictName: '未审核' },
{ dictValue: '1', dictName: '审核通过' },
{ dictValue: '2', dictName: '审核不通过' }
],
pickerBeginDateBefore: {
disabledDate: (time) => {
let beginDateVal = this.dataForm.endTime
if (beginDateVal) {
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime()
data: function () {
return {
mixinViewModuleOptions: {
getDataListURL: '/pli/power/rentContractInfo/page',
getDataListIsPage: true,
deleteURL: '/pli/power/rentContractInfo',
deleteIsBatch: true
},
optionsV: [],
optionsB: [],
optionsH: [],
optionsD: [],
optionsG: [],
dataForm: {
id: '',
gridId: '',
villageId: '',
buildId: '',
unitId: '',
homeId: '',
lesseeName: '',
lesseeIdCard: '',
lesseeMobile: '',
lessorName: '',
lessorIdCard: '',
lessorMobile: '',
startTime: '',
endTime: '',
endDate: ''
},
pickerBeginDateBefore: {
disabledDate: (time) => {
let beginDateVal = this.dataForm.endTime
if (beginDateVal) {
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime()
}
}
}
},
pickerBeginDateAfter: {
disabledDate: (time) => {
let EndDateVal = this.dataForm.startTime
if (EndDateVal) {
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime()
},
pickerBeginDateAfter: {
disabledDate: (time) => {
let EndDateVal = this.dataForm.startTime
if (EndDateVal) {
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime()
}
}
}
},
endDateArr: [
{dictValue: '0', dictName: '近一个月'},
{dictValue: '1', dictName: '近两个月'},
{dictValue: '2', dictName: '近三个月'},
{dictValue: '3', dictName: '到期的房屋合同'}
]
}
}
},
},
components: {
AddOrUpdate
},
@ -253,6 +269,15 @@ export default {
}
},
methods: {
// /
addOrUpdateHandle (id,flag) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.dataForm.id = id
this.$refs.addOrUpdate.dataForm.flag = flag
this.$refs.addOrUpdate.init()
})
},
btKeyUpLesseeIdCard (e) {
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '')
this.dataForm.lesseeIdCard = e.target.value
@ -265,6 +290,18 @@ export default {
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '')
this.dataForm.lesseeName = e.target.value
},
btKeyUpLessorIdCard (e) {
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '')
this.dataForm.lesseeIdCard = e.target.value
},
btKeyUpLessorMobile (e) {
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '')
this.dataForm.lesseeMobile = e.target.value
},
btKeyUpLessorName (e) {
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '')
this.dataForm.lesseeName = e.target.value
},
handleClearVillage() {
this.dataForm.buildId = ''
this.dataForm.homeId = ''

85
src/views/modules/plugins/rent/rentcontractreview.vue

@ -97,28 +97,69 @@
</div>
</div>
</el-form-item>
<br/>
<el-form-item label="审核状态" prop="scanFlag" label-width="100px">
<el-select v-model="dataForm.state" placeholder="审核状态" clearable>
<el-option v-for="item in stateArr" :key="item.dictValue" :label="item.dictName" :value="item.dictValue">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="承租人身份证" label-width="100px">
<el-input v-model="dataForm.lesseeIdCard" placeholder='承租人身份证' clearable @keyup.native="btKeyUpLesseeIdCard"></el-input>
</el-form-item>
<el-form-item label="承租人手机号" label-width="100px">
<el-input v-model="dataForm.lesseeMobile" placeholder='承租人手机号' clearable @keyup.native="btKeyUpLesseeMobile"></el-input>
</el-form-item>
<br/>
<el-form-item label="承租人" label-width="100px">
<el-input v-model="dataForm.lesseeName" placeholder='承租人' clearable @keyup.native="btKeyUpLesseeName"></el-input>
</el-form-item>
<el-form-item label="审核时间" prop="startTime" label-width="100px">
<el-date-picker v-model="dataForm.startTime"
type="date"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间"
style="width:200px" @change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item label="至" prop="endTime">
<el-date-picker v-model="dataForm.endTime"
type="date"
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间"
style="width:200px" @change="changeTime">
</el-date-picker>
</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-button v-if="false" 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 type="selection" header-align="center" align="center" width="50"></el-table-column>
<el-table-column label="序号" header-align="center" align="center" width="50px">
<template slot-scope="scope">
{{scope.$index+1}}
</template>
</el-table-column>
<el-table-column prop="gridName" label="网格" header-align="center" align="center"></el-table-column>
<el-table-column prop="buildName" label="楼号" header-align="center" align="center"></el-table-column>
<el-table-column prop="unitName" label="单元" header-align="center" align="center"></el-table-column>
<el-table-column prop="homeName" label="房屋" header-align="center" align="center"></el-table-column>
<el-table-column prop="ownerName" label="房主姓名" header-align="center" align="center"></el-table-column>
<el-table-column prop="state" label="状态:0未审核,1审核通过,2审核不通过" header-align="center" align="center"></el-table-column>
<el-table-column prop="state" label="状态" header-align="center" align="center"></el-table-column>
<el-table-column prop="lesseeName" label="承租人姓名" header-align="center" align="center"></el-table-column>
<el-table-column prop="lesseeIdCard" label="承租人身份证" header-align="center" align="center"></el-table-column>
<el-table-column prop="lesseeMobile" label="承租人手机" header-align="center" align="center"></el-table-column>
<el-table-column prop="isBlack" 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="addOrUpdateHandle(scope.row.id,'2')">{{ $t('checkBtn') }}</el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>
</template>
</el-table-column>
@ -162,8 +203,19 @@ export default {
villageId: '',
buildId: '',
unitId: '',
homeId: ''
}
homeId: '',
lesseeIdCard: '',
state: '0',
lesseeMobile: '',
lesseeName: '',
startTime: '',
endTime: ''
},
stateArr: [
{dictValue: '0', dictName: '未审核'},
{dictValue: '1', dictName: '审核通过'},
{dictValue: '2', dictName: '审核不通过'}
]
}
},
components: {
@ -185,6 +237,27 @@ export default {
}
},
methods: {
// /
addOrUpdateHandle (id,flag) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.dataForm.id = id
this.$refs.addOrUpdate.dataForm.flag = flag
this.$refs.addOrUpdate.init()
})
},
btKeyUpLesseeIdCard (e) {
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '')
this.dataForm.lesseeIdCard = e.target.value
},
btKeyUpLesseeMobile (e) {
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '')
this.dataForm.lesseeMobile = e.target.value
},
btKeyUpLesseeName (e) {
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '')
this.dataForm.lesseeName = e.target.value
},
handleClearVillage() {
this.dataForm.buildId = ''
this.dataForm.homeId = ''

Loading…
Cancel
Save