移动端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 

254 行
10 KiB

  1. <template>
  2. <div class="app-container">
  3. <van-sticky style="position:relative;">
  4. <div class="bannerBg">
  5. <van-nav-bar
  6. style="background:transparent;border-bottom-width:0;height:2rem;margin-bottom:.5rem;"
  7. @click-left="goBack()"
  8. right-text ="首页"
  9. @click-right="goRightBack()"
  10. >
  11. <template #left>
  12. <van-icon name="arrow-left" size="18" color="#fff" />
  13. </template>
  14. <!-- <template #right>
  15. <van-icon name="map-marked" size="18" color="#fff" />
  16. </template>-->
  17. <template #title>
  18. <p style="color:#fff">入户调查</p>
  19. </template>
  20. </van-nav-bar>
  21. </div>
  22. <div style="width:95%;left:2.5%;position:absolute;background:#fff;border-radius:15px;box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16);padding: .3rem;top:1.2rem">
  23. <van-row>
  24. <van-col span="4" :offset="1" style="text-align:center;" @click="$router.push({path:'/homesteadSurvey/add'})">
  25. <van-icon :name="require('../../assets/images/housesteadSurvey/zjd'+(active==1?'A':'D')+'.png')" size="1rem" style="margin-top:0px;"/>
  26. <p :style="{color:(active==1?'rgb(34, 183, 242)':'#000')}">宅基地</p>
  27. </van-col>
  28. <van-col span="2">
  29. <div style="border-top: 2px dashed #b5b4b4;margin-top: 20px;"></div>
  30. </van-col>
  31. <van-col span="4" style="text-align:center;" @click="$router.push({path:'/homesteadSurvey/add2'})" >
  32. <van-icon :name="require('../../assets/images/housesteadSurvey/nhxx'+(active==2?'A':'D')+'.png')" size="1rem" style="margin-top:0px;"/>
  33. <p :style="{color:(active==2?'rgb(34, 183, 242)':'#000')}">农户</p>
  34. </van-col>
  35. <van-col span="2">
  36. <div style="border-top: 2px dashed #b5b4b4;margin-top: 20px;"></div>
  37. </van-col>
  38. <van-col span="4" style="text-align:center;" @click="$router.push({path:'/homesteadSurvey/add3'})" >
  39. <van-icon :name="require('../../assets/images/housesteadSurvey/fwxx'+(active==3?'A':'D')+'.png')" size="1rem" style="margin-top:0px;"/>
  40. <p :style="{color:(active==3?'rgb(34, 183, 242)':'#000')}">房屋</p>
  41. </van-col>
  42. <van-col span="2">
  43. <div style="border-top: 2px dashed #b5b4b4;margin-top: 20px;"></div>
  44. </van-col>
  45. <van-col span="4" style="text-align:center;" @click="$router.push({path:'/homesteadSurvey/add4'})">
  46. <van-icon :name="require('../../assets/images/housesteadSurvey/fsss'+(active==4?'A':'D')+'.png')" size="1rem" style="margin-top:0px;"/>
  47. <p :style="{color:(active==4?'rgb(34, 183, 242)':'#000')}">附属物</p>
  48. </van-col>
  49. </van-row>
  50. </div>
  51. </van-sticky>
  52. <div style="margin:30px auto 0;width: 95%;">
  53. <p class="title" style="position:relative;padding-left:10px;line-height:20px;font-size: 16px;margin-bottom: 5px;">使用权人</p>
  54. </div>
  55. <van-list
  56. v-model:loading="loading"
  57. :finished="finished"
  58. finished-text="没有更多了"
  59. :immediate-check="false"
  60. @load="onRefreshShyqr"
  61. >
  62. <van-swipe-cell v-for="(item,index) in syqrlist" :key="'syqr'+index" style="border-radius: 16px;box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:95%;margin:15px auto 0;background:#fff;">
  63. <div style="padding:15px;">
  64. <p style="display: flex;align-items: center;">
  65. <img src="../../assets/images/housesteadSurvey/list03.png" alt="" style="margin-right: 5px;">
  66. <span style="line-height: 1;font-size: 16px;">{{item.shyqrdbxm}}</span>
  67. </p>
  68. <div style="display:flex;line-height:20px;margin-top: 15px;font-size: 14px;color: #999999;">
  69. <p style="flex:1;text-align:left;">证件号码:</p>
  70. <p style="flex:1;text-align:right;">{{item.shyqrdbzjhm}}</p>
  71. </div>
  72. <div style="display:flex;line-height:20px;margin-top: 5px;font-size: 14px;color: #999999;">
  73. <p style="flex:1;text-align:left;">农户代码:</p>
  74. <p style="flex:1;text-align:right;">{{item.nhdm}}</p>
  75. </div>
  76. <div style="text-align:center;overflow:auto;display: flex;justify-content: space-between;margin-top: 10px;">
  77. <p style="width:32%;display: flex;align-items: center;justify-content:center;border: 1px solid transparent;background: #22B7F2;padding: 3px 0;border-radius: 50px;" @click="showPopupnh(item)">
  78. <img src="../../assets/images/housesteadSurvey/add01.png" alt="">
  79. <span style="font-size: 14px;color: #fff;margin-left: 5px;">户主</span>
  80. </p>
  81. <p style="width:32%;display: flex;align-items: center;justify-content:center;border: 1px solid transparent;background: rgba(34,183,242,0.14);padding: 3px 0;border-radius: 50px;" @click="showPopupsyqr(item)">
  82. <img src="../../assets/images/housesteadSurvey/add02.png" alt="">
  83. <span style="font-size: 14px;color: #22B7F2;margin-left: 5px;">使用权人</span>
  84. </p>
  85. <p style="width:32%;display: flex;align-items: center;justify-content:center;border: 1px solid #22B7F2;padding: 3px 0;border-radius: 50px;" @click="showPopuphncylist(item)">
  86. <img src="../../assets/images/housesteadSurvey/add02.png" alt="">
  87. <span style="font-size: 14px;color: #22B7F2;margin-left: 5px;">成员</span>
  88. </p>
  89. </div>
  90. </div>
  91. <template #right>
  92. <van-button v-if="permission == 'true'" square text="删除" type="danger" class="delete-button" @click="deletesyqr(item.id,index)"/>
  93. </template>
  94. </van-swipe-cell>
  95. </van-list>
  96. <div v-if="permission == 'true'" style=" width:95%;margin:20px auto;display: flex;justify-content: space-between;">
  97. <div style="width:49%;text-align:center;overflow:auto;border-radius: 16px;box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16);padding: 15px 0px;background: #ffffff;color: #22B7F2;">
  98. <p style="font-size: 16px;" @click="showPopupsyqr('')">+ 添加使用权人</p>
  99. </div>
  100. <div style="width:49%;text-align:center;overflow:auto;border-radius: 16px;box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16);padding: 15px 0px;background: #ffffff;color: #22B7F2;">
  101. <p style="font-size: 16px;" @click="showPopupnhcy()">+ 添加农户信息</p>
  102. </div>
  103. </div>
  104. </div>
  105. </template>
  106. <script>
  107. import {getShyqrs,addShyqr,updateShyqr,delShyqr,setSyqrInfo} from "@/api/homesteadSurvey/shyqr";
  108. import {listZjdzd,getZjdzd,updateZjdzd,addZjdzd,uploadFile,getQueryLand,submitOnly} from "@/api/homesteadSurvey/zjdzd";
  109. import MapGisDrawing from "@/components/Map/MapGisDrawing";
  110. import {listZrz,addZrz,updateZrz,getZrzZjdDmList,delZrz,updateZrzStatus} from "@/api/homesteadSurvey/zrz";
  111. import {listNmfw,addNmfw,updateNmfw,delNmfw} from "@/api/homesteadSurvey/nmfw";
  112. import {listSuyqr,addSuyqr,updateSuyqr} from "@/api/homesteadSurvey/suyqr";
  113. import {listNhhncy,addNhhncy,updateNhhncy,delNhhncy} from "@/api/homesteadSurvey/nhhncy";
  114. import {addNh, delNh, exportNh, getNh, listNh, updateNh,setNhInfo} from "@/api/homesteadSurvey/nh";
  115. import {listFsss,addFsss,updateFsss,delFsss,getFsssZjdDmList,updateFsssStatus} from "@/api/homesteadSurvey/fsss";
  116. import { listTown, getTown } from "@/api/homesteadSurvey/town";
  117. import { listVillage} from "@/api/homesteadSurvey/village";
  118. import { sysConfig} from "@/api/homesteadSurvey/index";
  119. import { Notify, Dialog, Toast } from 'vant';
  120. import axios from "axios";
  121. export default {
  122. name: "homesteadAdd",
  123. components: { MapGisDrawing,},
  124. data() {
  125. return {
  126. active:2,
  127. loading:false,
  128. finished:false,
  129. permission:false,
  130. countyhc:1,
  131. // 使用权人列表
  132. zjdzdxx:{},
  133. syqrlist:[],
  134. };
  135. },
  136. created(){
  137. this.zjdzdxx = JSON.parse(localStorage.getItem("zjdzdxxItem"));
  138. this.permission = localStorage.getItem("executePermission");
  139. if(this.zjdzdxx.zjddm != null ){
  140. this.getList();
  141. }
  142. },
  143. mounted(){
  144. },
  145. methods: {
  146. getList(){
  147. let params = {
  148. zjddm:this.zjdzdxx.zjddm,
  149. pageNum: 1,
  150. pageSize:10,
  151. }
  152. getShyqrs(params).then(response => {
  153. this.syqrlist = response.rows;
  154. if(response.rows.length>0&&response.rows.length<response.total){
  155. this.countyhc++
  156. this.loading = false
  157. }else{
  158. this.loading = false
  159. this.finished = true
  160. }
  161. });
  162. },
  163. goRightBack(){
  164. this.$router.push({path:'/homesteadSurvey/list'});
  165. },
  166. onRefreshShyqr(){
  167. if(this.loading){
  168. let params = {
  169. zjddm:this.zjdzdxx.zjddm,
  170. pageNum: this.countyhc+1,
  171. pageSize:10,
  172. }
  173. getShyqrs(params).then(response => {
  174. if(response.rows.length>0&&response.rows.length<response.total){
  175. response.rows.map(res => {
  176. this.syqrlist.push(res)
  177. })
  178. this.countyhc++
  179. this.loading = false
  180. }else{
  181. this.loading = false
  182. this.finished = true
  183. }
  184. });
  185. }
  186. },
  187. goBack(){
  188. if(this.ztMap && this.enterMap ==1){
  189. if(this.form.id == null){
  190. this.backMap.backMapZjdAData.theGeom= "";
  191. }else{
  192. this.backMap.backMapZjdAData = this.form;
  193. }
  194. this.$cookies.set("search",this.backMap);
  195. } else {
  196. this.$cookies.set("search","");
  197. }
  198. this.$router.push({name: this.$router.back(-1)});
  199. // }
  200. },
  201. showPopupsyqr(val){
  202. this.$router.push({name:'shyqrAdd',query:val});
  203. },
  204. showPopupnh(val){
  205. this.$router.push({name:'nhAdd',query:val});
  206. },
  207. showPopupnhcy(){
  208. this.$router.push({name:'nhcyAdd',query:{yhzgxOperate:"true"}});
  209. },
  210. showPopuphncylist(val){
  211. this.$router.push({name:'nhcyList',query:val});
  212. },
  213. }
  214. }
  215. </script>
  216. <style scoped>
  217. >>> .bannerBg{
  218. width: 100%;
  219. color:#fff;
  220. padding:10px;
  221. background: linear-gradient(134deg,#7ac943 1%, #22b7f2);
  222. }
  223. >>> .van-hairline--bottom::after {
  224. border-bottom-width: 0;
  225. }
  226. >>> .title:before
  227. {
  228. content:"";
  229. width: 6px;
  230. height: 20PX;
  231. background: #7ac943;
  232. border-radius: 3px;
  233. position:absolute;
  234. left:0;
  235. bottom:0;
  236. }
  237. >>> .delete-button {
  238. height: 100%;
  239. }
  240. >>> .van-swipe-cell__wrapper{
  241. margin-right:-3px;
  242. }
  243. >>> .label-class .van-collapse-item__title--expanded{
  244. font-weight: bold;
  245. }
  246. /deep/ .van-nav-bar__text {
  247. color: #fff;
  248. }
  249. </style>