223ae4e2d7449c2475ff7e0682ddbf89b561aff8.svn-base 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407
  1. <template>
  2. <div>
  3. <el-container>
  4. <el-main style="border:1px solid #d5d5ff;margin-left:5px;padding:0px;">
  5. <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">信息填报</p>
  6. <el-form :model="formObj" :label-width="formLabelWidth">
  7. <p style="margin-top:10px;margin-bottom: 10px;overflow: hidden;"><i class="el-icon-caret-right"></i><span
  8. style="width:120px;padding-left: 10px">基本信息</span><span class="hrs"></span>
  9. <el-button type="warning" style="float: right;" @click="recentAppearance">近期面貌</el-button>
  10. <el-button type="warning" style="float: right; margin-right: 10px;" @click="imageClick">影像</el-button>
  11. </p>
  12. <el-form-item label="取水权人名称" >
  13. <el-input v-model="formObj.nm" autocomplete="off" style="width:70%;"></el-input>
  14. </el-form-item>
  15. <el-form-item label="行政区划">
  16. <div v-if="showLocSelect">
  17. <el-select v-model="provName" placeholder="选择省" @change="provChange" style="width:20%">
  18. <el-option
  19. v-for="item in provList"
  20. :key="item.adCode"
  21. :label="item.adName"
  22. :value="item.adCode">
  23. </el-option>
  24. </el-select>
  25. <el-select v-model="cityName" placeholder="选择市" @change="cityChange" style="width:20%">
  26. <el-option
  27. v-for="item in cityList"
  28. :key="item.adCode"
  29. :label="item.adName"
  30. :value="item.adCode">
  31. </el-option>
  32. </el-select>
  33. <el-select v-model="countryName" placeholder="选择县" @change="countryChange" style="width:20%">
  34. <el-option
  35. v-for="item in countryList"
  36. :key="item.adCode"
  37. :label="item.adName"
  38. :value="item.adCode">
  39. </el-option>
  40. </el-select>
  41. &#x3000;<span v-if="showLocSelect" @click="showLocSelect = false"
  42. style="color: #009fff;font-size:12px;cursor:pointer">取消</span>
  43. </div>
  44. <div v-else>
  45. <el-input v-model="formObj.adName" readonly autocomplete="off"
  46. style="width:70%;"></el-input>&#x3000;<span @click="showLocSelect = true" v-if="openType"
  47. style="color: #009fff;font-size:12px;cursor:pointer">更改</span>
  48. </div>
  49. </el-form-item>
  50. <el-form-item label="取水申请批复文号">
  51. <el-input v-model="formObj.appNo" autocomplete="off" style="width:70%;"></el-input>
  52. </el-form-item>
  53. <el-form-item label="取水许可证号">
  54. <el-input v-model="formObj.wtAppNo" autocomplete="off" style="width:70%;"></el-input>
  55. </el-form-item>
  56. <el-form-item label="发证机关">
  57. <el-input v-model="formObj.appDep" autocomplete="off" style="width:70%;"></el-input>
  58. </el-form-item>
  59. <el-form-item label="取水工程类型">
  60. <el-select v-model="formObj.wtType" clearable>
  61. <el-option label="闸" value="1"></el-option>
  62. <el-option label="渠道" value="2"></el-option>
  63. <el-option label="人工河道" value="3"></el-option>
  64. <el-option label="虹吸管" value="4"></el-option>
  65. <el-option label="泵站" value="5"></el-option>
  66. <el-option label="水井" value="6"></el-option>
  67. <el-option label="坝" value="7"></el-option>
  68. <el-option label="水电站" value="8"></el-option>
  69. <el-option label="其他" value="9"></el-option>
  70. </el-select>
  71. </el-form-item>
  72. <el-form-item label="许可水量(万立方米/年)">
  73. <el-input v-model="formObj.wtMsr" autocomplete="off" style="width:70%;"></el-input>
  74. </el-form-item>
  75. <el-form-item label="有效期限开始时间">
  76. <el-date-picker
  77. v-model="formObj.wtTm"
  78. format="yyyy-MM-dd"
  79. type="date"
  80. placeholder="选择日期">
  81. </el-date-picker>
  82. </el-form-item>
  83. <el-form-item label="有效期限结束时间">
  84. <el-date-picker
  85. v-model="formObj.wtEntm"
  86. format="yyyy-MM-dd"
  87. type="date"
  88. placeholder="选择日期">
  89. </el-date-picker>
  90. </el-form-item>
  91. <el-form-item label="水源类型">
  92. <el-checkbox-group v-model="formObj.wtSur">
  93. <el-checkbox label="1">地表水</el-checkbox>
  94. <el-checkbox label="2">地下水</el-checkbox>
  95. <el-checkbox label="3">其他</el-checkbox>
  96. </el-checkbox-group>
  97. </el-form-item>
  98. <el-form-item label="取水用途">
  99. <el-select v-model="formObj.wtUsr">
  100. <el-option label="农业取水" value="1"></el-option>
  101. <el-option label="工业取水" value="2"></el-option>
  102. <el-option label="水电站取水" value="3"></el-option>
  103. <el-option label="公共供水企业" value="4"></el-option>
  104. </el-select>
  105. </el-form-item>
  106. <el-form-item label="法定代表人">
  107. <el-input v-model="formObj.depPers" autocomplete="off" style="width:70%;"></el-input>
  108. </el-form-item>
  109. <el-form-item label="法定代表人电话">
  110. <el-input v-model="formObj.persPhone" autocomplete="off" style="width:70%;"></el-input>
  111. </el-form-item>
  112. <el-form-item label="联系人">
  113. <el-input v-model="formObj.depCntPers" autocomplete="off" style="width:70%;"></el-input>
  114. </el-form-item>
  115. <el-form-item label="联系人电话">
  116. <el-input v-model="formObj.depCntPersPhone" autocomplete="off" style="width:70%;"></el-input>
  117. </el-form-item>
  118. <el-form-item label="单位地址">
  119. <el-input v-model="formObj.loc" autocomplete="off" style="width:70%;"></el-input>
  120. </el-form-item>
  121. <el-form-item label="经度">
  122. <el-input v-model="formObj.centerX" autocomplete="off" style="width:70%;"></el-input>
  123. </el-form-item>
  124. <el-form-item label="纬度">
  125. <el-input v-model="formObj.centerY" autocomplete="off" style="width:70%;"></el-input>
  126. </el-form-item>
  127. <el-form-item label="备注">
  128. <el-input v-model="formObj.note" autocomplete="off" style="width:70%;"></el-input>
  129. </el-form-item>
  130. <el-form-item label="">
  131. <!-- <el-button @click="cancelHandler">取 消</el-button> -->
  132. <el-button type="primary" @click="addHandler" v-if="openType">保 存</el-button>
  133. </el-form-item>
  134. </el-form>
  135. </el-main>
  136. </el-container>
  137. <theRecentAppearance v-if="xcztShow" @jqmmDialogClose="jqmmDialog" :jqmmShow="xcztShow" :openType="openType"
  138. :jqmmEngId="currentObjectRgstrId" :dialogTitle="currentObjectName + '近期面貌'"
  139. style="z-index: 9999;"></theRecentAppearance>
  140. <!--影像弹窗-->
  141. <el-dialog :title="currentObjectName + '影像'" :visible.sync="imageShow" append-to-body :close-on-click-modal="false"
  142. width="60%">
  143. <div style="height: 60vh;">
  144. <mapLocation ref="mapRef" v-if="imageShow" :gdX="centerX" :gdY="centerY"></mapLocation>
  145. </div>
  146. </el-dialog>
  147. </div>
  148. </template>
  149. <script>
  150. import inputWith from "@widget/inuptWith.vue"
  151. import request from "@util/gw_ajax_request.js"
  152. import theRecentAppearance from '../../duChaDuiXiang/theRecentAppearance'
  153. import unlimitDatePicker from '@baseWidget/unLimitdatePicker.vue'
  154. import mapLocation from '../mapLocation'
  155. import {
  156. dateFormat
  157. } from "@util/gw_date.js"
  158. export default {
  159. components: {
  160. inputWith: inputWith,
  161. unlimitDatePicker: unlimitDatePicker,
  162. theRecentAppearance,
  163. mapLocation
  164. },
  165. props: ['id','currentObjectRgstrId', 'currentResCode', 'currentObjectId', 'currentObjectName','openType'],
  166. data() {
  167. return {
  168. formObj: {
  169. nm:"",
  170. adCode:"",
  171. adName:"",
  172. loc:"",
  173. appNo:"",
  174. wtAppNo:"",
  175. appDep:"",
  176. wtType:"",
  177. wtMsr:"",
  178. wtTm:"",
  179. wtEntm:"",
  180. wtSur:[],
  181. wtUsr:"",
  182. depPers:"",
  183. persPhone:"",
  184. depCntPers:"",
  185. depCntPersPhone:"",
  186. note:"",
  187. centerX:"",
  188. centerY:""
  189. },
  190. dialogFormVisible: false,
  191. formLabelWidth: '160px',
  192. loading: true,
  193. operationType1: '',
  194. currentResCode1: '',
  195. currentObjectId1: '',
  196. value1: '',
  197. provList: [],
  198. cityList: [],
  199. countryList: [],
  200. provName: '',
  201. cityName: '',
  202. countryName: '',
  203. provNames: '',
  204. cityNames: '',
  205. countryNames: '',
  206. curSelectItem: 0,
  207. showLocSelect: false,
  208. locat: {
  209. location: "",
  210. admDiv: ""
  211. },
  212. xcztShow: false,
  213. imageShow: false,
  214. xcztEngId: '',
  215. centerX: 0,
  216. centerY: 0
  217. }
  218. },
  219. computed: {
  220. recPersId() {
  221. return localStorage.getItem("userid") ? localStorage.getItem("userid") : ''
  222. }
  223. },
  224. mounted() {
  225. this.currentResCode1 = this.currentResCode;
  226. this.currentObjectId1 = this.currentObjectId;
  227. this.getRgstridObj();
  228. this.getAreaList()
  229. },
  230. watch: {
  231. id(n, o) {
  232. this.getRgstridObj();
  233. },
  234. showLocSelect(val) {
  235. if (!val) {
  236. this.formObj.rvLoc = this.locat.location
  237. this.formObj.admDiv = this.locat.admDiv
  238. this.provName = ''
  239. this.cityName = ''
  240. this.countryName = ''
  241. }
  242. }
  243. },
  244. methods: {
  245. getRgstridObj() {
  246. var _self = this;
  247. request.get('/bis/insp/wiuqh/'+_self.currentObjectRgstrId).then((res) => {
  248. if (res.data) {
  249. _self.formObj = res.data;
  250. _self.formObj.wtSur = (_self.formObj.wtSur==null?[]:_self.formObj.wtSur.split(","))
  251. } else {
  252. _self.formObj = {};
  253. }
  254. });
  255. },
  256. addHandler() {
  257. var _self = this;
  258. _self.formObj['persId'] = _self.recPersId;
  259. _self.formObj.objId = _self.currentObjectId1;
  260. _self.formObj.wtSur = this.formObj.wtSur.join(",");
  261. try {
  262. this.$confirm('确认保存基础信息?', '提示', {
  263. confirmButtonText: '确定',
  264. cancelButtonText: '取消',
  265. type: 'warning'
  266. }).then(() => {
  267. request.post('/bis/insp/wiuqh', _self.formObj).then((res) => {
  268. if (res.success) {
  269. _self.$emit('changeWtUsr',_self.formObj.wtUsr);
  270. _self.$emit("addShuiKuSuccess");
  271. _self.showLocSelect = false
  272. _self.getRgstridObj()
  273. _self.$message.success("修改成功");
  274. } else {
  275. _self.$emit('cancelHandler');
  276. }
  277. });
  278. })
  279. } catch (e) {
  280. }
  281. },
  282. cancelHandler() {
  283. this.$emit('cancelHandler');
  284. },
  285. formatRadio(val) {
  286. if (val == '1') {
  287. return '是'
  288. } else if (val == '0') {
  289. return '否'
  290. } else {
  291. return val
  292. }
  293. },
  294. getAreaList(val) {
  295. let areaParams = {
  296. adName: "",
  297. id: this.dczId,
  298. pageNum: 1,
  299. pageSize: 10000
  300. }
  301. let adCode = ''
  302. if (!val) {
  303. adCode = '000000000000'
  304. } else {
  305. adCode = val
  306. }
  307. request.get('/dc/ad/base/getAdData', {params: {'adCode': adCode}}).then(res => {
  308. if (res.success) {
  309. if (this.curSelectItem == 1) {
  310. this.cityList = res.data
  311. } else if (this.curSelectItem == 2) {
  312. this.countryList = res.data
  313. } else {
  314. this.provList = res.data
  315. }
  316. }
  317. })
  318. },
  319. provChange(val) {
  320. this.curSelectItem = 1
  321. this.cityName = ''
  322. this.countryName = ''
  323. this.formObj.admDiv = val
  324. this.provList.forEach(ele => {
  325. if (ele.adCode == this.provName) {
  326. this.provNames = ele.adName
  327. }
  328. })
  329. this.formObj.adName = this.provNames
  330. this.getAreaList(val)
  331. },
  332. RsvrTypeChange(val) {
  333. },
  334. cityChange(val) {
  335. this.curSelectItem = 2
  336. if (val && val != '') {
  337. this.formObj.admDiv = val
  338. this.countryName = ''
  339. this.cityList.forEach(ele => {
  340. if (ele.adCode == this.cityName) {
  341. this.cityNames = ele.adName
  342. }
  343. })
  344. this.formObj.adName = this.provNames + this.cityNames
  345. this.getAreaList(val)
  346. }
  347. },
  348. countryChange(val) {
  349. if (val && val != '') {
  350. this.formObj.admDiv = val
  351. this.countryList.forEach(ele => {
  352. if (ele.adCode == this.countryName) {
  353. this.countryNames = ele.adName
  354. }
  355. })
  356. this.formObj.adName = this.provNames + this.cityNames + this.countryNames
  357. this.formObj.adCode = val;
  358. }
  359. },
  360. // 近期面貌
  361. recentAppearance() {
  362. this.xcztShow = true;
  363. },
  364. jqmmDialog() {
  365. this.xcztShow = false;
  366. },
  367. //影像
  368. imageClick() {
  369. if (!this.centerX && !this.centerY) {
  370. this.$message.warning('暂无经纬度信息!');
  371. return false;
  372. }
  373. this.imageShow = true;
  374. }
  375. },
  376. }
  377. </script>
  378. <style>
  379. #dcdxHeader {
  380. padding: 15px 20px;
  381. }
  382. #dxdcFooter {
  383. text-align: center;
  384. }
  385. #dxdcAside {
  386. border: 1px solid #d5d5ff;
  387. }
  388. .el-dialog__wrapper .el-treeWhite {
  389. /* max-height: 260px !important; */
  390. }
  391. </style>