<template>
<div class="card">
<el-card>
<el-table :data="paginatedAdministrators" style="width: 100%;margin-top: 20px;">
<el-table-column prop="username" label="姓名" />
<el-table-column prop="department" label="挂号科室" />
<el-table-column prop="date" label="挂号日期" />
<el-table-column label="数量" width="100">
<template #default="scope">
<el-input v-model="scope.row.num" placeholder="请输入数量" @blur="updateItem(scope.row)" ></el-input>
</template>
</el-table-column>
</el-table>
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page="currentPage" :page-sizes="[10, 20, 30, 40]" :page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper" :total="state.patientInformation.length">
</el-pagination>
</el-card>
</div>
</template>
<script setup lang="ts">
import { reactive,ref,computed } from 'vue';
const state = reactive({
patientInformation: [
{
username:'1',
department:'2',
date:'3'
},
{
username:'1',
department:'2',
date:'3'
},
{
username:'1',
department:'2',
date:'3'
},
{
username:'1',
department:'2',
date:'3'
},
{
username:'1',
department:'2',
date:'3'
},
{
username:'1',
department:'2',
date:'3'
},
{
username:'1',
department:'2',
date:'3'
},
{
username:'1',
department:'2',
date:'3'
},
{
username:'1',
department:'2',
date:'3'
},
{
username:'1',
department:'2',
date:'3'
},
{
username:'1',
department:'2',
date:'3'
},
{
username:'1',
department:'2',
date:'3'
},
{
username:'1',
department:'2',
date:'3'
},
{
username:'1',
department:'2',
date:'3'
},
{
username:'1',
department:'2',
date:'3'
},
{
username:'1',
department:'2',
date:'3'
},
{
username:'1',
department:'2',
date:'3'
},
{
username:'1',
department:'2',
date:'3'
}
]
})
const currentPage = ref(1);
const pageSize = ref(10);
const totalAdministrators = computed(() => state.patientInformation.length);
const paginatedAdministrators = computed(() => {
const start = (currentPage.value - 1) * pageSize.value;
const end = currentPage.value * pageSize.value;
return state.patientInformation.slice(start, end);
});
const handleStatusChange = (row) => {
console.log(`Status changed for user ${row.name}:`, row.status);
};
const handleSizeChange = (newSize) => {
pageSize.value = newSize;
currentPage.value = 1;
};
const handleCurrentChange = (newPage) => {
currentPage.value = newPage;
};
</script>
<style scoped>
.card {
margin: 0 5% 0 5%;
}
</style>