接口调试
This commit is contained in:
parent
76d12d5284
commit
2e06fd2af5
|
|
@ -9,9 +9,13 @@ import {
|
||||||
UNIT_OR_ORG_TYPE_MAP,
|
UNIT_OR_ORG_TYPE_MAP,
|
||||||
UNIT_OR_ORG_TYPE_OPTIONS,
|
UNIT_OR_ORG_TYPE_OPTIONS,
|
||||||
GENDER_MAP,
|
GENDER_MAP,
|
||||||
|
GENDER_OPTIONS,
|
||||||
POLITICAL_STATUS_MAP,
|
POLITICAL_STATUS_MAP,
|
||||||
|
POLITICAL_STATUS_OPTIONS,
|
||||||
EDUCATION_LEVEL_MAP,
|
EDUCATION_LEVEL_MAP,
|
||||||
|
EDUCATION_LEVEL_OPTIONS,
|
||||||
REGION_OR_UNIT_MAP,
|
REGION_OR_UNIT_MAP,
|
||||||
|
REGION_OR_UNIT_OPTIONS,
|
||||||
PERSONAL_MEMBER_TYPE_MAP,
|
PERSONAL_MEMBER_TYPE_MAP,
|
||||||
PERSONAL_MEMBER_TYPE_OPTIONS,
|
PERSONAL_MEMBER_TYPE_OPTIONS,
|
||||||
} from '../../api/member'
|
} from '../../api/member'
|
||||||
|
|
@ -105,11 +109,18 @@ function adaptPersonalMember(item) {
|
||||||
function MemberList() {
|
function MemberList() {
|
||||||
const [activeTab, setActiveTab] = useState(MEMBER_CATEGORY.UNIT)
|
const [activeTab, setActiveTab] = useState(MEMBER_CATEGORY.UNIT)
|
||||||
|
|
||||||
const [filters, setFilters] = useState({
|
const initialFilters = {
|
||||||
name: '',
|
name: '',
|
||||||
unitOrOrgType: undefined,
|
unitOrOrgType: undefined,
|
||||||
memberType: undefined,
|
memberType: undefined,
|
||||||
})
|
gender: undefined,
|
||||||
|
politicalStatus: undefined,
|
||||||
|
educationLevel: undefined,
|
||||||
|
title: '',
|
||||||
|
regionOrUnit: undefined,
|
||||||
|
specialCommitteeMemberType: '',
|
||||||
|
}
|
||||||
|
const [filters, setFilters] = useState(initialFilters)
|
||||||
const [appliedFilters, setAppliedFilters] = useState({})
|
const [appliedFilters, setAppliedFilters] = useState({})
|
||||||
const [pagination, setPagination] = useState({ current: 1, pageSize: 10 })
|
const [pagination, setPagination] = useState({ current: 1, pageSize: 10 })
|
||||||
const [loading, setLoading] = useState(false)
|
const [loading, setLoading] = useState(false)
|
||||||
|
|
@ -130,6 +141,24 @@ function MemberList() {
|
||||||
}
|
}
|
||||||
if (appliedFilters.name) params.name = appliedFilters.name
|
if (appliedFilters.name) params.name = appliedFilters.name
|
||||||
|
|
||||||
|
// 单位会员接口支持的筛选参数
|
||||||
|
if (activeTab === MEMBER_CATEGORY.UNIT) {
|
||||||
|
if (appliedFilters.unitOrOrgType) params.unitOrOrgType = appliedFilters.unitOrOrgType
|
||||||
|
}
|
||||||
|
|
||||||
|
// 个人会员接口支持的筛选参数
|
||||||
|
if (activeTab === MEMBER_CATEGORY.PERSONAL) {
|
||||||
|
if (appliedFilters.gender) params.gender = appliedFilters.gender
|
||||||
|
if (appliedFilters.politicalStatus) params.politicalStatus = appliedFilters.politicalStatus
|
||||||
|
if (appliedFilters.memberType) params.memberType = appliedFilters.memberType
|
||||||
|
if (appliedFilters.educationLevel) params.educationLevel = appliedFilters.educationLevel
|
||||||
|
if (appliedFilters.title) params.title = appliedFilters.title
|
||||||
|
if (appliedFilters.regionOrUnit) params.regionOrUnit = appliedFilters.regionOrUnit
|
||||||
|
if (appliedFilters.specialCommitteeMemberType) {
|
||||||
|
params.specialCommitteeMemberType = appliedFilters.specialCommitteeMemberType
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const fetcher =
|
const fetcher =
|
||||||
activeTab === MEMBER_CATEGORY.UNIT
|
activeTab === MEMBER_CATEGORY.UNIT
|
||||||
? fetchUnitOrOrgMemberPage
|
? fetchUnitOrOrgMemberPage
|
||||||
|
|
@ -145,14 +174,6 @@ function MemberList() {
|
||||||
? records.map(adaptUnitOrOrgMember)
|
? records.map(adaptUnitOrOrgMember)
|
||||||
: records.map(adaptPersonalMember)
|
: records.map(adaptPersonalMember)
|
||||||
|
|
||||||
// 客户端二次过滤(接口暂未提供该参数)
|
|
||||||
if (activeTab === MEMBER_CATEGORY.UNIT && appliedFilters.unitOrOrgType) {
|
|
||||||
list = list.filter((it) => it.unitOrOrgType === appliedFilters.unitOrOrgType)
|
|
||||||
}
|
|
||||||
if (activeTab === MEMBER_CATEGORY.PERSONAL && appliedFilters.memberType) {
|
|
||||||
list = list.filter((it) => it.memberType === appliedFilters.memberType)
|
|
||||||
}
|
|
||||||
|
|
||||||
setTableData(list)
|
setTableData(list)
|
||||||
setTotal(totalCount)
|
setTotal(totalCount)
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
|
@ -176,14 +197,13 @@ function MemberList() {
|
||||||
setPagination((prev) => ({ ...prev, current: 1 }))
|
setPagination((prev) => ({ ...prev, current: 1 }))
|
||||||
}
|
}
|
||||||
const handleReset = () => {
|
const handleReset = () => {
|
||||||
const empty = { name: '', unitOrOrgType: undefined, memberType: undefined }
|
setFilters(initialFilters)
|
||||||
setFilters(empty)
|
setAppliedFilters(initialFilters)
|
||||||
setAppliedFilters(empty)
|
|
||||||
setPagination((prev) => ({ ...prev, current: 1 }))
|
setPagination((prev) => ({ ...prev, current: 1 }))
|
||||||
}
|
}
|
||||||
const handleTabChange = (key) => {
|
const handleTabChange = (key) => {
|
||||||
setActiveTab(key)
|
setActiveTab(key)
|
||||||
setFilters({ name: '', unitOrOrgType: undefined, memberType: undefined })
|
setFilters(initialFilters)
|
||||||
setAppliedFilters({})
|
setAppliedFilters({})
|
||||||
setPagination({ current: 1, pageSize: 10 })
|
setPagination({ current: 1, pageSize: 10 })
|
||||||
}
|
}
|
||||||
|
|
@ -402,19 +422,97 @@ function MemberList() {
|
||||||
</Select>
|
</Select>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
) : (
|
) : (
|
||||||
<Form.Item label="会员类型" style={{ marginBottom: 16 }}>
|
<>
|
||||||
<Select
|
<Form.Item label="会员类型" style={{ marginBottom: 16 }}>
|
||||||
placeholder="请选择"
|
<Select
|
||||||
value={filters.memberType}
|
placeholder="请选择"
|
||||||
onChange={(value) => handleFilterChange('memberType', value)}
|
value={filters.memberType}
|
||||||
allowClear
|
onChange={(value) => handleFilterChange('memberType', value)}
|
||||||
style={{ width: 240, borderRadius: 6 }}
|
allowClear
|
||||||
>
|
style={{ width: 240, borderRadius: 6 }}
|
||||||
{PERSONAL_MEMBER_TYPE_OPTIONS.map((t) => (
|
>
|
||||||
<Option key={t.value} value={t.value}>{t.label}</Option>
|
{PERSONAL_MEMBER_TYPE_OPTIONS.map((t) => (
|
||||||
))}
|
<Option key={t.value} value={t.value}>{t.label}</Option>
|
||||||
</Select>
|
))}
|
||||||
</Form.Item>
|
</Select>
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item label="性别" style={{ marginBottom: 16 }}>
|
||||||
|
<Select
|
||||||
|
placeholder="请选择"
|
||||||
|
value={filters.gender}
|
||||||
|
onChange={(value) => handleFilterChange('gender', value)}
|
||||||
|
allowClear
|
||||||
|
style={{ width: 140, borderRadius: 6 }}
|
||||||
|
>
|
||||||
|
{GENDER_OPTIONS.map((t) => (
|
||||||
|
<Option key={t.value} value={t.value}>{t.label}</Option>
|
||||||
|
))}
|
||||||
|
</Select>
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item label="政治面貌" style={{ marginBottom: 16 }}>
|
||||||
|
<Select
|
||||||
|
placeholder="请选择"
|
||||||
|
value={filters.politicalStatus}
|
||||||
|
onChange={(value) => handleFilterChange('politicalStatus', value)}
|
||||||
|
allowClear
|
||||||
|
showSearch
|
||||||
|
optionFilterProp="children"
|
||||||
|
style={{ width: 180, borderRadius: 6 }}
|
||||||
|
>
|
||||||
|
{POLITICAL_STATUS_OPTIONS.map((t) => (
|
||||||
|
<Option key={t.value} value={t.value}>{t.label}</Option>
|
||||||
|
))}
|
||||||
|
</Select>
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item label="学历" style={{ marginBottom: 16 }}>
|
||||||
|
<Select
|
||||||
|
placeholder="请选择"
|
||||||
|
value={filters.educationLevel}
|
||||||
|
onChange={(value) => handleFilterChange('educationLevel', value)}
|
||||||
|
allowClear
|
||||||
|
style={{ width: 160, borderRadius: 6 }}
|
||||||
|
>
|
||||||
|
{EDUCATION_LEVEL_OPTIONS.map((t) => (
|
||||||
|
<Option key={t.value} value={t.value}>{t.label}</Option>
|
||||||
|
))}
|
||||||
|
</Select>
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item label="职称" style={{ marginBottom: 16 }}>
|
||||||
|
<Input
|
||||||
|
placeholder="请输入职称关键字"
|
||||||
|
value={filters.title}
|
||||||
|
onChange={(e) => handleFilterChange('title', e.target.value)}
|
||||||
|
onPressEnter={handleSearch}
|
||||||
|
allowClear
|
||||||
|
style={{ width: 180, borderRadius: 6 }}
|
||||||
|
/>
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item label="所属单位/地区" style={{ marginBottom: 16 }}>
|
||||||
|
<Select
|
||||||
|
placeholder="请选择"
|
||||||
|
value={filters.regionOrUnit}
|
||||||
|
onChange={(value) => handleFilterChange('regionOrUnit', value)}
|
||||||
|
allowClear
|
||||||
|
showSearch
|
||||||
|
optionFilterProp="children"
|
||||||
|
style={{ width: 220, borderRadius: 6 }}
|
||||||
|
>
|
||||||
|
{REGION_OR_UNIT_OPTIONS.map((t) => (
|
||||||
|
<Option key={t.value} value={t.value}>{t.label}</Option>
|
||||||
|
))}
|
||||||
|
</Select>
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item label="专科分会委员" style={{ marginBottom: 16 }}>
|
||||||
|
<Input
|
||||||
|
placeholder="如:儿科分会"
|
||||||
|
value={filters.specialCommitteeMemberType}
|
||||||
|
onChange={(e) => handleFilterChange('specialCommitteeMemberType', e.target.value)}
|
||||||
|
onPressEnter={handleSearch}
|
||||||
|
allowClear
|
||||||
|
style={{ width: 180, borderRadius: 6 }}
|
||||||
|
/>
|
||||||
|
</Form.Item>
|
||||||
|
</>
|
||||||
)}
|
)}
|
||||||
<Form.Item style={{ marginBottom: 16 }}>
|
<Form.Item style={{ marginBottom: 16 }}>
|
||||||
<Space>
|
<Space>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue