初始化项目

main
limingyuan 1 year ago
commit 2b542dea6f

@ -0,0 +1,36 @@
VITE_APP_URL = /api
VITE_WEBSOCKET_URL = 192.168.2.114:8000
VITE_LOGIN_URL = 127.0.0.1:8000
VITE_SEVER_URL = http://192.168.2.114
#true 为 --柜体开门三人脸登录,第一人第二为管理员,第三人不能为第二个人
VITE_LOGIN_121 = false
# 1 为一维条码扫码逻辑
VITE_OneDimensionalCode = 1
# 1 为屏蔽打开柜门后调用scoket
VITE_CLOSESCOKET_RUN = 1
# 1 为佛山疾控定制逻辑
VITE_FSJK = 0
#1 是超高频读卡器的参数项目(多数项目均不开启)
VITE_UHFReader = 2
# 1 为珠海食药定制逻辑
VITE_ZHSY = 0
#是否为usb摄像头
VITE_VideoMonitorspUsb = 1
#是否显示灯光指引按钮 1显示打开抽屉 2显示灯光指引
VITE_showOpenDoor = 1
#是否为长方形孔位如6000 1是
VITE_REACT = 1
#是否90小屏设备 1是
VITE_EAGL9O = 2
#打开抽屉/柜门文字
VITE_IS_CT_TEXT = '打开柜门'

@ -0,0 +1,35 @@
VITE_APP_URL = /api
VITE_WEBSOCKET_URL = localhost:8000
VITE_LOGIN_URL = 127.0.0.1:8000
VITE_SEVER_URL = http://localhost
#true 为 --柜体开门三人脸登录,第一人第二为管理员,第三人不能为第二个人
VITE_LOGIN_121 = false
# 1 为一维条码扫码逻辑
VITE_OneDimensionalCode = 1
# 1 为屏蔽打开柜门后调用scoket
VITE_CLOSESCOKET_RUN = 1
# 1 为佛山疾控定制逻辑
VITE_FSJK = 0
# 1 是超高频读卡器的参数项目(多数项目均不开启)
VITE_UHFReader = 0
# 1 为珠海食药定制逻辑
VITE_ZHSY = 0
# 1是 是否为usb摄像头
VITE_VideoMonitorspUsb = 1
#是否显示灯光指引按钮 1显示打开抽屉 2显示灯光指引
VITE_showOpenDoor = 1
#是否为长方形孔位如6000 1是
VITE_REACT = 0
#是否90小屏设备 1是
VITE_EAGL9O = 0
#打开抽屉/柜门文字
VITE_IS_CT_TEXT = '打开柜门'

@ -0,0 +1,14 @@
/* eslint-env node */
require('@rushstack/eslint-patch/modern-module-resolution')
module.exports = {
root: true,
'extends': [
'plugin:vue/vue3-essential',
'eslint:recommended',
'@vue/eslint-config-prettier/skip-formatting'
],
parserOptions: {
ecmaVersion: 'latest'
}
}

28
.gitignore vendored

@ -0,0 +1,28 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
.DS_Store
dist
dist-ssr
coverage
*.local
/cypress/videos/
/cypress/screenshots/
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

@ -0,0 +1,8 @@
{
"$schema": "https://json.schemastore.org/prettierrc",
"semi": false,
"tabWidth": 2,
"singleQuote": true,
"printWidth": 100,
"trailingComma": "none"
}

@ -0,0 +1,6 @@
1. VITE_LOGIN_121 true 为 --柜体开门三人脸登录,第一人第二为管理员,第三人不能为第二个人
1. VITE_OneDimensionalCode 1 为一维条码扫码逻辑
1. VITE_CLOSESCOKET_RUN 1 为屏蔽打开柜门后调用scoket
1. VITE_UHFReader 1 是超高频读卡器的参数项目(多数项目均不开启)
VITE_ZHSY 1 为珠海食药定制逻辑
VITE_VideoMonitorspUsb = 1 为使用usb摄像头

46
components.d.ts vendored

