QYF-GitLab1
84 分钟以前 49a435043b0b1a289a24606e35253365d7ab3956
src/views/personalCenter/activeCode.vue
@@ -7,7 +7,7 @@
        <el-input class="inputBox" v-model="activateCode" placeholder="请输入激活码">
          <template #append>
            <el-button
              style="background-color: #019e58; color: #fff"
              style="background-color: #144941; color: #fff"
              @click="userActiveCodeGet"
              :loading="loading"
              >激活</el-button
@@ -41,17 +41,14 @@
                      @click="goBookDetails(pItem.id, pItem.name, pItem.defaultSaleMethodId)"
                    >
                      <div class="cover">
                        <img
                          :src="pItem.icon ? getPublicImage(pItem.icon, '', '') : bookCover"
                          alt=""
                        />
                        <!-- <div class="type" v-if="pItem.type">{{ pItem.type }}</div> -->
                        <img :src="pItem.icon ? pItem.icon : bookCover" alt="" />
                      </div>
                      <div class="info">
                        <div style="margin-bottom: 10px" v-if="pItem.type">
                        <div class="bookType" style="margin-bottom: 10px" v-if="pItem.type">
                          {{ pItem.type }}
                        </div>
                        <span :title="pItem.name">{{ pItem.name }}</span>
                        <span class="title" :title="pItem.name">{{ pItem.name }}</span>
                        <span class="author" v-if="pItem.author">{{ pItem.author }}</span>
                      </div>
                    </div>
                  </div>
@@ -86,12 +83,10 @@
import moment from 'moment'
import { getPublicImage } from '@/assets/js/middleGround/tool.js'
import { ElMessage } from 'element-plus'
import { useUserStore } from '@/store'
import { useRouter } from 'vue-router'
import bookCover from '@/assets/images/personalCenter/book-cover.png'
const router = useRouter()
const userStore = useUserStore()
const MG = inject('MG')
const MG: any = inject('MG')
const activateCode = ref('')
const loading = ref(false)
let dataList = ref([])
@@ -143,32 +138,26 @@
        type: 'Desc',
        field: 'CreateDate',
      },
      fields: {
        author: [],
      },
    })
    .then((res) => {
      let list: any[] = []
      res.datas.forEach((item) => {
        item.createDate = moment(item.createDate).format('YYYY-MM-DD HH:mm:ss')
        item.typeList = []
        item.saleMethodList.forEach(async (i) => {
        item.saleMethodList.forEach(async (i, index) => {
          const author = item.productList[index]?.dataList?.find((citem) => {
            return citem.data.sequenceNum == '007EB8E7' && citem.data.value
          })?.data?.value
          const obj = {
            icon: item.productList[0]?.icon,
            id: item.productList[0]?.id,
            name: item.productList[0]?.name,
            type:
              i.type == 'defaultSaleMethod'
                ? '电子书'
                : i.name.includes('-')
                  ? i.name.split('-')[0]
                  : i.name,
            defaultSaleMethodId: item.productList[0]?.defaultSaleMethodId,
          }
          let parentData = await MG.store.getProductBySaleMethod({ saleMethodId: i.id })
          if (parentData.storeLinks[0].storeRefCode == 'digitalCourses') {
            obj.type = '数字课程'
          }
          if (parentData.storeLinks[0].storeRefCode == 'digitalTextbooks') {
            obj.type = '数字教材'
            icon: getPublicImage(item.productList[index]?.icon, '', '150'),
            id: item.productList[index]?.id,
            name: item.productList[index]?.name,
            author,
            type: '数字教材',
            defaultSaleMethodId: item.productList[index]?.defaultSaleMethodId,
          }
          item.typeList.push(obj)
        })
@@ -202,31 +191,12 @@
}
// 跳转书本详情
const goBookDetails = async (id: number, name: string, defaultSaleMethodId: number) => {
  let parentData = await MG.store.getProductBySaleMethod({
    saleMethodId: defaultSaleMethodId,
  router.push({
    path: '/bookdetail',
    query: {
      bookId: id,
    },
  })
  if (parentData.storeLinks[0].storeRefCode == 'jsek_digitalCourses') {
    router.push({
      path: '/bookdetail',
      query: {
        bookId: parentData.id,
      },
    })
  } else if (parentData.storeLinks[0].storeRefCode == 'digitalTextbooks') {
    router.push({
      path: '/bookdetail',
      query: {
        bookId: parentData.id,
      },
    })
  } else {
    router.push({
      path: '/bookdetail',
      query: {
        bookId: id,
      },
    })
  }
}
</script>
<style lang="less" scoped>
@@ -256,13 +226,13 @@
}
.stateBox {
  height: 47px;
  line-height: 47px;
  height: 40px;
  line-height: 40px;
  padding: 0 20px;
  border: 1px solid #edecec;
  background: #f3f3f3;
  background: #edf4f2;
  .flex1 span {
    color: #019e58;
    color: #000;
  }
}
@@ -271,18 +241,28 @@
}
.listItem {
  width: 130px;
  cursor: pointer;
  box-sizing: border-box;
  float: left;
  position: relative;
  margin-right: 5%;
  margin-right: 3%;
  width: 185px;
  min-height: 258px;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 8px 8px 8px 8px;
  border: 1px solid #dedede;
  padding: 20px 10px;
  box-sizing: border-box;
  margin-bottom: 20px;
  .cover {
    width: 100%;
    height: 180px;
    box-shadow: 0px 0px 20px 1px #ccc;
    width: 116px;
    height: 150px;
    border-radius: 0px 0px 0px 0px;
    border: 1px solid #019e58;
    position: relative;
    margin: auto;
    margin-bottom: 5px;
    img {
      width: 100%;
@@ -305,20 +285,45 @@
  }
  .info {
    height: 90px;
    padding: 15px 0;
    width: 100%;
    .bookType {
      position: absolute;
      top: 0;
      right: 0;
      width: 60px;
      height: 26px;
      text-align: center;
      font-size: 12px;
      line-height: 24px;
      font-weight: 400;
      color: #fff;
      border-radius: 0px 0px 0px 5px;
      background: linear-gradient(130deg, #019e58 0%, #144941 100%);
      border-radius: 0px 8px 0px 8px;
    }
    span {
      font-weight: bold;
      height: 45px;
      line-height: 22px;
      line-height: 25px;
      display: -webkit-box;
      margin-bottom: 5px;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      overflow: hidden;
      text-overflow: ellipsis;
      padding: 5px 0;
      box-sizing: border-box;
      text-align: center;
      font-family:
        Microsoft YaHei UI,
        Microsoft YaHei UI;
      font-size: 16px;
    }
    .title {
      font-weight: bold;
      color: #000000;
    }
    .author {
      font-weight: 400;
      color: #333333;
    }
  }
}