|
@@ -2,8 +2,8 @@ import { Button, Checkbox, Col, DatePicker, Form, Input, InputNumber, Radio, Row
|
|
|
import React, { useEffect, useState } from "react"
|
|
|
import moment from "moment"
|
|
|
import { useAjax } from "@/Hook/useAjax"
|
|
|
-import { getAllOfOwnerUserApi, getChannelChoiceListApi, getGameChoiceListApi, getCpChoiceListApi, getGameChoiceParentListType1Api, getPayListApi, getSubUserWithSelfListApi, getTtAllUserListApi, getUserSystemTypeChoiceListApi, getUserVipLevelChoiceListApi, getRoleUserListApi, getGameServerListApi, getGameListApi } from "@/services/gameData"
|
|
|
-import { ActiveEnum, PayStatus, TYPE, gameClassifyEnum } from "./const"
|
|
|
+import { getAllOfOwnerUserApi, getChannelChoiceListApi, getGameChoiceListApi, getCpChoiceListApi, getGameChoiceParentListType1Api, getPayListApi, getSubUserWithSelfListApi, getTtAllUserListApi, getUserSystemTypeChoiceListApi, getUserVipLevelChoiceListApi, getRoleUserListApi, getGameServerListApi, getGameListApi, getGameServerUnListApi } from "@/services/gameData"
|
|
|
+import { ActiveEnum, DeviceType, LoginType, PayStatus, TYPE, gameClassifyEnum } from "./const"
|
|
|
import { ADSTATUSEnum as ADSTTTATUSEnum } from "@/pages/gameDataStatistics/adlist/monitor/const"
|
|
|
import { ADSTATUSEnum } from "@/pages/gameDataStatistics/adlist/tencentMonitor/const"
|
|
|
import IntervalTime from "./intervalTime"
|
|
@@ -166,6 +166,8 @@ interface Props {
|
|
|
isMobile?: boolean
|
|
|
/** 是否开启 注册IP 搜索 */
|
|
|
isRegIp?: boolean
|
|
|
+ /** 是否开启 IP 搜索 */
|
|
|
+ isIp?: boolean
|
|
|
/** 是否开启 是否实名认证 搜索 */
|
|
|
isIsAuth?: boolean
|
|
|
/** 是否开启 是否绑定手机 搜索 */
|
|
@@ -198,6 +200,12 @@ interface Props {
|
|
|
isGameServerName?: boolean
|
|
|
/** 是否开启多个区服id搜索 */
|
|
|
isRankingNum?: boolean
|
|
|
+ /** 是否开启 客户端类型 搜索 */
|
|
|
+ isDeviceType?: boolean
|
|
|
+ /** 是否开启 登录类型 搜索 */
|
|
|
+ isLoginType?: boolean
|
|
|
+ /** 是否开启 原始区服列表 搜索 */
|
|
|
+ isServerIdUn?: boolean
|
|
|
}
|
|
|
/**
|
|
|
* 游戏数据系统 请求参数
|
|
@@ -211,7 +219,7 @@ const QueryForm: React.FC<Props> = (props) => {
|
|
|
isGameRoleName, isFirstRecharge, isSwitch, isMerchantNo, isOrderId, isMerchantOrderNo, isPayStatus, isPayWay, isProductName, isRegAgent, isAgentId, isPutAgent, isRegDay, isOs, isParentId, isProjectId, isProjectName, isPromotionId, isPromotionName,
|
|
|
isSysUserName, isRechargeDate, isBGGameClassify, isGameUserId, isSysUserId, isUserName, isUserId, isSelectRanking, isGameType, isConsumeDay, rechargeDay, isBeginDay, isType, isAdTTStatus, isUserEnterType, isServerName, isServerId, isServerDay, isAdTXStatus,
|
|
|
payTimeDay, placeAnOrderDay, isPayIntervalTime, isActiveTypes, isNickname, isMobile, isRegIp, isIsAuth, isIsBindMobile, isIsRecharge, isUserStatus, isCreateRole, isRoleCount, isVipLevel, isCreateRoleDay, isIsChange, isIsSendMail, isWeChatCompany, isWeChat,
|
|
|
- isCustomerServerId, isOperatorId, isGsId, isServerIds, isRankingNum, isIsMergeServer, isSuperParentGameId, isGameServerName
|
|
|
+ isCustomerServerId, isOperatorId, isGsId, isServerIds, isRankingNum, isIsMergeServer, isSuperParentGameId, isGameServerName, isIp, isDeviceType, isLoginType, isServerIdUn
|
|
|
} = props
|
|
|
const [form] = Form.useForm()
|
|
|
const parentId = Form.useWatch('parentId', form)
|
|
@@ -242,6 +250,7 @@ const QueryForm: React.FC<Props> = (props) => {
|
|
|
const getGameList = useAjax(() => getGameListApi())
|
|
|
const getRoleUserList = useAjax((params) => getRoleUserListApi(params))
|
|
|
const getGameServerList = useAjax((params) => getGameServerListApi(params))
|
|
|
+ const getGameServerUnList = useAjax((params) => getGameServerUnListApi(params))
|
|
|
/**************************/
|
|
|
|
|
|
useEffect(() => {
|
|
@@ -583,6 +592,7 @@ const QueryForm: React.FC<Props> = (props) => {
|
|
|
{Object.keys(ADSTTTATUSEnum).map(key => <Select.Option value={key} key={key}>{ADSTTTATUSEnum[key]}</Select.Option>)}
|
|
|
</Select>
|
|
|
</Form.Item></Col>}
|
|
|
+
|
|
|
{isAdTXStatus && <Col><Form.Item name='status'>
|
|
|
<Select
|
|
|
maxTagCount={1}
|
|
@@ -598,6 +608,41 @@ const QueryForm: React.FC<Props> = (props) => {
|
|
|
{Object.keys(ADSTATUSEnum).map(key => <Select.Option value={key} key={key}>{ADSTATUSEnum[key]}</Select.Option>)}
|
|
|
</Select>
|
|
|
</Form.Item></Col>}
|
|
|
+
|
|
|
+ {/* 客户端类型 */}
|
|
|
+ {isDeviceType && <Col><Form.Item name='deviceType'>
|
|
|
+ <Select
|
|
|
+ maxTagCount={1}
|
|
|
+ showSearch
|
|
|
+ style={{ width: 140 }}
|
|
|
+ allowClear
|
|
|
+ dropdownMatchSelectWidth={false}
|
|
|
+ placeholder={'请选择客户端类型'}
|
|
|
+ filterOption={(input, option) =>
|
|
|
+ (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
|
|
+ }
|
|
|
+ >
|
|
|
+ {Object.keys(DeviceType).map(key => <Select.Option value={key} key={key}>{DeviceType[key]}</Select.Option>)}
|
|
|
+ </Select>
|
|
|
+ </Form.Item></Col>}
|
|
|
+
|
|
|
+ {/* 登录类型 */}
|
|
|
+ {isLoginType && <Col><Form.Item name='type'>
|
|
|
+ <Select
|
|
|
+ maxTagCount={1}
|
|
|
+ showSearch
|
|
|
+ style={{ width: 140 }}
|
|
|
+ allowClear
|
|
|
+ dropdownMatchSelectWidth={false}
|
|
|
+ placeholder={'请选择登录类型'}
|
|
|
+ filterOption={(input, option) =>
|
|
|
+ (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
|
|
+ }
|
|
|
+ >
|
|
|
+ {Object.keys(LoginType).map(key => <Select.Option value={key} key={key}>{LoginType[key]}</Select.Option>)}
|
|
|
+ </Select>
|
|
|
+ </Form.Item></Col>}
|
|
|
+
|
|
|
{/* 操作设备 */}
|
|
|
{isDevice && <Col><Form.Item name='device'>
|
|
|
<Input placeholder="操作设备" allowClear style={{ width: 140 }} />
|
|
@@ -706,6 +751,14 @@ const QueryForm: React.FC<Props> = (props) => {
|
|
|
getGameServerList?.data && getGameServerList.mutate([])
|
|
|
}
|
|
|
}
|
|
|
+ if (isServerIdUn) {
|
|
|
+ form.setFieldsValue({ serverId: undefined })
|
|
|
+ if (option?.['data-super-id']) {
|
|
|
+ getGameServerUnList.run({ gameId: option['data-super-id'] })
|
|
|
+ } else {
|
|
|
+ getGameServerUnList?.data && getGameServerUnList.mutate([])
|
|
|
+ }
|
|
|
+ }
|
|
|
}}
|
|
|
>
|
|
|
{parentGameList?.map((item: any) => <Select.Option value={item.parent_game_id} key={item.parent_game_id} data-super-id={item.super_game_id}>{item.parent_game_name}</Select.Option>)}
|
|
@@ -715,7 +768,7 @@ const QueryForm: React.FC<Props> = (props) => {
|
|
|
{(parentId || superParentGameId) && <>
|
|
|
{/* 广告区服名称 */}
|
|
|
{isGameServerName && <Col><Form.Item name='serverName'>
|
|
|
- <Input placeholder="区服名称" allowClear style={{ width: 140 }} disabled={serverIds?.length > 0}/>
|
|
|
+ <Input placeholder="区服名称" allowClear style={{ width: 140 }} disabled={serverIds?.length > 0} />
|
|
|
</Form.Item></Col>}
|
|
|
|
|
|
{/* 区服id */}
|
|
@@ -741,6 +794,25 @@ const QueryForm: React.FC<Props> = (props) => {
|
|
|
{isIsMergeServer && <Col><Form.Item name='isMergeServer' valuePropName="checked">
|
|
|
<Checkbox onChange={() => form.setFieldsValue({ serverIds: undefined })}>是否合服</Checkbox>
|
|
|
</Form.Item></Col>}
|
|
|
+
|
|
|
+ {/* 区服id */}
|
|
|
+ {isServerIdUn && <Col><Form.Item name='serverId'>
|
|
|
+ <Select
|
|
|
+ maxTagCount={1}
|
|
|
+ mode="multiple"
|
|
|
+ showSearch
|
|
|
+ disabled={serverName}
|
|
|
+ style={{ minWidth: 140 }}
|
|
|
+ allowClear
|
|
|
+ placeholder={'请选择区服'}
|
|
|
+ filterOption={(input, option) =>
|
|
|
+ (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
|
|
+ }
|
|
|
+ loading={getGameServerUnList.loading}
|
|
|
+ >
|
|
|
+ {getGameServerUnList?.data?.filter((item: { isSourceServer: any }) => item.isSourceServer)?.map((item: any) => <Select.Option value={item.serverId} key={item.serverId}>{item.serverName}</Select.Option>)}
|
|
|
+ </Select>
|
|
|
+ </Form.Item></Col>}
|
|
|
</>}
|
|
|
|
|
|
{/* 游戏应用类型搜索 */}
|
|
@@ -998,20 +1070,7 @@ const QueryForm: React.FC<Props> = (props) => {
|
|
|
|
|
|
{/* 用户id */}
|
|
|
{isUserId && <Col><Form.Item name='userId'>
|
|
|
- <Select
|
|
|
- maxTagCount={1}
|
|
|
- showSearch
|
|
|
- style={{ minWidth: 140 }}
|
|
|
- allowClear
|
|
|
- placeholder={'请选择用户'}
|
|
|
- filterOption={(input, option) =>
|
|
|
- (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
|
|
- }
|
|
|
- >
|
|
|
- <Select.Option value={'1'}>用户001</Select.Option>
|
|
|
- <Select.Option value={'2'}>用户002</Select.Option>
|
|
|
- <Select.Option value={'3'}>用户003</Select.Option>
|
|
|
- </Select>
|
|
|
+ <Input placeholder="用户ID" allowClear style={{ width: 140 }} />
|
|
|
</Form.Item></Col>}
|
|
|
|
|
|
{/* 玩家昵称 */}
|
|
@@ -1029,6 +1088,11 @@ const QueryForm: React.FC<Props> = (props) => {
|
|
|
<Input placeholder="注册IP" allowClear style={{ width: 140 }} />
|
|
|
</Form.Item></Col>}
|
|
|
|
|
|
+ {/* 注册IP */}
|
|
|
+ {isIp && <Col><Form.Item name='ip'>
|
|
|
+ <Input placeholder="IP" allowClear style={{ width: 140 }} />
|
|
|
+ </Form.Item></Col>}
|
|
|
+
|
|
|
{/* 注册IP */}
|
|
|
{isRankingNum && <Col><Form.Item name='rankingNum'>
|
|
|
<InputNumber placeholder="排名范围" min={1} />
|