From 77e8839ebd12f50ee5459338e0362b497bbf291e Mon Sep 17 00:00:00 2001 From: jl-zhoujl2 Date: Fri, 22 Apr 2022 17:04:15 +0800 Subject: [PATCH] =?UTF-8?q?4.22=20=E5=85=AC=E5=85=B1=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/ZhaoBiao/router_menucBid.config.ts | 5 - config/router.config.ts | 4 + .../components/PublicPlatform.tsx | 470 +++++++++++------- .../BiddingAnnouncement/components/style.less | 135 +++-- 4 files changed, 369 insertions(+), 245 deletions(-) diff --git a/config/ZhaoBiao/router_menucBid.config.ts b/config/ZhaoBiao/router_menucBid.config.ts index 410da96..39ee12f 100644 --- a/config/ZhaoBiao/router_menucBid.config.ts +++ b/config/ZhaoBiao/router_menucBid.config.ts @@ -24,11 +24,6 @@ export default [//招标 投标邀请 path: '/ProjectLayout/NoticeFileStruct/List', component: './Bid/NoticeFileStruct/list', }, - //公共服务平台 - { - path: '/ProjectLayout/PublicPlatform', - component: './Bid/BiddingAnnouncement/components/PublicPlatform', - }, //应答格式开始 { diff --git a/config/router.config.ts b/config/router.config.ts index a63478c..21a8efb 100644 --- a/config/router.config.ts +++ b/config/router.config.ts @@ -71,6 +71,10 @@ export default [ }, ], }, + {//公共服务平台 + path: '/PublicPlatform', + component: './Bid/BiddingAnnouncement/components/PublicPlatform', + }, //==============================================================引入的业务路由 ...approvalForm,//审批单 diff --git a/src/pages/Bid/BiddingAnnouncement/components/PublicPlatform.tsx b/src/pages/Bid/BiddingAnnouncement/components/PublicPlatform.tsx index 63b0949..b381d5a 100644 --- a/src/pages/Bid/BiddingAnnouncement/components/PublicPlatform.tsx +++ b/src/pages/Bid/BiddingAnnouncement/components/PublicPlatform.tsx @@ -1,191 +1,321 @@ -import { scrollToAnchor } from '@/utils/CommonUtils'; -import ProCard from '@ant-design/pro-card'; -import { Form, Input, InputNumber, Button, Card, Row, Col, Typography, Tooltip, Space, Radio, Affix, List, Tag, Collapse } from 'antd'; -import React, { useState } from 'react'; - -interface PublicPlatformProps { - modalVisible: boolean; - onCancel: () => void; -} +import React, { useEffect, useState } from 'react'; +import logo from '@/images/opening/logo.svg'; +import styles from './style.less'; +import './style.less'; +import { Affix, Anchor, BackTop, Button, Checkbox, Col, Collapse, DatePicker, Descriptions, Divider, Form, Input, InputNumber, Layout, message, Modal, PageHeader, Radio, Row, Select, Space, Spin, Tag, Timeline, Tooltip, Typography } from 'antd'; +import { btnAuthority } from '@/utils/authority'; +import { ArrowUpOutlined, CaretRightOutlined, ExclamationCircleOutlined } from '@ant-design/icons'; +import { isNotEmpty } from '@/utils/CommonUtils'; const layout = { labelCol: { span: 6, }, wrapperCol: { - span: 18, + span: 17, }, }; -const data = [ - { - title: '标段一', - description: 'XY92632011202', - }, - { - title: '标段二', - description: 'XY92632011202', - }, - { - title: '标段三', - description: 'XY92632011202', - }, - { - title: '标段四', - description: 'XY92632011202', - }, -]; -/* eslint-disable no-template-curly-in-string */ - const validateMessages = { - required: '${label} is required!', - types: { - email: '${label} is not a valid email!', - number: '${label} is not a valid number!', - }, - number: { - range: '${label} must be between ${min} and ${max}', - }, + required: '请填写当前项内容', }; -/* eslint-enable no-template-curly-in-string */ -const PublicPlatform: React.FC = (props) => { - // const { modalVisible, onCancel } = props; - const { Text } = Typography; - const { Panel } = Collapse; - const { TextArea } = Input; +const defaultData = { + data: { + "project": { + "id": "", + "projectName": "", + "projectScale": "", + "tenderContent": "", + "tenderCode": "", + "readonly": false + }, + "sections": [ + { + "id": "", + "projectId": "", + "bidSectBizNum": "", + "bidSectCode": "", + "bidSectName": "", + "suppliers": [ + { + "id": "", + "projectId": "", + "sectionId": "", + "assessRoomId": "", + "assessRoomSort": 0, + "companyId": "", + "companyName": "", + "sort": "", + "quality": "", + "evaluationStatus": "", + "winCandidateQualification": "", + "timeLimit": 0, + "pmName": "", + "pmCode": "", + "pmCeritficates": "" + } + ] + } + ], + "anno": { + "id": "", + "annoNature": 0, + "hasCtpsp": false, + "ctpspFileid": "", + "status": 0 + }, + "tenderer": { + "id": "", + "code": "", + "name": "" + } + } +} + +const PublicPlatform: React.FC<{}> = () => { + //loading + const [loading, setLoading] = useState(false); + //右侧浮动层监听Dom const [container, setContainer] = useState(null); + //初始数据 + const [initialData, setInitialData] = useState({}); - const onFinish = (values: any) => { - console.log(values); + const { TextArea } = Input; + const { Panel } = Collapse; + const { Text } = Typography; + const { Link } = Anchor; + const [form] = Form.useForm(); + //Input + function returnInput(name: string | string[], label: string, readonly: boolean, initialValue: string | number | null, rules?: any[], placeholder?: string, extra?: React.ReactNode, width?: string | number, type?: string, suffix?: React.ReactNode) { + return ( + + + + ) + } + //TextArea + function returnArea(name: string | string[], label: string, readonly: boolean, initialValue: string | null, rules?: any[], placeholder?: string, extra?: React.ReactNode) { + return ( + +