import { Cell } from "@antv/x6"; import { Select, Form, Input, Divider, AutoComplete } from "antd"; import { useEffect, useState } from "react"; import { ListLangBySearchKey, GetAllPage, GetAllTablesAndViews, GetAllWfScene, GetAllWorkflows, } from "@/api"; import { useRequest } from "umi"; import SelectModal from "./SelectModal"; import { CorrelationType } from "@/enum"; interface LanItem { en: string; key: string; ["zh-CN"]: string; } export default function NodeAttrs({ cell, onChange, }: { cell?: Cell; onChange?: (data: any) => void; }) { const defaultModel = { "zh-CN": "", en: "", langText: "", desc: "", linkType: CorrelationType.scene, linkValue: { value: undefined, label: undefined, }, remember: "", recordTime: "", recordUser: "", recordConent: "", }; const [lanOptions, setLanOptions] = useState([]); const [formModel, setFormModel] = useState(cell?.data?.attrs || defaultModel); useEffect(() => { if(cell) { setFormModel(cell?.data?.attrs || defaultModel); } }, [cell]); const { run } = useRequest(ListLangBySearchKey, { manual: true, onSuccess(data, params) { setLanOptions( (data.result || []).map((item: LanItem) => ({ ...item, label: `${item.en || ""}[zh-CN:${item["zh-CN"]}]`, value: item[params[0].searchLan], })) ); }, }); useEffect(() => { onChange?.(formModel); }, [formModel]); const handleSearch = (serchKey: string, searchLan: "en" | "zh-CN") => { run({ maxCount: 10, searchKey: serchKey, searchLan, }); }; const handleChange = (key: string, value: any) => { setFormModel({ ...formModel, langText: "", [key]: value, }); }; const handleSelectLang = (option: LanItem) => { setFormModel(() => { return { ...formModel, langText: option.key, en: option?.en, ["zh-CN"]: option?.["zh-CN"], }; }); }; return (
基本
handleSearch(val, "zh-CN")} value={formModel["zh-CN"]} onChange={(val) => handleChange("zh-CN", val)} onSelect={(_val, opt) => handleSelectLang(opt)} disabled={!cell} /> handleSearch(val, "en")} value={formModel.en} onChange={(val) => handleChange("en", val)} onSelect={(_val, opt) => handleSelectLang(opt)} disabled={!cell} /> handleChange("desc", e.target.value)} disabled={!cell} /> handleChange("remember", e.target.value)} disabled={!cell} /> handleChange("recordTime", e.target.value)} disabled={!cell} /> handleChange("recordUser", e.target.value)} disabled={!cell} /> handleChange("recordConent", e.target.value)} disabled={!cell} />
); }