b3b89e5a60a5c238e6b87cb2a1de1c3a9d5add9a.svn-base 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594
  1. <template>
  2. <div>
  3. <el-container v-if="formIsShow" style="height:49vh;">
  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" ref="projectFrom">
  7. <p style="margin-top:10px;margin-bottom: 10px">
  8. <i class="el-icon-caret-right"></i>
  9. <span style="width:120px;padding-left: 10px">基础信息</span>
  10. <span class="hrs"></span>
  11. <el-button type="warning" style="float: right;" @click="recentAppearance">近期面貌</el-button>
  12. <el-button type="warning" style="float: right;margin-right: 10px;" @click="imageClick">影像</el-button>
  13. </p>
  14. <el-form-item label="行政区划">
  15. <el-input
  16. v-model="formObj.adName"
  17. autocomplete="off"
  18. @focus="showMenuTree = true"
  19. auto-complete="off"
  20. readonly
  21. style="width:70%;"
  22. ></el-input>
  23. <!--<provTreeList-->
  24. <!--style="max-height:20vh;"-->
  25. <!--v-if="showMenuTree"-->
  26. <!--:rootCode="rootCode"-->
  27. <!--:rootType="rootType"-->
  28. <!--@provTreeSelectChange="provTreeSelectChangeHandler"-->
  29. <!--&gt;</provTreeList>-->
  30. </el-form-item>
  31. <el-form-item label="被检查单位">
  32. <el-input clearable v-model="formObj.bchkUnit" style="width:70%;"></el-input>
  33. </el-form-item>
  34. <el-form-item label="所在位置">
  35. <el-input v-model="formObj.loc" style="width:70%;"></el-input>
  36. </el-form-item>
  37. <el-form-item label="检查人员">
  38. <el-input clearable v-model="formObj.chkPers" style="width:70%;"></el-input>
  39. </el-form-item>
  40. <el-form-item label="检查时间">
  41. <unlimitDatePicker v-model="formObj.chkTm" :editable="false" type="date" placeholder="选择日期">
  42. </unlimitDatePicker>
  43. </el-form-item>
  44. <el-form-item label="检查单位">
  45. <el-input clearable v-model="formObj.chkUnit" style="width:70%;"></el-input>
  46. </el-form-item>
  47. <el-form-item label="联系人">
  48. <el-input clearable v-model="formObj.contact" style="width:70%;"></el-input>
  49. </el-form-item>
  50. <el-form-item label="联系人电话">
  51. <el-input clearable v-model="formObj.contactTel" style="width:70%;"></el-input>
  52. </el-form-item>
  53. <el-form-item label="负责人">
  54. <el-input clearable v-model="formObj.principal" style="width:70%;"></el-input>
  55. </el-form-item>
  56. <el-form-item label="负责人电话">
  57. <el-input clearable v-model="formObj.principalTel" style="width:70%;"></el-input>
  58. </el-form-item>
  59. <el-form-item label="经度">
  60. <el-input clearable v-model="formObj.gdX" style="width:70%;"></el-input>
  61. </el-form-item>
  62. <el-form-item label="纬度">
  63. <el-input clearable v-model="formObj.gdY" style="width:70%;"></el-input>
  64. </el-form-item>
  65. <el-form-item label>
  66. <el-button style="padding:7px 15px" type="primary" @click="addHandler">保 存</el-button>
  67. </el-form-item>
  68. </el-form>
  69. </el-main>
  70. </el-container>
  71. <div v-if="!formIsShow" class="popupContentClass" :style="{'height':testHeight1+'px'}">
  72. <el-row class="rowClass">
  73. <el-col :span="6" class="nameClass">地表水水源地名称:</el-col>
  74. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.swhsName}}</el-col>
  75. <el-col :span="6" class="nameClass">地表水水源地代码:</el-col>
  76. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.swhsCode}}</el-col>
  77. </el-row>
  78. <el-row class="rowClass">
  79. <el-col :span="6" class="nameClass">管理单位名称:</el-col>
  80. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.insName}}</el-col>
  81. <el-col :span="6" class="nameClass">管理单位联系人:</el-col>
  82. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.insPers}}</el-col>
  83. </el-row>
  84. <el-row class="rowClass">
  85. <el-col :span="6" class="nameClass">管理单位电话:</el-col>
  86. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.insTel}}</el-col>
  87. <el-col :span="6" class="nameClass">水行政主管部门名称:</el-col>
  88. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.insWaterUnit}}</el-col>
  89. </el-row>
  90. <el-row class="rowClass">
  91. <el-col :span="6" class="nameClass">水行政主管部门联系人:</el-col>
  92. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.insWaterPers}}</el-col>
  93. <el-col :span="6" class="nameClass">水行政主管部门电话:</el-col>
  94. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.insWaterTel}}</el-col>
  95. </el-row>
  96. <el-row class="rowClass">
  97. <el-col :span="6" class="nameClass">行政区划:</el-col>
  98. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.adName}}</el-col>
  99. <el-col :span="6" class="nameClass">所在位置:</el-col>
  100. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.swhsLoc}}</el-col>
  101. </el-row>
  102. <el-row class="rowClass">
  103. <el-col :span="6" class="nameClass">取水水源类型:</el-col>
  104. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.wainWasoType == "1" ? "水库" :formObj.wainWasoType == "2" ? "湖泊" :formObj.wainWasoType == "3" ? "河流" :formObj.wainWasoType == "9" ? "其他" : ""}}</el-col>
  105. <el-col :span="6" class="nameClass">水面面积:</el-col>
  106. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.watArea ? formObj.watArea + 'k㎡' : ''}}</el-col>
  107. </el-row>
  108. <el-row class="rowClass">
  109. <el-col :span="6" class="nameClass">取水口数量:</el-col>
  110. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.wainNum}}</el-col>
  111. <el-col :span="6" class="nameClass">主要取水用途:</el-col>
  112. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.wainUse == "1" ? "城乡生活" : formObj.wainUse == "2" ? "城镇生活" : formObj.wainUse == "3" ? "乡村生活" : ''}}</el-col>
  113. </el-row>
  114. <el-row class="rowClass">
  115. <el-col :span="6" class="nameClass">供水对象类型:</el-col>
  116. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.wasuObjType == "1" ? "工业" : formObj.wainUse == "2" ? "生活" : formObj.wainUse == "3" ? "公共" : formObj.wainUse == "4" ? "混合" : formObj.wainUse == "9" ? "其他" : ''}}</el-col>
  117. <el-col :span="6" class="nameClass">设计年取水量:</el-col>
  118. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.desAnnWain ? formObj.desAnnWain + "万m³" : ""}}</el-col>
  119. </el-row>
  120. <el-row class="rowClass">
  121. <el-col :span="6" class="nameClass">设计年供水人口:</el-col>
  122. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.desAnnWasuPop ? formObj.desAnnWasuPop + "万人" : ""}}</el-col>
  123. <el-col :span="6" class="nameClass">水质目标:</el-col>
  124. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.waquGoal == "1" ? "表示Ⅰ类水质目标" : formObj.waquGoal == "2" ? "表示Ⅱ类水质目标" : formObj.waquGoal == "3" ? "表示Ⅲ类水质目标" : formObj.waquGoal == "4" ? "表示Ⅳ类水质目标" : formObj.waquGoal == "5" ? "表示Ⅴ类水质目标" : formObj.waquGoal == "6" ? "表示劣Ⅴ类水质目标" : ''}}</el-col>
  125. </el-row>
  126. <el-row class="rowClass">
  127. <el-col :span="6" class="nameClass">水源地水质是否监测:</el-col>
  128. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.ifMonWqua == "1" ? "是": formObj.ifMonWqua == "2" ? "否" : ""}}</el-col>
  129. <el-col :span="6" class="nameClass">水源地水质是否达标:</el-col>
  130. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.ifWquaUptoSta == "1" ? "是": formObj.ifWquaUptoSta == "2" ? "否" : ""}}</el-col>
  131. </el-row>
  132. <el-row class="rowClass">
  133. <el-col :span="6" class="nameClass">水源地现状:</el-col>
  134. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.wquaCat == "1" ? "表示Ⅰ类水质目标" : formObj.wquaCat == "2" ? "表示Ⅱ类水质目标" : formObj.wquaCat == "3" ? "表示Ⅲ类水质目标" : formObj.wquaCat == "4" ? "表示Ⅳ类水质目标" : formObj.wquaCat == "5" ? "表示Ⅴ类水质目标" : ''}}</el-col>
  135. <el-col :span="6" class="nameClass">经度:</el-col>
  136. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.gdX}}</el-col>
  137. </el-row>
  138. <el-row class="rowClass">
  139. <el-col :span="6" class="nameClass">纬度:</el-col>
  140. <el-col :span="6" class="valueClass" :style="{'height':testHeight+'px'}">{{formObj.gdY}}</el-col>
  141. </el-row>
  142. </div>
  143. <theRecentAppearance v-if="jqmmShow" @jqmmDialogClose="jqmmDialog" :jqmmShow="jqmmShow" :jqmmEngId="currentObjectRgstrId" :type="'15'" :dialogTitle="currentObjectName + '近期面貌'"></theRecentAppearance>
  144. <!--影像弹窗-->
  145. <el-dialog :title="currentObjectName + '影像'" :visible.sync="imageShow" append-to-body :close-on-click-modal="false" width="60%">
  146. <div style="height: 60vh;">
  147. <mapLocation ref="mapRef" v-if="imageShow" :gdX="formObj.gdX" :gdY="formObj.gdY"></mapLocation>
  148. </div>
  149. </el-dialog>
  150. </div>
  151. </template>
  152. <script>
  153. import inputWith from "../../widgets/inuptWith.vue";
  154. import request from "../../utils/gw_ajax_request.js";
  155. import { getSydjc,getInfo_jieshui } from "../../api/duChaTianBao.js";
  156. import { dateFormat } from "../../utils/gw_date.js";
  157. import provTreeList from "../../widgets/provTreeList";
  158. import theRecentAppearance from '../duChaTianBao/yongshuidw/recentAppearance'
  159. import mapLocation from '../../views/duChaTianBao/mapLocation'
  160. import unlimitDatePicker from '@baseWidget/unLimitdatePicker.vue'
  161. export default {
  162. components: {
  163. inputWith: inputWith,
  164. provTreeList,
  165. theRecentAppearance: theRecentAppearance,
  166. mapLocation:mapLocation,
  167. unlimitDatePicker:unlimitDatePicker
  168. },
  169. props: [
  170. "currentObjectRgstrId",
  171. "currentResCode",
  172. "currentObjectId",
  173. "currentGroupId",
  174. "currentAdcode",
  175. "showOrEdit",
  176. "currentObjectName",
  177. "baseForm"
  178. ],
  179. data() {
  180. return {
  181. testHeight:(window.innerHeight * 0.5 - 114) / 6,
  182. testHeight1:window.innerHeight * 0.6,
  183. rootCode: "000000",
  184. rootType: "2",
  185. showMenuTree: false,
  186. begTime:'',
  187. endTime:'',
  188. formObj: {
  189. buidTimeMon:'',
  190. buidTimeYear:'',
  191. staTimeMon:'',
  192. staTimeYear:'',
  193. adCode: this.currentAdcode,
  194. gateName: "",
  195. gateType: "",
  196. rsAdmName: "",
  197. rsLoc: "",
  198. gateFlow: "",
  199. engSta: "",
  200. intm: "",
  201. engScal: "",
  202. totCap: "",
  203. damMaxHigh: "",
  204. damTypeStr: "",
  205. damType: "",
  206. rsType: "",
  207. regCode: "",
  208. rsvrLong: "",
  209. rsvrLat: "",
  210. compDate: "",
  211. location: "",
  212. admDiv: "",
  213. locationCun: ""
  214. },
  215. dialogFormVisible: false,
  216. formLabelWidth: "300px",
  217. loading: true,
  218. operationType1: "",
  219. currentResCode1: "",
  220. currentObjectId1: "",
  221. value1: "",
  222. provList: [],
  223. cityList: [],
  224. countryList: [],
  225. provName: "",
  226. cityName: "",
  227. countryName: "",
  228. provNames: "",
  229. cityNames: "",
  230. countryNames: "",
  231. curSelectItem: 0,
  232. formIsShow: true,
  233. jqmmButton: false,
  234. jqmmShow: false,
  235. imageShow: false,
  236. //水质目标
  237. waquGoal: [
  238. {
  239. value: '1',
  240. label: '表示Ⅰ类水质目标'
  241. },
  242. {
  243. value: '2',
  244. label: '表示Ⅱ类水质目标'
  245. },
  246. {
  247. value: '3',
  248. label: '表示Ⅲ类水质目标'
  249. },
  250. {
  251. value: '4',
  252. label: '表示Ⅳ类水质目标'
  253. },
  254. {
  255. value: '5',
  256. label: '表示Ⅴ类水质目标'
  257. },
  258. {
  259. value: '6',
  260. label: '表示劣Ⅴ类水质目标'
  261. },
  262. ],
  263. wquaCat:[
  264. {
  265. value: '1',
  266. label: '表示Ⅰ类水质目标'
  267. },
  268. {
  269. value: '2',
  270. label: '表示Ⅱ类水质目标'
  271. },
  272. {
  273. value: '3',
  274. label: '表示Ⅲ类水质目标'
  275. },
  276. {
  277. value: '4',
  278. label: '表示Ⅳ类水质目标'
  279. },
  280. {
  281. value: '5',
  282. label: '表示Ⅴ类水质目标'
  283. }
  284. ],
  285. //是否
  286. whether: [
  287. {
  288. value: "1",
  289. label: "是"
  290. },
  291. {
  292. value: "2",
  293. label: "否"
  294. }
  295. ],
  296. //主要取水用途
  297. wainUse: [
  298. {
  299. value:'1',
  300. label:'城乡生活'
  301. },
  302. {
  303. value:'2',
  304. label:'城镇生活'
  305. },
  306. {
  307. value:'3',
  308. label:'乡村生活'
  309. }
  310. ],
  311. wasuObjType:[
  312. {
  313. value:'1',
  314. label:'工业'
  315. },
  316. {
  317. value:'2',
  318. label:'生活'
  319. },
  320. {
  321. value:'3',
  322. label:'公共'
  323. },
  324. {
  325. value:'4',
  326. label:'混合'
  327. },
  328. {
  329. value:'9',
  330. label:'其他'
  331. }
  332. ],
  333. // 取水水源类型
  334. wainWasoType:[
  335. {value:'1',label:'水库'},
  336. {value:'2',label:'湖泊'},
  337. {value:'3',label:'河流'},
  338. {value:'9',label:'其他'},
  339. ]
  340. };
  341. },
  342. computed: {
  343. recPersId() {
  344. return localStorage.getItem("userid")
  345. ? localStorage.getItem("userid")
  346. : "";
  347. }
  348. },
  349. created() {
  350. if (this.showOrEdit == "show") {
  351. this.formIsShow = false;
  352. } else {
  353. this.formIsShow = true;
  354. }
  355. // this.getRgstridObj();
  356. },
  357. mounted() {
  358. this.currentResCode1 = this.currentResCode;
  359. this.currentObjectId1 = this.currentObjectId;
  360. this.$nextTick(()=>{
  361. this.getRgstridObj();
  362. this.getAreaList();
  363. })
  364. },
  365. watch: {
  366. currentObjectRgstrId(n, o) {
  367. this.getRgstridObj();
  368. }
  369. },
  370. methods: {
  371. startTimeToform(val){
  372. console.log(val);
  373. this.formObj.staTimeYear = val.split('-')[0];
  374. this.formObj.staTimeMon = val.split('-')[1];
  375. },
  376. bulidTimeToform(val){
  377. console.log(val);
  378. this.formObj.buidTimeYear = val.split('-')[0];
  379. this.formObj.buidTimeMon = val.split('-')[1];
  380. },
  381. getRgstridObj() {
  382. var _self = this;
  383. // 获取登记表信息即可
  384. getInfo_jieshui(_self.currentObjectRgstrId).then(res => {
  385. if (res.data) {
  386. _self.formObj = res.data;
  387. _self.formObj.chkTm = dateFormat(res.data.chkTm, "yyyy-MM-dd");
  388. } else {
  389. _self.formObj = {};
  390. }
  391. },
  392. err => {}
  393. );
  394. },
  395. addHandler() {
  396. this.$refs.projectFrom.validate(valid => {
  397. if (valid) {
  398. var _self = this;
  399. _self.formObj["persId"] = _self.recPersId;
  400. _self.formObj["id"] = _self.currentObjectRgstrId;
  401. console.log(_self.formObj);
  402. try {
  403. this.$confirm("确认保存基础信息?", "提示", {
  404. confirmButtonText: "确定",
  405. cancelButtonText: "取消",
  406. type: "warning"
  407. }).then(() => {
  408. // 修改登记表即可
  409. request.post("/bis/insp/svwt/area/rgstr", _self.formObj).then(res => {
  410. if (res.success) {
  411. _self.$emit("addShuiKuSuccess");
  412. _self.getRgstridObj();
  413. _self.$message.success("修改成功");
  414. } else {
  415. _self.$emit("cancelHandler");
  416. }
  417. });
  418. })
  419. .catch(() => {});
  420. } catch (e) {}
  421. }
  422. })
  423. },
  424. cancelHandler() {
  425. this.$emit("cancelHandler");
  426. },
  427. formatRadio(val) {
  428. if (val == "1") {
  429. return "是";
  430. } else if (val == "0") {
  431. return "否";
  432. } else {
  433. return val;
  434. }
  435. },
  436. getAreaList(val) {
  437. let areaParams = {
  438. adName: "",
  439. id: this.dczId,
  440. pageNum: 1,
  441. pageSize: 10000
  442. };
  443. let adCode = "";
  444. if (!val) {
  445. adCode = "000000000000";
  446. } else {
  447. adCode = val;
  448. }
  449. request
  450. .get("/dc/ad/base/getAdData", { params: { adCode: adCode } })
  451. .then(res => {
  452. if (res.success) {
  453. if (this.curSelectItem == 1) {
  454. this.cityList = res.data;
  455. } else if (this.curSelectItem == 2) {
  456. this.countryList = res.data;
  457. } else {
  458. this.provList = res.data;
  459. }
  460. }
  461. });
  462. },
  463. provChange(val) {
  464. this.curSelectItem = 1;
  465. this.cityName = "";
  466. this.countryName = "";
  467. this.formObj.admDiv = val;
  468. this.provList.forEach(ele => {
  469. if (ele.adCode == this.provName) {
  470. this.provNames = ele.adName;
  471. }
  472. });
  473. this.formObj.locationCun = this.provNames;
  474. this.getAreaList(val);
  475. },
  476. cityChange(val) {
  477. this.curSelectItem = 2;
  478. if (val && val != "") {
  479. this.formObj.admDiv = val;
  480. this.countryName = "";
  481. this.cityList.forEach(ele => {
  482. if (ele.adCode == this.cityName) {
  483. this.cityNames = ele.adName;
  484. }
  485. });
  486. this.formObj.locationCun = this.provNames + this.cityNames;
  487. this.getAreaList(val);
  488. }
  489. },
  490. countryChange(val) {
  491. if (val && val != "") {
  492. this.formObj.admDiv = val;
  493. this.countryList.forEach(ele => {
  494. if (ele.adCode == this.countryName) {
  495. this.countryNames = ele.adName;
  496. }
  497. });
  498. this.formObj.locationCun =
  499. this.provNames + this.cityNames + this.countryNames;
  500. }
  501. },
  502. provTreeSelectChangeHandler: function(params) {
  503. this.formObj.adCode = params.code;
  504. this.formObj.adName = params.name;
  505. this.showMenuTree = false;
  506. },
  507. // 近期面貌
  508. recentAppearance(){
  509. this.jqmmShow = true;
  510. },
  511. jqmmDialog(){
  512. this.jqmmShow = false;
  513. },
  514. // 影像
  515. imageClick(){
  516. if(!this.formObj.gdX && !this.formObj.gdY){
  517. this.$message.warning('暂无经纬度信息!');
  518. return false;
  519. }
  520. this.imageShow = true;
  521. }
  522. },
  523. filters:{
  524. }
  525. };
  526. </script>
  527. <style lang="scss" scoped>
  528. #dcdxHeader {
  529. padding: 15px 20px;
  530. }
  531. #dxdcFooter {
  532. text-align: center;
  533. }
  534. #dxdcAside {
  535. border: 1px solid #d5d5ff;
  536. }
  537. .el-dialog__wrapper .el-treeWhite {
  538. /* max-height: 260px !important; */
  539. }
  540. .gcsthyxglqk .el-button--mini {
  541. padding: 0px 15px;
  542. }
  543. .nameClass{
  544. text-align:right;
  545. font-size:13px;
  546. font-family:PingFangSC-Medium;
  547. font-weight:500;
  548. color:rgba(51,51,51,1)
  549. }
  550. .valueClass{
  551. text-align:left;
  552. align-items: center;
  553. display: flex;
  554. font-size:13px;
  555. font-family:MicrosoftYaHei;
  556. color:rgba(51,51,51,1);
  557. }
  558. .rowClass{
  559. align-items: center;
  560. display: flex;
  561. border-bottom: 1px dashed #C5C6C8;
  562. }
  563. .rowClass1{
  564. align-items: center;
  565. display: flex;
  566. }
  567. .popupContentClass{
  568. overflow: auto;
  569. }
  570. </style>