@@ -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; |