原料库和成品库

This commit is contained in:
lq
2025-09-20 17:17:55 +08:00
parent c03142b85f
commit 1693cd477b

View File

@ -129,172 +129,177 @@
</div>
</div>
</div>
<a-drawer
title="原料库"
cancel-text="取消"
ok-text="确定"
placement="right"
v-model:visible="showDrawer2"
@after-visible-change="showDriwerChange"
width="904px"
class="task-drawer"
style="right: 481px"
>
<Table
:data-source="materialData"
bordered
:columns="columns"
:pagination="false"
row-key="id"
:row-selection="rowSelection"
<div v-show="isActive == 'ai'">
<a-drawer
title="原料库"
cancel-text="取消"
ok-text="确定"
placement="right"
v-model:visible="showDrawer2"
@after-visible-change="showDriwerChange"
width="904px"
class="task-drawer"
style="right: 481px"
>
<template #name="{ record }">
<div class="flex items-center">
<img :src="record.cover" class="w-64px h-64px border-rounded-8px bg-#F0EDFF" />
<div class="flex flex-col ml-8px">
<div>{{ record.name }}</div>
<div class="text-#999 text-12px">序号{{ record.uid }}</div>
<Table
:data-source="materialData"
bordered
:columns="columns"
:pagination="false"
row-key="id"
:row-selection="rowSelection"
>
<template #name="{ record }">
<div class="flex items-center">
<img :src="record.cover" class="w-64px h-64px border-rounded-8px bg-#F0EDFF" />
<div class="flex flex-col ml-8px">
<div>{{ record.name }}</div>
<div class="text-#999 text-12px">序号{{ record.uid }}</div>
</div>
</div>
</div>
</template>
<template #type="{ record }">
<div class="flex items-center">
{{ getType(record.type) }}
</div>
</template>
<template #from="{ record }">
<div class="flex items-center">
{{ getFrom(record.type) }}
</div>
</template>
<template #create_at="{ record }">
<div class="flex items-center">
{{ record.created_at ? dayjs(record.created_at * 1000).format('YYYY-MM-DD HH:mm:ss') : '-' }}
</div>
</template>
</Table>
<!-- 分页控件 -->
<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"
/>
</div>
<template #footer>
<div class="flex items-center justify-between">
<div class="flex items-center">
<div class="color-#737478 font-size-14px">已选择</div>
<div class="color-#737478 font-size-14px">{{ choseText }}</div>
<div v-for="item in choseImgArray" :key="item.id" class="ml-16px">
<img :src="item.cover" alt="" class="w-44px h-44px border-rounded-8px bg-#F0EDFF" />
</template>
<template #type="{ record }">
<div class="flex items-center">
{{ getType(record.type) }}
</div>
</div>
<div class="flex justify-end">
<Button @click="handleCancel">取消</Button>
<Button class="ml-16px" type="primary" @click="handleOk">确定</Button>
</div>
</template>
<template #from="{ record }">
<div class="flex items-center">
{{ getFrom(record.type) }}
</div>
</template>
<template #create_at="{ record }">
<div class="flex items-center">
{{ record.created_at ? dayjs(record.created_at * 1000).format('YYYY-MM-DD HH:mm:ss') : '-' }}
</div>
</template>
</Table>
<!-- 分页控件 -->
<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"
/>
</div>
</template>
</a-drawer>
<a-drawer
title="成品库"
cancel-text="取消"
ok-text="确定"
placement="right"
v-model:visible="showDrawer3"
@after-visible-change="showDriwerChange"
width="904px"
class="task-drawer"
style="right: 481px"
>
<Table
:data-source="materialData"
bordered
:columns="columns2"
:pagination="false"
row-key="id"
:row-selection="rowSelection"
<template #footer>
<div class="flex items-center justify-between">
<div class="flex items-center">
<div class="color-#737478 font-size-14px">已选择</div>
<div class="color-#737478 font-size-14px">{{ choseText }}</div>
<div v-for="item in choseImgArray" :key="item.id" class="ml-16px">
<img :src="item.cover" alt="" class="w-44px h-44px border-rounded-8px bg-#F0EDFF" />
</div>
</div>
<div class="flex justify-end">
<Button @click="handleCancel">取消</Button>
<Button class="ml-16px" type="primary" @click="handleOk">确定</Button>
</div>
</div>
</template>
</a-drawer>
</div>
<div v-show="isActive == 'chose'">
<a-drawer
title="成品库"
cancel-text="取消"
ok-text="确定"
placement="right"
v-model:visible="showDrawer3"
@after-visible-change="showDriwerChange"
width="904px"
class="task-drawer"
style="right: 481px"
>
<template #cover="{ record }">
<div class="flex items-center">
<img
:src="record.cover ? record.cover : icon4"
alt=""
class="w-44px h-44px border-rounded-8px bg-#F0EDFF"
/>
</div>
</template>
<template #name="{ record }">
<div class="flex items-center">
<div>{{ record.title }}</div>
</div>
</template>
<template #type="{ record }">
<div class="flex items-center">
<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>
</div>
</template>
<template #uploader="{ record }">
<div class="flex items-center">
{{ record.last_modifier.mobile }}
</div>
</template>
<template #audit_status="{ record }">
<div class="flex items-center">
{{ getStatus(record.audit_status) }}
</div>
</template>
<template #last_modified_at="{ record }">
<div class="flex items-center">
{{ record.created_at ? dayjs(record.last_modified_at * 1000).format('YYYY-MM-DD HH:mm:ss') : '-' }}
</div>
</template>
</Table>
<!-- 分页控件 -->
<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"
/>
</div>
<template #footer>
<div class="flex items-center justify-between">
<div class="flex items-center">
<div class="color-#737478 font-size-14px">已选择</div>
<div class="color-#737478 font-size-14px">{{ choseText }}</div>
<div v-for="item in choseImgArray" :key="item.id" class="ml-16px">
<img :src="item.cover ? item.cover : icon4" class="w-44px h-44px border-rounded-8px bg-#F0EDFF" />
<Table
:data-source="materialData"
bordered
:columns="columns2"
:pagination="false"
row-key="id"
:row-selection="rowSelection"
>
<template #cover="{ record }">
<div class="flex items-center">
<img
:src="record.cover ? record.cover : icon4"
alt=""
class="w-44px h-44px border-rounded-8px bg-#F0EDFF"
/>
</div>
</template>
<template #name="{ record }">
<div class="flex items-center">
<div>{{ record.title }}</div>
</div>
</template>
<template #type="{ record }">
<div class="flex items-center">
<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
>
</div>
</template>
<template #uploader="{ record }">
<div class="flex items-center">
{{ record.last_modifier.mobile }}
</div>
</template>
<template #audit_status="{ record }">
<div class="flex items-center">
{{ getStatus(record.audit_status) }}
</div>
</template>
<template #last_modified_at="{ record }">
<div class="flex items-center">
{{ record.created_at ? dayjs(record.last_modified_at * 1000).format('YYYY-MM-DD HH:mm:ss') : '-' }}
</div>
</template>
</Table>
<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"
/>
</div>
<template #footer>
<div class="flex items-center justify-between">
<div class="flex items-center">
<div class="color-#737478 font-size-14px">已选择</div>
<div class="color-#737478 font-size-14px">{{ choseText }}</div>
<div v-for="item in choseImgArray" :key="item.id" class="ml-16px">
<img :src="item.cover ? item.cover : icon4" class="w-44px h-44px border-rounded-8px bg-#F0EDFF" />
</div>
</div>
<div class="flex justify-end">
<Button @click="handleCancel">取消</Button>
<Button class="ml-16px" type="primary" @click="handleOk">确定</Button>
</div>
</div>
<div class="flex justify-end">
<Button @click="handleCancel">取消</Button>
<Button class="ml-16px" type="primary" @click="handleOk">确定</Button>
</div>
</div>
</template>
</a-drawer>
</template>
</a-drawer>
</div>
</a-drawer>
</template>
@ -546,10 +551,6 @@ watch(showDriwer, (newVal) => {
}
});
const handleTabSelect = (value) => {
isActive.value = value;
};
const handleDateChange = (date) => {};
// 暴露方法给父组件
const showDrawer = (accountInfo = null) => {