| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- import 'dart:async';
- import 'package:electronic_assistant/base/base_controller.dart';
- import 'package:electronic_assistant/data/bean/agenda.dart';
- import 'package:electronic_assistant/dialog/alert_dialog.dart';
- import 'package:electronic_assistant/module/talk/controller.dart';
- import 'package:electronic_assistant/resource/colors.gen.dart';
- import 'package:electronic_assistant/resource/string.gen.dart';
- import 'package:flutter/cupertino.dart';
- import 'package:flutter_screenutil/flutter_screenutil.dart';
- import 'package:get/get.dart';
- import '../../../data/bean/agenda_list_all_bean.dart';
- import '../../../data/bean/talks.dart';
- import '../../../data/bean/template_bean.dart';
- import '../../../data/consts/event_report_id.dart';
- class SummaryController extends BaseController {
- final String? talkId;
- StreamSubscription? _talkStatusListener;
- StreamSubscription? _talkBeanListener;
- SummaryController(this.talkId);
- TalkController get talkController => Get.find<TalkController>(tag: talkId);
- RxList<AgendaListAllBean> get agendaAllList => talkController.agendaAllList;
- RxBool get _isEditModel => talkController.isEditModelRx;
- bool get isEditModel => _isEditModel.value;
- Rxn<TalkBean> get summaryBean => talkController.talkBean;
- List<TemplateBean>? get templateList => talkController.templateList.value;
- int? get templateSelectId => talkController.templateSelectId.value;
- @override
- void onReady() {
- super.onReady();
- _talkBeanListener = talkController.talkBean.listen((bean) {
- _dealTalkUpdate();
- });
- _talkStatusListener =
- talkController.talkBean.value?.status.listen((status) {
- if (status == TalkStatus.analysisSuccess ||
- status == TalkStatus.analysisFail) {
- _dealTalkUpdate();
- }
- });
- _dealTalkUpdate();
- }
- void _dealTalkUpdate() {
- talkController.refreshTalkDetail().then((data) {
- if (data?.status.value == TalkStatus.analysisSuccess) {
- eventReport(EventId.event_101100);
- } else if (data?.status.value == TalkStatus.analysisFail) {
- eventReport(EventId.event_101101);
- }
- });
- talkController.refreshAgendaAllData();
- }
- void eventReport(String eventId, {Map<String, dynamic>? params}) {
- talkController.eventReport(eventId, params: params);
- }
- void removeTalkAgenda(List<Agenda>? list, Agenda agenda) {
- talkController.removeTalkAgenda(list, agenda);
- }
- void showAddAgendaDialog(BuildContext context) {
- talkController.showSingleAddAgendaDialog(context);
- }
- void addTemplateClick() {
- //判断模板是否超出数量限制
- TalkBean? talkBean = talkController.talkBean.value;
- int? maxTemplateCount = talkController.maxTemplateCount;
- if (talkBean == null || maxTemplateCount == null) {
- return;
- }
- _showMaxTemplateDialog();
- if ((talkController.templateList.value?.length ?? 0) >= maxTemplateCount) {
- _showMaxTemplateDialog();
- return;
- }
- }
- void _showMaxTemplateDialog() {
- EAAlertDialog.show(
- contentWidget: Container(
- padding: EdgeInsets.only(top: 20.w),
- child: Text(
- StringName.templateTooMuch.tr,
- style: TextStyle(
- fontSize: 15.sp,
- color: ColorName.primaryTextColor,
- fontWeight: FontWeight.bold),
- ),
- ),
- cancelText: StringName.cancel.tr,
- confirmText: StringName.templateToManage.tr,
- confirmOnTap: () {});
- }
- @override
- void onClose() {
- super.onClose();
- _talkStatusListener?.cancel();
- _talkBeanListener?.cancel();
- }
- }
|