移动端
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

2736 righe
106 KiB

  1. <template>
  2. <div class="app-container">
  3. <div class="bannerBg" style="">
  4. <van-nav-bar
  5. style="background:transparent;border-bottom-width:0;"
  6. @click-left="onClickLeft"
  7. >
  8. <template #left>
  9. <van-icon name="arrow-left" size="18" color="#fff" />
  10. </template>
  11. <template #title>
  12. <p style="color:#fff">{{item.deptName}}</p>
  13. </template>
  14. </van-nav-bar>
  15. <div style="display:flex;width:94%;margin:0 auto;justify-content:space-between;padding: 10px 0">
  16. <div :class="{activeBtn : activeBtn==1,disactiveBtn :activeBtn!=1 }" @click="activeBtn=1"><van-icon size="15" style="vertical-align:middle;" :name="require('../../assets/images/housesteadSurvey/btn1'+(activeBtn!=1?'1':'')+'.png')" />
  17. 入户核查
  18. </div>
  19. <div :class="{activeBtn : activeBtn==2,disactiveBtn :activeBtn!=2 }" @click="activeBtn=2,getShyqr()"><van-icon size="15" style="vertical-align:middle;" :name="require('../../assets/images/housesteadSurvey/btn2'+(activeBtn!=2?'2':'')+'.png')" />
  20. 农户信息
  21. </div>
  22. <div :class="{activeBtn : activeBtn==3,disactiveBtn :activeBtn!=3 }" @click="activeBtn=3,getSyqr()"> <van-icon size="15" style="vertical-align:middle;" :name="require('../../assets/images/housesteadSurvey/btn3'+(activeBtn!=3?'3':'')+'.png')" />
  23. 所有权人
  24. </div>
  25. <div :class="{activeBtn : activeBtn==4,disactiveBtn :activeBtn!=4 }" @click="activeBtn=4,mapShow()">
  26. <van-icon size="15" style="vertical-align:middle;" :name="require('../../assets/images/housesteadSurvey/btn4'+(activeBtn!=4?'4':'')+'.png')" />
  27. 切换地图
  28. </div>
  29. </div>
  30. </div>
  31. <div v-if="activeBtn==1">
  32. <van-search v-model="zjdvalue" placeholder="请输入搜索关键词" show-action @search="onSearchzjd">
  33. <template #action>
  34. <van-icon name="add" color="rgba(122,201,67,1)" size="55" @click="onClickzjd" style="vertical-align:middle;"/>
  35. </template>
  36. </van-search>
  37. <van-tabs v-model="active" sticky title-active-color="#7AC943" color="#7AC943" swipeable @click="getZjdList">
  38. <van-tab title="全部" >
  39. <van-cell v-for="(item,index) in list" :key="index" size="small" @click.native="setCookies(item)" :to="{name:'homesteadAdd'}" style="border-radius: 16px;
  40. box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px">
  41. <template #title>
  42. <p style="color:#22B7F2">{{item.syqr}}</p>
  43. </template>
  44. <template #default>
  45. <van-button v-if="item.houseDataConfirmStatus=='CONFIRMED'" plain round color="#7AC943" size="mini" style="vertical-align:middle;margin-top:15px;">查看详情</van-button>
  46. <van-button v-if="item.houseDataConfirmStatus!='CONFIRMED'"plain round color="#FA5353" size="mini" style="vertical-align:middle;margin-top:15px;">开始调查</van-button>
  47. </template>
  48. <template #label>
  49. <p>宅基地代码 {{item.zjddm}} </p>
  50. <p>宗地面积 {{item.zdmj}}㎡ </p>
  51. </template>
  52. <template #icon>
  53. <van-icon name="clock" color="#22b7f2" style="margin-top:10px;margin-right:10px;"/>
  54. </template>
  55. </van-cell>
  56. </van-tab>
  57. <van-tab title="已核查" >
  58. <van-cell v-for="(item,index) in list1" :key="index" size="small" @click.native="setCookies(item)" :to="{name:'homesteadAdd'}" style="border-radius: 16px;
  59. box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px">
  60. <template #title>
  61. <p style="color:#22B7F2">{{item.syqr}}</p>
  62. </template>
  63. <template #default>
  64. <van-button v-if="item.houseDataConfirmStatus=='CONFIRMED'" plain round color="#7AC943" size="mini" style="vertical-align:middle;margin-top:15px;">查看详情</van-button>
  65. <van-button v-if="item.houseDataConfirmStatus!='CONFIRMED'"plain round color="#FA5353" size="mini" style="vertical-align:middle;margin-top:15px;">开始调查</van-button>
  66. </template>
  67. <template #label>
  68. <p>宅基地代码 {{item.zjddm}} </p>
  69. <p>宗地面积 {{item.zdmj}}㎡ </p>
  70. </template>
  71. <template #icon>
  72. <van-icon name="clock" color="#22b7f2" style="margin-top:10px;margin-right:10px;"/>
  73. </template>
  74. </van-cell>
  75. </van-tab>
  76. <van-tab title="未核查">
  77. <van-cell v-for="(item,index) in list2" :key="index" size="small" @click.native="setCookies(item)" :to="{name:'homesteadAdd'}" style="border-radius: 16px;
  78. box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px">
  79. <template #title>
  80. <p style="color:#22B7F2">{{item.syqr}}</p>
  81. </template>
  82. <template #default>
  83. <van-button v-if="item.houseDataConfirmStatus=='CONFIRMED'" plain round color="#7AC943" size="mini" style="vertical-align:middle;margin-top:15px;">查看详情</van-button>
  84. <van-button v-if="item.houseDataConfirmStatus!='CONFIRMED'"plain round color="#FA5353" size="mini" style="vertical-align:middle;margin-top:15px;">开始调查</van-button>
  85. </template>
  86. <template #label>
  87. <p>宅基地代码 {{item.zjddm}} </p>
  88. <p>宗地面积 {{item.zdmj}}㎡ </p>
  89. </template>
  90. <template #icon>
  91. <van-icon name="clock" color="#22b7f2" style="margin-top:10px;margin-right:10px;"/>
  92. </template>
  93. </van-cell>
  94. </van-tab>
  95. </van-tabs>
  96. </div>
  97. <div v-if="activeBtn==2" >
  98. <van-search v-model="syqrvalue" placeholder="请输入农户姓名或证件号" show-action @search="onSearchnh">
  99. <template #action>
  100. <van-icon name="add" color="rgba(122,201,67,1)" size="55" @click="onClicksyqr" style="vertical-align:middle;"/>
  101. </template>
  102. </van-search>
  103. <van-cell v-for="(item,index) in syqrlist" :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">
  104. <template #title>
  105. <p style="color:#22B7F2">{{item.shyqrdbxm}}</p>
  106. </template>
  107. <template #default>
  108. <van-button plain round color="#7AC943" size="mini" style="vertical-align:middle;margin-top:15px;" @click="showsyqr=true,form1=item">查看详情</van-button>
  109. </template>
  110. <template #label>
  111. <p>证件号码&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp{{item.shyqrdbzjhm}} </p>
  112. <p>农户代码&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp{{item.nhdm}}&nbsp&nbsp&nbsp&nbsp性别{{item.xb}}</p>
  113. </template>
  114. <template #icon>
  115. <van-icon name="clock" color="#22b7f2" style="margin-top:10px;margin-right:10px;"/>
  116. </template>
  117. </van-cell>
  118. </div>
  119. <div v-if="activeBtn==3">
  120. <van-form @submit="onSubmitsyqr">
  121. <div style="border-radius: 16px;
  122. box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px;padding:5px;background:#fff;">
  123. <van-field
  124. v-model="qlrform.qydm"
  125. name="区域代码"
  126. label="区域代码"
  127. required
  128. placeholder="区域代码"
  129. input-align="right"
  130. :rules="[{ required: true, message: '' }]"
  131. />
  132. <van-field
  133. v-model="qlrform.suyqrdm"
  134. name="所有权人代码"
  135. label="所有权人代码"
  136. required
  137. placeholder="所有权人代码"
  138. input-align="right"
  139. :rules="[{ required: true, message: '' }]"
  140. />
  141. <van-field
  142. v-model="qlrform.suyqrmc"
  143. name="所有权人名称"
  144. label="所有权人名称"
  145. required
  146. placeholder="所有权人名称"
  147. input-align="right"
  148. :rules="[{ required: true, message: '' }]"
  149. />
  150. <van-field
  151. v-model="qlrform.suyqxzName"
  152. name="所有权性质"
  153. label="所有权性质"
  154. required
  155. placeholder="所有权性质"
  156. input-align="right"
  157. :rules="[{ required: true, message: '' }]"
  158. @click="showsuyqxz = true"
  159. />
  160. <van-field
  161. v-model="qlrform.suyqxz"
  162. style="display:none"
  163. />
  164. <van-popup v-model="showsuyqxz" position="bottom">
  165. <van-picker
  166. show-toolbar
  167. :columns="suyqxzOptions"
  168. value-key="dictLabel"
  169. @confirm="onConfirmsuyqxz"
  170. @cancel="showsuyqxz = false"
  171. />
  172. </van-popup>
  173. <van-field
  174. v-model="qlrform.dbrxm"
  175. name="代表人姓名"
  176. label="代表人姓名"
  177. required
  178. placeholder="代表人姓名"
  179. input-align="right"
  180. :rules="[{ required: true, message: '' }]"
  181. />
  182. <van-field
  183. v-model="qlrform.dbrzjlx"
  184. style="display:none"
  185. />
  186. <van-field
  187. v-model="qlrform.dbrzjlxName"
  188. name="代表人证件类型"
  189. label="代表人证件类型"
  190. required
  191. placeholder="代表人证件类型"
  192. input-align="right"
  193. :rules="[{ required: true, message: '' }]"
  194. @click="showdbrzjlx = true"
  195. />
  196. <van-popup v-model="showdbrzjlx" position="bottom">
  197. <van-picker
  198. show-toolbar
  199. :columns="zjlxOptions"
  200. value-key="dictLabel"
  201. @confirm="onConfirmdbrzjlx"
  202. @cancel="showdbrzjlx = false"
  203. />
  204. </van-popup>
  205. <van-field
  206. v-model="qlrform.dbrzjhm"
  207. name="代表人证件号码"
  208. label="代表人证件号码"
  209. required
  210. placeholder="代表人证件号码"
  211. input-align="right"
  212. :rules="[{ required: true, message: '' }]"
  213. />
  214. <van-field
  215. v-model="qlrform.dbrlxdh"
  216. name="代表人联系电话"
  217. label="代表人联系电话"
  218. placeholder="代表人联系电话"
  219. input-align="right"
  220. :rules="[{ required: true, message: '' }]"
  221. />
  222. <van-field
  223. v-model="qlrform.dbrtxdz"
  224. name="代表人通讯地址"
  225. label="代表人通讯地址"
  226. required
  227. placeholder="代表人通讯地址"
  228. input-align="right"
  229. :rules="[{ required: true, message: '' }]"
  230. />
  231. <van-field
  232. v-model="qlrform.dbryzbm"
  233. name="代表人邮政编码"
  234. label="代表人邮政编码"
  235. required
  236. placeholder="代表人邮政编码"
  237. input-align="right"
  238. :rules="[{ required: true, message: '' }]"
  239. />
  240. <van-field name="radio" label="是否成立农村集体经济组织" required input-align="right">
  241. <template #input>
  242. <van-radio-group v-model="qlrform.sfclncjtjjzz" direction="horizontal">
  243. <van-radio name="1">是</van-radio>
  244. <van-radio name="2">否 </van-radio>
  245. </van-radio-group>
  246. </template>
  247. </van-field>
  248. <van-field
  249. v-model="qlrform.dlrxm"
  250. name="代理人姓名"
  251. label="代理人姓名"
  252. placeholder="代理人姓名"
  253. input-align="right"
  254. />
  255. <van-field
  256. v-model="qlrform.dlrzjlx"
  257. style="display:none"
  258. />
  259. <van-field
  260. v-model="qlrform.dlrzjlxName"
  261. name="代理人证件类型"
  262. label="代理人证件类型"
  263. placeholder="代理人证件类型"
  264. input-align="right"
  265. @click="showdlrzjlx = true"
  266. />
  267. <van-popup v-model="showdlrzjlx" position="bottom">
  268. <van-picker
  269. show-toolbar
  270. :columns="zjlxOptions"
  271. value-key="dictLabel"
  272. @confirm="onConfirmdlrzjlx"
  273. @cancel="showdlrzjlx = false"
  274. />
  275. </van-popup>
  276. <van-field
  277. v-model="qlrform.dlrzjhm"
  278. name="代理人证件号码"
  279. label="代理人证件号码"
  280. placeholder="代理人证件号码"
  281. input-align="right"
  282. />
  283. <van-field
  284. v-model="qlrform.dlrlxdh"
  285. name="代理人联系电话"
  286. label="代理人联系电话"
  287. placeholder="代理人联系电话"
  288. input-align="right"
  289. />
  290. <van-field
  291. v-model="qlrform.dlrtxdz"
  292. name="代理人通讯地址"
  293. label="代理人通讯地址"
  294. placeholder="代理人通讯地址"
  295. input-align="right"
  296. />
  297. <van-field
  298. v-model="qlrform.dlryzbm"
  299. name="代理人邮政编码"
  300. label="代理人邮政编码"
  301. placeholder="代理人邮政编码"
  302. input-align="right"
  303. />
  304. </div>
  305. <div style="border-radius: 16px;
  306. box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px;padding:5px;background:#fff;">
  307. <van-field
  308. v-model="qlrform.ncjtjjzzdm"
  309. name="农村集体经济组织代码"
  310. label="农村集体经济组织代码"
  311. placeholder="农村集体经济组织代码"
  312. input-align="right"
  313. />
  314. <van-field
  315. v-model="qlrform.ncjtjjzzmc"
  316. name="农村集体经济组织名称"
  317. label="农村集体经济组织名称"
  318. placeholder="农村集体经济组织名称"
  319. input-align="right"
  320. />
  321. <van-field
  322. v-model="qlrform.fbfdm"
  323. name="发包方代码"
  324. label="发包方代码"
  325. placeholder="发包方代码"
  326. input-align="right"
  327. />
  328. <van-field
  329. v-model="qlrform.fbfmc"
  330. name="发包方名称"
  331. label="发包方名称"
  332. placeholder="发包方名称"
  333. input-align="right"
  334. />
  335. <van-field
  336. v-model="qlrform.sjlyName"
  337. name="数据来源"
  338. label="数据来源"
  339. placeholder="数据来源"
  340. input-align="right"
  341. @click="showsjly = true"
  342. />
  343. <van-field
  344. v-model="qlrform.sjly"
  345. style="display:none"
  346. />
  347. <van-popup v-model="showsjly" position="bottom">
  348. <van-picker
  349. show-toolbar
  350. :columns="sjlyOptions"
  351. value-key="dictLabel"
  352. @confirm="onConfirmsjly"
  353. @cancel="showsjly = false"
  354. />
  355. </van-popup>
  356. <van-field
  357. v-model="qlrform.bz"
  358. name="备注"
  359. label="备注"
  360. placeholder="备注"
  361. input-align="right"
  362. />
  363. </div>
  364. <div style="margin: 16px;">
  365. <van-button round block color="#7AC943" native-type="submit">保存</van-button>
  366. </div>
  367. </van-form>
  368. </div>
  369. <div v-if="activeBtn==4">
  370. <div id="mapWrapAll" style="width: 100%;height: 100vh"></div>
  371. <!--图层-->
  372. <div class="rightZoom_wrap">
  373. <img src="../../assets/images/housesteadSurvey/tool1.png">
  374. <div class="amplification" @click="selectionPushMap">图层</div>
  375. </div>
  376. <!--放大缩小-->
  377. <div class="mapZoom_wrap">
  378. <div class="qtMap" @click="">
  379. <img src="../../assets/images/housesteadSurvey/tool2.png">
  380. <p>全图</p>
  381. </div>
  382. <div class="clMap" @click="" id="area">
  383. <img src="../../assets/images/housesteadSurvey/tool3.png">
  384. <p>测量</p>
  385. </div>
  386. <div class="hcMap" @click="">
  387. <img src="../../assets/images/housesteadSurvey/tool4.png">
  388. <p>核查</p>
  389. </div>
  390. <div class="htMap" @click="" id="htMapAll">
  391. <img src="../../assets/images/housesteadSurvey/tool5.png">
  392. <p>绘图</p>
  393. </div>
  394. <div class="dwMap" @click="" id="dwMapAll">
  395. <img src="../../assets/images/housesteadSurvey/tool6.png">
  396. <p>定位</p>
  397. </div>
  398. </div>
  399. <!--列表拉取详情-->
  400. <div class="homesteadList_wrap" v-show="homesteadListStatus">
  401. <div class="main_m">
  402. <div class="title_m">
  403. <div class="more_icon" @click="homesteadListShrink"></div>
  404. <div class="name">筛选列表</div>
  405. </div>
  406. <div style="padding: 10px 15px;">
  407. <van-checkbox name="all" shape="square">全选</van-checkbox>
  408. <div style="height: 15px;"></div>
  409. <van-checkbox-group v-model="checked">
  410. <van-checkbox name="a" shape="square" style="margin-bottom: 5px;">
  411. <template #default>
  412. 附属设施<span style="display: inline-block;background: red;height: 5px;width: 20px;vertical-align: middle;margin-left: 10px;"></span>
  413. </template>
  414. </van-checkbox>
  415. <van-checkbox name="b" shape="square" style="margin-bottom: 5px;">
  416. <template #default>
  417. 自<i style="margin-right: 0.5em;"></i>然<i style="margin-right: 0.5em;"></i>幢<span style="display: inline-block;background: red;height: 5px;width: 20px;vertical-align: middle;margin-left: 10px;"></span>
  418. </template>
  419. </van-checkbox>
  420. <van-checkbox name="b" shape="square" style="margin-bottom: 5px;">
  421. <template #default>
  422. 宅<i style="margin-right: 0.5em;"></i>基<i style="margin-right: 0.5em;"></i>地<span style="display: inline-block;background: red;height: 5px;width: 20px;vertical-align: middle;margin-left: 10px;"></span>
  423. </template>
  424. </van-checkbox>
  425. </van-checkbox-group>
  426. </div>
  427. <!-- <div class="noInfo_data">-->
  428. <!-- <div class="checkbox">-->
  429. <!-- &lt;!&ndash; 全选与不全选模块 &ndash;&gt;-->
  430. <!-- <div class="thead-checkbox" @click="checkClick">-->
  431. <!-- <input type="checkbox" class="checkall">全选-->
  432. <!-- </div>-->
  433. <!-- &lt;!&ndash; 小复选框选 &ndash;&gt;-->
  434. <!-- <div class="item-list-checkbox">-->
  435. <!-- <div class="item-checkbox"><input type="checkbox" @click="checkClick('fsssMap')" class="checkitem">附属设施</div>-->
  436. <!-- <div class="item-checkbox" @click="checkClick('zrzMap')"><input type="checkbox" class="checkitem">自然幢</div>-->
  437. <!-- <div class="item-checkbox" @click="checkClick('zjdMap')"><input type="checkbox" class="checkitem">宅基地</div>-->
  438. <!-- </div>-->
  439. <!-- </div>-->
  440. <!-- </div>-->
  441. </div>
  442. </div>
  443. <!-- &lt;!&ndash;列表 定位&ndash;&gt;-->
  444. <!-- <div class="rightIcon_wrap">-->
  445. <!-- &lt;!&ndash; <div class="positioning_wrap">-->
  446. <!-- <div class="icon"></div>-->
  447. <!-- </div> &ndash;&gt;-->
  448. <!-- <div class="selectionIcon_wrap" @click="selectionPush">-->
  449. <!-- <div class="icon"></div>-->
  450. <!-- <div class="text">列表</div>-->
  451. <!-- </div>-->
  452. <!-- </div>-->
  453. <van-overlay :show="selectionIconShow" @click="homesteadListShrink" />
  454. </div>
  455. <van-popup v-model="show1" style="height:100%;width:100%;">
  456. <div class="bannerBg">
  457. <van-nav-bar
  458. style="background:transparent;border-bottom-width:0;"
  459. @click-left="show1=!show1"
  460. >
  461. <template #left>
  462. <van-icon name="arrow-left" size="18" color="#fff" />
  463. </template>
  464. <template #title>
  465. <p style="color:#fff">户主信息</p>
  466. </template>
  467. </van-nav-bar>
  468. </div>
  469. <div style="margin:20px;">
  470. <van-form @submit="onSubmit">
  471. <p class="title" style="position:relative;padding-left:20px;line-height:32px;">户主信息</p>
  472. <van-field
  473. v-model="hzform.hzxm"
  474. name="户主名称"
  475. label="户主名称"
  476. placeholder="户主名称"
  477. required
  478. :rules="[{ required: true, message: '' }]"
  479. />
  480. <van-field
  481. v-model="hzform.hzzjlx"
  482. name="户主证件类型"
  483. label="户主证件类型"
  484. placeholder="户主证件类型"
  485. input-align="right"
  486. required
  487. :rules="[{ required: true, message: '' }]"
  488. @click="showhzzjlx = true"
  489. />
  490. <van-popup v-model="showhzzjlx" position="bottom">
  491. <van-picker
  492. show-toolbar
  493. :columns="columns"
  494. @confirm="onConfirm"
  495. @cancel="showhzzjlx = false"
  496. />
  497. </van-popup>
  498. <van-field
  499. v-model="hzform.hzzjhm"
  500. name="户主证件号码"
  501. label="户主证件号码"
  502. placeholder="户主证件号码"
  503. :rules="[{ required: true, message: '' }]"
  504. />
  505. <van-field
  506. v-model="hzform.txdz"
  507. name="通讯地址"
  508. label="通讯地址"
  509. placeholder="通讯地址"
  510. :rules="[{ required: true, message: '' }]"
  511. />
  512. <van-field
  513. v-model="hzform.hncysl"
  514. name="户内成员数量"
  515. label="户内成员数量"
  516. placeholder="户内成员数量"
  517. :rules="[{ required: true, message: '' }]"
  518. />
  519. <div style="text-align:center;overflow:auto;">
  520. <van-button plain round color="#7AC943" size="mini" style="margin:0 auto;">查看户内成员信息</van-button>
  521. </div>
  522. <div style="margin: 16px;">
  523. <van-button round block color="#7AC943" native-type="submit">保存</van-button>
  524. </div>
  525. </van-form>
  526. </div>
  527. </van-popup>
  528. <van-popup v-model="showsyqr" style="height:100%;width:100%;">
  529. <div class="bannerBg">
  530. <van-nav-bar
  531. style="background:transparent;border-bottom-width:0;"
  532. @click-left="showsyqr=!showsyqr"
  533. >
  534. <template #left>
  535. <van-icon name="arrow-left" size="18" color="#fff" />
  536. </template>
  537. <template #title>
  538. <p style="color:#fff">{{form1.zjddm?"":"新增"}}使用权利人</p>
  539. </template>
  540. </van-nav-bar>
  541. </div>
  542. <div style="margin:20px;">
  543. <van-form @submit="onSubmit">
  544. <p class="title" style="position:relative;padding-left:20px;line-height:32px;">使用权人</p>
  545. <van-field
  546. v-model="form1.suyqrdm"
  547. name="所有权人代码"
  548. label="所有权人代码"
  549. placeholder="所有权人代码"
  550. :rules="[{ required: true, message: '' }]"
  551. />
  552. <van-field
  553. v-model="form1.nhdm"
  554. name="农户代码"
  555. label="农户代码"
  556. placeholder="农户代码"
  557. :rules="[{ required: true, message: '' }]"
  558. />
  559. <van-field
  560. v-model="form1.zjddm"
  561. name="宅基地代码"
  562. label="宅基地代码"
  563. placeholder="宅基地代码"
  564. :rules="[{ required: true, message: '' }]"
  565. />
  566. <van-field
  567. v-model="form1.nmfwdm"
  568. name="农民房屋代码"
  569. label="农民房屋代码"
  570. placeholder="农民房屋代码"
  571. :rules="[{ required: true, message: '' }]"
  572. />
  573. <van-field
  574. v-model="form1.shyqrdbxm"
  575. name="使用权人代表姓名"
  576. label="使用权人代表姓名"
  577. placeholder="使用权人代表姓名"
  578. :rules="[{ required: true, message: '' }]"
  579. />
  580. <van-field
  581. v-model="form1.shyqrdbzjlx"
  582. name="使用权人代表证件类型"
  583. label="使用权人代表证件类型"
  584. placeholder="使用权人代表证件类型"
  585. :rules="[{ required: true, message: '' }]"
  586. />
  587. <van-field
  588. v-model="form1.shyqrdbzjhm"
  589. name="使用权人代表证件号码"
  590. label="使用权人代表证件号码"
  591. placeholder="使用权人代表证件号码"
  592. :rules="[{ required: true, message: '' }]"
  593. />
  594. <van-field
  595. v-model="form1.bdcdyh"
  596. name="不动产单元号"
  597. label="不动产单元号"
  598. placeholder="不动产单元号"
  599. :rules="[{ required: true, message: '' }]"
  600. />
  601. <van-field
  602. v-model="form1.bdcqzh"
  603. name="不动产权证号"
  604. label="不动产权证号"
  605. placeholder="不动产权证号"
  606. :rules="[{ required: true, message: '' }]"
  607. />
  608. <van-field
  609. v-model="form1.qzysxlh"
  610. name="权证印刷序列号"
  611. label="权证印刷序列号"
  612. placeholder="权证印刷序列号"
  613. :rules="[{ required: true, message: '' }]"
  614. />
  615. <van-field
  616. v-model="form1.fzjg"
  617. name="发证机关"
  618. label="发证机关"
  619. placeholder="发证机关"
  620. :rules="[{ required: true, message: '' }]"
  621. />
  622. <van-field
  623. v-model="form1.sshy"
  624. name="所属行业"
  625. label="所属行业"
  626. placeholder="所属行业"
  627. :rules="[{ required: true, message: '' }]"
  628. />
  629. <van-field name="radio" label="国家/地区">
  630. <template #input>
  631. <van-radio-group v-model="form1.gj" direction="horizontal">
  632. <van-radio name="1">中国</van-radio>
  633. <van-radio name="2">其他</van-radio>
  634. </van-radio-group>
  635. </template>
  636. </van-field>
  637. <van-field
  638. v-model="form1.qlbl"
  639. name="权利比例"
  640. label="权利比例"
  641. placeholder="权利比例"
  642. :rules="[{ required: true, message: '' }]"
  643. />
  644. <van-field
  645. v-model="form1.hjszss"
  646. name="户籍所在省市"
  647. label="户籍所在省市"
  648. placeholder="户籍所在省市"
  649. :rules="[{ required: true, message: '' }]"
  650. />
  651. <van-field name="radio" label="性别">
  652. <template #input>
  653. <van-radio-group v-model="form1.xb" direction="horizontal">
  654. <van-radio name="1">男</van-radio>
  655. <van-radio name="2">女</van-radio>
  656. </van-radio-group>
  657. </template>
  658. </van-field>
  659. <van-field
  660. v-model="form1.dh"
  661. name="电话"
  662. label="电话"
  663. placeholder="电话"
  664. :rules="[{ required: true, message: '' }]"
  665. />
  666. <van-field
  667. v-model="form1.dz"
  668. name="地址"
  669. label="地址"
  670. placeholder="地址"
  671. :rules="[{ required: true, message: '' }]"
  672. />
  673. <van-field
  674. v-model="form1.ftzdmj"
  675. name="分摊宗地面积"
  676. label="分摊宗地面积"
  677. placeholder="分摊宗地面积"
  678. :rules="[{ required: true, message: '' }]"
  679. />
  680. <van-field
  681. v-model="form1.sfsyqrzjgy"
  682. name="是否使用权人之间共有"
  683. label="是否使用权人之间共有"
  684. placeholder="是否使用权人之间共有"
  685. :rules="[{ required: true, message: '' }]"
  686. />
  687. <van-field
  688. v-model="form1.qlrlx"
  689. name="权利人类型"
  690. label="权利人类型"
  691. placeholder="权利人类型"
  692. :rules="[{ required: true, message: '' }]"
  693. />
  694. <van-field
  695. v-model="form1.gyfs"
  696. name="共有方式"
  697. label="共有方式"
  698. placeholder="共有方式"
  699. :rules="[{ required: true, message: '' }]"
  700. />
  701. <van-field
  702. v-model="form1.sfbncjtjjzzcy"
  703. name="是否本农村集体经济组织成员"
  704. label="是否本农村集体经济组织成员"
  705. placeholder="是否本农村集体经济组织成员"
  706. :rules="[{ required: true, message: '' }]"
  707. />
  708. <van-field
  709. v-model="form1.hklx"
  710. name="户口类型"
  711. label="户口类型"
  712. placeholder="户口类型"
  713. :rules="[{ required: true, message: '' }]"
  714. />
  715. <van-field
  716. v-model="form1.bz"
  717. name="备注"
  718. label="备注"
  719. placeholder="备注"
  720. :rules="[{ required: true, message: '' }]"
  721. />
  722. <div style="text-align:center;overflow:auto;">
  723. <van-button plain round color="#7AC943" size="mini" style="margin:0 auto;" native-type="button" @click="showhncylist=true">查看户内成员列表</van-button>
  724. </div>
  725. <div style="margin: 16px;">
  726. <van-button round block color="#7AC943" native-type="submit">保存</van-button>
  727. </div>
  728. </van-form>
  729. </div>
  730. </van-popup>
  731. <van-popup v-model="showhncylist" style="height:100%;width:100%;">
  732. <div class="bannerBg">
  733. <van-nav-bar
  734. style="background:transparent;border-bottom-width:0;"
  735. @click-left="showhncylist=!showhncylist"
  736. >
  737. <template #left>
  738. <van-icon name="arrow-left" size="18" color="#fff" />
  739. </template>
  740. <template #title>
  741. <p style="color:#fff">户内成员列表</p>
  742. </template>
  743. </van-nav-bar>
  744. </div>
  745. <van-swipe-cell v-for="(item,index) in hncylist" :key="index" @click.native="showPopuphncy" 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;">
  746. <div style="padding:20px;">
  747. <p style="color:#22B7F2;font-size:20px;line-height:30px;"><van-icon name="wap-home" color="#22b7f2" size="20" style="margin-right:10px;"/>刘茂强</p>
  748. <div style="display:flex;line-height:20px">
  749. <p style="flex:1;text-align:left;">证件号码</p>
  750. <p style="flex:1;text-align:right;">4413215200216562255Z00026</p>
  751. </div>
  752. <div style="display:flex;line-height:20px">
  753. <p style="flex:1;text-align:left;">权利人类型</p>
  754. <p style="flex:1;text-align:right;">个人</p>
  755. </div>
  756. </div>
  757. <template #right>
  758. <van-button square text="删除" type="danger" class="delete-button" />
  759. </template>
  760. </van-swipe-cell>
  761. <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;">
  762. <div style="text-align:center;" >
  763. <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>
  764. </div>
  765. </div>
  766. </van-popup>
  767. <van-popup v-model="showhncy" style="height:100%;width:100%;">
  768. <div class="bannerBg">
  769. <van-nav-bar
  770. style="background:transparent;border-bottom-width:0;"
  771. @click-left="showhncy=!showhncy"
  772. >
  773. <template #left>
  774. <van-icon name="arrow-left" size="18" color="#fff" />
  775. </template>
  776. <template #title>
  777. <p style="color:#fff">户内成员</p>
  778. </template>
  779. </van-nav-bar>
  780. </div>
  781. <div style="margin:20px;">
  782. <van-form @submit="onSubmit">
  783. <van-field
  784. v-model="form5.nhdm"
  785. name="农户代码"
  786. label="农户代码"
  787. placeholder="农户代码"
  788. :rules="[{ required: true, message: '' }]"
  789. />
  790. <van-field
  791. v-model="form5.xm"
  792. name="姓名"
  793. label="姓名"
  794. placeholder="姓名"
  795. :rules="[{ required: true, message: '' }]"
  796. />
  797. <van-field
  798. v-model="form5.zjlx"
  799. name="证件类型"
  800. label="证件类型"
  801. placeholder="证件类型"
  802. :rules="[{ required: true, message: '' }]"
  803. />
  804. <van-field
  805. v-model="form5.yhzgx"
  806. name="与户主关系"
  807. label="与户主关系"
  808. placeholder="与户主关系"
  809. :rules="[{ required: true, message: '' }]"
  810. />
  811. <van-field
  812. v-model="form5.zjhm"
  813. name="证件号码"
  814. label="证件号码"
  815. placeholder="证件号码"
  816. :rules="[{ required: true, message: '' }]"
  817. />
  818. <van-field
  819. v-model="form5.xb"
  820. name="性别"
  821. label="性别"
  822. placeholder="性别"
  823. :rules="[{ required: true, message: '' }]"
  824. />
  825. <van-field
  826. v-model="form5.lxdh"
  827. name="联系电话"
  828. label="联系电话"
  829. placeholder="联系电话"
  830. :rules="[{ required: true, message: '' }]"
  831. />
  832. <van-field
  833. v-model="form5.hklx"
  834. name="户口类型"
  835. label="户口类型"
  836. placeholder="户口类型"
  837. :rules="[{ required: true, message: '' }]"
  838. />
  839. <van-field
  840. v-model="form5.hyzk"
  841. name="婚姻状况"
  842. label="婚姻状况"
  843. placeholder="婚姻状况"
  844. :rules="[{ required: true, message: '' }]"
  845. />
  846. <van-field
  847. v-model="form5.jzwqk"
  848. name="建筑物情况"
  849. label="建筑物情况"
  850. placeholder="建筑物情况"
  851. :rules="[{ required: true, message: '' }]"
  852. />
  853. <van-field
  854. v-model="form5.sfbjtjjzzcy"
  855. name="是否本集体经济组织成员"
  856. label="是否本集体经济组织成员"
  857. placeholder="是否本集体经济组织成员"
  858. :rules="[{ required: true, message: '' }]"
  859. />
  860. <van-field
  861. v-model="form5.cybz"
  862. name="成员备注"
  863. label="成员备注"
  864. placeholder="成员备注"
  865. :rules="[{ required: true, message: '' }]"
  866. />
  867. <van-field
  868. v-model="form5.cybzsm"
  869. name="成员备注说明"
  870. label="成员备注说明"
  871. placeholder="成员备注说明"
  872. :rules="[{ required: true, message: '' }]"
  873. />
  874. <div style="margin: 16px;">
  875. <van-button round block color="#7AC943" native-type="submit">保存</van-button>
  876. </div>
  877. </van-form>
  878. </div>
  879. </van-popup>
  880. </div>
  881. </template>
  882. <script>
  883. import { currentLocation,} from "@/api/homestead/index";
  884. import {listZjdzd,getQueryLand} from "@/api/homesteadSurvey/zjdzd";
  885. import {listShyqr} from "@/api/homesteadSurvey/shyqr";
  886. import {listSuyqr,updateSuyqr,addSuyqr} from "@/api/homesteadSurvey/suyqr";
  887. import {listZrz,getZrzZjdDmList} from "@/api/homesteadSurvey/zrz";
  888. import {listFsss,getFsssZjdDmList} from "@/api/homesteadSurvey/fsss";
  889. import { listTown, getTown } from "@/api/homesteadSurvey/town";
  890. import { listVillage} from "@/api/homesteadSurvey/village";
  891. import $ from "jquery";
  892. export default {
  893. name: "homesteadList",
  894. data() {
  895. return {
  896. checked:[],
  897. // 使用权人表单弹出
  898. showsyqr:false,
  899. showhncylist:false,
  900. showhncy:false,
  901. activeBtn:1,
  902. value:'',
  903. // 宅基地搜索框
  904. zjdvalue:"",
  905. // 使用权人搜索框
  906. syqrvalue:"",
  907. active:null,
  908. // 全部列表
  909. list:[],
  910. // 已核查列表
  911. list1:[],
  912. // 未核查列表
  913. list2:[],
  914. // 使用权人列表
  915. syqrlist:[],
  916. // 户内成员表单
  917. form5: {},
  918. // 户内成员列表
  919. hncylist:[11,1,1],
  920. currentRate:20,
  921. geoJson:null,
  922. // 使用权人
  923. form1:[],
  924. // 户主列表
  925. hzform:{},
  926. // 权利人列表
  927. qlrform:[],
  928. // 权利人性质弹出框
  929. showsuyqxz:false,
  930. // 代理人证件类型弹出框
  931. showdlrzjlx:false,
  932. // 代表人证件类型弹出框
  933. showdbrzjlx:false,
  934. // 数据来源弹出框
  935. showsjly:false,
  936. // 证件类型字典
  937. zjlxOptions: [],
  938. // 所有权性质字典
  939. suyqxzOption: [],
  940. // 数据来源字典
  941. sjlyOptions:[],
  942. columns:[],
  943. show1:false,
  944. showhzzjlx: false,
  945. // 路由传过来的任务基本信息。
  946. item: {},
  947. //地图使用 --start
  948. openMap: false,
  949. mapTheGeomZrzId: null,
  950. mapTheGeomZjdId: null,
  951. mapTheGeomFsssId: null,
  952. drawInsert:null,
  953. mapZjdData:{},
  954. mapZrzData:{},
  955. mapFsssData:{},
  956. mapHaDataValue:false,
  957. mapHasDateStatus: 0, //0附属设施 1自然幢 2宅基地
  958. selectionIconShow:false,
  959. homesteadListStatus:false,
  960. //地图绘制状态
  961. draw: {
  962. drawMapPolygon: false, //绘制地图
  963. },
  964. mapTownList: null,
  965. mapVillageList: null,
  966. coordinate: "",
  967. //地图使用 --end
  968. };
  969. },
  970. mounted(){
  971. currentLocation().then((res) => {
  972. if (res.code == 200) {
  973. let content = res.data;
  974. this.geoJson = content.geoJson;
  975. }
  976. });
  977. },
  978. created(){
  979. this.getDicts("zjlx").then(response => {
  980. this.zjlxOptions = response.data;
  981. });
  982. this.getDicts("qsxz").then(response => {
  983. this.suyqxzOptions = response.data;
  984. });
  985. this.getDicts("sjly").then(response => {
  986. this.sjlyOptions = response.data;
  987. });
  988. this.item = this.$cookies.get("item");
  989. this.getZjdList();
  990. },
  991. methods: {
  992. setCookies(item){
  993. this.$cookies.set("search",JSON.stringify(item));
  994. },
  995. // 入户核查搜索框新增。
  996. onClickzjd(){
  997. this.$cookies.remove("search");
  998. this.$router.push({name:'homesteadAdd'});
  999. },
  1000. // 农户信息搜索框新增。
  1001. onClicksyqr(){
  1002. this.showsyqr = true;
  1003. this.form1 = {};
  1004. },
  1005. // 返回
  1006. onClickLeft(){
  1007. this.$router.push('/homesteadSurvey/index');
  1008. },
  1009. onConfirmdbrzjlx(value){
  1010. this.qlrform.dbrzjlxName = value.dictLabel
  1011. this.qlrform.dbrzjlx = value.dictValue
  1012. this.showdbrzjlx = false
  1013. },
  1014. onConfirmsuyqxz(value){
  1015. this.qlrform.suyqxzName = value.dictLabel
  1016. this.qlrform.suyqxz = value.dictValue
  1017. this.showsuyqxz = false
  1018. },
  1019. onConfirmdlrzjlx(value){
  1020. this.qlrform.dlrzjlxName = value.dictLabel
  1021. this.qlrform.dlrzjlx = value.dictValue
  1022. this.showdlrzjlx = false
  1023. },
  1024. onConfirmsjly(value){
  1025. this.qlrform.sjlyName = value.dictLabel
  1026. this.qlrform.sjly = value.dictValue
  1027. this.showsjly = false
  1028. },
  1029. // 所有权人保存
  1030. onSubmitsyqr(){
  1031. if(this.qlrform.id!=null){
  1032. updateSuyqr(this.qlrform).then(
  1033. response => {
  1034. let _this =this
  1035. this.$toast({
  1036. icon: 'success', // 找到自己需要的图标
  1037. message: '修改成功',
  1038. duration:"1000"
  1039. })
  1040. }
  1041. );
  1042. }else{
  1043. addSuyqr(this.qlrform).then(
  1044. response => {
  1045. let _this =this
  1046. this.$toast({
  1047. icon: 'success', // 找到自己需要的图标
  1048. message: '保存成功',
  1049. duration:"1000"
  1050. })
  1051. }
  1052. );
  1053. }
  1054. },
  1055. // 查询所有权人
  1056. getSyqr(){
  1057. let params = {
  1058. "deptId" : this.item.deptId
  1059. }
  1060. this.qlrform={}
  1061. listSuyqr(params).then((response) => {
  1062. this.qlrform = response.rows[0]
  1063. this.zjlxOptions.map(res => {
  1064. if(res.dictValue == this.qlrform.dbrzjlx){
  1065. this.qlrform.dbrzjlxName = res.dictLabel
  1066. }
  1067. if(res.dictValue == this.qlrform.dlrzjlx){
  1068. this.qlrform.dlrzjlxName = res.dictLabel
  1069. }
  1070. })
  1071. this.suyqxzOptions.map(res => {
  1072. if(res.dictValue == this.qlrform.suyqxz){
  1073. this.qlrform.suyqxzName = res.dictLabel
  1074. }
  1075. })
  1076. this.sjlyOptions.map(res => {
  1077. if(res.dictValue == this.qlrform.sjly){
  1078. this.qlrform.sjlyName = res.dictLabel
  1079. }
  1080. })
  1081. });
  1082. },
  1083. // 查询使用权人
  1084. getShyqr(){
  1085. let params = {
  1086. "deptId" : this.item.deptId
  1087. }
  1088. listShyqr(params).then((response) => {
  1089. this.syqrlist = response.rows
  1090. });
  1091. },
  1092. // 农户信息搜索框
  1093. onSearchnh(){
  1094. let params = {
  1095. "deptId" : this.item.deptId,
  1096. "syqrValue" : this.syqrvalue
  1097. }
  1098. listShyqr(params).then((response) => {
  1099. this.syqrlist = response.rows
  1100. });
  1101. },
  1102. // 宅基地搜索框
  1103. onSearchzjd(){
  1104. if(this.active==1){
  1105. let params = {
  1106. "deptId" : this.item.deptId,
  1107. "houserDataConfirmStatus" : "CONFIRMED",
  1108. "syqr" : this.zjdvalue
  1109. }
  1110. listZjdzd(params).then((response) => {
  1111. if (response.code == 200) {
  1112. this.list1 = response.rows
  1113. }
  1114. });
  1115. }else if(this.active==2){
  1116. let params = {
  1117. "deptId" : this.item.deptId,
  1118. "houserDataConfirmStatus" : "UNCONFIRMED",
  1119. "syqr" : this.zjdvalue
  1120. }
  1121. listZjdzd(params).then((response) => {
  1122. if (response.code == 200) {
  1123. this.list2 = response.rows
  1124. }
  1125. });
  1126. }else{
  1127. let params = {
  1128. "deptId" : this.item.deptId,
  1129. "syqr" : this.zjdvalue
  1130. }
  1131. listZjdzd(params).then((response) => {
  1132. if (response.code == 200) {
  1133. this.list = response.rows
  1134. }
  1135. });
  1136. }
  1137. },
  1138. // 户内成员弹窗
  1139. showPopuphncy(){
  1140. this.showhncy = true
  1141. },
  1142. getZjdList(){
  1143. if(this.active==1){
  1144. let params = {
  1145. "deptId" : this.item.deptId,
  1146. "houseDataConfirmStatus" : "CONFIRMED"
  1147. }
  1148. listZjdzd(params).then((response) => {
  1149. if (response.code == 200) {
  1150. this.list1 = response.rows
  1151. }
  1152. });
  1153. }else if(this.active==2){
  1154. let params = {
  1155. "deptId" : this.item.deptId,
  1156. "houseDataConfirmStatus" : "UNCONFIRMED"
  1157. }
  1158. listZjdzd(params).then((response) => {
  1159. if (response.code == 200) {
  1160. this.list2 = response.rows
  1161. }
  1162. });
  1163. }else{
  1164. let params = {
  1165. "deptId" : this.item.deptId,
  1166. }
  1167. listZjdzd(params).then((response) => {
  1168. if (response.code == 200) {
  1169. this.list = response.rows
  1170. }
  1171. });
  1172. }
  1173. },
  1174. onConfirm(){},
  1175. onSubmit(){},
  1176. mapShow() {
  1177. //镇边界获取
  1178. listTown().then(response => {
  1179. if (response.code == 200) {
  1180. this.mapTownList = response.rows;
  1181. //村边界获取
  1182. listVillage(this.queryParams).then(response => {
  1183. this.mapVillageList = response.rows;
  1184. listZjdzd().then((response) => {
  1185. if (response.code == 200) {
  1186. this.mapTheGeomZjdId= response.rows;
  1187. listZrz().then((response) => {
  1188. if (response.code == 200) {
  1189. this.mapTheGeomZrzId = response.rows;
  1190. listFsss().then((response) => {
  1191. if (response.code == 200) {
  1192. this.mapTheGeomFsssId = response.rows;
  1193. }
  1194. setTimeout(() => {
  1195. this.GetMapsInit();
  1196. }, 300);
  1197. });
  1198. }
  1199. });
  1200. }
  1201. });
  1202. });
  1203. }
  1204. });
  1205. },
  1206. //地图加载 -----start
  1207. GetMapsInit() {
  1208. //加载地图编辑
  1209. var that = this;
  1210. var map;
  1211. // document.getElementById("mapAll").innerHTML = '';
  1212. var hc_land;
  1213. var projection = new ol.proj.Projection({
  1214. //地图投影类型
  1215. code: "EPSG:3857",
  1216. units: "degrees",
  1217. //extent:extent
  1218. });
  1219. var aerial = new ol.layer.Tile({
  1220. source: new ol.source.XYZ({
  1221. url: "http://t0.tianditu.gov.cn/img_w/wmts?" +
  1222. "SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" +
  1223. "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=cc4aba6e967096098249efa069733067",
  1224. }),
  1225. isGroup: true,
  1226. name: "卫星影像图",
  1227. });
  1228. var yingxzi = new ol.layer.Tile({
  1229. source: new ol.source.XYZ({
  1230. url: "https://t0.tianditu.gov.cn/DataServer?T=cia_w&x={x}&y={y}&l={z}&tk=cc4aba6e967096098249efa069733067",
  1231. }),
  1232. isGroup: true,
  1233. name: "天地图文字标注--卫星影像图",
  1234. });
  1235. //加载地图
  1236. map = new ol.Map({
  1237. controls: ol.control.defaults({attribution: false, zoom: false, rotate: false}).extend([]), //隐藏放大缩小按钮
  1238. layers: [aerial, yingxzi],
  1239. projection: projection,
  1240. target: "mapWrapAll",
  1241. view: new ol.View({
  1242. //center: ol.proj.fromLonLat([115.452752, 31.789033]),
  1243. zoom: 15,
  1244. minZoom: 0, //地图缩小限制
  1245. maxZoom: 18.3, //地图放大限制
  1246. }),
  1247. });
  1248. //判断当前账套是否有数据
  1249. var mapTalkAbout = true;
  1250. //获取镇界线----start
  1251. if(this.mapTownList.length >0){
  1252. for (var i = 0; this.mapTownList.length > i; i++) {
  1253. if (this.mapTownList[i] != null && this.mapTownList[i].theGeom != null && this.mapTownList[i].theGeom != "") {
  1254. mapTalkAbout =false;
  1255. this.mapTownList[i].createBy = 'mapTownList';
  1256. var theGeomLine= this.mapTownList[i].theGeom.replaceAll("MultiPolygon","LineString");
  1257. theGeomLine = theGeomLine.replaceAll("[[[[","[[");
  1258. theGeomLine = theGeomLine.replaceAll("]]]]","]]");
  1259. hc_land = new ol.layer.Vector({
  1260. title: "add Layer",
  1261. source: new ol.source.Vector({
  1262. projection: projection,
  1263. features: new ol.format.GeoJSON().readFeatures("{\n" +
  1264. " \"type\": \"Feature\",\n" +
  1265. " \"geometry\":" + theGeomLine + ", \"properties\":" + JSON.stringify(this.mapTownList[i]) + "}"),
  1266. }),
  1267. style: new ol.style.Style({
  1268. fill: new ol.style.Fill({
  1269. //矢量图层填充颜色,以及透明度
  1270. color: "#AE57A4",
  1271. }),
  1272. stroke: new ol.style.Stroke({
  1273. //边界样式
  1274. color: "#FF0000",
  1275. width: 3,
  1276. }),
  1277. // text: new ol.style.Text({
  1278. // text: this.mapTownList[i].xzqmc,
  1279. // font: '30px sans-serif',
  1280. // textAlign: "center",
  1281. // textBaseline: "middle",
  1282. // //font: 'verdana',
  1283. // fill: new ol.style.Fill({
  1284. // color: "#ff0000"
  1285. // }),
  1286. // // backgroundFill: new ol.style.Fill({
  1287. // // color: "#ff0000"
  1288. // // }),
  1289. // font: "30px sans-serif",
  1290. // stroke: new ol.style.Stroke({
  1291. // color: "#ffffff"
  1292. // // width: 3
  1293. // }),
  1294. // offsetX: parseInt(0, 10),
  1295. // offsetY: parseInt(0, 10),
  1296. // placement: "line", //point 则自动计算面的中心k点然后标注 line 则根据面要素的边进行标注
  1297. // overflow: false //超出面的部分不显示
  1298. //}),
  1299. }),
  1300. });
  1301. map.addLayer(hc_land);
  1302. //console.log(hc_land.values_.source.featuresRtree_.rbush_.data);
  1303. var maxXMap = hc_land.values_.source.featuresRtree_.rbush_.data.maxX;
  1304. var maxYMap = hc_land.values_.source.featuresRtree_.rbush_.data.maxY;
  1305. var minXMap = hc_land.values_.source.featuresRtree_.rbush_.data.minX;
  1306. var minYMap = hc_land.values_.source.featuresRtree_.rbush_.data.minY;
  1307. // //定位查询位置
  1308. var center = ol.extent.getCenter([maxXMap, maxYMap, minXMap, minYMap]); //获取边界区域的中心位置
  1309. // console.log(center);
  1310. map.getView().animate({
  1311. // 只设置需要的属性即可
  1312. center: center, // 中心点
  1313. zoom: 9.8, // 缩放级别
  1314. rotation: undefined, // 缩放完成view视图旋转弧度
  1315. duration: 1000, // 缩放持续时间,默认不需要设置
  1316. });
  1317. }
  1318. }
  1319. }
  1320. //获取镇界线----end
  1321. //获取村界线----start
  1322. if(this.mapVillageList.length >0){
  1323. for (var i = 0; this.mapVillageList.length > i; i++) {
  1324. if (this.mapVillageList[i] != null && this.mapVillageList[i].theGeom != null && this.mapVillageList[i].theGeom != "") {
  1325. mapTalkAbout =false;
  1326. this.mapVillageList[i].createBy = 'mapVillageList';
  1327. var theGeomLine= this.mapVillageList[i].theGeom.replaceAll("MultiPolygon","LineString");
  1328. theGeomLine = theGeomLine.replaceAll("[[[[","[[");
  1329. theGeomLine = theGeomLine.replaceAll("]]]]","]]");
  1330. hc_land = new ol.layer.Vector({
  1331. title: "add Layer",
  1332. source: new ol.source.Vector({
  1333. projection: projection,
  1334. features: new ol.format.GeoJSON().readFeatures("{\n" +
  1335. " \"type\": \"Feature\",\n" +
  1336. " \"geometry\":" + theGeomLine + ", \"properties\":" + JSON.stringify(this.mapVillageList[i]) + "}"),
  1337. }),
  1338. style: new ol.style.Style({
  1339. fill: new ol.style.Fill({
  1340. //矢量图层填充颜色,以及透明度
  1341. color: "#AE57A4",
  1342. }),
  1343. stroke: new ol.style.Stroke({
  1344. //边界样式
  1345. color: "#ff00ff",
  1346. width: 3,
  1347. }),
  1348. // text: new ol.style.Text({
  1349. // text: this.mapVillageList[i].dcmj,
  1350. // font: '30px sans-serif',
  1351. // textAlign: "center",
  1352. // textBaseline: "middle",
  1353. // //font: 'verdana',
  1354. // fill: new ol.style.Fill({
  1355. // color: "#ff00ff"
  1356. // }),
  1357. // // backgroundFill: new ol.style.Fill({
  1358. // // color: "#ff0000"
  1359. // // }),
  1360. // font: "30px sans-serif",
  1361. // stroke: new ol.style.Stroke({
  1362. // color: "#ffffff"
  1363. // // width: 3
  1364. // }),
  1365. // offsetX: parseInt(0, 10),
  1366. // offsetY: parseInt(0, 10),
  1367. // placement: "line", //point 则自动计算面的中心k点然后标注 line 则根据面要素的边进行标注
  1368. // overflow: false //超出面的部分不显示
  1369. // }),
  1370. }),
  1371. });
  1372. map.addLayer(hc_land);
  1373. }
  1374. }
  1375. }
  1376. // //获取村界线----end
  1377. //宅基地定位开始 ---------start
  1378. if(this.mapTheGeomZjdId.length >0) {
  1379. for (var i = 0; this.mapTheGeomZjdId.length > i; i++) {
  1380. if (this.mapTheGeomZjdId[i] !=null && this.mapTheGeomZjdId[i].theGeom != null && this.mapTheGeomZjdId[i].theGeom != "") {
  1381. mapTalkAbout =false;
  1382. this.mapTheGeomZjdId[i].createBy = 'mapTheGeomZjdId';
  1383. var styleYqr = "";
  1384. if(this.mapTheGeomZjdId[i].houseDataConfirmStatus == "CONFIRMED"){
  1385. styleYqr = new ol.style.Style({
  1386. fill: new ol.style.Fill({
  1387. //矢量图层填充颜色,以及透明度
  1388. color: "#AE57A4",
  1389. }),
  1390. stroke: new ol.style.Stroke({
  1391. //边界样式
  1392. color: "#28FF28",
  1393. width: 3,
  1394. }),
  1395. });
  1396. } else {
  1397. styleYqr = new ol.style.Style({
  1398. fill: new ol.style.Fill({
  1399. //矢量图层填充颜色,以及透明度
  1400. color: "#AE57A4",
  1401. }),
  1402. stroke: new ol.style.Stroke({
  1403. //边界样式
  1404. color: "rgba(255, 45, 45,1)",
  1405. width: 3,
  1406. }),
  1407. });
  1408. }
  1409. hc_land = new ol.layer.Vector({
  1410. title: "add Layer",
  1411. source: new ol.source.Vector({
  1412. projection: projection,
  1413. features: new ol.format.GeoJSON().readFeatures("{\n" +
  1414. " \"type\": \"Feature\",\n" +
  1415. " \"geometry\":" + this.mapTheGeomZjdId[i].theGeom + ", \"properties\":" + JSON.stringify(this.mapTheGeomZjdId[i]) + "}"),
  1416. }),
  1417. style: styleYqr
  1418. });
  1419. map.addLayer(hc_land);
  1420. // var maxXMap = hc_land.values_.source.featuresRtree_.rbush_.data.maxX;
  1421. // var maxYMap = hc_land.values_.source.featuresRtree_.rbush_.data.maxY;
  1422. // var minXMap = hc_land.values_.source.featuresRtree_.rbush_.data.minX;
  1423. // var minYMap = hc_land.values_.source.featuresRtree_.rbush_.data.minY;
  1424. // //定位查询位置
  1425. // var center = ol.extent.getCenter([maxXMap, maxYMap, minXMap, minYMap]); //获取边界区域的中心位置
  1426. // map.getView().animate({
  1427. // // 只设置需要的属性即可
  1428. // center: center, // 中心点
  1429. // zoom: 15.8, // 缩放级别
  1430. // rotation: undefined, // 缩放完成view视图旋转弧度
  1431. // duration: 1000, // 缩放持续时间,默认不需要设置
  1432. // });
  1433. //自然幢定位开始 ---------start
  1434. getZrzZjdDmList(this.mapTheGeomZjdId[i].zjddm).then((response) => {
  1435. if (response.code == 200) {
  1436. this.mapTheGeomZrzId = response.data;
  1437. if(this.mapTheGeomZrzId.length >0) {
  1438. for (var i = 0; this.mapTheGeomZrzId.length > i; i++) {
  1439. if (this.mapTheGeomZrzId[i] !=null && this.mapTheGeomZrzId[i].theGeom != null && this.mapTheGeomZrzId[i].theGeom != "") {
  1440. this.mapTheGeomZrzId[i].createBy = 'mapTheGeomZrzId';
  1441. var styleZrz = "";
  1442. if(this.mapTheGeomZjdId[i].houseDataConfirmStatus == "CONFIRMED"){
  1443. styleZrz = new ol.style.Style({
  1444. fill: new ol.style.Fill({
  1445. //矢量图层填充颜色,以及透明度
  1446. color: "#FFD306",
  1447. }),
  1448. stroke: new ol.style.Stroke({
  1449. //边界样式
  1450. color: "#28FF28",
  1451. width: 3,
  1452. }),
  1453. });
  1454. } else {
  1455. styleZrz = new ol.style.Style({
  1456. fill: new ol.style.Fill({
  1457. //矢量图层填充颜色,以及透明度
  1458. color: "#FFD306",
  1459. }),
  1460. stroke: new ol.style.Stroke({
  1461. //边界样式
  1462. color: "rgba(255, 45, 45,1)",
  1463. width: 3,
  1464. }),
  1465. });
  1466. }
  1467. hc_land = new ol.layer.Vector({
  1468. title: "add Layer",
  1469. source: new ol.source.Vector({
  1470. projection: projection,
  1471. features: new ol.format.GeoJSON().readFeatures("{\n" +
  1472. " \"type\": \"Feature\",\n" +
  1473. " \"geometry\":" + this.mapTheGeomZrzId[i].theGeom + ", \"properties\":" + JSON.stringify(this.mapTheGeomZrzId[i]) + "}"),
  1474. }),
  1475. style: styleZrz
  1476. });
  1477. map.addLayer(hc_land);
  1478. }
  1479. }
  1480. }
  1481. }
  1482. });
  1483. //自然幢定位结束 ---------end
  1484. //附属设施定位开始 ---------start
  1485. getFsssZjdDmList(this.mapTheGeomZjdId[i].zjddm).then((response) => {
  1486. if (response.code == 200) {
  1487. this.mapTheGeomFsssId = response.data;
  1488. if(this.mapTheGeomFsssId.length >0) {
  1489. for (var i = 0; this.mapTheGeomFsssId.length > i; i++) {
  1490. if (this.mapTheGeomFsssId[i] !=null && this.mapTheGeomFsssId[i].theGeom != null && this.mapTheGeomFsssId[i].theGeom != "") {
  1491. this.mapTheGeomFsssId[i].createBy = 'mapTheGeomFsssId';
  1492. var styleFsss = "";
  1493. if(this.mapTheGeomZjdId[i].houseDataConfirmStatus == "CONFIRMED"){
  1494. styleFsss = new ol.style.Style({
  1495. fill: new ol.style.Fill({
  1496. //矢量图层填充颜色,以及透明度
  1497. color: "#00FFFF",
  1498. }),
  1499. stroke: new ol.style.Stroke({
  1500. //边界样式
  1501. color: "#28FF28",
  1502. width: 3,
  1503. }),
  1504. });
  1505. } else {
  1506. styleFsss = new ol.style.Style({
  1507. fill: new ol.style.Fill({
  1508. //矢量图层填充颜色,以及透明度
  1509. color: "#00FFFF",
  1510. }),
  1511. stroke: new ol.style.Stroke({
  1512. //边界样式
  1513. color: "rgba(255, 45, 45,1)",
  1514. width: 3,
  1515. }),
  1516. });
  1517. }
  1518. hc_land = new ol.layer.Vector({
  1519. title: "add Layer",
  1520. source: new ol.source.Vector({
  1521. projection: projection,
  1522. features: new ol.format.GeoJSON().readFeatures("{\n" +
  1523. " \"type\": \"Feature\",\n" +
  1524. " \"geometry\":" + this.mapTheGeomFsssId[i].theGeom + ", \"properties\":" + JSON.stringify(this.mapTheGeomFsssId[i]) + "}"),
  1525. }),
  1526. style: styleFsss
  1527. });
  1528. map.addLayer(hc_land);
  1529. }
  1530. }
  1531. }
  1532. }
  1533. });
  1534. //附属设施定位结束 ---------end
  1535. }
  1536. }
  1537. }
  1538. //宅基地定位结束 ---------end
  1539. //地图操作定义------------start
  1540. //定位定义------------start
  1541. var Zb;
  1542. var latitude;
  1543. var longitude;
  1544. var vector_drawing;
  1545. //定位定义------------end
  1546. //绘图定义---------------start
  1547. var drawing;
  1548. var draw_map;
  1549. //绘图定义---------------end
  1550. //测面绘图定义------------start
  1551. var draw_cm;
  1552. //定义矢量图层
  1553. var vector;
  1554. //创建一个帮助提示信息对象
  1555. var helpTooltip;
  1556. //创建一个测量提示信息对象
  1557. var measureTooltip;
  1558. //创建一个帮助提示框对象
  1559. var helpTooltipElement;
  1560. //测出距离
  1561. var measureTooltipElement;
  1562. //测面绘图定义-----------end
  1563. //地图操作定义------------end
  1564. //定位当前位置 ------start
  1565. $("#dwMapAll").on("click", function () {
  1566. console.log("进入定位图层")
  1567. //删除测量记录操作--------start
  1568. //将矢量图层从图中删除
  1569. //map.removeLayer(helpTooltip);
  1570. map.removeLayer(vector);
  1571. map.removeInteraction(draw_cm);
  1572. //map.removeOverlay(helpTooltipElement);
  1573. //map.removeLayer(measureTooltip);
  1574. //删除测量记录操作--------end
  1575. //删除绘制图层画图操作-------start
  1576. map.removeInteraction(draw_map);
  1577. map.removeLayer(drawing);
  1578. //删除绘制图层画图操作-------end
  1579. //开始定位当前位置
  1580. navigator.geolocation.getCurrentPosition(function(position) {
  1581. latitude = position.coords.latitude;// 获取纬度
  1582. longitude = position.coords.longitude;// 获取经度
  1583. });
  1584. if(latitude !=null && longitude !=null && latitude !="" && longitude !=""){
  1585. Zb = [longitude,latitude];
  1586. }else {
  1587. Zb =[115.452752, 31.789033];
  1588. }
  1589. //矢量标注样式设置函数,设置image为图标ol.style.Icon
  1590. function createLabelStyle() {
  1591. return new ol.style.Style({
  1592. image: new ol.style.Icon({
  1593. //设置图标偏移
  1594. anchor: [0.5, 1],
  1595. //标注样式的起点位置
  1596. anchorOrigin: "top-right",
  1597. //X方向单位:分数
  1598. anchorXUnits: "fraction",
  1599. //Y方向单位:像素
  1600. anchorYUnits: "pixels",
  1601. //偏移起点位置的方向
  1602. offsetOrigin: "top-right",
  1603. //透明度
  1604. opacity: 0.9,
  1605. //图片路径
  1606. src: require("../../assets/images/housesteadSurvey/mark.png"),
  1607. }),
  1608. text: new ol.style.Text({
  1609. textAlign: "center", //位置
  1610. textBaseline: "middle", //基准线
  1611. font: "normal 12px 微软雅黑", //文字样式
  1612. //text: "标注点", //文本内容
  1613. fill: new ol.style.Fill({
  1614. //文本填充样式(即文字颜色)
  1615. color: "#ff0000",
  1616. }),
  1617. }),
  1618. zIndex: 9999,
  1619. });
  1620. }
  1621. var newcenterFeature = new ol.Feature({
  1622. geometry: new ol.geom.Point(ol.proj.fromLonLat(Zb)), //几何信息
  1623. name: "标注点",
  1624. });
  1625. var sourceMapLook = new ol.source.Vector({wrapX: false});
  1626. vector_drawing = new ol.layer.Vector({
  1627. source: sourceMapLook,
  1628. });
  1629. map.addLayer(vector_drawing);
  1630. newcenterFeature.setStyle(createLabelStyle()); //设置要素样式
  1631. sourceMapLook.addFeature(newcenterFeature);
  1632. map.getView().animate({
  1633. // 只设置需要的属性即可
  1634. center: ol.proj.fromLonLat(Zb), // 中心点
  1635. zoom: 17.8, // 缩放级别
  1636. rotation: undefined, // 缩放完成view视图旋转弧度
  1637. duration: 1000, // 缩放持续时间,默认不需要设置
  1638. });
  1639. });
  1640. //定位当前位置 ------end
  1641. //开始绘制图层- -----start
  1642. $("#htMapAll").on("click", function () {
  1643. console.log("进入绘制图层")
  1644. //删除之前 测距操作添加map中的绘图 --------start
  1645. //map.removeLayer(helpTooltip);
  1646. map.removeLayer(vector);
  1647. map.removeInteraction(draw_cm);
  1648. //map.removeOverlay(helpTooltipElement);
  1649. map.removeLayer(measureTooltipElement);
  1650. //删除之前 测距操作添加map中的绘图 --------end
  1651. //删除之前画图图层,重新绘制图层
  1652. map.removeInteraction(draw_map);
  1653. map.removeLayer(drawing);
  1654. //var source = new ol.source.Vector({wrapX: false});
  1655. drawing = new ol.layer.Vector({
  1656. source: new ol.source.Vector(),
  1657. });
  1658. map.addLayer(drawing);
  1659. function addInteraction() {
  1660. draw_map = new ol.interaction.Draw({
  1661. source: drawing.getSource(),
  1662. type: "Polygon",
  1663. });
  1664. draw_map.on("drawend", function (evt) {
  1665. var feature = evt.feature;
  1666. var geometry = feature.getGeometry();
  1667. that.coordinate = geometry.getCoordinates();
  1668. //_this.coordinateList = coordinate.toString();
  1669. //提示当前坐标是否绘制完成
  1670. if(that.coordinate != "" && that.coordinate !=null) {
  1671. htMapAllFu();
  1672. }else {
  1673. console.log("6");
  1674. $("#htMapAll").trigger("click");
  1675. }
  1676. });
  1677. map.addInteraction(draw_map);
  1678. }
  1679. function htMapAllFu() {
  1680. //that.drawMapPolygonFun();
  1681. //绘制多边形地图
  1682. that.$dialog
  1683. .confirm({
  1684. title: "提示",
  1685. message: "是否重新绘制画图",
  1686. })
  1687. .then(() => {
  1688. //$("#drawRemove").trigger("click");
  1689. map.removeLayer(drawing);
  1690. that.coordinate = "";
  1691. })
  1692. .catch(() => {
  1693. //删除画图点
  1694. map.removeInteraction(draw_map);
  1695. });
  1696. }
  1697. addInteraction();
  1698. });
  1699. //开始绘制图层- -----end
  1700. //清除画图鼠标点击事件
  1701. // $("#drawRemove").click(function () {
  1702. // map.removeLayer(drawing);
  1703. // });
  1704. //
  1705. //获取类型开始 侧面-----------------------------------------------------------------start
  1706. $("#area").click(function () {
  1707. console.log("进入测面")
  1708. //删除绘制图层画图操作-------start
  1709. map.removeInteraction(draw_map);
  1710. map.removeLayer(drawing);
  1711. //删除绘制图层画图操作-------end
  1712. //开始绘制 测面--------------------------------------------------------------start
  1713. //定义矢量数据源
  1714. var source = new ol.source.Vector();
  1715. vector = new ol.layer.Vector({
  1716. source: source,
  1717. style: new ol.style.Style({
  1718. fill: new ol.style.Fill({
  1719. color: "rgba(255,255,255,0.2)",
  1720. }),
  1721. stroke: new ol.style.Stroke({
  1722. color: "#e21e0a",
  1723. width: 2,
  1724. }),
  1725. //image: new ol.style.Circle({
  1726. // radius: 7,
  1727. // fill: new ol.style.Fill({
  1728. // color:'#ffcc33'
  1729. // })
  1730. //})
  1731. }),
  1732. });
  1733. //将矢量图层添加到地图中 线的颜色加入map中
  1734. map.addLayer(vector);
  1735. var sketch;
  1736. var continuePolygonMsg = "单击以继续绘制多边形";
  1737. /**
  1738. * Message to show when the user is drawing a line.
  1739. * @type {string}
  1740. */
  1741. //var continueLineMsg = '单击继续绘制直线';
  1742. //鼠标移动触发的函数
  1743. var pointerMoveHandler = function (evt) {
  1744. //Indicates if the map is currently being dragged.
  1745. //Only set for POINTERDRAG and POINTERMOVE events. Default is false.
  1746. //如果是平移地图则直接结束
  1747. if (evt.dragging) {
  1748. return;
  1749. }
  1750. //帮助提示信息
  1751. var helpMsg = "单击开始绘图";
  1752. if (sketch) {
  1753. //Get the feature's default geometry.
  1754. //A feature may have any number of named geometries.
  1755. //获取绘图对象的几何要素
  1756. var geom = sketch.getGeometry();
  1757. //如果当前绘制的几何要素是多边形,则将绘制提示信息设置为多边形绘制提示信息
  1758. //如果当前绘制的几何要素是多线段,则将绘制提示信息设置为多线段绘制提示信息
  1759. helpMsg = continuePolygonMsg;
  1760. }
  1761. //设置帮助提示要素的内标签为帮助提示信息
  1762. helpTooltipElement.innerHTML = helpMsg;
  1763. //设置帮助提示信息的位置
  1764. //The coordinate in view projection corresponding to the original browser event.
  1765. helpTooltip.setPosition(evt.coordinate);
  1766. //移除帮助提示要素的隐藏样式
  1767. $(helpTooltipElement).removeClass("hidden");
  1768. };
  1769. map.on("pointermove", pointerMoveHandler);
  1770. map.getViewport().addEventListener("mouseout", function () {
  1771. helpTooltipElement.classList.add("hidden");
  1772. });
  1773. //添加交互式绘图对象的函数
  1774. function addInteraction() {
  1775. // 获取当前选择的绘制类型
  1776. //var type = typeSelect.value == 'length' ? 'Polygon' : 'LineString';
  1777. //创建一个交互式绘图对象
  1778. var type = "Polygon";
  1779. draw_cm = new ol.interaction.Draw({
  1780. //绘制的数据源
  1781. source: source,
  1782. //绘制类型
  1783. type: type,
  1784. //样式
  1785. style: new ol.style.Style({
  1786. fill: new ol.style.Fill({
  1787. color: "rgba(255,255,255,0.2)",
  1788. }),
  1789. stroke: new ol.style.Stroke({
  1790. color: "rgba(0,0,0,0.5)",
  1791. lineDash: [10, 10],
  1792. width: 2,
  1793. }),
  1794. // image: new ol.style.Circle({
  1795. // radius: 5,
  1796. // stroke: new ol.style.Stroke({
  1797. // color:'rgba(0,0,0,0.7)'
  1798. // }),
  1799. // fill: new ol.style.Fill({
  1800. //color: 'rgba(255,255,255,0.2)'
  1801. // })
  1802. //})
  1803. }),
  1804. });
  1805. //将交互绘图对象添加到地图中
  1806. map.addInteraction(draw_cm);
  1807. //创建测量提示框
  1808. createMeasureTooltip();
  1809. //创建帮助提示框
  1810. createHelpTooltip();
  1811. //定义一个事件监听
  1812. var listener;
  1813. //定义一个控制鼠标点击次数的变量
  1814. var count = 0;
  1815. //绘制开始事件
  1816. draw_cm.on(
  1817. "drawstart",
  1818. function (evt) {
  1819. //The feature being drawn.
  1820. sketch = evt.feature;
  1821. //提示框的坐标
  1822. var tooltipCoord = evt.coordinate;
  1823. //监听几何要素的change事件
  1824. //Increases the revision counter and dispatches a 'change' event.
  1825. listener = sketch.getGeometry().on("change", function (evt) {
  1826. //The event target.
  1827. //获取绘制的几何对象
  1828. var geom = evt.target;
  1829. //定义一个输出对象,用于记录面积和长度
  1830. var output;
  1831. map.removeEventListener("singleclick");
  1832. map.removeEventListener("dblclick");
  1833. //输出多边形的面积
  1834. output = formatArea(geom);
  1835. //Return an interior point of the polygon.
  1836. //获取多变形内部点的坐标
  1837. tooltipCoord = geom.getInteriorPoint().getCoordinates();
  1838. //设置测量提示框的内标签为最终输出结果
  1839. measureTooltipElement.innerHTML = output;
  1840. //设置测量提示信息的位置坐标
  1841. measureTooltip.setPosition(tooltipCoord);
  1842. });
  1843. //地图单击事件
  1844. map.on("singleclick", function (evt) {
  1845. //设置测量提示信息的位置坐标,用来确定鼠标点击后测量提示框的位置
  1846. measureTooltip.setPosition(evt.coordinate);
  1847. //如果是第一次点击,则设置测量提示框的文本内容为起点
  1848. if (count == 0) {
  1849. measureTooltipElement.innerHTML = "起点";
  1850. }
  1851. //根据鼠标点击位置生成一个点
  1852. var point = new ol.geom.Point(evt.coordinate);
  1853. //将该点要素添加到矢量数据源中
  1854. source.addFeature(new ol.Feature(point));
  1855. //更改测量提示框的样式,使测量提示框可见
  1856. measureTooltipElement.className = "tooltip tooltip-static";
  1857. //创建测量提示框
  1858. createMeasureTooltip();
  1859. //点击次数增加
  1860. count++;
  1861. });
  1862. //地图双击事件
  1863. map.on("dblclick", function (evt) {
  1864. //根据
  1865. var point = new ol.geom.Point(evt.coordinate);
  1866. source.addFeature(new ol.Feature(point));
  1867. });
  1868. },
  1869. this
  1870. );
  1871. //绘制结束事件
  1872. draw_cm.on(
  1873. "drawend",
  1874. function (evt) {
  1875. count = 0;
  1876. //设置测量提示框的样式
  1877. measureTooltipElement.className = "tooltip tooltip-static";
  1878. //Set the offset for this overlay.
  1879. //设置偏移量
  1880. measureTooltip.setOffset([0, -7]);
  1881. //清空绘制要素
  1882. sketch = null;
  1883. //清空测量提示要素
  1884. measureTooltipElement = null;
  1885. //创建测量提示框
  1886. createMeasureTooltip();
  1887. //Removes an event listener using the key returned by on() or once().
  1888. //移除事件监听
  1889. ol.Observable.unByKey(listener);
  1890. //移除地图单击事件
  1891. map.removeEventListener("singleclick");
  1892. },
  1893. this
  1894. );
  1895. }
  1896. /**
  1897. * Creates a new help tooltip
  1898. */
  1899. function createHelpTooltip() {
  1900. if (helpTooltipElement) {
  1901. helpTooltipElement.parentNode.removeChild(helpTooltipElement);
  1902. }
  1903. helpTooltipElement = document.createElement("div");
  1904. helpTooltipElement.className = "ol-tooltip hidden";
  1905. helpTooltip = new ol.Overlay({
  1906. element: helpTooltipElement,
  1907. offset: [15, 0],
  1908. positioning: "center-left",
  1909. });
  1910. map.addOverlay(helpTooltip);
  1911. }
  1912. /**
  1913. * Creates a new measure tooltip
  1914. */
  1915. function createMeasureTooltip() {
  1916. if (measureTooltipElement) {
  1917. measureTooltipElement.parentNode.removeChild(measureTooltipElement);
  1918. }
  1919. measureTooltipElement = document.createElement("div");
  1920. measureTooltipElement.className = "ol-tooltip ol-tooltip-measure";
  1921. measureTooltip = new ol.Overlay({
  1922. element: measureTooltipElement,
  1923. offset: [0, -15],
  1924. positioning: "bottom-center",
  1925. });
  1926. map.addOverlay(measureTooltip);
  1927. }
  1928. //格式化测量面积
  1929. var formatArea = function (polygon) {
  1930. //定义面积变量
  1931. var area;
  1932. //获取平面面积
  1933. area = polygon.getArea();
  1934. //定义输出变量
  1935. var output;
  1936. //当面积大于10000时,转换为平方千米,否则为平方米
  1937. if (area > 10000) {
  1938. output =
  1939. Math.round((area / 1000000) * 100) / 100 + " " + "km<sup>2</sup>";
  1940. } else {
  1941. output = Math.round(area * 100) / 100 + " " + "m<sup>2</sup>";
  1942. }
  1943. return output;
  1944. };
  1945. addInteraction();
  1946. });
  1947. //侧面结束-----------------------------------------------------------------end
  1948. // //点击查询详细信息
  1949. map.on("singleclick", function (evt) {
  1950. let feature = map.forEachFeatureAtPixel(
  1951. evt.pixel,
  1952. (feature) => feature
  1953. );
  1954. if (feature) {
  1955. //移除之前的绘制对象
  1956. // map.removeInteraction(draw);
  1957. // //将帮助提示的覆盖标注从地图中删除
  1958. // map.removeOverlay(helpTooltip);
  1959. // //将测量提示的覆盖标注从地图中删除
  1960. // map.removeOverlay(measureTooltip);
  1961. }
  1962. });
  1963. // map.on("singleclick", function (evt) {
  1964. // let feature = map.forEachFeatureAtPixel(
  1965. // evt.pixel,
  1966. // (feature) => feature
  1967. // );
  1968. // if(feature) {
  1969. // document.getElementById("info").innerHTML = "";
  1970. // that.mapHaDataValue = true;
  1971. // var ifConsole = feature.values_.createBy;
  1972. // if (ifConsole =="mapTheGeomFsssId") {
  1973. // let obj = {};
  1974. // that.mapHasDateStatus = 0;
  1975. // obj.deptName = feature.values_.deptName;//行政区划名称
  1976. // obj.zjddm = feature.values_.zjddm;//宅基地代码
  1977. // obj.houseDataConfirmStatus = feature.values_.houseDataConfirmStatus; //状态
  1978. // obj.fssslx = feature.values_.fssslx; //附属设施类型
  1979. // obj.jzmj = feature.values_.jzmj; //建筑面积
  1980. // obj.qsly = feature.values_.qsly;//权属来源
  1981. // obj.fwzt = feature.values_.fwzt; //房屋状态
  1982. // obj.sfsp = feature.values_.sfsp; //是否审批
  1983. // obj.sffz = feature.values_.sffz; //是否发证
  1984. // obj.jglx = feature.values_.jglx; //结构类型
  1985. // obj.sfzzsy = feature.values_.sfzzsy; //是否正在使用
  1986. // obj.jzwqk = feature.values_.jzwqk; //建筑物情况
  1987. // obj.tdzk = feature.values_.tdzk; //审批或建设前土地状况
  1988. // obj.sfsgcf = feature.values_.sfsgcf; //是否受过处罚
  1989. // obj.sysNormalDisable = feature.values_.sysNormalDisable; //是否停用
  1990. // //附属设施类型字典项
  1991. // that.getDicts("fsss_type").then((response) => {
  1992. // var assetTypeOptions = response.data;
  1993. // if(obj.fssslx !=null && obj.fssslx !=""){
  1994. // for(var i=0;assetTypeOptions.length >i; i++){
  1995. // if(obj.fssslx == assetTypeOptions[i].dictValue) {
  1996. // obj.fssslx = assetTypeOptions[i].dictLabel;
  1997. // break;
  1998. // }
  1999. // }
  2000. // }
  2001. // });
  2002. // //权属类型字典项
  2003. // that.getDicts("acquisition_method").then((response) => {
  2004. // var assetTypeOptions = response.data;
  2005. // if(obj.qsly !=null && obj.qsly !=""){
  2006. // for(var i=0;assetTypeOptions.length >i; i++){
  2007. // if(obj.qsly == assetTypeOptions[i].dictValue) {
  2008. // obj.qsly = assetTypeOptions[i].dictLabel;
  2009. // break;
  2010. // }
  2011. // }
  2012. // }
  2013. // });
  2014. // //房屋状态字典项
  2015. // that.getDicts("fwzt").then((response) => {
  2016. // var assetTypeOptions = response.data;
  2017. // if(obj.fwzt !=null && obj.fwzt !=""){
  2018. // for(var i=0;assetTypeOptions.length >i; i++){
  2019. // if(obj.fwzt == assetTypeOptions[i].dictValue) {
  2020. // obj.fwzt = assetTypeOptions[i].dictLabel;
  2021. // break;
  2022. // }
  2023. // }
  2024. // }
  2025. // });
  2026. // //是否审批字典项
  2027. // that.getDicts("sys_yes_no").then((response) => {
  2028. // var assetTypeOptions = response.data;
  2029. // if(obj.sfsp !=null && obj.sfsp !=""){
  2030. // for(var i=0;assetTypeOptions.length >i; i++){
  2031. // if(obj.sfsp == assetTypeOptions[i].dictValue) {
  2032. // obj.sfsp = assetTypeOptions[i].dictLabel;
  2033. // break;
  2034. // }
  2035. // }
  2036. // }
  2037. // });
  2038. // //是否发证字典项
  2039. // that.getDicts("sys_yes_no").then((response) => {
  2040. // var assetTypeOptions = response.data;
  2041. // if(obj.sffz !=null && obj.sffz !=""){
  2042. // for(var i=0;assetTypeOptions.length >i; i++){
  2043. // if(obj.sffz == assetTypeOptions[i].dictValue) {
  2044. // obj.sffz = assetTypeOptions[i].dictLabel;
  2045. // break;
  2046. // }
  2047. // }
  2048. // }
  2049. // });
  2050. // //结构类型字典项
  2051. // that.getDicts("house_jglx").then((response) => {
  2052. // var assetTypeOptions = response.data;
  2053. // if(obj.jglx !=null && obj.jglx !=""){
  2054. // for(var i=0;assetTypeOptions.length >i; i++){
  2055. // if(obj.jglx == assetTypeOptions[i].dictValue) {
  2056. // obj.jglx = assetTypeOptions[i].dictLabel;
  2057. // break;
  2058. // }
  2059. // }
  2060. // }
  2061. // });
  2062. // //是否正在使用字典项
  2063. // that.getDicts("sys_yes_no").then((response) => {
  2064. // var assetTypeOptions = response.data;
  2065. // if(obj.sfzzsy !=null && obj.sfzzsy !=""){
  2066. // for(var i=0;assetTypeOptions.length >i; i++){
  2067. // if(obj.sfzzsy == assetTypeOptions[i].dictValue) {
  2068. // obj.sfzzsy = assetTypeOptions[i].dictLabel;
  2069. // break;
  2070. // }
  2071. // }
  2072. // }
  2073. // });
  2074. // //房屋状态字典项
  2075. // that.getDicts("fwzt").then((response) => {
  2076. // var assetTypeOptions = response.data;
  2077. // if(obj.fwzt !=null && obj.fwzt !=""){
  2078. // for(var i=0;assetTypeOptions.length >i; i++){
  2079. // if(obj.fwzt == assetTypeOptions[i].dictValue) {
  2080. // obj.fwzt = assetTypeOptions[i].dictLabel;
  2081. // break;
  2082. // }
  2083. // }
  2084. // }
  2085. // });
  2086. // //土地状况字典项
  2087. // that.getDicts("land_state").then((response) => {
  2088. // var assetTypeOptions = response.data;
  2089. // if(obj.tdzk !=null && obj.tdzk !=""){
  2090. // for(var i=0;assetTypeOptions.length >i; i++){
  2091. // if(obj.tdzk == assetTypeOptions[i].dictValue) {
  2092. // obj.tdzk = assetTypeOptions[i].dictLabel;
  2093. // break;
  2094. // }
  2095. // }
  2096. // }
  2097. // });
  2098. // //是否受过处罚字典项
  2099. // that.getDicts("land_state").then((response) => {
  2100. // var assetTypeOptions = response.data;
  2101. // if(obj.sfsgcf !=null && obj.sfsgcf !=""){
  2102. // for(var i=0;assetTypeOptions.length >i; i++){
  2103. // if(obj.sfsgcf == assetTypeOptions[i].dictValue) {
  2104. // obj.sfsgcf = assetTypeOptions[i].dictLabel;
  2105. // break;
  2106. // }
  2107. // }
  2108. // }
  2109. // });
  2110. // that.mapFsssData = obj;
  2111. // } else if(ifConsole =="mapTheGeomZrzId"){
  2112. // let obj = {};
  2113. // that.mapHasDateStatus = 1;
  2114. // obj.deptName = feature.values_.deptName;//部门名称
  2115. // obj.zjddm = feature.values_.zjddm;//宅基地代码
  2116. // obj.nmfwzh = feature.values_.nmfwzh;//农民房屋幢号
  2117. // obj.zrzh = feature.values_.zrzh;//自然幢号
  2118. // obj.jgrq = feature.values_.jgrq;//竣工日期
  2119. // obj.jzwgd = feature.values_.jzwgd;//建筑物高度
  2120. // obj.zzdmj = feature.values_.zzdmj;//幢占地面积
  2121. // obj.zydmj = feature.values_.zydmj;//幢用地面积
  2122. // obj.scjzmj = feature.values_.scjzmj;//实测建筑面积
  2123. // obj.zcs = feature.values_.zcs;//总层数
  2124. // obj.dscs = feature.values_.dscs;//地上层数
  2125. // obj.dxcs = feature.values_.dxcs;//地下层数
  2126. // obj.fwjg = feature.values_.fwjg;//房屋结构
  2127. // obj.sjly = feature.values_.sjly;//数据来源
  2128. // obj.status = feature.values_.status;//状态
  2129. // obj.houseDataConfirmStatus = feature.values_.houseDataConfirmStatus;//数据调查确认状态
  2130. // //字典项转化
  2131. // //房屋结构字典项
  2132. // that.getDicts("housing_structure").then((response) => {
  2133. // var assetTypeOptions = response.data;
  2134. // if(obj.fwjg !=null && obj.fwjg !=""){
  2135. // for(var i=0;assetTypeOptions.length >i; i++){
  2136. // if(obj.fwjg == assetTypeOptions[i].dictValue) {
  2137. // obj.fwjg = assetTypeOptions[i].dictLabel;
  2138. // break;
  2139. // }
  2140. // }
  2141. // }
  2142. // });
  2143. // //房屋结构字典项
  2144. // that.getDicts("sjly").then((response) => {
  2145. // var assetTypeOptions = response.data;
  2146. // if(obj.sjly !=null && obj.sjly !=""){
  2147. // for(var i=0;assetTypeOptions.length >i; i++){
  2148. // if(obj.sjly == assetTypeOptions[i].dictValue) {
  2149. // obj.sjly = assetTypeOptions[i].dictLabel;
  2150. // break;
  2151. // }
  2152. // }
  2153. // }
  2154. // });
  2155. // that.mapZrzData = obj;
  2156. // } else if(ifConsole =="mapTheGeomZjdId"){
  2157. // let obj = {};
  2158. // that.mapHasDateStatus = 2;
  2159. // obj.deptName = feature.values_.deptName;//行政区划名称
  2160. // obj.suyqrdm = feature.values_.suyqrdm;//所有权人代码
  2161. // obj.nhdm = feature.values_.nhdm;//农户代码
  2162. // obj.zjddm = feature.values_.zjddm;//宅基地代码
  2163. // obj.zdbh = feature.values_.zdbh;//宗地编号
  2164. // obj.zddm = feature.values_.zddm;//宗地代码
  2165. // obj.zl = feature.values_.zl;//坐落
  2166. // obj.zldwdm = feature.values_.zldwdm;//坐落单位代码
  2167. // obj.zdmj = feature.values_.zdmj;//宗地面积
  2168. // obj.yt = feature.values_.yt;//用途
  2169. // obj.ytmc = feature.values_.ytmc;//用途名称
  2170. // obj.dj = feature.values_.dj;//宗地编号
  2171. // obj.jg = feature.values_.jg;//价格万元
  2172. // obj.qllx = feature.values_.qllx;//权利类型
  2173. // obj.qlxz = feature.values_.qlxz;//权利性质
  2174. // obj.qlsdfs = feature.values_.qlsdfs;//权利设定方式
  2175. // obj.rjl = feature.values_.rjl;//容积率
  2176. // obj.jzmd = feature.values_.jzmd;//建筑密度
  2177. // obj.jzxg = feature.values_.jzxg;//建筑限高
  2178. // obj.zdszd = feature.values_.zdszd;//宗地四至-东
  2179. // obj.zdszn = feature.values_.zdszn;//宗地四至-南
  2180. // obj.zdszx = feature.values_.zdszx;//宗地四至-西
  2181. // obj.zdszb = feature.values_.zdszb;//宗地四至-北
  2182. // obj.zdt = feature.values_.zdt;//宗地图
  2183. // obj.tfh = feature.values_.tfh;//图幅号
  2184. // obj.djh = feature.values_.djh;//地籍号
  2185. // obj.sjly = feature.values_.sjly;//数据来源
  2186. // obj.lyzk = feature.values_.lyzk;//当前利用状况
  2187. // obj.xzkssj = feature.values_.xzkssj;//闲置开始时间
  2188. // obj.sffz = feature.values_.sffz;//是否发证
  2189. // obj.zjdzsh = feature.values_.zjdzsh;//宅基地证书号
  2190. // obj.zjdxctp = feature.values_.zjdxctp;//宅基地现场图片
  2191. // obj.zjdqdfs = feature.values_.zjdqdfs;//宅基地取得方式
  2192. // obj.bccjl = feature.values_.bccjl;//被惩处经历
  2193. // obj.bccbz = feature.values_.bccbz;//被惩处备注
  2194. // obj.yctcyx = feature.values_.yctcyx;//有偿退出意向
  2195. // obj.zjdpzmj = feature.values_.zjdpzmj;//宅基地批准面积
  2196. // obj.zjdxzyy = feature.values_.zjdxzyy;//宅基地闲置原因
  2197. // obj.lzyx = feature.values_.lzyx;//流转意向
  2198. // obj.sysNormalDisable = feature.values_.sysNormalDisable;//是否停用
  2199. // //字典项转化
  2200. // //是否发证字典项
  2201. // that.getDicts("sys_yes_no").then((response) => {
  2202. // var assetTypeOptions = response.data;
  2203. // if(obj.sffz !=null && obj.sffz !=""){
  2204. // for(var i=0;assetTypeOptions.length >i; i++){
  2205. // if(obj.sffz == assetTypeOptions[i].dictValue) {
  2206. // obj.sffz = assetTypeOptions[i].dictLabel;
  2207. // break;
  2208. // }
  2209. // }
  2210. // }
  2211. // });
  2212. // //利用状态字典项
  2213. // that.getDicts("zjdlyzk").then((response) => {
  2214. // var assetTypeOptions = response.data;
  2215. // if(obj.lyzk !=null && obj.lyzk !=""){
  2216. // for(var i=0;assetTypeOptions.length >i; i++){
  2217. // if(obj.lyzk == assetTypeOptions[i].dictValue) {
  2218. // obj.lyzk = assetTypeOptions[i].dictLabel;
  2219. // break;
  2220. // }
  2221. // }
  2222. // }
  2223. // });
  2224. // //流转意向字典项
  2225. // that.getDicts("is_have").then((response) => {
  2226. // var assetTypeOptions = response.data;
  2227. // if(obj.lzyx !=null && obj.lzyx !=""){
  2228. // for(var i=0;assetTypeOptions.length >i; i++){
  2229. // if(obj.lzyx == assetTypeOptions[i].dictValue) {
  2230. // obj.lzyx = assetTypeOptions[i].dictLabel;
  2231. // break;
  2232. // }
  2233. // }
  2234. // }
  2235. // });
  2236. // //有偿退出意向字典项
  2237. // that.getDicts("is_have").then((response) => {
  2238. // var assetTypeOptions = response.data;
  2239. // if(obj.yctcyx !=null && obj.yctcyx !=""){
  2240. // for(var i=0;assetTypeOptions.length >i; i++){
  2241. // if(obj.yctcyx == assetTypeOptions[i].dictValue) {
  2242. // obj.yctcyx = assetTypeOptions[i].dictLabel;
  2243. // break;
  2244. // }
  2245. // }
  2246. // }
  2247. // });
  2248. // //被惩处经历字典项
  2249. // that.getDicts("is_have").then((response) => {
  2250. // var assetTypeOptions = response.data;
  2251. // if(obj.bccjl !=null && obj.bccjl !=""){
  2252. // for(var i=0;assetTypeOptions.length >i; i++){
  2253. // if(obj.bccjl == assetTypeOptions[i].dictValue) {
  2254. // obj.bccjl = assetTypeOptions[i].dictLabel;
  2255. // break;
  2256. // }
  2257. // }
  2258. // }
  2259. // });
  2260. // //宅基地取得方式字典项
  2261. // that.getDicts("acquisition_method").then((response) => {
  2262. // var assetTypeOptions = response.data;
  2263. // if(obj.zjdqdfs !=null && obj.zjdqdfs !=""){
  2264. // for(var i=0;assetTypeOptions.length >i; i++){
  2265. // if(obj.zjdqdfs == assetTypeOptions[i].dictValue) {
  2266. // obj.zjdqdfs = assetTypeOptions[i].dictLabel;
  2267. // break;
  2268. // }
  2269. // }
  2270. // }
  2271. // });
  2272. // //权利设定方式字典项
  2273. // that.getDicts("right_setting_mode").then((response) => {
  2274. // var assetTypeOptions = response.data;
  2275. // if(obj.qlsdfs !=null && obj.qlsdfs !=""){
  2276. // for(var i=0;assetTypeOptions.length >i; i++){
  2277. // if(obj.qlsdfs == assetTypeOptions[i].dictValue) {
  2278. // obj.qlsdfs = assetTypeOptions[i].dictLabel;
  2279. // break;
  2280. // }
  2281. // }
  2282. // }
  2283. // });
  2284. // //数据来源字典项
  2285. // that.getDicts("sjly").then((response) => {
  2286. // var assetTypeOptions = response.data;
  2287. // if(obj.sjly !=null && obj.sjly !=""){
  2288. // for(var i=0;assetTypeOptions.length >i; i++){
  2289. // if(obj.sjly == assetTypeOptions[i].dictValue) {
  2290. // obj.sjly = assetTypeOptions[i].dictLabel;
  2291. // break;
  2292. // }
  2293. // }
  2294. // }
  2295. // });
  2296. // that.mapZjdData = obj;
  2297. // } else {
  2298. // that.mapHaDataValue = false;
  2299. // }
  2300. // }else {
  2301. // that.mapHaDataValue = false;
  2302. // }
  2303. // });
  2304. //当前账套没有任何空间数据
  2305. if(mapTalkAbout){
  2306. let deptName = this.$store.state.user.loginDeptId + "";
  2307. getQueryLand(deptName).then((response) => {
  2308. if (response.code == 200) {
  2309. let InsertCode = response.data;
  2310. if (InsertCode != null) {
  2311. var lat = InsertCode.lat;
  2312. var lng = InsertCode.lng;
  2313. var center;
  2314. if(lat !=null && lng !=null && lat !="" && lng !=""){
  2315. center = [lng,lat];
  2316. }else {
  2317. center =[115.452752, 31.789033];
  2318. }
  2319. map.getView().animate({
  2320. // 只设置需要的属性即可
  2321. center: ol.proj.fromLonLat(center), // 中心点
  2322. zoom: 17.9, // 缩放级别
  2323. rotation: undefined, // 缩放完成view视图旋转弧度
  2324. duration: 1000, // 缩放持续时间,默认不需要设置
  2325. });
  2326. }
  2327. }
  2328. });
  2329. }
  2330. },
  2331. /*右侧列表 --展开收缩*/
  2332. selectionPushMap() {
  2333. this.selectionIconShow = true;
  2334. this.homesteadListStatus = true;
  2335. $(".homesteadList_wrap").animate(
  2336. {
  2337. right: "0",
  2338. },
  2339. 300
  2340. );
  2341. },
  2342. homesteadListShrink() {
  2343. this.selectionIconShow = false;
  2344. $(".homesteadList_wrap").animate(
  2345. {
  2346. right: "-300px",
  2347. },
  2348. 300
  2349. );
  2350. setTimeout(() => {
  2351. this.homesteadListStatus = false;
  2352. }, 300);
  2353. },
  2354. checkClick(res){
  2355. // 1、全选与不全选模块
  2356. $(".checkall").change(function() {
  2357. // console.log($(this).prop("checked"));输出全选按钮的选中状态
  2358. $(".item-list-checkbox .checkitem").prop("checked", $(this).prop("checked"));
  2359. if($(this).prop("checked")){
  2360. }else {
  2361. }
  2362. });
  2363. // 2、小复选框模块
  2364. $(".checkitem").change(function() {
  2365. if ($(".checkitem:checked").length === $(".checkitem").length) {
  2366. $(".checkall").prop("checked", true);
  2367. } else {
  2368. $(".checkall").prop("checked", false);
  2369. }
  2370. })
  2371. },
  2372. //绘制多边形地图
  2373. drawMapPolygonFun() {
  2374. },
  2375. guidProduct(){
  2376. return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
  2377. var r = Math.random() * 16 | 0,
  2378. v = c == 'x' ? r : (r & 0x3 | 0x8);
  2379. return v.toString(16);
  2380. });
  2381. },
  2382. }
  2383. }
  2384. </script>
  2385. <style scoped lang="scss">
  2386. .bannerBg{
  2387. width: 100%;
  2388. color:#fff;
  2389. /*padding:10px;*/
  2390. background: linear-gradient(134deg,#7ac943 1%, #22b7f2);
  2391. }
  2392. .van-hairline--bottom::after {
  2393. border-bottom-width: 0;
  2394. }
  2395. .activeBtn{
  2396. background:#fff;
  2397. height:50px;
  2398. border-radius:25px;
  2399. color:#7AC943;
  2400. line-height:50px;
  2401. text-align:center;
  2402. font-size:20px;
  2403. width: 24%;
  2404. box-shadow: 0px 5px 6px 0px rgba(0,0,0,0.16);
  2405. }
  2406. .disactiveBtn{
  2407. background:rgba(255,255,255,.4);
  2408. height:50px;
  2409. border-radius:25px;
  2410. color:#fff;
  2411. line-height:50px;
  2412. text-align:center;
  2413. font-size:20px;
  2414. width: 24%;
  2415. box-shadow: 0px 5px 6px 0px rgba(0,0,0,0.16);
  2416. }
  2417. .van-cell__label{
  2418. color: #969799;
  2419. font-size: 12px;
  2420. line-height: 20px;
  2421. margin:0
  2422. }
  2423. .map_area {
  2424. width: 50vw;
  2425. height: 50vh;
  2426. z-index:1;
  2427. background:#000;
  2428. position: fixed;
  2429. left: 0;
  2430. top: 0;
  2431. }
  2432. .van-field__label{
  2433. width:50%;
  2434. }
  2435. .rightZoom_wrap {
  2436. position: absolute;
  2437. right: 3%;
  2438. top: 35%;
  2439. margin-top: -200px;
  2440. background: #fff;
  2441. margin-bottom: 16px;
  2442. border-radius: 10px;
  2443. text-align: center;
  2444. padding: 15px 20px;
  2445. img{
  2446. margin: 0 auto;
  2447. }
  2448. .amplification {
  2449. line-height: 1;
  2450. font-size: 18px;
  2451. text-align: center;
  2452. margin-top: 5px;
  2453. }
  2454. }
  2455. .mapZoom_wrap {
  2456. position: absolute;
  2457. right: 3%;
  2458. top: 50%;
  2459. margin-top: -200px;
  2460. background: #fff;
  2461. margin-bottom: 16px;
  2462. border-radius: 10px;
  2463. padding: 0px 20px;
  2464. div{
  2465. padding: 15px 0;
  2466. border-bottom: 1px solid #C9C9C9;
  2467. &:last-child{
  2468. border: none;
  2469. }
  2470. p{
  2471. margin-top: 5px;
  2472. }
  2473. }
  2474. .qtMap {
  2475. font-size: 18px;
  2476. text-align: center;
  2477. line-height: 1;
  2478. }
  2479. .clMap {
  2480. font-size: 18px;
  2481. text-align: center;
  2482. line-height: 1;
  2483. }
  2484. .hcMap {
  2485. font-size: 18px;
  2486. text-align: center;
  2487. line-height: 1;
  2488. }
  2489. .htMap {
  2490. font-size: 18px;
  2491. text-align: center;
  2492. line-height: 1;
  2493. }
  2494. .dwMap {
  2495. font-size: 18px;
  2496. text-align: center;
  2497. line-height: 1;
  2498. }
  2499. }
  2500. .rightIcon_wrap {
  2501. position: absolute;
  2502. right: 16px;
  2503. bottom: 160px;
  2504. .selectionIcon_wrap {
  2505. width: 74px;
  2506. background: #fff;
  2507. border-radius: 10px;
  2508. padding: 14px 0;
  2509. .icon {
  2510. width: 38px;
  2511. height: 38px;
  2512. background: url("../../assets/images/homestead/selection_icon.png")
  2513. no-repeat;
  2514. background-size: 100% 100%;
  2515. margin: 0 auto 4px;
  2516. }
  2517. .text {
  2518. font-size: 24px;
  2519. text-align: center;
  2520. }
  2521. }
  2522. .positioning_wrap {
  2523. width: 74px;
  2524. background: #fff;
  2525. margin-bottom: 16px;
  2526. border-radius: 10px;
  2527. height: 74px;
  2528. display: flex;
  2529. justify-content: center; /* 相对父元素水平居中 */
  2530. align-items: center; /* 子元素相对父元素垂直居中*/
  2531. .icon {
  2532. width: 38px;
  2533. height: 38px;
  2534. background: url("../../assets/images/homestead/positioning_icon.png")
  2535. no-repeat;
  2536. background-size: 100% 100%;
  2537. margin: 0 auto;
  2538. }
  2539. }
  2540. }
  2541. .homesteadList_wrap {
  2542. // display: none;
  2543. display: flex;
  2544. position: absolute;
  2545. right: -200px;
  2546. top: 0px;
  2547. bottom: 0px;
  2548. width: 300px;
  2549. background: #fff;
  2550. z-index: 999;
  2551. border-top-left-radius: 15px;
  2552. border-bottom-left-radius: 15px;
  2553. flex-direction: column;
  2554. .noInfo_data {
  2555. font-size: 28px;
  2556. text-align: center;
  2557. height: 300px;
  2558. line-height: 300px;
  2559. color: #666;
  2560. }
  2561. .title_m {
  2562. color: #333;
  2563. line-height: 36px;
  2564. padding: 20px 40px 22px;
  2565. .name {
  2566. font-size: 36px;
  2567. line-height: 42px;
  2568. height: 42px;
  2569. }
  2570. .more_icon {
  2571. width: 38px;
  2572. height: 38px;
  2573. background: url("../../assets/images/homestead/selectionNext_icon.png")
  2574. no-repeat;
  2575. float: right;
  2576. margin-top: 2px;
  2577. }
  2578. }
  2579. .main_m {
  2580. overflow-y: auto;
  2581. padding: 10px 0;
  2582. // height: 300px;
  2583. flex: 1;
  2584. .flex_block {
  2585. height: 70px;
  2586. display: flex;
  2587. // justify-content: center; /* 相对父元素水平居中 */
  2588. align-items: center; /* 子元素相对父元素垂直居中 */
  2589. padding: 0 40px;
  2590. &.active {
  2591. box-shadow: 0px 0px 10px rgba(24, 45, 51, 0.5);
  2592. }
  2593. .name_text {
  2594. font-size: 28px;
  2595. flex: 0.5;
  2596. overflow: hidden; /*超出部分隐藏*/
  2597. white-space: nowrap; /*不换行*/
  2598. text-overflow: ellipsis; /*超出部分文字以...显示*/
  2599. }
  2600. .square_text {
  2601. font-size: 28px;
  2602. flex: 0.4;
  2603. }
  2604. .operation_mian {
  2605. flex: 0 0 150px;
  2606. .describe {
  2607. font-size: 20px;
  2608. padding: 6px 5px;
  2609. float: right;
  2610. color: #fff;
  2611. border-radius: 30px;
  2612. overflow: hidden;
  2613. text-overflow: ellipsis;
  2614. white-space: nowrap;
  2615. max-width: 150px;
  2616. &.yph {
  2617. background: #b026ff;
  2618. }
  2619. &.dlzdph {
  2620. background: #ff6f36;
  2621. }
  2622. &.ylz {
  2623. background: #7fff4c;
  2624. }
  2625. &.dlz {
  2626. background: rgb(255, 232, 76);
  2627. }
  2628. &.ylzdph {
  2629. background: #ff7dd0;
  2630. }
  2631. &.zy {
  2632. background: rgb(100, 30, 100);
  2633. }
  2634. &.xz {
  2635. background: rgb(60, 100, 180);
  2636. }
  2637. &.chdb {
  2638. background: #fe0303;
  2639. }
  2640. }
  2641. }
  2642. }
  2643. }
  2644. .footerBtn_wrap {
  2645. flex: 0 0 90px;
  2646. display: flex;
  2647. justify-content: center; /* 相对父元素水平居中 */
  2648. align-items: center; /* 子元素相对父元素垂直居中 */
  2649. .options {
  2650. flex: 1;
  2651. font-size: 38px;
  2652. display: flex;
  2653. justify-content: center; /* 相对父元素水平居中 */
  2654. align-items: center; /* 子元素相对父元素垂直居中 */
  2655. height: 90px;
  2656. &:first-child {
  2657. border-bottom-left-radius: 15px;
  2658. }
  2659. &.active {
  2660. background: #3cbf5b;
  2661. color: #fff;
  2662. }
  2663. }
  2664. }
  2665. }
  2666. .checkbox {
  2667. width: 200px;
  2668. margin: 30px auto;
  2669. }
  2670. .thead-checkbox {
  2671. background-color: lightgray;
  2672. }
  2673. .item-checkbox {
  2674. border: 1px solid darkgray;
  2675. }
  2676. </style>