diff --git a/config/defaultSettings.ts b/config/defaultSettings.ts index 069da0a..d7cfe83 100644 --- a/config/defaultSettings.ts +++ b/config/defaultSettings.ts @@ -9,7 +9,7 @@ const Settings: ProLayoutProps & { } = { navTheme: 'light', // 拂晓蓝 - colorPrimary: '#1890ff', + colorPrimary: '#155BD4', layout: 'mix', contentWidth: 'Fluid', fixedHeader: false, diff --git a/src/global.css b/src/global.css new file mode 100644 index 0000000..c5e98ca --- /dev/null +++ b/src/global.css @@ -0,0 +1,94 @@ +html, +body, +#root { + height: 100%; + margin: 0; + padding: 0; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; +} +.colorWeak { + filter: invert(80%); +} +.ant-layout { + min-height: 100vh; +} +.ant-pro-sider.ant-layout-sider.ant-pro-sider-fixed { + left: unset; +} +canvas { + display: block; +} +body { + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +ul, +ol { + list-style: none; +} +@media (max-width: 768px) { + .ant-table { + width: 100%; + overflow-x: auto; + } + .ant-table-thead > tr > th, + .ant-table-tbody > tr > th, + .ant-table-thead > tr > td, + .ant-table-tbody > tr > td { + white-space: pre; + } + .ant-table-thead > tr > th > span, + .ant-table-tbody > tr > th > span, + .ant-table-thead > tr > td > span, + .ant-table-tbody > tr > td > span { + display: block; + } +} +.keep-alive-tabs .ant-tabs-nav { + margin: 0; +} +.ant-pro .ant-pro-layout .ant-pro-layout-content { + padding: 0; +} +.ant-pro-form-login-page-left { + max-width: none !important; +} +.ant-pro-card-col.ant-pro-card-split-vertical { + border-inline-end: none; +} +.ant-pro-card-col.ant-pro-card-split-horizontal { + border-block-end: none; +} +/* 1108 update 全局样式新增调整 */ +.ant-table-cell .ant-btn.ant-btn-sm { + padding: 0; +} +.ant-pro-table-search .ant-form-item .ant-form-item-label { + text-align: left; +} +.ant-btn-link { + color: #155BD4; +} +/* 单行文本溢出显示省略号 */ +.single_line { + white-space: nowrap; + /* 防止文本换行 */ + overflow: hidden; + /* 隐藏溢出的文本 */ + text-overflow: ellipsis; + /* 显示省略号 */ +} +/* 多行文本溢出显示省略号 */ +.two_line { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + /* 限制显示的行数 */ + overflow: hidden; + /* 隐藏溢出的文本 */ +} +* { + padding: 0; + margin: 0; +} diff --git a/src/global.less b/src/global.less index 8062031..dae4adc 100644 --- a/src/global.less +++ b/src/global.less @@ -74,3 +74,38 @@ ol { .ant-pro-card-col.ant-pro-card-split-horizontal { border-block-end: none; } +/* 1108 update 全局样式新增调整 */ +// TODO 全局小尺寸按钮,统一间距 (列表操作栏位按钮) +.ant-table-cell .ant-btn.ant-btn-sm{ + padding: 0; +} +.ant-pro-table-search .ant-form-item .ant-form-item-label{ + text-align: left +} + +.ant-btn-link{ + color: #155BD4; +} + +// TODO 自定义样式块 + +/* 单行文本溢出显示省略号 */ +.single_line { + white-space: nowrap; /* 防止文本换行 */ + overflow: hidden; /* 隐藏溢出的文本 */ + text-overflow: ellipsis; /* 显示省略号 */ +} + +/* 多行文本溢出显示省略号 */ +.two_line { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; /* 限制显示的行数 */ + overflow: hidden; /* 隐藏溢出的文本 */ +} + +* { + padding: 0; + margin: 0; +} + diff --git a/src/pages/Device/DeviceGroupList/index.tsx b/src/pages/Device/DeviceGroupList/index.tsx index 6c64c53..f8ecf57 100644 --- a/src/pages/Device/DeviceGroupList/index.tsx +++ b/src/pages/Device/DeviceGroupList/index.tsx @@ -1,42 +1,39 @@ -import {deleteDeviceGroupDeleteDeviceGroup, postDeviceGroupGetDeviceGroupList, deleteDeviceGroupDeleteDeviceGroupByIds} from '@/services/device/DeviceGroup'; -import {PlusOutlined} from '@ant-design/icons'; -import type { ActionType, ProColumns } from '@ant-design/pro-components'; import { - FooterToolbar, - PageContainer, - ProTable, -} from '@ant-design/pro-components'; -import { FormattedMessage, useIntl, useAccess, Access, history } from '@umijs/max'; -import {Button, message} from 'antd'; -import React, {useRef, useState} from 'react'; + deleteDeviceGroupDeleteDeviceGroup, + deleteDeviceGroupDeleteDeviceGroupByIds, + postDeviceGroupGetDeviceGroupList, +} from '@/services/device/DeviceGroup'; +import { PlusOutlined } from '@ant-design/icons'; +import type { ActionType, ProColumns } from '@ant-design/pro-components'; +import { FooterToolbar, PageContainer, ProTable } from '@ant-design/pro-components'; +import { Access, FormattedMessage, history, useAccess, useIntl } from '@umijs/max'; +import { Button, message } from 'antd'; +import React, { useRef, useState } from 'react'; +import { ColumnDrawer } from './components/ColumnDrawer'; +import CreateForm from './components/CreateForm'; import UpdateForm from './components/UpdateForm'; -import CreateForm from "./components/CreateForm"; -import {ColumnDrawer} from "./components/ColumnDrawer"; const DeviceGroupList: React.FC = () => { - /** - * @en-US Pop-up window of new window - * @zh-CN 新建窗口的弹窗 - * */ - const [createModalOpen, setCreateModalOpen] = useState(false); - /** - * @en-US The pop-up window of the distribution update window - * @zh-CN 分布更新窗口的弹窗 - * */ - const [updateModalOpen, setUpdateModalOpen] = useState(false); - const [showDetail, setShowDetail] = useState(false); - /** - * @en-US International configuration - * @zh-CN 国际化配置 - * */ - const access = useAccess(); - const intl = useIntl(); - const actionRef = useRef(); - const [currentRow, setCurrentRow] = useState(); - const [selectedRowsState, setSelectedRows] = useState([]); - - - + /** + * @en-US Pop-up window of new window + * @zh-CN 新建窗口的弹窗 + * */ + const [createModalOpen, setCreateModalOpen] = useState(false); + /** + * @en-US The pop-up window of the distribution update window + * @zh-CN 分布更新窗口的弹窗 + * */ + const [updateModalOpen, setUpdateModalOpen] = useState(false); + const [showDetail, setShowDetail] = useState(false); + /** + * @en-US International configuration + * @zh-CN 国际化配置 + * */ + const access = useAccess(); + const intl = useIntl(); + const actionRef = useRef(); + const [currentRow, setCurrentRow] = useState(); + const [selectedRowsState, setSelectedRows] = useState([]); // const handle_parent_fk_id = (id: any)=>{ // if (parent_fk_id_open) { @@ -49,63 +46,62 @@ const DeviceGroupList: React.FC = () => { // }) // } // } - // const handle_parent_fk_id_column_open = ()=>{ - // if (parent_fk_id_column_open) { - // set_parent_fk_id_column_open(false) - // }else { - // postDeviceGroupGetDeviceGroupNames({ids: parentFkIdIds}).then((resp)=>{ - // let a: any = {} - // resp.data.list.forEach((v: any)=>{ - // if (v.id) { - // a[v.id] = v.name - // } - // }) - // setParentFkIdMap(a) - // }) - // set_parent_fk_id_column_open(true) - // } - // } - - const handleUpdateModal = ()=>{ - if (updateModalOpen) { - setUpdateModalOpen(false) - setCurrentRow(undefined) - } else { - setUpdateModalOpen(true) - } - } - const handleCreateModal = ()=>{ - if (createModalOpen) { - setCreateModalOpen(false) - setCurrentRow(undefined) - } else { - setCreateModalOpen(true) - } - } - const handleColumnDrawer = ()=>{ - if (showDetail) { - setShowDetail(false) - setCurrentRow(undefined) - } else { - setShowDetail(true) - } - } - const handleDestroy = async (selectedRow: API.DeviceGroup) => { - deleteDeviceGroupDeleteDeviceGroup({id: selectedRow.id}).then(()=>{ - message.success(intl.formatMessage({id: 'common.success', defaultMessage: '$$$'})) - actionRef.current?.reload() - }).catch(()=>{ - message.error(intl.formatMessage({id: 'common.failure', defaultMessage: '$$$'})) - }) - }; - -const columns: ProColumns[] = [ - + // const handle_parent_fk_id_column_open = ()=>{ + // if (parent_fk_id_column_open) { + // set_parent_fk_id_column_open(false) + // }else { + // postDeviceGroupGetDeviceGroupNames({ids: parentFkIdIds}).then((resp)=>{ + // let a: any = {} + // resp.data.list.forEach((v: any)=>{ + // if (v.id) { + // a[v.id] = v.name + // } + // }) + // setParentFkIdMap(a) + // }) + // set_parent_fk_id_column_open(true) + // } + // } + + const handleUpdateModal = () => { + if (updateModalOpen) { + setUpdateModalOpen(false); + setCurrentRow(undefined); + } else { + setUpdateModalOpen(true); + } + }; + const handleCreateModal = () => { + if (createModalOpen) { + setCreateModalOpen(false); + setCurrentRow(undefined); + } else { + setCreateModalOpen(true); + } + }; + const handleColumnDrawer = () => { + if (showDetail) { + setShowDetail(false); + setCurrentRow(undefined); + } else { + setShowDetail(true); + } + }; + const handleDestroy = async (selectedRow: API.DeviceGroup) => { + deleteDeviceGroupDeleteDeviceGroup({ id: selectedRow.id }) + .then(() => { + message.success(intl.formatMessage({ id: 'common.success', defaultMessage: '$$$' })); + actionRef.current?.reload(); + }) + .catch(() => { + message.error(intl.formatMessage({ id: 'common.failure', defaultMessage: '$$$' })); + }); + }; + + const columns: ProColumns[] = [ { - title: (), - dataIndex: "id", + title: , + dataIndex: 'id', sorter: true, render: (dom, entity) => { return ( @@ -122,85 +118,66 @@ const columns: ProColumns[] = [ }, { - title: (), - dataIndex: "name", - hideInSearch: true, + title: , + dataIndex: 'name', + hideInSearch: true, }, - { - title: (), - dataIndex: "code", - hideInSearch: true, + title: , + dataIndex: 'code', + hideInSearch: true, }, - { - title: (), - dataIndex: "address", - hideInSearch: true, + title: , + dataIndex: 'address', + hideInSearch: true, }, - { - title: (), - dataIndex: "telephone", - hideInSearch: true, + title: ( + + ), + dataIndex: 'telephone', + hideInSearch: true, }, - { - title: (), - dataIndex: "lon", - hideInSearch: true, + title: , + dataIndex: 'lon', + hideInSearch: true, }, - { - title: (), - dataIndex: "lat", - hideInSearch: true, + title: , + dataIndex: 'lat', + hideInSearch: true, }, - { - title: (), - dataIndex: "managerName", - hideInSearch: true, + title: ( + + ), + dataIndex: 'managerName', + hideInSearch: true, }, - { - title: (), - dataIndex: "managerPhone", - hideInSearch: true, + title: ( + + ), + dataIndex: 'managerPhone', + hideInSearch: true, }, - { - title: (), - dataIndex: "isEnable", - filters: true, onFilter: true, - hideInSearch: true, - valueType: 'switch', + title: , + dataIndex: 'isEnable', + filters: true, + onFilter: true, + hideInSearch: true, + valueType: 'switch', }, // @@ -237,191 +214,194 @@ const columns: ProColumns[] = [ // }, // }, - { - title: (), - dataIndex: "remark", - hideInSearch: true, + title: , + dataIndex: 'remark', + hideInSearch: true, }, - { - title: (), - dataIndex: "createTime", - sorter: true, - hideInSearch: true, - valueType: 'dateTime', + title: ( + + ), + dataIndex: 'createTime', + sorter: true, + hideInSearch: true, + valueType: 'dateTime', }, - { - title: (), - dataIndex: "updateTime", - sorter: true, - hideInSearch: true, - valueType: 'dateTime', + title: ( + + ), + dataIndex: 'updateTime', + sorter: true, + hideInSearch: true, + valueType: 'dateTime', }, - - { - title: , - dataIndex: 'option', - valueType: 'option', - fixed:'right', - render: (_, record) => [ - - { - setCreateModalOpen(true); - setCurrentRow(record); - }} - > - - - { - setUpdateModalOpen(true); - setCurrentRow(record); - }} - > - - - { - handleDestroy(record).then(()=>{}) - }}> - - - - ], - },]; -return ( - - - headerTitle={intl.formatMessage({ - id: 'pages.searchTable.title', - defaultMessage: '$$$', - })} - options={{ fullScreen: true, setting: true, density: true, reload: true }} - actionRef={actionRef} - rowKey="key" - search={{ - labelWidth: 120, - }} - pagination={{ - showSizeChanger: true, - pageSize: 10, - }} - columnsState={{ - persistenceKey: 'device_group_list', - persistenceType: 'localStorage' - }} - toolBarRender={() => [ - - - - - - ]} - request={async (params = {}, sort) => { - const {current, ...rest} = params - const reqParams = { - page: current, - desc: false, - orderKey: "", - ...rest, - } - if (sort && Object.keys(sort).length) { - reqParams.orderKey = Object.keys(sort)[0] - let sort_select = sort[reqParams.orderKey] - reqParams.desc = sort_select === 'descend'; - } - let resp = await postDeviceGroupGetDeviceGroupList({...reqParams}) - return { - data: resp.data.list.map((v: API.DeviceGroup)=>{ - return {...v, key: v.id} - }), - success: resp.success, - total: resp.data.total, - current: resp.data.page, - pageSize: resp.data.pageSize - }; - - }} - columns={columns} - rowSelection={{ - onChange: (_, selectedRows) => { - setSelectedRows(selectedRows); - }, - }} - /> - {selectedRowsState?.length > 0 && ( - - {' '} - {selectedRowsState.length}{' '} - - - } - > - - - )} - - - - , + ]} + request={async (params = {}, sort) => { + const { current, ...rest } = params; + const reqParams = { + page: current, + desc: false, + orderKey: '', + ...rest, + }; + if (sort && Object.keys(sort).length) { + reqParams.orderKey = Object.keys(sort)[0]; + let sort_select = sort[reqParams.orderKey]; + reqParams.desc = sort_select === 'descend'; + } + let resp = await postDeviceGroupGetDeviceGroupList({ ...reqParams }); + return { + data: resp.data.list.map((v: API.DeviceGroup) => { + return { ...v, key: v.id }; + }), + success: resp.success, + total: resp.data.total, + current: resp.data.page, + pageSize: resp.data.pageSize, + }; + }} + columns={columns} + rowSelection={{ + onChange: (_, selectedRows) => { + setSelectedRows(selectedRows); + }, + }} + /> + {selectedRowsState?.length > 0 && ( + + {' '} + {selectedRowsState.length}{' '} + + + } + > + + + )} + + + + + + ); }; - export default DeviceGroupList; +export default DeviceGroupList; diff --git a/src/pages/Device/DeviceList/index.tsx b/src/pages/Device/DeviceList/index.tsx index e4fd113..043c11a 100644 --- a/src/pages/Device/DeviceList/index.tsx +++ b/src/pages/Device/DeviceList/index.tsx @@ -1,40 +1,43 @@ -import {DeviceGroupColumns} from '@/pages/Device/DeviceGroupList/components/Columns'; +import { ColumnDrawer as DeviceCategoryColumnDrawer } from '@/pages/Device/DeviceCategoryList/components/ColumnDrawer'; +import { DeviceCategoryColumns } from '@/pages/Device/DeviceCategoryList/components/Columns'; +import { ColumnDrawer as DeviceGroupColumnDrawer } from '@/pages/Device/DeviceGroupList/components/ColumnDrawer'; +import { DeviceGroupColumns } from '@/pages/Device/DeviceGroupList/components/Columns'; import { - postDeviceGroupGetDeviceGroupById, - postDeviceGroupGetDeviceGroupFkSelect, - postDeviceGroupGetDeviceGroupNames, - postDeviceGroupGetDeviceGroupTree -} from '@/services/device/DeviceGroup'; -import {ColumnDrawer as DeviceGroupColumnDrawer} from "@/pages/Device/DeviceGroupList/components/ColumnDrawer"; -import {DeviceCategoryColumns} from '@/pages/Device/DeviceCategoryList/components/Columns'; + deleteDeviceDeleteDevice, + deleteDeviceDeleteDeviceByIds, + postDeviceCloseRtspCamera, + postDeviceGetDeviceList, + postDeviceOpenRtspCamera, +} from '@/services/device/Device'; import { postDeviceCategoryGetDeviceCategoryById, postDeviceCategoryGetDeviceCategoryFkSelect, - postDeviceCategoryGetDeviceCategoryNames + postDeviceCategoryGetDeviceCategoryNames, } from '@/services/device/DeviceCategory'; -import {ColumnDrawer as DeviceCategoryColumnDrawer} from "@/pages/Device/DeviceCategoryList/components/ColumnDrawer"; import { - deleteDeviceDeleteDevice, - postDeviceGetDeviceList, - deleteDeviceDeleteDeviceByIds, postDeviceOpenRtspCamera, postDeviceCloseRtspCamera -} from '@/services/device/Device'; -import {PlusOutlined, RedoOutlined} from '@ant-design/icons'; -import type {ActionType, ProColumns} from '@ant-design/pro-components'; + postDeviceGroupGetDeviceGroupById, + postDeviceGroupGetDeviceGroupFkSelect, + postDeviceGroupGetDeviceGroupNames, + postDeviceGroupGetDeviceGroupTree, +} from '@/services/device/DeviceGroup'; +import { PlusOutlined, RedoOutlined } from '@ant-design/icons'; +import type { ActionType, ProColumns } from '@ant-design/pro-components'; import { FooterToolbar, PageContainer, + ProCard, + ProFormSelect, + ProFormText, ProTable, - ProFormSelect, ProCard, ProFormText, } from '@ant-design/pro-components'; -import {FormattedMessage, useIntl, useAccess, Access, history} from '@umijs/max'; -import {Button, message, Tree} from 'antd'; -import React, {useEffect, useRef, useState} from 'react'; +import { Access, FormattedMessage, history, useAccess, useIntl } from '@umijs/max'; +import { Button, Popconfirm, Tree, message } from 'antd'; +import { DataNode } from 'antd/es/tree'; +import React, { useEffect, useRef, useState } from 'react'; +import { ColumnDrawer } from './components/ColumnDrawer'; +import CreateForm from './components/CreateForm'; import UpdateForm from './components/UpdateForm'; -import CreateForm from "./components/CreateForm"; -import {ColumnDrawer} from "./components/ColumnDrawer"; -import {DataNode} from "antd/es/tree"; -import {postDepartmentGetDepartmentTree} from "@/services/system/Department"; -import VideoModal from "./components/VideoModal"; +import VideoModal from './components/VideoModal'; const DeviceList: React.FC = () => { /** @@ -59,139 +62,140 @@ const DeviceList: React.FC = () => { const actionRef = useRef(); const [currentRow, setCurrentRow] = useState(); const [selectedRowsState, setSelectedRows] = useState([]); - const [category_fk_id_open, set_category_fk_id_open] = useState(false) - const [category_fk_id, set_category_fk_id] = useState() - const [category_fk_id_column_open, set_category_fk_id_column_open] = useState(false) - const [categoryFkIdIds, setCategoryFkIdIds] = useState([]) - const [categoryFkIdMap, setCategoryFkIdMap] = useState<{ [key: number]: string }>({}) - const [group_fk_id_open, set_group_fk_id_open] = useState(false) - const [group_fk_id, set_group_fk_id] = useState() - const [group_fk_id_column_open, set_group_fk_id_column_open] = useState(false) - const [groupFkIdIds, setGroupFkIdIds] = useState([]) - const [groupFkIdMap, setGroupFkIdMap] = useState<{ [key: number]: string }>({}) - - const [hasInit, setHasInit] = useState(false) + const [category_fk_id_open, set_category_fk_id_open] = useState(false); + const [category_fk_id, set_category_fk_id] = useState(); + const [category_fk_id_column_open, set_category_fk_id_column_open] = useState(false); + const [categoryFkIdIds, setCategoryFkIdIds] = useState([]); + const [categoryFkIdMap, setCategoryFkIdMap] = useState<{ [key: number]: string }>({}); + const [group_fk_id_open, set_group_fk_id_open] = useState(false); + const [group_fk_id, set_group_fk_id] = useState(); + const [group_fk_id_column_open, set_group_fk_id_column_open] = useState(false); + const [groupFkIdIds, setGroupFkIdIds] = useState([]); + const [groupFkIdMap, setGroupFkIdMap] = useState<{ [key: number]: string }>({}); + + const [hasInit, setHasInit] = useState(false); const [nodeTreeData, setNodeTreeData] = React.useState([]); const [selectNodes, setSelectNodes] = React.useState([]); const [videoOpening, setVideoOpening] = useState(false); - const [videoServerParam, setVideoServerParam] = useState({}) + const [videoServerParam, setVideoServerParam] = useState({}); useEffect(() => { - postDeviceGroupGetDeviceGroupTree().then((resp) => { - setNodeTreeData(resp.data.tree) - setHasInit(true) - }).catch(() => { - message.error(intl.formatMessage({id: 'common.failure', defaultMessage: '$$$'})) - }) - }, []) - const handleVideoModal = ()=>{ + postDeviceGroupGetDeviceGroupTree() + .then((resp) => { + setNodeTreeData(resp.data.tree); + setHasInit(true); + }) + .catch(() => { + message.error(intl.formatMessage({ id: 'common.failure', defaultMessage: '$$$' })); + }); + }, []); + const handleVideoModal = () => { if (videoModalOpen) { - setVideoModalOpen(false) + setVideoModalOpen(false); if (videoServerParam?.pid || 0) { - postDeviceCloseRtspCamera({pid: videoServerParam.pid}).then((resp) => { - console.log(resp) - }) + postDeviceCloseRtspCamera({ pid: videoServerParam.pid }).then((resp) => { + console.log(resp); + }); } - setCurrentRow(undefined) - setVideoServerParam({}) + setCurrentRow(undefined); + setVideoServerParam({}); } else { - setVideoModalOpen(true) + setVideoModalOpen(true); } - } + }; const handle_category_fk_id = (id: any) => { if (category_fk_id_open) { set_category_fk_id(undefined); - set_category_fk_id_open(false) + set_category_fk_id_open(false); } else { - postDeviceCategoryGetDeviceCategoryById({id: id}).then((resp) => { - set_category_fk_id(resp.data.deviceCategory) - set_category_fk_id_open(true) - }) + postDeviceCategoryGetDeviceCategoryById({ id: id }).then((resp) => { + set_category_fk_id(resp.data.deviceCategory); + set_category_fk_id_open(true); + }); } - } + }; const handle_category_fk_id_column_open = () => { if (category_fk_id_column_open) { - set_category_fk_id_column_open(false) + set_category_fk_id_column_open(false); } else { - postDeviceCategoryGetDeviceCategoryNames({ids: categoryFkIdIds}).then((resp) => { - let a: any = {} + postDeviceCategoryGetDeviceCategoryNames({ ids: categoryFkIdIds }).then((resp) => { + let a: any = {}; resp.data.list.forEach((v: any) => { if (v.id) { - a[v.id] = v.name + a[v.id] = v.name; } - }) - setCategoryFkIdMap(a) - }) - set_category_fk_id_column_open(true) + }); + setCategoryFkIdMap(a); + }); + set_category_fk_id_column_open(true); } - } + }; const handle_group_fk_id = (id: any) => { if (group_fk_id_open) { set_group_fk_id(undefined); - set_group_fk_id_open(false) + set_group_fk_id_open(false); } else { - postDeviceGroupGetDeviceGroupById({id: id}).then((resp) => { - set_group_fk_id(resp.data.deviceGroup) - set_group_fk_id_open(true) - }) + postDeviceGroupGetDeviceGroupById({ id: id }).then((resp) => { + set_group_fk_id(resp.data.deviceGroup); + set_group_fk_id_open(true); + }); } - } + }; const handle_group_fk_id_column_open = () => { if (group_fk_id_column_open) { - set_group_fk_id_column_open(false) + set_group_fk_id_column_open(false); } else { - postDeviceGroupGetDeviceGroupNames({ids: groupFkIdIds}).then((resp) => { - let a: any = {} + postDeviceGroupGetDeviceGroupNames({ ids: groupFkIdIds }).then((resp) => { + let a: any = {}; resp.data.list.forEach((v: any) => { if (v.id) { - a[v.id] = v.name + a[v.id] = v.name; } - }) - setGroupFkIdMap(a) - }) - set_group_fk_id_column_open(true) + }); + setGroupFkIdMap(a); + }); + set_group_fk_id_column_open(true); } - } + }; const handleUpdateModal = () => { if (updateModalOpen) { - setUpdateModalOpen(false) - setCurrentRow(undefined) + setUpdateModalOpen(false); + setCurrentRow(undefined); } else { - setUpdateModalOpen(true) + setUpdateModalOpen(true); } - } + }; const handleCreateModal = () => { if (createModalOpen) { - setCreateModalOpen(false) - setCurrentRow(undefined) + setCreateModalOpen(false); + setCurrentRow(undefined); } else { - setCreateModalOpen(true) + setCreateModalOpen(true); } - } + }; const handleColumnDrawer = () => { if (showDetail) { - setShowDetail(false) - setCurrentRow(undefined) + setShowDetail(false); + setCurrentRow(undefined); } else { - setShowDetail(true) + setShowDetail(true); } - } + }; const handleDestroy = async (selectedRow: API.Device) => { - deleteDeviceDeleteDevice({id: selectedRow.id}).then(() => { - message.success(intl.formatMessage({id: 'common.success', defaultMessage: '$$$'})) - actionRef.current?.reload() - }).catch(() => { - message.error(intl.formatMessage({id: 'common.failure', defaultMessage: '$$$'})) - }) + deleteDeviceDeleteDevice({ id: selectedRow.id }) + .then(() => { + message.success(intl.formatMessage({ id: 'common.success', defaultMessage: '$$$' })); + actionRef.current?.reload(); + }) + .catch(() => { + message.error(intl.formatMessage({ id: 'common.failure', defaultMessage: '$$$' })); + }); }; const columns: ProColumns[] = [ - { - title: (), - dataIndex: "id", + title: , + dataIndex: 'id', sorter: true, render: (dom, entity) => { return ( @@ -225,65 +229,60 @@ const DeviceList: React.FC = () => { }, { - title: (), - dataIndex: "name", + title: , + dataIndex: 'name', hideInSearch: true, }, - { - title: (), - dataIndex: "code", + title: , + dataIndex: 'code', hideInSearch: true, }, - { - title: (), - dataIndex: "position", + title: , + dataIndex: 'position', hideInSearch: true, }, - { - title: (), - dataIndex: "param", + title: , + dataIndex: 'param', hideInSearch: true, }, - { - title: (), - dataIndex: "spec", + title: , + dataIndex: 'spec', hideInSearch: true, }, - { - title: (), - dataIndex: "categoryFkId", + title: , + dataIndex: 'categoryFkId', hideInSearch: false, render: (text, record) => { if (category_fk_id_column_open) { - return ( { - handle_category_fk_id(record.categoryFkId) - }}>{record?.categoryFkId ? categoryFkIdMap[record.categoryFkId] : undefined}) + return ( + { + handle_category_fk_id(record.categoryFkId); + }} + > + {record?.categoryFkId ? categoryFkIdMap[record.categoryFkId] : undefined} + + ); } else { - return ( { - handle_category_fk_id(record.categoryFkId) - }}>{record.categoryFkId}) + return ( + { + handle_category_fk_id(record.categoryFkId); + }} + > + {record.categoryFkId} + + ); } }, renderFormItem: () => { @@ -293,181 +292,221 @@ const DeviceList: React.FC = () => { width="md" labelCol={{ span: 4 }} wrapperCol={{ span: 22 }} - placeholder={`${intl.formatMessage({id: 'common.please_select', defaultMessage: '$$$'})}`} - required={false} showSearch debounceTime={1000} + placeholder={`${intl.formatMessage({ + id: 'common.please_select', + defaultMessage: '$$$', + })}`} + required={false} + showSearch + debounceTime={1000} request={async (keyWord) => { - const resp = await postDeviceCategoryGetDeviceCategoryFkSelect({keyword: keyWord?.keyWords || ''}) + const resp = await postDeviceCategoryGetDeviceCategoryFkSelect({ + keyword: keyWord?.keyWords || '', + }); return resp.data.list.map((v: any) => { return { label: v.name, - value: v.id - } - }) + value: v.id, + }; + }); }} /> ); }, }, - { - title: (), - dataIndex: "groupFkId", + title: , + dataIndex: 'groupFkId', hideInSearch: false, render: (text, record) => { if (group_fk_id_column_open) { - return ( { - handle_group_fk_id(record.groupFkId) - }}>{record?.groupFkId ? groupFkIdMap[record.groupFkId] : undefined}) + return ( + { + handle_group_fk_id(record.groupFkId); + }} + > + {record?.groupFkId ? groupFkIdMap[record.groupFkId] : undefined} + + ); } else { - return ( { - handle_group_fk_id(record.groupFkId) - }}>{record.groupFkId}) + return ( + { + handle_group_fk_id(record.groupFkId); + }} + > + {record.groupFkId} + + ); } }, renderFormItem: () => { return ( // value 和 onchange 会通过 form 自动注入。 { - const resp = await postDeviceGroupGetDeviceGroupFkSelect({keyword: keyWord?.keyWords || ''}) + const resp = await postDeviceGroupGetDeviceGroupFkSelect({ + keyword: keyWord?.keyWords || '', + }); return resp.data.list.map((v: any) => { return { label: v.name, - value: v.id - } - }) + value: v.id, + }; + }); }} /> ); }, }, - { - title: (), - dataIndex: "isEnable", - filters: true, onFilter: true, + title: , + dataIndex: 'isEnable', + filters: true, + onFilter: true, hideInSearch: true, valueType: 'switch', }, - { - title: (), - dataIndex: "remark", + title: , + dataIndex: 'remark', hideInSearch: true, }, - { - title: (), - dataIndex: "createTime", + title: , + dataIndex: 'createTime', sorter: true, hideInSearch: true, valueType: 'dateTime', }, - { - title: (), - dataIndex: "updateTime", + title: , + dataIndex: 'updateTime', sorter: true, hideInSearch: true, valueType: 'dateTime', }, - { - title: , + title: , dataIndex: 'option', valueType: 'option', fixed: 'right', + width: 250, render: (_, record) => [ - - + + { + handleDestroy(record).then(() => {}); + }} + > + + + + , ], - },]; + }, + ]; return ( - } onClick={() => { - setSelectNodes([]); - actionRef.current?.reload() - }}>重置}> - { - hasInit && ( - { - setSelectNodes(selectKeys) - actionRef.current?.reload() - }} - /> - ) + } + onClick={() => { + setSelectNodes([]); + actionRef.current?.reload(); + }} + > + 重置 + } + > + {hasInit && ( + { + setSelectNodes(selectKeys); + actionRef.current?.reload(); + }} + /> + )} @@ -475,30 +514,30 @@ const DeviceList: React.FC = () => { id: 'pages.searchTable.title', defaultMessage: '$$$', })} - loading={{tip: intl.formatMessage({ + loading={{ + tip: intl.formatMessage({ id: 'common.video_opening', - defaultMessage: '$$$' - }), spinning: videoOpening}} - options={{fullScreen: true, setting: true, density: true, reload: true}} + defaultMessage: '$$$', + }), + spinning: videoOpening, + }} + options={{ fullScreen: true, setting: true, density: true, reload: true }} actionRef={actionRef} rowKey="key" + scroll={{ x: 1600 }} search={{ labelWidth: 120, }} onDataSourceChange={(data) => { - let CategoryFkIdIds: any = data.map((v) => { - return v.categoryFkId - }) - setCategoryFkIdIds(CategoryFkIdIds) - + return v.categoryFkId; + }); + setCategoryFkIdIds(CategoryFkIdIds); let GroupFkIdIds: any = data.map((v) => { - return v.groupFkId - }) - setGroupFkIdIds(GroupFkIdIds) - - + return v.groupFkId; + }); + setGroupFkIdIds(GroupFkIdIds); }} pagination={{ showSizeChanger: true, @@ -506,49 +545,44 @@ const DeviceList: React.FC = () => { }} columnsState={{ persistenceKey: 'device_list', - persistenceType: 'localStorage' + persistenceType: 'localStorage', }} toolBarRender={() => [ - - + - + , ]} request={async (params = {}, sort) => { - const {current, ...rest} = params - const reqParams:any = { + const { current, ...rest } = params; + const reqParams: any = { page: current, desc: false, - orderKey: "", + orderKey: '', ...rest, - } + }; if (selectNodes.length) { - reqParams.groupFkId = selectNodes[0] + reqParams.groupFkId = selectNodes[0]; } if (sort && Object.keys(sort).length) { - reqParams.orderKey = Object.keys(sort)[0] - let sort_select = sort[reqParams.orderKey] + reqParams.orderKey = Object.keys(sort)[0]; + let sort_select = sort[reqParams.orderKey]; reqParams.desc = sort_select === 'descend'; } - let resp = await postDeviceGetDeviceList({...reqParams}) + let resp = await postDeviceGetDeviceList({ ...reqParams }); return { data: resp.data.list.map((v: API.Device) => { - return {...v, key: v.id} + return { ...v, key: v.id }; }), success: resp.success, total: resp.data.total, current: resp.data.page, - pageSize: resp.data.pageSize + pageSize: resp.data.pageSize, }; - }} columns={columns} rowSelection={{ @@ -601,9 +635,9 @@ const DeviceList: React.FC = () => { - {' '} - {selectedRowsState.length}{' '} - + {' '} + {selectedRowsState.length}{' '} + } > @@ -611,11 +645,11 @@ const DeviceList: React.FC = () => { onClick={async () => { deleteDeviceDeleteDeviceByIds({ ids: selectedRowsState.map((v: API.Device) => { - return v.id as number - }) + return v.id as number; + }), }).then(() => { actionRef.current?.reloadAndRest?.(); - }) + }); }} > { columns={DeviceGroupColumns} currentRow={group_fk_id} /> - - ); }; diff --git a/src/pages/Resource/AlgorithmModelList/index.tsx b/src/pages/Resource/AlgorithmModelList/index.tsx index 9b4f22a..db4268e 100644 --- a/src/pages/Resource/AlgorithmModelList/index.tsx +++ b/src/pages/Resource/AlgorithmModelList/index.tsx @@ -132,11 +132,11 @@ const AlgorithmModelList: React.FC = () => { return ( <> { return ( // value 和 onchange 会通过 form 自动注入。 { id: 'pages.searchTable.title', defaultMessage: '$$$', })} - scroll={{ y: 500 }} + scroll={{ y: 500 , x: 1300}} options={{ fullScreen: true, setting: true, density: true, reload: true }} actionRef={actionRef} rowKey="key" search={{ - labelWidth: 120, + labelWidth: 100, }} onDataSourceChange={(data) => { let CategoryFkIdIds: any = data.map((v) => { diff --git a/src/pages/Resource/BusinessImageList/index.tsx b/src/pages/Resource/BusinessImageList/index.tsx index ec95ba1..6260451 100644 --- a/src/pages/Resource/BusinessImageList/index.tsx +++ b/src/pages/Resource/BusinessImageList/index.tsx @@ -1,115 +1,117 @@ -import {ProjectColumns} from '@/pages/Project/ProjectList/components/Columns'; -import {postProjectGetProjectById, postProjectGetProjectFkSelect, postProjectGetProjectNames} from '@/services/project/Project'; -import {ColumnDrawer as ProjectColumnDrawer} from "@/pages/Project/ProjectList/components/ColumnDrawer"; -import {deleteBusinessImageDeleteBusinessImage, postBusinessImageGetBusinessImageList, deleteBusinessImageDeleteBusinessImageByIds} from '@/services/resource/BusinessImage'; +import { ColumnDrawer as ProjectColumnDrawer } from '@/pages/Project/ProjectList/components/ColumnDrawer'; +import { ProjectColumns } from '@/pages/Project/ProjectList/components/Columns'; +import { + postProjectGetProjectById, + postProjectGetProjectFkSelect, + postProjectGetProjectNames, +} from '@/services/project/Project'; +import { + deleteBusinessImageDeleteBusinessImage, + deleteBusinessImageDeleteBusinessImageByIds, + postBusinessImageGetBusinessImageList, +} from '@/services/resource/BusinessImage'; import { PlusOutlined } from '@ant-design/icons'; import type { ActionType, ProColumns } from '@ant-design/pro-components'; -import { - FooterToolbar, - PageContainer, - ProTable, - ProFormSelect, -} from '@ant-design/pro-components'; -import { FormattedMessage, useIntl, useAccess, Access, history } from '@umijs/max'; -import {Button, message} from 'antd'; +import { FooterToolbar, PageContainer, ProFormSelect, ProTable } from '@ant-design/pro-components'; +import { Access, FormattedMessage, history, useAccess, useIntl } from '@umijs/max'; +import { Button, Popconfirm, message } from 'antd'; import React, { useRef, useState } from 'react'; +import { ColumnDrawer } from './components/ColumnDrawer'; +import CreateForm from './components/CreateForm'; import UpdateForm from './components/UpdateForm'; -import CreateForm from "./components/CreateForm"; -import {ColumnDrawer} from "./components/ColumnDrawer"; const BusinessImageList: React.FC = () => { - /** - * @en-US Pop-up window of new window - * @zh-CN 新建窗口的弹窗 - * */ - const [createModalOpen, setCreateModalOpen] = useState(false); - /** - * @en-US The pop-up window of the distribution update window - * @zh-CN 分布更新窗口的弹窗 - * */ - const [updateModalOpen, setUpdateModalOpen] = useState(false); - const [showDetail, setShowDetail] = useState(false); - /** - * @en-US International configuration - * @zh-CN 国际化配置 - * */ - const access = useAccess(); - const intl = useIntl(); - const actionRef = useRef(); - const [currentRow, setCurrentRow] = useState(); - const [selectedRowsState, setSelectedRows] = useState([]); - const [project_fk_id_open, set_project_fk_id_open] = useState(false) - const [project_fk_id, set_project_fk_id] = useState() - const [project_fk_id_column_open, set_project_fk_id_column_open] = useState(false) - const [projectFkIdIds, setProjectFkIdIds] = useState([]) - const [projectFkIdMap, setProjectFkIdMap] = useState<{ [key: number]: string }>({}) - const handle_project_fk_id = (id: any)=>{ - if (project_fk_id_open) { - set_project_fk_id(undefined); - set_project_fk_id_open(false) - }else { - postProjectGetProjectById({id: id}).then((resp)=>{ - set_project_fk_id(resp.data.project) - set_project_fk_id_open(true) - }) - } - } - const handle_project_fk_id_column_open = ()=>{ - if (project_fk_id_column_open) { - set_project_fk_id_column_open(false) - }else { - postProjectGetProjectNames({ids: projectFkIdIds}).then((resp)=>{ - let a: any = {} - resp.data.list.forEach((v: any)=>{ - if (v.id) { - a[v.id] = v.name - } - }) - setProjectFkIdMap(a) - }) - set_project_fk_id_column_open(true) - } - } - - const handleUpdateModal = ()=>{ - if (updateModalOpen) { - setUpdateModalOpen(false) - setCurrentRow(undefined) - } else { - setUpdateModalOpen(true) - } - } - const handleCreateModal = ()=>{ - if (createModalOpen) { - setCreateModalOpen(false) - setCurrentRow(undefined) - } else { - setCreateModalOpen(true) - } - } - const handleColumnDrawer = ()=>{ - if (showDetail) { - setShowDetail(false) - setCurrentRow(undefined) - } else { - setShowDetail(true) - } - } - const handleDestroy = async (selectedRow: API.BusinessImage) => { - deleteBusinessImageDeleteBusinessImage({id: selectedRow.id}).then(()=>{ - message.success(intl.formatMessage({id: 'common.success', defaultMessage: '$$$'})) - actionRef.current?.reload() - }).catch(()=>{ - message.error(intl.formatMessage({id: 'common.failure', defaultMessage: '$$$'})) - }) - }; - -const columns: ProColumns[] = [ + /** + * @en-US Pop-up window of new window + * @zh-CN 新建窗口的弹窗 + * */ + const [createModalOpen, setCreateModalOpen] = useState(false); + /** + * @en-US The pop-up window of the distribution update window + * @zh-CN 分布更新窗口的弹窗 + * */ + const [updateModalOpen, setUpdateModalOpen] = useState(false); + const [showDetail, setShowDetail] = useState(false); + /** + * @en-US International configuration + * @zh-CN 国际化配置 + * */ + const access = useAccess(); + const intl = useIntl(); + const actionRef = useRef(); + const [currentRow, setCurrentRow] = useState(); + const [selectedRowsState, setSelectedRows] = useState([]); + const [project_fk_id_open, set_project_fk_id_open] = useState(false); + const [project_fk_id, set_project_fk_id] = useState(); + const [project_fk_id_column_open, set_project_fk_id_column_open] = useState(false); + const [projectFkIdIds, setProjectFkIdIds] = useState([]); + const [projectFkIdMap, setProjectFkIdMap] = useState<{ [key: number]: string }>({}); + const handle_project_fk_id = (id: any) => { + if (project_fk_id_open) { + set_project_fk_id(undefined); + set_project_fk_id_open(false); + } else { + postProjectGetProjectById({ id: id }).then((resp) => { + set_project_fk_id(resp.data.project); + set_project_fk_id_open(true); + }); + } + }; + const handle_project_fk_id_column_open = () => { + if (project_fk_id_column_open) { + set_project_fk_id_column_open(false); + } else { + postProjectGetProjectNames({ ids: projectFkIdIds }).then((resp) => { + let a: any = {}; + resp.data.list.forEach((v: any) => { + if (v.id) { + a[v.id] = v.name; + } + }); + setProjectFkIdMap(a); + }); + set_project_fk_id_column_open(true); + } + }; + const handleUpdateModal = () => { + if (updateModalOpen) { + setUpdateModalOpen(false); + setCurrentRow(undefined); + } else { + setUpdateModalOpen(true); + } + }; + const handleCreateModal = () => { + if (createModalOpen) { + setCreateModalOpen(false); + setCurrentRow(undefined); + } else { + setCreateModalOpen(true); + } + }; + const handleColumnDrawer = () => { + if (showDetail) { + setShowDetail(false); + setCurrentRow(undefined); + } else { + setShowDetail(true); + } + }; + const handleDestroy = async (selectedRow: API.BusinessImage) => { + deleteBusinessImageDeleteBusinessImage({ id: selectedRow.id }) + .then(() => { + message.success(intl.formatMessage({ id: 'common.success', defaultMessage: '$$$' })); + actionRef.current?.reload(); + }) + .catch(() => { + message.error(intl.formatMessage({ id: 'common.failure', defaultMessage: '$$$' })); + }); + }; + + const columns: ProColumns[] = [ { - title: (), - dataIndex: "id", + title: , + dataIndex: 'id', sorter: true, render: (dom, entity) => { return ( @@ -126,266 +128,294 @@ const columns: ProColumns[] = [ }, { - title: (), - dataIndex: "name", - hideInSearch: true, + title: , + dataIndex: 'name', + hideInSearch: true, }, - { - title: (), - dataIndex: "version", - hideInSearch: true, + title: ( + + ), + dataIndex: 'version', + hideInSearch: true, }, - { - title: (), - dataIndex: "projectFkId", - hideInSearch: false, - render: (text, record) => { - if (project_fk_id_column_open) { - return ( {handle_project_fk_id(record.projectFkId)}}>{record?.projectFkId ? projectFkIdMap[record.projectFkId] : undefined}) - } else { - return ({handle_project_fk_id(record.projectFkId)}}>{record.projectFkId}) - } - }, - renderFormItem: () => { - return ( - // value 和 onchange 会通过 form 自动注入。 - { - const resp = await postProjectGetProjectFkSelect({keyword: keyWord?.keyWords || ''}) - return resp.data.list.map((v: any)=>{ - return { - label: v.name, - value: v.id - } - }) - }} - /> - ); + title: ( + + ), + dataIndex: 'projectFkId', + hideInSearch: false, + render: (text, record) => { + if (project_fk_id_column_open) { + return ( + { + handle_project_fk_id(record.projectFkId); + }} + > + {record?.projectFkId ? projectFkIdMap[record.projectFkId] : undefined} + + ); + } else { + return ( + { + handle_project_fk_id(record.projectFkId); + }} + > + {record.projectFkId} + + ); + } + }, + renderFormItem: () => { + return ( + // value 和 onchange 会通过 form 自动注入。 + { + const resp = await postProjectGetProjectFkSelect({ + keyword: keyWord?.keyWords || '', + }); + return resp.data.list.map((v: any) => { + return { + label: v.name, + value: v.id, + }; + }); + }} + /> + ); }, }, - { - title: (), - dataIndex: "path", - hideInSearch: true, + title: , + dataIndex: 'path', + hideInSearch: true, }, - { - title: (), - dataIndex: "startCode", - hideInSearch: true, + title: ( + + ), + dataIndex: 'startCode', + hideInSearch: true, }, - { - title: (), - dataIndex: "config", - hideInSearch: true, - hideInTable: true, - hideInDescriptions: true, + title: ( + + ), + dataIndex: 'config', + hideInSearch: true, + hideInTable: true, + hideInDescriptions: true, }, - { - title: (), - dataIndex: "configHash", - hideInSearch: true, + title: ( + + ), + dataIndex: 'configHash', + hideInSearch: true, }, - { - title: (), - dataIndex: "remark", - hideInSearch: true, + title: ( + + ), + dataIndex: 'remark', + hideInSearch: true, }, - { - title: (), - dataIndex: "createTime", - sorter: true, - hideInSearch: true, - valueType: 'dateTime', + title: ( + + ), + dataIndex: 'createTime', + sorter: true, + hideInSearch: true, + valueType: 'dateTime', }, - { - title: (), - dataIndex: "updateTime", - sorter: true, - hideInSearch: true, - valueType: 'dateTime', + title: ( + + ), + dataIndex: 'updateTime', + sorter: true, + hideInSearch: true, + valueType: 'dateTime', }, - - { - title: , - dataIndex: 'option', - valueType: 'option', - fixed:'right', - render: (_, record) => [ - - { - setUpdateModalOpen(true); - setCurrentRow(record); - }} - > - - - { - handleDestroy(record).then(()=>{}) - }}> - - - - ], - },]; -return ( - - - headerTitle={intl.formatMessage({ - id: 'pages.searchTable.title', + { + title: , + dataIndex: 'option', + valueType: 'option', + fixed: 'right', + render: (_, record) => [ + + + { - - let ProjectFkIdIds: any = data.map((v)=>{ - return v.projectFkId - }) - setProjectFkIdIds(ProjectFkIdIds) - - - }} - pagination={{ - showSizeChanger: true, - pageSize: 10, + okText={intl.formatMessage({ id: 'common.yes', defaultMessage: '$$$' })} + cancelText={intl.formatMessage({ id: 'common.no', defaultMessage: '$$$' })} + onConfirm={() => { + handleDestroy(record).then(() => {}); }} - columnsState={{ - persistenceKey: 'business_image_list', - persistenceType: 'localStorage' - }} - toolBarRender={() => [ - - - + + , + ], + }, + ]; + return ( + + + headerTitle={intl.formatMessage({ + id: 'pages.searchTable.title', + defaultMessage: '$$$', + })} + options={{ fullScreen: true, setting: true, density: true, reload: true }} + actionRef={actionRef} + rowKey="key" + scroll={{ + x: 1300, + }} + search={{ + labelWidth: 120, + }} + onDataSourceChange={(data) => { + let ProjectFkIdIds: any = data.map((v) => { + return v.projectFkId; + }); + setProjectFkIdIds(ProjectFkIdIds); + }} + pagination={{ + showSizeChanger: true, + pageSize: 10, + }} + columnsState={{ + persistenceKey: 'business_image_list', + persistenceType: 'localStorage', + }} + toolBarRender={() => [ + + + defaultMessage="$$$" + /> + - - - ]} - request={async (params = {}, sort) => { - const {current, ...rest} = params + + , + ]} + request={async (params = {}, sort) => { + const { current, ...rest } = params; const reqParams = { page: current, desc: false, - orderKey: "", + orderKey: '', ...rest, - } + }; if (sort && Object.keys(sort).length) { - reqParams.orderKey = Object.keys(sort)[0] - let sort_select = sort[reqParams.orderKey] + reqParams.orderKey = Object.keys(sort)[0]; + let sort_select = sort[reqParams.orderKey]; reqParams.desc = sort_select === 'descend'; } - let resp = await postBusinessImageGetBusinessImageList({...reqParams}) + let resp = await postBusinessImageGetBusinessImageList({ ...reqParams }); return { - data: resp.data.list.map((v: API.BusinessImage)=>{ - return {...v, key: v.id} + data: resp.data.list.map((v: API.BusinessImage) => { + return { ...v, key: v.id }; }), success: resp.success, total: resp.data.total, current: resp.data.page, - pageSize: resp.data.pageSize + pageSize: resp.data.pageSize, }; - - }} - columns={columns} - rowSelection={{ - onChange: (_, selectedRows) => { - setSelectedRows(selectedRows); - }, - }} - /> - {selectedRowsState?.length > 0 && ( - - {' '} - {selectedRowsState.length}{' '} - - - } - > - - - )} - - + + )} + + - - + - - - ); + + ); }; - export default BusinessImageList; +export default BusinessImageList; diff --git a/src/pages/Resource/ModelCategoryList/index.tsx b/src/pages/Resource/ModelCategoryList/index.tsx index 87c1fa3..dd35d18 100644 --- a/src/pages/Resource/ModelCategoryList/index.tsx +++ b/src/pages/Resource/ModelCategoryList/index.tsx @@ -1,80 +1,78 @@ -import {deleteModelCategoryDeleteModelCategory, postModelCategoryGetModelCategoryList, deleteModelCategoryDeleteModelCategoryByIds} from '@/services/resource/ModelCategory'; +import { + deleteModelCategoryDeleteModelCategory, + deleteModelCategoryDeleteModelCategoryByIds, + postModelCategoryGetModelCategoryList, +} from '@/services/resource/ModelCategory'; import { PlusOutlined } from '@ant-design/icons'; import type { ActionType, ProColumns } from '@ant-design/pro-components'; -import { - FooterToolbar, - PageContainer, - ProTable, - ProFormSelect, -} from '@ant-design/pro-components'; -import { FormattedMessage, useIntl, useAccess, Access, history } from '@umijs/max'; -import {Button, message} from 'antd'; +import { FooterToolbar, PageContainer, ProTable } from '@ant-design/pro-components'; +import { Access, FormattedMessage, history, useAccess, useIntl } from '@umijs/max'; +import { Button, Popconfirm, message } from 'antd'; import React, { useRef, useState } from 'react'; +import { ColumnDrawer } from './components/ColumnDrawer'; +import CreateForm from './components/CreateForm'; import UpdateForm from './components/UpdateForm'; -import CreateForm from "./components/CreateForm"; -import {ColumnDrawer} from "./components/ColumnDrawer"; const ModelCategoryList: React.FC = () => { - /** - * @en-US Pop-up window of new window - * @zh-CN 新建窗口的弹窗 - * */ - const [createModalOpen, setCreateModalOpen] = useState(false); - /** - * @en-US The pop-up window of the distribution update window - * @zh-CN 分布更新窗口的弹窗 - * */ - const [updateModalOpen, setUpdateModalOpen] = useState(false); - const [showDetail, setShowDetail] = useState(false); - /** - * @en-US International configuration - * @zh-CN 国际化配置 - * */ - const access = useAccess(); - const intl = useIntl(); - const actionRef = useRef(); - const [currentRow, setCurrentRow] = useState(); - const [selectedRowsState, setSelectedRows] = useState([]); - - const handleUpdateModal = ()=>{ - if (updateModalOpen) { - setUpdateModalOpen(false) - setCurrentRow(undefined) - } else { - setUpdateModalOpen(true) - } - } - const handleCreateModal = ()=>{ - if (createModalOpen) { - setCreateModalOpen(false) - setCurrentRow(undefined) - } else { - setCreateModalOpen(true) - } - } - const handleColumnDrawer = ()=>{ - if (showDetail) { - setShowDetail(false) - setCurrentRow(undefined) - } else { - setShowDetail(true) - } - } - const handleDestroy = async (selectedRow: API.ModelCategory) => { - deleteModelCategoryDeleteModelCategory({id: selectedRow.id}).then(()=>{ - message.success(intl.formatMessage({id: 'common.success', defaultMessage: '$$$'})) - actionRef.current?.reload() - }).catch(()=>{ - message.error(intl.formatMessage({id: 'common.failure', defaultMessage: '$$$'})) - }) - }; - -const columns: ProColumns[] = [ + /** + * @en-US Pop-up window of new window + * @zh-CN 新建窗口的弹窗 + * */ + const [createModalOpen, setCreateModalOpen] = useState(false); + /** + * @en-US The pop-up window of the distribution update window + * @zh-CN 分布更新窗口的弹窗 + * */ + const [updateModalOpen, setUpdateModalOpen] = useState(false); + const [showDetail, setShowDetail] = useState(false); + /** + * @en-US International configuration + * @zh-CN 国际化配置 + * */ + const access = useAccess(); + const intl = useIntl(); + const actionRef = useRef(); + const [currentRow, setCurrentRow] = useState(); + const [selectedRowsState, setSelectedRows] = useState([]); + + const handleUpdateModal = () => { + if (updateModalOpen) { + setUpdateModalOpen(false); + setCurrentRow(undefined); + } else { + setUpdateModalOpen(true); + } + }; + const handleCreateModal = () => { + if (createModalOpen) { + setCreateModalOpen(false); + setCurrentRow(undefined); + } else { + setCreateModalOpen(true); + } + }; + const handleColumnDrawer = () => { + if (showDetail) { + setShowDetail(false); + setCurrentRow(undefined); + } else { + setShowDetail(true); + } + }; + const handleDestroy = async (selectedRow: API.ModelCategory) => { + deleteModelCategoryDeleteModelCategory({ id: selectedRow.id }) + .then(() => { + message.success(intl.formatMessage({ id: 'common.success', defaultMessage: '$$$' })); + actionRef.current?.reload(); + }) + .catch(() => { + message.error(intl.formatMessage({ id: 'common.failure', defaultMessage: '$$$' })); + }); + }; + const columns: ProColumns[] = [ { - title: (), - dataIndex: "id", + title: , + dataIndex: 'id', sorter: true, render: (dom, entity) => { return ( @@ -91,168 +89,175 @@ const columns: ProColumns[] = [ }, { - title: (), - dataIndex: "name", - hideInSearch: true, + title: , + dataIndex: 'name', + hideInSearch: true, }, - { - title: (), - dataIndex: "code", - hideInSearch: true, + title: , + dataIndex: 'code', + hideInSearch: true, }, - { - title: (), - dataIndex: "remark", - hideInSearch: true, + title: ( + + ), + dataIndex: 'remark', + hideInSearch: true, }, - { - title: (), - dataIndex: "createTime", - sorter: true, - hideInSearch: true, - valueType: 'dateTime', + title: ( + + ), + dataIndex: 'createTime', + sorter: true, + hideInSearch: true, + valueType: 'dateTime', }, - { - title: (), - dataIndex: "updateTime", - sorter: true, - hideInSearch: true, - valueType: 'dateTime', + title: ( + + ), + dataIndex: 'updateTime', + sorter: true, + hideInSearch: true, + valueType: 'dateTime', }, - - { - title: , - dataIndex: 'option', - valueType: 'option', - fixed:'right', - render: (_, record) => [ - - { - setUpdateModalOpen(true); - setCurrentRow(record); - }} - > - - - { - handleDestroy(record).then(()=>{}) - }}> - - - - ], - },]; -return ( - - - headerTitle={intl.formatMessage({ - id: 'pages.searchTable.title', + { + title: , + dataIndex: 'option', + valueType: 'option', + fixed: 'right', + render: (_, record) => [ + + + { - - }} - pagination={{ - showSizeChanger: true, - pageSize: 10, + okText={intl.formatMessage({ id: 'common.yes', defaultMessage: '$$$' })} + cancelText={intl.formatMessage({ id: 'common.no', defaultMessage: '$$$' })} + onConfirm={() => { + handleDestroy(record).then(() => {}); }} - columnsState={{ - persistenceKey: 'model_category_list', - persistenceType: 'localStorage' - }} - toolBarRender={() => [ - - - - - ]} - request={async (params = {}, sort) => { - const {current, ...rest} = params + > + + + , + ], + }, + ]; + return ( + + + headerTitle={intl.formatMessage({ + id: 'pages.searchTable.title', + defaultMessage: '$$$', + })} + options={{ fullScreen: true, setting: true, density: true, reload: true }} + actionRef={actionRef} + rowKey="key" + search={{ + labelWidth: 120, + }} + onDataSourceChange={(data) => {}} + pagination={{ + showSizeChanger: true, + pageSize: 10, + }} + columnsState={{ + persistenceKey: 'model_category_list', + persistenceType: 'localStorage', + }} + toolBarRender={() => [ + + + , + ]} + request={async (params = {}, sort) => { + const { current, ...rest } = params; const reqParams = { page: current, desc: false, - orderKey: "", + orderKey: '', ...rest, - } + }; if (sort && Object.keys(sort).length) { - reqParams.orderKey = Object.keys(sort)[0] - let sort_select = sort[reqParams.orderKey] + reqParams.orderKey = Object.keys(sort)[0]; + let sort_select = sort[reqParams.orderKey]; reqParams.desc = sort_select === 'descend'; } - let resp = await postModelCategoryGetModelCategoryList({...reqParams}) + let resp = await postModelCategoryGetModelCategoryList({ ...reqParams }); return { - data: resp.data.list.map((v: API.ModelCategory)=>{ - return {...v, key: v.id} + data: resp.data.list.map((v: API.ModelCategory) => { + return { ...v, key: v.id }; }), success: resp.success, total: resp.data.total, current: resp.data.page, - pageSize: resp.data.pageSize + pageSize: resp.data.pageSize, }; - - }} - columns={columns} - rowSelection={{ - onChange: (_, selectedRows) => { - setSelectedRows(selectedRows); - }, - }} - /> - {selectedRowsState?.length > 0 && ( - - {' '} - {selectedRowsState.length}{' '} - - - } - > - - - )} - - + + )} + + - - - - ); + + + ); }; - export default ModelCategoryList; +export default ModelCategoryList; diff --git a/src/pages/Resource/ModelImageList/index.tsx b/src/pages/Resource/ModelImageList/index.tsx index 1504064..4df884c 100644 --- a/src/pages/Resource/ModelImageList/index.tsx +++ b/src/pages/Resource/ModelImageList/index.tsx @@ -1,115 +1,118 @@ -import {ModelVersionColumns} from '@/pages/Resource/ModelVersionList/components/Columns'; -import {postModelVersionGetModelVersionById, postModelVersionGetModelVersionFkSelect, postModelVersionGetModelVersionNames} from '@/services/resource/ModelVersion'; -import {ColumnDrawer as ModelVersionColumnDrawer} from "@/pages/Resource/ModelVersionList/components/ColumnDrawer"; -import {deleteModelImageDeleteModelImage, postModelImageGetModelImageList, deleteModelImageDeleteModelImageByIds} from '@/services/resource/ModelImage'; +import { ColumnDrawer as ModelVersionColumnDrawer } from '@/pages/Resource/ModelVersionList/components/ColumnDrawer'; +import { ModelVersionColumns } from '@/pages/Resource/ModelVersionList/components/Columns'; +import { + deleteModelImageDeleteModelImage, + deleteModelImageDeleteModelImageByIds, + postModelImageGetModelImageList, +} from '@/services/resource/ModelImage'; +import { + postModelVersionGetModelVersionById, + postModelVersionGetModelVersionFkSelect, + postModelVersionGetModelVersionNames, +} from '@/services/resource/ModelVersion'; import { PlusOutlined } from '@ant-design/icons'; import type { ActionType, ProColumns } from '@ant-design/pro-components'; -import { - FooterToolbar, - PageContainer, - ProTable, - ProFormSelect, -} from '@ant-design/pro-components'; -import { FormattedMessage, useIntl, useAccess, Access, history } from '@umijs/max'; -import {Button, message} from 'antd'; +import { FooterToolbar, PageContainer, ProFormSelect, ProTable } from '@ant-design/pro-components'; +import { Access, FormattedMessage, history, useAccess, useIntl } from '@umijs/max'; +import { Button, Popconfirm, message } from 'antd'; import React, { useRef, useState } from 'react'; +import { ColumnDrawer } from './components/ColumnDrawer'; +import CreateForm from './components/CreateForm'; import UpdateForm from './components/UpdateForm'; -import CreateForm from "./components/CreateForm"; -import {ColumnDrawer} from "./components/ColumnDrawer"; + const ModelImageList: React.FC = () => { - /** - * @en-US Pop-up window of new window - * @zh-CN 新建窗口的弹窗 - * */ - const [createModalOpen, setCreateModalOpen] = useState(false); - /** - * @en-US The pop-up window of the distribution update window - * @zh-CN 分布更新窗口的弹窗 - * */ - const [updateModalOpen, setUpdateModalOpen] = useState(false); - const [showDetail, setShowDetail] = useState(false); - /** - * @en-US International configuration - * @zh-CN 国际化配置 - * */ - const access = useAccess(); - const intl = useIntl(); - const actionRef = useRef(); - const [currentRow, setCurrentRow] = useState(); - const [selectedRowsState, setSelectedRows] = useState([]); - const [model_version_fk_id_open, set_model_version_fk_id_open] = useState(false) - const [model_version_fk_id, set_model_version_fk_id] = useState() - const [model_version_fk_id_column_open, set_model_version_fk_id_column_open] = useState(false) - const [modelVersionFkIdIds, setModelVersionFkIdIds] = useState([]) - const [modelVersionFkIdMap, setModelVersionFkIdMap] = useState<{ [key: number]: string }>({}) - const handle_model_version_fk_id = (id: any)=>{ - if (model_version_fk_id_open) { - set_model_version_fk_id(undefined); - set_model_version_fk_id_open(false) - }else { - postModelVersionGetModelVersionById({id: id}).then((resp)=>{ - set_model_version_fk_id(resp.data.modelVersion) - set_model_version_fk_id_open(true) - }) - } - } - const handle_model_version_fk_id_column_open = ()=>{ - if (model_version_fk_id_column_open) { - set_model_version_fk_id_column_open(false) - }else { - postModelVersionGetModelVersionNames({ids: modelVersionFkIdIds}).then((resp)=>{ - let a: any = {} - resp.data.list.forEach((v: any)=>{ - if (v.id) { - a[v.id] = v.name - } - }) - setModelVersionFkIdMap(a) - }) - set_model_version_fk_id_column_open(true) - } - } - - const handleUpdateModal = ()=>{ - if (updateModalOpen) { - setUpdateModalOpen(false) - setCurrentRow(undefined) - } else { - setUpdateModalOpen(true) - } - } - const handleCreateModal = ()=>{ - if (createModalOpen) { - setCreateModalOpen(false) - setCurrentRow(undefined) - } else { - setCreateModalOpen(true) - } - } - const handleColumnDrawer = ()=>{ - if (showDetail) { - setShowDetail(false) - setCurrentRow(undefined) - } else { - setShowDetail(true) - } - } - const handleDestroy = async (selectedRow: API.ModelImage) => { - deleteModelImageDeleteModelImage({id: selectedRow.id}).then(()=>{ - message.success(intl.formatMessage({id: 'common.success', defaultMessage: '$$$'})) - actionRef.current?.reload() - }).catch(()=>{ - message.error(intl.formatMessage({id: 'common.failure', defaultMessage: '$$$'})) - }) - }; - -const columns: ProColumns[] = [ + /** + * @en-US Pop-up window of new window + * @zh-CN 新建窗口的弹窗 + * */ + const [createModalOpen, setCreateModalOpen] = useState(false); + /** + * @en-US The pop-up window of the distribution update window + * @zh-CN 分布更新窗口的弹窗 + * */ + const [updateModalOpen, setUpdateModalOpen] = useState(false); + const [showDetail, setShowDetail] = useState(false); + /** + * @en-US International configuration + * @zh-CN 国际化配置 + * */ + const access = useAccess(); + const intl = useIntl(); + const actionRef = useRef(); + const [currentRow, setCurrentRow] = useState(); + const [selectedRowsState, setSelectedRows] = useState([]); + const [model_version_fk_id_open, set_model_version_fk_id_open] = useState(false); + const [model_version_fk_id, set_model_version_fk_id] = useState(); + const [model_version_fk_id_column_open, set_model_version_fk_id_column_open] = useState(false); + const [modelVersionFkIdIds, setModelVersionFkIdIds] = useState([]); + const [modelVersionFkIdMap, setModelVersionFkIdMap] = useState<{ [key: number]: string }>({}); + const handle_model_version_fk_id = (id: any) => { + if (model_version_fk_id_open) { + set_model_version_fk_id(undefined); + set_model_version_fk_id_open(false); + } else { + postModelVersionGetModelVersionById({ id: id }).then((resp) => { + set_model_version_fk_id(resp.data.modelVersion); + set_model_version_fk_id_open(true); + }); + } + }; + const handle_model_version_fk_id_column_open = () => { + if (model_version_fk_id_column_open) { + set_model_version_fk_id_column_open(false); + } else { + postModelVersionGetModelVersionNames({ ids: modelVersionFkIdIds }).then((resp) => { + let a: any = {}; + resp.data.list.forEach((v: any) => { + if (v.id) { + a[v.id] = v.name; + } + }); + setModelVersionFkIdMap(a); + }); + set_model_version_fk_id_column_open(true); + } + }; + const handleUpdateModal = () => { + if (updateModalOpen) { + setUpdateModalOpen(false); + setCurrentRow(undefined); + } else { + setUpdateModalOpen(true); + } + }; + const handleCreateModal = () => { + if (createModalOpen) { + setCreateModalOpen(false); + setCurrentRow(undefined); + } else { + setCreateModalOpen(true); + } + }; + const handleColumnDrawer = () => { + if (showDetail) { + setShowDetail(false); + setCurrentRow(undefined); + } else { + setShowDetail(true); + } + }; + const handleDestroy = async (selectedRow: API.ModelImage) => { + deleteModelImageDeleteModelImage({ id: selectedRow.id }) + .then(() => { + message.success(intl.formatMessage({ id: 'common.success', defaultMessage: '$$$' })); + actionRef.current?.reload(); + }) + .catch(() => { + message.error(intl.formatMessage({ id: 'common.failure', defaultMessage: '$$$' })); + }); + }; + + const columns: ProColumns[] = [ { - title: (), - dataIndex: "id", + title: , + dataIndex: 'id', sorter: true, render: (dom, entity) => { return ( @@ -126,237 +129,266 @@ const columns: ProColumns[] = [ }, { - title: (), - dataIndex: "name", - hideInSearch: true, + title: , + dataIndex: 'name', + hideInSearch: true, }, - { - title: (), - dataIndex: "modelVersionFkId", - hideInSearch: false, - render: (text, record) => { - if (model_version_fk_id_column_open) { - return ( {handle_model_version_fk_id(record.modelVersionFkId)}}>{record?.modelVersionFkId ? modelVersionFkIdMap[record.modelVersionFkId] : undefined}) - } else { - return ({handle_model_version_fk_id(record.modelVersionFkId)}}>{record.modelVersionFkId}) - } - }, - renderFormItem: () => { - return ( - // value 和 onchange 会通过 form 自动注入。 - { - const resp = await postModelVersionGetModelVersionFkSelect({keyword: keyWord?.keyWords || ''}) - return resp.data.list.map((v: any)=>{ - return { - label: v.name, - value: v.id - } - }) - }} - /> - ); + title: ( + + ), + dataIndex: 'modelVersionFkId', + hideInSearch: false, + render: (text, record) => { + if (model_version_fk_id_column_open) { + return ( + { + handle_model_version_fk_id(record.modelVersionFkId); + }} + > + {record?.modelVersionFkId ? modelVersionFkIdMap[record.modelVersionFkId] : undefined} + + ); + } else { + return ( + { + handle_model_version_fk_id(record.modelVersionFkId); + }} + > + {record.modelVersionFkId} + + ); + } + }, + renderFormItem: () => { + return ( + // value 和 onchange 会通过 form 自动注入。 + { + const resp = await postModelVersionGetModelVersionFkSelect({ + keyword: keyWord?.keyWords || '', + }); + return resp.data.list.map((v: any) => { + return { + label: v.name, + value: v.id, + }; + }); + }} + /> + ); }, }, - { - title: (), - dataIndex: "path", - hideInSearch: true, + title: , + dataIndex: 'path', + hideInSearch: true, }, - { - title: (), - dataIndex: "startCode", - hideInSearch: true, + title: ( + + ), + dataIndex: 'startCode', + hideInSearch: true, }, - { - title: (), - dataIndex: "remark", - hideInSearch: true, + title: , + dataIndex: 'remark', + hideInSearch: true, }, - { - title: (), - dataIndex: "createTime", - sorter: true, - hideInSearch: true, - valueType: 'dateTime', + title: ( + + ), + dataIndex: 'createTime', + sorter: true, + hideInSearch: true, + valueType: 'dateTime', }, - { - title: (), - dataIndex: "updateTime", - sorter: true, - hideInSearch: true, - valueType: 'dateTime', + title: ( + + ), + dataIndex: 'updateTime', + sorter: true, + hideInSearch: true, + valueType: 'dateTime', }, - - { - title: , - dataIndex: 'option', - valueType: 'option', - fixed:'right', - render: (_, record) => [ - - { - setUpdateModalOpen(true); - setCurrentRow(record); - }} - > - - - { - handleDestroy(record).then(()=>{}) - }}> - - - - ], - },]; -return ( - - - headerTitle={intl.formatMessage({ - id: 'pages.searchTable.title', + { + title: , + dataIndex: 'option', + valueType: 'option', + fixed: 'right', + render: (_, record) => [ + + + { - - let ModelVersionFkIdIds: any = data.map((v)=>{ - return v.modelVersionFkId - }) - setModelVersionFkIdIds(ModelVersionFkIdIds) - - - }} - pagination={{ - showSizeChanger: true, - pageSize: 10, + okText={intl.formatMessage({ id: 'common.yes', defaultMessage: '$$$' })} + cancelText={intl.formatMessage({ id: 'common.no', defaultMessage: '$$$' })} + onConfirm={() => { + handleDestroy(record).then(() => {}); }} - columnsState={{ - persistenceKey: 'model_image_list', - persistenceType: 'localStorage' - }} - toolBarRender={() => [ - - - + + , + ], + }, + ]; + return ( + + + headerTitle={intl.formatMessage({ + id: 'pages.searchTable.title', + defaultMessage: '$$$', + })} + options={{ fullScreen: true, setting: true, density: true, reload: true }} + actionRef={actionRef} + rowKey="key" + scroll={{ + x: 1300, + }} + search={{ + labelWidth: 120, + }} + onDataSourceChange={(data) => { + let ModelVersionFkIdIds: any = data.map((v) => { + return v.modelVersionFkId; + }); + setModelVersionFkIdIds(ModelVersionFkIdIds); + }} + pagination={{ + showSizeChanger: true, + pageSize: 10, + }} + columnsState={{ + persistenceKey: 'model_image_list', + persistenceType: 'localStorage', + }} + toolBarRender={() => [ + + + defaultMessage="$$$" + /> + - - - ]} - request={async (params = {}, sort) => { - const {current, ...rest} = params + + , + ]} + request={async (params = {}, sort) => { + const { current, ...rest } = params; const reqParams = { page: current, desc: false, - orderKey: "", + orderKey: '', ...rest, - } + }; if (sort && Object.keys(sort).length) { - reqParams.orderKey = Object.keys(sort)[0] - let sort_select = sort[reqParams.orderKey] + reqParams.orderKey = Object.keys(sort)[0]; + let sort_select = sort[reqParams.orderKey]; reqParams.desc = sort_select === 'descend'; } - let resp = await postModelImageGetModelImageList({...reqParams}) + let resp = await postModelImageGetModelImageList({ ...reqParams }); return { - data: resp.data.list.map((v: API.ModelImage)=>{ - return {...v, key: v.id} + data: resp.data.list.map((v: API.ModelImage) => { + return { ...v, key: v.id }; }), success: resp.success, total: resp.data.total, current: resp.data.page, - pageSize: resp.data.pageSize + pageSize: resp.data.pageSize, }; - - }} - columns={columns} - rowSelection={{ - onChange: (_, selectedRows) => { - setSelectedRows(selectedRows); - }, - }} - /> - {selectedRowsState?.length > 0 && ( - - {' '} - {selectedRowsState.length}{' '} - - - } - > - - - )} - - + + )} + + - - + - - - ); + + ); }; - export default ModelImageList; +export default ModelImageList; diff --git a/src/pages/Resource/ModelVersionList/index.tsx b/src/pages/Resource/ModelVersionList/index.tsx index 943beaa..f95e566 100644 --- a/src/pages/Resource/ModelVersionList/index.tsx +++ b/src/pages/Resource/ModelVersionList/index.tsx @@ -166,6 +166,8 @@ const ModelVersionList: React.FC = () => { title: , dataIndex: 'id', sorter: true, + width: 100, + fixed: 'left', render: (dom, entity) => { return ( { > , - , // eslint-disable-next-line react/jsx-key {}} - onCancel={() => {}} - okText="Yes" - cancelText="No" - > - - , - // eslint-disable-next-line react/jsx-key - { putAlgorithmModelUpdateAlgorithmModel({ @@ -391,9 +361,43 @@ const ModelVersionList: React.FC = () => { cancelText={intl.formatMessage({ id: 'common.no', defaultMessage: '$$$' })} > , + // eslint-disable-next-line react/jsx-key + {}} + onCancel={() => {}} + okText="Yes" + cancelText="No" + > + + , + , + // eslint-disable-next-line react/jsx-key ]} > @@ -470,9 +474,11 @@ const ModelVersionList: React.FC = () => { id: 'pages.searchTable.title', defaultMessage: '$$$', })} + fixedHeader={true} options={{ fullScreen: true, setting: true, density: true, reload: true }} actionRef={actionRef} rowKey="key" + scroll={{ x: 1300 }} search={{ labelWidth: 120, }} diff --git a/src/pages/Setting/AlgorithmSetting.tsx b/src/pages/Setting/AlgorithmSetting.tsx index 36e7811..cd900a6 100644 --- a/src/pages/Setting/AlgorithmSetting.tsx +++ b/src/pages/Setting/AlgorithmSetting.tsx @@ -170,7 +170,7 @@ const AlgorithmSetting: React.FC = () => { // console.log('clickTreeNode', projectCardListRef.current) postGetProjectByGroupId({ id: record.id }).then((resp) => { let tab_data = (resp?.data?.list || []).map((v: any) => { - let model_data = ([...v?.models,...v?.models,...v?.models,...v?.models] || []).map((item: any) => ({ + let model_data = ([...v?.models] || []).map((item: any) => ({ title: ( <> @@ -185,7 +185,7 @@ const AlgorithmSetting: React.FC = () => { handleUpdateModal(); }} > - 绑定设备 + 连接 , ], content: , diff --git a/src/pages/Setting/components/ProjectCard.tsx b/src/pages/Setting/components/ProjectCard.tsx index ae7d8b2..34bfa79 100644 --- a/src/pages/Setting/components/ProjectCard.tsx +++ b/src/pages/Setting/components/ProjectCard.tsx @@ -2,7 +2,7 @@ * @Author: zhoux zhouxia@supervision.ltd * @Date: 2023-11-06 16:12:17 * @LastEditors: zhoux zhouxia@supervision.ltd - * @LastEditTime: 2023-11-07 14:32:41 + * @LastEditTime: 2023-11-08 15:42:49 * @FilePath: \general-ai-platform-web\src\pages\Setting\components\ProjectCardList.tsx * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ @@ -17,8 +17,30 @@ import { Tag } from 'antd'; // const [tab, setTab] = useState(''); // const [modelVersionData, setModelVersionData] = useState([]); +/**styles */ +const listItemStyle = { + display: 'flex', + fontSize: 14, + color: "#333333", + maxWidth: '22vh', + alignItems: 'center', + padding: '5px 0', +} + +const listItemLabelStyle = { + fontSize: 14, + color: "#666666", + minWidth: 70, + +} + +const listItemTextStyle = { + fontSize: 14, + margin: 0 +} // 卡片 + const ProjectCard: React.FC = ({ info }: { info: Record }) => { return (
}) => { paddingRight: 15 }} > -
- {info.name} - 经典算法 +
+ 苏胜天算法模型 + 经典算法
-
- 版本: - {info.remark} -
-
- 更新时间: - {dateFormat(info.updateTime)} -
+
    +
  • + 模型名称: +

    {info.name}很多文字很多文字很多文字很多文字很多文字很多文字

    +
  • +
  • + 版本号: +

    {info.remark || 'v0.01'}

    +
  • +
  • + 更新时间: +

    {dateFormat(info.updateTime)}

    +
  • + {/*
  • + 绑定设备: +

    --

    +
  • */} +
); };