wjx vor 1 Jahr
Ursprung
Commit
a597f1da84

+ 30 - 18
src/components/QueryForm/index.tsx

@@ -1,4 +1,4 @@
-import { Button, Col, DatePicker, Form, Input, InputNumber, Radio, Row, Select, Space } from "antd"
+import { Button, Checkbox, Col, DatePicker, Form, Input, InputNumber, Radio, Row, Select, Space, Switch } from "antd"
 import React, { useEffect, useState } from "react"
 import moment from "moment"
 import { useAjax } from "@/Hook/useAjax"
@@ -50,6 +50,8 @@ interface Props {
     isOrderGameId?: boolean
     /** 是否开启 父游戏ID 搜索 */
     isParentId?: boolean
+    /** 是否开启 是否合服 搜索 */
+    isIsMergeServer?: boolean
     /** 是否开启 游戏应用类型 搜索 */
     isGameType?: boolean
     /** 是否开启 游戏角色名 搜索 */
@@ -205,10 +207,11 @@ 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
+        isCustomerServerId, isOperatorId, isGsId, isServerIds, isRankingNum, isIsMergeServer
     } = props
     const [form] = Form.useForm()
     const parentId = Form.useWatch('parentId', form)
+    const isMergeServer = Form.useWatch('isMergeServer', form)
     const [accountList, setAccountList] = useState<any[]>([])
     const [userIdList, setUserIdList] = useState<any[]>([])
     const [gsList, setGsList] = useState<any[]>([])
@@ -659,22 +662,31 @@ const QueryForm: React.FC<Props> = (props) => {
                     {getGameChoiceList?.data?.map((item: any) => <Select.Option value={item.id} key={item.id}>{item.name}</Select.Option>)}
                 </Select>
             </Form.Item></Col>}
-            {/* 区服id */}
-            {isServerIds && parentId && <Col><Form.Item name='serverIds'>
-                <Select
-                    maxTagCount={1}
-                    mode="multiple"
-                    showSearch
-                    style={{ minWidth: 140 }}
-                    allowClear
-                    placeholder={'请选择区服'}
-                    filterOption={(input, option) =>
-                        (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
-                    }
-                >
-                    {getGameServerList?.data?.map((item: any) => <Select.Option value={item.serverId} key={item.serverId}>{item.serverName}</Select.Option>)}
-                </Select>
-            </Form.Item></Col>}
+
+            {parentId && <>
+                {/* 区服id */}
+                {isServerIds && <Col><Form.Item name='serverIds'>
+                    <Select
+                        maxTagCount={1}
+                        mode="multiple"
+                        showSearch
+                        style={{ minWidth: 140 }}
+                        allowClear
+                        placeholder={'请选择区服'}
+                        filterOption={(input, option) =>
+                            (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
+                        }
+                    >
+                        {getGameServerList?.data?.filter((item: { isSourceServer: any }) => (isIsMergeServer && ((!isMergeServer && item.isSourceServer) || (isMergeServer && !item.isSourceServer))) || !isIsMergeServer)?.map((item: any) => <Select.Option value={item.serverId} key={item.serverId}>{item.serverName}</Select.Option>)}
+                    </Select>
+                </Form.Item></Col>}
+
+                {/* 是否合服 */}
+                {isIsMergeServer && <Col><Form.Item name='isMergeServer' valuePropName="checked">
+                    <Checkbox onChange={() => form.setFieldsValue({ serverIds: undefined })}>是否合服</Checkbox>
+                </Form.Item></Col>}
+            </>}
+
             {/* 游戏应用类型搜索 */}
             {isGameType && <Col><Form.Item name='gameType'>
                 <Select

+ 2 - 1
src/pages/gameDataStatistics/roleOperate/roleFightingRanking/index.tsx

@@ -44,8 +44,9 @@ const RoleFightingRanking: React.FC = () => {
                 }}
                 isSource
                 isServerDay={{ ranges: getPresetsRanking() }}
-                isGameId
+                // isGameId
                 isParentId
+                isIsMergeServer
                 isServerIds
                 isRankingNum
             />}