22c33fd7e47e9a23e9516430a11f2fc85397c3c2.svn-base 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. <template>
  2. <a-modal
  3. :title="title"
  4. :width="800"
  5. :visible="visible"
  6. :okButtonProps="{ props: {disabled: disableSubmit} }"
  7. :confirmLoading="confirmLoading"
  8. @ok="handleOk"
  9. @cancel="handleCancel"
  10. cancelText="关闭">
  11. <a-spin :spinning="confirmLoading">
  12. <a-form-model ref="form" :model="model" :rules="validatorRules">
  13. <a-form-model-item
  14. :labelCol="labelCol"
  15. :wrapperCol="wrapperCol"
  16. label="航班号"
  17. prop="ticketCode"
  18. hasFeedback>
  19. <a-input placeholder="请输入航班号" :readOnly="disableSubmit" v-model="model.ticketCode"></a-input>
  20. </a-form-model-item>
  21. <a-form-model-item
  22. :labelCol="labelCol"
  23. :wrapperCol="wrapperCol"
  24. label="航班时间"
  25. prop="tickectDate"
  26. hasFeedback>
  27. <j-date v-model="model.tickectDate"></j-date>
  28. </a-form-model-item>
  29. <a-form-model-item
  30. :labelCol="labelCol"
  31. :wrapperCol="wrapperCol"
  32. label="订单号码"
  33. v-model="this.orderId"
  34. :hidden="hiding"
  35. hasFeedback>
  36. <a-input v-model="model.orderId" disabled="disabled"/>
  37. </a-form-model-item>
  38. <a-form-model-item
  39. :labelCol="labelCol"
  40. :wrapperCol="wrapperCol"
  41. label="创建人"
  42. :hidden="hiding"
  43. hasFeedback>
  44. <a-input v-model="model.createBy" :readOnly="disableSubmit"/>
  45. </a-form-model-item>
  46. <a-form-model-item
  47. :labelCol="labelCol"
  48. :wrapperCol="wrapperCol"
  49. label="创建时间"
  50. :hidden="hiding"
  51. hasFeedback>
  52. <a-input v-model="model.createTime" :readOnly="disableSubmit"/>
  53. </a-form-model-item>
  54. </a-form-model>
  55. </a-spin>
  56. </a-modal>
  57. </template>
  58. <script>
  59. import {httpAction} from '@/api/manage'
  60. import moment from 'moment'
  61. import JDate from '@/components/jeecg/JDate'
  62. export default {
  63. components: {
  64. JDate
  65. },
  66. name: 'JeecgOrderTicketModal',
  67. data() {
  68. return {
  69. title: '操作',
  70. visible: false,
  71. model: {},
  72. labelCol: {
  73. xs: {span: 24},
  74. sm: {span: 5}
  75. },
  76. wrapperCol: {
  77. xs: {span: 24},
  78. sm: {span: 16}
  79. },
  80. moment,
  81. format: 'YYYY-MM-DD HH:mm:ss',
  82. disableSubmit: false,
  83. orderId: '',
  84. hiding: false,
  85. confirmLoading: false,
  86. validatorRules: {
  87. ticketCode:[{required : true, message: '请输入航班号!'}],
  88. tickectDate:[{required : true, message: '请输入航班时间!'}]
  89. },
  90. url: {
  91. add: '/test/order/addTicket',
  92. edit: '/test/order/editTicket'
  93. }
  94. }
  95. },
  96. created() {
  97. },
  98. methods: {
  99. add(orderId) {
  100. if (orderId) {
  101. this.edit({orderId}, '')
  102. } else {
  103. this.$message.warning('请选择一条航班数据')
  104. }
  105. },
  106. detail(record) {
  107. this.edit(record, 'd')
  108. },
  109. edit(record, v) {
  110. if (v == 'e') {
  111. this.hiding = false;
  112. this.disableSubmit = false;
  113. } else if (v == 'd') {
  114. this.hiding = false;
  115. this.disableSubmit = true;
  116. } else {
  117. this.hiding = true;
  118. this.disableSubmit = false;
  119. }
  120. this.model = Object.assign({}, record);
  121. this.visible = true;
  122. },
  123. close() {
  124. this.$emit('close');
  125. this.visible = false;
  126. this.$refs.form.resetFields();
  127. },
  128. handleOk() {
  129. const that = this;
  130. // 触发表单验证
  131. this.$refs.form.validate(valid => {
  132. if (valid) {
  133. that.confirmLoading = true;
  134. let httpurl = '';
  135. let method = '';
  136. if (!this.model.id) {
  137. httpurl += this.url.add;
  138. method = 'post';
  139. } else {
  140. httpurl += this.url.edit;
  141. //method = 'put';
  142. method = 'post';
  143. }
  144. this.model.mainId = this.model.orderId;
  145. httpAction(httpurl, this.model, method).then((res) => {
  146. if (res.success) {
  147. that.$message.success(res.message);
  148. that.$emit('ok')
  149. } else {
  150. that.$message.warning(res.message);
  151. }
  152. }).finally(() => {
  153. that.confirmLoading = false;
  154. that.close();
  155. })
  156. }else{
  157. return false;
  158. }
  159. })
  160. },
  161. handleCancel() {
  162. this.close()
  163. }
  164. }
  165. }
  166. </script>
  167. <style scoped>
  168. </style>