diff --git a/src/components/EvaluateTemplateTable/EvaluateTemplateTable.tsx b/src/components/EvaluateTemplateTable/EvaluateTemplateTable.tsx index 3282641..a9364e0 100644 --- a/src/components/EvaluateTemplateTable/EvaluateTemplateTable.tsx +++ b/src/components/EvaluateTemplateTable/EvaluateTemplateTable.tsx @@ -340,7 +340,6 @@ const EvaluateTemplateTable: React.FC = ({ const updateDataSource = (newData: TableRowItem[]) => { // 确保每行都有唯一稳定的key const finalData = ensureUniqueKeys(newData); - console.log('finalData', finalData); setDataSource(finalData); if (onChange) { // 转换回API格式再传递给父组件 @@ -369,7 +368,6 @@ const EvaluateTemplateTable: React.FC = ({ // 处理输入变化 const handleInputChange = (val: any, record: TableRowItem, field: string) => { - console.log('handleInputChange', val, record, field); const newData = [...dataSource]; const index = newData.findIndex((item) => item.key === record.key); if (index > -1) { diff --git a/src/components/SupplierDetailModalContext/SupplierDetail.tsx b/src/components/SupplierDetailModalContext/SupplierDetail.tsx new file mode 100644 index 0000000..922f788 --- /dev/null +++ b/src/components/SupplierDetailModalContext/SupplierDetail.tsx @@ -0,0 +1,12 @@ +import React, { useState, useEffect } from 'react'; + +const SupplierDetail = ({ supplierId }: { supplierId: string | null }) => { + const [supplierDetail, setSupplierDetail] = useState(null); + + useEffect(() => { + console.log(supplierId); + }, [supplierId]); + return
SupplierDetail
; +}; + +export default SupplierDetail; diff --git a/src/components/SupplierDetailModalContext/SupplierDetailModalContext.tsx b/src/components/SupplierDetailModalContext/SupplierDetailModalContext.tsx new file mode 100644 index 0000000..1b902fe --- /dev/null +++ b/src/components/SupplierDetailModalContext/SupplierDetailModalContext.tsx @@ -0,0 +1,25 @@ +import React, { useState } from 'react'; +import { Modal } from 'antd'; +import SupplierDetail from './SupplierDetail'; + +const SupplierDetailModalContext = React.createContext<((id: string) => void) | null>(null); +export const useSupplierDetailModal = () => React.useContext(SupplierDetailModalContext); + +export const SupplierDetailModalProvider = ({ children }: { children: React.ReactNode }) => { + const [visible, setVisible] = useState(false); + const [supplierId, setSupplierId] = useState(null); + + const showSupplierDetail = (id: string) => { + setSupplierId(id); + setVisible(true); + }; + + return ( + + {children} + setVisible(false)} footer={null}> + + + + ); +}; diff --git a/src/components/SupplierDetailModalContext/readme.md b/src/components/SupplierDetailModalContext/readme.md new file mode 100644 index 0000000..eff0276 --- /dev/null +++ b/src/components/SupplierDetailModalContext/readme.md @@ -0,0 +1,3 @@ +// 任何页面/组件 +const showSupplierDetail = useSupplierDetailModal(); + showSupplierDetail(supplier.id)}>{supplier.name} diff --git a/src/components/SupplierSelector/SupplierSelector.tsx b/src/components/SupplierSelector/SupplierSelector.tsx index c81b366..3a79966 100644 --- a/src/components/SupplierSelector/SupplierSelector.tsx +++ b/src/components/SupplierSelector/SupplierSelector.tsx @@ -233,6 +233,11 @@ const SupplierSelector: React.FC = ({ })); }; + // 显示供应商详情 + const showSupplierDetail = (record: SupplierItem) => { + console.log(record); + }; + // 表格列定义 const columns = [ { @@ -240,9 +245,9 @@ const SupplierSelector: React.FC = ({ dataIndex: 'supplierName', width: 120, ellipsis: true, - render: (supplierName: string) => ( + render: (supplierName: string, record: SupplierItem) => ( - {supplierName} + showSupplierDetail(record)}>{supplierName} ), }, diff --git a/src/layouts/BasicLayout.tsx b/src/layouts/BasicLayout.tsx index ca2a136..c25799d 100644 --- a/src/layouts/BasicLayout.tsx +++ b/src/layouts/BasicLayout.tsx @@ -8,8 +8,8 @@ import routes from '../../config/router.config'; // 引入你的自定义路由 import { ConfigProvider, Breadcrumb } from 'antd'; import HeaderComponent from './Header'; import IconFont from '@/components/IconFont/IconFont'; -import { BreadcrumbState } from '@/models/breadcrumb'; - +import type { BreadcrumbState } from '@/models/breadcrumb'; +import { SupplierDetailModalProvider } from '@/components/SupplierDetailModalContext/SupplierDetailModalContext'; const MenuRender = (item: any, isSubMenu: boolean) => { const intl = useIntl(); @@ -35,10 +35,10 @@ const MenuRender = (item: any, isSubMenu: boolean) => { }; // 递归交集过滤函数 -function filterMenuByRouter(routes:any, menuRoutes:any) { - return routes.reduce((result:any, route:any) => { +function filterMenuByRouter(routes: any, menuRoutes: any) { + return routes.reduce((result: any, route: any) => { // 只看有 name 的节点 - const menu = menuRoutes.find(m => m.name === route.name); + const menu = menuRoutes.find((m) => m.name === route.name); if (menu) { // 匹配到后,递归处理 children let children = []; @@ -56,7 +56,12 @@ function filterMenuByRouter(routes:any, menuRoutes:any) { }, []); } -const BreadcrumbRender = (routeBreadcrumb: any, intl: any, history: any, dynamicBreadcrumbName: string | null) => { +const BreadcrumbRender = ( + routeBreadcrumb: any, + intl: any, + history: any, + dynamicBreadcrumbName: string | null, +) => { const breadcrumbRoutes = routeBreadcrumb?.routes; return ( @@ -65,22 +70,17 @@ const BreadcrumbRender = (routeBreadcrumb: any, intl: any, history: any, dynamic history.push('/'); }} > - - {intl.formatMessage({ id: 'menu.首页' })} - + {intl.formatMessage({ id: 'menu.首页' })} {breadcrumbRoutes?.map((item: any, index: number) => { // 判断是否是最后一个面包屑项且存在动态名称 - const isLastItem = index === (breadcrumbRoutes.length - 1); - const displayName = (isLastItem && dynamicBreadcrumbName) - ? dynamicBreadcrumbName - : intl.formatMessage({ id: `menu.${item.breadcrumbName}` || '' }); + const isLastItem = index === breadcrumbRoutes.length - 1; + const displayName = + isLastItem && dynamicBreadcrumbName + ? dynamicBreadcrumbName + : intl.formatMessage({ id: `menu.${item.breadcrumbName}` || '' }); - return ( - - {displayName} - - ); + return {displayName}; })} ); @@ -106,47 +106,47 @@ const BasicLayout: React.FC = (props) => { // routes是本地静态路由,menusFromApi是接口菜单 const finalMenus = filterMenuByRouter(routes, menusFromApi); console.log(finalMenus); - + setMenuRoutes(finalMenus); } }, []); - return ( - { - return MenuRender(menuItemProps, true); - }} - menuItemRender={(item, dom) => { - return MenuRender(item, false); - }} - location={location} - fixSiderbar - layout="mix" - headerRender={() => { - return ; - }} - > - - BreadcrumbRender(routeBreadcrumb, intl, history, breadcrumb.breadcrumbName), + + { + return MenuRender(menuItemProps, true); + }} + menuItemRender={(item, dom) => { + return MenuRender(item, false); + }} + location={location} + fixSiderbar + layout="mix" + headerRender={() => { + return ; }} > - {children} - - + + BreadcrumbRender(routeBreadcrumb, intl, history, breadcrumb.breadcrumbName), + }} + > + {children} + + + ); }; export default connect(({ breadcrumb }: { breadcrumb: BreadcrumbState }) => ({ - breadcrumb + breadcrumb, }))(BasicLayout); - diff --git a/src/models/supplierAnnualTaskManage.ts b/src/models/supplierAnnualTaskManage.ts index 5943ad2..86db832 100644 --- a/src/models/supplierAnnualTaskManage.ts +++ b/src/models/supplierAnnualTaskManage.ts @@ -203,7 +203,6 @@ const supplierAnnualTaskManage: SupplierTaskModelType = { } // 处理评价人员更新 - 更新后要保留原有对象中的indicatorIds - console.log(updatedFormData) // 保存更新后的表单数据 yield put({ type: 'saveTaskFormData', payload: updatedFormData }); diff --git a/src/models/supplierTaskManage.ts b/src/models/supplierTaskManage.ts index 3d70c47..5612a94 100644 --- a/src/models/supplierTaskManage.ts +++ b/src/models/supplierTaskManage.ts @@ -263,7 +263,6 @@ const SupplierTaskModel: SupplierTaskModelType = { if (payload.taskDeptWeightList) { updatedFormData.taskDeptWeightList = payload.taskDeptWeightList; } - console.log(updatedFormData) // 保存更新后的表单数据 yield put({ type: 'saveTaskFormData', payload: updatedFormData }); diff --git a/src/pages/supplierEvaluateManage/supplierTemplateManage/supplierTemplateManageAdd.tsx b/src/pages/supplierEvaluateManage/supplierTemplateManage/supplierTemplateManageAdd.tsx index 93a3b36..d8a7779 100644 --- a/src/pages/supplierEvaluateManage/supplierTemplateManage/supplierTemplateManageAdd.tsx +++ b/src/pages/supplierEvaluateManage/supplierTemplateManage/supplierTemplateManageAdd.tsx @@ -310,7 +310,6 @@ const SupplierTemplateManageAdd: React.FC = ({ breadcrumb, dispatch } // 处理指标数据变更 const handleTemplateDataChange = (data: SupplierTemplateManage.IndicatorSt[]) => { - console.log('handleTemplateDataChange', data); setTemplateData(data); };