wjx 1 day ago
parent
commit
bd0f572653

+ 12 - 2
src/pages/launchSystemV3/monitorEWList/astraGroup.tsx

@@ -73,9 +73,19 @@ const AstraGroup: React.FC = () => {
                 current: queryParamsNew.pageNum,
                 pageSize: queryParamsNew.pageSize,
             }}
-            onChange={(pagination) => {
+            onChange={(pagination, _, sorter: any) => {
                 const { current, pageSize } = pagination
-                setQueryParamsNew({ ...queryParamsNew, pageNum: current as number, pageSize: pageSize as number || 20 })
+                const newQueryFormNew = JSON.parse(JSON.stringify(queryParamsNew))
+                if (sorter && sorter?.order) {
+                    newQueryFormNew['sortAsc'] = sorter?.order === 'ascend' ? true : false
+                    newQueryFormNew['sortFiled'] = sorter?.field
+                } else {
+                    delete newQueryFormNew['sortAsc']
+                    delete newQueryFormNew['sortFiled']
+                }
+                newQueryFormNew.pageNum = current || newQueryFormNew.pageNum
+                newQueryFormNew.pageSize = pageSize || newQueryFormNew.pageSize
+                setQueryParamsNew({ ...newQueryFormNew })
             }}
         />
     </Card>

+ 4 - 4
src/pages/launchSystemV3/monitorEWList/astraGroupHourEle.tsx

@@ -66,7 +66,7 @@ const AstraGroupHourEle: React.FC<AstraGroupHourProps> = ({ localCsgroupName, da
                         dataIndex: 'cost',
                         key: 'cost',
                         width: 80,
-                        ellipsis: true,
+                        sorter: (a, b) => a.cost - b.cost,
                         align: 'right',
                         render(value) {
                             return <Statistic value={value || 0} />
@@ -77,7 +77,7 @@ const AstraGroupHourEle: React.FC<AstraGroupHourProps> = ({ localCsgroupName, da
                         dataIndex: 'scanFollowCount',
                         key: 'scanFollowCount',
                         width: 80,
-                        ellipsis: true,
+                        sorter: (a, b) => a.scanFollowCount - b.scanFollowCount,
                         align: 'right',
                         render(value) {
                             return <span style={{ fontSize: 12 }}>{value}</span>
@@ -88,7 +88,7 @@ const AstraGroupHourEle: React.FC<AstraGroupHourProps> = ({ localCsgroupName, da
                         dataIndex: 'scanFollowUserCount',
                         key: 'scanFollowUserCount',
                         width: 80,
-                        ellipsis: true,
+                        sorter: (a, b) => a.scanFollowUserCount - b.scanFollowUserCount,
                         align: 'right',
                         render(value) {
                             return <span style={{ fontSize: 12 }}>{value}</span>
@@ -99,8 +99,8 @@ const AstraGroupHourEle: React.FC<AstraGroupHourProps> = ({ localCsgroupName, da
                         dataIndex: 'addUserCount',
                         key: 'addUserCount',
                         width: 80,
-                        ellipsis: true,
                         align: 'right',
+                        sorter: (a, b) => a.addUserCount - b.addUserCount,
                         render(value) {
                             return <span style={{ fontSize: 12 }}>{value}</span>
                         },

+ 16 - 6
src/pages/launchSystemV3/monitorEWList/astraGroupIndexEle.tsx

@@ -66,7 +66,7 @@ const AstraGroupIndexEle: React.FC<AstraGroupHourProps> = ({ localCsgroupName, d
                         dataIndex: 'cost',
                         key: 'cost',
                         width: 80,
-                        ellipsis: true,
+                        sorter: true,
                         align: 'right',
                         render(value) {
                             return <Statistic value={value || 0} />
@@ -77,7 +77,7 @@ const AstraGroupIndexEle: React.FC<AstraGroupHourProps> = ({ localCsgroupName, d
                         dataIndex: 'scanFollowCount',
                         key: 'scanFollowCount',
                         width: 80,
-                        ellipsis: true,
+                        sorter: true,
                         align: 'right',
                         render(value) {
                             return <span style={{ fontSize: 12 }}>{value}</span>
@@ -88,7 +88,7 @@ const AstraGroupIndexEle: React.FC<AstraGroupHourProps> = ({ localCsgroupName, d
                         dataIndex: 'scanFollowUserCount',
                         key: 'scanFollowUserCount',
                         width: 80,
-                        ellipsis: true,
+                        sorter: true,
                         align: 'right',
                         render(value) {
                             return <span style={{ fontSize: 12 }}>{value}</span>
@@ -99,7 +99,7 @@ const AstraGroupIndexEle: React.FC<AstraGroupHourProps> = ({ localCsgroupName, d
                         dataIndex: 'addUserCount',
                         key: 'addUserCount',
                         width: 80,
-                        ellipsis: true,
+                        sorter: true,
                         align: 'right',
                         render(value) {
                             return <span style={{ fontSize: 12 }}>{value}</span>
@@ -139,9 +139,19 @@ const AstraGroupIndexEle: React.FC<AstraGroupHourProps> = ({ localCsgroupName, d
                     current: queryParamsNew.pageNum,
                     pageSize: queryParamsNew.pageSize,
                 }}
-                onChange={(pagination) => {
+                onChange={(pagination, _, sorter: any) => {
                     const { current, pageSize } = pagination
-                    setQueryParamsNew({ ...queryParamsNew, pageNum: current as number, pageSize: pageSize as number || 20 })
+                    const newQueryFormNew = JSON.parse(JSON.stringify(queryParamsNew))
+                    if (sorter && sorter?.order) {
+                        newQueryFormNew['sortAsc'] = sorter?.order === 'ascend' ? true : false
+                        newQueryFormNew['sortFiled'] = sorter?.field
+                    } else {
+                        delete newQueryFormNew['sortAsc']
+                        delete newQueryFormNew['sortFiled']
+                    }
+                    newQueryFormNew.pageNum = current || newQueryFormNew.pageNum
+                    newQueryFormNew.pageSize = pageSize || newQueryFormNew.pageSize
+                    setQueryParamsNew({ ...newQueryFormNew })
                 }}
             />
         </Modal>}

+ 32 - 10
src/pages/launchSystemV3/monitorEWList/astraSupport‌.tsx

@@ -1,7 +1,7 @@
 import { useAjax } from '@/Hook/useAjax';
 import { getCorpWechatAllApi } from '@/services/adqV3/global';
 import { getCorpUserDayListApi, GetCorpUserDayListProps } from '@/services/adqV3/monitorEWList';
-import { Button, Card, DatePicker, Select, Table } from 'antd';
+import { Button, Card, DatePicker, Input, Select, Table } from 'antd';
 import React, { useEffect, useState } from 'react';
 import moment from 'moment';
 import { CorpUserDayListTableConfig } from './tableConfig';
@@ -15,6 +15,7 @@ const AstraSupport: React.FC = () => {
     /*******************************************/
     const [corpWechatList, setCorpWechatList] = useState<{ label: string, value: string }[]>([]);
     const [queryParamsNew, setQueryParamsNew] = useState<GetCorpUserDayListProps>({ pageNum: 1, pageSize: 20 });
+    const [queryParams, setQueryParams] = useState<GetCorpUserDayListProps>({ pageNum: 1, pageSize: 20 });
 
     const getCorpWechatAll = useAjax((params) => getCorpWechatAllApi(params))
     const getCorpUserDayList = useAjax((params) => getCorpUserDayListApi(params))
@@ -35,9 +36,9 @@ const AstraSupport: React.FC = () => {
     return <Card
         title={<div style={{ display: 'flex', gap: 8 }}>
             <DatePicker
-                value={queryParamsNew?.day ? moment(queryParamsNew.day) : undefined}
+                value={queryParams?.day ? moment(queryParams.day) : undefined}
                 onChange={(_, dateString) => {
-                    setQueryParamsNew({ ...queryParamsNew, day: dateString, pageNum: 1 })
+                    setQueryParams({ ...queryParams, day: dateString, pageNum: 1 })
                 }}
             />
             <Select
@@ -48,20 +49,23 @@ const AstraSupport: React.FC = () => {
                 }
                 style={{ width: 140 }}
                 allowClear
-                value={queryParamsNew?.corpId}
+                value={queryParams?.corpId}
                 loading={getCorpWechatAll.loading}
                 onChange={(e) => {
-                    setQueryParamsNew({ ...queryParamsNew, corpId: e, pageNum: 1 })
+                    setQueryParams({ ...queryParams, corpId: e, pageNum: 1 })
                 }}
                 options={corpWechatList}
             />
-            <Button type='primary' onClick={() => getCorpUserDayList.refresh()}>刷新</Button>
+            <Input value={queryParams?.corpUserName} style={{ width: 140 }} placeholder='企业用户名称' onChange={(e) => setQueryParams({ ...queryParams, corpUserName: e.target.value, pageNum: 1 })} allowClear />
+            <Button type='primary' onClick={() => {
+                setQueryParamsNew({ ...queryParams })
+            }}>搜索</Button>
         </div>}
         headStyle={{ padding: '0 16px' }}
         bodyStyle={{ padding: 16 }}
     >
-        <Table 
-            dataSource={getCorpUserDayList?.data?.records} 
+        <Table
+            dataSource={getCorpUserDayList?.data?.records}
             columns={CorpUserDayListTableConfig()}
             size='small'
             bordered
@@ -74,9 +78,27 @@ const AstraSupport: React.FC = () => {
                 current: queryParamsNew.pageNum,
                 pageSize: queryParamsNew.pageSize,
             }}
-            onChange={(pagination) => {
+            onChange={(pagination, _, sorter: any) => {
                 const { current, pageSize } = pagination
-                setQueryParamsNew({ ...queryParamsNew, pageNum: current as number, pageSize: pageSize as number || 20 })
+                const newQueryForm = JSON.parse(JSON.stringify(queryParams))
+                const newQueryFormNew = JSON.parse(JSON.stringify(queryParamsNew))
+                if (sorter && sorter?.order) {
+                    newQueryForm['sortAsc'] = sorter?.order === 'ascend' ? true : false
+                    newQueryForm['sortFiled'] = sorter?.field
+                    newQueryFormNew['sortAsc'] = sorter?.order === 'ascend' ? true : false
+                    newQueryFormNew['sortFiled'] = sorter?.field
+                } else {
+                    delete newQueryForm['sortAsc']
+                    delete newQueryForm['sortFiled']
+                    delete newQueryFormNew['sortAsc']
+                    delete newQueryFormNew['sortFiled']
+                }
+                newQueryForm.pageNum = current || newQueryForm.pageNum
+                newQueryForm.pageSize = pageSize || newQueryForm.pageSize
+                newQueryFormNew.pageNum = current || newQueryFormNew.pageNum
+                newQueryFormNew.pageSize = pageSize || newQueryFormNew.pageSize
+                setQueryParamsNew({ ...newQueryFormNew })
+                setQueryParams({ ...newQueryForm })
             }}
         />
     </Card>

+ 2 - 0
src/pages/launchSystemV3/monitorEWList/astraSupport‌Hour.tsx

@@ -70,6 +70,7 @@ const AstraSupportHour: React.FC<AstraSupportHourProps> = ({ corpName, corpUserN
                         width: 80,
                         ellipsis: true,
                         align: 'right',
+                        sorter: (a, b) => a.addUserCount - b.addUserCount,
                         render(value) {
                             return <span style={{ fontSize: 12 }}>{value}</span>
                         },
@@ -81,6 +82,7 @@ const AstraSupportHour: React.FC<AstraSupportHourProps> = ({ corpName, corpUserN
                         width: 80,
                         ellipsis: true,
                         align: 'right',
+                        sorter: (a, b) => a.outUserCount - b.outUserCount,
                         render(value) {
                             return <span style={{ fontSize: 12 }}>{value}</span>
                         }

+ 3 - 0
src/pages/launchSystemV3/monitorEWList/tableConfig.tsx

@@ -77,6 +77,7 @@ export const CorpUserDayListTableConfig = (): ColumnsType<never> => {
             key: 'addUserCount',
             width: 100,
             align: 'right',
+            sorter: true,
             render(value) {
                 return <span style={{ fontSize: 12, color: (value >= 60 && value < 100) ? 'orange' : value > 100 ? 'red' : '#000000D9' }}>{value}</span>
             },
@@ -87,6 +88,7 @@ export const CorpUserDayListTableConfig = (): ColumnsType<never> => {
             key: 'outUserCount',
             width: 100,
             align: 'right',
+            sorter: true,
             render(value) {
                 return <span style={{ fontSize: 12 }}>{value}</span>
             },
@@ -97,6 +99,7 @@ export const CorpUserDayListTableConfig = (): ColumnsType<never> => {
             key: 'corpExternalUserCount',
             width: 100,
             align: 'right',
+            sorter: true,
             render(value) {
                 return <span style={{ fontSize: 12 }}>{value}</span>
             },

+ 0 - 1
src/pages/launchSystemV3/tencenTasset/corpWechat/userRotatePolicy/index.tsx

@@ -186,7 +186,6 @@ const UserRotatePolicy: React.FC = () => {
                 setQueryParamsNew({ ...queryParamsNew, pageNum: current as number, pageSize: pageSize as number || 20 })
                 setQueryParams({ ...queryParams, pageNum: current as number, pageSize: pageSize as number || 20 })
             }}
-
         />
 
 

+ 7 - 2
src/services/adqV3/monitorEWList.ts

@@ -7,6 +7,9 @@ export interface GetCorpUserDayListProps {
     pageSize: number,
     day?: string,
     corpId?: string
+    corpUserName?: string
+    sortFiled?: string,
+    sortAsc?: boolean
 }
 
 /**
@@ -43,7 +46,9 @@ export interface GetLocalCsgroupDayListProps {
     pageNum: number,
     pageSize: number,
     day?: string,
-    localCsgroupId?: number
+    localCsgroupId?: number,
+    sortFiled?: string,
+    sortAsc?: boolean
 }
 
 /**
@@ -75,7 +80,7 @@ export async function getLocalCsgroupDayHourListApi(data: { day: string, localCs
  * @param data 
  * @returns 
  */
-export async function getLocalCsgroupDayIndexListApi(data: { pageNum: number, pageSize: number, day: string, localCsgroupId: number }) {
+export async function getLocalCsgroupDayIndexListApi(data: { pageNum: number, pageSize: number, day: string, localCsgroupId: number, sortFiled?: string, sortAsc?: boolean }) {
     return request(api + `/tencentMonitor/localCsgroup/index/listOfPage`, {
         method: 'POST',
         data