989f997cf4cb3f7caf0e53c716fcfe6d4afea63a.svn-base 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444
  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. <el-form-item label="总河长是否部署河长制湖长制年度工作" :required="true">
  8. <el-radio v-model="formObj.isPlanWork" label="1">是</el-radio>
  9. <el-radio v-model="formObj.isPlanWork" label="2">否</el-radio>
  10. <el-button
  11. @click="addProblem('isPlanWork',formObj.isPlanWork)"
  12. type="text"
  13. v-if="formObj.isPlanWork =='2'">
  14. <i class="el-icon-circle-plus add-problem-icon"></i>
  15. </el-button>
  16. </el-form-item>
  17. <el-form-item label="描述" v-if="formObj.isPlanWork=='1'">
  18. <el-input type="textarea" v-model="formObj.planWorkNote" style="width: 300px;"></el-input>
  19. <i @click="showPic('planWorkNote')" class="el-icon-camera-solid"></i>
  20. </el-form-item>
  21. <el-form-item label="河长湖长是否具体部署安排所负责河湖管理保护工作" :required="true">
  22. <el-radio v-model="formObj.isPrtctWork" label="1">是</el-radio>
  23. <el-radio v-model="formObj.isPrtctWork" label="2">否</el-radio>
  24. <el-button
  25. @click="addProblem('isPrtctWork',formObj.isPrtctWork)"
  26. type="text"
  27. v-if="formObj.isPrtctWork =='2'">
  28. <i class="el-icon-circle-plus add-problem-icon"></i>
  29. </el-button>
  30. </el-form-item>
  31. <el-form-item label="描述" v-if="formObj.isPrtctWork=='1'">
  32. <el-input type="textarea" v-model="formObj.prtctWorkNote" style="width: 300px;"></el-input>
  33. <i @click="showPic('prtctWorkNote')" class="el-icon-camera-solid"></i>
  34. </el-form-item>
  35. <el-form-item label="推动落实河长制湖长制任务的政策措施和工作制度是否完善或操作性强" :required="true">
  36. <el-radio v-model="formObj.isWorkLow" label="1">是</el-radio>
  37. <el-radio v-model="formObj.isWorkLow" label="2">否</el-radio>
  38. <el-button
  39. @click="addProblem('isWorkLow',formObj.isWorkLow)"
  40. type="text"
  41. v-if="formObj.isWorkLow =='2'">
  42. <i class="el-icon-circle-plus add-problem-icon"></i>
  43. </el-button>
  44. </el-form-item>
  45. <el-form-item label="描述" v-if="formObj.isWorkLow=='1'">
  46. <el-input type="textarea" v-model="formObj.workLowNote" style="width: 300px;"></el-input>
  47. <i @click="showPic('workLowNote')" class="el-icon-camera-solid"></i>
  48. </el-form-item>
  49. <el-form-item label="河长湖长是否按地方有关规定认真履行巡河(湖)调研、检查职责" :required="true">
  50. <el-radio v-model="formObj.isAckChk" label="1">是</el-radio>
  51. <el-radio v-model="formObj.isAckChk" label="2">否</el-radio>
  52. <el-button
  53. @click="addProblem('isAckChk',formObj.isAckChk)"
  54. type="text"
  55. v-if="formObj.isAckChk =='2'">
  56. <i class="el-icon-circle-plus add-problem-icon"></i>
  57. </el-button>
  58. </el-form-item>
  59. <el-form-item label="描述" v-if="formObj.isAckChk=='1'">
  60. <el-input type="textarea" v-model="formObj.ackChkNote" style="width: 300px;"></el-input>
  61. <i @click="showPic('ackChkNote')" class="el-icon-camera-solid"></i>
  62. </el-form-item>
  63. <el-form-item label="河长湖长巡河(湖)发现问题未整改的,是否制定整改措施、明确责任人及整改时限" :required="true">
  64. <el-radio v-model="formObj.isPblmMend" label="1">是</el-radio>
  65. <el-radio v-model="formObj.isPblmMend" label="2">否</el-radio>
  66. <el-button
  67. @click="addProblem('isPblmMend',formObj.isPblmMend)"
  68. type="text"
  69. v-if="formObj.isPblmMend =='2'">
  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="formObj.isPblmMend=='1'">
  74. <el-input type="textarea" v-model="formObj.pblmMendNote" style="width: 300px;"></el-input>
  75. <i @click="showPic('pblmMendNote')" class="el-icon-camera-solid"></i>
  76. </el-form-item>
  77. <el-form-item label="河长湖长是否对相关部门和下一级河长湖长履职情况进行督导检查" :required="true">
  78. <el-radio v-model="formObj.isNextChk" label="1">是</el-radio>
  79. <el-radio v-model="formObj.isNextChk" label="2">否</el-radio>
  80. <el-button
  81. @click="addProblem('isNextChk',formObj.isNextChk)"
  82. type="text"
  83. v-if="formObj.isNextChk =='2'">
  84. <i class="el-icon-circle-plus add-problem-icon"></i>
  85. </el-button>
  86. </el-form-item>
  87. <el-form-item label="描述" v-if="formObj.isNextChk=='1'">
  88. <el-input type="textarea" v-model="formObj.nextChkNote" style="width: 300px;"></el-input>
  89. <i @click="showPic('nextChkNote')" class="el-icon-camera-solid"></i>
  90. </el-form-item>
  91. <el-form-item label="河长湖长是否协调解决河湖管理保护重大问题的,且未出现协调后仍久拖不决" :required="true">
  92. <el-radio v-model="formObj.isPrtctPblm" label="1">是</el-radio>
  93. <el-radio v-model="formObj.isPrtctPblm" label="2">否</el-radio>
  94. <el-button
  95. @click="addProblem('isPrtctPblm',formObj.isPrtctPblm)"
  96. type="text"
  97. v-if="formObj.isPrtctPblm =='2'">
  98. <i class="el-icon-circle-plus add-problem-icon"></i>
  99. </el-button>
  100. </el-form-item>
  101. <el-form-item label="描述" v-if="formObj.isPrtctPblm=='1'">
  102. <el-input type="textarea" v-model="formObj.prtctPblmNote" style="width: 300px;"></el-input>
  103. <i @click="showPic('prtctPblmNote')" class="el-icon-camera-solid"></i>
  104. </el-form-item>
  105. <el-form-item label="河长湖长是否牵头组织对侵占河道、围垦湖泊、超标排污、非法采砂、破坏航道、电毒炸鱼等突出问题依法进行清理整治" :required="true">
  106. <el-radio v-model="formObj.isDstryMend" label="1">是</el-radio>
  107. <el-radio v-model="formObj.isDstryMend" label="2">否</el-radio>
  108. <el-button
  109. @click="addProblem('isDstryMend',formObj.isDstryMend)"
  110. type="text"
  111. v-if="formObj.isDstryMend =='2'">
  112. <i class="el-icon-circle-plus add-problem-icon"></i>
  113. </el-button>
  114. </el-form-item>
  115. <el-form-item label="描述" v-if="formObj.isDstryMend=='1'">
  116. <el-input type="textarea" v-model="formObj.dstryMendNote" style="width: 300px;"></el-input>
  117. <i @click="showPic('dstryMendNote')" class="el-icon-camera-solid"></i>
  118. </el-form-item>
  119. <el-form-item label="河长湖长已牵头组织对侵占河道、围垦湖泊、超标排污、非法采砂、破坏航道、电毒炸鱼等突出问题依法进行清理整治,但清理整治成效是否明显" :required="true">
  120. <el-radio v-model="formObj.isDstryMendEff" label="1">是</el-radio>
  121. <el-radio v-model="formObj.isDstryMendEff" label="2">否</el-radio>
  122. <el-button
  123. @click="addProblem('isDstryMendEff',formObj.isDstryMendEff)"
  124. type="text"
  125. v-if="formObj.isDstryMendEff =='2'">
  126. <i class="el-icon-circle-plus add-problem-icon"></i>
  127. </el-button>
  128. </el-form-item>
  129. <el-form-item label="描述" v-if="formObj.isDstryMendEff=='1'">
  130. <el-input type="textarea" v-model="formObj.dstryMendEffNote" style="width: 300px;"></el-input>
  131. <i @click="showPic('dstryMendEffNote')" class="el-icon-camera-solid"></i>
  132. </el-form-item>
  133. <el-form-item label="跨行政区域河湖共同的上一级河长湖长是否明晰河湖管理责任,且协调上下游、左右岸、干支流实行联防联控" :required="true">
  134. <el-radio v-model="formObj.isSureWork" label="1">是</el-radio>
  135. <el-radio v-model="formObj.isSureWork" label="2">否</el-radio>
  136. <el-button
  137. @click="addProblem('isSureWork',formObj.isSureWork)"
  138. type="text"
  139. v-if="formObj.isSureWork =='2'">
  140. <i class="el-icon-circle-plus add-problem-icon"></i>
  141. </el-button>
  142. </el-form-item>
  143. <el-form-item label="描述" v-if="formObj.isSureWork=='1'">
  144. <el-input type="textarea" v-model="formObj.sureWorkNote" style="width: 300px;"></el-input>
  145. <i @click="showPic('sureWorkNote')" class="el-icon-camera-solid"></i>
  146. </el-form-item>
  147. <el-form-item label="县级及以上河长湖长是否按规定组织对相关部门和下一级河长湖长目标任务完成情况进行考核且考核后落实激励问责措施" :required="true">
  148. <el-radio v-model="formObj.isNextWorkChk" label="1">是</el-radio>
  149. <el-radio v-model="formObj.isNextWorkChk" label="2">否</el-radio>
  150. <el-button
  151. @click="addProblem('isNextWorkChk',formObj.isNextWorkChk)"
  152. type="text"
  153. v-if="formObj.isNextWorkChk =='2'">
  154. <i class="el-icon-circle-plus add-problem-icon"></i>
  155. </el-button>
  156. </el-form-item>
  157. <el-form-item label="描述" v-if="formObj.isNextWorkChk=='1'">
  158. <el-input type="textarea" v-model="formObj.nextWorkChkNote" style="width: 300px;"></el-input>
  159. <i @click="showPic('nextWorkChkNote')" class="el-icon-camera-solid"></i>
  160. </el-form-item>
  161. <el-form-item label="是否将中央直管河湖“四乱”问题纳入属地职责范围且未推谈扯皮" :required="true">
  162. <el-radio v-model="formObj.isOmitMend" label="1">是</el-radio>
  163. <el-radio v-model="formObj.isOmitMend" label="2">否</el-radio>
  164. <el-button
  165. @click="addProblem('isOmitMend',formObj.isOmitMend)"
  166. type="text"
  167. v-if="formObj.isOmitMend =='2'">
  168. <i class="el-icon-circle-plus add-problem-icon"></i>
  169. </el-button>
  170. </el-form-item>
  171. <el-form-item label="描述" v-if="formObj.isOmitMend=='1'">
  172. <el-input type="textarea" v-model="formObj.omitMendNote" style="width: 300px;"></el-input>
  173. <i @click="showPic('omitMendNote')" class="el-icon-camera-solid"></i>
  174. </el-form-item>
  175. <el-form-item label="">
  176. <el-button type="primary" @click="addHandler" v-if="openType">保 存</el-button>
  177. </el-form-item>
  178. </el-form>
  179. </el-main>
  180. <problem-dialog
  181. v-if="showAddProblemDialog && openType"
  182. :objType="76"
  183. :villType="76"
  184. :objId="currentObjectId"
  185. :objName="currentObjectName"
  186. :problemMiddleType="'河湖长制'"
  187. :problData="probId"
  188. @closeDialog="closePlDialog"
  189. :currentObjectRgstrId="currentObjectRgstrId"
  190. ></problem-dialog>
  191. <add-pic-com v-if="jqmmDialogShow" :dialogTitle="'相关材料'" :jqmmEngId="id" :type="type" :openType="openType" @jqmmDialogClose="jqmmDialogClose"></add-pic-com>
  192. </el-container>
  193. </div>
  194. </template>
  195. <script>
  196. import inputWith from "@widget/inuptWith.vue"
  197. import problemDialog from "../../duChaWenTi/problemDialog.vue";
  198. import addPicCom from "./addPic.vue"
  199. import request from "@util/gw_ajax_request.js"
  200. import {getRgstriyRsmpStat} from "@api/duChaTianBao.js"
  201. import {formatDateTimeD} from "@util/gw_date.js"
  202. export default {
  203. components: {
  204. inputWith: inputWith,
  205. problemDialog,
  206. addPicCom
  207. },
  208. props: ['currentObjectId','currentObjectName','currentObjectRgstrId','openType'],
  209. data() {
  210. var checkTel = (rule, value, callback) => {
  211. var isPhone = /^([0-9]{3,4}-)?[0-9]{7,8}$/;//座机
  212. var isMob= /^[1][3,4,5,7,8][0-9]{9}$/;// 座机格式
  213. if (value&&!isMob.test(value)&&!isPhone.test(value)) {
  214. callback(new Error('请输入合理电话'));
  215. } else if(value&&(isMob.test(value)||isPhone.test(value))){
  216. callback();
  217. }
  218. // setTimeout(() => {
  219. // }, 1000);
  220. };
  221. return {
  222. id:"",
  223. objtbStatu:{
  224. wtuntStat:"",
  225. rgstrId:"",
  226. id:"",
  227. state:""
  228. },
  229. rules:{
  230. wiunWaoLegPersTel:[
  231. { validator: checkTel,trigger: 'blur' }
  232. ],
  233. techPersTel:[
  234. { validator: checkTel,trigger: 'blur' }
  235. ],
  236. patrolPersTel:[
  237. { validator: checkTel,trigger: 'blur' }
  238. ],
  239. },
  240. jqmmDialogShow: false,
  241. type: '',
  242. formObj: {
  243. isPlanWork:"",
  244. planWorkNote:"",
  245. isPrtctWork:"",
  246. prtctWorkNote:"",
  247. isWorkLow:"",
  248. workLowNote:"",
  249. isAckChk:"",
  250. ackChkNote:"",
  251. isPblmMend:"",
  252. pblmMendNote:"",
  253. isNextChk:"",
  254. nextChkNote:"",
  255. isPrtctPblm:"",
  256. prtctPblmNote:"",
  257. isDstryMend:"",
  258. dstryMendNote:"",
  259. isDstryMendEff:"",
  260. dstryMendEffNote:"",
  261. isSureWork:"",
  262. sureWorkNote:"",
  263. isNextWorkChk:"",
  264. nextWorkChkNote:"",
  265. isOmitMend:"",
  266. omitMendNote:""
  267. },
  268. dialogFormVisible: false,
  269. formLabelWidth: '180px',
  270. loading: true,
  271. operationType1:'',
  272. rsvrRules: null,
  273. probId: '',
  274. showAddProblemDialog: false
  275. }
  276. },
  277. computed:{
  278. recPersId(){
  279. return localStorage.getItem("userid")? localStorage.getItem("userid"): ''
  280. }
  281. },
  282. created(){
  283. this.findItemByType()
  284. },
  285. mounted() {
  286. this.getRgstridObj();
  287. },
  288. watch: {
  289. currentObjectRgstrId(n,o){
  290. this.getRgstridObj();
  291. },
  292. },
  293. methods: {
  294. jqmmDialogClose() {
  295. this.jqmmDialogShow = false;
  296. },
  297. showPic(type){
  298. this.type = type
  299. this.jqmmDialogShow = true
  300. },
  301. getRgstridObj(){
  302. var _self = this;
  303. getRgstriyRsmpStat(_self.currentObjectRgstrId).then((res)=>{
  304. _self.formObj = res.data;
  305. _self.id = res.data.id;
  306. });
  307. },
  308. addHandler(){
  309. var _self = this;
  310. _self.formObj['rgstrId'] = _self.currentObjectRgstrId;
  311. _self.formObj['recPersId'] = _self.recPersId;
  312. if(this.formObj.isPlanWork == "" &&
  313. this.formObj.isPrtctWork == "" &&
  314. this.formObj.isWorkLow == "" &&
  315. this.formObj.isAckChk == "" &&
  316. this.formObj.isPblmMend == "" &&
  317. this.formObj.isNextChk == "" &&
  318. this.formObj.isPrtctPblm == "" &&
  319. this.formObj.isDstryMend == "" &&
  320. this.formObj.isDstryMendEff == "" &&
  321. this.formObj.isSureWork == "" &&
  322. this.formObj.isNextWorkChk == "" &&
  323. this.formObj.isOmitMend == ""
  324. ){
  325. this.formObj.state = "0"
  326. }else if(this.formObj.isPlanWork != "" &&
  327. this.formObj.isPrtctWork != "" &&
  328. this.formObj.isWorkLow != "" &&
  329. this.formObj.isAckChk != "" &&
  330. this.formObj.isPblmMend != "" &&
  331. this.formObj.isNextChk != "" &&
  332. this.formObj.isPrtctPblm != "" &&
  333. this.formObj.isDstryMend != "" &&
  334. this.formObj.isDstryMendEff != "" &&
  335. this.formObj.isSureWork != "" &&
  336. this.formObj.isNextWorkChk != "" &&
  337. this.formObj.isOmitMend != ""
  338. ){
  339. this.formObj.state = "2";
  340. }else{
  341. this.formObj.state = "1"
  342. }
  343. this.$confirm('确认保存现场督查情况信息?', '提示', {
  344. confirmButtonText: '确定',
  345. cancelButtonText: '取消',
  346. type: 'warning'
  347. })
  348. .then(() => {
  349. try{
  350. request.post('/bis/insp/dpgm/rsmp',_self.formObj).then((res)=>{
  351. if (res.success) {
  352. _self.$message.success("修改成功");
  353. _self.$emit("addShuiKuSuccess");
  354. }
  355. });
  356. } catch(e) {
  357. }
  358. })
  359. .catch(() => {
  360. });
  361. },
  362. cancelHandler(){
  363. this.$emit('cancelHandler');
  364. },
  365. findItemByType(){
  366. const obj ={
  367. tname: "BIS_INSP_DPGM_RSMP",
  368. }
  369. request.post("/bis/insp/item/ques/info/findItemByType",obj).then(res =>{
  370. this.rsvrRules = res.data;
  371. })
  372. },
  373. addProblem(item,iValue){
  374. let rest = this.rsvrRules.filter(e => {
  375. return e.iValue === iValue && e.eName === item;
  376. });
  377. if (rest[0]){
  378. this.probId = rest[0].id;
  379. }
  380. this.showAddProblemDialog = true;
  381. },
  382. formatRadio(val){
  383. if(val == '1'){
  384. return '是'
  385. }else if(val == '2'){
  386. return '否'
  387. }else{
  388. return val
  389. }
  390. },
  391. closePlDialog(val) {
  392. this.showAddProblemDialog = false;
  393. }
  394. },
  395. }
  396. </script>
  397. <style scoped>
  398. #dcdxHeader {
  399. padding: 15px 20px;
  400. }
  401. #dxdcFooter {
  402. text-align: center;
  403. }
  404. #dxdcAside {
  405. border:1px solid #d5d5ff;
  406. }
  407. .el-dialog__wrapper .el-treeWhite{
  408. /* max-height: 260px !important; */
  409. }
  410. .add-problem-icon{
  411. font-size: 16px;
  412. }
  413. .el-icon-camera-solid,.el-icon-circle-plus{
  414. margin-left: 20px;
  415. color: #00bbff;
  416. font-size: 18px;
  417. line-height: 12px;
  418. vertical-align: middle;
  419. cursor: pointer;
  420. }
  421. .el-icon-circle-plus{
  422. vertical-align: top;
  423. }
  424. </style>