bd41d3b1d5fd83fcc3cee19193a939bd3040a034.svn-base 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <template>
  2. <a-modal
  3. :title="title"
  4. :width="1000"
  5. :visible="visible"
  6. :confirmLoading="confirmLoading"
  7. @ok="handleOk"
  8. @cancel="handleCancel">
  9. <a-spin :spinning="confirmLoading">
  10. <a-form-model ref="form" :model="orderMainModel" :rules="validatorRules">
  11. <!-- 主表单区域 -->
  12. <a-form-model-item
  13. :labelCol="labelCol"
  14. :wrapperCol="wrapperCol"
  15. prop="orderCode"
  16. label="订单号"
  17. required
  18. hasFeedback>
  19. <a-input placeholder="请输入订单号" v-model="orderMainModel.orderCode" />
  20. </a-form-model-item>
  21. <a-form-model-item
  22. :labelCol="labelCol"
  23. :wrapperCol="wrapperCol"
  24. label="订单类型">
  25. <a-select placeholder="请输入订单类型" v-model="orderMainModel.ctype">
  26. <a-select-option value="1">国内订单</a-select-option>
  27. <a-select-option value="2">国际订单</a-select-option>
  28. </a-select>
  29. </a-form-model-item>
  30. <a-form-model-item
  31. :labelCol="labelCol"
  32. :wrapperCol="wrapperCol"
  33. label="订单日期">
  34. <a-date-picker showTime valueFormat='YYYY-MM-DD HH:mm:ss' v-model="orderMainModel.orderDate"/>
  35. </a-form-model-item>
  36. <a-form-model-item
  37. :labelCol="labelCol"
  38. :wrapperCol="wrapperCol"
  39. label="订单金额">
  40. <a-input-number style="width: 200px" v-model="orderMainModel.orderMoney" />
  41. </a-form-model-item>
  42. <a-form-model-item
  43. :labelCol="labelCol"
  44. :wrapperCol="wrapperCol"
  45. label="订单备注">
  46. <a-input placeholder="请输入订单备注" v-model="orderMainModel.content"/>
  47. </a-form-model-item>
  48. </a-form-model>
  49. </a-spin>
  50. </a-modal>
  51. </template>
  52. <script>
  53. import {httpAction} from '@/api/manage'
  54. import JDate from '@/components/jeecg/JDate'
  55. import pick from 'lodash.pick'
  56. import moment from "moment"
  57. export default {
  58. name: "JeecgOrderDMainModal",
  59. components: {
  60. JDate
  61. },
  62. data() {
  63. return {
  64. title: "操作",
  65. visible: false,
  66. orderMainModel: {
  67. jeecgOrderCustomerList: [{}],
  68. jeecgOrderTicketList: [{}]
  69. },
  70. labelCol: {
  71. xs: {span: 24},
  72. sm: {span: 5},
  73. },
  74. wrapperCol: {
  75. xs: {span: 24},
  76. sm: {span: 16},
  77. },
  78. confirmLoading: false,
  79. validatorRules: {
  80. orderCode: [
  81. { required: true, message: '请输入订单号!' }
  82. ]
  83. },
  84. url: {
  85. add: "/test/order/add",
  86. edit: "/test/order/edit",
  87. orderCustomerList: "/test/order/listOrderCustomerByMainId",
  88. orderTicketList: "/test/order/listOrderTicketByMainId",
  89. },
  90. }
  91. },
  92. methods: {
  93. add() {
  94. this.edit({});
  95. },
  96. edit(record) {
  97. this.orderMainModel = Object.assign({}, record);
  98. console.log(this.orderMainModel)
  99. //初始化明细表数据
  100. this.visible = true;
  101. },
  102. close() {
  103. this.$emit('close');
  104. this.visible = false;
  105. this.$refs.form.resetFields();
  106. },
  107. handleOk() {
  108. const that = this;
  109. // 触发表单验证
  110. this.$refs.form.validate(valid => {
  111. if (valid) {
  112. that.confirmLoading = true;
  113. let httpurl = '';
  114. let method = '';
  115. if (!this.orderMainModel.id) {
  116. httpurl += this.url.add;
  117. method = 'post';
  118. } else {
  119. httpurl += this.url.edit;
  120. //method = 'put';
  121. method = 'post';
  122. }
  123. httpAction(httpurl, this.orderMainModel, method).then((res) => {
  124. if (res.success) {
  125. that.$message.success(res.message);
  126. that.$emit('ok');
  127. } else {
  128. that.$message.warning(res.message);
  129. }
  130. }).finally(() => {
  131. that.confirmLoading = false;
  132. that.close();
  133. })
  134. }else{
  135. return false;
  136. }
  137. })
  138. },
  139. handleCancel() {
  140. this.close()
  141. }
  142. }
  143. }
  144. </script>
  145. <style scoped>
  146. .ant-btn {
  147. padding: 0 10px;
  148. margin-left: 3px;
  149. }
  150. .ant-form-item-control {
  151. line-height: 0px;
  152. }
  153. /** 主表单行间距 */
  154. .ant-form .ant-form-item {
  155. margin-bottom: 10px;
  156. }
  157. /** Tab页面行间距 */
  158. .ant-tabs-content .ant-form-item {
  159. margin-bottom: 0px;
  160. }
  161. </style>