Merge remote-tracking branch 'origin/main' into feature/v1.3_主agent_rxd

# Conflicts:
#	src/views/creative-generation-workshop/manuscript-writer/check-list/index.vue
#	src/views/creative-generation-workshop/manuscript-writer/list/index.vue
#	src/views/creative-generation-workshop/manuscript/check-list/index.vue
#	src/views/creative-generation-workshop/manuscript/list/index.vue
This commit is contained in:
rd
2025-08-16 15:54:10 +08:00
11 changed files with 118 additions and 47 deletions

View File

@ -77,7 +77,7 @@
<template
#cell="{ record }"
v-else-if="
['updated_at', 'last_modified_at', 'audit_started_at', 'audit_passed_at'].includes(column.dataIndex)
['created_at', 'last_modified_at', 'audit_started_at', 'audit_passed_at'].includes(column.dataIndex)
"
>
<span class="cts num">{{ exactFormatTime(record[column.dataIndex]) }}</span>

View File

@ -1,32 +1,67 @@
<template>
<div class="manuscript-check-wrap">
<div class="filter-wrap bg-#fff rounded-8px mb-16px">
<div class="filter-wrap bg-#fff rounded-8px mb-16px">
<a-tabs v-model="query.audit_status" @tab-click="handleTabClick">
<a-tab-pane :title="item.label" v-for="item in AUDIT_STATUS_LIST" :key="item.value"></a-tab-pane>
<!-- <template #extra>
<a-button type="outline" size="medium" @click="handleShareModal">分享内容稿件</a-button>
</template> -->
</a-tabs>
<FilterBlock v-model:query="query" :audit_status="query.audit_status" @search="handleSearch"
@reset="handleReset" />
<FilterBlock
v-model:query="query"
:audit_status="query.audit_status"
@search="handleSearch"
@reset="handleReset"
/>
</div>
<div
class="table-wrap bg-#fff rounded-8px px-24px py-24px flex-1 flex flex-col">
<div class="flex justify-end mb-12px"
v-if="[AuditStatus.Pending, AuditStatus.Auditing].includes(query.audit_status)">
<a-button type="outline" class="w-fit" size="medium" @click="handleBatchCheck"
v-if="query.audit_status === AuditStatus.Pending">批量审核</a-button>
<a-button type="outline" class="w-fit" size="medium" @click="handleBatchView"
v-if="query.audit_status === AuditStatus.Auditing">批量查看</a-button>
<div class="table-wrap bg-#fff rounded-8px px-24px py-24px flex flex-col">
<div
class="flex justify-end mb-12px"
v-if="[AuditStatus.Pending, AuditStatus.Auditing].includes(query.audit_status)"
>
<a-button
type="outline"
class="w-fit"
size="medium"
@click="handleBatchCheck"
v-if="query.audit_status === AuditStatus.Pending"
>批量审核</a-button
>
<a-button
type="outline"
class="w-fit"
size="medium"
@click="handleBatchView"
v-if="query.audit_status === AuditStatus.Auditing"
>批量查看</a-button
>
</div>
<ManuscriptCheckTable :key="query.audit_status" :tableColumns="tableColumns" :rowSelection="rowSelection"
:selectedRowKeys="selectedRowKeys" :dataSource="dataSource" :audit_status="query.audit_status"
@sorterChange="handleSorterChange" @delete="handleDelete" @edit="handleEdit" @select="handleSelect"
@selectAll="handleSelectAll" />
<ManuscriptCheckTable
:key="query.audit_status"
:tableColumns="tableColumns"
:rowSelection="rowSelection"
:selectedRowKeys="selectedRowKeys"
:dataSource="dataSource"
:audit_status="query.audit_status"
@sorterChange="handleSorterChange"
@delete="handleDelete"
@edit="handleEdit"
@select="handleSelect"
@selectAll="handleSelectAll"
/>
<div v-if="pageInfo.total > 0" class="pagination-box">
<a-pagination :total="pageInfo.total" size="mini" show-total show-jumper show-page-size :current="pageInfo.page"
:page-size="pageInfo.page_size" @change="onPageChange" @page-size-change="onPageSizeChange" />
<a-pagination
:total="pageInfo.total"
size="mini"
show-total
show-jumper
show-page-size
:current="pageInfo.page"
:page-size="pageInfo.page_size"
@change="onPageChange"
@page-size-change="onPageSizeChange"
/>
</div>
</div>

