f6533ed9b58cc90ecdd5a0fd374ddae2f02432b6.svn-base 9.0 KB

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