瀏覽代碼

宅基地申请接口

wulanhaote
庞东旭 3 年之前
父節點
當前提交
4703678fac
共有 7 個文件被更改,包括 674 次插入152 次删除
  1. +54
    -0
      src/api/application/index.js
  2. +2
    -0
      src/main.js
  3. +1
    -1
      src/router/index.js
  4. +8
    -0
      src/utils/data.js
  5. +28
    -0
      src/views/flowChart/index.vue
  6. +523
    -134
      src/views/homeApplication/applicationForm.vue
  7. +58
    -17
      src/views/homeApplication/applicationList.vue

+ 54
- 0
src/api/application/index.js 查看文件

@@ -0,0 +1,54 @@
import request from '@/utils/request'


//查询列表
export function getList(data){
return request({
url:'/house/mobile/proposer/list',
method:'get',
params:data
})
}

//获取申请单明细
export function allInformation(id){
return request({
url:'/house/allinformation/'+id,
method:'get',
})
}

//获取文件配置
export function treeSingleProcessView(data){
return request({
url:'/system/attachmentConfig/treeSingleProcessView',
method:'get',
params:data
})
}

//获取上传附件
export function attachmentFind(data){
return request({
url:'/system/attachment/find',
method:'get',
params:data
})
}

//保存申请
export function saveHouseBaseInfo(data){
return request({
url:'/house/custom/saveHouseBaseInfo',
method:'post',
data:data
})
}

//户型
export function houseList(){
return request({
url:'/house/type/list',
method:'get'
})
}

+ 2
- 0
src/main.js 查看文件

@@ -14,10 +14,12 @@ import './permission' // permission control
import global from '@/utils/global';

import { getDicts } from "@/utils/data";
import { houseGetDicts } from '@/utils/data';
import { selectDictLabel , onClickLeft , getNowFormatDate } from "@/utils/utils";

//全局方法挂载
Vue.prototype.getDicts = getDicts
Vue.prototype.houseGetDicts = houseGetDicts
Vue.prototype.selectDictLabel = selectDictLabel
Vue.prototype.onClickLeft = onClickLeft
Vue.prototype.getNowFormatDate = getNowFormatDate


+ 1
- 1
src/router/index.js 查看文件

@@ -538,7 +538,7 @@ export const constantRoutes = [
},
{
path: '/applicationForm',
name: 'authenticRightLogin',
name: 'applicationForm',
meta: {
title: '农村宅基地申请表',
hidden: true,


+ 8
- 0
src/utils/data.js 查看文件

@@ -7,3 +7,11 @@ export function getDicts(type) {
method: 'get',
})
}

// 根据字典类型查询字典数据信息
export function houseGetDicts(dictType) {
return request({
url: '/system/dict/data/type/' + dictType,
method: 'get'
})
}

+ 28
- 0
src/views/flowChart/index.vue 查看文件

@@ -0,0 +1,28 @@
<template>
<div class="app-container">

</div>
</template>

<script>
export default {
name: "flowChart",
data() {
return {

};
},
created() {

},
methods: {

},
}
</script>

<style scoped>
.app-container {
padding: 6% 3% 0;
}
</style>

+ 523
- 134
src/views/homeApplication/applicationForm.vue 查看文件

@@ -15,108 +15,185 @@
<p class="topTit">农村宅基地和建房(规划许可)申请表</p>
<div class="main">
<van-form @submit="onSubmit">
<p class="main_title">申请用户信息</p>
<div class="main_box">
<van-field label="姓名" placeholder="姓名" input-align="right"/>
<van-field label="性别" placeholder="性别" input-align="right"/>
<van-field label="年龄" placeholder="年龄" input-align="right"/>
<van-field label="联系电话" placeholder="联系电话" input-align="right"/>
<van-field label="身份证号" placeholder="身份证号" input-align="right"/>
<van-field label="户口所在地" placeholder="户口所在地" input-align="right"/>
<van-field label="家庭住址" placeholder="家庭住址" input-align="right"/>
<van-field label="家庭人口数" placeholder="家庭人口数" input-align="right"/>
<div v-if="applicationDetail.tHouseApplyProposer">
<p class="main_title">申请用户信息</p>
<div class="main_box">
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.memberName" label="姓名" placeholder="姓名" input-align="right"/>
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.sex" label="性别" placeholder="性别" input-align="right"/>
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.age" label="年龄" placeholder="年龄" input-align="right"/>
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.phone" label="联系电话" placeholder="联系电话" input-align="right"/>
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.idcard" label="身份证号" placeholder="身份证号" input-align="right"/>
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.householdRegister" label="户口所在地" placeholder="户口所在地" input-align="right"/>
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.familyAddress" label="家庭住址" placeholder="家庭住址" input-align="right"/>
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.members" label="家庭人口数" placeholder="家庭人口数" input-align="right"/>
<van-cell title="是否已有宅基地">
<template #right-icon>
<van-radio-group v-model="radio" direction="horizontal">
<van-radio name="1">是</van-radio>
<van-radio name="2">否</van-radio>
<van-radio-group :disabled="auditStatus" @change="existHomesteadChange" v-model="applicationDetail.tHouseApplyProposer.existHomestead" direction="horizontal">
<van-radio name="Y">是</van-radio>
<van-radio name="N">否</van-radio>
</van-radio-group>
</template>
</van-cell>
</div>
</div>

