| @@ -8,6 +8,6 @@ | |||
| </head> | |||
| <body> | |||
| <div id="root"></div> | |||
| <script src="/umi.c6e37b69.js"></script> | |||
| <script src="/umi.d33b65e9.js"></script> | |||
| </body> | |||
| </html> | |||
| @@ -40,6 +40,8 @@ export const getCompanyList = GetModel(url.companyList); | |||
| export const updateCompany = PostModel(url.companyEdit); | |||
| export const GetCompanyRecruiters = GetModel(url.CompanyRecruiters); | |||
| export const PostCompanyTurnJobseeker = PostModel(url.CompanyTurnJobseeker); | |||
| export const PostCompanyMultieditstatus = PostModel(url.CompanyMultieditstatus); | |||
| // VIP | |||
| export const PostCompanyVipmanage = PostModel(url.companyVipmanage); | |||
| @@ -44,7 +44,7 @@ declare namespace urlType { | |||
| companyJobInfo: String, | |||
| CompanyRecruiters: String, | |||
| CompanyTurnJobseeker: String, | |||
| CompanyMultieditstatus: String, | |||
| companyDepartmentAdd: String, | |||
| companyDepartmentEdit: String, | |||
| CompanyDepartmentList: String, | |||
| @@ -48,7 +48,7 @@ export const url: urlType.url = { | |||
| companyJobInfo: admin + '/company/job_info', | |||
| CompanyRecruiters: admin + '/company/recruiters', | |||
| CompanyTurnJobseeker: admin + '/company/turn_jobseeker', | |||
| CompanyMultieditstatus: admin + '/company/multieditstatus', | |||
| companyDepartmentAdd: admin + '/company/department_add', | |||
| companyDepartmentEdit: admin + '/company/department_edit', | |||
| CompanyDepartmentList: admin + '/company/department_list', | |||
| @@ -3,10 +3,11 @@ import { useRef, useState, useEffect } from 'react'; | |||
| import { connect, history, Link } from '@umijs/max'; | |||
| import type { ActionType, ProFormInstance } from '@ant-design/pro-components'; | |||
| import { | |||
| ProTable, TableDropdown, ProForm | |||
| ProTable, ProFormRadio, ProForm | |||
| } from '@ant-design/pro-components'; | |||
| import { Button, Image, ConfigProvider, Select, message, Descriptions, Space, Radio, Modal, Row, Col, Badge } from 'antd'; | |||
| import { getCompanyList, GetCompanyInfo, updateCompany, PostCompanyExport, PostCompanyEdit } from '@/apis/api'; | |||
| import { Button, Image, ConfigProvider, Select, message, Descriptions, Space, Radio, Modal, Form, Row,Col, Badge } from 'antd'; | |||
| import { getCompanyList, GetCompanyInfo, updateCompany, PostCompanyExport, PostCompanyEdit, PostCompanyMultieditstatus } from '@/apis/api'; | |||
| import { Imageprefix } from '@/constants'; | |||
| import DragUpload from '@/components/Common/dragupload'; | |||
| @@ -21,6 +22,9 @@ const PagesMainCompanyListTable: React.FC = ({ dispatch, openModel, getId }: any | |||
| const [page, setPage] = useState<number>(1) | |||
| const [pageSize, setPageSize] = useState<number>(10) | |||
| const [expandedRowKeys, setExpandedRowKeys] = useState<string[]>([]) | |||
| const [ids, setIds] = useState<number[]>([]) | |||
| const [status, setStatus] = useState<number>(0) | |||
| const setId = (id: number) => { | |||
| @@ -206,7 +210,10 @@ const PagesMainCompanyListTable: React.FC = ({ dispatch, openModel, getId }: any | |||
| dataSource={list} | |||
| search={{ span: 6, labelWidth: 'auto' }} | |||
| rowSelection={{ | |||
| type: 'checkbox' | |||
| type: 'checkbox', | |||
| onChange: (selectedRowKeys, selectedRows) => { | |||
| setIds(selectedRowKeys) | |||
| }, | |||
| }} | |||
| expandable={{ | |||
| expandedRowRender | |||
| @@ -391,52 +398,64 @@ const PagesMainCompanyListTable: React.FC = ({ dispatch, openModel, getId }: any | |||
| headerTitle="企业列表" | |||
| toolBarRender={() => [ | |||
| <Button type="primary" onClick={() => { | |||
| Modal.confirm({ | |||
| title: '请选择对批量数据进行何种操作', | |||
| content: (<> | |||
| <div>参数: id, status</div> | |||
| <Radio.Group size='small' onChange={async (e) => { | |||
| actionRef.current?.reload(); | |||
| }}> | |||
| <Row gutter={[20, 20]} style={{ padding: 20 }}> | |||
| <Col span={12}> | |||
| <Radio value={1}>开通账号</Radio> | |||
| </Col> | |||
| <Col span={12}> | |||
| <Radio value={2}>关闭账号</Radio> | |||
| </Col> | |||
| <Col span={12}> | |||
| <Radio value={3}>禁用1天</Radio> | |||
| </Col> | |||
| <Col span={12}> | |||
| <Radio value={4}>禁用3天</Radio> | |||
| </Col> | |||
| <Col span={12}> | |||
| <Radio value={5}>禁用7天</Radio> | |||
| </Col> | |||
| <Col span={12}> | |||
| <Radio value={6}>禁用15天</Radio> | |||
| </Col> | |||
| <Col span={12}> | |||
| <Radio value={7}>禁用30天</Radio> | |||
| </Col> | |||
| <Col span={12}> | |||
| <Radio value={8}>永久禁用</Radio> | |||
| </Col> | |||
| </Row> | |||
| </Radio.Group> | |||
| </>), | |||
| onOk() { | |||
| if (ids.length === 0) { | |||
| message.error('请选择要操作的数据') | |||
| } else { | |||
| Modal.confirm({ | |||
| title: '请选择对批量数据进行何种操作', | |||
| content: (<> | |||
| <Radio.Group size='small' value={status} onChange={(e) => { | |||
| setStatus(e.target.value) | |||
| }} options={[ | |||
| { value: 1, label: '开通账号' }, | |||
| { value: 2, label: '关闭账号' } | |||
| ]} > | |||
| {/* <Row gutter={[20, 20]} style={{ padding: 20 }}> | |||
| <Col span={12}> | |||
| <Radio value={1}>开通账号</Radio> | |||
| </Col> | |||
| <Col span={12}> | |||
| <Radio value={2}>关闭账号</Radio> | |||
| </Col> | |||
| {/* <Col span={12}> | |||
| <Radio value={3}>禁用1天</Radio> | |||
| </Col> | |||
| <Col span={12}> | |||
| <Radio value={4}>禁用3天</Radio> | |||
| </Col> | |||
| <Col span={12}> | |||
| <Radio value={5}>禁用7天</Radio> | |||
| </Col> | |||
| <Col span={12}> | |||
| <Radio value={6}>禁用15天</Radio> | |||
| </Col> | |||
| <Col span={12}> | |||
| <Radio value={7}>禁用30天</Radio> | |||
| </Col> | |||
| <Col span={12}> | |||
| <Radio value={8}>永久禁用</Radio> | |||
| </Col> | |||
| </Row> */} | |||
| </Radio.Group> | |||
| </>), | |||
| async onOk() { | |||
| if (status) { | |||
| let res = PostCompanyMultieditstatus({ ids: ids, status: status }) | |||
| actionRef.current?.reload(); | |||
| } else { | |||
| message.error('请选择状态') | |||
| return false | |||
| } | |||
| }, | |||
| onCancel() { | |||
| console.log('Cancel'); | |||
| }, | |||
| okText: '确定', | |||
| cancelText: '取消', | |||
| centered: true | |||
| }); | |||
| } | |||
| }, | |||
| onCancel() { | |||
| console.log('Cancel'); | |||
| }, | |||
| okText: '确定', | |||
| cancelText: '取消', | |||
| centered: true | |||
| }); | |||
| }}> | |||
| 批量管理账号 | |||
| </Button>, | |||
| @@ -149,7 +149,7 @@ const PagesMainInformationArticleCreate: React.FC = ({ dispatch, dictModel, open | |||
| <ProFormText | |||
| name="author" | |||
| label="姓名" | |||
| placeholder="10" | |||
| placeholder="请输入姓名" | |||
| rules={[{ required: true, message: '请输入姓名' }]} | |||
| /> | |||
| @@ -185,6 +185,7 @@ const PagesMainInformationArticleCreate: React.FC = ({ dispatch, dictModel, open | |||
| width: '100%', | |||
| fieldNames: selectfieldNames | |||
| }} | |||
| placeholder='请选择主办人员' | |||
| options={dictModel.educationList} | |||
| /> | |||
| </Col> | |||
| @@ -6,7 +6,7 @@ import { | |||
| ProForm, | |||
| } from '@ant-design/pro-components'; | |||
| import { ConfigProvider, Flex, Space, Modal, message } from 'antd'; | |||
| import { PostRoleAdd, PostRoleEdit, GetRoleDetail } from '@/apis/api'; | |||
| import { PostRoleAdd, PostRoleEdit, GetRoleDetail, PostRoleAddpermission } from '@/apis/api'; | |||
| const PagesPermissionRoleCreate: React.FC = ({ dispatch, dictModel, openModel, id }: any) => { | |||
| @@ -77,6 +77,7 @@ const PagesPermissionRoleCreate: React.FC = ({ dispatch, dictModel, openModel, i | |||
| let res = await PostRoleAdd(values) | |||
| message.success('提交成功') | |||
| dispatch({ type: 'openModel/getOpenModal', payload: false }) | |||
| } | |||
| }} | |||
| > | |||
| @@ -1,18 +1,19 @@ | |||
| import { useRef, useState, useEffect } from 'react'; | |||
| import { connect } from '@umijs/max'; | |||
| import { ConfigProvider, Space, Collapse, Tag, Modal, Row, Col, message} from 'antd'; | |||
| import { PostRoleAddpermission,PostRoleDelpermission, getPermissionListWithchilds, getRoleGetpermissions, getRoleGetpermissionids } from '@/apis/api'; | |||
| import { ConfigProvider, Space, Collapse, Tag, Modal, Row, Col, message } from 'antd'; | |||
| import { PostRoleAddpermission, PostRoleDelpermission, getPermissionListWithchilds, getRoleGetpermissions, getRoleGetpermissionids } from '@/apis/api'; | |||
| import { findId } from '@/utils/dataHelper'; | |||
| const PagesMainPermissionRoleDispense: React.FC = ({ dispatch, dictModel, openModel, id }: any) => { | |||
| const [openPreview, setOpenPreview] = useState(false); | |||
| const [detail, setDetail] = useState(null) | |||
| const [selectedIds, setSelectedIds] = useState<number[]>([]); | |||
| const [selectedIds, setSelectedIds] = useState<number[]>([0]); | |||
| const [collapseKey, setCollapseKey] = useState<string[]>([]); | |||
| useEffect(() => { | |||
| setOpenPreview(openModel.openDispenseModal) | |||
| }, [openModel.openDispenseModal]) | |||
| const handleChange = (tag: number, checked: boolean) => { | |||
| @@ -36,9 +37,9 @@ const PagesMainPermissionRoleDispense: React.FC = ({ dispatch, dictModel, openMo | |||
| }; | |||
| // 检查给定的 id 是否存在于 res.data 中,并返回对应的下标加 1 | |||
| function checkIdInData(ids : number[], data :number) { | |||
| function checkIdInData(ids: number[], data: number) { | |||
| const result: any = []; | |||
| if(ids && ids.length > 0) { | |||
| if (ids && ids.length > 0) { | |||
| ids.forEach(id => { | |||
| const index = data.findIndex(item => item.id === id); | |||
| if (index !== -1) { | |||
| @@ -77,6 +78,11 @@ const PagesMainPermissionRoleDispense: React.FC = ({ dispatch, dictModel, openMo | |||
| let res = await getPermissionListWithchilds() | |||
| setDetail(res.data) | |||
| let resrole = await getRoleGetpermissionids({ id: id }) | |||
| console.log(findId(resrole.data.permissionIds, '53')) | |||
| if (!findId(resrole.data.permissionIds, '53')) { | |||
| handleChange(53, true) | |||
| resrole.data.permissionIds.push('53') | |||
| } | |||
| const nextSelectedTags = resrole.data.permissionIds && resrole.data.permissionIds.map(item => { | |||
| return Number(item) | |||
| }) | |||
| @@ -84,7 +90,7 @@ const PagesMainPermissionRoleDispense: React.FC = ({ dispatch, dictModel, openMo | |||
| const uniqueIndexes = checkIdInData(nextSelectedTags, res.data.permissions); | |||
| console.log(uniqueIndexes); // 输出去重后的结果 | |||
| // 设置状态 | |||
| if(uniqueIndexes.length > 0) { | |||
| if (uniqueIndexes.length > 0) { | |||
| setCollapseKey(uniqueIndexes); | |||
| } else { | |||
| setCollapseKey(["1"]); | |||
| @@ -16,6 +16,7 @@ const PermissionRolePage: React.FC = ({ dispatch, openModel }: any) => { | |||
| if(!openModel.openModal) { | |||
| setId(0) | |||
| } | |||
| }, [openModel.openModal]) | |||
| return ( | |||
| @@ -1,4 +1,4 @@ | |||
| export const findId = (array: [], id: number) => { | |||
| export const findId = (array: [], id: any) => { | |||
| let result = false; | |||
| result = array.includes(id); | |||
| return result; | |||