From 94df1469c002897358d65b4eabe9431d51bec25f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B6=85=E7=BA=A7=E8=80=81=E7=99=BD=E5=85=94?= Date: Wed, 13 Aug 2025 17:07:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=B5=81=E9=87=8F=E6=B1=A0?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E7=9B=B8=E9=97=9C=E9=82=8F=E8=BC=AF=EF=BC=8C?= =?UTF-8?q?=E6=9B=BF=E6=8F=9B=E7=8D=B2=E5=AE=A2=E5=A0=B4=E6=99=AF=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=EF=BC=8C=E8=AA=BF=E6=95=B4=E7=94=A8=E6=88=B6=E5=83=B9?= =?UTF-8?q?=E5=80=BC=E5=92=8C=E7=8B=80=E6=85=8B=E7=9A=84=E7=AF=A9=E9=81=B8?= =?UTF-8?q?=E9=82=8F=E8=BC=AF=EF=BC=8C=E4=B8=A6=E5=84=AA=E5=8C=96=E7=AF=A9?= =?UTF-8?q?=E9=81=B8=E6=A8=A1=E6=85=8B=E6=A1=86=E7=9A=84=E7=8B=80=E6=85=8B?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mine/traffic-pool/list/FilterModal.tsx | 79 ++++++++++--------- .../mobile/mine/traffic-pool/list/api.ts | 9 +-- .../mine/traffic-pool/list/dataAnyx.tsx | 30 +++---- .../mobile/mine/traffic-pool/list/index.tsx | 11 +-- 4 files changed, 56 insertions(+), 73 deletions(-) diff --git a/Cunkebao/src/pages/mobile/mine/traffic-pool/list/FilterModal.tsx b/Cunkebao/src/pages/mobile/mine/traffic-pool/list/FilterModal.tsx index baeb21c1..3acd9879 100644 --- a/Cunkebao/src/pages/mobile/mine/traffic-pool/list/FilterModal.tsx +++ b/Cunkebao/src/pages/mobile/mine/traffic-pool/list/FilterModal.tsx @@ -1,14 +1,9 @@ -import React, { useState } from "react"; +import React, { useState, useEffect } from "react"; import { Popup } from "antd-mobile"; import { Select, Button } from "antd"; import DeviceSelection from "@/components/DeviceSelection"; -import type { - PackageOption, - ValueLevel, - UserStatus, - ScenarioOption, -} from "./data"; - +import type { UserStatus, ScenarioOption } from "./data"; +import { fetchScenarioOptions } from "./api"; import { DeviceSelectionItem } from "@/components/DeviceSelection/data"; interface FilterModalProps { @@ -18,59 +13,69 @@ interface FilterModalProps { deviceIds: string[]; packageId: string; scenarioId: string; - valueLevel: ValueLevel; - userStatus: UserStatus; + userValue: number; + userStatus: number; }) => void; - packageOptions: PackageOption[]; scenarioOptions: ScenarioOption[]; } const valueLevelOptions = [ - { label: "全部价值", value: "all" }, - { label: "高价值", value: "high" }, - { label: "中价值", value: "medium" }, - { label: "低价值", value: "low" }, + { label: "全部价值", value: 0 }, + { label: "高价值", value: 1 }, + { label: "中价值", value: 2 }, + { label: "低价值", value: 3 }, ]; const statusOptions = [ - { label: "全部状态", value: "all" }, - { label: "已添加", value: "added" }, - { label: "待添加", value: "pending" }, - { label: "添加失败", value: "failed" }, - { label: "重复", value: "duplicate" }, + { label: "全部状态", value: 0 }, + { label: "已添加", value: 1 }, + { label: "待添加", value: 2 }, + { label: "重复", value: 3 }, + { label: "添加失败", value: -1 }, ]; const FilterModal: React.FC = ({ visible, onClose, - packageOptions, - scenarioOptions, onConfirm, }) => { const [selectedDevices, setSelectedDevices] = useState( [], ); - const [packageId, setPackageId] = useState("all"); - const [scenarioId, setScenarioId] = useState("all"); - const [valueLevel, setValueLevel] = useState("all"); - const [userStatus, setUserStatus] = useState("all"); + const [packageId, setPackageId] = useState(""); + const [scenarioId, setScenarioId] = useState(""); + const [userValue, setUserValue] = useState(0); + const [userStatus, setUserStatus] = useState(0); + const [scenarioOptions, setScenarioOptions] = useState([]); + const [packageOptions, setPackageOptions] = useState([]); + + useEffect(() => { + if (visible) { + fetchScenarioOptions().then(res => { + setScenarioOptions(res); + }); + } + }, [visible]); const handleApply = () => { - onConfirm({ + const params = { deviceIds: selectedDevices.map(d => d.id.toString()), packageId, scenarioId, - valueLevel, + userValue, userStatus, - }); + }; + console.log(params); + + onConfirm(params); onClose(); }; const handleReset = () => { setSelectedDevices([]); - setPackageId("all"); - setScenarioId("all"); - setValueLevel("all"); - setUserStatus("all"); + setPackageId(""); + setScenarioId(""); + setUserValue(0); + setUserStatus(0); }; return ( @@ -100,7 +105,7 @@ const FilterModal: React.FC = ({ value={packageId} onChange={setPackageId} options={[ - { label: "全部流量池", value: "all" }, + { label: "全部流量池", value: "" }, ...packageOptions.map(p => ({ label: p.name, value: p.id })), ]} /> @@ -112,7 +117,7 @@ const FilterModal: React.FC = ({ value={scenarioId} onChange={setScenarioId} options={[ - { label: "全部场景", value: "all" }, + { label: "全部场景", value: "" }, ...scenarioOptions.map(s => ({ label: s.name, value: s.id })), ]} /> @@ -121,8 +126,8 @@ const FilterModal: React.FC = ({
用户价值