|
@@ -1,10 +1,10 @@
|
|
|
<script setup lang="ts">
|
|
|
-import { watch } from "vue";
|
|
|
-import { useUserStore } from "@/store/modules/user";
|
|
|
-import { TeacherList, TeacherManage } from "@/api/teacher/types";
|
|
|
-import { getTeacherList } from "@/api/teacher";
|
|
|
-import { EquipmentManage, EquipmentParams } from "@/api/equipment/types";
|
|
|
-import { getEquipmentLists } from "@/api/equipment";
|
|
|
+import {watch} from "vue";
|
|
|
+import {useUserStore} from "@/store/modules/user";
|
|
|
+import {TeacherList, TeacherManage} from "@/api/teacher/types";
|
|
|
+import {getTeacherList} from "@/api/teacher";
|
|
|
+import {EquipmentManage, EquipmentParams} from "@/api/equipment/types";
|
|
|
+import {getEquipmentLists} from "@/api/equipment";
|
|
|
const userStore = useUserStore();
|
|
|
defineOptions({
|
|
|
name: "EquipmentIndex",
|
|
@@ -15,10 +15,10 @@ defineOptions({
|
|
|
const teacherSelect = ref<TeacherList[]>();
|
|
|
async function getTeacherData(schoolId: number) {
|
|
|
getTeacherList(schoolId)
|
|
|
- .then(({ data }) => {
|
|
|
+ .then(({data}) => {
|
|
|
const temp: TeacherManage = data;
|
|
|
teacherSelect.value = temp.lists;
|
|
|
- teacherSelect.value?.unshift({ id: 0, name: "全部教师" });
|
|
|
+ teacherSelect.value?.unshift({id: 0, name: "全部教师"});
|
|
|
})
|
|
|
.catch((error) => {
|
|
|
console.log(error);
|
|
@@ -26,8 +26,12 @@ async function getTeacherData(schoolId: number) {
|
|
|
}
|
|
|
|
|
|
// 获取设备
|
|
|
-const pageParams: EquipmentParams = reactive({});
|
|
|
-let equipmentData: EquipmentManage = reactive({});
|
|
|
+const pageParams: EquipmentParams = reactive({
|
|
|
+ school_id: userStore.schoolId,
|
|
|
+ teacher_id: 0,
|
|
|
+ sn: "",
|
|
|
+});
|
|
|
+const equipmentData = ref<EquipmentManage>();
|
|
|
const equipmentStatus = ref(false);
|
|
|
const dataStatus = reactive({
|
|
|
AI: false,
|
|
@@ -44,16 +48,16 @@ const dataMessage = ref("加载中...");
|
|
|
async function getEquipmentData(schoolId: number) {
|
|
|
pageParams.school_id = schoolId;
|
|
|
getEquipmentLists(pageParams)
|
|
|
- .then(({ data }) => {
|
|
|
- equipmentData = <EquipmentManage>{ ...data };
|
|
|
- dataStatus.AI = equipmentData?.AI.length > 0 || false;
|
|
|
- dataStatus.SW = equipmentData?.SW.length > 0 || false;
|
|
|
- dataStatus.KL = equipmentData?.KL.length > 0 || false;
|
|
|
- dataStatus.PP = equipmentData?.PP.length > 0 || false;
|
|
|
- dataStatus.SU = equipmentData?.SU.length > 0 || false;
|
|
|
- dataStatus.SC = equipmentData?.SC.length > 0 || false;
|
|
|
- dataStatus.UF = equipmentData?.UF.length > 0 || false;
|
|
|
- dataStatus.JM = equipmentData?.JM.length > 0 || false;
|
|
|
+ .then(({data}) => {
|
|
|
+ equipmentData.value = data;
|
|
|
+ dataStatus.AI = equipmentData.value?.AI.length > 0 || false;
|
|
|
+ dataStatus.SW = equipmentData.value?.SW.length > 0 || false;
|
|
|
+ dataStatus.KL = equipmentData.value?.KL.length > 0 || false;
|
|
|
+ dataStatus.PP = equipmentData.value?.PP.length > 0 || false;
|
|
|
+ dataStatus.SU = equipmentData.value?.SU.length > 0 || false;
|
|
|
+ dataStatus.SC = equipmentData.value?.SC.length > 0 || false;
|
|
|
+ dataStatus.UF = equipmentData.value?.UF.length > 0 || false;
|
|
|
+ dataStatus.JM = equipmentData.value?.JM.length > 0 || false;
|
|
|
equipmentStatus.value =
|
|
|
dataStatus.AI ||
|
|
|
dataStatus.SW ||
|
|
@@ -107,11 +111,11 @@ watch(
|
|
|
<template v-if="equipmentStatus">
|
|
|
<div v-if="dataStatus.AI" class="equipment-box">
|
|
|
<div class="title">
|
|
|
- <span>水母星球脑机</span><b>{{ equipmentData.AI.length }}</b
|
|
|
+ <span>水母星球脑机</span><b>{{ equipmentData?.AI.length }}</b
|
|
|
>台
|
|
|
</div>
|
|
|
<el-row :gutter="15">
|
|
|
- <template v-for="item in equipmentData.AI" :key="item.sn">
|
|
|
+ <template v-for="item in equipmentData?.AI" :key="item.sn">
|
|
|
<el-col :xs="12" :span="6">
|
|
|
<div class="box-card">
|
|
|
<el-row>
|
|
@@ -136,11 +140,11 @@ watch(
|
|
|
</div>
|
|
|
<div v-if="dataStatus.SW" class="equipment-box">
|
|
|
<div class="title">
|
|
|
- <span>智脑水舞</span><b>{{ equipmentData.SW.length }}</b
|
|
|
+ <span>智脑水舞</span><b>{{ equipmentData?.SW.length }}</b
|
|
|
>台
|
|
|
</div>
|
|
|
<el-row :gutter="15">
|
|
|
- <template v-for="item in equipmentData.SW" :key="item.sn">
|
|
|
+ <template v-for="item in equipmentData?.SW" :key="item.sn">
|
|
|
<el-col :xs="12" :span="6">
|
|
|
<div class="box-card">
|
|
|
<el-row>
|
|
@@ -165,11 +169,11 @@ watch(
|
|
|
</div>
|
|
|
<div v-if="dataStatus.KL" class="equipment-box">
|
|
|
<div class="title">
|
|
|
- <span>智脑恐龙</span><b>{{ equipmentData.KL.length }}</b
|
|
|
+ <span>智脑恐龙</span><b>{{ equipmentData?.KL.length }}</b
|
|
|
>台
|
|
|
</div>
|
|
|
<el-row :gutter="15">
|
|
|
- <template v-for="item in equipmentData.KL" :key="item.sn">
|
|
|
+ <template v-for="item in equipmentData?.KL" :key="item.sn">
|
|
|
<el-col :xs="12" :span="6">
|
|
|
<div class="box-card">
|
|
|
<el-row>
|
|
@@ -194,11 +198,11 @@ watch(
|
|
|
</div>
|
|
|
<div v-if="dataStatus.PP" class="equipment-box">
|
|
|
<div class="title">
|
|
|
- <span>智脑碰碰车</span><b>{{ equipmentData.PP.length }}</b
|
|
|
+ <span>智脑碰碰车</span><b>{{ equipmentData?.PP.length }}</b
|
|
|
>台
|
|
|
</div>
|
|
|
<el-row :gutter="15">
|
|
|
- <template v-for="item in equipmentData.PP" :key="item.sn">
|
|
|
+ <template v-for="item in equipmentData?.PP" :key="item.sn">
|
|
|
<el-col :xs="12" :span="6">
|
|
|
<div class="box-card">
|
|
|
<el-row>
|
|
@@ -223,11 +227,11 @@ watch(
|
|
|
</div>
|
|
|
<div v-if="dataStatus.SU" class="equipment-box">
|
|
|
<div class="title">
|
|
|
- <span>智脑SUV</span><b>{{ equipmentData.SU.length }}</b
|
|
|
+ <span>智脑SUV</span><b>{{ equipmentData?.SU.length }}</b
|
|
|
>台
|
|
|
</div>
|
|
|
<el-row :gutter="15">
|
|
|
- <template v-for="item in equipmentData.SU" :key="item.sn">
|
|
|
+ <template v-for="item in equipmentData?.SU" :key="item.sn">
|
|
|
<el-col :xs="12" :span="6">
|
|
|
<div class="box-card">
|
|
|
<el-row>
|
|
@@ -252,11 +256,11 @@ watch(
|
|
|
</div>
|
|
|
<div v-if="dataStatus.SC" class="equipment-box">
|
|
|
<div class="title">
|
|
|
- <span>智脑赛车</span><b>{{ equipmentData.SC.length }}</b
|
|
|
+ <span>智脑赛车</span><b>{{ equipmentData?.SC.length }}</b
|
|
|
>台
|
|
|
</div>
|
|
|
<el-row :gutter="15">
|
|
|
- <template v-for="item in equipmentData.SC" :key="item.sn">
|
|
|
+ <template v-for="item in equipmentData?.SC" :key="item.sn">
|
|
|
<el-col :xs="12" :span="6">
|
|
|
<div class="box-card">
|
|
|
<el-row>
|
|
@@ -281,11 +285,11 @@ watch(
|
|
|
</div>
|
|
|
<div v-if="dataStatus.UF" class="equipment-box">
|
|
|
<div class="title">
|
|
|
- <span>智脑UFO</span><b>{{ equipmentData.UF.length }}</b
|
|
|
+ <span>智脑UFO</span><b>{{ equipmentData?.UF.length }}</b
|
|
|
>台
|
|
|
</div>
|
|
|
<el-row :gutter="15">
|
|
|
- <template v-for="item in equipmentData.UF" :key="item.sn">
|
|
|
+ <template v-for="item in equipmentData?.UF" :key="item.sn">
|
|
|
<el-col :xs="12" :span="6">
|
|
|
<div class="box-card">
|
|
|
<el-row>
|
|
@@ -310,11 +314,11 @@ watch(
|
|
|
</div>
|
|
|
<div v-if="dataStatus.JM" class="equipment-box">
|
|
|
<div class="title">
|
|
|
- <span>智脑积木</span><b>{{ equipmentData.JM.length }}</b
|
|
|
+ <span>智脑积木</span><b>{{ equipmentData?.JM.length }}</b
|
|
|
>台
|
|
|
</div>
|
|
|
<el-row :gutter="15">
|
|
|
- <template v-for="item in equipmentData.JM" :key="item.sn">
|
|
|
+ <template v-for="item in equipmentData?.JM" :key="item.sn">
|
|
|
<el-col :xs="12" :span="6">
|
|
|
<div class="box-card">
|
|
|
<el-row>
|