Browse Source

feat : 表单界面显示企业

dev
徐振升 1 day ago
parent
commit
3e056406d4
  1. 6
      lib/app/features/problem/presentation/controllers/problem_form_controller.dart
  2. 64
      lib/app/features/problem/presentation/pages/problem_form_page.dart

6
lib/app/features/problem/presentation/controllers/problem_form_controller.dart

@ -31,6 +31,12 @@ class ProblemFormController extends GetxController {
return formMode == FormMode.view; return formMode == FormMode.view;
} }
Enterprise get enterprise {
return enterpriseList.firstWhere(
(enterprise) => enterprise.id == problem!.enterpriseId,
);
}
bool get isShowBindData { bool get isShowBindData {
return problem?.bindData != null; return problem?.bindData != null;
} }

64
lib/app/features/problem/presentation/pages/problem_form_page.dart

@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:image_picker/image_picker.dart'; import 'package:image_picker/image_picker.dart';
import 'package:problem_check_system/app/core/models/form_mode.dart';
import 'package:problem_check_system/app/core/pages/widgets/custom_app_bar.dart'; import 'package:problem_check_system/app/core/pages/widgets/custom_app_bar.dart';
import 'package:problem_check_system/app/features/enterprise/domain/entities/enterprise.dart'; import 'package:problem_check_system/app/features/enterprise/domain/entities/enterprise.dart';
import 'package:problem_check_system/app/features/problem/presentation/controllers/problem_form_controller.dart'; import 'package:problem_check_system/app/features/problem/presentation/controllers/problem_form_controller.dart';
@ -455,32 +456,43 @@ class ProblemFormPage extends GetView<ProblemFormController> {
_buildTopSection(), _buildTopSection(),
// //
const SizedBox(height: 20.0), // SizedBox(height: 10.5.h),
if (controller.isReadOnly)
// --- 2. --- Padding(
Padding( padding: EdgeInsetsGeometry.only(
padding: EdgeInsetsGeometry.only(left: 16.w, right: 16.w), top: 10.5.w,
child: DropdownButtonHideUnderline( bottom: 16.w,
child: DropdownButton<Enterprise>( left: 16.w,
// right: 16.w,
hint: const Text('请选择一个企业'), ),
isExpanded: true, child: Text(controller.enterprise.name),
// )
value: controller.selectedEnterprise.value, else
// map从控制器列表动态生成 Padding(
items: controller.enterpriseList.map((enterprise) { padding: EdgeInsetsGeometry.only(left: 16.w, right: 16.w),
return DropdownMenuItem<Enterprise>( child: DropdownButtonHideUnderline(
value: enterprise, // EnterpriseEntity对象本身 child: DropdownButton<Enterprise>(
child: Text(enterprise.name), // //
); hint: const Text('请选择一个企业'),
}).toList(), isExpanded: true,
// //
onChanged: (newValue) { value: controller.formMode == FormMode.edit
controller.selectEnterprise(newValue); ? controller.enterprise
}, : controller.selectedEnterprise.value,
// map从控制器列表动态生成
items: controller.enterpriseList.map((enterprise) {
return DropdownMenuItem<Enterprise>(
value: enterprise, // EnterpriseEntity对象本身
child: Text(enterprise.name), //
);
}).toList(),
//
onChanged: (newValue) {
controller.selectEnterprise(newValue);
},
),
), ),
), ),
),
], ],
), ),
); );
@ -497,10 +509,10 @@ class ProblemFormPage extends GetView<ProblemFormController> {
// //
Padding( Padding(
padding: EdgeInsetsGeometry.only(left: 16.w, top: 10.5.h), padding: EdgeInsetsGeometry.only(left: 16.w, top: 10.5.h),
child: const Text( child: Text(
'企业名称', '企业名称',
style: TextStyle( style: TextStyle(
fontSize: 18, fontSize: 15.sp,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: Colors.black87, color: Colors.black87,
), ),

Loading…
Cancel
Save