3c124b30e8bbb635f9c31e8b8760e178ef692fb5.svn-base 16 KB

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