f9860f097fdcb72d2d701d7c9e16004c56ac383c.svn-base 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495
  1. <template>
  2. <div class="tcgzqk">
  3. <el-container style="height:520px;">
  4. <el-main style="border:1px solid #d5d5ff;margin-left:5px;padding:0px;">
  5. <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">信息填报</p>
  6. <el-form :model="addObj" :label-width="formLabelWidth" :rules="rules" ref="addObj" :disabled="ifDisabled">
  7. <br>
  8. <el-form-item label="电网是否解列">
  9. <el-radio v-model="addObj.pgIsSc" label="1" :disabled="ifReadyOnly">是</el-radio>
  10. <el-radio v-model="addObj.pgIsSc" label="2" :disabled="ifReadyOnly">否</el-radio>
  11. <el-button
  12. @click="addProblem('pgIsSc')"
  13. type="text"
  14. v-if="addObj.pgIsSc =='2'" :disabled="ifReadyOnly">
  15. <i class="el-icon-circle-plus add-problem-icon"></i>
  16. </el-button>
  17. <i @click="showPic('pgIsSc')" class="el-icon-camera-solid"></i>
  18. </el-form-item>
  19. <el-form-item label="取水口是否按要求封堵">
  20. <el-radio v-model="addObj.intIsBar" label="1" :disabled="ifReadyOnly">是</el-radio>
  21. <el-radio v-model="addObj.intIsBar" label="2" :disabled="ifReadyOnly">否</el-radio>
  22. <el-radio v-model="addObj.intIsBar" label="3" :disabled="ifReadyOnly">无要求</el-radio>
  23. <el-button
  24. @click="addProblem('intIsBar')"
  25. type="text"
  26. v-if="addObj.intIsBar =='2'" :disabled="ifReadyOnly">
  27. <i class="el-icon-circle-plus add-problem-icon"></i>
  28. </el-button>
  29. <i @click="showPic('intIsBar')" class="el-icon-camera-solid"></i>
  30. </el-form-item>
  31. <el-form-item label="设施设备是否拆除到位">
  32. <el-radio v-model="addObj.fcltsIsDip" label="1" :disabled="ifReadyOnly">是</el-radio>
  33. <el-radio v-model="addObj.fcltsIsDip" label="2" :disabled="ifReadyOnly">否</el-radio>
  34. <el-button
  35. @click="addProblem('fcltsIsDip')"
  36. type="text"
  37. v-if="addObj.fcltsIsDip =='2'" :disabled="ifReadyOnly">
  38. <i class="el-icon-circle-plus add-problem-icon"></i>
  39. </el-button>
  40. <i @click="showPic('fcltsIsDip')" class="el-icon-camera-solid"></i>
  41. <br>
  42. <span class="span200">
  43. 拆除到位的设备设施类型
  44. <el-select v-model="addObj.fcltsType" clearable multiple placeholder="请选择">
  45. <el-option v-for="item in sbccOption" :key="item.value" :label="item.label"
  46. :value="item.value"></el-option>
  47. </el-select>
  48. </span>
  49. </el-form-item>
  50. <el-form-item label="是否按规定核销相关手续">
  51. <el-radio v-model="addObj.isVacrpatr" label="1" :disabled="ifReadyOnly">是</el-radio>
  52. <el-radio v-model="addObj.isVacrpatr" label="2" :disabled="ifReadyOnly">否</el-radio>
  53. <el-button
  54. @click="addProblem('isVacrpatr')"
  55. type="text"
  56. v-if="addObj.isVacrpatr =='2'" :disabled="ifReadyOnly">
  57. <i class="el-icon-circle-plus add-problem-icon"></i>
  58. </el-button>
  59. </el-form-item>
  60. <el-form-item label="实施中是否由于安全措施落实不到位引起安全生产责任事故">
  61. <el-radio v-model="addObj.itioIsDttsmaniptctspra" label="1" :disabled="ifReadyOnly">是</el-radio>
  62. <el-radio v-model="addObj.itioIsDttsmaniptctspra" label="2" :disabled="ifReadyOnly">否</el-radio>
  63. <el-button
  64. @click="addProblem('itioIsDttsmaniptctspra')"
  65. type="text"
  66. v-if="addObj.itioIsDttsmaniptctspra =='1'" :disabled="ifReadyOnly">
  67. <i class="el-icon-circle-plus add-problem-icon"></i>
  68. </el-button>
  69. </el-form-item>
  70. <el-form-item label="生态修复措施是否落实">
  71. <el-radio v-model="addObj.ermIsWkab" label="1" :disabled="ifReadyOnly">是</el-radio>
  72. <el-radio v-model="addObj.ermIsWkab" label="2" :disabled="ifReadyOnly">否</el-radio>
  73. <el-radio v-model="addObj.ermIsWkab" label="3" :disabled="ifReadyOnly">不需要(对照“一站一策”方案要求)</el-radio>
  74. <el-button
  75. @click="addProblem('ermIsWkab')"
  76. type="text"
  77. v-if="addObj.ermIsWkab =='2'" :disabled="ifReadyOnly">
  78. <i class="el-icon-circle-plus add-problem-icon"></i>
  79. </el-button>
  80. <div v-if="addObj.ermIsWkab == 1">
  81. <span class="span200">生态修复措施类型
  82. <el-select v-model="addObj.ermType" clearable multiple placeholder="请选择">
  83. <el-option v-for="item in stxfOption" :key="item.value" :label="item.label"
  84. :value="item.value"></el-option>
  85. </el-select>
  86. </span>
  87. <span class="span200" v-if="addObj.ermType">
  88. <el-input placeholder="请输入" v-if="addObj.ermType.indexOf('7') > - 1" v-model="addObj.ermTypeOther"
  89. class="input50"></el-input>
  90. </span>
  91. </div>
  92. <div>
  93. <span class="span200">限期退出类电站是否落实生态流量</span>
  94. <el-radio v-model="addObj.wfclpswatlIsWkabEf" label="1">是</el-radio>
  95. <el-radio v-model="addObj.wfclpswatlIsWkabEf" label="2">否</el-radio>
  96. <el-button
  97. @click="addProblemList('wfclpswatlIsWkabEf')"
  98. type="text"
  99. v-if="addObj.wfclpswatlIsWkabEf =='2'">
  100. <i class="el-icon-circle-plus add-problem-icon"></i>
  101. </el-button>
  102. </div>
  103. </el-form-item>
  104. <el-form-item label="退出方案中要求的社会风险防控措施是否落实">
  105. <el-radio v-model="addObj.etsrpacmritpIsWkab" label="1" :disabled="ifReadyOnly">是</el-radio>
  106. <el-radio v-model="addObj.etsrpacmritpIsWkab" label="2" :disabled="ifReadyOnly">否</el-radio>
  107. <el-radio v-model="addObj.etsrpacmritpIsWkab" label="3" :disabled="ifReadyOnly">方案中无要求</el-radio>
  108. <el-button
  109. @click="addProblem('etsrpacmritpIsWkab')"
  110. type="text"
  111. v-if="addObj.etsrpacmritpIsWkab =='2'" :disabled="ifReadyOnly">
  112. <i class="el-icon-circle-plus add-problem-icon"></i>
  113. </el-button>
  114. </el-form-item>
  115. <el-form-item label="是否有保留设施">
  116. <el-radio v-model="addObj.isHasKpFclts" label="1" :disabled="ifReadyOnly">是</el-radio>
  117. <el-radio v-model="addObj.isHasKpFclts" label="2" :disabled="ifReadyOnly">否</el-radio>
  118. <div v-if="addObj.isHasKpFclts == 1">
  119. <div>
  120. <span class="span200">保留设施类型</span>
  121. <el-select v-model="addObj.kpFcltsType" clearable multiple placeholder="请选择">
  122. <el-option v-for="item in blssOption" :key="item.value" :label="item.label"
  123. :value="item.value"></el-option>
  124. </el-select>
  125. <span class="span200" v-if="addObj.kpFcltsType">
  126. <el-input placeholder="请输入" v-if="addObj.kpFcltsType.indexOf('3') > - 1"
  127. v-model="addObj.kpFcltsTypeOther" class="input50"></el-input>
  128. </span>
  129. </div>
  130. <div>
  131. <span class="span200">保留设施管护主体和责任是否落实</span>
  132. <el-radio v-model="addObj.mtmbotfIsWkab" label="1">是</el-radio>
  133. <el-radio v-model="addObj.mtmbotfIsWkab" label="2">否</el-radio>
  134. <el-button
  135. @click="addProblemList('mtmbotfIsWkab')"
  136. type="text"
  137. v-if="addObj.mtmbotfIsWkab =='2'">
  138. <i class="el-icon-circle-plus add-problem-icon"></i>
  139. </el-button>
  140. <span class="span200" v-if="addObj.mtmbotfIsWkab == 1">管护主体
  141. <el-input placeholder="请输入" v-model="addObj.mtmbotf" class="input50"></el-input>
  142. </span>
  143. </div>
  144. <div>
  145. <span class="span200">保留设施安全隐患是否消除</span>
  146. <el-radio v-model="addObj.pfshIsRmv" label="1">是</el-radio>
  147. <el-radio v-model="addObj.pfshIsRmv" label="2">否</el-radio>
  148. <el-button
  149. @click="addProblemList('pfshIsRmv')"
  150. type="text"
  151. v-if="addObj.pfshIsRmv =='2'">
  152. <i class="el-icon-circle-plus add-problem-icon"></i>
  153. </el-button>
  154. <span class="span200" v-if="addObj.pfshIsRmv == 1">采取措施
  155. <el-input placeholder="请输入" v-model="addObj.pfshRmvStp" class="input50"></el-input>
  156. </span>
  157. </div>
  158. </div>
  159. </el-form-item>
  160. <el-form-item label="退出方案中要求的替代措施是否落实">
  161. <el-radio v-model="addObj.amritwpIsWkab" label="1" :disabled="ifReadyOnly">是</el-radio>
  162. <el-radio v-model="addObj.amritwpIsWkab" label="2" :disabled="ifReadyOnly">否</el-radio>
  163. <el-radio v-model="addObj.amritwpIsWkab" label="3" :disabled="ifReadyOnly">方案中无要求</el-radio>
  164. <el-button
  165. @click="addProblem('amritwpIsWkab')"
  166. type="text"
  167. v-if="addObj.amritwpIsWkab =='2'" :disabled="ifReadyOnly">
  168. <i class="el-icon-circle-plus add-problem-icon"></i>
  169. </el-button>
  170. </el-form-item>
  171. <el-form-item label="备注">
  172. <el-input v-model="addObj.note" autocomplete="off" type="textarea"
  173. style="width:70%;" :disabled="ifReadyOnly"></el-input>
  174. </el-form-item>
  175. <el-form-item label>
  176. <el-button type="primary" @click="makesure" :disabled="ifReadyOnly">保 存</el-button>
  177. </el-form-item>
  178. </el-form>
  179. </el-main>
  180. <problem-list
  181. v-if="showProblemList"
  182. :currentObjectId="currentObjectId"
  183. :currentObjectName="currentObjectName"
  184. :problemMiddleType="'小水电'"
  185. :problData="probId"
  186. @dialogFormVisible="getdialogFormVisible"
  187. :currentObjectRgstrId="rowData.id"
  188. :rowData="rowData"
  189. :projectName="rowData.hystName"
  190. ></problem-list>
  191. </el-container>
  192. <add-pic-com v-if="jqmmDialogShow" :dialogTitle="'佐证材料'" :jqmmEngId="rowData.id" :type="type"
  193. @jqmmDialogClose="jqmmDialogClose"></add-pic-com>
  194. </div>
  195. </template>
  196. <script>
  197. import request from "@util/gw_ajax_request.js";
  198. import {getHystOocInfoApi} from "@api/duChaTianBao.js";
  199. import problemList from '../../../addProlemMidForm/xiaoshuidianProblemList'
  200. import addPicCom from "../../../duChaTianBao/xiaoshuidian/addPic.vue";
  201. export default {
  202. components: {
  203. problemList,
  204. addPicCom
  205. },
  206. props: ['rowData', 'currentObjectName', 'ifReadyOnly', 'currentObjectId', 'ifDisabled'],
  207. data() {
  208. return {
  209. objtbStatu: {
  210. reverStat: "",
  211. rgstrId: ""
  212. },
  213. dxdcMainHeight: window.innerHeight - 197,
  214. dialogFormVisible: false,
  215. formLabelWidth: "300px",
  216. loading: true,
  217. addObj: {
  218. pgIsSc: '',//电网是否解列(1:是;2:否;) ,
  219. intIsBar: '',//取水口是否按要求封堵(1:是;2:否;) ,
  220. fcltsIsDip: '',//设施设备是否拆除到位(1:是;2:否;) ,
  221. fcltsType: '',//设施设备类型(1:水工建筑物;2:机电设备;3:金属结构;) ,
  222. isVacrpatr: '',//是否按规定核销相关手续(1:是;2:否;) ,
  223. itioIsDttsmaniptctspra: '',//实施中是否由于安全措施落实不到位引起安全生产责任事故 ,
  224. ermIsWkab: '',//生态修复措施是否落实(1:是;2:否;3:不需要) ,
  225. ermType: '',//生态修复措施类型(1:植被恢复;2:河道疏浚;3:修建生态堰坝;4:修建生态护坡;5:修建过鱼设施;6:增殖放流;7:其他;) ,
  226. ermTypeOther: '',//生态修复措施其他类型 ,
  227. wfclpswatlIsWkabEf: '',//限期退出类电站是否落实生态流量(1:是;2:否;) ,
  228. etsrpacmritpIsWkab: '',//退出方案中要求的社会风险防控措施是否落实(1:是;2:否;) ,
  229. isHasKpFclts: '',//是否有保留设施(1:是;2:否;) ,
  230. kpFcltsType: '',//保留设施类型(1:水工建筑物;2:厂房;3:其他) ,
  231. kpFcltsTypeOther: '',//保留设施其他类型 ,
  232. mtmbotfIsWkab: '',//保留设施管护主体和责任是否落实(1:是;2:否;) ,
  233. mtmbotf: '',//保留设施管护主体 ,
  234. pfshIsRmv: '',//保留设施安全隐患是否消除(1:是;2:否;) ,
  235. pfshRmvStp: '',//保留设施安全隐患消除采取措施 ,
  236. amritwpIsWkab: '',//退出方案中要求 ,'/,/
  237. },
  238. sbccOption: [
  239. {
  240. label: "水工建筑物",
  241. value: "1"
  242. },
  243. {
  244. label: "机电设备",
  245. value: "2"
  246. },
  247. {
  248. label: "金属结构",
  249. value: "3"
  250. }
  251. ],
  252. stxfOption: [
  253. {
  254. label: "植被恢复",
  255. value: "1"
  256. },
  257. {
  258. label: "河道疏浚",
  259. value: "2"
  260. },
  261. {
  262. label: "修建生态堰坝",
  263. value: "3"
  264. },
  265. {
  266. label: "修建生态护坡",
  267. value: "4"
  268. },
  269. {
  270. label: "修建过鱼设施",
  271. value: "5"
  272. },
  273. {
  274. label: "增殖放流",
  275. value: "6"
  276. },
  277. {
  278. label: "其他",
  279. value: "7"
  280. }
  281. ],
  282. blssOption: [
  283. {
  284. label: "水工建筑物",
  285. value: "1"
  286. },
  287. {
  288. label: "厂房",
  289. value: "2"
  290. },
  291. {
  292. label: "其他",
  293. value: "3"
  294. }
  295. ],
  296. rules: {},
  297. operationType1: "",
  298. lyjg: [],
  299. placeholder: "",
  300. probId: '',
  301. showProblemList: false,
  302. saveLoading: false,
  303. tableName: 'BIS_INSP_HYST_OOC_INFO',
  304. szRuls: [],
  305. jqmmDialogShow: false,
  306. type: '',
  307. };
  308. },
  309. computed: {
  310. recPersId() {
  311. return localStorage.getItem("userid")
  312. ? localStorage.getItem("userid")
  313. : "1098101939614724096";
  314. }
  315. },
  316. mounted() {
  317. this.getPblmType();
  318. this.getformList();
  319. },
  320. methods: {
  321. getformList() {
  322. let _self = this;
  323. getHystOocInfoApi(_self.rowData.id).then(res => {
  324. if (res.success) {
  325. if (res.data && Object.keys(res.data).length) {
  326. _self.addObj = res.data;
  327. _self.addObj.kpFcltsType = _self.addObj.kpFcltsType ? _self.addObj.kpFcltsType.split(',') : '';
  328. _self.addObj.ermType = _self.addObj.ermType ? _self.addObj.ermType.split(',') : '';
  329. _self.addObj.fcltsType = _self.addObj.fcltsType ? _self.addObj.fcltsType.split(',') : '';
  330. _self.operationType1 = "update";
  331. } else {
  332. _self.addObj = {};
  333. _self.operationType1 = "add";
  334. }
  335. } else {
  336. }
  337. });
  338. },
  339. //保存
  340. makesure() {
  341. let _self = this;
  342. this.addObj["rgstrId"] = this.rowData.id;
  343. this.addObj["recPersId"] = this.recPersId;
  344. _self.addObj.kpFcltsType = _self.addObj.kpFcltsType ? _self.addObj.kpFcltsType.join(',') : '';
  345. _self.addObj.ermType = _self.addObj.ermType ? _self.addObj.ermType.join(',') : '';
  346. _self.addObj.fcltsType = _self.addObj.fcltsType ? _self.addObj.fcltsType.join(',') : '';
  347. if (_self.addObj.pgIsSc &&
  348. _self.addObj.intIsBar &&
  349. _self.addObj.fcltsIsDip &&
  350. _self.addObj.isVacrpatr &&
  351. _self.addObj.itioIsDttsmaniptctspra &&
  352. _self.addObj.ermIsWkab &&
  353. _self.addObj.wfclpswatlIsWkabEf &&
  354. _self.addObj.etsrpacmritpIsWkab &&
  355. _self.addObj.isHasKpFclts &&
  356. _self.addObj.amritwpIsWkab) {
  357. this.addObj.status = "2"
  358. } else {
  359. this.addObj.status = "1"
  360. }
  361. if (_self.addObj.pgIsSc === undefined &&
  362. _self.addObj.intIsBar === undefined &&
  363. _self.addObj.fcltsIsDip === undefined &&
  364. _self.addObj.isVacrpatr === undefined &&
  365. _self.addObj.itioIsDttsmaniptctspra === undefined &&
  366. _self.addObj.ermIsWkab === undefined &&
  367. _self.addObj.wfclpswatlIsWkabEf === undefined &&
  368. _self.addObj.etsrpacmritpIsWkab === undefined &&
  369. _self.addObj.isHasKpFclts === undefined &&
  370. _self.addObj.amritwpIsWkab === undefined) {
  371. this.addObj.status = "0"
  372. }
  373. this.$confirm("确认保存小水库除险加固填报情况吗?", "提示", {
  374. confirmButtonText: "确定",
  375. cancelButtonText: "取消",
  376. type: "warning"
  377. })
  378. .then(() => {
  379. if (!this.saveLoading) {
  380. this.saveLoading = true
  381. request.post("/bis/insp/hyst/ooc/info", _self.addObj).then(res => {
  382. if (res.success) {
  383. _self.$message.success("保存成功");
  384. _self.$emit("addShuiKuSuccess");
  385. _self.getformList();
  386. }
  387. this.saveLoading = false
  388. }).catch(err => {
  389. this.saveLoading = false
  390. this.$message.info(err)
  391. });
  392. }
  393. })
  394. .catch(() => {
  395. });
  396. },
  397. //查看
  398. makeshow(type, row) {
  399. this.dialogFormVisible = true;
  400. },
  401. cancelHandler() {
  402. this.$emit("cancelHandler");
  403. },
  404. addProblem(item) {
  405. let rest = this.szRuls.filter(e => {
  406. return e.eName === item;
  407. });
  408. this.probId = rest[0].id;
  409. this.showProblemList = true;
  410. },
  411. getdialogFormVisible(val) {
  412. this.showProblemList = val
  413. },
  414. addProblemList(item) {
  415. let rest = this.szRuls.filter(e => {
  416. return e.eName === item;
  417. });
  418. this.probId = rest[0].id;
  419. this.showProblemList = true;
  420. },
  421. getPblmType() {
  422. const obj = {
  423. tname: this.tableName
  424. }
  425. request.post("/bis/insp/item/ques/info/findItemByType", obj).then(res => {
  426. console.log(res);
  427. this.szRuls = res.data;
  428. })
  429. },
  430. showPic(type) {
  431. this.type = type
  432. this.jqmmDialogShow = true
  433. },
  434. jqmmDialogClose() {
  435. this.jqmmDialogShow = false;
  436. },
  437. }
  438. }
  439. ;
  440. </script>
  441. <style lang="scss">
  442. .tcgzqk {
  443. #dcdxHeader {
  444. padding: 15px 20px;
  445. }
  446. #dxdcFooter {
  447. text-align: center;
  448. }
  449. #dxdcAside {
  450. border: 1px solid #d5d5ff;
  451. }
  452. .add-problem-icon {
  453. font-size: 16px;
  454. }
  455. .input50 {
  456. width: 200px !important;
  457. margin: 0 12px 12px 0;
  458. }
  459. .input500 {
  460. width: 500px !important;
  461. }
  462. .el-icon-camera-solid, .el-icon-circle-plus {
  463. margin-left: 20px;
  464. color: #00bbff;
  465. font-size: 18px;
  466. line-height: 12px;
  467. vertical-align: middle;
  468. cursor: pointer;
  469. }
  470. }
  471. </style>