<p class="main_title">家庭成员信息<van-button icon="plus" size="mini" type="primary" class="addFamily" /></p>
<div class="main_box">
<van-field label="姓名" placeholder="姓名" input-align="right"/>
<van-field label="年龄" placeholder="年龄" input-align="right"/>
<van-field label="与户主关系" placeholder="与户主关系" input-align="right"/>
<van-field label="身份证号" placeholder="身份证号" input-align="right"/>
<van-field label="户口所在地" placeholder="户口所在地" input-align="right"/>
<div v-if="applicationDetail.tHouseApplyFamilyMembers">
<p class="main_title">家庭成员信息<van-button icon="plus" size="mini" type="primary" native-type="button" class="addFamily" @click="addFamily" v-if="!auditStatus" /></p>
<van-collapse v-model="activeNames" v-if="auditStatus">
<van-collapse-item class="collapse" v-for="(item , index) in applicationDetail.tHouseApplyFamilyMembers" :key="index" :name="index+1">
<template #title>
<van-row>
<van-col span="8">{{item.memberName}}</van-col>
<van-col span="8">{{item.age}}</van-col>
<van-col span="8">{{item.familyStatusName}}</van-col>
</van-row>
</template>
<van-field :readonly="auditStatus" v-model="item.memberName" label="姓名" placeholder="姓名" input-align="right"/>
<van-field :readonly="auditStatus" v-model="item.age" label="年龄" placeholder="年龄" input-align="right"/>
<van-field :readonly="auditStatus" v-model="item.familyStatusName" label="与户主关系" placeholder="与户主关系" input-align="right"/>
<van-field :readonly="auditStatus" v-model="item.idcard" label="身份证号" placeholder="身份证号" input-align="right"/>
<van-field :readonly="auditStatus" v-model="item.householdRegister" label="户口所在地" placeholder="户口所在地" input-align="right"/>
</van-collapse-item>
</van-collapse>
<div class="familyList" v-if="!auditStatus" v-for="(item , index) in applicationDetail.tHouseApplyFamilyMembers" :key="index">
<div class="main_box" style="margin-bottom: 20px">
<van-button icon="minus" size="mini" type="danger" class="deleteFamily" native-type="button" v-if="index!=0" @click="deleteFamily(index)" />
<van-field v-model="item.memberName" label="姓名" placeholder="姓名" input-align="right"/>
<van-field v-model="item.age" label="年龄" placeholder="年龄" input-align="right"/>
<van-field v-model="item.familyStatusName" label="与户主关系" placeholder="与户主关系" input-align="right"/>
<van-field v-model="item.idcard" label="身份证号" placeholder="身份证号" input-align="right"/>
<van-field v-model="item.householdRegister" label="户口所在地" placeholder="户口所在地" input-align="right"/>
</div>
</div>
<!-- <div class=" familyList">-->
<!-- <van-button icon="minus" size="mini" type="danger" class="deleteFamily" />-->
<!-- <div class="main_box">-->
<!-- <van-field label="姓名" placeholder="姓名" input-align="right"/>-->
<!-- <van-field label="年龄" placeholder="年龄" input-align="right"/>-->
<!-- <van-field label="与户主关系" placeholder="与户主关系" input-align="right"/>-->
<!-- <van-field label="身份证号" placeholder="身份证号" input-align="right"/>-->
<!-- <van-field label="户口所在地" placeholder="户口所在地" input-align="right"/>-->
<!-- </div>-->
<!-- </div>-->
</div>
<div class=" familyList">
<van-button icon="minus" size="mini" type="danger" class="deleteFamily" />

