人脸设备对接完成

This commit is contained in:
xiayuping666
2024-05-13 18:01:58 +08:00
parent 8efb16a791
commit 27e92af29d
5 changed files with 209 additions and 170 deletions
+2 -2
View File
@@ -99,7 +99,7 @@ export function cutUpload (file, isFace = false, backUploadProgress){
uploadFile(file, function(Progress) {
backUploadProgress(Progress)
}, isFace, function(faceData){
resolve({...obj, ...faceData})
// resolve({...obj, ...faceData})
})
// 判断任务 是否存在
@@ -128,7 +128,7 @@ export function cutUpload (file, isFace = false, backUploadProgress){
onCheckFace({ total: Number(file.size), loaded: Number(file.size), isFace: progressData.face, checkFaceMsg, path: progressData.path })
}
// let checkFaceMsg = progressData.checkFaceMsg
// resolve({ total: Number(file.size), loaded: Number(file.size), isFace: progressData.face, checkFaceMsg, path: progressData.path });
resolve({ total: Number(file.size), loaded: Number(file.size), isFace: progressData.face, checkFaceMsg, path: progressData.path });
// console.log(progressData.path);
}
}
@@ -2,31 +2,43 @@ import request from '@/utils/request';
// 获取设备数据列表
export const rqGetDeviceList = (current,size) => request({
url: `/attendance/equipment/worksDevice?current=${current}&size=${size}`,
url: `/manager/device/list?current=${current}&size=${size}`,
method: 'get',
})
// 添加或者修改
export const rqAddOrModifyDevice = (data) => {
if(data.deviceId){
return request({
url: '/attendance/equipment/worksDevice',
method: 'put',
data
// 获取服务列表
export const getDevice = () => request({
url: `/manager/mqtt/list`,
method: 'get',
})
}else{
// 添加
export const postDevice = (data) => {
return request({
url: '/attendance/equipment/worksDevice',
url: '/manager/device',
method: 'post',
data
})
}
// 修改
export const putDevice = (data) => {
return request({
url: '/manager/device',
method: 'PUT',
data
})
}
// 获取详情
export const getDeviceById = (deviceId) => {
return request({
url: `/manager/device/${deviceId}`,
method: 'get',
})
}
// 删除
export const rqDeleteDevice = (id) => request({
url: `/attendance/equipment/worksDevice/${id}`,
export const deleteDevice = (deviceId) => request({
url: `/manager/device/${deviceId}`,
method: 'delete',
})
@@ -4,49 +4,29 @@ export default [
prop: "deviceId",
type: "text",
},
{
label: "账号名称",
prop: "username",
type: "text",
},
{
label: "设备名称",
prop: "deviceName",
prop: "name",
type: "text",
},
{
label: "用户名",
prop: "username",
type: "image",
},
{
label: "密码",
prop: "password",
type: "text",
},
{
label: "设备标签",
prop: "deviceLabel",
prop: "label",
type: "text",
},
{
label: "设备地址",
prop: "deviceUrl",
label: "欢迎词",
prop: "welcome",
type: "text",
},
{
label: "设备状态",
prop: "deviceStatus",
label: "排序",
prop: "sort",
type: "text",
},
{
label: "设备物理地址",
prop: "macAddress",
type: "text",
},
]
@@ -0,0 +1,47 @@
<template>
<div>
<el-button @click="newlyClick" type="primary" size="mini" icon="el-icon-plus"
>新增</el-button
>
<el-button @click="resetClick" type="info" size="mini" icon="iconfont icon-biaodan"
>重置</el-button
>
<!-- <el-button @click="searchClick" type="warning" size="mini" icon="el-icon-search"
>搜索</el-button
> -->
<el-input
v-if="false"
v-model="searchData"
size="mini"
style="width: 20%"
placeholder="请输入搜索的关键字"
>
</el-input>
</div>
</template>
<script>
export default {
name: "CommonHead",
data() {
return {
searchData: "",
};
},
methods: {
newlyClick() {
// 在此处调用父组件传入的方法叫父组件做事情
this.$emit("newly-data");
},
resetClick() {
this.$emit("reset-data");
},
searchClick() {
this.$emit("search-data", this.searchData);
},
},
};
</script>
<style lang="scss" scoped></style>
@@ -33,61 +33,50 @@
</div>
<!-- 对话框 -->
<el-dialog
:title="from.deviceId ? '修改设备' : '新增设备'"
:title="formTitle"
:visible.sync="dialogVisible"
width="20%"
:before-close="handleClose"
>
<el-form
:rules="rules"
label-position="right"
ref="ruleForm"
label-width="80px"
:model="from"
>
<el-form-item size="mini" label="设备名称" label-width="100x" prop="deviceName">
width="30%">
<el-form ref="ruleForm" :model="form" :rules="rules" label-width="80px">
<el-form-item size="mini" label="设备Id" prop="deviceId">
<el-input
v-model="from.deviceName"
placeholder="请输入设备名称"
class="w100"
v-model="form.deviceId"
placeholder="请输入设备Id"
:disabled="formTitle == '编辑设备'"
></el-input>
</el-form-item>
<el-form-item size="mini" label="设备名称" prop="name">
<el-input
v-model="form.name"
placeholder="请输入设备名称"
></el-input>
</el-form-item>
<el-form-item label="服务选择" prop="serviceId">
<el-select v-model="form.serviceId" placeholder="请选择服务" >
<el-option v-for="item in deviceArr" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item size="mini" label="设备地址" label-width="100x" prop="deviceUrl">
<el-form-item size="mini" label="设备标签" prop="label">
<el-input
v-model="from.deviceUrl"
placeholder="请输入设备地址"
class="w100"
v-model="form.label"
placeholder="请输入设备标签"
></el-input>
</el-form-item>
<el-form-item
size="mini"
label="设备物理地址"
label-width="100x"
prop="macAddress"
>
<el-form-item size="mini" label="欢迎词" prop="welcome">
<el-input
v-model="from.macAddress"
placeholder="请输入设备物理地址"
class="w100"
v-model="form.welcome"
placeholder="请输入欢迎词"
></el-input>
<p style="font-size: 12px;">例如欢迎${personName}进校${personName}为用户姓名</p>
</el-form-item>
<el-form-item size="mini" label="设备账号名称" label-width="100x" prop="username">
<el-form-item size="mini" label="排序" prop="sort">
<el-input
v-model="from.username"
placeholder="请输入设备账号名称"
class="w100"
></el-input>
</el-form-item>
<el-form-item size="mini" label="设备账号密码" label-width="100x" prop="password">
<el-input
v-model="from.password"
placeholder="请输入设备账号密码"
class="w100"
v-model="form.sort"
placeholder="请输入排序数值越大越靠前"
></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false" size="mini"> </el-button>
<el-button type="primary" @click="confirmSettingRules" size="mini"
@@ -95,13 +84,15 @@
>
</span>
</el-dialog>
</div>
</template>
<script>
import columns from "./columns";
import { rqGetDeviceList, rqAddOrModifyDevice, rqDeleteDevice } from "./api";
import { rqGetDeviceList, getDevice, postDevice, deleteDevice, putDevice, getDeviceById } from "./api";
import { formatDate } from "@/com/index";
import CommonHead from "./components/CommonHead";
export default {
name: "attendanceMachineEquipmentManagement",
@@ -116,32 +107,32 @@ export default {
loading: false,
equipmentList: [],
dialogVisible: false,
from: {
// 设备名称
deviceName: "",
// 设备地址
deviceUrl: "",
// 设备物理地址
macAddress: "",
// 设备账号
username: "",
// 设备密码
password: "",
form: {
deviceId: "",
name: "",
serviceId: null,
label: '',
welcome: '',
sort: 0
},
deviceArr: [], // 服务列表
formTitle: '新增设备',
// 对话框表单验证
rules: {
deviceName: [{ required: true, message: "请输入设备名称", trigger: "change" }],
deviceUrl: [{ required: true, message: "请输入设备地址", trigger: "change" }],
macAddress: [{ required: true, message: "请输入设备物理", trigger: "change" }],
username: [{ required: true, message: "请输入设备账号名称", trigger: "change" }],
password: [{ required: true, message: "请输入设备密码", trigger: "change" }],
deviceId: [{ required: true, message: "请输入设备id", trigger: "change" }],
name: [{ required: true, message: "请输入设备名称", trigger: "change" }],
serviceId: [{ required: true, message: "请选择服务", trigger: "change" }],
label: [{ required: true, message: "请输入标签", trigger: "change" }],
welcome: [{ required: true, message: "请输入欢迎词", trigger: "change" }],
},
};
},
components: {
CommonHead
},
created() {
this.getAttendanceFormData();
this.deviceList()
},
methods: {
// 搜索按钮
@@ -158,45 +149,47 @@ export default {
// 添加
add() {
console.log(888);
this.dialogVisible = true;
// 清除数据
this.from = {
// 设备名称
deviceName: "",
this.form = {
deviceId: "",
name: "",
serviceId: null,
label: '',
welcome: '',
sort: 0
}
this.formTitle = "新增设备";
this.dialogVisible = true;
if(this.$refs.ruleForm){
this.$refs.ruleForm.resetFields()
}
// 设备地址
deviceUrl: "",
// 设备物理地址
macAddress: "",
// 设备账号
username: "",
// 设备密码
password: "",
};
},
// 删除
async deleteData(row) {
console.log(row.deviceId);
let res = await rqDeleteDevice(row.deviceId);
if (res.code == 200) {
let res = await deleteDevice(row.deviceId);
this.$message({
message: "删除成功",
type: "success",
});
this.getAttendanceFormData();
} else {
this.$message({
message: "删除失败",
type: "error",
});
}
console.log(row);
},
// 编辑
editData(item) {
console.log(item);
getDeviceById(item.deviceId).then(res =>{
if(this.$refs.ruleForm){
this.$refs.ruleForm.resetFields()
}
this.form = res
delete this.form.updateTime
delete this.form.createTime
this.formTitle = "编辑设备";
this.dialogVisible = true;
this.from = { ...item };
})
},
// 点击切换页数
onClickCurrent(val) {
@@ -220,41 +213,48 @@ export default {
try {
this.loading = true;
let result = await rqGetDeviceList(this.query.pageNum, this.query.pageSize);
if (result.code == 200) {
console.log('result');
console.log(result);
this.loading = false;
let arr = result.data.records;
let arr = result.records;
arr.forEach((item, index) => {
item.createTime = formatDate(item.createTime, "-");
item.updateTime = formatDate(item.updateTime, "-");
});
this.equipmentList = arr;
this.total = result.data.total;
} else {
this.loading = false;
this.$message.error("网络错误");
}
this.total = result.total;
} catch (error) {
this.loading = false;
this.$message.error("网络错误");
}
},
// 获取服务列表
deviceList () {
getDevice().then(res =>{
this.deviceArr = res
})
},
// 确认新增或者修改按钮
confirmSettingRules() {
this.$refs.ruleForm.validate(async (success) => {
if (success) {
if(this.formTitle == '新增设备'){
let result = await postDevice(this.form);
this.dialogVisible = false;
delete this.from.createTime;
delete this.from.updateTime;
let result = await rqAddOrModifyDevice(this.from);
if (result.code == 200) {
this.$message({
message: this.from.deviceId ? "修改成功" : "添加成功",
message: "新增成功",
type: "success",
});
this.getAttendanceFormData();
this.from = {};
}else {
this.$message.error("添加失败");
putDevice(this.form).then(res =>{
this.$message({ message: "修改成功", type: "success", });
this.dialogVisible = false;
this.getAttendanceFormData();
})
}
} else {
return false;