Browse Source

提交参数验证

master
ZhaoTongYao 3 years ago
parent
commit
141187776d
  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}} {{scope.$index+1}}
</template> </template>
</el-table-column> </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"> <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> </template>
</el-table-column> </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"> <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-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 v-for="item in lessorRelationArr" :key="item.dictValue" :label="item.dictName" :value="item.dictValue">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item>
</template> </template>
</el-table-column> </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"> <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> </template>
</el-table-column> </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"> <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> </template>
</el-table-column> </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"> <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> </template>
</el-table-column> </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"> <template slot-scope="scope">
<el-select v-model="dataForm.tenantList[scope.$index].politicalStatus" placeholder="请选择"> <el-form-item :prop="'tenantList['+scope.$index+'].politicalStatus'" required :show-message="false">
<el-option <el-select v-model="dataForm.tenantList[scope.$index].politicalStatus" placeholder="请选择">
v-for="item in zzmmOptions" <el-option
:key="item.value" v-for="item in zzmmOptions"
:label="item.label" :key="item.value"
:value="item.value"> :label="item.label"
</el-option> :value="item.value">
</el-select> </el-option>
</el-select>
</el-form-item>
</template> </template>
</el-table-column> </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"> <template slot-scope="scope">
<el-select v-model="dataForm.tenantList[scope.$index].isMilitary" placeholder="请选择"> <el-form-item :prop="'tenantList['+scope.$index+'].isMilitary'" required :show-message="false">
<el-option <el-select v-model="dataForm.tenantList[scope.$index].isMilitary" placeholder="请选择">
v-for="item in shifouOptions" <el-option
:key="item.value" v-for="item in shifouOptions"
:label="item.label" :key="item.value"
:value="item.value"> :label="item.label"
</el-option> :value="item.value">
</el-select> </el-option>
</el-select>
</el-form-item>
</template> </template>
</el-table-column> </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"> <template slot-scope="scope">
<el-select v-model="dataForm.tenantList[scope.$index].nation" placeholder="请选择"> <el-form-item :prop="'tenantList['+scope.$index+'].nation'" required :show-message="false">
<el-option <el-select v-model="dataForm.tenantList[scope.$index].nation" placeholder="请选择">
v-for="item in nationOptions" <el-option
:key="item.value" v-for="item in nationOptions"
:label="item.label" :key="item.value"
:value="item.value"> :label="item.label"
</el-option> :value="item.value">
</el-select> </el-option>
</el-select>
</el-form-item>
</template> </template>
</el-table-column> </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"> <template slot-scope="scope">
<upload-image :defaultFileList="dataForm.tenantList[scope.$index].idCardImgList" :limit="2" :rowIndex="scope.$index" @change="onChangeTenantListIdImgList"></upload-image> <upload-image :defaultFileList="dataForm.tenantList[scope.$index].idCardImgList" :limit="2" :rowIndex="scope.$index" @change="onChangeTenantListIdImgList"></upload-image>
</template> </template>
</el-table-column> </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"> <template slot-scope="scope">
<upload-image :defaultFileList="dataForm.tenantList[scope.$index].imgList" :limit="3" :rowIndex="scope.$index" @change="onChangeImgList"></upload-image> <upload-image :defaultFileList="dataForm.tenantList[scope.$index].imgList" :limit="3" :rowIndex="scope.$index" @change="onChangeImgList"></upload-image>
</template> </template>
@ -211,11 +227,10 @@
<el-form-item label="出租人现居住地" prop="lessorLiveAddress" label-width="140px"> <el-form-item label="出租人现居住地" prop="lessorLiveAddress" label-width="140px">
<el-input v-model="dataForm.lessorLiveAddress" placeholder="出租人现居住地" ></el-input> <el-input v-model="dataForm.lessorLiveAddress" placeholder="出租人现居住地" ></el-input>
</el-form-item> </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> <template>
<label v-for="(item,index) in dataForm.agencyImgList" :key="index"> <upload-image :defaultFileList="dataForm.agencyImgList" :limit="6" @change="onChangeAgencyImgList"></upload-image>
<img :src="item.fileUrl" @click="imgShow(item.fileUrl)" width="100" height="100" />
</label>
</template> </template>
</el-form-item> </el-form-item>
<br/> <br/>
@ -430,6 +445,18 @@ export default {
lesseeMobile: [ lesseeMobile: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } { 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: [ signDate: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } { required: true, message: this.$t('validate.required'), trigger: 'blur' }
], ],
@ -438,7 +465,13 @@ export default {
], ],
endDate: [ endDate: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } { 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() { changeCDisabled() {
@ -503,7 +536,8 @@ export default {
idCardImgList: [], idCardImgList: [],
unit: '' unit: ''
}], }],
fileList: [] fileList: [],
agencyImgList: []
} }
}, },
init () { 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) { onChangeTenantListIdImgList (e, rowIndex=0) {
console.log('onChangeTenantListIdImgList', e) console.log('onChangeTenantListIdImgList', e)
if (e.length > 0) { if (e.length > 0) {
@ -557,9 +600,26 @@ export default {
}) })
} }
}, },
deleteMember(index){ onChangeAgencyImgList (e, rowIndex=0) {
this.dataForm.tenantList.splice(index, 1) 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 () { addMember () {
let ob = { let ob = {
id: '', id: '',
@ -786,6 +846,9 @@ export default {
return this.$message.error(res.msg) return this.$message.error(res.msg)
} }
this.dataForm.ownerName = res.data.ownerName 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) resolve(true)
}).catch(() => {}) }).catch(() => {})
}) })
@ -809,6 +872,26 @@ export default {
if (!valid) { if (!valid) {
return false 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' const url = this.dataForm.flag == 'edit' ? '/pli/power/rentContractInfo/updatePc' : '/pli/power/rentContractInfo/savePc'
this.$http['post'](url, this.dataForm).then(({ data: res }) => { this.$http['post'](url, this.dataForm).then(({ data: res }) => {
if (res.code !== 0) { if (res.code !== 0) {
@ -841,7 +924,10 @@ export default {
<style lang="scss"> <style lang="scss">
.rent { .rent {
.el-form--inline .el-form-item__content { .el-form--inline .el-form-item__content {
width: 280px; // width: 280px;
}
.el-table .el-form-item {
margin-bottom: 0;
} }
} }
</style> </style>

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

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

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

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

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

@ -135,6 +135,22 @@
style="width:200px" @change="changeTime"> style="width:200px" @change="changeTime">
</el-date-picker> </el-date-picker>
</el-form-item> </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-form-item>
<el-button type="primary" size="small" @click="getDataList()">{{ $t('query') }}</el-button> <el-button type="primary" size="small" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
@ -230,12 +246,13 @@ export default {
buildId: '', buildId: '',
unitId: '', unitId: '',
homeId: '', homeId: '',
lesseeIdCard: '', lesseeIdCard: '',
state: '0', state: '',
lesseeMobile: '', lesseeMobile: '',
lesseeName: '', lesseeName: '',
startTime: '', startTime: '',
endTime: '' endTime: '',
isPcInput: ''
}, },
stateArr: [ stateArr: [
{dictValue: '0', dictName: '未审核'}, {dictValue: '0', dictName: '未审核'},
@ -259,7 +276,11 @@ export default {
} }
}, },
lookOrCheckVisible: false, lookOrCheckVisible: false,
addOrUpdateVisible: false addOrUpdateVisible: false,
optionsPcOrMobile: [
{ label: '电脑', value: '1'},
{ label: '手机', value: '0'}
]
} }
}, },
components: { components: {

Loading…
Cancel
Save