diff --git a/config/router.config.ts b/config/router.config.ts index c4de15a..6c0be07 100644 --- a/config/router.config.ts +++ b/config/router.config.ts @@ -4,12 +4,13 @@ import home from './HomePage/router_home'; import juryRoom from './JuryRoom/router_menuJury.config'; import approvalForm from './router_approval_form'; import partyMemberTopic from './router_partyMemberTopic'; +import partyManagement from './router_partyManagement'; export default [ //========================================================================登陆 ...transfer,//跳转、登陆 //审批单 ...approvalForm, - //党员专题 + //党建攻坚 ...partyMemberTopic, { path: '/userformal', @@ -106,6 +107,7 @@ export default [ }, ...home,//各角色主页 ...menuaZhaoBiao,//项目菜单所有路由 + ...partyManagement,//党建攻坚管理端 {//问卷调查 name: 'Questionnaire', icon: 'UnorderedListOutlined', @@ -243,7 +245,7 @@ export default [ path: '/Supervision', component: './Project/ProjectManage/Supervision' }, - {//审查人员 项目管理页 + {//审查人员 项目管理页 name: 'Examination', path: '/Examination', component: './Project/ProjectManage/Examination' diff --git a/config/router_partyManagement.ts b/config/router_partyManagement.ts new file mode 100644 index 0000000..9d864f6 --- /dev/null +++ b/config/router_partyManagement.ts @@ -0,0 +1,23 @@ +export default [ + { + name: 'partyMemberTopicManage', + path: '/partyMemberTopicManage', + routes: [ + {//活动维护 + name: 'EventMaintenance', + path: '/partyMemberTopicManage/EventMaintenance', + component: './PartyMemberTopic/Management/EventMaintenance', + }, + { //意见收集管理 + name: 'OpinionCollection', + path: '/partyMemberTopicManage/OpinionCollection', + component: './PartyMemberTopic/Management/OpinionCollection', + }, + { //物资采购专业线数据维护 + name: 'ProLineMaintenance', + path: '/partyMemberTopicManage/ProLineMaintenance', + component: './PartyMemberTopic/Management/ProLineMaintenance', + }, + ] + } +]; \ No newline at end of file diff --git a/src/pages/PartyMemberTopic/Management/EventMaintenance/components/EventMaintenanceModal.tsx b/src/pages/PartyMemberTopic/Management/EventMaintenance/components/EventMaintenanceModal.tsx new file mode 100644 index 0000000..2c59719 --- /dev/null +++ b/src/pages/PartyMemberTopic/Management/EventMaintenance/components/EventMaintenanceModal.tsx @@ -0,0 +1,101 @@ +import React, { useRef } from 'react'; +import { Modal, Card, Col, Form, Input, Row, Space, Typography, Select } from 'antd'; +import BraftText from '@/components/richText/wang'; +import ExtendUpload from '@/utils/ExtendUpload'; + +const layout = { + labelCol: { span: 3 }, + wrapperCol: { span: 21 }, +}; + +const validateMessages = { + required: '请填写此项', +}; + +const modalHeight = window.innerHeight * 96 / 100; + +interface EventMaintenanceModalProps { + modalVisible: boolean; + onCancel: () => void; +} + +const EventMaintenanceModal: React.FC = (props) => { + const { modalVisible, onCancel } = props; + const [form] = Form.useForm(); + const { Option } = Select; + const braftRef = useRef(null); + const onFinish = (values: any) => { + console.log(values); + }; + + return ( + onCancel()} + okText="保存" + maskClosable={false} + style={{ maxHeight: modalHeight }} + bodyStyle={{ maxHeight: modalHeight - 108, overflowY: 'auto', }} + centered + cancelText="返回" + width={'70%'} + > +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ ); +}; + +export default EventMaintenanceModal; diff --git a/src/pages/PartyMemberTopic/Management/EventMaintenance/index.tsx b/src/pages/PartyMemberTopic/Management/EventMaintenance/index.tsx new file mode 100644 index 0000000..e018c6a --- /dev/null +++ b/src/pages/PartyMemberTopic/Management/EventMaintenance/index.tsx @@ -0,0 +1,151 @@ +import { PlusOutlined } from '@ant-design/icons'; +import { ActionType, ProColumns } from '@ant-design/pro-table'; +import ProTable from '@ant-design/pro-table'; +import { Button, Card } from 'antd'; +import React, { useState } from 'react'; +import { useRef } from 'react'; +import EventMaintenanceModal from './components/EventMaintenanceModal'; + +const data = [ + { + id: 1, + index: 1, + title: 1, + type: 0, + }, + { + id: 2, + index: 2, + title: 2, + type: 1, + }, + { + id: 3, + index: 3, + title: 3, + type: 2, + }, + { + id: 4, + index: 4, + title: 4, + type: 2, + }, +] + +const columns: ProColumns[] = [ + { + title: '序号', + dataIndex: 'index', + valueType: 'index', + width: 48, + }, + { + title: '标题名称', + dataIndex: 'title', + ellipsis: true, + }, + { + title: '类型', + dataIndex: 'type', + valueType: 'select', + valueEnum: { + 0: { text: '首页' }, + 1: { text: '活动风采' }, + 2: { text: '攻坚克难项目' }, + }, + }, + { + title: '发布时间', + key: 'showTime', + dataIndex: 'created_at', + valueType: 'dateTime', + hideInSearch: true, + }, + { + title: '状态', + dataIndex: 'state', + valueType: 'select', + valueEnum: { + 0: { text: '草稿' }, + 1: { text: '发布' }, + }, + }, + { + title: '开始时间', + dataIndex: 'starttime', + valueType: 'date', + hideInTable: true, + }, + { + title: '结束时间', + dataIndex: 'endtime', + valueType: 'date', + hideInTable: true, + }, + { + title: '发布人', + dataIndex: 'people', + hideInSearch: true, + }, + { + title: '操作', + hideInSearch: true, + render: (text, record, _, action) => [ + , + , + + , + , + , + ], + }, +]; + +export default () => { + const actionRef = useRef(); + const [modalVisible, setModalVisible] = useState(false); + return ( + + + columns={columns} + actionRef={actionRef} + request={async (params) => { + return { + data: data, + success: true, + }; + }} + rowKey="id" + options={false} + pagination={{ + pageSize: 10, + onChange: (page) => console.log(page), + }} + search={{ + defaultCollapsed: false,//默认展开 + }} + dateFormatter="string" + toolBarRender={() => [ + + ]} + /> + setModalVisible(false)} /> + + ); +}; \ No newline at end of file diff --git a/src/pages/PartyMemberTopic/Management/EventMaintenance/service.tsx b/src/pages/PartyMemberTopic/Management/EventMaintenance/service.tsx new file mode 100644 index 0000000..e69de29 diff --git a/src/pages/PartyMemberTopic/Management/OpinionCollection/index.tsx b/src/pages/PartyMemberTopic/Management/OpinionCollection/index.tsx new file mode 100644 index 0000000..fe46049 --- /dev/null +++ b/src/pages/PartyMemberTopic/Management/OpinionCollection/index.tsx @@ -0,0 +1,133 @@ +import { UploadOutlined } from '@ant-design/icons'; +import { ActionType, ProColumns } from '@ant-design/pro-table'; +import ProTable from '@ant-design/pro-table'; +import { Button, Card } from 'antd'; +import React from 'react'; +import { useRef } from 'react'; + +const data = [ + { + id: 1, + index: 1, + title: 1, + type: 0, + }, + { + id: 2, + index: 2, + title: 2, + type: 1, + }, + { + id: 3, + index: 3, + title: 3, + type: 2, + }, + { + id: 4, + index: 4, + title: 4, + type: 2, + }, +] + +const columns: ProColumns[] = [ + { + title: '序号', + dataIndex: 'index', + valueType: 'index', + width: 48, + }, + { + title: '意见类型', + dataIndex: 'type', + valueType: 'select', + valueEnum: { + 0: { text: '网络运营' }, + 1: { text: '综合行政' }, + 2: { text: '市场' }, + }, + }, + + { + title: '意见内容', + dataIndex: 'title', + ellipsis: true, + hideInSearch: true, + }, + { + title: '补充信息', + dataIndex: 'other', + ellipsis: true, + hideInSearch: true, + }, + { + title: '提交时间', + key: 'showTime', + dataIndex: 'created_at', + valueType: 'dateTime', + hideInSearch: true, + }, + { + title: '开始时间', + dataIndex: 'starttime', + valueType: 'date', + hideInTable: true, + }, + { + title: '结束时间', + dataIndex: 'endtime', + valueType: 'date', + hideInTable: true, + }, + { + title: '提交人员', + dataIndex: 'people', + hideInSearch: true, + }, + { + title: '附件管理', + hideInSearch: true, + render: (text, record, _, action) => [ + , + ], + }, +]; + +export default () => { + const actionRef = useRef(); + return ( + + + columns={columns} + actionRef={actionRef} + request={async (params) => { + return { + data: data, + success: true, + }; + }} + rowKey="id" + options={false} + pagination={{ + pageSize: 10, + onChange: (page) => console.log(page), + }} + search={{ + span: 6, + defaultCollapsed: false,//默认展开 + }} + rowSelection={{}} + dateFormatter="string" + toolBarRender={() => [ + + ]} + /> + + ); +}; \ No newline at end of file diff --git a/src/pages/PartyMemberTopic/Management/OpinionCollection/service.tsx b/src/pages/PartyMemberTopic/Management/OpinionCollection/service.tsx new file mode 100644 index 0000000..e69de29 diff --git a/src/pages/PartyMemberTopic/Management/ProLineMaintenance/index.tsx b/src/pages/PartyMemberTopic/Management/ProLineMaintenance/index.tsx new file mode 100644 index 0000000..9c8d8fb --- /dev/null +++ b/src/pages/PartyMemberTopic/Management/ProLineMaintenance/index.tsx @@ -0,0 +1,51 @@ + +import { Button, Card, Col, Form, Input, Row, Space, Typography } from 'antd'; +import React from 'react'; + +const layout = { + labelCol: { span: 6 }, + wrapperCol: { span: 15 }, +}; +const validateMessages = { + required: '请填写此项', +}; + +export default () => { + const { Title } = Typography; + const onFinish = (values: any) => { + console.log(values); + }; + return ( + + + + + + 党建攻坚活动情况 +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ ); +}; \ No newline at end of file diff --git a/src/pages/PartyMemberTopic/Management/ProLineMaintenance/service.tsx b/src/pages/PartyMemberTopic/Management/ProLineMaintenance/service.tsx new file mode 100644 index 0000000..e69de29