|
@@ -37,6 +37,7 @@ export const columns = (props: {
|
|
setEditValues: (v: any) => void;
|
|
setEditValues: (v: any) => void;
|
|
setWorkDirection: (w: any) => void;
|
|
setWorkDirection: (w: any) => void;
|
|
del: (id: any) => void;
|
|
del: (id: any) => void;
|
|
|
|
+ setParagraphEdit: (data: any) => void;
|
|
}): ProColumns<any>[] => {
|
|
}): ProColumns<any>[] => {
|
|
let {
|
|
let {
|
|
authList,
|
|
authList,
|
|
@@ -48,6 +49,7 @@ export const columns = (props: {
|
|
setWorkDirection,
|
|
setWorkDirection,
|
|
del,
|
|
del,
|
|
setEditValues,
|
|
setEditValues,
|
|
|
|
+ setParagraphEdit
|
|
} = props;
|
|
} = props;
|
|
let { styles } = useStyles();
|
|
let { styles } = useStyles();
|
|
console.log(
|
|
console.log(
|
|
@@ -55,343 +57,343 @@ export const columns = (props: {
|
|
)
|
|
)
|
|
return enumList?.BOOK_STATUS
|
|
return enumList?.BOOK_STATUS
|
|
? [
|
|
? [
|
|
- {
|
|
|
|
- title: '封面',
|
|
|
|
- dataIndex: 'picUrl',
|
|
|
|
- key: 'picUrl',
|
|
|
|
- width: 90,
|
|
|
|
- ellipsis: true,
|
|
|
|
- align: 'center',
|
|
|
|
- hideInSearch: true,
|
|
|
|
- render: (a: any, b: any) => {
|
|
|
|
- return (
|
|
|
|
- <div style={{ position: 'relative' }}>
|
|
|
|
- <Image
|
|
|
|
- src={b?.picUrl}
|
|
|
|
- style={{ width: 50 }}
|
|
|
|
- onError={(e: any) => {
|
|
|
|
- e.target.src = localStorage.getItem('nocover');
|
|
|
|
- }}
|
|
|
|
- />
|
|
|
|
- </div>
|
|
|
|
- );
|
|
|
|
- },
|
|
|
|
|
|
+ {
|
|
|
|
+ title: '封面',
|
|
|
|
+ dataIndex: 'picUrl',
|
|
|
|
+ key: 'picUrl',
|
|
|
|
+ width: 90,
|
|
|
|
+ ellipsis: true,
|
|
|
|
+ align: 'center',
|
|
|
|
+ hideInSearch: true,
|
|
|
|
+ render: (a: any, b: any) => {
|
|
|
|
+ return (
|
|
|
|
+ <div style={{ position: 'relative' }}>
|
|
|
|
+ <Image
|
|
|
|
+ src={b?.picUrl}
|
|
|
|
+ style={{ width: 50 }}
|
|
|
|
+ onError={(e: any) => {
|
|
|
|
+ e.target.src = localStorage.getItem('nocover');
|
|
|
|
+ }}
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
|
|
+ );
|
|
},
|
|
},
|
|
- {
|
|
|
|
- title: '作品详情',
|
|
|
|
- dataIndex: 'authorId',
|
|
|
|
- key: 'authorId',
|
|
|
|
- ellipsis: true,
|
|
|
|
- hideInSearch: true,
|
|
|
|
- width: 500,
|
|
|
|
- render: (a, b) => {
|
|
|
|
- let { bookName, wordCount, labels, bookStatus, categoryName, authorName, score } = b;
|
|
|
|
- let arr = enumList?.BOOK_STATUS?.values;
|
|
|
|
- return (
|
|
|
|
- <Row>
|
|
|
|
- <Col span={24}>
|
|
|
|
- <Space size={[5, 0]} wrap>
|
|
|
|
- <a
|
|
|
|
- style={{ fontSize: 14, color: '#337ab7', cursor: 'pointer' }}
|
|
|
|
- onClick={() => {
|
|
|
|
- lookBook?.({ ...b, pageNum: 1, pageSize: 2 });
|
|
|
|
- }}
|
|
|
|
- >
|
|
|
|
- [{categoryName}]{bookName}
|
|
|
|
- </a>
|
|
|
|
- <span style={{ fontSize: 11 }} className={styles.bookLabel}>
|
|
|
|
- [{arr[bookStatus]?.description}]
|
|
|
|
- </span>
|
|
|
|
- <Space size={[0, 0]}>
|
|
|
|
- {labels?.map((tags: { id: string; name: string }, index: number) => {
|
|
|
|
- return (
|
|
|
|
- <Tag key={tags?.id} color={brightColors[index]}>
|
|
|
|
- {tags?.name}
|
|
|
|
- </Tag>
|
|
|
|
- );
|
|
|
|
- })}
|
|
|
|
- </Space>
|
|
|
|
- </Space>
|
|
|
|
- </Col>
|
|
|
|
- <Col span={24} className={styles.bookLabel}>
|
|
|
|
- <span>
|
|
|
|
- <span>作者</span>:
|
|
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '作品详情',
|
|
|
|
+ dataIndex: 'authorId',
|
|
|
|
+ key: 'authorId',
|
|
|
|
+ ellipsis: true,
|
|
|
|
+ hideInSearch: true,
|
|
|
|
+ width: 500,
|
|
|
|
+ render: (a, b) => {
|
|
|
|
+ let { bookName, wordCount, labels, bookStatus, categoryName, authorName, score } = b;
|
|
|
|
+ let arr = enumList?.BOOK_STATUS?.values;
|
|
|
|
+ return (
|
|
|
|
+ <Row>
|
|
|
|
+ <Col span={24}>
|
|
|
|
+ <Space size={[5, 0]} wrap>
|
|
|
|
+ <a
|
|
|
|
+ style={{ fontSize: 14, color: '#337ab7', cursor: 'pointer' }}
|
|
|
|
+ onClick={() => {
|
|
|
|
+ lookBook?.({ ...b, pageNum: 1, pageSize: 2 });
|
|
|
|
+ }}
|
|
|
|
+ >
|
|
|
|
+ [{categoryName}]{bookName}
|
|
|
|
+ </a>
|
|
|
|
+ <span style={{ fontSize: 11 }} className={styles.bookLabel}>
|
|
|
|
+ [{arr[bookStatus]?.description}]
|
|
</span>
|
|
</span>
|
|
- {authorName}
|
|
|
|
- </Col>
|
|
|
|
- <Col span={24} className={styles.bookLabel}>
|
|
|
|
- <span>总字数:</span>
|
|
|
|
- {wordCount || 0}
|
|
|
|
- </Col>
|
|
|
|
- <Col span={24} className={styles.bookLabel}>
|
|
|
|
- <span>评分:</span>
|
|
|
|
- {score || 0}
|
|
|
|
- </Col>
|
|
|
|
- </Row>
|
|
|
|
- );
|
|
|
|
- },
|
|
|
|
|
|
+ <Space size={[0, 0]}>
|
|
|
|
+ {labels?.map((tags: { id: string; name: string }, index: number) => {
|
|
|
|
+ return (
|
|
|
|
+ <Tag key={tags?.id} color={brightColors[index]}>
|
|
|
|
+ {tags?.name}
|
|
|
|
+ </Tag>
|
|
|
|
+ );
|
|
|
|
+ })}
|
|
|
|
+ </Space>
|
|
|
|
+ </Space>
|
|
|
|
+ </Col>
|
|
|
|
+ <Col span={24} className={styles.bookLabel}>
|
|
|
|
+ <span>
|
|
|
|
+ <span>作者</span>:
|
|
|
|
+ </span>
|
|
|
|
+ {authorName}
|
|
|
|
+ </Col>
|
|
|
|
+ <Col span={24} className={styles.bookLabel}>
|
|
|
|
+ <span>总字数:</span>
|
|
|
|
+ {wordCount || 0}
|
|
|
|
+ </Col>
|
|
|
|
+ <Col span={24} className={styles.bookLabel}>
|
|
|
|
+ <span>评分:</span>
|
|
|
|
+ {score || 0}
|
|
|
|
+ </Col>
|
|
|
|
+ </Row>
|
|
|
|
+ );
|
|
},
|
|
},
|
|
- {
|
|
|
|
- title: '所属频道',
|
|
|
|
- dataIndex: 'workDirection',
|
|
|
|
- key: 'workDirection',
|
|
|
|
- align: 'center',
|
|
|
|
- width: 80,
|
|
|
|
- ellipsis: true,
|
|
|
|
- hideInSearch: true,
|
|
|
|
- render: (a: any, b: any) => {
|
|
|
|
- return enumList?.WORK_DIRECTION?.values[b.workDirection]?.description;
|
|
|
|
- },
|
|
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '所属频道',
|
|
|
|
+ dataIndex: 'workDirection',
|
|
|
|
+ key: 'workDirection',
|
|
|
|
+ align: 'center',
|
|
|
|
+ width: 80,
|
|
|
|
+ ellipsis: true,
|
|
|
|
+ hideInSearch: true,
|
|
|
|
+ render: (a: any, b: any) => {
|
|
|
|
+ return enumList?.WORK_DIRECTION?.values[b.workDirection]?.description;
|
|
},
|
|
},
|
|
- {
|
|
|
|
- title: '点击量',
|
|
|
|
- dataIndex: 'visitCount',
|
|
|
|
- key: 'visitCount',
|
|
|
|
- width: 90,
|
|
|
|
- ellipsis: true,
|
|
|
|
- align: 'center',
|
|
|
|
- hideInSearch: true,
|
|
|
|
- render: (a, b) => {
|
|
|
|
- let { visitCount } = b;
|
|
|
|
- return visitCount;
|
|
|
|
- },
|
|
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '点击量',
|
|
|
|
+ dataIndex: 'visitCount',
|
|
|
|
+ key: 'visitCount',
|
|
|
|
+ width: 90,
|
|
|
|
+ ellipsis: true,
|
|
|
|
+ align: 'center',
|
|
|
|
+ hideInSearch: true,
|
|
|
|
+ render: (a, b) => {
|
|
|
|
+ let { visitCount } = b;
|
|
|
|
+ return visitCount;
|
|
},
|
|
},
|
|
- {
|
|
|
|
- title: '上架状态',
|
|
|
|
- dataIndex: 'shelveStatus',
|
|
|
|
- key: 'shelveStatus',
|
|
|
|
- width: 90,
|
|
|
|
- ellipsis: true,
|
|
|
|
- align: 'center',
|
|
|
|
- hideInSearch: true,
|
|
|
|
- render: (a: any, b) => {
|
|
|
|
- let arr: any = enumList?.SHELVE_STATUS?.values;
|
|
|
|
- let { shelveStatus } = b;
|
|
|
|
- return (
|
|
|
|
- arr[shelveStatus]?.description && (
|
|
|
|
- <Badge
|
|
|
|
- text={arr[shelveStatus]?.description}
|
|
|
|
- status={shelveStatus == 0 ? 'processing' : 'default'}
|
|
|
|
- />
|
|
|
|
- )
|
|
|
|
- );
|
|
|
|
- },
|
|
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '上架状态',
|
|
|
|
+ dataIndex: 'shelveStatus',
|
|
|
|
+ key: 'shelveStatus',
|
|
|
|
+ width: 90,
|
|
|
|
+ ellipsis: true,
|
|
|
|
+ align: 'center',
|
|
|
|
+ hideInSearch: true,
|
|
|
|
+ render: (a: any, b) => {
|
|
|
|
+ let arr: any = enumList?.SHELVE_STATUS?.values;
|
|
|
|
+ let { shelveStatus } = b;
|
|
|
|
+ return (
|
|
|
|
+ arr[shelveStatus]?.description && (
|
|
|
|
+ <Badge
|
|
|
|
+ text={arr[shelveStatus]?.description}
|
|
|
|
+ status={shelveStatus == 0 ? 'processing' : 'default'}
|
|
|
|
+ />
|
|
|
|
+ )
|
|
|
|
+ );
|
|
},
|
|
},
|
|
- {
|
|
|
|
- title: '来源',
|
|
|
|
- dataIndex: 'source',
|
|
|
|
- key: 'source',
|
|
|
|
- width: 90,
|
|
|
|
- ellipsis: true,
|
|
|
|
- align: 'center',
|
|
|
|
- hideInSearch: true,
|
|
|
|
- render: (a: any, b) => {
|
|
|
|
- let { source } = b;
|
|
|
|
- let arr: any = new Map(
|
|
|
|
- enumList?.SOURCE?.values?.map(({ value, description }: any) => [value, description]),
|
|
|
|
- );
|
|
|
|
- return arr.get(source);
|
|
|
|
- },
|
|
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '来源',
|
|
|
|
+ dataIndex: 'source',
|
|
|
|
+ key: 'source',
|
|
|
|
+ width: 90,
|
|
|
|
+ ellipsis: true,
|
|
|
|
+ align: 'center',
|
|
|
|
+ hideInSearch: true,
|
|
|
|
+ render: (a: any, b) => {
|
|
|
|
+ let { source } = b;
|
|
|
|
+ let arr: any = new Map(
|
|
|
|
+ enumList?.SOURCE?.values?.map(({ value, description }: any) => [value, description]),
|
|
|
|
+ );
|
|
|
|
+ return arr.get(source);
|
|
},
|
|
},
|
|
- {
|
|
|
|
- title: '操作',
|
|
|
|
- dataIndex: 'cz',
|
|
|
|
- key: 'cz',
|
|
|
|
- width: 90,
|
|
|
|
- ellipsis: true,
|
|
|
|
- align: 'center',
|
|
|
|
- hideInSearch: true,
|
|
|
|
- render: (a: any, b: any) => {
|
|
|
|
- return (
|
|
|
|
- <Space size={[0, 0]}>
|
|
|
|
- <Button
|
|
|
|
- type="link"
|
|
|
|
- size="small"
|
|
|
|
- className={styles.color}
|
|
|
|
- onClick={() => {
|
|
|
|
- setEditValues(b);
|
|
|
|
- }}
|
|
|
|
- >
|
|
|
|
- 段落管理
|
|
|
|
- </Button>
|
|
|
|
- <Button
|
|
|
|
- type="link"
|
|
|
|
- size="small"
|
|
|
|
- onClick={() => {
|
|
|
|
- closeForm(true, b);
|
|
|
|
- }}
|
|
|
|
- >
|
|
|
|
- 编辑
|
|
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '操作',
|
|
|
|
+ dataIndex: 'cz',
|
|
|
|
+ key: 'cz',
|
|
|
|
+ width: 90,
|
|
|
|
+ ellipsis: true,
|
|
|
|
+ align: 'center',
|
|
|
|
+ hideInSearch: true,
|
|
|
|
+ render: (a: any, b: any) => {
|
|
|
|
+ return (
|
|
|
|
+ <Space size={[0, 0]}>
|
|
|
|
+ <Button
|
|
|
|
+ type="link"
|
|
|
|
+ size="small"
|
|
|
|
+ className={styles.color}
|
|
|
|
+ onClick={() => {
|
|
|
|
+ setParagraphEdit(b);
|
|
|
|
+ }}
|
|
|
|
+ >
|
|
|
|
+ 段落管理
|
|
|
|
+ </Button>
|
|
|
|
+ <Button
|
|
|
|
+ type="link"
|
|
|
|
+ size="small"
|
|
|
|
+ onClick={() => {
|
|
|
|
+ closeForm(true, b)
|
|
|
|
+ }}
|
|
|
|
+ >
|
|
|
|
+ 编辑
|
|
|
|
+ </Button>
|
|
|
|
+ <Popconfirm
|
|
|
|
+ title={
|
|
|
|
+ <div>
|
|
|
|
+ 确定要删除<span style={{ color: 'red' }}>{b.bookName}</span>此书籍?
|
|
|
|
+ </div>
|
|
|
|
+ }
|
|
|
|
+ onConfirm={() => {
|
|
|
|
+ del(b.id);
|
|
|
|
+ }}
|
|
|
|
+ >
|
|
|
|
+ <Button type="link" size="small" danger>
|
|
|
|
+ 删除
|
|
</Button>
|
|
</Button>
|
|
- <Popconfirm
|
|
|
|
- title={
|
|
|
|
- <div>
|
|
|
|
- 确定要删除<span style={{ color: 'red' }}>{b.bookName}</span>此书籍?
|
|
|
|
- </div>
|
|
|
|
- }
|
|
|
|
- onConfirm={() => {
|
|
|
|
- del(b.id);
|
|
|
|
- }}
|
|
|
|
- >
|
|
|
|
- <Button type="link" size="small" danger>
|
|
|
|
- 删除
|
|
|
|
- </Button>
|
|
|
|
- </Popconfirm>
|
|
|
|
- </Space>
|
|
|
|
- );
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- // 搜索条件
|
|
|
|
- {
|
|
|
|
- title: '小说名称',
|
|
|
|
- dataIndex: 'bookName',
|
|
|
|
- valueType: 'text',
|
|
|
|
- hideInTable: true,
|
|
|
|
- fieldProps: { placeholder: '请输入小说名称' },
|
|
|
|
- colSize: 1,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- title: '作者',
|
|
|
|
- dataIndex: 'authorId',
|
|
|
|
- valueType: 'select',
|
|
|
|
- hideInTable: true,
|
|
|
|
- fieldProps: { showSearch: true, placeholder: '请选择作者' },
|
|
|
|
- colSize: 1,
|
|
|
|
- valueEnum: new Map(authList?.map(({ id, authorName }) => [id, authorName])),
|
|
|
|
|
|
+ </Popconfirm>
|
|
|
|
+ </Space>
|
|
|
|
+ );
|
|
},
|
|
},
|
|
- {
|
|
|
|
- title: '频道',
|
|
|
|
- dataIndex: 'workDirection',
|
|
|
|
- valueType: 'segmented',
|
|
|
|
- hideInTable: true,
|
|
|
|
- fieldProps: {
|
|
|
|
- type: 'primary',
|
|
|
|
- style: { width: 'auto' },
|
|
|
|
- onChange: (value) => {
|
|
|
|
- setWorkDirection(value);
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- colSize: 3,
|
|
|
|
- initialValue: '',
|
|
|
|
- valueEnum: () => {
|
|
|
|
- let arr = enumList?.WORK_DIRECTION?.values;
|
|
|
|
- return arr
|
|
|
|
- ? new Map(
|
|
|
|
- [{ value: '', description: '全部' }, ...arr]?.map(
|
|
|
|
- ({ value, description }: any) => [value, description],
|
|
|
|
- ),
|
|
|
|
- )
|
|
|
|
- : {};
|
|
|
|
|
|
+ },
|
|
|
|
+ // 搜索条件
|
|
|
|
+ {
|
|
|
|
+ title: '小说名称',
|
|
|
|
+ dataIndex: 'bookName',
|
|
|
|
+ valueType: 'text',
|
|
|
|
+ hideInTable: true,
|
|
|
|
+ fieldProps: { placeholder: '请输入小说名称' },
|
|
|
|
+ colSize: 1,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '作者',
|
|
|
|
+ dataIndex: 'authorId',
|
|
|
|
+ valueType: 'select',
|
|
|
|
+ hideInTable: true,
|
|
|
|
+ fieldProps: { showSearch: true, placeholder: '请选择作者' },
|
|
|
|
+ colSize: 1,
|
|
|
|
+ valueEnum: new Map(authList?.map(({ id, authorName }) => [id, authorName])),
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '频道',
|
|
|
|
+ dataIndex: 'workDirection',
|
|
|
|
+ valueType: 'segmented',
|
|
|
|
+ hideInTable: true,
|
|
|
|
+ fieldProps: {
|
|
|
|
+ type: 'primary',
|
|
|
|
+ style: { width: 'auto' },
|
|
|
|
+ onChange: (value) => {
|
|
|
|
+ setWorkDirection(value);
|
|
},
|
|
},
|
|
},
|
|
},
|
|
- {
|
|
|
|
- title: '分类',
|
|
|
|
- dataIndex: 'categoryId',
|
|
|
|
- valueType: 'segmented',
|
|
|
|
- hideInTable: true,
|
|
|
|
- hideInSearch: !labelList,
|
|
|
|
- fieldProps: { type: 'primary', style: { width: 'auto' } },
|
|
|
|
- colSize: 3,
|
|
|
|
- initialValue: '',
|
|
|
|
- valueEnum: () => {
|
|
|
|
- let arr = categoryList || [];
|
|
|
|
- return new Map([{ id: '', name: '全部' }, ...arr]?.map((item) => [item.id, item.name]));
|
|
|
|
- },
|
|
|
|
|
|
+ colSize: 3,
|
|
|
|
+ initialValue: '',
|
|
|
|
+ valueEnum: () => {
|
|
|
|
+ let arr = enumList?.WORK_DIRECTION?.values;
|
|
|
|
+ return arr
|
|
|
|
+ ? new Map(
|
|
|
|
+ [{ value: '', description: '全部' }, ...arr]?.map(
|
|
|
|
+ ({ value, description }: any) => [value, description],
|
|
|
|
+ ),
|
|
|
|
+ )
|
|
|
|
+ : {};
|
|
},
|
|
},
|
|
- {
|
|
|
|
- title: '标签',
|
|
|
|
- dataIndex: 'labelIds',
|
|
|
|
- valueType: 'segmented',
|
|
|
|
- hideInTable: true,
|
|
|
|
- hideInSearch: !labelList,
|
|
|
|
- fieldProps: { type: 'primary', style: { width: 'auto' } },
|
|
|
|
- colSize: 3,
|
|
|
|
- initialValue: '',
|
|
|
|
- valueEnum: () => {
|
|
|
|
- let arr = labelList || [];
|
|
|
|
- return new Map([{ id: '', name: '全部' }, ...arr]?.map((item) => [item.id, item.name]));
|
|
|
|
- },
|
|
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '分类',
|
|
|
|
+ dataIndex: 'categoryId',
|
|
|
|
+ valueType: 'segmented',
|
|
|
|
+ hideInTable: true,
|
|
|
|
+ hideInSearch: !labelList,
|
|
|
|
+ fieldProps: { type: 'primary', style: { width: 'auto' } },
|
|
|
|
+ colSize: 3,
|
|
|
|
+ initialValue: '',
|
|
|
|
+ valueEnum: () => {
|
|
|
|
+ let arr = categoryList || [];
|
|
|
|
+ return new Map([{ id: '', name: '全部' }, ...arr]?.map((item) => [item.id, item.name]));
|
|
},
|
|
},
|
|
- {
|
|
|
|
- title: '来源',
|
|
|
|
- dataIndex: 'source',
|
|
|
|
- valueType: 'segmented',
|
|
|
|
- hideInTable: true,
|
|
|
|
- fieldProps: { type: 'primary', style: { width: 'auto' } },
|
|
|
|
- colSize: 3,
|
|
|
|
- initialValue: '',
|
|
|
|
- valueEnum: () => {
|
|
|
|
- let arr = enumList?.SOURCE?.values;
|
|
|
|
- return arr
|
|
|
|
- ? new Map(
|
|
|
|
- [{ value: '', description: '全部' }, ...arr]?.map(
|
|
|
|
- ({ value, description }: any) => [value, description],
|
|
|
|
- ),
|
|
|
|
- )
|
|
|
|
- : {};
|
|
|
|
- },
|
|
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '标签',
|
|
|
|
+ dataIndex: 'labelIds',
|
|
|
|
+ valueType: 'segmented',
|
|
|
|
+ hideInTable: true,
|
|
|
|
+ hideInSearch: !labelList,
|
|
|
|
+ fieldProps: { type: 'primary', style: { width: 'auto' } },
|
|
|
|
+ colSize: 3,
|
|
|
|
+ initialValue: '',
|
|
|
|
+ valueEnum: () => {
|
|
|
|
+ let arr = labelList || [];
|
|
|
|
+ return new Map([{ id: '', name: '全部' }, ...arr]?.map((item) => [item.id, item.name]));
|
|
},
|
|
},
|
|
- {
|
|
|
|
- title: '连载',
|
|
|
|
- dataIndex: 'bookStatus',
|
|
|
|
- valueType: 'segmented',
|
|
|
|
- hideInTable: true,
|
|
|
|
- fieldProps: { type: 'primary', style: { width: 'auto' } },
|
|
|
|
- colSize: 3,
|
|
|
|
- initialValue: '',
|
|
|
|
- valueEnum: () => {
|
|
|
|
- let arr = enumList?.BOOK_STATUS?.values;
|
|
|
|
- return arr
|
|
|
|
- ? new Map(
|
|
|
|
- [{ value: '', description: '全部' }, ...arr]?.map(
|
|
|
|
- ({ value, description }: any) => [value, description],
|
|
|
|
- ),
|
|
|
|
- )
|
|
|
|
- : {};
|
|
|
|
- },
|
|
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '来源',
|
|
|
|
+ dataIndex: 'source',
|
|
|
|
+ valueType: 'segmented',
|
|
|
|
+ hideInTable: true,
|
|
|
|
+ fieldProps: { type: 'primary', style: { width: 'auto' } },
|
|
|
|
+ colSize: 3,
|
|
|
|
+ initialValue: '',
|
|
|
|
+ valueEnum: () => {
|
|
|
|
+ let arr = enumList?.SOURCE?.values;
|
|
|
|
+ return arr
|
|
|
|
+ ? new Map(
|
|
|
|
+ [{ value: '', description: '全部' }, ...arr]?.map(
|
|
|
|
+ ({ value, description }: any) => [value, description],
|
|
|
|
+ ),
|
|
|
|
+ )
|
|
|
|
+ : {};
|
|
},
|
|
},
|
|
- {
|
|
|
|
- title: '上架',
|
|
|
|
- dataIndex: 'shelveStatus',
|
|
|
|
- valueType: 'segmented',
|
|
|
|
- hideInTable: true,
|
|
|
|
- fieldProps: { type: 'primary', style: { width: 'auto' } },
|
|
|
|
- colSize: 3,
|
|
|
|
- initialValue: '',
|
|
|
|
- valueEnum: () => {
|
|
|
|
- let arr = enumList?.SHELVE_STATUS?.values;
|
|
|
|
- return arr
|
|
|
|
- ? new Map(
|
|
|
|
- [{ value: '', description: '全部' }, ...arr]?.map(
|
|
|
|
- ({ value, description }: any) => [value, description],
|
|
|
|
- ),
|
|
|
|
- )
|
|
|
|
- : {};
|
|
|
|
- },
|
|
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '连载',
|
|
|
|
+ dataIndex: 'bookStatus',
|
|
|
|
+ valueType: 'segmented',
|
|
|
|
+ hideInTable: true,
|
|
|
|
+ fieldProps: { type: 'primary', style: { width: 'auto' } },
|
|
|
|
+ colSize: 3,
|
|
|
|
+ initialValue: '',
|
|
|
|
+ valueEnum: () => {
|
|
|
|
+ let arr = enumList?.BOOK_STATUS?.values;
|
|
|
|
+ return arr
|
|
|
|
+ ? new Map(
|
|
|
|
+ [{ value: '', description: '全部' }, ...arr]?.map(
|
|
|
|
+ ({ value, description }: any) => [value, description],
|
|
|
|
+ ),
|
|
|
|
+ )
|
|
|
|
+ : {};
|
|
},
|
|
},
|
|
- {
|
|
|
|
- title: '字数',
|
|
|
|
- dataIndex: 'wordCount',
|
|
|
|
- valueType: 'segmented',
|
|
|
|
- hideInTable: true,
|
|
|
|
- fieldProps: { type: 'primary', style: { width: 'auto' }, block: true },
|
|
|
|
- colSize: 3,
|
|
|
|
- initialValue: '',
|
|
|
|
- valueEnum: {
|
|
|
|
- '': '全部',
|
|
|
|
- '0-2': '2万内',
|
|
|
|
- '2-5': '2-5万',
|
|
|
|
- '5-10': '5-10万',
|
|
|
|
- '10-20': '10-20万',
|
|
|
|
- '20-40': '20-40万',
|
|
|
|
- '40-100': '40-100万',
|
|
|
|
- '100-150': '100-150万',
|
|
|
|
- '150-200': '150-200万',
|
|
|
|
- '200-300': '200-300万',
|
|
|
|
- '300-0': '300万以上',
|
|
|
|
- },
|
|
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '上架',
|
|
|
|
+ dataIndex: 'shelveStatus',
|
|
|
|
+ valueType: 'segmented',
|
|
|
|
+ hideInTable: true,
|
|
|
|
+ fieldProps: { type: 'primary', style: { width: 'auto' } },
|
|
|
|
+ colSize: 3,
|
|
|
|
+ initialValue: '',
|
|
|
|
+ valueEnum: () => {
|
|
|
|
+ let arr = enumList?.SHELVE_STATUS?.values;
|
|
|
|
+ return arr
|
|
|
|
+ ? new Map(
|
|
|
|
+ [{ value: '', description: '全部' }, ...arr]?.map(
|
|
|
|
+ ({ value, description }: any) => [value, description],
|
|
|
|
+ ),
|
|
|
|
+ )
|
|
|
|
+ : {};
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '字数',
|
|
|
|
+ dataIndex: 'wordCount',
|
|
|
|
+ valueType: 'segmented',
|
|
|
|
+ hideInTable: true,
|
|
|
|
+ fieldProps: { type: 'primary', style: { width: 'auto' }, block: true },
|
|
|
|
+ colSize: 3,
|
|
|
|
+ initialValue: '',
|
|
|
|
+ valueEnum: {
|
|
|
|
+ '': '全部',
|
|
|
|
+ '0-2': '2万内',
|
|
|
|
+ '2-5': '2-5万',
|
|
|
|
+ '5-10': '5-10万',
|
|
|
|
+ '10-20': '10-20万',
|
|
|
|
+ '20-40': '20-40万',
|
|
|
|
+ '40-100': '40-100万',
|
|
|
|
+ '100-150': '100-150万',
|
|
|
|
+ '150-200': '150-200万',
|
|
|
|
+ '200-300': '200-300万',
|
|
|
|
+ '300-0': '300万以上',
|
|
},
|
|
},
|
|
- ]
|
|
|
|
|
|
+ },
|
|
|
|
+ ]
|
|
: [];
|
|
: [];
|
|
};
|
|
};
|
|
|
|
|