5441feb2efa245fbb29e14dd3a4612c1d5bed9b5.svn-base 32 KB

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