<div v-if="CurrentSituation">
<p class="main_title">现宅基地及农房状况</p>
<div class="main_box">
<van-field label="姓名" placeholder="姓名" input-align="right"/>
<van-field label="年龄" placeholder="年龄" input-align="right"/>
<van-field label="与户主关系" placeholder="与户主关系" input-align="right"/>
<van-field label="身份证号" placeholder="身份证号" input-align="right"/>
<van-field label="户口所在地" placeholder="户口所在地" input-align="right"/>
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.landArea" label="宅基地面积" placeholder="宅基地面积" input-align="right"/>
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.landPerArea" label="人均宅基地面积" placeholder="人均宅基地面积㎡" input-align="right" label-width="auto"/>
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.landCertificateNo" label="不动产单元号" placeholder="不动产单元号" input-align="right"/>
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.buildingArea" label="建筑面积" placeholder="建筑面积㎡" input-align="right"/>
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.buildingPerArea" label="人均建筑面积" placeholder="人均建筑面积㎡" input-align="right"/>
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.houseCertificateNo" label="农民房屋幢号" placeholder="户口所在地" input-align="right"/>
<van-field
readonly
clickable
name="picker"
:value="landIsposalValue"
label="处置情况"
placeholder="选择宅基地处置情况"
@click=" auditStatus==true ? '' : showLandIsposal = true"
input-align="right"
right-icon="arrow-down"
:readonly="auditStatus"
/>
<van-popup v-model="showLandIsposal" position="bottom">
<van-picker
show-toolbar
:columns="landIsposal"
@confirm="onConfirmLandIsposal"
@cancel="showLandIsposal = false"
:readonly="auditStatus"
/>
</van-popup>

<!-- <van-field-->
<!-- readonly-->
<!-- clickable-->
<!-- name="picker"-->
<!-- :value="applicationDetail.tHouseApplyCurrentSituation.buildingType"-->
<!-- label="建房类型"-->
<!-- placeholder="选择建房类型"-->
<!-- @click="showBuildingType = true"-->
<!-- input-align="right"-->
<!-- right-icon="arrow-down"-->
<!-- />-->
<!-- <van-popup v-model="showBuildingType" position="bottom">-->
<!-- <van-picker-->
<!-- show-toolbar-->
<!-- :columns="buildingType"-->
<!-- @confirm="onConfirmBuildingType"-->
<!-- @cancel="showBuildingType = false"-->
<!-- />-->
<!-- </van-popup>-->
</div>
</div>

<p class="main_title">现宅基地及农房状况</p>
<div class="main_box">
<van-field label="宅基地面积" placeholder="宅基地面积" input-align="right"/>
<van-field label="人均宅基地面积" placeholder="人均宅基地面积㎡" input-align="right" label-width="auto"/>
<van-field label="不动产单元号" placeholder="不动产单元号" input-align="right"/>
<van-field label="建筑面积" placeholder="建筑面积㎡" input-align="right"/>
<van-field label="人均建筑面积" placeholder="人均建筑面积㎡" input-align="right"/>
<van-field label="农民房屋幢号" placeholder="户口所在地" input-align="right"/>
<div v-if="applicationDetail.tHouseApplyProposedSituation">
<p class="main_title">拟申请宅基地及建房情况</p>
<div class="main_box">
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.location" label="拟建位置" placeholder="拟建位置" input-align="right"/>
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.landArea" label="宅基地面积" placeholder="宅基地面积" input-align="right"/>
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.east" label="东至" placeholder="东至" input-align="right"/>
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.west" label="西至" placeholder="西至" input-align="right"/>
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.south" label="南至" placeholder="南至" input-align="right"/>
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.north" label="北至" placeholder="北至" input-align="right"/>
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.buildingArea" label="建筑面积" placeholder="建筑面积" input-align="right"/>
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.buildingFloors" label="建筑层数" placeholder="建筑层数" input-align="right"/>
<van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.buildingHight" label="建筑高度" placeholder="建筑高度" input-align="right"/>
<van-cell title="是否征求相邻权利人意见">
<template #right-icon>
<van-radio-group :disabled="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.isAdvice" direction="horizontal">
<van-radio name="1">是</van-radio>
<van-radio name="2">否</van-radio>
</van-radio-group>
</template>
</van-cell>
<van-field
readonly
clickable
name="picker"
:value="value"
label="处置情况"
placeholder="选择宅基地处置情况"
@click="showPicker = true"
v-model="housingStructureValue"
label="房屋构造"
placeholder="选择房屋构造"
@click=" auditStatus==true ? '' : showHousingStructure = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showPicker" position="bottom">
<van-popup v-model="showHousingStructure" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
:columns="housingStructure"
@confirm="onConfirmHousingStructure"
@cancel="showHousingStructure = false"
:readonly="auditStatus"
/>
</van-popup>

<van-field
readonly
clickable
name="picker"
:value="value"
:value="buildingTypeValue"
label="建房类型"
placeholder="选择建房类型"
@click="showPicker = true"
@click=" auditStatus==true ? '' : showBuildingType = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showPicker" position="bottom">
<van-popup v-model="showBuildingType" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
:columns="buildingType"
@confirm="onConfirmBuildingType"
@cancel="showBuildingType = false"
/>
</van-popup>
</div>

