index.vue 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <template>
  2. <ContentWrap>
  3. <el-form
  4. ref="formRef"
  5. :model="formData"
  6. :rules="formRules"
  7. label-width="120px"
  8. v-loading="formLoading"
  9. >
  10. <el-form-item label="hideId" v-show="false">
  11. <el-input v-model="formData.id" />
  12. </el-form-item>
  13. <el-form-item label="积分抵扣" prop="tradeDeductEnable">
  14. <el-switch v-model="formData.tradeDeductEnable" />
  15. </el-form-item>
  16. <el-form-item label="抵扣单位(分)" prop="tradeDeductUnitPrice">
  17. <el-input-number
  18. v-model="formData.tradeDeductUnitPrice"
  19. placeholder="请输入抵扣单位(分)"
  20. style="width: 300px"
  21. />
  22. </el-form-item>
  23. <el-form-item label="积分抵扣最大值" prop="tradeDeductMaxPrice">
  24. <el-input-number
  25. v-model="formData.tradeDeductMaxPrice"
  26. placeholder="请输入积分抵扣最大值"
  27. style="width: 300px"
  28. />
  29. </el-form-item>
  30. <el-form-item label="1元赠送多少分" prop="tradeGivePoint">
  31. <el-input-number
  32. v-model="formData.tradeGivePoint"
  33. placeholder="请输入1元赠送多少积分"
  34. style="width: 300px"
  35. />
  36. </el-form-item>
  37. <el-form-item>
  38. <el-button type="primary" @click="onSubmit">提交</el-button>
  39. </el-form-item>
  40. </el-form>
  41. </ContentWrap>
  42. </template>
  43. <script lang="ts" setup>
  44. import * as ConfigApi from '@/api/point/config'
  45. const { t } = useI18n() // 国际化
  46. const message = useMessage() // 消息弹窗
  47. const dialogVisible = ref(false) // 弹窗的是否展示
  48. const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
  49. const formData = ref({
  50. id: undefined,
  51. tradeDeductEnable: undefined,
  52. tradeDeductUnitPrice: undefined,
  53. tradeDeductMaxPrice: undefined,
  54. tradeGivePoint: undefined
  55. })
  56. const formRules = reactive({})
  57. const formRef = ref() // 表单 Ref
  58. const onSubmit = async () => {
  59. // 校验表单
  60. if (!formRef) return
  61. const valid = await formRef.value.validate()
  62. if (!valid) return
  63. // 提交请求
  64. formLoading.value = true
  65. try {
  66. const data = formData.value as unknown as ConfigApi.ConfigVO
  67. await ConfigApi.saveConfig(data)
  68. message.success(t('common.updateSuccess'))
  69. dialogVisible.value = false
  70. } finally {
  71. formLoading.value = false
  72. }
  73. }
  74. const getConfig = async () => {
  75. try {
  76. const data = await ConfigApi.getConfig()
  77. formData.value = data
  78. } finally {
  79. }
  80. }
  81. onMounted(() => {
  82. getConfig()
  83. })
  84. </script>