hookehuyr

🌈 style(书籍详情页): 样式调整

...@@ -15,6 +15,7 @@ module.exports = { ...@@ -15,6 +15,7 @@ module.exports = {
15 "multiline": { 15 "multiline": {
16 "max": 5 16 "max": 5
17 } 17 }
18 - }] 18 + }],
19 + "vue/singleline-html-element-content-newline": 0, // 在单行元素的内容之前和之后需要换行符
19 } 20 }
20 } 21 }
......
1 <template> 1 <template>
2 <div class="book-detail-page content-bg"> 2 <div class="book-detail-page content-bg">
3 - <div class="modify-top"></div> 3 + <div class="modify-top" />
4 - <div style="height: 1.5rem;"></div> 4 + <div style="height: 1.5rem;" />
5 <div class="book-detail"> 5 <div class="book-detail">
6 <div style="text-align: center;"> 6 <div style="text-align: center;">
7 <van-image width="220" height="220" :src="bookInfo.cover" /> 7 <van-image width="220" height="220" :src="bookInfo.cover" />
...@@ -10,10 +10,12 @@ ...@@ -10,10 +10,12 @@
10 <p class="book-post">{{ bookInfo.name }}</p> 10 <p class="book-post">{{ bookInfo.name }}</p>
11 <div id="book-intro" :class="{ 'van-multi-ellipsis--l3': isToggle }">{{ bookInfo.note }}</div> 11 <div id="book-intro" :class="{ 'van-multi-ellipsis--l3': isToggle }">{{ bookInfo.note }}</div>
12 <div v-if="hasToggle"> 12 <div v-if="hasToggle">
13 - <div v-if="isToggle" @click="isToggle = false" class="book-toggle-icon">展开&nbsp; 13 + <div v-if="isToggle" class="book-toggle-icon" @click="isToggle = false">
14 + 展开&nbsp;
14 <van-icon style="vertical-align: middle;" size="0.9rem" :name="icon_down" /> 15 <van-icon style="vertical-align: middle;" size="0.9rem" :name="icon_down" />
15 </div> 16 </div>
16 - <div v-else @click="isToggle = true" class="book-toggle-icon">折叠&nbsp; 17 + <div v-else class="book-toggle-icon" @click="isToggle = true">
18 + 折叠&nbsp;
17 <van-icon style="vertical-align: middle;" size="0.9rem" :name="icon_up" /> 19 <van-icon style="vertical-align: middle;" size="0.9rem" :name="icon_up" />
18 </div> 20 </div>
19 </div> 21 </div>
...@@ -37,12 +39,12 @@ ...@@ -37,12 +39,12 @@
37 <div class="book-video-language"> 39 <div class="book-video-language">
38 <van-row> 40 <van-row>
39 <van-col span="6"> 41 <van-col span="6">
40 - <div @click="toggleLanguage('mandarin')" :class="[checkMandarin ? 'checked' : 'uncheck']">普通话</div> 42 + <div :class="[checkMandarin ? 'checked' : 'uncheck']" @click="toggleLanguage('mandarin')">普通话</div>
41 </van-col> 43 </van-col>
42 <van-col span="6"> 44 <van-col span="6">
43 - <div @click="toggleLanguage('localism')" :class="[checkLocalism ? 'checked' : 'uncheck']">方言</div> 45 + <div :class="[checkLocalism ? 'checked' : 'uncheck']" @click="toggleLanguage('localism')">方言</div>
44 </van-col> 46 </van-col>
45 - <van-col span="12" v-if="checkLocalism" @click="showPicker = true"> 47 + <van-col v-if="checkLocalism" span="12" @click="showPicker = true">
46 <div class="choose-wrapper"> 48 <div class="choose-wrapper">
47 <div class="text"> 49 <div class="text">
48 &nbsp;{{ chooseLanguage.text }} 50 &nbsp;{{ chooseLanguage.text }}
...@@ -54,31 +56,35 @@ ...@@ -54,31 +56,35 @@
54 </van-col> 56 </van-col>
55 </van-row> 57 </van-row>
56 <van-popup v-model:show="showPicker" round position="bottom"> 58 <van-popup v-model:show="showPicker" round position="bottom">
57 - <van-picker :columns="columns" :columns-field-names="{ text: 'text', value: 'val', children: 'children' }" 59 + <van-picker
58 - @cancel="showPicker = false" @confirm="onConfirm" /> 60 + :columns="columns" :columns-field-names="{ text: 'text', value: 'val', children: 'children' }" @cancel="showPicker = false" @confirm="onConfirm"
61 + />
59 </van-popup> 62 </van-popup>
60 </div> 63 </div>
61 </van-sticky> 64 </van-sticky>
62 65
63 <div class="book-video-list"> 66 <div class="book-video-list">
64 - <van-list v-model:loading="loading" :finished="finished" :finished-text="finishedTextStatus ? '没有更多了' : ''" 67 + <van-list v-model:loading="loading" :finished="finished" :finished-text="finishedTextStatus ? '没有更多了' : ''" @load="onLoad">
65 - @load="onLoad"> 68 + <template v-for="item in prod_list" :key="item">
66 - <template v-for="item in prod_list" :key="item" style="height: 3rem;">
67 <video-card :item="item"> 69 <video-card :item="item">
68 <template #bookDetailSub> 70 <template #bookDetailSub>
69 - <div @click="goToDetail(item.id, item.book_id, item.type)" 71 + <div
70 - style="color: #999999; padding: 0px 1rem 0.5rem;">{{ item.kg_name }} | {{ item.localism_type }} </div> 72 + style="color: #999999; padding: 0px 1rem 0.5rem;"
73 + @click="goToDetail(item.id, item.book_id, item.type)"
74 + >
75 + {{ item.kg_name }} | {{ item.localism_type }}
76 + </div>
71 </template> 77 </template>
72 </video-card> 78 </video-card>
73 </template> 79 </template>
74 </van-list> 80 </van-list>
75 </div> 81 </div>
76 - <div style="height: 2rem;"></div> 82 + <div style="height: 2rem;" />
77 <van-empty v-if="emptyStatus" class="custom-image" :image="no_image" description="暂无作品信息" /> 83 <van-empty v-if="emptyStatus" class="custom-image" :image="no_image" description="暂无作品信息" />
78 </div> 84 </div>
79 - <div style="height: 6rem;"></div> 85 + <div style="height: 6rem;" />
80 <div class="book-bar"> 86 <div class="book-bar">
81 - <div @click="onSubscribe" class="text"> 87 + <div class="text" @click="onSubscribe">
82 <template v-if="!bookInfo.is_subscribe"> 88 <template v-if="!bookInfo.is_subscribe">
83 <van-icon :name="icon_subscribed" size="1.25rem" style="margin: 0 auto;" /> 89 <van-icon :name="icon_subscribed" size="1.25rem" style="margin: 0 auto;" />
84 <span style="font-size: 0.85rem;">订阅</span> 90 <span style="font-size: 0.85rem;">订阅</span>
...@@ -89,23 +95,23 @@ ...@@ -89,23 +95,23 @@
89 </template> 95 </template>
90 </div> 96 </div>
91 <div class="button"> 97 <div class="button">
92 - <my-button @on-click="uploadVideo" type="primary">上传作品</my-button> 98 + <my-button type="primary" @on-click="uploadVideo">上传作品</my-button>
93 </div> 99 </div>
94 <div class="button"> 100 <div class="button">
95 - <my-button @on-click="toDonate" type="plain">爱心捐书</my-button> 101 + <my-button type="plain" @on-click="toDonate">爱心捐书</my-button>
96 </div> 102 </div>
97 </div> 103 </div>
98 - <shortcut-fixed type="C" :item="shortcutItem"></shortcut-fixed> 104 + <shortcut-fixed type="C" :item="shortcutItem" />
99 </div> 105 </div>
100 106
101 <!-- 上传时,如果没有默认儿童提示弹框, 如果没有实名认证提示弹框 --> 107 <!-- 上传时,如果没有默认儿童提示弹框, 如果没有实名认证提示弹框 -->
102 <notice-overlay :show="showNotice" :text="noticeText" @on-submit="onSubmit" @on-close="onClose"> 108 <notice-overlay :show="showNotice" :text="noticeText" @on-submit="onSubmit" @on-close="onClose">
103 <div style="color: #333333;"> 109 <div style="color: #333333;">
104 - <div v-html="noticeHtml"></div> 110 + <div v-html="noticeHtml" />
105 </div> 111 </div>
106 </notice-overlay> 112 </notice-overlay>
107 113
108 - <donate-book :showPopup="showDonate" :item="userInfo" @on-close="closeDonate"></donate-book> 114 + <donate-book :show-popup="showDonate" :item="userInfo" @on-close="closeDonate" />
109 115
110 <van-overlay :show="show" z-index="9999"> 116 <van-overlay :show="show" z-index="9999">
111 <div class="wrapper" @click.stop> 117 <div class="wrapper" @click.stop>
...@@ -117,7 +123,7 @@ ...@@ -117,7 +123,7 @@
117 <script setup> 123 <script setup>
118 import { ref, onActivated, nextTick } from 'vue' 124 import { ref, onActivated, nextTick } from 'vue'
119 import { useRoute, useRouter, onBeforeRouteLeave } from 'vue-router' 125 import { useRoute, useRouter, onBeforeRouteLeave } from 'vue-router'
120 -import { Cookies, $, _, storeToRefs, mainStore, Toast, hasEllipsis } from '@/utils/generatePackage' 126 +import { Cookies, _, storeToRefs, mainStore, Toast, hasEllipsis } from '@/utils/generatePackage'
121 import { MyButton, VideoCard, NoticeOverlay, DonateBook, ShortcutFixed } from '@/utils/generateModules' 127 import { MyButton, VideoCard, NoticeOverlay, DonateBook, ShortcutFixed } from '@/utils/generateModules'
122 import { icon_video, icon_up, icon_down, icon_subscribed, icon_unsubscribe, no_image } from '@/utils/generateIcons' 128 import { icon_video, icon_up, icon_down, icon_subscribed, icon_unsubscribe, no_image } from '@/utils/generateIcons'
123 import { JSJ_FORM_C } from '@/constant' 129 import { JSJ_FORM_C } from '@/constant'
......