c492e2751611ce0d4de0a38fc5b85947df909d0d.svn-base 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404
  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. <p style="margin-top:10px;margin-bottom: 10px">
  8. <i class="el-icon-caret-right"></i>
  9. <span style="width:120px;padding-left: 10px">管理机构及经费情况</span>
  10. <span class="hrs"></span>
  11. </p>
  12. <el-form-item label="是否有管理机构" required>
  13. <el-radio v-model="addObj.hasSpeManage" label="1">是</el-radio>
  14. <el-radio v-model="addObj.hasSpeManage" label="2">否</el-radio>
  15. </el-form-item>
  16. <el-form-item label="是否有管护人员" v-if="addObj.hasSpeManage == '2'">
  17. <el-radio v-model="addObj.isHasMangPers" label="1">是</el-radio>
  18. <el-radio v-model="addObj.isHasMangPers" label="2">否</el-radio>
  19. <el-button @click="addProblem('isHasMangPers')" type="text"
  20. v-if="addObj.isHasMangPers == '1' || addObj.isHasMangPers == '2'">
  21. <i class="el-icon-circle-plus add-problem-icon"></i>
  22. </el-button>
  23. </el-form-item>
  24. <el-form-item label="是否有稳定经费来源" required>
  25. <el-radio v-model="addObj.hasWdEmnic" label="1">是</el-radio>
  26. <el-radio v-model="addObj.hasWdEmnic" label="2">否</el-radio>
  27. <el-button @click="addProblem('hasWdEmnic')" type="text" v-if="addObj.hasWdEmnic =='2'">
  28. <i class="el-icon-circle-plus add-problem-icon"></i>
  29. </el-button>
  30. </el-form-item>
  31. <p style="margin-top:10px;margin-bottom: 10px">
  32. <i class="el-icon-caret-right"></i>
  33. <span style="width:120px;padding-left: 10px">注册登记情况</span>
  34. <span class="hrs"></span>
  35. </p>
  36. <el-form-item label="是否注册登记" required>
  37. <el-radio v-model="addObj.ifManageReg" label="1">是</el-radio>
  38. <el-radio v-model="addObj.ifManageReg" label="2">否</el-radio>
  39. <el-button @click="addProblem('ifManageReg')" type="text" v-if="addObj.ifManageReg =='2'">
  40. <i class="el-icon-circle-plus add-problem-icon"></i>
  41. </el-button>
  42. </el-form-item>
  43. <el-form-item v-if="addObj.ifManageReg == '1'">
  44. <el-radio v-model="addObj.ifManageRegRel" label="1">信息准确</el-radio>
  45. <el-radio v-model="addObj.ifManageRegRel" label="2">存在错误或虚假信息</el-radio>
  46. <el-button @click="addProblem('ifManageRegRel')" type="text" v-if="addObj.ifManageRegRel =='2'">
  47. <i class="el-icon-circle-plus add-problem-icon"></i>
  48. </el-button>
  49. </el-form-item>
  50. <p style="margin-top:10px;margin-bottom: 10px">
  51. <i class="el-icon-caret-right"></i>
  52. <span style="width:120px;padding-left: 10px">公示情况</span>
  53. <span class="hrs"></span>
  54. </p>
  55. <el-form-item label="是否设置水库公示牌" required>
  56. <el-radio v-model="addObj.ifDamWarnLogo" label="1">是</el-radio>
  57. <el-radio v-model="addObj.ifDamWarnLogo" label="2">否</el-radio>
  58. <el-button @click="addProblem('ifDamWarnLogo')" type="text" v-if="addObj.ifDamWarnLogo =='2'">
  59. <i class="el-icon-circle-plus add-problem-icon"></i>
  60. </el-button>
  61. </el-form-item>
  62. <p style="margin-top:10px;margin-bottom: 10px">
  63. <i class="el-icon-caret-right"></i>
  64. <span style="width:120px;padding-left: 10px">坝周情况</span>
  65. <span class="hrs"></span>
  66. </p>
  67. <el-form-item label="坝体周边是否整洁" required>
  68. <el-radio v-model="addObj.isClean" label="1">是</el-radio>
  69. <el-radio v-model="addObj.isClean" label="2">否</el-radio>
  70. <el-button @click="addProblem('isClean')" type="text" v-if="addObj.isClean =='2'">
  71. <i class="el-icon-circle-plus add-problem-icon"></i>
  72. </el-button>
  73. </el-form-item>
  74. <p style="margin-top:10px;margin-bottom: 10px">
  75. <i class="el-icon-caret-right"></i>
  76. <span style="width:120px;padding-left: 10px">执行汛限水位情况</span>
  77. <span class="hrs"></span>
  78. </p>
  79. <el-form-item label="是否鉴定为病险水库" required>
  80. <el-radio v-model="addObj.ifFsltdz" label="1">是</el-radio>
  81. <el-radio v-model="addObj.ifFsltdz" label="2">否</el-radio>
  82. </el-form-item>
  83. <el-form-item label="水库坝型" required v-if="addObj.ifFsltdz=='1'">
  84. <el-select v-model="addObj.damGrad" placeholder="请选择">
  85. <el-option label="二类" value="1"></el-option>
  86. <el-option label="三类" value="2"></el-option>
  87. </el-select>
  88. </el-form-item>
  89. <el-form-item label="是否采取限制运用措施" v-if="addObj.ifFsltdz == '1'">
  90. <el-radio v-model="addObj.ifFsltdzRun" label="1">是</el-radio>
  91. <el-radio v-model="addObj.ifFsltdzRun" label="2">否</el-radio>
  92. <el-button @click="addProblem('ifFsltdzRun')" type="text" v-if="addObj.ifFsltdzRun =='2'">
  93. <i class="el-icon-circle-plus add-problem-icon"></i>
  94. </el-button>
  95. </el-form-item>
  96. <el-form-item v-if="addObj.ifFsltdz == '2'">
  97. <el-radio v-model="addObj.ifFsltdzNo" label="1">严格执行汛限水位</el-radio>
  98. <el-radio v-model="addObj.ifFsltdzNo" label="2">超汛限水位运行</el-radio>
  99. <el-button @click="addProblem('ifFsltdzNo')" type="text" v-if="addObj.ifFsltdzNo == '2'">
  100. <i class="el-icon-circle-plus add-problem-icon"></i>
  101. </el-button>
  102. </el-form-item>
  103. <el-form-item label>
  104. <el-button type="primary" @click="makesure('addObj')">保 存</el-button>
  105. </el-form-item>
  106. </el-form>
  107. </el-main>
  108. <problem-dialog v-if="showAddProblemDialog" :objType="pType" :villType="0" :objId="currentObjectId"
  109. :objName="currentObjectName" :problemMiddleType="'小水库'" :problData="probId" @closeDialog="closePlDialog"
  110. :currentObjectRgstrId="currentObjectRgstrId"></problem-dialog>
  111. </el-container>
  112. </div>
  113. </template>
  114. <script>
  115. import request from "@util/gw_ajax_request.js";
  116. import problemDialog from "../../duChaWenTi/problemDialog.vue";
  117. import { getManagelist, getLyjglist } from "@api/duChaTianBao.js";
  118. export default {
  119. components: {
  120. problemDialog
  121. },
  122. props: ['currentObjectId', 'currentObjectName', 'currentObjectRgstrId', 'pType'],
  123. data() {
  124. return {
  125. objtbStatu: {
  126. resRunStat: "",
  127. rgstrId: ""
  128. },
  129. dxdcMainHeight: window.innerHeight - 197,
  130. dialogFormVisible: false,
  131. formLabelWidth: "180px",
  132. loading: true,
  133. addObj: {
  134. hasSpeManage: "",
  135. hasWdEmnic: "",
  136. ifManageReg: "",
  137. ifManageRegRel: "",
  138. ifDamWarnLogo: "",
  139. // safeComment: "",
  140. mngrnId: "",
  141. rgstrId: "",
  142. recPersId: "",
  143. recPers2: "",
  144. recPersTel: "",
  145. status: "",
  146. // emerPlanSameExta: "",//是否有安全管理(防汛)应急方案
  147. // emerPlanSameAppr: "",//是否获得批复或备案
  148. // emerPlanSameEme: "",//是否进行演练
  149. // emerPlanSameSpeed: "",//可操作性
  150. ifFsltdz: "",//是否鉴定为三类坝的水库
  151. ifFsltdzRun: "",//是否采取限制运用措施
  152. ifFsltdzNo: "",//其他水库
  153. isClean: "",//坝体周边是否整洁
  154. isHasMangPers: "",//是否有管护人员
  155. damGrad: ""
  156. },
  157. rules: {
  158. emerPlanSameAppr: [
  159. { required: true, message: '请选择是否获得批复或备案', trigger: 'change' }
  160. ],
  161. emerPlanSameEme: [
  162. { required: true, message: '请选择是否进行演练', trigger: 'change' }
  163. ],
  164. emerPlanSameSpeed: [
  165. { required: true, message: '请选择可操作性', trigger: 'change' }
  166. ]
  167. },
  168. operationType1: "",
  169. lyjg: [],
  170. placeholder: "",
  171. rsvrRules: null,
  172. probId: '',
  173. showAddProblemDialog: false
  174. };
  175. },
  176. computed: {
  177. recPersId() {
  178. return localStorage.getItem("userid")
  179. ? localStorage.getItem("userid")
  180. : "1098101939614724096";
  181. },
  182. currentRlcode() {
  183. return localStorage.getItem('currentRlcode') || ''
  184. }
  185. },
  186. created() {
  187. this.findItemByType()
  188. },
  189. mounted() {
  190. this.getLyjgList();
  191. },
  192. watch: {
  193. currentObjectRgstrId(n, o) {
  194. this.getformList();
  195. }
  196. },
  197. methods: {
  198. getLyjgList() {
  199. var _self = this;
  200. getLyjglist().then(res => {
  201. if (res.success) {
  202. _self.lyjg = res.data;
  203. _self.placeholder = _self.lyjg[0].pnm;
  204. _self.addObj.reverOrg = _self.lyjg[0].id;
  205. _self.getformList();
  206. } else {
  207. _self.getformList();
  208. }
  209. });
  210. },
  211. getformList() {
  212. let _self = this;
  213. getManagelist(_self.currentObjectRgstrId).then(res => {
  214. if (res.success) {
  215. if (res.data && Object.keys(res.data).length) {
  216. _self.addObj = res.data;
  217. _self.operationType1 = "update";
  218. } else {
  219. // 如果信息未填报,则赋默认值
  220. _self.setInitValue()
  221. _self.operationType1 = "add";
  222. }
  223. } else {
  224. }
  225. });
  226. },
  227. //保存
  228. makesure(formName) {
  229. this.$refs[formName].validate((valid) => {
  230. if (valid) {
  231. let _self = this;
  232. this.addObj["rgstrId"] = this.currentObjectRgstrId;
  233. this.addObj["recPersId"] = this.recPersId;
  234. this.objtbStatu.rgstrId = this.currentObjectRgstrId;
  235. // if(this.addObj.emerPlanSameExta == '2'){
  236. // this.addObj.emerPlanSameAppr = "";//是否获得批复或备案
  237. // this.addObj.emerPlanSameEme = "";//是否进行演练
  238. // this.addObj.emerPlanSameSpeed = "";//可操作性
  239. // }
  240. if (this.addObj.hasSpeManage == '1') {
  241. this.addObj.isHasMangPers = "";//是否有管护人员
  242. }
  243. if (
  244. // this.addObj.emerPlanSameExta ||
  245. this.addObj.hasSpeManage ||
  246. this.addObj.hasWdEmnic ||
  247. this.addObj.ifManageReg ||
  248. this.addObj.ifDamWarnLogo ||
  249. this.addObj.isClean ||
  250. this.addObj.ifFsltdz
  251. ) {
  252. this.objtbStatu.resRunStat = "1";
  253. }
  254. if (
  255. this.addObj.hasSpeManage &&
  256. this.addObj.hasWdEmnic &&
  257. this.addObj.ifManageReg &&
  258. this.addObj.ifDamWarnLogo &&
  259. // this.addObj.emerPlanSameExta &&
  260. this.addObj.isClean &&
  261. this.addObj.ifFsltdz
  262. ) {
  263. this.objtbStatu.resRunStat = "2";
  264. }
  265. if (
  266. this.addObj.hasSpeManage == undefined &&
  267. this.addObj.hasWdEmnic == undefined &&
  268. this.addObj.ifManageReg == undefined &&
  269. this.addObj.ifManageRegRel == undefined &&
  270. this.addObj.ifDamWarnLogo == undefined &&
  271. // this.addObj.emerPlanSameExta == undefined &&
  272. this.addObj.isClean == undefined &&
  273. this.addObj.ifFsltdz == undefined
  274. ) {
  275. this.objtbStatu.resRunStat = "0";
  276. }
  277. this.$confirm("确认保存运行管理情况信息吗?", "提示", {
  278. confirmButtonText: "确定",
  279. cancelButtonText: "取消",
  280. type: "warning"
  281. })
  282. .then(() => {
  283. if (_self.operationType1 == "add") {
  284. request.post("/dc/insp/safeExtManage", _self.addObj).then(res => {
  285. if (res.success) {
  286. _self.$message.success("添加成功");
  287. request
  288. .post("/dc/insp/rsvrRgstr/update", _self.objtbStatu)
  289. .then(res => {
  290. res;
  291. });
  292. _self.$emit("addShuiKuSuccess");
  293. }
  294. });
  295. } else {
  296. request
  297. .post("/dc/insp/safeExtManage/update", _self.addObj)
  298. .then(res => {
  299. if (res.success) {
  300. _self.$message.success("修改成功");
  301. request
  302. .post("/dc/insp/rsvrRgstr/update", _self.objtbStatu)
  303. .then(res => {
  304. res;
  305. });
  306. _self.$emit("addShuiKuSuccess");
  307. }
  308. });
  309. }
  310. })
  311. .catch(() => { });
  312. } else {
  313. console.log('error submit!!');
  314. return false;
  315. }
  316. });
  317. },
  318. //查看
  319. makeshow(type, row) {
  320. this.dialogFormVisible = true;
  321. },
  322. formatRadio(val) {
  323. if (val == "1") {
  324. return "是";
  325. } else if (val == "0") {
  326. return "否";
  327. } else {
  328. return val;
  329. }
  330. },
  331. cancelHandler() {
  332. this.$emit("cancelHandler");
  333. },
  334. findItemByType() {
  335. const obj = {
  336. tname: "BIS_INSP_SAFE_EXT_MANAGE",
  337. type: this.pType,
  338. }
  339. request.post("/bis/insp/item/ques/info/findItemByType", obj).then(res => {
  340. this.rsvrRules = res.data;
  341. })
  342. },
  343. addProblem(item) {
  344. let rest = null;
  345. if (item == "isHasMangPers") {
  346. rest = this.rsvrRules.filter(e => {
  347. return e.iValue === this.addObj.isHasMangPers && e.eName === item;
  348. });
  349. } else {
  350. rest = this.rsvrRules.filter(e => {
  351. return e.eName === item;
  352. });
  353. }
  354. this.probId = rest[0].id;
  355. this.showAddProblemDialog = true
  356. },
  357. closePlDialog(val) {
  358. this.showAddProblemDialog = false;
  359. },
  360. // 初始化赋值
  361. setInitValue() {
  362. if (this.currentRlcode.indexOf('63') == '0') { //青海省小水库
  363. this.addObj['hasSpeManage'] = '1'
  364. this.addObj['hasWdEmnic'] = '1'
  365. this.addObj['ifManageReg'] = '1'
  366. this.addObj['ifManageRegRel'] = '1'
  367. this.addObj['ifDamWarnLogo'] = '1'
  368. this.addObj['isClean'] = '1'
  369. this.addObj['ifFsltdz'] = '2'
  370. this.addObj['ifFsltdzNo'] = '1'
  371. } else {
  372. this.addObj = {};
  373. }
  374. }
  375. }
  376. };
  377. </script>
  378. <style>
  379. #dcdxHeader {
  380. padding: 15px 20px;
  381. }
  382. #dxdcFooter {
  383. text-align: center;
  384. }
  385. #dxdcAside {
  386. border: 1px solid #d5d5ff;
  387. }
  388. .el-dialog__wrapper .el-treeWhite {
  389. /* max-height: 260px !important; */
  390. }
  391. .add-problem-icon {
  392. font-size: 16px;
  393. }
  394. </style>