@@ -5,8 +5,8 @@ | |||
--> | |||
<template> | |||
<div> | |||
<form-container v-model="visible" :title="`行为轨迹查看`" form-size="1000px" @close="onClose"> | |||
<ProTable ref="proTable" title="教师点名" height="600px" :data="tableData" :columns="columns"></ProTable> | |||
<form-container v-model="visible" :title="`行为轨迹查看`" form-size="800px" @close="onClose"> | |||
<ProTable ref="proTable" title="行为轨迹" height="500px" :data="tableData" :columns="columns"></ProTable> | |||
<template #footer> | |||
<el-button @click="onClose"> 关闭 </el-button> | |||
</template> |
@@ -15,7 +15,7 @@ | |||
@change="changeTreeFilter" | |||
> | |||
<template v-slot:header> | |||
<h4 style="margin: 0 0 15px; font-size: 18px; font-weight: bold; color: var(--el-color-info-dark-2); letter-spacing: 0.5px">班级</h4> | |||
<h4 style="margin: 0 0 15px; font-size: 18px; font-weight: bold; color: var(--el-color-info-dark-2); letter-spacing: 0.5px">所属班级</h4> | |||
</template> | |||
<template v-slot:label="{ row }"> | |||
<span class="custom-tree-node"> | |||
@@ -40,7 +40,7 @@ | |||
</div> | |||
</el-dialog> | |||
<!-- 轨迹详情 --> | |||
<TraceDetail ref="detialRef" /> | |||
<TraceShow ref="detialRef" /> | |||
</div> | |||
</template> | |||
<script setup lang="tsx" name="SysUserPersonnel"> | |||
@@ -49,13 +49,12 @@ import { FormOptEnum } from "@/enums"; | |||
import { ColumnProps, ProTableInstance } from "@/components/ProTable/interface"; | |||
import TreeFilter from "@/components/TreeFilter/index.vue"; | |||
import { useUserStore } from "@/stores/modules"; | |||
import TraceDetail from "./components/nofaceTable/index.vue"; | |||
import TraceShow from "./components/traceShow/index.vue"; | |||
// 获取 ProTable 元素,调用其获取刷新数据方法(还能获取到当前查询参数,方便导出携带参数) | |||
const faceUrl = ref(''); | |||
const visible = ref(false); //预览头像 | |||
const proTable = ref<ProTableInstance>(); | |||
const treeFilter = ref<InstanceType<typeof TreeFilter> | null>(null); | |||
const userStore = useUserStore(); | |||
// 表格配置项 | |||
const columns: ColumnProps<SysUserPersonnel.SysUserPerInfo>[] = [ | |||
{ | |||
@@ -110,7 +109,7 @@ function changeTreeFilter(val: number | string) { | |||
proTable.value!.searchParam.personSetId = val; | |||
proTable.value!.search(); | |||
} | |||
const detialRef = ref<InstanceType<typeof TraceDetail> | null>(null); | |||
const detialRef = ref<InstanceType<typeof TraceShow> | null>(null); | |||
/** | |||
* 详情 | |||
* @param opt 操作类型 | |||
@@ -1,47 +0,0 @@ | |||
<!-- | |||
* @Description: 客流查询 | |||
* @Author: yxq | |||
* @Date: 2023-12-17 15:45:50 | |||
--> | |||
<template> | |||
<div> | |||
<div> | |||
<el-row :gutter="16"> | |||
<el-col :span="24"> | |||
<s-form-item label="分片时间" prop="shijianduan"> | |||
<s-input v-model="formInfo.fenpianshijian" disabled></s-input> | |||
</s-form-item> | |||
<s-form-item label="分片数量" prop="shijianduan"> | |||
<s-input v-model="formInfo.fenpianshuliang" disabled></s-input> | |||
</s-form-item> | |||
</el-col> | |||
</el-row> | |||
</div> | |||
</div> | |||
</template> | |||
<script setup lang="ts"> | |||
import { AttendancePassenger, monitorLIVEApi } from "@/api"; | |||
// props | |||
interface FormProps { | |||
modelValue: Partial<AttendancePassenger.PassengerInfo>; | |||
} | |||
const emit = defineEmits(["update:modelValue"]); //定义emit | |||
const props = defineProps<FormProps>(); //定义props | |||
// 客流查询表单 | |||
const formInfo = computed({ | |||
get: () => props.modelValue, | |||
set: val => emit("update:modelValue", val) | |||
}); | |||
console.log(props.modelValue); | |||
onMounted(() => { | |||
// 初始化 | |||
}); | |||
</script> | |||
<style lang="scss" scoped> | |||
:deep(.el-input__wrapper) { | |||
width: 100% !important; | |||
} | |||
</style> |
@@ -1,63 +0,0 @@ | |||
<!-- | |||
* @Description: 表单 | |||
* @Author: syy | |||
* @Date: 2023-12-15 15:45:59 | |||
--> | |||
<template> | |||
<div> | |||
<form-container v-model="visible" :title="`分片详情`" form-size="600px" @close="onClose"> | |||
<el-form | |||
ref="formRef" | |||
:disabled="formProps.disabled" | |||
:model="formProps.record" | |||
:hide-required-asterisk="formProps.disabled" | |||
label-width="auto" | |||
label-suffix=" :" | |||
> | |||
<el-tabs v-model="activeName"> | |||
<Detail v-model="formProps.record"></Detail> | |||
</el-tabs> | |||
</el-form> | |||
<template #footer> | |||
<el-button type="primary" @click="onClose"> 确定 </el-button> | |||
</template> | |||
</form-container> | |||
</div> | |||
</template> | |||
<script setup lang="ts"> | |||
import { AttendancePassenger, attendancePassenger } from "@/api"; | |||
import { FormOptEnum } from "@/enums"; | |||
import Detail from "./form_detail.vue"; | |||
const visible = ref(false); //是否显示表单 | |||
const activeName = ref("detail"); | |||
// 表单参数 | |||
const formProps = reactive<FormProps.Base<AttendancePassenger.PassengerInfo>>({ | |||
opt: FormOptEnum.ADD, | |||
record: {}, | |||
disabled: false | |||
}); | |||
/** | |||
* 打开表单 | |||
* @param props 表单参数 | |||
*/ | |||
function onOpen(props: FormProps.Base<AttendancePassenger.PassengerInfo>) { | |||
Object.assign(formProps, props); //合并参数 | |||
visible.value = true; //显示表单 | |||
} | |||
/** 关闭表单*/ | |||
function onClose() { | |||
visible.value = false; | |||
activeName.value = "detail"; | |||
} | |||
// 暴露给父组件的方法 | |||
defineExpose({ | |||
onOpen | |||
}); | |||
</script> | |||
<style lang="scss" scoped></style> |
@@ -0,0 +1,79 @@ | |||
<!-- | |||
* @Description: 行为轨迹 | |||
* @Author: yxq | |||
* @Date: 2023-12-15 15:45:59 | |||
--> | |||
<template> | |||
<div> | |||
<form-container v-model="visible" :title="`分片详情`" form-size="800px" @close="onClose"> | |||
<ProTable ref="proTable" title="分片详情" height="500px" :data="tableData" :columns="columns"></ProTable> | |||
<template #footer> | |||
<el-button @click="onClose"> 关闭 </el-button> | |||
</template> | |||
</form-container> | |||
</div> | |||
</template> | |||
<script setup lang="tsx" name="attendanceBehaviorTrace"> | |||
import { AttendanceBehaviorTrace, attendanceBehaviorTrace } from "@/api"; | |||
import { ColumnProps, ProTableInstance } from "@/components/ProTable/interface"; | |||
import { FormOptEnum } from "@/enums"; | |||
const visible = ref(false); //是否显示 | |||
// 弹框参数 | |||
const propsInfo = reactive<FormProps.Base<AttendanceBehaviorTrace.behaviorTraceInfo>>({ | |||
opt: FormOptEnum.VIEW, //操作类型 | |||
record: {}, //弹框数据 | |||
disabled: false | |||
}); | |||
/** | |||
* 打开弹框 | |||
* @param props 弹框参数 | |||
*/ | |||
function onOpen(props: FormProps.Base<AttendanceBehaviorTrace.PassengerInfo>) { | |||
Object.assign(propsInfo, props); //合并参数 | |||
visible.value = true; //显示弹框 | |||
if (props.record.id) { | |||
//如果传了id,就去请求api获取record | |||
attendanceBehaviorTrace.detail({ id: props.record.id }).then(res => { | |||
propsInfo.record = res.data; | |||
}); | |||
} | |||
} | |||
const tableData = ref([ | |||
{ | |||
time:'2024-07-16 00:00:00', | |||
name:'60', | |||
}, | |||
{ | |||
time:'2024-07-17 00:00:00', | |||
name:'40', | |||
}, | |||
]); | |||
// 获取 ProTable 元素,调用其获取刷新数据方法(还能获取到当前查询参数,方便导出携带参数) | |||
const proTable = ref<ProTableInstance>(); | |||
// 表格配置项 | |||
const columns: ColumnProps[] = [ | |||
{ | |||
prop: "time", | |||
label: "时间" | |||
}, | |||
{ | |||
prop: "name", | |||
label: "人数", | |||
}, | |||
]; | |||
/** 关闭表单*/ | |||
function onClose() { | |||
visible.value = false; | |||
} | |||
// 暴露给父组件的方法 | |||
defineExpose({ | |||
onOpen | |||
}); | |||
</script> | |||
<style lang="scss" scoped></style> | |||
@@ -18,14 +18,14 @@ | |||
</template> | |||
</ProTable> | |||
<Form ref="formRef" /> | |||
<DetailForm ref="detailFormRef"></DetailForm> | |||
<DetailTable ref="detailTableRef"></DetailTable> | |||
</div> | |||
</template> | |||
<script setup lang="ts" name="AttendancePassenger"> | |||
import { attendancePassenger, attendancePassengerBtnCode, AttendancePassenger } from "@/api"; | |||
import { ColumnProps, ProTableInstance } from "@/components/ProTable/interface"; | |||
import Form from "./components/form/index.vue"; | |||
import DetailForm from "./components/detailForm/index.vue"; | |||
import DetailTable from "./components/detailTable/index.vue"; | |||
import { FormOptEnum } from "@/enums"; | |||
// 获取 ProTable 元素,调用其获取刷新数据方法(还能获取到当前查询参数,方便导出携带参数) | |||
const proTable = ref<ProTableInstance>(); | |||
@@ -81,7 +81,7 @@ const columns: ColumnProps<any>[] = [ | |||
]; | |||
// 表单引用 | |||
const formRef = ref<InstanceType<typeof Form> | null>(null); | |||
const detailFormRef = ref<InstanceType<typeof DetailForm> | null>(null); | |||
const detailTableRef = ref<InstanceType<typeof DetailTable> | null>(null); | |||
/** | |||
* 打开表单 | |||
* @param opt 操作类型 | |||
@@ -93,7 +93,7 @@ function onOpen(opt: FormOptEnum, record: {} | AttendancePassenger.PassengerInfo | |||
formRef.value?.onOpen({ opt: opt, record: record, successful: RefreshTable }); | |||
break; | |||
case FormOptEnum.VIEW: | |||
detailFormRef.value?.onOpen({ opt: opt, record: record, successful: RefreshTable }); | |||
detailTableRef.value?.onOpen({ opt: opt, record: record, successful: RefreshTable }); | |||
} | |||
} | |||
// 刷新表格 | |||
@@ -5,8 +5,8 @@ | |||
--> | |||
<template> | |||
<div> | |||
<form-container v-model="visible" row-key="id" :title="`${propsInfo.record.classname}人脸未识别确认`" form-size="1000px" @close="onClose"> | |||
<ProTable ref="noFaceTableRef" title="教师点名" height="600px" :data="tableData" :columns="columns"> | |||
<form-container v-model="visible" row-key="id" :title="`${propsInfo.record.qinshibianhao}归寝确认`" form-size="800px" @close="onClose"> | |||
<ProTable ref="noFaceTableRef" title="归寝确认" height="500px" :data="tableData" :columns="columns"> | |||
<!-- 表格 header 按钮 --> | |||
<template #tableHeader="scope"> | |||
<s-button | |||
@@ -15,7 +15,7 @@ | |||
icon="check" | |||
prefix="人工" | |||
suffix="确认" | |||
@click="personConfirm(scope.selectedListIds, '确认人脸识别')" | |||
@click="personConfirm(scope.selectedListIds, '确认已归寝')" | |||
/> | |||
</template> | |||
</ProTable> | |||
@@ -70,6 +70,8 @@ const tableData = ref([ | |||
"http://deepvision.oss-cn-zhangjiakou.aliyuncs.com/dfield-cruising/online/person-set/quanjiang/DEMO00001/8746a847ecd64c1696b37f4cdf617a18/5dc35e4c7af84b3fb5aab70156574873.jpg?Expires=1721375257&OSSAccessKeyId=STS.NTfeBHwzU7kivsSS2EypREace&Signature=c1aTbDc1hNISq%2BV05o0slEfoCTI%3D&security-token=CAIS0wN1q6Ft5B2yfSjIr5fTLvj8mqV0gKmCdFXitzIQdf9%2BqqTIhzz2IHFMf3huCeodsv8%2BlGxS5%2FgelrpqVpZDR03Na8RHwrly1lv5O9KY4x49TRng0s%2FLI3OaLjKm9hi7AYygPgK0GJqEb1TDiVUto9%2FTfimjWFqIKICAjYUdAP0cQgi%2Fa0gwZrJRPRAwh8IGEnHTOP2xUHvtmXGCNFd0nQB%2BhGhjk7TdpPeR8R3Dllb35%2FYIroDqWPieYtJrIY10XqWBvqx%2FfbGT1zVLuVoYtvV6gaFc5zbcv9abRFVf4hiCP6%2Ff6MBuNw5%2Fae94efZNp%2BOukuZj6K6B1db7xhtVI%2BBOUiPZA4mr2IzdBeqvNNcwc7m8F1no9YjXbsGs9EEGGStLaVgVI4F8dyAhWEd9FWjgR%2FX5qAyQUGCKULOY1aw6651xwmjz8MCCT1r1GOTBindGasVnMxh5Z0JMjDK9aNkKfgFUbVJ8BrGTCIh%2FYx0bsq7yowDIEyp71TRMo%2Bbu%2FDBhIifKpO4VN7AxMup1DPwu2wNCxORK3yyybb5sa3aTR6942p%2F%2FF5VxFNPqOx1rmCMf4znuW4yrvNkAVvNcuIqdR8aLhaLIEbHzoKxuEKRnrfsIeBqAAUB%2FCKIuI1UaCj4LYX8DyIYOI8tUKFsMguPHpPENaK9Lcz5ZhB%2BrX6BcQfNWOLhDx7KyRE28vtEs2uolAhLTRaZsZFjbAZE5Ngt09%2FbSXdD%2FR%2BOlGMpQdp752x5lOlvPsJp1skuFLbramyqY4oj4tVwv1OLWpcsEc3AEosPalpAuIAA%3D" | |||
}, | |||
], | |||
louceng:'3', | |||
qinshi:'301', | |||
}, | |||
{ | |||
id:'2', | |||
@@ -80,6 +82,8 @@ const tableData = ref([ | |||
"http://deepvision.oss-cn-zhangjiakou.aliyuncs.com/dfield-cruising/online/person-set/quanjiang/DEMO00001/8746a847ecd64c1696b37f4cdf617a18/5dc35e4c7af84b3fb5aab70156574873.jpg?Expires=1721375257&OSSAccessKeyId=STS.NTfeBHwzU7kivsSS2EypREace&Signature=c1aTbDc1hNISq%2BV05o0slEfoCTI%3D&security-token=CAIS0wN1q6Ft5B2yfSjIr5fTLvj8mqV0gKmCdFXitzIQdf9%2BqqTIhzz2IHFMf3huCeodsv8%2BlGxS5%2FgelrpqVpZDR03Na8RHwrly1lv5O9KY4x49TRng0s%2FLI3OaLjKm9hi7AYygPgK0GJqEb1TDiVUto9%2FTfimjWFqIKICAjYUdAP0cQgi%2Fa0gwZrJRPRAwh8IGEnHTOP2xUHvtmXGCNFd0nQB%2BhGhjk7TdpPeR8R3Dllb35%2FYIroDqWPieYtJrIY10XqWBvqx%2FfbGT1zVLuVoYtvV6gaFc5zbcv9abRFVf4hiCP6%2Ff6MBuNw5%2Fae94efZNp%2BOukuZj6K6B1db7xhtVI%2BBOUiPZA4mr2IzdBeqvNNcwc7m8F1no9YjXbsGs9EEGGStLaVgVI4F8dyAhWEd9FWjgR%2FX5qAyQUGCKULOY1aw6651xwmjz8MCCT1r1GOTBindGasVnMxh5Z0JMjDK9aNkKfgFUbVJ8BrGTCIh%2FYx0bsq7yowDIEyp71TRMo%2Bbu%2FDBhIifKpO4VN7AxMup1DPwu2wNCxORK3yyybb5sa3aTR6942p%2F%2FF5VxFNPqOx1rmCMf4znuW4yrvNkAVvNcuIqdR8aLhaLIEbHzoKxuEKRnrfsIeBqAAUB%2FCKIuI1UaCj4LYX8DyIYOI8tUKFsMguPHpPENaK9Lcz5ZhB%2BrX6BcQfNWOLhDx7KyRE28vtEs2uolAhLTRaZsZFjbAZE5Ngt09%2FbSXdD%2FR%2BOlGMpQdp752x5lOlvPsJp1skuFLbramyqY4oj4tVwv1OLWpcsEc3AEosPalpAuIAA%3D" | |||
}, | |||
], | |||
louceng:'3', | |||
qinshi:'302', | |||
}, | |||
{ | |||
id:'3', | |||
@@ -90,6 +94,8 @@ const tableData = ref([ | |||
"http://deepvision.oss-cn-zhangjiakou.aliyuncs.com/dfield-cruising/online/person-set/quanjiang/DEMO00001/8746a847ecd64c1696b37f4cdf617a18/5dc35e4c7af84b3fb5aab70156574873.jpg?Expires=1721375257&OSSAccessKeyId=STS.NTfeBHwzU7kivsSS2EypREace&Signature=c1aTbDc1hNISq%2BV05o0slEfoCTI%3D&security-token=CAIS0wN1q6Ft5B2yfSjIr5fTLvj8mqV0gKmCdFXitzIQdf9%2BqqTIhzz2IHFMf3huCeodsv8%2BlGxS5%2FgelrpqVpZDR03Na8RHwrly1lv5O9KY4x49TRng0s%2FLI3OaLjKm9hi7AYygPgK0GJqEb1TDiVUto9%2FTfimjWFqIKICAjYUdAP0cQgi%2Fa0gwZrJRPRAwh8IGEnHTOP2xUHvtmXGCNFd0nQB%2BhGhjk7TdpPeR8R3Dllb35%2FYIroDqWPieYtJrIY10XqWBvqx%2FfbGT1zVLuVoYtvV6gaFc5zbcv9abRFVf4hiCP6%2Ff6MBuNw5%2Fae94efZNp%2BOukuZj6K6B1db7xhtVI%2BBOUiPZA4mr2IzdBeqvNNcwc7m8F1no9YjXbsGs9EEGGStLaVgVI4F8dyAhWEd9FWjgR%2FX5qAyQUGCKULOY1aw6651xwmjz8MCCT1r1GOTBindGasVnMxh5Z0JMjDK9aNkKfgFUbVJ8BrGTCIh%2FYx0bsq7yowDIEyp71TRMo%2Bbu%2FDBhIifKpO4VN7AxMup1DPwu2wNCxORK3yyybb5sa3aTR6942p%2F%2FF5VxFNPqOx1rmCMf4znuW4yrvNkAVvNcuIqdR8aLhaLIEbHzoKxuEKRnrfsIeBqAAUB%2FCKIuI1UaCj4LYX8DyIYOI8tUKFsMguPHpPENaK9Lcz5ZhB%2BrX6BcQfNWOLhDx7KyRE28vtEs2uolAhLTRaZsZFjbAZE5Ngt09%2FbSXdD%2FR%2BOlGMpQdp752x5lOlvPsJp1skuFLbramyqY4oj4tVwv1OLWpcsEc3AEosPalpAuIAA%3D" | |||
}, | |||
], | |||
louceng:'4', | |||
qinshi:'401', | |||
}, | |||
{ | |||
id:'4', | |||
@@ -100,6 +106,8 @@ const tableData = ref([ | |||
"http://deepvision.oss-cn-zhangjiakou.aliyuncs.com/dfield-cruising/online/person-set/quanjiang/DEMO00001/8746a847ecd64c1696b37f4cdf617a18/5dc35e4c7af84b3fb5aab70156574873.jpg?Expires=1721375257&OSSAccessKeyId=STS.NTfeBHwzU7kivsSS2EypREace&Signature=c1aTbDc1hNISq%2BV05o0slEfoCTI%3D&security-token=CAIS0wN1q6Ft5B2yfSjIr5fTLvj8mqV0gKmCdFXitzIQdf9%2BqqTIhzz2IHFMf3huCeodsv8%2BlGxS5%2FgelrpqVpZDR03Na8RHwrly1lv5O9KY4x49TRng0s%2FLI3OaLjKm9hi7AYygPgK0GJqEb1TDiVUto9%2FTfimjWFqIKICAjYUdAP0cQgi%2Fa0gwZrJRPRAwh8IGEnHTOP2xUHvtmXGCNFd0nQB%2BhGhjk7TdpPeR8R3Dllb35%2FYIroDqWPieYtJrIY10XqWBvqx%2FfbGT1zVLuVoYtvV6gaFc5zbcv9abRFVf4hiCP6%2Ff6MBuNw5%2Fae94efZNp%2BOukuZj6K6B1db7xhtVI%2BBOUiPZA4mr2IzdBeqvNNcwc7m8F1no9YjXbsGs9EEGGStLaVgVI4F8dyAhWEd9FWjgR%2FX5qAyQUGCKULOY1aw6651xwmjz8MCCT1r1GOTBindGasVnMxh5Z0JMjDK9aNkKfgFUbVJ8BrGTCIh%2FYx0bsq7yowDIEyp71TRMo%2Bbu%2FDBhIifKpO4VN7AxMup1DPwu2wNCxORK3yyybb5sa3aTR6942p%2F%2FF5VxFNPqOx1rmCMf4znuW4yrvNkAVvNcuIqdR8aLhaLIEbHzoKxuEKRnrfsIeBqAAUB%2FCKIuI1UaCj4LYX8DyIYOI8tUKFsMguPHpPENaK9Lcz5ZhB%2BrX6BcQfNWOLhDx7KyRE28vtEs2uolAhLTRaZsZFjbAZE5Ngt09%2FbSXdD%2FR%2BOlGMpQdp752x5lOlvPsJp1skuFLbramyqY4oj4tVwv1OLWpcsEc3AEosPalpAuIAA%3D" | |||
}, | |||
], | |||
louceng:'3', | |||
qinshi:'301', | |||
}, | |||
{ | |||
id:'5', | |||
@@ -110,6 +118,8 @@ const tableData = ref([ | |||
"http://deepvision.oss-cn-zhangjiakou.aliyuncs.com/dfield-cruising/online/person-set/quanjiang/DEMO00001/8746a847ecd64c1696b37f4cdf617a18/5dc35e4c7af84b3fb5aab70156574873.jpg?Expires=1721375257&OSSAccessKeyId=STS.NTfeBHwzU7kivsSS2EypREace&Signature=c1aTbDc1hNISq%2BV05o0slEfoCTI%3D&security-token=CAIS0wN1q6Ft5B2yfSjIr5fTLvj8mqV0gKmCdFXitzIQdf9%2BqqTIhzz2IHFMf3huCeodsv8%2BlGxS5%2FgelrpqVpZDR03Na8RHwrly1lv5O9KY4x49TRng0s%2FLI3OaLjKm9hi7AYygPgK0GJqEb1TDiVUto9%2FTfimjWFqIKICAjYUdAP0cQgi%2Fa0gwZrJRPRAwh8IGEnHTOP2xUHvtmXGCNFd0nQB%2BhGhjk7TdpPeR8R3Dllb35%2FYIroDqWPieYtJrIY10XqWBvqx%2FfbGT1zVLuVoYtvV6gaFc5zbcv9abRFVf4hiCP6%2Ff6MBuNw5%2Fae94efZNp%2BOukuZj6K6B1db7xhtVI%2BBOUiPZA4mr2IzdBeqvNNcwc7m8F1no9YjXbsGs9EEGGStLaVgVI4F8dyAhWEd9FWjgR%2FX5qAyQUGCKULOY1aw6651xwmjz8MCCT1r1GOTBindGasVnMxh5Z0JMjDK9aNkKfgFUbVJ8BrGTCIh%2FYx0bsq7yowDIEyp71TRMo%2Bbu%2FDBhIifKpO4VN7AxMup1DPwu2wNCxORK3yyybb5sa3aTR6942p%2F%2FF5VxFNPqOx1rmCMf4znuW4yrvNkAVvNcuIqdR8aLhaLIEbHzoKxuEKRnrfsIeBqAAUB%2FCKIuI1UaCj4LYX8DyIYOI8tUKFsMguPHpPENaK9Lcz5ZhB%2BrX6BcQfNWOLhDx7KyRE28vtEs2uolAhLTRaZsZFjbAZE5Ngt09%2FbSXdD%2FR%2BOlGMpQdp752x5lOlvPsJp1skuFLbramyqY4oj4tVwv1OLWpcsEc3AEosPalpAuIAA%3D" | |||
}, | |||
], | |||
louceng:'5', | |||
qinshi:'502', | |||
} | |||
]); | |||
// 获取 noFaceTableRef 元素,调用其获取刷新数据方法(还能获取到当前查询参数,方便导出携带参数) | |||
@@ -117,6 +127,14 @@ const noFaceTableRef = ref<noFaceTableInstance>(); | |||
// 表格配置项 | |||
const columns: ColumnProps[] = [ | |||
{ type: "selection" }, | |||
{ | |||
prop: "louceng", | |||
label: "楼层" | |||
}, | |||
{ | |||
prop: "qinshi", | |||
label: "寝室编号" | |||
}, | |||
{ | |||
prop: "studentname", | |||
label: "学生姓名" |
@@ -20,28 +20,28 @@ | |||
</el-space> | |||
</template> | |||
</ProTable> | |||
<FaceConfirm ref="FaceConfirmRef" /> | |||
<ReturnConfirm ref="ReturnConfirmRef" /> | |||
</div> | |||
</template> | |||
<script setup lang="ts"> | |||
import { attendanceStudentsReturn, AttendanceStudentsReturn } from "@/api"; | |||
import { ColumnProps, ProTableInstance } from "@/components/ProTable/interface"; | |||
import { FormOptEnum } from "@/enums"; | |||
import FaceConfirm from "./components/nofaceTable/index.vue"; | |||
import ReturnConfirm from "./components/returnConfirm/index.vue"; | |||
const data = ref([ | |||
{ | |||
classname: "XXXXX班级", | |||
classId: "544165", | |||
studentNum: "43", | |||
guiqinNum: "38", | |||
noFaceNum: "5" | |||
louceng: "3", | |||
qinshibianhao: "306", | |||
qinshirenshu: "6", | |||
guiqinNum: "5", | |||
noFaceNum: "1" | |||
}, | |||
{ | |||
classname: "XX班级", | |||
classId: "555333", | |||
studentNum: "42", | |||
guiqinNum: "37", | |||
noFaceNum: "5" | |||
louceng: "3", | |||
qinshibianhao: "307", | |||
qinshirenshu: "8", | |||
guiqinNum: "6", | |||
noFaceNum: "2" | |||
} | |||
]); | |||
// 获取 ProTable 元素,调用其获取刷新数据方法(还能获取到当前查询参数,方便导出携带参数) | |||
@@ -49,16 +49,16 @@ const proTable = ref<ProTableInstance>(); | |||
// 表格配置项 | |||
const columns: ColumnProps[] = [ | |||
{ | |||
prop: "classname", | |||
label: "班级名称" | |||
prop: "louceng", | |||
label: "楼层" | |||
}, | |||
{ | |||
prop: "classId", | |||
label: "班级ID" | |||
prop: "qinshibianhao", | |||
label: "寝室编号" | |||
}, | |||
{ | |||
prop: "studentNum", | |||
label: "学生人数" | |||
prop: "qinshirenshu", | |||
label: "寝室人数" | |||
}, | |||
{ | |||
prop: "guiqinNum", | |||
@@ -66,11 +66,11 @@ const columns: ColumnProps[] = [ | |||
}, | |||
{ | |||
prop: "noFaceNum", | |||
label: "人脸无法识别人数" | |||
label: "未归寝人数" | |||
}, | |||
{ prop: "operation", label: "操作", width: 250, fixed: "right" } | |||
]; | |||
const FaceConfirmRef = ref<InstanceType<typeof FaceConfirm> | null>(null); | |||
const ReturnConfirmRef = ref<InstanceType<typeof ReturnConfirm> | null>(null); | |||
/** | |||
* 人工确认 | |||
* @param opt 操作类型 | |||
@@ -79,7 +79,7 @@ const FaceConfirmRef = ref<InstanceType<typeof FaceConfirm> | null>(null); | |||
function onOpen(opt: FormOptEnum, record: {} | AttendanceStudentsReturn.studentsReturnInfo = {}) { | |||
switch (opt) { | |||
case FormOptEnum.VIEW: | |||
FaceConfirmRef.value?.onOpen({ opt: opt, record: record, successful: RefreshTable }); | |||
ReturnConfirmRef.value?.onOpen({ opt: opt, record: record, successful: RefreshTable }); | |||
break; | |||
} | |||
} | |||