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 = ({
用户价值