index.tsx 83 KB

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