f5e214d698c78a8cf8c6b9ed9df0de8913a6c340.svn-base 27 KB

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