<p class="main_title">拟申请宅基地及建房情况</p>
<div class="main_box">
<van-field label="拟建位置" placeholder="拟建位置" input-align="right"/>
<van-field label="宅基地面积" placeholder="宅基地面积" input-align="right"/>
<van-field label="东至" placeholder="东至" input-align="right"/>
<van-field label="西至" placeholder="西至" input-align="right"/>
<van-field label="南至" placeholder="南至" input-align="right"/>
<van-field label="北至" placeholder="北至" input-align="right"/>
<van-field label="建筑面积" placeholder="建筑面积" input-align="right"/>
<van-field label="建筑层数" placeholder="建筑层数" input-align="right"/>
<van-field label="建筑高度" placeholder="建筑高度" input-align="right"/>
<van-cell title="是否征求相邻权利人意见">
<van-cell title="设计图纸">
<template #right-icon>
<van-radio-group v-model="radio" direction="horizontal">
<van-radio name="1"></van-radio>
<van-radio name="2"></van-radio>
<van-radio-group :disabled="auditStatus" @change="designPaperChange" v-model="applicationDetail.tHouseApplyProposedSituation.designPaper" direction="horizontal">
<van-radio name="1">委托设计</van-radio>
<van-radio name="2">选通用图</van-radio>
</van-radio-group>
</template>
</van-cell>
@@ -124,62 +201,68 @@
readonly
clickable
name="picker"
:value="value"
label="房屋构造"
placeholder="选择房屋构造"
@click="showPicker = true"
:value="houseTypeValue"
placeholder="选择户型图"
@click=" auditStatus==true ? '' : showHouseType = true"
input-align="right"
right-icon="arrow-down"
v-if="showHouse"
/>
<van-popup v-model="showPicker" position="bottom">
<van-popup v-model="showHouseType" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
:columns="houseType"
@confirm="onConfirmHouseType"
@cancel="showHouseType = false"
/>
</van-popup>
<van-cell title="设计图纸">
<template #right-icon>
<van-radio-group v-model="radio" direction="horizontal">
<van-radio name="1">选通用图</van-radio>
<van-radio name="2">委托设计</van-radio>
</van-radio-group>
</template>
</van-cell>
</div>
</div>

<p class="main_title">申请理由</p>
<div class="main_box">
<div v-if="applicationDetail.tHouseApplyProposer">
<p class="main_title">申请理由</p>
<div class="main_box">
<van-field
rows="3"
autosize
type="textarea"
placeholder="申请理由"
input-align="left"
v-model="applicationDetail.tHouseApplyProposer.applyReasion"
:readonly="auditStatus"
/>
<van-row>
<van-col span="12"><van-field label="申请人" placeholder="申请人" input-align="left" label-width="auto"/></van-col>
<van-col span="12"><van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.memberName" label="申请人" placeholder="申请人" input-align="left" label-width="auto"/></van-col>
<van-col span="12">
<van-field v-model="nowTime" label-width="auto">
<van-field :readonly="auditStatus" clickable v-model="applicationDetail.tHouseApplyProposer.applyTime" label-width="auto" placeholder="选择日期" @click="showApplyTime = true">
<template #label>
<van-icon name="notes-o" size="20"/>
</template>
</van-field>
<van-calendar v-model="showApplyTime" @confirm="onConfirmApplyTime" />
<!-- <van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.applyTime == '' ? nowTime : applicationDetail.tHouseApplyProposer.applyTime" label-width="auto">-->
<!-- <template #label>-->
<!-- <van-icon name="notes-o" size="20"/>-->
<!-- </template>-->
<!-- </van-field>-->
</van-col>
</van-row>
</div>

<p class="main_title">会议纪要</p>
<div class="main_box file-box">
<van-uploader v-model="fileList" multiple />
</div>

<p class="main_title">宅基地使用承诺书</p>
<div class="main_box file-box">
<van-uploader v-model="fileList2" multiple class="aaa" />
<div v-if="item.findList" v-for="(item , index) in fileArray" :key="index">
<p class="main_title">{{item.fileTypeName}}</p><!-- 未对接 -->
<div class="main_box file-box">
<!-- <van-uploader v-if="item.findList" v-model="item.findList" multiple />-->
<van-uploader :after-read="afterRead" :before-delete="deleteFile" v-model="item.findList" multiple />
</div>
</div>
<!-- <p class="main_title">宅基地使用承诺书</p>&lt;!&ndash; 未对接 &ndash;&gt;-->
<!-- <div class="main_box file-box">-->
<!-- <van-uploader v-model="fileList2" multiple class="aaa" />-->
<!-- </div>-->

