diff --git a/frontend/packages/market/src/pages/serviceHub/management/ManagementConfig.tsx b/frontend/packages/market/src/pages/serviceHub/management/ManagementConfig.tsx index f57194fa..c0f7f6da 100644 --- a/frontend/packages/market/src/pages/serviceHub/management/ManagementConfig.tsx +++ b/frontend/packages/market/src/pages/serviceHub/management/ManagementConfig.tsx @@ -8,6 +8,9 @@ import { useFetch } from "@common/hooks/http"; import { useNavigate } from "react-router-dom"; import { useTenantManagementContext } from "@market/contexts/TenantManagementContext"; import { $t } from "@common/locales"; +import Select, { DefaultOptionType } from "antd/es/select"; +import { useGlobalContext } from "@common/contexts/GlobalStateContext"; +import { SimpleTeamItem, MemberItem } from "@common/const/type"; export type ManagementConfigFieldType = { name:string @@ -21,6 +24,7 @@ type ManagementConfigProps = { type:'add'|'edit' teamId:string appId?:string + dataShowType?:'block'|'list' } export type ManagementConfigHandle = { @@ -30,16 +34,18 @@ export type ManagementConfigHandle = { const ManagementConfig = forwardRef((props, ref) => { const { message,modal } = App.useApp() - const {type,teamId,appId} = props + const {type,teamId,appId,dataShowType} = props const [form] = Form.useForm(); const {fetchData} = useFetch() const [delBtnLoading, setDelBtnLoading] = useState(false) const {setAppName} = type === 'edit' ? useTenantManagementContext():{setAppName:()=>{}} const navigate = type === 'edit' ? useNavigate() : ()=>{} + const [teamOptionList, setTeamOptionList] = useState() + const {checkPermission,accessInit, getGlobalAccessData} = useGlobalContext() const save:()=>Promise = ()=>{ return new Promise((resolve, reject)=>{ form.validateFields().then((value)=>{ - fetchData>(type === 'add'? 'team/app' : 'app/info',{method:type === 'add'? 'POST' : 'PUT',eoBody:(value), eoParams:type === 'add' ? {team:teamId}:{app:appId,team:teamId}}).then(response=>{ + fetchData>(type === 'add'? 'team/app' : 'app/info',{method:type === 'add'? 'POST' : 'PUT',eoBody:(value), eoParams:type === 'add' ? {team:dataShowType === 'list' ? value.team : teamId}:{app:appId,team:teamId}}).then(response=>{ const {code,data,msg} = response if(code === STATUS_CODE.SUCCESS){ message.success(msg || $t(RESPONSE_TIPS.success)) @@ -68,6 +74,24 @@ const ManagementConfig = forwardRef{ + setTeamOptionList([]) + + fetchData>(!checkPermission('system.workspace.team.view_all') ?'simple/teams/mine' :'simple/teams',{method:'GET',eoTransformKeys:[]}).then(response=>{ + const {code,data,msg} = response + if(code === STATUS_CODE.SUCCESS){ + setTeamOptionList(data.teams?.map((x:MemberItem)=>{return {...x, + label:x.name, value:x.id + }})) + if(form.getFieldValue('team') === undefined&&data.teams?.length){ + form.setFieldValue('team',data.teams[0].id); + } + }else{ + message.error(msg || $t(RESPONSE_TIPS.error)) + } + }) + } + const deleteApplicationModal = async ()=>{ setDelBtnLoading(true) modal.confirm({ @@ -112,7 +136,17 @@ const ManagementConfig = forwardRef{ + getTeamOptionList() + }) + } } }, [appId]); @@ -146,6 +180,16 @@ const ManagementConfig = forwardRef + + {dataShowType === 'list' && + label={$t("所属团队")} + name="team" + rules={[{ required: true }]} + > + + } + { switch (type){ case 'add': title=$t('添加消费者') - content= + content= break; // case 'edit':{ // title='配置 Open Api'