cabf32dddf188e5fa59bbb6125ca82c25be3f7b5.svn-base 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469
  1. <template>
  2. <div id="rwtz" style="height:100%;width:100%">
  3. <el-container style="height:100%;width:100%">
  4. <el-main style="display: flex;justify-content: space-between;">
  5. <div class="leftPages" style="height:100%;width:100%">
  6. <el-card>
  7. <el-row type="flex" justify="space-between">
  8. <el-col :span="5">
  9. <h3 style="margin-bottom: 10px;">任务通知</h3>
  10. </el-col>
  11. </el-row>
  12. <div class="search" style="margin-top:10px;">
  13. <el-table
  14. v-loading="Loading"
  15. border
  16. ref="multipleTable"
  17. :height="tableHeight"
  18. :data="rwTzResult"
  19. tooltip-effect="dark"
  20. style="width: 100%"
  21. >
  22. <el-table-column align="center" type="index" label="序号" min-width="25">
  23. <template slot-scope="scope">{{ (pageNum - 1) * pageSize + (scope.$index + 1) }}</template>
  24. </el-table-column>
  25. <el-table-column
  26. header-align="center"
  27. align="center"
  28. min-width="100"
  29. prop="planUnt"
  30. label="发文单位"
  31. show-overflow-tooltip
  32. ></el-table-column>
  33. <el-table-column
  34. header-align="center"
  35. align="center"
  36. min-width="150"
  37. prop="plnNm"
  38. label="计划名称"
  39. show-overflow-tooltip
  40. ></el-table-column>
  41. <el-table-column
  42. header-align="center"
  43. align="center"
  44. min-width="80"
  45. prop="inspType"
  46. label="督查类型"
  47. show-overflow-tooltip
  48. >
  49. <template slot-scope="scope">
  50. {{scope.row.inspType | dcTzType}}
  51. </template>
  52. </el-table-column>
  53. <el-table-column
  54. header-align="center"
  55. align="center"
  56. min-width="100"
  57. prop="planNo"
  58. label="公文号"
  59. show-overflow-tooltip
  60. ></el-table-column>
  61. <el-table-column
  62. header-align="center"
  63. align="center"
  64. min-width="150"
  65. prop="planCnt"
  66. label="督查内容"
  67. show-overflow-tooltip
  68. ></el-table-column>
  69. <!--<el-table-column-->
  70. <!--header-align="center"-->
  71. <!--align="center"-->
  72. <!--min-width="100"-->
  73. <!--prop="intm"-->
  74. <!--label="发文时间"-->
  75. <!--&gt;-->
  76. <!--<template slot-scope="scope">-->
  77. <!--<span v-if="scope.row.intm">{{formatDate(scope.row.intm)}}</span>-->
  78. <!--</template>-->
  79. <!--</el-table-column>-->
  80. <el-table-column
  81. header-align="center"
  82. align="center"
  83. min-width="80"
  84. prop="intm"
  85. label="时间"
  86. show-overflow-tooltip
  87. >
  88. <template slot-scope="scope">
  89. <span v-if="scope.row.intm">{{formatDate(scope.row.intm)}}</span>
  90. </template>
  91. </el-table-column>
  92. <el-table-column label="任务分工" align="center">
  93. <el-table-column
  94. header-align="center"
  95. align="center"
  96. min-width="80"
  97. prop="adName"
  98. label="省" v-if="isXj"
  99. ></el-table-column>
  100. <el-table-column
  101. header-align="center"
  102. align="center"
  103. min-width="80"
  104. prop="inspCount"
  105. label="基础数据总数"
  106. >
  107. </el-table-column>
  108. <el-table-column
  109. header-align="center"
  110. align="center"
  111. min-width="80"
  112. prop="inspNum"
  113. label="督查对象总数"
  114. ></el-table-column>
  115. <el-table-column
  116. header-align="center"
  117. align="center"
  118. min-width="80"
  119. prop="inspScale"
  120. label="督查对象占比"
  121. >
  122. <template slot-scope="scope">
  123. <span v-if="scope.row.inspScale">{{scope.row.inspScale * 100 + '%'}}</span>
  124. <span v-else>{{scope.row.inspScale}}</span>
  125. </template>
  126. </el-table-column>
  127. <el-table-column
  128. header-align="center"
  129. align="center"
  130. min-width="160"
  131. prop="content"
  132. label="分工内容"
  133. show-overflow-tooltip
  134. ></el-table-column>
  135. </el-table-column>
  136. <el-table-column
  137. align="center"
  138. min-width="220"
  139. label="操作"
  140. fixed="right"
  141. >
  142. <template slot-scope="scope">
  143. <el-button type="primary" size="mini" @click.stop="lookOver(scope.row)">查看</el-button>
  144. <el-button type="warning" size="mini" @click.stop="drawPlan(scope.row)">制定计划</el-button>
  145. </template>
  146. </el-table-column>
  147. </el-table>
  148. </div>
  149. </el-card>
  150. </div>
  151. </el-main>
  152. </el-container>
  153. <!--查看-->
  154. <el-dialog title="详情" :visible.sync="lookOverVisible" :close-on-click-modal="false" width="60%">
  155. <div class="lookTop">
  156. <h3>督查通知</h3>
  157. <el-main>
  158. <el-row :gutter="5" style="padding:8px;">
  159. <el-col :span="6" style="color:#409EFF;text-align:right;font-weight:bold;">计划名称:</el-col>
  160. <el-col :span="18" style="text-align:left;">{{InspectorNotice.plnNm}}</el-col>
  161. </el-row>
  162. <el-row :gutter="5" style="padding:8px;">
  163. <el-col :span="12" style="text-align:left;">
  164. <el-row>
  165. <el-col :span="12" style="color:#409EFF;text-align:right;font-weight:bold;">发文单位:</el-col>
  166. <el-col :span="12">{{InspectorNotice.planUnt}}</el-col>
  167. </el-row>
  168. </el-col>
  169. <el-col :span="12" style="text-align:left;">
  170. <el-row>
  171. <el-col :span="6" style="color:#409EFF;text-align:right;font-weight:bold;">督查类型:</el-col>
  172. <el-col :span="18">{{InspectorNotice.inspType | dcTzType}}</el-col>
  173. </el-row>
  174. </el-col>
  175. </el-row>
  176. <el-row :gutter="5" style="padding:8px;">
  177. <el-col :span="12" style="text-align:left;">
  178. <el-row>
  179. <el-col :span="12" style="color:#409EFF;text-align:right;font-weight:bold;">状态:</el-col>
  180. <el-col :span="12">{{InspectorNotice.sendState | dcState}}</el-col>
  181. </el-row>
  182. </el-col>
  183. <el-col :span="12" style="text-align:left;">
  184. <el-row>
  185. <el-col :span="6" style="color:#409EFF;text-align:right;font-weight:bold;">发文时间:</el-col>
  186. <el-col :span="18">
  187. <template>
  188. <span v-if="InspectorNotice.intm">{{formatDate(InspectorNotice.intm)}}</span>
  189. </template>
  190. </el-col>
  191. </el-row>
  192. </el-col>
  193. </el-row>
  194. <el-row :gutter="5" style="padding:8px;">
  195. <el-col :span="6" style="color:#409EFF;text-align:right;font-weight:bold;">督查内容:</el-col>
  196. <el-col :span="18" style="text-align:left;">
  197. <el-input type="textarea" v-model="InspectorNotice.planCnt" rows="4" readonly="readonly"></el-input>
  198. </el-col>
  199. </el-row>
  200. <el-row :gutter="5" style="padding:8px;">
  201. <el-col :span="6" style="color:#409EFF;text-align:right;font-weight:bold;">附件:</el-col>
  202. <el-col :span="18" style="text-align:left;">
  203. <span style="display: inline-block;
  204. border-bottom: 1px solid blue;
  205. color: blue;cursor: pointer;" @click='showPdf(`${hostUrl}/${gwComFileList.filePath}`)'>{{gwComFileList.fileName}}</span>
  206. </el-col>
  207. </el-row>
  208. </el-main>
  209. </div>
  210. <div class="lookBottom">
  211. <h3>督查分工</h3>
  212. <el-main>
  213. <el-table
  214. border
  215. ref="multipleTable"
  216. height="calc(25vh)"
  217. :data="bisInspDvdwkList"
  218. tooltip-effect="dark"
  219. style="width: 100%"
  220. >
  221. <el-table-column align="center" type="index" label="序号" min-width="25">
  222. <template slot-scope="scope">{{ (pageNum - 1) * pageSize + (scope.$index + 1) }}</template>
  223. </el-table-column>
  224. <el-table-column
  225. header-align="center"
  226. align="center"
  227. min-width="80"
  228. prop="adName"
  229. label="省" v-if="isXj"
  230. ></el-table-column>
  231. <el-table-column
  232. header-align="center"
  233. align="center"
  234. min-width="100"
  235. prop="orgName"
  236. label="机构"
  237. show-overflow-tooltip
  238. ></el-table-column>
  239. <el-table-column
  240. header-align="center"
  241. align="center"
  242. min-width="140"
  243. prop="content"
  244. label="分工"
  245. show-overflow-tooltip
  246. ></el-table-column>
  247. <el-table-column
  248. header-align="center"
  249. align="center"
  250. min-width="100"
  251. prop="dtype"
  252. label="类型"
  253. show-overflow-tooltip
  254. >
  255. <template slot-scope="scope">
  256. {{scope.row.dtype | dcType}}
  257. </template>
  258. </el-table-column>
  259. <el-table-column
  260. header-align="center"
  261. align="center"
  262. min-width="80"
  263. prop="inspCount"
  264. label="基础数据总数"
  265. >
  266. </el-table-column>
  267. <el-table-column
  268. header-align="center"
  269. align="center"
  270. min-width="80"
  271. prop="inspNum"
  272. label="督查对象总数"
  273. ></el-table-column>
  274. <el-table-column
  275. header-align="center"
  276. align="center"
  277. min-width="80"
  278. prop="inspScale"
  279. label="督查对象占比"
  280. >
  281. <template slot-scope="scope">
  282. <span v-if="scope.row.inspScale">{{scope.row.inspScale * 100 + '%'}}</span>
  283. <span v-else>{{scope.row.inspScale}}</span>
  284. </template>
  285. </el-table-column>
  286. </el-table>
  287. </el-main>
  288. </div>
  289. </el-dialog>
  290. <el-dialog title="附件详情" :visible.sync="fujianVisible" :close-on-click-modal="false" width="60%" class="fjxq">
  291. <iframe width="100%" height="100%" :src="pdfTitle" color="white"
  292. background-color="white" currentScaleValue="page-width">
  293. </iframe>
  294. </el-dialog>
  295. <el-dialog title="督查计划" :visible.sync="dcjhVisible" :close-on-click-modal="false" width="80%" class="dcjh">
  296. <InspectionPlan></InspectionPlan>
  297. </el-dialog>
  298. </div>
  299. </template>
  300. <script>
  301. import request from '../../utils/gw_ajax_request'
  302. import {dateFormat} from '../../utils/gw_date.js'
  303. import { hostUrl } from "@util/global_variable.js";
  304. import InspectionPlan from "./planManageOneNew.vue"
  305. export default {
  306. name: "taskInform",
  307. components: {
  308. InspectionPlan
  309. },
  310. data() {
  311. return {
  312. Loading: false,
  313. rwTzResult: [],
  314. pageNum: 1,
  315. pageSize: 20,
  316. lookOverVisible: false,
  317. InspectorNotice: {},
  318. bisInspDvdwkList: [],
  319. gwComFileList:{},
  320. fujianVisible: false,
  321. dcjhVisible: false,
  322. pdfTitle:"",
  323. tableHeight: 50
  324. }
  325. },
  326. computed:{
  327. hostUrl(){
  328. return hostUrl
  329. }
  330. },
  331. mounted() {
  332. this.getRwTzData();
  333. this.$nextTick(function () {
  334. this.tableHeight = window.innerHeight - 250;
  335. let self = this;
  336. window.onresize = function() {
  337. self.tableHeight = window.innerHeight - 250;
  338. }
  339. })
  340. },
  341. methods: {
  342. lookOver(row) {
  343. this.gwComFileList = {};
  344. console.log(row);
  345. request.get(`/bis/insp/ntfctn/queryNtfctnById?id=${row.id}`).then(res =>{
  346. if(res.success){
  347. this.InspectorNotice = res.data;
  348. if(res.data.gwComFileList){
  349. this.gwComFileList = res.data.gwComFileList[res.data.gwComFileList.length - 1];
  350. }
  351. this.bisInspDvdwkList = res.data.bisInspDvdwkList;
  352. this.lookOverVisible = true;
  353. }
  354. })
  355. },
  356. drawPlan() {
  357. // this.$router.push({
  358. // path:"/dcjh",
  359. // name: "督查计划",
  360. // // query:{//通过query 传递参数
  361. // //
  362. // // },
  363. // // params:{
  364. // //
  365. // // }
  366. // });
  367. this.dcjhVisible = true;
  368. },
  369. getRwTzData(){
  370. this.Loading = true;
  371. request.post(`/bis/insp/ntfctn/queryNtfctnAndDvdwk`,{
  372. pageNum: 0,
  373. pageSize: 0
  374. }).then(res =>{
  375. this.Loading = false;
  376. if(res.success){
  377. this.rwTzResult = res.data.list;
  378. }
  379. })
  380. },
  381. formatDate(row){
  382. if(row){
  383. return (dateFormat(row,'yyyy-MM-dd'));
  384. }
  385. },
  386. showPdf(pdfUrl){
  387. this.fujianVisible = true;
  388. this.pdfTitle = pdfUrl;
  389. },
  390. },
  391. filters:{
  392. dcType(val){
  393. switch (val) {
  394. case '1':
  395. return '小水库';
  396. break;
  397. case '2':
  398. return '人饮';
  399. break;
  400. case '3':
  401. return '水毁';
  402. break;
  403. case '4':
  404. return '172';
  405. break;
  406. case '5':
  407. return '地下水';
  408. break;
  409. case '6':
  410. return '水闸';
  411. break;
  412. case '7':
  413. return '水利工程运行';
  414. break;
  415. }
  416. },
  417. dcState(val){
  418. switch (val) {
  419. case '0':
  420. return '未下发';
  421. break;
  422. case '1':
  423. return '已下发';
  424. break;
  425. }
  426. },
  427. dcTzType(val) {
  428. switch(val) {
  429. case '001':
  430. return '小水库';
  431. break;
  432. case '002':
  433. return '人饮';
  434. break;
  435. case '003':
  436. return '水毁';
  437. break;
  438. case '004':
  439. return '172';
  440. break;
  441. case '005':
  442. return '地下水';
  443. break;
  444. case '006':
  445. return '水闸';
  446. break;
  447. case '007':
  448. return '水利工程运行';
  449. break;
  450. }
  451. }
  452. },
  453. }
  454. </script>
  455. <style>
  456. #rwtz .fjxq .el-dialog__body{height: 70vh;}
  457. #rwtz .dcjh .el-dialog__body{height: 70vh;}
  458. .v-modal{z-index: 1999 !important;}
  459. </style>