<div style="margin: 16px;">
<div v-if="applicationDetail.tHouseApplyProposer" style="margin: 16px;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton">保存</van-button>
@@ -191,96 +274,384 @@
<div class="clear"></div>
</div>

<p class="topTit">宅基地开工</p>
<div class="main_box action-box">
<div v-if="applicationDetail.tHouseApplyStart" :class="active==1?'':'noModify'" >
<p class="topTit">宅基地开工</p>
<div class="main_box action-box">
<van-cell title="计划开工时间">
<template #right-icon>
<van-radio-group v-model="radio" direction="horizontal">
<van-field readonly clickable style="padding: 0" v-model="value2" label-width="auto" placeholder="选择日期" @click="showCalendar = true">
<van-field readonly clickable style="padding: 0" v-model="applicationDetail.tHouseApplyStart.startDate" label-width="auto" placeholder="选择日期" @click="showStartDate = true">
<template #label>
<van-icon name="notes-o" size="20"/>
</template>
</van-field>
<van-calendar v-model="showCalendar" @confirm="onConfirm2" />
<van-calendar v-model="showStartDate" @confirm="onConfirmStartDate" />
</van-radio-group>
</template>
</van-cell>
<van-cell title="计划竣工时间">
<template #right-icon>
<van-radio-group v-model="radio" direction="horizontal">
<van-field readonly clickable style="padding: 0" v-model="value2" label-width="auto" placeholder="选择日期" @click="showCalendar = true">
<van-field readonly clickable style="padding: 0" v-model="applicationDetail.tHouseApplyStart.endDate" label-width="auto" placeholder="选择日期" @click="showEndDate = true">
<template #label>
<van-icon name="notes-o" size="20"/>
</template>
</van-field>
<van-calendar v-model="showCalendar" @confirm="onConfirm2" />
<van-calendar v-model="showEndDate" @confirm="onConfirmEndDate" />
</van-radio-group>
</template>
</van-cell>
</div>
</div>

<p class="topTit">宅基地验收申请</p>
<div class="main_box check-box">
<van-field label="申请户主姓名" placeholder="申请户主姓名" input-align="right" label-width="auto"/>
<van-field label="身份证号" placeholder="身份证号" input-align="right" label-width="auto"/>
<van-field label="用地建房位置" placeholder="用地建房位置" input-align="right" label-width="auto"/>
<van-field label="乡村建设规划许可证号" placeholder="乡村建设规划许可证号" input-align="right" label-width="auto"/>
<van-field label="农村宅基地批准书号" placeholder="农村宅基地批准书号" input-align="right" label-width="auto"/>
<van-field label="开工日期" readonly clickable v-model="value2" input-align="right" label-width="auto" placeholder="选择开工日期" @click="showCalendar = true"></van-field>
<van-calendar v-model="showCalendar" @confirm="onConfirm2" />
<van-field label="竣工日期" readonly clickable v-model="value2" input-align="right" label-width="auto" placeholder="选择竣工日期" @click="showCalendar = true"></van-field>
<van-calendar v-model="showCalendar" @confirm="onConfirm2" />
<van-field label="权属证书号(不动产)" placeholder="权属证书号(不动产)" input-align="right" label-width="auto"/>
<van-field label="权属证书号(宅基地)" placeholder="权属证书号(宅基地)" input-align="right" label-width="auto"/>
<van-field label="批建高度" placeholder="建筑高度" input-align="right" label-width="auto"/>
<van-field label="批建层数" placeholder="批建层数" input-align="right" label-width="auto"/>
<van-field label="竣工高度" placeholder="竣工高度" input-align="right" label-width="auto"/>
<van-field label="竣工层数" placeholder="竣工层数" input-align="right" label-width="auto"/>
<van-field label="建筑面积" placeholder="建筑面积" input-align="right" label-width="auto"/>
<van-field label="建筑风貌" placeholder="建筑风貌" input-align="right" label-width="auto"/>
<div v-if="applicationDetail.tHouseApplyStart" style="margin: 16px;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton">保存</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton">保存并提交</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>

