人脸设备对接完成

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) { uploadFile(file, function(Progress) {
backUploadProgress(Progress) backUploadProgress(Progress)
}, isFace, function(faceData){ }, 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 }) onCheckFace({ total: Number(file.size), loaded: Number(file.size), isFace: progressData.face, checkFaceMsg, path: progressData.path })
} }
// let checkFaceMsg = progressData.checkFaceMsg // 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); // console.log(progressData.path);
} }
} }
@@ -2,31 +2,43 @@ import request from '@/utils/request';
// 获取设备数据列表 // 获取设备数据列表
export const rqGetDeviceList = (current,size) => 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', method: 'get',
}) })
// 获取服务列表
// 添加或者修改 export const getDevice = () => request({
export const rqAddOrModifyDevice = (data) => { url: `/manager/mqtt/list`,
if(data.deviceId){ method: 'get',
return request({
url: '/attendance/equipment/worksDevice',
method: 'put',
data
}) })
}else{
// 添加
export const postDevice = (data) => {
return request({ return request({
url: '/attendance/equipment/worksDevice', url: '/manager/device',
method: 'post', method: 'post',
data 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({ export const deleteDevice = (deviceId) => request({
url: `/attendance/equipment/worksDevice/${id}`, url: `/manager/device/${deviceId}`,
method: 'delete', method: 'delete',
}) })
@@ -4,49 +4,29 @@ export default [
prop: "deviceId", prop: "deviceId",
type: "text", type: "text",
}, },
{
label: "账号名称",
prop: "username",
type: "text",
},
{ {
label: "设备名称", label: "设备名称",
prop: "deviceName", prop: "name",
type: "text", type: "text",
}, },
{
label: "用户名",
prop: "username",
type: "image",
},
{
label: "密码",
prop: "password",
type: "text",
},
{ {
label: "设备标签", label: "设备标签",
prop: "deviceLabel", prop: "label",
type: "text", type: "text",
}, },
{ {
label: "设备地址", label: "欢迎词",
prop: "deviceUrl", prop: "welcome",
type: "text", type: "text",
}, },
{ {
label: "设备状态", label: "排序",
prop: "deviceStatus", prop: "sort",
type: "text", 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> </div>
<!-- 对话框 --> <!-- 对话框 -->
<el-dialog <el-dialog
:title="from.deviceId ? '修改设备' : '新增设备'" :title="formTitle"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
width="20%" width="30%">
:before-close="handleClose" <el-form ref="ruleForm" :model="form" :rules="rules" label-width="80px">
>
<el-form <el-form-item size="mini" label="设备Id" prop="deviceId">
:rules="rules"
label-position="right"
ref="ruleForm"
label-width="80px"
:model="from"
>
<el-form-item size="mini" label="设备名称" label-width="100x" prop="deviceName">
<el-input <el-input
v-model="from.deviceName" v-model="form.deviceId"
placeholder="请输入设备名称" placeholder="请输入设备Id"
class="w100" :disabled="formTitle == '编辑设备'"
></el-input> ></el-input>
</el-form-item> </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 <el-input
v-model="from.deviceUrl" v-model="form.label"
placeholder="请输入设备地址" placeholder="请输入设备标签"
class="w100"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item size="mini" label="欢迎词" prop="welcome">
size="mini"
label="设备物理地址"
label-width="100x"
prop="macAddress"
>
<el-input <el-input
v-model="from.macAddress" v-model="form.welcome"
placeholder="请输入设备物理地址" placeholder="请输入欢迎词"
class="w100"
></el-input> ></el-input>
<p style="font-size: 12px;">例如欢迎${personName}进校${personName}为用户姓名</p>
</el-form-item> </el-form-item>
<el-form-item size="mini" label="设备账号名称" label-width="100x" prop="username"> <el-form-item size="mini" label="排序" prop="sort">
<el-input <el-input
v-model="from.username" v-model="form.sort"
placeholder="请输入设备账号名称" 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"
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false" size="mini"> </el-button> <el-button @click="dialogVisible = false" size="mini"> </el-button>
<el-button type="primary" @click="confirmSettingRules" size="mini" <el-button type="primary" @click="confirmSettingRules" size="mini"
@@ -95,13 +84,15 @@
> >
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import columns from "./columns"; 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 { formatDate } from "@/com/index";
import CommonHead from "./components/CommonHead";
export default { export default {
name: "attendanceMachineEquipmentManagement", name: "attendanceMachineEquipmentManagement",
@@ -116,32 +107,32 @@ export default {
loading: false, loading: false,
equipmentList: [], equipmentList: [],
dialogVisible: false, dialogVisible: false,
from: { form: {
// 设备名称 deviceId: "",
deviceName: "", name: "",
serviceId: null,
// 设备地址 label: '',
deviceUrl: "", welcome: '',
// 设备物理地址 sort: 0
macAddress: "",
// 设备账号
username: "",
// 设备密码
password: "",
}, },
deviceArr: [], // 服务列表
formTitle: '新增设备',
// 对话框表单验证 // 对话框表单验证
rules: { rules: {
deviceName: [{ required: true, message: "请输入设备名称", trigger: "change" }], deviceId: [{ required: true, message: "请输入设备id", trigger: "change" }],
name: [{ required: true, message: "请输入设备名称", trigger: "change" }],
deviceUrl: [{ required: true, message: "请输入设备地址", trigger: "change" }], serviceId: [{ required: true, message: "请选择服务", trigger: "change" }],
macAddress: [{ required: true, message: "请输入设备物理", trigger: "change" }], label: [{ required: true, message: "请输入标签", trigger: "change" }],
username: [{ required: true, message: "请输入设备账号名称", trigger: "change" }], welcome: [{ required: true, message: "请输入欢迎词", trigger: "change" }],
password: [{ required: true, message: "请输入设备密码", trigger: "change" }],
}, },
}; };
}, },
components: {
CommonHead
},
created() { created() {
this.getAttendanceFormData(); this.getAttendanceFormData();
this.deviceList()
}, },
methods: { methods: {
// 搜索按钮 // 搜索按钮
@@ -158,45 +149,47 @@ export default {
// 添加 // 添加
add() { add() {
console.log(888); console.log(888);
this.dialogVisible = true;
// 清除数据 // 清除数据
this.from = { this.form = {
// 设备名称 deviceId: "",
deviceName: "", 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) { async deleteData(row) {
console.log(row.deviceId); console.log(row.deviceId);
let res = await rqDeleteDevice(row.deviceId); let res = await deleteDevice(row.deviceId);
if (res.code == 200) {
this.$message({ this.$message({
message: "删除成功", message: "删除成功",
type: "success", type: "success",
}); });
this.getAttendanceFormData(); this.getAttendanceFormData();
} else {
this.$message({
message: "删除失败",
type: "error",
});
}
console.log(row); console.log(row);
}, },
// 编辑 // 编辑
editData(item) { 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.dialogVisible = true;
this.from = { ...item }; })
}, },
// 点击切换页数 // 点击切换页数
onClickCurrent(val) { onClickCurrent(val) {
@@ -220,41 +213,48 @@ export default {
try { try {
this.loading = true; this.loading = true;
let result = await rqGetDeviceList(this.query.pageNum, this.query.pageSize); let result = await rqGetDeviceList(this.query.pageNum, this.query.pageSize);
if (result.code == 200) { console.log('result');
console.log(result);
this.loading = false; this.loading = false;
let arr = result.data.records; let arr = result.records;
arr.forEach((item, index) => { arr.forEach((item, index) => {
item.createTime = formatDate(item.createTime, "-"); item.createTime = formatDate(item.createTime, "-");
item.updateTime = formatDate(item.updateTime, "-"); item.updateTime = formatDate(item.updateTime, "-");
}); });
this.equipmentList = arr; this.equipmentList = arr;
this.total = result.data.total; this.total = result.total;
} else {
this.loading = false;
this.$message.error("网络错误");
}
} catch (error) { } catch (error) {
this.loading = false; this.loading = false;
this.$message.error("网络错误"); this.$message.error("网络错误");
} }
}, },
// 获取服务列表
deviceList () {
getDevice().then(res =>{
this.deviceArr = res
})
},
// 确认新增或者修改按钮 // 确认新增或者修改按钮
confirmSettingRules() { confirmSettingRules() {
this.$refs.ruleForm.validate(async (success) => { this.$refs.ruleForm.validate(async (success) => {
if (success) { if (success) {
if(this.formTitle == '新增设备'){
let result = await postDevice(this.form);
this.dialogVisible = false; this.dialogVisible = false;
delete this.from.createTime;
delete this.from.updateTime;
let result = await rqAddOrModifyDevice(this.from);
if (result.code == 200) {
this.$message({ this.$message({
message: this.from.deviceId ? "修改成功" : "添加成功", message: "新增成功",
type: "success", type: "success",
}); });
this.getAttendanceFormData(); this.getAttendanceFormData();
this.from = {};
}else { }else {
this.$message.error("添加失败"); putDevice(this.form).then(res =>{
this.$message({ message: "修改成功", type: "success", });
this.dialogVisible = false;
this.getAttendanceFormData();
})
} }
} else { } else {
return false; return false;