QYF-GitLab1
2025-03-03 c2ddf632c8e642813c89e501d402f06c57369a22
src/views/model/children/roverModel.vue
@@ -1,14 +1,232 @@
<template>
  <div class="kinematic">
    <h2>巡视器模型库</h2>
  <div class="roverBox">
    <div class="roverTopBox">
      <el-button :icon="Plus">新建</el-button>
      <el-input
        v-model="input4"
        style="width: 300px"
        placeholder="请输入关键字搜索"
      >
        <template #suffix>
          <el-icon class="el-input__icon"><search /></el-icon>
        </template>
      </el-input>
    </div>
    <div class="roverContentBox">
      <el-table
        ref="multipleTableRef"
        :data="tableData"
        row-key="id"
        border
        style="width: 100%"
        @selection-change="handleSelectionChange"
        class="roverTable"
      >
        <el-table-column type="selection" width="55" />
        <el-table-column prop="index" label="序号" width="70" />
        <el-table-column prop="date" label="Date" width="180" />
        <el-table-column prop="name" label="Name" width="180" />
        <el-table-column prop="address" label="Address" />
      </el-table>
    </div>
    <div class="rover-pagination-block">
      <el-pagination
        v-model:current-page="currentPage"
        :page-size="pageSize"
        :size="size"
        :background="background"
        layout="total, prev, pager, next"
        :total="100"
        @current-change="handleCurrentChange"
      />
    </div>
  </div>
</template>
<script setup lang="ts">
import { ref } from "vue";
import { Plus } from "@element-plus/icons-vue";
import type { ComponentSize, TableInstance } from "element-plus";
// 搜索
const input4 = ref("");
// 表格
const multipleTableRef = ref<TableInstance>();
const multipleSelection = ref<any[]>([]);
// 分页
const currentPage = ref(4);
const pageSize = ref(100);
const size = ref<ComponentSize>("default");
const background = ref(true);
const tableData = [
  {
    id: 1,
    date: "2016-05-03",
    name: "Tom",
    address: "No. 189, Grove St, Los Angeles",
  },
  {
    id: 2,
    date: "2016-05-02",
    name: "Tom",
    address: "No. 189, Grove St, Los Angeles",
  },
  {
    id: 3,
    date: "2016-05-04",
    name: "Tom",
    address: "No. 189, Grove St, Los Angeles",
  },
  {
    id: 4,
    date: "2016-05-01",
    name: "Tom",
    address: "No. 189, Grove St, Los Angeles",
  },
  {
    id: 5,
    date: "2016-05-08",
    name: "Tom",
    address: "No. 189, Grove St, Los Angeles",
  },
  {
    id: 6,
    date: "2016-05-06",
    name: "Tom",
    address: "No. 189, Grove St, Los Angeles",
  },
  {
    id: 7,
    date: "2016-05-07",
    name: "Tom",
    address: "No. 189, Grove St, Los Angeles",
  },
  {
    id: 7,
    date: "2016-05-07",
    name: "Tom",
    address: "No. 189, Grove St, Los Angeles",
  },
  {
    id: 7,
    date: "2016-05-07",
    name: "Tom",
    address: "No. 189, Grove St, Los Angeles",
  },
  {
    id: 7,
    date: "2016-05-07",
    name: "Tom",
    address: "No. 189, Grove St, Los Angeles",
  },
  {
    id: 7,
    date: "2016-05-07",
    name: "Tom",
    address: "No. 189, Grove St, Los Angeles",
  },
  {
    id: 7,
    date: "2016-05-07",
    name: "Tom",
    address: "No. 189, Grove St, Los Angeles",
  },
  {
    id: 7,
    date: "2016-05-07",
    name: "Tom",
    address: "No. 189, Grove St, Los Angeles",
  },
  {
    id: 7,
    date: "2016-05-07",
    name: "Tom",
    address: "No. 189, Grove St, Los Angeles",
  },
  {
    id: 7,
    date: "2016-05-07",
    name: "Tom",
    address: "No. 189, Grove St, Los Angeles",
  },
  {
    id: 7,
    date: "2016-05-07",
    name: "Tom",
    address: "No. 189, Grove St, Los Angeles",
  },
  {
    id: 7,
    date: "2016-05-07",
    name: "Tom",
    address: "No. 189, Grove St, Los Angeles",
  },
  {
    id: 7,
    date: "2016-05-07",
    name: "Tom",
    address: "No. 189, Grove St, Los Angeles",
  },
  {
    id: 7,
    date: "2016-05-07",
    name: "Tom",
    address: "No. 189, Grove St, Los Angeles",
  },
  {
    id: 7,
    date: "2016-05-07",
    name: "Tom",
    address: "No. 189, Grove St, Los Angeles",
  },
  {
    id: 7,
    date: "2016-05-07",
    name: "Tom",
    address: "No. 189, Grove St, Los Angeles",
  },
];
const handleCurrentChange = (val: number) => {
  console.log(`current page: ${val}`);
};
const handleSelectionChange = (val: []) => {
  multipleSelection.value = val;
};
</script>
<style lang="less" scoped>
.kinematic {
  padding: 20px;
.roverBox {
  width: 100%;
  height: 100%;
  .roverTopBox {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 50px;
    padding: 0 10px;
    box-sizing: border-box;
  }
  .roverContentBox {
    max-height: calc(100% - 120px);
    .roverTable {
      height: 750px;
    }
  }
  .rover-pagination-block {
    height: 60px;
    display: flex;
    justify-content: flex-end;
    background-color: #fff;
    padding: 0 10px;
    box-sizing: border-box;
  }
}
</style>