From 49a435043b0b1a289a24606e35253365d7ab3956 Mon Sep 17 00:00:00 2001 From: QYF-GitLab1 <1940665526@qq.com> Date: 星期一, 25 八月 2025 17:51:57 +0800 Subject: [PATCH] 首页、及教学出版样式修改 --- src/views/personalCenter/activeCode.vue | 258 ++++++++++++++++++++++++++------------------------- 1 files changed, 131 insertions(+), 127 deletions(-) diff --git a/src/views/personalCenter/activeCode.vue b/src/views/personalCenter/activeCode.vue index d87ce16..8a5b72d 100644 --- a/src/views/personalCenter/activeCode.vue +++ b/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 @@ -29,7 +29,7 @@ >浣跨敤婵�娲荤爜锛�<span>{{ item.code }}</span></span > <span class="createDate flex1" - >婵�娲绘棩鏈燂細{{ item.createDate ? item.createDate : "-" }}</span + >婵�娲绘棩鏈燂細{{ item.createDate ? item.createDate : '-' }}</span > </div> <div class="listItemBox flex"> @@ -38,24 +38,17 @@ v-for="pItem in item.typeList" :key="pItem.id" class="listItem" - @click=" - goBookDetails(pItem.id, pItem.name, pItem.defaultSaleMethodId) - " + @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,112 +79,104 @@ </template> <script setup lang="ts"> -import { reactive, ref, onMounted, inject, watch } from "vue"; -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 activateCode = ref(""); -const loading = ref(false); -let dataList = ref([]); +import { reactive, ref, onMounted, inject, watch } from 'vue' +import moment from 'moment' +import { getPublicImage } from '@/assets/js/middleGround/tool.js' +import { ElMessage } from 'element-plus' +import { useRouter } from 'vue-router' +import bookCover from '@/assets/images/personalCenter/book-cover.png' +const router = useRouter() +const MG: any = inject('MG') +const activateCode = ref('') +const loading = ref(false) +let dataList = ref([]) let pages = reactive({ page: 1, pageSize: 5, count: 0, loading: false, -}); +}) // 浣跨敤婵�娲荤爜 const userActiveCodeGet = () => { - loading.value = true; - let lock = true; - if (activateCode.value == "") { + loading.value = true + let lock = true + if (activateCode.value == '') { ElMessage({ - type: "error", - message: "璇疯緭鍏ユ縺娲荤爜锛�", - }); - loading.value = false; + type: 'error', + message: '璇疯緭鍏ユ縺娲荤爜锛�', + }) + loading.value = false } else { if (lock) { - lock = false; + lock = false MG.store .userActiveCode({ code: activateCode.value, }) .then((res) => { ElMessage({ - type: res == "婵�娲绘垚鍔�" ? "success" : "error", + type: res == '婵�娲绘垚鍔�' ? 'success' : 'error', message: res, - }); - activateCode.value = ""; - loading.value = false; - getDataList(); - lock = true; - }); + }) + activateCode.value = '' + loading.value = false + getDataList() + lock = true + }) } } -}; +} function getDataList() { - pages.loading = true; + pages.loading = true MG.store .userActiveCodeList({ start: (pages.page - 1) * pages.pageSize, size: pages.pageSize, sort: { - type: "Desc", - field: "CreateDate", + type: 'Desc', + field: 'CreateDate', + }, + fields: { + author: [], }, }) .then((res) => { - let list: any[] = []; + 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.createDate = moment(item.createDate).format('YYYY-MM-DD HH:mm:ss') + item.typeList = [] + 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 == "jsek_digitalCourses") { - 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, } - if (parentData.storeLinks[0].storeRefCode == "digitalTextbooks") { - obj.type = "鏁板瓧鏁欐潗"; - } - item.typeList.push(obj); - }); - list.push(item); - }); + item.typeList.push(obj) + }) + list.push(item) + }) setTimeout(() => { - dataList.value = list; - pages.count = res.totalSize; - pages.loading = false; - }, 500); + dataList.value = list + pages.count = res.totalSize + pages.loading = false + }, 500) }) .catch(() => { - pages.loading = false; - }); + pages.loading = false + }) } onMounted(() => { - getDataList(); -}); + getDataList() +}) // watch( // () => userStore.token, @@ -201,39 +186,18 @@ // ) const handleCurrentChange = (val: number) => { - pages.page = val; - getDataList(); -}; + pages.page = val + getDataList() +} // 璺宠浆涔︽湰璇︽儏 const goBookDetails = async (id: number, name: string, defaultSaleMethodId: number) => { - let parentData = await MG.store.getProductBySaleMethod({ - saleMethodId: defaultSaleMethodId, - }); - if (parentData.storeLinks[0].storeRefCode == "jsek_digitalCourses") { - router.push({ - name: "digitalCoursesDetails", - query: { - bookId: parentData.id, - bookName: parentData.name, - }, - }); - } else if (parentData.storeLinks[0].storeRefCode == "digitalTextbooks") { - router.push({ - name: "digitalTextbooksDetails", - query: { - bookId: parentData.id, - bookName: parentData.name, - }, - }); - } else { - router.push({ - name: "bookdetail", - query: { - bookId: id, - }, - }); - } -}; + router.push({ + path: '/bookdetail', + query: { + bookId: id, + }, + }) +} </script> <style lang="less" scoped> ::v-deep(.activation) { @@ -249,7 +213,9 @@ } .tipTitle { - font-family: Microsoft YaHei UI, Microsoft YaHei UI; + font-family: + Microsoft YaHei UI, + Microsoft YaHei UI; font-weight: 400; font-size: 16px; color: #000000; @@ -260,11 +226,14 @@ } .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: #000; + } } .listItemBox { @@ -272,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%; @@ -306,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; } } } -- Gitblit v1.9.1