|
@@ -1,460 +1,484 @@
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
-import {GradeList} from "@/api/grade/types";
|
|
|
|
|
|
+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({
|
|
defineOptions({
|
|
- name: "EquipmentIndex",
|
|
|
|
- inheritAttrs: false,
|
|
|
|
|
|
+ name: "EquipmentIndex",
|
|
|
|
+ inheritAttrs: false,
|
|
});
|
|
});
|
|
-import { watch } from "vue";
|
|
|
|
-import { useUserStore } from "@/store/modules/user";
|
|
|
|
|
|
|
|
-const userStore = useUserStore();
|
|
|
|
-watch(
|
|
|
|
- () => userStore.schoolId,
|
|
|
|
- (newValue, oldValue) => {
|
|
|
|
- console.log(newValue, oldValue);
|
|
|
|
- }
|
|
|
|
-);
|
|
|
|
|
|
+
|
|
let equipmentInfo = ref("");
|
|
let equipmentInfo = ref("");
|
|
// 教师编号
|
|
// 教师编号
|
|
let teacherNumber = ref(0);
|
|
let teacherNumber = ref(0);
|
|
-const teacherData = ref<GradeList[]>([
|
|
|
|
- {
|
|
|
|
- id: 0,
|
|
|
|
- name: "全部",
|
|
|
|
- },
|
|
|
|
-]);
|
|
|
|
|
|
+// const teacherData = ref<GradeList[]>([
|
|
|
|
+// {
|
|
|
|
+// id: 0,
|
|
|
|
+// name: "全部",
|
|
|
|
+// },
|
|
|
|
+// ]);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+// 获取教师
|
|
|
|
+const teacherSelect = ref<TeacherList[]>();
|
|
|
|
+
|
|
|
|
+async function getTeacherData(schoolId: number) {
|
|
|
|
+ getTeacherList(schoolId)
|
|
|
|
+ .then(({data}) => {
|
|
|
|
+ const temp: TeacherManage = data;
|
|
|
|
+ teacherSelect.value = temp.lists;
|
|
|
|
+ teacherSelect.value?.unshift({id: 0, name: "全部教师"})
|
|
|
|
+ })
|
|
|
|
+ .catch((error) => {
|
|
|
|
+ console.log(error);
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// 获取设备
|
|
|
|
+const equipmentParams: EquipmentParams = reactive({});
|
|
|
|
+let equipmentData: EquipmentManage = reactive({});
|
|
|
|
+const equipmentStatus = ref(false);
|
|
|
|
+const dataStatus = reactive({
|
|
|
|
+ AI: false,
|
|
|
|
+ SW: false,
|
|
|
|
+ KL: false,
|
|
|
|
+ PP: false,
|
|
|
|
+ SU: false,
|
|
|
|
+ SC: false,
|
|
|
|
+ UF: false,
|
|
|
|
+ JM: false,
|
|
|
|
+});
|
|
|
|
+const dataMessage = ref("加载中...");
|
|
|
|
+
|
|
|
|
+async function getEquipmentData(schoolId: number) {
|
|
|
|
+ equipmentParams.school_id = schoolId;
|
|
|
|
+ getEquipmentLists(equipmentParams)
|
|
|
|
+ .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;
|
|
|
|
+ equipmentStatus.value = dataStatus.AI || dataStatus.SW || dataStatus.KL || dataStatus.PP || dataStatus.SU || dataStatus.SC || dataStatus.UF || dataStatus.JM;
|
|
|
|
+ if (!equipmentStatus.value) {
|
|
|
|
+ dataMessage.value = "没有符合条件的搜索记录或该学校未绑定任何设备!";
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ .catch((error) => {
|
|
|
|
+ dataMessage.value = error.message;
|
|
|
|
+ console.log(error);
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function getEquipmentSearch() {
|
|
|
|
+ getEquipmentData(userStore.schoolId);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+onMounted(() => {
|
|
|
|
+ getTeacherData(userStore.schoolId);
|
|
|
|
+ getEquipmentData(userStore.schoolId);
|
|
|
|
+});
|
|
|
|
+watch(
|
|
|
|
+ () => userStore.schoolId,
|
|
|
|
+ (newValue) => {
|
|
|
|
+ // 学校切换后重新获取
|
|
|
|
+ equipmentParams.school_id = newValue;
|
|
|
|
+ equipmentParams.teacher_id = 0;
|
|
|
|
+ equipmentParams.sn = "";
|
|
|
|
+ getTeacherData(newValue);
|
|
|
|
+ getEquipmentData(newValue);
|
|
|
|
+ }
|
|
|
|
+);
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<template>
|
|
<template>
|
|
- <div class="equipment-container">
|
|
|
|
- <!-- 设备查找 -->
|
|
|
|
- <div class="equipment-search">
|
|
|
|
- <el-select
|
|
|
|
- v-model="teacherNumber"
|
|
|
|
- placeholder="请选择使用者名称"
|
|
|
|
- size="large"
|
|
|
|
- >
|
|
|
|
- <el-option
|
|
|
|
- v-for="item in teacherData"
|
|
|
|
- :key="item.id"
|
|
|
|
- :label="item.name"
|
|
|
|
- :value="item.id"
|
|
|
|
- />
|
|
|
|
- </el-select>
|
|
|
|
- <el-input
|
|
|
|
- v-model="equipmentInfo"
|
|
|
|
- size="large"
|
|
|
|
- placeholder="请输入设备编号"
|
|
|
|
- />
|
|
|
|
- <el-button size="large" type="primary">查找</el-button>
|
|
|
|
- </div>
|
|
|
|
- <div class="equipment-box">
|
|
|
|
- <div class="title"><span>水母星球脑机</span><b>5</b>台</div>
|
|
|
|
- <el-row :gutter="15">
|
|
|
|
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6">
|
|
|
|
- <div class="box-card">
|
|
|
|
- <el-row>
|
|
|
|
- <el-col :span="9" class="img">
|
|
|
|
- <div class="i nj"></div>
|
|
|
|
- <div class="value">AI30200274</div>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="15" class="info">
|
|
|
|
- <div class="label mb-2">固件版本</div>
|
|
|
|
- <div class="value mb-4">1.06-5-85E3FEB</div>
|
|
|
|
- <div class="label mb-2">绑定时间</div>
|
|
|
|
- <div class="value mb-4">2023-07-12 13:22</div>
|
|
|
|
- <div class="label mb-2">使用者</div>
|
|
|
|
- <div class="value mb-2">松阪老师</div>
|
|
|
|
- <div class="value">13766278827</div>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6">
|
|
|
|
- <div class="box-card">
|
|
|
|
- <el-row>
|
|
|
|
- <el-col :span="9" class="img">
|
|
|
|
- <div class="i nj"></div>
|
|
|
|
- <div class="value">AI30200274</div>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="15" class="info">
|
|
|
|
- <div class="label mb-2">固件版本</div>
|
|
|
|
- <div class="value mb-4">1.06-5-85E3FEB</div>
|
|
|
|
- <div class="label mb-2">绑定时间</div>
|
|
|
|
- <div class="value mb-4">2023-07-12 13:22</div>
|
|
|
|
- <div class="label mb-2">使用者</div>
|
|
|
|
- <div class="value mb-2">松阪老师</div>
|
|
|
|
- <div class="value">13766278827</div>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6">
|
|
|
|
- <div class="box-card">
|
|
|
|
- <el-row>
|
|
|
|
- <el-col :span="9" class="img">
|
|
|
|
- <div class="i nj"></div>
|
|
|
|
- <div class="value">AI30200274</div>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="15" class="info">
|
|
|
|
- <div class="label mb-2">固件版本</div>
|
|
|
|
- <div class="value mb-4">1.06-5-85E3FEB</div>
|
|
|
|
- <div class="label mb-2">绑定时间</div>
|
|
|
|
- <div class="value mb-4">2023-07-12 13:22</div>
|
|
|
|
- <div class="label mb-2">使用者</div>
|
|
|
|
- <div class="value mb-2">松阪老师</div>
|
|
|
|
- <div class="value">13766278827</div>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6">
|
|
|
|
- <div class="box-card">
|
|
|
|
- <el-row>
|
|
|
|
- <el-col :span="9" class="img">
|
|
|
|
- <div class="i nj"></div>
|
|
|
|
- <div class="value">AI30200274</div>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="15" class="info">
|
|
|
|
- <div class="label mb-2">固件版本</div>
|
|
|
|
- <div class="value mb-4">1.06-5-85E3FEB</div>
|
|
|
|
- <div class="label mb-2">绑定时间</div>
|
|
|
|
- <div class="value mb-4">2023-07-12 13:22</div>
|
|
|
|
- <div class="label mb-2">使用者</div>
|
|
|
|
- <div class="value mb-2">松阪老师</div>
|
|
|
|
- <div class="value">13766278827</div>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6">
|
|
|
|
- <div class="box-card">
|
|
|
|
- <el-row>
|
|
|
|
- <el-col :span="9" class="img">
|
|
|
|
- <div class="i nj"></div>
|
|
|
|
- <div class="value">AI30200274</div>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="15" class="info">
|
|
|
|
- <div class="label mb-2">固件版本</div>
|
|
|
|
- <div class="value mb-4">1.06-5-85E3FEB</div>
|
|
|
|
- <div class="label mb-2">绑定时间</div>
|
|
|
|
- <div class="value mb-4">2023-07-12 13:22</div>
|
|
|
|
- <div class="label mb-2">使用者</div>
|
|
|
|
- <div class="value mb-2">松阪老师</div>
|
|
|
|
- <div class="value">13766278827</div>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6">
|
|
|
|
- <div class="box-card">
|
|
|
|
- <el-row>
|
|
|
|
- <el-col :span="9" class="img">
|
|
|
|
- <div class="i nj"></div>
|
|
|
|
- <div class="value">AI30200274</div>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="15" class="info">
|
|
|
|
- <div class="label mb-2">固件版本</div>
|
|
|
|
- <div class="value mb-4">1.06-5-85E3FEB</div>
|
|
|
|
- <div class="label mb-2">绑定时间</div>
|
|
|
|
- <div class="value mb-4">2023-07-12 13:22</div>
|
|
|
|
- <div class="label mb-2">使用者</div>
|
|
|
|
- <div class="value mb-2">松阪老师</div>
|
|
|
|
- <div class="value">13766278827</div>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- <div class="equipment-box">
|
|
|
|
- <div class="title"><span>智脑水舞</span><b>5</b>台</div>
|
|
|
|
- <el-row :gutter="15">
|
|
|
|
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6">
|
|
|
|
- <div class="box-card">
|
|
|
|
- <el-row>
|
|
|
|
- <el-col :span="9" class="img">
|
|
|
|
- <div class="i sw"></div>
|
|
|
|
- <div class="value">AI30200274</div>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="15" class="info">
|
|
|
|
- <div class="label mb-2">固件版本</div>
|
|
|
|
- <div class="value mb-4">1.06-5-85E3FEB</div>
|
|
|
|
- <div class="label mb-2">绑定时间</div>
|
|
|
|
- <div class="value mb-4">2023-07-12 13:22</div>
|
|
|
|
- <div class="label mb-2">使用者</div>
|
|
|
|
- <div class="value mb-2">松阪老师</div>
|
|
|
|
- <div class="value">13766278827</div>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- <div class="equipment-box">
|
|
|
|
- <div class="title"><span>智脑碰碰车</span><b>5</b>台</div>
|
|
|
|
- <el-row :gutter="15">
|
|
|
|
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6">
|
|
|
|
- <div class="box-card">
|
|
|
|
- <el-row>
|
|
|
|
- <el-col :span="9" class="img">
|
|
|
|
- <div class="i ppc"></div>
|
|
|
|
- <div class="value">AI30200274</div>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="15" class="info">
|
|
|
|
- <div class="label mb-2">固件版本</div>
|
|
|
|
- <div class="value mb-4">1.06-5-85E3FEB</div>
|
|
|
|
- <div class="label mb-2">绑定时间</div>
|
|
|
|
- <div class="value mb-4">2023-07-12 13:22</div>
|
|
|
|
- <div class="label mb-2">使用者</div>
|
|
|
|
- <div class="value mb-2">松阪老师</div>
|
|
|
|
- <div class="value">13766278827</div>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- <div class="equipment-box">
|
|
|
|
- <div class="title"><span>智脑赛车</span><b>5</b>台</div>
|
|
|
|
- <el-row :gutter="15">
|
|
|
|
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6">
|
|
|
|
- <div class="box-card">
|
|
|
|
- <el-row>
|
|
|
|
- <el-col :span="9" class="img">
|
|
|
|
- <div class="i sc"></div>
|
|
|
|
- <div class="value">AI30200274</div>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="15" class="info">
|
|
|
|
- <div class="label mb-2">固件版本</div>
|
|
|
|
- <div class="value mb-4">1.06-5-85E3FEB</div>
|
|
|
|
- <div class="label mb-2">绑定时间</div>
|
|
|
|
- <div class="value mb-4">2023-07-12 13:22</div>
|
|
|
|
- <div class="label mb-2">使用者</div>
|
|
|
|
- <div class="value mb-2">松阪老师</div>
|
|
|
|
- <div class="value">13766278827</div>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- <div class="equipment-box">
|
|
|
|
- <div class="title"><span>智脑恐龙</span><b>5</b>台</div>
|
|
|
|
- <el-row :gutter="15">
|
|
|
|
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6">
|
|
|
|
- <div class="box-card">
|
|
|
|
- <el-row>
|
|
|
|
- <el-col :span="9" class="img">
|
|
|
|
- <div class="i kl"></div>
|
|
|
|
- <div class="value">AI30200274</div>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="15" class="info">
|
|
|
|
- <div class="label mb-2">固件版本</div>
|
|
|
|
- <div class="value mb-4">1.06-5-85E3FEB</div>
|
|
|
|
- <div class="label mb-2">绑定时间</div>
|
|
|
|
- <div class="value mb-4">2023-07-12 13:22</div>
|
|
|
|
- <div class="label mb-2">使用者</div>
|
|
|
|
- <div class="value mb-2">松阪老师</div>
|
|
|
|
- <div class="value">13766278827</div>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- <div class="equipment-box">
|
|
|
|
- <div class="title"><span>智脑SUV</span><b>5</b>台</div>
|
|
|
|
- <el-row :gutter="15">
|
|
|
|
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6">
|
|
|
|
- <div class="box-card">
|
|
|
|
- <el-row>
|
|
|
|
- <el-col :span="9" class="img">
|
|
|
|
- <div class="i suv"></div>
|
|
|
|
- <div class="value">AI30200274</div>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="15" class="info">
|
|
|
|
- <div class="label mb-2">固件版本</div>
|
|
|
|
- <div class="value mb-4">1.06-5-85E3FEB</div>
|
|
|
|
- <div class="label mb-2">绑定时间</div>
|
|
|
|
- <div class="value mb-4">2023-07-12 13:22</div>
|
|
|
|
- <div class="label mb-2">使用者</div>
|
|
|
|
- <div class="value mb-2">松阪老师</div>
|
|
|
|
- <div class="value">13766278827</div>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- <div class="equipment-box">
|
|
|
|
- <div class="title"><span>智脑UFO</span><b>5</b>台</div>
|
|
|
|
- <el-row :gutter="15">
|
|
|
|
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6">
|
|
|
|
- <div class="box-card">
|
|
|
|
- <el-row>
|
|
|
|
- <el-col :span="9" class="img">
|
|
|
|
- <div class="i ufo"></div>
|
|
|
|
- <div class="value">AI30200274</div>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="15" class="info">
|
|
|
|
- <div class="label mb-2">固件版本</div>
|
|
|
|
- <div class="value mb-4">1.06-5-85E3FEB</div>
|
|
|
|
- <div class="label mb-2">绑定时间</div>
|
|
|
|
- <div class="value mb-4">2023-07-12 13:22</div>
|
|
|
|
- <div class="label mb-2">使用者</div>
|
|
|
|
- <div class="value mb-2">松阪老师</div>
|
|
|
|
- <div class="value">13766278827</div>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- <div class="equipment-box">
|
|
|
|
- <div class="title"><span>智脑积木</span><b>5</b>台</div>
|
|
|
|
- <el-row :gutter="15">
|
|
|
|
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6">
|
|
|
|
- <div class="box-card">
|
|
|
|
- <el-row>
|
|
|
|
- <el-col :span="9" class="img">
|
|
|
|
- <div class="i jm"></div>
|
|
|
|
- <div class="value">AI30200274</div>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="15" class="info">
|
|
|
|
- <div class="label mb-2">固件版本</div>
|
|
|
|
- <div class="value mb-4">1.06-5-85E3FEB</div>
|
|
|
|
- <div class="label mb-2">绑定时间</div>
|
|
|
|
- <div class="value mb-4">2023-07-12 13:22</div>
|
|
|
|
- <div class="label mb-2">使用者</div>
|
|
|
|
- <div class="value mb-2">松阪老师</div>
|
|
|
|
- <div class="value">13766278827</div>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <div class="equipment-container">
|
|
|
|
+ <!-- 设备查找 -->
|
|
|
|
+ <div class="equipment-search">
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="equipmentParams.teacher_id"
|
|
|
|
+ placeholder="请选择使用者名称"
|
|
|
|
+ size="large"
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in teacherSelect"
|
|
|
|
+ :key="item.id"
|
|
|
|
+ :label="item.name"
|
|
|
|
+ :value="item.id"
|
|
|
|
+ />
|
|
|
|
+ </el-select>
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="equipmentParams.sn"
|
|
|
|
+ size="large"
|
|
|
|
+ placeholder="请输入设备编号"
|
|
|
|
+ />
|
|
|
|
+ <el-button size="large" type="primary" @click="getEquipmentSearch()">查找</el-button>
|
|
|
|
+ </div>
|
|
|
|
+ <template v-if="equipmentStatus">
|
|
|
|
+ <div v-if="dataStatus.AI" class="equipment-box">
|
|
|
|
+ <div class="title"><span>水母星球脑机</span><b>{{ equipmentData.AI.length }}</b>台</div>
|
|
|
|
+ <el-row :gutter="15">
|
|
|
|
+ <template v-for="item in equipmentData.AI" :key="item.sn">
|
|
|
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6">
|
|
|
|
+ <div class="box-card">
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="9" class="img">
|
|
|
|
+ <div class="i nj"></div>
|
|
|
|
+ <div class="value">{{ item.sn }}</div>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="15" class="info">
|
|
|
|
+ <div class="label mb-2">固件版本</div>
|
|
|
|
+ <div class="value mb-4">{{ item.software_version }}</div>
|
|
|
|
+ <div class="label mb-2">绑定时间</div>
|
|
|
|
+ <div class="value mb-4">{{ item.create_time }}</div>
|
|
|
|
+ <div class="label mb-2">使用者</div>
|
|
|
|
+ <div class="value mb-2">{{ item.name }}</div>
|
|
|
|
+ <div class="value">{{ item.phone }}</div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </template>
|
|
|
|
+ </el-row>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-if="dataStatus.SW" class="equipment-box">
|
|
|
|
+ <div class="title"><span>智脑水舞</span><b>{{ equipmentData.SW.length }}</b>台</div>
|
|
|
|
+ <el-row :gutter="15">
|
|
|
|
+ <template v-for="item in equipmentData.SW" :key="item.sn">
|
|
|
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6">
|
|
|
|
+ <div class="box-card">
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="9" class="img">
|
|
|
|
+ <div class="i sw"></div>
|
|
|
|
+ <div class="value">{{ item.sn }}</div>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="15" class="info">
|
|
|
|
+ <div class="label mb-2">固件版本</div>
|
|
|
|
+ <div class="value mb-4">{{ item.software_version }}</div>
|
|
|
|
+ <div class="label mb-2">绑定时间</div>
|
|
|
|
+ <div class="value mb-4">{{ item.create_time }}</div>
|
|
|
|
+ <div class="label mb-2">使用者</div>
|
|
|
|
+ <div class="value mb-2">{{ item.name }}</div>
|
|
|
|
+ <div class="value">{{ item.phone }}</div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </template>
|
|
|
|
+ </el-row>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-if="dataStatus.KL" class="equipment-box">
|
|
|
|
+ <div class="title"><span>智脑恐龙</span><b>{{ equipmentData.KL.length }}</b>台</div>
|
|
|
|
+ <el-row :gutter="15">
|
|
|
|
+ <template v-for="item in equipmentData.KL" :key="item.sn">
|
|
|
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6">
|
|
|
|
+ <div class="box-card">
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="9" class="img">
|
|
|
|
+ <div class="i sc"></div>
|
|
|
|
+ <div class="value">{{ item.sn }}</div>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="15" class="info">
|
|
|
|
+ <div class="label mb-2">固件版本</div>
|
|
|
|
+ <div class="value mb-4">{{ item.software_version }}</div>
|
|
|
|
+ <div class="label mb-2">绑定时间</div>
|
|
|
|
+ <div class="value mb-4">{{ item.create_time }}</div>
|
|
|
|
+ <div class="label mb-2">使用者</div>
|
|
|
|
+ <div class="value mb-2">{{ item.name }}</div>
|
|
|
|
+ <div class="value">{{ item.phone }}</div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </template>
|
|
|
|
+ </el-row>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-if="dataStatus.PP" class="equipment-box">
|
|
|
|
+ <div class="title"><span>智脑碰碰车</span><b>{{ equipmentData.PP.length }}</b>台</div>
|
|
|
|
+ <el-row :gutter="15">
|
|
|
|
+ <template v-for="item in equipmentData.PP" :key="item.sn">
|
|
|
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6">
|
|
|
|
+ <div class="box-card">
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="9" class="img">
|
|
|
|
+ <div class="i ppc"></div>
|
|
|
|
+ <div class="value">{{ item.sn }}</div>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="15" class="info">
|
|
|
|
+ <div class="label mb-2">固件版本</div>
|
|
|
|
+ <div class="value mb-4">{{ item.software_version }}</div>
|
|
|
|
+ <div class="label mb-2">绑定时间</div>
|
|
|
|
+ <div class="value mb-4">{{ item.create_time }}</div>
|
|
|
|
+ <div class="label mb-2">使用者</div>
|
|
|
|
+ <div class="value mb-2">{{ item.name }}</div>
|
|
|
|
+ <div class="value">{{ item.phone }}</div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </template>
|
|
|
|
+ </el-row>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-if="dataStatus.SU" class="equipment-box">
|
|
|
|
+ <div class="title"><span>智脑SUV</span><b>{{ equipmentData.SU.length }}</b>台</div>
|
|
|
|
+ <el-row :gutter="15">
|
|
|
|
+ <template v-for="item in equipmentData.SU" :key="item.sn">
|
|
|
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6">
|
|
|
|
+ <div class="box-card">
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="9" class="img">
|
|
|
|
+ <div class="i kl"></div>
|
|
|
|
+ <div class="value">{{ item.sn }}</div>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="15" class="info">
|
|
|
|
+ <div class="label mb-2">固件版本</div>
|
|
|
|
+ <div class="value mb-4">{{ item.software_version }}</div>
|
|
|
|
+ <div class="label mb-2">绑定时间</div>
|
|
|
|
+ <div class="value mb-4">{{ item.create_time }}</div>
|
|
|
|
+ <div class="label mb-2">使用者</div>
|
|
|
|
+ <div class="value mb-2">{{ item.name }}</div>
|
|
|
|
+ <div class="value">{{ item.phone }}</div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </template>
|
|
|
|
+ </el-row>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-if="dataStatus.SC" class="equipment-box">
|
|
|
|
+ <div class="title"><span>智脑赛车</span><b>{{ equipmentData.SC.length }}</b>台</div>
|
|
|
|
+ <el-row :gutter="15">
|
|
|
|
+ <template v-for="item in equipmentData.SC" :key="item.sn">
|
|
|
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6">
|
|
|
|
+ <div class="box-card">
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="9" class="img">
|
|
|
|
+ <div class="i suv"></div>
|
|
|
|
+ <div class="value">{{ item.sn }}</div>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="15" class="info">
|
|
|
|
+ <div class="label mb-2">固件版本</div>
|
|
|
|
+ <div class="value mb-4">{{ item.software_version }}</div>
|
|
|
|
+ <div class="label mb-2">绑定时间</div>
|
|
|
|
+ <div class="value mb-4">{{ item.create_time }}</div>
|
|
|
|
+ <div class="label mb-2">使用者</div>
|
|
|
|
+ <div class="value mb-2">{{ item.name }}</div>
|
|
|
|
+ <div class="value">{{ item.phone }}</div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </template>
|
|
|
|
+ </el-row>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-if="dataStatus.UF" class="equipment-box">
|
|
|
|
+ <div class="title"><span>智脑UFO</span><b>{{ equipmentData.UF.length }}</b>台</div>
|
|
|
|
+ <el-row :gutter="15">
|
|
|
|
+ <template v-for="item in equipmentData.UF" :key="item.sn">
|
|
|
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6">
|
|
|
|
+ <div class="box-card">
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="9" class="img">
|
|
|
|
+ <div class="i ufo"></div>
|
|
|
|
+ <div class="value">{{ item.sn }}</div>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="15" class="info">
|
|
|
|
+ <div class="label mb-2">固件版本</div>
|
|
|
|
+ <div class="value mb-4">{{ item.software_version }}</div>
|
|
|
|
+ <div class="label mb-2">绑定时间</div>
|
|
|
|
+ <div class="value mb-4">{{ item.create_time }}</div>
|
|
|
|
+ <div class="label mb-2">使用者</div>
|
|
|
|
+ <div class="value mb-2">{{ item.name }}</div>
|
|
|
|
+ <div class="value">{{ item.phone }}</div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </template>
|
|
|
|
+ </el-row>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-if="dataStatus.JM" class="equipment-box">
|
|
|
|
+ <div class="title"><span>智脑积木</span><b>{{ equipmentData.JM.length }}</b>台</div>
|
|
|
|
+ <el-row :gutter="15">
|
|
|
|
+ <template v-for="item in equipmentData.JM" :key="item.sn">
|
|
|
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6">
|
|
|
|
+ <div class="box-card">
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="9" class="img">
|
|
|
|
+ <div class="i jm"></div>
|
|
|
|
+ <div class="value">{{ item.sn }}</div>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="15" class="info">
|
|
|
|
+ <div class="label mb-2">固件版本</div>
|
|
|
|
+ <div class="value mb-4">{{ item.software_version }}</div>
|
|
|
|
+ <div class="label mb-2">绑定时间</div>
|
|
|
|
+ <div class="value mb-4">{{ item.create_time }}</div>
|
|
|
|
+ <div class="label mb-2">使用者</div>
|
|
|
|
+ <div class="value mb-2">{{ item.name }}</div>
|
|
|
|
+ <div class="value">{{ item.phone }}</div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </template>
|
|
|
|
+ </el-row>
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ <template v-else>
|
|
|
|
+ <div class="empty">
|
|
|
|
+ <img src="../../assets/empty.png" alt="数据为空">
|
|
|
|
+ <p>{{ dataMessage }}</p>
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ </div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
.equipment-container {
|
|
.equipment-container {
|
|
- position: relative;
|
|
|
|
- padding: 20px 30px;
|
|
|
|
|
|
+ position: relative;
|
|
|
|
+ padding: 20px 30px;
|
|
}
|
|
}
|
|
|
|
+
|
|
.equipment-search {
|
|
.equipment-search {
|
|
- margin-bottom: 20px;
|
|
|
|
- font-size: 16px;
|
|
|
|
- .el-select {
|
|
|
|
- width: 180px;
|
|
|
|
- margin: 0 20px 0 0;
|
|
|
|
- }
|
|
|
|
- .el-input {
|
|
|
|
- width: 180px;
|
|
|
|
- margin: 0;
|
|
|
|
- }
|
|
|
|
- :deep(.el-input__inner) {
|
|
|
|
- font-size: 16px;
|
|
|
|
- }
|
|
|
|
- .el-button {
|
|
|
|
- font-size: 16px;
|
|
|
|
- padding: 0 26px;
|
|
|
|
- margin: 0 20px;
|
|
|
|
- border-radius: 12px;
|
|
|
|
- }
|
|
|
|
|
|
+ margin-bottom: 20px;
|
|
|
|
+ font-size: 16px;
|
|
|
|
+
|
|
|
|
+ .el-select {
|
|
|
|
+ width: 180px;
|
|
|
|
+ margin: 0 20px 0 0;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .el-input {
|
|
|
|
+ width: 180px;
|
|
|
|
+ margin: 0;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ :deep(.el-input__inner) {
|
|
|
|
+ font-size: 16px;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .el-button {
|
|
|
|
+ font-size: 16px;
|
|
|
|
+ padding: 0 26px;
|
|
|
|
+ margin: 0 20px;
|
|
|
|
+ border-radius: 12px;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+.empty{
|
|
|
|
+ padding:200px 0;
|
|
}
|
|
}
|
|
/* 自定义 el-select 样式 */
|
|
/* 自定义 el-select 样式 */
|
|
:deep(.el-input__wrapper) {
|
|
:deep(.el-input__wrapper) {
|
|
- background: #ffffff;
|
|
|
|
- border-radius: 12px;
|
|
|
|
|
|
+ background: #ffffff;
|
|
|
|
+ border-radius: 12px;
|
|
}
|
|
}
|
|
|
|
+
|
|
:deep(.el-input__wrapper) {
|
|
:deep(.el-input__wrapper) {
|
|
- box-shadow: none !important;
|
|
|
|
|
|
+ box-shadow: none !important;
|
|
}
|
|
}
|
|
|
|
+
|
|
:deep(.el-select) {
|
|
:deep(.el-select) {
|
|
- --el-select-input-focus-border-color: none !important;
|
|
|
|
|
|
+ --el-select-input-focus-border-color: none !important;
|
|
}
|
|
}
|
|
|
|
+
|
|
:deep(.el-select .el-input__wrapper.is-focus) {
|
|
:deep(.el-select .el-input__wrapper.is-focus) {
|
|
- box-shadow: none !important;
|
|
|
|
|
|
+ box-shadow: none !important;
|
|
}
|
|
}
|
|
|
|
+
|
|
:deep(.el-select:hover:not(.el-select--disabled) .el-input__wrapper) {
|
|
:deep(.el-select:hover:not(.el-select--disabled) .el-input__wrapper) {
|
|
- box-shadow: none !important;
|
|
|
|
|
|
+ box-shadow: none !important;
|
|
}
|
|
}
|
|
|
|
+
|
|
.equipment-box {
|
|
.equipment-box {
|
|
- .title {
|
|
|
|
- font-size: 16px;
|
|
|
|
- color: #4284f2;
|
|
|
|
- text-indent: 0.5em;
|
|
|
|
- span {
|
|
|
|
- font-size: 24px;
|
|
|
|
- display: inline-block;
|
|
|
|
- min-width: 180px;
|
|
|
|
- }
|
|
|
|
- b {
|
|
|
|
- font-size: 28px;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .box-card {
|
|
|
|
- background: #ffffff;
|
|
|
|
- border-radius: 30px;
|
|
|
|
- border: 1px solid #e6e8eb;
|
|
|
|
- position: relative;
|
|
|
|
- padding: 20px 0;
|
|
|
|
- font-size: 14px;
|
|
|
|
- margin-bottom: 10px;
|
|
|
|
- .info {
|
|
|
|
- border-left: 1px solid #e0e6f1;
|
|
|
|
- padding-left: 28px;
|
|
|
|
- line-height: 14px;
|
|
|
|
- .label {
|
|
|
|
- color: #999999;
|
|
|
|
- }
|
|
|
|
- .value {
|
|
|
|
- color: #23283c;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .img {
|
|
|
|
- text-align: center;
|
|
|
|
- .i {
|
|
|
|
- width: 120px;
|
|
|
|
- height: 120px;
|
|
|
|
- margin: 0 auto;
|
|
|
|
- &.nj {
|
|
|
|
- background: url("../../assets/equipment/NJ.png") center center
|
|
|
|
- no-repeat;
|
|
|
|
- }
|
|
|
|
- &.sw {
|
|
|
|
- background: url("../../assets/equipment/SW.png") center center
|
|
|
|
- no-repeat;
|
|
|
|
- }
|
|
|
|
- &.kl {
|
|
|
|
- background: url("../../assets/equipment/KL.png") center center
|
|
|
|
- no-repeat;
|
|
|
|
- }
|
|
|
|
- &.suv {
|
|
|
|
- background: url("../../assets/equipment/SUV.png") center center
|
|
|
|
- no-repeat;
|
|
|
|
- }
|
|
|
|
- &.ufo {
|
|
|
|
- background: url("../../assets/equipment/UFO.png") center center
|
|
|
|
- no-repeat;
|
|
|
|
- }
|
|
|
|
- &.ppc {
|
|
|
|
- background: url("../../assets/equipment/PPC.png") center center
|
|
|
|
- no-repeat;
|
|
|
|
- }
|
|
|
|
- &.sc {
|
|
|
|
- background: url("../../assets/equipment/SC.png") center center
|
|
|
|
- no-repeat;
|
|
|
|
- }
|
|
|
|
- &.jm {
|
|
|
|
- background: url("../../assets/equipment/JM.png") center center
|
|
|
|
- no-repeat;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ .title {
|
|
|
|
+ font-size: 16px;
|
|
|
|
+ color: #4284f2;
|
|
|
|
+ text-indent: 0.5em;
|
|
|
|
+
|
|
|
|
+ span {
|
|
|
|
+ font-size: 24px;
|
|
|
|
+ display: inline-block;
|
|
|
|
+ min-width: 180px;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ b {
|
|
|
|
+ font-size: 28px;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .box-card {
|
|
|
|
+ background: #ffffff;
|
|
|
|
+ border-radius: 30px;
|
|
|
|
+ border: 1px solid #e6e8eb;
|
|
|
|
+ position: relative;
|
|
|
|
+ padding: 20px 0;
|
|
|
|
+ font-size: 14px;
|
|
|
|
+ margin-bottom: 10px;
|
|
|
|
+
|
|
|
|
+ .info {
|
|
|
|
+ border-left: 1px solid #e0e6f1;
|
|
|
|
+ padding-left: 28px;
|
|
|
|
+ line-height: 14px;
|
|
|
|
+
|
|
|
|
+ .label {
|
|
|
|
+ color: #999999;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .value {
|
|
|
|
+ color: #23283c;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .img {
|
|
|
|
+ text-align: center;
|
|
|
|
+
|
|
|
|
+ .i {
|
|
|
|
+ width: 120px;
|
|
|
|
+ height: 120px;
|
|
|
|
+ margin: 0 auto;
|
|
|
|
+
|
|
|
|
+ &.nj {
|
|
|
|
+ background: url("../../assets/equipment/NJ.png") center center no-repeat;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ &.sw {
|
|
|
|
+ background: url("../../assets/equipment/SW.png") center center no-repeat;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ &.kl {
|
|
|
|
+ background: url("../../assets/equipment/KL.png") center center no-repeat;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ &.suv {
|
|
|
|
+ background: url("../../assets/equipment/SUV.png") center center no-repeat;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ &.ufo {
|
|
|
|
+ background: url("../../assets/equipment/UFO.png") center center no-repeat;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ &.ppc {
|
|
|
|
+ background: url("../../assets/equipment/PPC.png") center center no-repeat;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ &.sc {
|
|
|
|
+ background: url("../../assets/equipment/SC.png") center center no-repeat;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ &.jm {
|
|
|
|
+ background: url("../../assets/equipment/JM.png") center center no-repeat;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
</style>
|
|
</style>
|