feat: 升级vue3版本和router版本,主框架调整,页面样式统一

This commit is contained in:
rd
2025-08-16 17:01:06 +08:00
parent f14a525828
commit b4bca57f04
47 changed files with 503 additions and 586 deletions

View File

@ -50,7 +50,7 @@
@select="handleSelect"
@selectAll="handleSelectAll"
/>
<div v-if="pageInfo.total > 0" class="pagination-box">
<div v-if="pageInfo.total > 0" class="pagination-row">
<a-pagination
:total="pageInfo.total"
size="mini"

View File

@ -31,12 +31,5 @@
.table-wrap {
display: flex;
flex-direction: column;
.pagination-box {
display: flex;
width: 100%;
padding: 16px 24px 0;
justify-content: flex-end;
align-items: center;
}
}
}

View File

@ -16,7 +16,7 @@
</div>
<div class="table-wrap bg-#fff rounded-8px px-24px py-24px flex flex-col">
<ManuscriptTable :dataSource="dataSource" @sorterChange="handleSorterChange" @delete="handleDelete" />
<div v-if="pageInfo.total > 0" class="pagination-box">
<div v-if="pageInfo.total > 0" class="pagination-row">
<a-pagination
:total="pageInfo.total"
size="mini"

View File

@ -18,12 +18,5 @@
.table-wrap {
display: flex;
flex-direction: column;
.pagination-box {
display: flex;
width: 100%;
padding: 16px 24px 0;
justify-content: flex-end;
align-items: center;
}
}
}

View File

@ -50,7 +50,7 @@
@select="handleSelect"
@selectAll="handleSelectAll"
/>
<div v-if="pageInfo.total > 0" class="pagination-box">
<div v-if="pageInfo.total > 0" class="pagination-row">
<a-pagination
:total="pageInfo.total"
size="mini"

View File

@ -31,12 +31,5 @@
.table-wrap {
display: flex;
flex-direction: column;
.pagination-box {
display: flex;
width: 100%;
padding: 16px 24px 0;
justify-content: flex-end;
align-items: center;
}
}
}

View File

@ -1,13 +1,31 @@
<template>
<a-table ref="tableRef" :data="dataSource" row-key="id" column-resizable :pagination="false" :scroll="{ x: '100%' }"
class="manuscript-table w-100% flex-1" bordered @sorter-change="handleSorterChange">
<a-table
ref="tableRef"
:data="dataSource"
row-key="id"
column-resizable
:pagination="false"
:scroll="{ x: '100%' }"
class="manuscript-table w-100% flex-1"
bordered
@sorter-change="handleSorterChange"
>
<template #empty>
<NoData text="暂无稿件" />
</template>
<template #columns>
<a-table-column v-for="column in TABLE_COLUMNS" :key="column.dataIndex" :data-index="column.dataIndex"
:fixed="column.fixed" :width="column.width" :min-width="column.minWidth" :sortable="column.sortable"
:align="column.align" ellipsis tooltip>
<a-table-column
v-for="column in TABLE_COLUMNS"
:key="column.dataIndex"
:data-index="column.dataIndex"
:fixed="column.fixed"
:width="column.width"
:min-width="column.minWidth"
:sortable="column.sortable"
:align="column.align"
ellipsis
tooltip
>
<template #title>
<div class="flex items-center">
<span class="cts mr-4px">{{ column.title }}</span>
@ -21,31 +39,39 @@
{{ exactFormatTime(record.create_at) }}
</template>
<template v-else-if="column.dataIndex === 'customer_opinion'" #cell="{ record }">
<p class="h-28px px-8px flex items-center rounded-2px w-fit"
:style="{ background: getCustomerOpinionInfo(record.customer_opinion)?.bg }">
<p
class="h-28px px-8px flex items-center rounded-2px w-fit"
:style="{ background: getCustomerOpinionInfo(record.customer_opinion)?.bg }"
>
<span class="cts" :class="getCustomerOpinionInfo(record.customer_opinion)?.color">{{
getCustomerOpinionInfo(record.customer_opinion)?.label ?? '-'
}}</span>
}}</span>
</p>
</template>
<template v-else-if="column.dataIndex === 'title'" #cell="{ record }">
<TextOverTips :context="record.title" :line="3" class="title" @click="onDetail(record)" />
</template>
<template v-else-if="column.dataIndex === 'audit_status'" #cell="{ record }">
<div class="flex items-center w-fit h-28px px-8px rounded-2px"
:style="{ backgroundColor: getStatusInfo(record.audit_status).backgroundColor }">
<div
class="flex items-center w-fit h-28px px-8px rounded-2px"
:style="{ backgroundColor: getStatusInfo(record.audit_status).backgroundColor }"
>
<span class="cts s1" :style="{ color: getStatusInfo(record.audit_status).color }">{{
getStatusInfo(record.audit_status).name
}}</span>
}}</span>
</div>
</template>
<template v-else-if="column.dataIndex === 'type'" #cell="{ record }">
<div class="flex items-center">
<img :src="record.type === EnumManuscriptType.Image ? icon2 : icon3" width="16" height="16"
class="mr-4px" />
<img
:src="record.type === EnumManuscriptType.Image ? icon2 : icon3"
width="16"
height="16"
class="mr-4px"
/>
<span class="cts" :class="record.type === EnumManuscriptType.Image ? '!color-#25C883' : '!color-#6D4CFE'">{{
record.type === EnumManuscriptType.Image ? '图文' : '视频'
}}</span>
}}</span>
</div>
</template>
<template v-else-if="['uploader', 'last_modifier'].includes(column.dataIndex)" #cell="{ record }">
@ -83,9 +109,7 @@ import { ref } from 'vue';
import { formatTableField, exactFormatTime } from '@/utils/tools';
import { TABLE_COLUMNS } from './constants';
import { CHECK_STATUS, EnumManuscriptType } from '@/views/creative-generation-workshop/manuscript/list/constants';
import {
CUSTOMER_OPINION,
} from '@/views/creative-generation-workshop/manuscript/check-list/constants';
import { CUSTOMER_OPINION } from '@/views/creative-generation-workshop/manuscript/check-list/constants';
import TextOverTips from '@/components/text-over-tips';
import HoverImagePreview from '@/components/hover-image-preview';

View File

@ -21,7 +21,7 @@
class="table-wrap bg-#fff rounded-8px px-24px py-24px flex flex-col"
>
<ManuscriptTable :dataSource="dataSource" @sorterChange="handleSorterChange" @delete="handleDelete" />
<div v-if="pageInfo.total > 0" class="pagination-box">
<div v-if="pageInfo.total > 0" class="pagination-row">
<a-pagination
:total="pageInfo.total"
size="mini"

View File

@ -18,12 +18,5 @@
.table-wrap {
display: flex;
flex-direction: column;
.pagination-box {
display: flex;
width: 100%;
padding: 16px 24px 0;
justify-content: flex-end;
align-items: center;
}
}
}