@ -0,0 +1,46 @@
/* eslint-disable */
/* prettier-ignore */
// @ts-nocheck
// Generated by unplugin-vue-components
// Read more: https://github.com/vuejs/core/pull/3399
import '@vue/runtime-core'
export {}
declare module '@vue/runtime-core' {
export interface GlobalComponents {
CellInput: typeof import('./src/components/CellInput/index.vue')['default']
DateRange: typeof import('./src/components/dateRange/index.vue')['default']
Frame: typeof import('./src/components/frame/index.vue')['default']
HelloWorld: typeof import('./src/components/HelloWorld.vue')['default']
IconCommunity: typeof import('./src/components/icons/IconCommunity.vue')['default']
IconDocumentation: typeof import('./src/components/icons/IconDocumentation.vue')['default']
IconEcosystem: typeof import('./src/components/icons/IconEcosystem.vue')['default']
IconSupport: typeof import('./src/components/icons/IconSupport.vue')['default']
IconTooling: typeof import('./src/components/icons/IconTooling.vue')['default']
'Index单列': typeof import('./src/components/SelCabinet/index单列.vue')['default']
Indexsp: typeof import('./src/components/indexsp.vue')['default']
Login: typeof import('./src/components/Login/index.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
SearchSelect: typeof import('./src/components/searchSelect/index.vue')['default']
SelCabinet: typeof import('./src/components/SelCabinet/index.vue')['default']
SelCell: typeof import('./src/components/SelCell/index.vue')['default']
SelCheckbox: typeof import('./src/components/SelCheckbox/index.vue')['default']
SelInput: typeof import('./src/components/SelInput/index.vue')['default']
SelLable: typeof import('./src/components/SelLable/index.vue')['default']
SelModal: typeof import('./src/components/SelModal/index.vue')['default']
SelOver: typeof import('./src/components/SelOver/index.vue')['default']
SelSelect: typeof import('./src/components/SelSelect/index.vue')['default']
SelSwiper: typeof import('./src/components/SelSwiper/index.vue')['default']
SelTable: typeof import('./src/components/SelTable/index.vue')['default']
Test: typeof import('./src/components/SelCell/test.vue')['default']
VanButton: typeof import('vant/es')['Button']
VanForm: typeof import('vant/es')['Form']
VanIcon: typeof import('vant/es')['Icon']
VanOverlay: typeof import('vant/es')['Overlay']
VanSlider: typeof import('vant/es')['Slider']
VanSwipe: typeof import('vant/es')['Swipe']
VanSwipeItem: typeof import('vant/es')['SwipeItem']
}
}

@ -0,0 +1,22 @@
#### 指令接口
POST /api/directive
```json
{"event": "beep:sound", "args": {"duration":5000, "times": 3}} # 蜂鸣器
```
POST /api/event/beep
```json
{"duration":5000, "times": 3}
```
{
"code": 200,
"desc": "成功",
"data": {}
}
{
"code": 200,
"desc": "成功",
"data": [{}, {}]
}

@ -0,0 +1,49 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<link rel='icon' href='/favicon.ico'>
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0">
<title>Vite App</title>
</head>
<body>
<div id='app'></div>
<script type='module' src='./src/main.ts'></script>
<script src="/video/jswebrtc.min.js" type="text/javascript" ></script>
<!-- <script type='module' src='./public/js/neutralino.js'></script> -->
<!-- <script>Neutralino.init();</script> -->
</body>
</html>
<script>
(function (win) {
// 获取页面所有的 <script >
let scripts = document.getElementsByTagName('script')
// 遍历标签
for (let i = 0; i < scripts.length; i++) {
// 提取单个<script >
let script = scripts[i]
// 获取标签中的 src
let url = script.getAttribute("src")
// 获取标签中的 type
let type = script.getAttribute("type")
// 获取标签中的js代码
let scriptText = script.innerHTML
// 如果有引用地址或者 type 属性 为 "module" 则代表该标签需要更改
if (url || type === "module") {
// 创建一个新的标签对象
let tag = document.createElement('script');
// 设置src的引入
tag.setAttribute('url', url);
// 设置js代码
tag.innerHTML = scriptText
// 删除原先的标签
script.remove()
// 将标签添加到代码中
document.getElementsByTagName('head')[0].appendChild(tag)
}
}
})(window)
</script>

9654
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -0,0 +1,54 @@
{
"name": "icebox",
"version": "0.0.0",
"private": true,
"scripts": {
"dev": "vite --host 0.0.0.0",
"build": "vite build",
"preview": "vite preview --host 0.0.0.0",
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore",
"format": "prettier --write src/"
},
"dependencies": {
"@babel/preset-env": "^7.21.5",
"@vant/touch-emulator": "^1.4.0",
"@vitejs/plugin-legacy": "^4.0.3",
"axios": "^1.3.6",
"dayjs": "^1.11.10",
"face-api.js": "^0.22.2",
"flv.js": "^1.6.2",
"lib-flexible": "^0.3.2",
"pinia": "^2.0.35",
"pinia-plugin-persistedstate": "^3.1.0",
"reconnecting-websocket": "^4.4.0",
"server": "^1.0.38",
"sortablejs": "^1.15.0",
"swiper": "^9.3.2",
"terser": "^5.17.4",
"typescript": "^5.0.4",
"uuid": "^9.0.0",
"vant": "^4.2.0",
"virtual-keyboard": "^1.30.4",
"vue": "^3.2.47",
"vue-keyboard-virtual-next": "^1.0.4",
"vue-router": "^4.1.6",
"vxe-table": "^4.3.12",
"xe-utils": "^3.5.7"
},
"devDependencies": {
"@rushstack/eslint-patch": "^1.2.0",
"@types/lodash": "^4.14.196",
"@types/node": "^18.16.0",
"@vitejs/plugin-vue": "^4.0.0",
"@vue/eslint-config-prettier": "^7.1.0",
"autoprefixer": "^10.4.14",
"eslint": "^8.34.0",
"eslint-plugin-vue": "^9.9.0",
"less": "^4.1.3",
"less-loader": "^11.1.0",
"prettier": "^2.8.4",
"unplugin-vue-components": "^0.24.1",
"vite": "^4.2.0",
"vite-plugin-style-import": "^1.4.1"
}
}

@ -0,0 +1,10 @@
module.exports = {
// "plugins": {
// "postcss-pxtorem": {
// rootValue: 108, // Vant 官方根字体大小是 37.5
// propList: ['*'],
// selectorBlackList: ['.norem'] // 过滤掉.norem-开头的class不进行rem转换
// }
// }
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 965 B

@ -0,0 +1,6 @@
{
"1": "[1,2,14,15 ]",
"2": "[3,4,16,17 ]",
"6": "[27,28,40,41 ]",
"7": "[29,30,42,43 ]"
}

@ -0,0 +1,7 @@
window.addEventListener('DOMContentLoaded', () => {
let btnQuit = document.getElementById('btn-electron-quit');
btnQuit.addEventListener('click', () => {
window.electronAPI.userExit('确认退出当前系统?')
console.log('退出')
})
});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
[{"weights":[{"name":"dense0/conv0/filters","shape":[3,3,3,32],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.008194216092427571,"min":-0.9423348506291708}},{"name":"dense0/conv0/bias","shape":[32],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.006839508168837603,"min":-0.8412595047670252}},{"name":"dense0/conv1/depthwise_filter","shape":[3,3,32,1],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.009194007106855804,"min":-1.2779669878529567}},{"name":"dense0/conv1/pointwise_filter","shape":[1,1,32,32],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.0036026100317637128,"min":-0.3170296827952067}},{"name":"dense0/conv1/bias","shape":[32],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.000740380117706224,"min":-0.06367269012273527}},{"name":"dense0/conv2/depthwise_filter","shape":[3,3,32,1],"dtype":"float32","quantization":{"dtype":"uint8","scale":1,"min":0}},{"name":"dense0/conv2/pointwise_filter","shape":[1,1,32,32],"dtype":"float32","quantization":{"dtype":"uint8","scale":1,"min":0}},{"name":"dense0/conv2/bias","shape":[32],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.0037702228508743585,"min":-0.6220867703942692}},{"name":"dense1/conv0/depthwise_filter","shape":[3,3,32,1],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.0033707996209462483,"min":-0.421349952618281}},{"name":"dense1/conv0/pointwise_filter","shape":[1,1,32,64],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.014611541991140328,"min":-1.8556658328748217}},{"name":"dense1/conv0/bias","shape":[64],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.002832523046755323,"min":-0.30307996600281956}},{"name":"dense1/conv1/depthwise_filter","shape":[3,3,64,1],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.006593170586754294,"min":-0.6329443763284123}},{"name":"dense1/conv1/pointwise_filter","shape":[1,1,64,64],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.012215249211180444,"min":-1.6001976466646382}},{"name":"dense1/conv1/bias","shape":[64],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.002384825547536214,"min":-0.3028728445370992}},{"name":"dense1/conv2/depthwise_filter","shape":[3,3,64,1],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.005859645441466687,"min":-0.7617539073906693}},{"name":"dense1/conv2/pointwise_filter","shape":[1,1,64,64],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.013121426806730382,"min":-1.7845140457153321}},{"name":"dense1/conv2/bias","shape":[64],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.0032247188044529336,"min":-0.46435950784122243}},{"name":"dense2/conv0/depthwise_filter","shape":[3,3,64,1],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.002659512618008782,"min":-0.32977956463308894}},{"name":"dense2/conv0/pointwise_filter","shape":[1,1,64,128],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.015499923743453681,"min":-1.9839902391620712}},{"name":"dense2/conv0/bias","shape":[128],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.0032450980999890497,"min":-0.522460794098237}},{"name":"dense2/conv1/depthwise_filter","shape":[3,3,128,1],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.005911862382701799,"min":-0.792189559282041}},{"name":"dense2/conv1/pointwise_filter","shape":[1,1,128,128],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.021025861478319356,"min":-2.2077154552235325}},{"name":"dense2/conv1/bias","shape":[128],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.00349616945958605,"min":-0.46149436866535865}},{"name":"dense2/conv2/depthwise_filter","shape":[3,3,128,1],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.008104994250278847,"min":-1.013124281284856}},{"name":"dense2/conv2/pointwise_filter","shape":[1,1,128,128],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.029337059282789044,"min":-3.5791212325002633}},{"name":"dense2/conv2/bias","shape":[128],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.0038808938334969913,"min":-0.4230174278511721}},{"name":"fc/weights","shape":[128,136],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.014016061670639936,"min":-1.8921683255363912}},{"name":"fc/bias","shape":[136],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.0029505149698724935,"min":0.088760145008564}}],"paths":["face_landmark_68_tiny_model-shard1"]}]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

