664ca75d0a3e362cc6e4d5296476b9daeddaf8d9.svn-base 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320
  1. <template>
  2. <div class="gcsthyxglqk">
  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">
  7. <br>
  8. <p style="margin-top:10px;margin-bottom: 10px">
  9. <i class="el-icon-caret-right"></i>
  10. <span style="width:120px;padding-left: 10px">应急预案编制情况(两个预案可以合并为一个)</span>
  11. <span class="hrs"></span>
  12. </p>
  13. <el-form-item label="是否以县或乡镇或单座水库为单位编制小型水库防洪抢险应急预案,并通过有关部门审批">
  14. <el-radio v-model="addObj.isManPlan" label="1">是</el-radio>
  15. <el-radio v-model="addObj.isManPlan" label="0">否</el-radio>
  16. <el-button
  17. @click="addProblem('isManPlan')"
  18. type="text"
  19. v-if="addObj.isManPlan =='0'">
  20. <i class="el-icon-circle-plus add-problem-icon"></i>
  21. </el-button>
  22. </el-form-item>
  23. <el-form-item label="是否以县或乡镇或单座水库为单位编制安全管理应急预案,并通过有关部门审批">
  24. <el-radio v-model="addObj.isPassPlan" label="1">是</el-radio>
  25. <el-radio v-model="addObj.isPassPlan" label="0">否</el-radio>
  26. <el-button
  27. @click="addProblem('isPassPlan')"
  28. type="text"
  29. v-if="addObj.isPassPlan =='0'">
  30. <i class="el-icon-circle-plus add-problem-icon"></i>
  31. </el-button>
  32. </el-form-item>
  33. <p style="margin-top:10px;margin-bottom: 10px">
  34. <i class="el-icon-caret-right"></i>
  35. <span style="width:120px;padding-left: 10px">水位监测记录</span>
  36. <span class="hrs"></span>
  37. </p>
  38. <el-form-item label="有无水位监测记录">
  39. <el-radio v-model="addObj.isRecord" label="1">有</el-radio>
  40. <el-radio v-model="addObj.isRecord" label="0">无</el-radio>
  41. <el-button
  42. @click="addProblem('isRecord')"
  43. type="text"
  44. v-if="addObj.isRecord =='0'">
  45. <i class="el-icon-circle-plus add-problem-icon"></i>
  46. </el-button>
  47. </el-form-item>
  48. <el-form-item label="监测记录是否满足要求" v-if="addObj.isRecord == '1'">
  49. <el-tooltip placement="top">
  50. <div slot="content">重点小型水库:非汛期至少1次/周;主汛期至少1次/天;后汛期至少1次/2天;水位超汛限水位时至少2次/天。<br/><br/>重要小型水库:非汛期至少1次/10天;主汛期至少1次/3天;后汛期至少1次/周天;水位超汛限水位时至少1次/天。<br/><br/>一般小型水库:非汛期至少1次/15天;汛期至少1次/周;水位超汛限水位时至少1次/天。
  51. </div>
  52. <i class="el-icon-question"></i>
  53. </el-tooltip>
  54. <el-radio v-model="addObj.isTrue" label="1">是</el-radio>
  55. <el-radio v-model="addObj.isTrue" label="0">否</el-radio>
  56. <el-button
  57. @click="addProblem('isTrue')"
  58. type="text"
  59. v-if="addObj.isTrue =='0'">
  60. <i class="el-icon-circle-plus add-problem-icon"></i>
  61. </el-button>
  62. </el-form-item>
  63. <el-form-item label="有无巡查记录">
  64. <el-radio v-model="addObj.isPolling" label="1">有</el-radio>
  65. <el-radio v-model="addObj.isPolling" label="0">无</el-radio>
  66. <el-button
  67. @click="addProblem('isPolling')"
  68. type="text"
  69. v-if="addObj.isPolling =='0'">
  70. <i class="el-icon-circle-plus add-problem-icon"></i>
  71. </el-button>
  72. </el-form-item>
  73. <el-form-item label="巡查记录是否满足要求" v-if="addObj.isPolling == '1'">
  74. <el-tooltip placement="top">
  75. <div slot="content">重点小型水库:非汛期至少1次/周;主汛期至少1次/天;后汛期至少1次/2天;强降雨或水位超汛限水位时至少2次/天。<br/><br/>
  76. 重要小型水库:非汛期至少1次/10天;主汛期至少1次/3天;后汛期至少1次/周天;强降雨或水位超汛限水位时至少1次/天。<br/><br/>
  77. 一般小型水库:非汛期至少1次/15天;汛期至少1次/周;强降雨或水位超汛限水位时至少1次/天。
  78. </div>
  79. <i class="el-icon-question"></i>
  80. </el-tooltip>
  81. <el-radio v-model="addObj.isCorre" label="1">是</el-radio>
  82. <el-radio v-model="addObj.isCorre" label="0">否</el-radio>
  83. <el-button
  84. @click="addProblem('isCorre')"
  85. type="text"
  86. v-if="addObj.isCorre =='0'">
  87. <i class="el-icon-circle-plus add-problem-icon"></i>
  88. </el-button>
  89. </el-form-item>
  90. <el-form-item label>
  91. <el-button type="primary" @click="makesure('addObj')">保 存</el-button>
  92. </el-form-item>
  93. </el-form>
  94. </el-main>
  95. <problem-dialog
  96. v-if="showAddProblemDialog"
  97. :objType="1"
  98. :villType="24"
  99. :objId="currentObjectId"
  100. :objName="currentObjectName"
  101. :problemMiddleType="'小水库标准化'"
  102. :problData="probId"
  103. @closeDialog="closePlDialog"
  104. :currentObjectRgstrId="currentObjectRgstrId"
  105. :szRuls="szRuls"
  106. ></problem-dialog>
  107. </el-container>
  108. </div>
  109. </template>
  110. <script>
  111. import request from "@util/gw_ajax_request.js";
  112. import problemDialog from "../../duChaWenTi/problemDialog.vue";
  113. import ElTableWithPagination from "@widget/elTableWithPagination";
  114. import {getYuanBianzhi} from "@api/fujian_api.js";
  115. export default {
  116. components: {
  117. ElTableWithPagination,
  118. problemDialog
  119. },
  120. props: ['currentObjectId', 'currentObjectName', 'currentObjectRgstrId', 'pType','szRuls'],
  121. data() {
  122. return {
  123. objtbStatu: {
  124. reverStat: "",
  125. rgstrId: ""
  126. },
  127. dxdcMainHeight: window.innerHeight - 197,
  128. dialogFormVisible: false,
  129. formLabelWidth: "300px",
  130. loading: true,
  131. addObj: {
  132. "isCorre": "", //巡查记录是否满足要求 ,
  133. "isManPlan": "", //是否以县或乡镇或单座水库为单位编制安全管理应急预案,并通过有关部门审批 ,
  134. "isPassPlan": "", //是否以县或乡镇或单座水库为单位编制小型水库防洪抢险应急预案,并通过有关部门审批 ,
  135. "isPolling": "", //有无巡查记录 ,
  136. "isRecord": "", //有无水位监测记录 ,
  137. "isTrue": "", //监测记录是否满足要求 ,
  138. },
  139. operationType1: "",
  140. lyjg: [],
  141. placeholder: "",
  142. rsvrRules: null,
  143. probId: '',
  144. showAddProblemDialog: false,
  145. rules: {
  146. // ifDamSafeRul: [
  147. // {required: true, message: '请选择鉴定报告内容是否合规', trigger: 'change'}
  148. // ],
  149. // ifDamSafeDepRul: [
  150. // {required: true, message: '请选择鉴定单位资质是否符合规定', trigger: 'change'}
  151. // ],
  152. // ifDamSafeReq: [
  153. // {required: true, message: '请选择安全鉴定是否被鉴定为三类坝', trigger: 'change'}
  154. // ],
  155. // reinForceRun: [
  156. // {required: true, message: '请选择是否按批复内容实施', trigger: 'change'}
  157. // ],
  158. // reinForceRun2: [
  159. // {required: true, message: '请选择实施后是否仍有隐患', trigger: 'change'}
  160. // ],
  161. // reinForceRun3: [
  162. // {required: true, message: '请选择是否蓄水验收', trigger: 'change'}
  163. // ],
  164. // ifReinImpGve: [
  165. // {required: true, message: '请选择是否按批复内容实施', trigger: 'change'}
  166. // ],
  167. // ifReinImpPlan: [
  168. // {required: true, message: '请选择施工是否按期进行', trigger: 'change'}
  169. // ]
  170. }
  171. };
  172. },
  173. computed: {
  174. recPersId() {
  175. return localStorage.getItem("userid")
  176. ? localStorage.getItem("userid")
  177. : "1098101939614724096";
  178. }
  179. },
  180. created() {
  181. // this.findItemByType()
  182. },
  183. mounted() {
  184. this.getformList();
  185. },
  186. watch: {
  187. currentObjectRgstrId(n, o) {
  188. this.getformList();
  189. }
  190. },
  191. methods: {
  192. getformList() {
  193. let _self = this;
  194. getYuanBianzhi(_self.currentObjectRgstrId).then(res => {
  195. if (res.success) {
  196. if (res.data && Object.keys(res.data).length) {
  197. _self.addObj = res.data;
  198. _self.operationType1 = "update";
  199. } else {
  200. _self.addObj = {};
  201. _self.operationType1 = "add";
  202. }
  203. } else {
  204. this.$message.warning(res.message);
  205. }
  206. });
  207. },
  208. //保存
  209. makesure(formName) {
  210. let _self = this;
  211. this.$refs[formName].validate((valid) => {
  212. if (valid) {
  213. this.addObj["rgstrId"] = this.currentObjectRgstrId;
  214. this.addObj["recPersId"] = this.recPersId;
  215. if (
  216. Number(this.addObj.isManPlan) >= 0 ||
  217. Number(this.addObj.isPassPlan) >= 0 ||
  218. Number(this.addObj.isRecord) >= 0 ||
  219. Number(this.addObj.isPolling) >= 0
  220. ) {
  221. this.addObj.status = "1";
  222. }
  223. if (
  224. Number(this.addObj.isManPlan) >= 0 &&
  225. Number(this.addObj.isPassPlan) >= 0 &&
  226. Number(this.addObj.isRecord) >= 0 &&
  227. Number(this.addObj.isPolling) >= 0
  228. ) {
  229. this.addObj.status = "2";
  230. }
  231. if (
  232. this.addObj.isManPlan == undefined &&
  233. this.addObj.isPassPlan == undefined &&
  234. this.addObj.isRecord == undefined &&
  235. this.addObj.isPolling == undefined
  236. ) {
  237. this.addObj.status = "0";
  238. }
  239. this.$confirm("确认保存预案编制和记录表情况信息吗?", "提示", {
  240. confirmButtonText: "确定",
  241. cancelButtonText: "取消",
  242. type: "warning"
  243. })
  244. .then(() => {
  245. if (_self.operationType1 == "add") {
  246. request.post("/bis/insp/stnd/plrd/add", _self.addObj).then(res => {
  247. if (res.success) {
  248. _self.$message.success("添加成功");
  249. _self.$emit("addShuiKuSuccess");
  250. _self.getformList();
  251. }
  252. });
  253. } else {
  254. request
  255. .post("/bis/insp/stnd/plrd/update", _self.addObj)
  256. .then(res => {
  257. if (res.success) {
  258. _self.$message.success("修改成功");
  259. _self.$emit("addShuiKuSuccess");
  260. _self.getformList();
  261. }
  262. });
  263. }
  264. })
  265. .catch(() => {
  266. });
  267. }
  268. });
  269. },
  270. formatRadio(val) {
  271. if (val == "1") {
  272. return "是";
  273. } else if (val == "0") {
  274. return "否";
  275. } else {
  276. return val;
  277. }
  278. },
  279. cancelHandler() {
  280. this.$emit("cancelHandler");
  281. },
  282. addProblem(item) {
  283. let rules = this.szRuls;
  284. let rest = rules.filter(e => {
  285. return e.eName == item;
  286. });
  287. this.probId = rest[0].id;
  288. this.showAddProblemDialog = true
  289. },
  290. closePlDialog(val) {
  291. this.showAddProblemDialog = false;
  292. }
  293. }
  294. };
  295. </script>
  296. <style>
  297. #dcdxHeader {
  298. padding: 15px 20px;
  299. }
  300. #dxdcFooter {
  301. text-align: center;
  302. }
  303. #dxdcAside {
  304. border: 1px solid #d5d5ff;
  305. }
  306. .el-dialog__wrapper .el-treeWhite {
  307. /* max-height: 260px !important; */
  308. }
  309. .add-problem-icon {
  310. font-size: 16px;
  311. }
  312. </style>