feat(web): 引入 Vite 前端应用并扩展仓库忽略规则

将整套 web 源码纳入仓库,并为 web/node_modules、构建产物及本地环境文件配置 .gitignore,同时移除占位用的 assets/.gitkeep。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
caopeng
2026-05-17 15:22:29 +08:00
parent 759637dba2
commit a254aae503
161 changed files with 69862 additions and 11 deletions

View File

@@ -0,0 +1,42 @@
// <!-- 员工管理模块 -->
import request from '../../utils/request'
// 获取员工列表
export function getTablist(data) {
return request(
{
url: "/employee/list",
method: 'post',
data
})
}
// 创建员工
export function addTablist(data) {
return request(
{
url: "/employee/create",
method: 'post',
data
})
}
// 更新员工
export function updateTablist(data) {
return request(
{
url: "/employee/update" ,
method: 'put',
data
})
}
// 删除员工
export function delTablist(data) {
return request({
url: "/employee/delete",
method: 'delete',
data
});
}

View File

@@ -0,0 +1,41 @@
// <!-- 厂区管理模块 -->
import request from '../../utils/request'
// 获取厂区列表
export function getTablist(data) {
return request(
{
url: "/factory_area/list",
method: 'post',
data
})
}
// 创建厂区
export function addTablist(data) {
return request(
{
url: "/factory_area/create",
method: 'post',
data
})
}
// 更新厂区
export function updateTablist(data) {
return request(
{
url: "/factory_area/update" ,
method: 'put',
data
})
}
// 删除厂区
export function delTablist(data) {
return request({
url: "/factory_area/delete",
method: 'delete',
data
});
}

View File

@@ -0,0 +1,10 @@
import request from "../../utils/request";
/** 操作日志列表(游标分页) POST /log/list */
export function getLogList(data) {
return request({
url: "/log/list",
method: "post",
data,
});
}

View File

@@ -0,0 +1,174 @@
// <!-- 角色管理模块 -->
import request from '../../utils/request'
import { getApiBaseUrl } from '../../utils/config'
// 获取角色列表
export function getTablist(data) {
return request(
{
url: "/role/list",
method: 'post',
data
})
}
// 创建角色
export function addTablist(data) {
return request(
{
url: "/role/create",
method: 'post',
data
})
}
// 更新角色
export function updateTablist(data) {
return request(
{
url: "/role/update" ,
method: 'put',
data
})
}
// 删除角色
export function delTablist(data) {
return request({
url: "/role/delete",
method: 'delete',
data
});
}
// 获取用户所在部门的所有角色
export function getBuUidList(data) {
return request(
{
url: "/role/get-by-uid",
method: 'post',
data
})
}
// 根据当前的id获取配置页面权限
export function getPermissionPage(data) {
return request(
{
url: "/role/info",
method: 'post',
data
})
}
// 根据当前的id获取高级表头字段权限
export function getPermissionHigh(data) {
return request(
{
url: "/role/advanced/list",
method: 'post',
data
})
}
// 保存高级表头字段权限
export function savePermissionHigh(data) {
return request(
{
url: "/role/advanced/update",
method: 'post',
data
})
}
// 不同用户不同的页面权限
export function getPermisssionPage(data) {
return request(
{
url: "/permission/page",
method: 'post',
data
})
}
// 下载角色导入模板(无参数,返回 blob
export function getRoleTemplate() {
return request({
url: "/role/template",
method: 'post',
responseType: 'blob'
})
}
// 导出角色数据,参数:{ search, filter, ids? },返回 blob一次性
export function exportRole(data) {
return request({
url: "/role/export",
method: 'post',
data,
responseType: 'blob'
})
}
/**
* 流式导出角色数据:返回原生 fetch Response调用方用 response.body.getReader() 流式读取
* 参数:{ search, filter, ids? }ids 不传或为空时按 search+filter 导出全部
*/
export function exportRoleStream(data) {
const baseURL = (typeof getApiBaseUrl === 'function' ? getApiBaseUrl() : null) || '';
const url = `${baseURL.replace(/\/+$/, '')}/role/export`;
const token = typeof localStorage !== 'undefined' ? localStorage.getItem('token') : '';
const uid = typeof localStorage !== 'undefined' ? localStorage.getItem('uid') : '';
const language = typeof localStorage !== 'undefined' ? localStorage.getItem('language') || 'zh-CN' : 'zh-CN';
const headers = {
'Content-Type': 'application/json',
'Accept-Language': language
};
if (token) {
headers.token = token;
headers.Authorization = `Bearer ${token}`;
}
if (uid) headers.uid = uid;
return fetch(url, {
method: 'post',
headers,
body: JSON.stringify(data)
});
}
/**
* 上传文件(解析模板):传入 FormData包含 file 字段),成功返回 { filename, import_type }
*/
export function uploadole(formData) {
return request({
url: "/role/upload",
method: 'post',
data: formData,
});
}
/**
* 导入文件 参数filename和import_typeadd,update)
*/
export function importRole(data) {
return request({
url: "/role/import",
method: 'post',
data
});
}
/**
* 下载错误信息,参数 { filename },返回 blob 文件流
*/
export function downloadErrorRole(data) {
return request({
url: "/import/error_file/download",
method: 'post',
data,
responseType: 'blob',
});
}