View File

@ -1,5 +1,5 @@
.manuscript-check-wrap {
height: 100%;
// height: 100%;
display: flex;
flex-direction: column;
.filter-wrap {

View File

@ -67,7 +67,7 @@
<template v-else-if="['uploader', 'last_modifier'].includes(column.dataIndex)" #cell="{ record }">
{{ record[column.dataIndex].name || record[column.dataIndex].mobile }}
</template>
<template v-else-if="['updated_at', 'last_modified_at'].includes(column.dataIndex)" #cell="{ record }">
<template v-else-if="['created_at', 'last_modified_at'].includes(column.dataIndex)" #cell="{ record }">
{{ exactFormatTime(record[column.dataIndex]) }}
</template>
<template v-else-if="column.dataIndex === 'cover'" #cell="{ record }">

View File

@ -1,6 +1,6 @@
<template>
<div class="manuscript-list-wrap">
<div class="filter-wrap bg-#fff rounded-8px mb-16px">
<div class="filter-wrap bg-#fff rounded-8px mb-16px">
<div class="top flex h-64px px-24px py-10px justify-between items-center">
<p class="text-18px font-400 lh-26px color-#211F24 title">内容稿件列表</p>
<div class="flex items-center">
@ -14,9 +14,7 @@
</div>
<FilterBlock v-model:query="query" @search="handleSearch" @reset="handleReset" />
</div>
<div
class="table-wrap bg-#fff rounded-8px px-24px py-24px flex-1 flex flex-col"
>
<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">
<a-pagination
@ -47,7 +45,10 @@ import UploadManuscriptModal from './components/upload-manuscript-modal';
import { useTableSelectionWithPagination } from '@/hooks/useTableSelectionWithPagination';
import { getWorksPageWriter } from '@/api/all/generationWorkshop-writer.ts';
import { INITIAL_QUERY, EnumCheckStatus } from '@/views/creative-generation-workshop/manuscript-writer/list/constants.ts';
import {
INITIAL_QUERY,
EnumCheckStatus,
} from '@/views/creative-generation-workshop/manuscript-writer/list/constants.ts';
const { dataSource, pageInfo, onPageChange, onPageSizeChange, resetPageInfo } = useTableSelectionWithPagination({
onPageChange: () => {

View File

@ -80,7 +80,7 @@
<template
#cell="{ record }"
v-else-if="
['updated_at', 'last_modified_at', 'audit_started_at', 'audit_passed_at'].includes(column.dataIndex)
['created_at', 'last_modified_at', 'audit_started_at', 'audit_passed_at'].includes(column.dataIndex)
"
>
<span class="cts num">{{ exactFormatTime(record[column.dataIndex]) }}</span>

View File

@ -1,32 +1,67 @@
<template>
<div class="manuscript-check-wrap">
<div class="filter-wrap bg-#fff rounded-8px mb-16px">
<div class="filter-wrap bg-#fff rounded-8px mb-16px">
<a-tabs v-model="query.audit_status" @tab-click="handleTabClick">
<a-tab-pane :title="item.label" v-for="item in AUDIT_STATUS_LIST" :key="item.value"></a-tab-pane>
<template #extra>
<a-button type="outline" size="medium" @click="handleShareModal">分享内容稿件</a-button>
</template>
</a-tabs>
<FilterBlock v-model:query="query" :audit_status="query.audit_status" @search="handleSearch"
@reset="handleReset" />
<FilterBlock
v-model:query="query"
:audit_status="query.audit_status"
@search="handleSearch"
@reset="handleReset"
/>
</div>
<div
class="table-wrap bg-#fff rounded-8px px-24px py-24px flex-1 flex flex-col">
<div class="flex justify-end mb-12px"
v-if="[AuditStatus.Pending, AuditStatus.Auditing].includes(query.audit_status)">
<a-button type="outline" class="w-fit" size="medium" @click="handleBatchCheck"
v-if="query.audit_status === AuditStatus.Pending">批量审核</a-button>
<a-button type="outline" class="w-fit" size="medium" @click="handleBatchView"
v-if="query.audit_status === AuditStatus.Auditing">批量查看</a-button>
<div class="table-wrap bg-#fff rounded-8px px-24px py-24px flex flex-col">
<div
class="flex justify-end mb-12px"
v-if="[AuditStatus.Pending, AuditStatus.Auditing].includes(query.audit_status)"
>
<a-button
type="outline"
class="w-fit"
size="medium"
@click="handleBatchCheck"
v-if="query.audit_status === AuditStatus.Pending"
>批量审核</a-button
>
<a-button
type="outline"
class="w-fit"
size="medium"
@click="handleBatchView"
v-if="query.audit_status === AuditStatus.Auditing"
>批量查看</a-button
>
</div>
<ManuscriptCheckTable :key="query.audit_status" :tableColumns="tableColumns" :rowSelection="rowSelection"
:selectedRowKeys="selectedRowKeys" :dataSource="dataSource" :audit_status="query.audit_status"
@sorterChange="handleSorterChange" @delete="handleDelete" @edit="handleEdit" @select="handleSelect"
@selectAll="handleSelectAll" />
<ManuscriptCheckTable
:key="query.audit_status"
:tableColumns="tableColumns"
:rowSelection="rowSelection"
:selectedRowKeys="selectedRowKeys"
:dataSource="dataSource"
:audit_status="query.audit_status"
@sorterChange="handleSorterChange"
@delete="handleDelete"
@edit="handleEdit"
@select="handleSelect"
@selectAll="handleSelectAll"
/>
<div v-if="pageInfo.total > 0" class="pagination-box">
<a-pagination :total="pageInfo.total" size="mini" show-total show-jumper show-page-size :current="pageInfo.page"
:page-size="pageInfo.page_size" @change="onPageChange" @page-size-change="onPageSizeChange" />
<a-pagination
:total="pageInfo.total"
size="mini"
show-total
show-jumper
show-page-size
:current="pageInfo.page"
:page-size="pageInfo.page_size"
@change="onPageChange"
@page-size-change="onPageSizeChange"
/>
</div>
</div>

View File

@ -1,5 +1,5 @@
.manuscript-check-wrap {
height: 100%;
// height: 100%;
display: flex;
flex-direction: column;
.filter-wrap {

View File

@ -51,7 +51,7 @@
<template v-else-if="['uploader', 'last_modifier'].includes(column.dataIndex)" #cell="{ record }">
{{ record[column.dataIndex].name || record[column.dataIndex].mobile }}
</template>
<template v-else-if="['updated_at', 'last_modified_at'].includes(column.dataIndex)" #cell="{ record }">
<template v-else-if="['created_at', 'last_modified_at'].includes(column.dataIndex)" #cell="{ record }">
{{ exactFormatTime(record[column.dataIndex]) }}
</template>
<template v-else-if="column.dataIndex === 'cover'" #cell="{ record }">

View File

@ -18,7 +18,7 @@
<FilterBlock v-model:query="query" @search="handleSearch" @reset="handleReset" />
</div>
<div
class="table-wrap bg-#fff rounded-8px px-24px py-24px flex-1 flex flex-col"
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">

View File

@ -1,5 +1,5 @@
.manuscript-list-wrap {
height: 100%;
// height: 100%;
display: flex;
flex-direction: column;
.filter-wrap {