CheckAndEditModel.vue 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  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="deptId">
  12. <a-tree-select
  13. v-model="model.deptId"
  14. :show-search="true"
  15. allow-clear
  16. tree-default-expand-all
  17. style="width: 100%"
  18. :tree-data="treeData"
  19. tree-node-filter-prop="label"
  20. :replace-fields="{children:'children', title:'label', key:'id', value: 'id' }"
  21. />
  22. </a-form-model-item>
  23. <a-form-model-item label="线别" prop="lineId">
  24. <j-list-select-tag
  25. v-model="model.lineId"
  26. dict-code="line"
  27. />
  28. </a-form-model-item>
  29. <a-form-model-item label="站场区间" prop="stationId">
  30. <j-list-select-tag
  31. v-model="model.stationId"
  32. dict-code="station"
  33. />
  34. </a-form-model-item>
  35. <a-form-model-item label="行别" prop="xingbie">
  36. <j-dict-select-tag
  37. v-model="model.xingbie"
  38. type="radioButton"
  39. dict-code="xingbie"
  40. />
  41. </a-form-model-item>
  42. <a-form-model-item label="支柱号" prop="zzh">
  43. <a-input v-model="model.zzh" />
  44. </a-form-model-item>
  45. <a-form-model-item label="公里标" prop="glb">
  46. <a-input v-model="model.glb" />
  47. </a-form-model-item>
  48. <a-form-model-item label="开关编号" prop="kgbh">
  49. <a-input v-model="model.kgbh" />
  50. </a-form-model-item>
  51. <a-form-model-item label="生产厂家" prop="sccj">
  52. <a-input v-model="model.sccj" />
  53. </a-form-model-item>
  54. <a-form-model-item label="开关型号" prop="kgxh">
  55. <a-input v-model="model.kgxh" />
  56. </a-form-model-item>
  57. </a-form-model>
  58. </j-modal>
  59. </template>
  60. <script>
  61. import { getAction, httpAction } from '@/api/request'
  62. import JModal from '@/components/JModal'
  63. export default {
  64. name: 'CheckAndEditModel',
  65. components: {
  66. JModal
  67. },
  68. data() {
  69. return {
  70. treeData: [],
  71. labelCol: { span: 4 },
  72. wrapperCol: { span: 19 },
  73. dataSource: [],
  74. title: '',
  75. visible: false,
  76. isCheck: false,
  77. model: {},
  78. validatorRules: {
  79. deptId: [{ required: true, message: '请选择' }],
  80. lineId: [{ required: true, message: '请选择' }],
  81. stationId: [{ required: true, message: '请选择' }],
  82. xingbie: [{ required: true, message: '请选择' }],
  83. zzh: [{ required: true, message: '请输入' }],
  84. glb: [{ required: true, message: '请输入' }],
  85. kgbh: [{ required: true, message: '请输入' }],
  86. sccj: [{ required: true, message: '请输入' }],
  87. kgxh: [{ required: true, message: '请输入' }]
  88. },
  89. url: {
  90. add: '/business/catenary/bus/glkg/add',
  91. edit: '/business/catenary/bus/glkg/update',
  92. tree: '/system/dept/treeSelect'
  93. }
  94. }
  95. },
  96. created() {
  97. this.loadTree()
  98. },
  99. methods: {
  100. loadTree() {
  101. this.treeData = []
  102. getAction(this.url.tree).then((res) => {
  103. if (res.code === 200) {
  104. this.treeData = res.data
  105. }
  106. })
  107. },
  108. add() {
  109. this.model = {}
  110. this.visible = true
  111. },
  112. edit(record) {
  113. this.model = Object.assign({}, record)
  114. this.visible = true
  115. },
  116. close(isSubmit) {
  117. if (isSubmit) {
  118. this.checkData()
  119. } else {
  120. this.visible = false
  121. }
  122. },
  123. checkData() {
  124. this.$refs.form.validate(valid => {
  125. if (valid) {
  126. this.saveData()
  127. } else {
  128. return false
  129. }
  130. })
  131. },
  132. saveData() {
  133. let url, type
  134. if (!this.model.id) {
  135. url = this.url.add
  136. type = 'post'
  137. } else {
  138. url = this.url.edit
  139. type = 'put'
  140. }
  141. httpAction(url, this.model, type).then((res) => {
  142. if (res.code === 200) {
  143. this.$message.success(res.msg)
  144. this.$emit('ok')
  145. this.visible = false
  146. } else {
  147. console.log(res)
  148. }
  149. })
  150. }
  151. }
  152. }
  153. </script>