123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- <script lang="ts" setup>
- /**
- * @Name: PlatformDetail.vue
- * @Description: 平台详情页
- * @Author: Cheney
- */
- import { useResponse } from '/@/utils/useResponse';
- import * as api from '../api';
- import { Picture as IconPicture } from '@element-plus/icons-vue';
- import { columns } from '../useColumns';
- // import img from '/src/assets/img/headerImage.png'
- const route = useRoute();
- const platform = route.query.platform;
- const platformTableData = ref([]);
- const gridOptions: any = reactive({
- border: false,
- round: true,
- height: 800,
- toolbarConfig: {
- custom: true
- },
- columnConfig: {
- resizable: true
- },
- pagerConfig: {
- total: 0,
- page: 1,
- limit: 10
- },
- loading: false,
- loadingConfig: {
- icon: 'vxe-icon-indicator roll',
- text: '正在拼命加载中...'
- },
- columns: columns,
- data: platformTableData
- });
- onBeforeMount(() => {
- fetchPlatformDetail();
- });
- async function fetchPlatformDetail() {
- const query = {
- platform,
- page: gridOptions.pagerConfig.page,
- limit: gridOptions.pagerConfig.limit
- }
- const res = await useResponse(query, api.getPlatformDetail, gridOptions);
- gridOptions.pagerConfig.total = res.total;
- gridOptions.pagerConfig.page = res.page;
- gridOptions.pagerConfig.limit = res.limit;
- platformTableData.value = res.data;
- }
- function pageChange({ pageSize, currentPage }: any) {
- gridOptions.pagerConfig.limit = pageSize;
- gridOptions.pagerConfig.page = currentPage;
- fetchPlatformDetail();
- }
- </script>
- <template>
- <div class="p-2.5">
- <!-- overview-card -->
- <el-card body-class="flex items-center" shadow="hover" style="border: none;">
- <el-image
- class="mr-5"
- src="/src/assets/img/headerImage.png"
- style="height: 100px; width: 100px; object-fit: cover;"
- >
- <template #error>
- <div class="mr-3.5 flex items-center justify-center text-5xl" style="height: 100px; width: 100px; background-color: #f5f5f5;">
- <el-icon>
- <icon-picture/>
- </el-icon>
- </div>
- </template>
- </el-image>
- <div>
- <div class="font-semibold">店铺编号/名称:
- <span class="font-medium italic" style="color: #64748b">
- 123456789
- </span>
- </div>
- <div class="font-semibold">所属公司:
- <span class="font-medium italic" style="color: #64748b">
- 123456789
- </span>
- </div>
- <div class="font-semibold">平台数:
- <span class="font-medium italic" style="color: #64748b">
- 123456789
- </span>
- </div>
- <div class="font-semibold">电脑数:
- <span class="font-medium italic" style="color: #64748b">
- 123456789
- </span>
- </div>
- </div>
- </el-card>
- <!-- table-card -->
- <el-card body-style="padding-top: 10px" class="mt-2.5" shadow="hover" style="border: none;">
- <vxe-grid v-bind="gridOptions">
- <template #pager>
- <vxe-pager
- v-model:currentPage="gridOptions.pagerConfig.page"
- v-model:pageSize="gridOptions.pagerConfig.limit"
- :total="gridOptions.pagerConfig.total"
- @page-change="pageChange">
- </vxe-pager>
- </template>
- </vxe-grid>
- </el-card>
- </div>
- </template>
- <style scoped>
- </style>
|