移动端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

3768 regels
153 KiB

  1. <template>
  2. <div class="app-container">
  3. <van-sticky>
  4. <div class="bannerBg" style="">
  5. <van-nav-bar
  6. style="background:transparent;border-bottom-width:0;"
  7. @click-left="onClickLeft"
  8. >
  9. <template #left>
  10. <van-icon name="arrow-left" size=".5rem" color="#fff" />
  11. </template>
  12. <template #title>
  13. <p style="color:#fff">{{item.deptName}}</p>
  14. </template>
  15. </van-nav-bar>
  16. <div style="display:flex;width:94%;margin:0 auto;justify-content:space-between;padding: 10px 0">
  17. <div style="display:flex;width:90%;margin:0 auto;">
  18. <div :class="{activeBtn : activeBtn==1,disactiveBtn :activeBtn!=1 }" @click="activeBtn=1"><van-icon size=".3rem" style="vertical-align:middle;" :name="require('../../assets/images/housesteadSurvey/btn1'+(activeBtn!=1?'1':'')+'.png')" />
  19. 入户核查
  20. </div>
  21. <div :class="{activeBtn : activeBtn==2,disactiveBtn :activeBtn!=2 }" @click="activeBtn=2,getNh()"><van-icon size=".3rem" style="vertical-align:middle;" :name="require('../../assets/images/housesteadSurvey/btn2'+(activeBtn!=2?'2':'')+'.png')" />
  22. 农户信息
  23. </div>
  24. <div :class="{activeBtn : activeBtn==3,disactiveBtn :activeBtn!=3 }" @click="activeBtn=3,getSyqr()"> <van-icon size=".3rem" style="vertical-align:middle;" :name="require('../../assets/images/housesteadSurvey/btn3'+(activeBtn!=3?'3':'')+'.png')" />
  25. 所有权人
  26. </div>
  27. <div :class="{activeBtn : activeBtn==4,disactiveBtn :activeBtn!=4 }" @click="activeBtn=4,mapShow()">
  28. <van-icon size=".3rem" style="vertical-align:middle;" :name="require('../../assets/images/housesteadSurvey/btn4'+(activeBtn!=4?'4':'')+'.png')" />
  29. 切换地图
  30. </div>
  31. </div>
  32. </div>
  33. </div>
  34. </van-sticky>
  35. <div v-if="activeBtn==1">
  36. <van-search v-model="zjdvalue" placeholder="请输入搜索关键词" show-action @search="onSearchzjd">
  37. <template #action>
  38. <van-icon name="add" color="rgba(122,201,67,1)" size=".8rem" @click="onClickzjd" style="vertical-align:middle;"/>
  39. </template>
  40. </van-search>
  41. <van-tabs v-model="active" title-active-color="#7AC943" color="#7AC943" swipeable @click="getZjdList">
  42. <van-tab title="全部" >
  43. <van-pull-refresh v-model="isLoadingzjd" @refresh="onRefreshzjd">
  44. <van-cell v-for="(item,index) in list" :key="index" size="small" @click.native="setCookies(item)" :to="{name:'homesteadAdd'}" style="border-radius: 16px;
  45. box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px">
  46. <template #title>
  47. <p v-if="item.syqr!=null&&item.syqr!=''" style="color:#22B7F2">{{item.syqr}}</p>
  48. <p v-if="item.syqr==null||item.syqr==''" style="color:#878787">暂无使用权人</p>
  49. </template>
  50. <template #default>
  51. <van-button v-if="item.houseDataConfirmStatus=='CONFIRMED'" plain round color="#7AC943" size="mini" style="vertical-align:middle;margin-top:15px;">查看详情</van-button>
  52. <van-button v-if="item.houseDataConfirmStatus!='CONFIRMED'"plain round color="#FA5353" size="mini" style="vertical-align:middle;margin-top:15px;">开始调查</van-button>
  53. </template>
  54. <template #label>
  55. <p>宅基地代码: {{item.zjddm}} </p>
  56. <p>宗地面积: {{item.zdmj}}㎡ </p>
  57. </template>
  58. <template #icon>
  59. <van-icon name="clock" color="#22b7f2" style="margin-top:10px;margin-right:10px;"/>
  60. </template>
  61. </van-cell>
  62. </van-pull-refresh>
  63. </van-tab>
  64. <van-tab title="已核查" >
  65. <van-pull-refresh v-model="isLoadingzjd" @refresh="onRefreshzjd">
  66. <van-cell v-for="(item,index) in list1" :key="index" size="small" @click.native="setCookies(item)" :to="{name:'homesteadAdd'}" style="border-radius: 16px;
  67. box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px">
  68. <template #title>
  69. <p v-if="item.syqr!=null&&item.syqr!=''" style="color:#22B7F2">{{item.syqr}}</p>
  70. <p v-if="item.syqr==null||item.syqr==''" style="color:#878787">暂无使用权人</p>
  71. </template>
  72. <template #default>
  73. <van-button v-if="item.houseDataConfirmStatus=='CONFIRMED'" plain round color="#7AC943" size="mini" style="vertical-align:middle;margin-top:15px;">查看详情</van-button>
  74. <van-button v-if="item.houseDataConfirmStatus!='CONFIRMED'"plain round color="#FA5353" size="mini" style="vertical-align:middle;margin-top:15px;">开始调查</van-button>
  75. </template>
  76. <template #label>
  77. <p>宅基地代码: {{item.zjddm}} </p>
  78. <p>宗地面积: {{item.zdmj}}㎡ </p>
  79. </template>
  80. <template #icon>
  81. <van-icon name="clock" color="#22b7f2" style="margin-top:10px;margin-right:10px;"/>
  82. </template>
  83. </van-cell>
  84. </van-pull-refresh>
  85. </van-tab>
  86. <van-tab title="未核查">
  87. <van-pull-refresh v-model="isLoadingzjd" @refresh="onRefreshzjd">
  88. <van-cell v-for="(item,index) in list2" :key="index" size="small" @click.native="setCookies(item)" :to="{name:'homesteadAdd'}" style="border-radius: 16px;
  89. box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px">
  90. <template #title>
  91. <p v-if="item.syqr!=null&&item.syqr!=''" style="color:#22B7F2">{{item.syqr}}</p>
  92. <p v-if="item.syqr==null||item.syqr==''" style="color:#878787">暂无使用权人</p>
  93. </template>
  94. <template #default>
  95. <van-button v-if="item.houseDataConfirmStatus=='CONFIRMED'" plain round color="#7AC943" size="mini" style="vertical-align:middle;margin-top:15px;">查看详情</van-button>
  96. <van-button v-if="item.houseDataConfirmStatus!='CONFIRMED'"plain round color="#FA5353" size="mini" style="vertical-align:middle;margin-top:15px;">开始调查</van-button>
  97. </template>
  98. <template #label>
  99. <p>宅基地代码: {{item.zjddm}} </p>
  100. <p>宗地面积: {{item.zdmj}}㎡ </p>
  101. </template>
  102. <template #icon>
  103. <van-icon name="clock" color="#22b7f2" style="margin-top:10px;margin-right:10px;"/>
  104. </template>
  105. </van-cell>
  106. </van-pull-refresh>
  107. </van-tab>
  108. </van-tabs>
  109. </div>
  110. <div v-if="activeBtn==2" >
  111. <van-search v-model="nhvalue" placeholder="请输入农户姓名或证件号" show-action @search="onSearchnh">
  112. <template #action>
  113. <van-icon name="add" color="rgba(122,201,67,1)" size="55" @click="onClicknh" style="vertical-align:middle;"/>
  114. </template>
  115. </van-search>
  116. <van-pull-refresh v-model="isLoadingnh" @refresh="onRefreshnh">
  117. <van-cell v-for="(item,index) in nhlist" :key="index" size="small" style="border-radius: 16px;box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px">
  118. <template #title>
  119. <p style="color:#22B7F2">{{item.hzxm}}</p>
  120. </template>
  121. <template #default>
  122. <van-button plain round color="#7AC943" size="mini" style="vertical-align:middle;margin-top:15px;" @click="showPopupnh(item)">查看详情</van-button>
  123. </template>
  124. <template #label>
  125. <p>证件号码:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp{{item.hzzjhm}} </p>
  126. <p>农户代码:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp{{item.nhdm}}</p>
  127. </template>
  128. <template #icon>
  129. <van-icon name="clock" color="#22b7f2" style="margin-top:10px;margin-right:10px;"/>
  130. </template>
  131. </van-cell>
  132. </van-pull-refresh>
  133. </div>
  134. <div v-if="activeBtn==3">
  135. <van-form @submit="onSubmitsyqr">
  136. <div style="border-radius: 16px;
  137. box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px;padding:5px;background:#fff;">
  138. <van-field
  139. v-model="qlrform.qydm"
  140. name="区域代码"
  141. label="区域代码"
  142. required
  143. placeholder="区域代码"
  144. input-align="right"
  145. :rules="[{ required: true, message: '' }]"
  146. />
  147. <van-field
  148. v-model="qlrform.suyqrdm"
  149. name="所有权人代码"
  150. label="所有权人代码"
  151. required
  152. placeholder="所有权人代码"
  153. input-align="right"
  154. :rules="[{ required: true, message: '' }]"
  155. />
  156. <van-field
  157. v-model="qlrform.suyqrmc"
  158. name="所有权人名称"
  159. label="所有权人名称"
  160. required
  161. placeholder="所有权人名称"
  162. input-align="right"
  163. :rules="[{ required: true, message: '' }]"
  164. />
  165. <van-field
  166. v-model="qlrform.suyqxzName"
  167. name="所有权性质"
  168. label="所有权性质"
  169. required
  170. placeholder="所有权性质"
  171. input-align="right"
  172. :rules="[{ required: true, message: '' }]"
  173. @click="showsuyqxz = true"
  174. />
  175. <van-field
  176. v-model="qlrform.suyqxz"
  177. style="display:none"
  178. />
  179. <van-popup v-model="showsuyqxz" position="bottom" input-align="right">
  180. <van-picker
  181. show-toolbar
  182. :columns="suyqxzOptions"
  183. value-key="dictLabel"
  184. @confirm="onConfirmsuyqxz"
  185. @cancel="showsuyqxz = false"
  186. />
  187. </van-popup>
  188. <van-field
  189. v-model="qlrform.dbrxm"
  190. name="代表人姓名"
  191. label="代表人姓名"
  192. required
  193. placeholder="代表人姓名"
  194. input-align="right"
  195. :rules="[{ required: true, message: '' }]"
  196. />
  197. <van-field
  198. v-model="qlrform.dbrzjlx"
  199. style="display:none"
  200. />
  201. <van-field
  202. v-model="qlrform.dbrzjlxName"
  203. name="代表人证件类型"
  204. label="代表人证件类型"
  205. required
  206. placeholder="代表人证件类型"
  207. input-align="right"
  208. :rules="[{ required: true, message: '' }]"
  209. @click="showdbrzjlx = true"
  210. />
  211. <van-popup v-model="showdbrzjlx" position="bottom" input-align="right">
  212. <van-picker
  213. show-toolbar
  214. :columns="zjlxOptions"
  215. value-key="dictLabel"
  216. @confirm="onConfirmdbrzjlx"
  217. @cancel="showdbrzjlx = false"
  218. />
  219. </van-popup>
  220. <van-field
  221. v-model="qlrform.dbrzjhm"
  222. name="代表人证件号码"
  223. label="代表人证件号码"
  224. required
  225. placeholder="代表人证件号码"
  226. input-align="right"
  227. :rules="[{ required: true, message: '' }]"
  228. />
  229. <van-field
  230. v-model="qlrform.dbrlxdh"
  231. name="代表人联系电话"
  232. label="代表人联系电话"
  233. placeholder="代表人联系电话"
  234. input-align="right"
  235. :rules="[{ required: true, message: '' }]"
  236. />
  237. <van-field
  238. v-model="qlrform.dbrtxdz"
  239. name="代表人通讯地址"
  240. label="代表人通讯地址"
  241. required
  242. placeholder="代表人通讯地址"
  243. input-align="right"
  244. :rules="[{ required: true, message: '' }]"
  245. />
  246. <van-field
  247. v-model="qlrform.dbryzbm"
  248. name="代表人邮政编码"
  249. label="代表人邮政编码"
  250. required
  251. placeholder="代表人邮政编码"
  252. input-align="right"
  253. :rules="[{ required: true, message: '' }]"
  254. />
  255. <van-field name="radio" label="是否成立农村集体经济组织" required input-align="right">
  256. <template #input>
  257. <van-radio-group v-model="qlrform.sfclncjtjjzz" direction="horizontal">
  258. <van-radio name="1">是</van-radio>
  259. <van-radio name="2">否 </van-radio>
  260. </van-radio-group>
  261. </template>
  262. </van-field>
  263. <van-field
  264. v-model="qlrform.dlrxm"
  265. name="代理人姓名"
  266. label="代理人姓名"
  267. placeholder="代理人姓名"
  268. input-align="right"
  269. />
  270. <van-field
  271. v-model="qlrform.dlrzjlx"
  272. style="display:none"
  273. />
  274. <van-field
  275. v-model="qlrform.dlrzjlxName"
  276. name="代理人证件类型"
  277. label="代理人证件类型"
  278. placeholder="代理人证件类型"
  279. input-align="right"
  280. @click="showdlrzjlx = true"
  281. />
  282. <van-popup v-model="showdlrzjlx" position="bottom" input-align="right">
  283. <van-picker
  284. show-toolbar
  285. :columns="zjlxOptions"
  286. value-key="dictLabel"
  287. @confirm="onConfirmdlrzjlx"
  288. @cancel="showdlrzjlx = false"
  289. />
  290. </van-popup>
  291. <van-field
  292. v-model="qlrform.dlrzjhm"
  293. name="代理人证件号码"
  294. label="代理人证件号码"
  295. placeholder="代理人证件号码"
  296. input-align="right"
  297. />
  298. <van-field
  299. v-model="qlrform.dlrlxdh"
  300. name="代理人联系电话"
  301. label="代理人联系电话"
  302. placeholder="代理人联系电话"
  303. input-align="right"
  304. />
  305. <van-field
  306. v-model="qlrform.dlrtxdz"
  307. name="代理人通讯地址"
  308. label="代理人通讯地址"
  309. placeholder="代理人通讯地址"
  310. input-align="right"
  311. />
  312. <van-field
  313. v-model="qlrform.dlryzbm"
  314. name="代理人邮政编码"
  315. label="代理人邮政编码"
  316. placeholder="代理人邮政编码"
  317. input-align="right"
  318. />
  319. </div>
  320. <div style="border-radius: 16px;
  321. box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px;padding:5px;background:#fff;">
  322. <van-field
  323. v-model="qlrform.ncjtjjzzdm"
  324. name="农村集体经济组织代码"
  325. label="农村集体经济组织代码"
  326. placeholder="农村集体经济组织代码"
  327. input-align="right"
  328. />
  329. <van-field
  330. v-model="qlrform.ncjtjjzzmc"
  331. name="农村集体经济组织名称"
  332. label="农村集体经济组织名称"
  333. placeholder="农村集体经济组织名称"
  334. input-align="right"
  335. />
  336. <van-field
  337. v-model="qlrform.fbfdm"
  338. name="发包方代码"
  339. label="发包方代码"
  340. placeholder="发包方代码"
  341. input-align="right"
  342. />
  343. <van-field
  344. v-model="qlrform.fbfmc"
  345. name="发包方名称"
  346. label="发包方名称"
  347. placeholder="发包方名称"
  348. input-align="right"
  349. />
  350. <van-field
  351. v-model="qlrform.sjlyName"
  352. name="数据来源"
  353. label="数据来源"
  354. placeholder="数据来源"
  355. input-align="right"
  356. @click="showsjly = true"
  357. />
  358. <van-field
  359. v-model="qlrform.sjly"
  360. style="display:none"
  361. />
  362. <van-popup v-model="showsjly" position="bottom" input-align="right">
  363. <van-picker
  364. show-toolbar
  365. :columns="sjlyOptions"
  366. value-key="dictLabel"
  367. @confirm="onConfirmsjly"
  368. @cancel="showsjly = false"
  369. />
  370. </van-popup>
  371. <van-field
  372. v-model="qlrform.bz"
  373. name="备注"
  374. label="备注"
  375. placeholder="备注"
  376. input-align="right"
  377. />
  378. </div>
  379. <div style="margin: 16px;">
  380. <van-button round block color="#7AC943" native-type="submit">保存</van-button>
  381. </div>
  382. </van-form>
  383. </div>
  384. <div v-if="activeBtn==4">
  385. <!-- <van-search placeholder="请输入宅基地号查询" v-if="false">
  386. <template #action>
  387. </template>
  388. </van-search>-->
  389. <div id="mapWrapAll" style="width: 100%;height: 100vh"></div>
  390. <div id="info" style="display: none"></div>
  391. <!--图层-->
  392. <div class="rightZoom_wrap">
  393. <img src="../../assets/images/housesteadSurvey/tool1.png">
  394. <div class="amplification" @click="selectionPushMap">图层</div>
  395. </div>
  396. <!--放大缩小-->
  397. <div class="mapZoom_wrap">
  398. <div class="qtMap" id="mapAllQt">
  399. <img src="../../assets/images/housesteadSurvey/tool2.png">
  400. <p>全图</p>
  401. </div>
  402. <div class="clMap" @click="" id="area">
  403. <img src="../../assets/images/housesteadSurvey/tool3.png">
  404. <p>测量</p>
  405. </div>
  406. <div class="hcMap" @click="zjdHc">
  407. <img src="../../assets/images/housesteadSurvey/tool4.png">
  408. <p>核查</p>
  409. </div>
  410. <div class="htMap" @click="" id="htMapAll">
  411. <img src="../../assets/images/housesteadSurvey/tool5.png">
  412. <p>绘图</p>
  413. </div>
  414. <div class="dwMap" @click="" id="dwMapAll">
  415. <img src="../../assets/images/housesteadSurvey/tool6.png">
  416. <p>定位</p>
  417. </div>
  418. </div>
  419. <!--列表拉取详情-->
  420. <div class="homesteadList_wrap" v-show="homesteadListStatus">
  421. <div class="main_m">
  422. <div class="title_m">
  423. <div class="more_icon" @click="homesteadListShrink"></div>
  424. <div class="name">筛选列表</div>
  425. </div>
  426. <div style="padding: 10px 15px;">
  427. <van-checkbox name="all" shape="square" @change="checkAll">全选</van-checkbox>
  428. <div style="height: 15px;"></div>
  429. <van-checkbox-group v-model="checked">
  430. <van-checkbox name="fsssSx" shape="square" style="margin-bottom: 5px;">
  431. <template #default>
  432. 附属设施<span style="display: inline-block;background: #00FFFF;height: 5px;width: 20px;vertical-align: middle;margin-left: 10px;"></span>
  433. </template>
  434. </van-checkbox>
  435. <van-checkbox name="zrzSx" shape="square" style="margin-bottom: 5px;">
  436. <template #default>
  437. 自<i style="margin-right: 0.5em;"></i>然<i style="margin-right: 0.5em;"></i>幢<span style="display: inline-block;background: #FFD306;height: 5px;width: 20px;vertical-align: middle;margin-left: 10px;"></span>
  438. </template>
  439. </van-checkbox>
  440. <van-checkbox name="zjdSx" shape="square" style="margin-bottom: 5px;">
  441. <template #default>
  442. 宅<i style="margin-right: 0.5em;"></i>基<i style="margin-right: 0.5em;"></i>地<span style="display: inline-block;background: #AE57A4;height: 5px;width: 20px;vertical-align: middle;margin-left: 10px;"></span>
  443. </template>
  444. </van-checkbox>
  445. </van-checkbox-group>
  446. </div>
  447. <!-- <div class="noInfo_data">-->
  448. <!-- <div class="checkbox">-->
  449. <!-- &lt;!&ndash; 全选与不全选模块 &ndash;&gt;-->
  450. <!-- <div class="thead-checkbox" @click="checkClick">-->
  451. <!-- <input type="checkbox" class="checkall">全选-->
  452. <!-- </div>-->
  453. <!-- &lt;!&ndash; 小复选框选 &ndash;&gt;-->
  454. <!-- <div class="item-list-checkbox">-->
  455. <!-- <div class="item-checkbox"><input type="checkbox" @click="checkClick('fsssMap')" class="checkitem">附属设施</div>-->
  456. <!-- <div class="item-checkbox" @click="checkClick('zrzMap')"><input type="checkbox" class="checkitem">自然幢</div>-->
  457. <!-- <div class="item-checkbox" @click="checkClick('zjdMap')"><input type="checkbox" class="checkitem">宅基地</div>-->
  458. <!-- </div>-->
  459. <!-- </div>-->
  460. <!-- </div>-->
  461. </div>
  462. </div>
  463. <!-- &lt;!&ndash;列表 定位&ndash;&gt;-->
  464. <!-- <div class="rightIcon_wrap">-->
  465. <!-- &lt;!&ndash; <div class="positioning_wrap">-->
  466. <!-- <div class="icon"></div>-->
  467. <!-- </div> &ndash;&gt;-->
  468. <!-- <div class="selectionIcon_wrap" @click="selectionPush">-->
  469. <!-- <div class="icon"></div>-->
  470. <!-- <div class="text">列表</div>-->
  471. <!-- </div>-->
  472. <!-- </div>-->
  473. <van-overlay :show="selectionIconShow" @click="homesteadListShrink" />
  474. </div>
  475. <van-popup v-model="shownh" style="height:100%;width:100%;">
  476. <div class="bannerBg">
  477. <van-nav-bar
  478. style="background:transparent;border-bottom-width:0;"
  479. @click-left="shownh=false"
  480. >
  481. <template #left>
  482. <van-icon name="arrow-left" size="18" color="#fff" />
  483. </template>
  484. <template #title>
  485. <p style="color:#fff">{{nhform.id?"":"新增"}}户主信息</p>
  486. </template>
  487. </van-nav-bar>
  488. </div>
  489. <div style="margin:20px;">
  490. <van-form @submit="onSubmitnh">
  491. <van-field
  492. input-align="right"
  493. v-model="nhform.suyqrdm"
  494. name="所有权人代码"
  495. label="所有权人代码"
  496. placeholder="所有权人代码"
  497. :rules="[{ required: true, message: '' }]"
  498. />
  499. <van-field
  500. input-align="right"
  501. v-model="nhform.nhdm"
  502. name="农户代码"
  503. label="农户代码"
  504. placeholder="农户代码"
  505. :rules="[{ required: true, message: '' }]"
  506. />
  507. <van-field
  508. input-align="right"
  509. v-model="nhform.hzxm"
  510. name="户主姓名"
  511. label="户主姓名"
  512. placeholder="户主姓名"
  513. :rules="[{ required: true, message: '' }]"
  514. />
  515. <van-field
  516. input-align="right"
  517. v-model="nhform.hzzjlxName"
  518. name="户主证件类型"
  519. label="户主证件类型"
  520. placeholder="户主证件类型"
  521. required
  522. :rules="[{ required: true, message: '' }]"
  523. @click="showhzzjlx = true"
  524. />
  525. <van-field
  526. v-model="nhform.hzzjlx"
  527. style="display:none"
  528. />
  529. <van-field
  530. v-model="nhform.hzzjhm"
  531. input-align="right"
  532. name="户主证件号码"
  533. label="户主证件号码"
  534. placeholder="户主证件号码"
  535. :rules="[{ required: true, message: '' }]"
  536. />
  537. <van-field
  538. input-align="right"
  539. v-model="nhform.txdz"
  540. name="通讯地址"
  541. label="通讯地址"
  542. placeholder="通讯地址"
  543. />
  544. <van-field
  545. input-align="right"
  546. v-model="nhform.hncysl"
  547. name="户内成员数量"
  548. label="户内成员数量"
  549. placeholder="户内成员数量"
  550. />
  551. <van-field name="radio" label="婚姻状况" input-align="right">
  552. <template #input>
  553. <van-radio-group v-model="nhform.hyzk" direction="horizontal">
  554. <van-radio v-for="dict in hyzkOptions" :key="dict.dictValue" :name="dict.dictValue">{{dict.dictLabel}}</van-radio>
  555. </van-radio-group>
  556. </template>
  557. </van-field>
  558. <van-field
  559. input-align="right"
  560. v-model="nhform.phone"
  561. name="电话号码"
  562. label="电话号码"
  563. placeholder="电话号码"
  564. />
  565. <van-field
  566. input-align="right"
  567. v-model="nhform.occupationName"
  568. name="职业"
  569. label="职业"
  570. placeholder="职业"
  571. required
  572. :rules="[{ required: true, message: '' }]"
  573. @click="showhzoccupation = true"
  574. />
  575. <van-field
  576. v-model="nhform.occupation"
  577. style="display:none"
  578. />
  579. <van-field
  580. input-align="right"
  581. v-model="nhform.jzqkName"
  582. name="居住情况"
  583. label="居住情况"
  584. placeholder="居住情况"
  585. required
  586. :rules="[{ required: true, message: '' }]"
  587. @click="showhzjzqk = true"
  588. />
  589. <van-field
  590. v-model="nhform.jzqk"
  591. style="display:none"
  592. />
  593. <van-field
  594. input-align="right"
  595. v-model="nhform.jzhcssfyzfName"
  596. name="在集镇或城市是否有住房"
  597. label="在集镇或城市是否有住房"
  598. placeholder="在集镇或城市是否有住房"
  599. required
  600. :rules="[{ required: true, message: '' }]"
  601. @click="showhzjzhcssfyzf = true"
  602. />
  603. <van-field
  604. v-model="nhform.jzhcssfyzf"
  605. style="display:none"
  606. />
  607. <van-field name="radio" label="在其他村庄是否有住房" input-align="right">
  608. <template #input>
  609. <van-radio-group v-model="nhform.zqtczsfyzf" direction="horizontal">
  610. <van-radio name="Y">是</van-radio>
  611. <van-radio name="N">否</van-radio>
  612. </van-radio-group>
  613. </template>
  614. </van-field>
  615. <van-field name="radio" label="是否本村村民" input-align="right">
  616. <template #input>
  617. <van-radio-group v-model="nhform.sfbccm" direction="horizontal">
  618. <van-radio name="Y">是</van-radio>
  619. <van-radio name="N">否</van-radio>
  620. </van-radio-group>
  621. </template>
  622. </van-field>
  623. <van-field name="radio" label="是否贫困户" input-align="right">
  624. <template #input>
  625. <van-radio-group v-model="nhform.sfpkh" direction="horizontal">
  626. <van-radio name="Y">是</van-radio>
  627. <van-radio name="N">否</van-radio>
  628. </van-radio-group>
  629. </template>
  630. </van-field>
  631. <van-field name="radio" label="是否五保户" input-align="right">
  632. <template #input>
  633. <van-radio-group v-model="nhform.sfwbh" direction="horizontal">
  634. <van-radio name="Y">是</van-radio>
  635. <van-radio name="N">否</van-radio>
  636. </van-radio-group>
  637. </template>
  638. </van-field>
  639. <van-field
  640. input-align="right"
  641. v-model="nhform.bz"
  642. name="备注"
  643. label="备注"
  644. placeholder="备注"
  645. />
  646. <div style="text-align:center;overflow:auto;">
  647. <van-button plain round color="#7AC943" size="mini" style="margin:0 auto;" native-type="button" @click="showPopuphncylist(nhform)">查看户内成员列表</van-button>
  648. </div>
  649. <div style="margin: 16px;">
  650. <van-button round block color="#7AC943" native-type="submit">保存</van-button>
  651. </div>
  652. </van-form>
  653. </div>
  654. </van-popup>
  655. <!--集市或城市是否有住房-->
  656. <van-popup v-model="showhzjzhcssfyzf" position="bottom">
  657. <van-picker
  658. show-toolbar
  659. :columns="jzhcssfyzfOptions"
  660. value-key="dictLabel"
  661. @confirm="onConfirmhzjzhcssfyzf"
  662. @cancel="showhzjzhcssfyzf = false"
  663. />
  664. </van-popup>
  665. <!--户主证件类型-->
  666. <van-popup v-model="showhzzjlx" position="bottom">
  667. <van-picker
  668. show-toolbar
  669. :columns="zjlxOptions"
  670. value-key="dictLabel"
  671. @confirm="onConfirmhzzjlx"
  672. @cancel="showhzzjlx = false"
  673. />
  674. </van-popup>
  675. <!--户内成员证件类型-->
  676. <van-popup v-model="showhncyzjlx" position="bottom">
  677. <van-picker
  678. show-toolbar
  679. :columns="zjlxOptions"
  680. value-key="dictLabel"
  681. @confirm="onConfirmhncyzjlx"
  682. @cancel="showhncyzjlx = false"
  683. />
  684. </van-popup>
  685. <!--户内成员与户主关系-->
  686. <van-popup v-model="showhncyyhzgx" position="bottom">
  687. <van-picker
  688. show-toolbar
  689. :columns="yhzgxOptions"
  690. value-key="dictLabel"
  691. @confirm="onConfirmhncyyhzgx"
  692. @cancel="showhncyyhzgx = false"
  693. />
  694. </van-popup>
  695. <!--户内成员职业-->
  696. <van-popup v-model="showhncyoccupation" position="bottom">
  697. <van-picker
  698. show-toolbar
  699. :columns="occupationOptions"
  700. value-key="dictLabel"
  701. @confirm="onConfirmhncyoccupation"
  702. @cancel="showhncyoccupation = false"
  703. />
  704. </van-popup>
  705. <!--户内成员成员备注-->
  706. <van-popup v-model="showhncycybz" position="bottom">
  707. <van-picker
  708. show-toolbar
  709. :columns="cybzOptions"
  710. value-key="dictLabel"
  711. @confirm="onConfirmhncycybz"
  712. @cancel="showhncycybz = false"
  713. />
  714. </van-popup>
  715. <!--户内成员居住情况-->
  716. <van-popup v-model="showhncyjzqk" position="bottom">
  717. <van-picker
  718. show-toolbar
  719. :columns="jzqkOptions"
  720. value-key="dictLabel"
  721. @confirm="onConfirmhncyjzqk"
  722. @cancel="showhncyjzqk = false"
  723. />
  724. </van-popup>
  725. <!--户主职业-->
  726. <van-popup v-model="showhzoccupation" position="bottom">
  727. <van-picker
  728. show-toolbar
  729. :columns="occupationOptions"
  730. value-key="dictLabel"
  731. @confirm="onConfirmhzoccupation"
  732. @cancel="showhzoccupation = false"
  733. />
  734. </van-popup>
  735. <!--户主居住情况-->
  736. <van-popup v-model="showhzjzqk" position="bottom">
  737. <van-picker
  738. show-toolbar
  739. :columns="jzqkOptions"
  740. value-key="dictLabel"
  741. @confirm="onConfirmhzjzqk"
  742. @cancel="showhzjzqk = false"
  743. />
  744. </van-popup>
  745. <van-popup v-model="showhncylist" style="height:100%;width:100%;">
  746. <div class="bannerBg">
  747. <van-nav-bar
  748. style="background:transparent;border-bottom-width:0;"
  749. @click-left="showhncylist=false"
  750. >
  751. <template #left>
  752. <van-icon name="arrow-left" size="18" color="#fff" />
  753. </template>
  754. <template #title>
  755. <p style="color:#fff">户内成员列表</p>
  756. </template>
  757. </van-nav-bar>
  758. </div>
  759. <van-swipe-cell v-for="(item,index) in hncylist" :key="index" @click.native="showPopuphncy(item)" 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;">
  760. <div style="padding:20px;">
  761. <p style="color:#22B7F2;font-size:20px;line-height:30px;"><van-icon name="wap-home" color="#22b7f2" size="20" style="margin-right:10px;"/>
  762. {{item.xm}}</p>
  763. <div style="display:flex;line-height:20px">
  764. <p style="flex:1;text-align:left;">证件号码</p>
  765. <p style="flex:1;text-align:right;">{{item.zjhm}}</p>
  766. </div>
  767. <div style="display:flex;line-height:20px">
  768. <p style="flex:1;text-align:left;">与户主关系</p>
  769. <p style="flex:1;text-align:right;">{{yhzgxfy(item.yhzgx)}}</p>
  770. </div>
  771. </div>
  772. <template #right>
  773. <van-button square text="删除" type="danger" class="delete-button" />
  774. </template>
  775. </van-swipe-cell>
  776. <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;">
  777. <div style="text-align:center;" >
  778. <p style="color:#22B7F2;font-size:20px;line-height:30px;" @click="showPopuphncy('')"><van-icon name="plus" color="#22b7f2" size="20" style="margin-right:10px;"/>添加户内成员信息</p>
  779. </div>
  780. </div>
  781. </van-popup>
  782. <van-popup v-model="showhncy" style="height:100%;width:100%;">
  783. <div class="bannerBg">
  784. <van-nav-bar
  785. style="background:transparent;border-bottom-width:0;"
  786. @click-left="showhncy=!showhncy"
  787. >
  788. <template #left>
  789. <van-icon name="arrow-left" size="18" color="#fff" />
  790. </template>
  791. <template #title>
  792. <p style="color:#fff">户内成员</p>
  793. </template>
  794. </van-nav-bar>
  795. </div>
  796. <div style="margin:20px;">
  797. <van-form @submit="onSubmithncy">
  798. <van-field
  799. input-align="right"
  800. v-model="form5.nhdm"
  801. name="农户代码"
  802. label="农户代码"
  803. placeholder="农户代码"
  804. :rules="[{ required: true, message: '' }]"
  805. />
  806. <van-field
  807. input-align="right"
  808. v-model="form5.xm"
  809. name="姓名"
  810. label="姓名"
  811. placeholder="姓名"
  812. :rules="[{ required: true, message: '' }]"
  813. />
  814. <van-field
  815. input-align="right"
  816. v-model="form5.zjlxName"
  817. name="证件类型"
  818. label="证件类型"
  819. placeholder="证件类型"
  820. :rules="[{ required: true, message: '' }]"
  821. @click="showhncyzjlx = true"
  822. />
  823. <van-field
  824. v-model="form5.zjlx"
  825. style="display:none"
  826. />
  827. <van-field
  828. input-align="right"
  829. v-model="form5.yhzgxName"
  830. name="与户主关系"
  831. label="与户主关系"
  832. placeholder="与户主关系"
  833. :rules="[{ required: true, message: '' }]"
  834. @click="showhncyyhzgx = true"
  835. />
  836. <van-field
  837. v-model="form5.yhzgx"
  838. style="display:none"
  839. />
  840. <van-field
  841. input-align="right"
  842. v-model="form5.zjhm"
  843. name="证件号码"
  844. label="证件号码"
  845. placeholder="证件号码"
  846. :rules="[{ required: true, message: '' }]"
  847. />
  848. <van-field name="radio" label="性别" input-align="right">
  849. <template #input>
  850. <van-radio-group v-model="form5.xb" direction="horizontal">
  851. <van-radio name="1">男</van-radio>
  852. <van-radio name="0">女</van-radio>
  853. <van-radio name="2">未知</van-radio>
  854. </van-radio-group>
  855. </template>
  856. </van-field>
  857. <van-field
  858. input-align="right"
  859. v-model="form5.lxdh"
  860. name="联系电话"
  861. label="联系电话"
  862. placeholder="联系电话"
  863. :rules="[{ required: true, message: '' }]"
  864. />
  865. <van-field name="radio" label="户口类型" input-align="right">
  866. <template #input>
  867. <van-radio-group v-model="form5.hklx" direction="horizontal">
  868. <van-radio name="1">农业</van-radio>
  869. <van-radio name="0">非农业</van-radio>
  870. </van-radio-group>
  871. </template>
  872. </van-field>
  873. <van-field name="radio" label="婚姻状况" input-align="right">
  874. <template #input>
  875. <van-radio-group v-model="form5.hyzk" direction="horizontal">
  876. <van-radio v-for="dict in hyzkOptions" :key="dict.dictValue" :name="dict.dictValue">{{dict.dictLabel}}</van-radio>
  877. </van-radio-group>
  878. </template>
  879. </van-field>
  880. <van-field name="radio" label="是否本集体经济组织成员" input-align="right">
  881. <template #input>
  882. <van-radio-group v-model="form5.sfbjtjjzzcy" direction="horizontal">
  883. <van-radio name="Y">是</van-radio>
  884. <van-radio name="N">否</van-radio>
  885. </van-radio-group>
  886. </template>
  887. </van-field>
  888. <van-field
  889. input-align="right"
  890. v-model="form5.cybzName"
  891. name="成员备注"
  892. label="成员备注"
  893. placeholder="成员备注"
  894. :rules="[{ required: true, message: '' }]"
  895. @click="showhncycybz = true"
  896. />
  897. <van-field
  898. v-model="form5.cybz"
  899. style="display:none"
  900. />
  901. <van-field
  902. input-align="right"
  903. v-model="form5.cybzsm"
  904. name="成员备注说明"
  905. label="成员备注说明"
  906. placeholder="成员备注说明"
  907. :rules="[{ required: true, message: '' }]"
  908. />
  909. <van-field
  910. input-align="right"
  911. v-model="form5.occupationName"
  912. name="职业"
  913. label="职业"
  914. placeholder="职业"
  915. required
  916. :rules="[{ required: true, message: '' }]"
  917. @click="showhncyoccupation = true"
  918. />
  919. <van-field
  920. v-model="form5.occupation"
  921. style="display:none"
  922. />
  923. <van-field
  924. input-align="right"
  925. v-model="form5.jzqkName"
  926. name="居住情况"
  927. label="居住情况"
  928. placeholder="居住情况"
  929. required
  930. :rules="[{ required: true, message: '' }]"
  931. @click="showhncyjzqk = true"
  932. />
  933. <van-field
  934. v-model="form5.jzqk"
  935. style="display:none"
  936. />
  937. <van-field name="radio" label="是否贫困户" input-align="right">
  938. <template #input>
  939. <van-radio-group v-model="form5.sfpkh" direction="horizontal">
  940. <van-radio name="Y">是</van-radio>
  941. <van-radio name="N">否</van-radio>
  942. </van-radio-group>
  943. </template>
  944. </van-field>
  945. <van-field name="radio" label="是否五保户" input-align="right">
  946. <template #input>
  947. <van-radio-group v-model="form5.sfwbh" direction="horizontal">
  948. <van-radio name="Y">是</van-radio>
  949. <van-radio name="N">否</van-radio>
  950. </van-radio-group>
  951. </template>
  952. </van-field>
  953. <div style="margin: 16px;">
  954. <van-button round block color="#7AC943" native-type="submit">保存</van-button>
  955. </div>
  956. </van-form>
  957. </div>
  958. </van-popup>
  959. <!--绘制结束弹窗开始-->
  960. <van-popup v-model:show="showhzht" style="width: 94%;border-radius: 15PX">
  961. <div style="height: 200px;padding: 0 3%;">
  962. <h1 style="font-size: 0.35rem;font-weight: 400;border-bottom: 1px solid #ccc; line-height: 0.8rem;"><i style="display: inline-block;width: 1%;height: 0.4rem;background: #7ac943;vertical-align: middle;margin-right: 1%;"></i>是否完成绘制<van-icon name="cross" color="#666666" style="position: absolute;right: 2%;top: 0.1rem" @click="showhzht = false" /></h1>
  963. <div style="text-align: center;margin-top: 30PX">
  964. <p style="font-size: 0.3rem;display: inline-block;background: #ccc;padding: 15PX 10%;border-radius: 30PX;color: #FFF;margin-right: 10%;" @click="showhzlx = true,showhzht = false">否</p>
  965. <p style="font-size: 0.3rem;display: inline-block;background: #7ac943;padding: 15PX 10%;border-radius: 30PX;color: #FFF;">是</p>
  966. </div>
  967. </div>
  968. </van-popup>
  969. <!-- background: #ccc -->
  970. <van-popup v-model:show="showhzlx" style="width: 94%;border-radius: 15PX">
  971. <div style="height: 200px;padding: 0 3%;">
  972. <h1 style="font-size: 0.35rem;font-weight: 400;border-bottom: 1px solid #ccc; line-height: 0.8rem;"><i style="display: inline-block;width: 1%;height: 0.4rem;background: #7ac943;vertical-align: middle;margin-right: 1%;"></i>请选择绘制类型<van-icon name="cross" color="#666666" style="position: absolute;right: 2%;top: 0.1rem" @click="showhzlx = false,showhzht = true" /></h1>
  973. <div style="text-align: center;margin-top: 30PX">
  974. <p style="font-size: 0.3rem;display: inline-block;background: #7ac943;padding: 15PX 10%;border-radius: 30PX;color: #FFF;margin-right: 2%;">宅基地</p>
  975. <p style="font-size: 0.3rem;display: inline-block;background: #b026ff;padding: 15PX 10%;border-radius: 30PX;color: #FFF;margin-right: 2%;">自然幢</p>
  976. <p style="font-size: 0.3rem;display: inline-block;background: #3ac2db;padding: 15PX 10%;border-radius: 30PX;color: #FFF;">附属设施</p>
  977. </div>
  978. </div>
  979. </van-popup>
  980. <!--绘制结束弹窗结束-->
  981. </div>
  982. </template>
  983. <script>
  984. import { currentLocation,} from "@/api/homestead/index";
  985. import {listZjdzd,getQueryLand} from "@/api/homesteadSurvey/zjdzd";
  986. import {addNh, delNh, exportNh, getNh, listNh, updateNh} from "@/api/homesteadSurvey/nh";
  987. import {addNhhncy, delNhhncy, exportNhhncy, getNhhncy, listNhhncy, updateNhhncy} from "@/api/homesteadSurvey/nhhncy";
  988. import {listShyqr} from "@/api/homesteadSurvey/shyqr";
  989. import {listSuyqr,updateSuyqr,addSuyqr} from "@/api/homesteadSurvey/suyqr";
  990. import {listZrz,getZrzZjdDmList} from "@/api/homesteadSurvey/zrz";
  991. import {listFsss,getFsssZjdDmList} from "@/api/homesteadSurvey/fsss";
  992. import { listTown, getTown } from "@/api/homesteadSurvey/town";
  993. import { listVillage} from "@/api/homesteadSurvey/village";
  994. import $ from "jquery";
  995. export default {
  996. name: "homesteadList",
  997. data() {
  998. return {
  999. showhncycybz:false,
  1000. showhncyzjlx:false,
  1001. showhncyyhzgx:false,
  1002. showhzjzhcssfyzf:false,
  1003. showhncyoccupation:false,
  1004. showhncyjzqk:false,
  1005. showhzoccupation:false,
  1006. showhzjzqk:false,
  1007. // 下拉刷新
  1008. isLoadingnh:false,
  1009. countnh:0,
  1010. isLoadingzjd:false,
  1011. countqb:0,
  1012. countyhc:0,
  1013. countwhc:0,
  1014. // 使用权人表单弹出
  1015. shownh:false,
  1016. showhzht:false,
  1017. showhzlx:false,
  1018. showhncylist:false,
  1019. showhncy:false,
  1020. activeBtn:1,
  1021. value:'',
  1022. // 宅基地搜索框
  1023. zjdvalue:"",
  1024. // 使用权人搜索框
  1025. nhvalue:"",
  1026. active:null,
  1027. // 全部列表
  1028. list:[],
  1029. // 已核查列表
  1030. list1:[],
  1031. // 未核查列表
  1032. list2:[],
  1033. // 户主列表
  1034. nhlist:[],
  1035. // 户内成员表单
  1036. form5: {},
  1037. // 户内成员列表
  1038. hncylist:[],
  1039. currentRate:20,
  1040. geoJson:null,
  1041. // 使用权人
  1042. nhform:[],
  1043. // 户主列表
  1044. hzform:{},
  1045. // 权利人列表
  1046. qlrform:[],
  1047. // 权利人性质弹出框
  1048. showsuyqxz:false,
  1049. // 代理人证件类型弹出框
  1050. showdlrzjlx:false,
  1051. // 代表人证件类型弹出框
  1052. showdbrzjlx:false,
  1053. // 数据来源弹出框
  1054. showsjly:false,
  1055. // 证件类型字典
  1056. zjlxOptions: [],
  1057. // 所有权性质字典
  1058. suyqxzOption: [],
  1059. // 婚姻状况字典
  1060. hyzkOptions:[],
  1061. // 数据来源字典
  1062. sjlyOptions:[],
  1063. // 居住情况字典
  1064. jzqkOptions:[],
  1065. // 与户主关系字典
  1066. yhzgxOptions:[],
  1067. // 职业字典
  1068. occupationOptions:[],
  1069. // 集镇或城市是否有住房字典
  1070. jzhcssfyzfOptions:[],
  1071. // 成员备注字典
  1072. cybzOptions:[],
  1073. columns:[],
  1074. show1:false,
  1075. showhzzjlx: false,
  1076. // 路由传过来的任务基本信息。
  1077. item: {},
  1078. //地图使用 --start
  1079. openMap: false,
  1080. mapTheGeomZrzId: null,
  1081. mapTheGeomZjdId: null,
  1082. mapTheGeomFsssId: null,
  1083. drawInsert:null,
  1084. mapZjdData:{},
  1085. mapZrzData:{},
  1086. mapFsssData:{},
  1087. mapHaDataValue:false,
  1088. mapHasDateStatus: 0, //0附属设施 1自然幢 2宅基地
  1089. selectionIconShow:false,
  1090. homesteadListStatus:false,
  1091. //地图绘制状态
  1092. draw: {
  1093. drawMapPolygon: false, //绘制地图
  1094. },
  1095. mapTownList: null,
  1096. mapVillageList: null,
  1097. coordinate:"",
  1098. checked:[],
  1099. checkAllFlag: false,//全选判断标识
  1100. CheckedAllArr: [],//全选数组
  1101. dataList:[],
  1102. //地图使用 --end
  1103. };
  1104. },
  1105. mounted(){
  1106. currentLocation().then((res) => {
  1107. if (res.code == 200) {
  1108. let content = res.data;
  1109. this.geoJson = content.geoJson;
  1110. }
  1111. });
  1112. },
  1113. created(){
  1114. this.getDicts("zjlx").then(response => {
  1115. this.zjlxOptions = response.data;
  1116. });
  1117. this.getDicts("qsxz").then(response => {
  1118. this.suyqxzOptions = response.data;
  1119. });
  1120. this.getDicts("sjly").then(response => {
  1121. this.sjlyOptions = response.data;
  1122. });
  1123. this.getDicts("hyzk").then(response => {
  1124. this.hyzkOptions = response.data;
  1125. });
  1126. this.getDicts("occupation").then(response => {
  1127. this.occupationOptions = response.data;
  1128. });
  1129. this.getDicts("living_condition").then(response => {
  1130. this.jzqkOptions = response.data;
  1131. });
  1132. this.getDicts("jzhcssfyzf").then(response => {
  1133. this.jzhcssfyzfOptions = response.data;
  1134. });
  1135. this.getDicts("family_status").then(response => {
  1136. this.yhzgxOptions = response.data;
  1137. });
  1138. this.getDicts("cybz").then(response => {
  1139. this.cybzOptions = response.data;
  1140. });
  1141. this.item = this.$cookies.get("item");
  1142. this.getZjdList();
  1143. },
  1144. methods: {
  1145. // 与户主关系翻译
  1146. yhzgxfy(value){
  1147. let label
  1148. this.yhzgxOptions.map(res => {
  1149. if(res.dictValue == value){
  1150. label = res.dictLabel
  1151. }
  1152. })
  1153. return label
  1154. },
  1155. onRefreshzjd(){
  1156. this.isLoadingzjd = false;
  1157. let _this = this
  1158. if(this.active==1){
  1159. let params = {
  1160. "deptId" : this.item.deptId,
  1161. "houseDataConfirmStatus" : "CONFIRMED",
  1162. "pageNum": this.countyhc+1,
  1163. "pageSize":10,
  1164. }
  1165. listZjdzd(params).then((response) => {
  1166. if(response.rows.length>0&&this.list1.length<response.total){
  1167. response.rows.map(res => {
  1168. this.list1.unshift(res)
  1169. })
  1170. this.countyhc++
  1171. }
  1172. });
  1173. }else if(this.active==2){
  1174. let params = {
  1175. "deptId" : this.item.deptId,
  1176. "houseDataConfirmStatus" : "UNCONFIRMED",
  1177. "pageNum": this.countywhc+1,
  1178. "pageSize":10,
  1179. }
  1180. listZjdzd(params).then((response) => {
  1181. if(response.rows.lenght>0&&this.list2.length<response.total){
  1182. response.rows.map(res => {
  1183. this.list2.unshift(res)
  1184. })
  1185. this.countwhc++
  1186. }
  1187. });
  1188. }else{
  1189. let params = {
  1190. "deptId" : this.item.deptId,
  1191. "pageNum": this.countqb+1,
  1192. "pageSize":10,
  1193. }
  1194. listZjdzd(params).then((response) => {
  1195. if(response.rows.length>0&&this.list.length<response.total){
  1196. response.rows.map(res => {
  1197. _this.list.unshift(res)
  1198. })
  1199. this.countqb++
  1200. }
  1201. });
  1202. }
  1203. },
  1204. onRefreshnh(){
  1205. this.isLoadingnh = false
  1206. let params = {
  1207. "deptId" : this.item.deptId,
  1208. "pageNum": this.countnh+1,
  1209. "pageSize":10,
  1210. }
  1211. listNh(params).then((response) => {
  1212. if(response.rows.length>0&&this.nhlist.length<response.total){
  1213. response.rows.map(res => {
  1214. this.nhlist.unshift(res)
  1215. })
  1216. this.countnh++
  1217. }
  1218. });
  1219. },
  1220. setCookies(item){
  1221. this.$cookies.set("search",JSON.stringify(item));
  1222. },
  1223. // 入户核查搜索框新增。
  1224. onClickzjd(){
  1225. this.$cookies.remove("search");
  1226. this.$router.push({name:'homesteadAdd'});
  1227. },
  1228. // 农户信息搜索框新增。
  1229. onClicknh(){
  1230. this.shownh = true;
  1231. this.nhform = {};
  1232. },
  1233. // 返回
  1234. onClickLeft(){
  1235. this.$router.push('/homesteadSurvey/index');
  1236. },
  1237. onConfirmhncycybz(value){
  1238. this.form5.cybzName = value.dictLabel
  1239. this.form5.cybz = value.dictValue
  1240. this.showhncycybz= false
  1241. },
  1242. onConfirmhzjzhcssfyzf(value){
  1243. this.nhform.jzhcssfyzfName = value.dictLabel
  1244. this.nhform.jzhcssfyzf = value.dictValue
  1245. this.showhzjzhcssfyzf= false
  1246. },
  1247. onConfirmhncyyhzgx(value){
  1248. this.form5.yhzgxName = value.dictLabel
  1249. this.form5.yhzgx = value.dictValue
  1250. this.showhncyyhzgx = false
  1251. },
  1252. onConfirmhncyzjlx(value){
  1253. this.form5.zjlxName = value.dictLabel
  1254. this.form5.zjlx = value.dictValue
  1255. this.showhncyzjlx = false
  1256. },
  1257. onConfirmhncyjzqk(value){
  1258. this.form5.jzqkName = value.dictLabel
  1259. this.form5.jzqk = value.dictValue
  1260. this.showhncyjzqk = false
  1261. },
  1262. onConfirmhzjzqk(value){
  1263. this.nhform.jzqkName = value.dictLabel
  1264. this.nhform.jzqk = value.dictValue
  1265. this.showhzjzqk = false
  1266. },
  1267. onConfirmhncyoccupation(value){
  1268. this.form5.occupationName = value.dictLabel
  1269. this.form5.occupation = value.dictValue
  1270. this.showhncyoccupation = false
  1271. },
  1272. onConfirmhzoccupation(value){
  1273. this.nhform.occupationName = value.dictLabel
  1274. this.nhform.occupation = value.dictValue
  1275. this.showhzoccupation = false
  1276. },
  1277. onConfirmhzzjlx(value){
  1278. this.nhform.hzzjlxName = value.dictLabel
  1279. this.nhform.hzzjlx = value.dictValue
  1280. this.showhzzjlx = false
  1281. },
  1282. onConfirmdbrzjlx(value){
  1283. this.qlrform.dbrzjlxName = value.dictLabel
  1284. this.qlrform.dbrzjlx = value.dictValue
  1285. this.showdbrzjlx = false
  1286. },
  1287. onConfirmsuyqxz(value){
  1288. this.qlrform.suyqxzName = value.dictLabel
  1289. this.qlrform.suyqxz = value.dictValue
  1290. this.showsuyqxz = false
  1291. },
  1292. onConfirmdlrzjlx(value){
  1293. this.qlrform.dlrzjlxName = value.dictLabel
  1294. this.qlrform.dlrzjlx = value.dictValue
  1295. this.showdlrzjlx = false
  1296. },
  1297. onConfirmsjly(value){
  1298. this.qlrform.sjlyName = value.dictLabel
  1299. this.qlrform.sjly = value.dictValue
  1300. this.showsjly = false
  1301. },
  1302. // 户主保存
  1303. onSubmitnh(){
  1304. if(this.nhform.id!=null){
  1305. updateNh(this.nhform).then(
  1306. response => {
  1307. let _this =this
  1308. this.$toast({
  1309. icon: 'success', // 找到自己需要的图标
  1310. message: '修改成功',
  1311. duration:"1000"
  1312. })
  1313. }
  1314. );
  1315. }else{
  1316. this.nhform.deptId = this.item.deptId
  1317. addNh(this.nhform).then(
  1318. response => {
  1319. let _this =this
  1320. this.$toast({
  1321. icon: 'success', // 找到自己需要的图标
  1322. message: '保存成功',
  1323. duration:"1000"
  1324. })
  1325. }
  1326. );
  1327. }
  1328. },
  1329. // 所有权人保存
  1330. onSubmitsyqr(){
  1331. if(this.qlrform.id!=null){
  1332. updateSuyqr(this.qlrform).then(
  1333. response => {
  1334. let _this =this
  1335. this.$toast({
  1336. icon: 'success', // 找到自己需要的图标
  1337. message: '修改成功',
  1338. duration:"1000"
  1339. })
  1340. }
  1341. );
  1342. }else{
  1343. addSuyqr(this.qlrform).then(
  1344. response => {
  1345. let _this =this
  1346. this.$toast({
  1347. icon: 'success', // 找到自己需要的图标
  1348. message: '保存成功',
  1349. duration:"1000"
  1350. })
  1351. }
  1352. );
  1353. }
  1354. },
  1355. // 查询所有权人
  1356. getSyqr(){
  1357. let params = {
  1358. "deptId" : this.item.deptId
  1359. }
  1360. this.qlrform={}
  1361. listSuyqr(params).then((response) => {
  1362. if(response.rows.length>0){
  1363. this.qlrform = response.rows[0]
  1364. this.zjlxOptions.map(res => {
  1365. if(res.dictValue == this.qlrform.dbrzjlx){
  1366. this.qlrform.dbrzjlxName = res.dictLabel
  1367. }
  1368. if(res.dictValue == this.qlrform.dlrzjlx){
  1369. this.qlrform.dlrzjlxName = res.dictLabel
  1370. }
  1371. })
  1372. this.suyqxzOptions.map(res => {
  1373. if(res.dictValue == this.qlrform.suyqxz){
  1374. this.qlrform.suyqxzName = res.dictLabel
  1375. }
  1376. })
  1377. this.sjlyOptions.map(res => {
  1378. if(res.dictValue == this.qlrform.sjly){
  1379. this.qlrform.sjlyName = res.dictLabel
  1380. }
  1381. })
  1382. }
  1383. });
  1384. },
  1385. // 查询农户列表
  1386. getNh(){
  1387. let params = {
  1388. "deptId" : this.item.deptId
  1389. }
  1390. listNh(params).then((response) => {
  1391. this.nhlist = response.rows
  1392. });
  1393. },
  1394. // 农户信息搜索框
  1395. onSearchnh(){
  1396. let params = {
  1397. "deptId" : this.item.deptId,
  1398. "nhValue" : this.nhvalue
  1399. }
  1400. console.log(params)
  1401. listNh(params).then((response) => {
  1402. this.nhlist = response.rows
  1403. });
  1404. },
  1405. // 宅基地搜索框
  1406. onSearchzjd(){
  1407. if(this.active==1){
  1408. let params = {
  1409. "deptId" : this.item.deptId,
  1410. "houserDataConfirmStatus" : "CONFIRMED",
  1411. "syqr" : this.zjdvalue
  1412. }
  1413. listZjdzd(params).then((response) => {
  1414. if (response.code == 200) {
  1415. this.list1 = response.rows
  1416. }
  1417. });
  1418. }else if(this.active==2){
  1419. let params = {
  1420. "deptId" : this.item.deptId,
  1421. "houserDataConfirmStatus" : "UNCONFIRMED",
  1422. "syqr" : this.zjdvalue
  1423. }
  1424. listZjdzd(params).then((response) => {
  1425. if (response.code == 200) {
  1426. this.list2 = response.rows
  1427. }
  1428. });
  1429. }else{
  1430. let params = {
  1431. "deptId" : this.item.deptId,
  1432. "syqr" : this.zjdvalue
  1433. }
  1434. listZjdzd(params).then((response) => {
  1435. if (response.code == 200) {
  1436. this.list = response.rows
  1437. }
  1438. });
  1439. }
  1440. },
  1441. // 户内成员弹窗
  1442. showPopuphncy(item){
  1443. this.showhncy = true
  1444. if(item.id==null||item.id==""){
  1445. this.form5 = {}
  1446. this.form5.nhdm = this.nhform.nhdm
  1447. }else{
  1448. this.form5 = item
  1449. this.jzhcssfyzfOptions.map(res => {
  1450. if(res.dictValue == item.jzhcssfyzf){
  1451. this.form5.jzhcssfyzfName = res.dictLabel
  1452. }
  1453. })
  1454. this.zjlxOptions.map(res => {
  1455. if(res.dictValue == item.zjlx){
  1456. this.form5.zjlxName = res.dictLabel
  1457. }
  1458. })
  1459. this.occupationOptions.map(res => {
  1460. if(res.dictValue == item.occupation){
  1461. this.form5.occupationName = res.dictLabel
  1462. }
  1463. })
  1464. this.jzqkOptions.map(res => {
  1465. if(res.dictValue == item.jzqk){
  1466. this.form5.jzqkName = res.dictLabel
  1467. }
  1468. })
  1469. this.yhzgxOptions.map(res => {
  1470. if(res.dictValue == item.yhzgx){
  1471. this.form5.yhzgxName = res.dictLabel
  1472. }
  1473. })
  1474. this.cybzOptions.map(res => {
  1475. if(res.dictValue == item.cybz){
  1476. this.form5.cybzName = res.dictLabel
  1477. }
  1478. })
  1479. }
  1480. },
  1481. // 户内成员列表
  1482. showPopuphncylist(item){
  1483. this.showhncylist = true
  1484. let params = {
  1485. "nhdm":item.nhdm
  1486. }
  1487. listNhhncy(params).then((response) => {
  1488. if (response.code == 200) {
  1489. this.hncylist = response.rows
  1490. console.log(this.hncylist)
  1491. }
  1492. });
  1493. },
  1494. showPopupnh(item){
  1495. this.shownh = true
  1496. this.nhform = item
  1497. this.jzhcssfyzfOptions.map(res => {
  1498. if(res.dictValue == item.jzhcssfyzf){
  1499. this.nhform.jzhcssfyzfName = res.dictLabel
  1500. }
  1501. })
  1502. this.zjlxOptions.map(res => {
  1503. if(res.dictValue == item.hzzjlx){
  1504. this.nhform.hzzjlxName = res.dictLabel
  1505. }
  1506. })
  1507. this.occupationOptions.map(res => {
  1508. if(res.dictValue == item.occupation){
  1509. this.nhform.occupationName = res.dictLabel
  1510. }
  1511. })
  1512. this.jzqkOptions.map(res => {
  1513. if(res.dictValue == item.jzqk){
  1514. this.nhform.jzqkName = res.dictLabel
  1515. }
  1516. })
  1517. },
  1518. getZjdList(){
  1519. if(this.active==1){
  1520. let params = {
  1521. "deptId" : this.item.deptId,
  1522. "houseDataConfirmStatus" : "CONFIRMED",
  1523. "pageNum": 1,
  1524. "pageSize":10,
  1525. }
  1526. listZjdzd(params).then((response) => {
  1527. if (response.code == 200) {
  1528. this.list1 = response.rows
  1529. }
  1530. });
  1531. }else if(this.active==2){
  1532. let params = {
  1533. "deptId" : this.item.deptId,
  1534. "houseDataConfirmStatus" : "UNCONFIRMED",
  1535. "pageNum": 1,
  1536. "pageSize":10,
  1537. }
  1538. listZjdzd(params).then((response) => {
  1539. if (response.code == 200) {
  1540. this.list2 = response.rows
  1541. }
  1542. });
  1543. }else{
  1544. let params = {
  1545. "deptId" : this.item.deptId,
  1546. "pageNum": 1,
  1547. "pageSize":10,
  1548. }
  1549. listZjdzd(params).then((response) => {
  1550. if (response.code == 200) {
  1551. this.list = response.rows
  1552. }
  1553. });
  1554. }
  1555. },
  1556. onConfirm(){},
  1557. onSubmithncy(){
  1558. if (this.form5.id != null) {
  1559. updateNhhncy(this.form5).then(response => {
  1560. let _this =this
  1561. this.$toast({
  1562. icon: 'success', // 找到自己需要的图标
  1563. message: '修改成功',
  1564. duration:"1000",
  1565. onClose:function(){
  1566. _this.showhncy = false
  1567. let params = {
  1568. "nhdm":_this.form5.nhdm
  1569. }
  1570. listNhhncy(params).then((response) => {
  1571. _this.hncylist = response.rows
  1572. })
  1573. }
  1574. })
  1575. });
  1576. } else {
  1577. addNhhncy(this.form5).then(response => {
  1578. let _this = this
  1579. this.$toast({
  1580. icon: 'success', // 找到自己需要的图标
  1581. message: '保存成功',
  1582. duration:"1000",
  1583. onClose:function(){
  1584. _this.showhncy = false
  1585. console.log(_this.form5,this.form5)
  1586. let params = {
  1587. "nhdm":_this.form5.nhdm
  1588. }
  1589. listNhhncy(params).then((response) => {
  1590. console.log(response.rows)
  1591. _this.hncylist = response.rows
  1592. })
  1593. }
  1594. })
  1595. });
  1596. }
  1597. },
  1598. mapShow() {
  1599. //通过数据直接查询方式--------加载较慢 start
  1600. //镇边界获取
  1601. // listTown().then(response => {
  1602. // if (response.code == 200) {
  1603. // this.mapTownList = response.rows;
  1604. // //村边界获取
  1605. // listVillage(this.queryParams).then(response => {
  1606. // this.mapVillageList = response.rows;
  1607. // listZjdzd().then((response) => {
  1608. // if (response.code == 200) {
  1609. // this.mapTheGeomZjdId= response.rows;
  1610. // listZrz().then((response) => {
  1611. // if (response.code == 200) {
  1612. // this.mapTheGeomZrzId = response.rows;
  1613. // listFsss().then((response) => {
  1614. // if (response.code == 200) {
  1615. // this.mapTheGeomFsssId = response.rows;
  1616. // }
  1617. // setTimeout(() => {
  1618. // this.GetMapsInit();
  1619. // }, 300);
  1620. // });
  1621. // }
  1622. // });
  1623. // }
  1624. // });
  1625. // });
  1626. // }
  1627. // });
  1628. //通过数据直接查询方式--------加载较慢 end
  1629. setTimeout(() => {
  1630. this.GetMapsInit();
  1631. }, 300);
  1632. },
  1633. //地图加载 -----start
  1634. GetMapsInit() {
  1635. //加载地图编辑
  1636. var that = this;
  1637. var map;
  1638. // document.getElementById("mapAll").innerHTML = '';
  1639. var hc_land;
  1640. var projection = new ol.proj.Projection({
  1641. //地图投影类型
  1642. code: "EPSG:3857",
  1643. units: "degrees",
  1644. //extent:extent
  1645. });
  1646. var aerial = new ol.layer.Tile({
  1647. source: new ol.source.XYZ({
  1648. url: "http://t0.tianditu.gov.cn/img_w/wmts?" +
  1649. "SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" +
  1650. "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=cc4aba6e967096098249efa069733067",
  1651. }),
  1652. isGroup: true,
  1653. name: "卫星影像图",
  1654. });
  1655. var yingxzi = new ol.layer.Tile({
  1656. source: new ol.source.XYZ({
  1657. url: "https://t0.tianditu.gov.cn/DataServer?T=cia_w&x={x}&y={y}&l={z}&tk=cc4aba6e967096098249efa069733067",
  1658. }),
  1659. isGroup: true,
  1660. name: "天地图文字标注--卫星影像图",
  1661. });
  1662. //加载地图
  1663. map = new ol.Map({
  1664. controls: ol.control.defaults({attribution: false, zoom: false, rotate: false}).extend([]), //隐藏放大缩小按钮
  1665. layers: [aerial, yingxzi],
  1666. projection: projection,
  1667. target: "mapWrapAll",
  1668. view: new ol.View({
  1669. //center: ol.proj.fromLonLat([115.452752, 31.789033]),
  1670. //center: ol.proj.fromLonLat([115.452752, 31.789033]),
  1671. zoom: 10,
  1672. minZoom: 5, //地图缩小限制
  1673. maxZoom: 18.3, //地图放大限制
  1674. }),
  1675. });
  1676. //使用geoserver服务查询开始 -------------------start
  1677. //镇边界查询开始 ------------------------------start
  1678. // var zhenTc= new ol.layer.Tile({
  1679. // source: new ol.source.TileWMS({
  1680. // url: "http://116.255.223.226:8080/geoserver/zjd_dc/wms",
  1681. // params: {
  1682. // LAYERS: 'zjd_dc:t_house_survey_border_town',
  1683. // TILED: true,
  1684. // //cql_filter: cql_filter,
  1685. // SRID: 3857,
  1686. // },
  1687. // }),
  1688. // });
  1689. // map.addLayer(zhenTc);
  1690. //镇边界查询开始 ------------------------------end
  1691. //村边界查询开始 ------------------------------start
  1692. var cunTc= new ol.layer.Tile({
  1693. source: new ol.source.TileWMS({
  1694. url: "http://116.255.223.226:8080/geoserver/zjd_dc/wms",
  1695. params: {
  1696. LAYERS: 'zjd_dc:t_house_survey_border_village',
  1697. TILED: true,
  1698. //cql_filter: cql_filter,
  1699. SRID: 3857,
  1700. },
  1701. }),
  1702. });
  1703. //定位查询位置
  1704. let param_dw = {
  1705. srsName: "EPSG:3857",
  1706. service: "WFS",
  1707. version: "1.0.0",
  1708. request: "GetFeature",
  1709. typename: "zjd_dc:t_house_survey_border_village",
  1710. //featureNS: 'nsgk_hc',//命名空间 URI
  1711. //cql_filter: cql_filter,
  1712. //featurePrefix: 'nationalwater',//工作区名称
  1713. //featureTypes: ['nationalwater:01fir'],//查询图层,可以是同一个工作区下多个图层,逗号隔开
  1714. outputFormat: "application/json",
  1715. //filter: ol.format.filter.equalTo(t,e,r)//前者是属性名,后者是对应值
  1716. };
  1717. let url_dw = "http://116.255.223.226:8080/geoserver/zjd_dc/wfs"; //wfsurl;
  1718. url_dw = url_dw + "?";
  1719. for (let key in param_dw) {
  1720. url_dw = url_dw + key + "=" + param_dw[key] + "&";
  1721. }
  1722. url_dw = url_dw.substr(0, url_dw.length - 1);
  1723. fetch(url_dw, {
  1724. method: "POST", // *GET, POST, PUT, DELETE, etc.
  1725. })
  1726. .then((res) => {
  1727. var geojsonmap = res.json();
  1728. return geojsonmap;
  1729. })
  1730. .then((data) => {
  1731. let resolution = map.getView().getResolutionForExtent(data.bbox,map.getSize());
  1732. map.getView().fit(data.bbox);
  1733. map.getView().setResolution(resolution);
  1734. // var datamap = data.bbox;
  1735. // var center = ol.extent.getCenter(datamap);
  1736. // map.getView().animate({
  1737. // // 只设置需要的属性即可
  1738. // center: center, // 中心点
  1739. // rotation: undefined, // 缩放完成view视图旋转弧度
  1740. // });
  1741. })
  1742. .catch((error) => {
  1743. console.log("【异常】", error);
  1744. });
  1745. map.addLayer(cunTc);
  1746. //村边界查询开始 ------------------------------end
  1747. //宅基地图层查询开始 ------------------start
  1748. var zjdTc= new ol.layer.Tile({
  1749. source: new ol.source.TileWMS({
  1750. url: "http://116.255.223.226:8080/geoserver/zjd_dc/wms",
  1751. params: {
  1752. LAYERS: 'zjd_dc:t_house_survey_zjdzd',
  1753. TILED: true,
  1754. //cql_filter: cql_filter,
  1755. SRID: 3857,
  1756. },
  1757. }),
  1758. });
  1759. map.addLayer(zjdTc);
  1760. //宅基地图层查询开始 ------------------start
  1761. //自然幢图层查询开始 ------------------start
  1762. var zraTc= new ol.layer.Tile({
  1763. source: new ol.source.TileWMS({
  1764. url: "http://116.255.223.226:8080/geoserver/zjd_dc/wms",
  1765. params: {
  1766. LAYERS: 'zjd_dc:t_house_survey_zrz',
  1767. TILED: true,
  1768. SRID: 3857,
  1769. },
  1770. }),
  1771. });
  1772. map.addLayer(zraTc);
  1773. //自然幢图层查询开始 ------------------start
  1774. //附属设施图层查询开始 ------------------start
  1775. var fsssTc= new ol.layer.Tile({
  1776. source: new ol.source.TileWMS({
  1777. url: "http://116.255.223.226:8080/geoserver/zjd_dc/wms",
  1778. params: {
  1779. LAYERS: 'zjd_dc:t_house_survey_fsss',
  1780. TILED: true,
  1781. SRID: 3857,
  1782. },
  1783. }),
  1784. });
  1785. map.addLayer(fsssTc);
  1786. //附属设施图层查询开始 ------------------start
  1787. //使用geoserver服务查询开始 -------------------end
  1788. //数据库直接加载数据渲染方式---------------------------------------------------start
  1789. //判断当前账套是否有数据
  1790. // var mapTalkAbout = true;
  1791. // //获取镇界线----start
  1792. // if(this.mapTownList.length >0){
  1793. // for (var i = 0; this.mapTownList.length > i; i++) {
  1794. // if (this.mapTownList[i] != null && this.mapTownList[i].theGeom != null && this.mapTownList[i].theGeom != "") {
  1795. // mapTalkAbout =false;
  1796. // this.mapTownList[i].createBy = 'mapTownList';
  1797. // var theGeomLine= this.mapTownList[i].theGeom.replaceAll("MultiPolygon","LineString");
  1798. // theGeomLine = theGeomLine.replaceAll("[[[[","[[");
  1799. // theGeomLine = theGeomLine.replaceAll("]]]]","]]");
  1800. // hc_land = new ol.layer.Vector({
  1801. // title: "add Layer",
  1802. // source: new ol.source.Vector({
  1803. // projection: projection,
  1804. // features: new ol.format.GeoJSON().readFeatures("{\n" +
  1805. // " \"type\": \"Feature\",\n" +
  1806. // " \"geometry\":" + theGeomLine + ", \"properties\":" + JSON.stringify(this.mapTownList[i]) + "}"),
  1807. // }),
  1808. // style: new ol.style.Style({
  1809. // fill: new ol.style.Fill({
  1810. // //矢量图层填充颜色,以及透明度
  1811. // color: "#AE57A4",
  1812. // }),
  1813. // stroke: new ol.style.Stroke({
  1814. // //边界样式
  1815. // color: "#FF0000",
  1816. // width: 3,
  1817. // }),
  1818. // // text: new ol.style.Text({
  1819. // // text: this.mapTownList[i].xzqmc,
  1820. // // font: '30px sans-serif',
  1821. // // textAlign: "center",
  1822. // // textBaseline: "middle",
  1823. // // //font: 'verdana',
  1824. // // fill: new ol.style.Fill({
  1825. // // color: "#ff0000"
  1826. // // }),
  1827. // // // backgroundFill: new ol.style.Fill({
  1828. // // // color: "#ff0000"
  1829. // // // }),
  1830. // // font: "30px sans-serif",
  1831. // // stroke: new ol.style.Stroke({
  1832. // // color: "#ffffff"
  1833. // // // width: 3
  1834. // // }),
  1835. // // offsetX: parseInt(0, 10),
  1836. // // offsetY: parseInt(0, 10),
  1837. // // placement: "line", //point 则自动计算面的中心k点然后标注 line 则根据面要素的边进行标注
  1838. // // overflow: false //超出面的部分不显示
  1839. // //}),
  1840. // }),
  1841. // });
  1842. // map.addLayer(hc_land);
  1843. // //console.log(hc_land.values_.source.featuresRtree_.rbush_.data);
  1844. // var maxXMap = hc_land.values_.source.featuresRtree_.rbush_.data.maxX;
  1845. // var maxYMap = hc_land.values_.source.featuresRtree_.rbush_.data.maxY;
  1846. // var minXMap = hc_land.values_.source.featuresRtree_.rbush_.data.minX;
  1847. // var minYMap = hc_land.values_.source.featuresRtree_.rbush_.data.minY;
  1848. // // //定位查询位置
  1849. // var center = ol.extent.getCenter([maxXMap, maxYMap, minXMap, minYMap]); //获取边界区域的中心位置
  1850. // // console.log(center);
  1851. // map.getView().animate({
  1852. // // 只设置需要的属性即可
  1853. // center: center, // 中心点
  1854. // zoom: 9.8, // 缩放级别
  1855. // rotation: undefined, // 缩放完成view视图旋转弧度
  1856. // duration: 1000, // 缩放持续时间,默认不需要设置
  1857. // });
  1858. // }
  1859. // }
  1860. // }
  1861. // //获取镇界线----end
  1862. // //获取村界线----start
  1863. // if(this.mapVillageList.length >0){
  1864. // for (var i = 0; this.mapVillageList.length > i; i++) {
  1865. // if (this.mapVillageList[i] != null && this.mapVillageList[i].theGeom != null && this.mapVillageList[i].theGeom != "") {
  1866. // mapTalkAbout =false;
  1867. // this.mapVillageList[i].createBy = 'mapVillageList';
  1868. // var theGeomLine= this.mapVillageList[i].theGeom.replaceAll("MultiPolygon","LineString");
  1869. // theGeomLine = theGeomLine.replaceAll("[[[[","[[");
  1870. // theGeomLine = theGeomLine.replaceAll("]]]]","]]");
  1871. // hc_land = new ol.layer.Vector({
  1872. // title: "add Layer",
  1873. // source: new ol.source.Vector({
  1874. // projection: projection,
  1875. // features: new ol.format.GeoJSON().readFeatures("{\n" +
  1876. // " \"type\": \"Feature\",\n" +
  1877. // " \"geometry\":" + theGeomLine + ", \"properties\":" + JSON.stringify(this.mapVillageList[i]) + "}"),
  1878. // }),
  1879. // style: new ol.style.Style({
  1880. // fill: new ol.style.Fill({
  1881. // //矢量图层填充颜色,以及透明度
  1882. // color: "#AE57A4",
  1883. // }),
  1884. // stroke: new ol.style.Stroke({
  1885. // //边界样式
  1886. // color: "#ff00ff",
  1887. // width: 3,
  1888. // }),
  1889. // // text: new ol.style.Text({
  1890. // // text: this.mapVillageList[i].dcmj,
  1891. // // font: '30px sans-serif',
  1892. // // textAlign: "center",
  1893. // // textBaseline: "middle",
  1894. // // //font: 'verdana',
  1895. // // fill: new ol.style.Fill({
  1896. // // color: "#ff00ff"
  1897. // // }),
  1898. // // // backgroundFill: new ol.style.Fill({
  1899. // // // color: "#ff0000"
  1900. // // // }),
  1901. // // font: "30px sans-serif",
  1902. // // stroke: new ol.style.Stroke({
  1903. // // color: "#ffffff"
  1904. // // // width: 3
  1905. // // }),
  1906. // // offsetX: parseInt(0, 10),
  1907. // // offsetY: parseInt(0, 10),
  1908. // // placement: "line", //point 则自动计算面的中心k点然后标注 line 则根据面要素的边进行标注
  1909. // // overflow: false //超出面的部分不显示
  1910. // // }),
  1911. // }),
  1912. // });
  1913. // map.addLayer(hc_land);
  1914. // }
  1915. // }
  1916. // }
  1917. // // //获取村界线----end
  1918. // //宅基地定位开始 ---------start
  1919. // if(this.mapTheGeomZjdId.length >0) {
  1920. // for (var i = 0; this.mapTheGeomZjdId.length > i; i++) {
  1921. // if (this.mapTheGeomZjdId[i] !=null && this.mapTheGeomZjdId[i].theGeom != null && this.mapTheGeomZjdId[i].theGeom != "") {
  1922. // mapTalkAbout =false;
  1923. // this.mapTheGeomZjdId[i].createBy = 'mapTheGeomZjdId';
  1924. // var styleYqr = "";
  1925. // if(this.mapTheGeomZjdId[i].houseDataConfirmStatus == "CONFIRMED"){
  1926. // styleYqr = new ol.style.Style({
  1927. // fill: new ol.style.Fill({
  1928. // //矢量图层填充颜色,以及透明度
  1929. // color: "#AE57A4",
  1930. // }),
  1931. // stroke: new ol.style.Stroke({
  1932. // //边界样式
  1933. // color: "#28FF28",
  1934. // width: 3,
  1935. // }),
  1936. // });
  1937. // } else {
  1938. // styleYqr = new ol.style.Style({
  1939. // fill: new ol.style.Fill({
  1940. // //矢量图层填充颜色,以及透明度
  1941. // color: "#AE57A4",
  1942. // }),
  1943. // stroke: new ol.style.Stroke({
  1944. // //边界样式
  1945. // color: "rgba(255, 45, 45,1)",
  1946. // width: 3,
  1947. // }),
  1948. // });
  1949. // }
  1950. // hc_land = new ol.layer.Vector({
  1951. // title: "add Layer",
  1952. // source: new ol.source.Vector({
  1953. // projection: projection,
  1954. // features: new ol.format.GeoJSON().readFeatures("{\n" +
  1955. // " \"type\": \"Feature\",\n" +
  1956. // " \"geometry\":" + this.mapTheGeomZjdId[i].theGeom + ", \"properties\":" + JSON.stringify(this.mapTheGeomZjdId[i]) + "}"),
  1957. // }),
  1958. // style: styleYqr
  1959. // });
  1960. // map.addLayer(hc_land);
  1961. // // var maxXMap = hc_land.values_.source.featuresRtree_.rbush_.data.maxX;
  1962. // // var maxYMap = hc_land.values_.source.featuresRtree_.rbush_.data.maxY;
  1963. // // var minXMap = hc_land.values_.source.featuresRtree_.rbush_.data.minX;
  1964. // // var minYMap = hc_land.values_.source.featuresRtree_.rbush_.data.minY;
  1965. // // //定位查询位置
  1966. // // var center = ol.extent.getCenter([maxXMap, maxYMap, minXMap, minYMap]); //获取边界区域的中心位置
  1967. // // map.getView().animate({
  1968. // // // 只设置需要的属性即可
  1969. // // center: center, // 中心点
  1970. // // zoom: 15.8, // 缩放级别
  1971. // // rotation: undefined, // 缩放完成view视图旋转弧度
  1972. // // duration: 1000, // 缩放持续时间,默认不需要设置
  1973. // // });
  1974. // //自然幢定位开始 ---------start
  1975. // getZrzZjdDmList(this.mapTheGeomZjdId[i].zjddm).then((response) => {
  1976. // if (response.code == 200) {
  1977. // this.mapTheGeomZrzId = response.data;
  1978. // if(this.mapTheGeomZrzId.length >0) {
  1979. // for (var i = 0; this.mapTheGeomZrzId.length > i; i++) {
  1980. // if (this.mapTheGeomZrzId[i] !=null && this.mapTheGeomZrzId[i].theGeom != null && this.mapTheGeomZrzId[i].theGeom != "") {
  1981. // this.mapTheGeomZrzId[i].createBy = 'mapTheGeomZrzId';
  1982. // var styleZrz = "";
  1983. // if(this.mapTheGeomZjdId[i].houseDataConfirmStatus == "CONFIRMED"){
  1984. // styleZrz = new ol.style.Style({
  1985. // fill: new ol.style.Fill({
  1986. // //矢量图层填充颜色,以及透明度
  1987. // color: "#FFD306",
  1988. // }),
  1989. // stroke: new ol.style.Stroke({
  1990. // //边界样式
  1991. // color: "#28FF28",
  1992. // width: 3,
  1993. // }),
  1994. // });
  1995. // } else {
  1996. // styleZrz = new ol.style.Style({
  1997. // fill: new ol.style.Fill({
  1998. // //矢量图层填充颜色,以及透明度
  1999. // color: "#FFD306",
  2000. // }),
  2001. // stroke: new ol.style.Stroke({
  2002. // //边界样式
  2003. // color: "rgba(255, 45, 45,1)",
  2004. // width: 3,
  2005. // }),
  2006. // });
  2007. // }
  2008. // hc_land = new ol.layer.Vector({
  2009. // title: "add Layer",
  2010. // source: new ol.source.Vector({
  2011. // projection: projection,
  2012. // features: new ol.format.GeoJSON().readFeatures("{\n" +
  2013. // " \"type\": \"Feature\",\n" +
  2014. // " \"geometry\":" + this.mapTheGeomZrzId[i].theGeom + ", \"properties\":" + JSON.stringify(this.mapTheGeomZrzId[i]) + "}"),
  2015. // }),
  2016. // style: styleZrz
  2017. // });
  2018. // map.addLayer(hc_land);
  2019. // }
  2020. // }
  2021. // }
  2022. // }
  2023. // });
  2024. // //自然幢定位结束 ---------end
  2025. //
  2026. // //附属设施定位开始 ---------start
  2027. // getFsssZjdDmList(this.mapTheGeomZjdId[i].zjddm).then((response) => {
  2028. // if (response.code == 200) {
  2029. // this.mapTheGeomFsssId = response.data;
  2030. // if(this.mapTheGeomFsssId.length >0) {
  2031. // for (var i = 0; this.mapTheGeomFsssId.length > i; i++) {
  2032. // if (this.mapTheGeomFsssId[i] !=null && this.mapTheGeomFsssId[i].theGeom != null && this.mapTheGeomFsssId[i].theGeom != "") {
  2033. // this.mapTheGeomFsssId[i].createBy = 'mapTheGeomFsssId';
  2034. // var styleFsss = "";
  2035. // if(this.mapTheGeomZjdId[i].houseDataConfirmStatus == "CONFIRMED"){
  2036. // styleFsss = new ol.style.Style({
  2037. // fill: new ol.style.Fill({
  2038. // //矢量图层填充颜色,以及透明度
  2039. // color: "#00FFFF",
  2040. // }),
  2041. // stroke: new ol.style.Stroke({
  2042. // //边界样式
  2043. // color: "#28FF28",
  2044. // width: 3,
  2045. // }),
  2046. // });
  2047. // } else {
  2048. // styleFsss = new ol.style.Style({
  2049. // fill: new ol.style.Fill({
  2050. // //矢量图层填充颜色,以及透明度
  2051. // color: "#00FFFF",
  2052. // }),
  2053. // stroke: new ol.style.Stroke({
  2054. // //边界样式
  2055. // color: "rgba(255, 45, 45,1)",
  2056. // width: 3,
  2057. // }),
  2058. // });
  2059. // }
  2060. // hc_land = new ol.layer.Vector({
  2061. // title: "add Layer",
  2062. // source: new ol.source.Vector({
  2063. // projection: projection,
  2064. // features: new ol.format.GeoJSON().readFeatures("{\n" +
  2065. // " \"type\": \"Feature\",\n" +
  2066. // " \"geometry\":" + this.mapTheGeomFsssId[i].theGeom + ", \"properties\":" + JSON.stringify(this.mapTheGeomFsssId[i]) + "}"),
  2067. // }),
  2068. // style: styleFsss
  2069. // });
  2070. // map.addLayer(hc_land);
  2071. // }
  2072. // }
  2073. // }
  2074. // }
  2075. // });
  2076. // //附属设施定位结束 ---------end
  2077. // }
  2078. // }
  2079. // }
  2080. // //宅基地定位结束 ---------end
  2081. //数据库直接加载数据渲染方式---------------------------------------------------end
  2082. //地图操作定义------------start
  2083. //定位定义------------start
  2084. var Zb;
  2085. var latitude;
  2086. var longitude;
  2087. var vector_drawing;
  2088. //定位定义------------end
  2089. //绘图定义---------------start
  2090. var drawing;
  2091. var draw_map;
  2092. //绘图定义---------------end
  2093. //测面绘图定义------------start
  2094. var draw_cm;
  2095. //定义矢量图层
  2096. var vector;
  2097. //创建一个帮助提示信息对象
  2098. var helpTooltip;
  2099. //创建一个测量提示信息对象
  2100. var measureTooltip;
  2101. //创建一个帮助提示框对象
  2102. var helpTooltipElement;
  2103. //测出距离
  2104. var measureTooltipElement;
  2105. //测面绘图定义-----------end
  2106. //地图操作定义------------end
  2107. //定位当前位置 ------start
  2108. $("#dwMapAll").on("click", function () {
  2109. console.log("进入定位图层")
  2110. //删除测量记录操作--------start
  2111. //将矢量图层从图中删除
  2112. //map.removeLayer(helpTooltip);
  2113. map.removeLayer(vector);
  2114. map.removeInteraction(draw_cm);
  2115. //map.removeOverlay(helpTooltipElement);
  2116. //map.removeLayer(measureTooltip);
  2117. //删除测量记录操作--------end
  2118. //删除绘制图层画图操作-------start
  2119. map.removeInteraction(draw_map);
  2120. map.removeLayer(drawing);
  2121. //删除绘制图层画图操作-------end
  2122. //开始定位当前位置
  2123. navigator.geolocation.getCurrentPosition(function(position) {
  2124. latitude = position.coords.latitude;// 获取纬度
  2125. longitude = position.coords.longitude;// 获取经度
  2126. });
  2127. if(latitude !=null && longitude !=null && latitude !="" && longitude !=""){
  2128. Zb = [longitude,latitude];
  2129. }else {
  2130. Zb =[115.452752, 31.789033];
  2131. }
  2132. //矢量标注样式设置函数,设置image为图标ol.style.Icon
  2133. function createLabelStyle() {
  2134. return new ol.style.Style({
  2135. image: new ol.style.Icon({
  2136. //设置图标偏移
  2137. anchor: [0.5, 1],
  2138. //标注样式的起点位置
  2139. anchorOrigin: "top-right",
  2140. //X方向单位:分数
  2141. anchorXUnits: "fraction",
  2142. //Y方向单位:像素
  2143. anchorYUnits: "pixels",
  2144. //偏移起点位置的方向
  2145. offsetOrigin: "top-right",
  2146. //透明度
  2147. opacity: 0.9,
  2148. //图片路径
  2149. src: require("../../assets/images/housesteadSurvey/mark.png"),
  2150. }),
  2151. text: new ol.style.Text({
  2152. textAlign: "center", //位置
  2153. textBaseline: "middle", //基准线
  2154. font: "normal 12px 微软雅黑", //文字样式
  2155. //text: "标注点", //文本内容
  2156. fill: new ol.style.Fill({
  2157. //文本填充样式(即文字颜色)
  2158. color: "#ff0000",
  2159. }),
  2160. }),
  2161. zIndex: 9999,
  2162. });
  2163. }
  2164. var newcenterFeature = new ol.Feature({
  2165. geometry: new ol.geom.Point(ol.proj.fromLonLat(Zb)), //几何信息
  2166. name: "标注点",
  2167. });
  2168. var sourceMapLook = new ol.source.Vector({wrapX: false});
  2169. vector_drawing = new ol.layer.Vector({
  2170. source: sourceMapLook,
  2171. });
  2172. map.addLayer(vector_drawing);
  2173. newcenterFeature.setStyle(createLabelStyle()); //设置要素样式
  2174. sourceMapLook.addFeature(newcenterFeature);
  2175. map.getView().animate({
  2176. // 只设置需要的属性即可
  2177. center: ol.proj.fromLonLat(Zb), // 中心点
  2178. zoom: 17.8, // 缩放级别
  2179. rotation: undefined, // 缩放完成view视图旋转弧度
  2180. duration: 1000, // 缩放持续时间,默认不需要设置
  2181. });
  2182. });
  2183. //定位当前位置 ------end
  2184. //开始绘制图层- -----start
  2185. $("#htMapAll").on("click", function () {
  2186. console.log("进入绘制图层")
  2187. //删除之前 测距操作添加map中的绘图 --------start
  2188. //map.removeLayer(helpTooltip);
  2189. map.removeLayer(vector);
  2190. map.removeInteraction(draw_cm);
  2191. //map.removeOverlay(helpTooltipElement);
  2192. map.removeLayer(measureTooltipElement);
  2193. //删除之前 测距操作添加map中的绘图 --------end
  2194. //删除之前画图图层,重新绘制图层
  2195. map.removeInteraction(draw_map);
  2196. map.removeLayer(drawing);
  2197. //var source = new ol.source.Vector({wrapX: false});
  2198. drawing = new ol.layer.Vector({
  2199. source: new ol.source.Vector(),
  2200. });
  2201. map.addLayer(drawing);
  2202. function addInteraction() {
  2203. draw_map = new ol.interaction.Draw({
  2204. source: drawing.getSource(),
  2205. type: "Polygon",
  2206. });
  2207. draw_map.on("drawend", function (evt) {
  2208. var feature = evt.feature;
  2209. var geometry = feature.getGeometry();
  2210. that.coordinate = geometry.getCoordinates();
  2211. //_this.coordinateList = coordinate.toString();
  2212. //提示当前坐标是否绘制完成
  2213. if(that.coordinate != "" && that.coordinate !=null) {
  2214. that.showhzht = true;
  2215. // htMapAllFu();
  2216. }else {
  2217. console.log("6");
  2218. $("#htMapAll").trigger("click");
  2219. }
  2220. });
  2221. map.addInteraction(draw_map);
  2222. }
  2223. function htMapAllFu() {
  2224. //that.drawMapPolygonFun();
  2225. //绘制多边形地图
  2226. that.$dialog
  2227. .confirm({
  2228. title: "提示",
  2229. message: "是否重新绘制画图",
  2230. })
  2231. .then(() => {
  2232. //$("#drawRemove").trigger("click");
  2233. map.removeInteraction(draw_map);
  2234. that.coordinate = "";
  2235. })
  2236. .catch(() => {
  2237. //删除画图点
  2238. map.removeInteraction(draw_map);
  2239. });
  2240. }
  2241. addInteraction();
  2242. });
  2243. //开始绘制图层- -----end
  2244. //清除画图鼠标点击事件
  2245. // $("#drawRemove").click(function () {
  2246. // map.removeLayer(drawing);
  2247. // });
  2248. //
  2249. // //获取类型开始 侧面-----------------------------------------------------------------start
  2250. $("#area").click(function () {
  2251. console.log("进入测面");
  2252. });
  2253. // $("#area").click(function () {
  2254. // console.log("进入测面")
  2255. // //删除绘制图层画图操作-------start
  2256. // map.removeInteraction(draw_map);
  2257. // map.removeLayer(drawing);
  2258. // //删除绘制图层画图操作-------end
  2259. // //开始绘制 测面--------------------------------------------------------------start
  2260. // //定义矢量数据源
  2261. // var source = new ol.source.Vector();
  2262. //
  2263. // vector = new ol.layer.Vector({
  2264. // source: source,
  2265. // style: new ol.style.Style({
  2266. // fill: new ol.style.Fill({
  2267. // color: "rgba(255,255,255,0.2)",
  2268. // }),
  2269. // stroke: new ol.style.Stroke({
  2270. // color: "#e21e0a",
  2271. // width: 2,
  2272. // }),
  2273. // //image: new ol.style.Circle({
  2274. // // radius: 7,
  2275. // // fill: new ol.style.Fill({
  2276. // // color:'#ffcc33'
  2277. // // })
  2278. // //})
  2279. // }),
  2280. // });
  2281. //
  2282. // //将矢量图层添加到地图中 线的颜色加入map中
  2283. // map.addLayer(vector);
  2284. //
  2285. // var sketch;
  2286. //
  2287. // var continuePolygonMsg = "单击以继续绘制多边形";
  2288. //
  2289. // /**
  2290. // * Message to show when the user is drawing a line.
  2291. // * @type {string}
  2292. // */
  2293. // //var continueLineMsg = '单击继续绘制直线';
  2294. //
  2295. // //鼠标移动触发的函数
  2296. // var pointerMoveHandler = function (evt) {
  2297. // //Indicates if the map is currently being dragged.
  2298. // //Only set for POINTERDRAG and POINTERMOVE events. Default is false.
  2299. // //如果是平移地图则直接结束
  2300. // if (evt.dragging) {
  2301. // return;
  2302. // }
  2303. // //帮助提示信息
  2304. // var helpMsg = "单击开始绘图";
  2305. //
  2306. // if (sketch) {
  2307. // //Get the feature's default geometry.
  2308. // //A feature may have any number of named geometries.
  2309. // //获取绘图对象的几何要素
  2310. // var geom = sketch.getGeometry();
  2311. // //如果当前绘制的几何要素是多边形,则将绘制提示信息设置为多边形绘制提示信息
  2312. // //如果当前绘制的几何要素是多线段,则将绘制提示信息设置为多线段绘制提示信息
  2313. // helpMsg = continuePolygonMsg;
  2314. // }
  2315. // //设置帮助提示要素的内标签为帮助提示信息
  2316. // helpTooltipElement.innerHTML = helpMsg;
  2317. // //设置帮助提示信息的位置
  2318. // //The coordinate in view projection corresponding to the original browser event.
  2319. // helpTooltip.setPosition(evt.coordinate);
  2320. // //移除帮助提示要素的隐藏样式
  2321. // $(helpTooltipElement).removeClass("hidden");
  2322. // };
  2323. //
  2324. // map.on("pointermove", pointerMoveHandler);
  2325. //
  2326. // map.getViewport().addEventListener("mouseout", function () {
  2327. // helpTooltipElement.classList.add("hidden");
  2328. // });
  2329. //
  2330. // //添加交互式绘图对象的函数
  2331. // function addInteraction() {
  2332. // // 获取当前选择的绘制类型
  2333. // //var type = typeSelect.value == 'length' ? 'Polygon' : 'LineString';
  2334. // //创建一个交互式绘图对象
  2335. // var type = "Polygon";
  2336. // draw_cm = new ol.interaction.Draw({
  2337. // //绘制的数据源
  2338. // source: source,
  2339. // //绘制类型
  2340. // type: type,
  2341. // //样式
  2342. // style: new ol.style.Style({
  2343. // fill: new ol.style.Fill({
  2344. // color: "rgba(255,255,255,0.2)",
  2345. // }),
  2346. // stroke: new ol.style.Stroke({
  2347. // color: "rgba(0,0,0,0.5)",
  2348. // lineDash: [10, 10],
  2349. // width: 2,
  2350. // }),
  2351. // // image: new ol.style.Circle({
  2352. // // radius: 5,
  2353. // // stroke: new ol.style.Stroke({
  2354. // // color:'rgba(0,0,0,0.7)'
  2355. // // }),
  2356. // // fill: new ol.style.Fill({
  2357. // //color: 'rgba(255,255,255,0.2)'
  2358. // // })
  2359. // //})
  2360. // }),
  2361. // });
  2362. // //将交互绘图对象添加到地图中
  2363. // map.addInteraction(draw_cm);
  2364. //
  2365. // //创建测量提示框
  2366. // createMeasureTooltip();
  2367. // //创建帮助提示框
  2368. // createHelpTooltip();
  2369. //
  2370. // //定义一个事件监听
  2371. // var listener;
  2372. // //定义一个控制鼠标点击次数的变量
  2373. // var count = 0;
  2374. // //绘制开始事件
  2375. // draw_cm.on(
  2376. // "drawstart",
  2377. // function (evt) {
  2378. // //The feature being drawn.
  2379. // sketch = evt.feature;
  2380. // //提示框的坐标
  2381. // var tooltipCoord = evt.coordinate;
  2382. // //监听几何要素的change事件
  2383. // //Increases the revision counter and dispatches a 'change' event.
  2384. //
  2385. // listener = sketch.getGeometry().on("change", function (evt) {
  2386. // //The event target.
  2387. // //获取绘制的几何对象
  2388. // var geom = evt.target;
  2389. // //定义一个输出对象,用于记录面积和长度
  2390. // var output;
  2391. // map.removeEventListener("singleclick");
  2392. // map.removeEventListener("dblclick");
  2393. // //输出多边形的面积
  2394. // output = formatArea(geom);
  2395. // //Return an interior point of the polygon.
  2396. // //获取多变形内部点的坐标
  2397. // tooltipCoord = geom.getInteriorPoint().getCoordinates();
  2398. //
  2399. // //设置测量提示框的内标签为最终输出结果
  2400. // measureTooltipElement.innerHTML = output;
  2401. // //设置测量提示信息的位置坐标
  2402. // measureTooltip.setPosition(tooltipCoord);
  2403. // });
  2404. //
  2405. // //地图单击事件
  2406. // map.on("singleclick", function (evt) {
  2407. // //设置测量提示信息的位置坐标,用来确定鼠标点击后测量提示框的位置
  2408. // measureTooltip.setPosition(evt.coordinate);
  2409. // //如果是第一次点击,则设置测量提示框的文本内容为起点
  2410. // if (count == 0) {
  2411. // measureTooltipElement.innerHTML = "起点";
  2412. // }
  2413. // //根据鼠标点击位置生成一个点
  2414. // var point = new ol.geom.Point(evt.coordinate);
  2415. // //将该点要素添加到矢量数据源中
  2416. // source.addFeature(new ol.Feature(point));
  2417. // //更改测量提示框的样式,使测量提示框可见
  2418. // measureTooltipElement.className = "tooltip tooltip-static";
  2419. // //创建测量提示框
  2420. // createMeasureTooltip();
  2421. // //点击次数增加
  2422. // count++;
  2423. // });
  2424. //
  2425. // //地图双击事件
  2426. // map.on("dblclick", function (evt) {
  2427. // //根据
  2428. // var point = new ol.geom.Point(evt.coordinate);
  2429. // source.addFeature(new ol.Feature(point));
  2430. // });
  2431. // },
  2432. // this
  2433. // );
  2434. // //绘制结束事件
  2435. // draw_cm.on(
  2436. // "drawend",
  2437. // function (evt) {
  2438. // count = 0;
  2439. // //设置测量提示框的样式
  2440. // measureTooltipElement.className = "tooltip tooltip-static";
  2441. // //Set the offset for this overlay.
  2442. // //设置偏移量
  2443. // measureTooltip.setOffset([0, -7]);
  2444. // //清空绘制要素
  2445. // sketch = null;
  2446. // //清空测量提示要素
  2447. // measureTooltipElement = null;
  2448. // //创建测量提示框
  2449. // createMeasureTooltip();
  2450. // //Removes an event listener using the key returned by on() or once().
  2451. // //移除事件监听
  2452. // ol.Observable.unByKey(listener);
  2453. // //移除地图单击事件
  2454. // map.removeEventListener("singleclick");
  2455. // },
  2456. // this
  2457. // );
  2458. // }
  2459. // /**
  2460. // * Creates a new help tooltip
  2461. // */
  2462. // function createHelpTooltip() {
  2463. // if (helpTooltipElement) {
  2464. // helpTooltipElement.parentNode.removeChild(helpTooltipElement);
  2465. // }
  2466. // helpTooltipElement = document.createElement("div");
  2467. // helpTooltipElement.className = "ol-tooltip hidden";
  2468. // helpTooltip = new ol.Overlay({
  2469. // element: helpTooltipElement,
  2470. // offset: [15, 0],
  2471. // positioning: "center-left",
  2472. // });
  2473. // map.addOverlay(helpTooltip);
  2474. // }
  2475. //
  2476. // /**
  2477. // * Creates a new measure tooltip
  2478. // */
  2479. // function createMeasureTooltip() {
  2480. // if (measureTooltipElement) {
  2481. // measureTooltipElement.parentNode.removeChild(measureTooltipElement);
  2482. // }
  2483. // measureTooltipElement = document.createElement("div");
  2484. // measureTooltipElement.className = "ol-tooltip ol-tooltip-measure";
  2485. // measureTooltip = new ol.Overlay({
  2486. // element: measureTooltipElement,
  2487. // offset: [0, -15],
  2488. // positioning: "bottom-center",
  2489. // });
  2490. // map.addOverlay(measureTooltip);
  2491. // }
  2492. //
  2493. // //格式化测量面积
  2494. // var formatArea = function (polygon) {
  2495. // //定义面积变量
  2496. // var area;
  2497. // //获取平面面积
  2498. // area = polygon.getArea();
  2499. // //定义输出变量
  2500. // var output;
  2501. // //当面积大于10000时,转换为平方千米,否则为平方米
  2502. // if (area > 10000) {
  2503. // output =
  2504. // Math.round((area / 1000000) * 100) / 100 + " " + "km<sup>2</sup>";
  2505. // } else {
  2506. // output = Math.round(area * 100) / 100 + " " + "m<sup>2</sup>";
  2507. // }
  2508. // return output;
  2509. // };
  2510. //
  2511. // addInteraction();
  2512. // });
  2513. // //侧面结束-----------------------------------------------------------------end
  2514. //全图展示-----------------start
  2515. $("#mapAllQt").click(function (){
  2516. //定位查询位置
  2517. let param_dw = {
  2518. srsName: "EPSG:3857",
  2519. service: "WFS",
  2520. version: "1.0.0",
  2521. request: "GetFeature",
  2522. typename: "zjd_dc:t_house_survey_border_village",
  2523. //featureNS: 'nsgk_hc',//命名空间 URI
  2524. //cql_filter: cql_filter,
  2525. //featurePrefix: 'nationalwater',//工作区名称
  2526. //featureTypes: ['nationalwater:01fir'],//查询图层,可以是同一个工作区下多个图层,逗号隔开
  2527. outputFormat: "application/json",
  2528. //filter: ol.format.filter.equalTo(t,e,r)//前者是属性名,后者是对应值
  2529. };
  2530. let url_dw = "http://116.255.223.226:8080/geoserver/zjd_dc/wfs"; //wfsurl;
  2531. url_dw = url_dw + "?";
  2532. for (let key in param_dw) {
  2533. url_dw = url_dw + key + "=" + param_dw[key] + "&";
  2534. }
  2535. url_dw = url_dw.substr(0, url_dw.length - 1);
  2536. fetch(url_dw, {
  2537. method: "POST", // *GET, POST, PUT, DELETE, etc.
  2538. })
  2539. .then((res) => {
  2540. var geojsonmap = res.json();
  2541. return geojsonmap;
  2542. })
  2543. .then((data) => {
  2544. let resolution = map.getView().getResolutionForExtent(data.bbox,map.getSize());
  2545. map.getView().fit(data.bbox);
  2546. map.getView().setResolution(resolution);
  2547. // var datamap = data.bbox;
  2548. // var center = ol.extent.getCenter(datamap);
  2549. // map.getView().animate({
  2550. // // 只设置需要的属性即可
  2551. // center: center, // 中心点
  2552. // rotation: undefined, // 缩放完成view视图旋转弧度
  2553. // });
  2554. })
  2555. .catch((error) => {
  2556. console.log("【异常】", error);
  2557. });
  2558. });
  2559. //业务图层 wfs服务 属性查询开始 ------------------start
  2560. /**
  2561. * @api wfs服务空间查询
  2562. * @param {*} wfsurl
  2563. * @param {*} srsName
  2564. * @param {*} typeName
  2565. * @param {*} drawType
  2566. * @param {option 可选} geometryField
  2567. */
  2568. var wmsSource = new ol.source.TileWMS({
  2569. url: "http://116.255.223.226:8080/geoserver/zjd_dc/wms",
  2570. params: {
  2571. LAYERS: "zjd_dc:t_house_survey_all",
  2572. TILED: true,
  2573. SRID: 3857,
  2574. serverType: "geoserver",
  2575. crossOrigin: "anonymous",
  2576. },
  2577. });
  2578. map.on("pointermove", function (evt) {
  2579. if (evt.dragging) {
  2580. return;
  2581. }
  2582. var pixel = map.getEventPixel(evt.originalEvent);
  2583. var hit = map.forEachLayerAtPixel(pixel, function () {
  2584. return true;
  2585. });
  2586. map.getTargetElement().style.cursor = hit ? "pointer" : "";
  2587. });
  2588. //属性查询结束 ------------------end
  2589. //点击查询详细信息
  2590. map.on("singleclick", function (evt) {
  2591. let feature = map.forEachFeatureAtPixel(
  2592. evt.pixel,
  2593. (feature) => feature
  2594. );
  2595. var viewResolution = map.getView().getResolution(); ///** @type {number} */ (view.getResolution());
  2596. var zb = evt.coordinate;
  2597. var url = wmsSource.getFeatureInfoUrl(
  2598. evt.coordinate,
  2599. viewResolution,
  2600. "EPSG:3857",
  2601. { INFO_FORMAT: "text/html" }
  2602. );
  2603. if (url) {
  2604. fetch(url)
  2605. .then(function (response) {
  2606. return response.text();
  2607. })
  2608. .then(function (html) {
  2609. document.getElementById("info").innerHTML = html;
  2610. if (html.indexOf("<table") != -1) {
  2611. setTimeout(() => {
  2612. if ($("#info .featureInfo .featureInfo").text() == "t_house_survey_zjdzd") {
  2613. that.mapHasDateStatus = 2;
  2614. let obj = {};
  2615. let trs = $("#info .featureInfo").find("tr:eq(1)");
  2616. let zjdXq = trs.find("td").eq(0).text();
  2617. let zjdIdNum = zjdXq.replace("t_house_survey_zjdzd.", "");
  2618. obj.id = zjdIdNum; // 主键id
  2619. obj.deptName = trs.find("td").eq(3).text();//行政区划名称
  2620. obj.suyqrdm = trs.find("td").eq(4).text();//所有权人代码
  2621. obj.nhdm = trs.find("td").eq(5).text();//农户代码
  2622. obj.zjddm = trs.find("td").eq(6).text();//宅基地代码
  2623. obj.zdbh = trs.find("td").eq(7).text();//宗地编号
  2624. obj.zddm = trs.find("td").eq(8).text();//宗地代码
  2625. obj.zl = trs.find("td").eq(9).text();//坐落
  2626. obj.zldwdm = trs.find("td").eq(10).text();//坐落单位代码
  2627. obj.zdmj = trs.find("td").eq(11).text();//宗地面积
  2628. obj.yt = trs.find("td").eq(12).text();//用途
  2629. obj.ytmc = trs.find("td").eq(13).text();//用途名称
  2630. obj.dj = trs.find("td").eq(14).text();//宗地编号
  2631. obj.jg = trs.find("td").eq(15).text();//价格万元
  2632. obj.qllx = trs.find("td").eq(16).text();//权利类型
  2633. obj.qlxz = trs.find("td").eq(17).text();//权利性质
  2634. obj.qlsdfs = trs.find("td").eq(18).text();//权利设定方式
  2635. obj.rjl = trs.find("td").eq(19).text();//容积率
  2636. obj.jzmd = trs.find("td").eq(20).text();//建筑密度
  2637. obj.jzxg = trs.find("td").eq(21).text();//建筑限高
  2638. obj.zdszd = trs.find("td").eq(22).text();//宗地四至-东
  2639. obj.zdszn = trs.find("td").eq(23).text();//宗地四至-南
  2640. obj.zdszx = trs.find("td").eq(24).text();//宗地四至-西
  2641. obj.zdszb = trs.find("td").eq(25).text();//宗地四至-北
  2642. obj.zdt = trs.find("td").eq(26).text();//宗地图
  2643. obj.tfh = trs.find("td").eq(27).text();//图幅号
  2644. obj.djh = trs.find("td").eq(28).text();//地籍号
  2645. obj.sjly = trs.find("td").eq(29).text();//数据来源
  2646. obj.lyzk = trs.find("td").eq(30).text();//当前利用状况
  2647. obj.xzkssj = trs.find("td").eq(31).text();//闲置开始时间
  2648. obj.sffz = trs.find("td").eq(32).text();//是否发证
  2649. obj.zjdzsh = trs.find("td").eq(33).text();//宅基地证书号
  2650. obj.bz = trs.find("td").eq(34).text();//备注
  2651. obj.houseDataConfirmStatus = trs.find("td").eq(40).text();//调查情况
  2652. obj.zjdxctp =trs.find("td").eq(41).text();//宅基地现场图片
  2653. obj.zjdqdfs = trs.find("td").eq(42).text();//宅基地取得方式
  2654. obj.bccjl = trs.find("td").eq(43).text();//被惩处经历
  2655. obj.bccbz = trs.find("td").eq(44).text();//被惩处备注
  2656. obj.yctcyx = trs.find("td").eq(45).text();//有偿退出意向
  2657. obj.zjdpzmj = trs.find("td").eq(46).text();//宅基地批准面积
  2658. obj.zjdxzyy = trs.find("td").eq(47).text();//宅基地闲置原因
  2659. obj.lzyx = trs.find("td").eq(48).text();//流转意向
  2660. obj.sysNormalDisable = trs.find("td").eq(49).text();//是否停用
  2661. //字典项转化
  2662. //是否发证字典项
  2663. that.getDicts("sys_yes_no").then((response) => {
  2664. var assetTypeOptions = response.data;
  2665. if(obj.sffz !=null && obj.sffz !=""){
  2666. for(var i=0;assetTypeOptions.length >i; i++){
  2667. if(obj.sffz == assetTypeOptions[i].dictValue) {
  2668. obj.sffz = assetTypeOptions[i].dictLabel;
  2669. break;
  2670. }
  2671. }
  2672. }
  2673. });
  2674. //利用状态字典项
  2675. that.getDicts("zjdlyzk").then((response) => {
  2676. var assetTypeOptions = response.data;
  2677. if(obj.lyzk !=null && obj.lyzk !=""){
  2678. for(var i=0;assetTypeOptions.length >i; i++){
  2679. if(obj.lyzk == assetTypeOptions[i].dictValue) {
  2680. obj.lyzk = assetTypeOptions[i].dictLabel;
  2681. break;
  2682. }
  2683. }
  2684. }
  2685. });
  2686. //流转意向字典项
  2687. that.getDicts("is_have").then((response) => {
  2688. var assetTypeOptions = response.data;
  2689. if(obj.lzyx !=null && obj.lzyx !=""){
  2690. for(var i=0;assetTypeOptions.length >i; i++){
  2691. if(obj.lzyx == assetTypeOptions[i].dictValue) {
  2692. obj.lzyx = assetTypeOptions[i].dictLabel;
  2693. break;
  2694. }
  2695. }
  2696. }
  2697. });
  2698. //有偿退出意向字典项
  2699. that.getDicts("is_have").then((response) => {
  2700. var assetTypeOptions = response.data;
  2701. if(obj.yctcyx !=null && obj.yctcyx !=""){
  2702. for(var i=0;assetTypeOptions.length >i; i++){
  2703. if(obj.yctcyx == assetTypeOptions[i].dictValue) {
  2704. obj.yctcyx = assetTypeOptions[i].dictLabel;
  2705. break;
  2706. }
  2707. }
  2708. }
  2709. });
  2710. //被惩处经历字典项
  2711. that.getDicts("is_have").then((response) => {
  2712. var assetTypeOptions = response.data;
  2713. if(obj.bccjl !=null && obj.bccjl !=""){
  2714. for(var i=0;assetTypeOptions.length >i; i++){
  2715. if(obj.bccjl == assetTypeOptions[i].dictValue) {
  2716. obj.bccjl = assetTypeOptions[i].dictLabel;
  2717. break;
  2718. }
  2719. }
  2720. }
  2721. });
  2722. //宅基地取得方式字典项
  2723. that.getDicts("acquisition_method").then((response) => {
  2724. var assetTypeOptions = response.data;
  2725. if(obj.zjdqdfs !=null && obj.zjdqdfs !=""){
  2726. for(var i=0;assetTypeOptions.length >i; i++){
  2727. if(obj.zjdqdfs == assetTypeOptions[i].dictValue) {
  2728. obj.zjdqdfs = assetTypeOptions[i].dictLabel;
  2729. break;
  2730. }
  2731. }
  2732. }
  2733. });
  2734. //权利设定方式字典项
  2735. that.getDicts("right_setting_mode").then((response) => {
  2736. var assetTypeOptions = response.data;
  2737. if(obj.qlsdfs !=null && obj.qlsdfs !=""){
  2738. for(var i=0;assetTypeOptions.length >i; i++){
  2739. if(obj.qlsdfs == assetTypeOptions[i].dictValue) {
  2740. obj.qlsdfs = assetTypeOptions[i].dictLabel;
  2741. break;
  2742. }
  2743. }
  2744. }
  2745. });
  2746. //数据来源字典项
  2747. that.getDicts("sjly").then((response) => {
  2748. var assetTypeOptions = response.data;
  2749. if(obj.sjly !=null && obj.sjly !=""){
  2750. for(var i=0;assetTypeOptions.length >i; i++){
  2751. if(obj.sjly == assetTypeOptions[i].dictValue) {
  2752. obj.sjly = assetTypeOptions[i].dictLabel;
  2753. break;
  2754. }
  2755. }
  2756. }
  2757. });
  2758. let cloneObj = JSON.parse(JSON.stringify(obj));
  2759. that.mapZjdData = cloneObj;
  2760. } else if($("#info .featureInfo .featureInfo").text() == "t_house_survey_zrz"){
  2761. let obj = {};
  2762. that.mapHasDateStatus = 1;
  2763. let trs = $("#info .featureInfo").find("tr:eq(1)");
  2764. let zrzXq = trs.find("td").eq(0).text();
  2765. let zrzIdNum = zrzXq.replace("t_house_survey_zrz.", "");
  2766. obj.id = zrzIdNum; // 主键id
  2767. obj.deptName = trs.find("td").eq(3).text();//行政区划名称
  2768. obj.zjddm = trs.find("td").eq(5).text();//宅基地代码
  2769. obj.nmfwzh = trs.find("td").eq(6).text();//农民房屋幢号
  2770. obj.zrzh = trs.find("td").eq(7).text();//自然幢号
  2771. obj.jgrq = trs.find("td").eq(8).text();//竣工日期
  2772. obj.jzwgd = trs.find("td").eq(9).text();//建筑物高度
  2773. obj.zzdmj = trs.find("td").eq(10).text();//幢占地面积
  2774. obj.zydmj = trs.find("td").eq(11).text();//幢用地面积
  2775. obj.scjzmj = trs.find("td").eq(12).text();//实测建筑面积
  2776. obj.zcs = trs.find("td").eq(13).text();//总层数
  2777. obj.dscs = trs.find("td").eq(14).text();//地上层数
  2778. obj.dxcs = trs.find("td").eq(15).text();//地下层数
  2779. obj.fwjg = trs.find("td").eq(16).text();//房屋结构
  2780. obj.sjly = trs.find("td").eq(17).text();//数据来源
  2781. obj.bz = trs.find("td").eq(18).text();//备注
  2782. obj.status = trs.find("td").eq(19).text();//状态
  2783. obj.houseDataConfirmStatus = trs.find("td").eq(24).text();//数据调查确认状态
  2784. //字典项转化
  2785. //房屋结构字典项
  2786. that.getDicts("housing_structure").then((response) => {
  2787. var assetTypeOptions = response.data;
  2788. if(obj.fwjg !=null && obj.fwjg !=""){
  2789. for(var i=0;assetTypeOptions.length >i; i++){
  2790. if(obj.fwjg == assetTypeOptions[i].dictValue) {
  2791. obj.fwjg = assetTypeOptions[i].dictLabel;
  2792. break;
  2793. }
  2794. }
  2795. }
  2796. });
  2797. //房屋结构字典项
  2798. that.getDicts("sjly").then((response) => {
  2799. var assetTypeOptions = response.data;
  2800. if(obj.sjly !=null && obj.sjly !=""){
  2801. for(var i=0;assetTypeOptions.length >i; i++){
  2802. if(obj.sjly == assetTypeOptions[i].dictValue) {
  2803. obj.sjly = assetTypeOptions[i].dictLabel;
  2804. break;
  2805. }
  2806. }
  2807. }
  2808. });
  2809. let cloneObj = JSON.parse(JSON.stringify(obj));
  2810. that.mapZrzData = cloneObj;
  2811. } else if($("#info .featureInfo .featureInfo").text() == "t_house_survey_fsss"){
  2812. let obj = {};
  2813. that.mapHasDateStatus = 0;
  2814. let trs = $("#info .featureInfo").find("tr:eq(1)");
  2815. let fsssXq = trs.find("td").eq(0).text();
  2816. let fsssIdNum = fsssXq.replace("t_house_survey_fsss.", "");
  2817. obj.id = fsssIdNum; // 主键id
  2818. obj.deptName = trs.find("td").eq(4).text();//行政区划名称
  2819. obj.zjddm = trs.find("td").eq(2).text();//宅基地代码
  2820. obj.houseDataConfirmStatus = trs.find("td").eq(6).text(); //状态
  2821. obj.fssslx = trs.find("td").eq(7).text(); //附属设施类型
  2822. obj.jzmj = trs.find("td").eq(8).text(); //建筑面积
  2823. obj.qsly = trs.find("td").eq(9).text();//权属来源
  2824. obj.fwzt = trs.find("td").eq(10).text(); //房屋状态
  2825. obj.sfsp = trs.find("td").eq(11).text(); //是否审批
  2826. obj.sffz = trs.find("td").eq(12).text(); //是否发证
  2827. obj.jglx = trs.find("td").eq(13).text(); //结构类型
  2828. obj.sfzzsy = trs.find("td").eq(14).text(); //是否正在使用
  2829. obj.jzwqk = trs.find("td").eq(15).text(); //建筑物情况
  2830. obj.tdzk = trs.find("td").eq(16).text(); //审批或建设前土地状况
  2831. obj.sfsgcf = trs.find("td").eq(17).text(); //是否受过处罚
  2832. obj.remark = trs.find("td").eq(18).text(); //备注
  2833. obj.sysNormalDisable = trs.find("td").eq(19).text(); //是否停用
  2834. //附属设施类型字典项
  2835. that.getDicts("fsss_type").then((response) => {
  2836. var assetTypeOptions = response.data;
  2837. if(obj.fssslx !=null && obj.fssslx !=""){
  2838. for(var i=0;assetTypeOptions.length >i; i++){
  2839. if(obj.fssslx == assetTypeOptions[i].dictValue) {
  2840. obj.fssslx = assetTypeOptions[i].dictLabel;
  2841. break;
  2842. }
  2843. }
  2844. }
  2845. });
  2846. //权属类型字典项
  2847. that.getDicts("acquisition_method").then((response) => {
  2848. var assetTypeOptions = response.data;
  2849. if(obj.qsly !=null && obj.qsly !=""){
  2850. for(var i=0;assetTypeOptions.length >i; i++){
  2851. if(obj.qsly == assetTypeOptions[i].dictValue) {
  2852. obj.qsly = assetTypeOptions[i].dictLabel;
  2853. break;
  2854. }
  2855. }
  2856. }
  2857. });
  2858. //房屋状态字典项
  2859. that.getDicts("fwzt").then((response) => {
  2860. var assetTypeOptions = response.data;
  2861. if(obj.fwzt !=null && obj.fwzt !=""){
  2862. for(var i=0;assetTypeOptions.length >i; i++){
  2863. if(obj.fwzt == assetTypeOptions[i].dictValue) {
  2864. obj.fwzt = assetTypeOptions[i].dictLabel;
  2865. break;
  2866. }
  2867. }
  2868. }
  2869. });
  2870. //是否审批字典项
  2871. that.getDicts("sys_yes_no").then((response) => {
  2872. var assetTypeOptions = response.data;
  2873. if(obj.sfsp !=null && obj.sfsp !=""){
  2874. for(var i=0;assetTypeOptions.length >i; i++){
  2875. if(obj.sfsp == assetTypeOptions[i].dictValue) {
  2876. obj.sfsp = assetTypeOptions[i].dictLabel;
  2877. break;
  2878. }
  2879. }
  2880. }
  2881. });
  2882. //是否发证字典项
  2883. that.getDicts("sys_yes_no").then((response) => {
  2884. var assetTypeOptions = response.data;
  2885. if(obj.sffz !=null && obj.sffz !=""){
  2886. for(var i=0;assetTypeOptions.length >i; i++){
  2887. if(obj.sffz == assetTypeOptions[i].dictValue) {
  2888. obj.sffz = assetTypeOptions[i].dictLabel;
  2889. break;
  2890. }
  2891. }
  2892. }
  2893. });
  2894. //结构类型字典项
  2895. that.getDicts("house_jglx").then((response) => {
  2896. var assetTypeOptions = response.data;
  2897. if(obj.jglx !=null && obj.jglx !=""){
  2898. for(var i=0;assetTypeOptions.length >i; i++){
  2899. if(obj.jglx == assetTypeOptions[i].dictValue) {
  2900. obj.jglx = assetTypeOptions[i].dictLabel;
  2901. break;
  2902. }
  2903. }
  2904. }
  2905. });
  2906. //是否正在使用字典项
  2907. that.getDicts("sys_yes_no").then((response) => {
  2908. var assetTypeOptions = response.data;
  2909. if(obj.sfzzsy !=null && obj.sfzzsy !=""){
  2910. for(var i=0;assetTypeOptions.length >i; i++){
  2911. if(obj.sfzzsy == assetTypeOptions[i].dictValue) {
  2912. obj.sfzzsy = assetTypeOptions[i].dictLabel;
  2913. break;
  2914. }
  2915. }
  2916. }
  2917. });
  2918. //房屋状态字典项
  2919. that.getDicts("fwzt").then((response) => {
  2920. var assetTypeOptions = response.data;
  2921. if(obj.fwzt !=null && obj.fwzt !=""){
  2922. for(var i=0;assetTypeOptions.length >i; i++){
  2923. if(obj.fwzt == assetTypeOptions[i].dictValue) {
  2924. obj.fwzt = assetTypeOptions[i].dictLabel;
  2925. break;
  2926. }
  2927. }
  2928. }
  2929. });
  2930. //土地状况字典项
  2931. that.getDicts("land_state").then((response) => {
  2932. var assetTypeOptions = response.data;
  2933. if(obj.tdzk !=null && obj.tdzk !=""){
  2934. for(var i=0;assetTypeOptions.length >i; i++){
  2935. if(obj.tdzk == assetTypeOptions[i].dictValue) {
  2936. obj.tdzk = assetTypeOptions[i].dictLabel;
  2937. break;
  2938. }
  2939. }
  2940. }
  2941. });
  2942. //是否受过处罚字典项
  2943. that.getDicts("land_state").then((response) => {
  2944. var assetTypeOptions = response.data;
  2945. if(obj.sfsgcf !=null && obj.sfsgcf !=""){
  2946. for(var i=0;assetTypeOptions.length >i; i++){
  2947. if(obj.sfsgcf == assetTypeOptions[i].dictValue) {
  2948. obj.sfsgcf = assetTypeOptions[i].dictLabel;
  2949. break;
  2950. }
  2951. }
  2952. }
  2953. });
  2954. let cloneObj = JSON.parse(JSON.stringify(obj));
  2955. that.mapFsssData = cloneObj;
  2956. } else {
  2957. }
  2958. }, 300);
  2959. } else {
  2960. }
  2961. });
  2962. }
  2963. if(feature) {
  2964. console.log(feature);
  2965. //document.getElementById("info").innerHTML = "";
  2966. that.mapHaDataValue = true;
  2967. var ifConsole = feature.values_.createBy;
  2968. if (ifConsole =="mapTheGeomFsssId") {
  2969. let obj = {};
  2970. that.mapHasDateStatus = 0;
  2971. obj.deptName = feature.values_.deptName;//行政区划名称
  2972. obj.zjddm = feature.values_.zjddm;//宅基地代码
  2973. obj.houseDataConfirmStatus = feature.values_.houseDataConfirmStatus; //状态
  2974. obj.fssslx = feature.values_.fssslx; //附属设施类型
  2975. obj.jzmj = feature.values_.jzmj; //建筑面积
  2976. obj.qsly = feature.values_.qsly;//权属来源
  2977. obj.fwzt = feature.values_.fwzt; //房屋状态
  2978. obj.sfsp = feature.values_.sfsp; //是否审批
  2979. obj.sffz = feature.values_.sffz; //是否发证
  2980. obj.jglx = feature.values_.jglx; //结构类型
  2981. obj.sfzzsy = feature.values_.sfzzsy; //是否正在使用
  2982. obj.jzwqk = feature.values_.jzwqk; //建筑物情况
  2983. obj.tdzk = feature.values_.tdzk; //审批或建设前土地状况
  2984. obj.sfsgcf = feature.values_.sfsgcf; //是否受过处罚
  2985. obj.sysNormalDisable = feature.values_.sysNormalDisable; //是否停用
  2986. //附属设施类型字典项
  2987. that.getDicts("fsss_type").then((response) => {
  2988. var assetTypeOptions = response.data;
  2989. if(obj.fssslx !=null && obj.fssslx !=""){
  2990. for(var i=0;assetTypeOptions.length >i; i++){
  2991. if(obj.fssslx == assetTypeOptions[i].dictValue) {
  2992. obj.fssslx = assetTypeOptions[i].dictLabel;
  2993. break;
  2994. }
  2995. }
  2996. }
  2997. });
  2998. //权属类型字典项
  2999. that.getDicts("acquisition_method").then((response) => {
  3000. var assetTypeOptions = response.data;
  3001. if(obj.qsly !=null && obj.qsly !=""){
  3002. for(var i=0;assetTypeOptions.length >i; i++){
  3003. if(obj.qsly == assetTypeOptions[i].dictValue) {
  3004. obj.qsly = assetTypeOptions[i].dictLabel;
  3005. break;
  3006. }
  3007. }
  3008. }
  3009. });
  3010. //房屋状态字典项
  3011. that.getDicts("fwzt").then((response) => {
  3012. var assetTypeOptions = response.data;
  3013. if(obj.fwzt !=null && obj.fwzt !=""){
  3014. for(var i=0;assetTypeOptions.length >i; i++){
  3015. if(obj.fwzt == assetTypeOptions[i].dictValue) {
  3016. obj.fwzt = assetTypeOptions[i].dictLabel;
  3017. break;
  3018. }
  3019. }
  3020. }
  3021. });
  3022. //是否审批字典项
  3023. that.getDicts("sys_yes_no").then((response) => {
  3024. var assetTypeOptions = response.data;
  3025. if(obj.sfsp !=null && obj.sfsp !=""){
  3026. for(var i=0;assetTypeOptions.length >i; i++){
  3027. if(obj.sfsp == assetTypeOptions[i].dictValue) {
  3028. obj.sfsp = assetTypeOptions[i].dictLabel;
  3029. break;
  3030. }
  3031. }
  3032. }
  3033. });
  3034. //是否发证字典项
  3035. that.getDicts("sys_yes_no").then((response) => {
  3036. var assetTypeOptions = response.data;
  3037. if(obj.sffz !=null && obj.sffz !=""){
  3038. for(var i=0;assetTypeOptions.length >i; i++){
  3039. if(obj.sffz == assetTypeOptions[i].dictValue) {
  3040. obj.sffz = assetTypeOptions[i].dictLabel;
  3041. break;
  3042. }
  3043. }
  3044. }
  3045. });
  3046. //结构类型字典项
  3047. that.getDicts("house_jglx").then((response) => {
  3048. var assetTypeOptions = response.data;
  3049. if(obj.jglx !=null && obj.jglx !=""){
  3050. for(var i=0;assetTypeOptions.length >i; i++){
  3051. if(obj.jglx == assetTypeOptions[i].dictValue) {
  3052. obj.jglx = assetTypeOptions[i].dictLabel;
  3053. break;
  3054. }
  3055. }
  3056. }
  3057. });
  3058. //是否正在使用字典项
  3059. that.getDicts("sys_yes_no").then((response) => {
  3060. var assetTypeOptions = response.data;
  3061. if(obj.sfzzsy !=null && obj.sfzzsy !=""){
  3062. for(var i=0;assetTypeOptions.length >i; i++){
  3063. if(obj.sfzzsy == assetTypeOptions[i].dictValue) {
  3064. obj.sfzzsy = assetTypeOptions[i].dictLabel;
  3065. break;
  3066. }
  3067. }
  3068. }
  3069. });
  3070. //房屋状态字典项
  3071. that.getDicts("fwzt").then((response) => {
  3072. var assetTypeOptions = response.data;
  3073. if(obj.fwzt !=null && obj.fwzt !=""){
  3074. for(var i=0;assetTypeOptions.length >i; i++){
  3075. if(obj.fwzt == assetTypeOptions[i].dictValue) {
  3076. obj.fwzt = assetTypeOptions[i].dictLabel;
  3077. break;
  3078. }
  3079. }
  3080. }
  3081. });
  3082. //土地状况字典项
  3083. that.getDicts("land_state").then((response) => {
  3084. var assetTypeOptions = response.data;
  3085. if(obj.tdzk !=null && obj.tdzk !=""){
  3086. for(var i=0;assetTypeOptions.length >i; i++){
  3087. if(obj.tdzk == assetTypeOptions[i].dictValue) {
  3088. obj.tdzk = assetTypeOptions[i].dictLabel;
  3089. break;
  3090. }
  3091. }
  3092. }
  3093. });
  3094. //是否受过处罚字典项
  3095. that.getDicts("land_state").then((response) => {
  3096. var assetTypeOptions = response.data;
  3097. if(obj.sfsgcf !=null && obj.sfsgcf !=""){
  3098. for(var i=0;assetTypeOptions.length >i; i++){
  3099. if(obj.sfsgcf == assetTypeOptions[i].dictValue) {
  3100. obj.sfsgcf = assetTypeOptions[i].dictLabel;
  3101. break;
  3102. }
  3103. }
  3104. }
  3105. });
  3106. that.mapFsssData = obj;
  3107. } else if(ifConsole =="mapTheGeomZrzId"){
  3108. let obj = {};
  3109. that.mapHasDateStatus = 1;
  3110. obj.deptName = feature.values_.deptName;//部门名称
  3111. obj.zjddm = feature.values_.zjddm;//宅基地代码
  3112. obj.nmfwzh = feature.values_.nmfwzh;//农民房屋幢号
  3113. obj.zrzh = feature.values_.zrzh;//自然幢号
  3114. obj.jgrq = feature.values_.jgrq;//竣工日期
  3115. obj.jzwgd = feature.values_.jzwgd;//建筑物高度
  3116. obj.zzdmj = feature.values_.zzdmj;//幢占地面积
  3117. obj.zydmj = feature.values_.zydmj;//幢用地面积
  3118. obj.scjzmj = feature.values_.scjzmj;//实测建筑面积
  3119. obj.zcs = feature.values_.zcs;//总层数
  3120. obj.dscs = feature.values_.dscs;//地上层数
  3121. obj.dxcs = feature.values_.dxcs;//地下层数
  3122. obj.fwjg = feature.values_.fwjg;//房屋结构
  3123. obj.sjly = feature.values_.sjly;//数据来源
  3124. obj.status = feature.values_.status;//状态
  3125. obj.houseDataConfirmStatus = feature.values_.houseDataConfirmStatus;//数据调查确认状态
  3126. //字典项转化
  3127. //房屋结构字典项
  3128. that.getDicts("housing_structure").then((response) => {
  3129. var assetTypeOptions = response.data;
  3130. if(obj.fwjg !=null && obj.fwjg !=""){
  3131. for(var i=0;assetTypeOptions.length >i; i++){
  3132. if(obj.fwjg == assetTypeOptions[i].dictValue) {
  3133. obj.fwjg = assetTypeOptions[i].dictLabel;
  3134. break;
  3135. }
  3136. }
  3137. }
  3138. });
  3139. //房屋结构字典项
  3140. that.getDicts("sjly").then((response) => {
  3141. var assetTypeOptions = response.data;
  3142. if(obj.sjly !=null && obj.sjly !=""){
  3143. for(var i=0;assetTypeOptions.length >i; i++){
  3144. if(obj.sjly == assetTypeOptions[i].dictValue) {
  3145. obj.sjly = assetTypeOptions[i].dictLabel;
  3146. break;
  3147. }
  3148. }
  3149. }
  3150. });
  3151. that.mapZrzData = obj;
  3152. } else if(ifConsole =="mapTheGeomZjdId"){
  3153. let obj = {};
  3154. that.mapHasDateStatus = 2;
  3155. obj.deptName = feature.values_.deptName;//行政区划名称
  3156. obj.suyqrdm = feature.values_.suyqrdm;//所有权人代码
  3157. obj.nhdm = feature.values_.nhdm;//农户代码
  3158. obj.zjddm = feature.values_.zjddm;//宅基地代码
  3159. obj.zdbh = feature.values_.zdbh;//宗地编号
  3160. obj.zddm = feature.values_.zddm;//宗地代码
  3161. obj.zl = feature.values_.zl;//坐落
  3162. obj.zldwdm = feature.values_.zldwdm;//坐落单位代码
  3163. obj.zdmj = feature.values_.zdmj;//宗地面积
  3164. obj.yt = feature.values_.yt;//用途
  3165. obj.ytmc = feature.values_.ytmc;//用途名称
  3166. obj.dj = feature.values_.dj;//宗地编号
  3167. obj.jg = feature.values_.jg;//价格万元
  3168. obj.qllx = feature.values_.qllx;//权利类型
  3169. obj.qlxz = feature.values_.qlxz;//权利性质
  3170. obj.qlsdfs = feature.values_.qlsdfs;//权利设定方式
  3171. obj.rjl = feature.values_.rjl;//容积率
  3172. obj.jzmd = feature.values_.jzmd;//建筑密度
  3173. obj.jzxg = feature.values_.jzxg;//建筑限高
  3174. obj.zdszd = feature.values_.zdszd;//宗地四至-东
  3175. obj.zdszn = feature.values_.zdszn;//宗地四至-南
  3176. obj.zdszx = feature.values_.zdszx;//宗地四至-西
  3177. obj.zdszb = feature.values_.zdszb;//宗地四至-北
  3178. obj.zdt = feature.values_.zdt;//宗地图
  3179. obj.tfh = feature.values_.tfh;//图幅号
  3180. obj.djh = feature.values_.djh;//地籍号
  3181. obj.sjly = feature.values_.sjly;//数据来源
  3182. obj.lyzk = feature.values_.lyzk;//当前利用状况
  3183. obj.xzkssj = feature.values_.xzkssj;//闲置开始时间
  3184. obj.sffz = feature.values_.sffz;//是否发证
  3185. obj.zjdzsh = feature.values_.zjdzsh;//宅基地证书号
  3186. obj.zjdxctp = feature.values_.zjdxctp;//宅基地现场图片
  3187. obj.zjdqdfs = feature.values_.zjdqdfs;//宅基地取得方式
  3188. obj.bccjl = feature.values_.bccjl;//被惩处经历
  3189. obj.bccbz = feature.values_.bccbz;//被惩处备注
  3190. obj.yctcyx = feature.values_.yctcyx;//有偿退出意向
  3191. obj.zjdpzmj = feature.values_.zjdpzmj;//宅基地批准面积
  3192. obj.zjdxzyy = feature.values_.zjdxzyy;//宅基地闲置原因
  3193. obj.lzyx = feature.values_.lzyx;//流转意向
  3194. obj.sysNormalDisable = feature.values_.sysNormalDisable;//是否停用
  3195. //字典项转化
  3196. //是否发证字典项
  3197. that.getDicts("sys_yes_no").then((response) => {
  3198. var assetTypeOptions = response.data;
  3199. if(obj.sffz !=null && obj.sffz !=""){
  3200. for(var i=0;assetTypeOptions.length >i; i++){
  3201. if(obj.sffz == assetTypeOptions[i].dictValue) {
  3202. obj.sffz = assetTypeOptions[i].dictLabel;
  3203. break;
  3204. }
  3205. }
  3206. }
  3207. });
  3208. //利用状态字典项
  3209. that.getDicts("zjdlyzk").then((response) => {
  3210. var assetTypeOptions = response.data;
  3211. if(obj.lyzk !=null && obj.lyzk !=""){
  3212. for(var i=0;assetTypeOptions.length >i; i++){
  3213. if(obj.lyzk == assetTypeOptions[i].dictValue) {
  3214. obj.lyzk = assetTypeOptions[i].dictLabel;
  3215. break;
  3216. }
  3217. }
  3218. }
  3219. });
  3220. //流转意向字典项
  3221. that.getDicts("is_have").then((response) => {
  3222. var assetTypeOptions = response.data;
  3223. if(obj.lzyx !=null && obj.lzyx !=""){
  3224. for(var i=0;assetTypeOptions.length >i; i++){
  3225. if(obj.lzyx == assetTypeOptions[i].dictValue) {
  3226. obj.lzyx = assetTypeOptions[i].dictLabel;
  3227. break;
  3228. }
  3229. }
  3230. }
  3231. });
  3232. //有偿退出意向字典项
  3233. that.getDicts("is_have").then((response) => {
  3234. var assetTypeOptions = response.data;
  3235. if(obj.yctcyx !=null && obj.yctcyx !=""){
  3236. for(var i=0;assetTypeOptions.length >i; i++){
  3237. if(obj.yctcyx == assetTypeOptions[i].dictValue) {
  3238. obj.yctcyx = assetTypeOptions[i].dictLabel;
  3239. break;
  3240. }
  3241. }
  3242. }
  3243. });
  3244. //被惩处经历字典项
  3245. that.getDicts("is_have").then((response) => {
  3246. var assetTypeOptions = response.data;
  3247. if(obj.bccjl !=null && obj.bccjl !=""){
  3248. for(var i=0;assetTypeOptions.length >i; i++){
  3249. if(obj.bccjl == assetTypeOptions[i].dictValue) {
  3250. obj.bccjl = assetTypeOptions[i].dictLabel;
  3251. break;
  3252. }
  3253. }
  3254. }
  3255. });
  3256. //宅基地取得方式字典项
  3257. that.getDicts("acquisition_method").then((response) => {
  3258. var assetTypeOptions = response.data;
  3259. if(obj.zjdqdfs !=null && obj.zjdqdfs !=""){
  3260. for(var i=0;assetTypeOptions.length >i; i++){
  3261. if(obj.zjdqdfs == assetTypeOptions[i].dictValue) {
  3262. obj.zjdqdfs = assetTypeOptions[i].dictLabel;
  3263. break;
  3264. }
  3265. }
  3266. }
  3267. });
  3268. //权利设定方式字典项
  3269. that.getDicts("right_setting_mode").then((response) => {
  3270. var assetTypeOptions = response.data;
  3271. if(obj.qlsdfs !=null && obj.qlsdfs !=""){
  3272. for(var i=0;assetTypeOptions.length >i; i++){
  3273. if(obj.qlsdfs == assetTypeOptions[i].dictValue) {
  3274. obj.qlsdfs = assetTypeOptions[i].dictLabel;
  3275. break;
  3276. }
  3277. }
  3278. }
  3279. });
  3280. //数据来源字典项
  3281. that.getDicts("sjly").then((response) => {
  3282. var assetTypeOptions = response.data;
  3283. if(obj.sjly !=null && obj.sjly !=""){
  3284. for(var i=0;assetTypeOptions.length >i; i++){
  3285. if(obj.sjly == assetTypeOptions[i].dictValue) {
  3286. obj.sjly = assetTypeOptions[i].dictLabel;
  3287. break;
  3288. }
  3289. }
  3290. }
  3291. });
  3292. that.mapZjdData = obj;
  3293. that.zjdHcDy = obj.zjddm;
  3294. } else {
  3295. that.mapHaDataValue = false;
  3296. }
  3297. }else {
  3298. that.mapHaDataValue = false;
  3299. }
  3300. });
  3301. //数据库循环加载时使用 --------------------加载较慢 ------start
  3302. //当前账套没有任何空间数据
  3303. // if(mapTalkAbout){
  3304. // let deptName = this.$store.state.user.loginDeptId + "";
  3305. // getQueryLand(deptName).then((response) => {
  3306. // if (response.code == 200) {
  3307. // let InsertCode = response.data;
  3308. // if (InsertCode != null) {
  3309. // var lat = InsertCode.lat;
  3310. // var lng = InsertCode.lng;
  3311. // var center;
  3312. // if(lat !=null && lng !=null && lat !="" && lng !=""){
  3313. // center = [lng,lat];
  3314. // }else {
  3315. // center =[115.452752, 31.789033];
  3316. // }
  3317. // map.getView().animate({
  3318. // // 只设置需要的属性即可
  3319. // center: ol.proj.fromLonLat(center), // 中心点
  3320. // zoom: 17.9, // 缩放级别
  3321. // rotation: undefined, // 缩放完成view视图旋转弧度
  3322. // duration: 1000, // 缩放持续时间,默认不需要设置
  3323. // });
  3324. // }
  3325. // }
  3326. // });
  3327. // }
  3328. //数据库循环加载时使用 --------------------加载较慢 ------start
  3329. },
  3330. /*右侧列表 --展开收缩*/
  3331. selectionPushMap() {
  3332. this.selectionIconShow = true;
  3333. this.homesteadListStatus = true;
  3334. $(".homesteadList_wrap").animate(
  3335. {
  3336. right: "0",
  3337. },
  3338. 300
  3339. );
  3340. },
  3341. homesteadListShrink() {
  3342. this.selectionIconShow = false;
  3343. $(".homesteadList_wrap").animate(
  3344. {
  3345. right: "-300px",
  3346. },
  3347. 300
  3348. );
  3349. setTimeout(() => {
  3350. this.homesteadListStatus = false;
  3351. }, 300);
  3352. },
  3353. checkClick(res){
  3354. // 1、全选与不全选模块
  3355. $(".checkall").change(function() {
  3356. // console.log($(this).prop("checked"));输出全选按钮的选中状态
  3357. $(".item-list-checkbox .checkitem").prop("checked", $(this).prop("checked"));
  3358. if($(this).prop("checked")){
  3359. }else {
  3360. }
  3361. });
  3362. // 2、小复选框模块
  3363. $(".checkitem").change(function() {
  3364. if ($(".checkitem:checked").length === $(".checkitem").length) {
  3365. $(".checkall").prop("checked", true);
  3366. } else {
  3367. $(".checkall").prop("checked", false);
  3368. }
  3369. })
  3370. },
  3371. //绘制多边形地图
  3372. drawMapPolygonFun() {
  3373. },
  3374. guidProduct(){
  3375. return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
  3376. var r = Math.random() * 16 | 0,
  3377. v = c == 'x' ? r : (r & 0x3 | 0x8);
  3378. return v.toString(16);
  3379. });
  3380. },
  3381. //宅基地点击地图核查
  3382. zjdHc(){
  3383. //console.log(this.zjdHcDy);
  3384. if(this.zjdHcDy != ""){
  3385. this.$router.push('/homesteadSurvey/add');
  3386. } else {
  3387. this.$dialog.alert({
  3388. title: '宅基地核查',
  3389. message: "请从地图选择宅基地并点击核查",
  3390. theme: 'round-button',
  3391. }).then(() => {
  3392. // on close
  3393. });
  3394. }
  3395. },
  3396. //全选
  3397. checkAll(val) {
  3398. let checkedCount = this.CheckedAllArr.length
  3399. if (val) {
  3400. //全选
  3401. this.CheckedAllArr = this.dataList.map(item => item.id)
  3402. } else{
  3403. //取消全选
  3404. if (checkedCount === this.dataList.length) {
  3405. //如果不增加这个条件判断点击某一项时会全部取消
  3406. this.CheckedAllArr = []
  3407. }
  3408. }
  3409. },
  3410. }
  3411. }
  3412. </script>
  3413. <style scoped lang="scss">
  3414. .closeIcon{
  3415. }
  3416. .bannerBg{
  3417. width: 100%;
  3418. color:#fff;
  3419. /*padding:10px;*/
  3420. background: linear-gradient(134deg,#7ac943 1%, #22b7f2);
  3421. }
  3422. .van-hairline--bottom::after {
  3423. border-bottom-width: 0;
  3424. }
  3425. .activeBtn{
  3426. background:#fff;
  3427. height:50px;
  3428. border-radius:25px;
  3429. color:#7AC943;
  3430. line-height:50px;
  3431. text-align:center;
  3432. font-size:20px;
  3433. width: 24%;
  3434. margin:0 10px;
  3435. box-shadow: 0px 5px 6px 0px rgba(0,0,0,0.16);
  3436. }
  3437. .disactiveBtn{
  3438. background:rgba(255,255,255,.4);
  3439. height:50px;
  3440. border-radius:25px;
  3441. color:#fff;
  3442. line-height:50px;
  3443. text-align:center;
  3444. font-size:20px;
  3445. width: 24%;
  3446. margin:0 10px;
  3447. box-shadow: 0px 5px 6px 0px rgba(0,0,0,0.16);
  3448. }
  3449. .van-cell__label{
  3450. color: #969799;
  3451. font-size: 12px;
  3452. line-height: 20px;
  3453. margin:0
  3454. }
  3455. .map_area {
  3456. width: 50vw;
  3457. height: 50vh;
  3458. z-index:1;
  3459. background:#000;
  3460. position: fixed;
  3461. left: 0;
  3462. top: 0;
  3463. }
  3464. .van-field__label{
  3465. width:50%;
  3466. }
  3467. .rightZoom_wrap {
  3468. position: absolute;
  3469. right: 3%;
  3470. top: 35%;
  3471. margin-top: -200px;
  3472. background: #fff;
  3473. margin-bottom: 16px;
  3474. border-radius: 10px;
  3475. text-align: center;
  3476. padding: 15px 20px;
  3477. img{
  3478. margin: 0 auto;
  3479. }
  3480. .amplification {
  3481. line-height: 1;
  3482. font-size: 18px;
  3483. text-align: center;
  3484. margin-top: 5px;
  3485. }
  3486. }
  3487. .mapZoom_wrap {
  3488. position: absolute;
  3489. right: 3%;
  3490. top: 50%;
  3491. margin-top: -200px;
  3492. background: #fff;
  3493. margin-bottom: 16px;
  3494. border-radius: 10px;
  3495. padding: 0px 20px;
  3496. div{
  3497. padding: 15px 0;
  3498. border-bottom: 1px solid #C9C9C9;
  3499. &:last-child{
  3500. border: none;
  3501. }
  3502. p{
  3503. margin-top: 5px;
  3504. }
  3505. }
  3506. .qtMap {
  3507. font-size: 18px;
  3508. text-align: center;
  3509. line-height: 1;
  3510. }
  3511. .clMap {
  3512. font-size: 18px;
  3513. text-align: center;
  3514. line-height: 1;
  3515. }
  3516. .hcMap {
  3517. font-size: 18px;
  3518. text-align: center;
  3519. line-height: 1;
  3520. }
  3521. .htMap {
  3522. font-size: 18px;
  3523. text-align: center;
  3524. line-height: 1;
  3525. }
  3526. .dwMap {
  3527. font-size: 18px;
  3528. text-align: center;
  3529. line-height: 1;
  3530. }
  3531. }
  3532. .rightIcon_wrap {
  3533. position: absolute;
  3534. right: 16px;
  3535. bottom: 160px;
  3536. .selectionIcon_wrap {
  3537. width: 74px;
  3538. background: #fff;
  3539. border-radius: 10px;
  3540. padding: 14px 0;
  3541. .icon {
  3542. width: 38px;
  3543. height: 38px;
  3544. background: url("../../assets/images/homestead/selection_icon.png")
  3545. no-repeat;
  3546. background-size: 100% 100%;
  3547. margin: 0 auto 4px;
  3548. }
  3549. .text {
  3550. font-size: 24px;
  3551. text-align: center;
  3552. }
  3553. }
  3554. .positioning_wrap {
  3555. width: 74px;
  3556. background: #fff;
  3557. margin-bottom: 16px;
  3558. border-radius: 10px;
  3559. height: 74px;
  3560. display: flex;
  3561. justify-content: center; /* 相对父元素水平居中 */
  3562. align-items: center; /* 子元素相对父元素垂直居中*/
  3563. .icon {
  3564. width: 38px;
  3565. height: 38px;
  3566. background: url("../../assets/images/homestead/positioning_icon.png")
  3567. no-repeat;
  3568. background-size: 100% 100%;
  3569. margin: 0 auto;
  3570. }
  3571. }
  3572. }
  3573. .homesteadList_wrap {
  3574. // display: none;
  3575. display: flex;
  3576. position: absolute;
  3577. right: -200px;
  3578. top: 0px;
  3579. bottom: 0px;
  3580. width: 300px;
  3581. background: #fff;
  3582. z-index: 999;
  3583. border-top-left-radius: 15px;
  3584. border-bottom-left-radius: 15px;
  3585. flex-direction: column;
  3586. .noInfo_data {
  3587. font-size: 28px;
  3588. text-align: center;
  3589. height: 300px;
  3590. line-height: 300px;
  3591. color: #666;
  3592. }
  3593. .title_m {
  3594. color: #333;
  3595. line-height: 36px;
  3596. padding: 20px 40px 22px;
  3597. .name {
  3598. font-size: 36px;
  3599. line-height: 42px;
  3600. height: 42px;
  3601. }
  3602. .more_icon {
  3603. width: 38px;
  3604. height: 38px;
  3605. background: url("../../assets/images/homestead/selectionNext_icon.png")
  3606. no-repeat;
  3607. float: right;
  3608. margin-top: 2px;
  3609. }
  3610. }
  3611. .main_m {
  3612. overflow-y: auto;
  3613. padding: 10px 0;
  3614. // height: 300px;
  3615. flex: 1;
  3616. .flex_block {
  3617. height: 70px;
  3618. display: flex;
  3619. // justify-content: center; /* 相对父元素水平居中 */
  3620. align-items: center; /* 子元素相对父元素垂直居中 */
  3621. padding: 0 40px;
  3622. &.active {
  3623. box-shadow: 0px 0px 10px rgba(24, 45, 51, 0.5);
  3624. }
  3625. .name_text {
  3626. font-size: 28px;
  3627. flex: 0.5;
  3628. overflow: hidden; /*超出部分隐藏*/
  3629. white-space: nowrap; /*不换行*/
  3630. text-overflow: ellipsis; /*超出部分文字以...显示*/
  3631. }
  3632. .square_text {
  3633. font-size: 28px;
  3634. flex: 0.4;
  3635. }
  3636. .operation_mian {
  3637. flex: 0 0 150px;
  3638. .describe {
  3639. font-size: 20px;
  3640. padding: 6px 5px;
  3641. float: right;
  3642. color: #fff;
  3643. border-radius: 30px;
  3644. overflow: hidden;
  3645. text-overflow: ellipsis;
  3646. white-space: nowrap;
  3647. max-width: 150px;
  3648. &.yph {
  3649. background: #b026ff;
  3650. }
  3651. &.dlzdph {
  3652. background: #ff6f36;
  3653. }
  3654. &.ylz {
  3655. background: #7fff4c;
  3656. }
  3657. &.dlz {
  3658. background: rgb(255, 232, 76);
  3659. }
  3660. &.ylzdph {
  3661. background: #ff7dd0;
  3662. }
  3663. &.zy {
  3664. background: rgb(100, 30, 100);
  3665. }
  3666. &.xz {
  3667. background: rgb(60, 100, 180);
  3668. }
  3669. &.chdb {
  3670. background: #fe0303;
  3671. }
  3672. }
  3673. }
  3674. }
  3675. }
  3676. .footerBtn_wrap {
  3677. flex: 0 0 90px;
  3678. display: flex;
  3679. justify-content: center; /* 相对父元素水平居中 */
  3680. align-items: center; /* 子元素相对父元素垂直居中 */
  3681. .options {
  3682. flex: 1;
  3683. font-size: 38px;
  3684. display: flex;
  3685. justify-content: center; /* 相对父元素水平居中 */
  3686. align-items: center; /* 子元素相对父元素垂直居中 */
  3687. height: 90px;
  3688. &:first-child {
  3689. border-bottom-left-radius: 15px;
  3690. }
  3691. &.active {
  3692. background: #3cbf5b;
  3693. color: #fff;
  3694. }
  3695. }
  3696. }
  3697. }
  3698. .checkbox {
  3699. width: 200px;
  3700. margin: 30px auto;
  3701. }
  3702. .thead-checkbox {
  3703. background-color: lightgray;
  3704. }
  3705. .item-checkbox {
  3706. border: 1px solid darkgray;
  3707. }
  3708. .van-sticky{position: fixed;top: 0;right: 0; left: 0;z-index: 9999;}
  3709. </style>