Ver a proveniência

宅基地接口及问题修复

wulanhaote
庞东旭 há 3 anos
ascendente
cometimento
a47b73e183
6 ficheiros alterados com 883 adições e 37 eliminações
  1. +17
    -0
      src/api/onlineHome/homestead/application.js
  2. +10
    -0
      src/api/onlineHome/homestead/information.js
  3. +9
    -0
      src/router/index.js
  4. +21
    -16
      src/views/onlineHome/homestead/homeApplication/applicationForm.vue
  5. +765
    -0
      src/views/onlineHome/homestead/publicityInformation/informationDetail.vue
  6. +61
    -21
      src/views/onlineHome/homestead/publicityInformation/informationList.vue

+ 17
- 0
src/api/onlineHome/homestead/application.js Ver ficheiro

@@ -17,6 +17,14 @@ export function allInformation(id){
}) })
} }


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

//获取文件配置 //获取文件配置
export function treeSingleProcessView(data){ export function treeSingleProcessView(data){
return request({ return request({
@@ -44,6 +52,15 @@ export function saveHouseBaseInfo(data){
}) })
} }


//提交申请
export function saveHouseBaseInfoThenSubmit(data){
return request({
url:'/house/custom/saveHouseBaseInfoThenSubmit',
method:'post',
data:data
})
}

//上传图片 //上传图片
export function attach(data){ export function attach(data){
console.log(data) console.log(data)


+ 10
- 0
src/api/onlineHome/homestead/information.js Ver ficheiro

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

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

+ 9
- 0
src/router/index.js Ver ficheiro

@@ -581,6 +581,15 @@ export const constantRoutes = [
}, },
component: (resolve) => require(['@/views/onlineHome/homestead/publicityInformation/informationList'], resolve) component: (resolve) => require(['@/views/onlineHome/homestead/publicityInformation/informationList'], resolve)
}, },
{
path: '/informationDetail',
name: 'informationDetail',
meta: {
title: '公示信息',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/homestead/publicityInformation/informationDetail'], resolve)
},
{ {
path: '/circulationList', path: '/circulationList',
name: 'circulationList', name: 'circulationList',


+ 21
- 16
src/views/onlineHome/homestead/homeApplication/applicationForm.vue Ver ficheiro

@@ -18,7 +18,7 @@
</van-steps> </van-steps>
<p class="topTit">农村宅基地和建房(规划许可)申请表</p> <p class="topTit">农村宅基地和建房(规划许可)申请表</p>
<div class="main"> <div class="main">
<van-form @submit="onSubmit">
<van-form>
<div v-if="applicationDetail.tHouseApplyProposer"> <div v-if="applicationDetail.tHouseApplyProposer">
<p class="main_title">申请用户信息</p> <p class="main_title">申请用户信息</p>
<div class="main_box"> <div class="main_box">
@@ -26,7 +26,6 @@
<van-field <van-field
readonly readonly
clickable clickable
name="picker"
v-model="sexValue" v-model="sexValue"
label="性别" label="性别"
placeholder="选择性别" placeholder="选择性别"
@@ -113,7 +112,6 @@
<van-field <van-field
readonly readonly
clickable clickable
name="picker"
:value="landIsposalValue" :value="landIsposalValue"
label="处置情况" label="处置情况"
placeholder="选择宅基地处置情况" placeholder="选择宅基地处置情况"
@@ -178,7 +176,6 @@
<van-field <van-field
readonly readonly
clickable clickable
name="picker"
v-model="housingStructureValue" v-model="housingStructureValue"
label="房屋构造" label="房屋构造"
placeholder="选择房屋构造" placeholder="选择房屋构造"
@@ -199,7 +196,6 @@
<van-field <van-field
readonly readonly
clickable clickable
name="picker"
:value="buildingTypeValue" :value="buildingTypeValue"
label="建房类型" label="建房类型"
placeholder="选择建房类型" placeholder="选择建房类型"
@@ -227,7 +223,6 @@
<van-field <van-field
readonly readonly
clickable clickable
name="picker"
:value="houseTypeValue" :value="houseTypeValue"
placeholder="选择户型图" placeholder="选择户型图"
@click=" auditStatus==true ? '' : showHouseType = true" @click=" auditStatus==true ? '' : showHouseType = true"
@@ -268,7 +263,7 @@
<van-icon name="notes-o" size="20"/> <van-icon name="notes-o" size="20"/>
</template> </template>
</van-field> </van-field>
<van-calendar v-model="showApplyTime" @confirm="onConfirmApplyTime" />
<van-calendar v-model="showApplyTime" :readonly="auditStatus" @confirm="onConfirmApplyTime" />
<!-- <van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.applyTime == '' ? nowTime : applicationDetail.tHouseApplyProposer.applyTime" label-width="auto">--> <!-- <van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.applyTime == '' ? nowTime : applicationDetail.tHouseApplyProposer.applyTime" label-width="auto">-->
<!-- <template #label>--> <!-- <template #label>-->
<!-- <van-icon name="notes-o" size="20"/>--> <!-- <van-icon name="notes-o" size="20"/>-->
@@ -294,10 +289,10 @@
<div v-if="applicationDetail.tHouseApplyProposer" style="margin: 16px;"> <div v-if="applicationDetail.tHouseApplyProposer" style="margin: 16px;">
<van-row> <van-row>
<van-col span="12" align="center"> <van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton">保存</van-button>
<van-button type="info" native-type="submit" class="submitButton" @click="onSubmit('keep')">保存</van-button>
</van-col> </van-col>
<van-col span="12" align="center"> <van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton">保存并提交</van-button>
<van-button type="info" native-type="submit" class="submitButton" @click="onSubmit('submit')">保存并提交</van-button>
</van-col> </van-col>
</van-row> </van-row>
<div class="clear"></div> <div class="clear"></div>
@@ -395,7 +390,7 @@
</template> </template>


<script> <script>
import { allInformation , treeSingleProcessView , attachmentFind , saveHouseBaseInfo , houseList , attach , removeFile } from "@/api/onlineHome/homestead/application";
import { allInformation , treeSingleProcessView , attachmentFind , saveHouseBaseInfo , houseList , attach , removeFile , saveHouseBaseInfoThenSubmit} from "@/api/onlineHome/homestead/application";
export default { export default {
name: "applicationForm", name: "applicationForm",
data() { data() {
@@ -677,7 +672,7 @@ export default {
}); });
}, },
//申请提交 //申请提交
onSubmit(){
onSubmit(type){
var that = this; var that = this;
let form = {}; let form = {};
form.fileList=[]; form.fileList=[];
@@ -707,11 +702,21 @@ export default {
form.tHouseApplyCurrentSituation=this.applicationDetail.tHouseApplyCurrentSituation; form.tHouseApplyCurrentSituation=this.applicationDetail.tHouseApplyCurrentSituation;
form.tHouseApplyProposedSituation=this.applicationDetail.tHouseApplyProposedSituation; form.tHouseApplyProposedSituation=this.applicationDetail.tHouseApplyProposedSituation;
setTimeout(function(){ setTimeout(function(){
saveHouseBaseInfo(form).then(res => {
if(res.code = 200){
that.$toast.success('保存成功');
}
});
if (type == 'keep'){
saveHouseBaseInfo(form).then(res => {
if(res.code = 200){
that.$toast.success('保存成功');
}
});
}
if (type == 'submit'){
saveHouseBaseInfoThenSubmit(form).then(res => {
if(res.code = 200){
that.$toast.success('提交成功');
}
});
}

},1000) },1000)


}, },


+ 765
- 0
src/views/onlineHome/homestead/publicityInformation/informationDetail.vue Ver ficheiro

@@ -0,0 +1,765 @@
<template>
<div class="app-container">
<van-nav-bar
title="公示信息"
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
/>
<van-steps :active="active" active-color="#38f">
<van-step>申请</van-step>
<van-step>开工</van-step>
<van-step>验收</van-step>
</van-steps>
<p class="topTit">农村宅基地和建房(规划许可)申请表</p>
<div class="main">
<van-form>
<div v-if="applicationDetail.tHouseApplyProposer">
<p class="main_title">申请用户信息</p>
<div class="main_box">
<van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.memberName" label="姓名" placeholder="姓名" input-align="right"/>
<van-field
readonly
clickable
v-model="sexValue"
label="性别"
placeholder="选择性别"
@click=" auditStatus==true ? '' : showSex = true"
input-align="right"
:rules="[{ required: true }]" required
/>
<van-popup v-model="showSex" position="bottom">
<van-picker
show-toolbar
:columns="userSex"
@confirm="onConfirmSex"
@cancel="showSex = false"
:readonly="auditStatus"
/>
</van-popup>
<van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.age" label="年龄" placeholder="年龄" input-align="right"/>
<van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.phone" label="联系电话" placeholder="联系电话" input-align="right"/>
<van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.idcard" label="身份证号" placeholder="身份证号" input-align="right"/>
<van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.householdRegister" label="户口所在地" placeholder="户口所在地" input-align="right"/>
<van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.familyAddress" label="家庭住址" placeholder="家庭住址" input-align="right"/>
<van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.members" label="家庭人口数" placeholder="家庭人口数" input-align="right"/>
<van-cell title="是否已有宅基地">
<template #right-icon>
{{applicationDetail.tHouseApplyProposer.existHomestead=='Y'?'是':'否'}}
</template>
</van-cell>
</div>
</div>

<div v-if="applicationDetail.tHouseApplyFamilyMembers && applicationDetail.tHouseApplyFamilyMembers!=''">
<p class="main_title">家庭成员信息<van-button icon="plus" size="mini" type="info" 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 v-if="CurrentSituation">
<p class="main_title">现宅基地及农房状况</p>
<div class="main_box">
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.landArea" label="宅基地面积" placeholder="宅基地面积" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.landPerArea" label="人均宅基地面积" placeholder="人均宅基地面积㎡" input-align="right" label-width="auto"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.landCertificateNo" label="不动产单元号" placeholder="不动产单元号" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.buildingArea" label="建筑面积" placeholder="建筑面积㎡" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.buildingPerArea" label="人均建筑面积" placeholder="人均建筑面积㎡" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.houseCertificateNo" label="农民房屋幢号" placeholder="户口所在地" input-align="right"/>
<van-field
readonly
clickable
:value="landIsposalValue"
label="处置情况"
placeholder="选择宅基地处置情况"
@click=" auditStatus==true ? '' : showLandIsposal = true"
input-align="right"
:readonly="auditStatus"
:rules="[{ required: true }]" required
/>
<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>

<div v-if="applicationDetail.tHouseApplyProposedSituation">
<p class="main_title">拟申请宅基地及建房情况</p>
<div class="main_box">
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.location" label="拟建位置" placeholder="拟建位置" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.landArea" label="宅基地面积" placeholder="宅基地面积" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.east" label="东至" placeholder="东至" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.west" label="西至" placeholder="西至" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.south" label="南至" placeholder="南至" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.north" label="北至" placeholder="北至" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.buildingArea" label="建筑面积" placeholder="建筑面积" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.buildingFloors" label="建筑层数" placeholder="建筑层数" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.buildingHight" label="建筑高度" placeholder="建筑高度" input-align="right"/>
<van-cell title="是否征求相邻权利人意见">
<template #right-icon>
{{applicationDetail.tHouseApplyProposedSituation.isAdvice=='Y'?'是':'否'}}
</template>
</van-cell>
<van-field
readonly
clickable
v-model="housingStructureValue"
label="房屋构造"
placeholder="选择房屋构造"
@click=" auditStatus==true ? '' : showHousingStructure = true"
input-align="right"
:rules="[{ required: true }]" required
/>
<van-popup v-model="showHousingStructure" position="bottom">
<van-picker
show-toolbar
:columns="housingStructure"
@confirm="onConfirmHousingStructure"
@cancel="showHousingStructure = false"
:readonly="auditStatus"
/>
</van-popup>
<van-field
readonly
clickable
:value="buildingTypeValue"
label="建房类型"
placeholder="选择建房类型"
@click=" auditStatus==true ? '' : showBuildingType = true"
input-align="right"
:rules="[{ required: true }]" required
/>
<van-popup v-model="showBuildingType" position="bottom">
<van-picker
show-toolbar
:columns="buildingType"
@confirm="onConfirmBuildingType"
@cancel="showBuildingType = false"
/>
</van-popup>
<van-cell title="设计图纸">
<template #right-icon>
<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>
<van-field
readonly
clickable
:value="houseTypeValue"
placeholder="选择户型图"
@click=" auditStatus==true ? '' : showHouseType = true"
input-align="right"
right-icon="arrow-down"
v-if="showHouse"
:rules="[{ required: true }]" required
/>
<van-popup v-model="showHouseType" position="bottom">
<van-picker
show-toolbar
:columns="houseType"
@confirm="onConfirmHouseType"
@cancel="showHouseType = false"
/>
</van-popup>
</div>
</div>

<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"
:rules="[{ required: true }]" required
/>
<van-row>
<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 :rules="[{ required: true }]" required :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" :readonly="auditStatus" @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>
</div>

<div v-if="applicationDetail.tHouseApplyStart" >
<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="applicationDetail.tHouseApplyStart.startDate" label-width="auto" placeholder="选择日期">
<template #label>
<van-icon name="notes-o" size="20"/>
</template>
</van-field>
</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="applicationDetail.tHouseApplyStart.endDate" label-width="auto" placeholder="选择日期">
<template #label>
<van-icon name="notes-o" size="20"/>
</template>
</van-field>
</van-radio-group>
</template>
</van-cell>
</div>
</div>

<div v-if="applicationDetail.tHouseApplyEnd">
<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="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 { allInformationAnnounce , treeSingleProcessView , attachmentFind , saveHouseBaseInfo , houseList , attach , removeFile , saveHouseBaseInfoThenSubmit} from "@/api/onlineHome/homestead/application";
export default {
name: "applicationForm",
data() {
return {
active: 0,
nowTime: '',//当前日期
fileList: [],
fileList2: [],
radio:'1',
value: '',
columns: ['杭州', '宁波', '温州', '嘉兴', '湖州'],
showPicker: false,
showBuildingType: false,
showLandIsposal: false,
showHousingStructure: false,
showStartDate: false,
showEndDate: false,
showApplyTime:false,
showHouseType:false,
showHouse:false,
showSex:false,
id:'',
applicationDetail:[],
//建房类型字典
buildingType:[],
//性别字典
userSex:[],
//处置情况字典
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:'',//当前显示户型
sexValue:'',//当前显示性别
CurrentSituation:false,
};
},
created() {
this.id = this.$route.query.id;
this.type = this.$route.query.type;
this.getDetail();
},
methods: {
goFlow(){
window.location='flowChart?id='+this.id;
},
//更新文件回显
afterRead(file) {
this.$forceUpdate();
},
//删除图片
deleteFile(elIndex){
if(elIndex.id != ''){
removeFile(elIndex.id).then(response => {});
}
this.$forceUpdate();
return (file, name) => {
let fileIndex = name.index
this.fileList[elIndex].splice(fileIndex, 1)
this.upLoadList[elIndex].splice(fileIndex, 1)
}
},
//获取数据集合
getDetail(){
allInformationAnnounce(this.id).then(response => {
//性别字典查询
this.houseGetDicts("sys_user_sex").then((res) => {
res.data.map(item => {
this.userSex.push({ value:item.dictValue, text: item.dictLabel});
});
this.sexValue = this.selectDictLabel(res.data, response.data.tHouseApplyProposer.sex);
});
//建房类型字典查询
this.houseGetDicts("building_type").then((res) => {
res.data.map(item => {
this.buildingType.push({ value:item.dictValue, text: item.dictLabel});
});
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 => {
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;
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 => {
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 , id:res2.data[j].id} ;
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){
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){
this.housingStructureValue = data.text;
this.applicationDetail.tHouseApplyProposedSituation.housingStructure = data.value;
this.showHousingStructure = false;
},
//选择户型
onConfirmHouseType(data){
this.houseTypeValue = data.text;
this.applicationDetail.tHouseApplyProposedSituation.houseTypeId = data.value;
this.showHouseType = false;
},
//选择性别
onConfirmSex(data){
this.sexValue = data.text;
this.applicationDetail.tHouseApplyProposer.sex = data.value;
this.showSex = false;
},
//添加家庭成员
addFamily(){
this.applicationDetail.tHouseApplyFamilyMembers.push({
applyProposerId:this.applicationDetail.tHouseApplyFamilyMembers[0].applyProposerId,
memberName:'',
age:'',
familyStatusName:'',
idcard :'',
householdRegister:'',
});
},
//删除家庭成员
deleteFamily(index){

this.applicationDetail.tHouseApplyFamilyMembers.splice(index,1)
},
//是否有宅基地选项改变
existHomesteadChange(name){
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){
if(name == 2){
this.showHouse = true;
}else{
this.showHouse = false;
}
},
base64toFile(dataurl, filename = "file") {
let arr = dataurl.split(",");
let mime = arr[0].match(/:(.*?);/)[1];
let suffix = mime.split("/")[1];
let bstr = atob(arr[1]);
let n = bstr.length;
let u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new File([u8arr], `${filename}.${suffix}`, {
type: mime,
});
},
//申请提交
onSubmit(type){
var that = this;
let form = {};
form.fileList=[];
this.fileList.tableId = this.id;
for (let i = 0 ; i < this.fileArray.length ; i++){
if (this.fileArray[i].findList == null || this.fileArray[i].findList == undefined || this.fileArray[i].findList == ''){
continue
}
for (let j = 0 ; j < this.fileArray[i].findList.length ; j++){
const params = new FormData()
params.append('tableId', this.id)
params.append('tableName', 't_house_apply_proposer')
params.append('bizPath', 't_house_apply_proposer')
params.append('fileType', this.fileArray[i].fileType)
if (this.fileArray[i].findList[j].url){
continue;
}
params.append('file', this.base64toFile(this.fileArray[i].findList[j].content))
attach(params).then(res => {
form.fileList.push(res.id);
});
}
}
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;
setTimeout(function(){
if (type == 'keep'){
saveHouseBaseInfo(form).then(res => {
if(res.code = 200){
that.$toast.success('保存成功');
}
});
}
if (type == 'submit'){
saveHouseBaseInfoThenSubmit(form).then(res => {
if(res.code = 200){
that.$toast.success('提交成功');
}
});
}

},1000)

},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding-bottom: 5%;
}
.van-steps{
padding: 2% 6% 0;
}
.topTit{
margin-top: 0.4rem;
font-size: 0.45rem;
background-color: #1D6FE9;
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{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
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;
}
.file-box{
padding: 2% 5% 0;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
border-radius: 14px;
}
.timeTit{
text-align: center;
font-size: 16px;
line-height: 27px;
}
.action-box{
padding: 15px 0!important;
margin-top: 0.4rem;
}
.check-box{
margin-top: 0.4rem;
}
.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.deleteFamily{
position: absolute;
top: -0.3rem;
right: 6%;
z-index: 9;
border-radius: 50%;
}
.familyList{
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>

+ 61
- 21
src/views/onlineHome/homestead/publicityInformation/informationList.vue Ver ficheiro

@@ -15,37 +15,77 @@
<div @click="onSearch" style="color:#B4B0B0 ">搜索</div> <div @click="onSearch" style="color:#B4B0B0 ">搜索</div>
</template> </template>
</van-search> </van-search>
<van-swipe-cell v-for="(item,index) in 10">
<van-cell title="张婷婷-异地新建申请" value="公示中" center >
<template #icon>
<van-icon name="../../../static/images/icon/icon_gs.png" size="22" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p>镇级公示<i style="margin-right: 0.5rem;"></i>2021.01.02-2021.01.07</p>
</template>
</van-cell>
</van-swipe-cell>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in informationList" :key="index">
<van-cell :title="item.projectName" :value="item.announceStatus" center :to="{name:'informationDetail', query: {id:item.applyProposerId}}">
<template #icon>
<van-icon name="../../../static/images/icon/icon_gs.png" size="22" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p>{{item.announceType}}<i style="margin-right: 0.2rem;"></i>{{item.startDate}}至{{item.endDate}}</p>
</template>
</van-cell>
</van-swipe-cell>
</van-list>
</div> </div>
</template> </template>


<script> <script>
export default {
name: "applicationList",
import { getList } from "@/api/onlineHome/homestead/information";
export default {
name: "informationList",
data() { data() {
return { return {
value:'', value:'',
value2:'',
showPicker: false,
columns: ['杭州', '宁波', '温州', '绍兴', '湖州', '嘉兴', '金华', '衢州'],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
orderByColumn:'createTime',
isAsc:'desc',
announceStatus:2
},
informationList:[],
announceStatus:[],
announceTypeStatus:[]
}; };
}, },
created() { created() {

this.houseGetDicts("announce_status").then((response) => {
this.announceStatus = response.data;
});
this.houseGetDicts("announce_type").then((response) => {
this.announceTypeStatus = response.data;
});
}, },
methods: { methods: {
onConfirm(value) {
this.value2 = value;
this.showPicker = false;
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
var announceStatus = this.selectDictLabel(this.announceStatus, response.rows[i].announceStatus);
var announceType = this.selectDictLabel(this.announceTypeStatus, response.rows[i].announceType);
response.rows[i].announceStatus = announceStatus;
response.rows[i].announceType = announceType;
this.informationList.push(response.rows[i]);
}
console.log(this.informationList.length >= response.total)
if(this.informationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
}, },
onSearch(){ onSearch(){


@@ -59,7 +99,7 @@ export default {
padding: 0.2rem 3%; padding: 0.2rem 3%;
} }
/deep/.van-cell__title{ /deep/.van-cell__title{
flex: 0.7;
flex: 0.85;
} }
/deep/.van-cell__title span{ /deep/.van-cell__title span{
font-family: Arial; font-family: Arial;
@@ -67,7 +107,7 @@ export default {
font-weight: normal; font-weight: normal;
} }
/deep/.van-cell__value{ /deep/.van-cell__value{
flex: 0.3;
flex: 0.15;
color: #1D6FE9; color: #1D6FE9;
font-weight: bold; font-weight: bold;
} }


Carregando…
Cancelar
Guardar