d06474a203ce1046581ffce7e59d4a5f79a080e5.svn-base 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368
  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.isCllcIdea" label="1">是</el-radio>
  14. <el-radio v-model="formObj.isCllcIdea" label="2">否</el-radio>
  15. <el-button
  16. @click="addProblem('isCllcIdea',formObj.isCllcIdea)"
  17. type="text"
  18. v-if="formObj.isCllcIdea =='2'">
  19. <i class="el-icon-circle-plus add-problem-icon"></i>
  20. </el-button>
  21. </el-form-item>
  22. <p style="margin-top:10px;margin-bottom: 10px">
  23. <i class="el-icon-caret-right"></i>
  24. <span style="width:120px;padding-left: 10px">水费收缴</span>
  25. <span class="hrs"></span>
  26. </p>
  27. <el-form-item label="是否定价" :required="true">
  28. <el-radio v-model="formObj.isSurePrice" label="1">是</el-radio>
  29. <el-radio v-model="formObj.isSurePrice" label="2">否</el-radio>
  30. <el-button
  31. @click="addProblem('isSurePrice',formObj.isSurePrice)"
  32. type="text"
  33. v-if="formObj.isSurePrice =='2'">
  34. <i class="el-icon-circle-plus add-problem-icon"></i>
  35. </el-button>
  36. </el-form-item>
  37. <el-form-item label="收支是否平衡" :required="true">
  38. <el-radio v-model="formObj.isBalan" label="1">是</el-radio>
  39. <el-radio v-model="formObj.isBalan" label="2">否</el-radio>
  40. <el-button
  41. @click="addProblem('isBalan',formObj.isBalan)"
  42. type="text"
  43. v-if="formObj.isBalan =='2'">
  44. <i class="el-icon-circle-plus add-problem-icon"></i>
  45. </el-button>
  46. </el-form-item>
  47. <p style="margin-top:10px;margin-bottom: 10px">
  48. <i class="el-icon-caret-right"></i>
  49. <span style="width:120px;padding-left: 10px">安全应急</span>
  50. <span class="hrs"></span>
  51. </p>
  52. <el-form-item label="是否制定安全生产和应急预案" :required="true">
  53. <el-radio v-model="formObj.isSetSaft" label="1">是</el-radio>
  54. <el-radio v-model="formObj.isSetSaft" label="2">否</el-radio>
  55. <el-button
  56. @click="addProblem('isSetSaft',formObj.isSetSaft)"
  57. type="text"
  58. v-if="formObj.isSetSaft =='2'">
  59. <i class="el-icon-circle-plus add-problem-icon"></i>
  60. </el-button>
  61. </el-form-item>
  62. <el-form-item label="是否定期巡查检查和记录" :required="true">
  63. <el-radio v-model="formObj.isFixLog" label="1">是</el-radio>
  64. <el-radio v-model="formObj.isFixLog" label="2">否</el-radio>
  65. <el-button
  66. @click="addProblem('isFixLog',formObj.isFixLog)"
  67. type="text"
  68. v-if="formObj.isFixLog =='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.isFindMend" label="1">是</el-radio>
  74. <el-radio v-model="formObj.isFindMend" label="2">否</el-radio>
  75. <el-button
  76. @click="addProblem('isFindMend',formObj.isFindMend)"
  77. type="text"
  78. v-if="formObj.isFindMend =='2'">
  79. <i class="el-icon-circle-plus add-problem-icon"></i>
  80. </el-button>
  81. </el-form-item>
  82. <p style="margin-top:10px;margin-bottom: 10px">
  83. <i class="el-icon-caret-right"></i>
  84. <span style="width:120px;padding-left: 10px">消防安全</span>
  85. <span class="hrs"></span>
  86. </p>
  87. <el-form-item label="千人以上工程厂房是否配备灭火设施" :required="true">
  88. <el-radio v-model="formObj.isSetFoam" label="1">是</el-radio>
  89. <el-radio v-model="formObj.isSetFoam" label="2">否</el-radio>
  90. <el-button
  91. @click="addProblem('isSetFoam',formObj.isSetFoam)"
  92. type="text"
  93. v-if="formObj.isSetFoam =='2'">
  94. <i class="el-icon-circle-plus add-problem-icon"></i>
  95. </el-button>
  96. </el-form-item>
  97. <p style="margin-top:10px;margin-bottom: 10px">
  98. <i class="el-icon-caret-right"></i>
  99. <span style="width:120px;padding-left: 10px">供水服务</span>
  100. <span class="hrs"></span>
  101. </p>
  102. <el-form-item label="工程是否设立供水服务电话(千人以下工程是否公示相关责任人电话)" :required="true">
  103. <el-radio v-model="formObj.isSetPhone" label="1">是</el-radio>
  104. <el-radio v-model="formObj.isSetPhone" label="2">否</el-radio>
  105. <el-button
  106. @click="addProblem('isSetPhone',formObj.isSetPhone)"
  107. type="text"
  108. v-if="formObj.isSetPhone =='2'">
  109. <i class="el-icon-circle-plus add-problem-icon"></i>
  110. </el-button>
  111. </el-form-item>
  112. <el-form-item label="用水户是否满意(随机抽取5位村民询问,需4位以上满意)" :required="true">
  113. <el-radio v-model="formObj.isSati" label="1">是</el-radio>
  114. <el-radio v-model="formObj.isSati" label="2">否</el-radio>
  115. <el-button
  116. @click="addProblem('isSati',formObj.isSati)"
  117. type="text"
  118. v-if="formObj.isSati =='2'">
  119. <i class="el-icon-circle-plus add-problem-icon"></i>
  120. </el-button>
  121. </el-form-item>
  122. <el-form-item label="">
  123. <el-button type="primary" @click="addHandler" v-if="openType">保 存</el-button>
  124. </el-form-item>
  125. </el-form>
  126. </el-main>
  127. <problem-dialog
  128. v-if="showAddProblemDialog && openType"
  129. :objType="79"
  130. :villType="79"
  131. :flag="1"
  132. :objId="currentObjectId"
  133. :objName="currentObjectName"
  134. :currentUnitId="currentGcId"
  135. :currentUnitName="currentGcTitle"
  136. :problemMiddleType="'农村饮水安全暗访'"
  137. :problData="probId"
  138. @closeDialog="closePlDialog"
  139. :currentObjectRgstrId="currentObjectRgstrId"
  140. ></problem-dialog>
  141. <add-pic-com v-if="jqmmDialogShow" :dialogTitle="'相关材料'" :jqmmEngId="id" :type="type" :openType="openType" @jqmmDialogClose="jqmmDialogClose"></add-pic-com>
  142. </el-container>
  143. </div>
  144. </template>
  145. <script>
  146. import inputWith from "@widget/inuptWith.vue"
  147. import problemDialog from "../../duChaWenTi/problemDialog.vue";
  148. import addPicCom from "./addPic.vue"
  149. import request from "@util/gw_ajax_request.js"
  150. import {getRgstriyQqe} from "@api/duChaTianBao.js"
  151. import {formatDateTimeD} from "@util/gw_date.js"
  152. export default {
  153. components: {
  154. inputWith: inputWith,
  155. problemDialog,
  156. addPicCom
  157. },
  158. props: ['currentObjectId','currentObjectName','currentObjectRgstrId','openType','currentGcTitle','currentGcId'],
  159. data() {
  160. var checkTel = (rule, value, callback) => {
  161. var isPhone = /^([0-9]{3,4}-)?[0-9]{7,8}$/;//座机
  162. var isMob= /^[1][3,4,5,7,8][0-9]{9}$/;// 座机格式
  163. if (value&&!isMob.test(value)&&!isPhone.test(value)) {
  164. callback(new Error('请输入合理电话'));
  165. } else if(value&&(isMob.test(value)||isPhone.test(value))){
  166. callback();
  167. }
  168. // setTimeout(() => {
  169. // }, 1000);
  170. };
  171. return {
  172. id:"",
  173. objtbStatu:{
  174. wtuntStat:"",
  175. rgstrId:"",
  176. id:"",
  177. state:""
  178. },
  179. rules:{
  180. wiunWaoLegPersTel:[
  181. { validator: checkTel,trigger: 'blur' }
  182. ],
  183. techPersTel:[
  184. { validator: checkTel,trigger: 'blur' }
  185. ],
  186. patrolPersTel:[
  187. { validator: checkTel,trigger: 'blur' }
  188. ],
  189. },
  190. jqmmDialogShow: false,
  191. type: '',
  192. formObj: {
  193. isSetPhone:"",
  194. isSati:"",
  195. isCllcIdea:"",
  196. isSurePrice:"",
  197. isBalan:"",
  198. isSetSaft:"",
  199. isFixLog:"",
  200. isFindMend:"",
  201. isSetFoam:""
  202. },
  203. dialogFormVisible: false,
  204. formLabelWidth: '180px',
  205. loading: true,
  206. operationType1:'',
  207. rsvrRules: null,
  208. probId: '',
  209. showAddProblemDialog: false
  210. }
  211. },
  212. computed:{
  213. recPersId(){
  214. return localStorage.getItem("userid")? localStorage.getItem("userid"): ''
  215. }
  216. },
  217. created(){
  218. this.findItemByType()
  219. },
  220. mounted() {
  221. this.getRgstridObj();
  222. },
  223. watch: {
  224. currentObjectRgstrId(n,o){
  225. this.getRgstridObj();
  226. },
  227. },
  228. methods: {
  229. jqmmDialogClose() {
  230. this.jqmmDialogShow = false;
  231. },
  232. showPic(type){
  233. this.type = type
  234. this.jqmmDialogShow = true
  235. },
  236. getRgstridObj(){
  237. var _self = this;
  238. request.get("/bis/insp/villgd/wtsp/run/"+this.currentGcId).then(res => {
  239. if (res.success) {
  240. if (res.data) {
  241. _self.formObj = res.data;
  242. } else {
  243. _self.formObj = {};
  244. }
  245. }
  246. })
  247. },
  248. addHandler(){
  249. var _self = this;
  250. _self.formObj['rgstrId'] = _self.currentObjectRgstrId;
  251. _self.formObj['recPersId'] = _self.recPersId;
  252. if(this.formObj.isSetPhone==null &&
  253. this.formObj.isSati==null &&
  254. this.formObj.isCllcIdea==null &&
  255. this.formObj.isSurePrice==null &&
  256. this.formObj.isBalan==null &&
  257. this.formObj.isSetSaft==null &&
  258. this.formObj.isFixLog==null &&
  259. this.formObj.isFindMend==null &&
  260. this.formObj.isSetFoam==null
  261. ){
  262. this.formObj.state = "0"
  263. }else if(this.formObj.isSetPhone!=null &&
  264. this.formObj.isSati!=null &&
  265. this.formObj.isCllcIdea!=null &&
  266. this.formObj.isSurePrice!=null &&
  267. this.formObj.isBalan!=null &&
  268. this.formObj.isSetSaft!=null &&
  269. this.formObj.isFixLog!=null &&
  270. this.formObj.isFindMend!=null &&
  271. this.formObj.isSetFoam!=null
  272. ){
  273. this.formObj.state = "2";
  274. }else{
  275. this.formObj.state = "1"
  276. }
  277. this.$confirm('确认保存现场督查情况信息?', '提示', {
  278. confirmButtonText: '确定',
  279. cancelButtonText: '取消',
  280. type: 'warning'
  281. })
  282. .then(() => {
  283. try{
  284. request.post('/bis/insp/villgd/wtsp/run',_self.formObj).then((res)=>{
  285. if (res.success) {
  286. _self.$message.success("修改成功");
  287. _self.$emit("addShuiKuSuccess");
  288. }
  289. });
  290. } catch(e) {
  291. }
  292. })
  293. .catch(() => {
  294. });
  295. },
  296. cancelHandler(){
  297. this.$emit('cancelHandler');
  298. },
  299. findItemByType(){
  300. const obj ={
  301. tname: "BIS_INSP_VILLGD_WTSP_RUN",
  302. }
  303. request.post("/bis/insp/item/ques/info/findItemByType",obj).then(res =>{
  304. this.rsvrRules = res.data;
  305. })
  306. },
  307. addProblem(item,iValue){
  308. let rest = this.rsvrRules.filter(e => {
  309. return e.iValue === iValue && e.eName === item;
  310. });
  311. if (rest[0]){
  312. this.probId = rest[0].id;
  313. }
  314. this.showAddProblemDialog = true;
  315. },
  316. formatRadio(val){
  317. if(val == '1'){
  318. return '是'
  319. }else if(val == '2'){
  320. return '否'
  321. }else{
  322. return val
  323. }
  324. },
  325. closePlDialog(val) {
  326. this.showAddProblemDialog = false;
  327. }
  328. },
  329. }
  330. </script>
  331. <style scoped>
  332. #dcdxHeader {
  333. padding: 15px 20px;
  334. }
  335. #dxdcFooter {
  336. text-align: center;
  337. }
  338. #dxdcAside {
  339. border:1px solid #d5d5ff;
  340. }
  341. .el-dialog__wrapper .el-treeWhite{
  342. /* max-height: 260px !important; */
  343. }
  344. .add-problem-icon{
  345. font-size: 16px;
  346. }
  347. .el-icon-camera-solid,.el-icon-circle-plus{
  348. margin-left: 20px;
  349. color: #00bbff;
  350. font-size: 18px;
  351. line-height: 12px;
  352. vertical-align: middle;
  353. cursor: pointer;
  354. }
  355. .el-icon-circle-plus{
  356. vertical-align: top;
  357. }
  358. </style>