<div v-if="applicationDetail.tHouseApplyEnd" :class="active==2?'':'noModify'">
<p class="topTit">宅基地验收申请</p>
<div class="main_box check-box">
<van-field v-model="applicationDetail.tHouseApplyEnd.memberName" label="申请户主姓名" placeholder="申请户主姓名" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.idcard" label="身份证号" placeholder="身份证号" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.location" label="用地建房位置" placeholder="用地建房位置" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.licenseKey" label="乡村建设规划许可证号" placeholder="乡村建设规划许可证号" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.approvalNumber" label="农村宅基地批准书号" placeholder="农村宅基地批准书号" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.startDate" label="开工日期" readonly clickable input-align="right" label-width="auto" placeholder="选择开工日期" @click="showCalendar = true"></van-field>
<van-calendar />
<van-field v-model="applicationDetail.tHouseApplyEnd.endDate" label="竣工日期" readonly clickable input-align="right" label-width="auto" placeholder="选择竣工日期" @click="showCalendar = true"></van-field>
<van-calendar />
<van-field v-model="applicationDetail.tHouseApplyEnd.houseCertificateNo" label="权属证书号(不动产)" placeholder="权属证书号(不动产)" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.landCertificateNo" label="权属证书号(宅基地)" placeholder="权属证书号(宅基地)" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.buildingHight" label="批建高度" placeholder="建筑高度" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.buildingFloors" label="批建层数" placeholder="批建层数" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.actualBuildingHight" label="竣工高度" placeholder="竣工高度" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.actualBuildingFloors" label="竣工层数" placeholder="竣工层数" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.buildingArea" label="建筑面积" placeholder="建筑面积" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.designPaper" label="建筑风貌" placeholder="建筑风貌" input-align="right" label-width="auto"/>
<van-cell title="旧宅基地退还情况">
<template #right-icon>
<van-radio-group v-model="radio" direction="horizontal">
<van-radio name="1">是</van-radio>
<van-radio name="2">否</van-radio>
<van-radio-group v-model="applicationDetail.tHouseApplyEnd.oldHouseStatus" direction="horizontal">
<van-radio name="0">是</van-radio>
<van-radio name="1">否</van-radio>
</van-radio-group>
</template>
</van-cell>
<van-field label="备注" placeholder="" input-align="right"/>
</div>
</div>

<div v-if="applicationDetail.tHouseApplyEnd" style="margin: 16px;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton">保存</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton">保存并提交</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>

</van-form>
</div>
</div>
</template>

