提交 7e3d62e6 作者: 龚洪江

修复:分类选中问题

上级 9d1f0943
......@@ -161,5 +161,5 @@ export type exchangeBannerInfo = InterFunction<Array<any>, NonNullable<unknown>>
//手机号筛选小程序用户
export type getUserAccountByPhoneNumType = InterFunction<
{ phoneNum: string },
{ id: number; nickName: string; userName: string }
{ id: number; nickName: string; userName: string; phoneNum: string; uid: string }[]
>;
......@@ -244,6 +244,11 @@ export type listCompanyMembersType = InterItemFunction<
userSex: number;
}[]
>;
//单位-成员绑定
export type bindingCompanyMemberType = InterFunction<
{ companyInfoId: number; userAccountId: number },
any
>;
//账号权限-列表
export type listRoleInfoPageType = InterItemFunction<
......
import {
bindingCompanyMemberType,
deleteRoleInfoType,
getCompanyInfoByIdType,
getSecondDistrictInfo,
......@@ -70,6 +71,9 @@ export class SystemManageAPI {
//单位-成员列表
static getListCompanyMembers: listCompanyMembersType = (params) =>
axios.get('/userapp/company/listCompanyMembers', { params });
//单位-成员绑定
static bindingCompanyMember: bindingCompanyMemberType = (params) =>
axios.get('/userapp/company/bindingCompanyMember', { params });
//账号权限-列表
static getListRoleInfoPage: listRoleInfoPageType = (data) =>
......
......@@ -22,9 +22,9 @@ type ColumnTypes = Exclude<EditableTableProps['columns'], undefined>;
type categoryType = InterDataType<categoryListRespType>['list'];
const CategoryList = () => {
const [categoryTableForm] = Form.useForm<any>();
const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>([]);
//新增,编辑分类弹窗
const [addOrEditCategoryModalShow, setAddOrEditCategoryModalShow] = useState<boolean>(false);
const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>([]);
const [currentCategory, setCurrentCategory] = useState<categoryType[0]>();
const [loading, setLoading] = useState<boolean>(false);
// 编辑的行
......@@ -181,15 +181,8 @@ const CategoryList = () => {
};
// 排序选择
const onSelectChange = (record: categoryType[0]) => {
const index: number = selectedRowKeys.findIndex((item: any) => item === record.id);
if (index != -1) {
selectedRowKeys.splice(index, 1);
setSelectedRowKeys([...selectedRowKeys]);
} else {
setSelectedRowKeys([...selectedRowKeys, record.id]);
}
setSelectedRowKeys([record.id]);
};
//新增、编辑分类弹窗
const addOrEditCategoryModalShowClick = (record?: categoryType[0] | any) => {
if (record && !record.subDTOList) {
......@@ -413,11 +406,18 @@ const CategoryList = () => {
<Table
bordered
rowSelection={{
selectedRowKeys,
hideSelectAll: true,
renderCell: (_checked: boolean, record: categoryType[0]) => {
selectedRowKeys,
renderCell: (checked: boolean, record: categoryType[0]) => {
console.log('选中-->', checked);
return (
<>{record.subDTOList ? <Radio onChange={() => onSelectChange(record)} /> : ''}</>
<>
{record.subDTOList ? (
<Radio onChange={() => onSelectChange(record)} checked={checked} />
) : (
''
)}
</>
);
},
}}
......
import { FC } from 'react';
import { Form, Modal, ModalProps, Select } from 'antd';
import { CommonAPI } from '~/api';
import { FC, useState } from 'react';
import { Form, message, Modal, ModalProps, Select } from 'antd';
import { CommonAPI, SystemManageAPI } from '~/api';
interface selfProps {
onOk: () => void;
companyInfoId: number;
}
const AddPeopleModal: FC<ModalProps & selfProps> = ({ open, onCancel, onOk }) => {
const AddPeopleModal: FC<ModalProps & selfProps> = ({ open, onCancel, onOk, companyInfoId }) => {
const [form] = Form.useForm<{ userAccountId: number }>();
const [options, setOptions] = useState<{ label: string; value: number; key: string }[]>([]);
const handleOk = () => {
onOk();
form.validateFields().then((values) => {
SystemManageAPI.bindingCompanyMember({ ...values, companyInfoId }).then(({ code }) => {
if (code === '200') {
message.success('绑定成功');
onOk();
}
});
});
};
//select 搜索
const selectSearchEvent = (value: string) => {
CommonAPI.getUserAccountByPhoneNum({ phoneNum: value }).then(({ result }) => {});
CommonAPI.getUserAccountByPhoneNum({ phoneNum: value }).then(({ result }) => {
const list = (result || []).map((v) => ({
label: v.phoneNum + `(${v.uid})`,
value: v.id,
key: value,
}));
setOptions(list);
});
};
return (
<Modal open={open} title='添加成员' onOk={handleOk} onCancel={onCancel}>
<Form>
<Form.Item label='成员'>
<Select placeholder='请输入成员手机号码' showSearch onSearch={selectSearchEvent}></Select>
<Form form={form}>
<Form.Item
label='成员'
name='userAccountId'
rules={[{ required: true, message: '请选择成员' }]}
>
<Select
placeholder='请输入成员手机号码'
showSearch
onSearch={selectSearchEvent}
filterOption={(input, option) =>
(option?.key ?? '').toLowerCase().includes(input.toLowerCase())
}
options={options}
></Select>
</Form.Item>
</Form>
</Modal>
......
......@@ -138,6 +138,7 @@ const CompanyDetail = () => {
open={addPeopleModalShow}
onCancel={addPeopleModalCancel}
onOk={addPeopleModalOk}
companyInfoId={companyId}
/>
</div>
);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论