19935818809 3 долоо хоног өмнө
parent
commit
f11f90eee4

+ 250 - 1
travel-web/src/modules/pc-home/pages/page-association/page-association.html

@@ -1 +1,250 @@
-<p>page-association works!</p>
+
+<!-- 页面标题 -->
+<div class="page-header">
+  <h1 class="page-title">协会核心业务</h1>
+  <p class="page-subtitle">传承赣鄱文化,创新数字未来 - 融合传统与现代的智慧平台</p>
+</div>
+
+<!-- 走进协会 -->
+<section class="content-section">
+  <div class="section-header">
+    <h2 class="section-title">走进协会</h2>
+  </div>
+  
+  <div class="section-content">
+    <div class="org-chart-container">
+      <div class="org-header">
+        <i class="fas fa-sitemap"></i>
+        <h3>组织架构</h3>
+      </div>
+      <div class="org-body" id="orgChart"></div>
+    </div>
+    
+    <div class="leaders-container">
+      <div class="leader-card" *ngFor="let leader of leaders">
+        <div class="leader-img"></div>
+        <div class="leader-info">
+          <div class="ar-tag">AR名片</div>
+          <h3 class="leader-name">{{leader.name}}</h3>
+          <p class="leader-title">{{leader.title}}</p>
+          <p class="leader-desc">{{leader.description}}</p>
+        </div>
+      </div>
+    </div>
+  </div>
+  
+  <div class="constitution-container">
+    <div class="search-box">
+      <input type="text" class="search-input" [(ngModel)]="searchTerm" placeholder="输入关键词检索协会章程 (如:红色文化、会员权利...)">
+      <button class="search-btn" (click)="highlightText()"><i class="fas fa-search"></i> 智能检索</button>
+    </div>
+    <div class="constitution-content">
+      <h3>江西省数字文化发展协会章程</h3>
+      <p>(2023年6月修订)</p>
+      
+      <h4>第一章 总则</h4>
+      <p>第一条 本协会名称为江西省数字文化发展协会(英文译名:Jiangxi Digital Culture Development Association,缩写:JDCDA)。</p>
+      <p>第二条 本协会是由江西省内从事数字文化创作、研究、开发、生产、销售、服务的企业、机构和个人自愿组成的全省性、行业性、非营利性社会组织。</p>
+      <p>第三条 本协会的宗旨:遵守宪法、法律、法规和国家政策,践行社会主义核心价值观,遵守社会道德风尚。团结和组织全省数字文化工作者,促进数字文化产业的繁荣发展,推动数字技术与江西传统文化的融合创新,为江西文化强省建设贡献力量。</p>
+      
+      <h4>第二章 业务范围</h4>
+      <p>第四条 本协会的业务范围:</p>
+      <p>(一)开展数字文化产业发展研究,为政府决策提供参考;</p>
+      <p>(二)组织行业交流与合作,促进资源整合共享;</p>
+      <p>(三)制定行业标准和规范,加强行业自律;</p>
+      <p>(四)开展人才培养和技术培训,提升行业整体水平;</p>
+      <p>(五)举办展览、比赛、论坛等活动,推广优秀数字文化作品;</p>
+      <p>(六)加强<span class="highlight">红色文化</span>数字化保护和传承,推动江西特色文化资源数字化开发;</p>
+      <p>(七)开展国内外交流合作,提升江西数字文化影响力。</p>
+      
+      <h4>第三章 会员</h4>
+      <p>第五条 本协会会员包括单位会员和个人会员。</p>
+      <p>第六条 申请加入本协会的会员,必须具备下列条件:</p>
+      <p>(一)拥护本协会章程;</p>
+      <p>(二)有加入本协会的意愿;</p>
+      <p>(三)在数字文化领域内具有一定影响力或专业能力。</p>
+      
+      <h4>第四章 组织机构</h4>
+      <p>第十条 本协会的最高权力机构是会员代表大会。会员代表大会的职权是:</p>
+      <p>(一)制定和修改章程;</p>
+      <p>(二)选举和罢免理事;</p>
+      <p>(三)审议理事会的工作报告和财务报告;</p>
+      <p>(四)决定终止事宜;</p>
+      <p>(五)决定其他重大事宜。</p>
+    </div>
+  </div>
+</section>
+
+<!-- 学术体系 -->
+<section class="content-section" style="background-color: #f5f2e9;">
+  <div class="section-header">
+    <h2 class="section-title">学术体系</h2>
+  </div>
+  
+  <div class="section-content">
+    <div class="academic-calendar">
+      <div class="calendar-header">
+        <i class="fas fa-calendar-alt"></i>
+        <h3>学术日历</h3>
+      </div>
+      <div class="calendar-body" id="academicCalendar"></div>
+    </div>
+    
+    <div class="standards-container">
+      <div class="standards-header">
+        <i class="fas fa-file-alt"></i>
+        <h3>标准规范库</h3>
+      </div>
+      <div class="standards-body">
+        <h4>数字文化资源采集规范</h4>
+        <p>版本对比:2023版 vs 2021版</p>
+        
+        <div class="versions">
+          <div class="version-card">
+            <h5 class="version-title">2021版</h5>
+            <div class="version-content">
+              <p>1. 数字资源采集应遵循真实性原则,确保<span class="diff-highlight" 
+                 (mouseenter)="highlightDifferences('diff-highlight')"
+                 (mouseleave)="resetHighlights()">内容准确</span>。</p>
+              <p>2. 图像采集分辨率不低于<span class="diff-highlight"
+                 (mouseenter)="highlightDifferences('diff-highlight')"
+                 (mouseleave)="resetHighlights()">300dpi</span>。</p>
+              <p>3. 音频采集采样率不低于<span class="diff-highlight"
+                 (mouseenter)="highlightDifferences('diff-highlight')"
+                 (mouseleave)="resetHighlights()">44.1kHz</span>。</p>
+              <p>4. 视频采集分辨率不低于<span class="diff-highlight"
+                 (mouseenter)="highlightDifferences('diff-highlight')"
+                 (mouseleave)="resetHighlights()">1080p</span>。</p>
+              <p>5. 三维模型采集精度不低于<span class="diff-highlight"
+                 (mouseenter)="highlightDifferences('diff-highlight')"
+                 (mouseleave)="resetHighlights()">0.5mm</span>。</p>
+            </div>
+          </div>
+          
+          <div class="version-card">
+            <h5 class="version-title">2023版</h5>
+            <div class="version-content">
+              <p>1. 数字资源采集应遵循真实性、完整性原则,确保<span class="new-highlight"
+                 (mouseenter)="highlightDifferences('new-highlight')"
+                 (mouseleave)="resetHighlights()">内容准确且完整呈现文化背景</span>。</p>
+              <p>2. 图像采集分辨率不低于<span class="new-highlight"
+                 (mouseenter)="highlightDifferences('new-highlight')"
+                 (mouseleave)="resetHighlights()">600dpi,重要文物需达1200dpi</span>。</p>
+              <p>3. 音频采集采样率不低于<span class="new-highlight"
+                 (mouseenter)="highlightDifferences('new-highlight')"
+                 (mouseleave)="resetHighlights()">48kHz,推荐使用96kHz</span>。</p>
+              <p>4. 视频采集分辨率不低于<span class="new-highlight"
+                 (mouseenter)="highlightDifferences('new-highlight')"
+                 (mouseleave)="resetHighlights()">4K,重要场景需8K</span>。</p>
+              <p>5. 三维模型采集精度不低于<span class="new-highlight"
+                 (mouseenter)="highlightDifferences('new-highlight')"
+                 (mouseleave)="resetHighlights()">0.1mm,重要结构需达0.01mm</span>。</p>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</section>
+
+<!-- 人才培养 -->
+<section class="content-section">
+  <div class="section-header">
+    <h2 class="section-title">人才培养</h2>
+  </div>
+  
+  <div class="training-container">
+    <div class="training-card">
+      <div class="training-header">
+        <i class="fas fa-trophy"></i>
+        <h3>竞赛平台</h3>
+      </div>
+      <div class="training-body">
+        <h4>江西红色文化数字创意大赛</h4>
+        <p>参赛进度</p>
+        <div class="progress-track">
+          <div class="progress-bar">65% 作品完善中</div>
+        </div>
+        
+        <div class="progress-info">
+          <p><i class="fas fa-flag-checkered"></i> 截止日期:2023年10月15日</p>
+          <p><i class="fas fa-award"></i> 奖项设置:金奖1名(奖金50,000元),银奖3名,铜奖10名</p>
+        </div>
+      </div>
+    </div>
+    
+    <div class="training-card">
+      <div class="training-header">
+        <i class="fas fa-graduation-cap"></i>
+        <h3>微专业中心</h3>
+      </div>
+      <div class="training-body">
+        <h4>AI+文旅专业课程</h4>
+        <p>已上线课程</p>
+        
+        <div class="courses">
+          <div class="course-card" *ngFor="let course of courses">
+            <div class="course-img"></div>
+            <div class="course-content">
+              <h5 class="course-title">{{course.title}}</h5>
+              <p>{{course.description}}</p>
+              <div class="course-meta">
+                <span><i class="fas fa-clock"></i> {{course.duration}}</span>
+                <span><i class="fas fa-user-graduate"></i> 已报名 {{course.students}}</span>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</section>
+
+<!-- 页脚 -->
+<footer class="footer">
+  <div class="footer-content">
+    <div class="footer-column">
+      <h3>网站导航</h3>
+      <ul>
+        <li><a href="#">首页</a></li>
+        <li><a href="#">走进协会</a></li>
+        <li><a href="#">学术体系</a></li>
+        <li><a href="#">人才培养</a></li>
+        <li><a href="#">会员服务</a></li>
+      </ul>
+    </div>
+    <div class="footer-column">
+      <h3>资源中心</h3>
+      <ul>
+        <li><a href="#">学术文库</a></li>
+        <li><a href="#">标准规范</a></li>
+        <li><a href="#">培训课程</a></li>
+        <li><a href="#">竞赛平台</a></li>
+        <li><a href="#">研究成果</a></li>
+      </ul>
+    </div>
+    <div class="footer-column">
+      <h3>联系我们</h3>
+      <ul>
+        <li><i class="fas fa-map-marker-alt"></i> 江西省南昌市红谷滩区</li>
+        <li><i class="fas fa-phone"></i> 0791-87654321</li>
+        <li><i class="fas fa-envelope"></i> association jxculture.cn</li>
+        <li><i class="fab fa-weixin"></i> 江西文化协会</li>
+      </ul>
+    </div>
+    <div class="footer-column">
+      <h3>关注我们</h3>
+      <div style="display: flex; gap: 1rem; margin-top: 1rem;">
+        <div style="width: 100px; height: 100px; background: #555; display: flex; justify-content: center; align-items: center; color: #aaa;">
+          微信公众号
+        </div>
+        <div style="width: 100px; height: 100px; background: #555; display: flex; justify-content: center; align-items: center; color: #aaa;">
+          微博
+        </div>
+      </div>
+    </div>
+  </div>
+  <div class="copyright">
+    © 2023 江西省数字文化发展协会 版权所有 | 赣ICP备202300001号
+  </div>
+</footer>

