/* * @Author: your name * @Date: 2022-01-12 17:11:11 * @LastEditTime: 2022-07-08 18:00:41 * @LastEditors: code4eat awesomedema@gmail.com * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @FilePath: /KC-MiddlePlatform/src/pages/platform/setting/userManage/modal.tsx */ import React, { useEffect, useState } from 'react'; import KCModal from '@/components/KCModal'; import KCProSelect from '@/components/KCProSelect'; import { message, Button, Spin, Upload } from 'antd'; import { userManageModelState, Dispatch } from 'umi'; import { ProFormDateTimePicker, ProFormSelect, ProFormText, ProFormTextArea } from '@ant-design/pro-form'; import { getShareHospList } from '@/service/hospList'; import { AddUsersDataType, getUserRelaSeletData, UserRelaSeletDataListType, UserRelaSeletDataType } from '@/service/user'; import { LoadingOutlined, UploadOutlined } from '@ant-design/icons'; // import { TableActType } from "./typings"; import './style.less'; export enum TableActType { NOACT, ADD, DEL, EDIT, } interface ActModalProps extends userManageModelState { dispatch: Dispatch | undefined; } const antIcon = ; const ActModal: React.FC = ({ dispatch, isShowModal, tableAct, currentEditUser, }) => { const [avatarUrl, setAvatarUrl] = useState(''); const [loadAvatar, setLoadAvatar] = useState(false); //字典 const [dirData, set_dirData] = useState([]); // let dirData: UserRelaSeletDataType[] = [] const props = { name: 'file', maxCount: 1, showUploadList: false, onChange(info: { file: { originFileObj: File, status: string; name: any; }; fileList: any; }) { setLoadAvatar(true); if (info.file.status !== 'uploading') { // console.log(info.file, info.fileList); const reader = new FileReader(); reader.readAsDataURL(info.file.originFileObj);//读取图像文件 result 为 DataURL, DataURL 可直接 赋值给 img.src reader.onload = function (event) { if (event.target && typeof event.target.result == 'string') { setAvatarUrl(event.target.result);//base64 } } } if (info.file.status === 'done') { setLoadAvatar(false); } else if (info.file.status === 'error') { message.error(`${info.file.name} 上传失败!`); } }, } const onVisibleChangeHandle = (bool: boolean) => { // console.log({bool}); if (!bool) { dispatch && dispatch({ type: 'userManageModel/cancelTableAct', }); } }; const onFinishHandle = (data: any & AddUsersDataType) => { if (tableAct == TableActType.ADD) { dispatch && dispatch({ type: 'userManageModel/postAddUserData', payload: data, }); } if (tableAct == TableActType.EDIT) { dispatch && dispatch({ type: 'userManageModel/postEditUserData', payload: data, }); } return true; }; const getDirecData = async (key?: string) => { const data = await getUserRelaSeletData(key); if (data) { set_dirData(data); } } const setSelectorData = (key: string) => { let result = dirData.filter((t: any) => (t.code == key)); if (result.length > 0) { let dataArr = result[0].dataVoList; let defaultValue = dataArr.filter(t=>t.defaultValue == 1); dataArr.sort((prev:UserRelaSeletDataListType,next:UserRelaSeletDataListType)=>{ return next.sort - prev.sort; }); // console.log({dataArr,defaultValue}); return { defaultvalue:defaultValue[0]?defaultValue[0].value:'', list:dataArr.map(t=>({label:t.code,value:t.value})) } } return { defaultvalue:'', list:[] }; } useEffect(() => { getDirecData(); }, []) return ( onFinishHandle(data)} > { dirData ? (
个人照片:
{avatarUrl && avatar} {loadAvatar && }
{ const hospList = await getShareHospList(); if (hospList) { return hospList.map((t) => ({ label: t.name, value: t.id, })); } return []; }} rules={[ { required: true, message: '请选择院区!', }, ]} />
[ { label: '男', value: '男' }, { label: '女', value: '女' }, ]} placeholder="请选择" rules={[{ required: true, message: '请选择性别!' }]} />
备注:
) : '' }
); }; export default ActModal;