@ -0,0 +1 @@
[{"paths":["mtcnn_model-shard1"],"weights":[{"dtype":"float32","name":"pnet/conv1/weights","shape":[3,3,3,10]},{"dtype":"float32","name":"pnet/conv1/bias","shape":[10]},{"dtype":"float32","name":"pnet/prelu1_alpha","shape":[10]},{"dtype":"float32","name":"pnet/conv2/weights","shape":[3,3,10,16]},{"dtype":"float32","name":"pnet/conv2/bias","shape":[16]},{"dtype":"float32","name":"pnet/prelu2_alpha","shape":[16]},{"dtype":"float32","name":"pnet/conv3/weights","shape":[3,3,16,32]},{"dtype":"float32","name":"pnet/conv3/bias","shape":[32]},{"dtype":"float32","name":"pnet/prelu3_alpha","shape":[32]},{"dtype":"float32","name":"pnet/conv4_1/weights","shape":[1,1,32,2]},{"dtype":"float32","name":"pnet/conv4_1/bias","shape":[2]},{"dtype":"float32","name":"pnet/conv4_2/weights","shape":[1,1,32,4]},{"dtype":"float32","name":"pnet/conv4_2/bias","shape":[4]},{"dtype":"float32","name":"rnet/conv1/weights","shape":[3,3,3,28]},{"dtype":"float32","name":"rnet/conv1/bias","shape":[28]},{"dtype":"float32","name":"rnet/prelu1_alpha","shape":[28]},{"dtype":"float32","name":"rnet/conv2/weights","shape":[3,3,28,48]},{"dtype":"float32","name":"rnet/conv2/bias","shape":[48]},{"dtype":"float32","name":"rnet/prelu2_alpha","shape":[48]},{"dtype":"float32","name":"rnet/conv3/weights","shape":[2,2,48,64]},{"dtype":"float32","name":"rnet/conv3/bias","shape":[64]},{"dtype":"float32","name":"rnet/prelu3_alpha","shape":[64]},{"dtype":"float32","name":"rnet/fc1/weights","shape":[576,128]},{"dtype":"float32","name":"rnet/fc1/bias","shape":[128]},{"dtype":"float32","name":"rnet/prelu4_alpha","shape":[128]},{"dtype":"float32","name":"rnet/fc2_1/weights","shape":[128,2]},{"dtype":"float32","name":"rnet/fc2_1/bias","shape":[2]},{"dtype":"float32","name":"rnet/fc2_2/weights","shape":[128,4]},{"dtype":"float32","name":"rnet/fc2_2/bias","shape":[4]},{"dtype":"float32","name":"onet/conv1/weights","shape":[3,3,3,32]},{"dtype":"float32","name":"onet/conv1/bias","shape":[32]},{"dtype":"float32","name":"onet/prelu1_alpha","shape":[32]},{"dtype":"float32","name":"onet/conv2/weights","shape":[3,3,32,64]},{"dtype":"float32","name":"onet/conv2/bias","shape":[64]},{"dtype":"float32","name":"onet/prelu2_alpha","shape":[64]},{"dtype":"float32","name":"onet/conv3/weights","shape":[3,3,64,64]},{"dtype":"float32","name":"onet/conv3/bias","shape":[64]},{"dtype":"float32","name":"onet/prelu3_alpha","shape":[64]},{"dtype":"float32","name":"onet/conv4/weights","shape":[2,2,64,128]},{"dtype":"float32","name":"onet/conv4/bias","shape":[128]},{"dtype":"float32","name":"onet/prelu4_alpha","shape":[128]},{"dtype":"float32","name":"onet/fc1/weights","shape":[1152,256]},{"dtype":"float32","name":"onet/fc1/bias","shape":[256]},{"dtype":"float32","name":"onet/prelu5_alpha","shape":[256]},{"dtype":"float32","name":"onet/fc2_1/weights","shape":[256,2]},{"dtype":"float32","name":"onet/fc2_1/bias","shape":[2]},{"dtype":"float32","name":"onet/fc2_2/weights","shape":[256,4]},{"dtype":"float32","name":"onet/fc2_2/bias","shape":[4]},{"dtype":"float32","name":"onet/fc2_3/weights","shape":[256,10]},{"dtype":"float32","name":"onet/fc2_3/bias","shape":[10]}]}]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
[{"weights":[{"name":"conv0/filters","shape":[3,3,3,16],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.009007044399485869,"min":-1.2069439495311063}},{"name":"conv0/bias","shape":[16],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.005263455241334205,"min":-0.9211046672334858}},{"name":"conv1/depthwise_filter","shape":[3,3,16,1],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.004001977630690033,"min":-0.5042491814669441}},{"name":"conv1/pointwise_filter","shape":[1,1,16,32],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.013836609615999109,"min":-1.411334180831909}},{"name":"conv1/bias","shape":[32],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.0015159862590771096,"min":-0.30926119685173037}},{"name":"conv2/depthwise_filter","shape":[3,3,32,1],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.002666276225856706,"min":-0.317286870876948}},{"name":"conv2/pointwise_filter","shape":[1,1,32,64],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.015265831292844286,"min":-1.6792414422128714}},{"name":"conv2/bias","shape":[64],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.0020280554598453,"min":-0.37113414915168985}},{"name":"conv3/depthwise_filter","shape":[3,3,64,1],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.006100742489683862,"min":-0.8907084034938438}},{"name":"conv3/pointwise_filter","shape":[1,1,64,128],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.016276211832083907,"min":-2.0508026908425725}},{"name":"conv3/bias","shape":[128],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.003394414279975143,"min":-0.7637432129944072}},{"name":"conv4/depthwise_filter","shape":[3,3,128,1],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.006716050119961009,"min":-0.8059260143953211}},{"name":"conv4/pointwise_filter","shape":[1,1,128,256],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.021875603993733724,"min":-2.8875797271728514}},{"name":"conv4/bias","shape":[256],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.0041141652009066415,"min":-0.8187188749804216}},{"name":"conv5/depthwise_filter","shape":[3,3,256,1],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.008423839597141042,"min":-0.9013508368940915}},{"name":"conv5/pointwise_filter","shape":[1,1,256,512],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.030007277283014035,"min":-3.8709387695088107}},{"name":"conv5/bias","shape":[512],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.008402082966823203,"min":-1.4871686851277068}},{"name":"conv8/filters","shape":[1,1,512,25],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.028336129469030042,"min":-4.675461362389957}},{"name":"conv8/bias","shape":[25],"dtype":"float32","quantization":{"dtype":"uint8","scale":0.002268134028303857,"min":-0.41053225912299807}}],"paths":["tiny_face_detector_model-shard1"]}]

