Browse Source

租房审核详情页

shibei_master
wanggongfeng 3 years ago
parent
commit
2c897e3afc
  1. 1
      src/i18n/zh-CN.js
  2. 33
      src/views/modules/plugins/rent/rentcontractinfo-add-or-update.vue
  3. 75
      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.deleteBatch = '删除'
t.update = '修改' t.update = '修改'
t.checkBtn = '审核' t.checkBtn = '审核'
t.lookBtn = '查看'
t.checkTGBtn = '审核通过' t.checkTGBtn = '审核通过'
t.checkBTGBtn = '审核不通过' t.checkBTGBtn = '审核不通过'
t.query = '查询' t.query = '查询'

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

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

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

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

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

@ -97,28 +97,69 @@
</div> </div>
</div> </div>
</el-form-item> </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-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<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-item>
</el-form> </el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%"> <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="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="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="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="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="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="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="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="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 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"> <el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
<template slot-scope="scope"> <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> <el-button type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -162,8 +203,19 @@ export default {
villageId: '', villageId: '',
buildId: '', buildId: '',
unitId: '', unitId: '',
homeId: '' homeId: '',
} lesseeIdCard: '',
state: '0',
lesseeMobile: '',
lesseeName: '',
startTime: '',
endTime: ''
},
stateArr: [
{dictValue: '0', dictName: '未审核'},
{dictValue: '1', dictName: '审核通过'},
{dictValue: '2', dictName: '审核不通过'}
]
} }
}, },
components: { components: {
@ -185,6 +237,27 @@ export default {
} }
}, },
methods: { 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() { handleClearVillage() {
this.dataForm.buildId = '' this.dataForm.buildId = ''
this.dataForm.homeId = '' this.dataForm.homeId = ''

Loading…
Cancel
Save