180716c7bf03ccd97cd48780e61a852eea9700d7.svn-base 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  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-input v-model="formObj.powPersNum" autocomplete="off" style="width:50%;">
  14. <template slot="append">人</template>
  15. </el-input>
  16. </el-form-item>
  17. <el-form-item label="其中持证上岗人数" :required="true">
  18. <el-input v-model="formObj.powDutyNum" autocomplete="off" style="width:50%;">
  19. <template slot="append">人</template>
  20. </el-input>
  21. </el-form-item>
  22. <el-form-item label="">
  23. <el-button type="primary" @click="addHandler" v-if="openType">保 存</el-button>
  24. </el-form-item>
  25. </el-form>
  26. </el-main>
  27. <problem-dialog
  28. v-if="showAddProblemDialog && openType"
  29. :objType="116"
  30. :villType="116"
  31. :objId="currentObjectId"
  32. :objName="currentObjectName"
  33. :problemMiddleType="'小水电隐患管理'"
  34. :problData="probId"
  35. @closeDialog="closePlDialog"
  36. :currentObjectRgstrId="currentObjectRgstrId"
  37. ></problem-dialog>
  38. <add-pic-com v-if="jqmmDialogShow" :dialogTitle="'相关材料'" :jqmmEngId="id" :type="type" :openType="openType" @jqmmDialogClose="jqmmDialogClose"></add-pic-com>
  39. </el-container>
  40. </div>
  41. </template>
  42. <script>
  43. import inputWith from "@widget/inuptWith.vue"
  44. import problemDialog from "../../duChaWenTi/problemDialog.vue";
  45. import addPicCom from "./addPic.vue"
  46. import request from "@util/gw_ajax_request.js"
  47. import {getRunStat} from "@api/duChaTianBao.js"
  48. import {formatDateTimeD} from "@util/gw_date.js"
  49. export default {
  50. components: {
  51. inputWith: inputWith,
  52. problemDialog,
  53. addPicCom
  54. },
  55. props: ['currentObjectId','currentObjectName','currentObjectRgstrId','openType'],
  56. data() {
  57. var checkTel = (rule, value, callback) => {
  58. var isPhone = /^([0-9]{3,4}-)?[0-9]{7,8}$/;//座机
  59. var isMob= /^[1][3,4,5,7,8][0-9]{9}$/;// 座机格式
  60. if (value&&!isMob.test(value)&&!isPhone.test(value)) {
  61. callback(new Error('请输入合理电话'));
  62. } else if(value&&(isMob.test(value)||isPhone.test(value))){
  63. callback();
  64. }
  65. // setTimeout(() => {
  66. // }, 1000);
  67. };
  68. return {
  69. id:"",
  70. objtbStatu:{
  71. wtuntStat:"",
  72. rgstrId:"",
  73. id:"",
  74. state:""
  75. },
  76. rules:{
  77. wiunWaoLegPersTel:[
  78. { validator: checkTel,trigger: 'blur' }
  79. ],
  80. techPersTel:[
  81. { validator: checkTel,trigger: 'blur' }
  82. ],
  83. patrolPersTel:[
  84. { validator: checkTel,trigger: 'blur' }
  85. ],
  86. },
  87. jqmmDialogShow: false,
  88. type: '',
  89. formObj: {
  90. powPersNum:"",
  91. powDutyNum:""
  92. },
  93. dialogFormVisible: false,
  94. formLabelWidth: '400px',
  95. loading: true,
  96. operationType1:'',
  97. rsvrRules: null,
  98. probId: '',
  99. showAddProblemDialog: false
  100. }
  101. },
  102. computed:{
  103. recPersId(){
  104. return localStorage.getItem("userid")? localStorage.getItem("userid"): ''
  105. }
  106. },
  107. created(){
  108. this.findItemByType()
  109. },
  110. mounted() {
  111. this.getRgstridObj();
  112. },
  113. watch: {
  114. currentObjectRgstrId(n,o){
  115. this.getRgstridObj();
  116. },
  117. },
  118. methods: {
  119. jqmmDialogClose() {
  120. this.jqmmDialogShow = false;
  121. },
  122. showPic(type){
  123. this.type = type
  124. this.jqmmDialogShow = true
  125. },
  126. getRgstridObj(){
  127. var _self = this;
  128. getRunStat(_self.currentObjectRgstrId).then((res)=>{
  129. _self.formObj = res.data;
  130. _self.id = res.data.id;
  131. });
  132. },
  133. addHandler(){
  134. var _self = this;
  135. _self.formObj['rgstrId'] = _self.currentObjectRgstrId;
  136. _self.formObj['recPersId'] = _self.recPersId;
  137. if(
  138. !this.formObj.powPersNum &&
  139. !this.formObj.powDutyNum
  140. ){
  141. this.formObj.state = "0"
  142. }else if(
  143. this.formObj.powPersNum &&
  144. this.formObj.powDutyNum
  145. ){
  146. this.formObj.state = "2";
  147. }else{
  148. this.formObj.state = "1"
  149. }
  150. this.$confirm('确认保存现场督查情况信息?', '提示', {
  151. confirmButtonText: '确定',
  152. cancelButtonText: '取消',
  153. type: 'warning'
  154. })
  155. .then(() => {
  156. try{
  157. request.post('/bis/insp/hystp/run/',_self.formObj).then((res)=>{
  158. if (res.success) {
  159. _self.$message.success("修改成功");
  160. _self.$emit("addShuiKuSuccess");
  161. }
  162. });
  163. } catch(e) {
  164. }
  165. })
  166. .catch(() => {
  167. });
  168. },
  169. cancelHandler(){
  170. this.$emit('cancelHandler');
  171. },
  172. findItemByType(){
  173. const obj ={
  174. tname: "BIS_INSP_HYSTP_RUN",
  175. }
  176. request.post("/bis/insp/item/ques/info/findItemByType",obj).then(res =>{
  177. this.rsvrRules = res.data;
  178. })
  179. },
  180. addProblem(item,iValue){
  181. let rest = this.rsvrRules.filter(e => {
  182. return e.iValue === iValue && e.eName === item;
  183. });
  184. if (rest[0]){
  185. this.probId = rest[0].id;
  186. }
  187. this.showAddProblemDialog = true;
  188. },
  189. formatRadio(val){
  190. if(val == '1'){
  191. return '是'
  192. }else if(val == '2'){
  193. return '否'
  194. }else{
  195. return val
  196. }
  197. },
  198. closePlDialog(val) {
  199. this.showAddProblemDialog = false;
  200. }
  201. },
  202. }
  203. </script>
  204. <style scoped>
  205. #dcdxHeader {
  206. padding: 15px 20px;
  207. }
  208. #dxdcFooter {
  209. text-align: center;
  210. }
  211. #dxdcAside {
  212. border:1px solid #d5d5ff;
  213. }
  214. .el-dialog__wrapper .el-treeWhite{
  215. /* max-height: 260px !important; */
  216. }
  217. .left-vertical {
  218. width: 8px;
  219. height: 24px;
  220. background: #00b0f0;
  221. display: inline-block;
  222. vertical-align: bottom;
  223. }
  224. .add-problem-icon{
  225. font-size: 16px;
  226. }
  227. .el-icon-camera-solid,.el-icon-circle-plus{
  228. margin-left: 20px;
  229. color: #00bbff;
  230. font-size: 18px;
  231. line-height: 12px;
  232. vertical-align: middle;
  233. cursor: pointer;
  234. }
  235. .el-icon-circle-plus{
  236. vertical-align: top;
  237. }
  238. </style>