Explorar el Código

前端修改

wulanhaote
庞东旭 hace 3 años
padre
commit
da3fbfcccc
Se han modificado 16 ficheros con 2346 adiciones y 65 borrados
  1. +35
    -1
      src/api/application/index.js
  2. +90
    -0
      src/router/index.js
  3. +1
    -1
      src/views/circulation/circulationAdd.vue
  4. +80
    -7
      src/views/flowChart/index.vue
  5. +743
    -0
      src/views/homeApplication/applicationAdd.vue
  6. +132
    -50
      src/views/homeApplication/applicationForm.vue
  7. +26
    -6
      src/views/homeApplication/applicationList.vue
  8. +91
    -0
      src/views/homesteadUtilize/homesteadUtilize.vue
  9. +158
    -0
      src/views/homesteadUtilize/homesteadUtilizeAdd.vue
  10. +221
    -0
      src/views/mortgage/mortgageAdd.vue
  11. +91
    -0
      src/views/mortgage/mortgageList.vue
  12. +221
    -0
      src/views/paidExit/paidExitAdd.vue
  13. +91
    -0
      src/views/paidExit/paidExitList.vue
  14. +275
    -0
      src/views/utilization/utilizationAdd.vue
  15. +91
    -0
      src/views/utilization/utilizationList.vue
  16. BIN
      static/images/icon/icon_flow.png

+ 35
- 1
src/api/application/index.js Ver fichero

@@ -1,6 +1,5 @@
import request from '@/utils/request'


//查询列表
export function getList(data){
return request({
@@ -45,6 +44,17 @@ export function saveHouseBaseInfo(data){
})
}

//上传图片
export function attach(data){
console.log(data)
return request({
url:'/common/attach',
method:'post',
headers:{'Content-Type': 'application/x-www-form-urlencoded;boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW'},
data:data
})
}

//户型
export function houseList(){
return request({
@@ -52,3 +62,27 @@ export function houseList(){
method:'get'
})
}

//删除列表项
export function removeList(id){
return request({
url:'/house/mobile/proposer/remove/'+id,
method:'get'
})
}

//删除附件
export function removeFile(id){
return request({
url:'/system/attachment/remove/'+id,
method:'get'
})
}

//获取户主信息
export function getHouseMembers(id){
return request({
url:'/house/mobile/getHouseMembers',
method:'get'
})
}

+ 90
- 0
src/router/index.js Ver fichero

@@ -635,6 +635,96 @@ export const constantRoutes = [
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/zdjs'], resolve)
},
{
path: '/flowChart',
name: 'flowChart',
meta: {
title: '宅基地申请流程',
hidden: true,
},
component: (resolve) => require(['@/views/flowChart/index'], resolve)
},
{
path: '/applicationAdd',
name: 'applicationAdd',
meta: {
title: '宅基地申请流程',
hidden: true,
},
component: (resolve) => require(['@/views/homeApplication/applicationAdd'], resolve)
},
{
path: '/paidExit',
name: 'paidExit',
meta: {
title: '有偿退出',
hidden: true,
},
component: (resolve) => require(['@/views/paidExit/paidExitList'], resolve)
},
{
path: '/paidExitAdd',
name: 'paidExitAdd',
meta: {
title: '有偿退出',
hidden: true,
},
component: (resolve) => require(['@/views/paidExit/paidExitAdd'], resolve)
},
{
path: '/mortgage',
name: 'mortgage',
meta: {
title: '使用权抵押',
hidden: true,
},
component: (resolve) => require(['@/views/mortgage/mortgageList'], resolve)
},
{
path: '/mortgageAdd',
name: 'mortgageAdd',
meta: {
title: '使用权抵押',
hidden: true,
},
component: (resolve) => require(['@/views/mortgage/mortgageAdd'], resolve)
},
{
path: '/utilization',
name: 'utilization',
meta: {
title: '农发利用',
hidden: true,
},
component: (resolve) => require(['@/views/utilization/utilizationList'], resolve)
},
{
path: '/utilizationAdd',
name: 'utilizationAdd',
meta: {
title: '农房利用',
hidden: true,
},
component: (resolve) => require(['@/views/utilization/utilizationAdd'], resolve)
},
{
path: '/homesteadUtilize',
name: 'homesteadUtilize',
meta: {
title: '宅基地利用情况',
hidden: true,
},
component: (resolve) => require(['@/views/homesteadUtilize/homesteadUtilize'], resolve)
},
{
path: '/homesteadUtilizeAdd',
name: 'homesteadUtilizeAdd',
meta: {
title: '宅基地利用情况',
hidden: true,
},
component: (resolve) => require(['@/views/homesteadUtilize/homesteadUtilizeAdd'], resolve)
}
];



+ 1
- 1
src/views/circulation/circulationAdd.vue Ver fichero

@@ -11,7 +11,7 @@
</template>
</van-nav-bar>
<van-form @submit="onSubmit">
<p class="main_title">宅基地开工</p>
<p class="main_title">转出方信息</p>
<div class="main_box">
<van-field
readonly


+ 80
- 7
src/views/flowChart/index.vue Ver fichero

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

<van-nav-bar
title="农村宅基地申请表"
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
/>
<div class="main_box">
<van-row>
<van-col span="8"><p class="tit">01 申请</p></van-col>
<van-col span="8"><p class="tit">02 开工</p></van-col>
<van-col span="8"><p class="tit">03 验收</p></van-col>
</van-row>
<van-row>
<van-col span="8">
<van-steps direction="vertical" active-color="#1D6FE9" :active="applicationDetail.proposerActiveIndex">
<van-step v-for="(item,index) in applicationDetail.applyStepList" :key="index">{{item}}</van-step>
</van-steps>
</van-col>
<van-col span="8">
<van-steps direction="vertical" active-color="#1D6FE9" :active="applicationDetail.startActiveIndex">
<van-step v-for="(item,index) in applicationDetail.startStepList" :key="index">{{item}}</van-step>
</van-steps>
</van-col>
<van-col span="8">
<van-steps direction="vertical" active-color="#1D6FE9" :active="applicationDetail.endActiveIndex">
<van-step v-for="(item,index) in applicationDetail.endStepList" :key="index">{{item}}</van-step>
</van-steps>
</van-col>
</van-row>
</div>
</div>
</template>

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

applicationDetail:[],
id:''
};
},
created() {

this.id = this.$route.query.id;
this.getDetail();
},
methods: {

//获取数据集合
getDetail(){
allInformation(this.id).then(response => {
console.log(response)
this.applicationDetail = response.data;
});
},
},
}
</script>

