移动端
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 

1096 rindas
37 KiB

  1. <template>
  2. <div class="app-container">
  3. <van-sticky style="position:relative;">
  4. <div class="bannerBg">
  5. <van-nav-bar
  6. style="background:transparent;border-bottom-width:0;margin-bottom:.5rem;"
  7. @click-left="goBack()"
  8. right-text ="首页"
  9. @click-right="goRightBack()"
  10. >
  11. <template #left>
  12. <van-icon name="arrow-left" size="18" color="#fff" />
  13. </template>
  14. <template #title>
  15. <p style="color:#fff">入户调查</p>
  16. </template>
  17. </van-nav-bar>
  18. </div>
  19. <div style="width:95%;left:2.5%;position:absolute;background:#fff;border-radius:15px;box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16);padding: .3rem;top:1.2rem">
  20. <van-row>
  21. <van-col span="4" :offset="1" style="text-align:center;" @click="$router.push({path:'/homesteadSurvey/add'})">
  22. <van-icon :name="require('../../assets/images/housesteadSurvey/zjd'+(active==1?'A':'D')+'.png')" size="1rem" style="margin-top:0px;"/>
  23. <p :style="{color:(active==1?'rgb(34, 183, 242)':'#000')}">宅基地</p>
  24. </van-col>
  25. <van-col span="2">
  26. <div style="border-top: 2px dashed #b5b4b4;margin-top: 20px;"></div>
  27. </van-col>
  28. <van-col span="4" style="text-align:center;" @click="checkTz('/homesteadSurvey/add2')" >
  29. <van-icon :name="require('../../assets/images/housesteadSurvey/nhxx'+(active==2?'A':'D')+'.png')" size="1rem" style="margin-top:0px;"/>
  30. <p :style="{color:(active==2?'rgb(34, 183, 242)':'#000')}">使用权人</p>
  31. </van-col>
  32. <van-col span="2">
  33. <div style="border-top: 2px dashed #b5b4b4;margin-top: 20px;"></div>
  34. </van-col>
  35. <van-col span="4" style="text-align:center;" @click="checkTz('/homesteadSurvey/add3')" >
  36. <van-icon :name="require('../../assets/images/housesteadSurvey/fwxx'+(active==3?'A':'D')+'.png')" size="1rem" style="margin-top:0px;"/>
  37. <p :style="{color:(active==3?'rgb(34, 183, 242)':'#000')}">房屋</p>
  38. </van-col>
  39. <van-col span="2">
  40. <div style="border-top: 2px dashed #b5b4b4;margin-top: 20px;"></div>
  41. </van-col>
  42. <van-col span="4" style="text-align:center;" @click="checkTz('/homesteadSurvey/add4')">
  43. <van-icon :name="require('../../assets/images/housesteadSurvey/fsss'+(active==4?'A':'D')+'.png')" size="1rem" style="margin-top:0px;"/>
  44. <p :style="{color:(active==4?'rgb(34, 183, 242)':'#000')}">附属物</p>
  45. </van-col>
  46. </van-row>
  47. </div>
  48. </van-sticky>
  49. <van-form ref="form" style="margin-top: 1.4rem;">
  50. <div style="margin:30px auto;background: #ffffff;width: 95%;box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16);border-radius:15px;padding-top: 20px;">
  51. <p class="title" style="position:relative;padding-left:10px;line-height:20px;font-size: 16px;margin-left: 3%;margin-bottom: 5px;">空间信息</p>
  52. <!--<van-field
  53. v-model="form.deptId"
  54. name="行政区划名称"
  55. label="行政区划名称"
  56. placeholder="行政区划名称"
  57. :rules="[{ required: true, message: '' }]"
  58. />-->
  59. <van-field
  60. autocomplete="off"
  61. input-align="right"
  62. v-model="form.suyqrdm"
  63. name="所有权人代码"
  64. label="所有权人代码"
  65. placeholder="所有权人代码"
  66. readonly
  67. />
  68. <van-field
  69. autocomplete="off"
  70. v-model="form.zldwdm"
  71. name="坐落单位代码"
  72. label="坐落单位代码"
  73. placeholder="坐落单位代码"
  74. input-align="right"
  75. required
  76. :rules="[{ required: true}]"
  77. />
  78. <van-field
  79. autocomplete="off"
  80. input-align="right"
  81. v-model="form.zddm"
  82. name="宗地代码"
  83. label="宗地代码"
  84. placeholder="宗地代码"
  85. />
  86. <van-field
  87. autocomplete="off"
  88. input-align="right"
  89. v-model="form.bdcdyh"
  90. name="不动产单元号"
  91. label="不动产单元号"
  92. placeholder="不动产单元号"
  93. />
  94. <van-field
  95. autocomplete="off"
  96. input-align="right"
  97. v-model="form.zl"
  98. name="坐落"
  99. label="坐落"
  100. placeholder="坐落"
  101. required
  102. :rules="[{ required: true }]"
  103. />
  104. <van-field
  105. autocomplete="off"
  106. input-align="right"
  107. v-model="form.zdmj"
  108. type="number"
  109. name="宗地面积(㎡)"
  110. label="宗地面积(㎡)"
  111. placeholder="宗地面积(㎡)"
  112. maxlength="15"
  113. required
  114. :rules="[{ required: true }]"
  115. />
  116. <field-select
  117. v-model="form.yt"
  118. label="用途"
  119. value-key="dictLabel"
  120. data-key="dictValue"
  121. placeholder="选择用途"
  122. remote-url="/open/zdzh/list/land_use"
  123. :on-remote-response="'data'"
  124. required
  125. :rules="[{ required: true }]"
  126. />
  127. <field-select
  128. v-model="form.dj"
  129. label="等级"
  130. value-key="dictLabel"
  131. data-key="dictValue"
  132. placeholder="选择等级"
  133. remote-url="/open/zdzh/list/tddj"
  134. :on-remote-response="'data'"
  135. />
  136. <van-field
  137. autocomplete="off"
  138. input-align="right"
  139. v-model="form.jg"
  140. name="价格(万元)"
  141. label="价格(万元)"
  142. placeholder="价格(万元)"
  143. type="number"
  144. maxlength="15"
  145. />
  146. <field-select
  147. v-model="form.qllx"
  148. label="权利类型"
  149. value-key="dictLabel"
  150. data-key="dictValue"
  151. placeholder="选择权利类型"
  152. remote-url="/open/zdzh/list/rights_type"
  153. :on-remote-response="'data'"
  154. />
  155. <field-select
  156. v-model="form.qlxz"
  157. label="权利性质"
  158. value-key="dictLabel"
  159. data-key="dictValue"
  160. placeholder="选择权利性质"
  161. remote-url="/open/zdzh/list/rights_nature"
  162. :on-remote-response="'data'"
  163. />
  164. <field-select
  165. v-model="form.qlsdfs"
  166. label="权利设定方式"
  167. value-key="dictLabel"
  168. data-key="dictValue"
  169. placeholder="选择权利设定方式"
  170. remote-url="/open/zdzh/list/right_setting_mode"
  171. :on-remote-response="'data'"
  172. />
  173. <van-field
  174. autocomplete="off"
  175. input-align="right"
  176. v-model="form.rjl"
  177. name="容积率"
  178. label="容积率"
  179. placeholder="容积率"
  180. />
  181. <van-field
  182. autocomplete="off"
  183. input-align="right"
  184. v-model="form.jzmd"
  185. name="建筑密度"
  186. label="建筑密度"
  187. placeholder="填写0~1小数"
  188. :rules="[{ validator, message: '请填写0~1小数,保留两位小数' }]"
  189. type="number"
  190. />
  191. <van-field
  192. autocomplete="off"
  193. input-align="right"
  194. v-model="form.jzxg"
  195. name="建筑限高"
  196. label="建筑限高(米)"
  197. placeholder="建筑限高"
  198. type="number"
  199. maxlength="15"
  200. />
  201. <van-field
  202. autocomplete="off"
  203. input-align="right"
  204. v-model="form.zdszd"
  205. name="宗地四至-东"
  206. label="宗地四至-东"
  207. placeholder="宗地四至-东"
  208. maxlength="150"
  209. required
  210. :rules="[{ required: true, message: '' }]"
  211. />
  212. <van-field
  213. autocomplete="off"
  214. input-align="right"
  215. v-model="form.zdszn"
  216. name="宗地四至-南"
  217. label="宗地四至-南"
  218. placeholder="宗地四至-南"
  219. maxlength="150"
  220. required
  221. :rules="[{ required: true, message: '' }]"
  222. />
  223. <van-field
  224. input-align="right"
  225. v-model="form.zdszx"
  226. name="宗地四至-西"
  227. label="宗地四至-西"
  228. placeholder="宗地四至-西"
  229. maxlength="150"
  230. required
  231. :rules="[{ required: true, message: '' }]"
  232. />
  233. <van-field
  234. autocomplete="off"
  235. input-align="right"
  236. v-model="form.zdszb"
  237. name="宗地四至-北"
  238. label="宗地四至-北"
  239. placeholder="宗地四至-北"
  240. maxlength="150"
  241. required
  242. :rules="[{ required: true}]"
  243. />
  244. <van-field
  245. autocomplete="off"
  246. input-align="right"
  247. v-model="form.tfh"
  248. name="图幅号"
  249. label="图幅号"
  250. placeholder="图幅号"
  251. />
  252. <van-field
  253. autocomplete="off"
  254. input-align="right"
  255. v-model="form.djh"
  256. name="地籍号"
  257. label="地籍号"
  258. placeholder="地籍号"
  259. />
  260. <van-field
  261. autocomplete="off"
  262. input-align="right"
  263. v-model="form.bz"
  264. name="备注"
  265. label="备注"
  266. placeholder="备注"
  267. />
  268. <field-select
  269. v-model="form.sjly"
  270. label="数据来源"
  271. value-key="dictLabel"
  272. data-key="dictValue"
  273. placeholder="选择数据来源"
  274. remote-url="/open/zdzh/list/sjly"
  275. :on-remote-response="'data'"
  276. required
  277. :rules="[{ required: true}]"
  278. />
  279. <p class="title" style="position:relative;padding-left:10px;line-height:20px;font-size: 16px;margin-left: 3%;margin-bottom: 5px;">属性信息</p>
  280. <field-select
  281. v-model="form.zjdqdfs"
  282. label="取得方式"
  283. value-key="dictLabel"
  284. data-key="dictValue"
  285. placeholder="选择取得方式"
  286. remote-url="/open/zdzh/list/acquisition_method"
  287. :on-remote-response="'data'"
  288. />
  289. <van-field
  290. autocomplete="off"
  291. input-align="right"
  292. v-model="form.zjdqdsj"
  293. name="取得时间"
  294. label="取得时间"
  295. placeholder="取得时间"
  296. readonly
  297. @click="showZjdqdsj = true"
  298. />
  299. <van-popup v-model:show="showZjdqdsj" position="bottom">
  300. <van-datetime-picker
  301. :value="new Date"
  302. type="date"
  303. :min-date="minDate"
  304. :max-date="maxDate"
  305. @confirm="onConfirmzjdqdsj"
  306. @cancel="showZjdqdsj = false"
  307. />
  308. </van-popup>
  309. <van-field
  310. autocomplete="off"
  311. input-align="right"
  312. v-model="form.zjdpzmj"
  313. type="number"
  314. name="批准面积(㎡)"
  315. label="批准面积(㎡)"
  316. placeholder="批准面积(㎡)"
  317. maxlength="15"
  318. />
  319. <FieldRadio
  320. v-model="form.sfcz"
  321. label="是否超占"
  322. value-key="dictLabel"
  323. data-key="dictValue"
  324. remote-url="/open/zdzh/list/house_yes_no"
  325. :on-remote-response="'data'"
  326. @change="onSfczChanged"
  327. />
  328. <van-field
  329. v-if="showCzmj"
  330. autocomplete="off"
  331. input-align="right"
  332. v-model="form.czmj"
  333. type="number"
  334. name="超占面积(㎡)"
  335. label="超占面积(㎡)"
  336. placeholder="超占面积(㎡)"
  337. maxlength="15"
  338. required
  339. :rules="[{ required: true, message: '' }]"
  340. />
  341. <FieldRadio
  342. v-model="form.sffz"
  343. label="是否发证"
  344. value-key="dictLabel"
  345. data-key="dictValue"
  346. remote-url="/open/zdzh/list/house_yes_no"
  347. :on-remote-response="'data'"
  348. @change="onSffzChanged"
  349. />
  350. <van-field
  351. v-if="showFzxx"
  352. input-align="right"
  353. v-model="form.zsh"
  354. name="证书号"
  355. label="证书号"
  356. placeholder="证书号"
  357. maxlength="150"
  358. required
  359. :rules="[{ required: true, message: '' }]"
  360. />
  361. <van-field
  362. v-if="showFzxx"
  363. autocomplete="off"
  364. input-align="right"
  365. v-model="form.zsmj"
  366. type="number"
  367. name="证书面积(㎡)"
  368. label="证书面积(㎡)"
  369. placeholder="证书面积(㎡)"
  370. maxlength="15"
  371. required
  372. :rules="[{ required: true, message: '' }]"
  373. />
  374. <van-field
  375. v-if="showFzxx"
  376. input-align="right"
  377. v-model="form.fzdw"
  378. name="发证单位"
  379. label="发证单位"
  380. placeholder="发证单位"
  381. maxlength="150"
  382. required
  383. :rules="[{ required: true, message: '' }]"
  384. />
  385. <van-field
  386. v-if="showWbzyy"
  387. input-align="right"
  388. v-model="form.wbzyy"
  389. name="未办证原因"
  390. label="未办证原因"
  391. placeholder="未办证原因"
  392. maxlength="150"
  393. required
  394. :rules="[{ required: true, message: '' }]"
  395. />
  396. <field-select
  397. v-model="form.houseOwnership"
  398. label="权利归属"
  399. value-key="dictLabel"
  400. data-key="dictValue"
  401. placeholder="选择权利归属"
  402. remote-url="/open/zdzh/list/house_ownership"
  403. :on-remote-response="'data'"
  404. />
  405. <field-select
  406. v-model="form.landStatus"
  407. label="使用状态"
  408. value-key="dictLabel"
  409. data-key="dictValue"
  410. placeholder="选择使用状态"
  411. remote-url="/open/zdzh/list/land_status"
  412. :on-remote-response="'data'"
  413. required
  414. :rules="[{ required: true}]"
  415. />
  416. <field-select
  417. v-model="form.zjdlyzk"
  418. label="利用状况"
  419. value-key="dictLabel"
  420. data-key="dictValue"
  421. placeholder="选择利用状况"
  422. remote-url="/open/zdzh/list/zjdlyzk"
  423. :on-remote-response="'data'"
  424. @change="onZjdlyzkChanged"
  425. required
  426. :rules="[{ required: true}]"
  427. />
  428. <van-field
  429. v-if="showXzyy"
  430. input-align="right"
  431. v-model="form.zjdxzyy"
  432. name="闲置原因"
  433. label="闲置原因"
  434. placeholder="闲置原因"
  435. maxlength="150"
  436. required
  437. :rules="[{ required: true, message: '' }]"
  438. />
  439. <van-field
  440. v-if="showXzyy"
  441. autocomplete="off"
  442. input-align="right"
  443. v-model="form.zjdxzqssj"
  444. name="闲置起始时间"
  445. label="闲置起始时间"
  446. placeholder="闲置起始时间"
  447. required
  448. :rules="[{ required: true, message: '' }]"
  449. readonly
  450. @click="showXzqssj = true"
  451. />
  452. <van-popup v-model:show="showXzqssj" position="bottom">
  453. <van-datetime-picker
  454. :value="new Date"
  455. type="date"
  456. @confirm="onConfirmxzqssj"
  457. @cancel="showXzqssj = false"
  458. :min-date="minDate"
  459. :max-date="maxDate"
  460. />
  461. </van-popup>
  462. <field-select
  463. v-model="form.landPhms"
  464. label="盘活利用模式"
  465. value-key="dictLabel"
  466. data-key="dictValue"
  467. placeholder="选择盘活利用模式"
  468. remote-url="/open/zdzh/list/phlyms"
  469. :on-remote-response="'data'"
  470. />
  471. <van-field
  472. autocomplete="off"
  473. input-align="right"
  474. v-model="form.nsy"
  475. type="number"
  476. name="年收益(元)"
  477. label="年收益(元)"
  478. placeholder="年收益(元)"
  479. maxlength="15"
  480. />
  481. <van-row type="flex" justify="space-between" align="center">
  482. <van-col span="6"><div style="color: #646566;font-size: 0.373333rem;text-indent:17%;">宗地图</div></van-col>
  483. <van-col span="6">
  484. <MultiImageUploadComp :value="form.zdt" :uploadDisabled="showUpload" @fileUpdate="fileUpdateZdt"/>
  485. </van-col>
  486. </van-row>
  487. <!-- <van-collapse v-model="activeZjd">-->
  488. <!-- <van-collapse-item title="利用状况" name="1" class="label-class">-->
  489. <!-- <van-field-->
  490. <!-- autocomplete="off"-->
  491. <!-- input-align="right"-->
  492. <!-- v-model="form.lyzkName"-->
  493. <!-- name="当前利用状况"-->
  494. <!-- label="当前利用状况"-->
  495. <!-- placeholder="当前利用状况"-->
  496. <!-- readonly-->
  497. <!-- @click="showlyzk = true"-->
  498. <!-- />-->
  499. <!-- <van-field-->
  500. <!-- v-model="form.lyzk"-->
  501. <!-- style="display:none"-->
  502. <!-- />-->
  503. <!-- <van-field-->
  504. <!-- autocomplete="off"-->
  505. <!-- input-align="right"-->
  506. <!-- v-model="form.zjdxzyy"-->
  507. <!-- name="闲置原因"-->
  508. <!-- label="闲置原因"-->
  509. <!-- placeholder="宅基地闲置原因"-->
  510. <!-- maxlength="200"-->
  511. <!-- />-->
  512. <!-- <van-field-->
  513. <!-- autocomplete="off"-->
  514. <!-- input-align="right"-->
  515. <!-- v-model="form.xzkssj"-->
  516. <!-- name="闲置开始时间"-->
  517. <!-- label="闲置开始时间"-->
  518. <!-- placeholder="闲置开始时间"-->
  519. <!-- readonly-->
  520. <!-- @click="showPickerxzkssj = true"-->
  521. <!-- />-->
  522. <!-- <van-popup v-model:show="showPickerxzkssj" position="bottom">-->
  523. <!-- <van-datetime-picker-->
  524. <!-- type="date"-->
  525. <!-- @confirm="onConfirmxzkssj"-->
  526. <!-- @cancel="showPickerxzkssj = false"-->
  527. <!-- :min-date="minDate"-->
  528. <!-- :max-date="maxDate"-->
  529. <!-- />-->
  530. <!-- </van-popup>-->
  531. <!-- <van-field name="radio" label="流转意向" input-align="right" autocomplete="off">-->
  532. <!-- <template #input>-->
  533. <!-- <van-radio-group v-model="form.lzyx" direction="horizontal">-->
  534. <!-- <van-radio name="1">有</van-radio>-->
  535. <!-- <van-radio name="0">无</van-radio>-->
  536. <!-- </van-radio-group>-->
  537. <!-- </template>-->
  538. <!-- </van-field>-->
  539. <!-- <van-field name="radio" label="有偿退出意向" input-align="right" autocomplete="off">-->
  540. <!-- <template #input>-->
  541. <!-- <van-radio-group v-model="form.yctcyx" direction="horizontal">-->
  542. <!-- <van-radio name="1">有</van-radio>-->
  543. <!-- <van-radio name="0">无</van-radio>-->
  544. <!-- </van-radio-group>-->
  545. <!-- </template>-->
  546. <!-- </van-field>-->
  547. <!-- </van-collapse-item>-->
  548. <!-- <van-collapse-item title="其他信息" name="2" class="label-class">-->
  549. <!-- <van-field-->
  550. <!-- autocomplete="off"-->
  551. <!-- input-align="right"-->
  552. <!-- v-model="form.djName"-->
  553. <!-- name="等级"-->
  554. <!-- label="等级"-->
  555. <!-- placeholder="等级"-->
  556. <!-- @click="showdj = true"-->
  557. <!-- />-->
  558. <!-- <van-field-->
  559. <!-- autocomplete="off"-->
  560. <!-- v-model="form.dj"-->
  561. <!-- style="display:none"-->
  562. <!-- />-->
  563. <!-- <van-field-->
  564. <!-- autocomplete="off"-->
  565. <!-- input-align="right"-->
  566. <!-- v-model="form.jg"-->
  567. <!-- name="价格(万元)"-->
  568. <!-- label="价格(万元)"-->
  569. <!-- placeholder="价格(万元)"-->
  570. <!-- maxlength="15"-->
  571. <!-- type="number"-->
  572. <!-- />-->
  573. <!-- <van-field-->
  574. <!-- autocomplete="off"-->
  575. <!-- input-align="right"-->
  576. <!-- v-model="form.ytmc"-->
  577. <!-- name="用途"-->
  578. <!-- label="用途"-->
  579. <!-- placeholder="用途"-->
  580. <!-- readonly-->
  581. <!-- @click="showyt = true"-->
  582. <!-- required-->
  583. <!-- :rules="[{ required: true, message: '用途不能为空' }]"-->
  584. <!-- />-->
  585. <!-- <van-field-->
  586. <!-- v-model="form.yt"-->
  587. <!-- style="display:none"-->
  588. <!-- autocomplete="off"-->
  589. <!-- />-->
  590. <!-- <van-field-->
  591. <!-- autocomplete="off"-->
  592. <!-- input-align="right"-->
  593. <!-- v-model="form.qllxName"-->
  594. <!-- name="权利类型"-->
  595. <!-- label="权利类型"-->
  596. <!-- placeholder="权利类型"-->
  597. <!-- readonly-->
  598. <!-- @click="showqllx = true"-->
  599. <!-- />-->
  600. <!-- <van-field-->
  601. <!-- autocomplete="off"-->
  602. <!-- v-model="form.qllx"-->
  603. <!-- style="display:none"-->
  604. <!-- />-->
  605. <!-- <van-field-->
  606. <!-- autocomplete="off"-->
  607. <!-- input-align="right"-->
  608. <!-- v-model="form.qlxzName"-->
  609. <!-- name="权利性质"-->
  610. <!-- label="权利性质"-->
  611. <!-- placeholder="权利性质"-->
  612. <!-- readonly-->
  613. <!-- @click="showqlxz = true"-->
  614. <!-- />-->
  615. <!-- <van-field-->
  616. <!-- autocomplete="off"-->
  617. <!-- v-model="form.qlxz"-->
  618. <!-- style="display:none"-->
  619. <!-- />-->
  620. <!-- <van-field-->
  621. <!-- autocomplete="off"-->
  622. <!-- input-align="right"-->
  623. <!-- v-model="form.qlsdfsName"-->
  624. <!-- name="权利设定方式"-->
  625. <!-- label="权利设定方式"-->
  626. <!-- placeholder="权利设定方式"-->
  627. <!-- readonly-->
  628. <!-- @click="showqlsdfs = true"-->
  629. <!-- />-->
  630. <!-- <van-field-->
  631. <!-- autocomplete="off"-->
  632. <!-- v-model="form.qlsdfs"-->
  633. <!-- style="display:none"-->
  634. <!-- />-->
  635. <!-- <van-field-->
  636. <!-- autocomplete="off"-->
  637. <!-- input-align="right"-->
  638. <!-- v-model="form.rjl"-->
  639. <!-- name="容积率"-->
  640. <!-- label="容积率"-->
  641. <!-- placeholder="容积率"-->
  642. <!-- />-->
  643. <!-- <van-field-->
  644. <!-- input-align="right"-->
  645. <!-- v-model="form.jzmd"-->
  646. <!-- name="validator"-->
  647. <!-- label="建筑密度"-->
  648. <!-- placeholder="填写0~1小数"-->
  649. <!-- :rules="[{ validator, message: '请填写0~1小数,保留两位小数' }]"-->
  650. <!-- type="number"-->
  651. <!-- />-->
  652. <!-- <van-field-->
  653. <!-- autocomplete="off"-->
  654. <!-- input-align="right"-->
  655. <!-- v-model="form.jzxg"-->
  656. <!-- name="建筑限高(m)"-->
  657. <!-- label="建筑限高(m)"-->
  658. <!-- placeholder="填写000.00~999.99小数"-->
  659. <!-- :rules="[{ validator:validator1, message: '请填写000.00~999.99小数,保留两位小数' }]"-->
  660. <!-- type="number"-->
  661. <!-- />-->
  662. <!-- <van-field-->
  663. <!-- autocomplete="off"-->
  664. <!-- input-align="right"-->
  665. <!-- v-model="form.zdt"-->
  666. <!-- name="宗地图"-->
  667. <!-- label="宗地图"-->
  668. <!-- placeholder="宗地图"-->
  669. <!-- maxlength="200"-->
  670. <!-- />-->
  671. <!-- <van-field-->
  672. <!-- autocomplete="off"-->
  673. <!-- input-align="right"-->
  674. <!-- v-model="form.tfh"-->
  675. <!-- name="图幅号"-->
  676. <!-- label="图幅号"-->
  677. <!-- placeholder="图幅号"-->
  678. <!-- maxlength="50"-->
  679. <!-- />-->
  680. <!-- <van-field-->
  681. <!-- autocomplete="off"-->
  682. <!-- input-align="right"-->
  683. <!-- v-model="form.djh"-->
  684. <!-- name="地籍号"-->
  685. <!-- label="地籍号"-->
  686. <!-- placeholder="自动生成"-->
  687. <!-- disabled-->
  688. <!-- v-show="false"-->
  689. <!-- />-->
  690. <!-- <van-field name="radio" label="被惩处经历" input-align="right" autocomplete="off">-->
  691. <!-- <template #input>-->
  692. <!-- <van-radio-group v-model="form.bccjl" direction="horizontal">-->
  693. <!-- <van-radio name="1">有</van-radio>-->
  694. <!-- <van-radio name="0">无</van-radio>-->
  695. <!-- </van-radio-group>-->
  696. <!-- </template>-->
  697. <!-- </van-field>-->
  698. <!-- <van-field-->
  699. <!-- autocomplete="off"-->
  700. <!-- v-if="form.bccjl==1"-->
  701. <!-- input-align="right"-->
  702. <!-- v-model="form.bccbz"-->
  703. <!-- name="被惩处备注"-->
  704. <!-- label="被惩处备注"-->
  705. <!-- placeholder="被惩处备注"-->
  706. <!-- maxlength="200"-->
  707. <!-- />-->
  708. <!-- <van-field name="radio" label="宅基地取得方式" input-align="right" autocomplete="off">-->
  709. <!-- <template #input>-->
  710. <!-- <van-radio-group v-model="form.zjdqdfs" direction="horizontal">-->
  711. <!-- <van-radio v-for="dict in zjdqdfsOptions" :key="dict.dictValue" :name="dict.dictValue">{{dict.dictLabel}}</van-radio>-->
  712. <!-- </van-radio-group>-->
  713. <!-- </template>-->
  714. <!-- </van-field>-->
  715. <!-- </van-collapse-item>-->
  716. <!-- </van-collapse>-->
  717. <!-- <van-field-->
  718. <!-- autocomplete="off"-->
  719. <!-- v-model="form.sjlyName"-->
  720. <!-- name="数据来源"-->
  721. <!-- label="数据来源"-->
  722. <!-- placeholder="数据来源"-->
  723. <!-- input-align="right"-->
  724. <!-- readonly-->
  725. <!-- @click="showsjly = true"-->
  726. <!-- />-->
  727. <!-- <van-field-->
  728. <!-- autocomplete="off"-->
  729. <!-- v-model="form.sjly"-->
  730. <!-- style="display:none"-->
  731. <!-- />-->
  732. <!-- <van-field-->
  733. <!-- autocomplete="off"-->
  734. <!-- input-align="right"-->
  735. <!-- v-model="form.bz"-->
  736. <!-- name="备注"-->
  737. <!-- label="备注"-->
  738. <!-- placeholder="备注"-->
  739. <!-- maxlength="200"-->
  740. <!-- />-->
  741. <!-- <van-field name="uploader" label="现场照片" autocomplete="off">-->
  742. <!-- <template #input>-->
  743. <!-- <van-uploader v-model="fileListzjd" :after-read="beforeReadzjd" multiple @delete="deleteFilezjd" :max-count="20" accept="image/*"></van-uploader>-->
  744. <!-- </template>-->
  745. <!-- </van-field>-->
  746. <common-map ref="pointDarwMap" style="height:200px;"
  747. :allowDraw="true"
  748. @drawReseted="onMapDrawReseted"
  749. @drawFinished="onMapDrawFinished"
  750. >
  751. </common-map>
  752. </div>
  753. <div style="margin: 16px;display: flex;justify-content: space-around;">
  754. <van-button v-if="permission == 'true'" round color="#22B7F2" style="width:45%" @click="submitzjd">保存</van-button>
  755. </div>
  756. <div style="height: 50px;"></div>
  757. </van-form>
  758. </div>
  759. </template>
  760. <script>
  761. import {getZjdzd,updateZjdzd,addZjdzd,getQueryLand} from "@/api/homesteadSurvey/zjdzd";
  762. import {attach} from "@/api/sunVillage_info/homestead/application";
  763. import FieldSelect from "@/components/form/FieldSelect";
  764. import FieldRadio from "@/components/form/FieldRadio";
  765. import CommonMap from "@/components/house/CommonMap";
  766. import {listSuyqr} from "@/api/homesteadSurvey/suyqr";
  767. import MultiImageUploadComp from "@/components/house/MultiImageUploadComp"
  768. import { Notify, Dialog, Toast } from 'vant';
  769. import axios from "axios";
  770. export default {
  771. name: "homesteadAdd",
  772. components: { CommonMap,FieldSelect, FieldRadio,MultiImageUploadComp},
  773. data() {
  774. return {
  775. active:1,
  776. // 使用权人列表
  777. suyqrList:[],
  778. // 地图绘制
  779. drawInsert: null,
  780. permission:false,
  781. // 当前位置信息
  782. tGeoOrganizationLat: null,
  783. tGeoOrganizationLng: null,
  784. showZjdqdsj:false,
  785. showCzmj:false,
  786. showFzxx:false,
  787. showWbzyy:false,
  788. showXzyy:false,
  789. showXzqssj:false,
  790. showUpload:false,
  791. minDate: new Date(1950,1,1),
  792. maxDate: new Date(2030, 10, 1),
  793. form:{}
  794. };
  795. },
  796. created(){
  797. this.form = JSON.parse(localStorage.getItem("zjdzdxxItem"));
  798. this.permission = localStorage.getItem("executePermission");
  799. if(this.form.sfcz === "1"){
  800. this.showCzmj = true;
  801. }
  802. if(this.form.sffz === "1"){
  803. this.showFzxx = true;
  804. }else{
  805. this.showWbzyy = true;
  806. }
  807. if(this.form.zjdlyzk !== "1"){
  808. this.showXzyy = true;
  809. }
  810. listSuyqr({}).then((response) => {
  811. this.suyqrList = response.rows;
  812. });
  813. this.$nextTick(() => {
  814. this.pointDarw(null);
  815. // this.pointDarwNature(null);
  816. this.$refs.pointDarwMap && this.$refs.pointDarwMap.update();
  817. })
  818. },
  819. mounted(){
  820. },
  821. watch:{
  822. "form.zjdpzmj":function (newVal,oldVal){
  823. if(newVal < 0){
  824. this.form.zjdpzmj = "";
  825. return false;
  826. }
  827. if(newVal === "" && oldVal && oldVal.toString().indexOf(".") > 0){
  828. this.form.zjdpzmj = oldVal;
  829. return false;
  830. }
  831. if(newVal){
  832. newVal = newVal.toString();
  833. let pointIndex = newVal.indexOf(".");
  834. if(pointIndex > 0 && newVal.length - pointIndex > 3){
  835. this.form.zjdpzmj = oldVal;
  836. return true;
  837. }
  838. }
  839. }
  840. },
  841. methods: {
  842. submitzjd(){
  843. this.$refs.form.validate().then(() => {
  844. if(this.form.theGeomJson == null){
  845. Dialog({ type: 'danger', message: '请在地图上标注宅基地所在位置!' });
  846. return;
  847. }
  848. this.permission = "false";
  849. if(this.form.id == null){
  850. let surveyItem = JSON.parse(localStorage.getItem("surveyItem"));
  851. if(this.form.theGeomJson instanceof Array){
  852. this.$set(this.form, 'theGeomJson', JSON.stringify( this.form.theGeomJson));
  853. }else if(typeof this.form.theGeomJson === 'string'){
  854. let theGeometry = JSON.parse( this.form.theGeomJson);
  855. if(theGeometry.hasOwnProperty('coordinates')) // 从后台获取的
  856. this.$set(this.form, 'theGeomJson', JSON.stringify(theGeometry.coordinates));
  857. }
  858. this.$set(this.form, 'surveyId', surveyItem.id)
  859. addZjdzd(this.form).then(response => {
  860. let _this =this;
  861. getZjdzd(response.data).then((res) => {
  862. console.info(res.data);
  863. localStorage.setItem("zjdzdxxItem",JSON.stringify(res.data));
  864. this.$toast({
  865. icon: 'success', // 找到自己需要的图标
  866. message: '保存成功',
  867. duration:"1000",
  868. onClose:function(){
  869. _this.$router.push({path:'/homesteadSurvey/add2'});
  870. }
  871. })
  872. })
  873. });
  874. }else{
  875. updateZjdzd(this.form).then(response => {
  876. let _this =this;
  877. getZjdzd(this.form.id).then((res) => {
  878. localStorage.setItem("zjdzdxxItem",JSON.stringify(res.data));
  879. this.$toast({
  880. icon: 'success', // 找到自己需要的图标
  881. message: '保存成功',
  882. duration:"1000",
  883. onClose:function(){
  884. _this.$router.push({path:'/homesteadSurvey/add2'});
  885. }
  886. })
  887. })
  888. });
  889. }
  890. }).catch((e) => {
  891. Dialog({ type: 'danger', message: '请填写完整的表单项' });
  892. });
  893. },
  894. validator(val){
  895. if(val>1||val<0||val.length>4){
  896. return false
  897. }else{
  898. return true
  899. }
  900. },
  901. guidProduct(){
  902. return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
  903. var r = Math.random() * 16 | 0,
  904. v = c == 'x' ? r : (r & 0x3 | 0x8);
  905. return v.toString(16);
  906. });
  907. },
  908. /** 查找地图中定位点 */
  909. MapTag: function (data) {
  910. this.$refs[this.zjdProductResh].drawingPaceCountryDarw();
  911. },
  912. onConfirmzjdqdsj(data){
  913. this.form.zjdqdsj = this.getNowFormatDate(data).substr(0,10);
  914. this.showZjdqdsj = false;
  915. },
  916. onConfirmxzqssj(data){
  917. this.form.zjdxzqssj = this.getNowFormatDate(data).substr(0,10);
  918. this.showXzqssj = false;
  919. },
  920. /**是否超占处理*/
  921. onSfczChanged(val){
  922. if(val === '1'){
  923. this.showCzmj = true;
  924. }else{
  925. this.showCzmj = false;
  926. }
  927. },
  928. /**是否发证*/
  929. onSffzChanged(val){
  930. if(val === '1'){
  931. this.showFzxx = true;
  932. this.showWbzyy = false;
  933. }else{
  934. this.showFzxx = false;
  935. this.showWbzyy = true;
  936. }
  937. },
  938. checkTz(val){
  939. console.info(val)
  940. if(this.form.zjddm == null){
  941. Dialog({ type: 'danger', message: '请生成宅基地信息!' });
  942. }else if(this.form.theGeomJson == null){
  943. Dialog({ type: 'danger', message: '请在地图上标注宅基地所在位置!' });
  944. }else{
  945. this.$router.push({path:val});
  946. }
  947. },
  948. fileUpdateZdt(val){
  949. const params = new FormData();
  950. params.append("tableId", this.form.id);
  951. params.append("tableName", "t_homestead_zjdzdxx");
  952. params.append("bizPath", "upload");
  953. params.append("fileType", "10");
  954. params.append('file', val.file);
  955. console.info( val);
  956. this.$set(this.form, 'zdt',val);
  957. },
  958. /**宅基地利用状态处理*/
  959. onZjdlyzkChanged(val){
  960. console.info(val);
  961. if(val.dictValue === '1'){
  962. this.showXzyy = false;
  963. }else{
  964. this.showXzyy = true;
  965. }
  966. },
  967. // 绘制申请地图
  968. pointDarw(data) {
  969. this.$nextTick(() => {
  970. let map = this.$refs.pointDarwMap;
  971. console.info(this.form.theGeomJson);
  972. if(data == null)
  973. data = this.form.theGeomJson;
  974. this.setMapData(map, data);
  975. });
  976. },
  977. // 通用设置地图数据函数
  978. setMapData(map, data) {
  979. //console.log(map, data ? true : false);
  980. if(!map) return;
  981. if(data)
  982. {
  983. map.addLayerNew('pointDarwLayer',data,"zjdzdxx",this.form.surveyStatus);
  984. }
  985. else {
  986. this.getLandCoord((lng, lat) => {
  987. map.setCoord(this.tGeoOrganizationLng, this.tGeoOrganizationLat);
  988. });
  989. }
  990. },
  991. // 当地图绘制完成时
  992. onMapDrawFinished(data) {
  993. console.info(JSON.stringify(data));
  994. this.drawInsert = data;
  995. this.form.theGeomJson = JSON.stringify(this.drawInsert);
  996. },
  997. // 获取登录人位置坐标
  998. getLandCoord(func) {
  999. if (func
  1000. && this.tGeoOrganizationLng !== null && this.tGeoOrganizationLng !== ''
  1001. && this.tGeoOrganizationLat !== null && this.tGeoOrganizationLat !== '') {
  1002. this.$nextTick(() => {
  1003. func(this.tGeoOrganizationLng, this.tGeoOrganizationLat);
  1004. })
  1005. }
  1006. else {
  1007. getQueryLand(this.deptId).then((response) => {
  1008. if (response.code == 200) {
  1009. let InsertCode = response.data;
  1010. this.form.orgCode = InsertCode.orgCode;
  1011. this.tGeoOrganizationLat = InsertCode.lat;
  1012. this.tGeoOrganizationLng = InsertCode.lng;
  1013. if(func)
  1014. {
  1015. func(this.tGeoOrganizationLng, this.tGeoOrganizationLat);
  1016. }
  1017. }
  1018. });
  1019. }
  1020. },
  1021. // 当申请地图被重置时
  1022. onMapDrawReseted() {
  1023. this.drawInsert = null;
  1024. if(this.form.theGeomJson)
  1025. {
  1026. let lastData = JSON.parse(this.form.theGeomJson);
  1027. if(lastData.hasOwnProperty('coordinates')) // 从后台获取的
  1028. this.drawInsert = lastData.coordinates;
  1029. }
  1030. },
  1031. goBack(){
  1032. if(this.ztMap && this.enterMap ==1){
  1033. if(this.form.id == null){
  1034. this.backMap.backMapZjdAData.theGeom= "";
  1035. }else{
  1036. this.backMap.backMapZjdAData = this.form;
  1037. }
  1038. this.$cookies.set("search",this.backMap);
  1039. } else {
  1040. this.$cookies.set("search","");
  1041. }
  1042. this.$router.push({name: this.$router.back(-1)});
  1043. // }
  1044. },
  1045. goRightBack(){
  1046. this.$router.push({path:'/homesteadSurvey/list'});
  1047. }
  1048. }
  1049. }
  1050. </script>
  1051. <style scoped>
  1052. >>> .bannerBg{
  1053. width: 100%;
  1054. color:#fff;
  1055. padding:10px;
  1056. background: linear-gradient(134deg,#7ac943 1%, #22b7f2);
  1057. }
  1058. >>> .van-hairline--bottom::after {
  1059. border-bottom-width: 0;
  1060. }
  1061. >>> .title:before
  1062. {
  1063. content:"";
  1064. width: 6px;
  1065. height: 20PX;
  1066. background: #7ac943;
  1067. border-radius: 3px;
  1068. position:absolute;
  1069. left:0;
  1070. bottom:0;
  1071. }
  1072. /deep/ .van-nav-bar__text {
  1073. color: #fff;
  1074. }
  1075. >>> .delete-button {
  1076. height: 100%;
  1077. }
  1078. >>> .van-swipe-cell__wrapper{
  1079. margin-right:-3px;
  1080. }
  1081. >>> .label-class .van-collapse-item__title--expanded{
  1082. font-weight: bold;
  1083. }
  1084. </style>