@ -0,0 +1,10 @@
{
"video_ip": [
"webrtc://192.168.1.126/live/34020000001320000001",
"webrtc://192.168.1.126/live/34020000001320000002"
],
"video_ip_2": [
"webrtc://192.168.1.111/live/34020000001320000001",
"webrtc://192.168.1.111/live/34020000001320000002"
]
}

File diff suppressed because one or more lines are too long

12
shims.d.ts vendored

@ -0,0 +1,12 @@
/// <reference types="vite/client" />
/* eslint-disable */
declare module '*.vue' {
import type { DefineComponent } from 'vue'
const component: DefineComponent<{}, {}, any>
export default component
}
declare interface Window {
$loading: any,
$:any
}

@ -0,0 +1,131 @@
<script setup>
import { reactive, onMounted, watch, ref } from 'vue'
import { useStore } from './store'
import { onUnmounted } from 'vue'
import { useRouter, useRoute } from "vue-router"
import checkPage from "@/pages/takeStock/index.vue"
const { themeStore, timeStore, cabinetStore, webScortStore, commonStore } = useStore()
const router = useRouter()
window.$('body').virtualkeyboard()
window.addEventListener('click', () => timeStore.reciprocalSecond())
const colorTip = reactive(true)
onMounted(() => {
timeStore.currentTime()
themeStore.initTheme()
timeStore.reciprocalSecond()
commonStore.queryDayNum()
webScortStore.scortInit()
})
</script>
<template>
<router-view></router-view>
</template>
<style lang="less">
html {
// --van-font-size-xs: .2rem !important;
// --van-font-size-sm: .25rem !important;
// --van-font-size-md: .3rem !important;
// --van-font-size-lg: .45rem !important;
// --van-button-loading-icon-size: .4375rem !important;
--van-popover-action-font-size: .22rem !important;
// --van-button-loading-icon-size:.2604rem !important;
--van-overlay-z-index: 10 !important;
}
@import "./assets/modal.less";
@import "./assets/main.less";
.van-notify--success,
.van-notify--danger {
height: .9259rem !important;
font-size: .2963rem !important;
}
.inner-input {
border: 0.01rem solid #b6b9bf;
border-radius: 0.08rem;
padding: 0 .2rem;
height: 0.4rem;
font-size: .2rem;
}
.table-box {
max-width: 100%;
height: 45vh;
}
:deep(.van-popup--center) {
z-index: 999999999999999999 !important;
}
.modles-box {
width: 90vw;
margin: auto;
// min-height: 650px;
height: 65vh;
margin-top: .7813rem;
background: #FFFFFF;
border-radius: .0521rem;
padding: 20px;
position: relative;
z-index: 999;
}
.modles-box::after {
// content: "";
// width: 70vw;
// min-height: 650px;
// max-height: 70vh;
// border-radius: .0521rem;
// background-color: #ffffff;
// opacity: .4;
// position: absolute;
// top: 0;
// left: 0;
// display: block;
// z-index: 1;
}
// :deep(.van-notify__text) {
// text-align: left !important;
// }
.nochange-input {
background: transparent;
border: 1px solid rgb(144, 147, 147);
}
@media screen and (max-width:1080px) {
// .inputZone span {
// width: 0.77rem
// }
}
@media screen and(width:1920px),
screen and (height:1080px),
screen and(width:960px),
screen and (height:540px) {
.virtualkeyboard {
width: 100% !important;
}
.inputZone span {
width: .777rem !important;
height: .38333rem !important;
line-height: .38533rem !important;
}
}
</style>

@ -0,0 +1,26 @@
import request from "@/utils/request";
//获取账号安全信息
export function getSecureInfo() {
return request({
url: `/rms/cab/secure`,
method: 'get',
})
}
//密码安全下拉选项
export function getSecSelect() {
return request({
url: `/rms/cab/securepassword`,
method: 'get',
})
}
//编辑账号安全信息
export function updateSecureInfo(data: Object) {
return request({
url: `/rms/cab/secure/data`,
method: 'put',
data
})
}

