12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- import 'package:flutter/material.dart';
- import 'package:provider/provider.dart';
- import '../../viewmodels/viewmodels.dart';
- import '../../models/models.dart';
- import '../../widgets/widgets.dart';
- class SucursalesPage extends StatefulWidget {
- @override
- _SucursalesPageState createState() => _SucursalesPageState();
- }
- class _SucursalesPageState extends State<SucursalesPage> {
- Sucursal? _selectedSucursal;
- @override
- void initState() {
- super.initState();
- // Cargar las sucursales desde la base de datos local cuando se inicializa la pantalla
- Provider.of<SucursalViewModel>(context, listen: false)
- .fetchLocalSucursales();
- }
- @override
- Widget build(BuildContext context) {
- final sucursalViewModel = Provider.of<SucursalViewModel>(context);
- final sucursales = sucursalViewModel.sucursales;
- return Scaffold(
- appBar: AppBar(
- title: Text('Sucursales'),
- ),
- body: Padding(
- padding: const EdgeInsets.all(16.0),
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.stretch,
- children: [
- // Dropdown para seleccionar una sucursal
- DropdownButton<Sucursal>(
- hint: Text('Seleccione una sucursal'),
- value: _selectedSucursal,
- isExpanded: true,
- onChanged: (Sucursal? newValue) {
- setState(() {
- _selectedSucursal = newValue;
- });
- },
- items: sucursales.map((Sucursal sucursal) {
- return DropdownMenuItem<Sucursal>(
- value: sucursal,
- child: Text(sucursal.nombre ?? ''),
- );
- }).toList(),
- ),
- SizedBox(height: 20),
- boton("Guardar", () async {
- _guardarSucursalSeleccionada();
- if (context.mounted) {
- Navigator.pop(context);
- }
- })
- ],
- ),
- ),
- );
- }
- void _guardarSucursalSeleccionada() {
- if (_selectedSucursal != null) {
- // Aquí puedes implementar la lógica para guardar la sucursal seleccionada
- print('Sucursal seleccionada: ${_selectedSucursal?.nombre}');
- // Puedes guardar la sucursal seleccionada en el estado o base de datos local
- // Ejemplo: Provider.of<SucursalViewModel>(context, listen: false).guardarSucursalSeleccionada(_selectedSucursal);
- }
- }
- }
|