+ 693 - 0
travel-web/src/modules/pc-home/pages/page-association/page-association.scss

@@ -0,0 +1,693 @@
+/* Styles remain the same as in your original CSS */
+:root {
+  --wood-primary: #8B4513;   /* 木质主色 */
+  --wood-secondary: #A0522D; /* 木质辅色 */
+  --wood-light: #DEB887;     /* 木质亮色 */
+  --brick-color: #7D5A50;    /* 青砖色 */
+  --porcelain-blue: #2a5daa; /* 青花蓝 */
+  --gold-yellow: #e8c34d;    /* 稻穗金 */
+  --mountain-green: #4a6b3d; /* 山林绿 */
+  --river-blue: #4a86e8;     /* 赣江蓝 */
+}
+
+* {
+  margin: 0;
+  padding: 0;
+  box-sizing: border-box;
+}
+
+body {
+  font-family: 'Microsoft YaHei', 'Segoe UI', sans-serif;
+  background-color: #f5f2e9;
+  color: #333;
+  line-height: 1.6;
+  overflow-x: hidden;
+  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><rect width="100" height="100" fill="%23f5f2e9"/><path d="M0,0 L100,100 M100,0 L0,100" stroke="%23e8e0d022" stroke-width="1"/></svg>');
+}
+
+/* 顶部导航 - 书院风格 */
+.header {
+  background: linear-gradient(135deg, var(--wood-primary) 0%, var(--wood-secondary) 100%);
+  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
+  position: sticky;
+  top: 0;
+  z-index: 1000;
+  padding: 0.8rem 5%;
+  border-bottom: 3px solid var(--wood-light);
+}
+
+.nav-container {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+}
+
+.logo {
+  display: flex;
+  align-items: center;
+}
+
+.logo-icon {
+  width: 50px;
+  height: 50px;
+  background: var(--wood-light);
+  border-radius: 50%;
+  position: relative;
+  margin-right: 12px;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  color: var(--wood-primary);
+  font-size: 24px;
+  border: 2px solid var(--wood-secondary);
+  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
+}
+
+.logo-text {
+  font-size: 1.8rem;
+  font-weight: bold;
+  color: var(--wood-light);
+  letter-spacing: 1px;
+  text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
+}
+
+.logo-subtext {
+  font-size: 0.9rem;
+  color: #f0e6d2;
+  margin-top: -4px;
+  letter-spacing: 3px;
+}
+
+.nav-links {
+  display: flex;
+  gap: 2rem;
+}
+
+.nav-links a {
+  text-decoration: none;
+  color: #f0e6d2;
+  font-weight: 500;
+  position: relative;
+  padding: 0.5rem 0;
+  transition: all 0.3s ease;
+  font-size: 1.1rem;
+}
+
+.nav-links a:hover {
+  color: var(--gold-yellow);
+}
+
+.nav-links a::after {
+  content: '';
+  position: absolute;
+  bottom: 0;
+  left: 0;
+  width: 0;
+  height: 2px;
+  background: var(--gold-yellow);
+  transition: width 0.3s ease;
+}
+
+.nav-links a:hover::after {
+  width: 100%;
+}
+
+/* 页面标题 */
+.page-header {
+  background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), 
+              url('https://images.unsplash.com/photo-1606193431680-8f5a06d61c9b?ixlib=rb-4.0.3&auto=format&fit=crop&w=1950&q=80') center/cover;
+  height: 300px;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+  color: white;
+  text-align: center;
+  position: relative;
+}
+
+.page-title {
+  font-size: 3.5rem;
+  font-weight: bold;
+  margin-bottom: 1rem;
+  text-shadow: 0 2px 10px rgba(0,0,0,0.5);
+}
+
+.page-subtitle {
+  font-size: 1.5rem;
+  max-width: 800px;
+}
+
+/* 内容区域 */
+.content-section {
+  padding: 4rem 5%;
+  background-color: #fcfaf5;
+  position: relative;
+}
+
+.content-section::before {
+  content: '';
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  height: 10px;
+  background: linear-gradient(90deg, var(--wood-primary), var(--wood-secondary));
+}
+
+.section-header {
+  display: flex;
+  align-items: center;
+  margin-bottom: 3rem;
+  position: relative;
+}
+
+.section-title {
+  font-size: 2.2rem;
+  color: var(--wood-primary);
+  position: relative;
+  padding-left: 1.5rem;
+  z-index: 2;
+  background: linear-gradient(90deg, var(--wood-light), transparent 80%);
+  padding: 0.5rem 1.5rem;
+  border-radius: 0 30px 30px 0;
+}
+
+.section-title::before {
+  content: '';
+  position: absolute;
+  left: 0;
+  top: 50%;
+  transform: translateY(-50%);
+  width: 8px;
+  height: 40px;
+  background: var(--wood-primary);
+  border-radius: 4px;
+}
+
+.section-content {
+  display: flex;
+  flex-wrap: wrap;
+  gap: 2rem;
+  margin-top: 2rem;
+}
+
+/* 走进协会 */
+.org-chart-container {
+  flex: 1;
+  min-width: 300px;
+  background: white;
+  border-radius: 12px;
+  overflow: hidden;
+  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
+  border: 2px solid var(--wood-light);
+  position: relative;
+}
+
+.org-header {
+  padding: 1.2rem;
+  background: linear-gradient(90deg, var(--wood-primary), var(--wood-secondary));
+  color: white;
+  display: flex;
+  align-items: center;
+}
+
+.org-body {
+  padding: 1.5rem;
+  height: 500px;
+}
+
+.leaders-container {
+  flex: 1;
+  min-width: 300px;
+  display: flex;
+  flex-direction: column;
+  gap: 1.5rem;
+}
+
+.leader-card {
+  background: white;
+  border-radius: 12px;
+  overflow: hidden;
+  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
+  display: flex;
+  border: 2px solid var(--wood-light);
+  transition: all 0.3s ease;
+}
+
+.leader-card:hover {
+  transform: translateY(-5px);
+  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
+}
+
+.leader-img {
+  width: 150px;
+  height: 180px;
+  background: #ddd;
+  position: relative;
+  overflow: hidden;
+}
+
+.leader-img::after {
+  content: '';
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  background: radial-gradient(circle, transparent 60%, rgba(0,0,0,0.7));
+  border: 5px solid var(--wood-light);
+  border-radius: 50%;
+  box-sizing: border-box;
+}
+
+.leader-info {
+  flex: 1;
+  padding: 1.5rem;
+  position: relative;
+}
+
+.leader-info::before {
+  content: '';
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 4px;
+  height: 100%;
+  background: var(--wood-primary);
+}
+
+.leader-name {
+  font-size: 1.5rem;
+  color: var(--wood-primary);
+  margin-bottom: 0.5rem;
+}
+
+.leader-title {
+  color: var(--wood-secondary);
+  margin-bottom: 1rem;
+}
+
+.leader-desc {
+  color: #666;
+  font-size: 0.95rem;
+}
+
+.ar-tag {
+  position: absolute;
+  top: 1rem;
+  right: 1rem;
+  background: var(--porcelain-blue);
+  color: white;
+  padding: 0.3rem 0.8rem;
+  border-radius: 30px;
+  font-size: 0.8rem;
+}
+
+/* 协会章程 */
+.constitution-container {
+  margin-top: 3rem;
+  background: white;
+  border-radius: 12px;
+  overflow: hidden;
+  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
+  border: 2px solid var(--wood-light);
+  position: relative;
+}
+
+.search-box {
+  padding: 1.5rem;
+  background: linear-gradient(135deg, #4a86e8 0%, #2a5daa 100%);
+  display: flex;
+  align-items: center;
+  position: relative;
+  overflow: hidden;
+}
+
+.search-box::before {
+  content: '';
+  position: absolute;
+  top: -50px;
+  right: -50px;
+  width: 150px;
+  height: 150px;
+  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M20,50 Q40,20 60,50 T100,50" fill="none" stroke="white" stroke-width="1" opacity="0.2"/></svg>');
+  background-size: contain;
+  transform: rotate(20deg);
+}
+
+.search-input {
+  flex: 1;
+  padding: 1rem 1.5rem;
+  border: none;
+  border-radius: 50px;
+  font-size: 1.1rem;
+  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
+}
+
+.search-btn {
+  background: var(--gold-yellow);
+  color: var(--wood-primary);
+  border: none;
+  padding: 1rem 2rem;
+  border-radius: 50px;
+  margin-left: 1rem;
+  font-weight: bold;
+  cursor: pointer;
+  transition: all 0.3s ease;
+  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
+}
+
+.search-btn:hover {
+  background: #d9b347;
+  transform: translateY(-2px);
+}
+
+.constitution-content {
+  padding: 2rem;
+  max-height: 400px;
+  overflow-y: auto;
+  background: #f9f6f0;
+  font-family: 'SimSun', serif;
+  line-height: 2;
+  position: relative;
+}
+
+.constitution-content::before {
+  content: '';
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><path d="M10,10 L90,10 L90,90 L10,90 Z" fill="none" stroke="%23e8e0d0" stroke-width="1"/></svg>');
+  opacity: 0.3;
+  pointer-events: none;
+}
+
+.highlight {
+  background-color: rgba(232, 195, 77, 0.3);
+  padding: 0 2px;
+  border-radius: 2px;
+  font-weight: bold;
+}
+
+/* 学术体系 */
+.academic-calendar {
+  flex: 1;
+  min-width: 300px;
+  background: white;
+  border-radius: 12px;
+  overflow: hidden;
+  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
+  border: 2px solid var(--wood-light);
+}
+
+.calendar-header {
+  padding: 1.2rem;
+  background: linear-gradient(90deg, var(--mountain-green), #5d8c5a);
+  color: white;
+  display: flex;
+  align-items: center;
+}
+
+.calendar-body {
+  padding: 1.5rem;
+  height: 400px;
+}
+
+.standards-container {
+  flex: 1;
+  min-width: 300px;
+  background: white;
+  border-radius: 12px;
+  overflow: hidden;
+  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
+  border: 2px solid var(--wood-light);
+}
+
+.standards-header {
+  padding: 1.2rem;
+  background: linear-gradient(90deg, var(--wood-primary), var(--wood-secondary));
+  color: white;
+  display: flex;
+  align-items: center;
+}
+
+.standards-body {
+  padding: 1.5rem;
+}
+
+.versions {
+  display: flex;
+  gap: 1.5rem;
+  margin-top: 1rem;
+}
+
+.version-card {
+  flex: 1;
+  background: #f9f6f0;
+  border-radius: 8px;
+  padding: 1.5rem;
+  position: relative;
+  border: 1px solid var(--wood-light);
+}
+
+.version-title {
+  font-size: 1.2rem;
+  color: var(--wood-primary);
+  margin-bottom: 1rem;
+  padding-bottom: 0.5rem;
+  border-bottom: 2px solid var(--wood-light);
+}
+
+.version-content {
+  line-height: 1.8;
+}
+
+.diff-highlight {
+  background-color: rgba(255, 0, 0, 0.1);
+  text-decoration: line-through;
+}
+
+.new-highlight {
+  background-color: rgba(0, 128, 0, 0.1);
+  font-weight: bold;
+}
+
+/* 人才培养 */
+.training-container {
+  display: flex;
+  flex-wrap: wrap;
+  gap: 2rem;
+  margin-top: 2rem;
+}
+
+.training-card {
+  flex: 1;
+  min-width: 300px;
+  background: white;
+  border-radius: 12px;
+  overflow: hidden;
+  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
+  border: 2px solid var(--wood-light);
+}
+
+.training-header {
+  padding: 1.2rem;
+  background: linear-gradient(90deg, var(--porcelain-blue), #3a7de8);
+  color: white;
+  display: flex;
+  align-items: center;
+}
+
+.training-body {
+  padding: 1.5rem;
+}
+
+.progress-track {
+  height: 40px;
+  background: #f0e6d2;
+  border-radius: 20px;
+  overflow: hidden;
+  margin: 1.5rem 0;
+  position: relative;
+  box-shadow: inset 0 2px 5px rgba(0,0,0,0.1);
+  border: 2px solid var(--wood-light);
+}
+
+.progress-bar {
+  height: 100%;
+  background: linear-gradient(90deg, var(--gold-yellow), #d9b347);
+  width: 65%;
+  border-radius: 20px;
+  position: relative;
+  display: flex;
+  align-items: center;
+  padding-left: 20px;
+  color: var(--wood-primary);
+  font-weight: bold;
+  box-shadow: 0 0 10px rgba(232, 195, 77, 0.5);
+}
+
+.progress-bar::after {
+  content: '';
+  position: absolute;
+  right: 0;
+  top: 0;
+  width: 50px;
+  height: 100%;
+  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M10,50 L40,20 L40,80 Z" fill="%238B4513"/></svg>') right center no-repeat;
+  background-size: 30px;
+}
+
+.courses {
+  display: grid;
+  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
+  gap: 1.5rem;
+  margin-top: 1rem;
+}
+
+.course-card {
+  background: #f9f6f0;
+  border-radius: 8px;
+  overflow: hidden;
+  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
+  border: 1px solid var(--wood-light);
+  position: relative;
+  transition: all 0.3s ease;
+}
+
+.course-card:hover {
+  transform: translateY(-5px);
+  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
+}
+
+.course-img {
+  height: 160px;
+  background: #ddd;
+  position: relative;
+  overflow: hidden;
+}
+
+.course-img::before {
+  content: '';
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  background: linear-gradient(transparent 60%, rgba(0,0,0,0.6));
+}
+
+.course-content {
+  padding: 1.2rem;
+}
+
+.course-title {
+  font-size: 1.2rem;
+  color: var(--wood-primary);
+  margin-bottom: 0.5rem;
+}
+
+.course-meta {
+  display: flex;
+  justify-content: space-between;
+  color: var(--wood-secondary);
+  font-size: 0.9rem;
+  margin-top: 1rem;
+}
+
+/* 页脚 */
+.footer {
+  background: var(--wood-primary);
+  color: #f0e6d2;
+  padding: 3rem 5% 2rem;
+  margin-top: 3rem;
+}
+
+.footer-content {
+  display: flex;
+  flex-wrap: wrap;
+  gap: 3rem;
+  margin-bottom: 2rem;
+}
+
+.footer-column {
+  flex: 1;
+  min-width: 200px;
+}
+
+.footer-column h3 {
+  color: var(--gold-yellow);
+  margin-bottom: 1.5rem;
+  position: relative;
+  padding-bottom: 0.5rem;
+}
+
+.footer-column h3::after {
+  content: '';
+  position: absolute;
+  bottom: 0;
+  left: 0;
+  width: 40px;
+  height: 2px;
+  background: var(--gold-yellow);
+}
+
+.footer-column ul {
+  list-style: none;
+}
+
+.footer-column ul li {
+  margin-bottom: 0.8rem;
+}
+
+.footer-column a {
+  color: #f0e6d2;
+  text-decoration: none;
+  transition: color 0.3s ease;
+}
+
+.footer-column a:hover {
+  color: var(--gold-yellow);
+}
+
+.copyright {
+  text-align: center;
+  padding-top: 2rem;
+  border-top: 1px solid rgba(240, 230, 210, 0.3);
+  color: #d9c7a7;
+  font-size: 0.9rem;
+}
+
+/* 动画效果 */
+@keyframes float {
+  0% { transform: translateY(0px); }
+  50% { transform: translateY(-10px); }
+  100% { transform: translateY(0px); }
+}
+
+.floating {
+  animation: float 3s ease-in-out infinite;
+}
+
+/* 响应式设计 */
+@media (max-width: 768px) {
+  .nav-links {
+    display: none;
+  }
+  
+  .section-content, .versions, .training-container {
+    flex-direction: column;
+  }
+  
+  .leader-card {
+    flex-direction: column;
+  }
+  
+  .leader-img {
+    width: 100%;
+    height: 200px;
+  }
+}

+ 6 - 5
travel-web/src/modules/pc-home/pages/page-association/page-association.ts

@@ -1,11 +1,12 @@
+
 import { Component } from '@angular/core';
+import { CommonModule } from '@angular/common';
 
 @Component({
   selector: 'app-page-association',
-  imports: [],
+  standalone: true,
+  imports: [CommonModule],
   templateUrl: './page-association.html',
-  styleUrl: './page-association.scss'
+  styleUrls: ['./page-association.scss']
 })
-export class PageAssociation {
-
-}
+export class PageAssociation {}