f1e377f57fad02a1ce83e3e7efcad68bfd4ebffb.svn-base 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367
  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. <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">贯彻落实安全生产各项决策部署情况</p>
  7. <el-form :model="formObj" :label-width="formLabelWidth" :rules="rules">
  8. <el-form-item label="是否学习贯彻习近平总书记关于安全生产工作重要论述和指示批示精神" :required="true">
  9. <el-radio v-model="formObj.isLearn" label="1">是</el-radio>
  10. <el-radio v-model="formObj.isLearn" label="2">否</el-radio>
  11. <el-button
  12. @click="addProblem('isLearn',formObj.isLearn)"
  13. type="text"
  14. v-if="formObj.isLearn =='2'">
  15. <i class="el-icon-circle-plus add-problem-icon"></i>
  16. </el-button>
  17. </el-form-item>
  18. <el-form-item label="描述" v-if="formObj.isLearn=='1'">
  19. <el-input type="textarea" v-model="formObj.learnNote" style="width: 300px;"></el-input>
  20. <i @click="showPic('learnNote')" class="el-icon-camera-solid"></i>
  21. </el-form-item>
  22. <el-form-item label="是否组织安全生产法律法规学习培训、岗位能力提升、安全生产宣传、政策解读等组织" :required="true">
  23. <el-radio v-model="formObj.isOrgLearn" label="1">是</el-radio>
  24. <el-radio v-model="formObj.isOrgLearn" label="2">否</el-radio>
  25. <el-button
  26. @click="addProblem('isOrgLearn',formObj.isOrgLearn)"
  27. type="text"
  28. v-if="formObj.isOrgLearn =='2'">
  29. <i class="el-icon-circle-plus add-problem-icon"></i>
  30. </el-button>
  31. </el-form-item>
  32. <el-form-item label="描述" v-if="formObj.isOrgLearn=='1'">
  33. <el-input type="textarea" v-model="formObj.orgLearNote" style="width: 300px;"></el-input>
  34. <i @click="showPic('orgLearNote')" class="el-icon-camera-solid"></i>
  35. </el-form-item>
  36. <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">落实安全生产重要政策文件规定情况</p>
  37. <el-form-item label="是否落实水利部和流域委2020年以来印发的有关安全生产监督管理文件" :required="true">
  38. <el-radio v-model="formObj.isImpFile" label="1">是</el-radio>
  39. <el-radio v-model="formObj.isImpFile" label="2">否</el-radio>
  40. <el-button
  41. @click="addProblem('isImpFile',formObj.isImpFile)"
  42. type="text"
  43. v-if="formObj.isImpFile =='2'">
  44. <i class="el-icon-circle-plus add-problem-icon"></i>
  45. </el-button>
  46. </el-form-item>
  47. <el-form-item label="描述" v-if="formObj.isImpFile=='1'">
  48. <el-input type="textarea" v-model="formObj.impFileNote" style="width: 300px;"></el-input>
  49. <i @click="showPic('impFileNote')" class="el-icon-camera-solid"></i>
  50. </el-form-item>
  51. <el-form-item label="是否落实省水利厅2020年以来印发的有关安全生产监督管理文件" :required="true">
  52. <el-radio v-model="formObj.isImpPdc" label="1">是</el-radio>
  53. <el-radio v-model="formObj.isImpPdc" label="2">否</el-radio>
  54. <el-button
  55. @click="addProblem('isImpPdc',formObj.isImpPdc)"
  56. type="text"
  57. v-if="formObj.isImpPdc =='2'">
  58. <i class="el-icon-circle-plus add-problem-icon"></i>
  59. </el-button>
  60. </el-form-item>
  61. <el-form-item label="描述" v-if="formObj.isImpPdc=='1'">
  62. <el-input type="textarea" v-model="formObj.impPdcNote" style="width: 300px;"></el-input>
  63. <i @click="showPic('impPdcNote')" class="el-icon-camera-solid"></i>
  64. </el-form-item>
  65. <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">落实水利行业安全生产专项整治三年活动情况</p>
  66. <el-form-item label="是否落实《云南省水利行业安全生产专项整治三年行动实施方案》(云水监督〔2020〕1 号)" :required="true">
  67. <el-radio v-model="formObj.isImpAck" label="1">是</el-radio>
  68. <el-radio v-model="formObj.isImpAck" label="2">否</el-radio>
  69. <el-button
  70. @click="addProblem('isImpAck',formObj.isImpAck)"
  71. type="text"
  72. v-if="formObj.isImpAck =='2'">
  73. <i class="el-icon-circle-plus add-problem-icon"></i>
  74. </el-button>
  75. </el-form-item>
  76. <el-form-item label="描述" v-if="formObj.isImpAck=='1'">
  77. <el-input type="textarea" v-model="formObj.impAckNote" style="width: 300px;"></el-input>
  78. <i @click="showPic('impAckNote')" class="el-icon-camera-solid"></i>
  79. </el-form-item>
  80. <el-form-item label="是否落实《云南省水利行业安全生产专项整治三年行动 2020 年重点工作措施清单》(云水监督〔2020〕8 号)" :required="true">
  81. <el-radio v-model="formObj.isImpPblm" label="1">是</el-radio>
  82. <el-radio v-model="formObj.isImpPblm" label="2">否</el-radio>
  83. <el-button
  84. @click="addProblem('isImpPblm',formObj.isImpPblm)"
  85. type="text"
  86. v-if="formObj.isImpPblm =='2'">
  87. <i class="el-icon-circle-plus add-problem-icon"></i>
  88. </el-button>
  89. </el-form-item>
  90. <el-form-item label="描述" v-if="formObj.isImpPblm=='1'">
  91. <el-input type="textarea" v-model="formObj.impPblmNote" style="width: 300px;"></el-input>
  92. <i @click="showPic('impPblmNote')" class="el-icon-camera-solid"></i>
  93. </el-form-item>
  94. <el-form-item label="是否落实其他水利行业安全生产专项整治三年行动措施" :required="true">
  95. <el-radio v-model="formObj.isImpOther" label="1">是</el-radio>
  96. <el-radio v-model="formObj.isImpOther" label="2">否</el-radio>
  97. <el-button
  98. @click="addProblem('isImpOther',formObj.isImpOther)"
  99. type="text"
  100. v-if="formObj.isImpOther =='2'">
  101. <i class="el-icon-circle-plus add-problem-icon"></i>
  102. </el-button>
  103. </el-form-item>
  104. <el-form-item label="描述" v-if="formObj.isImpOther=='1'">
  105. <el-input type="textarea" v-model="formObj.impOtherNote" style="width: 300px;"></el-input>
  106. <i @click="showPic('impOtherNote')" class="el-icon-camera-solid"></i>
  107. </el-form-item>
  108. <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">落实安全生产工作责任制情况</p>
  109. <el-form-item label="是否有效落实《地方党政领导干部安全生产责任制实施办法》《云南省水利系统党政领导干部安全生产责任制实施办法》(云水党〔2018〕133 号)《关于建立全省水利安全生产监管责任清单的意见》等文件" :required="true">
  110. <el-radio v-model="formObj.isImpLead" label="1">是</el-radio>
  111. <el-radio v-model="formObj.isImpLead" label="2">否</el-radio>
  112. <el-button
  113. @click="addProblem('isImpLead',formObj.isImpLead)"
  114. type="text"
  115. v-if="formObj.isImpLead =='2'">
  116. <i class="el-icon-circle-plus add-problem-icon"></i>
  117. </el-button>
  118. </el-form-item>
  119. <el-form-item label="">
  120. <el-button type="primary" @click="addHandler" v-if="openType">保 存</el-button>
  121. </el-form-item>
  122. </el-form>
  123. </el-main>
  124. <problem-dialog
  125. v-if="showAddProblemDialog && openType"
  126. :objType="75"
  127. :villType="75"
  128. :objId="currentObjectId"
  129. :objName="currentObjectName"
  130. :problemMiddleType="'水行政部门安全生产巡检'"
  131. :problData="probId"
  132. @closeDialog="closePlDialog"
  133. :currentObjectRgstrId="currentObjectRgstrId"
  134. ></problem-dialog>
  135. <add-pic-com v-if="jqmmDialogShow" :dialogTitle="'相关材料'" :jqmmEngId="id" :type="type" :openType="openType" @jqmmDialogClose="jqmmDialogClose"></add-pic-com>
  136. </el-container>
  137. </div>
  138. </template>
  139. <script>
  140. import inputWith from "@widget/inuptWith.vue"
  141. import problemDialog from "../../duChaWenTi/problemDialog.vue";
  142. import addPicCom from "./addPic.vue"
  143. import request from "@util/gw_ajax_request.js"
  144. import {getRgstriystemStat} from "@api/duChaTianBao.js"
  145. import {formatDateTimeD} from "@util/gw_date.js"
  146. export default {
  147. components: {
  148. inputWith: inputWith,
  149. problemDialog,
  150. addPicCom
  151. },
  152. props: ['currentObjectId','currentObjectName','currentObjectRgstrId','openType'],
  153. data() {
  154. var checkTel = (rule, value, callback) => {
  155. var isPhone = /^([0-9]{3,4}-)?[0-9]{7,8}$/;//座机
  156. var isMob= /^[1][3,4,5,7,8][0-9]{9}$/;// 座机格式
  157. if (value&&!isMob.test(value)&&!isPhone.test(value)) {
  158. callback(new Error('请输入合理电话'));
  159. } else if(value&&(isMob.test(value)||isPhone.test(value))){
  160. callback();
  161. }
  162. // setTimeout(() => {
  163. // }, 1000);
  164. };
  165. return {
  166. id:"",
  167. objtbStatu:{
  168. wtuntStat:"",
  169. rgstrId:"",
  170. id:"",
  171. state:""
  172. },
  173. rules:{
  174. wiunWaoLegPersTel:[
  175. { validator: checkTel,trigger: 'blur' }
  176. ],
  177. techPersTel:[
  178. { validator: checkTel,trigger: 'blur' }
  179. ],
  180. patrolPersTel:[
  181. { validator: checkTel,trigger: 'blur' }
  182. ],
  183. },
  184. jqmmDialogShow: false,
  185. type: '',
  186. formObj: {
  187. isLearn:"",
  188. learnNote:"",
  189. isOrgLearn:"",
  190. orgLearNote:"",
  191. isImpFile:"",
  192. impFileNote:"",
  193. isImpPdc:"",
  194. impPdcNote:"",
  195. isImpAck:"",
  196. impAckNote:"",
  197. isImpPblm:"",
  198. impPblmNote:"",
  199. isImpOther:"",
  200. impOtherNote:"",
  201. isImpLead:""
  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. getRgstriystemStat(_self.currentObjectRgstrId).then((res)=>{
  239. _self.formObj = res.data;
  240. _self.id = res.data.id;
  241. });
  242. },
  243. addHandler(){
  244. var _self = this;
  245. _self.formObj['rgstrId'] = _self.currentObjectRgstrId;
  246. _self.formObj['recPersId'] = _self.recPersId;
  247. if(this.formObj.isLearn=="" &&
  248. this.formObj.isOrgLearn=="" &&
  249. this.formObj.isImpFile=="" &&
  250. this.formObj.isImpPdc=="" &&
  251. this.formObj.isImpAck=="" &&
  252. this.formObj.isImpPblm=="" &&
  253. this.formObj.isImpOther=="" &&
  254. this.formObj.isImpLead==""
  255. ){
  256. this.formObj.state = "0"
  257. }else if(this.formObj.isLearn!="" &&
  258. this.formObj.isOrgLearn!="" &&
  259. this.formObj.isImpFile!="" &&
  260. this.formObj.isImpPdc!="" &&
  261. this.formObj.isImpAck!="" &&
  262. this.formObj.isImpPblm!="" &&
  263. this.formObj.isImpOther!="" &&
  264. this.formObj.isImpLead!=""
  265. ){
  266. this.formObj.state = "2";
  267. }else{
  268. this.formObj.state = "1"
  269. }
  270. this.$confirm('确认保存现场督查情况信息?', '提示', {
  271. confirmButtonText: '确定',
  272. cancelButtonText: '取消',
  273. type: 'warning'
  274. })
  275. .then(() => {
  276. try{
  277. request.post('/bis/insp/yndep/system',_self.formObj).then((res)=>{
  278. if (res.success) {
  279. _self.$message.success("修改成功");
  280. _self.$emit("addShuiKuSuccess");
  281. }
  282. });
  283. } catch(e) {
  284. }
  285. })
  286. .catch(() => {
  287. });
  288. },
  289. cancelHandler(){
  290. this.$emit('cancelHandler');
  291. },
  292. findItemByType(){
  293. const obj ={
  294. tname: "BIS_INSP_YN_DRDMP_SYSTEM",
  295. }
  296. request.post("/bis/insp/item/ques/info/findItemByType",obj).then(res =>{
  297. this.rsvrRules = res.data;
  298. })
  299. },
  300. addProblem(item,iValue){
  301. let rest = this.rsvrRules.filter(e => {
  302. return e.iValue === iValue && e.eName === item;
  303. });
  304. if (rest[0]){
  305. this.probId = rest[0].id;
  306. }
  307. this.showAddProblemDialog = true;
  308. },
  309. formatRadio(val){
  310. if(val == '1'){
  311. return '是'
  312. }else if(val == '2'){
  313. return '否'
  314. }else{
  315. return val
  316. }
  317. },
  318. closePlDialog(val) {
  319. this.showAddProblemDialog = false;
  320. }
  321. },
  322. }
  323. </script>
  324. <style scoped>
  325. #dcdxHeader {
  326. padding: 15px 20px;
  327. }
  328. #dxdcFooter {
  329. text-align: center;
  330. }
  331. #dxdcAside {
  332. border:1px solid #d5d5ff;
  333. }
  334. .el-dialog__wrapper .el-treeWhite{
  335. /* max-height: 260px !important; */
  336. }
  337. .add-problem-icon{
  338. font-size: 16px;
  339. }
  340. .el-icon-camera-solid,.el-icon-circle-plus{
  341. margin-left: 20px;
  342. color: #00bbff;
  343. font-size: 18px;
  344. line-height: 12px;
  345. vertical-align: middle;
  346. cursor: pointer;
  347. }
  348. .el-icon-circle-plus{
  349. vertical-align: top;
  350. }
  351. </style>