index.tsx 77 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687
  1. import { Button, Checkbox, Col, DatePicker, Form, Input, InputNumber, Radio, Row, Select, Space, Tooltip } from "antd"
  2. import React, { useEffect, useState } from "react"
  3. import moment from "moment"
  4. import { useAjax } from "@/Hook/useAjax"
  5. import { getAllOfOwnerUserApi, getChannelChoiceListApi, getGameChoiceListApi, getCpChoiceListApi, getGameChoiceParentListType1Api, getPayListApi, getSubUserWithSelfListApi, getTtAllUserListApi, getUserSystemTypeChoiceListApi, getRoleUserListApi, getGameServerListApi, getGameServerUnListApi, getAccountListNewApi, getAgentListNewApi, getPitcherListNewApi, getGameListNewApi, getVipLevelApi, getGameUnMergeServerListApi } from "@/services/gameData"
  6. import { ActiveEnum, DeviceType, LoginType, PayStatus, TYPE, gameClassifyEnum } from "./const"
  7. import { ADSTATUSEnum as ADSTTTATUSEnum } from "@/pages/gameDataStatistics/adlist/monitor/const"
  8. import { ADSTATUSEnum } from "@/pages/gameDataStatistics/adlist/tencentMonitor/const"
  9. import IntervalTime from "./intervalTime"
  10. import { RangePickerProps } from "antd/lib/date-picker"
  11. import { QuestionCircleOutlined } from "@ant-design/icons"
  12. interface Props {
  13. onChange?: (data: any) => void
  14. /** 默认值 */
  15. initialValues?: any
  16. /** 开启数据源搜索 */
  17. isSource?: boolean,
  18. /** 是否开启 广告账号 搜索 */
  19. isAccount?: boolean
  20. /** 是否开启 广告账户ID 搜索 */
  21. isAccountId?: boolean
  22. // 开启账号多选
  23. isAccountIds?: boolean,
  24. /** 是否开启 公司ID 搜索 */
  25. isCompanyId?: boolean
  26. /** 是否开启 CPID 搜索 */
  27. isCpId?: boolean
  28. /** 是否开启 cp名 搜索 */
  29. isCpName?: boolean
  30. /** 是否开启 CP方订单ID 搜索 */
  31. isCpOrderId?: boolean
  32. /** 是否开启 CP通知状态 搜索 */
  33. isCpStatus?: boolean
  34. /** 是否开启 订单创建日期 搜索 */
  35. isCreateDay?: {
  36. ranges?: any
  37. }
  38. /** 订单创建日期 根据消耗时间 来限制可选范围 */
  39. isCreateDayXz?: {
  40. ranges?: any
  41. }
  42. /** 是否开启 角色创建日期 搜索 */
  43. isCreateRoleDay?: {
  44. ranges?: any
  45. }
  46. /** 是否开启 最近活跃时间 搜索 */
  47. isLastActiveTime?: {
  48. ranges?: any
  49. }
  50. /** 是否开启 操作设备 搜索 */
  51. isDevice?: boolean
  52. /** 是否开启 注册游戏名 搜索 */
  53. isRechargeGameName?: boolean
  54. /** 是否开启 游戏名 搜索 */
  55. isGameName?: boolean
  56. /** 是否开启 游戏ID 搜索 */
  57. isGameId?: boolean
  58. isGameIds?: boolean
  59. /** 是否开启 充值游戏ID 搜索 */
  60. isOrderGameId?: boolean
  61. /** 是否开启 父游戏ID 搜索 */
  62. isParentId?: boolean
  63. isParentIds?: boolean
  64. /** 是否开启 超父游戏ID 搜索 */
  65. isSuperParentGameId?: boolean
  66. /** 是否开启 是否合服 搜索 */
  67. isIsMergeServer?: boolean
  68. /** 是否开启 是否未参与过合服 搜索 */
  69. isIsParticipateMerge?: boolean
  70. /** 是否开启 游戏应用类型 搜索 */
  71. isGameType?: boolean
  72. /** 是否开启 游戏角色名 搜索 */
  73. isGameRoleName?: boolean
  74. /** 是否开启 游戏角色名ID 搜索 */
  75. isGameRoleId?: boolean
  76. /** 是否开启 是否首充 搜索 */
  77. isFirstRecharge?: boolean
  78. /** 是否开启 是否切量 搜索 */
  79. isSwitch?: boolean
  80. /** 是否开启 收款商户号 搜索 */
  81. isMerchantNo?: boolean
  82. /** 是否开启 商户订单ID 搜索 */
  83. isOrderId?: boolean
  84. /** 是否开启 商户订单号 搜索 */
  85. isMerchantOrderNo?: boolean
  86. /** 是否开启 支付状态 搜索 */
  87. isPayStatus?: boolean
  88. /** 是否开启 支付方式 搜索 */
  89. isPayWay?: boolean
  90. /** 是否开启 产品名称 搜索 */
  91. isProductName?: boolean
  92. /** 是否开启 注册渠道名 搜索 */
  93. isRegAgent?: boolean
  94. /** 是否开启 渠道名称 搜索 */
  95. isAgentName?: boolean
  96. /** 是否开启 注册渠道ID 搜索 */
  97. isAgentId?: boolean
  98. /** 是否开启 渠道标识 搜索 */
  99. isAgentKey?: boolean
  100. /** 是否开启 投放渠道名 搜索 */
  101. isPutAgent?: boolean
  102. /** 是否开启 用户注册日期 搜索 */
  103. isRegDay?: {
  104. ranges?: any
  105. }
  106. /** 是否开启 投手名称 搜索 */
  107. isSysUserName?: boolean
  108. /** 是否开启 投手ID 搜索 */
  109. isSysUserId?: boolean
  110. isSysUserIds?: boolean
  111. /** 是否开启 玩家账号 搜索 */
  112. isUserName?: boolean
  113. /** 是否开启 用户ID 搜索 */
  114. isUserId?: boolean
  115. /** 是否开启 不同排行榜选择 搜索 */
  116. isSelectRanking?: boolean
  117. /** 是否开启 消耗日期 搜索 */
  118. isConsumeDay?: {
  119. ranges?: any
  120. }
  121. /** 是否开启 充值日期 搜索 */
  122. rechargeDay?: {
  123. ranges?: any
  124. }
  125. /** 是否开启 支付时间 搜索 */
  126. payTimeDay?: {
  127. ranges?: any
  128. }
  129. /** 是否开启 下单时间 搜索 */
  130. placeAnOrderDay?: {
  131. ranges?: any
  132. }
  133. /** 是否开启布谷 游戏类型 筛选 */
  134. isBGGameClassify?: boolean,
  135. /** 是否开启 单个充值日期 选择 */
  136. isRechargeDate?: boolean,
  137. /** 是否开启 开始时间 结束时间 搜索 */
  138. isBeginDay?: boolean
  139. /** 是否开启 玩家ID 搜索 */
  140. isGameUserId?: boolean
  141. /** 是否开启 操作系统 选择 */
  142. isOs?: boolean
  143. /** 是否开启 推广媒体 选择 */
  144. isType?: boolean
  145. /** 是否开启 计划ID 搜索 */
  146. isProjectId?: boolean
  147. /** 是否开启 计划名称 搜索 */
  148. isProjectName?: boolean
  149. /** 是否开启 广告ID 搜索 */
  150. isProjectId1?: boolean
  151. /** 是否开启 广告ID 搜索 */
  152. isPromotionId?: boolean
  153. /** 是否开启 计划ID 搜索 */
  154. isPromotionId1?: boolean
  155. /** 是否开启 广告名称 搜索 */
  156. isPromotionName?: boolean
  157. /** 是否开启 头条广告状态 搜索 */
  158. isAdTTStatus?: boolean
  159. /** 是否开启 腾讯广告状态 搜索 */
  160. isAdTXStatus?: boolean
  161. /** 是否开启 展示数据类型(买量,自然,总) 搜索 */
  162. isUserEnterType?: boolean
  163. /** 是否开启 区服名称 搜索 */
  164. isServerName?: boolean
  165. /** 是否开启 所在原始服务器名称 搜索 */
  166. isSourceServerName?: boolean
  167. /** 是否开启区服ID 搜索 */
  168. isServerId?: boolean | {
  169. placeholder?: string
  170. }
  171. /** 是否开启 开服时间 搜索 */
  172. isServerDay?: {
  173. ranges?: any
  174. }
  175. /** 是否开启 充值到支付的间隔时间 搜索 */
  176. isPayIntervalTime?: {
  177. tips?: string
  178. }
  179. /** 是否开启 充值到支付的间隔时间 搜索 */
  180. isRoleCount?: {
  181. tips?: string
  182. }
  183. /** 是否开启 留存数据的类型 搜索 */
  184. isActiveTypes?: boolean
  185. /** 是否开启 玩家昵称 搜索 */
  186. isNickname?: boolean
  187. /** 是否开启 绑定手机 搜索 */
  188. isMobile?: boolean
  189. /** 是否开启 注册IP 搜索 */
  190. isRegIp?: boolean
  191. /** 是否开启 IP 搜索 */
  192. isIp?: boolean
  193. /** 是否开启 是否实名认证 搜索 */
  194. isIsAuth?: boolean
  195. /** 是否开启 是否绑定手机 搜索 */
  196. isIsBindMobile?: boolean
  197. /** 是否开启 是否充值 搜索 */
  198. isIsRecharge?: boolean
  199. /** 是否开启 玩家状态 搜索 */
  200. isUserStatus?: boolean
  201. /** 是否开启 是否创角 搜索 */
  202. isCreateRole?: boolean
  203. /** 是否开启 角色VIP 搜索 */
  204. isVipLevel?: boolean
  205. /** 是否开启 是否转端 搜索 */
  206. isIsChange?: boolean
  207. /** 是否开启 邮件是否发送 搜索 */
  208. isIsSendMail?: boolean
  209. /** 是否开启 企业微信号 搜索 */
  210. isWeChatCompany?: boolean
  211. /** 是否开启 企业微信号 搜索 */
  212. isWeChat?: boolean
  213. /** 是否开启 客服 搜索*/
  214. isCustomerServerId?: boolean
  215. /** 是否开启 运营 搜索 */
  216. isOperatorId?: boolean
  217. /** 是否开启GS 搜索 */
  218. isGsId?: boolean
  219. /** 是否开启多个区服id搜索 */
  220. isServerIds?: boolean
  221. /** 是否开启 游戏区服 搜索 */
  222. isGameServerName?: boolean
  223. /** 是否开启多个区服id搜索 */
  224. isRankingNum?: boolean
  225. /** 是否开启 客户端类型 搜索 */
  226. isDeviceType?: boolean
  227. /** 是否开启 登录类型 搜索 */
  228. isLoginType?: boolean
  229. /** 是否开启 原始区服列表 搜索 */
  230. isServerIdUn?: boolean
  231. /** 是否开启 是否退游 搜索 */
  232. isRemoveGame?: boolean
  233. /** 是否开启 是否退游系统 搜索 */
  234. isRemoveGameForSystem?: boolean
  235. isOrderLy?: boolean
  236. /** 是否开启 是否添加企微 搜索 */
  237. isAddCorpWechat?: boolean
  238. /** 是否开启 是否唤醒 搜索 */
  239. isWakeUp?: boolean
  240. /** 是否开启 回传状态 搜索 */
  241. isBackStatus?: boolean
  242. /** 是否开启 选择游戏维度 搜索 */
  243. isGameDimension?: boolean
  244. /** 是否开启 玩家最新染色时间 搜索 */
  245. isUserLastRegTime?: boolean
  246. /** 是否开启 玩家最新染色渠道ID 搜索 */
  247. isUserLastRegAgentId?: boolean
  248. /** 是否开启 玩家最新染色归因投手 搜索 */
  249. isUserLastPitcherId?: boolean
  250. /** 是否开启 创角24小时内单笔充值金额 搜索 */
  251. isRechargeAmountWithin24h?: boolean
  252. /** 是否开启 创角24小时以内累计充值金额 搜索 */
  253. isRechargeTotalAmountWithin24h?: boolean
  254. }
  255. /**
  256. * 游戏数据系统 请求参数
  257. * @returns
  258. */
  259. const QueryForm: React.FC<Props> = (props) => {
  260. /**************************/
  261. const {
  262. onChange, initialValues, isSource, isAccount, isAccountId, isAccountIds, isCompanyId, isAgentKey, isAgentName, isCpId, isCpName, isCpOrderId, isCpStatus, isCreateDay, isCreateDayXz, isDevice, isGameName, isRechargeGameName, isGameId, isGameIds, isOrderGameId, isGameRoleId,
  263. isGameRoleName, isFirstRecharge, isSwitch, isMerchantNo, isOrderId, isMerchantOrderNo, isPayStatus, isPayWay, isProductName, isRegAgent, isAgentId, isPutAgent, isRegDay, isOs, isParentId, isParentIds, isProjectId, isProjectName, isPromotionId, isPromotionId1, isPromotionName,
  264. isSysUserName, isRechargeDate, isBGGameClassify, isGameUserId, isSysUserId, isSysUserIds, isUserName, isUserId, isSelectRanking, isGameType, isConsumeDay, rechargeDay, isBeginDay, isType, isAdTTStatus, isUserEnterType, isServerName, isServerId, isServerDay, isAdTXStatus,
  265. payTimeDay, placeAnOrderDay, isPayIntervalTime, isActiveTypes, isNickname, isMobile, isRegIp, isIsAuth, isIsBindMobile, isIsRecharge, isUserStatus, isCreateRole, isRoleCount, isVipLevel, isCreateRoleDay, isLastActiveTime, isIsChange, isIsSendMail, isWeChatCompany, isWeChat,
  266. isCustomerServerId, isOperatorId, isGsId, isServerIds, isRankingNum, isIsMergeServer, isIsParticipateMerge, isSuperParentGameId, isGameServerName, isIp, isDeviceType, isLoginType, isServerIdUn, isSourceServerName, isProjectId1, isRemoveGame, isRemoveGameForSystem, isOrderLy, isAddCorpWechat,
  267. isWakeUp, isBackStatus, isGameDimension, isUserLastRegTime, isUserLastRegAgentId, isUserLastPitcherId, isRechargeAmountWithin24h, isRechargeTotalAmountWithin24h
  268. } = props
  269. const [form] = Form.useForm()
  270. const parentId = Form.useWatch('parentId', form)
  271. const superParentGameId = Form.useWatch('superParentGameId', form)
  272. const isMergeServer = Form.useWatch('isMergeServer', form)
  273. const serverName = Form.useWatch('serverName', form)
  274. const serverIds = Form.useWatch('serverIds', form)
  275. const sourceSystem = Form.useWatch('sourceSystem', form)
  276. const parentGameIds = Form.useWatch('parentGameIds', form)
  277. const gameDimension = Form.useWatch('gameDimension', form)
  278. const consumeDay = Form.useWatch('consumeDay', form)
  279. const isParticipateMerge = Form.useWatch('isParticipateMerge', form)
  280. const [accountList, setAccountList] = useState<any[]>([])
  281. const [userIdList, setUserIdList] = useState<any[]>([])
  282. const [gsList, setGsList] = useState<any[]>([])
  283. const [customerList, setCustomerList] = useState<any[]>([])
  284. const [operateList, setOperateList] = useState<any[]>([])
  285. const [gameList, setGameList] = useState<any[]>([])
  286. const [parentGameList, setParentGameList] = useState<any[]>([])
  287. const [superGameList, setSuperGameList] = useState<any[]>([])
  288. const [agentData, setAgentData] = useState<{ label: string, value: string }[]>([])
  289. const getAllOfOwnerUser = useAjax(() => getAllOfOwnerUserApi())
  290. const getTtAllUserList = useAjax(() => getTtAllUserListApi())
  291. const getGameChoiceList = useAjax(() => getGameChoiceListApi())
  292. const getSubUserWithSelfList = useAjax(() => getSubUserWithSelfListApi())
  293. const getChannelChoiceList = useAjax(() => getChannelChoiceListApi())
  294. const getGameChoiceParentListType1 = useAjax(() => getGameChoiceParentListType1Api())
  295. const getUserSystemTypeChoiceList = useAjax(() => getUserSystemTypeChoiceListApi())
  296. const getCpChoiceList = useAjax(() => getCpChoiceListApi())
  297. const getPayList = useAjax(() => getPayListApi())
  298. const getVipLevel = useAjax(() => getVipLevelApi())
  299. const getRoleUserList = useAjax((params) => getRoleUserListApi(params))
  300. const getGameServerList = useAjax((params) => getGameServerListApi(params))
  301. const getGameUnMergeServerList = useAjax((params) => getGameUnMergeServerListApi(params))
  302. const getGameServerUnList = useAjax((params) => getGameServerUnListApi(params))
  303. const getAccountListNew = useAjax((params) => getAccountListNewApi(params))
  304. const getAgentListNew = useAjax((params) => getAgentListNewApi(params))
  305. const getPitcherListNew = useAjax((params) => getPitcherListNewApi(params))
  306. const getGameListNew = useAjax((params) => getGameListNewApi(params))
  307. /**************************/
  308. useEffect(() => {
  309. if (isCustomerServerId || isOperatorId || isGsId) {
  310. const getList = async () => {
  311. // 游戏GS
  312. let gs = await getRoleUserList.run({ authType: 'GS' })
  313. setGsList(gs ? Object.keys(gs)?.map(key => ({ userId: key, nickname: gs[key] })) : [])
  314. // 运营
  315. let operate = await getRoleUserList.run({ authType: 'OPERATE' })
  316. setOperateList(operate ? Object.keys(operate)?.map(key => ({ userId: key, nickname: operate[key] })) : [])
  317. // 客服
  318. let customer = await getRoleUserList.run({ authType: 'CUSTOMER' })
  319. setCustomerList(customer ? Object.keys(customer)?.map(key => ({ userId: key, nickname: customer[key] })) : [])
  320. }
  321. getList()
  322. }
  323. }, [isCustomerServerId, isOperatorId, isGsId])
  324. useEffect(() => {
  325. if (isAccountId) {
  326. // 请求广告账号列表
  327. async function getAccount() {
  328. if (sourceSystem === 'ZX_ONE') {
  329. let data: any[] = []
  330. let res1 = await getAllOfOwnerUser.run()
  331. let data1 = []
  332. if (res1) {
  333. data1 = res1?.map((item: any) => ({ label: item.accountId, value: item.accountId, corporationName: item.corporationName }))
  334. }
  335. let res2 = await getTtAllUserList.run()
  336. let data2 = []
  337. if (res2) {
  338. data2 = res2?.map((item: any) => ({ label: item.accountId, value: item.accountId, corporationName: item.accountName }))
  339. }
  340. data = [...data1, ...data2]
  341. setAccountList(data)
  342. } else if (['BG_OLD', 'BG_NEW', 'ZX_SDK'].includes(sourceSystem)) {
  343. let res1 = await getAccountListNew.run({ sourceSystem })
  344. setAccountList(res1?.map((item: any) => ({ label: item.accountId, value: item.accountId, corporationName: '' })))
  345. }
  346. }
  347. getAccount()
  348. }
  349. }, [isAccountId, sourceSystem])
  350. /** 游戏列表 */
  351. useEffect(() => {
  352. if (isGameId || isOrderGameId || isParentId || isParentIds || isGameIds || isSuperParentGameId) {
  353. getGameListNew.run({ sourceSystem }).then(res => {
  354. const { gameList, parentGameList, superGameList } = res
  355. // if (['BG_OLD', 'BG_NEW', 'ZX_SDK'].includes(sourceSystem)) {
  356. setGameList(gameList?.map((item: { id: any; game_name: any }) => ({ id: item.id, name: item.game_name })) || [])
  357. // }
  358. setParentGameList(parentGameList)
  359. setSuperGameList(superGameList)
  360. })
  361. // if (sourceSystem === 'ZX_ONE') {
  362. // getGameChoiceList.run().then(res => {
  363. // setGameList(res || [])
  364. // })
  365. // }
  366. }
  367. }, [isGameId, isGameIds, isOrderGameId, isParentId, isParentIds, isSuperParentGameId, sourceSystem])
  368. useEffect(() => {
  369. if (isCpId) {
  370. getCpChoiceList.run()
  371. }
  372. }, [isCpId])
  373. useEffect(() => {
  374. if (isVipLevel) {
  375. getVipLevel.run()
  376. }
  377. }, [isVipLevel])
  378. /** 投手列表 */
  379. useEffect(() => {
  380. if (isSysUserId || isSysUserIds) {
  381. if (['BG_OLD', 'BG_NEW', 'ZX_SDK'].includes(sourceSystem)) {
  382. getPitcherListNew.run({ sourceSystem }).then(res => {
  383. setUserIdList(res?.map((item: { pitcherId: any; pitcherName: any }) => ({ userId: item.pitcherId, nickname: item.pitcherName })))
  384. })
  385. } else {
  386. getSubUserWithSelfList.run().then(res => {
  387. setUserIdList(res ? Object.keys(res)?.map(key => ({ userId: key, nickname: res[key] })) : [])
  388. })
  389. }
  390. }
  391. }, [isSysUserId, isSysUserIds, sourceSystem])
  392. /** 推广渠道 */
  393. useEffect(() => {
  394. if (isAgentId || isUserLastRegAgentId) {
  395. if (['BG_OLD', 'BG_NEW', 'ZX_SDK'].includes(sourceSystem)) {
  396. getAgentListNew.run({ sourceSystem }).then(res => {
  397. setAgentData(res?.map((item: { agentName: any; agentId: any }) => ({ label: item.agentName, value: item.agentId })))
  398. })
  399. } else {
  400. getChannelChoiceList.run().then(res => {
  401. console.log(res)
  402. setAgentData(res?.map((item: { agentName: any; id: any }) => ({ label: item.agentName, value: item.id })))
  403. })
  404. }
  405. }
  406. }, [isAgentId, sourceSystem, isUserLastRegAgentId])
  407. /** 游戏应用类型 */
  408. useEffect(() => {
  409. if (isGameType) {
  410. getGameChoiceParentListType1.run()
  411. }
  412. }, [isGameType])
  413. /** 操作系统 */
  414. useEffect(() => {
  415. if (isOs) {
  416. getUserSystemTypeChoiceList.run()
  417. }
  418. }, [isOs])
  419. /** 支付方式 */
  420. useEffect(() => {
  421. if (isPayWay) {
  422. getPayList.run()
  423. }
  424. }, [isPayWay])
  425. const onFinish = (data: any) => {
  426. // 处理订单创建日期
  427. if (isCreateDay) {
  428. if (data?.createDay && data?.createDay?.length > 0) {
  429. data.beginOrderTime = moment(data?.createDay[0]).format('YYYY-MM-DD')
  430. data.endOrderTime = moment(data?.createDay[1]).format('YYYY-MM-DD')
  431. } else {
  432. data.beginOrderTime = ''
  433. data.endOrderTime = ''
  434. }
  435. delete data.createDay
  436. }
  437. // 处理 用户注册日期
  438. if (isRegDay) {
  439. if (data?.regDay && data?.regDay?.length > 0) {
  440. data.regStartDay = moment(data?.regDay[0]).format('YYYY-MM-DD')
  441. data.regEndDay = moment(data?.regDay[1]).format('YYYY-MM-DD')
  442. } else {
  443. data.regStartDay = ''
  444. data.regEndDay = ''
  445. }
  446. delete data.regDay
  447. }
  448. // 处理 消耗日期
  449. if (isConsumeDay) {
  450. if (data?.consumeDay && data?.consumeDay?.length > 0) {
  451. data.costBeginDay = moment(data?.consumeDay[0]).format('YYYY-MM-DD')
  452. data.costEndDay = moment(data?.consumeDay[1]).format('YYYY-MM-DD')
  453. } else {
  454. data.costBeginDay = ''
  455. data.costEndDay = ''
  456. }
  457. delete data.consumeDay
  458. }
  459. // 处理 不同排行榜 选择
  460. if (isSelectRanking) {
  461. switch (data?.dateType) {
  462. case 'all':
  463. data.beginDay = ''
  464. data.endDay = ''
  465. break;
  466. case 'today':
  467. data.beginDay = moment().format('YYYY-MM-DD')
  468. data.endDay = moment().format('YYYY-MM-DD')
  469. break
  470. case 'yesterday':
  471. data.beginDay = moment().subtract(1, 'd').format('YYYY-MM-DD')
  472. data.endDay = moment().subtract(1, 'd').format('YYYY-MM-DD')
  473. break
  474. case '7days':
  475. data.beginDay = moment().subtract(7, 'd').format('YYYY-MM-DD')
  476. data.endDay = moment().format('YYYY-MM-DD')
  477. break
  478. case '30days':
  479. data.beginDay = moment().subtract(30, 'd').format('YYYY-MM-DD')
  480. data.endDay = moment().format('YYYY-MM-DD')
  481. break
  482. }
  483. delete data?.dateType
  484. }
  485. console.log('更新了字段---->', data);
  486. onChange && onChange(data)
  487. }
  488. const disabledDate: RangePickerProps['disabledDate'] = (current) => {
  489. // Can not select days before today and today
  490. if (consumeDay && consumeDay?.length === 2) {
  491. let [d1] = consumeDay
  492. return current && (current < moment(d1) || current > moment().endOf('day'));
  493. }
  494. return current && current > moment().endOf('day');
  495. };
  496. return <Form layout="inline" className='queryForm' initialValues={initialValues} name="basic" form={form} onFinish={onFinish}>
  497. <Row gutter={[0, 6]}>
  498. {/* 数据源搜索 */}
  499. {isSource && <Col><Form.Item name='sourceSystem'>
  500. <Select
  501. showSearch
  502. style={{ width: 100 }}
  503. allowClear
  504. placeholder={'数据源选择'}
  505. filterOption={(input, option) =>
  506. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  507. }
  508. >
  509. <Select.Option value="BG_OLD">布谷-old</Select.Option>
  510. <Select.Option value="BG_NEW">布谷-new</Select.Option>
  511. <Select.Option value="ZX_SDK">布谷-zx</Select.Option>
  512. <Select.Option value="ZX_ONE">赞象</Select.Option>
  513. </Select>
  514. </Form.Item></Col>}
  515. {/* 展示数据类型 */}
  516. {isUserEnterType && <Col><Form.Item name='tableTypes'>
  517. <Select
  518. showSearch
  519. style={{ width: 130 }}
  520. allowClear
  521. placeholder={'展示数据类型'}
  522. filterOption={(input, option) =>
  523. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  524. }
  525. >
  526. <Select.Option value="buy">买量</Select.Option>
  527. <Select.Option value="nature">自然量</Select.Option>
  528. <Select.Option value="total">总量</Select.Option>
  529. </Select>
  530. </Form.Item></Col>}
  531. {/* 订单渠道类型 */}
  532. {isOrderLy && <Col><Form.Item name='orderAgentType'>
  533. <Select
  534. showSearch
  535. style={{ width: 130 }}
  536. allowClear
  537. placeholder={'订单渠道类型'}
  538. filterOption={(input, option) =>
  539. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  540. }
  541. >
  542. <Select.Option value="buy">买量</Select.Option>
  543. <Select.Option value="nature">自然量</Select.Option>
  544. </Select>
  545. </Form.Item></Col>}
  546. {isActiveTypes && <Col><Form.Item name='activeTypes'>
  547. <Select
  548. showSearch
  549. style={{ width: 130 }}
  550. placeholder={'留存数据的类型'}
  551. filterOption={(input, option) =>
  552. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  553. }
  554. >
  555. {Object.keys(ActiveEnum).map(key => <Select.Option value={key} key={key}>{ActiveEnum[key]}</Select.Option>)}
  556. </Select>
  557. </Form.Item></Col>}
  558. {/* 不同排行榜选择 */}
  559. {isSelectRanking && <Col><Form.Item name='dateType'>
  560. <Radio.Group>
  561. <Radio.Button value="all">总排行</Radio.Button>
  562. <Radio.Button value="today">今日排行</Radio.Button>
  563. <Radio.Button value="yesterday">昨日排行</Radio.Button>
  564. <Radio.Button value="7days">7日排行</Radio.Button>
  565. <Radio.Button value="30days">30日排行</Radio.Button>
  566. </Radio.Group>
  567. </Form.Item></Col>}
  568. {/* 所在原始服务器名称 */}
  569. {isSourceServerName && <Col><Form.Item name='sourceServerName'>
  570. <Input placeholder="原始服务器名称" allowClear style={{ width: 140 }} />
  571. </Form.Item></Col>}
  572. {/* 广告区服名称 */}
  573. {isServerName && <Col><Form.Item name='serverName'>
  574. <Input placeholder="区服名称" allowClear style={{ width: 140 }} />
  575. </Form.Item></Col>}
  576. {/* 广告区服ID */}
  577. {isServerId && <Col><Form.Item name='serverId'>
  578. <Input placeholder="区服ID" allowClear style={{ width: 140 }} {...(isServerId && typeof isServerId === 'object') ? isServerId : {}} />
  579. </Form.Item></Col>}
  580. {/* 广告账户名称 */}
  581. {isAccount && <Col><Form.Item name='accountName'>
  582. <Input placeholder="广告账号名称" allowClear style={{ width: 140 }} />
  583. </Form.Item></Col>}
  584. {/* 广告账号ID */}
  585. {isAccountId && <Col><Form.Item name='accountId'>
  586. <Select
  587. maxTagCount={1}
  588. mode={isAccountIds ? 'multiple' : undefined}
  589. showSearch
  590. style={{ minWidth: 140 }}
  591. allowClear
  592. placeholder={'广告账号'}
  593. loading={getAccountListNew.loading || getAllOfOwnerUser.loading}
  594. filterOption={(input, option) =>
  595. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  596. }
  597. >
  598. {accountList.map(item => <Select.Option key={item.value} value={item.value}>{item.label?.toString() + (item.corporationName ? `_${item.corporationName}` : '')}</Select.Option>)}
  599. </Select>
  600. </Form.Item></Col>}
  601. {/* 公司ID */}
  602. {isCompanyId && <Col><Form.Item name='companyId'>
  603. <Select
  604. maxTagCount={1}
  605. showSearch
  606. style={{ minWidth: 140 }}
  607. allowClear
  608. placeholder={'请选择公司'}
  609. filterOption={(input, option) =>
  610. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  611. }
  612. >
  613. <Select.Option value={'1'}>公司001</Select.Option>
  614. <Select.Option value={'2'}>公司002</Select.Option>
  615. </Select>
  616. </Form.Item></Col>}
  617. {/* cp名 */}
  618. {isCpName && <Col><Form.Item name='cpName'>
  619. <Input placeholder="CP名称" allowClear style={{ width: 140 }} />
  620. </Form.Item></Col>}
  621. {/* CPID */}
  622. {isCpId && <Col><Form.Item name='cpId'>
  623. <Select
  624. maxTagCount={1}
  625. showSearch
  626. style={{ minWidth: 140 }}
  627. allowClear
  628. placeholder={'请选择CP'}
  629. filterOption={(input, option) =>
  630. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  631. }
  632. >
  633. {getCpChoiceList?.data?.map((item: { id: React.Key | null | undefined; cpName: boolean | React.ReactChild | React.ReactFragment | React.ReactPortal | null | undefined }) => <Select.Option value={item.id} key={item.id}>{item.cpName}</Select.Option>)}
  634. </Select>
  635. </Form.Item></Col>}
  636. {/* CP方订单ID */}
  637. {isCpOrderId && <Col><Form.Item name='cpOrderId'>
  638. <Input placeholder="CP订单号" style={{ width: 140 }} />
  639. </Form.Item></Col>}
  640. {/* CP通知状态 */}
  641. {isCpStatus && <Col><Form.Item name='cpStatus'>
  642. <Select
  643. maxTagCount={1}
  644. showSearch
  645. style={{ minWidth: 140 }}
  646. allowClear
  647. placeholder={'CP通知状态'}
  648. filterOption={(input, option) =>
  649. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  650. }
  651. >
  652. <Select.Option value={'1'}>待处理</Select.Option>
  653. <Select.Option value={'2'}>成功</Select.Option>
  654. <Select.Option value={'3'}>失败</Select.Option>
  655. </Select>
  656. </Form.Item></Col>}
  657. {/* 计划名称 */}
  658. {isProjectName && <Col><Form.Item name='projectName'>
  659. <Input placeholder="项目名称" allowClear style={{ width: 140 }} />
  660. </Form.Item></Col>}
  661. {/* 计划ID */}
  662. {isProjectId && <Col><Form.Item name='projectId'>
  663. <Input placeholder="项目ID" allowClear style={{ width: 140 }} />
  664. </Form.Item></Col>}
  665. {/* 广告名称 */}
  666. {isPromotionName && <Col><Form.Item name='promotionName'>
  667. <Input placeholder="广告名称" allowClear style={{ width: 140 }} />
  668. </Form.Item></Col>}
  669. {/* 广告ID */}
  670. {isProjectId1 && <Col><Form.Item name='projectId'>
  671. <Input placeholder="广告ID" allowClear style={{ width: 140 }} />
  672. </Form.Item></Col>}
  673. {/* 广告ID */}
  674. {isPromotionId && <Col><Form.Item name='promotionId'>
  675. <Input placeholder="广告ID" allowClear style={{ width: 140 }} />
  676. </Form.Item></Col>}
  677. {/* 计划ID */}
  678. {isPromotionId1 && <Col><Form.Item name='promotionId'>
  679. <Input placeholder="计划ID" allowClear style={{ width: 140 }} />
  680. </Form.Item></Col>}
  681. {/* 广告状态 */}
  682. {isAdTTStatus && <Col><Form.Item name='status'>
  683. <Select
  684. maxTagCount={1}
  685. showSearch
  686. style={{ width: 140 }}
  687. allowClear
  688. dropdownMatchSelectWidth={false}
  689. placeholder={'请选择广告状态'}
  690. filterOption={(input, option) =>
  691. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  692. }
  693. >
  694. {Object.keys(ADSTTTATUSEnum).map(key => <Select.Option value={key} key={key}>{ADSTTTATUSEnum[key]}</Select.Option>)}
  695. </Select>
  696. </Form.Item></Col>}
  697. {isAdTXStatus && <Col><Form.Item name='status'>
  698. <Select
  699. maxTagCount={1}
  700. showSearch
  701. style={{ width: 140 }}
  702. allowClear
  703. dropdownMatchSelectWidth={false}
  704. placeholder={'请选择广告状态'}
  705. filterOption={(input, option) =>
  706. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  707. }
  708. >
  709. {Object.keys(ADSTATUSEnum).map(key => <Select.Option value={key} key={key}>{ADSTATUSEnum[key]}</Select.Option>)}
  710. </Select>
  711. </Form.Item></Col>}
  712. {/* 客户端类型 */}
  713. {isDeviceType && <Col><Form.Item name='deviceType'>
  714. <Select
  715. maxTagCount={1}
  716. showSearch
  717. style={{ width: 140 }}
  718. allowClear
  719. dropdownMatchSelectWidth={false}
  720. placeholder={'请选择客户端类型'}
  721. filterOption={(input, option) =>
  722. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  723. }
  724. >
  725. {Object.keys(DeviceType).map(key => <Select.Option value={key} key={key}>{DeviceType[key]}</Select.Option>)}
  726. </Select>
  727. </Form.Item></Col>}
  728. {/* 登录类型 */}
  729. {isLoginType && <Col><Form.Item name='type'>
  730. <Select
  731. maxTagCount={1}
  732. showSearch
  733. style={{ width: 140 }}
  734. allowClear
  735. dropdownMatchSelectWidth={false}
  736. placeholder={'请选择登录类型'}
  737. filterOption={(input, option) =>
  738. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  739. }
  740. >
  741. {Object.keys(LoginType).map(key => <Select.Option value={key} key={key}>{LoginType[key]}</Select.Option>)}
  742. </Select>
  743. </Form.Item></Col>}
  744. {/* 操作设备 */}
  745. {isDevice && <Col><Form.Item name='device'>
  746. <Input placeholder="操作设备" allowClear style={{ width: 140 }} />
  747. </Form.Item></Col>}
  748. {/* 游戏名 */}
  749. {isRechargeGameName && <Col><Form.Item name='rechargeGameName'>
  750. <Input placeholder="游戏名" allowClear style={{ width: 140 }} />
  751. </Form.Item></Col>}
  752. {/* 玩家ID */}
  753. {isGameUserId && <Col><Form.Item name='gameUserId'>
  754. <Input placeholder="玩家ID" allowClear style={{ width: 140 }} />
  755. </Form.Item></Col>}
  756. {/* 游戏名 */}
  757. {isGameName && <Col><Form.Item name='gameName'>
  758. <Input placeholder="游戏名" allowClear style={{ width: 140 }} />
  759. </Form.Item></Col>}
  760. {/* 是否 开启 添加父游戏维度筛选 */}
  761. {isGameDimension && <Col><Form.Item name='gameDimension'>
  762. <Select
  763. maxTagCount={1}
  764. showSearch
  765. style={{ width: 110 }}
  766. allowClear
  767. placeholder={'游戏维度'}
  768. filterOption={(input, option) =>
  769. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  770. }
  771. onChange={() => form.setFieldsValue({ gameId: undefined })}
  772. >
  773. <Select.Option value={1}>子游戏维度</Select.Option>
  774. <Select.Option value={2}>父游戏维度</Select.Option>
  775. </Select>
  776. </Form.Item></Col>}
  777. {/* 游戏ID搜索 */}
  778. {isGameId && <Col><Form.Item name='gameId'>
  779. <Select
  780. maxTagCount={1}
  781. showSearch
  782. style={{ minWidth: 140 }}
  783. allowClear
  784. loading={getGameListNew.loading || getGameChoiceList.loading}
  785. placeholder={'请选择游戏'}
  786. filterOption={(input, option) =>
  787. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  788. }
  789. >
  790. {gameList?.map((item: any) => <Select.Option value={item.id} key={item.id}>{item.name}</Select.Option>)}
  791. </Select>
  792. </Form.Item></Col>}
  793. {isGameIds && <Col><Form.Item name='gameId'>
  794. <Select
  795. maxTagCount={1}
  796. mode="multiple"
  797. showSearch
  798. style={{ minWidth: 140 }}
  799. allowClear
  800. loading={getGameListNew.loading || getGameChoiceList.loading}
  801. placeholder={'请选择游戏'}
  802. filterOption={(input, option) =>
  803. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  804. }
  805. >
  806. {/* {gameDimension === 2 ? 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>) : getGameChoiceList?.data?.map((item: any) => <Select.Option value={item.id} key={item.id}>{item.name}</Select.Option>)} */}
  807. {gameDimension === 2 ? 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>) : gameList?.map((item: any) => <Select.Option value={item.id} key={item.id}>{item.name}</Select.Option>)}
  808. </Select>
  809. </Form.Item></Col>}
  810. {/* 充值游戏ID */}
  811. {isOrderGameId && <Col><Form.Item name='orderGameId'>
  812. <Select
  813. maxTagCount={1}
  814. showSearch
  815. style={{ minWidth: 140 }}
  816. allowClear
  817. placeholder={'请选择充值游戏'}
  818. filterOption={(input, option) =>
  819. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  820. }
  821. >
  822. {/* {getGameChoiceList?.data?.map((item: any) => <Select.Option value={item.id} key={item.id}>{item.name}</Select.Option>)} */}
  823. {gameList?.map((item: any) => <Select.Option value={item.id} key={item.id}>{item.name}</Select.Option>)}
  824. </Select>
  825. </Form.Item></Col>}
  826. {/* 超父游戏ID */}
  827. {isSuperParentGameId && <Col><Form.Item name='superParentGameId'>
  828. <Select
  829. maxTagCount={1}
  830. showSearch
  831. style={{ minWidth: 140 }}
  832. allowClear
  833. disabled={parentId || parentGameIds?.length > 0}
  834. placeholder={'请选择超父游戏'}
  835. filterOption={(input, option) =>
  836. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  837. }
  838. onChange={(e) => {
  839. if (isServerIds && e) {
  840. form.setFieldsValue({ serverIds: undefined })
  841. getGameServerList.run({ gameId: e })
  842. getGameUnMergeServerList.run({ gameId: e })
  843. } else {
  844. getGameServerList?.data && getGameServerList.mutate([])
  845. getGameUnMergeServerList?.data && getGameUnMergeServerList.mutate([])
  846. }
  847. }}
  848. >
  849. {superGameList?.map((item: any) => <Select.Option value={item.super_game_id} key={item.super_game_id}>{item.super_game_name}</Select.Option>)}
  850. </Select>
  851. </Form.Item></Col>}
  852. {/* 父游戏ID */}
  853. {isParentId && <Col><Form.Item name='parentId'>
  854. <Select
  855. maxTagCount={1}
  856. showSearch
  857. style={{ minWidth: 140 }}
  858. allowClear
  859. disabled={superParentGameId}
  860. placeholder={'请选择父游戏'}
  861. filterOption={(input, option) =>
  862. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  863. }
  864. onChange={(e, option) => {
  865. if (isServerIds) {
  866. form.setFieldsValue({ serverIds: undefined })
  867. if (option?.['data-super-id']) {
  868. getGameServerList.run({ gameId: option['data-super-id'] })
  869. } else {
  870. getGameServerList?.data && getGameServerList.mutate([])
  871. }
  872. }
  873. if (isServerIdUn) {
  874. form.setFieldsValue({ serverId: undefined })
  875. if (option?.['data-super-id']) {
  876. getGameServerUnList.run({ gameId: option['data-super-id'] })
  877. } else {
  878. getGameServerUnList?.data && getGameServerUnList.mutate([])
  879. }
  880. }
  881. }}
  882. >
  883. {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>)}
  884. </Select>
  885. </Form.Item></Col>}
  886. {isParentIds && <Col><Form.Item name='parentGameIds'>
  887. <Select
  888. maxTagCount={1}
  889. mode="multiple"
  890. showSearch
  891. style={{ minWidth: 140 }}
  892. allowClear
  893. disabled={superParentGameId}
  894. placeholder={'请选择父游戏'}
  895. filterOption={(input, option) =>
  896. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  897. }
  898. onChange={(e, option) => {
  899. if (isServerIds) {
  900. form.setFieldsValue({ serverIds: undefined })
  901. }
  902. if (isServerIdUn) {
  903. form.setFieldsValue({ serverId: undefined })
  904. }
  905. }}
  906. >
  907. {parentGameList?.map((item: any) => <Select.Option value={item.parent_game_id} key={item.parent_game_id}>{item.parent_game_name}</Select.Option>)}
  908. </Select>
  909. </Form.Item></Col>}
  910. {(parentId || superParentGameId) && <>
  911. {/* 广告区服名称 */}
  912. {isGameServerName && <Col><Form.Item name='serverName'>
  913. <Input placeholder="区服名称" allowClear style={{ width: 140 }} disabled={serverIds?.length > 0} />
  914. </Form.Item></Col>}
  915. {/* 区服id */}
  916. {isServerIds && <Col><Form.Item name='serverIds'>
  917. <Select
  918. maxTagCount={1}
  919. mode="multiple"
  920. showSearch
  921. disabled={serverName}
  922. style={{ minWidth: 140 }}
  923. allowClear
  924. placeholder={'请选择区服'}
  925. filterOption={(input, option) =>
  926. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  927. }
  928. loading={getGameServerList.loading}
  929. >
  930. {(isIsParticipateMerge && isParticipateMerge) ? getGameUnMergeServerList?.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>) : 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>)}
  931. </Select>
  932. </Form.Item></Col>}
  933. {/* 是否合服 */}
  934. {isIsMergeServer && <Col><Form.Item name='isMergeServer' valuePropName="checked">
  935. <Checkbox onChange={() => form.setFieldsValue({ serverIds: undefined })}>是否合服</Checkbox>
  936. </Form.Item></Col>}
  937. {/* 是否参与过合服 */}
  938. {isIsParticipateMerge && <Col><Form.Item name='isParticipateMerge' valuePropName="checked">
  939. <Checkbox onChange={() => form.setFieldsValue({ serverIds: undefined })}>是否未参与过合服</Checkbox>
  940. </Form.Item></Col>}
  941. {/* 区服id */}
  942. {isServerIdUn && <Col><Form.Item name='serverId'>
  943. <Select
  944. maxTagCount={1}
  945. mode="multiple"
  946. showSearch
  947. disabled={serverName}
  948. style={{ minWidth: 140 }}
  949. allowClear
  950. placeholder={'请选择区服'}
  951. filterOption={(input, option) =>
  952. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  953. }
  954. loading={getGameServerUnList.loading}
  955. >
  956. {getGameServerUnList?.data?.filter((item: { isSourceServer: any }) => item.isSourceServer)?.map((item: any) => <Select.Option value={item.serverId} key={item.serverId}>{item.serverName}</Select.Option>)}
  957. </Select>
  958. </Form.Item></Col>}
  959. </>}
  960. {/* 游戏应用类型搜索 */}
  961. {isGameType && <Col><Form.Item name='gameType'>
  962. <Select
  963. maxTagCount={1}
  964. showSearch
  965. style={{ minWidth: 140 }}
  966. allowClear
  967. placeholder={'请选择游戏应用类型'}
  968. filterOption={(input, option) =>
  969. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  970. }
  971. >
  972. {getGameChoiceParentListType1?.data?.map((item: any) => <Select.Option value={item.id} key={item.id}>{item.name}</Select.Option>)}
  973. </Select>
  974. </Form.Item></Col>}
  975. {/* 布谷游戏应用类型搜索 */}
  976. {isBGGameClassify && <Col><Form.Item name='gameClassify'>
  977. <Select
  978. maxTagCount={1}
  979. showSearch
  980. style={{ width: 140 }}
  981. allowClear
  982. placeholder={'游戏应用类型'}
  983. filterOption={(input, option) =>
  984. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  985. }
  986. >
  987. {Object.keys(gameClassifyEnum).map(key => <Select.Option value={key} key={key}>{gameClassifyEnum[key]}</Select.Option>)}
  988. </Select>
  989. </Form.Item></Col>}
  990. {/* 游戏角色名 */}
  991. {isGameRoleName && <Col><Form.Item name='roleName'>
  992. <Input placeholder="游戏角色名" allowClear style={{ width: 140 }} />
  993. </Form.Item></Col>}
  994. {/* 游戏角色名id搜索 */}
  995. {isGameRoleId && <Col><Form.Item name='roleId'>
  996. <Input placeholder="角色ID" allowClear style={{ width: 140 }} />
  997. </Form.Item></Col>}
  998. {/* 客户微信号 */}
  999. {isWeChat && <Col><Form.Item name='weChat'>
  1000. <Input placeholder="客户微信号" allowClear style={{ width: 140 }} />
  1001. </Form.Item></Col>}
  1002. {/* 客户微信号 */}
  1003. {isWeChatCompany && <Col><Form.Item name='weChatCompany'>
  1004. <Input placeholder="企业微信号" allowClear style={{ width: 140 }} />
  1005. </Form.Item></Col>}
  1006. {/* 是否首充 */}
  1007. {isFirstRecharge && <Col><Form.Item name='isFirstRecharge'>
  1008. <Select
  1009. maxTagCount={1}
  1010. showSearch
  1011. style={{ width: 100 }}
  1012. allowClear
  1013. placeholder={'是否首充'}
  1014. filterOption={(input, option) =>
  1015. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1016. }
  1017. >
  1018. <Select.Option value={'0'}>否</Select.Option>
  1019. <Select.Option value={'1'}>是</Select.Option>
  1020. </Select>
  1021. </Form.Item></Col>}
  1022. {/* 是否切量 */}
  1023. {isSwitch && <Col><Form.Item name='isSwitch'>
  1024. <Select
  1025. maxTagCount={1}
  1026. showSearch
  1027. style={{ minWidth: 140 }}
  1028. allowClear
  1029. placeholder={'请选择是否切量'}
  1030. filterOption={(input, option) =>
  1031. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1032. }
  1033. >
  1034. <Select.Option value={'0'}>否</Select.Option>
  1035. <Select.Option value={'1'}>是</Select.Option>
  1036. </Select>
  1037. </Form.Item></Col>}
  1038. {/* 收款商户号 */}
  1039. {isMerchantNo && <Col><Form.Item name='merchantNo'>
  1040. <Input placeholder="收款商户号" allowClear style={{ width: 140 }} />
  1041. </Form.Item></Col>}
  1042. {/* 收款商户号 */}
  1043. {isMerchantOrderNo && <Col><Form.Item name='merchantOrderNo'>
  1044. <Input placeholder="第三方支付订单号" allowClear style={{ width: 140 }} />
  1045. </Form.Item></Col>}
  1046. {/* 收款商户号 */}
  1047. {isOrderId && <Col><Form.Item name='orderId'>
  1048. <Input placeholder="商户订单号" allowClear style={{ width: 140 }} />
  1049. </Form.Item></Col>}
  1050. {/* 支付状态 */}
  1051. {isPayStatus && <Col><Form.Item name='orderStatus'>
  1052. <Select
  1053. showSearch
  1054. style={{ width: 100 }}
  1055. allowClear
  1056. placeholder={'支付状态'}
  1057. filterOption={(input, option) =>
  1058. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1059. }
  1060. >
  1061. {Object.keys(PayStatus).map(key => <Select.Option value={key} key={key}>{PayStatus[key]}</Select.Option>)}
  1062. </Select>
  1063. </Form.Item></Col>}
  1064. {/* 支付方式 */}
  1065. {isPayWay && <Col><Form.Item name='payWay'>
  1066. <Select
  1067. showSearch
  1068. style={{ width: 100 }}
  1069. allowClear
  1070. placeholder={'支付方式'}
  1071. filterOption={(input, option) =>
  1072. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1073. }
  1074. >
  1075. {getPayList?.data?.map((item: any) => <Select.Option value={item.id} key={item.id}>{item.payName}</Select.Option>)}
  1076. </Select>
  1077. </Form.Item></Col>}
  1078. {/* 推广媒体 */}
  1079. {isType && <Col><Form.Item name='type'>
  1080. <Select
  1081. showSearch
  1082. style={{ width: 100 }}
  1083. allowClear
  1084. placeholder={'推广媒体'}
  1085. filterOption={(input, option) =>
  1086. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1087. }
  1088. >
  1089. {Object.keys(TYPE).map(key => <Select.Option value={key} key={key}>{TYPE[key]}</Select.Option>)}
  1090. </Select>
  1091. </Form.Item></Col>}
  1092. {/* 产品名称 */}
  1093. {isProductName && <Col><Form.Item name='productName'>
  1094. <Input placeholder="产品名称" allowClear style={{ width: 140 }} />
  1095. </Form.Item></Col>}
  1096. {/* 注册渠道名 */}
  1097. {isRegAgent && <Col><Form.Item name='regAgent'>
  1098. <Input placeholder="注册渠道名" allowClear style={{ width: 140 }} />
  1099. </Form.Item></Col>}
  1100. {/* 渠道标识 */}
  1101. {isAgentKey && <Col><Form.Item name='agentKey'>
  1102. <Input placeholder="渠道标识" allowClear style={{ width: 140 }} />
  1103. </Form.Item></Col>}
  1104. {/* 渠道名称 */}
  1105. {isAgentName && <Col><Form.Item name='agentName'>
  1106. <Input placeholder="渠道名称" allowClear style={{ width: 140 }} />
  1107. </Form.Item></Col>}
  1108. {/* 推广渠道id */}
  1109. {isAgentId && <Col><Form.Item name='agentId'>
  1110. <Select
  1111. maxTagCount={1}
  1112. mode="multiple"
  1113. showSearch
  1114. style={{ minWidth: 140 }}
  1115. allowClear
  1116. placeholder={'请选择渠道'}
  1117. loading={getChannelChoiceList.loading || getAgentListNew.loading}
  1118. filterOption={(input, option) =>
  1119. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1120. }
  1121. >
  1122. {agentData?.map((item: any) => <Select.Option value={item.value} key={item.value}>{item.label}</Select.Option>)}
  1123. </Select>
  1124. </Form.Item></Col>}
  1125. {/* 投放渠道名 */}
  1126. {isPutAgent && <Col><Form.Item name='putAgent'>
  1127. <Input placeholder="投放渠道名" allowClear style={{ width: 140 }} />
  1128. </Form.Item></Col>}
  1129. {/* 投手名 */}
  1130. {isSysUserName && <Col><Form.Item name='sysUserName'>
  1131. <Input placeholder="投手名" allowClear style={{ width: 140 }} />
  1132. </Form.Item></Col>}
  1133. {/* 投手ID */}
  1134. {isSysUserId && <Col><Form.Item name='pitcherId'>
  1135. <Select
  1136. maxTagCount={1}
  1137. showSearch
  1138. style={{ width: 120 }}
  1139. allowClear
  1140. loading={getSubUserWithSelfList.loading || getPitcherListNew.loading}
  1141. placeholder={'请选择投手'}
  1142. filterOption={(input, option) =>
  1143. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1144. }
  1145. >
  1146. {userIdList.map((item: any) => <Select.Option value={item.userId} key={item.userId}>{item.nickname}</Select.Option>)}
  1147. </Select>
  1148. </Form.Item></Col>}
  1149. {isSysUserIds && <Col><Form.Item name='pitcherId'>
  1150. <Select
  1151. maxTagCount={1}
  1152. showSearch
  1153. style={{ minWidth: 120 }}
  1154. allowClear
  1155. mode="multiple"
  1156. loading={getSubUserWithSelfList.loading || getPitcherListNew.loading}
  1157. placeholder={'请选择投手'}
  1158. filterOption={(input, option) =>
  1159. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1160. }
  1161. >
  1162. {userIdList.map((item: any) => <Select.Option value={item.userId} key={item.userId}>{item.nickname}</Select.Option>)}
  1163. </Select>
  1164. </Form.Item></Col>}
  1165. {/* 客服ID */}
  1166. {isCustomerServerId && <Col><Form.Item name='customerServerId'>
  1167. <Select
  1168. maxTagCount={1}
  1169. showSearch
  1170. style={{ width: 120 }}
  1171. allowClear
  1172. placeholder={'请选择客服'}
  1173. filterOption={(input, option) =>
  1174. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1175. }
  1176. >
  1177. <Select.Option value={0}>未操作</Select.Option>
  1178. {customerList.map((item: any) => <Select.Option value={item.userId} key={item.userId}>{item.nickname}</Select.Option>)}
  1179. </Select>
  1180. </Form.Item></Col>}
  1181. {/* 运营ID */}
  1182. {isOperatorId && <Col><Form.Item name='operatorId'>
  1183. <Select
  1184. maxTagCount={1}
  1185. showSearch
  1186. style={{ width: 120 }}
  1187. allowClear
  1188. placeholder={'请选择运营'}
  1189. filterOption={(input, option) =>
  1190. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1191. }
  1192. >
  1193. <Select.Option value={0}>未操作</Select.Option>
  1194. {operateList.map((item: any) => <Select.Option value={item.userId} key={item.userId}>{item.nickname}</Select.Option>)}
  1195. </Select>
  1196. </Form.Item></Col>}
  1197. {/* GSID */}
  1198. {isGsId && <Col><Form.Item name='gsId'>
  1199. <Select
  1200. maxTagCount={1}
  1201. showSearch
  1202. style={{ width: 120 }}
  1203. allowClear
  1204. placeholder={'请选择GS'}
  1205. filterOption={(input, option) =>
  1206. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1207. }
  1208. >
  1209. <Select.Option value={0}>未操作</Select.Option>
  1210. {gsList.map((item: any) => <Select.Option value={item.userId} key={item.userId}>{item.nickname}</Select.Option>)}
  1211. </Select>
  1212. </Form.Item></Col>}
  1213. {/* 玩家账号 */}
  1214. {isUserName && <Col><Form.Item name='username'>
  1215. <Input placeholder="玩家账号" allowClear style={{ width: 140 }} />
  1216. </Form.Item></Col>}
  1217. {/* 用户id */}
  1218. {isUserId && <Col><Form.Item name='userId'>
  1219. <Input placeholder="用户ID" allowClear style={{ width: 140 }} />
  1220. </Form.Item></Col>}
  1221. {/* 玩家昵称 */}
  1222. {isNickname && <Col><Form.Item name='nickname'>
  1223. <Input placeholder="玩家昵称" allowClear style={{ width: 140 }} />
  1224. </Form.Item></Col>}
  1225. {/* 绑定手机 */}
  1226. {isMobile && <Col><Form.Item name='mobile'>
  1227. <Input placeholder="绑定手机" allowClear style={{ width: 140 }} />
  1228. </Form.Item></Col>}
  1229. {/* 注册IP */}
  1230. {isRegIp && <Col><Form.Item name='regIp'>
  1231. <Input placeholder="注册IP" allowClear style={{ width: 140 }} />
  1232. </Form.Item></Col>}
  1233. {/* 注册IP */}
  1234. {isIp && <Col><Form.Item name='ip'>
  1235. <Input placeholder="IP" allowClear style={{ width: 140 }} />
  1236. </Form.Item></Col>}
  1237. {/* 注册IP */}
  1238. {isRankingNum && <Col><Form.Item name='rankingNum'>
  1239. <InputNumber placeholder="排名范围" min={1} />
  1240. </Form.Item></Col>}
  1241. {/* 是否充值 */}
  1242. {isIsRecharge && <Col><Form.Item name='isRecharge'>
  1243. <Select
  1244. showSearch
  1245. style={{ width: 98 }}
  1246. allowClear
  1247. placeholder={'是否充值'}
  1248. filterOption={(input, option) =>
  1249. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1250. }
  1251. >
  1252. <Select.Option value={false}>否</Select.Option>
  1253. <Select.Option value={true}>是</Select.Option>
  1254. </Select>
  1255. </Form.Item></Col>}
  1256. {/* 实名状态 */}
  1257. {isIsAuth && <Col><Form.Item name='isAuth'>
  1258. <Select
  1259. showSearch
  1260. allowClear
  1261. style={{ width: 98 }}
  1262. placeholder={'实名状态'}
  1263. filterOption={(input, option) =>
  1264. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1265. }
  1266. >
  1267. <Select.Option value={false}>未实名</Select.Option>
  1268. <Select.Option value={true}>已实名</Select.Option>
  1269. </Select>
  1270. </Form.Item></Col>}
  1271. {/* 是否绑定手机 */}
  1272. {isIsBindMobile && <Col><Form.Item name='isBindMobile'>
  1273. <Select
  1274. showSearch
  1275. allowClear
  1276. style={{ width: 126 }}
  1277. placeholder={'是否绑定手机'}
  1278. filterOption={(input, option) =>
  1279. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1280. }
  1281. >
  1282. <Select.Option value={false}>未绑定</Select.Option>
  1283. <Select.Option value={true}>已绑定</Select.Option>
  1284. </Select>
  1285. </Form.Item></Col>}
  1286. {/* 玩家状态 */}
  1287. {isUserStatus && <Col><Form.Item name='userStatus'>
  1288. <Select
  1289. showSearch
  1290. allowClear
  1291. style={{ width: 110 }}
  1292. placeholder={'玩家状态'}
  1293. filterOption={(input, option) =>
  1294. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1295. }
  1296. >
  1297. <Select.Option value={'1'}>试玩</Select.Option>
  1298. <Select.Option value={'2'}>正常</Select.Option>
  1299. <Select.Option value={'3'}>冻结</Select.Option>
  1300. </Select>
  1301. </Form.Item></Col>}
  1302. {/* 是否创角 */}
  1303. {isCreateRole && <Col><Form.Item name='createRole'>
  1304. <Select
  1305. showSearch
  1306. allowClear
  1307. style={{ width: 110 }}
  1308. placeholder={'是否创角'}
  1309. filterOption={(input, option) =>
  1310. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1311. }
  1312. >
  1313. <Select.Option value={true}>是</Select.Option>
  1314. <Select.Option value={false}>否</Select.Option>
  1315. </Select>
  1316. </Form.Item></Col>}
  1317. {/* 是否转端 */}
  1318. {isIsChange && <Col><Form.Item name='isChange'>
  1319. <Select
  1320. showSearch
  1321. allowClear
  1322. style={{ width: 110 }}
  1323. placeholder={'是否转端'}
  1324. filterOption={(input, option) =>
  1325. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1326. }
  1327. >
  1328. <Select.Option value="2">未操作</Select.Option>
  1329. <Select.Option value="1">是</Select.Option>
  1330. <Select.Option value="0">不转端</Select.Option>
  1331. </Select>
  1332. </Form.Item></Col>}
  1333. {/* 邮件是否发送 */}
  1334. {isIsSendMail && <Col><Form.Item name='isSendMail'>
  1335. <Select
  1336. showSearch
  1337. allowClear
  1338. style={{ width: 140 }}
  1339. placeholder={'邮件是否发送'}
  1340. filterOption={(input, option) =>
  1341. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1342. }
  1343. >
  1344. <Select.Option value="1">发送</Select.Option>
  1345. <Select.Option value="0">不发送</Select.Option>
  1346. </Select>
  1347. </Form.Item></Col>}
  1348. {/* 是否退游 */}
  1349. {isRemoveGameForSystem && <Col><Form.Item name='isRemoveGameForSystem'>
  1350. <Select
  1351. showSearch
  1352. allowClear
  1353. placeholder={'系统判定是否退游'}
  1354. filterOption={(input, option) =>
  1355. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1356. }
  1357. >
  1358. <Select.Option value="1">退游</Select.Option>
  1359. <Select.Option value="0">未退游</Select.Option>
  1360. </Select>
  1361. </Form.Item></Col>}
  1362. {/* 是否退游 */}
  1363. {isRemoveGame && <Col><Form.Item name='isRemoveGame'>
  1364. <Select
  1365. showSearch
  1366. allowClear
  1367. style={{ width: 110 }}
  1368. placeholder={'是否退游'}
  1369. filterOption={(input, option) =>
  1370. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1371. }
  1372. >
  1373. <Select.Option value="2">未操作</Select.Option>
  1374. <Select.Option value="1">退游</Select.Option>
  1375. <Select.Option value="0">未退游</Select.Option>
  1376. </Select>
  1377. </Form.Item></Col>}
  1378. {/* 是否添加企微 */}
  1379. {isAddCorpWechat && <Col><Form.Item name='isAddCorpWechat'>
  1380. <Select
  1381. showSearch
  1382. allowClear
  1383. style={{ width: 135 }}
  1384. placeholder={'是否添加企微'}
  1385. filterOption={(input, option) =>
  1386. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1387. }
  1388. >
  1389. <Select.Option value="2">未操作</Select.Option>
  1390. <Select.Option value="1">是</Select.Option>
  1391. <Select.Option value="0">否</Select.Option>
  1392. </Select>
  1393. </Form.Item></Col>}
  1394. {/* 是否唤醒 */}
  1395. {isWakeUp && <Col><Form.Item name='isWakeUp'>
  1396. <Select
  1397. showSearch
  1398. allowClear
  1399. style={{ width: 110 }}
  1400. placeholder={'是否唤醒'}
  1401. filterOption={(input, option) =>
  1402. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1403. }
  1404. >
  1405. <Select.Option value="2">未操作</Select.Option>
  1406. <Select.Option value="1">是</Select.Option>
  1407. <Select.Option value="0">否</Select.Option>
  1408. </Select>
  1409. </Form.Item></Col>}
  1410. {/* vip等级 */}
  1411. {isVipLevel && <Col><Form.Item name='vipLevel'>
  1412. <Select
  1413. showSearch
  1414. allowClear
  1415. maxTagCount={1}
  1416. mode="multiple"
  1417. style={{ minWidth: 98 }}
  1418. placeholder={'角色VIP'}
  1419. filterOption={(input, option) =>
  1420. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1421. }
  1422. >
  1423. {Array(getVipLevel?.data || 0).fill('').map((_item, index) => <Select.Option value={index + 1} key={index + 1}>{index + 1}</Select.Option>)}
  1424. </Select>
  1425. </Form.Item></Col>}
  1426. {/* 操作系统 */}
  1427. {isOs && <Col><Form.Item name='os'>
  1428. <Select
  1429. maxTagCount={1}
  1430. showSearch
  1431. style={{ width: 110 }}
  1432. allowClear
  1433. placeholder={'操作系统'}
  1434. filterOption={(input, option) =>
  1435. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1436. }
  1437. >
  1438. {getUserSystemTypeChoiceList?.data?.map((item: any) => <Select.Option value={item.os} key={item.os}>{item.os}</Select.Option>)}
  1439. </Select>
  1440. </Form.Item></Col>}
  1441. {/* 支付状态 */}
  1442. {isBackStatus && <Col><Form.Item name='backStatus'>
  1443. <Select
  1444. showSearch
  1445. style={{ width: 100 }}
  1446. allowClear
  1447. placeholder={'回传状态'}
  1448. filterOption={(input, option) =>
  1449. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1450. }
  1451. >
  1452. <Select.Option value={-1}>回传失败</Select.Option>
  1453. <Select.Option value={0}>未回传</Select.Option>
  1454. <Select.Option value={1}>回传成功</Select.Option>
  1455. <Select.Option value={2}>部分成功</Select.Option>
  1456. </Select>
  1457. </Form.Item></Col>}
  1458. {/* 玩家最新染色归因投手 */}
  1459. {isUserLastPitcherId && <Col><Form.Item name='userLastPitcherId'>
  1460. <Select
  1461. maxTagCount={1}
  1462. showSearch
  1463. style={{ width: 160 }}
  1464. allowClear
  1465. loading={getSubUserWithSelfList.loading || getPitcherListNew.loading}
  1466. placeholder={'最新染色归因投手'}
  1467. filterOption={(input, option) =>
  1468. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1469. }
  1470. >
  1471. {userIdList.map((item: any) => <Select.Option value={item.userId} key={item.userId}>{item.nickname}</Select.Option>)}
  1472. </Select>
  1473. </Form.Item></Col>}
  1474. {/* 玩家最新染色渠道ID */}
  1475. {isUserLastRegAgentId && <Col><Form.Item name='userLastRegAgentId'>
  1476. <Select
  1477. showSearch
  1478. style={{ minWidth: 140 }}
  1479. allowClear
  1480. placeholder={'玩家最新染色渠道'}
  1481. loading={getChannelChoiceList.loading || getAgentListNew.loading}
  1482. filterOption={(input, option) =>
  1483. (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
  1484. }
  1485. >
  1486. {agentData?.map((item: any) => <Select.Option value={item.value} key={item.value}>{item.label}</Select.Option>)}
  1487. </Select>
  1488. </Form.Item></Col>}
  1489. {/* 玩家最新染色时间 */}
  1490. {isUserLastRegTime && <Col><Form.Item name='userLastRegTime'>
  1491. <DatePicker placeholder={'最新染色时间'} />
  1492. </Form.Item></Col>}
  1493. {/* 用户注册日期搜索 */}
  1494. {isRegDay && <Col><Form.Item name='regDay'>
  1495. <DatePicker.RangePicker style={{ width: 230 }} placeholder={['注册开始日期', '注册结束日期']} {...isRegDay} />
  1496. </Form.Item></Col>}
  1497. {/* 消耗日期 搜索 */}
  1498. {isConsumeDay && <Col><Form.Item name='consumeDay'>
  1499. <DatePicker.RangePicker style={{ width: 230 }} placeholder={['消耗开始日期', '消耗结束日期']} {...isConsumeDay} />
  1500. </Form.Item></Col>}
  1501. {/* 消耗日期 搜索 */}
  1502. {isBeginDay && <Col><Form.Item name='beginDay'>
  1503. <DatePicker.RangePicker style={{ width: 230 }} placeholder={['开始日期', '结束日期']} />
  1504. </Form.Item></Col>}
  1505. {/* 订单创建日期搜索 */}
  1506. {isCreateDay && <Col><Form.Item name='createDay'>
  1507. <DatePicker.RangePicker style={{ width: 230 }} placeholder={['订单创建开始日期', '订单创建结束日期']} {...isCreateDay} />
  1508. </Form.Item></Col>}
  1509. {isCreateDayXz && <Col><Form.Item name='createDay'>
  1510. <DatePicker.RangePicker style={{ width: 230 }} disabledDate={disabledDate} placeholder={['订单创建开始日期', '订单创建结束日期']} {...isCreateDay} />
  1511. </Form.Item></Col>}
  1512. {/* 充值日期搜索 */}
  1513. {rechargeDay && <Col><Form.Item name='rechargeDay'>
  1514. <DatePicker.RangePicker style={{ width: 230 }} placeholder={['充值开始日期', '充值结束日期']} {...rechargeDay} />
  1515. </Form.Item></Col>}
  1516. {/* 单个充值日期搜索 */}
  1517. {payTimeDay && <Col><Form.Item name='payTime'>
  1518. <DatePicker.RangePicker style={{ width: 230 }} placeholder={['支付开始日期', '支付结束日期']} {...payTimeDay} />
  1519. </Form.Item></Col>}
  1520. {/* 单个充值日期搜索 */}
  1521. {placeAnOrderDay && <Col><Form.Item name='placeAnOrderTime'>
  1522. <DatePicker.RangePicker style={{ width: 230 }} placeholder={['下单开始日期', '下单结束日期']} {...placeAnOrderDay} />
  1523. </Form.Item></Col>}
  1524. {/* 开服日期搜索 */}
  1525. {isServerDay && <Col><Form.Item name='serverDay'>
  1526. <DatePicker.RangePicker style={{ width: 230 }} placeholder={['开服开始日期', '开服结束日期']} {...isServerDay} />
  1527. </Form.Item></Col>}
  1528. {/* 角色创建日期搜索 */}
  1529. {isCreateRoleDay && <Col><Form.Item name='createRoleDay'>
  1530. <DatePicker.RangePicker style={{ width: 230 }} placeholder={['角色创建开始日期', '角色创建结束日期']} {...isCreateRoleDay} />
  1531. </Form.Item></Col>}
  1532. {/* 最近活跃 */}
  1533. {isLastActiveTime && <Col><Form.Item name='lastActiveTime'>
  1534. <DatePicker.RangePicker style={{ width: 230 }} placeholder={['最近活跃开始日期', '最近活跃结束日期']} {...isLastActiveTime} />
  1535. </Form.Item></Col>}
  1536. {/* 单个充值日期搜索 */}
  1537. {isRechargeDate && <Col><Form.Item name='rechargeDate'>
  1538. <DatePicker placeholder={'充值日期'} />
  1539. </Form.Item></Col>}
  1540. {/* 单个充值日期搜索 */}
  1541. {isPayIntervalTime && <Col><Form.Item name='regPayIntervalTime'>
  1542. <IntervalTime {...isPayIntervalTime} />
  1543. </Form.Item></Col>}
  1544. {isRoleCount && <Col><Form.Item name='roleCount'>
  1545. <IntervalTime {...isRoleCount} />
  1546. </Form.Item></Col>}
  1547. {/* 创角24小时内单笔充值金额 */}
  1548. {isRechargeAmountWithin24h && <Col><Form.Item name='roleCount'>
  1549. <Space size={0}>
  1550. <Form.Item name={'rechargeAmountWithin24hUnit'} noStyle>
  1551. <Select placeholder="条件" style={{ width: 70 }} allowClear>
  1552. {/* <Select.Option value=">=">{`>=`}</Select.Option>
  1553. <Select.Option value="<=">{`<=`}</Select.Option> */}
  1554. <Select.Option value="=">{`=`}</Select.Option>
  1555. <Select.Option value=">">{`>`}</Select.Option>
  1556. <Select.Option value="<">{`<`}</Select.Option>
  1557. </Select>
  1558. </Form.Item>
  1559. <Form.Item name={'rechargeAmountWithin24h'} noStyle>
  1560. <Input placeholder="创角24小时内单笔充值金额" allowClear />
  1561. </Form.Item>
  1562. <Tooltip title={'创角24小时内单笔充值金额,条件默认">="'}>
  1563. <QuestionCircleOutlined style={{ marginLeft: 10 }} />
  1564. </Tooltip>
  1565. </Space>
  1566. </Form.Item></Col>}
  1567. {/* 创角24小时以内累计充值金额 */}
  1568. {isRechargeTotalAmountWithin24h && <Col><Form.Item name='roleCount'>
  1569. <Space size={0}>
  1570. <Form.Item name={'rechargeTotalAmountWithin24hUnit'} noStyle>
  1571. <Select placeholder="条件" style={{ width: 70 }} allowClear>
  1572. <Select.Option value=">=">{`>=`}</Select.Option>
  1573. <Select.Option value="<=">{`<=`}</Select.Option>
  1574. <Select.Option value="=">{`=`}</Select.Option>
  1575. <Select.Option value=">">{`>`}</Select.Option>
  1576. <Select.Option value="<">{`<`}</Select.Option>
  1577. </Select>
  1578. </Form.Item>
  1579. <Form.Item name={'rechargeTotalAmountWithin24h'} noStyle>
  1580. <Input placeholder="创角24小时以内累计充值金额" allowClear />
  1581. </Form.Item>
  1582. <Tooltip title={'创角24小时以内累计充值金额,条件默认">="'}>
  1583. <QuestionCircleOutlined style={{ marginLeft: 10 }} />
  1584. </Tooltip>
  1585. </Space>
  1586. </Form.Item></Col>}
  1587. <Col>
  1588. <Space>
  1589. <Button type="primary" htmlType="submit">搜索</Button>
  1590. <Button onClick={() => form.resetFields()}>重置</Button>
  1591. </Space>
  1592. </Col>
  1593. </Row>
  1594. </Form>
  1595. }
  1596. export default React.memo(QueryForm)