e8ad87e041fae4473ecc19ba8c27a1846353489f.svn-base 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345
  1. <template>
  2. <div class="sydInfo">
  3. <el-row>
  4. <el-col :span="3">
  5. <div>
  6. <provTreeList :rootCode="rootCode" :rootType="rootType" @provTreeSelectChange="provTreeSelectChangeHandler"
  7. :style="{'max-height':dxdcAsideHeight+'px'}"
  8. >
  9. </provTreeList>
  10. </div>
  11. </el-col>
  12. <el-col :span="21">
  13. <el-card class="ducha_form" :body-style="{'padding':'20px 5px'}">
  14. <el-form :inline="true" :model="formInline" class="sh-form-inline">
  15. <el-form-item label="地下水水源地代码" style="margin-left: 5px">
  16. <el-input v-model="formInline.gwsCd" :placeholder="autoInput" clearable @keyup.enter.native="onSearch"></el-input>
  17. </el-form-item>
  18. <el-form-item label="地下水水源地名称">
  19. <el-input v-model="formInline.gwsNm" :placeholder="autoInput" clearable @keyup.enter.native="onSearch"></el-input>
  20. </el-form-item>
  21. <!--<el-form-item label="监控级别">-->
  22. <!--<el-input v-model="formInline.cwsLoc" :placeholder="autoInput" clearable></el-input>-->
  23. <!--</el-form-item>-->
  24. <el-form-item label="监控级别">
  25. <el-select v-model="formInline.monG" :placeholder="autoSort" clearable>
  26. <el-option v-for="item in monGTypeOptions"
  27. :key="item.value"
  28. :label="item.label"
  29. :value="item.value"
  30. >
  31. </el-option>
  32. </el-select>
  33. </el-form-item>
  34. <!--<el-form-item label="行政区划">-->
  35. <!--<el-input v-model="formInline.addvcd" :placeholder="autoInput" clearable ></el-input>-->
  36. <!--</el-form-item>-->
  37. <el-form-item style="margin: 0 ">
  38. <el-button type="primary" @click="onSearch" icon="el-icon-search">查询</el-button>
  39. </el-form-item>
  40. <el-form-item style="margin: 0 5px">
  41. <el-button type="info" plain @click="empty" icon="el-icon-refresh">重置</el-button>
  42. </el-form-item>
  43. <el-form-item style="margin: 0">
  44. <el-button type="success" @click="exportExcel" icon="el-icon-sort-up">导出Excel</el-button>
  45. </el-form-item>
  46. </el-form>
  47. </el-card>
  48. <el-card class="ducha_table" :body-style="{ 'padding': '0 5px' }">
  49. <el-main style="margin: 0 -5px;padding: 0">
  50. <el-table :data="tableList" style="width: 100%;" :row-class-name="tableRowClassName"
  51. ref="singleTable"
  52. v-loading="tableLoading"
  53. border
  54. :height="dxdcMainHeight+'px'"
  55. :render-header="renderHeader"
  56. tooltip-effect="dark"
  57. >
  58. <!--<el-table-column prop="lgtd" label="经度" min-width="180" show-overflow-tooltip></el-table-column>-->
  59. <!--<el-table-column prop="lttd" label="纬度" min-width="110" show-overflow-tooltip></el-table-column>-->
  60. <!--<el-table-column prop="lgtdpc" label="纬度" min-width="110" show-overflow-tooltip></el-table-column>-->
  61. <!--<el-table-column prop="lttdpc" label="纬度" min-width="110" show-overflow-tooltip></el-table-column>-->
  62. <el-table-column prop="gwsCd" label="地下水水源地代码" min-width="120" align="center" show-overflow-tooltip></el-table-column>
  63. <el-table-column prop="gwsNm" label="地下水水源地名称" min-width="120" align="center" show-overflow-tooltip></el-table-column>
  64. <el-table-column prop="gwsA" label="地下水水源地面积(平方公里)" min-width="120" align="center" show-overflow-tooltip></el-table-column>
  65. <el-table-column prop="rangDesc" label="范围描述" min-width="100" align="center" show-overflow-tooltip></el-table-column>
  66. <el-table-column prop="wqGoal" label="水质目标" min-width="80" align="center" show-overflow-tooltip :formatter="formatWqGoal"></el-table-column>
  67. <el-table-column prop="consCond" label="建设状况" min-width="80" align="center" show-overflow-tooltip :formatter="formatConsCond"></el-table-column>
  68. <el-table-column prop="putProdTm" label="投产时间" min-width="100" align="center" show-overflow-tooltip></el-table-column>
  69. <!--<el-table-column prop="runCond" label="运行状况" min-width="80" align="center" show-overflow-tooltip></el-table-column>-->
  70. <el-table-column prop="avgExpYd" label="多年平均年可开采量" min-width="130" align="center" show-overflow-tooltip></el-table-column>
  71. <el-table-column prop="wsObj" label="供水对象" min-width="80" align="center" show-overflow-tooltip></el-table-column>
  72. <el-table-column prop="monG" label="监控级别" min-width="80" align="center" show-overflow-tooltip :formatter="formatMonG"></el-table-column>
  73. <el-table-column prop="desInt" label="设计年取水量(万立方米)" min-width="110" align="center" show-overflow-tooltip></el-table-column>
  74. <el-table-column prop="permInt" label="年许可取水量(万立方米)" min-width="110" align="center" show-overflow-tooltip></el-table-column>
  75. <el-table-column prop="whsManCd" label="水源地管理单位代码" min-width="130" align="center" show-overflow-tooltip></el-table-column>
  76. <el-table-column prop="whsApprCd" label="水源地审批单位代码" min-width="130" align="center" show-overflow-tooltip></el-table-column>
  77. <el-table-column prop="ts" label="时间戳" min-width="140" align="center" show-overflow-tooltip></el-table-column>
  78. <el-table-column prop="nt" label="备注" min-width="110" align="center" show-overflow-tooltip></el-table-column>
  79. <!--<el-table-column prop="reportFrquency" label="未知字段" min-width="110" show-overflow-tooltip></el-table-column>-->
  80. <!--<el-table-column prop="isuse" label="未知字段" min-width="110" show-overflow-tooltip></el-table-column>-->
  81. <!--<el-table-column prop="isEmg" label="纬度" min-width="110" show-overflow-tooltip></el-table-column>-->
  82. </el-table>
  83. </el-main>
  84. <el-footer class="el-footer-style">
  85. <el-pagination
  86. style="text-align:center;"
  87. small
  88. background
  89. :current-page.sync="page.pageNum"
  90. :page-size="page.pageSize"
  91. :page-sizes="[10, 20, 30, 40, 50, 100]"
  92. layout="sizes, total,prev, pager, next,jumper"
  93. :total="showResultCount"
  94. @current-change="pageIndexChange"
  95. @size-change="handleSizeChange"
  96. ></el-pagination>
  97. </el-footer>
  98. </el-card>
  99. </el-col>
  100. </el-row>
  101. </div>
  102. </template>
  103. <style>
  104. .sydInfo .el-table .warning-row {
  105. background: oldlace;
  106. }
  107. .sydInfo .el-table .success-row {
  108. background: #f0f9eb;
  109. }
  110. .sydInfo .ducha_form {
  111. width: 100%;
  112. height: 70px;
  113. overflow-y: scroll;
  114. }
  115. .sydInfo .ducha_form .el-input {
  116. width: 150px !important;
  117. }
  118. .sydInfo .ducha_table{
  119. /*border: 1px solid #ebeef5;*/
  120. /*transition: .3s;*/
  121. }
  122. .sydInfo .el-footer-style {
  123. text-align: center;
  124. width:100%;
  125. }
  126. .sydInfo .sh-form-inline {
  127. }
  128. </style>
  129. <script>
  130. // 造数据
  131. const monGTypeOptions = [{
  132. value:'1',
  133. label:'国控级',
  134. },{
  135. value:'2',
  136. label:'省控级',
  137. },{
  138. value:'3',
  139. label:'地市级',
  140. },{
  141. value:'4',
  142. label:'区县级',
  143. },{
  144. value:'9',
  145. label:'其他',
  146. }];
  147. import provTreeList from '../../../widgets/provTreeList'
  148. import request from '../../../utils/gw_ajax_request.js';
  149. import { exportModel } from "@util/gw_exportModel";
  150. // 地下水水源地查询
  151. export default {
  152. name: "shuiYuanDiChaXun_gws",
  153. components:{
  154. provTreeList:provTreeList
  155. },
  156. data() {
  157. return {
  158. monGTypeOptions:monGTypeOptions,
  159. tableLoading: true,
  160. tableList: [],
  161. input: "",
  162. page:{
  163. pageNum: 1,
  164. pageSize: 20,
  165. },
  166. showResultCount: 0,
  167. showEdit: true,
  168. tableData: [],
  169. currentShowList: [],
  170. autoSort: '请选择',
  171. autoInput: '请输入',
  172. value: '',
  173. duChaType: '1',
  174. formInline: {
  175. gwsCd: '',
  176. gwsNm: '',
  177. monG: '',
  178. addvcd: '',
  179. },
  180. defaultProps: {
  181. children: 'children',
  182. label: 'label'
  183. },
  184. rootCode:'000000',
  185. // rootType:'1',
  186. rootType:'2',
  187. dxdcMainHeight: window.innerHeight - 197,
  188. dxdcAsideHeight: window.innerHeight - 90,
  189. }
  190. },
  191. mounted() {
  192. this.getShuiHuiList()
  193. },
  194. activated(){
  195. this.getShuiHuiList()
  196. },
  197. methods: {
  198. empty(){
  199. this.formInline = {};
  200. },
  201. provTreeSelectChangeHandler: function(params) {
  202. // this.formInline.addvcd = params.code;
  203. this.formInline.addvcd = params.likeCode;
  204. this.getShuiHuiList();
  205. },
  206. formatWqGoal(row,column){
  207. let wqGoal = row.wqGoal;
  208. switch (wqGoal) {
  209. case '1' : wqGoal = 'Ⅰ类';break;
  210. case '2' : wqGoal = 'Ⅱ类';break;
  211. case '3' : wqGoal = 'Ⅲ类';break;
  212. case '4' : wqGoal = 'Ⅳ类';break;
  213. case '5' : wqGoal = '劣Ⅴ类';break;
  214. }
  215. return wqGoal;
  216. },
  217. formatConsCond(row,column){
  218. let consCond = row.consCond;
  219. switch (consCond) {
  220. case '1' : consCond = '已建';break;
  221. case '2' : consCond = '在建';break;
  222. case '3' : consCond = '待建';break;
  223. }
  224. return consCond;
  225. },
  226. formatWsCond(row,column){
  227. let wsCond = row.wsCond;
  228. return wsCond == '1' ? '常年' : wsCond=='2' ? '汛期' : wsCond=='3' ? '非汛期' : wsCond ;
  229. },
  230. formatMonG(row,column){
  231. let monG = row.monG;
  232. switch (monG) {
  233. case '1' : monG = '国控级';break;
  234. case '2' : monG = '省控级';break;
  235. case '3' : monG = '地市级';break;
  236. case '4' : monG = '区县级';break;
  237. case '9' : monG = '其他';break;
  238. }
  239. return monG;
  240. },
  241. getIndex(index){
  242. return (index + this.page.pageSize * (this.page.pageNum - 1)) + 1
  243. },
  244. onSearch(){
  245. this.getShuiHuiList();
  246. },
  247. pageIndexChange(val){
  248. this.page.pageNum = val;
  249. this.getShuiHuiList();
  250. },
  251. handleSizeChange(val){
  252. this.page.pageSize = val;
  253. this.getShuiHuiList();
  254. },
  255. renderHeader(){
  256. },
  257. tableRowClassName({row, rowIndex}) {
  258. // if (rowIndex === 1) {
  259. // return 'warning-row';
  260. // } else if (rowIndex === 3) {
  261. // return 'success-row';
  262. // }
  263. return '';
  264. },
  265. getShuiHuiList(){
  266. let params = {
  267. 'pageSize': this.page.pageSize,
  268. 'pageNum': this.page.pageNum,
  269. 'gwsCd': this.formInline.gwsCd,
  270. 'gwsNm': this.formInline.gwsNm,
  271. 'monG': this.formInline.monG,
  272. 'adCode': this.formInline.addvcd,
  273. }
  274. request.post('/dc/insp/wrGwsB/queryListByPage',params).then((res)=>{
  275. if(res.success){
  276. let data = res.data
  277. this.tableList = data.list
  278. this.showResultCount = data.total
  279. this.tableLoading = false
  280. }else{
  281. this.$message.error(res.message);
  282. }
  283. })
  284. },
  285. getStrParams(obj) {
  286. let str = '?';
  287. for(let key of Object.keys(obj)) {
  288. str += `${key}=${obj[key]}&`;
  289. }
  290. str = str.slice(0, str.length - 1);
  291. return str;
  292. },
  293. // 导出Excel
  294. async exportExcel(){
  295. this.tableLoading = true;
  296. let type = "get";
  297. let url = `/pdcApi/dc/export/wrGwsB${this.getStrParams(Object.assign(this.formInline, this.page))}`;
  298. let downloadName = "Excel.xls";
  299. await exportModel(type,url,downloadName).catch((err) => {
  300. this.$message.error("导出失败");
  301. this.tableLoading = false;
  302. })
  303. this.$message.success("导出成功");
  304. this.tableLoading = false;
  305. },
  306. },
  307. computed: {
  308. },
  309. watch: {
  310. },
  311. }
  312. </script>