@ -0,0 +1,128 @@
import request from "@/utils/request";
import { UpdateTerminalConfig, Cabinets, CabinetUpdate } from './interface/cabinet'
//修改终端信息
export function updateTerminalInfo(data: UpdateTerminalConfig) {
const cloneData = JSON.parse(JSON.stringify(data))
delete data.id
return request({
url: `/rms/cab/terminals/${cloneData.id}`,
method: 'put',
data
})
}
export function queryCabinetList(data?: Cabinets) {
return request({
url: '/rms/cab/cabinets',
method: 'get',
params: data
})
}
// 获取温度数据
export function getTemp() {
return request({
url: '/cabinet/v1/sensor ',
method: 'get',
// params: data
})
}
export function updateCabinets(data: CabinetUpdate) {
return request({
url: `/rms/cab/cabinets/${data.cabinet_id}`,
method: 'put',
data
})
}
//参数配置
export function updateDateConfig(data: any) {
console.log(data.json, '111')
return request({
url: `/rms/cab/cabinets/${data.id}`,
method: 'patch',
data: data.json
})
}
//今日统计
export function countToday() {
return request({
url: '/rms/cab/today',
method: 'get'
})
}
//开门
export function openCabinetDoor(data: any) {
return request({
url: '/cabinet/v1/open',
method: 'post',
data,
headers: {
'Content-Type': 'application/json'
}
})
}
//联级定位版配置
export function cabinetConfig(data: any) {
return request({
url: `/rms/cab/drawers/${data.id}`,
method: 'post',
data,
})
}
//修改联级定位版配置
export function updateCabinetConfig(data: any) {
return request({
url: `/rms/cab/drawers/${data.id}`,
method: 'put',
data,
})
}
//查询柜门是否关闭
export function queryCabinetDoor() {
return request({
url: `/cabinet/v1/quit`,
method: 'get',
})
}
//查询定位板的数量
export function queryPlate(cabinet_id:any) {
return request({
url: `/cab/drawers/${cabinet_id}`,
method: 'get',
})
}
//查询超高频读卡器
export function scanUhfReader() {
return request({
url: '/rms/cab/outside_reader/get_value',
method: 'get',
})
}
//查询超高频读卡器
export function enableUhfReader() {
return request({
url: '/rms/cab/outside_reader/enable',
method: 'get',
})
}
//查询超高频读卡器
export function disableUhfReader() {
return request({
url: '/rms/cab/outside_reader/disable',
method: 'get',
})
}

@ -0,0 +1,91 @@
import request from "@/utils/request";
import { DrawerId, Drawers, UpdateDrawers } from './interface/drawer'
import axios from "axios";
//抽屉列表
export function queryDrawers(data: any) {
console.log(data,'参数')
return request({
url: `/rms/cab/drawers/${data}`,
method: 'get'
})
}
//添加抽屉
export function addDrawer(data: Drawers) {
// console.log(data.id)
const id = data.id
delete data.id
console.log(data, '...')
return request({
url: `/rms/cab/drawers/${id}`,
method: 'post',
data: data
})
}
//抽屉修改
export function updateDrawerInfo(data: UpdateDrawers) {
console.log(data, 'axios 捏')
return request({
url: `/rms/cab/drawers/${data.drawer_id}`,
method: 'put',
data: data
})
}
//获取配置定位板
export function queryLocationCconfig(drawer_id: string) {
return request({
url: `/rms/cab/drawers/config/${drawer_id}`,
method: 'get',
})
}
//配置定位板
export function createLocationCconfig(data: any) {
console.log(data, '...')
return request({
url: `/rms/cab/drawers/config/${data.drawer_id}`,
method: 'post',
data: data
})
}
//删除定位板规格
export function deleteLocationConfig(id: string) {
return request({
url: `/rms/cab/drawers/config/${id}`,
method: 'delete'
})
}
let controller: AbortController;
//抽屉下的定位板详情
export function drawersLocationInfo(id: string) {
controller?.abort();
controller = new AbortController();
return request({
url: `/rms/cab/drawers/board/${id}`,
method: 'get',
signal: controller.signal
})
}
// export function drawersLocationInfo(id: string,controller:any) {
// console.log('------------')
// controller?.abort();
// controller = new AbortController();
// return request({
// url: `/rms/cab/drawers/board/${id}`,
// method: 'get',
// signal: controller.signal
// })
// }
export function drawersDrug(id: string) {
return request({
url: `/rms/cab/drawers/drug/${id}`,
method: 'get',
})
}

@ -0,0 +1,144 @@
import request from "@/utils/request";
import { CheckDurg } from "./interface/durg"
//试剂大类列表
export function queryDurgList() {
return request({
url: "/rms/cab/template/index",
method: 'get'
})
}
// //大类更新
// export function updateDurgType(data:any){
// return request({
// url: `/rms/cab/archives/${data.archive_id}`,
// method: 'put',
// data
// })
// }
//禁忌下拉选项
export function queryDurgTaboo() {
return request({
url: "/rms/cab/taboo",
method: 'get'
})
}
//禁忌校验
export function checkDurgTaboo(data: CheckDurg) {
console.log(data, 'request')
return request({
url: '/rms/cab/taboo',
method: 'post',
data: data
})
}
//下载入库模板
export function downloadExcel(data:any) {
// console.log(id,type)
return request({
url: `/rms/cab/template/${data.id}/download/${data.type}`,
method: 'get',
// params: data.type
})
}
//获取u盘中的模板
export function queryUsbInfo() {
return request({
url: `/rms/cab/uploads`,
method: 'get',
})
}
//导入入库模板
export function importExcel(data: any) {
const cloneData = JSON.parse(JSON.stringify(data))
delete data.id
console.log(data)
return request({
url: `/rms/cab/uploads/${cloneData.id}`,
method: 'post',
data: data
})
}
//大类模板配置
export function updateDurgTypeXlsx(data: any) {
return request({
url: `/rms/cab/template/${data.archive_id}/xlsx`,
method: 'put',
data
})
}
//大类默认参数
export function updateDurgTypeParams(data: any) {
console.log(data.archive_id)
return request({
url: `/rms/cab/template/${data.params.archive_id}/params`,
method: 'put',
data
})
}
//默认入库字段
export function defaultStorageKey(id: string) {
return request({
url: `/rms/cab/template/${id}/xlsx`,
method: 'get'
})
}
//用户导入模板
export function uploadModuleName() {
return request({
url: `/rms/cab/uploads/index`,
method: 'get'
})
}
//模板列表
export function queryTemplateList() {
return request({
url: '/rms/cab/template/index',
method: 'get'
})
}
//药剂领用
export function receiveDrug(bar_code:any) {
return request({
url: `/rms/terminal/drugs/receive/${bar_code}`,
method: 'put'
})
}
//绑定入库
export function bindStrageDrugs(data: any, id: any) {
// const cloneData = JSON.parse(JSON.stringify(data))
// delete data.id
return request({
url: `/rms/terminal/warehousing/binding/${id}`,
method: 'post',
data: data
})
}
//定位药剂位置
export function drugsBlink(data: any) {
return request({
url: `/rms/cab/drugs/blink`,
method: 'post',
data: data
})
}

