c37cc1d88bcc3068a2d1575571961b1ba2e11b95.svn-base 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577
  1. <template>
  2. <!-- 弹出窗 -->
  3. <el-dialog title="添加督查对象" width="70%" @close="closeDuChaDuiXiangDialog" :visible.sync="dialogFormVisible"
  4. :close-on-click-modal="false"
  5. :modal-append-to-body="true"
  6. :append-to-body="true">
  7. <el-container>
  8. <el-main style="border:1px solid #d5d5ff;margin-left:5px;padding:0px;">
  9. <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">督查对象</p>
  10. <el-form style="padding:10px">
  11. <div>
  12. <el-form size="mini" :inline="true" class="demo-form-inline">
  13. <el-form-item label="取水口名称">
  14. <el-input
  15. style="width:140px;"
  16. v-model="searchNameOfRsName"
  17. clearable
  18. placeholder="请输入取水口名称"
  19. ></el-input>
  20. </el-form-item>
  21. <el-form-item>
  22. <el-button type="primary" @click="refreshCurrentShow">查询</el-button>
  23. </el-form-item>
  24. <el-form-item>
  25. <el-button type="primary" @click="toAddNewRsvr">添加新取水口</el-button>
  26. </el-form-item>
  27. </el-form>
  28. <el-table
  29. border
  30. v-loading="loading"
  31. :data="currentShowList"
  32. tooltip-effect="dark"
  33. style="width: 100%"
  34. @selection-change="handleSelectionChange"
  35. >
  36. <el-table-column align="center" type="selection" width="60"></el-table-column>
  37. <el-table-column align="center" prop="index" label="序号" min-width="40"></el-table-column>
  38. <el-table-column
  39. align="center"
  40. show-overflow-tooltip
  41. prop="wintName"
  42. label="取水口名称"
  43. min-width="100"
  44. ></el-table-column>
  45. <el-table-column
  46. align="center"
  47. show-overflow-tooltip
  48. prop="wintPos"
  49. label="所在地点"
  50. min-width="100"
  51. ></el-table-column>
  52. <el-table-column
  53. align="center"
  54. show-overflow-tooltip
  55. prop="wainIntType"
  56. label="取水工程类型"
  57. min-width="100"
  58. >
  59. <template slot-scope="scope">
  60. <p>{{scope.row.wainIntType | wainIntType}}</p>
  61. </template>
  62. </el-table-column>
  63. <el-table-column
  64. align="center"
  65. show-overflow-tooltip
  66. prop="wainType"
  67. label="取水口类型"
  68. min-width="100"
  69. >
  70. <template slot-scope="scope">
  71. <p>{{scope.row.wainType | wainType}}</p>
  72. </template>
  73. </el-table-column>
  74. <el-table-column
  75. align="center"
  76. show-overflow-tooltip
  77. prop="wintCode"
  78. label="取水口编码"
  79. min-width="100"
  80. ></el-table-column>
  81. </el-table>
  82. <div
  83. class="block"
  84. style="display:flex;flex-direction:row;justify-content:center;align-items:center;padding-top: 5px;background-color: #fff;"
  85. >
  86. <el-pagination
  87. small
  88. @current-change="handleCurrentChange"
  89. :pager-count="5"
  90. :current-page.sync="pageIndex"
  91. :page-size="pageSize"
  92. layout="total, prev, pager, next"
  93. :total="total"
  94. ></el-pagination>
  95. </div>
  96. </div>
  97. </el-form>
  98. </el-main>
  99. </el-container>
  100. <div slot="footer" class="dialog-footer">
  101. <el-button @click="closeDuChaDuiXiangDialog">取 消</el-button>
  102. <el-button type="primary" @click="saveChange">确 定</el-button>
  103. </div>
  104. <el-dialog title="添加新取水口" :visible.sync="addRsvrVisible" append-to-body width="40%">
  105. <el-form label-width="200px" :model="formObj" :rules="rules" ref="formObj">
  106. <!--<el-form-item label="行政区划" required>-->
  107. <!--<div>-->
  108. <!--<el-select v-model="provName" placeholder="选择省" @change="provChange" style="width:20%">-->
  109. <!--<el-option-->
  110. <!--v-for="item in provList"-->
  111. <!--:key="item.adCode"-->
  112. <!--:label="item.adName"-->
  113. <!--:value="item.adCode">-->
  114. <!--</el-option>-->
  115. <!--</el-select>-->
  116. <!--<el-select v-model="cityName" placeholder="选择市" @change="cityChange" style="width:20%">-->
  117. <!--<el-option-->
  118. <!--v-for="item in cityList"-->
  119. <!--:key="item.adCode"-->
  120. <!--:label="item.adName"-->
  121. <!--:value="item.adCode">-->
  122. <!--</el-option>-->
  123. <!--</el-select>-->
  124. <!--<el-select v-model="countryName" placeholder="选择县" @change="countryChange" style="width:20%">-->
  125. <!--<el-option-->
  126. <!--v-for="item in countryList"-->
  127. <!--:key="item.adCode"-->
  128. <!--:label="item.adName"-->
  129. <!--:value="item.adCode">-->
  130. <!--</el-option>-->
  131. <!--</el-select>-->
  132. <!--</div>-->
  133. <!--</el-form-item>-->
  134. <!--<el-form-item label="所在地点" prop="location">-->
  135. <!--<el-input v-model="formObj.location" clearable autocomplete="off" style="width:70%;"></el-input>-->
  136. <!--</el-form-item>-->
  137. <!--<el-form-item label="取水工程名称" prop="wainIntName">-->
  138. <!--<el-input v-model="formObj.wainIntName" clearable autocomplete="off" style="width:70%;"></el-input>-->
  139. <!--</el-form-item>-->
  140. <el-form-item label="取水口名称" prop="wintName">
  141. <el-input v-model="formObj.wintName" clearable autocomplete="off" style="width:70%;"></el-input>
  142. </el-form-item>
  143. <el-form-item label="取水口类型" prop="wainType">
  144. <el-select v-model="formObj.wainType" clearable placeholder="请选择" autocomplete="off"
  145. style="width:70%;">
  146. <el-option label="单一用户取水口" value="1"></el-option>
  147. <el-option label="多用户公用取水口" value="2"></el-option>
  148. </el-select>
  149. </el-form-item>
  150. <el-form-item label="取水工程类型" prop="wainIntType">
  151. <el-select v-model="formObj.wainIntType" clearable placeholder="请选择" autocomplete="off"
  152. style="width:70%;">
  153. <el-option label="渠道" value="1"></el-option>
  154. <el-option label="人工河道" value="2"></el-option>
  155. <el-option label="虹吸管" value="3"></el-option>
  156. <el-option label="泵站" value="4"></el-option>
  157. <el-option label="闸" value="5"></el-option>
  158. <el-option label="从江河湖泊饮水的水库" value="6"></el-option>
  159. <el-option label="其他" value="7"></el-option>
  160. </el-select>
  161. </el-form-item>
  162. <el-form-item label="取水水源名称" prop="wainWasoName">
  163. <el-input v-model="formObj.wainWasoName" clearable autocomplete="off" style="width:70%;"></el-input>
  164. </el-form-item>
  165. <el-form-item label=" 取水水源类型">
  166. <el-select v-model="formObj.wainWasoType" clearable placeholder="请选择" autocomplete="off"
  167. style="width:70%;">
  168. <el-option label="河道内的水库" value="1"></el-option>
  169. <el-option label="湖泊" value="2"></el-option>
  170. <el-option label="河流" value="3"></el-option>
  171. <el-option label="跨省引调水工程" value="4"></el-option>
  172. <el-option label="其他" value="9"></el-option>
  173. </el-select>
  174. </el-form-item>
  175. <el-form-item label=" 取水口编码" prop="wintCode">
  176. <el-input v-model="formObj.wintCode" clearable autocomplete="off" style="width:70%;"></el-input>
  177. </el-form-item>
  178. <el-form-item label="取水口位置">
  179. <el-input v-model="formObj.wintPos" clearable autocomplete="off" style="width:70%;"></el-input>
  180. </el-form-item>
  181. <el-form-item label="水行政主管部门名称">
  182. <el-input v-model="formObj.charDepNm" autocomplete="off" style="width:70%;"></el-input>
  183. </el-form-item>
  184. <el-form-item label="单位联系人名称">
  185. <el-input v-model="formObj.charDepPers" autocomplete="off" style="width:70%;"></el-input>
  186. </el-form-item>
  187. <el-form-item label="主管部门联系电话">
  188. <el-input v-model="formObj.charDepTel" autocomplete="off" style="width:70%;"></el-input>
  189. </el-form-item>
  190. <el-form-item label="设计日最大取水量(m³/s)">
  191. <el-input v-model="formObj.desDayQ" autocomplete="off" style="width:70%;"></el-input>
  192. </el-form-item>
  193. <el-form-item label="设计最大取水流量(m³/s)">
  194. <el-input v-model="formObj.desQ" autocomplete="off" style="width:70%;"></el-input>
  195. </el-form-item>
  196. <el-form-item label="设计最大取水流量(万m³/年)">
  197. <el-input v-model="formObj.desYearQ" autocomplete="off" style="width:70%;"></el-input>
  198. </el-form-item>
  199. <el-form-item label="所在水资源一级区名称">
  200. <el-input v-model="formObj.locWrz1rdName" autocomplete="off" style="width:70%;"></el-input>
  201. </el-form-item>
  202. <el-form-item label="所在水资源二级区名称">
  203. <el-input v-model="formObj.locWrz2rdName" autocomplete="off" style="width:70%;"></el-input>
  204. </el-form-item>
  205. <el-form-item label="所在水资源三级区名称">
  206. <el-input v-model="formObj.locWrz3rdName" autocomplete="off" style="width:70%;"></el-input>
  207. </el-form-item>
  208. <el-form-item label="经度">
  209. <el-input v-model="formObj.wainLong" autocomplete="off" style="width:70%;"></el-input>
  210. </el-form-item>
  211. <el-form-item label="纬度">
  212. <el-input v-model="formObj.wainLat" autocomplete="off" style="width:70%;"></el-input>
  213. </el-form-item>
  214. </el-form>
  215. <div slot="footer" class="dialog-footer">
  216. <el-button @click="addRsvrVisible = false">取 消</el-button>
  217. <el-button type="primary" @click="addNewRsvr('formObj')">确 定</el-button>
  218. </div>
  219. </el-dialog>
  220. </el-dialog>
  221. </template>
  222. <script>
  223. import request from '@util/gw_ajax_request'
  224. export default {
  225. components: {},
  226. props: ["dczId", "dczName", "plnaId", "objType", "rowData", "villageAdCode","currentObjectRgstrId"],
  227. data() {
  228. return {
  229. addOnce: false,
  230. objTypeName: '小水库',
  231. xsk: true,
  232. ncys: false,
  233. shgc: false,
  234. dxs: false,
  235. searchNameOfRsName: "",
  236. searchNameOfAdName: "",
  237. searchNameOfwtdstNm: "",
  238. addLevel: "",
  239. rsAdmDep: "",
  240. engScal: "",
  241. wtdstState: "",
  242. engLevel: "",
  243. wtdstType: "",
  244. stnm: '',
  245. pageIndex: 1,
  246. pageSize: 10,
  247. total: 0,
  248. currentShowList: [],
  249. dialogFormVisible: true,
  250. formLabelWidth: "120",
  251. addArr: "",
  252. addName: "",
  253. addLttd: "",
  254. addLgtd: "",
  255. multipleSelection: [],
  256. searchProvTreeListCode: "",
  257. loading: false,
  258. showLeftTree: true,
  259. addRsvrVisible: false,
  260. formObj: {
  261. adCode: "",//行政区划 ,
  262. adName: "",//行政区划全称 ,
  263. charDepNm: "",//水行政主管部门名称 ,
  264. charDepPers: "",//单位联系人名称 ,
  265. charDepTel: "",//主管部门联系电话 ,
  266. desDayQ: "",//设计日最大取水量(m3/s) ,
  267. desQ: "",//设计最大取水流量(m3/s) ,
  268. desYearQ: "",//设计年取水量(万m3/年) ,
  269. gdX: "",//高德经度 ,
  270. gdY: "",//高德纬度 ,
  271. id: "",//主键ID ,
  272. locWrz1rdName: "",//所在水资源一级区名称 ,
  273. locWrz2rdName: "",//所在水资源二级区名称 ,
  274. locWrz3rdName: "",//所在水资源三级区名称 ,
  275. wainIntName: "",//取水工程名称 ,
  276. wainIntType: "",//取水工程类型(1:渠道;2:人工河道;3虹吸管;4:泵站;5:闸;6:从江河湖泊饮水的水库;7:其他;) ,
  277. wainLat: "",//纬度 ,
  278. wainLong: "",//经度 ,
  279. wainType: "",//取水口类型(1:单一用户取水口;2:多用户公用取水口) ,
  280. wainWasoName: "",//取水水源名称 ,
  281. wainWasoType: "",//取水水源类型(1:河道内的水库;2:湖泊;3:河流;4:跨省引调水工程;9:其他) ,
  282. wintCode: "",//取水口编码 ,
  283. wintName: "",//取水口名称 ,
  284. wintPos: "",//取水口位置
  285. },
  286. areasList: [],
  287. props: {
  288. value: 'id',
  289. label: 'label',
  290. children: 'cities'
  291. },
  292. rules: {
  293. wainIntName: [
  294. {required: true, message: '请输入取水工程名称', trigger: 'blur'},
  295. ],
  296. wainWasoName: [
  297. {required: true, message: '请输入取水水源名称', trigger: 'blur'},
  298. ],
  299. wintName: [
  300. {required: true, message: '请输入取水口名称', trigger: 'blur'},
  301. ],
  302. wintPos: [
  303. {required: true, message: '请输入取水口位置', trigger: 'blur'}
  304. ],
  305. wainIntType: [
  306. {required: true, message: '请选择取水工程类型', trigger: 'blur'}
  307. ],
  308. wainType: [
  309. {required: true, message: '请选择取水口类型', trigger: 'blur'}
  310. ],
  311. wintCode: [
  312. {required: true, message: '请输入取水口编码', trigger: 'blur'}
  313. ]
  314. },
  315. provList: [],
  316. cityList: [],
  317. countryList: [],
  318. provName: '',
  319. cityName: '',
  320. countryName: '',
  321. provNames: '',
  322. cityNames: '',
  323. countryNames: '',
  324. curSelectItem: 0
  325. }
  326. },
  327. watch: {},
  328. mounted() {
  329. this.getTableData_qsk();
  330. // this.getAreaList();
  331. },
  332. computed: {
  333. userId: function () {
  334. return localStorage.getItem("userid") ? localStorage.getItem("userid") : '1098101939614724096'
  335. },
  336. },
  337. methods: {
  338. changeCurrentObjSelectName(item) {
  339. this.objType = item;
  340. },
  341. selectChange(val) {
  342. console.log(val);
  343. this.objType = val;
  344. },
  345. engScalFormatter: function (row, column) {
  346. return row.engType == 1 ? "万人工程" :
  347. row.engType == 2 ? "千人工程" :
  348. row.engType == 3 ? "千人以下集中取水口" : ""
  349. },
  350. saveChange() {
  351. this.addObjectChange();
  352. },
  353. getTableData_qsk() {
  354. var _self = this;
  355. _self.loading = true;
  356. let obj = {
  357. // "adCode": _self.villageAdCode.substr(0,6),
  358. // "engType": _self.engScal,
  359. "name": _self.searchNameOfRsName,
  360. "pageNum": _self.pageIndex,
  361. "pageSize": _self.pageSize,
  362. // "regstrId": _self.rowData.regstrId
  363. }
  364. request.post('/bis/insp/wrm/rgstr/wint/findBaseInfo', obj).then((res) => {
  365. _self.loading = false;
  366. _self.currentShowList = res.data.list;
  367. _self.currentShowList.forEach((element, index) => {
  368. element["index"] = _self.pageSize * (_self.pageIndex - 1) + index + 1;
  369. element["wintId"] = element.id;
  370. });
  371. _self.total = res.data.total;
  372. })
  373. },
  374. handleSelectionChange(val) {
  375. this.multipleSelection = val;
  376. this.multipleSelection.forEach(item =>{
  377. item["rgstrId"] = this.currentObjectRgstrId;
  378. })
  379. },
  380. handleCurrentChange(val) {
  381. console.log(`当前页: ${val}`);
  382. this.refreshCurrentShow();
  383. },
  384. refreshCurrentShow: function () {
  385. this.getTableData_qsk();
  386. },
  387. addObjectChange: function () {
  388. // const length = this.multipleSelection.length;
  389. // for (let i = 0; i < length; i++) {
  390. // this.addArr += this.multipleSelection[i].cwsCode + ";";
  391. // }
  392. // this.addArr = this.addArr.substr(0, this.addArr.length - 1);
  393. if(!this.multipleSelection.length) {
  394. this.$message.warning("请选择要添加的对象");
  395. return;
  396. }
  397. try {
  398. let array = this.multipleSelection;
  399. request.post(`/bis/insp/wrm/rgstr/wint/insert`, array)
  400. .then(res => {
  401. if (res.success) {
  402. this.dialogFormVisible = false;
  403. this.$message.success("添加成功");
  404. this.$emit("addSuccess");
  405. } else {
  406. this.$message.warning(res.message);
  407. }
  408. })
  409. } catch (e) {
  410. alert("暂无数据");
  411. }
  412. },
  413. toAddNewRsvr() {
  414. this.cityList = [];
  415. this.countryList = [];
  416. this.provList = [];
  417. this.provName = "";
  418. this.cityName = "";
  419. this.countryName = "";
  420. for (var obj in this.formObj) {
  421. this.formObj[obj] = '';
  422. }
  423. this.addRsvrVisible = true;
  424. this.curSelectItem = null;
  425. this.getAreaList();
  426. },
  427. addNewRsvr(formName) {
  428. // let obj = {
  429. // "addvcd": this.villageAdCode,
  430. // "cwsName": this.formObj.rsName,
  431. // "cwsLoc": this.formObj.location,
  432. // "engType": this.formObj.engType,
  433. // }
  434. let obj = Object.assign({}, this.formObj);
  435. this.$refs[formName].validate((valid) => {
  436. if (valid) {
  437. request.post('/att/wint/base/b', obj).then(res => {
  438. if (res.success) {
  439. this.$message.success('添加成功')
  440. this.getTableData_qsk();
  441. this.addRsvrVisible = false
  442. } else {
  443. _this.$message.error(res.message)
  444. }
  445. }).catch(res => {
  446. this.$message.error(res.message)
  447. })
  448. } else {
  449. console.log('error submit!!');
  450. return false;
  451. }
  452. });
  453. },
  454. getAreaList(val) {
  455. let adCode = ''
  456. if (!val) {
  457. adCode = '000000000000'
  458. } else {
  459. adCode = val
  460. }
  461. request.get('/dc/ad/base/getAdData', {params: {'adCode': adCode}}).then(res => {
  462. if (res.success) {
  463. if (this.curSelectItem == 1) {
  464. this.cityList = res.data
  465. } else if (this.curSelectItem == 2) {
  466. this.countryList = res.data
  467. } else {
  468. this.provList = res.data
  469. }
  470. }
  471. })
  472. },
  473. handleItemChange(val) {
  474. this.getAreaList(val)
  475. },
  476. provChange(val) {
  477. this.curSelectItem = 1
  478. this.cityName = ''
  479. this.countryName = ''
  480. this.formObj.admDiv = val
  481. this.provList.forEach(ele => {
  482. if (ele.adCode == this.provName) {
  483. this.provNames = ele.adName
  484. }
  485. })
  486. this.formObj.adName = this.provNames
  487. this.getAreaList(val)
  488. },
  489. cityChange(val) {
  490. this.curSelectItem = 2
  491. if (val && val != '') {
  492. this.formObj.admDiv = val
  493. this.countryName = ''
  494. this.cityList.forEach(ele => {
  495. if (ele.adCode == this.cityName) {
  496. this.cityNames = ele.adName
  497. }
  498. })
  499. this.formObj.adName = this.provNames + this.cityNames
  500. this.getAreaList(val)
  501. }
  502. },
  503. countryChange(val) {
  504. if (val && val != '') {
  505. this.formObj.admDiv = val
  506. this.countryList.forEach(ele => {
  507. if (ele.adCode == this.countryName) {
  508. this.countryNames = ele.adName
  509. }
  510. })
  511. this.formObj.adName = this.provNames + this.cityNames + this.countryNames
  512. }
  513. },
  514. closeDuChaDuiXiangDialog() {
  515. this.dialogFormVisible = false;
  516. this.$emit("closeDuChaDuiXiangDialog");
  517. }
  518. },
  519. filters: {
  520. wainType(val) {
  521. if (val == '1') {
  522. return '单一用户取水口'
  523. } else if (val == '2') {
  524. return '多用户公用取水口'
  525. } else {
  526. return ''
  527. }
  528. },
  529. wainIntType(val) {
  530. if (val == '1') {
  531. return '渠道'
  532. } else if (val == '2') {
  533. return '人工河道'
  534. } else if (val == '3') {
  535. return '虹吸管'
  536. } else if (val == '4') {
  537. return '泵站'
  538. } else if (val == '5') {
  539. return '闸'
  540. } else if (val == '6') {
  541. return '从江河湖泊饮水的水库'
  542. } else if (val == '7') {
  543. return '其他'
  544. } else {
  545. return ''
  546. }
  547. },
  548. wainWasoType(val) {
  549. if (val == '1') {
  550. return '河道内的水库'
  551. } else if (val == '2') {
  552. return '湖泊'
  553. } else if (val == '3') {
  554. return '河流'
  555. } else if (val == '4') {
  556. return '跨省引调水工程'
  557. } else if (val == '9') {
  558. return '其他'
  559. } else {
  560. return ''
  561. }
  562. }
  563. }
  564. }
  565. </script>
  566. <style>
  567. </style>