56 lines
1.7 KiB
Dart
56 lines
1.7 KiB
Dart
import 'package:flutter/widgets.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:starwork_flutter/api/model/team/request/create_team_request.dart';
|
|
import 'package:starwork_flutter/api/model/team/response/scene_info_response.dart';
|
|
import 'package:starwork_flutter/api/service/team_api_service.dart';
|
|
import 'package:starwork_flutter/base/base_controller.dart';
|
|
|
|
class CreateTeamController extends BaseController {
|
|
TextEditingController teamNameInputController = TextEditingController();
|
|
final teamApi = Get.find<TeamApiService>();
|
|
|
|
// 用于存储选中的使用场景
|
|
final selectedUseCase = Rx<SceneInfoResponse?>(null);
|
|
|
|
// 用于存储场景列表
|
|
final useCases = <SceneInfoResponse>[].obs;
|
|
|
|
@override
|
|
void onInit() {
|
|
super.onInit();
|
|
requestAllSceneInfoList();
|
|
}
|
|
|
|
/// 请求团队使用场景信息
|
|
void requestAllSceneInfoList() async {
|
|
showLoading();
|
|
|
|
var sceneList = await teamApi.requestAllSceneInfoList();
|
|
if (sceneList.isSuccess) {
|
|
// 使用场景列表
|
|
useCases.value = sceneList.data?.list ?? [];
|
|
useCases.refresh();
|
|
}
|
|
hideLoading();
|
|
}
|
|
|
|
void requestCreateTeam() async {
|
|
showLoading();
|
|
var createTeamResponse = await teamApi.requestCreateTeam(
|
|
request: CreateTeamRequest(
|
|
teamName: teamNameInputController.text,
|
|
scene: selectedUseCase.value?.id ?? 0,
|
|
),
|
|
);
|
|
if (createTeamResponse.isSuccess) {
|
|
// 创建成功,使用 Get.back(result: true) 返回并传递结果
|
|
showSuccess();
|
|
// 返回添加成功结果
|
|
Get.back(result: {'created': true});
|
|
} else {
|
|
// 创建失败
|
|
showError(message: createTeamResponse.errorMsg!);
|
|
}
|
|
}
|
|
}
|