@ -0,0 +1,36 @@
import request from "@/utils/request";
//领用列表
export function qeuryReturnList() {
return request({
url: '/rms/cab/drugs/put_in',
method: 'get',
})
}
export function saveDurgWeight(data: any) {
return request({
url: '/rms/cab/drugs/weight',
method: 'post',
data
})
}
//置为空瓶
export function setEmptyDrugs(data: any) {
return request({
url: '/rms/cab/drugs/empty',
method: 'post',
data
})
}
//转移药剂放错库查询 药剂是否原路返回
export function postBacktrack(data: any) {
return request({
url: '/rms/cab/drugs/backtrack',
method: 'post',
data
})
}

@ -0,0 +1,128 @@
import request from "@/utils/request";
import { queryCabinetList } from "./cabinet";
//用户入库模板
export function storageTemplate(id: any) {
// const cloneData = JSON.parse(JSON.stringify(data))
// delete data.id
return request({
url: `/rms/cab/uploads/history/${id}`,
method: 'get',
})
}
//试剂模板条目更改
export function durgChange(data: any) {
const cloneData = JSON.parse(JSON.stringify(data))
delete data.id
return request({
url: `/rms/cab/${cloneData.id}`,
method: 'put',
data: data
})
}
//单品创建
export function createSingItem(data: any) {
const cloneData = JSON.parse(JSON.stringify(data))
delete data.id
return request({
url: `/rms/cab/uploads/item/${cloneData.id}`,
method: 'post',
data: data
})
}
//绑定入库
export function bindStrageDrug(data: any, id: string) {
// const cloneData = JSON.parse(JSON.stringify(data))
// delete data.id
return request({
url: `/rms/cab/warehousing/binding/${id}`,
method: 'post',
data: data
})
}
//RFID试剂详情
export function queryDrugInfoByRfid(data: any) {
console.log(data)
return request({
url: '/rms/cab/drugs',
method: 'post',
data
})
}
//RFID试剂异常信息
export function queryDrugErrorByRfid(data: any) {
console.log(data, '....NEI')
return request({
url: '/rms/cab/drugs/except',
method: 'post',
data
})
}
//单品入库模板条目
export function singStorageTemplate(archive_id) {
return request({
url: `/rms/cab/uploads/item/${archive_id}`,
method: 'get',
// data
})
}
//大类下拉列表
export function querySelectArchive() {
return request({
url: '/rms/cab/archives',
method: 'get'
})
}
//获取用户历史模板
export function queryHistorySelect(id: string) {
return request({
url: `/rms/cab/uploads/history/${id}/list`,
method: 'get'
})
}
//单品入库检索
export function querySingleSelect(data: any) {
const cloneData = JSON.parse(JSON.stringify(data))
delete data.id
return request({
url: `/rms/cab/uploads/${cloneData.id}`,
method: 'get',
params: data
})
}
export function querySingleInfo(data: any) {
return request({
url: `/rms/cab/uploads/info/${data.id}`,
method: 'get',
})
}
//获取重量
export function interQueryWeight() {
return request({
url: `/rms/cab/balance/get_balance`,
method: 'get',
})
}
//去皮
export function removePeel() {
return request({
url: `/rms/cab/balance/get_tare`,
method: 'get',
})
}

@ -0,0 +1,11 @@
import request from "@/utils/request";
//领用列表
export function qeuryReceiveList(data?:any){
return request({
url:'/rms/cab/drugs/take_out',
method:'get',
params:data
})
}

@ -0,0 +1,10 @@
import request from "@/utils/request";
import { PageData} from './interface/flowLog'
//流转日志列表
export function getList(data: PageData) {
return request({
url: `/rms/cab/logs/drug`,
method: 'post',
data
})
}

@ -0,0 +1,23 @@
export interface UpdateTerminalConfig {
name: string
title: string
login_count: number
index_of_user:0
params:any
template_id:string
id?:string
}
export interface Cabinets {
page_no: number,
page_size: number,
keyWorld: string
}
export interface CabinetUpdate {
cabinet_id: string
rank?: number,
label?: string,
location?: string,
matrix?: string
}

@ -0,0 +1,21 @@
export interface DrawerId {
drawer_id: string
}
export interface Drawers {
line_no: number,
label: string,
tags: string,
rank: number,
id?:string
}
export interface UpdateDrawers {
line_no: number,
label: string,
tags: string,
rank: number,
cabinet_id:string
drawer_id: string
}

@ -0,0 +1,4 @@
export interface CheckDurg {
mine: string,
othn: string
}

@ -0,0 +1,13 @@
export interface PageData {
page_size: number
page_no: number
keyword?:string | null
}
export interface UsersList extends PageData {
username?:string | null
grade?:number
is_expired?:boolean
}

@ -0,0 +1,8 @@
export interface BoardInfo {
name: string
holable: number
standard: number
matrix: string
chip_dict: any
board_id?:string
}

@ -0,0 +1,13 @@
export interface PageData {
page_size: number
page_no: number
keyword?:string | null
}
export interface UsersList extends PageData {
username?:string | null
grade?:number
is_expired?:boolean
}

@ -0,0 +1,5 @@
export interface RoleInfo {
name: string,
masks: string,
admin: boolean
}

@ -0,0 +1,28 @@
export interface DrugTypeQuery {
page_size?: number,
current?: number
}
export interface UploadModule {
archive_id: string
}
export interface UpdateDrugOption extends UploadModule {
storage_require_weigh: boolean,
receive_use_duration: number | null,
return_require_weigh: boolean,
alert_less_than: number | null,
alert_close_to: number | null
}
interface WarehosingItem {
key: string,
name: string,
required: boolean,
freeze?: boolean,
choose: boolean
}
export interface UpdateWarehoseing{
post: WarehosingItem[]
}

@ -0,0 +1,9 @@
export interface UpdateTerminalConfig {
name: string
title: string
login_count: number
index_of_user:0
params:any
template_id:string
id?:string
}

@ -0,0 +1,58 @@
export interface UserDataLogin {
username: string
password: string
};
export interface UserBaseInfo {
name: string
role_id: number
}
export interface PageData {
page_size: number
page_no: number
}
export interface AddUser{
username: string
name: string
role_id: number
}
export interface UserId {
id: string
}
export interface UpdateUserInfo extends UserId, UserBaseInfo { }
export interface UpdatePassword extends UserId {
password: string |undefined
}
export interface UsersList extends PageData {
username?:string | null
grade?:number
is_expired?:boolean
}
export interface BindFace {
raw: string,
id?:string
}
export interface FaceLogin {
feild: FormData
}
export interface UserFaceInfo {
source_id:string,
target_id:string
}
export interface userSelf{
name:string
password:string
id?:string
}

