9137d99726d90c79ccf3d312d307f7f3d96e7f38.svn-base 33 KB

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