| | |
| | | --el-color-primary-light-7: #019e58 !important; |
| | | --el-color-primary-dark-2: #019e58 !important; |
| | | --el-color-primary-dark-3: #019e58 !important; |
| | | --el-button-border-color: #019e58 !important; |
| | | } |
| | | |
| | | /* 基础样式 */ |
| | |
| | | @click="goBookDetails(pItem.id, pItem.name, pItem.defaultSaleMethodId)" |
| | | > |
| | | <div class="cover"> |
| | | <img |
| | | :src="pItem.icon ? getPublicImage(pItem.icon, '', '') : bookCover" |
| | | alt="" |
| | | /> |
| | | <img :src="pItem.icon ? pItem.icon : bookCover" alt="" /> |
| | | </div> |
| | | <div class="info"> |
| | | <div class="bookType" style="margin-bottom: 10px" v-if="pItem.type"> |
| | | {{ pItem.type }} |
| | | </div> |
| | | <span :title="pItem.name">{{ pItem.name }}</span> |
| | | <span v-if="pItem.author">{{ pItem.author }}</span> |
| | | <span class="title" :title="pItem.name">{{ pItem.name }}</span> |
| | | <span class="author" v-if="pItem.author">{{ pItem.author }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | return citem.data.sequenceNum == '007EB8E7' && citem.data.value |
| | | })?.data?.value |
| | | const obj = { |
| | | icon: item.productList[index]?.icon, |
| | | icon: getPublicImage(item.productList[index]?.icon, '', '150'), |
| | | id: item.productList[index]?.id, |
| | | name: item.productList[index]?.name, |
| | | author, |
| | |
| | | } |
| | | // 跳转书本详情 |
| | | 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> |
| | |
| | | margin-bottom: 20px; |
| | | |
| | | .cover { |
| | | width: 106px; |
| | | width: 116px; |
| | | height: 150px; |
| | | border-radius: 0px 0px 0px 0px; |
| | | border: 1px solid #019e58; |
| | | position: relative; |
| | | margin: auto; |
| | | margin-bottom: 5px; |
| | | |
| | | img { |
| | | width: 100%; |
| | |
| | | } |
| | | |
| | | span { |
| | | font-weight: bold; |
| | | line-height: 25px; |
| | | display: -webkit-box; |
| | | margin-bottom: 5px; |
| | | -webkit-box-orient: vertical; |
| | | -webkit-line-clamp: 2; |
| | | overflow: hidden; |
| | |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | |
| | | pages.count = res.totalSize |
| | | courseList.value = res.datas.map((item: any) => { |
| | | if (item.icon) { |
| | | item.icon = getPublicImage(item.icon, 80) |
| | | item.icon = getPublicImage(item.icon, '', 140) |
| | | } else if (item.linkProduct?.icon) { |
| | | item.icon = getPublicImage(item.linkProduct.icon, 80) |
| | | item.icon = getPublicImage(item.linkProduct.icon, '', 140) |
| | | } else { |
| | | item.icon = defaultImg |
| | | } |
| | |
| | | flex: 1; |
| | | display: flex; |
| | | .imgBox { |
| | | width: 90px; |
| | | height: 120px; |
| | | width: 110px; |
| | | height: 140px; |
| | | margin-right: 20px; |
| | | box-shadow: 0px 0px 20px 1px #ccc; |
| | | } |
| | |
| | | |
| | | <el-table-column label="全选" width="200"> |
| | | <template #default="scope"> |
| | | <div style="position: relative; width: 110px"> |
| | | <div style="position: relative;width: 120px;"> |
| | | <el-image :src="scope.row.imgUrl ? scope.row.imgUrl : defaultImg" class="bookImg"> |
| | | </el-image> |
| | | <div |
| | |
| | | 总价:<span v-if="sumUnitprice">¥{{ sumUnitprice.toFixed(2) }}</span> |
| | | <span v-else>¥0.00</span> |
| | | </p> |
| | | <el-button class="button" type="warning" @click="goPaymentPage">结算</el-button> |
| | | <el-button class="button" type="primary" @click="goPaymentPage">结算</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | import { ElTable, ElMessage } from 'element-plus' |
| | | import { reactive } from 'vue' |
| | | import { useRouter } from 'vue-router' |
| | | import { InfoFilled } from '@element-plus/icons-vue' |
| | | import { useUserStore } from '@/store' |
| | | import { getPublicImage } from '@/assets/js/middleGround/tool.js' |
| | | import defaultImg from '@/assets/images/default-book-img.png' |
| | | const dialogVisible = ref(false) |
| | | const router = useRouter() |
| | | const userStore = useUserStore() |
| | | const MG = inject('MG') |
| | | const MG: any = inject('MG') |
| | | const total = ref() |
| | | const multipleTableRef = ref() |
| | | const loading = ref(true) |
| | |
| | | } |
| | | MG.store.getShoppingCartProductList(query).then((res) => { |
| | | const newData = res.datas.map((item) => { |
| | | console.log(item.saleMethod.type, 'item.saleMethod.type') |
| | | if (item.productMonWithLinkDto.links[0].storeRefCode == 'digitalTextbooks') { |
| | | item.typeTxt = '数字教材' |
| | | item.productType = '数字教材' |
| | | } else if (item.productMonWithLinkDto.links[0].storeRefCode == 'digitalCourses') { |
| | | item.typeTxt = '数字课程' |
| | | item.productType = '数字课程' |
| | | } else { |
| | | item.typeTxt = '电子书' |
| | | item.productType = '图书服务-电子书' |
| | | } |
| | | item.typeTxt = '数字教材' |
| | | item.productType = '数字教材' |
| | | |
| | | // console.log(item.saleMethod.id); |
| | | console.log(item.saleMethod.type, 'item.saleMethod.type') |
| | |
| | | router.push({ |
| | | name: 'paymentPage', |
| | | query: { |
| | | crumbsKey: key, |
| | | orderNumber: orderNumber.value, |
| | | // type: route.query.type, |
| | | type: 'shoppingCart', |
| | |
| | | .el-image__inner { |
| | | box-shadow: 0px 0px 20px 1px #ccc; |
| | | object-fit: contain !important; |
| | | width: 110px; |
| | | height: 140px; |
| | | width: 120px; |
| | | height: 160px; |
| | | } |
| | | |
| | | .el-icon { |
| | |
| | | right: 0; |
| | | margin: 0 !important; |
| | | border-radius: 0px 0px 0px 5px; |
| | | box-sizing: border-box; |
| | | |
| | | p { |
| | | display: flex; |