From cf7e71c6d0fb64eeb6b5deac540da843b4bb465c Mon Sep 17 00:00:00 2001
From: QYF-GitLab1 <1940665526@qq.com>
Date: 星期二, 26 八月 2025 10:41:52 +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 24c309f..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 == "jsek_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 == "jsek_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