12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <template>
- <div class="app-container">
- <el-table
- v-loading="listLoading"
- :data="list"
- element-loading-text="Loading"
- border
- fit
- highlight-current-row
- >
- <el-table-column align="center" label="ID" width="95">
- <template slot-scope="scope">
- {{ scope.$index }}
- </template>
- </el-table-column>
- <el-table-column label="Title">
- <template slot-scope="scope">
- {{ scope.row.title }}
- </template>
- </el-table-column>
- <el-table-column label="Author" width="110" align="center">
- <template slot-scope="scope">
- <span>{{ scope.row.author }}</span>
- </template>
- </el-table-column>
- <el-table-column label="Pageviews" width="110" align="center">
- <template slot-scope="scope">
- {{ scope.row.pageviews }}
- </template>
- </el-table-column>
- <el-table-column class-name="status-col" label="Status" width="110" align="center">
- <template slot-scope="scope">
- <el-tag :type="scope.row.status | statusFilter">{{ scope.row.status }}</el-tag>
- </template>
- </el-table-column>
- <el-table-column align="center" prop="created_at" label="Display_time" width="200">
- <template slot-scope="scope">
- <i class="el-icon-time" />
- <span>{{ scope.row.display_time }}</span>
- </template>
- </el-table-column>
- </el-table>
- </div>
- </template>
- <script>
- import { getList } from '@/api/table'
- export default {
- filters: {
- statusFilter(status) {
- const statusMap = {
- published: 'success',
- draft: 'gray',
- deleted: 'danger'
- }
- return statusMap[status]
- }
- },
- data() {
- return {
- list: null,
- listLoading: true
- }
- },
- created() {
- this.fetchData()
- },
- methods: {
- fetchData() {
- this.listLoading = true
- getList().then(response => {
- this.list = response.data.items
- this.listLoading = false
- })
- }
- }
- }
- </script>
|