# 企业工单管理 **Repository Path**: hanwu35/XC ## Basic Information - **Project Name**: 企业工单管理 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-16 - **Last Updated**: 2026-01-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # XC 工单系统 基于 Vue 3 + Vite(前端)和 Node.js + Express + Sequelize + SQLite(后端)的工单管理系统。 本说明重点:**如何把整个项目复制到另一台设备,并确保数据(工单/用户等)可以保留且正常运行。** ## 一、环境要求 - 操作系统:Windows - 已安装: - Node.js(推荐 20+,项目已在 Node 22.x 下验证) - npm(随 Node.js 一起安装) - 默认端口: - 前端:`http://localhost:5173` - 后端:`http://localhost:3000` --- ## 二、数据存储说明 - 所有业务数据(用户、角色、工单、日志等)都存储在 **SQLite 文件** 中: - 路径:`server/database.sqlite` - 只要在拷贝项目时包含这个文件,新设备上就能继续使用原来的数据; 如果缺失该文件,则后端在首次启动时会自动创建新的数据库并初始化演示数据。 --- ## 三、项目目录结构概览 只列出与部署相关的关键部分: - `src/`:前端代码(Vue 3 + Vite) - `server/`:后端代码(Express + Sequelize) - `src/app.js`:后端入口 - `src/models/`:数据模型 - `database.sqlite`:SQLite 数据库文件(重要,存放所有记录) - `package.json`:后端依赖 - `package.json`(根目录):前端依赖 - `setup_new_device.bat`:新设备初始化启动器(调用 PowerShell 脚本) - `setup_new_device.ps1`:新设备初始化脚本(执行依赖安装、检查数据库文件) --- ## 四、在新设备上部署(保留已有数据) ### 1. 从旧设备拷贝项目 1. 在旧设备上,将整个项目根目录(例如 `xc` 文件夹)**整体压缩或拷贝**。 2. **务必确保包含文件**:`server/database.sqlite` 这是数据文件,缺少它就会丢失当前系统数据。 ### 2. 在新设备上解压项目 假设你解压到:`D:\xc` 项目结构类似: - `D:\xc\src\...` - `D:\xc\server\...` - `D:\xc\server\database.sqlite` - `D:\xc\setup_new_device.bat` - `D:\xc\setup_new_device.ps1` ### 3. 使用初始化脚本安装依赖 1. 打开 **PowerShell**(不是 cmd)。 2. 切换到项目根目录: ```powershell cd "D:\xc" ``` 3. 运行初始化脚本: ```powershell .\setup_new_device.bat ``` 该脚本会自动: - 在项目根目录执行:`npm install`(安装前端依赖) - 在 `server` 目录执行:`npm install`(安装后端依赖) - 检查 `server/database.sqlite` 是否存在: - 如果存在:提示“已找到现有 database.sqlite,数据记录将被保留” - 如果不存在:提示“后端首次启动时会自动创建并初始化演示数据” ### 4. 解决 PowerShell 执行策略问题 如果运行时提示因执行策略(ExecutionPolicy)阻止脚本: 1. 用管理员权限打开 PowerShell。 2. 执行: ```powershell Set-ExecutionPolicy RemoteSigned -Scope CurrentUser ``` 3. 重新回到项目根目录: ```powershell cd "D:\xc" .\setup_new_device.bat ``` --- ## 五、启动前后端服务 初始化脚本只负责 **安装依赖 + 检查/保留数据库**,启动服务建议你手动执行以下命令: ### 1. 启动后端(API 服务) 在 PowerShell 中: ```powershell cd "D:\xc\server" node src/app.js ``` 成功后控制台会显示类似: - `Checking and seeding data...` - `Seeding check completed.` - `Server is running on port 3000` ### 2. 启动前端(Web 界面) 在另一个 PowerShell 窗口中: ```powershell cd "D:\xc" npm run dev ``` Vite 会启动开发服务器,终端会提示访问地址,例如: - `http://localhost:5173` 用浏览器打开这个地址即可访问系统。 --- ## 六、首个登录账号(如果是新数据库) 如果是**首次启动**且没有携带原 `database.sqlite`,系统会自动初始化一组演示账号,默认密码均为: - 密码:`123456` 常用账号示例: - 管理员: - 用户名:`admin` - 密码:`123456` - 普通员工: - 用户名:`employee` - 密码:`123456` - 工单处理人: - 用户名:`handler` - 密码:`123456` 这里如果原数据被备份到你的设备了,可以用这些账号,他们经过了各自的职责的测试 员工 user1,user2,user 123or1234 管理员 manager 123 处理人 maker 123 如果你是带着旧设备的 `database.sqlite` 一起迁移过来的,登录时应使用你自己原来设置或创建的账号。 --- ## 七、在同一设备上重新安装依赖 如果只是换了 Node 版本、清空了 `node_modules`,需要重新安装依赖,可以直接在项目根目录执行: ```powershell cd "D:\xc" .\setup_new_device.bat ``` 或者手动: ```powershell cd "D:\xc" npm install cd "D:\xc\server" npm install ``` 数据仍然保存在 `server/database.sqlite` 中,不会因为重新安装依赖而丢失。