@ -0,0 +1,38 @@
import request from "@/utils/request";
import { BoardInfo } from "./interface/location"
//定位板规格列表
export function queryLocationTemplate() {
return request({
url: '/rms/cab/board',
method: 'get'
})
}
//修改定位板规格
export function updateLocationTemplate(data: BoardInfo) {
return request({
url: `/rms/cab/board/${data.board_id}`,
method: 'put',
data
})
}
//创建定位板规格
export function createLocationTemplate(data: BoardInfo) {
return request({
url: '/rms/cab/board',
method: 'post',
data
})
}
//删除定位板规格
export function deleteLocationTemlate(id: string) {
console.log('1111')
return request({
url: `/rms/cab/board/${id}`,
method: 'delete'
})
}

@ -0,0 +1,28 @@
import request from "@/utils/request";
//下位机列表
export function queryList(id:string,data: object) {
return request({
url: `/rms/cab/plane/cabinet_files/${id}`,
method: 'get',
params: data
})
}
// export function queryList(data: object) {
// return request({
// url: `/rms/cab/plane/cabinet_files/${id}`,
// method: 'get',
// params: data
// })
// }
//下载日志
export function downloadLog(cabinet_id: string,file_name:string) {
return request({
// url: `/rms/cab/templates/downloads/${id}`,
url: `/rms/cab/plane/download/${cabinet_id}/${file_name}`,
method: 'get',
// responseType: 'blob'
})
}

@ -0,0 +1,73 @@
import request from "@/utils/request";
//监控配置列表
export function queryVisionsList() {
return request({
url: `/rms/cab/hikvisions`,
method: 'get',
})
}
//监控配置列表
export function getChannel(cabinet_id) {
return request({
url: `/rms/cab/hikvisions/${cabinet_id}`,
method: 'get',
})
}
//柜体管理列表
export function queryCabinetsList() {
return request({
url: `/rms/cab/cabinets`,
method: 'get',
})
}
//创建监控配置
export function createVisions(data:Object) {
return request({
url: '/rms/cab/hikvisions',
method: 'post',
data
})
}
//删除监控配置
export function deleteVisions(id:string) {
return request({
url: `/rms/cab/hikvisions/${id}`,
method: 'delete',
})
}
//视频监控日期回放列表
// export function getVideoList(date:String) {
// return request({
// url: `/rms/cab/files/${date}`,
// method: 'get',
// })
// }
export function getVideoList(pid:String,date:String) {
return request({
url: `/rms/cab/files/${pid}/${date}`,
method: 'get',
})
}
export function filesRead(pid:String,date:String) {
return request({
url: `/rms/cab/files_read/${pid}/${date}`,
method: 'get',
})
}
//视频监控下载
export function getDownFile(pid:String,file_name:String) {
return request({
url: `/rms/cab/download_file/${pid}/${file_name}`,
method: 'get',
responseType: 'blob'
})
}
//视频导出
export function videoExport(pid,data) {
return request({
url: `/rms/cab/download_file/${pid}`,
method: 'post',
data
})
}

@ -0,0 +1,19 @@
import axios from "axios";
import { showNotify } from "vant"
export function commandOpenDoor(data:any) {
axios({
method: 'post', url: `http://100.64.0.1/api/cabinet/v1/open`, data, headers: {
'Content-Type': 'application/json'
}
}).then(doorRet => {
if (doorRet.data.code == 200) {
// WebSocketFun()
} else if (doorRet.data.code == 201) {
showNotify({ message: '请先打开柜门' })
} else {
showNotify({ message: '请先关闭其他抽屉!' })
}
})
}

@ -0,0 +1,10 @@
import request from "@/utils/request";
import { PageData} from './interface/platformLog'
//平台日志列表
export function getList(data: PageData) {
return request({
url: `/rms/cab/logs`,
method: 'get',
params: data
})
}

@ -0,0 +1,19 @@
import request from "@/utils/request";
//获取药剂字典列表
export function getDictionaries(params) {
return request({
url: '/rms/cab/drugs/dictionaries',
method: 'get',
params: params
})
}
//编辑药剂字典
export function updateDictionary(id,data) {
return request({
url: `/rms/cab/drugs/dictionary/${id}`,
method: 'put',
data
})
}

@ -0,0 +1,78 @@
import request from "@/utils/request";
//获取库存量统计
export function queryInventory(data:object) {
return request({
url: '/rms/cab/remain',
method: 'post',
data:data,
})
}
//获取库存量明细
export function queryInventoryDetail(data:object) {
return request({
url: '/rms/cab/inventory',
method: 'get',
params:data
})
}
//获取使用明细
export function queryUseDetail(data:object) {
return request({
url: '/rms/cab/use',
method: 'post',
data:data,
})
}
//入库统计
export function putStatistics(data:object) {
return request({
url: '/rms/cab/put_in',
method: 'post',
data:data
})
}
//试剂用量
export function dosage(data:object) {
return request({
url: '/rms/cab/dosage',
method: 'post',
data:data
})
}
//呆滞物料
export function slack(params:object) {
return request({
url: '/rms/cab/slack',
method: 'get',
params:params,
})
}
//环境记录
export function environmental(params:object) {
return request({
url: '/rms/cab/environmental',
method: 'get',
params:params,
})
}
//大类下拉选项
export function getSelectData(drug_name) {
return request({
// url: '/rms/cab/report/archives',
url: `/rms/cab/archives/${drug_name}`,
method: 'get',
// params:params,
})
}
//报表导出
export function postCabExport(key: any) {
return request({
// url: '/rms/cab/report/archives',
url: `/rms/cab/export/${key}`,
method: 'post',
data:{},
})
}

@ -0,0 +1,43 @@
import request from "@/utils/request";
import {RoleInfo } from "./interface/role"
//模块清单
export function queryRoleMenu() {
return request({
url: `/rms/cab/role/menu`,
method: 'get',
})
}
//列表
export function queryRoleList() {
return request({
url: `/rms/cab/role`,
method: 'get',
})
}
//创建角色
export function createRole(data:RoleInfo) {
return request({
url: '/rms/cab/role',
method: 'post',
data
})
}
//编辑角色
export function updateRole(data: Object,id:String) {
return request({
url: `/rms/cab/role/${id}`,
method: 'put',
data
})
}
//删除角色
export function deleteRole(id:string) {
return request({
url: `/rms/cab/role/${id}`,
method: 'delete',
})
}