<style scoped>
<style scoped lang="scss">
.app-container {
padding: 6% 3% 0;
}
.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;
margin-top: 2%;
padding: 5% 1%;
}
.van-col{
text-align: center;
}
.tit{
background: #1d6fe9;
border-radius: 12px;
font-size: 0.4rem;
font-family: Source Han Sans CN, Source Han Sans CN-Regular;
font-weight: 400;
color: #ffffff;
line-height: 0.65rem;
letter-spacing: 0px;
width: 70%;
margin: 0 auto;
}
.van-step--vertical{
padding-right: 0;
text-align: left;
}
.van-step--vertical:not(:last-child)::after{
border: none;
}
.van-step--finish{
color: #1d6fe9;
}
</style>

+ 743
- 0
src/views/homeApplication/applicationAdd.vue Ver fichero

@@ -0,0 +1,743 @@
<template>
<div class="app-container">
<van-nav-bar
title="农村宅基地申请"
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
/>
<p class="topTit">农村宅基地和建房(规划许可)申请表</p>
<div class="main">
<van-form @submit="onSubmit">
<div v-if="applicationDetail.tHouseApplyProposer">
<p class="main_title">申请户主信息</p>
<div class="main_box">
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.memberName" label="姓名" placeholder="姓名" input-align="right"/>
<van-field
readonly
clickable
name="picker"
v-model="sexValue"
label="性别"
placeholder="选择性别"
@click=" auditStatus==true ? '' : showSex = true"
input-align="right"
right-icon="arrow-down"
: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 :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.age" label="年龄" placeholder="年龄" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.phone" label="联系电话" placeholder="联系电话" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.idcard" label="身份证号" placeholder="身份证号" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.householdRegister" label="户口所在地" placeholder="户口所在地" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.familyAddress" label="家庭住址" placeholder="家庭住址" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.members" label="家庭人口数" placeholder="家庭人口数" input-align="right"/>
<van-cell title="是否已有宅基地">
<template #right-icon>
<van-radio-group :rules="[{ required: true }]" required :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>

