settle.vue 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. <template>
  2. <view class="content">
  3. <view class="card">
  4. <u-form :model="form" ref="uForm">
  5. <u-form-item label-align="right" label="取件费:" prop="fee_1" label-width="150">
  6. <input v-model="form.fee_1" @blur="inputed" />
  7. </u-form-item>
  8. <u-form-item label-align="right" label="运输费:" prop="fee_2" label-width="150">
  9. <input v-model="form.fee_2" @blur="inputed" />
  10. </u-form-item>
  11. <u-form-item label-align="right" label="派送费:" prop="fee_3" label-width="150">
  12. <input v-model="form.fee_3" @blur="inputed" />
  13. </u-form-item>
  14. <u-form-item label-align="right" label="笼具费:" prop="fee_4" label-width="150">
  15. <input v-model="form.fee_4" @blur="inputed" />
  16. </u-form-item>
  17. <u-form-item label-align="right" label="寄养费:" prop="fee_5" label-width="150">
  18. <input v-model="form.fee_5" @blur="inputed" />
  19. </u-form-item>
  20. <u-form-item label-align="right" label="其他:" prop="fee_6" label-width="150">
  21. <input v-model="form.fee_6" @blur="inputed" />
  22. </u-form-item>
  23. <u-form-item label-align="right" label="合计" label-width="150" :border-bottom="false">
  24. <input disabled="true" v-model="money" />
  25. </u-form-item>
  26. </u-form>
  27. </view>
  28. <view class="bottom-btn">
  29. <view class="buttom-dom" @click="push">
  30. 确定
  31. </view>
  32. </view>
  33. </view>
  34. </template>
  35. <script>
  36. import {
  37. numAdd
  38. } from '@/utils/operation.js'
  39. export default {
  40. data() {
  41. return {
  42. // 订单id
  43. id: '',
  44. // 合计
  45. money: '0.00',
  46. // 取件费 运输费 派送费 笼具费 寄养费 其他费用
  47. form: {
  48. fee_1: '',
  49. fee_2: '',
  50. fee_3: '',
  51. fee_4: '',
  52. fee_5: '',
  53. fee_6: '',
  54. },
  55. rules: {
  56. fee_1: [{
  57. required: true,
  58. message: '请输入取件费',
  59. trigger: ['change','blur'],
  60. }],
  61. fee_2: [{
  62. required: true,
  63. message: '请输入运输费',
  64. trigger: ['change','blur'],
  65. }],
  66. fee_3: [{
  67. required: true,
  68. message: '请输入派送费',
  69. trigger: ['change','blur'],
  70. }],
  71. fee_4: [{
  72. required: true,
  73. message: '请输入笼具费',
  74. trigger: ['change','blur'],
  75. }],
  76. fee_5: [{
  77. required: true,
  78. message: '请输入寄养费',
  79. trigger: ['change','blur'],
  80. }],
  81. fee_6: [{
  82. required: true,
  83. message: '请输入其他费用',
  84. trigger: ['change','blur'],
  85. }],
  86. }
  87. }
  88. },
  89. onReady() {
  90. this.$refs.uForm.setRules(this.rules);
  91. },
  92. onLoad(e) {
  93. this.id = e.id
  94. },
  95. methods: {
  96. // 输入完成计算合计金额
  97. inputed() {
  98. let money = 0;
  99. for (let s of Object.keys(this.form)) {
  100. money = numAdd(money, this.form[s])
  101. }
  102. this.money = money
  103. },
  104. // 提交
  105. push() {
  106. // if (this.money === '') {
  107. // this.$u.toast('请输入计算金额')
  108. // return false
  109. // }
  110. this.$refs.uForm.validate(valid => {
  111. if(valid){
  112. let data = this.form;
  113. data.id = this.id;
  114. this.request('/sender_order_controller/settle', data, "GET").then(res => {
  115. console.log(res)
  116. if(res.code === 1){
  117. this.$u.toast('提交成功')
  118. setTimeout(()=>{
  119. uni.navigateBack({
  120. delta:1
  121. })
  122. },2000)
  123. }
  124. })
  125. }
  126. })
  127. }
  128. }
  129. }
  130. </script>
  131. <style lang="scss">
  132. .content {
  133. padding-top: 40rpx;
  134. }
  135. .card {
  136. width: 93%;
  137. margin: 0 auto;
  138. background-color: #FFFFFF;
  139. padding: 30rpx;
  140. border-radius: 20rpx;
  141. }
  142. .bottom-btn {
  143. width: 100vw;
  144. height: 10vh;
  145. display: flex;
  146. flex-direction: column;
  147. align-items: center;
  148. justify-content: center;
  149. margin-top: 30rpx;
  150. .buttom-dom {
  151. height: 80rpx;
  152. width: 93%;
  153. background-color: #F6B301;
  154. color: #FFFFFF;
  155. text-align: center;
  156. line-height: 80rpx;
  157. color: #FFFFFF;
  158. border-radius: 80rpx;
  159. }
  160. }
  161. </style>