@ -0,0 +1,68 @@
import request from "@/utils/request";
import { DrugTypeQuery, UploadModule, UpdateDrugOption ,UpdateWarehoseing} from "./interface/template"
//入库模板详情
export function warehosingDetail(data:UploadModule) {
return request({
url: `/rms/cab/storages/${data.archive_id}`,
method: 'get',
// data
})
}
export function updateWarehoseing(data:UpdateWarehoseing,id:string){
return request({
url: `/rms/cab/storages/${id}`,
method: 'put',
data:data.post
})
}
//导出模板
export function deriveModule(data: UploadModule) {
return request({
url: "/rms/cab/export",
method: "post",
data
})
}
//导出历史模板
export function deriveHistoryModule(data: UploadModule) {
return request({
url: "/rms/cab/upload/history",
method: "post",
data
})
}
//查询试剂大类
export function drugType(data?: DrugTypeQuery) {
return request({
url: '/rms/cab/archives',
method: 'get',
params: data
})
}
//修改试剂大类参数
export function updateDrugOption(data: UpdateDrugOption) {
return request({
url: `/rms/cab/archives/${data.archive_id}`,
method: "put",
data
})
}
//试剂默认模板详情
export function drugDefaultOption(data: UploadModule) {
return request({
url: `/rms/cab/archives/${data.archive_id}`,
method: "get",
// params: data
})
}

@ -0,0 +1,34 @@
import request from "@/utils/request";
import {UpdateTerminalConfig} from './interface/terminallnfo'
//获取终端信息
export function queryTerminal() {
return request({
url: `/rms/cab/terminals`,
method: 'get',
})
}
//获取终端列表
export function queryTerminalList() {
return request({
url: `/rms/cab/cabinets`,
method: 'get',
})
}
//获取试剂
export function getSelectList() {
return request({
url: `/rms/cab/template/index`,
method: 'get',
})
}
export function updateTerminalInfo(data: UpdateTerminalConfig) {
const cloneData = JSON.parse(JSON.stringify(data))
delete data.id
return request({
url: `/rms/cab/terminals/${cloneData.id}`,
method: 'put',
data
})
}

@ -0,0 +1,137 @@
import request from "@/utils/request";
import { UserDataLogin, AddUser, UserId, UpdateUserInfo, UpdatePassword, UsersList, BindFace, FaceLogin, UserFaceInfo ,userSelf} from './interface/user'
//登录
export function userLogin(data: UserDataLogin) {
return request({
url: '/rms/cab/sessions',
// url: '/rms/cab/terminal', //1800竖屏
method: 'post',
data
})
}
//创建用户
export function userRegister(data: AddUser) {
return request({
url: '/rms/cab/users',
method: 'post',
data,
})
}
//获取用户信息
export function queryUserInfo(id: UserId) {
return request({
url: `/rms/cab/users/${id}`,
method: 'get',
})
}
//修改用户信息
export function updateUserInfo(data: UpdateUserInfo) {
return request({
url: `/rms/cab/users/${data.id}`,
method: 'put',
data
})
}
//锁定账户
// 0解锁
// 1锁定
export function closeUserStatus(data: UserId) {
return request({
url: `/rms/cab/users/${data.id}`,
method: 'delete',
data
})
}
//修改密码
export function updatePassword(data: UpdatePassword) {
return request({
url: `/rms/cab/users/${data.id}`,
method: 'patch',
data
})
}
export function queryUserList(data: Object) {
return request({
url: '/rms/cab/users',
method: 'get',
params: data
})
}
//人脸信息绑定
export function userRegisFace(data: BindFace) {
return request({
url: `/rms/cab/sessions/face/${data.id}`,
method: 'put',
data: data,
// headers: { "Content-Type": "multipart/form-data" },
})
}
//人脸登录
export function userFaceLogin(data: FaceLogin) {
return request({
url: '/rms/cab/sessions/face',
method: 'post',
data,
})
}
//人脸信息更换绑定
export function userFaceInfoChange(data: UserFaceInfo) {
return request({
url: '/rms/cab/sessions/face',
method: 'patch',
data,
})
}
//柜体权限、
export function userCabinetRole() {
return request({
url: 'rms/cab/terminals/cabinets',
method: 'get',
})
}
//获取用户柜体权限
export function queryUserCabinetRole(id:any) {
return request({
url: `rms/cab/users/${id}/drawers`,
method: 'get',
})
}
//更新用户柜体权限
export function updateUserCabinetRole(data:any){
const cloneData = JSON.parse(JSON.stringify(data))
console.log(cloneData.drawers)
// console.log(da)
delete data[0].id
return request({
url:`/rms/cab/users/${cloneData[0].id}/drawers`,
method:'put',
data:data
})
}
//修改个人信息
export function updateUserSelInfo(data:userSelf){
const cloneData = JSON.parse(JSON.stringify(data))
console.log(cloneData.drawers)
delete data.id
return request({
url:`/rms/cab/users/${cloneData.id}`,
method:'patch',
data:data
})
}

@ -0,0 +1,53 @@
import request from "@/utils/request";
//试剂临期
export function getNear(data:object) {
return request({
url: '/rms/cab/warning/near_expired',
method: 'get',
params:data
})
}
//试剂过期
export function getAlready(data:object) {
return request({
url: '/rms/cab/warning/already_expired',
method: 'get',
params:data
})
}
//试剂库存不足
export function getLack(data:object) {
return request({
url: '/rms/cab/warning/lack_stock',
method: 'get',
params:data
})
}
//逾期未归还
export function getOverdue(data:object) {
return request({
url: '/rms/cab/warning/overdue_return',
method: 'get',
params:data
})
}
//归还未称重
export function getWeight(data:object) {
return request({
url: '/rms/cab/warning/return_weight',
method: 'get',
params:data
})
}
// 修改过期时间(试剂信息修改)
export function updatExpired(data: Object) {
return request({
url: "/rms/cab/drugs/expired_at",
method: "put",
data
})
}

@ -0,0 +1,22 @@
/* 弹出框样式修改 */
.vxe-modal--wrapper .vxe-modal--box{
width:3.2083rem;
}
.vxe-modal--wrapper .vxe-modal--header{
font-size:0.1458rem;
background:#333;
color:var(--textColor);
border:0;
}
.vxe-modal--wrapper.type--confirm .vxe-modal--box{
border:0;
font-size:0.1458rem;
background:#333;
color:var(--textColor)
}
.vxe-button.type--button{
display: inline-block;
width:.5208rem;
height:0.2604rem;
font-size:.125rem;
}

@ -0,0 +1,22 @@
.body,
html {
//表单输入框
.van-field__error-message,
.van-field__control,
.van-field__label {
font-size: .2963rem;
padding: .2407rem .2778rem;
}
.self-btn {
width: 1.8519rem;
height: .4167rem;
font-size: .2963rem;
}
.self-height {
height: .4167rem;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 911 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1022 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1004 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 913 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save