<div v-if="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
name="picker"
:value="landIsposalValue"
label="处置情况"
placeholder="选择宅基地处置情况"
@click=" auditStatus==true ? '' : showLandIsposal = true"
input-align="right"
right-icon="arrow-down"
: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>
<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"
v-model="housingStructureValue"
label="房屋构造"
placeholder="选择房屋构造"
@click=" auditStatus==true ? '' : showHousingStructure = true"
input-align="right"
right-icon="arrow-down"
: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
name="picker"
:value="buildingTypeValue"
label="建房类型"
placeholder="选择建房类型"
@click=" auditStatus==true ? '' : showBuildingType = true"
input-align="right"
right-icon="arrow-down"
: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
name="picker"
: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 :rules="[{ required: true }]" required :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" @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-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>
<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>
</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 , attach , removeFile , getHouseMembers } from "@/api/application/index";

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:{
//上传文件id
fileList: [],
tHouseApplyProposer: {
memberName: '',
farmerCode: "",
sex: "",
age: '',
phone: "",
idcard: "",
householdRegister: "",
familyAddress: "",
members: '',
applyReasion: "",
houseSource: '',
existHomestead: "Y"
},
tHouseApplyFamilyMembers: [
{
memberName: "",
age: '',
idcard: "",
familyStatusName: "",
householdRegister: ""
}
],
tHouseApplyCurrentSituation: {
landArea: "",
landPerArea: "",
landCertificateNo: "",
buildingPerArea: "",
houseCertificateNo: "",
landIsposal: "",
reservedArea: "",
otherRemark: "",
buildingType: "",
buildingArea: ""
},
tHouseApplyProposedSituation: {
location: "",
landArea: "",
east: "",
west: "",
south: "",
north: "",
geographicType: "",
constructionLandArea: "",
unusedLandArea: "",
agriculturalLandArea: "",
farmLandArea: "",
forestLandArea: "",
buildingArea: "",
buildingFloors: "",
buildingHight: "",
designPaper: "1",
housingStructure: "",
isAdvice: "1",
buildingType: "",
theGeom:''
}
},
//建房类型字典
buildingType:[],
//处置情况字典
landIsposal:[],
//房屋构造字典
housingStructure:[],
//性别字典
userSex:[],
//户型
houseType:[],
//请求参数
parameter:{
businessType: "house",
houseApplyStatus: 1,
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.getDetail()
},
methods: {
afterRead(file) {
this.$forceUpdate();
return;
// 此时可以自行将文件上传至服务器
for ( var i = 0 ; i < this.fileList.length ; i++){
if(this.fileList[i].url == undefined&&this.fileList!='') {
this.fileList[i] = {url:this.fileList[i].content, id: '', isImage: true};
}
}
},
//删除图片
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(){
//性别字典查询
// 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) => {
res.data.map(item => {
this.buildingType.push({ value:item.dictValue, text: item.dictLabel});
});
});
//房屋构造字典查询
this.houseGetDicts("housing_structure").then((res) => {
res.data.map(item => {
this.housingStructure.push({ value:item.dictValue, text: item.dictLabel});
});
});
//处置情况字典查询
this.CurrentSituation = true ;
this.houseGetDicts("land_isposal").then((res) => {
res.data.map(item => {
this.landIsposal.push({ value:item.dictValue, text: item.dictLabel});
});
});
//户型图查询
houseList().then(res => {
res.rows.map(item => {
this.houseType.push({ value:item.id, text: item.name});
});
});
//获取上传文件列表
treeSingleProcessView(this.parameter).then(res => {
this.fileArray = res.rows
});
//获取上传文件列表
getHouseMembers().then(res => {
this.applicationDetail.tHouseApplyProposer = res.data.tHouseApplyProposer;
this.applicationDetail.tHouseApplyFamilyMembers = res.data.tHouseApplyFamilyMembers;
//性别字典查询
this.houseGetDicts("sys_user_sex").then((res2) => {
res2.data.map(item => {
this.userSex.push({ value:item.dictValue, text: item.dictLabel});
});
this.sexValue = this.selectDictLabel(res2.data, res.data.tHouseApplyProposer.sex);
});
});
},
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;
},
//选择性别
onConfirmSex(data){
this.sexValue = data.text;
this.applicationDetail.tHouseApplyProposer.sex = data.value;
this.showSex = 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;
},
//添加家庭成员
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(){
var that = this;
let form = {};
form.fileList=[];
const params = new FormData()
params.append('tableId', '')
params.append('tableName', 't_house_apply_proposer')
params.append('bizPath', 't_house_apply_proposer')

for (let i = 0 ; i < this.fileArray.length ; i++){
console.log(this.fileArray[i].fileType)
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++){
params.set('fileType', this.fileArray[i].fileType)
if (this.fileArray[i].findList[j].url){
continue;
}
params.set('file', this.base64toFile(this.fileArray[i].findList[j].content))
console.log(params)
attach(params).then(res => {
console.log(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(){
saveHouseBaseInfo(form).then(res => {
console.log(res)
if(res.code = 200){
that.$toast.success('保存成功');
}
});
},1000)
},
},
}
</script>

<style scoped lang="scss">
.app-container {
}
.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>

+ 132
- 50
src/views/homeApplication/applicationForm.vue Ver fichero

@@ -6,7 +6,11 @@
fixed
placeholder
@click-left="$router.back(-1)"
/>
>
<template #right>
<van-icon name="../../../static/images/icon/icon_flow.png" size="20" @click="goFlow"/>
</template>
</van-nav-bar>
<van-steps :active="active" active-color="#38f">
<van-step>申请</van-step>
<van-step>开工</van-step>
@@ -18,14 +22,34 @@
<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-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.memberName" label="姓名" placeholder="姓名" input-align="right"/>
<van-field
readonly
clickable
name="picker"
v-model="sexValue"
label="性别"
placeholder="选择性别"
@click=" auditStatus==true ? '' : showSex = true"
input-align="right"
right-icon="arrow-down"
: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>
<van-radio-group :disabled="auditStatus" @change="existHomesteadChange" v-model="applicationDetail.tHouseApplyProposer.existHomestead" direction="horizontal">
@@ -38,7 +62,7 @@
</div>

<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>
<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>
@@ -80,12 +104,12 @@
<div v-if="CurrentSituation">
<p class="main_title">现宅基地及农房状况</p>
<div class="main_box">
<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 :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
@@ -97,6 +121,7 @@
input-align="right"
right-icon="arrow-down"
:readonly="auditStatus"
:rules="[{ required: true }]" required
/>
<van-popup v-model="showLandIsposal" position="bottom">
<van-picker
@@ -133,15 +158,15 @@
<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-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>
<van-radio-group :disabled="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.isAdvice" direction="horizontal">
@@ -160,6 +185,7 @@
@click=" auditStatus==true ? '' : showHousingStructure = true"
input-align="right"
right-icon="arrow-down"
:rules="[{ required: true }]" required
/>
<van-popup v-model="showHousingStructure" position="bottom">
<van-picker
@@ -180,6 +206,7 @@
@click=" auditStatus==true ? '' : showBuildingType = true"
input-align="right"
right-icon="arrow-down"
:rules="[{ required: true }]" required
/>
<van-popup v-model="showBuildingType" position="bottom">
<van-picker
@@ -207,6 +234,7 @@
input-align="right"
right-icon="arrow-down"
v-if="showHouse"
:rules="[{ required: true }]" required
/>
<van-popup v-model="showHouseType" position="bottom">
<van-picker
@@ -230,11 +258,12 @@
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 :readonly="auditStatus" clickable v-model="applicationDetail.tHouseApplyProposer.applyTime" label-width="auto" placeholder="选择日期" @click="showApplyTime = true">
<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>
@@ -366,7 +395,7 @@
</template>

<script>
import { allInformation , treeSingleProcessView , attachmentFind , saveHouseBaseInfo , houseList} from "@/api/application/index";
import { allInformation , treeSingleProcessView , attachmentFind , saveHouseBaseInfo , houseList , attach , removeFile } from "@/api/application/index";
export default {
name: "applicationForm",
data() {
@@ -387,10 +416,13 @@ export default {
showApplyTime:false,
showHouseType:false,
showHouse:false,
showSex:false,
id:'',
applicationDetail:[],
//建房类型字典
buildingType:[],
//性别字典
userSex:[],
//处置情况字典
landIsposal:[],
//房屋构造字典
@@ -418,6 +450,7 @@ export default {
buildingTypeValue:'',//当前显示建房类型
landIsposalValue:'',//当前显示处置情况
houseTypeValue:'',//当前显示户型
sexValue:'',//当前显示性别
CurrentSituation:false,
};
},
@@ -427,21 +460,20 @@ export default {
this.getDetail();
},
methods: {
goFlow(){
window.location='flowChart?id='+this.id;
},
//更新文件回显
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};
}
}
this.$forceUpdate();
},
//删除图片
deleteFile(elIndex){
if(elIndex.id != ''){
deleteUserImg(elIndex.id).then(response => {});
removeFile(elIndex.id).then(response => {});
}
this.$forceUpdate();
return (file, name) => {
let fileIndex = name.index
this.fileList[elIndex].splice(fileIndex, 1)
@@ -451,18 +483,18 @@ export default {
//获取数据集合
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);
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) => {
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);
});
//房屋构造字典查询
@@ -497,6 +529,7 @@ export default {
this.showHouse = true;
}
});
console.log(response.data)
this.applicationDetail = response.data;
this.parameter.houseApplyStatus = response.data.tHouseApplyProposer.houseApplyStatus;
let currentProcessKey = response.data.currentProcessKey;
@@ -523,7 +556,7 @@ export default {
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.fileArray[i].findList[j] = {url:'http://192.168.31.239:8080'+ res2.data[j].fileUrl, isImage: true , id:res2.data[j].id} ;
this.$forceUpdate();
}
});
@@ -572,6 +605,13 @@ export default {
this.applicationDetail.tHouseApplyProposedSituation.houseTypeId = data.value;
this.showHouseType = false;
},
//选择性别
onConfirmSex(data){
console.log(data)
this.sexValue = data.text;
this.applicationDetail.tHouseApplyProposer.sex = data.value;
this.showSex = false;
},
//添加家庭成员
addFamily(){
this.applicationDetail.tHouseApplyFamilyMembers.push({
@@ -628,30 +668,72 @@ export default {
designPaperChange(name){
console.log(name)
if(name == 2){
console.log('a')
this.showHouse = true;
}else{
console.log('b')

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);
}
console.log(new File([u8arr], `${filename}.${suffix}`, {
type: mime,
}))
return new File([u8arr], `${filename}.${suffix}`, {
type: mime,
});
},
//申请提交
onSubmit(){
var that = this;
let form = {};
form.fileList=[];
this.fileList.tableId = this.id;
const params = new FormData()
params.append('tableId', this.id)
params.append('tableName', 't_house_apply_proposer')
params.append('bizPath', 't_house_apply_proposer')
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++){
params.set('fileType', this.fileArray[i].fileType)
if (this.fileArray[i].findList[j].url){
console.log("跳过原图--------------------")
continue;
}
params.set('file', this.base64toFile(this.fileArray[i].findList[j].content))
console.log(this.base64toFile(this.fileArray[i].findList[j].content))
attach(params).then(res => {
console.log(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;
console.log(form);
saveHouseBaseInfo(form).then(res => {
console.log(res)
if(res.code = 200){
this.$toast.success('保存成功');
}
});
console.log(this.fileArray)
setTimeout(function(){
saveHouseBaseInfo(form).then(res => {
console.log(res)
if(res.code = 200){
that.$toast.success('保存成功');
}
});
},1000)

},
},
}


+ 26
- 6
src/views/homeApplication/applicationList.vue Ver fichero

@@ -5,7 +5,7 @@
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goForm()"
@click-right="goAdd()"
>
<template #title>
<p style="font-weight: bold;">宅基地申请</p>
@@ -31,7 +31,7 @@
</template>
</van-cell>
<template #right>
<van-button square text="删除" type="danger" class="delete-button" />
<van-button square text="删除" type="danger" v-if="item.houseApplyStatus=='申请草稿'" @click="deleteList(item.id,index)" class="delete-button" />
</template>
</van-swipe-cell>
</van-list>
@@ -39,7 +39,7 @@
</template>

<script>
import { getList } from "@/api/application/index";
import { getList , removeList } from "@/api/application/index";
export default {
name: "applicationList",
data() {
@@ -50,18 +50,21 @@ export default {
finished: false,
queryParams:{
pageNum:1,
pageSize:10
pageSize:10,
orderByColumn:'createTime',
isAsc:'desc'
}
};
},
created() {
this.houseGetDicts("house_apply_status").then((response) => {
console.log(response)
this.houseApplyStatus = response.data;
});
},
methods: {
goForm(){
window.location = 'applicationForm?type=add';
goAdd(){
window.location = 'applicationAdd';
},
getList(){
setTimeout(() => {
@@ -82,6 +85,23 @@ export default {
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除申请草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
removeList(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
}
},
}


+ 91
- 0
src/views/homesteadUtilize/homesteadUtilize.vue Ver fichero

@@ -0,0 +1,91 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">宅基地利用情况</p>
</template>
<template #right>
<van-icon name="add" size="18" />
</template>
</van-nav-bar>
<van-swipe-cell v-for="(item,index) in 10">
<van-cell title="440604100202000000Z00012" center >
<template #icon>
<van-icon name="../../../static/images/icon/icon_jt.png" size="22" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p><b style="color: #7DDA4F;">正常使用</b><i style="margin-right: 0.5rem;"></i><b style="color: #333333;">自住</b><i style="margin-right: 0.5rem;"></i>闲置<span style="float: right">2021-08-14</span></p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="修改" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button square text="删除" type="danger" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</div>
</template>

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

};
},
created() {

},
methods: {

},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 1;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.delete-button {
height: 100%;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
</style>

+ 158
- 0
src/views/homesteadUtilize/homesteadUtilizeAdd.vue Ver fichero

@@ -0,0 +1,158 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">宅基地利用情况</p>
</template>
</van-nav-bar>
<van-form @submit="onSubmit">
<div class="main_box">
<van-field
readonly
clickable
name="picker"
:value="value"
label="宅基地代码"
placeholder="请选择"
@click="showPicker = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showPicker" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
:value="value"
label="宅基地利用情况"
placeholder="请选择"
@click="showPicker = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showPicker" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
/>
</van-popup>
<van-field label="宅基地闲置原因" placeholder="闲置原因" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
name="picker"
:value="value"
label="宅基地闲置起始时间"
placeholder="宅基地闲置起始时间"
@click="showPicker1 = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showPicker1" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
:value="value"
label="调查事件"
placeholder="调查事件"
@click="showPicker1 = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-field label="备注" type="textarea" placeholder="请输入内容" input-align="right" label-width="auto"/>
</div>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" 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>
</template>

<script>
export default {
name: "circulationAdd",
data() {
return {
value: '',
columns: ['杭州', '宁波', '温州', '嘉兴', '湖州'],
showPicker: false,
showPicker1: false,
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(2021, 0, 17),
findList:[]
};
},
created() {

},
methods: {
onConfirm(value) {
this.value = value;
this.showPicker = false;
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.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;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}
</style>

+ 221
- 0
src/views/mortgage/mortgageAdd.vue Ver fichero

@@ -0,0 +1,221 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">使用抵押权</p>
</template>
</van-nav-bar>
<van-form @submit="onSubmit">
<div class="main_box">
<van-field
readonly
clickable
name="picker"
:value="value"
label="宅基地代码"
placeholder="请选择"
@click="showPicker = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showPicker" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
/>
</van-popup>
<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
readonly
clickable
name="picker"
:value="value"
label="权属状态"
placeholder="请选择权属状态"
@click="showPicker = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showPicker" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
/>
</van-popup>
</div>

<div class="main_box">
<van-field
readonly
clickable
name="picker"
:value="value"
label="抵押不动产类型"
placeholder="请选择类型"
@click="showPicker = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showPicker" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
/>
</van-popup>
<van-field label="抵押人" placeholder="请输入抵押人" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
name="picker"
:value="value"
label="抵押方式"
placeholder="请选择抵押方式"
@click="showPicker = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showPicker" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
/>
</van-popup>
</div>

<div class="main_box">
<van-field
readonly
clickable
name="picker"
:value="value"
label="登记类型"
placeholder="请选择登记类型"
@click="showPicker = true"
label-width="auto"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showPicker" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
/>
</van-popup>
<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
readonly
clickable
name="picker"
:value="value"
label="登记时间"
placeholder="选择登记时间"
@click="showPicker1 = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showPicker1" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
/>
</van-popup>
</div>

<div class="main_box">
<van-field label="附记" placeholder="请输入内容" input-align="right" label-width="auto"/>
<van-field label="备注" placeholder="请输入内容" input-align="right" label-width="auto"/>
</div>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" 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>
</template>

<script>
export default {
name: "circulationAdd",
data() {
return {
value: '',
columns: ['杭州', '宁波', '温州', '嘉兴', '湖州'],
showPicker: false,
showPicker1: false,
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(2021, 0, 17),
};
},
created() {

},
methods: {
onConfirm(value) {
this.value = value;
this.showPicker = false;
},
},
}
</script>

<style scoped lang="scss">
.app-container {
}
.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;
margin-top:2%;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}
</style>

+ 91
- 0
src/views/mortgage/mortgageList.vue Ver fichero

@@ -0,0 +1,91 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">使用权抵押</p>
</template>
<template #right>
<van-icon name="add" size="18" />
</template>
</van-nav-bar>
<van-swipe-cell v-for="(item,index) in 10">
<van-cell title="440604100202000000Z00012" value="待审" center >
<template #icon>
<van-icon name="../../../static/images/icon/icon_jt.png" size="22" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p><b style="color: #3AC2DB;">抵押</b><i style="margin-right: 0.5rem;"></i><b style="color: #333333;">刘浩泽</b><i style="margin-right: 0.5rem;"></i>现势</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="修改" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button square text="删除" type="danger" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</div>
</template>

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

};
},
created() {

},
methods: {

},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.delete-button {
height: 100%;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
</style>

+ 221
- 0
src/views/paidExit/paidExitAdd.vue Ver fichero

@@ -0,0 +1,221 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加有偿退出</p>
</template>
</van-nav-bar>
<van-form @submit="onSubmit">
<div class="main_box">
<van-field
readonly
clickable
name="picker"
:value="value"
label="宅基地代码"
placeholder="请选择"
@click="showPicker = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showPicker" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
/>
</van-popup>
<van-field label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
name="picker"
:value="value"
label="申请人证件类型"
placeholder="请选择"
@click="showPicker = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showPicker" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
/>
</van-popup>
<van-field label="申请人证件号码" placeholder="申请人证件号码" input-align="right" label-width="auto"/>
</div>

<p class="main_title">退出信息</p>
<div class="main_box">
<van-field
readonly
clickable
name="picker"
:value="value"
label="退出权利类型"
placeholder="请选择退出权利类型"
@click="showPicker = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showPicker" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
/>
</van-popup>

<van-field
readonly
clickable
name="picker"
:value="value"
label="退出类型"
placeholder="请选择退出类型"
@click="showPicker = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showPicker" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
/>
</van-popup>

<van-field
readonly
clickable
name="picker"
:value="value"
label="退出方式"
placeholder="请选择退出方式"
@click="showPicker = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showPicker" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
/>
</van-popup>
<van-field label="退出面积" placeholder="请输入退出面积㎡" input-align="right" label-width="auto"/>
<van-field label="退出年限" placeholder="请输入退出年限" input-align="right" label-width="auto"/>
</div>

<p class="main_title">补偿信息</p>
<div class="main_box">
<van-field
readonly
clickable
name="picker"
:value="value"
label="补偿方式"
placeholder="请选择补偿方式"
@click="showPicker = true"
label-width="auto"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showPicker" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
/>
</van-popup>
<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>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" 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>
</template>

<script>
export default {
name: "circulationAdd",
data() {
return {
value: '',
columns: ['杭州', '宁波', '温州', '嘉兴', '湖州'],
showPicker: false,
showPicker1: false,
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(2021, 0, 17),
};
},
created() {

},
methods: {
onConfirm(value) {
this.value = value;
this.showPicker = false;
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.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;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}
</style>

+ 91
- 0
src/views/paidExit/paidExitList.vue Ver fichero

@@ -0,0 +1,91 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">有偿退出</p>
</template>
<template #right>
<van-icon name="add" size="18" />
</template>
</van-nav-bar>
<van-swipe-cell v-for="(item,index) in 10">
<van-cell title="440604100202000000Z00012" value="待审" center >
<template #icon>
<van-icon name="../../../static/images/icon/icon_jt.png" size="22" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p><b style="color: #539FFD;">有偿退出</b><i style="margin-right: 0.5rem;"></i><b style="color: #333333;">刘浩泽</b><i style="margin-right: 0.5rem;"></i>59㎡</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="修改" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button square text="删除" type="danger" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</div>
</template>

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

};
},
created() {

},
methods: {

},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.delete-button {
height: 100%;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
</style>

+ 275
- 0
src/views/utilization/utilizationAdd.vue Ver fichero

@@ -0,0 +1,275 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">农民房屋利用情况调查</p>
</template>
</van-nav-bar>
<van-form @submit="onSubmit">
<div class="main_box">
<van-field
readonly
clickable
name="picker"
:value="value"
label="农民房屋代码"
placeholder="请选择"
@click="showPicker = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showPicker" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
:value="value"
label="房屋状态"
placeholder="请选择"
@click="showPicker = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showPicker" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
:value="value"
label="房屋安全性鉴定等级"
placeholder="请选择"
@click="showPicker = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showPicker" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
:value="value"
label="利用状况"
placeholder="请选择"
@click="showPicker = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showPicker" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
:value="value"
label="房屋是否闲置"
placeholder="请选择"
@click="showPicker = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showPicker" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
/>
</van-popup>
<van-field label="闲置原因" placeholder="闲置原因" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
name="picker"
:value="value"
label="房屋闲置起始时间"
placeholder="房屋闲置起始时间"
@click="showPicker1 = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showPicker1" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
:value="value"
label="盘或利用模式"
placeholder="请选择"
@click="showPicker = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showPicker" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
:value="value"
label="调查时间"
placeholder="选择调查时间"
@click="showPicker1 = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showPicker1" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
/>
</van-popup>
<van-field label="年收益" placeholder="年收益" input-align="right" label-width="auto"/>
</div>

<p class="main_title">照片信息</p>
<div class="main_box" style="padding: 5%;">
<van-row>
<van-col span="12">
<p style="margin-bottom: 5%;color: #333333;font-size: 14px;">现场照片东</p>
<van-uploader v-model="findList" multiple />
</van-col>
<van-col span="12">
<p style="margin-bottom: 5%;color: #333333;font-size: 14px;">现场照片南</p>
<van-uploader v-model="findList" multiple />
</van-col>
</van-row>
<van-row>
<van-col span="12">
<p style="margin-bottom: 5%;color: #333333;font-size: 14px;">现场照片西</p>
<van-uploader v-model="findList" multiple />
</van-col>
<van-col span="12">
<p style="margin-bottom: 5%;color: #333333;font-size: 14px;">现场照片北</p>
<van-uploader v-model="findList" multiple />
</van-col>
</van-row>
</div>

<p class="main_title">补偿信息</p>
<div class="main_box">
<van-field label="备注" type="textarea" placeholder="请输入内容" input-align="right" label-width="auto"/>
</div>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" 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>
</template>

<script>
export default {
name: "circulationAdd",
data() {
return {
value: '',
columns: ['杭州', '宁波', '温州', '嘉兴', '湖州'],
showPicker: false,
showPicker1: false,
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(2021, 0, 17),
findList:[]
};
},
created() {

},
methods: {
onConfirm(value) {
this.value = value;
this.showPicker = false;
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.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;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}
</style>

+ 91
- 0
src/views/utilization/utilizationList.vue Ver fichero

@@ -0,0 +1,91 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">农房利用情况</p>
</template>
<template #right>
<van-icon name="add" size="18" />
</template>
</van-nav-bar>
<van-swipe-cell v-for="(item,index) in 10">
<van-cell title="440604100202000000Z00012" center >
<template #icon>
<van-icon name="../../../static/images/icon/icon_jt.png" size="22" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p><b style="color: #7DDA4F;">正常</b><i style="margin-right: 0.5rem;"></i><b style="color: #333333;">自住</b><i style="margin-right: 0.5rem;"></i>闲置<span style="float: right">2021-08-14</span></p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="修改" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button square text="删除" type="danger" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</div>
</template>

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

};
},
created() {

},
methods: {

},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 1;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.delete-button {
height: 100%;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
</style>

BIN
static/images/icon/icon_flow.png Ver fichero

Antes Después
Anchura: 40  |  Altura: 40  |  Tamaño: 1.2 KiB

Cargando…
Cancelar
Guardar