137 lines
4.7 KiB
Dart
137 lines
4.7 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:rasadyar_core/core.dart';
|
|
import 'package:rasadyar_core/presentation/widget/buttons/elevated.dart';
|
|
import 'package:rasadyar_core/presentation/widget/inputs/r_input.dart';
|
|
import 'package:rasadyar_core/presentation/widget/tabs/new_tab.dart';
|
|
import 'package:inspection/inspection.dart';
|
|
|
|
import 'logic.dart';
|
|
|
|
class AddSupervisionPage extends GetView<AddSupervisionLogic> {
|
|
const AddSupervisionPage({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Scaffold(
|
|
backgroundColor: AppColor.lightGreyLight,
|
|
appBar: RAppBar(
|
|
title: 'ایجاد بازرسی',
|
|
leading: vecWidget(
|
|
Assets.vecMessageAddSvg,
|
|
color: AppColor.blueNormal,
|
|
width: 16,
|
|
height: 16,
|
|
),
|
|
),
|
|
body: SingleChildScrollView(
|
|
child: Column(
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
spacing: 16,
|
|
children: [
|
|
Padding(
|
|
padding: const EdgeInsets.symmetric(horizontal: 20),
|
|
child: Column(
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
spacing: 12,
|
|
children: [
|
|
Text(
|
|
'نوع پروانه کسب',
|
|
textAlign: TextAlign.center,
|
|
style: AppFonts.yekan12.copyWith(
|
|
color: AppColor.blueNormal,
|
|
),
|
|
),
|
|
|
|
ObxValue((data) {
|
|
return NewCupertinoSegmentedControl<int>(
|
|
padding: EdgeInsets.zero,
|
|
children: controller.segments,
|
|
groupValue: data.value,
|
|
selectedColor: AppColor.blueNormal,
|
|
unselectedColor: Colors.white,
|
|
borderColor: Colors.grey.shade300,
|
|
onValueChanged: (int value) {
|
|
data.value = value;
|
|
},
|
|
);
|
|
}, controller.selectedSegment),
|
|
|
|
RTextField(label: 'صادر کننده پروانه'),
|
|
RTextField(label: 'شماره مجوز'),
|
|
RTextField(label: 'شماره ثبت'),
|
|
RTextField(label: 'کد اقتصادی'),
|
|
],
|
|
),
|
|
),
|
|
optionWidget(controller.selectedTypeOfOwnership),
|
|
optionWidget(controller.selectedAccompanyingInspectors),
|
|
optionWidget(controller.selectedUnitType),
|
|
|
|
Padding(
|
|
padding: const EdgeInsets.symmetric(horizontal: 20),
|
|
child: RElevated(
|
|
text: 'مرحله بعد',
|
|
onPressed: () {
|
|
Get.toNamed(InspectionRoutes.inspectionAddMobileInspector);
|
|
},
|
|
height: 40,
|
|
isFullWidth: true,
|
|
backgroundColor: AppColor.greenNormal,
|
|
textStyle: AppFonts.yekan16.copyWith(color: Colors.white),
|
|
),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}
|
|
|
|
Column optionWidget(RxInt selected) {
|
|
return Column(
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
children: [
|
|
Padding(
|
|
padding: const EdgeInsets.symmetric(horizontal: 20),
|
|
child: Text(
|
|
'نوع پروانه کسب',
|
|
textAlign: TextAlign.center,
|
|
style: AppFonts.yekan12.copyWith(color: AppColor.blueNormal),
|
|
),
|
|
),
|
|
|
|
SizedBox(
|
|
height: 75,
|
|
child: ListView.separated(
|
|
shrinkWrap: true,
|
|
padding: EdgeInsets.all(20),
|
|
scrollDirection: Axis.horizontal,
|
|
itemBuilder:
|
|
(context, index) => ObxValue((data) {
|
|
return ChoiceChip(
|
|
onSelected: (value) {
|
|
selected.value = index;
|
|
},
|
|
selectedColor: AppColor.blueNormal,
|
|
labelStyle:
|
|
data.value == index
|
|
? AppFonts.yekan13.copyWith(
|
|
color: AppColor.whiteLight,
|
|
)
|
|
: AppFonts.yekan12.copyWith(
|
|
color: AppColor.darkGreyNormalActive,
|
|
),
|
|
checkmarkColor: Colors.white,
|
|
label: Text(controller.tmpLs[index]),
|
|
selected: index == data.value,
|
|
);
|
|
}, selected),
|
|
|
|
separatorBuilder: (context, index) => SizedBox(width: 8),
|
|
itemCount: controller.tmpLs.length,
|
|
),
|
|
),
|
|
],
|
|
);
|
|
}
|
|
}
|