card.vue 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <template>
  2. <view class="sx-card-box">
  3. <view class="card-head-box">
  4. <!-- 封面 -->
  5. <image :src="item.cover" class="head-img"></image>
  6. <view class="head-right-box">
  7. <!-- 名称 -->
  8. <view class="head-title">{{item.name}}</view>
  9. <!-- 简介 -->
  10. <view class="head-content">{{item.intro}}</view>
  11. <!-- 共计 -->
  12. <view class="head-content">{{item.gongji}}</view>
  13. </view>
  14. </view>
  15. <view class="card-body-box">
  16. <view class="body-title">请选择学习等级</view>
  17. <view class="dj-item-row">
  18. <ezyActiveVue v-for="cItem in item.levelList" class="ezy-btn-active dj-item"
  19. @aclick="handleSelect(cItem)" :class="{active: cItem.active}">{{cItem.levelName}}</ezyActiveVue>
  20. </view>
  21. </view>
  22. </view>
  23. </template>
  24. <script setup>
  25. import * as pinduHttp from "@/api/chanpinZiRanPinDu.js"
  26. import ezyActiveVue from "@/components/ezyActive/ezyActive.vue";
  27. import cacheManager from "@/utils/cacheManager.js";
  28. const porps = defineProps({
  29. item: {
  30. type: Object
  31. }
  32. })
  33. // 选择产品等级
  34. function handleSelect(item) {
  35. console.log('item',item);
  36. porps.item.levelList.forEach(citem => {citem.active = false; if (item.dengjiId == citem.dengjiId) {citem.active = true}})
  37. const opt = {
  38. dengjiId: item.dengjiId,
  39. }
  40. pinduHttp.getChanpin3DengjiSave(opt).then(res => {
  41. if (!res.data) {
  42. return;
  43. }
  44. cacheManager.get('contentInfo') && cacheManager.remove('contentInfo');
  45. // 跳转
  46. uni.switchTab({
  47. url: "/pages/chanpinneirong/index"
  48. })
  49. })
  50. }
  51. </script>
  52. <style scoped>
  53. </style>