靓号查询

This commit is contained in:
local 2026-06-27 22:46:48 +08:00
parent 63d4ffbacd
commit 7858530fc8
5 changed files with 71 additions and 3 deletions

View File

@ -3415,6 +3415,44 @@
"/admin/rooms": { "/admin/rooms": {
"get": { "get": {
"operationId": "listRooms", "operationId": "listRooms",
"parameters": [
{
"$ref": "#/components/parameters/Page"
},
{
"$ref": "#/components/parameters/PageSize"
},
{
"$ref": "#/components/parameters/Keyword"
},
{
"name": "owner_user_keyword",
"in": "query",
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/Status"
},
{
"$ref": "#/components/parameters/RegionId"
},
{
"name": "sort_by",
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "sort_direction",
"in": "query",
"schema": {
"type": "string"
}
}
],
"responses": { "responses": {
"200": { "200": {
"$ref": "#/components/responses/EmptyResponse" "$ref": "#/components/responses/EmptyResponse"

View File

@ -24,6 +24,7 @@ export function useRoomsPage() {
const { showToast } = useToast(); const { showToast } = useToast();
const { loadingRegions, regionOptions } = useRegionOptions(); const { loadingRegions, regionOptions } = useRegionOptions();
const [query, setQuery] = useState(""); const [query, setQuery] = useState("");
const [ownerUserKeyword, setOwnerUserKeyword] = useState("");
const [status, setStatus] = useState(""); const [status, setStatus] = useState("");
const [regionId, setRegionId] = useState(""); const [regionId, setRegionId] = useState("");
const [contributionSortDirection, setContributionSortDirection] = useState(""); const [contributionSortDirection, setContributionSortDirection] = useState("");
@ -36,12 +37,13 @@ export function useRoomsPage() {
const filters = useMemo( const filters = useMemo(
() => ({ () => ({
keyword: query, keyword: query,
owner_user_keyword: ownerUserKeyword,
region_id: regionId, region_id: regionId,
sort_by: contributionSortDirection ? "room_contribution" : "", sort_by: contributionSortDirection ? "room_contribution" : "",
sort_direction: contributionSortDirection, sort_direction: contributionSortDirection,
status, status,
}), }),
[contributionSortDirection, query, regionId, status], [contributionSortDirection, ownerUserKeyword, query, regionId, status],
); );
const { const {
data = emptyData, data = emptyData,
@ -62,6 +64,11 @@ export function useRoomsPage() {
setPage(1); setPage(1);
}; };
const changeOwnerUserKeyword = (value) => {
setOwnerUserKeyword(value);
setPage(1);
};
const changeStatus = (value) => { const changeStatus = (value) => {
setStatus(value); setStatus(value);
setPage(1); setPage(1);
@ -79,6 +86,7 @@ export function useRoomsPage() {
const resetFilters = () => { const resetFilters = () => {
setQuery(""); setQuery("");
setOwnerUserKeyword("");
setStatus(""); setStatus("");
setRegionId(""); setRegionId("");
setPage(1); setPage(1);
@ -184,6 +192,7 @@ export function useRoomsPage() {
activeAction, activeAction,
activeRoom, activeRoom,
changeQuery, changeQuery,
changeOwnerUserKeyword,
changeRegionId, changeRegionId,
changeStatus, changeStatus,
closeAction, closeAction,
@ -197,6 +206,7 @@ export function useRoomsPage() {
openDetail, openDetail,
openEdit, openEdit,
openStatus, openStatus,
ownerUserKeyword,
page, page,
query, query,
regionId, regionId,

View File

@ -84,12 +84,21 @@ export function RoomListPage() {
? { ? {
...column, ...column,
filter: createTextColumnFilter({ filter: createTextColumnFilter({
placeholder: "搜索房间、房主", placeholder: "搜索房间 ID、短号、名称、房主靓号",
value: page.query, value: page.query,
onChange: page.changeQuery, onChange: page.changeQuery,
}), }),
render: (room) => <RoomIdentity room={room} onClick={() => page.openDetail(room)} />, render: (room) => <RoomIdentity room={room} onClick={() => page.openDetail(room)} />,
} }
: column.key === "owner"
? {
...column,
filter: createTextColumnFilter({
placeholder: "搜索房主 ID、短号、靓号、昵称",
value: page.ownerUserKeyword,
onChange: page.changeOwnerUserKeyword,
}),
}
: column.key === "status" : column.key === "status"
? { ? {
...column, ...column,

View File

@ -6600,7 +6600,16 @@ export interface operations {
}; };
listRooms: { listRooms: {
parameters: { parameters: {
query?: never; query?: {
page?: components["parameters"]["Page"];
page_size?: components["parameters"]["PageSize"];
keyword?: components["parameters"]["Keyword"];
owner_user_keyword?: string;
status?: components["parameters"]["Status"];
region_id?: components["parameters"]["RegionId"];
sort_by?: string;
sort_direction?: string;
};
header?: never; header?: never;
path?: never; path?: never;
cookie?: never; cookie?: never;

View File

@ -21,6 +21,8 @@ export interface PageQuery {
enabled?: boolean; enabled?: boolean;
displayScope?: string; displayScope?: string;
keyword?: string; keyword?: string;
owner_user_keyword?: string;
ownerUserKeyword?: string;
page?: number; page?: number;
parent_bd_user_id?: EntityId; parent_bd_user_id?: EntityId;
parent_leader_user_id?: EntityId; parent_leader_user_id?: EntityId;