a0c9c8d35c6e276be4e105bf451974e1bd639c24.svn-base 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769
  1. <template>
  2. <div style="height:100%;width:100%;">
  3. <el-container style="height:100%;width:100%;">
  4. <el-aside width="320px" style="border-right:2px solid #d5d5ff;float:left" :style="{'max-height':testHeight+'px','height':testHeight+'px'}">
  5. <span style="display: flex;justify-content: center;align-items: center;border-bottom: 1px solid #ebeef5;">
  6. <el-button size="mini" :class="tabType==1 ? 'skactive' : 'sknormal'" @click="tabChange('1')">当前数据</el-button>
  7. <!-- <el-button size="mini" :class="tabType==2 ? 'skactive' : 'sknormal'" @click="tabChange('2')">历史数据</el-button>-->
  8. <el-button size="mini" :class="tabType==0 ? 'skactive' : 'sknormal'" @click="tabChange('0')">全部数据</el-button>
  9. </span>
  10. <div class="tree" style="
  11. height: calc(100% - 50px);
  12. width: 100%;
  13. overflow: auto;
  14. display: inline-flex;">
  15. <el-tree
  16. :highlight-current="true"
  17. style="height:100%;"
  18. :data="treeData"
  19. node-key="id"
  20. :expand-on-click-node="false"
  21. @node-click = 'treeNodeClickHandler'
  22. ref="jigou_tree"
  23. >
  24. <div class="custom-tree-node" slot-scope="{ node, data }">
  25. <span style="float:left;">{{ data.pnm}}
  26. </span>
  27. </div>
  28. </el-tree>
  29. </div>
  30. </el-aside>
  31. <!-- 主要窗口 -->
  32. <el-main id="dxdcListMainsk" style="padding:5px 20px;">
  33. <el-row>
  34. <el-col :span="24">
  35. <el-form :inline="true" size="mini" class="demo-form-inline" style="padding-left: 10px;">
  36. <el-form-item label="督查状态">
  37. <el-select v-model="dcType" clearable placeholder="督查状态">
  38. <el-option label="未督查" value="0"></el-option>
  39. <el-option label="督查中" value="1"></el-option>
  40. <el-option label="已督查" value="2"></el-option>
  41. </el-select>
  42. </el-form-item>
  43. <el-form-item label="行政区名称">
  44. <addvSearch
  45. v-model="adName"
  46. :maxHeight='300'
  47. :maxWidth='250'
  48. :rootAddCode='curAdcode_long'
  49. :level='"3"'
  50. :nameOrCode="'name'"
  51. ></addvSearch>
  52. </el-form-item>
  53. <el-form-item label="单位名称">
  54. <el-input v-model="utName" placeholder="单位名称"></el-input>
  55. </el-form-item>
  56. <el-form-item label="单位类型">
  57. <el-select v-model="utType" clearable placeholder="单位类型">
  58. <el-option v-for="item in utTypeL" :key="item.id" :label="item.name" :value="item.id"></el-option>
  59. </el-select>
  60. </el-form-item>
  61. <el-form-item label="单位性质">
  62. <el-select v-model="utPpt" clearable placeholder="单位性质">
  63. <el-option v-for="item in utPptL" :key="item.id" :label="item.name" :value="item.id"></el-option>
  64. </el-select>
  65. </el-form-item>
  66. <el-form-item label="所在组">
  67. <el-autocomplete v-model="groupName" clearable value-key='nm' :fetch-suggestions="querySearchAsync" placeholder="请输入内容"
  68. @select="handleSelect"></el-autocomplete>
  69. </el-form-item>
  70. <el-form-item label="督查时间">
  71. <div style="display: flex;">
  72. <el-date-picker
  73. v-model="dateRange"
  74. type="daterange"
  75. value-format="yyyy-MM-dd"
  76. style="width:280px"
  77. range-separator="至"
  78. start-placeholder="开始日期"
  79. end-placeholder="结束日期"
  80. ></el-date-picker>
  81. </div>
  82. </el-form-item>
  83. <el-form-item>
  84. <el-button type="primary" @click="onSubmit" icon="el-icon-search">查询</el-button>
  85. </el-form-item>
  86. </el-form>
  87. </el-col>
  88. </el-row>
  89. <el-table
  90. ref="table"
  91. border
  92. :height="tableHeight"
  93. :data="skDataList"
  94. style="width: 100%"
  95. v-loading="expLoading">
  96. <el-table-column prop="adName" label="行政区划" show-overflow-tooltip min-width="100" align="center"></el-table-column>
  97. <el-table-column prop="utName" label="单位名称" min-width="100" align="center" show-overflow-tooltip fixed="left"></el-table-column>
  98. <el-table-column prop="groupName" label="所在组" show-overflow-tooltip min-width="100" align="center"></el-table-column>
  99. <el-table-column prop="intm1" label="督查时间" show-overflow-tooltip min-width="100" align="center"></el-table-column>
  100. <el-table-column prop="uptm" label="更新时间" show-overflow-tooltip align="center" :formatter="formatDate" min-width="100"></el-table-column>
  101. <el-table-column
  102. prop="utType"
  103. label="单位类型"
  104. align="center"
  105. show-overflow-tooltip
  106. min-width="80">
  107. <template slot-scope="scope">
  108. <span
  109. v-if="scope.row.utType == '1'"
  110. >钢铁企业</span>
  111. <span
  112. v-if="scope.row.utType == '2'"
  113. >高校</span>
  114. <span
  115. v-if="scope.row.utType == '3'"
  116. >宾馆</span>
  117. </template>
  118. </el-table-column>
  119. <el-table-column
  120. prop="utPpt"
  121. label="单位性质"
  122. show-overflow-tooltip
  123. align="center"
  124. min-width="80">
  125. <template slot-scope="scope">
  126. <span
  127. v-if="scope.row.utPpt == '1'"
  128. >节水型</span>
  129. <span
  130. v-if="scope.row.utPpt == '2'"
  131. >非节水型</span>
  132. </template>
  133. </el-table-column>
  134. <el-table-column
  135. prop="wtuntStat"
  136. label="节水载体复核状态"
  137. align="center"
  138. min-width="50">
  139. <template slot-scope="scope">
  140. <p style="cursor:pointer;color:#F56C6C;" v-if="scope.row.wtuntStat == 0 || !scope.row.wtuntStat">待填报</p>
  141. <p style="cursor:pointer;color:#fbb56d" v-if="scope.row.wtuntStat == 1">未完成</p>
  142. <p style="cursor:pointer;color:#67C23A" v-if="scope.row.wtuntStat == 2">已完成</p>
  143. </template>
  144. </el-table-column>
  145. <el-table-column
  146. prop="state"
  147. label="督查状态"
  148. align="center"
  149. min-width="80">
  150. <template slot-scope="scope">
  151. <span
  152. style="padding: 3px 10px;background:#F56C6C;border-radius:15px;color:rgba(255,255,255,1)"
  153. v-if="scope.row.state == 0"
  154. >未督查</span>
  155. <span
  156. style="padding: 3px 10px;background:#FBB56D;border-radius:15px;color:rgba(255,255,255,1)"
  157. v-if="scope.row.state == 1"
  158. >督查中</span>
  159. <span
  160. style="padding: 3px 10px;background:#63C25E;border-radius:15px;color:rgba(255,255,255,1)"
  161. v-if="scope.row.state == 2"
  162. >已督查</span>
  163. </template>
  164. </el-table-column>
  165. <el-table-column align="center" label="操作" min-width="200" fixed="right" v-if="ownPriv('manage') || ownPriv('revoke')">
  166. <template slot-scope="scope">
  167. <div style="display: flex;justify-content: center">
  168. <div v-if="ownPriv('manage')" style="display: flex">
  169. <el-button size="mini" type="success" v-if="scope.row.rgstrId && scope.row.state != '2'" plain @click="toAddMember('编辑',scope.row)">督查</el-button>
  170. <el-button size="mini" type="danger" v-if="scope.row.rgstrId && scope.row.state != '2'" plain @click="deleteMember(scope.row)">删除</el-button>
  171. <el-button size="mini" type="danger" v-if="scope.row.rgstrId && scope.row.state != '2'" plain @click="submitHandler(scope.row)">提交</el-button>
  172. </div>
  173. <el-button size="mini" type="warning" v-if="scope.row.rgstrId && scope.row.state == '2'" plain @click="toCheck(scope.row)">查看</el-button>
  174. <div v-if="ownPriv('revoke')" style="padding-left: 10px;">
  175. <el-button size="mini" type="warning" v-if="scope.row.rgstrId && scope.row.state == '2'" plain @click="revoke(scope.row)">撤回</el-button>
  176. </div>
  177. </div>
  178. </template>
  179. </el-table-column>
  180. </el-table>
  181. <el-pagination background :pager-count="5" :current-page="pageIndex"
  182. :page-size="pageSize" :page-sizes="[10, 20, 30, 40, 50, 100]"
  183. layout="sizes, total, prev, pager, next" :total="total"
  184. @current-change="pageIndexChange" @size-change="handleSizeChange"
  185. ></el-pagination>
  186. </el-main>
  187. <!-- </el-container> -->
  188. <jieShuiZaiTiFuHe v-if="showShuiKuTianBao" :rowData="rowData" :currentObjectRgstrId="currentObjectRgstrId"
  189. :currentResCode="currentResCode" :currentObjectId="currentObjectId"
  190. :currentObjectName="currentResName"
  191. :pType="pType"
  192. :openType="openType"
  193. @cancelHandler="cancelHandler" @addShuiKuSuccess="addShuiKuSuccess"></jieShuiZaiTiFuHe>
  194. </el-container>
  195. <!-- 添加/编辑人员弹窗 -->
  196. <!-- 上传模板弹窗 -->
  197. <shuiku-tian-bao-pl v-if="showShuiKuTianBaoPl"
  198. :showShuiKuTianBaoPl="showShuiKuTianBaoPl"
  199. :id="currentNodeId"
  200. @closePlDialog="closePlDialog"></shuiku-tian-bao-pl>
  201. <!-- 水库信息查看 -->
  202. <rsvr-info
  203. :currentObjectRgstrId="currentObjectRgstrId"
  204. :currentResCode="currentResCode"
  205. :currentObjectId="currentObjectId"
  206. :currentObjectName="currentResName"
  207. :isJiangXi="isJiangXi"
  208. v-if="showDuchaDetails" @cancelHandler="closeInfoDialog"></rsvr-info>
  209. <!-- 水库督查信息 -->
  210. <popupSk ref="xskTianBaoRef"
  211. v-if="xskInfoDialog"
  212. :currentDuchaTpe="currentDuchaTpe"
  213. :currentObjectRgstrId="xskRgstrId"
  214. :currentResCode="currentRsCode"
  215. :currentObjectId="currentObjId"
  216. :currentObjectName="currentRsName"
  217. @cancelHandler="skCancelHandler">
  218. </popupSk>
  219. </div>
  220. </template>
  221. <script>
  222. import request from '../../utils/gw_ajax_request.js'
  223. import {dateFormat} from '../../utils/gw_date.js'
  224. import {getSKList_xsk ,getrgstrIdObject,deleteXSKByObjId,deleteObjByObjId,getList_jsztfh,getrgstrIdObject_jsztfh,getrgstrIdObject_jsztfh_state} from "../../api/duChaTianBao.js";
  225. import addvSearch from "@widget/addvSearch.vue"
  226. import provTreeList from "../../widgets/provTreeList.vue";
  227. import jieShuiZaiTiFuHe from "../duChaTianBao/jieShuiZaiTiFuHe.vue"
  228. import {curAdcode_short,curAdcode_long} from '@util/global_variable.js'
  229. import {fillColum} from './jieshuizaitifuhe/forDifferentProvince.js'
  230. import { exportModel } from "@util/gw_exportModel";
  231. export default {
  232. components: {
  233. provTreeList: provTreeList,
  234. jieShuiZaiTiFuHe:jieShuiZaiTiFuHe,
  235. addvSearch
  236. },
  237. props: [],
  238. data() {
  239. return {
  240. openType:false,
  241. tabType:"0",//0全部数据,1当前数据,2历史数据
  242. dateRange:[],
  243. lyjg:[],
  244. utTypeL:[
  245. {id:'1',name:'企业'},
  246. {id:'2',name:'机关'},
  247. {id:'3',name:'学校'},
  248. {id:'4',name:'2019整改'},
  249. {id:'5',name:'政府机关'}
  250. ],
  251. utPptL:[
  252. {id:'1',name:'节水型'},
  253. {id:'2',name:'非节水型'}
  254. ],
  255. utName:"",
  256. utType:"",
  257. utPpt:"",
  258. engScale:'',
  259. orgName:'',
  260. groupName:'',
  261. groupId:'',
  262. groups:[],
  263. // sttm:'',
  264. // ettm:'',
  265. adName:'',
  266. treeData:[],
  267. dxdcMainHeight: window.innerHeight - 304,
  268. testHeight: window.innerHeight - 111,
  269. skDataList: [],
  270. pageIndex:1,
  271. pageSize:20,
  272. total:0,
  273. tableHeight:0,
  274. currentResCode:'',
  275. currentResName:'',
  276. currentObjectId:'',
  277. currentObjectRgstrId:'',
  278. currentObjectInfoObject:null,
  279. showShuiKuTianBao:false,
  280. currentAdCode:'',
  281. currentNodeId:'',
  282. rsvrName:'',
  283. dcType:'',
  284. rowData:'',
  285. disabled:true,
  286. showShuiKuTianBaoPl:false,
  287. downIcon:'el-icon-download',
  288. expLoading:false,
  289. //
  290. repeatId: '',
  291. showDuchaDetails: false,
  292. zerenrenLabel: '"三个责任人"落实情况',
  293. pType: 54,
  294. fillTableData: [], //根据不同省份赋值
  295. xskInfoDialog: false,
  296. currentDuchaTpe: false,
  297. currentRsCode: '',
  298. xskRgstrId:'',
  299. currentObjId:'',
  300. currentRsName:'',
  301. endTime: '',
  302. curTime: new Date().getTime(),
  303. flage: false
  304. };
  305. },
  306. computed: {
  307. persId() {
  308. return localStorage.getItem("userid")
  309. ? localStorage.getItem("userid")
  310. : "1098101939614724096";
  311. },
  312. isAdmin:function(){
  313. return localStorage.getItem("isAdmin")? localStorage.getItem("isAdmin"): ''
  314. },
  315. currentRlcode(){
  316. return localStorage.getItem('currentRlcode') ? localStorage.getItem('currentRlcode') : ''
  317. },
  318. isJiangXi(){
  319. return this.currentRlcode.indexOf('36') == '0' ? true :false
  320. },
  321. curAdcode_short(){
  322. return curAdcode_short
  323. },
  324. curAdcode_long(){
  325. return curAdcode_long
  326. }
  327. },
  328. mounted() {
  329. this.$nextTick(function () {
  330. this.tableHeight = window.innerHeight - this.$refs.table.$el.offsetTop - 50;
  331. let _self = this;
  332. window.onresize = function() {
  333. _self.tableHeight = window.innerHeight - _self.$refs.table.$el.offsetTop - 50
  334. }
  335. })
  336. this.getSkDataList();
  337. this.getAllGroup();
  338. },
  339. activated(){
  340. this.getLeftTreeData();
  341. this.currentNodeId = "";
  342. this.rsvrName = "";
  343. this.dcType = "";
  344. this.getSkDataList();
  345. },
  346. watch: {
  347. currentNodeId(n,o){
  348. this.getSkDataList();
  349. },
  350. groupName(n,o){
  351. if(n==''){
  352. this.groupId = '';
  353. }
  354. },
  355. // endTime(n,o){
  356. // this.flage = this.endTime ? (eval(this.endTime) < eval(this.curTime) ? true : false) : false
  357. // }
  358. },
  359. methods: {
  360. tabChange(tabType){
  361. this.tabType = tabType;
  362. this.currentNodeId = "";
  363. this.groupName = "";
  364. this.groupId = "";
  365. this.getAllGroup();
  366. this.getLeftTreeData();
  367. this.getSkDataList();
  368. },
  369. //获取所有的组
  370. getAllGroup(){
  371. var _self = this;
  372. request.get('/dc/user/getGroupByPersid',{params:{'persid':this.persId,'ptype':'054','tabType':this.tabType}}).then((res)=>{
  373. if(res.success){
  374. _self.groups = res.data;
  375. }
  376. })
  377. },
  378. querySearchAsync(queryString, cb) {
  379. var restaurants = this.groups;
  380. var results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants;
  381. clearTimeout(this.timeout);
  382. this.timeout = setTimeout(() => {
  383. cb(results);
  384. }, 1500 * Math.random());
  385. },
  386. createStateFilter(queryString) {
  387. return (state) => {
  388. return (state.nm.toLowerCase().indexOf(queryString.toLowerCase()) != -1);
  389. };
  390. },
  391. handleSelect(item) {
  392. console.log(item);
  393. this.groupId = item.id;
  394. },
  395. getLeftTreeData(){
  396. var _self = this;
  397. _self.lyjg = [];
  398. request.get('/dc/organization/base/getAllNode',{params:{'userId':this.persId,'orgType':'054','tabType':this.tabType}}).then((res)=>{
  399. let data = res.data
  400. data.forEach(ele => {
  401. if(ele.pid == null || ele.pid == ''){
  402. ele.pid = '054'
  403. }
  404. if(ele.id.length == 6){
  405. _self.lyjg.push(ele);
  406. }
  407. });
  408. data = _self.getTrees(data)
  409. _self.treeData = data;
  410. // _self.endTime = data[0]['entm']
  411. })
  412. },
  413. //格式化树形数据
  414. getTrees(list) {
  415. //@wxcwater重写方法 适应多个树
  416. let highLevelLength = 99;//预设最大节点id长度,目前最大应该为12,所以设置为99保证正常
  417. let _self =this;
  418. list.forEach((item,index)=>{
  419. item['pidLength'] = item.pid&&item.pid!=''?item.pid.length:0;
  420. if(highLevelLength>item.pidLength){
  421. highLevelLength = item.pidLength;
  422. }
  423. });
  424. console.log(highLevelLength);
  425. let heightLevelNode = [];
  426. list.forEach((item,index)=>{
  427. if(highLevelLength>=item.pidLength){
  428. heightLevelNode.push(item);
  429. }
  430. });
  431. list.forEach((item,index)=>{
  432. heightLevelNode.forEach((pItem)=>{
  433. _self.addTreeNode(pItem,item);
  434. });
  435. });
  436. console.log(heightLevelNode);
  437. return heightLevelNode;
  438. },
  439. addTreeNode:function(treeNode,leafNode){
  440. let _self = this;
  441. if(!treeNode.hasOwnProperty('children')){
  442. treeNode['children'] = [];
  443. }
  444. if(leafNode.pid == treeNode.id){
  445. treeNode.children.push(leafNode);
  446. return;
  447. }
  448. treeNode.children.forEach((item) => {
  449. _self.addTreeNode(item,leafNode);
  450. });
  451. },
  452. treeNodeClickHandler:function(data,node,tree){
  453. // this.endTime = data['entm']
  454. this.currentNodeId = data.id;
  455. if(this.currentNodeId.length==12){
  456. this.groupId = data.id;
  457. this.groupName = data.pnm;
  458. }
  459. },
  460. provTreeSelectChangeHandler:function(params){
  461. this.currentAdCode = params.likeCode;
  462. this.getSkDataList();
  463. },
  464. formatDate(row,column){
  465. if(row.uptm){
  466. return (dateFormat(row.uptm,'yyyy-MM-dd'));
  467. }
  468. },
  469. formatEngScal(row,column){
  470. let engScal = row.engScal;
  471. let _engScal = '其他';
  472. switch (engScal) {
  473. case '1' : _engScal = '大(1)型';break;
  474. case '2' : _engScal = '大(2)型';break;
  475. case '3' : _engScal = '中型';break;
  476. case '4' : _engScal = '小(1)型';break;
  477. case '5' : _engScal = '小(2)型';break;
  478. case '9' : _engScal = '其他';break;
  479. }
  480. return _engScal;
  481. },
  482. getSkDataList:function(){
  483. let paramStartDate = '';
  484. let paramEndDate = '';
  485. if(this.dateRange&&this.dateRange.length>1&&this.dateRange[0]!=''&&this.dateRange[1]!=''){
  486. paramStartDate = this.dateRange[0];
  487. paramEndDate = this.dateRange[1];
  488. }
  489. let paramsData = {
  490. "type": "wtcrr",
  491. 'presId': this.persId,
  492. "pType": "54",
  493. "pageSize": this.pageSize,
  494. 'pageNum': this.pageIndex,
  495. 'id': this.currentNodeId,
  496. 'utName': this.utName,
  497. 'state': this.dcType,
  498. 'adName': this.adName,
  499. 'sttm': paramStartDate,
  500. 'entm': paramEndDate,
  501. 'riverId': this.orgName,
  502. 'utType': this.utType,
  503. 'utPpt': this.utPpt,
  504. 'groupId': this.groupId,
  505. 'tabType': this.tabType
  506. }
  507. if(this.currentRlcode.indexOf('36') == '0'){
  508. paramsData['repeatId'] = this.repeatId
  509. }
  510. this.expLoading = true;
  511. getList_jsztfh(paramsData).then(
  512. (res) => {
  513. console.log(res);
  514. res.data.list.forEach((item)=>{
  515. if(item.intm){
  516. item.intm1 = dateFormat(item.intm,'yyyy-MM-dd');
  517. }
  518. })
  519. this.skDataList = res.data.list;
  520. this.total = res.data.total;
  521. this.expLoading = false;
  522. this.$nextTick(() => {
  523. this.$refs.table.doLayout();
  524. });
  525. }
  526. );
  527. },
  528. onSubmit(){
  529. this.getSkDataList();
  530. },
  531. skCancelHandler() {
  532. this.xskInfoDialog = false
  533. },
  534. toCheck(rowData){
  535. var _self = this;
  536. this.rowData = rowData;
  537. // ;
  538. console.log(rowData);
  539. // getrgstrIdObject(rowData.code,rowData.objId,_self.pageIndex).then(
  540. // (res) =>{
  541. // console.log(res);
  542. _self.currentResCode = this.rowData.code;
  543. _self.currentObjectId = this.rowData.objId;
  544. _self.currentObjectRgstrId = this.rowData.rgstrId;
  545. _self.currentResName = this.rowData.utName;
  546. _self.showShuiKuTianBao = true;
  547. _self.openType = false;
  548. this.$nextTick(() => {
  549. if (this.$refs['xskTianBaoRef']) {
  550. this.$refs['xskTianBaoRef'].showDialog();
  551. }
  552. })
  553. },
  554. toAddMember(type,rowData){
  555. var _self = this;
  556. this.rowData = rowData;
  557. // ;
  558. console.log(rowData);
  559. // getrgstrIdObject(rowData.code,rowData.objId,_self.pageIndex).then(
  560. // (res) =>{
  561. // console.log(res);
  562. _self.currentResCode = this.rowData.code;
  563. _self.currentObjectId = this.rowData.objId;
  564. _self.currentObjectRgstrId = this.rowData.rgstrId;
  565. _self.currentResName = this.rowData.utName;
  566. _self.showShuiKuTianBao = true;
  567. _self.openType = true;
  568. // 获取完成
  569. // },
  570. // (err) =>{
  571. // }
  572. // );
  573. },
  574. cancelHandler(){
  575. this.showShuiKuTianBao = false;
  576. },
  577. addShuiKuSuccess(){
  578. this.getSkDataList();
  579. // this.showShuiKuTianBao = false;
  580. },
  581. deleteMember(obj){
  582. console.log(obj);
  583. var _self = this;
  584. // /dc/insp/rsvrRgstr/delete/{id}
  585. this.$confirm('此操作将督查对象从列表中删除,确认删除该对象吗?', '提示', {
  586. confirmButtonText: '确定',
  587. cancelButtonText: '取消',
  588. type: 'warning'
  589. }).then(() => {
  590. request.get(`/supervision/plan/cleanObjDataByObjId?objType=54&objId=${obj.objId}`).then((res)=>{
  591. if(res.success){
  592. _self.pageIndexChange();
  593. _self.$message.success('删除成功')
  594. }else{
  595. _self.$message.error(res.message)
  596. }
  597. });
  598. }).catch(() => {
  599. });
  600. },
  601. revoke(rowData){
  602. var _self = this;
  603. this.$confirm('确定要撤销当前信息吗?', '提示', {
  604. confirmButtonText: '确定',
  605. cancelButtonText: '取消',
  606. type: 'warning'
  607. }).then(() => {
  608. let formObj = {
  609. "rgstrId":rowData.rgstrId,
  610. "state":"1"
  611. }
  612. request.post('/bis/insp/wtcrr', formObj).then((res) => {
  613. if (res.success) {
  614. _self.addShuiKuSuccess();
  615. _self.$message.success("提交成功");
  616. } else {
  617. _self.cancelHandler();
  618. }
  619. });
  620. }).catch(() => {
  621. });
  622. },
  623. submitHandler(rowData){
  624. console.log(rowData)
  625. var _self = this;
  626. getrgstrIdObject_jsztfh_state(rowData.rgstrId).then(
  627. (res) =>{
  628. if(res.data.wtuntStat !='2'){
  629. this.$message({
  630. message: '责任人填报未完成!',
  631. type: 'warning'
  632. });
  633. return
  634. }
  635. this.$confirm('请确认所有信息填报完毕?', '提示', {
  636. confirmButtonText: '确定',
  637. cancelButtonText: '取消',
  638. type: 'warning'
  639. }).then(() => {
  640. let formObj = {
  641. "rgstrId":rowData.rgstrId,
  642. "state":"2"
  643. }
  644. request.post('/bis/insp/wtcrr', formObj).then((res) => {
  645. if (res.success) {
  646. _self.addShuiKuSuccess();
  647. _self.$message.success("提交成功");
  648. } else {
  649. _self.cancelHandler();
  650. }
  651. });
  652. }).catch(() => {
  653. });
  654. },(err) =>{
  655. });
  656. },
  657. pageIndexChange(val){
  658. console.log(val);
  659. this.pageIndex = val;
  660. this.getSkDataList();
  661. },
  662. handleSizeChange(val){
  663. this.pageSize = val;
  664. this.getSkDataList();
  665. },
  666. // 下载填报模板
  667. async downloadTemplate(){
  668. let url = '/pdcApi/dc/impExcel/downloadTemplate/sk?userId='+this.persId+'&id='+this.currentNodeId;
  669. let downloadName = "小水库填报模板.xls";
  670. let type = "get";
  671. await exportModel(type,url,downloadName);
  672. this.disabled = false;
  673. },
  674. showPlDialog(){
  675. this.showShuiKuTianBaoPl = true
  676. },
  677. closePlDialog(val){
  678. this.showShuiKuTianBaoPl = false
  679. },
  680. // 新需求 点击复查显示以前的督查信息
  681. toShowDuchaDetail(row){
  682. this.currentResCode = row.code;
  683. this.currentObjectId = row.objId;
  684. this.currentObjectRgstrId = row.rgstrId;
  685. this.currentResName = row.nm;
  686. this.showDuchaDetails = true
  687. },
  688. closeInfoDialog(){
  689. this.showDuchaDetails = false
  690. },
  691. // 加入复查
  692. joinRecheck(row){
  693. let _self = this
  694. let data = {
  695. regerId: row.rgstrId,
  696. type: '54'
  697. }
  698. this.$confirm('确定加入复查吗?', '提示', {
  699. confirmButtonText: '确定',
  700. cancelButtonText: '取消',
  701. type: 'warning'
  702. }).then(() => {
  703. request.post(`/bis/insp/repeat/check/log`, data).then((res)=>{
  704. if(res.success){
  705. _self.$message.success('已加入复查')
  706. _self.getSkDataList();
  707. }else{
  708. _self.$message.error(res.message)
  709. }
  710. }).catch(err=>{
  711. _self.$message.error(res.message)
  712. });
  713. }).catch(() => {
  714. });
  715. }
  716. },
  717. };
  718. </script>
  719. <style>
  720. .skactive{
  721. background: #3f8eff !important;
  722. color:white !important;
  723. margin-top: 5px;
  724. margin-bottom: 5px;
  725. }
  726. .sknormal{
  727. background: white;
  728. margin-top: 5px;
  729. margin-bottom: 5px;
  730. }
  731. .el-table .warning-row {
  732. background: oldlace;
  733. }
  734. .el-table .success-row {
  735. background: #f0f9eb;
  736. }
  737. #dxdcListMainsk{
  738. overflow-y: hidden;
  739. }
  740. </style>