</head> | </head> | ||||
<body> | <body> | ||||
<div id="root"></div> | <div id="root"></div> | ||||
<script src="/umi.c6e37b69.js"></script> | |||||
<script src="/umi.d33b65e9.js"></script> | |||||
</body> | </body> | ||||
</html> | </html> |
export const updateCompany = PostModel(url.companyEdit); | export const updateCompany = PostModel(url.companyEdit); | ||||
export const GetCompanyRecruiters = GetModel(url.CompanyRecruiters); | export const GetCompanyRecruiters = GetModel(url.CompanyRecruiters); | ||||
export const PostCompanyTurnJobseeker = PostModel(url.CompanyTurnJobseeker); | export const PostCompanyTurnJobseeker = PostModel(url.CompanyTurnJobseeker); | ||||
export const PostCompanyMultieditstatus = PostModel(url.CompanyMultieditstatus); | |||||
// VIP | // VIP | ||||
export const PostCompanyVipmanage = PostModel(url.companyVipmanage); | export const PostCompanyVipmanage = PostModel(url.companyVipmanage); |
companyJobInfo: String, | companyJobInfo: String, | ||||
CompanyRecruiters: String, | CompanyRecruiters: String, | ||||
CompanyTurnJobseeker: String, | CompanyTurnJobseeker: String, | ||||
CompanyMultieditstatus: String, | |||||
companyDepartmentAdd: String, | companyDepartmentAdd: String, | ||||
companyDepartmentEdit: String, | companyDepartmentEdit: String, | ||||
CompanyDepartmentList: String, | CompanyDepartmentList: String, |
companyJobInfo: admin + '/company/job_info', | companyJobInfo: admin + '/company/job_info', | ||||
CompanyRecruiters: admin + '/company/recruiters', | CompanyRecruiters: admin + '/company/recruiters', | ||||
CompanyTurnJobseeker: admin + '/company/turn_jobseeker', | CompanyTurnJobseeker: admin + '/company/turn_jobseeker', | ||||
CompanyMultieditstatus: admin + '/company/multieditstatus', | |||||
companyDepartmentAdd: admin + '/company/department_add', | companyDepartmentAdd: admin + '/company/department_add', | ||||
companyDepartmentEdit: admin + '/company/department_edit', | companyDepartmentEdit: admin + '/company/department_edit', | ||||
CompanyDepartmentList: admin + '/company/department_list', | CompanyDepartmentList: admin + '/company/department_list', |
import { connect, history, Link } from '@umijs/max'; | import { connect, history, Link } from '@umijs/max'; | ||||
import type { ActionType, ProFormInstance } from '@ant-design/pro-components'; | import type { ActionType, ProFormInstance } from '@ant-design/pro-components'; | ||||
import { | import { | ||||
ProTable, TableDropdown, ProForm | |||||
ProTable, ProFormRadio, ProForm | |||||
} from '@ant-design/pro-components'; | } 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 { Imageprefix } from '@/constants'; | ||||
import DragUpload from '@/components/Common/dragupload'; | import DragUpload from '@/components/Common/dragupload'; | ||||
const [page, setPage] = useState<number>(1) | const [page, setPage] = useState<number>(1) | ||||
const [pageSize, setPageSize] = useState<number>(10) | const [pageSize, setPageSize] = useState<number>(10) | ||||
const [expandedRowKeys, setExpandedRowKeys] = useState<string[]>([]) | const [expandedRowKeys, setExpandedRowKeys] = useState<string[]>([]) | ||||
const [ids, setIds] = useState<number[]>([]) | |||||
const [status, setStatus] = useState<number>(0) | |||||
const setId = (id: number) => { | const setId = (id: number) => { | ||||
dataSource={list} | dataSource={list} | ||||
search={{ span: 6, labelWidth: 'auto' }} | search={{ span: 6, labelWidth: 'auto' }} | ||||
rowSelection={{ | rowSelection={{ | ||||
type: 'checkbox' | |||||
type: 'checkbox', | |||||
onChange: (selectedRowKeys, selectedRows) => { | |||||
setIds(selectedRowKeys) | |||||
}, | |||||
}} | }} | ||||
expandable={{ | expandable={{ | ||||
expandedRowRender | expandedRowRender | ||||
headerTitle="企业列表" | headerTitle="企业列表" | ||||
toolBarRender={() => [ | toolBarRender={() => [ | ||||
<Button type="primary" onClick={() => { | <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>, | </Button>, |
<ProFormText | <ProFormText | ||||
name="author" | name="author" | ||||
label="姓名" | label="姓名" | ||||
placeholder="10" | |||||
placeholder="请输入姓名" | |||||
rules={[{ required: true, message: '请输入姓名' }]} | rules={[{ required: true, message: '请输入姓名' }]} | ||||
/> | /> | ||||
width: '100%', | width: '100%', | ||||
fieldNames: selectfieldNames | fieldNames: selectfieldNames | ||||
}} | }} | ||||
placeholder='请选择主办人员' | |||||
options={dictModel.educationList} | options={dictModel.educationList} | ||||
/> | /> | ||||
</Col> | </Col> |
ProForm, | ProForm, | ||||
} from '@ant-design/pro-components'; | } from '@ant-design/pro-components'; | ||||
import { ConfigProvider, Flex, Space, Modal, message } from 'antd'; | 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) => { | const PagesPermissionRoleCreate: React.FC = ({ dispatch, dictModel, openModel, id }: any) => { | ||||
let res = await PostRoleAdd(values) | let res = await PostRoleAdd(values) | ||||
message.success('提交成功') | message.success('提交成功') | ||||
dispatch({ type: 'openModel/getOpenModal', payload: false }) | dispatch({ type: 'openModel/getOpenModal', payload: false }) | ||||
} | } | ||||
}} | }} | ||||
> | > |
import { useRef, useState, useEffect } from 'react'; | import { useRef, useState, useEffect } from 'react'; | ||||
import { connect } from '@umijs/max'; | 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 PagesMainPermissionRoleDispense: React.FC = ({ dispatch, dictModel, openModel, id }: any) => { | ||||
const [openPreview, setOpenPreview] = useState(false); | const [openPreview, setOpenPreview] = useState(false); | ||||
const [detail, setDetail] = useState(null) | const [detail, setDetail] = useState(null) | ||||
const [selectedIds, setSelectedIds] = useState<number[]>([]); | |||||
const [selectedIds, setSelectedIds] = useState<number[]>([0]); | |||||
const [collapseKey, setCollapseKey] = useState<string[]>([]); | const [collapseKey, setCollapseKey] = useState<string[]>([]); | ||||
useEffect(() => { | useEffect(() => { | ||||
setOpenPreview(openModel.openDispenseModal) | setOpenPreview(openModel.openDispenseModal) | ||||
}, [openModel.openDispenseModal]) | }, [openModel.openDispenseModal]) | ||||
const handleChange = (tag: number, checked: boolean) => { | const handleChange = (tag: number, checked: boolean) => { | ||||
}; | }; | ||||
// 检查给定的 id 是否存在于 res.data 中,并返回对应的下标加 1 | // 检查给定的 id 是否存在于 res.data 中,并返回对应的下标加 1 | ||||
function checkIdInData(ids : number[], data :number) { | |||||
function checkIdInData(ids: number[], data: number) { | |||||
const result: any = []; | const result: any = []; | ||||
if(ids && ids.length > 0) { | |||||
if (ids && ids.length > 0) { | |||||
ids.forEach(id => { | ids.forEach(id => { | ||||
const index = data.findIndex(item => item.id === id); | const index = data.findIndex(item => item.id === id); | ||||
if (index !== -1) { | if (index !== -1) { | ||||
let res = await getPermissionListWithchilds() | let res = await getPermissionListWithchilds() | ||||
setDetail(res.data) | setDetail(res.data) | ||||
let resrole = await getRoleGetpermissionids({ id: id }) | 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 => { | const nextSelectedTags = resrole.data.permissionIds && resrole.data.permissionIds.map(item => { | ||||
return Number(item) | return Number(item) | ||||
}) | }) | ||||
const uniqueIndexes = checkIdInData(nextSelectedTags, res.data.permissions); | const uniqueIndexes = checkIdInData(nextSelectedTags, res.data.permissions); | ||||
console.log(uniqueIndexes); // 输出去重后的结果 | console.log(uniqueIndexes); // 输出去重后的结果 | ||||
// 设置状态 | // 设置状态 | ||||
if(uniqueIndexes.length > 0) { | |||||
if (uniqueIndexes.length > 0) { | |||||
setCollapseKey(uniqueIndexes); | setCollapseKey(uniqueIndexes); | ||||
} else { | } else { | ||||
setCollapseKey(["1"]); | setCollapseKey(["1"]); |
if(!openModel.openModal) { | if(!openModel.openModal) { | ||||
setId(0) | setId(0) | ||||
} | } | ||||
}, [openModel.openModal]) | }, [openModel.openModal]) | ||||
return ( | return ( |
export const findId = (array: [], id: number) => { | |||||
export const findId = (array: [], id: any) => { | |||||
let result = false; | let result = false; | ||||
result = array.includes(id); | result = array.includes(id); | ||||
return result; | return result; |