63e9afae781d5f70dfa8e47135c2b3e87bfa294f.svn-base 31 KB

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