card.vue 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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 * as chaojidanciHttp from "@/api/chaojidanci.js"
  27. import ezyActiveVue from "@/components/ezyActive/ezyActive.vue";
  28. import cacheManager from "@/utils/cacheManager.js";
  29. const porps = defineProps({
  30. item: {
  31. type: Object
  32. }
  33. })
  34. // 选择产品等级
  35. function handleSelect(item) {
  36. console.log('item',item);
  37. porps.item.levelList.forEach(citem => {citem.active = false; if (item.dengjiId == citem.dengjiId) {citem.active = true}})
  38. const opt = {
  39. dengjiId: item.dengjiId,
  40. }
  41. pinduHttp.getDanciChanpinBanbenSave(opt).then(res => {
  42. if (!res.data) {
  43. return;
  44. }
  45. cacheManager.get('contentInfo') && cacheManager.remove('contentInfo');
  46. // 跳转
  47. uni.switchTab({
  48. url: "/pages/chanpinneirong/index"
  49. })
  50. })
  51. }
  52. </script>
  53. <style scoped>
  54. </style>