11<template >
2- <el-dialog v-model =" dialogVisible" width =" 75%" :before-close =" closeDialog" >
2+ <el-dialog
3+ v-model =" dialogVisible"
4+ width =" 75%"
5+ :before-close =" closeDialog"
6+ class =" info-dialog audio-info-dialog"
7+ destroy-on-close
8+ >
39 <template #header =" {titleId , titleClass } " >
410 <div class =" my-header" >
511 <h4 :id =" titleId" :class =" titleClass" >{{audioInfo.detail.title}}</h4 >
2127 </el-col >
2228 <el-col :span =" 16" >
2329 <p style =" margin : 0 ;font-size : medium ;" >{{ audioInfo.detail.agency_detail.qcg_member_name }}</p >
24- <span style = " color : #909399 ; " >解读书本{{ audioInfo.detail.agency_detail.book_count }}本 | 被学习{{ audioInfo.detail.agency_detail.uv }}次</span >
30+ <span class = " meta-text " >解读书本{{ audioInfo.detail.agency_detail.book_count }}本 | 被学习{{ audioInfo.detail.agency_detail.uv }}次</span >
2531 </el-col >
2632 </el-row >
2733 <el-row :gutter =" 0" >
2834 <p class =" author-info" v-html =" audioInfo.detail.agency_detail.intro?.replaceAll('\n','<br/>')" ></p ><br />
29- <span style = " color : #ff6b00 " >{{ audioInfo.detail.audio_price }}元</span >
35+ <span class = " price " >{{ audioInfo.detail.audio_price }}元</span >
3036 <el-tag class =" ml-2" type =" warning" v-if =" audioInfo.detail.is_vip == true" round >
3137 <el-icon ><HotWater /></el-icon >会员免费</el-tag >
3238 <el-tag class =" ml-2" type =" info" v-if =" audioInfo.detail.in_bookrack == true" round >
6571 <div class =" book-intro" style =" text-align :left " >
6672 <div v-for =" item in audioInfo.detail.topic_summary" :key =" item.id" >
6773 <h3 >{{ item.title}}</h3 >
68- <p v-html =" item.sub_title?.replaceAll('\n','<br/>')" style = " color : #909399 ; " ></p >
74+ <p class = " meta-text " v-html =" item.sub_title?.replaceAll('\n','<br/>')" ></p >
6975 </div >
7076 </div >
7177 </el-card >
@@ -78,11 +84,7 @@ import { ref, reactive, onMounted } from 'vue'
7884import { ElMessage } from ' element-plus'
7985import { AudioDetail } from ' ../../wailsjs/go/backend/App'
8086import { services } from ' ../../wailsjs/go/models'
81- import { repeat } from ' lodash'
8287import { secondToHour ,timestampToDate } from ' ../utils/utils'
83- import { useRouter } from ' vue-router'
84-
85- const router = useRouter ()
8688const dialogVisible = ref (false )
8789
8890let audioInfo = reactive (new services .AudioInfoResp )
@@ -106,7 +108,6 @@ onMounted(() => {
106108
107109const getAudioInfo = async (enid : string ) => {
108110 await AudioDetail (enid ).then ((info ) => {
109- console .log (info )
110111 Object .assign (audioInfo , info )
111112 openDialog ()
112113 }).catch ((error ) => {
@@ -128,7 +129,42 @@ const closeDialog = () => {
128129
129130 </script >
130131
131- <style scoped>
132+ <style scoped lang="scss">
133+ .audio-info-dialog {
134+ :deep (.el-dialog__header ) {
135+ margin-right : 0 ;
136+ padding : 20px 24px ;
137+ border-bottom : 1px solid var (--border-soft );
138+ }
139+
140+ :deep(.el-dialog__body ) {
141+ padding : 0 ;
142+ }
143+ }
144+
145+ .my-header {
146+ display : flex ;
147+ flex-direction : column ;
148+ gap : 12px ;
149+
150+ h4 {
151+ margin : 0 ;
152+ font-size : 20px ;
153+ font-weight : 600 ;
154+ color : var (--text-primary );
155+ line-height : 1.4 ;
156+ }
157+ }
158+
159+ .meta-text {
160+ color : var (--text-tertiary ) !important ;
161+ }
162+
163+ .price {
164+ color : var (--accent-color ) !important ;
165+ font-weight : 600 ;
166+ }
167+
132168.card-header.el-row {
133169 height : 100% ;
134170}
@@ -162,27 +198,32 @@ const closeDialog = () => {
162198.section-info {
163199 display : flex ;
164200 flex-wrap : wrap ;
201+ margin : 20px 0 ;
165202}
166203.section-info .item-content {
167204 position : relative ;
168205 text-align : center ;
169206 min-width : 24% ;
170207 margin-bottom : 15px ;
171- border-left : 1px solid #d8d8d8 ;
208+ border-left : 1px solid var (--border-soft );
209+
210+ & :first-child {
211+ border-left : none ;
212+ }
172213}
173214.item-content span {
174215 display : block ;
175216}
176217
177218.item-content .info-value {
178219 font-size : 16px ;
179- color : #333 ;
220+ color : var ( --text-primary ) ;
180221 letter-spacing : 0 ;
181222 line-height : 28px ;
182223}
183224
184225.item-content .info-text {
185- color : #666 ;
226+ color : var ( --text-secondary ) ;
186227 line-height : 16px ;
187228 font-size : 12px ;
188229 letter-spacing : 0 ;
@@ -199,8 +240,8 @@ const closeDialog = () => {
199240 /* height: 32px; */
200241 border-radius : 8px ;
201242 font-weight : bold ;
202- border-color : #ff6b00 ;
203- background-color : #ff6b00 ;
204- color : #fff ;
243+ border-color : var ( --accent-color ) ;
244+ background-color : var ( --accent-color ) ;
245+ color : #fff !important ;
205246}
206- </style >
247+ </style >
0 commit comments