| @@ -0,0 +1,69 @@ | |||
| import request from '@/utils/request' | |||
| // 查询数据调查任务列表 | |||
| export function listTask(query) { | |||
| return request({ | |||
| url: '/houseSurvey/task/list', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| // 导出数据调查任务 | |||
| export function exportTask(id) { | |||
| return request({ | |||
| url: '/houseSurvey/task/export?id='+id, | |||
| method: 'get', | |||
| }) | |||
| } | |||
| // 查询数据调查任务详细 | |||
| export function getTask(id) { | |||
| return request({ | |||
| url: '/houseSurvey/task/get/' + id, | |||
| method: 'get' | |||
| }) | |||
| } | |||
| // 完成数据调查任务详细 | |||
| export function complete(id) { | |||
| return request({ | |||
| url: '/houseSurvey/task/complete/' + id, | |||
| method: 'post' | |||
| }) | |||
| } | |||
| // 发布数据调查任务详细 | |||
| export function publish(id) { | |||
| return request({ | |||
| url: '/houseSurvey/task/publish/' + id, | |||
| method: 'post' | |||
| }) | |||
| } | |||
| // 新增数据调查任务 | |||
| export function addTask(data) { | |||
| return request({ | |||
| url: '/houseSurvey/task/add', | |||
| method: 'post', | |||
| data: data | |||
| }) | |||
| } | |||
| // 修改数据调查任务 | |||
| export function updateTask(data) { | |||
| return request({ | |||
| url: '/houseSurvey/task/edit', | |||
| method: 'post', | |||
| data: data | |||
| }) | |||
| } | |||
| // 删除数据调查任务 | |||
| export function delTask(id) { | |||
| return request({ | |||
| url: '/houseSurvey/task/remove/' + id, | |||
| method: 'get' | |||
| }) | |||
| } | |||
| @@ -1653,6 +1653,51 @@ export const constantRoutes = [ | |||
| }, | |||
| component: (resolve) => require(['@/views/lawEnforcement/complaint/complaintAdd'], resolve) | |||
| }, | |||
| { | |||
| path: '/homesteadLogin', | |||
| name: 'homesteadLogin', | |||
| meta: { | |||
| title: '登录页', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/homesteadLogin'], resolve) | |||
| }, | |||
| { | |||
| path: '/homesteadSurvey/index', | |||
| name: 'homesteadIndex', | |||
| meta: { | |||
| title: '宅基地调查', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/homesteadSurvey/index'], resolve) | |||
| }, | |||
| { | |||
| path: '/homesteadSurvey/list', | |||
| name: 'homesteadList', | |||
| meta: { | |||
| title: '宅基地调查', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/homesteadSurvey/list'], resolve) | |||
| }, | |||
| { | |||
| path: '/homesteadSurvey/add', | |||
| name: 'homesteadAdd', | |||
| meta: { | |||
| title: '宅基地调查', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/homesteadSurvey/add'], resolve) | |||
| }, | |||
| { | |||
| path: '/homesteadSurvey/settle', | |||
| name: 'homesteadSettle', | |||
| meta: { | |||
| title: '宅基地调查', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/homesteadSurvey/settle'], resolve) | |||
| }, | |||
| ]; | |||
| @@ -0,0 +1,340 @@ | |||
| <template> | |||
| <div class="app-container" style="overflow:auto;"> | |||
| <div style="width:100%;max-width:500px;margin:0 auto;"> | |||
| <div class="title"> | |||
| <img width="150" height="150" style="display: block;margin-right: 10px;margin: 20px auto;" src="../assets/images/housesteadSurvey/logo.png" alt=""> | |||
| <p style="text-align:center;font-size:40px;">农村宅基地测量</p> | |||
| </div> | |||
| <van-form> | |||
| <div style="width: 462px; | |||
| height: 90px; | |||
| border-radius: 45px; | |||
| box-shadow: 2px 10px 10px 0px rgba(125,125,125,0.16);padding: 10px 30px; margin:40px 20px; "> | |||
| <van-field | |||
| v-model="formData.username" | |||
| placeholder="请输入账号" | |||
| left-icon="manager" | |||
| color="#bfbfbf" | |||
| input-align="center" | |||
| :rules="[{ required: true, message:'' }]" | |||
| /> | |||
| </div> | |||
| <div style="width: 462px; | |||
| height: 90px; | |||
| border-radius: 45px; | |||
| box-shadow: 2px 10px 10px 0px rgba(125,125,125,0.16);padding: 10px 30px; margin:40px 20px; "> | |||
| <van-field | |||
| v-model="formData.password" | |||
| type="password" | |||
| placeholder="请输入密码" | |||
| left-icon="lock" | |||
| color="#bfbfbf" | |||
| input-align="center" | |||
| :rules="[{ required: true, message:'' }]" | |||
| /> | |||
| </div> | |||
| <div style="width: 462px; | |||
| height: 90px; | |||
| border-radius: 45px; | |||
| box-shadow: 2px 10px 10px 0px rgba(125,125,125,0.16);padding: 10px 30px; margin:40px 20px; "> | |||
| <van-field | |||
| v-model="formData.code" | |||
| center | |||
| clearable | |||
| input-align="center" | |||
| placeholder="图形验证码" | |||
| > | |||
| <template #label> | |||
| <img style="width: 100px" :src="codeUrl" @click="getCode" /> | |||
| </template> | |||
| </van-field> | |||
| </div> | |||
| <div style="margin: 10px 5px 5px;padding:10px"> | |||
| <van-button block round size="large" :color="formData.username!=''&&formData.password!=''?'#7AC943':'#e2e2e2'" :disabled="formData.username==''||formData.password==''" native-type="submit" @click="handleLogin">登录</van-button> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| <van-popup v-model="showKeyboard" :style="{ height: '100%',width:'100%' }" > | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="showPopup" | |||
| /> | |||
| <div style="padding: 20px"> | |||
| <h1>输入短信验证码</h1> | |||
| <h3 style="color: #878787">验证码已发送至{{(formData.mobile+"").substr(0,3) + "****" + (formData.mobile+"").substr(7)}},请在下方输入框内输入4位数字验证码</h3> | |||
| </div> | |||
| <van-password-input | |||
| :value="smsCodeValue" | |||
| :length="4" | |||
| :focused="showKeyboard" | |||
| @focus="showKeyboard = true" | |||
| /> | |||
| <van-number-keyboard | |||
| v-model="smsCodeValue" | |||
| :show="showKeyboard" | |||
| theme="custom" | |||
| close-button-text="完成" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| </template> | |||
| <style scoped> | |||
| .app-container{ | |||
| background: #fff; | |||
| height: 100vh; | |||
| } | |||
| .title{ | |||
| padding-top: 20%; | |||
| width: 88%; | |||
| margin: 0 auto; | |||
| } | |||
| .van-tab--active{ | |||
| font-size: .6rem; | |||
| font-weight: bold; | |||
| } | |||
| .van-tabs__line{ | |||
| background:#1D6FE9; | |||
| width: 0.15rem; | |||
| height: 0.15rem; | |||
| border-radius: 0.07rem; | |||
| bottom: 0.3rem; | |||
| } | |||
| .van-tabs__nav{ | |||
| padding:0 | |||
| } | |||
| .van-tab{ | |||
| display: inline-block; | |||
| flex: inherit; | |||
| margin-left: 30px; | |||
| line-height: .8rem; | |||
| } | |||
| .van-tab__text--ellipsis { | |||
| overflow: auto; | |||
| } | |||
| .van-password-input{ | |||
| width: 50%; | |||
| margin: 0 auto; | |||
| } | |||
| [class*=van-hairline]::after{ | |||
| border:none; | |||
| } | |||
| .van-password-input__security li{ | |||
| margin: 0 10px; | |||
| border-bottom: 3px solid black; | |||
| } | |||
| .registerSmsBtn{ | |||
| color: rgb(29, 111, 233); | |||
| font-size: 0.34rem; | |||
| } | |||
| </style> | |||
| <script> | |||
| import { getCodeImg, getSmsCode ,getRegisterSmsCode,registerCheck,registerOn} from "../api/login"; | |||
| import Cookies from "js-cookie"; | |||
| import { encrypt, decrypt } from "../utils/jsencrypt"; | |||
| //引用wx sdk | |||
| import wx from "weixin-js-sdk"; | |||
| export default { | |||
| name: "homesteadLogin", | |||
| data() { | |||
| return { | |||
| showMessage:false, | |||
| smsCodeValue:"", | |||
| showKeyboard:false, | |||
| formData: { | |||
| username: "", //账号 | |||
| password: "", //密码 | |||
| code: null, //图片验证码 | |||
| uuid: null, //识别uuid | |||
| mobile: null, //手机号 | |||
| smsCode: null, //短信验证码 | |||
| memberName:null, //身份信息 | |||
| idcard:null, //身份号码 | |||
| rememberMe:false | |||
| }, | |||
| loading: false, | |||
| codeUrl: "", //验证码 | |||
| isSmsLogin: false, //是否手机验证码 | |||
| computeTime: 0, | |||
| active:1 | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getCode(); | |||
| this.getCookie(); | |||
| this.reset(); | |||
| }, | |||
| methods: { | |||
| reset(){ | |||
| }, | |||
| showPopup(){ | |||
| this.showKeyboard = !this.showKeyboard | |||
| }, | |||
| showMessagePop(){ | |||
| this.showMessage = !this.showMessage | |||
| }, | |||
| getCode() { | |||
| getCodeImg().then((res) => { | |||
| this.formData.uuid = res.uuid; | |||
| this.codeUrl = "data:image/gif;base64," + res.img; | |||
| }); | |||
| }, | |||
| getCookie() { | |||
| const username = Cookies.get("username"); | |||
| const password = Cookies.get("password"); | |||
| const rememberMe = Cookies.get("rememberMe"); | |||
| this.formData = { | |||
| username: username === undefined ? this.formData.username : username, | |||
| password: | |||
| password === undefined ? this.formData.password : decrypt(password), | |||
| rememberMe: rememberMe === undefined ? false : Boolean(rememberMe), | |||
| }; | |||
| }, | |||
| getSmsCode() { | |||
| if (this.formData.code == "") { | |||
| this.$dialog.alert({ | |||
| message: '图片验证码不能为空', | |||
| }); | |||
| return false; | |||
| } | |||
| if (!this.computeTime) { | |||
| let myreg = /^[1][3,4,5,7,8,9][0-9]{9}$/; | |||
| if (!myreg.test(this.formData.mobile)) { | |||
| this.$dialog.alert({ | |||
| message: '手机号格式不正确', | |||
| }); | |||
| return false; | |||
| } | |||
| /* getSmsCode(this.formData.mobile).then((res) => { | |||
| if (res.code === 200) { | |||
| this.$dialog.alert({ | |||
| message: '验证码已发送', | |||
| }); | |||
| this.showKeyboard = !this.showKeyboard; | |||
| this.loginForm.uuid = res.uuid; | |||
| this.computeTime = 60; | |||
| this.timer = setInterval(() => { | |||
| this.computeTime--; | |||
| if (this.computeTime <= 0) { | |||
| clearInterval(this.timer); | |||
| } | |||
| }, 1000); | |||
| } | |||
| });*/ | |||
| } | |||
| }, | |||
| handleLogin(values) { | |||
| //账号密码登录 | |||
| if (this.formData.username == "") { | |||
| this.$dialog.alert({ | |||
| message: '账号不能为空', | |||
| }); | |||
| return false; | |||
| } else if (this.formData.password == "") { | |||
| this.$dialog.alert({ | |||
| message: '密码不能为空', | |||
| }); | |||
| return false; | |||
| } | |||
| this.$store | |||
| .dispatch("Login", this.formData) | |||
| .then(() => { | |||
| this.$router.push({ path: "/homesteadSurvey/index" }).catch(() => {}); | |||
| }) | |||
| .catch((error) => { | |||
| this.loading = false; | |||
| this.getCode(); | |||
| }); | |||
| }, | |||
| getRegisterSmsCode(){ | |||
| if (!this.computeTime) { | |||
| let myreg = /^[1][3,4,5,7,8,9][0-9]{9}$/; | |||
| if (!myreg.test(this.formData.mobile)) { | |||
| this.$dialog.alert({ | |||
| message: '手机号格式不正确', | |||
| }); | |||
| return false; | |||
| }else if (this.formData.code == "") { | |||
| this.$dialog.alert({ | |||
| message: '图片验证码不能为空', | |||
| }); | |||
| return false; | |||
| } | |||
| if (this.active==2) { | |||
| let formObj = { | |||
| code :this.formData.code, | |||
| mobile:this.formData.mobile, | |||
| uuid:this.formData.uuid | |||
| } | |||
| getRegisterSmsCode(formObj).then((res) => { | |||
| console.log(res) | |||
| console.log(res.code == 200) | |||
| if(res.code == 200) { | |||
| this.$dialog.alert({ | |||
| message: '验证码已发送', | |||
| }); | |||
| this.formData.uuid = res.uuid; | |||
| this.computeTime = 60; | |||
| this.timer = setInterval(() => { | |||
| this.computeTime--; | |||
| if (this.computeTime <= 0) { | |||
| clearInterval(this.timer); | |||
| } | |||
| }, 1000); | |||
| } | |||
| }).catch((res)=>{ | |||
| if(res=='Error: 验证码已失效'){ | |||
| this.getCode() | |||
| } | |||
| }); | |||
| } | |||
| } | |||
| }, | |||
| registerSubmit(){ | |||
| //注册 | |||
| if (this.formData.memberName == "") { | |||
| this.$dialog.alert({ | |||
| message: '姓名不能为空', | |||
| }); | |||
| return false; | |||
| } else if (this.formData.idcard == "") { | |||
| this.$dialog.alert({ | |||
| message: '身份证号不能为空', | |||
| }); | |||
| return false; | |||
| } else if (this.formData.mobile == "") { | |||
| this.$dialog.alert({ | |||
| message: '手机号码不能为空', | |||
| }); | |||
| return false; | |||
| }else if (this.formData.smsCode == "") { | |||
| this.$dialog.alert({ | |||
| message: '短信验证码不能为空', | |||
| }); | |||
| return false; | |||
| } | |||
| //registerCheck,registerOn | |||
| console.log(this.formData) | |||
| registerCheck(this.formData).then((res)=>{ | |||
| if(res.code == 200){ | |||
| registerOn(this.formData).then((res)=>{ | |||
| if(res.code == 200){ | |||
| // | |||
| this.$dialog.alert({ | |||
| message: '您的初始密码:'+res.password, | |||
| }).then(() => { | |||
| this.$router.push({ path: "/homesteadSurvey/index" }).catch(() => {}); | |||
| }); | |||
| } | |||
| }) | |||
| } | |||
| }) | |||
| } | |||
| }, | |||
| }; | |||
| </script> | |||
| @@ -0,0 +1,446 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <div class="bannerBg"> | |||
| <van-nav-bar | |||
| style="background:transparent;border-bottom-width:0;height:150px" | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #left> | |||
| <van-icon name="arrow-left" size="18" color="#fff" /> | |||
| </template> | |||
| <template #right> | |||
| <van-icon name="map-marked" size="18" color="#fff" /> | |||
| </template> | |||
| <template #title> | |||
| <p style="color:#fff">刘茂强</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| </div> | |||
| <div style="background:#fff;border-radius:15px;box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16);padding: 20px; | |||
| margin: 20px;margin-top:-70px;"> | |||
| <van-row> | |||
| <van-col span="4" :offset="1" style="text-align:center;"> | |||
| <van-icon :name="require('../../assets/images/housesteadSurvey/nhxx'+(active==1?'A':'D')+'.png')" size="80px" style="margin-top:0px;"/> | |||
| <p style="color:#22b7f2;">农户信息</p> | |||
| </van-col> | |||
| <van-col span="2"> | |||
| <div style="height: 2px; border: 2px dashed #b5b4b4;margin-top: 40px;"></div> | |||
| </van-col> | |||
| <van-col span="4" style="text-align:center;"> | |||
| <van-icon :name="require('../../assets/images/housesteadSurvey/zjd'+(active==2?'A':'D')+'.png')" size="80px" style="margin-top:0px;"/> | |||
| <p>宅基地</p> | |||
| </van-col> | |||
| <van-col span="2"> | |||
| <div style=" height: 2px; border: 2px dashed #b5b4b4;margin-top: 40px;"></div> | |||
| </van-col> | |||
| <van-col span="4" style="text-align:center;"> | |||
| <van-icon :name="require('../../assets/images/housesteadSurvey/fwxx'+(active==3?'A':'D')+'.png')" size="80px" style="margin-top:0px;"/> | |||
| <p>房屋信息</p> | |||
| </van-col> | |||
| <van-col span="2"> | |||
| <div style=" height: 2px; border: 2px dashed #b5b4b4;margin-top: 40px;"></div> | |||
| </van-col> | |||
| <van-col span="4" style="text-align:center;"> | |||
| <van-icon :name="require('../../assets/images/housesteadSurvey/fsss'+(active==4?'A':'D')+'.png')" size="80px" style="margin-top:0px;"/> | |||
| <p>附属设施</p> | |||
| </van-col> | |||
| </van-row> | |||
| </div> | |||
| <div v-if="active==1"> | |||
| <div style="margin:20px;"> | |||
| <p class="title" style="position:relative;padding-left:20px;line-height:32px;">使用权人</p> | |||
| </div> | |||
| <van-swipe-cell style="border-radius: 16px;box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px auto;background:#fff;"> | |||
| <div style="padding:20px;"> | |||
| <p style="color:#22B7F2;font-size:20px;line-height:30px;"><van-icon name="manager" color="#22b7f2" size="20" style="margin-right:10px;"/>刘茂强</p> | |||
| <div style="display:flex;line-height:20px"> | |||
| <p style="flex:1;text-align:left;">证件号码</p> | |||
| <p style="flex:1;text-align:right;">4413215200216562255Z00026</p> | |||
| </div> | |||
| <div style="display:flex;line-height:20px"> | |||
| <p style="flex:1;text-align:left;">权利人类型</p> | |||
| <p style="flex:1;text-align:right;">个人</p> | |||
| </div> | |||
| <div style="text-align:center;overflow:auto;"> | |||
| <van-button plain round color="#7AC943" size="mini" style="margin:0 auto;">查看户主信息</van-button> | |||
| </div> | |||
| </div> | |||
| <template #right> | |||
| <van-button square text="删除" type="danger" class="delete-button" /> | |||
| </template> | |||
| </van-swipe-cell> | |||
| <van-swipe-cell style="border-radius: 16px;box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px auto;background:#fff;"> | |||
| <div style="padding:20px;"> | |||
| <p style="color:#22B7F2;font-size:20px;line-height:30px;"><van-icon name="manager" color="#22b7f2" size="20" style="margin-right:10px;"/>刘茂强</p> | |||
| <div style="display:flex;line-height:20px"> | |||
| <p style="flex:1;text-align:left;">证件号码</p> | |||
| <p style="flex:1;text-align:right;">4413215200216562255Z00026</p> | |||
| </div> | |||
| <div style="display:flex;line-height:20px"> | |||
| <p style="flex:1;text-align:left;">权利人类型</p> | |||
| <p style="flex:1;text-align:right;">个人</p> | |||
| </div> | |||
| <div style="text-align:center;overflow:auto;"> | |||
| <van-button plain round color="#7AC943" size="mini" style="margin:0 auto;" @click="showPopup1">查看户主信息</van-button> | |||
| </div> | |||
| </div> | |||
| <template #right> | |||
| <van-button square text="删除" type="danger" class="delete-button" /> | |||
| </template> | |||
| </van-swipe-cell> | |||
| <div style="border-radius: 16px;box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px;background:#fff;padding:20px;"> | |||
| <div style="text-align:center;" > | |||
| <p style="color:#22B7F2;font-size:20px;line-height:30px;" @click="showPopup"><van-icon name="plus" color="#22b7f2" size="20" style="margin-right:10px;"/>添加使用权人代表</p> | |||
| </div> | |||
| </div> | |||
| <div style="position:fixed;bottom:50px;left:25%;width:50%;"> | |||
| <van-button round block color="#7AC943" @click="changeActive">下一项</van-button> | |||
| </div> | |||
| </div> | |||
| <van-popup v-model="show" style="height:100%;width:100%;"> | |||
| <div class="bannerBg"> | |||
| <van-nav-bar | |||
| style="background:transparent;border-bottom-width:0;" | |||
| @click-left="show=!show" | |||
| > | |||
| <template #left> | |||
| <van-icon name="arrow-left" size="18" color="#fff" /> | |||
| </template> | |||
| <template #title> | |||
| <p style="color:#fff">新增使用权利人</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| </div> | |||
| <div style="margin:20px;"> | |||
| <van-form @submit="onSubmit"> | |||
| <p class="title" style="position:relative;padding-left:20px;line-height:32px;">使用权人</p> | |||
| <van-field | |||
| v-model="username" | |||
| name="权利人名称" | |||
| label="权利人名称" | |||
| placeholder="权利人名称" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="password" | |||
| type="password" | |||
| name="证件类型" | |||
| label="证件类型" | |||
| placeholder="证件类型" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="password" | |||
| type="password" | |||
| name="证件号" | |||
| label="证件号" | |||
| placeholder="证件号" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field name="radio" label="性别"> | |||
| <template #input> | |||
| <van-radio-group v-model="password" direction="horizontal"> | |||
| <van-radio name="1">男</van-radio> | |||
| <van-radio name="2">女</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| <van-field | |||
| v-model="password" | |||
| type="password" | |||
| name="电话" | |||
| label="电话" | |||
| placeholder="电话" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="password" | |||
| type="password" | |||
| name="户口类型" | |||
| label="户口类型" | |||
| placeholder="户口类型" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="password" | |||
| type="password" | |||
| name="权利人类型" | |||
| label="权利人类型" | |||
| placeholder="权利人类型" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="password" | |||
| type="password" | |||
| name="共有方式" | |||
| label="共有方式" | |||
| placeholder="共有方式" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="password" | |||
| type="password" | |||
| name="户主分摊宗地面积(㎡)" | |||
| label="户主分摊宗地面积" | |||
| placeholder="户主分摊宗地面积" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <div style="margin: 16px;"> | |||
| <van-button round block color="#7AC943" native-type="submit">保存</van-button> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </van-popup> | |||
| <van-popup v-model="show1" style="height:100%;width:100%;"> | |||
| <div class="bannerBg"> | |||
| <van-nav-bar | |||
| style="background:transparent;border-bottom-width:0;" | |||
| @click-left="show1=!show1" | |||
| > | |||
| <template #left> | |||
| <van-icon name="arrow-left" size="18" color="#fff" /> | |||
| </template> | |||
| <template #title> | |||
| <p style="color:#fff">农户信息</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| </div> | |||
| <div style="margin:20px;"> | |||
| <van-form @submit="onSubmit"> | |||
| <p class="title" style="position:relative;padding-left:20px;line-height:32px;">户主信息</p> | |||
| <van-field | |||
| v-model="username" | |||
| name="户主名称" | |||
| label="户主名称" | |||
| placeholder="户主名称" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="password" | |||
| type="password" | |||
| name="证件类型" | |||
| label="证件类型" | |||
| placeholder="证件类型" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="password" | |||
| type="password" | |||
| name="证件号" | |||
| label="证件号" | |||
| placeholder="证件号" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field name="radio" label="性别"> | |||
| <template #input> | |||
| <van-radio-group v-model="password" direction="horizontal"> | |||
| <van-radio name="1">男</van-radio> | |||
| <van-radio name="2">女</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| <van-field | |||
| v-model="password" | |||
| type="password" | |||
| name="电话" | |||
| label="电话" | |||
| placeholder="电话" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="password" | |||
| type="password" | |||
| name="户口类型" | |||
| label="户口类型" | |||
| placeholder="户口类型" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="password" | |||
| type="password" | |||
| name="权利人类型" | |||
| label="权利人类型" | |||
| placeholder="权利人类型" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="password" | |||
| type="password" | |||
| name="共有方式" | |||
| label="共有方式" | |||
| placeholder="共有方式" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="password" | |||
| type="password" | |||
| name="户主分摊宗地面积(㎡)" | |||
| label="户主分摊宗地面积" | |||
| placeholder="户主分摊宗地面积" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <div style="text-align:center;overflow:auto;"> | |||
| <van-button plain round color="#7AC943" size="mini" style="margin:0 auto;">查看户主信息</van-button> | |||
| </div> | |||
| <div style="margin: 16px;"> | |||
| <van-button round block color="#7AC943" native-type="submit">保存</van-button> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </van-popup> | |||
| <div v-if="active==2"> | |||
| <div style="margin:20px;"> | |||
| <van-form @submit="onSubmit"> | |||
| <p class="title" style="position:relative;padding-left:20px;line-height:32px;">户主信息</p> | |||
| <van-field | |||
| v-model="username" | |||
| name="户主名称" | |||
| label="户主名称" | |||
| placeholder="户主名称" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="password" | |||
| type="password" | |||
| name="证件类型" | |||
| label="证件类型" | |||
| placeholder="证件类型" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="password" | |||
| type="password" | |||
| name="证件号" | |||
| label="证件号" | |||
| placeholder="证件号" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field name="radio" label="性别"> | |||
| <template #input> | |||
| <van-radio-group v-model="password" direction="horizontal"> | |||
| <van-radio name="1">男</van-radio> | |||
| <van-radio name="2">女</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| <van-field | |||
| v-model="password" | |||
| type="password" | |||
| name="电话" | |||
| label="电话" | |||
| placeholder="电话" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="password" | |||
| type="password" | |||
| name="户口类型" | |||
| label="户口类型" | |||
| placeholder="户口类型" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="password" | |||
| type="password" | |||
| name="权利人类型" | |||
| label="权利人类型" | |||
| placeholder="权利人类型" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="password" | |||
| type="password" | |||
| name="共有方式" | |||
| label="共有方式" | |||
| placeholder="共有方式" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="password" | |||
| type="password" | |||
| name="户主分摊宗地面积(㎡)" | |||
| label="户主分摊宗地面积" | |||
| placeholder="户主分摊宗地面积" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <div style="margin: 16px;"> | |||
| <van-button round block color="#7AC943" native-type="submit">保存</van-button> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </div> | |||
| <div v-if="active==3"> | |||
| <div style="position:fixed;bottom:50px;left:25%;width:50%;"> | |||
| <van-button round block color="#7AC943" @click="changeActive">下一项</van-button> | |||
| </div> | |||
| </div> | |||
| <div v-if="active==4"> | |||
| <div style="position:fixed;bottom:50px;left:25%;width:50%;"> | |||
| <van-button round block color="#7AC943" @click="changeActive">完成</van-button> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| export default { | |||
| name: "homesteadAdd", | |||
| data() { | |||
| return { | |||
| active:1, | |||
| list:[1,1], | |||
| show: false, | |||
| show1: false, | |||
| username: '', | |||
| password: '', | |||
| }; | |||
| }, | |||
| mounted(){ | |||
| }, | |||
| methods: { | |||
| showPopup() { | |||
| this.show = true; | |||
| }, | |||
| showPopup1() { | |||
| this.show1 = true; | |||
| }, | |||
| onSubmit(values) { | |||
| console.log('submit', values); | |||
| }, | |||
| changeActive(){ | |||
| if(this.active<4){ | |||
| this.active+=1 | |||
| }else{ | |||
| this.active=1 | |||
| } | |||
| } | |||
| } | |||
| } | |||
| </script> | |||
| <style scoped> | |||
| >>> .bannerBg{ | |||
| width: 100%; | |||
| color:#fff; | |||
| padding:10px; | |||
| background: linear-gradient(134deg,#7ac943 1%, #22b7f2); | |||
| } | |||
| >>> .van-hairline--bottom::after { | |||
| border-bottom-width: 0; | |||
| } | |||
| >>> .title:before | |||
| { | |||
| content:""; | |||
| width: 6px; | |||
| height: 32px; | |||
| background: #7ac943; | |||
| border-radius: 3px; | |||
| position:absolute; | |||
| left:0; | |||
| bottom:0; | |||
| } | |||
| >>> .delete-button { | |||
| height: 100%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,267 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <div style="width: 100%; | |||
| color:#fff; | |||
| padding:20px; | |||
| background: linear-gradient(134deg,#7ac943 1%, #22b7f2);"> | |||
| <van-row> | |||
| <van-col span="6"> | |||
| <van-image | |||
| width="60" | |||
| height="60" | |||
| round | |||
| src="https://img01.yzcdn.cn/vant/cat.jpeg" | |||
| /> | |||
| </van-col> | |||
| <van-col span="14"> | |||
| <p style="margin-top: 10px;">调查员.采集员</p> | |||
| <p>{{nickName}}</p> | |||
| </van-col> | |||
| <van-col span="2" style="text-align:center;"> | |||
| <van-icon name="setting-o" style="margin-top:10px" @click="gotoLink" size="30"/> | |||
| </van-col> | |||
| </van-row> | |||
| </div> | |||
| <div style="background:#F5F5F5; padding-top:10px;"> | |||
| <van-row style="text-align:center;margin:20px;background:#fff;padding:15px;border-radius:15px;"> | |||
| <van-col span="8"> | |||
| <van-badge :content="total"> | |||
| <img | |||
| width="50" | |||
| height="50" | |||
| :src="require('../../assets/images/housesteadSurvey/task1.png')" | |||
| @click="active=1" | |||
| /> | |||
| </van-badge> | |||
| <p>全部任务</p> | |||
| </van-col> | |||
| <van-col span="8"> | |||
| <van-badge :content="done"> | |||
| <img | |||
| width="50" | |||
| height="50" | |||
| :src="require('../../assets/images/housesteadSurvey/task2.png')" | |||
| @click="active=2" | |||
| /> | |||
| </van-badge> | |||
| <p>已完成</p> | |||
| </van-col> | |||
| <van-col span="8" > | |||
| <van-badge :content="todo"> | |||
| <img | |||
| width="50" | |||
| height="50" | |||
| :src="require('../../assets/images/housesteadSurvey/task3.png')" | |||
| @click="active=3" | |||
| /> | |||
| </van-badge> | |||
| <p>待调查</p> | |||
| </van-col> | |||
| </van-row> | |||
| <div style="margin:20px;"> | |||
| <p class="title" style="position:relative;padding-left:20px;line-height:32px;">任务列表</p> | |||
| </div> | |||
| </div> | |||
| <div v-if="active==1" style="height:calc( 100vh - 350px);overflow-y:auto;"> | |||
| <van-cell v-for="(item,index) in totalList" :key="index" :title="item.title" size="small" :to="{name:'homesteadList',params:{id:item.id}}"style="border-radius: 16px; | |||
| box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px"> | |||
| <!--<template #default> | |||
| <van-circle | |||
| v-model="currentRate" | |||
| :rate="30" | |||
| :color="100" | |||
| size="60" | |||
| :text="currentRate.toFixed(0) + '%'" | |||
| /> | |||
| </template>--> | |||
| <!--<template #label> | |||
| 开始时间:{{item.planBeginTime}} 结束时间:{{item.planEndTime}} | |||
| </template>--> | |||
| <template #icon> | |||
| <van-icon name="clock" color="#22b7f2" style="margin-top:10px;margin-right:10px;"/> | |||
| </template> | |||
| </van-cell> | |||
| </div> | |||
| <div v-if="active==2" style="height:calc( 100vh - 350px);overflow-y:auto;"> | |||
| <van-cell v-for=" (item,index) in doneList" :key="index" :title="item.deptName" size="small" :to="{name:'homesteadList'}"style="border-radius: 16px; | |||
| box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px"> | |||
| <template #default> | |||
| <van-circle | |||
| v-model="currentRate" | |||
| :rate="30" | |||
| :color="100" | |||
| size="60" | |||
| :text="currentRate.toFixed(0) + '%'" | |||
| /> | |||
| </template> | |||
| <template #label> | |||
| 开始时间:{{item.planBeginTime}} | |||
| </template> | |||
| <template #icon> | |||
| <van-icon name="clock" color="#22b7f2" style="margin-top:10px;margin-right:10px;"/> | |||
| </template> | |||
| </van-cell> | |||
| </div> | |||
| <div v-if="active==3" style="height:calc( 100vh - 350px);overflow-y:auto;"> | |||
| <van-cell v-for=" (item,index) in todoList" :key="index" :title="item.deptName" size="small" :to="{name:'homesteadList'}"style="border-radius: 16px; | |||
| box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px"> | |||
| <template #default> | |||
| <van-circle | |||
| v-model="currentRate" | |||
| :rate="30" | |||
| :color="100" | |||
| size="60" | |||
| :text="currentRate.toFixed(0) + '%'" | |||
| /> | |||
| </template> | |||
| <template #label> | |||
| 开始时间:{{item.planBeginTime}} | |||
| </template> | |||
| <template #icon> | |||
| <van-icon name="clock" color="#22b7f2" style="margin-top:10px;margin-right:10px;"/> | |||
| </template> | |||
| </van-cell> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import {addTask, complete, delTask, exportTask, getTask, listTask, publish, updateTask} from "@/api/homesteadSurvey/index"; | |||
| import {getInfo} from "../../api/login"; | |||
| export default { | |||
| name: "homesteadIndex", | |||
| data() { | |||
| return { | |||
| active: 1, | |||
| show: false, | |||
| loading: false, | |||
| finished: false, | |||
| height:200, | |||
| phone:null, | |||
| activeKey:0, | |||
| currentRate: 0, | |||
| total:0, | |||
| totalList:[], | |||
| done:0, | |||
| doneList:[], | |||
| todo:0, | |||
| todoList:[], | |||
| // 查询参数 | |||
| queryParams: { | |||
| // 分页 | |||
| pageNum: 1, | |||
| pageSize: 10, | |||
| // 查询排序 | |||
| orderByColumn: "id", | |||
| isAsc: "desc", | |||
| deptId: null, | |||
| deptName: null, | |||
| title: null, | |||
| createUserId: null, | |||
| updateUserId: null, | |||
| taskStatus: null, | |||
| taskPublishStatus:"PUBLISHED", | |||
| }, | |||
| nickName:"", | |||
| text:0, | |||
| }; | |||
| }, | |||
| mounted(){ | |||
| // 监听屏幕方向 | |||
| let self = this; | |||
| window.addEventListener( | |||
| "onorientationchange" in window ? "orientationchange" : "resize", | |||
| function() { | |||
| if (window.orientation === 90 || window.orientation === -90) { | |||
| // 横屏 | |||
| } | |||
| }, | |||
| false | |||
| ); | |||
| getInfo().then(response => { | |||
| console.log(response) | |||
| this.nickName = response.user.nickName | |||
| }); | |||
| this.onLoad(); | |||
| this.getList(); | |||
| }, | |||
| methods: { | |||
| getList() { | |||
| listTask(this.queryParams).then(response => { | |||
| this.total = response.total | |||
| this.totalList = response.rows | |||
| console.log(this.totalList) | |||
| this.done = 0; | |||
| this.doneList = []; | |||
| this.todo = 0; | |||
| this.todoList = []; | |||
| response.rows.map(res => { | |||
| if(res.taskStatus == "FINISHED"){ | |||
| this.done+=1 | |||
| this.doneList.push(res); | |||
| }else{ | |||
| this.todo+=1 | |||
| this.todoList.push(res); | |||
| } | |||
| }) | |||
| }); | |||
| }, | |||
| gotoLink(){ | |||
| this.$router.push('/homesteadSurvey/settle') | |||
| }, | |||
| _isMobile() { | |||
| this.phone = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i) | |||
| }, | |||
| onChange({ value }) { | |||
| if (value === this.options[0].value) { | |||
| setTimeout(() => { | |||
| this.options[0].children = [ | |||
| { text: '杭州市', value: '330100' }, | |||
| { text: '宁波市', value: '330200' }, | |||
| ]; | |||
| }, 500); | |||
| } | |||
| }, | |||
| onFinish({ selectedOptions }) { | |||
| this.show = false; | |||
| this.fieldValue = selectedOptions.map((option) => option.text).join('/'); | |||
| }, | |||
| onLoad() { | |||
| // 异步更新数据 | |||
| // setTimeout 仅做示例,真实场景中一般为 ajax 请求 | |||
| setTimeout(() => { | |||
| for (let i = 0; i < 10; i++) { | |||
| this.list.push(this.list.length + 1); | |||
| } | |||
| // 加载状态结束 | |||
| this.loading = false; | |||
| // 数据全部加载完成 | |||
| if (this.list.length >= 40) { | |||
| this.finished = true; | |||
| } | |||
| }, 100); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped> | |||
| >>> .sss { | |||
| display: flex; | |||
| } | |||
| >>> .title:before | |||
| { | |||
| content:""; | |||
| width: 6px; | |||
| height: 32px; | |||
| background: #7ac943; | |||
| border-radius: 3px; | |||
| position:absolute; | |||
| left:0; | |||
| bottom:0; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,483 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <div class="bannerBg" style=""> | |||
| <van-nav-bar | |||
| style="background:transparent;border-bottom-width:0;" | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #left> | |||
| <van-icon name="arrow-left" size="18" color="#fff" /> | |||
| </template> | |||
| <template #title> | |||
| <p style="color:#fff">**村</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div style="display:flex;width:90%;margin:0 auto;"> | |||
| <div :class="{activeBtn : activeBtn==1,disactiveBtn :activeBtn!=1 }" @click="activeBtn=1"><van-icon size="20" style="vertical-align:middle;" :name="require('../../assets/images/housesteadSurvey/btn1'+(activeBtn!=1?'1':'')+'.png')" /> | |||
| 入户核查 | |||
| </div> | |||
| <div :class="{activeBtn : activeBtn==2,disactiveBtn :activeBtn!=2 }" @click="activeBtn=2"><van-icon size="20" style="vertical-align:middle;" :name="require('../../assets/images/housesteadSurvey/btn2'+(activeBtn!=2?'2':'')+'.png')" /> | |||
| 农户信息 | |||
| </div> | |||
| <div :class="{activeBtn : activeBtn==3,disactiveBtn :activeBtn!=3 }" @click="activeBtn=3"> <van-icon size="20" style="vertical-align:middle;" :name="require('../../assets/images/housesteadSurvey/btn3'+(activeBtn!=3?'3':'')+'.png')" /> | |||
| 所有权人 | |||
| </div> | |||
| <div :class="{activeBtn : activeBtn==4,disactiveBtn :activeBtn!=4 }" @click="activeBtn=4"> | |||
| <van-icon size="20" style="vertical-align:middle;" :name="require('../../assets/images/housesteadSurvey/btn4'+(activeBtn!=4?'4':'')+'.png')" /> | |||
| 切换地图 | |||
| </div> | |||
| </div> | |||
| </div> | |||
| <div v-if="activeBtn==1"> | |||
| <van-search v-model="value" placeholder="请输入搜索关键词" show-action> | |||
| <template #action> | |||
| <van-icon name="add" color="rgba(122,201,67,1)" size="55" style="vertical-align:middle;"/> | |||
| </template> | |||
| </van-search> | |||
| <van-tabs v-model="active" sticky title-active-color="#7AC943" color="#7AC943" swipeable> | |||
| <van-tab title="全部" > | |||
| <van-cell v-for="(item,index) in list" :key="index" size="small":to="{name:'homesteadAdd'}" style="border-radius: 16px; | |||
| box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px"> | |||
| <template #title> | |||
| <p style="color:#22B7F2">刘茂强</p> | |||
| </template> | |||
| <template #default> | |||
| <van-button plain round color="#7AC943" size="mini" style="vertical-align:middle;margin-top:15px;">查看详情</van-button> | |||
| </template> | |||
| <template #label> | |||
| <p>宅基地代码 4413215200216562255Z00026 </p> | |||
| <p>宗地面积 119.87㎡ </p> | |||
| </template> | |||
| <template #icon> | |||
| <van-icon name="clock" color="#22b7f2" style="margin-top:10px;margin-right:10px;"/> | |||
| </template> | |||
| </van-cell> | |||
| </van-tab> | |||
| <van-tab title="已核查"> | |||
| </van-tab> | |||
| <van-tab title="未核查"> | |||
| </van-tab> | |||
| </van-tabs> | |||
| </div> | |||
| <div v-if="activeBtn==2"> | |||
| <van-search v-model="value" placeholder="请输入农户姓名或证件号" show-action> | |||
| <template #action> | |||
| <van-icon name="add" color="rgba(122,201,67,1)" size="55" style="vertical-align:middle;" @click="show1=true"/> | |||
| </template> | |||
| </van-search> | |||
| <van-cell v-for="(item,index) in list" :key="index" size="small" :to="{name:'homesteadAdd'}" style="border-radius: 16px;box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px"> | |||
| <template #title> | |||
| <p style="color:#22B7F2">刘茂强</p> | |||
| </template> | |||
| <template #default> | |||
| <van-button plain round color="#7AC943" size="mini" style="vertical-align:middle;margin-top:15px;">查看详情</van-button> | |||
| </template> | |||
| <template #label> | |||
| <p>宅基地代码 4413215200216562255Z00026 </p> | |||
| <p>宗地面积 119.87㎡ </p> | |||
| </template> | |||
| <template #icon> | |||
| <van-icon name="clock" color="#22b7f2" style="margin-top:10px;margin-right:10px;"/> | |||
| </template> | |||
| </van-cell> | |||
| </div> | |||
| <div v-if="activeBtn==3"> | |||
| <van-form > | |||
| <div style="border-radius: 16px; | |||
| box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px;padding:5px;background:#fff;"> | |||
| <van-field | |||
| v-model="qlrform.qydm" | |||
| name="区域代码" | |||
| label="区域代码" | |||
| required | |||
| placeholder="区域代码" | |||
| input-align="right" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="qlrform.suyqrdm" | |||
| name="所有权人代码" | |||
| label="所有权人代码" | |||
| required | |||
| placeholder="所有权人代码" | |||
| input-align="right" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="qlrform.suyqrmc" | |||
| name="所有权人名称" | |||
| label="所有权人名称" | |||
| required | |||
| placeholder="所有权人名称" | |||
| input-align="right" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="qlrform.suyqxz" | |||
| name="所有权性质" | |||
| label="所有权性质" | |||
| required | |||
| placeholder="所有权性质" | |||
| input-align="right" | |||
| :rules="[{ required: true, message: '' }]" | |||
| @click="showsuyqxz = true" | |||
| /> | |||
| <van-popup v-model="showsuyqxz" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="columns" | |||
| @confirm="onConfirm" | |||
| @cancel="showsuyqxz = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| v-model="qlrform.dbrxm" | |||
| name="代表人姓名" | |||
| label="代表人姓名" | |||
| required | |||
| placeholder="代表人姓名" | |||
| input-align="right" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="qlrform.dbrzjlx" | |||
| name="代表人证件类型" | |||
| label="代表人证件类型" | |||
| required | |||
| placeholder="代表人证件类型" | |||
| input-align="right" | |||
| :rules="[{ required: true, message: '' }]" | |||
| @click="showdbrzjlx = true" | |||
| /> | |||
| <van-popup v-model="showdbrzjlx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="columns" | |||
| @confirm="onConfirm" | |||
| @cancel="showdbrzjlx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| v-model="qlrform.dbrzjhm" | |||
| name="代表人证件号码" | |||
| label="代表人证件号码" | |||
| required | |||
| placeholder="代表人证件号码" | |||
| input-align="right" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="qlrform.dbrlxdh" | |||
| name="代表人联系电话" | |||
| label="代表人联系电话" | |||
| placeholder="代表人联系电话" | |||
| input-align="right" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="qlrform.dbrtxdz" | |||
| name="代表人通讯地址" | |||
| label="代表人通讯地址" | |||
| required | |||
| placeholder="代表人通讯地址" | |||
| input-align="right" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="qlrform.dbryzbm" | |||
| name="代表人邮政编码" | |||
| label="代表人邮政编码" | |||
| required | |||
| placeholder="代表人邮政编码" | |||
| input-align="right" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field name="radio" label="是否成立农村集体经济组织" required input-align="right"> | |||
| <template #input> | |||
| <van-radio-group v-model="qlrform.sfclncjtjjzz" direction="horizontal"> | |||
| <van-radio name="1">是</van-radio> | |||
| <van-radio name="2">否 </van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| <van-field | |||
| v-model="qlrform.dlrxm" | |||
| name="代理人姓名" | |||
| label="代理人姓名" | |||
| placeholder="代理人姓名" | |||
| input-align="right" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="qlrform.dlrzjlx" | |||
| name="代理人证件类型" | |||
| label="代理人证件类型" | |||
| placeholder="代理人证件类型" | |||
| input-align="right" | |||
| :rules="[{ required: true, message: '' }]" | |||
| @click="showdlrzjlx = true" | |||
| /> | |||
| <van-popup v-model="showdlrzjlx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="columns" | |||
| @confirm="onConfirm" | |||
| @cancel="showdlrzjlx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| v-model="qlrform.dlrzjhm" | |||
| name="代理人证件号码" | |||
| label="代理人证件号码" | |||
| placeholder="代理人证件号码" | |||
| input-align="right" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="qlrform.dlrlxdh" | |||
| name="代理人联系电话" | |||
| label="代理人联系电话" | |||
| placeholder="代理人联系电话" | |||
| input-align="right" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="qlrform.dlrtxdz" | |||
| name="代理人通讯地址" | |||
| label="代理人通讯地址" | |||
| placeholder="代理人通讯地址" | |||
| input-align="right" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="qlrform.dlryzbm" | |||
| name="代理人邮政编码" | |||
| label="代理人邮政编码" | |||
| placeholder="代理人邮政编码" | |||
| input-align="right" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| </div> | |||
| <div style="border-radius: 16px; | |||
| box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px;padding:5px;background:#fff;"> | |||
| <van-field | |||
| v-model="qlrform.ncjtjjzzdm" | |||
| name="农村集体经济组织代码" | |||
| label="农村集体经济组织代码" | |||
| placeholder="农村集体经济组织代码" | |||
| input-align="right" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="qlrform.ncjtjjzzmc" | |||
| name="农村集体经济组织名称" | |||
| label="农村集体经济组织名称" | |||
| placeholder="农村集体经济组织名称" | |||
| input-align="right" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="qlrform.fbfdm" | |||
| name="发包方代码" | |||
| label="发包方代码" | |||
| placeholder="发包方代码" | |||
| input-align="right" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="qlrform.fbfmc" | |||
| name="发包方名称" | |||
| label="发包方名称" | |||
| placeholder="发包方名称" | |||
| input-align="right" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="qlrform.sjly" | |||
| name="数据来源" | |||
| label="数据来源" | |||
| placeholder="数据来源" | |||
| input-align="right" | |||
| :rules="[{ required: true, message: '' }]" | |||
| @click="showsjly = true" | |||
| /> | |||
| <van-popup v-model="showsjly" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="columns" | |||
| @confirm="onConfirm" | |||
| @cancel="showsjly = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| v-model="qlrform.bz" | |||
| name="备注" | |||
| label="备注" | |||
| placeholder="备注" | |||
| input-align="right" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| </div> | |||
| <div style="margin: 16px;"> | |||
| <van-button round block color="#7AC943" native-type="submit">保存</van-button> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| <div v-if="activeBtn==4"> | |||
| <div class="map_area" id="mapWrap"></div> | |||
| </div> | |||
| <van-popup v-model="show1" style="height:100%;width:100%;"> | |||
| <div class="bannerBg"> | |||
| <van-nav-bar | |||
| style="background:transparent;border-bottom-width:0;" | |||
| @click-left="show1=!show1" | |||
| > | |||
| <template #left> | |||
| <van-icon name="arrow-left" size="18" color="#fff" /> | |||
| </template> | |||
| <template #title> | |||
| <p style="color:#fff">户主信息</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| </div> | |||
| <div style="margin:20px;"> | |||
| <van-form @submit="onSubmit"> | |||
| <p class="title" style="position:relative;padding-left:20px;line-height:32px;">户主信息</p> | |||
| <van-field | |||
| v-model="hzform.hzxm" | |||
| name="户主名称" | |||
| label="户主名称" | |||
| placeholder="户主名称" | |||
| required | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="hzform.hzzjlx" | |||
| name="户主证件类型" | |||
| label="户主证件类型" | |||
| placeholder="户主证件类型" | |||
| input-align="right" | |||
| required | |||
| :rules="[{ required: true, message: '' }]" | |||
| @click="showhzzjlx = true" | |||
| /> | |||
| <van-popup v-model="showhzzjlx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="columns" | |||
| @confirm="onConfirm" | |||
| @cancel="showhzzjlx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| v-model="hzform.hzzjhm" | |||
| name="户主证件号码" | |||
| label="户主证件号码" | |||
| placeholder="户主证件号码" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="hzform.txdz" | |||
| name="通讯地址" | |||
| label="通讯地址" | |||
| placeholder="通讯地址" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <van-field | |||
| v-model="hzform.hncysl" | |||
| name="户内成员数量" | |||
| label="户内成员数量" | |||
| placeholder="户内成员数量" | |||
| :rules="[{ required: true, message: '' }]" | |||
| /> | |||
| <div style="text-align:center;overflow:auto;"> | |||
| <van-button plain round color="#7AC943" size="mini" style="margin:0 auto;">查看户内成员信息</van-button> | |||
| </div> | |||
| <div style="margin: 16px;"> | |||
| <van-button round block color="#7AC943" native-type="submit">保存</van-button> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </van-popup> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { currentLocation,} from "@/api/homestead/index"; | |||
| import $ from "jquery"; | |||
| export default { | |||
| name: "homesteadList", | |||
| data() { | |||
| return { | |||
| activeBtn:1, | |||
| value:'', | |||
| active:null, | |||
| list:[1,1,1,1,1,1,1,1,1,1,1,1,1], | |||
| currentRate:20, | |||
| geoJson:null, | |||
| // 户主列表 | |||
| hzform:{}, | |||
| // 权利人列表 | |||
| qlrform:[], | |||
| // 权利人性质弹出框 | |||
| showsuyqxz:false, | |||
| // 代理人证件类型弹出框 | |||
| showdlrzjlx:false, | |||
| // 代表人证件类型弹出框 | |||
| showdbrzjlx:false, | |||
| // 数据来源弹出框 | |||
| showsjly:false, | |||
| columns:[], | |||
| show1:false, | |||
| }; | |||
| }, | |||
| mounted(){ | |||
| currentLocation().then((res) => { | |||
| if (res.code == 200) { | |||
| let content = res.data; | |||
| this.geoJson = content.geoJson; | |||
| } | |||
| }); | |||
| }, | |||
| methods: { | |||
| onConfirm(){}, | |||
| } | |||
| } | |||
| </script> | |||
| <style scoped> | |||
| >>> .bannerBg{ | |||
| width: 100%; | |||
| color:#fff; | |||
| padding:10px; | |||
| background: linear-gradient(134deg,#7ac943 1%, #22b7f2); | |||
| } | |||
| >>> .van-hairline--bottom::after { | |||
| border-bottom-width: 0; | |||
| } | |||
| >>> .activeBtn{ | |||
| flex:1;background:#fff;height:50px;border-radius:25px;margin:10px;color:#7AC943;line-height:50px;text-align:center;font-size:20px;box-shadow: 0px 5px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| >>> .disactiveBtn{ | |||
| flex:1;background:rgba(255,255,255,.4);height:50px;border-radius:25px;margin:10px;color:#fff;line-height:50px;text-align:center;font-size:20px;box-shadow: 0px 5px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| >>> .van-cell__label{ | |||
| color: #969799; | |||
| font-size: 12px; | |||
| line-height: 20px; | |||
| margin:0 | |||
| } | |||
| >>>.map_area { | |||
| width: 50vw; | |||
| height: 50vh; | |||
| z-index:1; | |||
| background:#000; | |||
| position: fixed; | |||
| left: 0; | |||
| top: 0; | |||
| } | |||
| >>> .van-field__label{ | |||
| width:50%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,46 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <div class="bannerBg" style=""> | |||
| <van-nav-bar | |||
| style="background:transparent;border-bottom-width:0;" | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #left> | |||
| <van-icon name="arrow-left" size="18" color="#fff" /> | |||
| </template> | |||
| <template #title> | |||
| <p style="color:#fff">设置</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| </div> | |||
| <van-cell title="个人信息" is-link style="border-radius: 16px;box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px;background:#fff;padding:20px;"> | |||
| <template #icon> | |||
| <van-icon :name="require('../../assets/images/housesteadSurvey/little1.png')" size="18" color="#fff" style="margin:10px;"/> | |||
| </template> | |||
| </van-cell> | |||
| <van-cell title="修改密码" is-link style="border-radius: 16px;box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px;background:#fff;padding:20px;"> | |||
| <template #icon> | |||
| <van-icon :name="require('../../assets/images/housesteadSurvey/little2.png')" size="18" color="#fff" style="margin:10px;"/> | |||
| </template> | |||
| </van-cell> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| export default { | |||
| name: "homesteadSettle" | |||
| } | |||
| </script> | |||
| <style scoped> | |||
| >>> .bannerBg{ | |||
| width: 100%; | |||
| color:#fff; | |||
| padding:10px; | |||
| background: linear-gradient(134deg,#7ac943 1%, #22b7f2); | |||
| } | |||
| >>> .van-hairline--bottom::after { | |||
| border-bottom-width: 0; | |||
| } | |||
| </style> | |||