| | |
| | | <template> |
| | | <div class="kinematic"> |
| | | <h2>着陆器模型库</h2> |
| | | <div class="landerBox"> |
| | | <div class="landerTopBox"> |
| | | <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="landerContentBox"> |
| | | <el-table |
| | | ref="multipleTableRef" |
| | | :data="tableData" |
| | | row-key="id" |
| | | border |
| | | style="width: 100%" |
| | | @selection-change="handleSelectionChange" |
| | | class="landerTable" |
| | | > |
| | | <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="lander-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(20); |
| | | 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", |
| | | }, |
| | | |
| | | |
| | | ]; |
| | | |
| | | const handleCurrentChange = (val: number) => { |
| | | console.log(`current page: ${val}`); |
| | | }; |
| | | |
| | | const handleSelectionChange = (val: []) => { |
| | | multipleSelection.value = val; |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .kinematic { |
| | | padding: 20px; |
| | | .landerBox { |
| | | width: 100%; |
| | | height: 100%; |
| | | |
| | | .landerTopBox { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | height: 50px; |
| | | padding: 0 10px; |
| | | box-sizing: border-box; |
| | | } |
| | | .landerContentBox { |
| | | width: 100%; |
| | | max-height: calc(100% - 120px); |
| | | .landerTable { |
| | | height: 750px; |
| | | } |
| | | } |
| | | .lander-pagination-block { |
| | | height: 60px; |
| | | display: flex; |
| | | justify-content: flex-end; |
| | | padding: 0 20px; |
| | | background-color: #fff; |
| | | |
| | | } |
| | | } |
| | | </style> |
| | | </style> |