View File

@@ -0,0 +1,41 @@
// <!-- 信息机管理模块 -->
import request from '../../utils/request'
// 获取信息机列表
export function getTablist(data) {
return request(
{
url: "/information_machine/list",
method: 'post',
data
})
}
// 创建信息机
export function addTablist(data) {
return request(
{
url: "/information_machine/create",
method: 'post',
data
})
}
// 更新信息机
export function updateTablist(data) {
return request(
{
url: "/information_machine/update" ,
method: 'put',
data
})
}
// 删除信息机
export function delTablist(data) {
return request({
url: "/information_machine/delete",
method: 'delete',
data
});
}

View File

@@ -0,0 +1,95 @@
// <!-- 用户管理模块 -->
import request from '../../utils/request'
import { getApiBaseUrl } from '../../utils/config'
// 获取用户列表
export function getTablist(data) {
return request(
{
url: "/user/list",
method: 'post',
data
})
}
// 创建用户
export function addTablist(data) {
return request(
{
url: "/user/create",
method: 'post',
data
})
}
// 更新用户
export function updateTablist(data) {
return request(
{
url: "/user/update" ,
method: 'put',
data
})
}
// 删除用户
export function delTablist(data) {
return request({
url: "/user/delete",
method: 'delete',
data
});
}
// 登录接口
export function userLogin(data) {
return request(
{
url: "/login",
method: 'post',
data
})
}
// 下载用户导入模板(无参数,返回 blob
export function getUserTemplate() {
return request({
url: "/user/template",
method: 'post',
responseType: 'blob'
})
}
// 导出用户数据
export function exportUser(data) {
return request({
url: "/user/export",
method: 'post',
data,
responseType: 'blob'
})
}
export function exportRoleStream(data) {
const baseURL = (typeof getApiBaseUrl === 'function' ? getApiBaseUrl() : null) || '';
const url = `${baseURL.replace(/\/+$/, '')}/role/export`;
const token = typeof localStorage !== 'undefined' ? localStorage.getItem('token') : '';
const uid = typeof localStorage !== 'undefined' ? localStorage.getItem('uid') : '';
const language = typeof localStorage !== 'undefined' ? localStorage.getItem('language') || 'zh-CN' : 'zh-CN';
const headers = {
'Content-Type': 'application/json',
'Accept-Language': language
};
if (token) {
headers.token = token;
headers.Authorization = `Bearer ${token}`;
}
if (uid) headers.uid = uid;
return fetch(url, {
method: 'post',
headers,
body: JSON.stringify(data)
});
}