ad23f8dd8fff9012fe644705c4cd494109b6baa8.svn-base 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310
  1. <template>
  2. <el-dialog width="70%"
  3. :visible.sync="dialogVisible"
  4. title="督查情况统计表"
  5. @close="dialogClose">
  6. <div class="messageBox">
  7. <el-button
  8. style="color:rgba(255,255,255,1);float:right;"
  9. type="primary"
  10. icon="el-icon-search"
  11. @click="exportExcel"
  12. >导 出
  13. </el-button>
  14. <!-- <el-form :inline="true" size="mini" class="demo-form-inline" style="padding-left: 10px;">-->
  15. <!-- <el-form-item label="地区:">-->
  16. <!-- <el-input-->
  17. <!-- resize="none"-->
  18. <!-- type="input"-->
  19. <!-- :rows="3"-->
  20. <!-- placeholder="行政区划名称"-->
  21. <!-- v-model.trim="params.adFullName"-->
  22. <!-- clearable-->
  23. <!-- ></el-input>-->
  24. <!-- </el-form-item>-->
  25. <!-- <el-form-item label="督查类别:">-->
  26. <!-- <el-input-->
  27. <!-- :disabled="isObjType"-->
  28. <!-- resize="none"-->
  29. <!-- type="input"-->
  30. <!-- :rows="3"-->
  31. <!-- placeholder="请输入督查类别"-->
  32. <!-- v-model.trim="params.objTypeName"-->
  33. <!-- clearable-->
  34. <!-- ></el-input>-->
  35. <!-- </el-form-item>-->
  36. <!-- <el-form-item label="督查时间">-->
  37. <!-- <div style="display: flex;">-->
  38. <!-- <el-date-picker-->
  39. <!-- v-model="dateRange"-->
  40. <!-- type="daterange"-->
  41. <!-- style="width:280px"-->
  42. <!-- format="yyyy-MM-dd"-->
  43. <!-- value-format="yyyy-MM-dd"-->
  44. <!-- range-separator="至"-->
  45. <!-- start-placeholder="开始日期"-->
  46. <!-- end-placeholder="结束日期"-->
  47. <!-- ></el-date-picker>-->
  48. <!-- </div>-->
  49. <!-- </el-form-item>-->
  50. <!-- <el-form-item label="">-->
  51. <!-- <el-button-->
  52. <!-- style="color:rgba(255,255,255,1);"-->
  53. <!-- type="primary"-->
  54. <!-- icon="el-icon-search"-->
  55. <!-- @click="search"-->
  56. <!-- >&nbsp;查&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;询&nbsp;-->
  57. <!-- </el-button>-->
  58. <!-- </el-form-item>-->
  59. <!-- </el-form>-->
  60. <el-table
  61. v-loading="loading"
  62. border
  63. ref="table"
  64. :height="tableHeight"
  65. :data="tableData"
  66. tooltip-effect="dark"
  67. style="width: 100%">
  68. <el-table-column
  69. header-align="center"
  70. align="center"
  71. min-width="60"
  72. prop="adName"
  73. label="地区"
  74. show-overflow-tooltip
  75. ></el-table-column>
  76. <el-table-column
  77. header-align="center"
  78. align="center"
  79. min-width="110"
  80. prop="objSize"
  81. label="督查对象数"
  82. show-overflow-tooltip
  83. ></el-table-column>
  84. <el-table-column
  85. header-align="center"
  86. align="center"
  87. min-width="70"
  88. prop="pblmSize"
  89. label="问题数"
  90. ></el-table-column>
  91. <el-table-column
  92. header-align="center"
  93. align="center"
  94. min-width="80"
  95. show-overflow-tooltip
  96. prop=""
  97. label="问题分类"
  98. >
  99. <el-table-column
  100. header-align="center"
  101. align="center"
  102. min-width="80"
  103. show-overflow-tooltip
  104. prop="errorsPlbm"
  105. label="特别严重">
  106. </el-table-column>
  107. <el-table-column
  108. header-align="center"
  109. align="center"
  110. min-width="80"
  111. show-overflow-tooltip
  112. prop="errorPlbm"
  113. label="严重">
  114. </el-table-column>
  115. <el-table-column
  116. header-align="center"
  117. align="center"
  118. min-width="80"
  119. show-overflow-tooltip
  120. prop="warmPlbm"
  121. label="较重">
  122. </el-table-column>
  123. <el-table-column
  124. header-align="center"
  125. align="center"
  126. min-width="80"
  127. show-overflow-tooltip
  128. prop="infoPlbm"
  129. label="一般">
  130. </el-table-column>
  131. </el-table-column>
  132. <el-table-column
  133. header-align="center"
  134. align="center"
  135. min-width="80"
  136. show-overflow-tooltip
  137. prop="pblmLogSize"
  138. label="销号数">
  139. </el-table-column>
  140. <el-table-column
  141. header-align="center"
  142. align="center"
  143. min-width="80"
  144. show-overflow-tooltip
  145. prop="mendAccomplishRant"
  146. label="整改完成率(%)">
  147. </el-table-column>
  148. </el-table>
  149. <!-- <el-pagination-->
  150. <!-- class="paginationCenter"-->
  151. <!-- background-->
  152. <!-- @size-change="handleSizeChange"-->
  153. <!-- @current-change="handlePageChange"-->
  154. <!-- :page-sizes="[10, 20, 50, 100]"-->
  155. <!-- :page-size="pageSize"-->
  156. <!-- layout="total, sizes, prev, pager, next, jumper"-->
  157. <!-- :total="total"-->
  158. <!-- ></el-pagination>-->
  159. </div>
  160. </el-dialog>
  161. </template>
  162. <script>
  163. import request from "@util/gw_ajax_request.js";
  164. import {exportModel} from "@util/gw_exportModel";
  165. export default {
  166. props: ['param'],
  167. components: {
  168. problemDetail: resolve => {
  169. require(["./problemDetail.vue"], resolve);
  170. },
  171. },
  172. data(){
  173. return{
  174. loading:false,
  175. dialogVisible:true,
  176. supervisionDetailsVisible:false,
  177. tableData:[],
  178. dateRange:[],
  179. problemId:"",
  180. tableHeight:550,
  181. total:0,
  182. pageNum:1,
  183. pageSize:10,
  184. isObjType:false,
  185. params:{
  186. adFullName:"",
  187. nm:"",
  188. pnm:"",
  189. objType:"",
  190. objTypeName:"",
  191. adCode:"",
  192. timeType:""
  193. }
  194. }
  195. },
  196. mounted(){
  197. // if(this.param.objType!="" && this.param.objType!=null){
  198. // this.isObjType = true;
  199. // }
  200. // if(this.param.selectTime && this.param.selectTime.length==2){
  201. // this.dateRange = this.param.selectTime;
  202. // }
  203. // this.params.objTypeName = this.param.objTypeName=="全部"?"":this.param.objTypeName;
  204. // if(this.param.timeType && this.param.timeType.indexOf("_")>-1){
  205. // this.dateRange[0] = this.param.timeType.split("_")[0];
  206. // this.dateRange[1] = this.param.timeType.split("_")[1];
  207. // }
  208. this.getTableData();
  209. },
  210. methods:{
  211. search(){
  212. this.getTableData();
  213. },
  214. getTableData(){
  215. var _self = this;
  216. _self.loading = true;
  217. this.params.adCode = this.param.adCode;
  218. this.params.objType = this.param.objType;
  219. this.params.timeType = this.param.timeType;
  220. // this.params.pageNum = this.pageNum;
  221. // this.params.pageSize = this.pageSize;
  222. this.params.sttm = "";
  223. this.params.entm = "";
  224. if(this.dateRange && this.dateRange.length>1 && this.dateRange[0]!='' && this.dateRange[1]!=''){
  225. this.params.sttm = this.dateRange[0];
  226. this.params.entm = this.dateRange[1];
  227. this.params.timeType = this.dateRange[0]+"_"+this.dateRange[1];
  228. }
  229. if(this.param.depm!=undefined && this.param.depm){
  230. this.params.depm = this.param.depm;
  231. }
  232. request.post('/bis/insp/task/dth/day/list',this.params).then(res => {
  233. if (res.success) {
  234. _self.loading = false;
  235. _self.tableData = res.data;
  236. }
  237. });
  238. },
  239. showDetails(id){
  240. this.problemId = id;
  241. this.supervisionDetailsVisible = true;
  242. },
  243. handleSizeChange(val){
  244. this.pageSize = val;
  245. this.getTableData();
  246. },
  247. handlePageChange(val){
  248. this.pageNum = val;
  249. this.getTableData();
  250. },
  251. dialogClose(){
  252. this.$emit('closeDialogAreaCount')
  253. },
  254. dialogCloseDetail(){
  255. this.supervisionDetailsVisible = false;
  256. this.problemId = "";
  257. },
  258. formatDate(row){
  259. if(!row.collTime){
  260. return "";
  261. }
  262. var date = new Date(row.collTime);
  263. return date.getFullYear()+":"+(date.getMonth()+1)+":"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+":"+date.getSeconds()
  264. },
  265. async exportExcel() {
  266. let url = "/pdcApi/bis/insp/task/dth/day/list/export";
  267. let type = "POST";
  268. let exportName = "督查情况统计表.xls"
  269. let result = await exportModel(type, url, exportName,JSON.stringify(this.params));
  270. }
  271. },
  272. }
  273. </script>
  274. <style scoped>
  275. .messageBox{
  276. color: #606266;
  277. height: 600px;
  278. overflow: auto;
  279. }
  280. .messT{
  281. width: 100%;
  282. height:40px;
  283. line-height: 40px;
  284. margin: 0;
  285. padding: 0;
  286. text-align: center;
  287. font-size: 16px;
  288. font-weight: bold;
  289. }
  290. .messTime{
  291. width: 100%;
  292. height:30px;
  293. line-height: 30px;
  294. margin: 0;
  295. padding: 0;
  296. border-bottom: 1px solid grey;
  297. }
  298. .messC{
  299. width: 100%;
  300. height:calc(100%- 70px);
  301. margin: 0;
  302. padding: 0;
  303. line-height: 30px;
  304. overflow: auto;
  305. }
  306. </style>