create.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <template>
  2. <div class="app-container coupon-add">
  3. <el-row style="width: 700px">
  4. <el-form ref="addItem" :model="addData" :rules="rules" label-width="100px">
  5. <el-form-item label="券包名称:" prop="title">
  6. <el-input v-model="addData.title" :readonly="readonly" placeholder="请输入券包名称" :maxlength="32" show-word-limit />
  7. </el-form-item>
  8. </el-form>
  9. </el-row>
  10. <br>
  11. <el-button v-if="!readonly" type="primary" size="small" plain @click="$refs.select.show()">添加优惠券</el-button>
  12. <br>
  13. <br>
  14. <span style="font-size: 14px; line-height: 40px">面值总额:¥{{ addData.ticketBoxList.length }}</span>
  15. <span style="margin-left: 80px;font-size: 14px; line-height: 40px">优惠券数量:{{ addData.ticketBoxList.length }}</span>
  16. <el-table v-if="addData.useArea === 5" :data="addData.ticketBoxList">
  17. <el-table-column label="券编号" prop="" align="center" />
  18. <el-table-column label="券名称" prop="title" />
  19. <el-table-column label="券金额" prop="facePrice" />
  20. <el-table-column label="使用场景" prop="type">
  21. <template slot-scope="{row}">
  22. {{ JSON.parse(row.type).desc }}
  23. </template>
  24. </el-table-column>
  25. <el-table-column label="数量" prop="title" />
  26. <el-table-column label="有效期限" prop="status">
  27. <template slot-scope="{row}">
  28. <el-tag :type="JSON.parse(row.status).value === 'on' ? 'success' : 'info'">{{ JSON.parse(row.status).desc }}</el-tag>
  29. </template>
  30. </el-table-column>
  31. <el-table-column v-if="!readonly" prop="date" label="操作">
  32. <template slot-scope="{ $index }">
  33. <el-button type="text" class="del" @click="addData.ticketBoxList.splice($index, 1)">删除</el-button>
  34. </template>
  35. </el-table-column>
  36. </el-table>
  37. <br>
  38. <el-row v-if="!readonly">
  39. <el-col :span="23" style="text-align: right">
  40. <el-button type="info" @click="$router.go(-1)">取消</el-button>
  41. <el-button :loading="addIng" type="primary" @click="update()">保存</el-button>
  42. </el-col>
  43. </el-row>
  44. <!-- 弹出层 -->
  45. <SelectTicket ref="select" v-model="addData.ticketBoxList" />
  46. </div>
  47. </template>
  48. <script>
  49. import Upload from '@/components/ImageUpload'
  50. import SelectTicket from '../couponPkg/components/selectTicket'
  51. import { publicFileGetUrl } from '@/api/common'
  52. import { getCouponDetail, addCoupon } from '@/api/business/coupon'
  53. import { accDiv, accMul } from '@/utils/util'
  54. import {addData} from "../../../api/system/dict/data";
  55. export default {
  56. components: {
  57. Upload,
  58. SelectTicket
  59. },
  60. data() {
  61. return {
  62. IMG_URL: publicFileGetUrl,
  63. id: this.$route.query.id,
  64. readonly: this.$route.name === 'CouponPkgQuery',
  65. addData: {
  66. ticketBoxList:[],
  67. useArea: 5,
  68. type: 2,
  69. },
  70. addIng: false,
  71. rules: {
  72. title: [{ required: true, message: '请输入券包名称', trigger: 'blur' }]
  73. }
  74. };
  75. },
  76. methods: {},
  77. };
  78. </script>
  79. <style>
  80. </style>