8b9316622bb37f7ad25fd20f3f4c4faa2a3e55bf.svn-base 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894
  1. <template>
  2. <div style="height:100%;width:100%;">
  3. <el-container style="height:100%;width:100%;">
  4. <el-aside
  5. width="320px"
  6. style="border-right:2px solid #d5d5ff;float:left"
  7. :style="{'max-height':testHeight+'px','height':testHeight+'px'}"
  8. >
  9. <tb-left-tree orgType="006" @treeNodeClickHandler="treeNodeClickHandler" @changeTabType="changeTabType"
  10. @organList="getOrganList"></tb-left-tree>
  11. <!-- <div class="tree" style="
  12. height: 100%;
  13. width: 100%;
  14. overflow: auto;
  15. display: inline-flex;">
  16. <el-tree
  17. :highlight-current="true"
  18. style="height:100%;"
  19. :data="treeData"
  20. node-key="id"
  21. :expand-on-click-node="false"
  22. @node-click="treeNodeClickHandler"
  23. ref="jigou_tree"
  24. >
  25. <div class="custom-tree-node" slot-scope="{ node, data }">
  26. <span style="float:left;">{{ data.pnm}}</span>
  27. </div>
  28. </el-tree>
  29. </div> -->
  30. </el-aside>
  31. <!-- <el-container> -->
  32. <el-main id="dxdcListMainsk" style="padding:5px 20px;">
  33. <!-- <div>
  34. <h3 style="text-align: center">
  35. 水闸督查情况
  36. <el-button type="primary" style="float: right;margin: 0 0 10px;"><i class="el-icon-circle-plus"></i> 添加督查水闸</el-button>
  37. </h3>
  38. </div>
  39. <el-row :gutter="10" style="margin:5px -5px 15px -5px;">
  40. <el-col :span="24">
  41. <el-tag size="small" style="width: 175px;text-align: center;">
  42. <i class="el-icon-info"></i>
  43. <span style="margin-left: 5px">暗访水闸总计:</span>
  44. <span style="font-weight: 700;margin-left: 5px">{{this.total}}</span>
  45. </el-tag>
  46. </el-col>
  47. </el-row> -->
  48. <el-row>
  49. <el-col :span="24">
  50. <el-form
  51. :inline="true"
  52. size="mini"
  53. class="demo-form-inline"
  54. style="padding-left: 10px;"
  55. >
  56. <el-form-item label="督查状态">
  57. <el-select v-model="dcType" clearable placeholder="督查状态">
  58. <el-option label="未督查" value="0"></el-option>
  59. <el-option label="督查中" value="1"></el-option>
  60. <el-option label="已督查" value="2"></el-option>
  61. </el-select>
  62. </el-form-item>
  63. <el-form-item label="行政区名称">
  64. <el-input v-model="adName" clearable placeholder="行政区名称"></el-input>
  65. </el-form-item>
  66. <el-form-item label="水闸名称">
  67. <el-input v-model="nm" placeholder="水闸名称" clearable></el-input>
  68. </el-form-item>
  69. <el-form-item label="工程规模">
  70. <el-select v-model="engScale" clearable placeholder="工程规模">
  71. <el-option
  72. v-for="item in engScales"
  73. :key="item.id"
  74. :label="item.name"
  75. :value="item.id"
  76. ></el-option>
  77. </el-select>
  78. </el-form-item>
  79. <!-- <el-form-item label="检查单位">
  80. <el-select v-model="orgName" clearable placeholder="检查单位">
  81. <el-option v-for="item in lyjg" :key="item.id" :label="item.pnm" :value="item.id"></el-option>
  82. </el-select>
  83. </el-form-item> -->
  84. <el-form-item label="所在组">
  85. <el-autocomplete
  86. v-model="groupName"
  87. clearable
  88. value-key="nm"
  89. :fetch-suggestions="querySearchAsync"
  90. placeholder="请输入内容"
  91. @select="handleSelect"
  92. ></el-autocomplete>
  93. </el-form-item>
  94. <el-form-item label="督查时间">
  95. <div style="display: flex;">
  96. <el-date-picker
  97. v-model="dateRange"
  98. type="daterange"
  99. value-format="yyyy-MM-dd"
  100. style="width:100%"
  101. range-separator="至"
  102. start-placeholder="开始日期"
  103. end-placeholder="结束日期"
  104. ></el-date-picker>
  105. </div>
  106. </el-form-item>
  107. <el-form-item>
  108. <el-button type="primary" @click="onSubmit">查询</el-button>
  109. <!-- <el-button type="success" @click="reFresh">刷新</el-button>-->
  110. </el-form-item>
  111. <!-- <el-button type="success" style="float:right;margin-left:5px"
  112. @click="showPlDialog"
  113. icon="el-icon-upload2"
  114. :disabled="disabled"
  115. >批量填报</el-button> -->
  116. <!-- 水闸批量导入弹窗 -->
  117. <dctb-sz-pl v-if="showShuiZhaTianBaoPl" @closePlDialog="closePlDialog"
  118. ></dctb-sz-pl>
  119. </el-form>
  120. </el-col>
  121. </el-row>
  122. <el-table
  123. :data="skDataList"
  124. style="width: 100%"
  125. border
  126. :height="dxdcMainHeight"
  127. v-loading="expLoading"
  128. ref="szTb"
  129. >
  130. <el-table-column
  131. prop="province"
  132. label="省" v-if="isXj"
  133. show-overflow-tooltip
  134. min-width="80"
  135. align="center"
  136. ></el-table-column>
  137. <el-table-column
  138. prop="city"
  139. :label="ownAdName"
  140. show-overflow-tooltip
  141. min-width="80"
  142. align="center"
  143. ></el-table-column>
  144. <el-table-column
  145. prop="county"
  146. label="县"
  147. v-if="isXj"
  148. show-overflow-tooltip
  149. min-width="80"
  150. align="center"
  151. ></el-table-column>
  152. <el-table-column show-overflow-tooltip prop="nm" label="水闸名称" min-width="130" align="center"
  153. fixed="left"></el-table-column>
  154. <!-- <el-table-column-->
  155. <!-- prop="riverName"-->
  156. <!-- label="检查单位"-->
  157. <!-- show-overflow-tooltip-->
  158. <!-- min-width="120"-->
  159. <!-- align="center"-->
  160. <!-- ></el-table-column>-->
  161. <el-table-column
  162. prop="groupName"
  163. label="所在组"
  164. show-overflow-tooltip
  165. min-width="100"
  166. align="center"
  167. ></el-table-column>
  168. <el-table-column
  169. prop="intm"
  170. label="督查时间"
  171. show-overflow-tooltip
  172. min-width="100"
  173. align="center"
  174. ></el-table-column>
  175. <!-- <el-table-column
  176. prop="uptm"
  177. label="更新时间"
  178. align="center"
  179. :formatter="formatDate"
  180. min-width="120"
  181. ></el-table-column> -->
  182. <el-table-column prop="wtdstState" label="督查状态" align="center" min-width="80">
  183. <template slot-scope="scope">
  184. <span
  185. style="padding: 3px 10px;background:#F56C6C;border-radius:15px;color:rgba(255,255,255,1)"
  186. v-if="scope.row.wtdstState == 0"
  187. >未督查</span>
  188. <span
  189. style="padding: 3px 10px;background:#67C23A;border-radius:15px;color:rgba(255,255,255,1)"
  190. v-if="scope.row.wtdstState == 1"
  191. >督查中</span>
  192. <span
  193. style="padding: 3px 10px;background:#27C19F;border-radius:15px;color:rgba(255,255,255,1)"
  194. v-if="scope.row.wtdstState == 2"
  195. >已督查</span>
  196. </template>
  197. </el-table-column>
  198. <el-table-column prop="engScal" label="工程规模" :formatter="formatEngScal" min-width="80" align="center"></el-table-column>
  199. <el-table-column prop="gateType" label="水闸类型" :formatter="formatGateType" min-width="80" align="center"></el-table-column>
  200. <!-- <el-table-column prop="engSta" label="建设情况" :formatter="engStaType" min-width="100"></el-table-column> -->
  201. <!-- <el-table-column prop="location" show-overflow-tooltip min-width="200" label="水闸所在位置"></el-table-column>-->
  202. <!-- <el-table-column show-overflow-tooltip prop="gateAdmName" min-width="180" label="管理单位"></el-table-column>-->
  203. <!-- <el-table-column prop="totCap" label="总库容(万m³)" align="right" min-width="130"></el-table-column> -->
  204. <!-- <el-table-column
  205. prop="damTypeStr"
  206. label="主坝坝型"
  207. align="right"
  208. min-width="130">
  209. </el-table-column>-->
  210. <div v-if="currentRlcode.indexOf('63') == '0'">
  211. <el-table-column prop="mrsCiStat" label="管理责任体系" align="center" min-width="80">
  212. <template slot-scope="scope">
  213. <p style="cursor:pointer;color:#F56C6C;" v-if="scope.row.mrsCiStat == 0 || !scope.row.mrsCiStat">待填报</p>
  214. <p style="cursor:pointer;color:#fbb56d" v-if="scope.row.mrsCiStat == 1">未完成</p>
  215. <p style="cursor:pointer;color:#67C23A" v-if="scope.row.mrsCiStat == 2">已完成</p>
  216. </template>
  217. </el-table-column>
  218. <el-table-column prop="safeStat" label="安全管理" align="center" min-width="80">
  219. <template slot-scope="scope">
  220. <p style="cursor:pointer;color:#F56C6C;" v-if="scope.row.safeStat == 0">待填报</p>
  221. <p style="cursor:pointer;color:#fbb56d" v-if="scope.row.safeStat == 1">未完成</p>
  222. <p style="cursor:pointer;color:#67C23A" v-if="scope.row.safeStat == 2">已完成</p>
  223. </template>
  224. </el-table-column>
  225. <el-table-column prop="dmamStat" label="日常管理和维修养护" align="center" min-width="80">
  226. <template slot-scope="scope">
  227. <p style="cursor:pointer;color:#F56C6C;" v-if="scope.row.dmamStat == 0">待填报</p>
  228. <p style="cursor:pointer;color:#fbb56d" v-if="scope.row.dmamStat == 1">未完成</p>
  229. <p style="cursor:pointer;color:#67C23A" v-if="scope.row.dmamStat == 2">已完成</p>
  230. </template>
  231. </el-table-column>
  232. <el-table-column prop="proenStat" label="工程实体" align="center" min-width="80">
  233. <template slot-scope="scope">
  234. <p style="cursor:pointer;color:#F56C6C;" v-if="scope.row.proenStat == 0">待填报</p>
  235. <p style="cursor:pointer;color:#fbb56d" v-if="scope.row.proenStat == 1">未完成</p>
  236. <p style="cursor:pointer;color:#67C23A" v-if="scope.row.proenStat == 2">已完成</p>
  237. </template>
  238. </el-table-column>
  239. </div>
  240. <div v-else>
  241. <el-table-column prop="baseStat" label="基本情况" align="center" min-width="80">
  242. <template slot-scope="scope">
  243. <p style="cursor:pointer;color:#F56C6C;" v-if="scope.row.baseStat == 0 || !scope.row.baseStat">待填报</p>
  244. <p style="cursor:pointer;color:#fbb56d" v-if="scope.row.baseStat == 1">未完成</p>
  245. <p style="cursor:pointer;color:#67C23A" v-if="scope.row.baseStat == 2">已完成</p>
  246. </template>
  247. </el-table-column>
  248. </div>
  249. <el-table-column align="center" label="操作" min-width="200" fixed="right" v-if="ownPriv('manage') || ownPriv('revoke')">
  250. <template slot-scope="scope">
  251. <div style="display: flex;justify-content: center">
  252. <div v-if="ownPriv('manage')" style="display: flex;">
  253. <el-button
  254. size="mini"
  255. type="success"
  256. plain
  257. v-if="!scope.row.rgstrId && scope.row.wtdstState!='2'"
  258. @click="toAddMember('填报',scope.row)"
  259. >填报
  260. </el-button>
  261. <el-button
  262. size="mini"
  263. plain
  264. type="success"
  265. v-if="scope.row.rgstrId && scope.row.wtdstState!='2'"
  266. @click="toAddMember('编辑',scope.row)"
  267. >编辑
  268. </el-button>
  269. <el-button size="mini" type="danger" plain @click="deleteMember(scope.row)" plain
  270. v-if="scope.row.wtdstState!='2'">删除
  271. </el-button>
  272. <el-button size="mini" type="danger" plain @click="submitHandler(scope.row)" plain
  273. v-if="scope.row.wtdstState!='2'">提交
  274. </el-button>
  275. </div>
  276. <el-button size="mini" style="margin-left: 10px;" type="warning" v-if="scope.row.rgstrId && scope.row.wtdstState == '2'" plain
  277. @click="toCheck(scope.row,true)">查看
  278. </el-button>
  279. <div v-if="ownPriv('revoke')" style="padding-left: 10px;">
  280. <el-button size="mini" type="danger" v-if="scope.row.rgstrId && scope.row.wtdstState == '2'" plain
  281. @click="revoke(scope.row)">撤回
  282. </el-button>
  283. </div>
  284. </div>
  285. </template>
  286. </el-table-column>
  287. </el-table>
  288. <el-pagination
  289. background
  290. :pager-count="5"
  291. :current-page="pageIndex"
  292. :page-size="pageSize"
  293. :page-sizes="[10, 20, 30, 40, 50, 100]"
  294. layout="sizes, total, prev, pager, next"
  295. :total="total"
  296. @current-change="pageIndexChange"
  297. @size-change="handleSizeChange"
  298. ></el-pagination>
  299. </el-main>
  300. <!-- </el-container> -->
  301. <sztb
  302. v-if="showShuiZhaTianBao"
  303. :rowData="rowData"
  304. :currentObjectRgstrId="currentObjectRgstrId"
  305. :currentResCode="currentResCode"
  306. :currentGroupId="currentGroupId"
  307. :currentAdcode="currentAdcode"
  308. :currentObjectId="currentObjectId"
  309. :currentObjectName="currentResName"
  310. :currentRsvrNm="currentRsvrNm"
  311. :currentObjectEngScale="currentEngScale"
  312. :showOrEdit="showOrEdit"
  313. :openType="openType"
  314. :gdX="gdX"
  315. :gdY="gdY"
  316. :ifView="ifView"
  317. @cancelHandler="cancelHandler"
  318. @addShuiKuSuccess="addShuiKuSuccess"
  319. ></sztb>
  320. </el-container>
  321. <!-- 添加/编辑人员弹窗 -->
  322. </div>
  323. </template>
  324. <script>
  325. import request from "../../utils/gw_ajax_request.js";
  326. import {dateFormat} from "../../utils/gw_date.js";
  327. import {deleteDcdxByObjid, getSKList_sz, getSzjc} from "../../api/duChaTianBao.js";
  328. import provTreeList from "../../widgets/provTreeList.vue";
  329. import sztb from "../duChaTianBao/sztb.vue";
  330. import dctbSzPl from "../duChaTianBao/dctb_sz_piliang.vue";
  331. import {exportModel} from "@util/gw_exportModel";
  332. import tbLeftTree from "./dctb_lefttree.vue"
  333. export default {
  334. components: {
  335. provTreeList: provTreeList,
  336. sztb: sztb,
  337. dctbSzPl: dctbSzPl,
  338. tbLeftTree: tbLeftTree
  339. },
  340. props: [],
  341. data() {
  342. return {
  343. openType: false,
  344. dateRange: [],
  345. nm: "",
  346. lyjg: [],
  347. engScales: [
  348. {id: "1", name: "大型"},
  349. {id: "2", name: "中型"},
  350. {id: "3", name: "小型"},
  351. {id: "4", name: "其他"},
  352. ],
  353. engScale: "",
  354. orgName: "",
  355. groupName: "",
  356. groupId: "",
  357. groups: [],
  358. sttm: "",
  359. ettm: "",
  360. adName: "",
  361. treeData: [],
  362. dxdcMainHeight: window.innerHeight - 240,
  363. testHeight: window.innerHeight - 111,
  364. skDataList: [],
  365. pageIndex: 1,
  366. pageSize: 20,
  367. total: 0,
  368. tableHeight: 0,
  369. currentResCode: "",
  370. currentResName: "",
  371. currentRsvrNm:"",
  372. currentObjectId: "",
  373. currentObjectRgstrId: "",
  374. currentObjectInfoObject: null,
  375. showShuiZhaTianBao: false,
  376. currentAdCode: "",
  377. currentNodeId: "",
  378. rsvrName: "",
  379. dcType: "",
  380. rowData: "",
  381. disabled: false,
  382. showShuiZhaTianBaoPl: false,
  383. downIcon: "el-icon-download",
  384. expLoading: false,
  385. currentEngScale: "",
  386. currentGroupId: "",
  387. currentAdcode: "",
  388. showOrEdit: "",
  389. gdX: 0,
  390. gdY: 0,
  391. ifView: false,
  392. tabType: "0",//0全部数据,1当前数据,2历史数据
  393. };
  394. },
  395. computed: {
  396. persId() {
  397. return localStorage.getItem("userid")
  398. ? localStorage.getItem("userid")
  399. : "1098101939614724096";
  400. },
  401. isAdmin: function () {
  402. return localStorage.getItem("isAdmin")
  403. ? localStorage.getItem("isAdmin")
  404. : "";
  405. },
  406. currentRlcode() {
  407. return localStorage.getItem('currentRlcode') ? localStorage.getItem('currentRlcode') : ''
  408. }
  409. },
  410. mounted() {
  411. // this.getLeftTreeData();
  412. this.getSkDataList();
  413. this.getAllGroup();
  414. let h = document.getElementById("dxdcListMainsk").offsetHeight;
  415. this.tableHeight = h - 100;
  416. console.log("tableHeight" + this.tableHeight);
  417. },
  418. activated() {
  419. this.getLeftTreeData();
  420. this.currentNodeId = "";
  421. this.rsvrName = "";
  422. this.dcType = "";
  423. this.getSkDataList();
  424. },
  425. watch: {
  426. currentNodeId(n, o) {
  427. this.getSkDataList();
  428. },
  429. groupName(n, o) {
  430. if (n == "") {
  431. this.groupId = "";
  432. }
  433. }
  434. },
  435. methods: {
  436. reFresh() {
  437. this.getLeftTreeData();
  438. this.currentNodeId = "";
  439. this.rsvrName = "";
  440. this.dcType = "";
  441. this.getSkDataList();
  442. },
  443. //获取所有的组
  444. getAllGroup() {
  445. var _self = this;
  446. request
  447. .get("/dc/user/getGroupByPersid", {
  448. params: {persid: this.persId, ptype: "6", tabType: this.tabType}
  449. })
  450. .then(res => {
  451. if (res.success) {
  452. _self.groups = res.data;
  453. }
  454. });
  455. },
  456. querySearchAsync(queryString, cb) {
  457. var restaurants = this.groups;
  458. var results = queryString
  459. ? restaurants.filter(this.createStateFilter(queryString))
  460. : restaurants;
  461. clearTimeout(this.timeout);
  462. this.timeout = setTimeout(() => {
  463. cb(results);
  464. }, 1500 * Math.random());
  465. },
  466. createStateFilter(queryString) {
  467. return state => {
  468. return state.nm.toLowerCase().indexOf(queryString.toLowerCase()) != -1;
  469. };
  470. },
  471. handleSelect(item) {
  472. console.log(item);
  473. this.groupId = item.id;
  474. },
  475. getLeftTreeData() {
  476. var _self = this;
  477. _self.lyjg = [];
  478. request
  479. .get("/dc/organization/base/getAllNode", {
  480. params: {userId: this.persId, orgType: "006"}
  481. })
  482. .then(res => {
  483. let data = res.data;
  484. data.forEach(ele => {
  485. if (ele.pid == null || ele.pid == "") {
  486. ele.pid = "006";
  487. }
  488. if (ele.id.length == 6) {
  489. _self.lyjg.push(ele);
  490. }
  491. });
  492. data = _self.getTrees(data);
  493. _self.treeData = data;
  494. console.log(data);
  495. // _self.duChaType = _self.treeData[0].id.substring(2,3);
  496. });
  497. },
  498. //格式化树形数据
  499. getTrees(list) {
  500. //@wxcwater重写方法 适应多个树
  501. let highLevelLength = 99; //预设最大节点id长度,目前最大应该为12,所以设置为99保证正常
  502. let _self = this;
  503. list.forEach((item, index) => {
  504. item["pidLength"] = item.pid && item.pid != "" ? item.pid.length : 0;
  505. if (highLevelLength > item.pidLength) {
  506. highLevelLength = item.pidLength;
  507. }
  508. });
  509. console.log(highLevelLength);
  510. let heightLevelNode = [];
  511. list.forEach((item, index) => {
  512. if (highLevelLength >= item.pidLength) {
  513. heightLevelNode.push(item);
  514. }
  515. });
  516. list.forEach((item, index) => {
  517. heightLevelNode.forEach(pItem => {
  518. _self.addTreeNode(pItem, item);
  519. });
  520. });
  521. console.log(heightLevelNode);
  522. return heightLevelNode;
  523. },
  524. addTreeNode: function (treeNode, leafNode) {
  525. let _self = this;
  526. if (!treeNode.hasOwnProperty("children")) {
  527. treeNode["children"] = [];
  528. }
  529. if (leafNode.pid == treeNode.id) {
  530. treeNode.children.push(leafNode);
  531. return;
  532. }
  533. treeNode.children.forEach(item => {
  534. _self.addTreeNode(item, leafNode);
  535. });
  536. },
  537. getOrganList(data) {
  538. this.lyjg = data
  539. },
  540. treeNodeClickHandler: function (data, node, tree) {
  541. this.currentNodeId = data.id;
  542. if(this.currentNodeId.length==12){
  543. this.groupId = data.id;
  544. this.groupName = data.pnm;
  545. }
  546. },
  547. changeTabType: function (tabType) {
  548. this.tabType = tabType;
  549. this.currentNodeId = ""
  550. this.groupName = "";
  551. this.groupId = "";
  552. this.getAllGroup();
  553. this.getLeftTreeData();
  554. this.getSkDataList();
  555. },
  556. // treeNodeClickHandler: function (data) {
  557. // this.currentNodeId = data.id;
  558. // },
  559. provTreeSelectChangeHandler: function (params) {
  560. this.currentAdCode = params.likeCode;
  561. this.getSkDataList();
  562. },
  563. // formatDate(row, column) {
  564. // if (row.uptm) {
  565. // return dateFormat(row.uptm, "yyyy-MM-dd");
  566. // }
  567. // },
  568. formatGateType: function (row, column) {
  569. return row.gateType == "1" ? '分(泄)洪闸'
  570. : row.gateType == "2" ? '节制闸'
  571. : row.gateType == "3" ? '排(退)水闸'
  572. : row.gateType == "4" ? '引(进)水闸'
  573. : row.gateType == "5" ? '挡潮闸'
  574. : row.gateType == "6" ? '船闸' : '其他'
  575. },
  576. // engStaType:function(row, column){
  577. // return row.engSta == "0" ? '未建'
  578. // : row.engSta == "1" ? '在建'
  579. // : row.engSta == "2" ? '已建':'未知'
  580. // },
  581. formatEngScal: function (row, column) {
  582. return row.engScal == "1" ? '大型'
  583. : row.engScal == "2" ? '中型'
  584. : row.engScal == "3" ? '小型' : '其他'
  585. },
  586. getSkDataList: function () {
  587. this.expLoading = true;
  588. getSKList_sz(
  589. this.persId,
  590. this.pageSize,
  591. this.pageIndex,
  592. this.currentNodeId,
  593. this.nm,
  594. this.dcType,
  595. this.adName,
  596. this.dateRange && this.dateRange.length > 1 ? this.dateRange[0] : null,
  597. this.dateRange && this.dateRange.length > 1 ? this.dateRange[1] : null,
  598. this.orgName,
  599. this.engScale,
  600. this.groupId,
  601. this.tabType
  602. ).then(res => {
  603. console.log(res);
  604. res.data.list.forEach(item => {
  605. if (item.intm) {
  606. item.intm = dateFormat(item.intm, "yyyy-MM-dd");
  607. }
  608. });
  609. this.skDataList = res.data.list;
  610. this.expLoading = false;
  611. this.total = res.data.total;
  612. this.$nextTick(() => {
  613. this.$refs.szTb.doLayout()
  614. })
  615. });
  616. },
  617. onSubmit() {
  618. this.getSkDataList();
  619. },
  620. toAddMember(type, rowData) {
  621. var _self = this;
  622. this.ifView = false;
  623. this.rowData = rowData;
  624. _self.showOrEdit = 'edit';
  625. getSzjc(rowData.objId, rowData.code, rowData.groupId).then(
  626. res => {
  627. if (res.data) {
  628. _self.currentResCode = res.data.objCode;
  629. _self.currentObjectId = res.data.objId;
  630. _self.currentObjectRgstrId = res.data.id;
  631. _self.currentResName = res.data.gateName;
  632. _self.currentRsvrNm = res.data.gateName;
  633. _self.currentEngScale = res.data.engScal;
  634. _self.currentGroupId = res.data.groupId;
  635. _self.currentAdcode = res.data.adCode;
  636. _self.gdX = res.data.gdX;
  637. _self.gdY = res.data.gdY;
  638. _self.showShuiZhaTianBao = true;
  639. _self.openType = true;
  640. } else {
  641. console.log(res);
  642. }
  643. },
  644. err => {
  645. }
  646. );
  647. },
  648. toCheck(rowData, bol) {
  649. var _self = this;
  650. this.ifView = bol;
  651. this.rowData = rowData;
  652. _self.showOrEdit = 'edit';
  653. getSzjc(rowData.objId, rowData.code, rowData.groupId).then(
  654. res => {
  655. if (res.data) {
  656. _self.currentResCode = res.data.objCode;
  657. _self.currentObjectId = res.data.objId;
  658. _self.currentObjectRgstrId = res.data.id;
  659. _self.currentResName = res.data.gateName;
  660. _self.currentEngScale = res.data.engScal;
  661. _self.currentGroupId = res.data.groupId;
  662. _self.currentAdcode = res.data.adCode;
  663. _self.gdX = res.data.gdX;
  664. _self.gdY = res.data.gdY;
  665. _self.showShuiZhaTianBao = true;
  666. _self.openType = false;
  667. } else {
  668. console.log(res);
  669. }
  670. },
  671. err => {
  672. }
  673. );
  674. },
  675. revoke(rowData) {
  676. var _self = this;
  677. getSzjc(rowData.objId, rowData.code, rowData.groupId).then(
  678. res => {
  679. this.$confirm("确定要撤销该对象?", "提示", {
  680. confirmButtonText: "确定",
  681. cancelButtonText: "取消",
  682. type: "warning"
  683. })
  684. .then(() => {
  685. let formObj = {
  686. id: rowData.rgstrId,
  687. state: "1"
  688. };
  689. request.post("/att/waga/rgstr/update", formObj).then(res => {
  690. if (res.success) {
  691. _self.addShuiKuSuccess();
  692. _self.$message.success("提交成功");
  693. } else {
  694. _self.cancelHandler();
  695. }
  696. });
  697. })
  698. .catch(() => {
  699. });
  700. },
  701. err => {
  702. }
  703. );
  704. },
  705. cancelHandler() {
  706. this.showShuiZhaTianBao = false;
  707. },
  708. addShuiKuSuccess() {
  709. this.getSkDataList();
  710. // this.showShuiZhaTianBao = false;
  711. },
  712. // deleteMember(obj) {
  713. // console.log(obj);
  714. // var _self = this;
  715. // // /dc/insp/rsvrRgstr/delete/{id}
  716. // this.$confirm("确认清空填报信息并删除该水闸吗?", "提示", {
  717. // confirmButtonText: "确定",
  718. // cancelButtonText: "取消",
  719. // type: "warning"
  720. // })
  721. // .then(() => {
  722. // deleteObjByObjId(obj.objId, "6", obj.id, obj.nm, obj.id).then(
  723. // res => {
  724. // _self.pageIndexChange();
  725. // }
  726. // );
  727. // })
  728. // .catch(() => {});
  729. // },
  730. deleteMember(val) {
  731. console.log(val);
  732. var _self = this;
  733. this.$confirm('此操作将 “' + val.nm + '” 从督查对象列表中删除,是否继续?', '提示', {
  734. confirmButtonText: '确定',
  735. cancelButtonText: '取消',
  736. type: 'warning'
  737. }).then(() => {
  738. deleteDcdxByObjid(val.objId, 6).then(
  739. res => {
  740. if (res.success) {
  741. this.$message({
  742. type: 'success',
  743. message: '删除成功!'
  744. });
  745. }
  746. ;
  747. this.getSkDataList();
  748. }
  749. );
  750. }).catch(() => {
  751. this.$message({
  752. type: 'info',
  753. message: '已取消删除'
  754. });
  755. });
  756. },
  757. submitHandler(rowData) {
  758. console.log(rowData);
  759. var _self = this;
  760. getSzjc(rowData.objId, rowData.code, rowData.groupId).then(
  761. res => {
  762. if (this.currentRlcode.indexOf('63') == '0' || this.currentRlcode.indexOf('66') == '0') { //青海省
  763. if (res.data.mrsCiStat == "0") {
  764. this.$message({
  765. message: "请填写管理责任系统情况!",
  766. type: "warning"
  767. });
  768. return;
  769. } else if (res.data.safeStat == "0") {
  770. this.$message({
  771. message: "请填写安全管理情况!",
  772. type: "warning"
  773. });
  774. return;
  775. } else if (res.data.dmamStat == "0") {
  776. this.$message({
  777. message: "请填写日常管理和维护养护情况!",
  778. type: "warning"
  779. });
  780. return;
  781. } else if (res.data.proenStat == "0") {
  782. this.$message({
  783. message: "请填写工程实体情况!",
  784. type: "warning"
  785. });
  786. return;
  787. }
  788. } else {
  789. if (res.data.baseStat != "2") {
  790. this.$message({
  791. message: "基本情况填报未完成!",
  792. type: "warning"
  793. });
  794. return;
  795. }
  796. }
  797. this.$confirm("请确认所有信息填报完毕?", "提示", {
  798. confirmButtonText: "确定",
  799. cancelButtonText: "取消",
  800. type: "warning"
  801. })
  802. .then(() => {
  803. let formObj = {
  804. id: rowData.rgstrId,
  805. state: "2"
  806. };
  807. request.post("/att/waga/rgstr/update", formObj).then(res => {
  808. if (res.success) {
  809. _self.addShuiKuSuccess();
  810. _self.$message.success("提交成功");
  811. } else {
  812. _self.cancelHandler();
  813. }
  814. });
  815. })
  816. .catch(() => {
  817. });
  818. },
  819. err => {
  820. }
  821. );
  822. },
  823. pageIndexChange(val) {
  824. console.log(val);
  825. this.pageIndex = val;
  826. this.getSkDataList();
  827. },
  828. handleSizeChange(val) {
  829. this.pageSize = val;
  830. this.getSkDataList();
  831. },
  832. // 下载填报模板
  833. async downloadTemplate() {
  834. this.expLoading = true;
  835. let url =
  836. "/pdcApi/dc/impExcel/downloadTemplate/sk?userId=" +
  837. this.persId +
  838. "&id=" +
  839. this.currentNodeId;
  840. let downloadName = "水闸填报模板.xls";
  841. let type = "get";
  842. let result = await exportModel(type, url, downloadName);
  843. this.disabled = false;
  844. this.expLoading = result;
  845. },
  846. showPlDialog() {
  847. this.showShuiZhaTianBaoPl = true;
  848. },
  849. closePlDialog(val) {
  850. this.showShuiZhaTianBaoPl = false;
  851. }
  852. }
  853. };
  854. </script>
  855. <style>
  856. #dcdxHeader {
  857. padding: 15px 20px;
  858. }
  859. #dxdcFooter {
  860. text-align: center;
  861. }
  862. #dxdcAside {
  863. border: 1px solid #d5d5ff;
  864. }
  865. .el-table .warning-row {
  866. background: oldlace;
  867. }
  868. .el-table .success-row {
  869. background: #f0f9eb;
  870. }
  871. </style>