筛选不可见未发布,显示更多信息

This commit is contained in:
Pan Qiancheng 2024-10-15 20:08:43 +08:00
parent 7ae03c74f6
commit 233db70431
6 changed files with 93 additions and 12 deletions

View File

@ -1,13 +1,19 @@
import { essayProjection } from '@project/utils/projection';
export default OakComponent({
entity: 'essayLabels',
isList: true,
projection: {
id: 1,
sequence: 1,
essay: {
id: 1,
iState: 1,
},
},
formData({ data }) {
return {
list: data,
};
}
})
},
});

View File

@ -21,15 +21,18 @@ const EssayLabelToEssay = (
<>
{list && list.length ? (
<>
{list.map((item) => {
return (
<EssayLabelItem
oakPath={`${oakFullpath}.${item.id}`}
oakId={item.id}
key={item.id}
/>
);
})}
{list
.map((item) => {
if (item.essay?.iState !== 'published') return null;
return (
<EssayLabelItem
oakPath={`${oakFullpath}.${item.id}`}
oakId={item.id}
key={item.id}
/>
);
})
.filter((item) => !!item)}
</>
) : (
<Empty description={t('common::noData')} />

View File

@ -24,6 +24,14 @@ export default OakComponent({
},
},
],
// 只能看到已经发布的
filters: [
{
filter: {
iState: 'published',
},
},
],
formData({ data }) {
return {
list: data,

View File

@ -0,0 +1,5 @@
{
"updatedAt": "更新于: ",
"publishedAt": "发布于: ",
"creator": "作者: "
}

View File

@ -38,4 +38,38 @@
box-shadow: 0 1px 5px rgba(26, 26, 26, 0.3);
}
}
.meta {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 10px;
.author {
font-size: 14px;
color: #666;
}
.updatedAt {
font-size: 14px;
color: #666;
}
.extra {
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
.publishedAt {
font-size: 14px;
color: #666;
}
.author {
font-size: 14px;
color: #666;
}
}
}
}

View File

@ -2,6 +2,7 @@ import React from 'react';
import { EntityDict } from '@project/oak-app-domain';
import { RowWithActions, WebComponentProps } from 'oak-frontend-base';
import Styles from './styles.module.less';
import dayjs from 'dayjs';
const EssayItem = (
props: WebComponentProps<
@ -14,7 +15,7 @@ const EssayItem = (
>
) => {
const { item } = props.data;
const { navigateTo } = props.methods;
const { navigateTo, t } = props.methods;
return (
<>
@ -48,6 +49,30 @@ const EssayItem = (
);
})}
</div>
{/* 发布于,上一次修改于 */}
<div className={Styles.meta}>
<div className={Styles.updatedAt}>
{t('updatedAt')}
{dayjs(item.$$updateAt$$).format(
'YYYY-MM-DD HH:mm:ss'
)}
</div>
<div className={Styles.extra}>
<div className={Styles.publishedAt}>
{t('publishedAt')}
{dayjs(item.$$createAt$$).format(
'YYYY-MM-DD HH:mm:ss'
)}
</div>
{/* 作者信息 */}
<div className={Styles.creator}>
{t('creator')}
{item.creator?.name ||
item.creator?.nickname ||
''}
</div>
</div>
</div>
</div>
)}
</>