From 810ae2724df7f79dffd44da8337a06d1d1ff2871 Mon Sep 17 00:00:00 2001 From: Mimingguang <498526323@qq.com> Date: Wed, 25 Mar 2026 09:06:50 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=90=8E=E5=8F=B0=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E5=99=A8=E5=AD=97=E6=AE=B5=E5=85=A8=E8=A6=86=E7=9B=96=20+=20?= =?UTF-8?q?=E6=96=B0=E5=BB=BA=20about/versions/pricing=20=E4=B8=93?= =?UTF-8?q?=E7=94=A8=E7=BC=96=E8=BE=91=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - tour 编辑器补全:selectionGuide 3维度、isMainProduct、timeline 正确结构 - camp 编辑器补全:name、campEssentials - calendar 补全:quickRecommendations、travelAdvice、recommendedProducts - guides 补全:穿搭章节 months[] 每月数据 - brand 补全:ctaButtons、conversionPath、icpUrl、eContract - qualifications 补全:enterpriseMatrix - youji 补全:notes[].tags - gallery 补全:页面配置(intro/stats/categories) - 新建 about.vue 专用编辑器(14个分区) - 新建 versions.vue 专用编辑器(8个分区) - 新建 pricing.vue 专用编辑器(5个分区) Co-Authored-By: Claude Opus 4.6 (1M context) --- .claude/scheduled_tasks.lock | 1 + pages/admin/content/about.vue | 423 +++++++++++++++++++++++++ pages/admin/content/brand.vue | 56 +++- pages/admin/content/calendar.vue | 75 ++++- pages/admin/content/guides.vue | 41 ++- pages/admin/content/pricing.vue | 162 ++++++++++ pages/admin/content/qualifications.vue | 51 ++- pages/admin/content/versions.vue | 205 ++++++++++++ pages/admin/content/youji.vue | 3 + pages/admin/gallery/index.vue | 79 ++++- pages/admin/products/[key].vue | 59 +++- 11 files changed, 1136 insertions(+), 19 deletions(-) create mode 100644 .claude/scheduled_tasks.lock create mode 100644 pages/admin/content/about.vue create mode 100644 pages/admin/content/pricing.vue create mode 100644 pages/admin/content/versions.vue diff --git a/.claude/scheduled_tasks.lock b/.claude/scheduled_tasks.lock new file mode 100644 index 0000000..0d266e8 --- /dev/null +++ b/.claude/scheduled_tasks.lock @@ -0,0 +1 @@ +{"sessionId":"c823a359-416f-43c5-8fad-22f6a5ddd8bc","pid":59167,"acquiredAt":1774346188338} \ No newline at end of file diff --git a/pages/admin/content/about.vue b/pages/admin/content/about.vue new file mode 100644 index 0000000..a101022 --- /dev/null +++ b/pages/admin/content/about.vue @@ -0,0 +1,423 @@ + + + diff --git a/pages/admin/content/brand.vue b/pages/admin/content/brand.vue index 5176b89..3d9bab6 100644 --- a/pages/admin/content/brand.vue +++ b/pages/admin/content/brand.vue @@ -24,6 +24,8 @@ + + @@ -54,25 +56,73 @@ + + + +
+
{{ btnLabel }}
+ + + + +
+
+
+ + + + + + + + + + + + diff --git a/pages/admin/content/qualifications.vue b/pages/admin/content/qualifications.vue index ca96a56..29caf6a 100644 --- a/pages/admin/content/qualifications.vue +++ b/pages/admin/content/qualifications.vue @@ -59,6 +59,49 @@ + 添加荣誉奖项 + + + + + + + + + + + + + + +
企业列表
+
+ + + + + + + + + + + + + + + + + + + + + + + 删除 +
+ 添加企业 +
+ @@ -95,7 +138,7 @@ diff --git a/pages/admin/content/youji.vue b/pages/admin/content/youji.vue index c630d28..a285697 100644 --- a/pages/admin/content/youji.vue +++ b/pages/admin/content/youji.vue @@ -68,6 +68,9 @@ + + + + + + + + + + + + @@ -42,7 +77,7 @@ diff --git a/pages/admin/products/[key].vue b/pages/admin/products/[key].vue index f8f1716..403b8eb 100644 --- a/pages/admin/products/[key].vue +++ b/pages/admin/products/[key].vue @@ -78,11 +78,12 @@ - + + @@ -134,15 +135,46 @@ - - -
- - - - + + +
+ + + +
+ + +
+ + + + +
+
+ + + + + + + + + + + + +
+ + + +
+ 添加变更 +
+
+
+
@@ -155,6 +187,7 @@ + @@ -244,6 +277,12 @@
+ + +
+ +
+
@@ -359,7 +398,7 @@ import { h } from 'vue' import { NButton, NCard, NSpace, NTag, NGrid, NGi, NSpin, NForm, NFormItem, NInput, NInputNumber, NBreadcrumb, NBreadcrumbItem, - NTabs, NTabPane, NCollapse, NCollapseItem, NDynamicInput, NEmpty, + NTabs, NTabPane, NCollapse, NCollapseItem, NDynamicInput, NEmpty, NSwitch, } from 'naive-ui' import { useMessage } from 'naive-ui' @@ -462,7 +501,7 @@ function normalizeVersion(v) { return { id: v.id || '', name: v.name || '', tag: v.tag || '', days: v.days || 0, nights: v.nights || 0, line: v.line || '', route: v.route || '', - audience: v.audience || '', description: v.description || '', + audience: v.audience || '', description: v.description || '', isMainProduct: v.isMainProduct || false, highlights: Array.isArray(v.highlights) ? v.highlights : [], itinerary: normalizeItinerary(v.itinerary || []), pricing: {