9261b322626606ff85ddae0e6f96d2de9d476f3b.svn-base 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336
  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;font-weight: bold;">
  8. <i class="left-vertical"></i>
  9. <span>水工建筑物和金属结构-工程问题</span>
  10. <span class="hrs"></span>
  11. </p>
  12. <el-form-item label="挡水堰坝是否无明显缺陷" :required="true">
  13. <el-radio v-model="formObj.isBckwtFlaw" label="1">是</el-radio>
  14. <el-radio v-model="formObj.isBckwtFlaw" label="2">否</el-radio>
  15. <el-button
  16. @click="addProblem('isBckwtFlaw',formObj.isBckwtFlaw)"
  17. type="text"
  18. v-if="formObj.isBckwtFlaw =='2'">
  19. <i class="el-icon-circle-plus add-problem-icon"></i>
  20. </el-button>
  21. <i @click="showPic('isBckwtFlaw')" class="el-icon-camera-solid"></i>
  22. </el-form-item>
  23. <el-form-item label="调压设施是否无明显缺陷" :required="true">
  24. <el-radio v-model="formObj.isDpsvFlaw" label="1">是</el-radio>
  25. <el-radio v-model="formObj.isDpsvFlaw" label="2">否</el-radio>
  26. <el-button
  27. @click="addProblem('isDpsvFlaw',formObj.isDpsvFlaw)"
  28. type="text"
  29. v-if="formObj.isDpsvFlaw =='2'">
  30. <i class="el-icon-circle-plus add-problem-icon"></i>
  31. </el-button>
  32. <i @click="showPic('isDpsvFlaw')" class="el-icon-camera-solid"></i>
  33. </el-form-item>
  34. <el-form-item label="压力管道、镇支墩是否无明显缺陷" :required="true">
  35. <el-radio v-model="formObj.isPrpeFlaw" label="1">是</el-radio>
  36. <el-radio v-model="formObj.isPrpeFlaw" label="2">否</el-radio>
  37. <el-button
  38. @click="addProblem('isPrpeFlaw',formObj.isPrpeFlaw)"
  39. type="text"
  40. v-if="formObj.isPrpeFlaw =='2'">
  41. <i class="el-icon-circle-plus add-problem-icon"></i>
  42. </el-button>
  43. <i @click="showPic('isPrpeFlaw')" class="el-icon-camera-solid"></i>
  44. </el-form-item>
  45. <el-form-item label="压力钢管(含阀组)是否无明显缺陷" :required="true">
  46. <el-radio v-model="formObj.isPrstpeFlaw" label="1">是</el-radio>
  47. <el-radio v-model="formObj.isPrstpeFlaw" label="2">否</el-radio>
  48. <el-button
  49. @click="addProblem('isPrstpeFlaw',formObj.isPrstpeFlaw)"
  50. type="text"
  51. v-if="formObj.isPrstpeFlaw =='2'">
  52. <i class="el-icon-circle-plus add-problem-icon"></i>
  53. </el-button>
  54. <i @click="showPic('isPrstpeFlaw')" class="el-icon-camera-solid"></i>
  55. </el-form-item>
  56. <el-form-item label="压力前池是否无明显缺陷" :required="true">
  57. <el-radio v-model="formObj.isPrpoFlaw" label="1">是</el-radio>
  58. <el-radio v-model="formObj.isPrpoFlaw" label="2">否</el-radio>
  59. <el-button
  60. @click="addProblem('isPrpoFlaw',formObj.isPrpoFlaw)"
  61. type="text"
  62. v-if="formObj.isPrpoFlaw =='2'">
  63. <i class="el-icon-circle-plus add-problem-icon"></i>
  64. </el-button>
  65. <i @click="showPic('isPrpoFlaw')" class="el-icon-camera-solid"></i>
  66. </el-form-item>
  67. <el-form-item label="闸门 ( 工作、检修、事故、尾水闸门)是否无明显缺陷" :required="true">
  68. <el-radio v-model="formObj.isGateFlaw" label="1">是</el-radio>
  69. <el-radio v-model="formObj.isGateFlaw" label="2">否</el-radio>
  70. <el-button
  71. @click="addProblem('isGateFlaw',formObj.isGateFlaw)"
  72. type="text"
  73. v-if="formObj.isGateFlaw =='2'">
  74. <i class="el-icon-circle-plus add-problem-icon"></i>
  75. </el-button>
  76. <i @click="showPic('isGateFlaw')" class="el-icon-camera-solid"></i>
  77. </el-form-item>
  78. <el-form-item label="厂房是否无明显缺陷" :required="true">
  79. <el-radio v-model="formObj.isPlantFlaw" label="1">是</el-radio>
  80. <el-radio v-model="formObj.isPlantFlaw" label="2">否</el-radio>
  81. <el-button
  82. @click="addProblem('isPlantFlaw',formObj.isPlantFlaw)"
  83. type="text"
  84. v-if="formObj.isPlantFlaw =='2'">
  85. <i class="el-icon-circle-plus add-problem-icon"></i>
  86. </el-button>
  87. <i @click="showPic('isPlantFlaw')" class="el-icon-camera-solid"></i>
  88. </el-form-item>
  89. <el-form-item label="">
  90. <el-button type="primary" @click="addHandler" v-if="openType">保 存</el-button>
  91. </el-form-item>
  92. </el-form>
  93. </el-main>
  94. <problem-dialog
  95. v-if="showAddProblemDialog && openType"
  96. :objType="116"
  97. :villType="116"
  98. :objId="currentObjectId"
  99. :objName="currentObjectName"
  100. :problemMiddleType="'小水电隐患管理'"
  101. :problData="probId"
  102. @closeDialog="closePlDialog"
  103. :currentObjectRgstrId="currentObjectRgstrId"
  104. ></problem-dialog>
  105. <add-pic-com v-if="jqmmDialogShow" :dialogTitle="'相关材料'" :jqmmEngId="id" :type="type" :openType="openType" @jqmmDialogClose="jqmmDialogClose"></add-pic-com>
  106. </el-container>
  107. </div>
  108. </template>
  109. <script>
  110. import inputWith from "@widget/inuptWith.vue"
  111. import problemDialog from "../../duChaWenTi/problemDialog.vue";
  112. import addPicCom from "./addPic.vue"
  113. import request from "@util/gw_ajax_request.js"
  114. import {getBldfltStat} from "@api/duChaTianBao.js"
  115. import {formatDateTimeD} from "@util/gw_date.js"
  116. export default {
  117. components: {
  118. inputWith: inputWith,
  119. problemDialog,
  120. addPicCom
  121. },
  122. props: ['currentObjectId','currentObjectName','currentObjectRgstrId','openType'],
  123. data() {
  124. var checkTel = (rule, value, callback) => {
  125. var isPhone = /^([0-9]{3,4}-)?[0-9]{7,8}$/;//座机
  126. var isMob= /^[1][3,4,5,7,8][0-9]{9}$/;// 座机格式
  127. if (value&&!isMob.test(value)&&!isPhone.test(value)) {
  128. callback(new Error('请输入合理电话'));
  129. } else if(value&&(isMob.test(value)||isPhone.test(value))){
  130. callback();
  131. }
  132. // setTimeout(() => {
  133. // }, 1000);
  134. };
  135. return {
  136. id:"",
  137. objtbStatu:{
  138. wtuntStat:"",
  139. rgstrId:"",
  140. id:"",
  141. state:""
  142. },
  143. rules:{
  144. wiunWaoLegPersTel:[
  145. { validator: checkTel,trigger: 'blur' }
  146. ],
  147. techPersTel:[
  148. { validator: checkTel,trigger: 'blur' }
  149. ],
  150. patrolPersTel:[
  151. { validator: checkTel,trigger: 'blur' }
  152. ],
  153. },
  154. jqmmDialogShow: false,
  155. type: '',
  156. formObj: {
  157. isBckwtFlaw:"",
  158. isDpsvFlaw:"",
  159. isPrpeFlaw:"",
  160. isPrstpeFlaw:"",
  161. isPrpoFlaw:"",
  162. isGateFlaw:"",
  163. isPlantFlaw:""
  164. },
  165. dialogFormVisible: false,
  166. formLabelWidth: '400px',
  167. loading: true,
  168. operationType1:'',
  169. rsvrRules: null,
  170. probId: '',
  171. showAddProblemDialog: false
  172. }
  173. },
  174. computed:{
  175. recPersId(){
  176. return localStorage.getItem("userid")? localStorage.getItem("userid"): ''
  177. }
  178. },
  179. created(){
  180. this.findItemByType()
  181. },
  182. mounted() {
  183. this.getRgstridObj();
  184. },
  185. watch: {
  186. currentObjectRgstrId(n,o){
  187. this.getRgstridObj();
  188. },
  189. },
  190. methods: {
  191. jqmmDialogClose() {
  192. this.jqmmDialogShow = false;
  193. },
  194. showPic(type){
  195. this.type = type
  196. this.jqmmDialogShow = true
  197. },
  198. getRgstridObj(){
  199. var _self = this;
  200. getBldfltStat(_self.currentObjectRgstrId).then((res)=>{
  201. _self.formObj = res.data;
  202. _self.id = res.data.id;
  203. });
  204. },
  205. addHandler(){
  206. var _self = this;
  207. _self.formObj['rgstrId'] = _self.currentObjectRgstrId;
  208. _self.formObj['recPersId'] = _self.recPersId;
  209. if(!this.formObj.isBckwtFlaw &&
  210. !this.formObj.isDpsvFlaw &&
  211. !this.formObj.isPrpeFlaw &&
  212. !this.formObj.isPrstpeFlaw &&
  213. !this.formObj.isPrpoFlaw &&
  214. !this.formObj.isGateFlaw &&
  215. !this.formObj.isPlantFlaw
  216. ){
  217. this.formObj.state = "0"
  218. }else if(
  219. this.formObj.isBckwtFlaw &&
  220. this.formObj.isDpsvFlaw &&
  221. this.formObj.isPrpeFlaw &&
  222. this.formObj.isPrstpeFlaw &&
  223. this.formObj.isPrpoFlaw &&
  224. this.formObj.isGateFlaw &&
  225. this.formObj.isPlantFlaw
  226. ){
  227. this.formObj.state = "2";
  228. }else{
  229. this.formObj.state = "1"
  230. }
  231. this.$confirm('确认保存现场督查情况信息?', '提示', {
  232. confirmButtonText: '确定',
  233. cancelButtonText: '取消',
  234. type: 'warning'
  235. })
  236. .then(() => {
  237. try{
  238. request.post('/bis/insp/hystp/bldflt/',_self.formObj).then((res)=>{
  239. if (res.success) {
  240. _self.$message.success("修改成功");
  241. _self.$emit("addShuiKuSuccess");
  242. }
  243. });
  244. } catch(e) {
  245. }
  246. })
  247. .catch(() => {
  248. });
  249. },
  250. cancelHandler(){
  251. this.$emit('cancelHandler');
  252. },
  253. findItemByType(){
  254. const obj ={
  255. tname: "BIS_INSP_HYSTP_BLDFLT",
  256. }
  257. request.post("/bis/insp/item/ques/info/findItemByType",obj).then(res =>{
  258. this.rsvrRules = res.data;
  259. })
  260. },
  261. addProblem(item,iValue){
  262. let rest = this.rsvrRules.filter(e => {
  263. return e.iValue === iValue && e.eName === item;
  264. });
  265. if (rest[0]){
  266. this.probId = rest[0].id;
  267. }
  268. this.showAddProblemDialog = true;
  269. },
  270. formatRadio(val){
  271. if(val == '1'){
  272. return '是'
  273. }else if(val == '2'){
  274. return '否'
  275. }else{
  276. return val
  277. }
  278. },
  279. closePlDialog(val) {
  280. this.showAddProblemDialog = false;
  281. }
  282. },
  283. }
  284. </script>
  285. <style scoped>
  286. #dcdxHeader {
  287. padding: 15px 20px;
  288. }
  289. #dxdcFooter {
  290. text-align: center;
  291. }
  292. #dxdcAside {
  293. border:1px solid #d5d5ff;
  294. }
  295. .el-dialog__wrapper .el-treeWhite{
  296. /* max-height: 260px !important; */
  297. }
  298. .left-vertical {
  299. width: 8px;
  300. height: 24px;
  301. background: #00b0f0;
  302. display: inline-block;
  303. vertical-align: bottom;
  304. }
  305. .add-problem-icon{
  306. font-size: 16px;
  307. }
  308. .el-icon-camera-solid,.el-icon-circle-plus{
  309. margin-left: 20px;
  310. color: #00bbff;
  311. font-size: 18px;
  312. line-height: 12px;
  313. vertical-align: middle;
  314. cursor: pointer;
  315. }
  316. .el-icon-circle-plus{
  317. vertical-align: top;
  318. }
  319. </style>