Browse Source

[new]增加模板列表

zk 1 year ago
parent
commit
300b4a80e6

+ 1 - 0
assets/string/base/string.xml

@@ -153,4 +153,5 @@
     <string name="template_too_much">模板太多啦,去模板管理做下精简吧</string>
     <string name="template_to_manage">去管理</string>
     <string name="mind_map_export">正在导出...</string>
+    <string name="template_manage_title">总结模板列表</string>
 </resources>

+ 1 - 1
lib/data/consts/constants.dart

@@ -6,7 +6,7 @@ import '../../utils/common_utils.dart';
 class Constants {
   Constants._();
 
-  static const String env = envProd;
+  static const String env = envTest;
 
   static const String envDev = 'dev';
 

+ 10 - 10
lib/module/talk/mindmap/view.dart

@@ -61,16 +61,16 @@ class MindMapView extends BasePage<MindMapController> {
     return Stack(
       children: [
         DWebViewWidget(controller: controller.talkController.webViewController),
-        // Obx(() {
-        //   return Visibility(
-        //     visible: !controller.isShowMindFullScreen.value,
-        //     child: Container(
-        //       margin: EdgeInsets.only(top: 14.h),
-        //       child: buildTemplateView(
-        //           controller.templateList, controller.templateSelectId),
-        //     ),
-        //   );
-        // }),
+        Obx(() {
+          return Visibility(
+            visible: !controller.isShowMindFullScreen.value,
+            child: Container(
+              margin: EdgeInsets.only(top: 14.h),
+              child: buildTemplateView(
+                  controller.templateList, controller.templateSelectId),
+            ),
+          );
+        }),
         GestureDetector(
           onTap: () {
             controller.fullScreenClick();

+ 13 - 3
lib/module/talk/summary/controller.dart

@@ -3,6 +3,7 @@ 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/module/template/templatemanage/view.dart';
 import 'package:electronic_assistant/resource/colors.gen.dart';
 import 'package:electronic_assistant/resource/string.gen.dart';
 import 'package:flutter/cupertino.dart';
@@ -74,18 +75,21 @@ class SummaryController extends BaseController {
     talkController.showSingleAddAgendaDialog(context);
   }
 
-  void addTemplateClick() {
+  void addTemplateClick() async {
+    if (!await talkController.checkLogin()) {
+      return;
+    }
     //判断模板是否超出数量限制
     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;
     }
+    TemplateManagePage.start();
   }
 
   void _showMaxTemplateDialog() {
@@ -102,7 +106,13 @@ class SummaryController extends BaseController {
         ),
         cancelText: StringName.cancel.tr,
         confirmText: StringName.templateToManage.tr,
-        confirmOnTap: () {});
+        cancelOnTap: () {
+          EAAlertDialog.dismiss();
+        },
+        confirmOnTap: () {
+          EAAlertDialog.dismiss();
+          TemplateManagePage.start();
+        });
   }
 
   @override

+ 8 - 8
lib/module/talk/summary/view.dart

@@ -122,14 +122,14 @@ class SummaryView extends BasePage<SummaryController> {
       } else if (controller.summaryBean.value?.status.value ==
           TalkStatus.analysisSuccess) {
         return ListView(padding: EdgeInsets.only(bottom: 150.h), children: [
-          // SizedBox(height: 14.h),
-          // Obx(() {
-          //   return buildTemplateView(
-          //       controller.templateList, controller.templateSelectId,
-          //       isShowAdd: true, addCallback: () {
-          //     controller.addTemplateClick();
-          //   });
-          // }),
+          SizedBox(height: 14.h),
+          Obx(() {
+            return buildTemplateView(
+                controller.templateList, controller.templateSelectId,
+                isShowAdd: true, addCallback: () {
+              controller.addTemplateClick();
+            });
+          }),
           buildSummaryView(),
           Container(
             height: 6.h,

+ 9 - 0
lib/module/template/templatemanage/controller.dart

@@ -0,0 +1,9 @@
+import 'package:electronic_assistant/base/base_controller.dart';
+import 'package:get/get.dart';
+import 'package:get/get_core/src/get_main.dart';
+
+class TemplateManageController extends BaseController {
+  void onBack() {
+    Get.back();
+  }
+}

+ 45 - 0
lib/module/template/templatemanage/view.dart

@@ -0,0 +1,45 @@
+import 'package:electronic_assistant/base/base_controller.dart';
+import 'package:electronic_assistant/base/base_page.dart';
+import 'package:electronic_assistant/router/app_pages.dart';
+import 'package:flutter/cupertino.dart';
+import 'package:flutter/material.dart';
+import 'package:flutter/services.dart';
+import 'package:flutter/src/widgets/framework.dart';
+import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:get/get.dart';
+import 'package:get/get_core/src/get_main.dart';
+import '../../../resource/assets.gen.dart';
+import '../../../resource/colors.gen.dart';
+import '../../../resource/string.gen.dart';
+import 'controller.dart';
+
+class TemplateManagePage extends BasePage<TemplateManageController> {
+  const TemplateManagePage({super.key});
+
+  static void start() {
+    Get.toNamed(RoutePath.templateManage);
+  }
+
+  @override
+  Widget buildBody(BuildContext context) {
+    return Scaffold(
+      appBar: AppBar(
+        systemOverlayStyle: SystemUiOverlayStyle.dark,
+        backgroundColor: Colors.transparent,
+        title: Text(
+          StringName.templateManageTitle.tr,
+          style: TextStyle(fontSize: 17.sp, color: ColorName.primaryTextColor),
+        ),
+        centerTitle: true,
+        leading: IconButton(
+            onPressed: () {
+              controller.onBack();
+            },
+            icon: SizedBox(
+                width: 24.w,
+                height: 24.w,
+                child: Assets.images.iconBack.image())),
+      ),
+    );
+  }
+}

+ 7 - 0
lib/router/app_pages.dart

@@ -17,6 +17,8 @@ import 'package:electronic_assistant/module/store/view.dart';
 import 'package:electronic_assistant/module/talk/view.dart';
 import 'package:electronic_assistant/module/template/addtemplate/controller.dart';
 import 'package:electronic_assistant/module/template/addtemplate/view.dart';
+import 'package:electronic_assistant/module/template/templatemanage/controller.dart';
+import 'package:electronic_assistant/module/template/templatemanage/view.dart';
 import 'package:get/get.dart';
 
 import '../module/agenda/controller.dart';
@@ -77,6 +79,8 @@ abstract class RoutePath {
   static const modelExplain = '/modelExplain';
 
   static const addTemplate = '/addTemplate';
+
+  static const templateManage = '/templateManage';
 }
 
 class AppBinding extends Bindings {
@@ -101,6 +105,7 @@ class AppBinding extends Bindings {
     lazyPut(() => ComplaintOpinionController());
     lazyPut(() => ModelExplainController());
     lazyPut(() => AddTemplateController());
+    lazyPut(() => TemplateManageController());
   }
 
   void lazyPut<S>(InstanceBuilderCallback<S> builder) {
@@ -131,4 +136,6 @@ final generalPages = [
       page: () => const ComplaintOpinionPage()),
   GetPage(name: RoutePath.modelExplain, page: () => const ModelExplainPage()),
   GetPage(name: RoutePath.addTemplate, page: () => const AddTemplatePage()),
+  GetPage(
+      name: RoutePath.templateManage, page: () => const TemplateManagePage()),
 ];

+ 8 - 0
pubspec.lock

@@ -1804,6 +1804,14 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "1.1.5"
+  x5_webview:
+    dependency: "direct main"
+    description:
+      name: x5_webview
+      sha256: "47e429e55fe1eeb5ca75259529cc7051f05cc5bd132cc8231b46475e94207f39"
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.4.0"
   xdg_directories:
     dependency: transitive
     description: