Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

add-equity.vue 2.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <template>
  2. <view class="content" v-if="state.list">
  3. <view class="item" v-for="(item,index) in state.list" :key='index'>
  4. <view class="title">
  5. <view>
  6. <text><text>{{item.productName}}</text>&nbsp;&nbsp;<text>¥{{item.discountPrice * 0.01}}</text></text>
  7. </view>
  8. <text class="add" @click="add(item.equtyId)">加购</text>
  9. </view>
  10. </view>
  11. </view>
  12. <view v-else>
  13. <empty title='暂无权益列表' />
  14. </view>
  15. </template>
  16. <script setup lang="ts">
  17. import empty from "@/components/empty/empty.vue";
  18. import { onLoad } from "@dcloudio/uni-app";
  19. import { reactive } from "vue";
  20. import { equityProductsApi, addEquityListApi } from "@/utils/network/api.js";
  21. import { stringToJson } from "@/utils/network/encryption";
  22. import { request } from "@/utils/network/request";
  23. import { msg, navTo } from "@/utils/utils";
  24. import { getEquityListApi } from "@/utils/network/api";
  25. import {
  26. getItem,
  27. StorageKeys,
  28. setItem
  29. } from "@/utils/storage";
  30. const state = reactive({
  31. list: [], //权益数据
  32. })
  33. onLoad((option : any) => {
  34. // 获取全部权益列表
  35. getList();
  36. console.log("option", option)
  37. })
  38. const getList = () => {
  39. const options = {
  40. type: 2,
  41. data: {
  42. "pageNo": 100,
  43. "pageSize": 1,
  44. },
  45. method: 'POST',
  46. showLoading: true,
  47. }
  48. request(getEquityListApi, options).then((res) => {
  49. const data = stringToJson(res.bizContent);
  50. state.list = data.data
  51. console.log("222", data.data)
  52. })
  53. }
  54. const add = (equtyId) => {
  55. navTo(`/subpackage/after-sale/add-equity/choice-order?equtyId=${equtyId}`, true)
  56. }
  57. </script>
  58. <style scoped lang="scss">
  59. .content {
  60. width: 100%;
  61. }
  62. .item {
  63. width: 90%;
  64. margin: 20rpx auto;
  65. background-color: rgb(41, 199, 207);
  66. border-radius: 20rpx;
  67. padding: 20rpx;
  68. box-sizing: border-box;
  69. color: white;
  70. font-size: 32rpx;
  71. }
  72. .item>.title {
  73. width: 100%;
  74. display: flex;
  75. justify-content: space-between;
  76. align-items: center;
  77. }
  78. .add {
  79. background: white;
  80. border-radius: 10rpx;
  81. padding: 4rpx 4rpx;
  82. color: #000;
  83. }
  84. </style>