dda6c0dbfedca670a7001f258204c3ed304701ec.svn-base 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. <template>
  2. <div>
  3. <el-container>
  4. <el-main style="border:1px solid #d5d5ff;margin-left:5px;padding:0px;">
  5. <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">信息填报</p>
  6. <el-form :model="addObj" :rules="rules" :label-width="formLabelWidth" ref="addObjRef">
  7. <p style="margin-top:10px;margin-bottom: 10px">
  8. <i class="el-icon-caret-right"></i>
  9. <span style="width:120px;padding-left: 10px">督查信息</span>
  10. <span class="hrs"></span>
  11. </p>
  12. <el-form-item label="所在位置" prop="loac">
  13. <el-input v-model="addObj.loac" autocomplete="off" style="width:70%;"></el-input>
  14. </el-form-item>
  15. <el-form-item label="督查方式" prop="chkWay">
  16. <el-select v-model="addObj.chkWay" placeholder="请选择" style="width:70%;">
  17. <el-option v-for="item in dcTypeList" :key="item.value" :label="item.label"
  18. :value="item.value">
  19. </el-option>
  20. </el-select>
  21. </el-form-item>
  22. <el-form-item label="现场检查日期" prop="chkTime">
  23. <el-date-picker v-model="addObj.chkTime" type="date" placeholder="选择日期" value-format="timestamp" style="width:70%;">
  24. </el-date-picker>
  25. </el-form-item>
  26. <el-form-item label="水毁情况" prop="disContent">
  27. <el-input v-model="addObj.disContent" :rows="3" type="textarea" autocomplete="off"
  28. style="width:70%;"></el-input>
  29. </el-form-item>
  30. <el-form-item label="修复进度" prop="wkstate">
  31. <el-select v-model="addObj.wkstate" placeholder="请选择" style="width:70%;">
  32. <el-option v-for="item in TrackProgress" :key="item.value" :label="item.label"
  33. :value="item.value">
  34. </el-option>
  35. </el-select>
  36. </el-form-item>
  37. <el-form-item label="计划完成日期" prop="planTm">
  38. <el-date-picker v-model="addObj.planTm" type="date" placeholder="选择日期" value-format="timestamp" style="width:70%;">
  39. </el-date-picker>
  40. </el-form-item>
  41. <el-form-item>
  42. <el-button type="primary" @click="addMember" v-if="openType">确 定</el-button>
  43. </el-form-item>
  44. </el-form>
  45. </el-main>
  46. </el-container>
  47. </div>
  48. </template>
  49. <script>
  50. import request from "@util/gw_ajax_request.js"
  51. export default {
  52. components: {
  53. },
  54. props: ['rowData', 'curOperate', 'currentObjectRgstrId','openType'],
  55. data() {
  56. return {
  57. addObj: {
  58. loac: '',
  59. chkWay: '',
  60. chkTime: '',
  61. disContent: '',
  62. wkstate: '',
  63. planTm: '',
  64. },
  65. dialogFormVisible2: false,
  66. jqmmShow: false,
  67. isReadonly: false,
  68. dcTypeList: [
  69. {
  70. label: '现场暗访',
  71. value: '1',
  72. },
  73. {
  74. label: '电话问询',
  75. value: '2',
  76. },
  77. {
  78. label: '影像核实',
  79. value: '3',
  80. },
  81. {
  82. label: '遥感远程分析',
  83. value: '4',
  84. },
  85. {
  86. label: '其他',
  87. value: '5',
  88. },
  89. ],
  90. TrackProgress: [
  91. {
  92. label: '未开工',
  93. value: '3',
  94. },
  95. {
  96. label: '正修复(未复工)',
  97. value: '2',
  98. },
  99. {
  100. label: '正修复',
  101. value: '1',
  102. },
  103. {
  104. label: '已修复',
  105. value: '0',
  106. },
  107. ],
  108. dialogFormVisible: false,
  109. formLabelWidth: '120px',
  110. loading: true,
  111. operationType1: '',
  112. currentResCode1: '',
  113. currentObjectId1: '',
  114. value1: '',
  115. provList: [],
  116. cityList: [],
  117. countryList: [],
  118. provName: '',
  119. cityName: '',
  120. countryName: '',
  121. provNames: '',
  122. cityNames: '',
  123. countryNames: '',
  124. curSelectItem: 0,
  125. xcztShow: false,
  126. imageShow: false,
  127. xcztEngId: '',
  128. centerX: 0,
  129. centerY: 0,
  130. saveLoading: false,
  131. rules: {
  132. loac: [
  133. { required: true, message: '请输入所在位置', trigger: 'blur' }
  134. ],
  135. chkWay: [
  136. { required: true, message: '请选择督查方式', trigger: 'change' }
  137. ],
  138. chkTime: [
  139. { type: 'date', required: true, message: '请选择现场检查日期', trigger: 'change' }
  140. ],
  141. disContent: [
  142. { required: true, message: '请输入水毁情况', trigger: 'blur' }
  143. ],
  144. wkstate: [
  145. { required: true, message: '请选择修复进度', trigger: 'change' }
  146. ],
  147. planTm: [
  148. { required: true, message: '请选择计划完成日期', trigger: 'change' }
  149. ],
  150. }
  151. }
  152. },
  153. computed: {
  154. recPersId() {
  155. return localStorage.getItem("userid") ? localStorage.getItem("userid") : ''
  156. },
  157. },
  158. mounted() {
  159. this.toAddMember();
  160. },
  161. watch: {
  162. currentObjectRgstrId(n, o) {
  163. this.toAddMember();
  164. },
  165. },
  166. methods: {
  167. cancelHandler() {
  168. this.$emit('cancelHandler');
  169. },
  170. toAddMember() {
  171. let row = this.rowData;
  172. let _self = this;
  173. request.get(`/dc/insp/wtdstTrack/${row.trackId}`).then(res => {
  174. if (res.data && Object.keys(res.data).length) {
  175. _self.trackId = res.data.trackId;
  176. this.objId = row.objId;
  177. this.objName = row.objName;
  178. this.objType = row.objType;
  179. let rowObj = {}
  180. Object.assign(rowObj, res.data)
  181. this.addObj = rowObj
  182. this.addObj['trackId'] = this.trackId;
  183. this.addObj['wtdstId'] = row.wtdstId
  184. if (!this.addObj['disContent']) {
  185. this.addObj['disContent'] = row.disContent;
  186. }
  187. this.addObj.wtdstId = row.wtdstId
  188. this.isReadonly = false;
  189. this.dialogFormVisible = true
  190. } else {
  191. request.post('/dc/insp/wtdstTrack/insert', { 'objId': row.objId, 'recPersId': this.recPersId, 'wtdstId': row.wtdstId }).then(res => {
  192. if (res.data) {
  193. _self.trackId = res.data.id;
  194. this.objId = row.objId;
  195. this.objName = row.objName;
  196. this.objType = row.objType;
  197. let rowObj = {}
  198. Object.assign(rowObj, res.data)
  199. this.addObj['inspPblmDesc'] = '';
  200. this.addObj['note'] = '';
  201. this.addObj['trackId'] = this.trackId;
  202. this.addObj['wtdstId'] = row.wtdstId
  203. this.addObj['objId'] = row.objId
  204. this.addObj['objName'] = row.objName
  205. if (!this.addObj['disContent']) {
  206. this.addObj['disContent'] = row.disContent;
  207. }
  208. this.isReadonly = false;
  209. this.dialogFormVisible = true
  210. } else {
  211. console.log('添加水毁登记表错误');
  212. }
  213. })
  214. }
  215. })
  216. },
  217. addMember() {
  218. this.$refs.addObjRef.validate((valid) => {
  219. if (valid) {
  220. this.addObj.recPersId = this.recPersId
  221. this.addObj['state'] = '1'
  222. if (this.curOperate == '添加') {
  223. if (!this.saveLoading) {
  224. this.saveLoading = true
  225. request.post('/dc/insp/wtdstTrack/insert', this.addObj).then((res) => {
  226. if (res.success) {
  227. this.$message.success('添加成功');
  228. this.$emit("addShuiKuSuccess");
  229. } else {
  230. this.$message.error(res.message)
  231. }
  232. this.saveLoading = false
  233. }).catch(err => {
  234. this.saveLoading = false
  235. });
  236. }
  237. } else if (this.curOperate == '编辑') {
  238. if (!this.saveLoading) {
  239. this.saveLoading = true
  240. request.post('/dc/insp/wtdstTrack/update', this.addObj).then((res) => {
  241. if (res.success) {
  242. this.$message.success('修改成功');
  243. this.$emit("addShuiKuSuccess");
  244. } else {
  245. this.$message.error(res.message)
  246. }
  247. this.saveLoading = false
  248. }).catch(err => {
  249. this.saveLoading = false
  250. });
  251. }
  252. }
  253. }
  254. })
  255. },
  256. addBaseinfo() {
  257. request.post('/dc/insp/bisInspWtdst/update', this.addObj).then(res => {
  258. if (res.success) {
  259. this.$message.success('修改成功')
  260. this.dialogFormVisible2 = false
  261. this.getTrackList()
  262. } else {
  263. this.$message.success(res.message)
  264. }
  265. })
  266. },
  267. },
  268. }
  269. </script>
  270. <style>
  271. #dcdxHeader {
  272. padding: 15px 20px;
  273. }
  274. #dxdcFooter {
  275. text-align: center;
  276. }
  277. #dxdcAside {
  278. border: 1px solid #d5d5ff;
  279. }
  280. .el-dialog__wrapper .el-treeWhite {
  281. /* max-height: 260px !important; */
  282. }
  283. </style>