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;
}
Enterprise get enterprise {
return enterpriseList.firstWhere(
(enterprise) => enterprise.id == problem!.enterpriseId,
);
}
bool get isShowBindData {
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:get/get.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/features/enterprise/domain/entities/enterprise.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(),
//
const SizedBox(height: 20.0),
// --- 2. ---
Padding(
padding: EdgeInsetsGeometry.only(left: 16.w, right: 16.w),
child: DropdownButtonHideUnderline(
child: DropdownButton<Enterprise>(
//
hint: const Text('请选择一个企业'),
isExpanded: true,
//
value: 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);
},
// SizedBox(height: 10.5.h),
if (controller.isReadOnly)
Padding(
padding: EdgeInsetsGeometry.only(
top: 10.5.w,
bottom: 16.w,
left: 16.w,
right: 16.w,
),
child: Text(controller.enterprise.name),
)
else
Padding(
padding: EdgeInsetsGeometry.only(left: 16.w, right: 16.w),
child: DropdownButtonHideUnderline(
child: DropdownButton<Enterprise>(
//
hint: const Text('请选择一个企业'),
isExpanded: true,
//
value: controller.formMode == FormMode.edit
? 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: EdgeInsetsGeometry.only(left: 16.w, top: 10.5.h),
child: const Text(
child: Text(
'企业名称',
style: TextStyle(
fontSize: 18,
fontSize: 15.sp,
fontWeight: FontWeight.bold,
color: Colors.black87,
),

Loading…
Cancel
Save