fd20cb67436497f1ea9da3d12e523cabae0c3110.svn-base 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. <template>
  2. <div id="skMain" v-loading='exportLoading'>
  3. <el-row style="margin-bottom:5px;">
  4. <el-col :span="24">
  5. <div class="grid-content bg-purple-light">
  6. <div style="padding:15px 5px 5px 5px;">
  7. <span style="font-size: 12px;margin-left: 10px;">名称:</span>
  8. <el-input style="width:150px;" class="kjr-input" size="mini" v-model="model_szy_jsgl_name"
  9. placeholder="请输入名称查询" @keydown.enter.native="searchByName" clearable>
  10. </el-input>
  11. <span>
  12. <span style="font-size: 12px;margin-left: 10px;">督查状态:</span>
  13. <el-select v-model="dcztSelect" clearable>
  14. <el-option label="未督查" value="0"></el-option>
  15. <el-option label="督查中" value="1"></el-option>
  16. <el-option label="已督查" value="2"></el-option>
  17. </el-select>
  18. </span>
  19. &nbsp;&nbsp;&nbsp;
  20. <el-button @click="searchByName" size="mini" type="primary">查询</el-button>
  21. <el-button @click="exPort" size="mini" type="success">导出</el-button>
  22. </div>
  23. <div style="padding:5px;">
  24. <el-col :span="5">
  25. <div style="height: 500px;overflow: auto">
  26. <provTreeList :rootCode="rootCode" :rootType="rootType"
  27. @provTreeSelectChange="provTreeSelectChangeHandler"
  28. >
  29. </provTreeList>
  30. </div>
  31. </el-col>
  32. <el-col :span="19">
  33. <el-table :data="tableData_szy_jsglList" v-loading="loading" height="500" border stripe style="width: 100%">
  34. <el-table-column type="index" width="50" label="序号" align="center" :index="indexMethod_country">
  35. </el-table-column>
  36. <el-table-column prop="nm" label="名称" min-width="130" align="center" show-overflow-tooltip></el-table-column>
  37. <el-table-column prop="code" label="编码" min-width="100" align="center" show-overflow-tooltip></el-table-column>
  38. <el-table-column prop="state" label="督查状态" min-width="120" align="center" sortable>
  39. <template slot-scope="scope">
  40. <span style="color: #ff4235;">{{scope.row.state=='0'?'未督查':
  41. scope.row.state=='1'?'督查中':
  42. scope.row.state=='2'?'已督查':'未督查'}}</span>
  43. </template>
  44. </el-table-column>
  45. <el-table-column prop="location" label="全名" min-width="150" align="center" show-overflow-tooltip>
  46. </el-table-column>
  47. <!-- <el-table-column prop="groupName" label="所在分组" min-width="120" align="center" show-overflow-tooltip>
  48. </el-table-column> -->
  49. <el-table-column fixed="right" label="操作" min-width="200" align="center">
  50. <template slot-scope="scope">
  51. <el-button type="text" size="small" @click="szy_jsglInfo(scope.row,'location')">定位</el-button>
  52. <el-button type="text" size="small" @click="szy_jsglInfo(scope.row,'baseInfo')">基础信息</el-button>
  53. <el-button type="text" size="small" @click="szy_jsglInfo(scope.row,'dcInfo')">督查信息</el-button>
  54. </template>
  55. </el-table-column>
  56. </el-table>
  57. <div class="block">
  58. <el-pagination background @size-change="handleSizeChange_szy_jsgl"
  59. @current-change="handleCurrentChange_szy_jsgl" :page-sizes="[10,50, 100, 200]"
  60. :page-size="15" layout="total,sizes, prev, pager, next" :pager-count="5"
  61. :total="recordTotal_szy_jsgl">
  62. </el-pagination>
  63. </div>
  64. </el-col>
  65. </div>
  66. </div>
  67. </el-col>
  68. </el-row>
  69. </div>
  70. </template>
  71. <script>
  72. import provTreeList from '../../../../widgets/provTreeListAndChina'
  73. import request from '@util/gw_ajax_request.js';
  74. import {exportModel} from "@util/gw_exportModel";
  75. export default {
  76. name: "resevoirList",
  77. components:{
  78. provTreeList
  79. },
  80. props:["dcztStatus","dcztDisabled","currentAdCode"],
  81. data() {
  82. return {
  83. rootCode:'000000',
  84. rootType:'2',
  85. model_szy_jsgl_name:'',
  86. model_shuiku_dwName:'',
  87. dczt:'',
  88. tableData_szy_jsglList:[],
  89. recordTotal_szy_jsgl:0,
  90. pageSize_szy_jsgl: 10,
  91. pageIndex_szy_jsgl: 1,
  92. loading: false,
  93. dcztSelect:'',
  94. isDczt:false,
  95. adCode:'',
  96. model_shuiku_statistic:false,
  97. // isFc: true,
  98. exportLoading:false,
  99. }
  100. },
  101. computed: {
  102. recPersId() {
  103. return localStorage.getItem("userid") ? localStorage.getItem("userid") : ''
  104. }
  105. },
  106. mounted(){
  107. let _this = this;
  108. _this.dczt = _this.dcztStatus;
  109. _this.loadTableszy_jsgl();
  110. },
  111. methods:{
  112. indexMethod_country(index) {
  113. return (index + 1) + this.pageSize_szy_jsgl * (this.pageIndex_szy_jsgl - 1)
  114. },
  115. provTreeSelectChangeHandler(params) {
  116. this.adCode = params.code;
  117. if(this.adCode == "000000000000"){
  118. this.adCode = '';
  119. }
  120. this.$nextTick(()=>{
  121. this.pageSize_szy_jsgl = 10;
  122. this.pageIndex_szy_jsgl = 1;
  123. this.loadTableszy_jsgl();
  124. })
  125. },
  126. searchByName() {
  127. this.loadTableszy_jsgl();
  128. },
  129. async exPort(){
  130. let _self = this;
  131. this.exportLoading = true;
  132. let url = `/pdcApi/dc/insp/obj/getObjByPersId?persGuid=${localStorage.getItem("userid")}&objType=31&adCode=${this.adCode}&rsName=${this.model_szy_jsgl_name}&state=${this.dcztSelect}&isExport=1`;
  133. let downloadName = "水资源节水管理.xls";
  134. let type = "get";
  135. let result = await exportModel(type,url,downloadName);
  136. this.exportLoading = result;
  137. },
  138. loadTableszy_jsgl() {
  139. let _this = this;
  140. _this.loading = true;
  141. request.get(`/dc/insp/obj/getPageByPersId`, {
  142. params: {
  143. persGuid: localStorage.getItem("userid"),
  144. objType: 31,
  145. pageNum: _this.pageIndex_szy_jsgl,
  146. pageSize: _this.pageSize_szy_jsgl,
  147. rsName: _this.model_szy_jsgl_name,
  148. adCode: _this.adCode,
  149. state: _this.dcztSelect
  150. }
  151. }).then((res) => {
  152. console.log(res)
  153. if (res.success) {
  154. var obj = res.data;
  155. _this.tableData_szy_jsglList = obj.list;
  156. _this.recordTotal_szy_jsgl = obj.total;
  157. _this.loading = false;
  158. }
  159. })
  160. },
  161. handleSizeChange_szy_jsgl (pageSize) {
  162. this.pageSize_szy_jsgl = pageSize;
  163. this.loadTableszy_jsgl();
  164. },
  165. handleCurrentChange_szy_jsgl (pageNum) {
  166. this.pageIndex_szy_jsgl = pageNum;
  167. this.loadTableszy_jsgl();
  168. },
  169. bShuikuStatistic(){
  170. },
  171. szy_jsglInfo(row,info){
  172. this.$emit('szyJsglInfo',row,info);
  173. },
  174. },
  175. watch:{
  176. dczt(n,o){
  177. if(n == '2' || n == '3'){
  178. this.isDczt = true;
  179. }else {
  180. this.isDczt = false;
  181. this.dcztradio = '';
  182. }
  183. },
  184. model_shuiku_statistic(n,o){
  185. if(n){
  186. this.dczt = '3';
  187. this.loadTableszy_jsgl();
  188. }else {
  189. this.dczt = '';
  190. this.loadTableszy_jsgl();
  191. }
  192. },
  193. dcztStatus(n,o){
  194. this.dczt = n;
  195. this.loadTableszy_jsgl();
  196. },
  197. currentAdCode(n,o){
  198. this.adCode = n;
  199. this.loadTableszy_jsgl();
  200. }
  201. }
  202. }
  203. </script>
  204. <style>
  205. #skMain .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
  206. background-color: #558ed0;
  207. }
  208. </style>