diff --git a/.data/content/contents.sqlite b/.data/content/contents.sqlite index 99e6cd8..5ec37a8 100644 Binary files a/.data/content/contents.sqlite and b/.data/content/contents.sqlite differ diff --git a/.workbuddy/expert-history.json b/.workbuddy/expert-history.json index 3dc7c52..a83fd6a 100644 --- a/.workbuddy/expert-history.json +++ b/.workbuddy/expert-history.json @@ -11,7 +11,18 @@ "usedAt": 1776933111908, "industryId": "02-Engineering" } + ], + "f49030fc1f92485a83c29c921cac6a72": [ + { + "expertId": "SeniorDeveloper", + "name": "吴八哥", + "profession": "高级开发工程师", + "avatarUrl": "https://acc-1258344699.cos.accelerate.myqcloud.com/workbuddy/experts/avatars/02-Engineering/SeniorDeveloper/SeniorDeveloper.png", + "promptUrl": "https://acc-1258344699.cos.accelerate.myqcloud.com/workbuddy/experts/experts/02-Engineering/SeniorDeveloper/SeniorDeveloper_zh.md", + "usedAt": 1777135926044, + "industryId": "02-Engineering" + } ] }, - "lastUpdated": 1776935969275 + "lastUpdated": 1777136548111 } \ No newline at end of file diff --git a/.workbuddy/memory/MEMORY.md b/.workbuddy/memory/MEMORY.md index e69de29..bcab3bd 100644 --- a/.workbuddy/memory/MEMORY.md +++ b/.workbuddy/memory/MEMORY.md @@ -0,0 +1,60 @@ +# 项目长期记忆 + +## 项目信息 +- **项目名称**:广西决策咨询网(jczxw-pc) +- **PC端路径**:/Users/gxwebsoft/VUE/jczxw-pc(Nuxt 3 + Ant Design Vue + Tailwind CSS) +- **Java后端路径**:/Users/gxwebsoft/JAVA/jczxw-java +- **后台管理**:集成在PC端 /admin 目录下(不单独部署) + +## 技术栈 +- Nuxt 3 + Vue 3 + TypeScript +- Ant Design Vue +- Tailwind CSS +- i18n(中英文) +- @nuxt/content + +## 网站结构(已确认菜单) +### 一级菜单 +首页、政策要闻、决策咨询、决策参考、专家资讯、智库观察、建言献策、会员服务、翰墨文谈、关于我们 + +### 二级菜单 +1. **政策要闻**:党中央国务院信息、自治区党委政府信息、其他(厅委办)信息、最新发布 +2. **决策咨询**:市县决策、前沿观察、行业资讯、企业动态、研究热点、学术活动、其他汇编 +3. **决策参考**:政策原文、深度解读、研究成果、专题研究、东盟研究、数据服务(会员限制) +4. **专家资讯**:专家视点、专家动态、专家申请(含资料上传审核系统) +5. **智库观察**:智库介绍、智库视角 +6. **建言献策**:后台处理显示,需注册身份 +7. **会员服务**:企业咨询、专项服务 +8. **翰墨文谈**:(独立栏目) +9. **关于我们**:学会简介、组织机构、学会章程、咨询服务、加入我们(含会员申请+资料上传审核) + +## 已有页面 +- app/pages/index.vue(首页,已完成) +- app/pages/news/index.vue(政策要闻列表) +- app/pages/consultation/(决策咨询) +- app/pages/reference/(决策参考) +- app/pages/expert/index.vue(专家资讯列表) +- app/pages/expert/apply.vue(专家申请) +- app/pages/think-tank/(智库观察) +- app/pages/suggestions/(建言献策) +- app/pages/membership/(会员服务) +- app/pages/hanmo/(翰墨文谈) +- app/pages/about/index.vue(关于我们) +- app/pages/about/join/enterprise.vue(企业会员申请) +- app/pages/about/join/personal.vue(个人会员申请) +- app/pages/admin/(后台管理,多个管理页面) + +## 待补充页面(需制作) +- 各栏目的详情页(文章详情) +- 关于我们子页:组织机构、学会章程、咨询服务、资料下载 +- 政策要闻子分类页 +- 专家详情页 +- 个人中心 /profile +- 建言献策提交表单 +- 后台:栏目管理、专家审核、会员审核详情、申请审核系统 + +## 设计风格 +- 主色:深蓝色 #1e3a5f / #0d1b2a +- 强调色:橙色 #f97316 +- 背景:白色卡片 + 浅灰底 +- 风格:政务门户,专业大气 diff --git a/app/components/ArticleListPage.vue b/app/components/ArticleListPage.vue new file mode 100644 index 0000000..9231b49 --- /dev/null +++ b/app/components/ArticleListPage.vue @@ -0,0 +1,368 @@ + + + + + diff --git a/app/config/admin-nav.ts b/app/config/admin-nav.ts index e4e256b..f9a83ca 100644 --- a/app/config/admin-nav.ts +++ b/app/config/admin-nav.ts @@ -1,15 +1,19 @@ import type { Component } from 'vue' import { - AppstoreOutlined, - AuditOutlined, DashboardOutlined, + FileTextOutlined, TeamOutlined, SettingOutlined, - FileTextOutlined, - CustomerServiceOutlined, - ShopOutlined, - GitlabOutlined, - GlobalOutlined, + AuditOutlined, + MessageOutlined, + UserOutlined, + SolutionOutlined, + BankOutlined, + NotificationOutlined, + FolderOutlined, + BookOutlined, + StarOutlined, + FormOutlined, } from '@ant-design/icons-vue' export type AdminNavItem = { @@ -42,63 +46,73 @@ export const adminNav: AdminNavEntry[] = [ icon: DashboardOutlined, to: '/admin', }, - { - key: 'admin-app-review', - label: '应用审核', - icon: AuditOutlined, - badge: 'NEW', - to: '/admin/app-review', - }, - { - key: 'admin-git-review', - label: 'Git 审核', - icon: GitlabOutlined, - to: '/admin/git-review', - }, - { - key: 'admin-apps', - label: '应用管理', - icon: AppstoreOutlined, - children: [ - { key: 'admin-all-apps', label: '全局应用', icon: GlobalOutlined, to: '/admin/all-apps' }, - { key: 'admin-apps-list', label: '我的应用', icon: AppstoreOutlined, to: '/admin/apps' }, - { key: 'admin-market', label: '应用市场', icon: ShopOutlined, to: '/admin/market' }, - ], - }, - { - key: 'admin-users', - label: '用户管理', - icon: TeamOutlined, - children: [ - { key: 'admin-users-list', label: '所有用户', icon: TeamOutlined, to: '/admin/users' }, - { key: 'admin-developers', label: '开发者', icon: TeamOutlined, to: '/admin/developers' }, - ], - }, - { - key: 'admin-tickets', - label: '工单处理', - icon: CustomerServiceOutlined, - to: '/admin/tickets', - }, + // ── 内容管理 ── { key: 'admin-content', label: '内容管理', icon: FileTextOutlined, children: [ { key: 'admin-articles', label: '文章管理', icon: FileTextOutlined, to: '/admin/articles' }, - { key: 'admin-article-categories', label: '文章分类', icon: FileTextOutlined, to: '/admin/article-categories' }, - { key: 'admin-announcements', label: '公告管理', icon: FileTextOutlined, to: '/admin/announcements' }, + { key: 'admin-categories', label: '栏目管理', icon: FolderOutlined, to: '/admin/categories' }, + { key: 'admin-announcements', label: '公告管理', icon: NotificationOutlined, to: '/admin/announcements' }, ], }, + // ── 专家管理 ── { - key: 'admin-tenant', - label: '租户管理', - icon: ShopOutlined, - to: '/admin/tenants', + key: 'admin-experts', + label: '专家管理', + icon: StarOutlined, + children: [ + { key: 'admin-experts-list', label: '专家列表', icon: SolutionOutlined, to: '/admin/experts' }, + { key: 'admin-experts-review', label: '专家审核', icon: AuditOutlined, to: '/admin/experts/review', }, + ], }, + // ── 会员管理 ── + { + key: 'admin-members', + label: '会员管理', + icon: BankOutlined, + children: [ + { key: 'admin-members-list', label: '会员列表', icon: TeamOutlined, to: '/admin/members' }, + { key: 'admin-members-review', label: '会员审核', icon: AuditOutlined, to: '/admin/members/review' }, + ], + }, + // ── 建言献策 ── + { + key: 'admin-suggestions', + label: '建言献策', + icon: MessageOutlined, + to: '/admin/suggestions', + badge: 'NEW', + }, + // ── 用户管理 ── + { + key: 'admin-users', + label: '用户管理', + icon: UserOutlined, + to: '/admin/users', + }, + // ── 资料下载 ── + { + key: 'admin-downloads', + label: '资料下载管理', + icon: BookOutlined, + to: '/admin/downloads', + }, + // ── 申请管理 ── + { + key: 'admin-applications', + label: '申请管理', + icon: FormOutlined, + children: [ + { key: 'admin-expert-applications', label: '专家申请', icon: SolutionOutlined, to: '/admin/applications/expert' }, + { key: 'admin-member-applications', label: '会员申请', icon: TeamOutlined, to: '/admin/applications/member' }, + ], + }, + // ── 系统设置 ── { key: 'admin-settings', - label: '平台设置', + label: '系统设置', icon: SettingOutlined, to: '/admin/settings', }, diff --git a/app/error.vue b/app/error.vue new file mode 100644 index 0000000..8500289 --- /dev/null +++ b/app/error.vue @@ -0,0 +1,236 @@ + + + + + diff --git a/app/layouts/admin.vue b/app/layouts/admin.vue index 09052c1..31ace5d 100644 --- a/app/layouts/admin.vue +++ b/app/layouts/admin.vue @@ -15,7 +15,7 @@ @@ -79,15 +79,15 @@
- 管理员 + 决策咨询网 {{ currentPageTitle }}
- - + + - 控制台 + 网站首页 @@ -106,18 +106,14 @@ 账户信息 - - - 我的订单 - - + - 实名认证 + 个人信息 - - - 开发者中心 + + + 查看网站 @@ -145,14 +141,12 @@ diff --git a/app/pages/about/consultation.vue b/app/pages/about/consultation.vue new file mode 100644 index 0000000..3c24af1 --- /dev/null +++ b/app/pages/about/consultation.vue @@ -0,0 +1,7 @@ + + + diff --git a/app/pages/about/index.vue b/app/pages/about/index.vue index a1372ea..e4923a9 100644 --- a/app/pages/about/index.vue +++ b/app/pages/about/index.vue @@ -1,105 +1,256 @@ @@ -108,86 +259,590 @@ useHead({ title: '关于我们 - 决策咨询网' }) const route = useRoute() -const currentSection = ref((route.query.section as string) || 'intro') -watch(() => route.query.section, (newSection) => { - currentSection.value = (newSection as string) || 'intro' +const navItems = [ + { key: 'intro', label: '学会简介', icon: '🏛️' }, + { key: 'organization', label: '组织机构', icon: '🔧' }, + { key: 'charter', label: '学会章程', icon: '📋' }, + { key: 'consultation', label: '咨询服务', icon: '💼' }, + { key: 'join', label: '加入我们', icon: '🤝' }, +] + +// 根据路由path判断当前section +const sectionMap: Record = { + '/about': 'intro', + '/about/organization': 'organization', + '/about/charter': 'charter', + '/about/consultation': 'consultation', + '/about/join': 'join', +} + +const currentSection = ref( + route.query.section as string || + sectionMap[route.path] || + 'intro' +) + +function switchSection(key: string) { + currentSection.value = key +} + +watch(() => route.path, (newPath) => { + currentSection.value = sectionMap[newPath] || 'intro' }) + +watch(() => route.query.section, (sec) => { + if (sec) currentSection.value = sec as string +}) + +const mainFunctions = [ + { icon: '🔬', title: '决策咨询研究', desc: '围绕广西经济社会发展重大问题,开展战略性、综合性、前瞻性研究' }, + { icon: '📝', title: '政策建议提供', desc: '为各级政府提供有参考价值的政策建议和咨询报告' }, + { icon: '👥', title: '专家交流合作', desc: '搭建区内外专家学者交流合作平台,推动学术思想碰撞' }, + { icon: '📡', title: '成果宣传推广', desc: '多渠道发布和推广决策咨询研究成果,服务社会各界' }, +] + +const leaders = [ + { name: '陈某某', position: '会长' }, + { name: '李某某', position: '副会长' }, + { name: '王某某', position: '副会长' }, + { name: '张某某', position: '秘书长' }, +] + +const committeeMembers = ['张教授', '李研究员', '王专家', '刘学者', '赵教授', '黄学者', '林研究员', '吴教授'] + +const charter = [ + { + title: '第一章 总则', + items: [ + '广西决策咨询学会是由全区从事决策咨询研究的专家学者和实际工作者自愿组成的学术性、非营利性社会组织。', + '学会的宗旨是:以服务党政决策为核心使命,汇聚全区高端智慧,围绕经济社会发展重大问题开展研究,为科学决策提供智力支撑。', + ] + }, + { + title: '第二章 业务范围', + items: [ + '开展决策咨询理论与应用研究,撰写决策咨询报告。', + '组织学术交流、研讨会议等活动,促进学科发展。', + '为政府机构、企事业单位提供专业决策咨询服务。', + '培养决策咨询专业人才,开展业务培训。', + ] + }, + { + title: '第三章 会员', + items: [ + '凡符合本章程规定,经申请并经理事会审议通过,即为本学会会员。', + '会员分为单位会员(企业会员)和个人会员两类。', + '会员有权出席会员大会,参与学会活动,享受学会提供的服务和资源。', + ] + }, +] + +const consultationServices = [ + { icon: '🎯', title: '政策研究', desc: '深入研究党中央国务院及自治区重要政策,提供权威解读和实施建议', tags: ['政策解读', '战略规划'] }, + { icon: '🗺️', title: '规划咨询', desc: '为地方政府、园区和企业提供区域规划、产业规划、专项规划编制咨询', tags: ['区域规划', '产业规划'] }, + { icon: '📊', title: '项目评估', desc: '对重大投资项目开展可行性研究、风险评估和后评价服务', tags: ['可行性研究', '风险评估'] }, + { icon: '🔍', title: '专题调研', desc: '根据委托需求开展实地调研,形成翔实的调研报告和对策建议', tags: ['实地调研', '对策建议'] }, +] diff --git a/app/pages/about/organization.vue b/app/pages/about/organization.vue new file mode 100644 index 0000000..ef400c6 --- /dev/null +++ b/app/pages/about/organization.vue @@ -0,0 +1,8 @@ + + + diff --git a/app/pages/admin/applications/expert.vue b/app/pages/admin/applications/expert.vue new file mode 100644 index 0000000..9f8c62c --- /dev/null +++ b/app/pages/admin/applications/expert.vue @@ -0,0 +1,220 @@ + + + + + diff --git a/app/pages/admin/applications/member.vue b/app/pages/admin/applications/member.vue new file mode 100644 index 0000000..de709f4 --- /dev/null +++ b/app/pages/admin/applications/member.vue @@ -0,0 +1,186 @@ + + + + + diff --git a/app/pages/admin/categories.vue b/app/pages/admin/categories.vue new file mode 100644 index 0000000..f834a4d --- /dev/null +++ b/app/pages/admin/categories.vue @@ -0,0 +1,334 @@ + + + + + diff --git a/app/pages/admin/downloads.vue b/app/pages/admin/downloads.vue new file mode 100644 index 0000000..eed1ca7 --- /dev/null +++ b/app/pages/admin/downloads.vue @@ -0,0 +1,244 @@ + + + + + diff --git a/app/pages/admin/experts/review.vue b/app/pages/admin/experts/review.vue new file mode 100644 index 0000000..a83a73c --- /dev/null +++ b/app/pages/admin/experts/review.vue @@ -0,0 +1,337 @@ + + + + + diff --git a/app/pages/admin/members/review.vue b/app/pages/admin/members/review.vue new file mode 100644 index 0000000..3ddfea9 --- /dev/null +++ b/app/pages/admin/members/review.vue @@ -0,0 +1,324 @@ + + + + + diff --git a/app/pages/admin/settings.vue b/app/pages/admin/settings.vue index 75f5177..f77938d 100644 --- a/app/pages/admin/settings.vue +++ b/app/pages/admin/settings.vue @@ -2,14 +2,14 @@
- +
- +
- + + - + + + + + + + - - - - - - - + - -