CheckAndEditModel.vue 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. <template>
  2. <j-modal
  3. :title="title"
  4. :width="700"
  5. :visible="visible"
  6. :mask-closable="false"
  7. cancel-text="关闭"
  8. @close="close"
  9. >
  10. <a-form-model ref="form" :label-col="labelCol" :wrapper-col="wrapperCol" :rules="validatorRules" :model="model">
  11. <a-form-model-item label="支柱号" prop="zzh">
  12. <a-input v-model="model.zzh" />
  13. </a-form-model-item>
  14. <a-form-model-item label="所属部门" prop="bm">
  15. <a-tree-select
  16. v-model="model.bm"
  17. tree-default-expand-all
  18. style="width: 100%"
  19. :tree-data="treeData"
  20. tree-checkable
  21. />
  22. </a-form-model-item>
  23. <a-form-model-item label="线别" prop="xb">
  24. <j-list-select-tag
  25. v-model="model.xb"
  26. dict-code="line"
  27. />
  28. </a-form-model-item>
  29. <a-form-model-item label="站场区间" prop="qj">
  30. <j-list-select-tag
  31. v-model="model.qj"
  32. dict-code="station"
  33. />
  34. </a-form-model-item>
  35. <a-form-model-item label="行别" prop="hb">
  36. <j-dict-select-tag
  37. v-model="model.hb"
  38. type="radioButton"
  39. dict-code="word_type"
  40. />
  41. </a-form-model-item>
  42. <a-form-model-item label="公里标" prop="glb">
  43. <a-input v-model="model.glb" />
  44. </a-form-model-item>
  45. <a-form-model-item label="支柱类型" prop="zzlx">
  46. <j-dict-select-tag
  47. v-model="model.zzlx"
  48. dict-code="zzlx"
  49. />
  50. </a-form-model-item>
  51. <a-form-model-item label="支柱型号" prop="zzxh">
  52. <j-dict-select-tag
  53. v-model="model.zzxh"
  54. dict-code="zzxh"
  55. />
  56. </a-form-model-item>
  57. <a-form-model-item label="支柱用途" prop="zzyt">
  58. <j-dict-select-tag
  59. v-model="model.zzyt"
  60. dict-code="zzyt"
  61. />
  62. </a-form-model-item>
  63. <a-form-model-item label="材质" prop="cz">
  64. <j-dict-select-tag
  65. v-model="model.cz"
  66. dict-code="zzcz"
  67. />
  68. </a-form-model-item>
  69. <a-form-model-item label="直线/曲外/曲内" prop="zxqwqn">
  70. <j-dict-select-tag
  71. v-model="model.zxqwqn"
  72. type="radioButton"
  73. dict-code="word_type"
  74. />
  75. </a-form-model-item>
  76. </a-form-model>
  77. </j-modal>
  78. </template>
  79. <script>
  80. import { httpAction, getAction } from '@/api/request'
  81. import JModal from '@/components/JModal'
  82. export default {
  83. name: 'CheckAndEditModel',
  84. components: {
  85. JModal
  86. },
  87. data() {
  88. return {
  89. treeData: [],
  90. labelCol: { span: 4 },
  91. wrapperCol: { span: 19 },
  92. dataSource: [],
  93. title: '',
  94. visible: false,
  95. isCheck: false,
  96. model: {},
  97. validatorRules: {
  98. name: [{ required: true, message: '请输入' }],
  99. type: [{ required: true, message: '请选择' }]
  100. },
  101. url: {
  102. add: '/business/catenary/bus/zzdzxx/add',
  103. edit: '/business/catenary/bus/zzdzxx/update',
  104. tree: '/system/dept/treeselect'
  105. }
  106. }
  107. },
  108. created() {
  109. this.loadTree()
  110. },
  111. methods: {
  112. loadTree() {
  113. this.treeData = []
  114. getAction(this.url.tree).then((res) => {
  115. if (res.code === 200) {
  116. debugger
  117. this.treeData = res.data
  118. }
  119. })
  120. },
  121. add() {
  122. this.model = {}
  123. this.visible = true
  124. },
  125. edit(record) {
  126. this.model = Object.assign({}, record)
  127. this.visible = true
  128. },
  129. close(isSubmit) {
  130. if (isSubmit) {
  131. this.checkData()
  132. } else {
  133. this.visible = false
  134. }
  135. },
  136. checkData() {
  137. this.$refs.form.validate(valid => {
  138. if (valid) {
  139. this.saveData()
  140. } else {
  141. return false
  142. }
  143. })
  144. },
  145. saveData() {
  146. let url, type
  147. if (!this.model.id) {
  148. url = this.url.add
  149. type = 'post'
  150. } else {
  151. debugger
  152. url = this.url.edit
  153. type = 'put'
  154. }
  155. httpAction(url, this.model, type).then((res) => {
  156. if (res.code === 200) {
  157. this.$message.success(res.msg)
  158. this.$emit('ok')
  159. this.visible = false
  160. } else {
  161. console.log(res)
  162. }
  163. })
  164. }
  165. }
  166. }
  167. </script>