1e254b54c2c01df4511a4f210542c41b52c487b8.svn-base 26 KB

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