Compare commits
16 Commits
Author | SHA1 | Date |
---|---|---|
|
ac41773095 | 4 months ago |
|
82d0235c87 | 4 months ago |
|
95f3d9dabe | 4 months ago |
|
f3c98ea020 | 4 months ago |
|
d71e90323f | 4 months ago |
|
76ebaea6be | 4 months ago |
|
27a6b21ab3 | 4 months ago |
|
6d8b06cc33 | 4 months ago |
|
f0f822fc1f | 4 months ago |
|
2f969b9e3a | 4 months ago |
|
bdc8dae729 | 4 months ago |
|
e5889c6eaa | 4 months ago |
|
0c41216125 | 4 months ago |
|
28989fe11f | 4 months ago |
|
413841f7db | 4 months ago |
|
60dee5a31a | 4 months ago |
13 changed files with 236 additions and 187 deletions
@ -1,16 +1,16 @@ |
|||||
# 页面标题 |
# 页面标题 |
||||
VUE_APP_TITLE = 智能化衣柜 |
VUE_APP_TITLE = 考勤签到管理系统 |
||||
|
|
||||
# 生产环境配置 |
# 生产环境配置 |
||||
NODE_ENV = 'production' |
NODE_ENV = 'production' |
||||
|
|
||||
|
|
||||
# 大唐 |
# 大唐 |
||||
VUE_APP_BASE_API = '/commen_api/' |
VUE_APP_BASE_API = '/multimodal/' |
||||
VUE_APP_IMG_URL = '/commen_api/' |
VUE_APP_IMG_URL = '/multimodal/' |
||||
VUE_APP_API_QZURL = '/commen_api/' |
VUE_APP_API_QZURL = '/multimodal/' |
||||
|
|
||||
# 访问路径 |
# 访问路径 |
||||
VUE_APP_PUBLIC_PATH = '/commen/' |
VUE_APP_PUBLIC_PATH = '/multimodal_yf/attendSys/' |
||||
|
|
||||
|
|
||||
|
@ -1,116 +1,49 @@ |
|||||
import request from "@/utils/request"; |
import request from "@/utils/request"; |
||||
// ------ 教务处学校管理 ------
|
// 获取设备信息
|
||||
|
export function attributes(data) { |
||||
// 学校列表
|
|
||||
export function schoolList(data) { |
|
||||
return request({ |
return request({ |
||||
url: "/school/list", |
url: "/app/device/attributes", |
||||
method: "post", |
method: "get", |
||||
data: data, |
params: data, |
||||
}); |
|
||||
} |
|
||||
// 新增/修改学校
|
|
||||
export function schoolAdd(data) { |
|
||||
return request({ |
|
||||
url: "/school/add", |
|
||||
method: "post", |
|
||||
data: data, |
|
||||
}); |
|
||||
} |
|
||||
// 新增/修改学校
|
|
||||
export function schoolDel(data) { |
|
||||
return request({ |
|
||||
url: "/school/del", |
|
||||
method: "post", |
|
||||
data: data, |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
// ------ 教务处评审管理 ------
|
|
||||
// 评审列表
|
|
||||
export function commentList(data) { |
|
||||
return request({ |
|
||||
url: "/come/list", |
|
||||
method: "post", |
|
||||
data: data, |
|
||||
}); |
|
||||
} |
|
||||
// 评审详情
|
|
||||
export function reviewDetails(data) { |
|
||||
return request({ |
|
||||
url: "/come/detail", |
|
||||
method: "post", |
|
||||
data: data, |
|
||||
}); |
}); |
||||
} |
} |
||||
// ------ 专家评审 ------
|
// 根据项目key查找项目id
|
||||
// 学校列表
|
export function queryProjectInfoByKey(data) { |
||||
|
|
||||
export function expertschoolist(data) { |
|
||||
return request({ |
return request({ |
||||
url: "/expert/school/list", |
url: "/app/device/queryProjectInfoByKey", |
||||
method: "post", |
method: "get", |
||||
data: data, |
params: data, |
||||
}); |
|
||||
} |
|
||||
// 评审详情
|
|
||||
export function expertReviewDetails(data) { |
|
||||
return request({ |
|
||||
url: "/expert/comment/list", |
|
||||
method: "post", |
|
||||
data: data, |
|
||||
}); |
|
||||
} |
|
||||
// 评审
|
|
||||
export function expertReviewAdd(data) { |
|
||||
return request({ |
|
||||
url: "/expert/comment/add", |
|
||||
method: "post", |
|
||||
data: data, |
|
||||
}); |
}); |
||||
} |
} |
||||
// ------ 分片相关接口 ------
|
// 根据项目id查找设备列表
|
||||
|
export function deviceList(data) { |
||||
// 校验文件是否已上传
|
|
||||
export function register(data) { |
|
||||
return request({ |
return request({ |
||||
url: "/mediaUpload/register", |
url: "/app/device/list", |
||||
method: "post", |
method: "get", |
||||
data: data, |
params: data, |
||||
}); |
}); |
||||
} |
} |
||||
// 校验分片是否已上传
|
// 设备日志
|
||||
export function checkchunk(data) { |
export function attributesRecord(data) { |
||||
return request({ |
return request({ |
||||
url: "/mediaUpload/checkchunk", |
url: "/app/device/attributes/record", |
||||
method: "post", |
method: "get", |
||||
data: data, |
params: data, |
||||
}); |
}); |
||||
} |
} |
||||
// 循环上传分片
|
// 下发属性
|
||||
export function uploadchunk(data) { |
export function sendAttribute(data) { |
||||
return request({ |
return request({ |
||||
url: "/mediaUpload/uploadchunk", |
url: "/app/device/sendAttribute", |
||||
method: "post", |
method: "post", |
||||
data: data, |
data: data, |
||||
headers: { |
|
||||
"Content-Type": "multipart/form-data", |
|
||||
}, |
|
||||
}); |
}); |
||||
} |
} |
||||
// 合并分片
|
// 下发命令
|
||||
export function mergechunks(data) { |
export function sendCommand(data) { |
||||
return request({ |
return request({ |
||||
url: "/mediaUpload/mergechunks", |
url: "/app/device/sendCommand", |
||||
method: "post", |
method: "post", |
||||
data: data, |
data: data, |
||||
}); |
}); |
||||
} |
} |
||||
// 合并后上传文件
|
|
||||
export function addFile(data) { |
|
||||
return request({ |
|
||||
url: "/netdisk/file/add", |
|
||||
method: "post", |
|
||||
data: data, |
|
||||
}); |
|
||||
} |
|
@ -1,86 +1,199 @@ |
|||||
<template> |
<template> |
||||
<div style="padding: 16px"> |
<div class="app-container"> |
||||
<!-- <img src="./welcome.5e305008.png" style="" /> --> |
<el-row :gutter="10" class="mb8"> |
||||
|
<!-- <el-col :span="1.5"> |
||||
|
<el-button |
||||
|
type="primary" |
||||
|
plain |
||||
|
size="mini" |
||||
|
@click="handleAdd" |
||||
|
>远程开锁</el-button> |
||||
|
</el-col> --> |
||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getAttributes(deviceId)"></right-toolbar> |
||||
|
</el-row> |
||||
|
|
||||
|
<el-table v-loading="loading" :data="tableList" max-height="600"> |
||||
|
<el-table-column label="序号" align="center" prop="noticeId" width="100" > |
||||
|
<template slot-scope="scope"> |
||||
|
{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }} |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
|
||||
|
<el-table-column |
||||
|
label="时间" |
||||
|
align="center" |
||||
|
prop="reportTime" |
||||
|
:show-overflow-tooltip="true" |
||||
|
min-width="100" |
||||
|
/> |
||||
|
<el-table-column |
||||
|
label="类型" |
||||
|
align="center" |
||||
|
prop="tips" |
||||
|
:show-overflow-tooltip="true" |
||||
|
min-width="100" |
||||
|
/> |
||||
|
<el-table-column |
||||
|
label="ID" |
||||
|
align="center" |
||||
|
prop="attributeValue.id" |
||||
|
:show-overflow-tooltip="true" |
||||
|
min-width="100" |
||||
|
/> |
||||
|
</el-table> |
||||
|
<pagination |
||||
|
v-show="total>0" |
||||
|
:total="total" |
||||
|
:page.sync="queryParams.pageNum" |
||||
|
:limit.sync="queryParams.pageSize" |
||||
|
@pagination="getqueryProjectInfoByKey" |
||||
|
/> |
||||
</div> |
</div> |
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
|
import { |
||||
|
queryProjectInfoByKey, |
||||
|
deviceList, |
||||
|
attributes, |
||||
|
sendAttribute, |
||||
|
sendCommand, |
||||
|
attributesRecord, |
||||
|
} from "@/api/school"; |
||||
|
|
||||
export default { |
export default { |
||||
name: "Index", |
name: "Notice", |
||||
data() { |
data() { |
||||
return { |
return { |
||||
// 版本号 |
deviceId: "", // 设备id |
||||
version: "3.8.9", |
// 遮罩层 |
||||
|
loading: true, |
||||
|
// 选中数组 |
||||
|
ids: [], |
||||
|
// 非单个禁用 |
||||
|
single: true, |
||||
|
// 非多个禁用 |
||||
|
multiple: true, |
||||
|
// 显示搜索条件 |
||||
|
showSearch: true, |
||||
|
// 总条数 |
||||
|
total: 0, |
||||
|
// 公告表格数据 |
||||
|
tableList: [], |
||||
|
// 弹出层标题 |
||||
|
title: "", |
||||
|
// 是否显示弹出层 |
||||
|
open: false, |
||||
|
// 查询参数 |
||||
|
queryParams: { |
||||
|
pageNum: 1, |
||||
|
pageSize: 10, |
||||
|
}, |
||||
|
// 表单参数 |
||||
|
form: {}, |
||||
|
// 表单校验 |
||||
|
rules: { |
||||
|
noticeTitle: [ |
||||
|
{ required: true, message: "公告标题不能为空", trigger: "blur" }, |
||||
|
], |
||||
|
noticeType: [ |
||||
|
{ required: true, message: "公告类型不能为空", trigger: "change" }, |
||||
|
], |
||||
|
}, |
||||
}; |
}; |
||||
}, |
}, |
||||
|
created() { |
||||
|
this.getqueryProjectInfoByKey(); |
||||
|
}, |
||||
methods: { |
methods: { |
||||
goTarget(href) { |
handleSendCommand() { |
||||
window.open(href, "_blank"); |
sendCommand({ |
||||
|
commandId: "447242774207233", // 命令ID, |
||||
|
commandParams: 1, // 命令参数, |
||||
|
deviceId: this.deviceId, |
||||
|
}).then((res) => { |
||||
|
this.$message.success("操作成功"); |
||||
|
this.getAttributes(this.deviceId); // 根据项目id查找设备列表 |
||||
|
}); |
||||
|
}, |
||||
|
// 阈值设定弹窗 |
||||
|
handleSettings() { |
||||
|
this.open = true; |
||||
|
this.form = { |
||||
|
threshold: this.deviceInfo.threshold, |
||||
|
}; |
||||
|
// this.$message.success(''); |
||||
|
}, |
||||
|
|
||||
|
// 根据项目key查找项目id |
||||
|
getqueryProjectInfoByKey() { |
||||
|
this.loading = true; |
||||
|
queryProjectInfoByKey({ |
||||
|
projectKey: "qKStHKKt", |
||||
|
}).then((res) => { |
||||
|
this.getDeviceList(res.data.id); // 根据项目id查找设备列表 |
||||
|
}); |
||||
|
}, |
||||
|
// 根据项目id查找设备列表 |
||||
|
getDeviceList(_id) { |
||||
|
deviceList({ |
||||
|
projectId: _id, |
||||
|
}).then((res) => { |
||||
|
const w2Device = res.rows.find((device) => device.deviceName === "A1"); |
||||
|
this.deviceId = w2Device.id; |
||||
|
this.getAttributes(this.deviceId); // 根据设备id查找设备信息 |
||||
|
}); |
||||
|
}, |
||||
|
|
||||
|
// 根据设备id查找设备信息 |
||||
|
getAttributes(_id) { |
||||
|
attributesRecord({ |
||||
|
pageNum: this.queryParams.pageNum, |
||||
|
pageSize: this.queryParams.pageSize, |
||||
|
deviceId: _id, |
||||
|
}).then((res) => { |
||||
|
this.loading = false; |
||||
|
let isOpenValue = { |
||||
|
0: "开锁失败", |
||||
|
1: "开锁成功", |
||||
|
}; |
||||
|
let typeValue = { |
||||
|
A1: "指纹", |
||||
|
A2: "人脸", |
||||
|
}; |
||||
|
res.rows.forEach((item) => { |
||||
|
item.attributeValue = JSON.parse(item.attributeValue); |
||||
|
item.tips = `${typeValue[item.attributeValue.type]}`; |
||||
|
}); |
||||
|
this.tableList = res.rows; |
||||
|
this.total = res.total; |
||||
|
}); |
||||
|
}, |
||||
|
/** 下发属性 */ |
||||
|
submitForm: function () { |
||||
|
this.$refs["form"].validate((valid) => { |
||||
|
if (valid) { |
||||
|
let param = { Wen: `#${this.form.threshold}` }; // 阈值 |
||||
|
sendAttribute({ |
||||
|
attributeParams: JSON.stringify(param), // 阈值JSON字符串 |
||||
|
deviceId: this.deviceId, // 设备id |
||||
|
}).then((response) => { |
||||
|
this.getAttributes(this.deviceId); // 根据设备id查找设备信息 |
||||
|
this.$modal.msgSuccess("操作成功"); |
||||
|
this.open = false; |
||||
|
}); |
||||
|
} |
||||
|
}); |
||||
|
}, |
||||
|
/** 新增按钮操作 */ |
||||
|
handleAdd() { |
||||
|
this.$message.success("操作成功"); |
||||
}, |
}, |
||||
}, |
}, |
||||
}; |
}; |
||||
</script> |
</script> |
||||
|
<style scoped > |
||||
<style scoped lang="scss"> |
>>> .top-right-btn .el-button:nth-of-type(1) { |
||||
.home { |
display: none; |
||||
blockquote { |
|
||||
padding: 10px 20px; |
|
||||
margin: 0 0 20px; |
|
||||
font-size: 17.5px; |
|
||||
border-left: 5px solid #eee; |
|
||||
} |
|
||||
hr { |
|
||||
margin-top: 20px; |
|
||||
margin-bottom: 20px; |
|
||||
border: 0; |
|
||||
border-top: 1px solid #eee; |
|
||||
} |
|
||||
.col-item { |
|
||||
margin-bottom: 20px; |
|
||||
} |
|
||||
|
|
||||
ul { |
|
||||
padding: 0; |
|
||||
margin: 0; |
|
||||
} |
|
||||
|
|
||||
font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif; |
|
||||
font-size: 13px; |
|
||||
color: #676a6c; |
|
||||
overflow-x: hidden; |
|
||||
|
|
||||
ul { |
|
||||
list-style-type: none; |
|
||||
} |
|
||||
|
|
||||
h4 { |
|
||||
margin-top: 0px; |
|
||||
} |
|
||||
|
|
||||
h2 { |
|
||||
margin-top: 10px; |
|
||||
font-size: 26px; |
|
||||
font-weight: 100; |
|
||||
} |
|
||||
|
|
||||
p { |
|
||||
margin-top: 10px; |
|
||||
|
|
||||
b { |
|
||||
font-weight: 700; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.update-log { |
|
||||
ol { |
|
||||
display: block; |
|
||||
list-style-type: decimal; |
|
||||
margin-block-start: 1em; |
|
||||
margin-block-end: 1em; |
|
||||
margin-inline-start: 0; |
|
||||
margin-inline-end: 0; |
|
||||
padding-inline-start: 40px; |
|
||||
} |
|
||||
} |
|
||||
} |
} |
||||
</style> |
</style> |
Binary file not shown.
Loading…
Reference in new issue