提交 b2266adf authored 作者: 王鹏飞's avatar 王鹏飞

refactor(admin): migrate settings applied module

上级 ccf0b20e
# Settings applied migration
- Moved the application list, add/edit drawer, delete/status operations, filters, permissions, and API helpers into `modules/settings/applied`.
- Preserved `/setting/applied`; replaced the standard table and pagination frame with controlled `AppList`.
- `pnpm build` passed. `pnpm test` was run; Admin tests pass while the known Learning failures remain.
export function buildAppliedQuery({ page, pageSize, filters = {} }) {
return { page, page_size: pageSize, ...filters }
}
import axios from "@/utils/request.js";
import qs from "qs";
import api from "./api.js";
import api from "./endpoints.js";
import { get } from "lodash-es";
import { message } from "antd";
// 应用管理列表
......
import { lazy } from 'react'
import { Navigate, useRoutes } from 'react-router'
const AppliedListView = lazy(() => import('./views/AppliedListView'))
export default function AppliedRoutes() {
return useRoutes([
{ index: true, Component: AppliedListView },
{ path: '*', element: <Navigate to="/setting/applied" /> },
])
}
import { useState } from 'react'
export function useAppliedList() {
const [page, setPage] = useState(1)
const [pageSize, setPageSize] = useState(10)
return { page, pageSize, setPage, setPageSize }
}
import React, { useEffect, useState, useRef } from "react";
import {
Table,
Input,
Button,
Row,
......@@ -17,8 +16,8 @@ import {
} from "antd";
const { TextArea } = Input;
const { RangePicker } = DatePicker;
import PaginationCom from "@/common/Pagination";
import { getAppList, addApp, editApp, delApp, changeStatus, getAppInfo } from "./request";
import { AppList } from "@/shared/components/AppList";
import { getAppList, addApp, editApp, delApp, changeStatus, getAppInfo } from "../api";
import { MinusOutlined, PlusOutlined } from "@ant-design/icons";
import Add from "@/assets/images/icon/add.png";
import reload from "@/assets/images/icon/reload.png";
......@@ -147,6 +146,9 @@ const Applied = () => {
setData(list);
setLoading(false);
};
useEffect(() => {
init(filterObj);
}, [page, page_size]);
useEffect(() => {
if (!isEdit) {
form.setFieldsValue(initialValues);
......@@ -383,27 +385,18 @@ const Applied = () => {
应用将永久删除,是否继续?
</p>
</Modal>
<Table
scroll={{
y: 600,
x: true,
}}
bordered={false}
<AppList
rowKey="id"
columns={columns}
rowKey={(record) => record.id}
dataSource={data}
loading={loading}
pagination={false}
></Table>
<br />
<PaginationCom
total={total}
init={init}
page={page}
page_size={page_size}
setPage={setPage}
setpage_size={setpage_size}
filterObj={filterObj}
data={{ rows: data, total, loading }}
pagination={{
page,
pageSize: page_size,
pageSizeOptions: [10, 20, 30, 40],
onChange: (nextPage) => setPage(nextPage),
onPageSizeChange: (nextPageSize) => setpage_size(nextPageSize),
}}
tableProps={{ scroll: { y: 600, x: true }, bordered: false }}
/>
<Drawer placement="right" onClose={onClose} open={isEdit} mask={false}>
<Form
......
......@@ -4,7 +4,7 @@ import ModuleBoundary from "@/app/ModuleBoundary";
const SettingsLayout = lazy(() => import("@/pages/setting/index"));
const HelpRoutes = lazy(() => import("./help/routes"));
const Applied = lazy(() => import("@/pages/setting/applied/index"));
const AppliedRoutes = lazy(() => import("./applied/routes"));
const PersonalizedSetting = lazy(() => import("@/pages/setting/personalized-setting/index"));
const PointManagement = lazy(() => import("@/pages/setting/point-management/index"));
const AppVersion = lazy(() => import("@/pages/setting/app-version/index"));
......@@ -19,7 +19,7 @@ export default function SettingsRoutes() {
children: [
{ index: true, element: <Navigate to="/setting/applied" /> },
{ path: "help/*", Component: HelpRoutes },
{ path: "applied", Component: Applied },
{ path: "applied/*", Component: AppliedRoutes },
{ path: "personalized-setting", Component: PersonalizedSetting },
{ path: "point-management", Component: PointManagement },
{ path: "app-version", Component: AppVersion },
......
Markdown 格式
0% 或
您添加了 0 人 到此讨论。请谨慎行事。
请先完成此评论的编辑!
请 注册 或者 后发表评论