# quotation-frontend **Repository Path**: cold_2430_0/quotation-frontend ## Basic Information - **Project Name**: quotation-frontend - **Description**: 123435453453 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-23 - **Last Updated**: 2026-03-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 报价管理系统前端 > 基于 Vue 3 + TypeScript + Element Plus 构建的企业级报价管理前端应用 ## 项目简介 quotation-front 是一个现代化的报价管理系统前端项目,采用 Vue 3 组合式 API 开发,支持动态路由、权限控制、多主题切换等功能。系统集成了报价管理、客户管理、项目管理、数据分析等多个业务模块。 ## 技术栈 - **框架**: Vue 3.4+ (Composition API) - **语言**: TypeScript 5.x - **UI 组件库**: Element Plus - **状态管理**: Pinia - **路由**: Vue Router 4 - **构建工具**: Vite 5.x - **图表库**: ECharts - **样式**: SCSS + Tailwind CSS ## 功能特性 ### 核心功能 - 👤 **用户管理** - 系统用户 CRUD、角色权限分配 - 🔐 **认证授权** - 基于指令的权限控制、路由守卫 - 📊 **仪表盘** - 数据可视化、销售概览、动态统计 - 💰 **报价管理** - 报价单编辑、项目报价、版本对比 - 👥 **客户中心** - 客户信息管理、转化跟踪 - 📁 **项目管理** - 项目分类、项目库管理 - 📈 **数据分析** - 签订分析、效率统计 ### 系统特性 - 🎨 **多主题** - 支持亮色、暗色、系统主题切换 - 📐 **多布局** - 侧边栏、混合、水平等多种布局模式 - 🔔 **通知系统** - 站内通知、锁屏提醒 - 🔍 **全局搜索** - 快速定位菜单和功能 - 🧩 **工作标签页** - 多标签页切换、状态保持 - 💾 **数据持久化** - 本地存储兼容处理 ## 项目结构 ``` src/ ├── api/ # API 接口定义 ├── assets/ # 静态资源 │ ├── images/ # 图片资源 │ └── styles/ # 样式文件 ├── components/ # 组件库 │ └── core/ # 核心业务组件 │ ├── banners/ # 横幅组件 │ ├── base/ # 基础组件 │ ├── cards/ # 卡片组件 │ ├── charts/ # 图表组件 │ ├── forms/ # 表单组件 │ ├── layouts/ # 布局组件 │ ├── media/ # 媒体组件 │ ├── tables/ # 表格组件 │ └── ... ├── config/ # 配置文件 ├── directives/ # 指令 (auth, roles, highlight, ripple) ├── enums/ # 枚举定义 ├── hooks/ # 组合式函数 ├── locales/ # 国际化资源 ├── mock/ # 模拟数据 ├── plugins/ # 插件配置 ├── router/ # 路由配置 │ ├── guards/ # 路由守卫 │ ├── modules/ # 路由模块 │ └── core/ # 路由核心 ├── store/ # Pinia 状态管理 ├── types/ # TypeScript 类型定义 ├── utils/ # 工具函数 └── views/ # 页面视图 ├── auth/ # 认证相关 ├── dashboard/ # 仪表盘 ├── exception/ # 异常页面 ├── quotation/ # 报价管理 ├── result/ # 结果页面 └── system/ # 系统管理 ``` ## 快速开始 ### 环境要求 - Node.js 18+ - pnpm 8+ ### 安装依赖 ```bash # 安装 pnpm (如未安装) npm install -g pnpm # 安装项目依赖 pnpm install ``` ### 开发模式 ```bash # 启动开发服务器 pnpm dev ``` ### 构建生产版本 ```bash # 构建生产版本 pnpm build ``` ### 代码检查 ```bash # 运行 ESLint pnpm lint # 运行 Prettier 格式化 pnpm prettier # 运行 stylelint pnpm stylelint ``` ## 配置说明 ### 环境变量 项目根目录下的 `.env` 文件: | 变量名 | 说明 | |--------|------| | `VITE_API_URL` | API 接口地址 | | `VITE_PORT` | 开发服务器端口 | ### 主题配置 通过设置面板可动态调整: - 主题模式:亮色/暗色/跟随系统 - 侧边栏样式:深色/浅色/设计感 - 菜单布局:侧边栏/混合/水平/双栏 ## 组件使用 ### 表格组件 ```vue ``` ### 图表组件 ```vue ``` ### 表单组件 ```vue ``` ## 权限控制 ### 路由权限 通过后端返回菜单数据动态生成路由,配合路由守卫进行权限校验。 ### 按钮级权限 使用自定义指令控制元素显示: ```vue ``` ## 国际化 支持中英文切换,默认语言根据浏览器设置自动适配。 ```typescript // 切换语言 import { useI18n } from 'vue-i18n'; const { locale } = useI18n(); locale.value = 'en'; ``` ## 浏览器支持 - Chrome >= 90 - Firefox >= 88 - Safari >= 14 - Edge >= 90 ## 贡献指南 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/xxx`) 3. 提交更改 (`git commit -m 'feat: add xxx'`) 4. 推送分支 (`git push origin feature/xxx`) 5. 创建 Pull Request ## License MIT License