bfe1af55e4ea90b7206ca588980727aedcd99841.svn-base 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518
  1. <template>
  2. <div>
  3. <!-- <el-dialog :title="'责任人填报'" :visible.sync="dialogFormVisible"> -->
  4. <el-container style="height:520px;">
  5. <el-main style="border:1px solid #d5d5ff;margin-left:5px;padding:0px;">
  6. <el-form :model="formObj" :label-width="formLabelWidth" :rules="rules">
  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="true">
  13. <el-radio v-model="formObj.isWfixPatrol" label="1">是</el-radio>
  14. <el-radio v-model="formObj.isWfixPatrol" label="2">否</el-radio>
  15. <el-button
  16. @click="addProblem('isWfixPatrol',formObj.isWfixPatrol)"
  17. type="text"
  18. v-if="formObj.isWfixPatrol =='2'">
  19. <i class="el-icon-circle-plus add-problem-icon"></i>
  20. </el-button>
  21. </el-form-item>
  22. <el-form-item label="发现问题是否及时采取有效措施处理" :required="true">
  23. <el-radio v-model="formObj.isWfindMend" label="1">是</el-radio>
  24. <el-radio v-model="formObj.isWfindMend" label="2">否</el-radio>
  25. <el-button
  26. @click="addProblem('isWfindMend',formObj.isWfindMend)"
  27. type="text"
  28. v-if="formObj.isWfindMend =='2'">
  29. <i class="el-icon-circle-plus add-problem-icon"></i>
  30. </el-button>
  31. </el-form-item>
  32. <p style="margin-top:10px;margin-bottom: 10px">
  33. <i class="el-icon-caret-right"></i>
  34. <span style="width:120px;padding-left: 10px">管网巡查管理</span>
  35. <span class="hrs"></span>
  36. </p>
  37. <el-form-item label="工程日常是否开展巡查和记录" :required="true">
  38. <el-radio v-model="formObj.isNfixPatrol" label="1">是</el-radio>
  39. <el-radio v-model="formObj.isNfixPatrol" label="2">否</el-radio>
  40. <el-button
  41. @click="addProblem('isNfixPatrol',formObj.isNfixPatrol)"
  42. type="text"
  43. v-if="formObj.isNfixPatrol =='2'">
  44. <i class="el-icon-circle-plus add-problem-icon"></i>
  45. </el-button>
  46. </el-form-item>
  47. <el-form-item label="发现问题是否及时采取有效措施处理" :required="true">
  48. <el-radio v-model="formObj.isNfindMend" label="1">是</el-radio>
  49. <el-radio v-model="formObj.isNfindMend" label="2">否</el-radio>
  50. <el-button
  51. @click="addProblem('isNfindMend',formObj.isNfindMend)"
  52. type="text"
  53. v-if="formObj.isNfindMend =='2'">
  54. <i class="el-icon-circle-plus add-problem-icon"></i>
  55. </el-button>
  56. </el-form-item>
  57. <p style="margin-top:10px;margin-bottom: 10px">
  58. <i class="el-icon-caret-right"></i>
  59. <span style="width:120px;padding-left: 10px">工程设施</span>
  60. <span class="hrs"></span>
  61. </p>
  62. <el-form-item label="工程是否配备消毒设备" :required="true">
  63. <el-radio v-model="formObj.isSetBurd" label="1">是</el-radio>
  64. <el-radio v-model="formObj.isSetBurd" label="2">否</el-radio>
  65. <el-button
  66. @click="addProblem('isSetBurd',formObj.isSetBurd)"
  67. type="text"
  68. v-if="formObj.isSetBurd =='2'">
  69. <i class="el-icon-circle-plus add-problem-icon"></i>
  70. </el-button>
  71. </el-form-item>
  72. <el-form-item label="工程采用次氯酸钠、二氧化氯消毒时,是否单独设置消毒间" :required="true">
  73. <el-radio v-model="formObj.isSetBurdRoom" label="1">是</el-radio>
  74. <el-radio v-model="formObj.isSetBurdRoom" label="2">否</el-radio>
  75. <el-button
  76. @click="addProblem('isSetBurdRoom',formObj.isSetBurdRoom)"
  77. type="text"
  78. v-if="formObj.isSetBurdRoom =='2'">
  79. <i class="el-icon-circle-plus add-problem-icon"></i>
  80. </el-button>
  81. </el-form-item>
  82. <el-form-item label="工程采用化学法消毒时,是否设置排风措施" :required="true">
  83. <el-radio v-model="formObj.isSetWind" label="1">是</el-radio>
  84. <el-radio v-model="formObj.isSetWind" label="2">否</el-radio>
  85. <el-button
  86. @click="addProblem('isSetWind',formObj.isSetWind)"
  87. type="text"
  88. v-if="formObj.isSetWind =='2'">
  89. <i class="el-icon-circle-plus add-problem-icon"></i>
  90. </el-button>
  91. </el-form-item>
  92. <el-form-item label="工程是否设置出厂水计量措施" :required="true">
  93. <el-radio v-model="formObj.isSetMsur" label="1">是</el-radio>
  94. <el-radio v-model="formObj.isSetMsur" label="2">否</el-radio>
  95. <el-button
  96. @click="addProblem('isSetMsur',formObj.isSetMsur)"
  97. type="text"
  98. v-if="formObj.isSetMsur =='2'">
  99. <i class="el-icon-circle-plus add-problem-icon"></i>
  100. </el-button>
  101. </el-form-item>
  102. <p style="margin-top:10px;margin-bottom: 10px">
  103. <i class="el-icon-caret-right"></i>
  104. <span style="width:120px;padding-left: 10px">管理主体和责任人</span>
  105. <span class="hrs"></span>
  106. </p>
  107. <el-form-item label="是否明确和落实供水工程管理主体(或单位)" :required="true">
  108. <el-radio v-model="formObj.isSureDep" label="1">是</el-radio>
  109. <el-radio v-model="formObj.isSureDep" label="2">否</el-radio>
  110. <el-button
  111. @click="addProblem('isSureDep',formObj.isSureDep)"
  112. type="text"
  113. v-if="formObj.isSureDep =='2'">
  114. <i class="el-icon-circle-plus add-problem-icon"></i>
  115. </el-button>
  116. </el-form-item>
  117. <el-form-item label="是否落实供水工程管理责任人" :required="true">
  118. <el-radio v-model="formObj.isSureDuty" label="1">是</el-radio>
  119. <el-radio v-model="formObj.isSureDuty" label="2">否</el-radio>
  120. <el-button
  121. @click="addProblem('isSureDuty',formObj.isSureDuty)"
  122. type="text"
  123. v-if="formObj.isSureDuty =='2'">
  124. <i class="el-icon-circle-plus add-problem-icon"></i>
  125. </el-button>
  126. </el-form-item>
  127. <el-form-item label="工程是否公示“三个责任”" :required="true">
  128. <el-radio v-model="formObj.isPubDuty" label="1">是</el-radio>
  129. <el-radio v-model="formObj.isPubDuty" label="2">否</el-radio>
  130. <el-button
  131. @click="addProblem('isPubDuty',formObj.isPubDuty)"
  132. type="text"
  133. v-if="formObj.isPubDuty =='2'">
  134. <i class="el-icon-circle-plus add-problem-icon"></i>
  135. </el-button>
  136. </el-form-item>
  137. <p style="margin-top:10px;margin-bottom: 10px">
  138. <i class="el-icon-caret-right"></i>
  139. <span style="width:120px;padding-left: 10px">管理制度和人员</span>
  140. <span class="hrs"></span>
  141. </p>
  142. <el-form-item label="工程是否制定运行管理规章制度(或单位)" :required="true">
  143. <el-radio v-model="formObj.isBuldSys" label="1">是</el-radio>
  144. <el-radio v-model="formObj.isBuldSys" label="2">否</el-radio>
  145. <el-button
  146. @click="addProblem('isBuldSys',formObj.isBuldSys)"
  147. type="text"
  148. v-if="formObj.isBuldSys =='2'">
  149. <i class="el-icon-circle-plus add-problem-icon"></i>
  150. </el-button>
  151. </el-form-item>
  152. <el-form-item label="是否落实或配备管护人员" :required="true">
  153. <el-radio v-model="formObj.isSetProt" label="1">是</el-radio>
  154. <el-radio v-model="formObj.isSetProt" label="2">否</el-radio>
  155. <el-button
  156. @click="addProblem('isSetProt',formObj.isSetProt)"
  157. type="text"
  158. v-if="formObj.isSetProt =='2'">
  159. <i class="el-icon-circle-plus add-problem-icon"></i>
  160. </el-button>
  161. </el-form-item>
  162. <p style="margin-top:10px;margin-bottom: 10px">
  163. <i class="el-icon-caret-right"></i>
  164. <span style="width:120px;padding-left: 10px">净水管理</span>
  165. <span class="hrs"></span>
  166. </p>
  167. <el-form-item label="工程消毒设备是否正常运行" :required="true">
  168. <el-radio v-model="formObj.isRunNomal" label="1">是</el-radio>
  169. <el-radio v-model="formObj.isRunNomal" label="2">否</el-radio>
  170. <el-button
  171. @click="addProblem('isRunNomal',formObj.isRunNomal)"
  172. type="text"
  173. v-if="formObj.isRunNomal =='2'">
  174. <i class="el-icon-circle-plus add-problem-icon"></i>
  175. </el-button>
  176. </el-form-item>
  177. <el-form-item label="工程采用二氧化氯消毒时,原料是否分开储存" :required="true">
  178. <el-radio v-model="formObj.isPartSave" label="1">是</el-radio>
  179. <el-radio v-model="formObj.isPartSave" label="2">否</el-radio>
  180. <el-button
  181. @click="addProblem('isPartSave',formObj.isPartSave)"
  182. type="text"
  183. v-if="formObj.isPartSave =='2'">
  184. <i class="el-icon-circle-plus add-problem-icon"></i>
  185. </el-button>
  186. </el-form-item>
  187. <el-form-item label="工程是否定期清洗、维修养护净水构筑物或净水装置" :required="true">
  188. <el-radio v-model="formObj.isFixClean" label="1">是</el-radio>
  189. <el-radio v-model="formObj.isFixClean" label="2">否</el-radio>
  190. <el-button
  191. @click="addProblem('isFixClean',formObj.isFixClean)"
  192. type="text"
  193. v-if="formObj.isFixClean =='2'">
  194. <i class="el-icon-circle-plus add-problem-icon"></i>
  195. </el-button>
  196. </el-form-item>
  197. <el-form-item label="出厂水毒理学指标是否达标(千人以下工程查看检测报告" :required="true">
  198. <el-radio v-model="formObj.isRchStan" label="1">是</el-radio>
  199. <el-radio v-model="formObj.isRchStan" label="2">否</el-radio>
  200. <el-button
  201. @click="addProblem('isRchStan',formObj.isRchStan)"
  202. type="text"
  203. v-if="formObj.isRchStan =='2'">
  204. <i class="el-icon-circle-plus add-problem-icon"></i>
  205. </el-button>
  206. </el-form-item>
  207. <p style="margin-top:10px;margin-bottom: 10px">
  208. <i class="el-icon-caret-right"></i>
  209. <span style="width:120px;padding-left: 10px">设备管理</span>
  210. <span class="hrs"></span>
  211. </p>
  212. <el-form-item label="是否定期检查检修水泵等输水设备" :required="true">
  213. <el-radio v-model="formObj.isChkDev" label="1">是</el-radio>
  214. <el-radio v-model="formObj.isChkDev" label="2">否</el-radio>
  215. <el-button
  216. @click="addProblem('isChkDev',formObj.isChkDev)"
  217. type="text"
  218. v-if="formObj.isChkDev =='2'">
  219. <i class="el-icon-circle-plus add-problem-icon"></i>
  220. </el-button>
  221. </el-form-item>
  222. <p style="margin-top:10px;margin-bottom: 10px">
  223. <i class="el-icon-caret-right"></i>
  224. <span style="width:120px;padding-left: 10px">资料档案</span>
  225. <span class="hrs"></span>
  226. </p>
  227. <el-form-item label="工程是否建立主要设施设备的运行管理日志(记录册)" :required="true">
  228. <el-radio v-model="formObj.isBuldLog" label="1">是</el-radio>
  229. <el-radio v-model="formObj.isBuldLog" label="2">否</el-radio>
  230. <el-button
  231. @click="addProblem('isBuldLog',formObj.isBuldLog)"
  232. type="text"
  233. v-if="formObj.isBuldLog =='2'">
  234. <i class="el-icon-circle-plus add-problem-icon"></i>
  235. </el-button>
  236. </el-form-item>
  237. <el-form-item label="">
  238. <el-button type="primary" @click="addHandler" v-if="openType">保 存</el-button>
  239. </el-form-item>
  240. </el-form>
  241. </el-main>
  242. <problem-dialog
  243. v-if="showAddProblemDialog && openType"
  244. :objType="79"
  245. :villType="79"
  246. :flag="1"
  247. :objId="currentObjectId"
  248. :objName="currentObjectName"
  249. :currentUnitId="currentGcId"
  250. :currentUnitName="currentGcTitle"
  251. :problemMiddleType="'农村饮水安全暗访'"
  252. :problData="probId"
  253. @closeDialog="closePlDialog"
  254. :currentObjectRgstrId="currentObjectRgstrId"
  255. ></problem-dialog>
  256. <add-pic-com v-if="jqmmDialogShow" :dialogTitle="'相关材料'" :jqmmEngId="id" :type="type" :openType="openType" @jqmmDialogClose="jqmmDialogClose"></add-pic-com>
  257. </el-container>
  258. </div>
  259. </template>
  260. <script>
  261. import inputWith from "@widget/inuptWith.vue"
  262. import problemDialog from "../../duChaWenTi/problemDialog.vue";
  263. import addPicCom from "./addPic.vue"
  264. import request from "@util/gw_ajax_request.js"
  265. import {getRgstriyQqe} from "@api/duChaTianBao.js"
  266. import {formatDateTimeD} from "@util/gw_date.js"
  267. export default {
  268. components: {
  269. inputWith: inputWith,
  270. problemDialog,
  271. addPicCom
  272. },
  273. props: ['currentObjectId','currentObjectName','currentObjectRgstrId','openType','currentGcTitle','currentGcId'],
  274. data() {
  275. var checkTel = (rule, value, callback) => {
  276. var isPhone = /^([0-9]{3,4}-)?[0-9]{7,8}$/;//座机
  277. var isMob= /^[1][3,4,5,7,8][0-9]{9}$/;// 座机格式
  278. if (value&&!isMob.test(value)&&!isPhone.test(value)) {
  279. callback(new Error('请输入合理电话'));
  280. } else if(value&&(isMob.test(value)||isPhone.test(value))){
  281. callback();
  282. }
  283. // setTimeout(() => {
  284. // }, 1000);
  285. };
  286. return {
  287. id:"",
  288. objtbStatu:{
  289. wtuntStat:"",
  290. rgstrId:"",
  291. id:"",
  292. state:""
  293. },
  294. rules:{
  295. wiunWaoLegPersTel:[
  296. { validator: checkTel,trigger: 'blur' }
  297. ],
  298. techPersTel:[
  299. { validator: checkTel,trigger: 'blur' }
  300. ],
  301. patrolPersTel:[
  302. { validator: checkTel,trigger: 'blur' }
  303. ],
  304. },
  305. jqmmDialogShow: false,
  306. type: '',
  307. formObj: {
  308. isWfixPatrol:"",
  309. isWfindMend:"",
  310. isNfixPatrol:"",
  311. isNfindMend:"",
  312. isSetBurd:"",
  313. isSetBurdRoom:"",
  314. isSetWind:"",
  315. isSetMsur:"",
  316. isSureDep:"",
  317. isSureDuty:"",
  318. isPubDuty:"",
  319. isBuldSys:"",
  320. isSetProt:"",
  321. isRunNomal:"",
  322. isPartSave:"",
  323. isFixClean:"",
  324. isRchStan:"",
  325. isChkDev:"",
  326. isBuldLog:""
  327. },
  328. dialogFormVisible: false,
  329. formLabelWidth: '180px',
  330. loading: true,
  331. operationType1:'',
  332. rsvrRules: null,
  333. probId: '',
  334. showAddProblemDialog: false
  335. }
  336. },
  337. computed:{
  338. recPersId(){
  339. return localStorage.getItem("userid")? localStorage.getItem("userid"): ''
  340. }
  341. },
  342. created(){
  343. this.findItemByType()
  344. },
  345. mounted() {
  346. this.getRgstridObj();
  347. },
  348. watch: {
  349. currentObjectRgstrId(n,o){
  350. this.getRgstridObj();
  351. },
  352. },
  353. methods: {
  354. jqmmDialogClose() {
  355. this.jqmmDialogShow = false;
  356. },
  357. showPic(type){
  358. this.type = type
  359. this.jqmmDialogShow = true
  360. },
  361. getRgstridObj(){
  362. var _self = this;
  363. request.get("/bis/insp/villgd/wtsp/case/"+this.currentGcId).then(res => {
  364. if (res.success) {
  365. if (res.data) {
  366. _self.formObj = res.data;
  367. } else {
  368. _self.formObj = {};
  369. }
  370. }
  371. })
  372. },
  373. addHandler(){
  374. var _self = this;
  375. _self.formObj['rgstrId'] = _self.currentObjectRgstrId;
  376. _self.formObj['recPersId'] = _self.recPersId;
  377. if(this.formObj.isWfixPatrol==null &&
  378. this.formObj.isWfindMend==null &&
  379. this.formObj.isNfixPatrol==null &&
  380. this.formObj.isNfindMend==null &&
  381. this.formObj.isSetBurd==null &&
  382. this.formObj.isSetBurdRoom==null &&
  383. this.formObj.isSetWind==null &&
  384. this.formObj.isSetMsur==null &&
  385. this.formObj.isSureDep==null &&
  386. this.formObj.isSureDuty==null &&
  387. this.formObj.isPubDuty==null &&
  388. this.formObj.isBuldSys==null &&
  389. this.formObj.isSetProt==null &&
  390. this.formObj.isRunNomal==null &&
  391. this.formObj.isPartSave==null &&
  392. this.formObj.isFixClean==null &&
  393. this.formObj.isRchStan==null &&
  394. this.formObj.isChkDev==null &&
  395. this.formObj.isBuldLog==null
  396. ){
  397. this.formObj.state = "0"
  398. }else if(this.formObj.isWfixPatrol!=null &&
  399. this.formObj.isWfindMend!=null &&
  400. this.formObj.isNfixPatrol!=null &&
  401. this.formObj.isNfindMend!=null &&
  402. this.formObj.isSetBurd!=null &&
  403. this.formObj.isSetBurdRoom!=null &&
  404. this.formObj.isSetWind!=null &&
  405. this.formObj.isSetMsur!=null &&
  406. this.formObj.isSureDep!=null &&
  407. this.formObj.isSureDuty!=null &&
  408. this.formObj.isPubDuty!=null &&
  409. this.formObj.isBuldSys!=null &&
  410. this.formObj.isSetProt!=null &&
  411. this.formObj.isRunNomal!=null &&
  412. this.formObj.isPartSave!=null &&
  413. this.formObj.isFixClean!=null &&
  414. this.formObj.isRchStan!=null &&
  415. this.formObj.isChkDev!=null &&
  416. this.formObj.isBuldLog!=null
  417. ){
  418. this.formObj.state = "2";
  419. }else{
  420. this.formObj.state = "1"
  421. }
  422. this.$confirm('确认保存现场督查情况信息?', '提示', {
  423. confirmButtonText: '确定',
  424. cancelButtonText: '取消',
  425. type: 'warning'
  426. })
  427. .then(() => {
  428. try{
  429. request.post('/bis/insp/villgd/wtsp/case',_self.formObj).then((res)=>{
  430. if (res.success) {
  431. _self.$message.success("修改成功");
  432. _self.$emit("addShuiKuSuccess");
  433. }
  434. });
  435. } catch(e) {
  436. }
  437. })
  438. .catch(() => {
  439. });
  440. },
  441. cancelHandler(){
  442. this.$emit('cancelHandler');
  443. },
  444. findItemByType(){
  445. const obj ={
  446. tname: "BIS_INSP_VILLGD_WTSP_CASE",
  447. }
  448. request.post("/bis/insp/item/ques/info/findItemByType",obj).then(res =>{
  449. this.rsvrRules = res.data;
  450. })
  451. },
  452. addProblem(item,iValue){
  453. let rest = this.rsvrRules.filter(e => {
  454. return e.iValue === iValue && e.eName === item;
  455. });
  456. if (rest[0]){
  457. this.probId = rest[0].id;
  458. }
  459. this.showAddProblemDialog = true;
  460. },
  461. formatRadio(val){
  462. if(val == '1'){
  463. return '是'
  464. }else if(val == '2'){
  465. return '否'
  466. }else{
  467. return val
  468. }
  469. },
  470. closePlDialog(val) {
  471. this.showAddProblemDialog = false;
  472. }
  473. },
  474. }
  475. </script>
  476. <style scoped>
  477. #dcdxHeader {
  478. padding: 15px 20px;
  479. }
  480. #dxdcFooter {
  481. text-align: center;
  482. }
  483. #dxdcAside {
  484. border:1px solid #d5d5ff;
  485. }
  486. .el-dialog__wrapper .el-treeWhite{
  487. /* max-height: 260px !important; */
  488. }
  489. .add-problem-icon{
  490. font-size: 16px;
  491. }
  492. .el-icon-camera-solid,.el-icon-circle-plus{
  493. margin-left: 20px;
  494. color: #00bbff;
  495. font-size: 18px;
  496. line-height: 12px;
  497. vertical-align: middle;
  498. cursor: pointer;
  499. }
  500. .el-icon-circle-plus{
  501. vertical-align: top;
  502. }
  503. </style>