From d929a8f0a4d41eb5d6ea13bf609da566caacf83e Mon Sep 17 00:00:00 2001 From: houjishuang <46269784@qq.com> Date: Wed, 4 Jun 2025 17:21:57 +0800 Subject: [PATCH] weituo --- .../components/EntrustedProject.tsx | 121 ++++++++++++++++++ src/pages/Agency/AgencyManager/index.tsx | 31 ++++- src/pages/Agency/AgencyManager/service.ts | 7 + 3 files changed, 157 insertions(+), 2 deletions(-) diff --git a/src/pages/Agency/AgencyManager/components/EntrustedProject.tsx b/src/pages/Agency/AgencyManager/components/EntrustedProject.tsx index e69de29..8ead57c 100644 --- a/src/pages/Agency/AgencyManager/components/EntrustedProject.tsx +++ b/src/pages/Agency/AgencyManager/components/EntrustedProject.tsx @@ -0,0 +1,121 @@ +import React, { useState, useRef } from 'react'; +import { message, Modal, Input, Form, PageHeader, Button, Spin, Select, Tree } from 'antd'; +import ProTable, { ProColumns, ActionType } from '@ant-design/pro-table'; +import { getEntrustedProjects } from '../service'; +// import './styles.less'; +import { getDicData } from '@/utils/session'; +import { proTableValueEnum } from '@/utils/CommonUtils'; + + +interface EntrustedProjectProps { + providerId?: string; + visible?: boolean; + onCancel?: () => void; +} + +const EntrustedProject: React.FC = ({providerId, visible = false, onCancel }) => { + //获取字典 + const getDict: any = getDicData(); + const [form] = Form.useForm(); + const [title, setTitle] = useState(''); + const [open, setOpen] = useState(false); + + const [checkedKeys, setCheckedKeys] = useState([]); + const [currentRoleId, setCurrentRoleId] = useState(null); + const dictData = JSON.parse(getDict); + const actionRef = useRef(); + const [spin, spinSet] = useState(false); + //查询分页数据 + const [pageData, pageDataSet] = useState({ + pageNo: 1, + pageSize: 10 + }); + const layout = { + labelCol: { span: 6 }, + wrapperCol: { span: 13 }, + }; + interface DictType { + value: string; + label: string; + } + const sys_normal_scope: DictType[] = [ + { value: 'EBTP', label: '招标采购中心' }, + ]; + + //委托列表 + const columns: ProColumns[] = [ + { title: '序号', valueType: 'index', width: 50, search: false, }, + { title: '委托方', dataIndex: 'tendereeOrgName', },//, ellipsis: true + { title: '委托方id', dataIndex: 'tendereeOrgId', hideInTable:true, + search: false,}, + { title: '委托部门', dataIndex: 'tendereeName', + + },//, ellipsis: true//, ellipsis: true + { title: '委托部门id', dataIndex: 'tendereeId', hideInTable:true, + search: false,}, + { title: '代理机构', dataIndex: 'tenderAgencyName', }, + { title: '代理机构id', dataIndex: 'tenderAgencyId',hideInTable:true, }, + { title: '项目名称', dataIndex: 'projectName', },//, ellipsis: true + { title: '项目编号', dataIndex: 'ebpProjectNumber', search: false,},//, ellipsis: true + { title: '采购方式', dataIndex: 'bidMethodDict', search: false, + // valueEnum: proTableValueEnum(dictData['bid_method_dict=ebp_purc_mode']), + + }, + { title: '状态', dataIndex: 'status', valueEnum: { 2: { text: '进行中', status: 'Success' }, 3: { text: '已结束', status: 'Default' },9: { text: '废止', status: 'Error' } },//, ellipsis: true + }, + { title: 'id', dataIndex: 'id', search: false,hideInTable:true,},//, ellipsis: true + // { title: '创建时间', dataIndex: 'createDate', width: '10%', valueType: 'dateTime', search: false }, + + + ]; + + + + const [menuOptions, setMenuOptions] = useState([]); + + + return ( + + +
+ + actionRef={actionRef}//action触发后更新表格 + columns={columns}//表格 + options={false} + bordered={false} + className='tableSearch' + size='small' + search={{ labelWidth: 'auto', span: 6 }} + request={(params) => + getEntrustedProjects({ + ...params, + tenderAgencyId:providerId, + pageNo: pageData.pageNo, pageSize: pageData.pageSize , + }).then((res) => { + const result = { + data: res.data.records, + total: res.data.total, + success: res.success, + pageSize: res.data.size, + current: res.data.current + } + return result; + }) + } + + pagination={{ + defaultPageSize: 10, + showSizeChanger: false, + onChange: (page, pageSize) => pageDataSet({ pageNo: page, pageSize: pageSize }), + onShowSizeChange: (current, size) => pageDataSet({ pageNo: current, pageSize: size }), + }} + onReset={() => { pageDataSet({ pageNo: 1, pageSize: 10 }) }} + /> + +
+ {/* 查看 */} +
+ + ) +}; +export default EntrustedProject; \ No newline at end of file diff --git a/src/pages/Agency/AgencyManager/index.tsx b/src/pages/Agency/AgencyManager/index.tsx index d698f57..23c1728 100644 --- a/src/pages/Agency/AgencyManager/index.tsx +++ b/src/pages/Agency/AgencyManager/index.tsx @@ -17,6 +17,7 @@ import localeData from 'dayjs/plugin/localeData' import weekday from 'dayjs/plugin/weekday' import weekOfYear from 'dayjs/plugin/weekOfYear' import weekYear from 'dayjs/plugin/weekYear' +import EntrustedProject from './components/EntrustedProject'; dayjs.extend(customParseFormat) dayjs.extend(advancedFormat) @@ -35,7 +36,8 @@ const agency: React.FC<{}> = () => { const [form] = Form.useForm(); const [title, setTitle] = useState(''); const [open, setOpen] = useState(false); - +const [viewEntrustedProjectVisible, setViewEntrustedProjectVisible] = useState(false); +const [currentProviderId, setCurrentProviderId] = useState(''); const [checkedKeys, setCheckedKeys] = useState([]); const [currentRoleId, setCurrentRoleId] = useState(null); const dictData = JSON.parse(getDict); @@ -97,7 +99,7 @@ const agency: React.FC<{}> = () => { title: '操作', width: '9%', valueType: 'option', render: (_, record) => [ - , + , , record.validityStatus === '1' && ( @@ -109,6 +111,11 @@ const agency: React.FC<{}> = () => { ] }, ]; + const viewEntrustedProject =(id: string) => { + setViewEntrustedProjectVisible(true); + setCurrentProviderId(id); + + }; // 删除操作 const handleDelete = (id: string) => { Modal.confirm({ @@ -239,6 +246,25 @@ const agency: React.FC<{}> = () => { console.error(error); } }; + const closeProjectModal = async () => { + + setViewEntrustedProjectVisible(false); + }; + const entrustedProjects = ( + setOpen(false)}>关闭} + + onCancel={() => closeProjectModal()} + visible={viewEntrustedProjectVisible} + > + + + ); + const checkSupModal = ( { pageDataSet({ pageNo: 1, pageSize: 10 }) }} /> {checkSupModal} + {entrustedProjects} { diff --git a/src/pages/Agency/AgencyManager/service.ts b/src/pages/Agency/AgencyManager/service.ts index d49cd3e..e92eab4 100644 --- a/src/pages/Agency/AgencyManager/service.ts +++ b/src/pages/Agency/AgencyManager/service.ts @@ -72,4 +72,11 @@ export async function rejectAgency(id: any) { method: 'post', }); } + +export async function getEntrustedProjects(params: any) { + return request('/api/biz-service-ebtp-project/v1/projectRecord/getAgencyProjects', { + method: 'post', + data: params, + }); +} \ No newline at end of file