@ -1,8 +0,0 @@ |
|||
# Default ignored files |
|||
/shelf/ |
|||
/workspace.xml |
|||
# Editor-based HTTP Client requests |
|||
/httpRequests/ |
|||
# Datasource local storage ignored files |
|||
/dataSources/ |
|||
/dataSources.local.xml |
@ -1,9 +0,0 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<module type="JAVA_MODULE" version="4"> |
|||
<component name="NewModuleRootManager" inherit-compiler-output="true"> |
|||
<exclude-output /> |
|||
<content url="file://$MODULE_DIR$" /> |
|||
<orderEntry type="inheritedJdk" /> |
|||
<orderEntry type="sourceFolder" forTests="false" /> |
|||
</component> |
|||
</module> |
@ -1,6 +0,0 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<project version="4"> |
|||
<component name="ProjectRootManager"> |
|||
<output url="file://$PROJECT_DIR$/out" /> |
|||
</component> |
|||
</project> |
@ -1,8 +0,0 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<project version="4"> |
|||
<component name="ProjectModuleManager"> |
|||
<modules> |
|||
<module fileurl="file://$PROJECT_DIR$/.idea/hand_device.iml" filepath="$PROJECT_DIR$/.idea/hand_device.iml" /> |
|||
</modules> |
|||
</component> |
|||
</project> |
@ -1,6 +0,0 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<project version="4"> |
|||
<component name="VcsDirectoryMappings"> |
|||
<mapping directory="" vcs="Git" /> |
|||
</component> |
|||
</project> |
@ -0,0 +1,9 @@ |
|||
# 电子锁 |
|||
|
|||
## tracup |
|||
|
|||
[手持表 Tracup 地址](https://www.tracup.com/projects/16e1f1fea4b1aadc5373f3bd908de636/list) |
|||
|
|||
## 原型图 |
|||
|
|||
[手持表后台管理系统产品原型](https://tubzzb.axshare.com/) |
@ -0,0 +1,101 @@ |
|||
# 依赖目录 |
|||
node_modules/ |
|||
.pnpm-store/ |
|||
|
|||
# 构建输出 |
|||
dist/ |
|||
dist-ssr/ |
|||
build/ |
|||
*.local |
|||
|
|||
# 缓存文件 |
|||
.cache/ |
|||
.parcel-cache/ |
|||
.vite/ |
|||
.eslintcache |
|||
.stylelintcache |
|||
|
|||
# 日志文件 |
|||
*.log |
|||
npm-debug.log* |
|||
yarn-debug.log* |
|||
yarn-error.log* |
|||
pnpm-debug.log* |
|||
lerna-debug.log* |
|||
|
|||
# 运行时数据 |
|||
pids |
|||
*.pid |
|||
*.seed |
|||
*.pid.lock |
|||
|
|||
# 覆盖率目录 |
|||
coverage/ |
|||
*.lcov |
|||
.nyc_output |
|||
|
|||
# 依赖锁定文件 |
|||
package-lock.json |
|||
yarn.lock |
|||
pnpm-lock.yaml |
|||
|
|||
# 环境变量文件 |
|||
.env |
|||
.env.local |
|||
.env.development.local |
|||
.env.test.local |
|||
.env.production.local |
|||
|
|||
# IDE和编辑器 |
|||
.vscode/ |
|||
.idea/ |
|||
*.swp |
|||
*.swo |
|||
*~ |
|||
|
|||
# 操作系统生成的文件 |
|||
.DS_Store |
|||
.DS_Store? |
|||
._* |
|||
.Spotlight-V100 |
|||
.Trashes |
|||
ehthumbs.db |
|||
Thumbs.db |
|||
|
|||
# 临时文件 |
|||
*.tmp |
|||
*.temp |
|||
.tmp/ |
|||
.temp/ |
|||
|
|||
# 测试相关 |
|||
.nyc_output/ |
|||
coverage/ |
|||
*.test.js |
|||
*.spec.js |
|||
|
|||
# 自动生成的文件 |
|||
auto-*.d.ts |
|||
components.d.ts |
|||
auto-imports.d.ts |
|||
|
|||
# 历史记录 |
|||
.history/ |
|||
|
|||
# 调试文件 |
|||
.vscode/ |
|||
*.code-workspace |
|||
|
|||
# 本地配置文件 |
|||
.vscode/settings.json |
|||
.vscode/launch.json |
|||
.vscode/extensions.json |
|||
|
|||
# 包管理器文件 |
|||
.npmrc |
|||
.yarnrc |
|||
.yarnrc.yml |
|||
|
|||
# 其他 |
|||
*.tgz |
|||
*.tar.gz |
@ -0,0 +1,30 @@ |
|||
NODE_ENV=production |
|||
|
|||
VITE_DEV=true |
|||
|
|||
# 请求路径 |
|||
VITE_BASE_URL='https://mobile.zdhlcn.com' |
|||
|
|||
# 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持S3服务 |
|||
VITE_UPLOAD_TYPE=server |
|||
|
|||
# 接口地址 |
|||
VITE_API_URL=/admin-api |
|||
|
|||
# 是否删除debugger |
|||
VITE_DROP_DEBUGGER=false |
|||
|
|||
# 是否删除console.log |
|||
VITE_DROP_CONSOLE=false |
|||
|
|||
# 是否sourcemap |
|||
VITE_SOURCEMAP=true |
|||
|
|||
# 打包路径 |
|||
VITE_BASE_PATH=/ |
|||
|
|||
# 输出路径 |
|||
VITE_OUT_DIR=dist |
|||
|
|||
# TAURI启动标记 |
|||
VITE_IS_TAURI=true |
@ -1,18 +0,0 @@ |
|||
{ |
|||
"recommendations": [ |
|||
"christian-kohler.path-intellisense", |
|||
"vscode-icons-team.vscode-icons", |
|||
"davidanson.vscode-markdownlint", |
|||
"dbaeumer.vscode-eslint", |
|||
"esbenp.prettier-vscode", |
|||
"mrmlnc.vscode-less", |
|||
"lokalise.i18n-ally", |
|||
"redhat.vscode-yaml", |
|||
"csstools.postcss", |
|||
"mikestead.dotenv", |
|||
"eamodio.gitlens", |
|||
"antfu.iconify", |
|||
"antfu.unocss", |
|||
"Vue.volar" |
|||
] |
|||
} |
@ -1,16 +0,0 @@ |
|||
{ |
|||
// Use IntelliSense to learn about possible attributes. |
|||
// Hover to view descriptions of existing attributes. |
|||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 |
|||
"version": "0.2.0", |
|||
"configurations": [ |
|||
{ |
|||
"type": "msedge", |
|||
"request": "launch", |
|||
"name": "Launch Edge against localhost", |
|||
"url": "http://localhost", |
|||
"webRoot": "${workspaceFolder}/src", |
|||
"sourceMaps": true |
|||
} |
|||
] |
|||
} |
@ -1,146 +0,0 @@ |
|||
{ |
|||
"typescript.tsdk": "node_modules/typescript/lib", |
|||
"npm.packageManager": "pnpm", |
|||
"editor.tabSize": 2, |
|||
"prettier.printWidth": 100, // 超过最大值换行 |
|||
"editor.defaultFormatter": "esbenp.prettier-vscode", |
|||
"files.eol": "\n", |
|||
"search.exclude": { |
|||
"**/node_modules": true, |
|||
"**/*.log": true, |
|||
"**/*.log*": true, |
|||
"**/bower_components": true, |
|||
"**/dist": true, |
|||
"**/elehukouben": true, |
|||
"**/.git": true, |
|||
"**/.gitignore": true, |
|||
"**/.svn": true, |
|||
"**/.DS_Store": true, |
|||
"**/.idea": true, |
|||
"**/.vscode": false, |
|||
"**/yarn.lock": true, |
|||
"**/tmp": true, |
|||
"out": true, |
|||
"dist": true, |
|||
"node_modules": true, |
|||
"CHANGELOG.md": true, |
|||
"examples": true, |
|||
"res": true, |
|||
"screenshots": true, |
|||
"yarn-error.log": true, |
|||
"**/.yarn": true |
|||
}, |
|||
"files.exclude": { |
|||
"**/.cache": true, |
|||
"**/.editorconfig": true, |
|||
"**/.eslintcache": true, |
|||
"**/bower_components": true, |
|||
"**/.idea": true, |
|||
"**/tmp": true, |
|||
"**/.git": true, |
|||
"**/.svn": true, |
|||
"**/.hg": true, |
|||
"**/CVS": true, |
|||
"**/.DS_Store": true |
|||
}, |
|||
"files.watcherExclude": { |
|||
"**/.git/objects/**": true, |
|||
"**/.git/subtree-cache/**": true, |
|||
"**/.vscode/**": true, |
|||
"**/node_modules/**": true, |
|||
"**/tmp/**": true, |
|||
"**/bower_components/**": true, |
|||
"**/dist/**": true, |
|||
"**/yarn.lock": true |
|||
}, |
|||
"stylelint.enable": true, |
|||
"stylelint.validate": ["css", "less", "postcss", "scss", "vue", "sass"], |
|||
"path-intellisense.mappings": { |
|||
"@/": "${workspaceRoot}/src" |
|||
}, |
|||
"[javascriptreact]": { |
|||
"editor.defaultFormatter": "esbenp.prettier-vscode" |
|||
}, |
|||
"[typescript]": { |
|||
"editor.defaultFormatter": "esbenp.prettier-vscode" |
|||
}, |
|||
"[typescriptreact]": { |
|||
"editor.defaultFormatter": "esbenp.prettier-vscode" |
|||
}, |
|||
"[html]": { |
|||
"editor.defaultFormatter": "esbenp.prettier-vscode" |
|||
}, |
|||
"[css]": { |
|||
"editor.defaultFormatter": "esbenp.prettier-vscode" |
|||
}, |
|||
"[less]": { |
|||
"editor.defaultFormatter": "esbenp.prettier-vscode" |
|||
}, |
|||
"[scss]": { |
|||
"editor.defaultFormatter": "esbenp.prettier-vscode" |
|||
}, |
|||
"[markdown]": { |
|||
"editor.defaultFormatter": "esbenp.prettier-vscode" |
|||
}, |
|||
"editor.codeActionsOnSave": { |
|||
"source.fixAll.eslint": "explicit", |
|||
"source.fixAll.stylelint": "explicit" |
|||
}, |
|||
"editor.formatOnSave": true, |
|||
"[vue]": { |
|||
"editor.defaultFormatter": "esbenp.prettier-vscode" |
|||
}, |
|||
"i18n-ally.localesPaths": ["src/locales"], |
|||
"i18n-ally.keystyle": "nested", |
|||
"i18n-ally.sortKeys": true, |
|||
"i18n-ally.namespace": false, |
|||
"i18n-ally.enabledParsers": ["ts"], |
|||
"i18n-ally.sourceLanguage": "en", |
|||
"i18n-ally.displayLanguage": "zh-CN", |
|||
"i18n-ally.enabledFrameworks": ["vue", "react"], |
|||
"cSpell.words": [ |
|||
"brotli", |
|||
"browserslist", |
|||
"codemirror", |
|||
"commitlint", |
|||
"cropperjs", |
|||
"echart", |
|||
"echarts", |
|||
"esnext", |
|||
"esno", |
|||
"iconify", |
|||
"INTLIFY", |
|||
"lintstagedrc", |
|||
"logicflow", |
|||
"nprogress", |
|||
"pinia", |
|||
"pnpm", |
|||
"qrcode", |
|||
"sider", |
|||
"sortablejs", |
|||
"stylelint", |
|||
"svgs", |
|||
"unocss", |
|||
"unplugin", |
|||
"unref", |
|||
"videojs", |
|||
"VITE", |
|||
"vitejs", |
|||
"vueuse", |
|||
"wangeditor", |
|||
"xingyu", |
|||
"yudao", |
|||
"zxcvbn" |
|||
], |
|||
// 控制相关文件嵌套展示 |
|||
"explorer.fileNesting.enabled": true, |
|||
"explorer.fileNesting.expand": false, |
|||
"explorer.fileNesting.patterns": { |
|||
"*.ts": "$(capture).test.ts, $(capture).test.tsx", |
|||
"*.tsx": "$(capture).test.ts, $(capture).test.tsx", |
|||
"*.env": "$(capture).env.*", |
|||
"package.json": "pnpm-lock.yaml,yarn.lock,LICENSE,README*,CHANGELOG*,CNAME,.gitattributes,.eslintrc-auto-import.json,.gitignore,prettier.config.js,stylelint.config.js,commitlint.config.js,.stylelintignore,.prettierignore,.gitpod.yml,.eslintrc.js,.eslintignore" |
|||
}, |
|||
"terminal.integrated.scrollback": 10000, |
|||
"nuxt.isNuxtApp": false |
|||
} |
After Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 60 KiB |
@ -0,0 +1,4 @@ |
|||
# Generated by Cargo |
|||
# will have compiled files and executables |
|||
/target/ |
|||
/gen/schemas |
@ -0,0 +1,25 @@ |
|||
[package] |
|||
name = "挂牌上锁平台" |
|||
version = "0.1.0" |
|||
description = "挂牌上锁平台" |
|||
authors = ["you"] |
|||
license = "" |
|||
repository = "" |
|||
edition = "2021" |
|||
rust-version = "1.77.2" |
|||
|
|||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html |
|||
|
|||
[lib] |
|||
name = "app_lib" |
|||
crate-type = ["staticlib", "cdylib", "rlib"] |
|||
|
|||
[build-dependencies] |
|||
tauri-build = { version = "2.4.0", features = [] } |
|||
|
|||
[dependencies] |
|||
serde_json = "1.0" |
|||
serde = { version = "1.0", features = ["derive"] } |
|||
log = "0.4" |
|||
tauri = { version = "2.8.2", features = [] } |
|||
tauri-plugin-log = "2" |
@ -0,0 +1,3 @@ |
|||
fn main() { |
|||
tauri_build::build() |
|||
} |
@ -0,0 +1,11 @@ |
|||
{ |
|||
"$schema": "../gen/schemas/desktop-schema.json", |
|||
"identifier": "default", |
|||
"description": "enables the default permissions", |
|||
"windows": [ |
|||
"main" |
|||
], |
|||
"permissions": [ |
|||
"core:default" |
|||
] |
|||
} |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 82 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 7.6 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 96 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 109 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 9.1 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 64 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 116 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 176 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 98 KiB |
After Width: | Height: | Size: 225 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 584 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 60 KiB |
@ -0,0 +1,16 @@ |
|||
#[cfg_attr(mobile, tauri::mobile_entry_point)] |
|||
pub fn run() { |
|||
tauri::Builder::default() |
|||
.setup(|app| { |
|||
if cfg!(debug_assertions) { |
|||
app.handle().plugin( |
|||
tauri_plugin_log::Builder::default() |
|||
.level(log::LevelFilter::Info) |
|||
.build(), |
|||
)?; |
|||
} |
|||
Ok(()) |
|||
}) |
|||
.run(tauri::generate_context!()) |
|||
.expect("error while running tauri application"); |
|||
} |
@ -0,0 +1,6 @@ |
|||
// Prevents additional console window on Windows in release, DO NOT REMOVE!!
|
|||
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] |
|||
|
|||
fn main() { |
|||
app_lib::run(); |
|||
} |
@ -0,0 +1,37 @@ |
|||
{ |
|||
"$schema": "../node_modules/@tauri-apps/cli/config.schema.json", |
|||
"productName": "ElectronicLock", |
|||
"version": "0.1.0", |
|||
"identifier": "lock.zdhlcn.com", |
|||
"build": { |
|||
"frontendDist": "../dist-prod", |
|||
"devUrl": "http://localhost", |
|||
"beforeDevCommand": "pnpm dev:tauri", |
|||
"beforeBuildCommand": "pnpm build:tauri" |
|||
}, |
|||
"app": { |
|||
"windows": [ |
|||
{ |
|||
"title": "挂牌上锁平台", |
|||
"width": 800, |
|||
"height": 600, |
|||
"resizable": true, |
|||
"fullscreen": false |
|||
} |
|||
], |
|||
"security": { |
|||
"csp": null |
|||
} |
|||
}, |
|||
"bundle": { |
|||
"active": true, |
|||
"targets": "all", |
|||
"icon": [ |
|||
"icons/32x32.png", |
|||
"icons/128x128.png", |
|||
"icons/128x128@2x.png", |
|||
"icons/icon.icns", |
|||
"icons/icon.ico" |
|||
] |
|||
} |
|||
} |
@ -1,52 +0,0 @@ |
|||
import request from '@/config/axios' |
|||
import type { Dayjs } from 'dayjs'; |
|||
|
|||
/** 电子锁信息 */ |
|||
export interface Lock { |
|||
id?: number; // 主键ID
|
|||
lockNumber?: number; // 编号
|
|||
lockName?: string; // 名称
|
|||
lockStatus?: number; // 状态
|
|||
lockType?: number; // 锁具类型
|
|||
lockEnableStatus?: number; // 启用状态: 0=未启用, 1=已启用
|
|||
lockLastChargeTime?: string | Dayjs; // 上次充电时间
|
|||
lockBluetoothId?: string; // 蓝牙ID
|
|||
} |
|||
|
|||
// 电子锁 API
|
|||
export const LockApi = { |
|||
// 查询电子锁分页
|
|||
getLockPage: async (params: any) => { |
|||
return await request.get({ url: `/electron/lock/page`, params }) |
|||
}, |
|||
|
|||
// 查询电子锁详情
|
|||
getLock: async (id: number) => { |
|||
return await request.get({ url: `/electron/lock/get?id=` + id }) |
|||
}, |
|||
|
|||
// 新增电子锁
|
|||
createLock: async (data: Lock) => { |
|||
return await request.post({ url: `/electron/lock/create`, data }) |
|||
}, |
|||
|
|||
// 修改电子锁
|
|||
updateLock: async (data: Lock) => { |
|||
return await request.put({ url: `/electron/lock/update`, data }) |
|||
}, |
|||
|
|||
// 删除电子锁
|
|||
deleteLock: async (id: number) => { |
|||
return await request.delete({ url: `/electron/lock/delete?id=` + id }) |
|||
}, |
|||
|
|||
/** 批量删除电子锁 */ |
|||
deleteLockList: async (ids: number[]) => { |
|||
return await request.delete({ url: `/electron/lock/delete-list?ids=${ids.join(',')}` }) |
|||
}, |
|||
|
|||
// 导出电子锁 Excel
|
|||
exportLock: async (params) => { |
|||
return await request.download({ url: `/electron/lock/export-excel`, params }) |
|||
} |
|||
} |
@ -1,53 +0,0 @@ |
|||
import request from '@/config/axios' |
|||
import type { Dayjs } from 'dayjs'; |
|||
|
|||
/** 电子锁操作记录信息 */ |
|||
export interface LockWorkRecord { |
|||
id?: number; // 主键ID
|
|||
operatorId?: number; // 操作人ID
|
|||
lockId?: number; // 电子锁ID
|
|||
isolationPlanItemDetailId?: number; // 关联的子项详情ID (某些操作可能不关联)
|
|||
recordType?: number; // 记录类型
|
|||
signaturePath?: string; // 操作签名 (图片路径)
|
|||
beforePhotoPath?: string; // 操作前照片 (图片路径)
|
|||
afterPhotoPath?: string; // 操作后照片 (图片路径)
|
|||
gpsCoordinates?: string; // 操作GPS坐标
|
|||
} |
|||
|
|||
// 电子锁操作记录 API
|
|||
export const LockWorkRecordApi = { |
|||
// 查询电子锁操作记录分页
|
|||
getLockWorkRecordPage: async (params: any) => { |
|||
return await request.get({ url: `/electron/lock-word-record/page`, params }) |
|||
}, |
|||
|
|||
// 查询电子锁操作记录详情
|
|||
getLockWorkRecord: async (id: number) => { |
|||
return await request.get({ url: `/electron/lock-word-record/get?id=` + id }) |
|||
}, |
|||
|
|||
// 新增电子锁操作记录
|
|||
createLockWorkRecord: async (data: LockWorkRecord) => { |
|||
return await request.post({ url: `/electron/lock-word-record/create`, data }) |
|||
}, |
|||
|
|||
// 修改电子锁操作记录
|
|||
updateLockWorkRecord: async (data: LockWorkRecord) => { |
|||
return await request.put({ url: `/electron/lock-word-record/update`, data }) |
|||
}, |
|||
|
|||
// 删除电子锁操作记录
|
|||
deleteLockWorkRecord: async (id: number) => { |
|||
return await request.delete({ url: `/electron/lock-word-record/delete?id=` + id }) |
|||
}, |
|||
|
|||
/** 批量删除电子锁操作记录 */ |
|||
deleteLockWorkRecordList: async (ids: number[]) => { |
|||
return await request.delete({ url: `/electron/lock-word-record/delete-list?ids=${ids.join(',')}` }) |
|||
}, |
|||
|
|||
// 导出电子锁操作记录 Excel
|
|||
exportLockWorkRecord: async (params) => { |
|||
return await request.download({ url: `/electron/lock-word-record/export-excel`, params }) |
|||
} |
|||
} |
@ -1,47 +0,0 @@ |
|||
import request from '@/config/axios' |
|||
import type { Dayjs } from 'dayjs'; |
|||
|
|||
/** 指导书与隔离点关联信息 */ |
|||
export interface IsolationPoint { |
|||
id?: number; // id
|
|||
guideId?: number; // 隔离指导书ID
|
|||
isolationPointId?: number; // 隔离点ID
|
|||
} |
|||
|
|||
// 指导书与隔离点关联 API
|
|||
export const IsolationPointApi = { |
|||
// 查询指导书与隔离点关联分页
|
|||
getIsolationPointPage: async (params: any) => { |
|||
return await request.get({ url: `/guide/isolation-point/page`, params }) |
|||
}, |
|||
|
|||
// 查询指导书与隔离点关联详情
|
|||
getIsolationPoint: async (id: number) => { |
|||
return await request.get({ url: `/guide/isolation-point/get?id=` + id }) |
|||
}, |
|||
|
|||
// 新增指导书与隔离点关联
|
|||
createIsolationPoint: async (data: IsolationPoint) => { |
|||
return await request.post({ url: `/guide/isolation-point/create`, data }) |
|||
}, |
|||
|
|||
// 修改指导书与隔离点关联
|
|||
updateIsolationPoint: async (data: IsolationPoint) => { |
|||
return await request.put({ url: `/guide/isolation-point/update`, data }) |
|||
}, |
|||
|
|||
// 删除指导书与隔离点关联
|
|||
deleteIsolationPoint: async (id: number) => { |
|||
return await request.delete({ url: `/guide/isolation-point/delete?id=` + id }) |
|||
}, |
|||
|
|||
/** 批量删除指导书与隔离点关联 */ |
|||
deleteIsolationPointList: async (ids: number[]) => { |
|||
return await request.delete({ url: `/guide/isolation-point/delete-list?ids=${ids.join(',')}` }) |
|||
}, |
|||
|
|||
// 导出指导书与隔离点关联 Excel
|
|||
exportIsolationPoint: async (params) => { |
|||
return await request.download({ url: `/guide/isolation-point/export-excel`, params }) |
|||
} |
|||
} |
@ -1,54 +0,0 @@ |
|||
import request from '@/config/axios' |
|||
import type { Dayjs } from 'dayjs'; |
|||
|
|||
/** 隔离指导书信息 */ |
|||
export interface LockGuide { |
|||
id?: number; // 主键ID
|
|||
name?: string; // 指导书名称
|
|||
code?: string; // 指导书编码
|
|||
operatorId?: number; // 操作人ID
|
|||
operatorHelperId?: number; // 操作协助人ID
|
|||
verifierId?: number; // 验证人ID
|
|||
verifierHelperId?: number; // 验证协助人ID
|
|||
guideContent?: string; // 工作内容和范围
|
|||
guideLockNums?: number; // 所需设备锁数量
|
|||
isolationPointIds?: number[]; // 关联隔离点ID
|
|||
} |
|||
|
|||
// 隔离指导书 API
|
|||
export const LockGuideApi = { |
|||
// 查询隔离指导书分页
|
|||
getLockGuidePage: async (params: any) => { |
|||
return await request.get({ url: `/guide/lock-guide/page`, params }) |
|||
}, |
|||
|
|||
// 查询隔离指导书详情
|
|||
getLockGuide: async (id: number) => { |
|||
return await request.get({ url: `/guide/lock-guide/get?id=` + id }) |
|||
}, |
|||
|
|||
// 新增隔离指导书
|
|||
createLockGuide: async (data: LockGuide) => { |
|||
return await request.post({ url: `/guide/lock-guide/create`, data }) |
|||
}, |
|||
|
|||
// 修改隔离指导书
|
|||
updateLockGuide: async (data: LockGuide) => { |
|||
return await request.put({ url: `/guide/lock-guide/update`, data }) |
|||
}, |
|||
|
|||
// 删除隔离指导书
|
|||
deleteLockGuide: async (id: number) => { |
|||
return await request.delete({ url: `/guide/lock-guide/delete?id=` + id }) |
|||
}, |
|||
|
|||
/** 批量删除隔离指导书 */ |
|||
deleteLockGuideList: async (ids: number[]) => { |
|||
return await request.delete({ url: `/guide/lock-guide/delete-list?ids=${ids.join(',')}` }) |
|||
}, |
|||
|
|||
// 导出隔离指导书 Excel
|
|||
exportLockGuide: async (params) => { |
|||
return await request.download({ url: `/guide/lock-guide/export-excel`, params }) |
|||
} |
|||
} |
@ -1,47 +0,0 @@ |
|||
import request from '@/config/axios' |
|||
import type { Dayjs } from 'dayjs'; |
|||
|
|||
/** 检修任务信息 */ |
|||
export interface Plan { |
|||
id: number; // 主键ID
|
|||
ipName?: string; // 任务名称
|
|||
status?: number; // 状态
|
|||
} |
|||
|
|||
// 检修任务 API
|
|||
export const PlanApi = { |
|||
// 查询检修任务分页
|
|||
getPlanPage: async (params: any) => { |
|||
return await request.get({ url: `/isolation/plan/page`, params }) |
|||
}, |
|||
|
|||
// 查询检修任务详情
|
|||
getPlan: async (id: number) => { |
|||
return await request.get({ url: `/isolation/plan/get?id=` + id }) |
|||
}, |
|||
|
|||
// 新增检修任务
|
|||
createPlan: async (data: Plan) => { |
|||
return await request.post({ url: `/isolation/plan/create`, data }) |
|||
}, |
|||
|
|||
// 修改检修任务
|
|||
updatePlan: async (data: Plan) => { |
|||
return await request.put({ url: `/isolation/plan/update`, data }) |
|||
}, |
|||
|
|||
// 删除检修任务
|
|||
deletePlan: async (id: number) => { |
|||
return await request.delete({ url: `/isolation/plan/delete?id=` + id }) |
|||
}, |
|||
|
|||
/** 批量删除检修任务 */ |
|||
deletePlanList: async (ids: number[]) => { |
|||
return await request.delete({ url: `/isolation/plan/delete-list?ids=${ids.join(',')}` }) |
|||
}, |
|||
|
|||
// 导出检修任务 Excel
|
|||
exportPlan: async (params) => { |
|||
return await request.download({ url: `/isolation/plan/export-excel`, params }) |
|||
} |
|||
} |
@ -1,52 +0,0 @@ |
|||
import request from '@/config/axios' |
|||
import type { Dayjs } from 'dayjs'; |
|||
|
|||
/** 检修任务子项信息 */ |
|||
export interface PlanItem { |
|||
id?: number; // 主键ID
|
|||
isolationPlanId?: number; // 检修任务ID
|
|||
guideId?: number; // 隔离指导书ID
|
|||
operatorId?: number; // 集中挂牌人ID
|
|||
operatorHelperId?: number; // 集中挂牌协助人ID
|
|||
verifierId?: number; // 验证人ID
|
|||
verifierHelperId?: number; // 验证协助人ID
|
|||
status?: number; // 子项状态: 0=未完成, 1=已完成
|
|||
} |
|||
|
|||
// 检修任务子项 API
|
|||
export const PlanItemApi = { |
|||
// 查询检修任务子项分页
|
|||
getPlanItemPage: async (params: any) => { |
|||
return await request.get({ url: `/isolation/plan-item/page`, params }) |
|||
}, |
|||
|
|||
// 查询检修任务子项详情
|
|||
getPlanItem: async (id: number) => { |
|||
return await request.get({ url: `/isolation/plan-item/get?id=` + id }) |
|||
}, |
|||
|
|||
// 新增检修任务子项
|
|||
createPlanItem: async (data: PlanItem) => { |
|||
return await request.post({ url: `/isolation/plan-item/create`, data }) |
|||
}, |
|||
|
|||
// 修改检修任务子项
|
|||
updatePlanItem: async (data: PlanItem) => { |
|||
return await request.put({ url: `/isolation/plan-item/update`, data }) |
|||
}, |
|||
|
|||
// 删除检修任务子项
|
|||
deletePlanItem: async (id: number) => { |
|||
return await request.delete({ url: `/isolation/plan-item/delete?id=` + id }) |
|||
}, |
|||
|
|||
/** 批量删除检修任务子项 */ |
|||
deletePlanItemList: async (ids: number[]) => { |
|||
return await request.delete({ url: `/isolation/plan-item/delete-list?ids=${ids.join(',')}` }) |
|||
}, |
|||
|
|||
// 导出检修任务子项 Excel
|
|||
exportPlanItem: async (params) => { |
|||
return await request.download({ url: `/isolation/plan-item/export-excel`, params }) |
|||
} |
|||
} |
@ -1,49 +0,0 @@ |
|||
import request from '@/config/axios' |
|||
import type { Dayjs } from 'dayjs'; |
|||
|
|||
/** 检修任务子项详情信息 */ |
|||
export interface PlanItemDetail { |
|||
id?: number; // 主键ID
|
|||
isolationPlanItemId?: number; // 检修任务子项ID
|
|||
isolationPointId?: number; // 隔离点ID
|
|||
lockId?: number; // 电子锁ID
|
|||
lockStatus?: number; // 锁状态: 0=未上锁, 1=已上锁, 2=已解锁
|
|||
} |
|||
|
|||
// 检修任务子项详情 API
|
|||
export const PlanItemDetailApi = { |
|||
// 查询检修任务子项详情分页
|
|||
getPlanItemDetailPage: async (params: any) => { |
|||
return await request.get({ url: `/isolation/plan-item-detail/page`, params }) |
|||
}, |
|||
|
|||
// 查询检修任务子项详情详情
|
|||
getPlanItemDetail: async (id: number) => { |
|||
return await request.get({ url: `/isolation/plan-item-detail/get?id=` + id }) |
|||
}, |
|||
|
|||
// 新增检修任务子项详情
|
|||
createPlanItemDetail: async (data: PlanItemDetail) => { |
|||
return await request.post({ url: `/isolation/plan-item-detail/create`, data }) |
|||
}, |
|||
|
|||
// 修改检修任务子项详情
|
|||
updatePlanItemDetail: async (data: PlanItemDetail) => { |
|||
return await request.put({ url: `/isolation/plan-item-detail/update`, data }) |
|||
}, |
|||
|
|||
// 删除检修任务子项详情
|
|||
deletePlanItemDetail: async (id: number) => { |
|||
return await request.delete({ url: `/isolation/plan-item-detail/delete?id=` + id }) |
|||
}, |
|||
|
|||
/** 批量删除检修任务子项详情 */ |
|||
deletePlanItemDetailList: async (ids: number[]) => { |
|||
return await request.delete({ url: `/isolation/plan-item-detail/delete-list?ids=${ids.join(',')}` }) |
|||
}, |
|||
|
|||
// 导出检修任务子项详情 Excel
|
|||
exportPlanItemDetail: async (params) => { |
|||
return await request.download({ url: `/isolation/plan-item-detail/export-excel`, params }) |
|||
} |
|||
} |
@ -1,51 +0,0 @@ |
|||
import request from '@/config/axios' |
|||
import type { Dayjs } from 'dayjs'; |
|||
|
|||
/** 个人生命锁信息 */ |
|||
export interface PlanLifeLock { |
|||
id: number; // 主键ID
|
|||
isolationPlanItemDetailId?: number; // 子项详情ID
|
|||
userId?: number; // 上锁人ID
|
|||
lockType?: number; // 生命锁类型
|
|||
lockStatus?: number; // 锁定状态: 0=未上锁, 1=已上锁
|
|||
lockTime?: number; // 上锁时间
|
|||
unlockTime?: number; // 解锁时间
|
|||
} |
|||
|
|||
// 个人生命锁 API
|
|||
export const PlanLifeLockApi = { |
|||
// 查询个人生命锁分页
|
|||
getPlanLifeLockPage: async (params: any) => { |
|||
return await request.get({ url: `/isolation/plan-life-lock/page`, params }) |
|||
}, |
|||
|
|||
// 查询个人生命锁详情
|
|||
getPlanLifeLock: async (id: number) => { |
|||
return await request.get({ url: `/isolation/plan-life-lock/get?id=` + id }) |
|||
}, |
|||
|
|||
// 新增个人生命锁
|
|||
createPlanLifeLock: async (data: PlanLifeLock) => { |
|||
return await request.post({ url: `/isolation/plan-life-lock/create`, data }) |
|||
}, |
|||
|
|||
// 修改个人生命锁
|
|||
updatePlanLifeLock: async (data: PlanLifeLock) => { |
|||
return await request.put({ url: `/isolation/plan-life-lock/update`, data }) |
|||
}, |
|||
|
|||
// 删除个人生命锁
|
|||
deletePlanLifeLock: async (id: number) => { |
|||
return await request.delete({ url: `/isolation/plan-life-lock/delete?id=` + id }) |
|||
}, |
|||
|
|||
/** 批量删除个人生命锁 */ |
|||
deletePlanLifeLockList: async (ids: number[]) => { |
|||
return await request.delete({ url: `/isolation/plan-life-lock/delete-list?ids=${ids.join(',')}` }) |
|||
}, |
|||
|
|||
// 导出个人生命锁 Excel
|
|||
exportPlanLifeLock: async (params) => { |
|||
return await request.download({ url: `/isolation/plan-life-lock/export-excel`, params }) |
|||
} |
|||
} |
@ -1,51 +0,0 @@ |
|||
import request from '@/config/axios' |
|||
import type { Dayjs } from 'dayjs'; |
|||
|
|||
/** 隔离点信息 */ |
|||
export interface Point { |
|||
id?: number; // 主键ID
|
|||
ipType?: string; // 隔离点类型
|
|||
ipName?: string; // 隔离点名称
|
|||
ipLocation?: string; // 隔离点位置
|
|||
ipNumber?: number; // 隔离点编号
|
|||
status?: number; // 隔离点状态
|
|||
guideLockNums?: number; // 电子锁数量
|
|||
} |
|||
|
|||
// 隔离点 API
|
|||
export const PointApi = { |
|||
// 查询隔离点分页
|
|||
getPointPage: async (params: any) => { |
|||
return await request.get({ url: `/isolation/point/page`, params }) |
|||
}, |
|||
|
|||
// 查询隔离点详情
|
|||
getPoint: async (id: number) => { |
|||
return await request.get({ url: `/isolation/point/get?id=` + id }) |
|||
}, |
|||
|
|||
// 新增隔离点
|
|||
createPoint: async (data: Point) => { |
|||
return await request.post({ url: `/isolation/point/create`, data }) |
|||
}, |
|||
|
|||
// 修改隔离点
|
|||
updatePoint: async (data: Point) => { |
|||
return await request.put({ url: `/isolation/point/update`, data }) |
|||
}, |
|||
|
|||
// 删除隔离点
|
|||
deletePoint: async (id: number) => { |
|||
return await request.delete({ url: `/isolation/point/delete?id=` + id }) |
|||
}, |
|||
|
|||
/** 批量删除隔离点 */ |
|||
deletePointList: async (ids: number[]) => { |
|||
return await request.delete({ url: `/isolation/point/delete-list?ids=${ids.join(',')}` }) |
|||
}, |
|||
|
|||
// 导出隔离点 Excel
|
|||
exportPoint: async (params) => { |
|||
return await request.download({ url: `/isolation/point/export-excel`, params }) |
|||
} |
|||
} |
@ -1,66 +0,0 @@ |
|||
import request from '@/config/axios' |
|||
|
|||
|
|||
|
|||
export const getAllLock = (params: PageParam = { pageSize: 9999, pageNo: 1 }) => { |
|||
return request.get({ url: `/electron/lock/page`, params }) |
|||
} |
|||
|
|||
export const getAllIsolationPoint = (params: PageParam = { pageSize: 9999, pageNo: 1 }) => { |
|||
return request.get({ url: `/isolation/point/page`, params }) |
|||
} |
|||
export const getAllIsolationPlan = (params: PageParam = { pageSize: 9999, pageNo: 1 }) => { |
|||
return request.get({ url: `/isolation/plan/page`, params }) |
|||
} |
|||
export const getAllGuidance = (params: PageParam = { pageSize: 9999, pageNo: 1 }) => { |
|||
return request.get({ url: `/guide/lock-guide/page`, params }) |
|||
} |
|||
export const getAllGuidanceIsolationPoint = (params: PageParam = { pageSize: 9999, pageNo: 1 }) => { |
|||
return request.get({ url: `/guide/isolation-point/page`, params }) |
|||
} |
|||
export const getAllPlanItem = (params: PageParam = { pageSize: 9999, pageNo: 1 }) => { |
|||
return request.get({ url: `/isolation/plan-item/page`, params }) |
|||
} |
|||
export const getAllPlanItemDetail = (params: PageParam = { pageSize: 9999, pageNo: 1 }) => { |
|||
return request.get({ url: `/isolation/plan-item-detail/page`, params }) |
|||
} |
|||
export const getAllPlanLifeLock = (params: PageParam = { pageSize: 9999, pageNo: 1 }) => { |
|||
return request.get({ url: `/isolation/plan-life-lock/page`, params }) |
|||
} |
|||
const baseUrl = import.meta.env.VITE_BASE_URL + import.meta.env.VITE_API_URL |
|||
export const getAgentConfigSignature = (url: string) => { |
|||
return fetch(`${baseUrl}/js/weixin/getAgentConfigSignature?url=${url}`).then(async res => { |
|||
return await res.json() |
|||
}) |
|||
} |
|||
|
|||
export const getConfigSignature = (url: string) => { |
|||
return fetch(`${baseUrl}/js/weixin/getConfigSignature?url=${url}`).then(async res => { |
|||
return await res.json() |
|||
}) |
|||
} |
|||
|
|||
export const getAllFormattedIsolationPlan = () => { |
|||
return request.get({ url: `/isolation/plan/planListAll` }) |
|||
} |
|||
|
|||
|
|||
// 获取所有基础数据
|
|||
export const getAllBaseData = () => request.get({ url: `isolation/point/getListAll` }) |
|||
|
|||
|
|||
// 查询用户管理列表
|
|||
export const getAllUser = () => request.get({ url: 'system/user/list-all-simple' }) |
|||
|
|||
// 根据隔离点获取相关记录
|
|||
export const getIsolationPointDetail = (id: number) => request.get({ url: `isolation/point/getPointListAll`, params: { id } }) |
|||
|
|||
export const bindLock = (data: { planItemDetailId: number; lockId: number }) => request.put({ url: `isolation/point/bindlock`, data }) |
|||
|
|||
export const lockAction = (data: { planItemDetailId: number, operateRecordId: number }) => request.put({ url: `isolation/point/createLock`, data }) |
|||
|
|||
export const verifyLockAction = (data: { planItemDetailId: number, verifyRecordId: number }) => request.put({ url: `isolation/point/verifyLock`, data }) |
|||
|
|||
export const verifyUnlockAction = (data: { planItemDetailId: number, lifelockId: number }) => request.put({ url: `isolation/point/verifyUnLock`, data }) |
|||
|
|||
export const unLockAction = (data: { planItemDetailId: number, planId: number, lifelockId: number }) => request.put({ url: `isolation/point/unLock`, data }) |