Browse Source

Merge branch 'feature/addRentHouseOfPC'

master
ZhaoTongYao 3 years ago
parent
commit
9e67cce853
  1. 184
      src/views/modules/plugins/rent/rentcontractinfo-add-or-update.vue
  2. 2
      src/views/modules/plugins/rent/rentcontractinfo-look-or-check.vue
  3. 2
      src/views/modules/plugins/rent/rentcontractinfo.vue
  4. 35
      src/views/modules/plugins/rent/rentcontractreview.vue

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

@ -108,77 +108,93 @@
{{scope.$index+1}}
</template>
</el-table-column>
<el-table-column prop="name" label="姓名" header-align="center" align="center" width="100px">
<el-table-column prop="name" label="姓名" :render-header="renderHeader" header-align="center" align="center" width="120">
<template slot-scope="scope">
<el-input v-model="dataForm.tenantList[scope.$index].name"></el-input>
<el-form-item :prop="'tenantList['+scope.$index+'].name'" required :show-message="false">
<el-input v-model="scope.row.name"></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="yfzgx" label="与户主关系" header-align="center" align="center" width="120">
<el-table-column prop="yfzgx" label="与户主关系" :render-header="renderHeader" header-align="center" align="center" width="120">
<template slot-scope="scope">
<el-form-item :prop="'tenantList['+scope.$index+'].yfzgx'" required :show-message="false">
<!--<el-input v-model="dataForm.tenantList[scope.$index].yfzgx" placeholder="租客"></el-input>-->
<el-select v-model="dataForm.tenantList[scope.$index].yfzgx" placeholder="与房主关系">
<el-select v-model="scope.row.yfzgx" placeholder="与房主关系">
<el-option v-for="item in lessorRelationArr" :key="item.dictValue" :label="item.dictName" :value="item.dictValue">
</el-option>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="mobile" label="手机" header-align="center" align="center" width="145">
<el-table-column prop="mobile" label="手机" :render-header="renderHeader" header-align="center" align="center" width="145">
<template slot-scope="scope">
<el-input v-model="dataForm.tenantList[scope.$index].mobile"></el-input>
<el-form-item :prop="'tenantList['+scope.$index+'].mobile'" required :show-message="false">
<el-input v-model="dataForm.tenantList[scope.$index].mobile"></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="idCard" label="身份证号" header-align="center" align="center" width="180">
<el-table-column prop="idCard" label="身份证号" :render-header="renderHeader" header-align="center" align="center" width="180">
<template slot-scope="scope">
<el-input v-model="dataForm.tenantList[scope.$index].idCard"></el-input>
<el-form-item :prop="'tenantList['+scope.$index+'].idCard'" required :show-message="false">
<el-input v-model="dataForm.tenantList[scope.$index].idCard"></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="unit" label="工作单位" header-align="center" align="center" width="180" show-overflow-tooltip>
<el-table-column prop="unit" label="工作单位" :render-header="renderHeader" header-align="center" align="center" width="180" show-overflow-tooltip>
<template slot-scope="scope">
<el-input v-model="dataForm.tenantList[scope.$index].unit"></el-input>
<el-form-item :prop="'tenantList['+scope.$index+'].unit'" required :show-message="false">
<el-input v-model="dataForm.tenantList[scope.$index].unit"></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="politicalStatus" label="政治面貌" header-align="center" align="center" width="120">
<el-table-column prop="politicalStatus" label="政治面貌" :render-header="renderHeader" header-align="center" align="center" width="120">
<template slot-scope="scope">
<el-select v-model="dataForm.tenantList[scope.$index].politicalStatus" placeholder="请选择">
<el-option
v-for="item in zzmmOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-form-item :prop="'tenantList['+scope.$index+'].politicalStatus'" required :show-message="false">
<el-select v-model="dataForm.tenantList[scope.$index].politicalStatus" placeholder="请选择">
<el-option
v-for="item in zzmmOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="isMilitary" label="是否服过兵役" header-align="center" align="center" width="120">
<el-table-column prop="isMilitary" label="是否服过兵役" :render-header="renderHeader" header-align="center" align="center" width="120">
<template slot-scope="scope">
<el-select v-model="dataForm.tenantList[scope.$index].isMilitary" placeholder="请选择">
<el-option
v-for="item in shifouOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-form-item :prop="'tenantList['+scope.$index+'].isMilitary'" required :show-message="false">
<el-select v-model="dataForm.tenantList[scope.$index].isMilitary" placeholder="请选择">
<el-option
v-for="item in shifouOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="nation" label="国籍" header-align="center" align="center" width="120">
<el-table-column prop="nation" label="国籍" :render-header="renderHeader" header-align="center" align="center" width="120">
<template slot-scope="scope">
<el-select v-model="dataForm.tenantList[scope.$index].nation" placeholder="请选择">
<el-option
v-for="item in nationOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-form-item :prop="'tenantList['+scope.$index+'].nation'" required :show-message="false">
<el-select v-model="dataForm.tenantList[scope.$index].nation" placeholder="请选择">
<el-option
v-for="item in nationOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="身份证照片" header-align="center" align="center" width="245px">
<el-table-column label="身份证照片" :render-header="renderHeader" header-align="center" align="center" width="245px">
<template slot-scope="scope">
<upload-image :defaultFileList="dataForm.tenantList[scope.$index].idCardImgList" :limit="2" :rowIndex="scope.$index" @change="onChangeTenantListIdImgList"></upload-image>
</template>
</el-table-column>
<el-table-column prop="imgList" label="照片" header-align="center" align="center" width="215px">
<el-table-column prop="imgList" label="照片" :render-header="renderHeader" header-align="center" align="center" width="215px">
<template slot-scope="scope">
<upload-image :defaultFileList="dataForm.tenantList[scope.$index].imgList" :limit="3" :rowIndex="scope.$index" @change="onChangeImgList"></upload-image>
</template>
@ -211,11 +227,10 @@
<el-form-item label="出租人现居住地" prop="lessorLiveAddress" label-width="140px">
<el-input v-model="dataForm.lessorLiveAddress" placeholder="出租人现居住地" ></el-input>
</el-form-item>
<el-form-item label="中介合同附件" prop="agencyImgList" v-if="dataForm.lessorRelation ==='中介'">
<br/>
<el-form-item label="中介合同附件" prop="agencyImgList" v-if="dataForm.lessorRelation ==='中介'" label-width="140px">
<template>
<label v-for="(item,index) in dataForm.agencyImgList" :key="index">
<img :src="item.fileUrl" @click="imgShow(item.fileUrl)" width="100" height="100" />
</label>
<upload-image :defaultFileList="dataForm.agencyImgList" :limit="6" @change="onChangeAgencyImgList"></upload-image>
</template>
</el-form-item>
<br/>
@ -430,6 +445,18 @@ export default {
lesseeMobile: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
lessorRelation: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
lessorLiveAddress: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
lesseeUnit: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
lesseeHouseAddress: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
signDate: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
@ -438,7 +465,13 @@ export default {
],
endDate: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
]
],
fileList: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
// agencyImgList: [
// { required: true, message: this.$t('validate.required'), trigger: 'blur' }
// ]
}
},
changeCDisabled() {
@ -503,7 +536,8 @@ export default {
idCardImgList: [],
unit: ''
}],
fileList: []
fileList: [],
agencyImgList: []
}
},
init () {
@ -518,6 +552,15 @@ export default {
}
})
},
renderHeader(h, params) {
const label = params.column.label
return (
<div>
<span style="font-size:12px; color: #ff0000;">*</span>
<span>{label}</span>
</div>
)
},
onChangeTenantListIdImgList (e, rowIndex=0) {
console.log('onChangeTenantListIdImgList', e)
if (e.length > 0) {
@ -557,9 +600,26 @@ export default {
})
}
},
deleteMember(index){
this.dataForm.tenantList.splice(index, 1)
},
onChangeAgencyImgList (e, rowIndex=0) {
console.log('onChangeAgencyImgList', e)
if (e.length > 0) {
this.dataForm.agencyImgList = []
e.forEach(item => {
let ob = {
fileType: '0',
fileUrl: item.response.data.url
}
this.dataForm.agencyImgList.push(ob)
})
}
},
deleteMember(index){
if (this.dataForm.tenantList.length > 1) {
this.dataForm.tenantList.splice(index, 1)
} else {
this.$message.error('成员人数不能少于1人')
}
},
addMember () {
let ob = {
id: '',
@ -786,6 +846,9 @@ export default {
return this.$message.error(res.msg)
}
this.dataForm.ownerName = res.data.ownerName
this.dataForm.lessorName = res.data.ownerName
this.dataForm.lessorIdCard = res.data.ownerIdCard
this.dataForm.lessorMobile = res.data.ownerPhone
resolve(true)
}).catch(() => {})
})
@ -809,6 +872,26 @@ export default {
if (!valid) {
return false
}
const isUploadIdCardImgList = this.dataForm.tenantList.some(item => {
return item.idCardImgList.length == 0
})
if (isUploadIdCardImgList) {
this.$message.error('请上传成员身份证照片')
return
}
const isUploadImgList = this.dataForm.tenantList.some(item => {
return item.imgList.length == 0
})
if (isUploadImgList) {
this.$message.error('请上传成员照片')
return
}
if (this.dataForm.lessorRelation == '中介') {
if (this.dataForm.agencyImgList.length == 0) {
this.$message.error('请上传中介委托照片')
return
}
}
const url = this.dataForm.flag == 'edit' ? '/pli/power/rentContractInfo/updatePc' : '/pli/power/rentContractInfo/savePc'
this.$http['post'](url, this.dataForm).then(({ data: res }) => {
if (res.code !== 0) {
@ -841,7 +924,10 @@ export default {
<style lang="scss">
.rent {
.el-form--inline .el-form-item__content {
width: 280px;
// width: 280px;
}
.el-table .el-form-item {
margin-bottom: 0;
}
}
</style>

2
src/views/modules/plugins/rent/rentcontractinfo-look-or-check.vue

@ -380,7 +380,7 @@ export default {
<style lang="scss">
.rent {
.el-form--inline .el-form-item__content {
width: 280px;
// width: 280px;
}
}
</style>

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

@ -199,7 +199,7 @@
<script>
import mixinViewModule from '@/mixins/view-module'
import AddOrUpdate from './rentcontractinfo-add-or-update'
import AddOrUpdate from './rentcontractinfo-look-or-check'
export default {
mixins: [mixinViewModule],
data: function () {

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

@ -135,6 +135,22 @@
style="width:200px" @change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item label="数据来源" label-width="100px"
prop="gridId">
<el-select
v-model.trim="dataForm.isPcInput"
placeholder="请选择"
clearable
>
<el-option
v-for="item in optionsPcOrMobile"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" size="small" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
@ -230,12 +246,13 @@ export default {
buildId: '',
unitId: '',
homeId: '',
lesseeIdCard: '',
state: '0',
lesseeMobile: '',
lesseeName: '',
startTime: '',
endTime: ''
lesseeIdCard: '',
state: '',
lesseeMobile: '',
lesseeName: '',
startTime: '',
endTime: '',
isPcInput: ''
},
stateArr: [
{dictValue: '0', dictName: '未审核'},
@ -259,7 +276,11 @@ export default {
}
},
lookOrCheckVisible: false,
addOrUpdateVisible: false
addOrUpdateVisible: false,
optionsPcOrMobile: [
{ label: '电脑', value: '1'},
{ label: '手机', value: '2'}
]
}
},
components: {

Loading…
Cancel
Save