| | |
| | | import { add, Edit, getDetail, regionTree, verifyPhone } from '../service'; |
| | | import { history, useLocation, useSearchParams } from 'umi'; |
| | | import { customRequest } from '@/utils/utils'; |
| | | |
| | | const AddOrEditOrDetail = () => { |
| | | const [form] = Form.useForm(); |
| | | const [loading, setLoading] = useState(false); |
| | |
| | | name: 'file', |
| | | action: 'https://huacheng.psciio.com/api/huacheng-communitybackstage/communitypartybuilding/uploadimage', |
| | | headers: { |
| | | Authorization: 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOjE4OTI0MjE4MjgwODU4Mzc4MjYsInR5cGUiOjEsImV4cCI6MTc0MzQ3MDczOSwiY3JlYXRlZCI6MTc0MjE3NDczOTI2NX0.JaS9h1BVP97EjLjTjqfjeTdgOKbdkcTFBU8IhQC6xJLTrLmFECMRg1XVFC4sNfUZLfsOOMRVe4urOjHeJdQurg', |
| | | Authorization: `Bearer ${localStorage.getItem('token')}`, |
| | | }, |
| | | }; |
| | | |
| | |
| | | } |
| | | }, []) |
| | | // 上传前 |
| | | const beforeUpload = (file, type) => { |
| | | return new Promise(async (resolve, reject) => { |
| | | const beforeUpload = (file) => { |
| | | return new Promise((resolve, reject) => { |
| | | if (file.name.includes(',')) { |
| | | message.warning('上传图片名字不能包含英文逗号(,)'); |
| | | return Upload.LIST_IGNORE; |
| | | } |
| | | setLoading(false) |
| | | |
| | | setLoading(true) |
| | | resolve(file); |
| | | }); |
| | | }; |
| | | const handleChange = ({ file: file, fileList: newFileList }, type) => { |
| | | const handleChange = ({ file, fileList: newFileList }) => { |
| | | if (file.status == 'error' || (file.status == 'done' && file.response.code != 200)) { |
| | | setLoading(false) |
| | | message.error('上传失败') |
| | |
| | | setLoading(false) |
| | | message.success('上传成功') |
| | | } |
| | | let list = newFileList.map((item) => { |
| | | if (item.status == 'done') { |
| | | if (!item.url) { |
| | | item.url = item.response.data; |
| | | } |
| | | } |
| | | return item.url |
| | | }); |
| | | setFileList(() => newFileList) |
| | | }; |
| | | |
| | |
| | | form.setFieldsValue({ |
| | | avatar: null |
| | | }) |
| | | // 重新触发校验 |
| | | form.validateFields(['avatar']) |
| | | }} |
| | | showUploadList={{ |
| | |
| | | import { Form, Input, Modal, Select, Upload, Space, Button, message } from 'antd'; |
| | | import { PageContainer, ProTable } from '@ant-design/pro-components'; |
| | | import { forwardRef, useEffect, useImperativeHandle, useState,useRef } from 'react'; |
| | | import { forwardRef, useEffect, useImperativeHandle, useState, useRef, useMemo } from 'react'; |
| | | |
| | | const AddEditView = ({ visible, onSave, onUpdate, onCancel, }, ref) => { |
| | | const actionRef = useRef(); |
| | |
| | | getContainer={false} |
| | | width="65%" |
| | | destroyOnClose |
| | | title={'数据导入失败提示'} |
| | | title="数据导入失败提示" |
| | | open={visible} |
| | | onCancel={() => onCancel(false)} |
| | | footer={ |
| | | [ |
| | | <Button |
| | | key="submit" |
| | | type="primary" |
| | | onClick={() => onCancel(false)} |
| | | > |
| | | 确认 |
| | | </Button>, |
| | | ] |
| | | } |
| | | footer={[ |
| | | <Button |
| | | key="submit" |
| | | type="primary" |
| | | onClick={() => onCancel(false)} |
| | | > |
| | | 确认 |
| | | </Button>, |
| | | ]} |
| | | > |
| | | <div> |
| | | <div style={{width:'100%',textAlign:'center',marginBottom:'20px',fontWeight:'bold'}}>以下信息导入失败</div> |
| | | <div |
| | | style={{ |
| | | width: '100%', |
| | | textAlign: 'center', |
| | | marginBottom: '20px', |
| | | fontWeight: 'bold' |
| | | }} |
| | | > |
| | | 以下信息导入失败 |
| | | </div> |
| | | <ProTable |
| | | rowKey='id' |
| | | search={false} |
| | | actionRef={actionRef} |
| | | columns={columns} |
| | | dataSource={tableListData} |
| | | pagination={{ |
| | | showSizeChanger: true, |
| | | showQuickJumper: true, |
| | | defaultPageSize: 10, |
| | | }} |
| | | toolBarRender={false} |
| | | /> |
| | | |
| | | rowKey="id" |
| | | search={false} |
| | | actionRef={actionRef} |
| | | columns={columns} |
| | | dataSource={tableListData} |
| | | pagination={{ |
| | | showSizeChanger: true, |
| | | showQuickJumper: true, |
| | | defaultPageSize: 10, |
| | | }} |
| | | toolBarRender={false} |
| | | /> |
| | | </div> |
| | | </Modal> |
| | | ); |