| | |
| | | import { PageContainer, } from '@ant-design/pro-components'; |
| | | import { Button, Select, Row, Col, Input, Card, Space, Form, Upload, Spin, message, Cascader, InputNumber } from 'antd'; |
| | | import { useState, useEffect } from 'react'; |
| | | import { add, Edit, getDetail } from '../service'; |
| | | 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); |
| | |
| | | const [adminLevel, setAdminLevel] = useState(1) |
| | | |
| | | const [fileList, setFileList] = useState([]) |
| | | const [community, setCommunity] = useState([])//社区 |
| | | const [userInfo, setUserInfo] = useState({}) |
| | | |
| | | const formItemLayout = { |
| | | labelCol: { span: 6 }, |
| | |
| | | name: 'file', |
| | | action: 'https://huacheng.psciio.com/api/huacheng-communitybackstage/communitypartybuilding/uploadimage', |
| | | headers: { |
| | | Authorization: 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOjE4OTI0MjE4MjgwODU4Mzc4MjYsInR5cGUiOjEsImV4cCI6MTc0MTY1OTg5MywiY3JlYXRlZCI6MTc0MDM2Mzg5MzE2MH0.o3Gc0g1LAo_kkL3X3QrC6qKwztxsp6psoTcpTreDzQUXGqPzUXw89fNSR5YKz8gzhtSuSKI2d6TJJYPX1IQCgw', |
| | | Authorization: `Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOjE2MTc2LCJ0eXBlIjoxLCJleHAiOjE3NDM0OTM5NzYsImNyZWF0ZWQiOjE3NDIxOTc5NzY5NDB9.Lph5ktdjynkIhOdkfFa6pgPM9rQJ2bcGJdk8i9_GOs-ZRR79PrqWWgwgAXsUwOdYUInEDdP90uBXxvBV8SJhvA`, |
| | | }, |
| | | }; |
| | | |
| | | useEffect(() => { |
| | | let adminInfo = JSON.parse(localStorage.getItem('userInfo')) |
| | | setAdminLevel(() => adminInfo.accountLevel)//角色权限1市级2区县3街道4社区5党员 |
| | | |
| | | regionTree({}).then(res => { |
| | | setItems(() => res.data) |
| | | }) |
| | | if (searchParams.get('id')) { |
| | | getDetail(searchParams.get('id')).then(res => { |
| | | setUserInfo(() => res.data) |
| | | res.data.community = [res.data.districtsCode, res.data.streetId, res.data.communityId.toString()] |
| | | setCommunity(() => res.data.community) |
| | | if (res.data.avatar) { |
| | | setFileList(() => [{ url: res.data.avatar, uid: '1' }]) |
| | | } |
| | | form.setFieldsValue(res.data) |
| | | }) |
| | | } |
| | | }, []) |
| | | // 上传前 |
| | | 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; |
| | | } |
| | | console.log('============================================') |
| | | setLoading(false) |
| | | |
| | | setLoading(true) |
| | | resolve(file); |
| | | }); |
| | | }; |
| | | const handleChange = ({ file: file, fileList: newFileList }, type) => { |
| | | console.log(file, 'newfilelist', newFileList, 'type', type) |
| | | if (file.status == 'error') { |
| | | const handleChange = ({ file, fileList: newFileList }) => { |
| | | if (file.status == 'error' || (file.status == 'done' && file.response.code != 200)) { |
| | | setLoading(false) |
| | | // setFileList([]) |
| | | message.error('上传失败') |
| | | return |
| | | } |
| | | if (file.status == 'done') { |
| | | if (file.status == 'done' && file.response.code == 200) { |
| | | setLoading(false) |
| | | message.success('上传成功') |
| | | } |
| | |
| | | } |
| | | return item.url |
| | | }); |
| | | console.log('newFileList', newFileList, 'list', list) |
| | | // if (type == 1) { |
| | | // setImageUrl1(newFileList) |
| | | // } else if (type == 2) { |
| | | // setImageUrl(newFileList) |
| | | // } |
| | | setFileList(() => newFileList) |
| | | }; |
| | | |
| | | const submit = () => { |
| | | form.validateFields().then(async (values) => { |
| | | if (fileList.length == 0) { |
| | | message.warning('请上传头像') |
| | | return |
| | | } |
| | | let params = { ...values } |
| | | let adminInfo = JSON.parse(localStorage.getItem('userInfo')) |
| | | params.communityId = params.community.length > 0 ? params.community[params.community.length - 1] : '' |
| | | params.streetId = params.community.length > 1 ? params.community[params.community.length - 2] : adminInfo.streetId |
| | | params.districtsCode = params.community.length == 3 ? params.community[0] : adminInfo.districtsCode |
| | | delete params.community |
| | | params.avatar = fileList[0].url |
| | | if (searchParams.get('id')) { |
| | | params.id = searchParams.get('id') |
| | | let res = await Edit(params) |
| | | if (res.code == 200) { |
| | | message.success('编辑成功') |
| | | history.back() |
| | | } |
| | | } else { |
| | | let res = await add(params) |
| | | if (res.code == 200) { |
| | | message.success('添加成功') |
| | | history.back() |
| | | } |
| | | } |
| | | |
| | | }) |
| | | } |
| | |
| | | return Promise.resolve(); |
| | | }; |
| | | const checkPhoneUse = (e) => { |
| | | console.log('eeeeeeeeee', e.target.value) |
| | | if (Object.keys(userInfo).length > 0 && userInfo.phone == e.target.value) { |
| | | return Promise.resolve() |
| | | } |
| | | verifyPhone({ phone: e.target.value }).then(res => { |
| | | if (res.code != 200) { |
| | | message.warning('该手机号已注册党员信息') |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | |
| | | <Input disabled={searchParams.get('detail')} placeholder='请输入'></Input> |
| | | </Form.Item> |
| | | <Form.Item |
| | | name="name" |
| | | name="phone" |
| | | label='联系电话' rules={[{ required: true, message: '请输入党员联系电话' }, { validator: checkPhone }]} |
| | | > |
| | | <Input disabled={searchParams.get('detail')} placeholder='请输入' maxLength={11} onBlur={checkPhoneUse} ></Input> |
| | | </Form.Item> |
| | | <Form.Item |
| | | name="idcard" |
| | | name="idNumber" |
| | | label='身份证号' rules={[{ required: true, message: '请输入党员身份证号' }, { validator: checkIdCard }]} |
| | | > |
| | | <Input disabled={searchParams.get('detail')} placeholder='请输入' maxLength={18}></Input> |
| | | </Form.Item> |
| | | |
| | | <Form.Item |
| | | name="name" |
| | | name="community" |
| | | label='所在社区' |
| | | rules={[{ required: true, message: '请选择所在社区' }]} |
| | | > |
| | | <Cascader |
| | | disabled={searchParams.get('detail') || adminLevel == 4} |
| | | options={items} |
| | | fieldNames={{ value: 'key', label: 'name' }} |
| | | fieldNames={{ value: 'id', label: 'name' }} |
| | | placeholder="请选择" |
| | | displayRender={(label) => label[label.length - 1]} |
| | | changeOnSelect={true} |
| | | onChange={(value, label) => { |
| | | setCommunity(() => label) |
| | | }} |
| | | // displayRender={(label) => label[label.length - 1]} |
| | | // changeOnSelect={true} |
| | | /> |
| | | </Form.Item> |
| | | |
| | | <Form.Item |
| | | name="name" |
| | | name="serviceTarget" |
| | | label='服务对象' |
| | | // rules={[ { required: true,message: '请输入服务对象'}]} |
| | | > |
| | | <Input disabled={searchParams.get('detail')} placeholder='请输入'></Input> |
| | | </Form.Item> |
| | | <Form.Item |
| | | name="name" |
| | | name="partyOrganization" |
| | | label='所在党组织' |
| | | // rules={[ { required: true,message: '请输入所在党组织'}]} |
| | | > |
| | |
| | | </Form.Item> |
| | | |
| | | <Form.Item |
| | | name="image" |
| | | name="avatar" |
| | | label="头像上传" |
| | | // extra={ |
| | | // <div> |
| | |
| | | onRemove={() => { |
| | | setFileList([]) |
| | | form.setFieldsValue({ |
| | | image: '' |
| | | avatar: null |
| | | }) |
| | | form.validateFields(['avatar']) |
| | | }} |
| | | showUploadList={{ |
| | | showPreviewIcon: false, |