build_app
This commit is contained in:
parent
8a1b32b7e2
commit
b5e96d3c04
@ -72,6 +72,12 @@ public class BuilderService {
|
||||
addCustomMenu( "Child", "Transcations");
|
||||
|
||||
|
||||
addCustomMenu( "Testm", "Transcations");
|
||||
|
||||
|
||||
addCustomMenu( "Child", "Transcations");
|
||||
|
||||
|
||||
addCustomMenu( "Testm", "Transcations");
|
||||
|
||||
|
||||
|
||||
@ -20,6 +20,28 @@ import com.realnet.forma.Services.TestmService ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@RequestMapping(value = "/Testm")
|
||||
@CrossOrigin("*")
|
||||
@RestController
|
||||
@ -34,12 +56,56 @@ public class TestmController {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@PostMapping("/Testm")
|
||||
public Testm Savedata(@RequestBody Testm data) {
|
||||
Testm save = Service.Savedata(data) ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
System.out.println("data saved..." + save);
|
||||
|
||||
return save;
|
||||
@ -88,4 +154,26 @@ public class TestmController {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
package com.realnet.forma.Controllers;
|
||||
import java.util.List;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import com.realnet.forma.Entity.Testm_ListFilter1;
|
||||
import com.realnet.forma.Services.Testm_ListFilter1Service ;
|
||||
@RequestMapping(value = "/Testm_ListFilter1")
|
||||
@RestController
|
||||
public class Testm_ListFilter1Controller {
|
||||
|
||||
@Autowired
|
||||
private Testm_ListFilter1Service Service;
|
||||
|
||||
@GetMapping("/Testm_ListFilter1")
|
||||
public List<Testm_ListFilter1> getlist() {
|
||||
List<Testm_ListFilter1> get = Service.getlistbuilder();
|
||||
return get;
|
||||
}
|
||||
@GetMapping("/Testm_ListFilter11")
|
||||
public List<Testm_ListFilter1> getlistwithparam( ) {
|
||||
List<Testm_ListFilter1> get = Service.getlistbuilderparam( );
|
||||
return get;
|
||||
}
|
||||
}
|
||||
@ -6,7 +6,29 @@ import com.realnet.WhoColumn.Entity.Extension;
|
||||
import java.util.*;
|
||||
|
||||
|
||||
import com.realnet.forma.Entity.Child;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Entity
|
||||
@Data
|
||||
@ -22,8 +44,42 @@ import com.realnet.forma.Entity.Child;
|
||||
|
||||
private String namem;
|
||||
|
||||
@OneToOne( cascade=CascadeType.ALL)
|
||||
private Child child;
|
||||
private String selectsta;
|
||||
|
||||
private String selectstamul;
|
||||
|
||||
private Integer selectdya;
|
||||
private String selectdyaname;
|
||||
|
||||
private String selectdyamul;
|
||||
|
||||
private Integer selectauto;
|
||||
private String selectautotypename;
|
||||
|
||||
private String selectautomul;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private String bar_code;
|
||||
|
||||
|
||||
|
||||
|
||||
private String qr_code;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private int numbers;
|
||||
|
||||
private int numberk;
|
||||
|
||||
private String calculateadd;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,14 @@
|
||||
package com.realnet.forma.Entity;
|
||||
import lombok.*;
|
||||
import javax.persistence.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
|
||||
@Data
|
||||
public class Testm_ListFilter1 {
|
||||
|
||||
private Integer id;
|
||||
|
||||
|
||||
private String namem;
|
||||
}
|
||||
@ -15,6 +15,28 @@ import java.util.*;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
import com.realnet.forma.Entity.Testm;
|
||||
|
||||
@Repository
|
||||
|
||||
@ -16,6 +16,34 @@ import com.realnet.users.entity1.AppUser;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
import com.realnet.forma.Entity.Testm;
|
||||
import com.realnet.forma.Services.TestmService;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
import com.realnet.forma.Entity.Testm;
|
||||
import com.realnet.forma.Services.TestmService;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
@ -29,11 +57,75 @@ private TestmRepository Repository;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Autowired
|
||||
private TestmService selectdyaserv;
|
||||
|
||||
|
||||
|
||||
@Autowired
|
||||
private TestmService selectautoserv;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public Testm Savedata(Testm data) {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if (data.getSelectdya() != null) {
|
||||
Testm get = selectdyaserv.getdetailsbyId(data.getSelectdya());
|
||||
data.setSelectdyaname(get.getNamem());
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if (data.getSelectauto() != null) {
|
||||
Testm get = selectautoserv.getdetailsbyId(data.getSelectauto());
|
||||
data.setSelectautotypename(get.getNamem());
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
data.setUpdatedBy(getUser().getUserId());
|
||||
data.setCreatedBy(getUser().getUserId());
|
||||
data.setAccountId(getUser().getAccount().getAccount_id());
|
||||
@ -67,7 +159,38 @@ public Testm update(Testm data,Integer id) {
|
||||
Testm old = Repository.findById(id).get();
|
||||
old.setNamem(data.getNamem());
|
||||
|
||||
old.setChild(data.getChild());
|
||||
old.setSelectsta(data.getSelectsta());
|
||||
|
||||
old.setSelectstamul(data.getSelectstamul());
|
||||
|
||||
old.setSelectdya(data.getSelectdya());
|
||||
|
||||
old.setSelectdyamul(data.getSelectdyamul());
|
||||
|
||||
old.setSelectauto(data.getSelectauto());
|
||||
|
||||
old.setSelectautomul(data.getSelectautomul());
|
||||
|
||||
|
||||
|
||||
old.setBar_code(data.getBar_code());
|
||||
|
||||
|
||||
|
||||
old.setQr_code(data.getQr_code());
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
old.setNumbers(data.getNumbers());
|
||||
|
||||
old.setNumberk(data.getNumberk());
|
||||
|
||||
old.setCalculateadd(data.getCalculateadd());
|
||||
|
||||
final Testm test = Repository.save(old);
|
||||
data.setUpdatedBy(getUser().getUserId());
|
||||
@ -76,6 +199,28 @@ final Testm test = Repository.save(old);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public AppUser getUser() {
|
||||
AppUser user = userService.getLoggedInUser();
|
||||
return user;
|
||||
|
||||
@ -0,0 +1,47 @@
|
||||
package com.realnet.forma.Services;
|
||||
import java.util.*;
|
||||
import com.realnet.forma.Repository.TestmRepository;
|
||||
import com.realnet.forma.Entity.Testm;
|
||||
|
||||
import com.realnet.forma.Entity.Testm_ListFilter1;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class Testm_ListFilter1Service {
|
||||
@Autowired
|
||||
private TestmRepository Repository;
|
||||
|
||||
|
||||
|
||||
|
||||
public List<Testm_ListFilter1> getlistbuilder() {
|
||||
List<Testm> list= Repository.findAll();
|
||||
ArrayList<Testm_ListFilter1> l = new ArrayList<>();
|
||||
for (Testm data : list) {
|
||||
{
|
||||
Testm_ListFilter1 dummy = new Testm_ListFilter1();
|
||||
dummy.setId(data.getId());
|
||||
dummy.setNamem(data.getNamem());
|
||||
l.add(dummy);
|
||||
}
|
||||
}
|
||||
return l;}
|
||||
|
||||
|
||||
|
||||
public List<Testm_ListFilter1> getlistbuilderparam( ) {
|
||||
List<Testm> list= Repository.findAll();
|
||||
ArrayList<Testm_ListFilter1> l = new ArrayList<>();
|
||||
for (Testm data : list) {
|
||||
{
|
||||
Testm_ListFilter1 dummy = new Testm_ListFilter1();
|
||||
dummy.setId(data.getId());
|
||||
dummy.setNamem(data.getNamem());
|
||||
l.add(dummy);
|
||||
}
|
||||
}
|
||||
return l;}
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
CREATE TABLE db.Testm(id BIGINT NOT NULL AUTO_INCREMENT, onetoone VARCHAR(400), namem VARCHAR(400), PRIMARY KEY (id));
|
||||
CREATE TABLE db.Testm(id BIGINT NOT NULL AUTO_INCREMENT, selectdya int, numbers int, selectdyamul VARCHAR(400), calculateadd VARCHAR(400), valuell VARCHAR(400), selectstamul VARCHAR(400), bar_code VARCHAR(400), selectauto int, selectautomul VARCHAR(400), qr_code VARCHAR(400), numberk int, namem VARCHAR(400), datagg VARCHAR(400), selectsta VARCHAR(400), PRIMARY KEY (id));
|
||||
|
||||
CREATE TABLE db.Child(id BIGINT NOT NULL AUTO_INCREMENT, namemmm VARCHAR(400), PRIMARY KEY (id));
|
||||
|
||||
|
||||
@ -56,6 +56,28 @@ Future<List<Map<String, dynamic>>> getAllWithPagination(
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Future<void> updateEntity( int entityId, Map<String, dynamic> entity) async {
|
||||
try {
|
||||
await _helper.getPutApiResponse('$baseUrl/Testm/Testm/$entityId',
|
||||
@ -77,4 +99,26 @@ Future<List<Map<String, dynamic>>> getAllWithPagination(
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@ -53,6 +53,28 @@ class _testm_entity_list_screenState extends State<testm_entity_list_screen> {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Future<void> fetchwithoutpaging() async {
|
||||
try {
|
||||
final provider =
|
||||
@ -178,7 +200,79 @@ Future<void> fetchEntities() async {
|
||||
|
||||
|
||||
|
||||
entity['child'].toString().toLowerCase().contains(keyword.toLowerCase())
|
||||
entity['selectsta'].toString().toLowerCase().contains(keyword.toLowerCase()) ||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
entity['selectstamul'].toString().toLowerCase().contains(keyword.toLowerCase()) ||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
entity['selectdya'].toString().toLowerCase().contains(keyword.toLowerCase()) ||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
entity['selectdyamul'].toString().toLowerCase().contains(keyword.toLowerCase()) ||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
entity['selectautotypename'].toString().toLowerCase().contains(keyword.toLowerCase()) ||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
entity['selectautomul'].toString().toLowerCase().contains(keyword.toLowerCase()) ||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
entity['bar_code'].toString().toLowerCase().contains(keyword.toLowerCase()) ||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
entity['qr_code'].toString().toLowerCase().contains(keyword.toLowerCase()) ||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
entity['datagg'].toString().toLowerCase().contains(keyword.toLowerCase()) ||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
entity['numbers'].toString().toLowerCase().contains(keyword.toLowerCase()) ||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
entity['numberk'].toString().toLowerCase().contains(keyword.toLowerCase())
|
||||
|
||||
|
||||
|
||||
|
||||
).toList();
|
||||
@ -259,6 +353,28 @@ onTapArrowleft1(BuildContext context) {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
],
|
||||
), ],
|
||||
),
|
||||
@ -516,6 +632,255 @@ onTapArrowleft1(BuildContext context) {
|
||||
),
|
||||
|
||||
|
||||
Padding(
|
||||
padding: getPadding(
|
||||
top: 10,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
"selectsta : ",
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.left,
|
||||
style: AppStyle.txtGilroyMedium16,
|
||||
),
|
||||
Text(
|
||||
entity['selectsta'].toString() ?? 'No selectsta Available',
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.left,
|
||||
style: AppStyle.txtGilroyMedium16Bluegray900,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
Padding(
|
||||
padding: getPadding(
|
||||
top: 10,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
"selectstamul : ",
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.left,
|
||||
style: AppStyle.txtGilroyMedium16,
|
||||
),
|
||||
Text(
|
||||
entity['selectstamul'].toString() ?? 'No selectstamul Available',
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.left,
|
||||
style: AppStyle.txtGilroyMedium16Bluegray900,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
Padding(
|
||||
padding: getPadding(
|
||||
top: 10,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
"selectdya : ",
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.left,
|
||||
style: AppStyle.txtGilroyMedium16,
|
||||
),
|
||||
Text(
|
||||
entity['selectdya'].toString() ?? 'No selectdya Available',
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.left,
|
||||
style: AppStyle.txtGilroyMedium16Bluegray900,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
Padding(
|
||||
padding: getPadding(
|
||||
top: 10,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
"selectdyamul : ",
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.left,
|
||||
style: AppStyle.txtGilroyMedium16,
|
||||
),
|
||||
Text(
|
||||
entity['selectdyamul'].toString() ?? 'No selectdyamul Available',
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.left,
|
||||
style: AppStyle.txtGilroyMedium16Bluegray900,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
Padding(
|
||||
padding: getPadding(
|
||||
top: 10,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
"selectauto : ",
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.left,
|
||||
style: AppStyle.txtGilroyMedium16,
|
||||
),
|
||||
Text(
|
||||
entity['selectautotypename'] ?? 'No selectauto Available',
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.left,
|
||||
style: AppStyle.txtGilroyMedium16Bluegray900,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
Padding(
|
||||
padding: getPadding(
|
||||
top: 10,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
"selectautomul : ",
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.left,
|
||||
style: AppStyle.txtGilroyMedium16,
|
||||
),
|
||||
Text(
|
||||
entity['selectautomul'].toString() ?? 'No selectautomul Available',
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.left,
|
||||
style: AppStyle.txtGilroyMedium16Bluegray900,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
|
||||
|
||||
Padding(
|
||||
padding: getPadding(
|
||||
top: 10,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
"Bar_code : ",
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.left,
|
||||
style: AppStyle.txtGilroyMedium16,
|
||||
),
|
||||
Text(
|
||||
entity['bar_code'].toString() ?? 'No Bar_code Available',
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.left,
|
||||
style: AppStyle.txtGilroyMedium16Bluegray900,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
|
||||
|
||||
Padding(
|
||||
padding: getPadding(
|
||||
top: 10,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
"Qr_code : ",
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.left,
|
||||
style: AppStyle.txtGilroyMedium16,
|
||||
),
|
||||
Text(
|
||||
entity['qr_code'].toString() ?? 'No Qr_code Available',
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.left,
|
||||
style: AppStyle.txtGilroyMedium16Bluegray900,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Padding(
|
||||
padding: getPadding(
|
||||
top: 10,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
"Numbers : ",
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.left,
|
||||
style: AppStyle.txtGilroyMedium16,
|
||||
),
|
||||
Text(
|
||||
entity['numbers'].toString() ?? 'No Numbers Available',
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.left,
|
||||
style: AppStyle.txtGilroyMedium16Bluegray900,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
Padding(
|
||||
padding: getPadding(
|
||||
top: 10,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
"Numberk : ",
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.left,
|
||||
style: AppStyle.txtGilroyMedium16,
|
||||
),
|
||||
Text(
|
||||
entity['numberk'].toString() ?? 'No Numberk Available',
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.left,
|
||||
style: AppStyle.txtGilroyMedium16Bluegray900,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -38,39 +38,203 @@ class _testmUpdateEntityScreenState extends State<testmUpdateEntityScreen> {
|
||||
|
||||
|
||||
|
||||
Widget buildFormField(String fieldOption) {
|
||||
|
||||
var selectedselectsta; // Initialize with the default value \n);
|
||||
List<String> selectstaList = [
|
||||
|
||||
|
||||
'q',
|
||||
|
||||
|
||||
|
||||
|
||||
'b',
|
||||
|
||||
|
||||
|
||||
];
|
||||
|
||||
Widget _buildDropdownselectsta(String label, List<String> options, String? value, void Function(String?) onChanged) {
|
||||
return Padding(
|
||||
padding: const EdgeInsets.only(bottom: 16.0),
|
||||
child: Card(
|
||||
elevation: 4,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(12.0),
|
||||
child: TextFormField(
|
||||
initialValue: widget.entity['child'] != null &&
|
||||
widget.entity['child'][fieldOption] != null
|
||||
? widget.entity['child'][fieldOption]
|
||||
: '',
|
||||
decoration: InputDecoration(
|
||||
labelText: fieldOption,
|
||||
border: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
),
|
||||
),
|
||||
onSaved: (value) {
|
||||
if (widget.entity['child'] == null) {
|
||||
widget.entity['child'] = {};
|
||||
}
|
||||
widget.entity['child'][fieldOption] = value;
|
||||
},
|
||||
),
|
||||
padding: const EdgeInsets.symmetric(vertical: 8.0),
|
||||
child: DropdownButtonFormField<String>(
|
||||
decoration: InputDecoration(labelText: label,
|
||||
border: OutlineInputBorder(),
|
||||
),
|
||||
value: value,
|
||||
onChanged: onChanged,
|
||||
items: options.map<DropdownMenuItem<String>>((String value) {
|
||||
return DropdownMenuItem<String>(
|
||||
value: value,
|
||||
child: Text(value),
|
||||
);
|
||||
}).toList(),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
List<dynamic> selectedselectstamul = [];
|
||||
List<String> selectstamulList = [
|
||||
|
||||
|
||||
'q',
|
||||
|
||||
|
||||
|
||||
'b',
|
||||
|
||||
|
||||
|
||||
'c',
|
||||
|
||||
|
||||
];
|
||||
|
||||
Widget _buildDropdownselectstamul(
|
||||
String label,
|
||||
List<String> options,
|
||||
String? selectedValue,
|
||||
String fieldName,
|
||||
void Function(String?) onChanged,
|
||||
) {
|
||||
return Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 8.0),
|
||||
child: DropdownButtonFormField<String>(
|
||||
decoration: InputDecoration(
|
||||
labelText: label,
|
||||
border: OutlineInputBorder(),
|
||||
),
|
||||
value: selectedValue,
|
||||
items: options.map((String option) {
|
||||
return DropdownMenuItem<String>(
|
||||
value: option,
|
||||
child: Text(option),
|
||||
);
|
||||
}).toList(),
|
||||
onChanged: onChanged,
|
||||
onSaved: (value) {
|
||||
// Save selected value to entity or form data
|
||||
widget.entity['selectstamul'] = value;
|
||||
},
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
List<Map<String, dynamic>> selectdyaItems = [];
|
||||
var selectedselectdyaValue;
|
||||
|
||||
List<String> selectdyamulItems = [];
|
||||
List<String> selectedselectdyamulValue = [];
|
||||
|
||||
TextEditingController selectdyamulController = TextEditingController();
|
||||
|
||||
GlobalKey<AutoCompleteTextFieldState<String>> selectdyamulkey = GlobalKey();
|
||||
|
||||
Future<List<String>> _loadselectdyamulItems() async {
|
||||
final provider =
|
||||
Provider.of<TestmViewModelScreen>(context, listen: false);
|
||||
try {
|
||||
final selectTdata = await provider.getselectdyamul();
|
||||
print('selectdyamul data is : $selectTdata');
|
||||
|
||||
if (selectTdata != null && selectTdata.isNotEmpty) {
|
||||
List<String> datareturned = [];
|
||||
|
||||
|
||||
selectTdata.forEach((element) {
|
||||
if (element['namem'] != null)
|
||||
|
||||
datareturned.add(element['namem']);
|
||||
});
|
||||
|
||||
|
||||
return datareturned;
|
||||
} else {
|
||||
print('selectdyamul data is null or empty');
|
||||
return [];
|
||||
}
|
||||
} catch (e) {
|
||||
print('Failed to load selectdyamul items: $e');
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
List<Map<String, dynamic>> selectautoItems = [];
|
||||
int? selectedselectautoId; // to store selected state id
|
||||
|
||||
String selectedselectautoValue = ''; // Use nullable type Future<void> _load
|
||||
|
||||
TextEditingController selectautoController = TextEditingController();
|
||||
GlobalKey<AutoCompleteTextFieldState<String>> selectautokey = GlobalKey();
|
||||
Future<List<Map<String, dynamic>>> _loadselectautoItems() async {
|
||||
final provider =
|
||||
Provider.of<TestmViewModelScreen>(context, listen: false);
|
||||
|
||||
try {
|
||||
final selectTdata = await provider.getselectauto();
|
||||
print('selectauto data is : $selectTdata');
|
||||
|
||||
if (selectTdata != null && selectTdata.isNotEmpty) {
|
||||
selectautoItems = selectTdata;
|
||||
|
||||
print('data ret $selectautoItems');
|
||||
return selectautoItems;
|
||||
} else {
|
||||
print('selectauto data is null or empty');
|
||||
return [];
|
||||
}
|
||||
} catch (e) {
|
||||
print('Failed to load selectauto items: $e');
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
List<String> selectautomulItems = [];
|
||||
List<String> selectedselectautomulValue = [];
|
||||
|
||||
TextEditingController selectautomulController = TextEditingController();
|
||||
GlobalKey<AutoCompleteTextFieldState<String>> selectautomulkey = GlobalKey();
|
||||
Future<List<String>> _loadselectautomulItems() async {
|
||||
final provider =
|
||||
Provider.of<TestmViewModelScreen>(context, listen: false);
|
||||
try {
|
||||
final selectTdata = await provider.getselectautomul();
|
||||
print('selectautomul data is : $selectTdata');
|
||||
|
||||
if (selectTdata != null && selectTdata.isNotEmpty) {
|
||||
List<String> datareturned = [];
|
||||
|
||||
|
||||
selectTdata.forEach((element) {
|
||||
if (element['namem'] != null)
|
||||
datareturned.add(element['namem']);
|
||||
});
|
||||
|
||||
|
||||
return datareturned;
|
||||
} else {
|
||||
print('selectautomul data is null or empty');
|
||||
return [];
|
||||
}
|
||||
} catch (e) {
|
||||
print('Failed to load selectautomul items: $e');
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@override
|
||||
@ -79,6 +243,60 @@ onSaved: (value) {
|
||||
final provider = Provider.of<TestmViewModelScreen>(context, listen: false);
|
||||
|
||||
|
||||
selectedselectsta = widget.entity['selectsta'] ?? selectstaList[0] ; // Initialize with the default value
|
||||
|
||||
print(json.decode(widget.entity['selectstamul'])['selectstamul'].toString());
|
||||
selectedselectstamul= json.decode(widget.entity['selectstamul'])['selectstamul'];
|
||||
print('selected selectstamulis ... $selectedselectstamul');
|
||||
|
||||
provider.getselectdya().then((value) {
|
||||
setState(() {
|
||||
selectdyaItems = value; // ✅ Update list only when data is fetched
|
||||
selectedselectdyaValue = widget.entity['selectdya'] ?? null;
|
||||
|
||||
// ✅ Fetch the stored ID and convert it to a String
|
||||
var entityValue = widget.entity['selectdya'];
|
||||
if (entityValue != null) {
|
||||
selectedselectdyaValue = entityValue.toString();
|
||||
} else {
|
||||
selectedselectdyaValue = null;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
print('Updated selectdyaItems: $selectdyaItems');
|
||||
print('Selected Value: $selectedselectdyaValue');
|
||||
|
||||
}).catchError((error) {
|
||||
print('Error fetching data: $error');
|
||||
});
|
||||
|
||||
String? selectdyamulString = widget.entity['selectdyamul'];
|
||||
if (selectdyamulString != null) {
|
||||
|
||||
selectdyamulString = selectdyamulString.substring(0, selectdyamulString.length);
|
||||
selectedselectdyamulValue = selectdyamulString.split(', ');
|
||||
}
|
||||
|
||||
selectedselectautoValue = widget.entity['selectautoname']?? 'no data' ;
|
||||
|
||||
String? selectautomulString = widget.entity['selectautomul'];
|
||||
|
||||
if (selectautomulString != null) {
|
||||
selectautomulString = selectautomulString.substring(0, selectautomulString.length );
|
||||
selectedselectautomulValue = selectautomulString.split(', ');
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -105,6 +323,28 @@ onSaved: (value) {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
],
|
||||
),
|
||||
body: SingleChildScrollView(
|
||||
@ -127,32 +367,373 @@ onSaved: (value) {
|
||||
SizedBox(height: 16),
|
||||
|
||||
|
||||
Padding(
|
||||
padding: const EdgeInsets.all(16.0),
|
||||
child: Column(
|
||||
|
||||
|
||||
_buildDropdownselectsta(
|
||||
'selectsta',
|
||||
selectstaList,
|
||||
selectedselectsta,
|
||||
(value) {
|
||||
setState(() {
|
||||
selectedselectsta = value;
|
||||
widget.entity['selectsta'] = value; // Save selected value to entity
|
||||
});
|
||||
},
|
||||
),
|
||||
|
||||
|
||||
Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
const SizedBox(
|
||||
height: 20,
|
||||
child: Text(
|
||||
'Child',
|
||||
_buildDropdownselectstamul(
|
||||
'Select selectstamul',
|
||||
selectstamulList,
|
||||
widget.entity['selectstamul'], // Use entity for initial values
|
||||
'fieldName', // fieldName used to identify the value in state
|
||||
(value) {
|
||||
setState(() {
|
||||
widget.entity['selectstamul'] = value; // Save selected values to entity
|
||||
});
|
||||
},
|
||||
),
|
||||
SizedBox(height: 16),
|
||||
ElevatedButton(
|
||||
onPressed: () {
|
||||
// Handle save/update logic
|
||||
print('Updated values: ${widget.entity['selectstamul']}');
|
||||
},
|
||||
child: Text('Save'),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
|
||||
ReusableDropdownField(
|
||||
label: "Select dynmi",
|
||||
options: selectdyaItems, // Your dynamic list
|
||||
|
||||
|
||||
|
||||
valueField: 'id', // ✅ API response key for ID
|
||||
uiField: 'namem', // ✅ API response key for Name
|
||||
|
||||
|
||||
|
||||
|
||||
value: selectedselectdyaValue,
|
||||
onChanged: (newValue) {
|
||||
setState(() {
|
||||
selectedselectdyaValue = newValue!;
|
||||
});
|
||||
},
|
||||
onSaved: (newValue) {
|
||||
widget.entity['selectdya'] = selectedselectdyaValue?.isEmpty ?? true
|
||||
? 'no value'
|
||||
: newValue!;
|
||||
},
|
||||
),
|
||||
const SizedBox(width: 16),
|
||||
|
||||
FutureBuilder<List<String>>(
|
||||
future: _loadselectdyamulItems(),
|
||||
builder: (context, AsyncSnapshot<List<String>> snapshot) {
|
||||
if (snapshot.connectionState == ConnectionState.done) {
|
||||
final selectdyamulItems = snapshot.data ?? [];
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Autocomplete<String>(
|
||||
optionsBuilder: (TextEditingValue textEditingValue) {
|
||||
if (textEditingValue.text.isEmpty) {
|
||||
return const Iterable<String>.empty();
|
||||
} else {
|
||||
List<String> matches = <String>[];
|
||||
matches.addAll(selectdyamulItems);
|
||||
matches.retainWhere((s) =>
|
||||
s.toLowerCase().contains(textEditingValue.text.toLowerCase()));
|
||||
return matches;
|
||||
}
|
||||
},
|
||||
onSelected: (String selection) {
|
||||
setState(() {
|
||||
if (selectedselectdyamulValue.contains(selection)) {
|
||||
selectedselectdyamulValue.remove(selection);
|
||||
} else {
|
||||
selectedselectdyamulValue.add(selection);
|
||||
}
|
||||
widget.entity['selectdyamul'] = selectedselectdyamulValue.join(',');
|
||||
});
|
||||
},
|
||||
),
|
||||
SizedBox(height: 16),
|
||||
Text(selectedselectdyamulValue.join(',')),
|
||||
],
|
||||
);
|
||||
} else {
|
||||
return Center(child: CircularProgressIndicator());
|
||||
}
|
||||
},
|
||||
),
|
||||
|
||||
|
||||
FutureBuilder<List<Map<String, dynamic>>>(
|
||||
future: _loadselectautoItems(),
|
||||
builder: (context,
|
||||
AsyncSnapshot<List<Map<String, dynamic>>> snapshot) {
|
||||
if (snapshot.connectionState == ConnectionState.done) {
|
||||
if (snapshot.hasError) {
|
||||
return Text('Error: ${snapshot.error}');
|
||||
}
|
||||
|
||||
final selectauto = snapshot.data ?? [];
|
||||
final fieldNameItems = selectauto
|
||||
|
||||
|
||||
.map((e) => e['name'])
|
||||
|
||||
|
||||
.where((name) => name != null)
|
||||
.cast<String>()
|
||||
.toList();
|
||||
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Autocomplete<String>(
|
||||
optionsBuilder:
|
||||
(TextEditingValue textEditingValue) {
|
||||
if (textEditingValue.text.isEmpty) {
|
||||
return const Iterable<String>.empty();
|
||||
} else {
|
||||
List<String> matches = <String>[];
|
||||
matches.addAll(fieldNameItems);
|
||||
matches.retainWhere((s) => s
|
||||
.toLowerCase()
|
||||
.contains(
|
||||
textEditingValue.text.toLowerCase()));
|
||||
return matches;
|
||||
}
|
||||
},
|
||||
onSelected: (String selection) {
|
||||
setState(() {
|
||||
selectedselectautoValue = selection;
|
||||
|
||||
selectedselectautoId = selectauto.firstWhere(
|
||||
(element) =>
|
||||
|
||||
|
||||
element['namem'] == selection)['id'];
|
||||
|
||||
|
||||
widget.entity['selectauto'] =
|
||||
selectedselectautoId;
|
||||
});
|
||||
},
|
||||
fieldViewBuilder: (BuildContext context,
|
||||
TextEditingController textEditingController,
|
||||
FocusNode focusNode,
|
||||
VoidCallback onFieldSubmitted) {
|
||||
return TextFormField(
|
||||
controller: textEditingController,
|
||||
focusNode: focusNode,
|
||||
decoration: InputDecoration(
|
||||
contentPadding: const EdgeInsets.symmetric(
|
||||
horizontal: 16.0),
|
||||
border: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.circular(8.0),
|
||||
borderSide: BorderSide(
|
||||
color: Colors.deepPurple, width: 2),
|
||||
),
|
||||
enabledBorder: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.circular(8.0),
|
||||
borderSide: BorderSide(
|
||||
color: Colors.deepPurple, width: 2),
|
||||
),
|
||||
focusedBorder: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.circular(8.0),
|
||||
borderSide: BorderSide(
|
||||
color: Colors.deepPurpleAccent,
|
||||
width: 2),
|
||||
),
|
||||
hintText: 'Select selectauto',
|
||||
hintStyle: TextStyle(color: Colors.grey[600]),
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
SizedBox(height: 16),
|
||||
Text(
|
||||
'Selected Value: ${selectedselectautoValue.isNotEmpty ? selectedselectautoValue : "None"}'),
|
||||
],
|
||||
);
|
||||
} else {
|
||||
return Center(child: CircularProgressIndicator());
|
||||
}
|
||||
},
|
||||
),
|
||||
|
||||
FutureBuilder<List<String>>(
|
||||
future: _loadselectautomulItems(),
|
||||
builder: (context, AsyncSnapshot<List<String>> snapshot) {
|
||||
if (snapshot.connectionState == ConnectionState.done) {
|
||||
final selectautomulItems = snapshot.data ?? [];
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Autocomplete<String>(
|
||||
optionsBuilder: (TextEditingValue textEditingValue) {
|
||||
if (textEditingValue.text.isEmpty) {
|
||||
return const Iterable<String>.empty();
|
||||
} else {
|
||||
List<String> matches = <String>[];
|
||||
matches.addAll(selectautomulItems);
|
||||
matches.retainWhere((s) =>
|
||||
s.toLowerCase().contains(textEditingValue.text.toLowerCase()));
|
||||
return matches;
|
||||
}
|
||||
},
|
||||
onSelected: (String selection) {
|
||||
setState(() {
|
||||
if (selectedselectautomulValue.contains(selection)) {
|
||||
selectedselectautomulValue.remove(selection);
|
||||
} else {
|
||||
selectedselectautomulValue.add(selection);
|
||||
}
|
||||
widget.entity['selectautomul'] = selectedselectautomulValue.join(',');
|
||||
});
|
||||
},
|
||||
),
|
||||
SizedBox(height: 16),
|
||||
Text(selectedselectautomulValue.join(',')),
|
||||
],
|
||||
);
|
||||
} else {
|
||||
return Center(child: CircularProgressIndicator());
|
||||
}
|
||||
},
|
||||
),
|
||||
|
||||
|
||||
Container(
|
||||
padding: EdgeInsets.all(16.0),
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.grey[200],
|
||||
borderRadius: BorderRadius.circular(8.0),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: Colors.black.withOpacity(0.2),
|
||||
spreadRadius: 2,
|
||||
blurRadius: 4,
|
||||
offset: Offset(0, 2),
|
||||
),
|
||||
],
|
||||
),
|
||||
child: Column(
|
||||
children: [
|
||||
Text(
|
||||
"Fieldgg",
|
||||
style: TextStyle(
|
||||
fontSize: 18,
|
||||
fontWeight: FontWeight.bold,
|
||||
color: Colors.black,
|
||||
),
|
||||
),
|
||||
SizedBox(height: 16),
|
||||
|
||||
|
||||
|
||||
SizedBox(height: 16),
|
||||
TextFormField(
|
||||
initialValue: widget.entity['bar_code'],
|
||||
decoration: InputDecoration(
|
||||
labelText: 'fieldgg bar_code',
|
||||
),
|
||||
onChanged: (value) {
|
||||
setState(() {
|
||||
widget.entity['bar_code'] = value;
|
||||
});
|
||||
},
|
||||
),
|
||||
const SizedBox(height: 16), // Add space between elements
|
||||
|
||||
|
||||
|
||||
buildFormField('namemmm'),
|
||||
SizedBox(height: 16),
|
||||
TextFormField(
|
||||
initialValue: widget.entity['qr_code'],
|
||||
decoration: InputDecoration(
|
||||
labelText: 'fieldgg qr_code',
|
||||
),
|
||||
onChanged: (value) {
|
||||
setState(() {
|
||||
widget.entity['qr_code'] = value;
|
||||
});
|
||||
},
|
||||
),
|
||||
|
||||
|
||||
SizedBox(height: 16),
|
||||
],
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 16),
|
||||
|
||||
|
||||
|
||||
Padding(
|
||||
padding: EdgeInsets.all(16),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
|
||||
|
||||
ElevatedButton(
|
||||
onPressed: () {
|
||||
// Save changes logic here
|
||||
|
||||
|
||||
Navigator.pop(context);
|
||||
// Implement API call to update data
|
||||
},
|
||||
child: Text('Save'),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
|
||||
ReusableTextField(
|
||||
initialValue: widget.entity['numbers'].toString(),
|
||||
onSaved: (value) => widget.entity['numbers']= value,
|
||||
label: "Enter Numbers",
|
||||
keyboardType: TextInputType.number,
|
||||
inputFormatters: [
|
||||
FilteringTextInputFormatter.allow((RegExp(r'[0-9]'))),
|
||||
],
|
||||
validator: (value) {
|
||||
if (value == null || value.isEmpty) {
|
||||
return 'Please enter a number';
|
||||
}
|
||||
return null;
|
||||
},
|
||||
),
|
||||
|
||||
ReusableTextField(
|
||||
initialValue: widget.entity['numberk'].toString(),
|
||||
onSaved: (value) => widget.entity['numberk']= value,
|
||||
label: "Enter Numberk",
|
||||
keyboardType: TextInputType.number,
|
||||
inputFormatters: [
|
||||
FilteringTextInputFormatter.allow((RegExp(r'[0-9]'))),
|
||||
],
|
||||
validator: (value) {
|
||||
if (value == null || value.isEmpty) {
|
||||
return 'Please enter a number';
|
||||
}
|
||||
return null;
|
||||
},
|
||||
),
|
||||
|
||||
|
||||
|
||||
|
||||
CustomButton(
|
||||
@ -167,6 +748,28 @@ Padding(
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
await provider.updateEntity(
|
||||
widget.entity[
|
||||
@ -177,6 +780,28 @@ Padding(
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Navigator.pop(context);
|
||||
} catch (e) {
|
||||
// ignore: use_build_context_synchronously
|
||||
|
||||
@ -63,4 +63,66 @@ class TestmRepoScreen {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Future<dynamic> getselectdya() async {
|
||||
try {
|
||||
String apiUrl = "$baseUrl/Testm_ListFilter1/Testm_ListFilter1";
|
||||
final response = await _helper.getGetApiResponse(apiUrl);
|
||||
return response;
|
||||
} catch (e) {
|
||||
throw Exception('Failed to Get: $e');
|
||||
}
|
||||
}
|
||||
|
||||
Future<dynamic> getselectdyamul() async {
|
||||
try {
|
||||
String apiUrl = "$baseUrl/Testm_ListFilter1/Testm_ListFilter1";
|
||||
final response = await _helper.getGetApiResponse(apiUrl);
|
||||
return response;
|
||||
} catch (e) {
|
||||
throw Exception('Failed to Get: $e');
|
||||
}
|
||||
}
|
||||
|
||||
Future<dynamic> getselectauto() async {
|
||||
try {
|
||||
String apiUrl = "$baseUrl/Testm_ListFilter1/Testm_ListFilter1";
|
||||
final response = await _helper.getGetApiResponse(apiUrl);
|
||||
return response;
|
||||
} catch (e) {
|
||||
throw Exception('Failed to Get: $e');
|
||||
}
|
||||
}
|
||||
|
||||
Future<dynamic> getselectautomul() async {
|
||||
try {
|
||||
String apiUrl = "$baseUrl/Testm_ListFilter1/Testm_ListFilter1";
|
||||
final response = await _helper.getGetApiResponse(apiUrl);
|
||||
return response;
|
||||
} catch (e) {
|
||||
throw Exception('Failed to Get: $e');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Future<dynamic> getdataggGrid() async {
|
||||
try {
|
||||
String apiUrl = "$baseUrl/Testm_ListFilter1/Testm_ListFilter1";
|
||||
final response = await _helper.getGetApiResponse(apiUrl);
|
||||
return response;
|
||||
} catch (e) {
|
||||
throw Exception('Failed to Upload datagg: $e');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -102,4 +102,97 @@ class TestmViewModelScreen extends ChangeNotifier{
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
List<Map<String, dynamic>> selectdyaItems = [];
|
||||
|
||||
Future<List<Map<String, dynamic>>> getselectdya() async {
|
||||
|
||||
try {
|
||||
final value = await repo.getselectdya();
|
||||
selectdyaItems = (value as List)
|
||||
.map((item) => item as Map<String, dynamic>)
|
||||
.toList();
|
||||
|
||||
return selectdyaItems;
|
||||
} catch (e) {
|
||||
throw Exception('Failed to get all: $e');
|
||||
}
|
||||
}
|
||||
|
||||
List<Map<String, dynamic>> selectdyamulItems = [];
|
||||
|
||||
Future<List<Map<String, dynamic>>> getselectdyamul() async {
|
||||
|
||||
try {
|
||||
final value = await repo.getselectdyamul();
|
||||
selectdyamulItems = (value as List)
|
||||
.map((item) => item as Map<String, dynamic>)
|
||||
.toList();
|
||||
|
||||
return selectdyamulItems;
|
||||
} catch (e) {
|
||||
throw Exception('Failed to get all: $e');
|
||||
}
|
||||
}
|
||||
|
||||
List<Map<String, dynamic>> selectautoItems = [];
|
||||
|
||||
Future<List<Map<String, dynamic>>> getselectauto() async {
|
||||
|
||||
try {
|
||||
final value = await repo.getselectauto();
|
||||
selectautoItems = (value as List)
|
||||
.map((item) => item as Map<String, dynamic>)
|
||||
.toList();
|
||||
|
||||
return selectautoItems;
|
||||
} catch (e) {
|
||||
throw Exception('Failed to get all: $e');
|
||||
}
|
||||
}
|
||||
|
||||
List<Map<String, dynamic>> selectautomulItems = [];
|
||||
|
||||
Future<List<Map<String, dynamic>>> getselectautomul() async {
|
||||
|
||||
try {
|
||||
final value = await repo.getselectautomul();
|
||||
selectautomulItems = (value as List)
|
||||
.map((item) => item as Map<String, dynamic>)
|
||||
.toList();
|
||||
|
||||
return selectautomulItems;
|
||||
} catch (e) {
|
||||
throw Exception('Failed to get all: $e');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
late List<Map<String, dynamic>> dataggdataFuture =
|
||||
[]; // Data from fetchData
|
||||
|
||||
Future<List<Map<String, dynamic>>> getdataggGrid() async {
|
||||
|
||||
try {
|
||||
final value = await repo.getdataggGrid();
|
||||
dataggdataFuture = (value as List)
|
||||
.map((item) => item as Map<String, dynamic>)
|
||||
.toList();
|
||||
|
||||
return dataggdataFuture;
|
||||
} catch (e) {
|
||||
throw Exception('Failed to get all: $e');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
import '../../Entity/forma/Testm/TestmView/Testm_entity_list_screen.dart';
|
||||
import '../../Entity/forma/Testm/Testm_viewModel/Testm_view_model_screen.dart';
|
||||
|
||||
@ -73,6 +74,8 @@ Navigator.pushNamed(context, RouteNames.changePasswordView);
|
||||
),
|
||||
|
||||
// NEW MENU
|
||||
|
||||
|
||||
DrawerItem(
|
||||
color: AppColors.primary,
|
||||
icon: Icons.chat_bubble,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user