<script>
import { allInformation , treeSingleProcessView , attachmentFind , saveHouseBaseInfo , houseList} from "@/api/application/index";
export default {
name: "applicationForm",
name: "applicationForm",
data() {
return {
active: 0,
nowTime:'2020-08-06',//当前日期
nowTime: '',//当前日期
fileList: [],
fileList2: [],
radio:'1',
value: '',
columns: ['杭州', '宁波', '温州', '嘉兴', '湖州'],
showPicker: false,
value2: '',
showCalendar: false,
showBuildingType: false,
showLandIsposal: false,
showHousingStructure: false,
showStartDate: false,
showEndDate: false,
showApplyTime:false,
showHouseType:false,
showHouse:false,
id:'',
applicationDetail:[],
//建房类型字典
buildingType:[],
//处置情况字典
landIsposal:[],
//房屋构造字典
housingStructure:[],
//户型
houseType:[],
//请求参数
parameter:{
businessType: "house",
houseApplyStatus: '',
processKey: "baseApply",
tableName: "t_house_apply_proposer"
},
//文件配置
fileArray:[],
//获取上传附件
params:{
tableId: '',
tableName: "t_house_apply_proposer",
fileType: ''
},
auditStatus:false,
activeNames:['1'],
housingStructureValue:'',//当前显示房屋构造
buildingTypeValue:'',//当前显示建房类型
landIsposalValue:'',//当前显示处置情况
houseTypeValue:'',//当前显示户型
CurrentSituation:false,
};
},
created() {

this.id = this.$route.query.id;
this.type = this.$route.query.type;
this.getDetail();
},
methods: {
onConfirm(value) {
this.value = value;
this.showPicker = false;
afterRead(file) {
console.log(file);
return;
// 此时可以自行将文件上传至服务器
for ( var i = 0 ; i < this.fileList.length ; i++){
console.log(this.fileList[i].url)
if(this.fileList[i].url == undefined&&this.fileList!='') {
this.fileList[i] = {url:this.fileList[i].content, id: '', isImage: true};
}
}
},
deleteFile(elIndex){
if(elIndex.id != ''){
deleteUserImg(elIndex.id).then(response => {});
}
return (file, name) => {
let fileIndex = name.index
this.fileList[elIndex].splice(fileIndex, 1)
this.upLoadList[elIndex].splice(fileIndex, 1)
}
},
//获取数据集合
getDetail(){
allInformation(this.id).then(response => {
console.log(response)
//性别字典查询
this.houseGetDicts("sys_user_sex").then((res) => {
response.data.tHouseApplyProposer.sex = this.selectDictLabel(res.data, response.data.tHouseApplyProposer.sex);
});
//建房类型字典查询
this.houseGetDicts("building_type").then((res) => {
console.log(res)
res.data.map(item => {
this.buildingType.push({ value:item.dictValue, text: item.dictLabel});
});
console.log()
this.buildingTypeValue = this.selectDictLabel(res.data, response.data.tHouseApplyProposedSituation.buildingType);
});
//房屋构造字典查询
this.houseGetDicts("housing_structure").then((res) => {
res.data.map(item => {
this.housingStructure.push({ value:item.dictValue, text: item.dictLabel});
});
this.housingStructureValue = this.selectDictLabel(res.data, response.data.tHouseApplyProposedSituation.housingStructure);
});
//处置情况字典查询
if(response.data.tHouseApplyProposer.existHomestead == 'Y'){
this.CurrentSituation = true ;
this.houseGetDicts("land_isposal").then((res) => {
res.data.map(item => {
this.landIsposal.push({ value:item.dictValue, text: item.dictLabel});
});
this.landIsposalValue= this.selectDictLabel(res.data, response.data.tHouseApplyCurrentSituation.landIsposal);
});
}
//户型图查询
houseList().then(res => {
console.log(res)
res.rows.map(item => {
this.houseType.push({ value:item.id, text: item.name});
});
if(response.data.tHouseApplyProposedSituation.houseTypeId != null){
for (let i = 0 ; i < res.rows.length ; i++){
if (res.rows[i].id = response.data.tHouseApplyProposedSituation.houseTypeId){
this.houseTypeValue = res.rows[i].name
}
}
this.showHouse = true;
}
});
this.applicationDetail = response.data;
this.parameter.houseApplyStatus = response.data.tHouseApplyProposer.houseApplyStatus;
let currentProcessKey = response.data.currentProcessKey;
this.auditStatus = response.data.tHouseApplyProposer.auditStatus != 0;
//判断当前审核进行到哪一步
if (currentProcessKey == 'baseApply'){
this.active = 0;
}
if (currentProcessKey == 'landscope'){
this.active = 1;
}
if (currentProcessKey == 'accepting'){
this.active = 2;
}
//获取上传文件列表
treeSingleProcessView(this.parameter).then(res => {
this.fileArray = res.rows
this.params.tableId = this.id;
console.log(res.rows)
for (let i = 0 ; i < res.rows.length ; i++){
this.params.fileType = res.rows[i].fileType;
this.fileArray[i].findList = [];
//获取文件集合
attachmentFind(this.params).then(res2 => {
console.log(res2.data)
for (let j = 0 ; j < res2.data.length ; j++){
this.fileArray[i].findList[j] = {url:'http://192.168.31.239:8080'+ res2.data[j].fileUrl, isImage: true} ;
this.$forceUpdate();
}
});
}
});
});
},
onConfirmApplyTime(date) {
this.applicationDetail.tHouseApplyProposer.applyTime = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
this.showApplyTime = false;
},
//基地开工时间
onConfirmStartDate(date) {
this.applicationDetail.tHouseApplyStart.startDate = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
this.showStartDate = false;
},
//基地竣工时间
onConfirmEndDate(date) {
this.applicationDetail.tHouseApplyStart.endDate = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
this.showEndDate = false;
},
//选择建房类型
onConfirmBuildingType(data){
console.log(data)
this.buildingTypeValue = data.text;
this.applicationDetail.tHouseApplyProposedSituation.buildingType = data.value;
this.showBuildingType = false;
},
//选择宅基地处置情况
onConfirmLandIsposal(data){
this.landIsposalValue = data.text;
this.applicationDetail.tHouseApplyCurrentSituation.landIsposal = data.value;
this.showLandIsposal = false;
},
//选择房屋构造
onConfirmHousingStructure(data){
console.log(data)
this.housingStructureValue = data.text;
this.applicationDetail.tHouseApplyProposedSituation.housingStructure = data.value;
this.showHousingStructure = false;
},
//选择户型
onConfirmHouseType(data){
console.log(data)
this.houseTypeValue = data.text;
this.applicationDetail.tHouseApplyProposedSituation.houseTypeId = data.value;
this.showHouseType = false;
},
//添加家庭成员
addFamily(){
this.applicationDetail.tHouseApplyFamilyMembers.push({
applyProposerId:this.applicationDetail.tHouseApplyFamilyMembers[0].applyProposerId,
memberName:'',
age:'',
familyStatusName:'',
idcard :'',
householdRegister:'',
});
},
onConfirm2(date) {
this.value2 = `${date.getMonth() + 1}/${date.getDate()}`;
this.showCalendar = false;
//删除家庭成员
deleteFamily(index){
console.log(index)
this.applicationDetail.tHouseApplyFamilyMembers.splice(index,1)
},
//是否有宅基地选项改变
existHomesteadChange(name){
console.log(this.applicationDetail.tHouseApplyCurrentSituation)
if (name == 'Y'){
if (this.applicationDetail.tHouseApplyCurrentSituation == null){
//现宅基地情况
this.applicationDetail.tHouseApplyCurrentSituation = {
//宅基地面积
landArea: '',
//人均宅基地面积
landPerArea: '',
//不动产单元号
landCertificateNo: '',
//农民房屋幢号
houseCertificateNo: '',
//建筑面积
buildingArea: '',
//人均建筑面积
buildingPerArea: '',
//现宅基地处置情况 字典 land_isposal
landIsposal: ""
};
this.CurrentSituation = true ;
//处置情况字典查询
this.houseGetDicts("land_isposal").then((res) => {
res.data.map(item => {
this.landIsposal.push({ value:item.dictValue, text: item.dictLabel});
});
this.landIsposalValue= this.selectDictLabel(res.data, this.applicationDetail.tHouseApplyCurrentSituation.landIsposal);
});
}
this.CurrentSituation = true;
}else{
this.CurrentSituation = false;
}
},
//图纸选择改变
designPaperChange(name){
console.log(name)
if(name == 2){
console.log('a')
this.showHouse = true;
}else{
console.log('b')

this.showHouse = false;
}
},
//申请提交
onSubmit(){
let form = {};
form.fileList=[];
form.tHouseApplyProposer=this.applicationDetail.tHouseApplyProposer;
form.tHouseApplyFamilyMembers=this.applicationDetail.tHouseApplyFamilyMembers;
form.tHouseApproveVillageOptions=this.applicationDetail.tHouseApproveVillageOptions;
form.tHouseApplyCurrentSituation=this.applicationDetail.tHouseApplyCurrentSituation;
form.tHouseApplyProposedSituation=this.applicationDetail.tHouseApplyProposedSituation;
console.log(form);
saveHouseBaseInfo(form).then(res => {
console.log(res)
if(res.code = 200){
this.$toast.success('保存成功');
}
});
},
},
}
@@ -299,6 +670,7 @@ export default {
color: #FFFFFF;
line-height: 58px;
text-align: center;
padding: 15px 0;
box-shadow: 0px 3px 6px 0px rgba(15,67,145,0.40);
}
.main_title{
@@ -315,6 +687,14 @@ export default {
overflow: hidden;
background-color: #FFF;
}
.collapse{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
margin-bottom: 15px;
}
/deep/.van-radio--horizontal{
margin-left: 20px;
margin-right: 0;
@@ -357,4 +737,13 @@ export default {
margin-top: 0.4rem;
position: relative;
}
.noModify{
.topTit{
background-color:#ABABAB ;
box-shadow: 0px 3px 6px 0px rgba(171,171,171,0.40);
}
.van-cell__title{
color: #B4B0B0;
}
}
</style>

+ 58
- 17
src/views/homeApplication/applicationList.vue 查看文件

@@ -5,43 +5,84 @@
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goForm()"
>
<template #title>
<p style="font-weight: bold;">宅基地申请</p>
</template>
<template #right>
<van-icon name="add" size="18" />
<van-icon name="add" size="18"/>
</template>
</van-nav-bar>
<van-swipe-cell v-for="(item,index) in 10">
<van-cell title="3710022021000001" value="申请草稿" center >
<template #icon>
<van-icon name="../../../static/images/icon/icon_fz.png" size="22" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p>李粉连<i style="margin-right: 0.5rem;"></i>原址翻建申请</p>

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.ywh" :value="item.houseApplyStatus" center :to="{name:'applicationForm', query: {id:item.id,type:'modify'}}">
<template #icon>
<van-icon name="../../../static/images/icon/icon_fz.png" size="22" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p>{{item.projectName}}</p>
</template>
</van-cell>
<template #right>
<van-button square text="删除" type="danger" class="delete-button" />
</template>
</van-cell>
<template #right>
<van-button square text="删除" type="danger" class="delete-button" />
</template>
</van-swipe-cell>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList } from "@/api/application/index";
export default {
name: "applicationList",
name: "applicationList",
data() {
return {

applicationList:[],
houseApplyStatus:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10
}
};
},
created() {

this.houseGetDicts("house_apply_status").then((response) => {
this.houseApplyStatus = response.data;
});
},
methods: {

goForm(){
window.location = 'applicationForm?type=add';
},
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
var houseApplyStatus = this.selectDictLabel(this.houseApplyStatus, response.rows[i].houseApplyStatus);
response.rows[i].houseApplyStatus = houseApplyStatus;
this.applicationList.push(response.rows[i]);
}
console.log(this.applicationList.length >= response.total)
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
}
},
}
</script>


Loading…
取消
儲存