Selaa lähdekoodia

:fire: 去掉列表页顶部的Breadcrumb

visuddhinanda 3 vuotta sitten
vanhempi
sitoutus
68f9d913ca

+ 9 - 5
dashboard/src/pages/studio/analysis/list.tsx

@@ -19,7 +19,9 @@ const Widget = () => {
 
 
 	const myEventsList = [{ start: "2022-10-1", end: "2022-10-2" }];
 	const myEventsList = [{ start: "2022-10-1", end: "2022-10-2" }];
 	const asyncFetch = () => {
 	const asyncFetch = () => {
-		fetch("https://gw.alipayobjects.com/os/bmw-prod/1d565782-dde4-4bb6-8946-ea6a38ccf184.json")
+		fetch(
+			"https://gw.alipayobjects.com/os/bmw-prod/1d565782-dde4-4bb6-8946-ea6a38ccf184.json"
+		)
 			.then((response) => response.json())
 			.then((response) => response.json())
 			.then((json) => setData(json))
 			.then((json) => setData(json))
 			.catch((error) => {
 			.catch((error) => {
@@ -40,12 +42,14 @@ const Widget = () => {
 	};
 	};
 	return (
 	return (
 		<>
 		<>
-			<h2>
-				studio/{studioname}/{intl.formatMessage({ id: "columns.studio.analysis.title" })}/行为分析首页
-			</h2>
 			<Line {...config} />
 			<Line {...config} />
 
 
-			<Calendar localizer={localizer} events={myEventsList} startAccessor="start" endAccessor="end" />
+			<Calendar
+				localizer={localizer}
+				events={myEventsList}
+				startAccessor="start"
+				endAccessor="end"
+			/>
 		</>
 		</>
 	);
 	);
 };
 };

+ 180 - 213
dashboard/src/pages/studio/article/list.tsx

@@ -2,17 +2,7 @@ import { useParams, Link } from "react-router-dom";
 import { useIntl } from "react-intl";
 import { useIntl } from "react-intl";
 import { useState } from "react";
 import { useState } from "react";
 
 
-import {
-	Space,
-	Layout,
-	Breadcrumb,
-	Button,
-	Popover,
-	Dropdown,
-	MenuProps,
-	Menu,
-	Table,
-} from "antd";
+import { Space, Button, Popover, Dropdown, MenuProps, Menu, Table } from "antd";
 import { ProTable } from "@ant-design/pro-components";
 import { ProTable } from "@ant-design/pro-components";
 import { PlusOutlined, SearchOutlined } from "@ant-design/icons";
 import { PlusOutlined, SearchOutlined } from "@ant-design/icons";
 
 
@@ -65,219 +55,196 @@ const Widget = () => {
 
 
 	return (
 	return (
 		<>
 		<>
-			<Breadcrumb>
-				<Breadcrumb.Item>
-					<Link to={linkStudio}>
-						{intl.formatMessage({ id: "columns.studio.title" })}
-					</Link>
-				</Breadcrumb.Item>
-				<Breadcrumb.Item>
-					{intl.formatMessage({
-						id: "columns.studio.collaboration.title",
-					})}
-				</Breadcrumb.Item>
-				<Breadcrumb.Item>
-					{intl.formatMessage({ id: "columns.studio.article.title" })}
-				</Breadcrumb.Item>
-			</Breadcrumb>
-			<Layout>
-				<ProTable<DataItem>
-					columns={[
-						{
-							title: intl.formatMessage({
-								id: "dict.fields.sn.label",
-							}),
-							dataIndex: "sn",
-							key: "sn",
-							width: 50,
-							search: false,
+			<ProTable<DataItem>
+				columns={[
+					{
+						title: intl.formatMessage({
+							id: "dict.fields.sn.label",
+						}),
+						dataIndex: "sn",
+						key: "sn",
+						width: 50,
+						search: false,
+					},
+					{
+						title: intl.formatMessage({
+							id: "forms.fields.title.label",
+						}),
+						dataIndex: "title",
+						key: "title",
+						tip: "过长会自动收缩",
+						ellipsis: true,
+						render: (text, row, index, action) => {
+							return (
+								<Link
+									to={`/studio/${studioname}/article/${row.id}/edit`}
+								>
+									{row.title}
+								</Link>
+							);
 						},
 						},
-						{
-							title: intl.formatMessage({
-								id: "forms.fields.title.label",
-							}),
-							dataIndex: "title",
-							key: "title",
-							tip: "过长会自动收缩",
-							ellipsis: true,
-							render: (text, row, index, action) => {
-								return (
+					},
+					{
+						title: intl.formatMessage({
+							id: "forms.fields.subtitle.label",
+						}),
+						dataIndex: "subtitle",
+						key: "subtitle",
+						tip: "过长会自动收缩",
+						ellipsis: true,
+					},
+					{
+						title: intl.formatMessage({
+							id: "forms.fields.summary.label",
+						}),
+						dataIndex: "summary",
+						key: "summary",
+						tip: "过长会自动收缩",
+						ellipsis: true,
+					},
+
+					{
+						title: intl.formatMessage({
+							id: "forms.fields.publicity.label",
+						}),
+						dataIndex: "publicity",
+						key: "publicity",
+						width: 100,
+						search: false,
+						filters: true,
+						onFilter: true,
+						valueEnum: PublicityValueEnum(),
+					},
+					{
+						title: intl.formatMessage({
+							id: "forms.fields.created-at.label",
+						}),
+						key: "created-at",
+						width: 100,
+						search: false,
+						dataIndex: "createdAt",
+						valueType: "date",
+						sorter: (a, b) => a.createdAt - b.createdAt,
+					},
+					{
+						title: intl.formatMessage({ id: "buttons.option" }),
+						key: "option",
+						width: 120,
+						valueType: "option",
+						render: (text, row, index, action) => {
+							return [
+								<Dropdown.Button
+									key={index}
+									type="link"
+									overlay={menu}
+								>
 									<Link
 									<Link
 										to={`/studio/${studioname}/article/${row.id}/edit`}
 										to={`/studio/${studioname}/article/${row.id}/edit`}
 									>
 									>
-										{row.title}
+										{intl.formatMessage({
+											id: "buttons.edit",
+										})}
 									</Link>
 									</Link>
-								);
-							},
-						},
-						{
-							title: intl.formatMessage({
-								id: "forms.fields.subtitle.label",
-							}),
-							dataIndex: "subtitle",
-							key: "subtitle",
-							tip: "过长会自动收缩",
-							ellipsis: true,
-						},
-						{
-							title: intl.formatMessage({
-								id: "forms.fields.summary.label",
-							}),
-							dataIndex: "summary",
-							key: "summary",
-							tip: "过长会自动收缩",
-							ellipsis: true,
-						},
-
-						{
-							title: intl.formatMessage({
-								id: "forms.fields.publicity.label",
-							}),
-							dataIndex: "publicity",
-							key: "publicity",
-							width: 100,
-							search: false,
-							filters: true,
-							onFilter: true,
-							valueEnum: PublicityValueEnum(),
-						},
-						{
-							title: intl.formatMessage({
-								id: "forms.fields.created-at.label",
-							}),
-							key: "created-at",
-							width: 100,
-							search: false,
-							dataIndex: "createdAt",
-							valueType: "date",
-							sorter: (a, b) => a.createdAt - b.createdAt,
-						},
-						{
-							title: intl.formatMessage({ id: "buttons.option" }),
-							key: "option",
-							width: 120,
-							valueType: "option",
-							render: (text, row, index, action) => {
-								return [
-									<Dropdown.Button
-										key={index}
-										type="link"
-										overlay={menu}
-									>
-										<Link
-											to={`/studio/${studioname}/article/${row.id}/edit`}
-										>
-											{intl.formatMessage({
-												id: "buttons.edit",
-											})}
-										</Link>
-									</Dropdown.Button>,
-								];
-							},
+								</Dropdown.Button>,
+							];
 						},
 						},
-					]}
-					rowSelection={{
-						// 自定义选择项参考: https://ant.design/components/table-cn/#components-table-demo-row-selection-custom
-						// 注释该行则默认不显示下拉选项
-						selections: [
-							Table.SELECTION_ALL,
-							Table.SELECTION_INVERT,
-						],
-					}}
-					tableAlertRender={({
-						selectedRowKeys,
-						selectedRows,
-						onCleanSelected,
-					}) => (
-						<Space size={24}>
-							<span>
-								{intl.formatMessage({ id: "buttons.selected" })}
-								{selectedRowKeys.length}
-								<Button
-									type="link"
-									style={{ marginInlineStart: 8 }}
-									onClick={onCleanSelected}
-								>
-									{intl.formatMessage({
-										id: "buttons.unselect",
-									})}
-								</Button>
-							</span>
+					},
+				]}
+				rowSelection={{
+					// 自定义选择项参考: https://ant.design/components/table-cn/#components-table-demo-row-selection-custom
+					// 注释该行则默认不显示下拉选项
+					selections: [Table.SELECTION_ALL, Table.SELECTION_INVERT],
+				}}
+				tableAlertRender={({
+					selectedRowKeys,
+					selectedRows,
+					onCleanSelected,
+				}) => (
+					<Space size={24}>
+						<span>
+							{intl.formatMessage({ id: "buttons.selected" })}
+							{selectedRowKeys.length}
+							<Button
+								type="link"
+								style={{ marginInlineStart: 8 }}
+								onClick={onCleanSelected}
+							>
+								{intl.formatMessage({
+									id: "buttons.unselect",
+								})}
+							</Button>
+						</span>
+					</Space>
+				)}
+				tableAlertOptionRender={() => {
+					return (
+						<Space size={16}>
+							<Button type="link">
+								{intl.formatMessage({
+									id: "buttons.delete.all",
+								})}
+							</Button>
 						</Space>
 						</Space>
-					)}
-					tableAlertOptionRender={() => {
-						return (
-							<Space size={16}>
-								<Button type="link">
-									{intl.formatMessage({
-										id: "buttons.delete.all",
-									})}
-								</Button>
-							</Space>
-						);
-					}}
-					request={async (params = {}, sorter, filter) => {
-						// TODO
-						console.log(params, sorter, filter);
-						let url = `/v2/article?view=studio&name=${studioname}`;
-						const offset =
-							((params.current ? params.current : 1) - 1) *
-							(params.pageSize ? params.pageSize : 20);
-						url += `&limit=${params.pageSize}&offset=${offset}`;
-						if (typeof params.keyword !== "undefined") {
-							url +=
-								"&search=" +
-								(params.keyword ? params.keyword : "");
-						}
+					);
+				}}
+				request={async (params = {}, sorter, filter) => {
+					// TODO
+					console.log(params, sorter, filter);
+					let url = `/v2/article?view=studio&name=${studioname}`;
+					const offset =
+						((params.current ? params.current : 1) - 1) *
+						(params.pageSize ? params.pageSize : 20);
+					url += `&limit=${params.pageSize}&offset=${offset}`;
+					if (typeof params.keyword !== "undefined") {
+						url +=
+							"&search=" + (params.keyword ? params.keyword : "");
+					}
 
 
-						const res = await get<IArticleListResponse>(url);
-						const items: DataItem[] = res.data.rows.map(
-							(item, id) => {
-								const date = new Date(item.created_at);
-								return {
-									sn: id + 1,
-									id: item.uid,
-									title: item.title,
-									subtitle: item.subtitle,
-									summary: item.summary,
-									publicity: item.status,
-									createdAt: date.getTime(),
-								};
-							}
-						);
+					const res = await get<IArticleListResponse>(url);
+					const items: DataItem[] = res.data.rows.map((item, id) => {
+						const date = new Date(item.created_at);
 						return {
 						return {
-							total: res.data.count,
-							succcess: true,
-							data: items,
+							sn: id + 1,
+							id: item.uid,
+							title: item.title,
+							subtitle: item.subtitle,
+							summary: item.summary,
+							publicity: item.status,
+							createdAt: date.getTime(),
 						};
 						};
-					}}
-					rowKey="id"
-					bordered
-					pagination={{
-						showQuickJumper: true,
-						showSizeChanger: true,
-					}}
-					search={false}
-					options={{
-						search: true,
-					}}
-					toolBarRender={() => [
-						<Popover
-							content={articleCreate}
-							title="Create"
-							placement="bottomRight"
+					});
+					return {
+						total: res.data.count,
+						succcess: true,
+						data: items,
+					};
+				}}
+				rowKey="id"
+				bordered
+				pagination={{
+					showQuickJumper: true,
+					showSizeChanger: true,
+				}}
+				search={false}
+				options={{
+					search: true,
+				}}
+				toolBarRender={() => [
+					<Popover
+						content={articleCreate}
+						title="Create"
+						placement="bottomRight"
+					>
+						<Button
+							key="button"
+							icon={<PlusOutlined />}
+							type="primary"
 						>
 						>
-							<Button
-								key="button"
-								icon={<PlusOutlined />}
-								type="primary"
-							>
-								{intl.formatMessage({ id: "buttons.create" })}
-							</Button>
-						</Popover>,
-					]}
-				/>
-			</Layout>
+							{intl.formatMessage({ id: "buttons.create" })}
+						</Button>
+					</Popover>,
+				]}
+			/>
 		</>
 		</>
 	);
 	);
 };
 };

+ 1 - 2
dashboard/src/pages/studio/channel/list.tsx

@@ -2,7 +2,7 @@ import { useParams } from "react-router-dom";
 import { ProTable } from "@ant-design/pro-components";
 import { ProTable } from "@ant-design/pro-components";
 import { useIntl } from "react-intl";
 import { useIntl } from "react-intl";
 import { Link } from "react-router-dom";
 import { Link } from "react-router-dom";
-import { Layout, Space, Table } from "antd";
+import { Space, Table } from "antd";
 import { PlusOutlined } from "@ant-design/icons";
 import { PlusOutlined } from "@ant-design/icons";
 import type { MenuProps } from "antd";
 import type { MenuProps } from "antd";
 import { Button, Dropdown, Menu, Popover } from "antd";
 import { Button, Dropdown, Menu, Popover } from "antd";
@@ -56,7 +56,6 @@ const Widget = () => {
 	const channelCreate = <ChannelCreate studio={studioname} />;
 	const channelCreate = <ChannelCreate studio={studioname} />;
 	return (
 	return (
 		<>
 		<>
-			<Layout>{studioname}</Layout>
 			<ProTable<IItem>
 			<ProTable<IItem>
 				columns={[
 				columns={[
 					{
 					{

+ 1 - 11
dashboard/src/pages/studio/term/list.tsx

@@ -1,16 +1,7 @@
 import { useParams } from "react-router-dom";
 import { useParams } from "react-router-dom";
 import { ProTable } from "@ant-design/pro-components";
 import { ProTable } from "@ant-design/pro-components";
 import { useIntl } from "react-intl";
 import { useIntl } from "react-intl";
-import {
-	Button,
-	Layout,
-	Space,
-	Table,
-	Popover,
-	Dropdown,
-	Menu,
-	MenuProps,
-} from "antd";
+import { Button, Space, Table, Popover, Dropdown, Menu, MenuProps } from "antd";
 import { PlusOutlined, SearchOutlined } from "@ant-design/icons";
 import { PlusOutlined, SearchOutlined } from "@ant-design/icons";
 
 
 import TermCreate from "../../../components/studio/term/TermCreate";
 import TermCreate from "../../../components/studio/term/TermCreate";
@@ -62,7 +53,6 @@ const Widget = () => {
 
 
 	return (
 	return (
 		<>
 		<>
-			<Layout>{studioname}</Layout>
 			<ProTable<IItem>
 			<ProTable<IItem>
 				columns={[
 				columns={[
 					{
 					{