| | |
| | | import { Form, Input, Modal, Tree, Button, Spin, Row, Col, Select, Radio } from 'antd'; |
| | | import { forwardRef, useImperativeHandle, useState } from 'react'; |
| | | import { useEffect } from 'react'; |
| | | import { getDepartmentList } from '../service'; |
| | | import { getDepartmentList, systemPostList, systemRoleList, getSystemUserInfo, getCityList, addSystemUserInfo, editSystemUserInfo } from '../service'; |
| | | import { Color } from 'antd/es/color-picker'; |
| | | const formItemLayout = { |
| | | labelCol: { span: 8 }, |
| | |
| | | const [levelList, setLevelList] = useState([{ name: '市级账号', value: 1 }, { name: '区县账号', value: 2 }, { name: '街道账号', value: 3 }, { name: '社区账号', value: 4 }, { name: '党员账号', value: 5 }]) |
| | | //所属区县 |
| | | const [countyList, setCountyList] = useState([]) |
| | | const [activeCounty, setActiveCounty] = useState('') |
| | | //所属街道 |
| | | const [streetList, setStreetList] = useState([]) |
| | | const [activeStreet, setActiveStreet] = useState('') |
| | | //所属社区 |
| | | const [communityList, setCommunityList] = useState([]) |
| | | // const [activeCommunity, setActiveCommunity] = useState({}) |
| | | |
| | | |
| | | |
| | | |
| | | useEffect(() => { |
| | | // 获取单位 |
| | | getDepartmentList(1).then(res => { |
| | | setOneCompanyList(() => res.data) |
| | | }) |
| | | getDepartmentList(2).then(res => { |
| | | setTwoCompanyList(() => res.data) |
| | | }) |
| | | getDepartmentList(3).then(res => { |
| | | setThreeCompanyList(() => res.data) |
| | | }) |
| | | getDepartmentList(4).then(res => { |
| | | setThreeCompanyList(() => res.data) |
| | | }) |
| | | setTimeout(() => { |
| | | getDepartmentList(1).then(res => { |
| | | setOneCompanyList(() => res.data) |
| | | }) |
| | | getDepartmentList(2).then(res => { |
| | | setTwoCompanyList(() => res.data) |
| | | }) |
| | | }, 2000); |
| | | setTimeout(() => { |
| | | getDepartmentList(3).then(res => { |
| | | setThreeCompanyList(() => res.data) |
| | | }) |
| | | getDepartmentList(4).then(res => { |
| | | setThreeCompanyList(() => res.data) |
| | | }) |
| | | }, 4000); |
| | | }, []) |
| | | |
| | | useImperativeHandle(ref, () => { |
| | | return { |
| | | refreshData: (data, type) => { |
| | | setDetailType(type || false) |
| | | |
| | | getCountyList() |
| | | systemPostList({ pageNum: 1, pageSize: 10000 }).then(res => { |
| | | setPositionList(() => res.data.records) |
| | | }) |
| | | systemRoleList({ pageNum: 1, pageSize: 10000 }).then(res => { |
| | | setRoleList(() => res.data.records) |
| | | }) |
| | | |
| | | if (data.id) { |
| | | // 获取角色的权限树 |
| | | getTree(data.id).then(res => { |
| | | setTreeSeletKeys(res.data.systemMenuIds || []); |
| | | }) |
| | | getInfo(data.id) |
| | | } |
| | | setData(data) |
| | | form.setFieldsValue(data); |
| | | }, |
| | | clean: () => { |
| | | setSpinning(false) |
| | |
| | | // 保存 |
| | | const okHandle = () => { |
| | | form.validateFields().then((values) => { |
| | | setSpinning(true) |
| | | values.menuIds = treeSeletKeys |
| | | delete values.tree |
| | | console.log('value',values) |
| | | if (data.id) { |
| | | values.id = data.id |
| | | onUpdate(values) |
| | |
| | | } |
| | | }); |
| | | }; |
| | | const getCountyList = (id) => { |
| | | getCityList({ id: '510400', tier: 2 }).then(res => { |
| | | setCountyList(() => res.data) |
| | | }) |
| | | } |
| | | const getStreetList = (id) => { |
| | | getCityList({ id: id, tier: 3 }).then(res => { |
| | | setStreetList(() => res.data) |
| | | }) |
| | | } |
| | | const getcommunityList = (id) => { |
| | | getCityList({ id: id, tier: 4 }).then(res => { |
| | | setCommunityList(() => res.data) |
| | | }) |
| | | } |
| | | const changeCountry = (value, label) => { |
| | | console.log('区县', value,'11111111',label); |
| | | setActiveCounty(value) |
| | | getStreetList(value) |
| | | |
| | | } |
| | | const changeStreet = (value) => { |
| | | console.log('街道', value); |
| | | setActiveStreet(value) |
| | | getcommunityList(value) |
| | | } |
| | | const changeCommunity = (value) => { |
| | | console.log('社区', value); |
| | | // setActiveCommunity(value) |
| | | } |
| | | const getInfo = (id) => { |
| | | getSystemUserInfo(id).then(res => { |
| | | |
| | | }) |
| | | } |
| | | |
| | | return ( |
| | | <Modal |
| | |
| | | <Row> |
| | | <Col span={8}> |
| | | <Form.Item |
| | | name="districts" |
| | | name="districtsCode" |
| | | label="所属区县" |
| | | rules={[{ required: true, message: '请选择所属区县' }]} |
| | | > |
| | | {/* <Select |
| | | // onChange={changeCountry} |
| | | // value={activeCounty} |
| | | placeholder="请选择" |
| | | options={levelList} |
| | | fieldNames={{ label: 'name', value: 'id' }} |
| | | > |
| | | </Select > */} |
| | | <Select |
| | | key="searchSelect" |
| | | allowClear |
| | | onChange={changeCountry} |
| | | value={activeCounty} |
| | | placeholder="请选择" |
| | | options={oneCompanyList} |
| | | options={countyList} |
| | | fieldNames={{ label: 'name', value: 'id' }} |
| | | filterOption={false} |
| | | // filterOption={false} |
| | | > |
| | | </Select > |
| | | </Form.Item> |
| | | </Col> |
| | | <Col span={8}> |
| | | <Form.Item |
| | | name="street" |
| | | name="streetId" |
| | | label="所属街道" |
| | | rules={[{ required: true, message: '请选择所属街道' }]} |
| | | > |
| | | <Select |
| | | onChange={changeStreet} |
| | | disabled={!activeCounty} |
| | | key="searchSelect" |
| | | allowClear |
| | | placeholder="请选择" |
| | | options={twoCompanyList} |
| | | options={streetList} |
| | | fieldNames={{ label: 'name', value: 'id' }} |
| | | filterOption={false} |
| | | > |
| | | </Select > |
| | | </Form.Item> |
| | | </Col> |
| | | <Col span={8}> |
| | | <Form.Item |
| | | name="community" |
| | | name="communityId" |
| | | label="所属社区" |
| | | rules={[{ required: true, message: '请选择所属社区' }]} |
| | | > |
| | | <Select |
| | | disabled={!activeStreet} |
| | | key="searchSelect" |
| | | allowClear |
| | | placeholder="请选择" |
| | | options={threeCompanyList} |
| | | options={communityList} |
| | | fieldNames={{ label: 'name', value: 'id' }} |
| | | filterOption={false} |
| | | > |
| | | </Select > |
| | | </Form.Item> |