This commit is contained in:
poojakhatawate 2024-07-24 13:53:02 +05:30
parent e1d39b59fd
commit 10f4e04004
15 changed files with 2977 additions and 21 deletions

View File

@ -4,6 +4,6 @@ class Constants {
static Color k2color = Color.fromARGB(255, 0, 71, 132);
//static const url = "http://192.168.172.50:8082/api";
static const url = 'http://192.168.2.143:8084/api';
static const url = 'http://192.168.2.143:8085/api';
//static const url = 'http://192.168.153.50:8082/api';
}

View File

@ -1,6 +1,7 @@
import 'package:discover_module/provider_class/affiliationsprovider.dart';
import 'package:discover_module/provider_class/events_provider.dart';
import 'package:discover_module/provider_class/hcp%20_provider.dart';
import 'package:discover_module/provider_class/medicalinsightprovider.dart';
import 'package:discover_module/provider_class/publications_provider.dart';
import 'package:discover_module/provider_class/single_hcpprovider.dart';
import 'package:discover_module/provider_class/trials_provider.dart';
@ -15,6 +16,7 @@ import 'package:discover_module/ui_screen/interactionform/repository/hive_reposi
import 'package:discover_module/ui_screen/interactionform/viewinteractionprovider.dart';
import 'package:discover_module/ui_screen/listview.dart';
import 'package:discover_module/ui_screen/filters_menu.dart';
import 'package:discover_module/ui_screen/medical_insight.dart';
import 'package:discover_module/ui_screen/new_contacts.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
@ -70,12 +72,14 @@ Future<void> main() async {
ChangeNotifierProvider(create: (_) => PublicatioProvider()),
ChangeNotifierProvider(create: (_) => EventProvider()),
ChangeNotifierProvider(create: (_) => TrialsProvider()),
ChangeNotifierProvider(create: (_) => MediacalInsightProvider()),
//ChangeNotifierProvider(create: (_) => ConfigDataProvider()),
ChangeNotifierProvider<HiveDataRepository>(
create: (_) => HiveDataRepository(
Hive.box<InteractionConfigData>('InteractionConfigDataBox'))),
],
child: MyApp(),
// child: MedicalInsight(),
));
}
@ -100,6 +104,7 @@ class _MyAppState extends State<MyApp> {
foregroundColor: Colors.white //here you can give the text color
)),
home: const MyHomePage(title: 'Discover Module'),
// home: const MedicalInsight(),
);
}
}

View File

@ -0,0 +1,16 @@
import 'package:discover_module/service.dart/service.dart';
import 'package:flutter/cupertino.dart';
class MediacalInsightProvider extends ChangeNotifier {
final callapi = Callapi();
List med = [];
List get trialsinfo => med;
medicalinsightdata() async {
final jsonres = await callapi.getallMedicalInsightdata();
med = jsonres;
notifyListeners();
}
}

View File

@ -152,4 +152,18 @@ class Callapi {
print("All_trialsss: $jsontrials");
return jsontrials;
}
getallMedicalInsightdata() async {
// const url = 'http://127.0.0.1:8000/api/users';
// const url = 'http://192.168.2.143:8082/api/users';
// const url = 'http://192.168.172.50:8082/api/users';
// const url = 'http://192.168.172.50:8081/api/users';
const url = '$curl/medicalinsight';
final response = await Dio().get(url);
final jsonresponse = response.data;
return jsonresponse;
}
}

View File

@ -0,0 +1,60 @@
// To parse this JSON data, do
//
// final medicalInsight = medicalInsightFromJson(jsonString);
import 'dart:convert';
List<MedicalInsight> medicalInsightFromJson(String str) =>
List<MedicalInsight>.from(
json.decode(str).map((x) => MedicalInsight.fromJson(x)));
String medicalInsightToJson(List<MedicalInsight> data) =>
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
class MedicalInsight {
int id;
int interactionId;
String therapeuticArea;
String product;
String sourceType;
String topics;
String hcpName;
DateTime createdAt;
DateTime updatedAt;
MedicalInsight({
required this.id,
required this.interactionId,
required this.therapeuticArea,
required this.product,
required this.sourceType,
required this.topics,
required this.hcpName,
required this.createdAt,
required this.updatedAt,
});
factory MedicalInsight.fromJson(Map<String, dynamic> json) => MedicalInsight(
id: json["id"],
interactionId: json["Interaction Id"],
therapeuticArea: json["Therapeutic Area"],
product: json["Product"],
sourceType: json["Source Type"],
topics: json["Topics"],
hcpName: json["HCP Name"],
createdAt: DateTime.parse(json["created_at"]),
updatedAt: DateTime.parse(json["updated_at"]),
);
Map<String, dynamic> toJson() => {
"id": id,
"Interaction Id": interactionId,
"Therapeutic Area": therapeuticArea,
"Product": product,
"Source Type": sourceType,
"Topics": topics,
"HCP Name": hcpName,
"created_at": createdAt.toIso8601String(),
"updated_at": updatedAt.toIso8601String(),
};
}

View File

@ -56,6 +56,8 @@ class _InteractionScreen1State extends State<InteractionScreen1> {
var item1;
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
int _currentPage = 0;
late int _totalPages =
Provider.of<InteractionProvider>(context, listen: false)

View File

@ -3,6 +3,7 @@ import 'package:discover_module/ui_screen/interactionform/model/save_interaction
import 'package:discover_module/ui_screen/interactionform/util.dart';
import 'package:discover_module/ui_screen/interactionform/view_interaction_screen.dart';
import 'package:discover_module/ui_screen/interactionform/viewinteractionprovider.dart';
import 'package:discover_module/ui_screen/new_editinteraction.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
@ -99,11 +100,19 @@ class _SavedFormListScreenState extends State<SavedFormListScreen> {
IconButton(
onPressed: () async {
await provider.initConfigData().then({
// Navigator.push(
// context,
// MaterialPageRoute(
// builder: (BuildContext context) =>
// EditInteractionScreen(
// saveInteraction: provider
// .savedList[index],
// )))
Navigator.push(
context,
MaterialPageRoute(
builder: (BuildContext context) =>
EditInteractionScreen(
EditInteractionScreen1(
saveInteraction: provider
.savedList[index],
)))

View File

@ -1,3 +1,74 @@
// import 'package:flutter/material.dart';
// import 'package:flutter/services.dart';
// // ignore: must_be_immutable
// class InteractionTextField extends StatelessWidget {
// String labelText;
// TextEditingController controller;
// String? hintText;
// IconButton? suffixIcon;
// bool? enabled = true;
// bool? obscure = false;
// Function onChanged;
// TextInputType? inputType;
// int? maxchars = 0;
// int? maxlines = 1;
// int? minlines = 0;
// InteractionTextField(
// {super.key,
// required this.controller,
// this.hintText,
// required this.labelText,
// this.suffixIcon,
// this.enabled,
// this.maxchars,
// this.maxlines,
// this.inputType,
// this.minlines,
// required this.onChanged,
// this.obscure});
// @override
// Widget build(BuildContext context) {
// return TextField(
// controller: controller,
// style: const TextStyle(fontSize: 16),
// enabled: enabled,
// obscureText: obscure ?? false,
// onTap: () {},
// maxLines: maxlines ?? 1,
// minLines: minlines,
// keyboardType: inputType ?? TextInputType.name,
// onChanged: (value) {
// onChanged(value);
// },
// onSubmitted: (value) {
// onChanged(value);
// },
// inputFormatters: [
// inputType == TextInputType.number
// ? FilteringTextInputFormatter.digitsOnly
// : maxchars == 0
// ? LengthLimitingTextInputFormatter(100)
// : LengthLimitingTextInputFormatter(maxchars),
// ],
// decoration: InputDecoration(
// isDense: true,
// // contentPadding: const EdgeInsets.symmetric(
// // horizontal: 10,
// // vertical: 18,
// // ),
// contentPadding: EdgeInsets.all(13.0),
// border: OutlineInputBorder(
// borderRadius: BorderRadius.circular(10.0),
// ),
// suffixIcon: suffixIcon,
// hintText: hintText,
// ),
// );
// }
// }
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

View File

@ -0,0 +1,926 @@
// import 'package:discover_module/constants.dart';
// import 'package:discover_module/provider_class/medicalinsightprovider.dart';
// import 'package:discover_module/ui_screen/view_insight.dart';
// import 'package:flutter/cupertino.dart';
// import 'package:flutter/material.dart';
// import 'package:flutter/widgets.dart';
// import 'package:provider/provider.dart';
// class MedicalInsight extends StatefulWidget {
// const MedicalInsight({super.key});
// @override
// State<MedicalInsight> createState() => _MedicalInsightState();
// }
// class _MedicalInsightState extends State<MedicalInsight> {
// final List<Map<String, dynamic>> cardData = [
// {'id': 'ID ', 'number': 'MI1688128025', 'id1': "jjj", 'number1': '265'},
// {'id': 'ID ', 'number': 20},
// {'id': 'ID ', 'number': 30},
// // Add more data entries as needed
// ];
// String selectedOption = 'None';
// late GlobalKey actionKey;
// var item;
// @override
// void initState() {
// actionKey = GlobalKey();
// super.initState();
// getapicall();
// }
// void getapicall() async {
// await Provider.of<MediacalInsightProvider>(context, listen: false)
// .medicalinsightdata();
// }
// // GlobalKey actionKey;
// // final List<Map<String, dynamic>> data = [
// // {'id': 'Data ID 1', 'number': 10},
// // {'id': 'Data ID 2', 'number': 20},
// // {'id': 'Data ID 3', 'number': 30},
// // // Add more data entries as needed
// // ];
// @override
// Widget build(BuildContext context) {
// return Directionality(
// textDirection: TextDirection.ltr,
// child: SafeArea(
// child: Scaffold(
// backgroundColor: const Color.fromARGB(255, 222, 237, 247),
// appBar: AppBar(
// title: const Text('Medical Insight'),
// ),
// body: Consumer<MediacalInsightProvider>(
// builder: (context, value, child) {
// return Column(
// children: [
// Padding(
// padding: const EdgeInsets.all(15.0),
// child: TextField(
// //controller: _searchController,
// onChanged: (value) {
// setState(() {});
// },
// decoration: InputDecoration(
// fillColor: Constants.k2color,
// contentPadding: const EdgeInsets.symmetric(vertical: 9.0),
// border: const OutlineInputBorder(
// borderRadius: BorderRadius.only(
// bottomRight: Radius.circular(0))),
// labelText: ' Search',
// prefixIcon: const Icon(
// Icons.search,
// ),
// ),
// ),
// ),
// Row(
// mainAxisAlignment: MainAxisAlignment.end,
// children: [
// OutlinedButton(
// style: OutlinedButton.styleFrom(
// backgroundColor: Constants.k2color,
// foregroundColor: Colors.white),
// onPressed: () {},
// child: Text("Create Medical Insight"))
// ],
// ),
// Expanded(
// child: ListView.builder(
// physics: const ScrollPhysics(),
// // scrollDirection: Axis.vertical,
// shrinkWrap: true,
// itemCount: value.med.length,
// itemBuilder: (context, index) {
// item = value.med[index];
// print(
// "Item_Medical_insight ${item['Therapeutic Area']}");
// return GestureDetector(
// onTap: () {
// _showAlertDialog(context);
// },
// child: Padding(
// padding: const EdgeInsets.all(8.0),
// child: Card(
// surfaceTintColor: Colors.white,
// // shape: RoundedRectangleBorder(
// // side: BorderSide(color: Colors.black, width: 1),
// // borderRadius: BorderRadius.only(
// // bottomRight: Radius.circular(30)),
// // ),
// child: SizedBox(
// width: MediaQuery.sizeOf(context).width,
// child: ListTile(
// title: Column(
// // crossAxisAlignment: CrossAxisAlignment.center,
// children: [
// Align(
// alignment: Alignment.centerLeft,
// child: Text(
// "ID",
// style: TextStyle(
// fontSize: 16,
// fontWeight: FontWeight.bold),
// ),
// ),
// Align(
// alignment: Alignment.centerLeft,
// child: Text(
// item['id'].toString(),
// textAlign: TextAlign.left,
// style: const TextStyle(fontSize: 16),
// ),
// ),
// // Row(
// // mainAxisAlignment:
// // MainAxisAlignment.spaceBetween,
// // children: [
// // Text(
// // "Interaction Id",
// // style: TextStyle(
// // fontSize: 16,
// // fontWeight: FontWeight.bold),
// // ),
// // Text(
// // "pokn".toString(),
// // style: TextStyle(fontSize: 16),
// // ),
// // ],
// // ),
// Row(
// mainAxisAlignment:
// MainAxisAlignment.spaceBetween,
// children: [
// const Expanded(
// flex: 1,
// child: Align(
// alignment: Alignment.centerLeft,
// child: Text(
// "Therapeutic Area",
// style: TextStyle(
// fontSize: 16,
// fontWeight:
// FontWeight.bold),
// ),
// ),
// ),
// Expanded(
// flex: 1,
// child: Align(
// alignment: Alignment.centerLeft,
// child: Text(
// item['Therapeutic Area']
// .toString(),
// style: const TextStyle(
// fontSize: 16),
// ),
// ),
// )
// ],
// ),
// Row(
// mainAxisAlignment:
// MainAxisAlignment.spaceBetween,
// children: [
// const Expanded(
// flex: 1,
// child: Align(
// alignment: Alignment.centerLeft,
// child: Text(
// "Product",
// style: TextStyle(
// fontSize: 16,
// fontWeight:
// FontWeight.bold),
// ),
// ),
// ),
// Expanded(
// flex: 1,
// child: Align(
// alignment: Alignment.centerLeft,
// child: Text(
// item['Product'].toString(),
// style: const TextStyle(
// fontSize: 16),
// ),
// ),
// ),
// ],
// ),
// Row(
// mainAxisAlignment:
// MainAxisAlignment.spaceBetween,
// children: [
// const Expanded(
// flex: 1,
// child: Align(
// alignment: Alignment.centerLeft,
// child: Text(
// "Source Type",
// style: TextStyle(
// fontSize: 16,
// fontWeight:
// FontWeight.bold),
// ),
// )),
// Expanded(
// flex: 1,
// child: Align(
// alignment: Alignment.centerLeft,
// child: Text(
// item['Source Type'].toString(),
// style: const TextStyle(
// fontSize: 16),
// ),
// ),
// )
// ],
// ),
// Row(
// mainAxisAlignment:
// MainAxisAlignment.spaceBetween,
// children: [
// const Expanded(
// flex: 1,
// child: Align(
// alignment: Alignment.centerLeft,
// child: Text(
// "Topics",
// style: TextStyle(
// fontSize: 16,
// fontWeight:
// FontWeight.bold),
// ),
// ),
// ),
// Expanded(
// flex: 1,
// child: Align(
// alignment: Alignment.centerLeft,
// child: Text(
// item['Topics'].toString(),
// style: const TextStyle(
// fontSize: 16),
// ),
// ),
// )
// ],
// ),
// Row(
// children: [
// Expanded(
// flex: 1,
// child: Column(
// children: [
// Row(
// children: [
// Icon(
// Icons.person,
// size: 20,
// ),
// Text(
// "pooja",
// style: TextStyle(
// fontSize: 14.0),
// )
// ],
// ),
// Row(
// children: [
// Icon(
// Icons.calendar_today,
// size: 20,
// ),
// Text(
// "11/11/2022 ",
// style: TextStyle(
// fontSize: 14.0),
// )
// ],
// )
// ],
// ),
// ),
// Expanded(
// flex: 1,
// child: Align(
// alignment:
// Alignment.centerRight,
// child: OutlinedButton(
// style:
// OutlinedButton.styleFrom(
// shape:
// CircleBorder()),
// onPressed: () {
// // final RenderBox renderBox =
// // actionKey.currentContext!
// // .findRenderObject();
// // final position = renderBox
// // .localToGlobal(Offset.zero);
// final RenderBox renderBox =
// actionKey
// .currentContext!
// .findRenderObject()
// as RenderBox;
// final position =
// renderBox.localToGlobal(
// Offset.zero);
// showMenu(
// context: context,
// position:
// RelativeRect.fromLTRB(
// position.dx,
// position.dy +
// renderBox
// .size.height,
// position.dx +
// renderBox
// .size.width,
// position.dy +
// renderBox
// .size.height +
// 10,
// ),
// items: <PopupMenuEntry<
// String>>[
// PopupMenuItem<String>(
// value: 'Option 1',
// child:
// Text('Option 1'),
// ),
// PopupMenuItem<String>(
// value: 'Option 2',
// child:
// Text('Option 2'),
// ),
// PopupMenuItem<String>(
// value: 'Option 3',
// child:
// Text('Option 3'),
// ),
// ],
// ).then((value) {
// if (value != null) {
// setState(() {
// selectedOption =
// value;
// });
// }
// });
// },
// child: Icon(
// Icons.more_horiz_rounded,
// // color: Constants.k2color,
// ),
// )),
// )
// ],
// ),
// ],
// ),
// ),
// ),
// // shape: BorderRadius.only(bottomRight: Radius.circular(50)),
// ),
// ),
// );
// }),
// )
// ],
// );
// }),
// ),
// ),
// );
// }
// void _showAlertDialog(BuildContext context) {
// showDialog(
// context: context,
// builder: (BuildContext context) {
// return AlertDialog(
// // title: Text('Alert'),
// content: const MyWidget22(),
// actions: <Widget>[
// TextButton(
// child: const Text('Close'),
// onPressed: () {
// Navigator.of(context).pop();
// },
// ),
// ],
// );
// },
// );
// }
// }
import 'package:discover_module/constants.dart';
import 'package:discover_module/provider_class/medicalinsightprovider.dart';
import 'package:discover_module/ui_screen/view_insight.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:provider/provider.dart';
import 'package:adoptive_calendar/adoptive_calendar.dart';
class MedicalInsight extends StatefulWidget {
const MedicalInsight({super.key});
@override
State<MedicalInsight> createState() => _MedicalInsightState();
}
class _MedicalInsightState extends State<MedicalInsight> {
final List<Map<String, dynamic>> cardData = [
{'id': 'ID ', 'number': 'MI1688128025', 'id1': "jjj", 'number1': '265'},
{'id': 'ID ', 'number': 20},
{'id': 'ID ', 'number': 30},
// Add more data entries as needed
];
String selectedOption = 'None';
late GlobalKey actionKey;
// DateTime? pickedDate;
var item;
final TextEditingController textController = TextEditingController();
DateTime? selectedDate;
bool calview = false;
String? start, end;
@override
void initState() {
actionKey = GlobalKey();
super.initState();
getapicall();
}
void getapicall() async {
await Provider.of<MediacalInsightProvider>(context, listen: false)
.medicalinsightdata();
}
// GlobalKey actionKey;
// final List<Map<String, dynamic>> data = [
// {'id': 'Data ID 1', 'number': 10},
// {'id': 'Data ID 2', 'number': 20},
// {'id': 'Data ID 3', 'number': 30},
// // Add more data entries as needed
// ];
@override
Widget build(BuildContext context) {
return Directionality(
textDirection: TextDirection.ltr,
child: SafeArea(
child: Scaffold(
backgroundColor: const Color.fromARGB(255, 222, 237, 247),
appBar: AppBar(
title: const Text('Medical Insight'),
actions: [
GestureDetector(
onTap: () {
setState(() {
calview = true;
});
},
child: Icon(Icons.calendar_month))
],
),
body: Consumer<MediacalInsightProvider>(
builder: (context, value, child) {
return Column(
children: [
// GestureDetector(
// onTap: () => _selectDate(context),
// child: AbsorbPointer(
// child: TextField(
// controller: textController,
// decoration: InputDecoration(
// focusedBorder: InputBorder.none,
// enabledBorder: InputBorder.none,
// contentPadding: EdgeInsets.all(10.0),
// labelText: "date",
// labelStyle:
// TextStyle(color: Colors.black, fontSize: 16),
// // pass the hint text parameter here
// hintStyle: TextStyle(color: Colors.black, fontSize: 16),
// suffixIcon: Icon(Icons.calendar_today),
// ),
// style: TextStyle(color: Colors.black, fontSize: 18),
// ),
// ),
// ),
Visibility(
visible: calview,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
OutlinedButton(
onPressed: () {
_selectDate(context);
},
child:
start == null ? Text('Start Date') : Text(start!),
),
OutlinedButton(
onPressed: () {
_selectDate1(context);
},
child: end == null ? Text('Start Date') : Text(end!),
),
],
),
),
Padding(
padding: const EdgeInsets.all(8.0),
child: TextField(
//controller: _searchController,
onChanged: (value) {
setState(() {});
},
decoration: InputDecoration(
fillColor: Constants.k2color,
contentPadding: const EdgeInsets.symmetric(vertical: 9.0),
border: const OutlineInputBorder(
borderRadius: BorderRadius.only(
bottomRight: Radius.circular(0))),
labelText: ' Search',
prefixIcon: const Icon(
Icons.search,
),
),
),
),
Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
OutlinedButton(
style: OutlinedButton.styleFrom(
backgroundColor: Constants.k2color,
foregroundColor: Colors.white),
onPressed: () {},
child: Text("Create Medical Insight"))
],
),
Expanded(
child: ListView.builder(
physics: const ScrollPhysics(),
// scrollDirection: Axis.vertical,
shrinkWrap: true,
itemCount: value.med.length,
itemBuilder: (context, index) {
item = value.med[index];
print(
"Item_Medical_insight ${item['Therapeutic Area']}");
return GestureDetector(
onTap: () {
_showAlertDialog(context);
},
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Card(
surfaceTintColor: Colors.white,
// shape: RoundedRectangleBorder(
// side: BorderSide(color: Colors.black, width: 1),
// borderRadius: BorderRadius.only(
// bottomRight: Radius.circular(30)),
// ),
child: SizedBox(
width: MediaQuery.sizeOf(context).width,
child: ListTile(
title: Column(
// crossAxisAlignment: CrossAxisAlignment.center,
children: [
// Text(
// "Acute neurology is the <b> therapeutic </b> area of the medical insight for Product A. The age of treatment is the topic of interest for this source type publication."),
RichText(
text: TextSpan(
text: 'Acute neurology is the',
style: DefaultTextStyle.of(context)
.style,
children: const <TextSpan>[
TextSpan(
text: ' therapeutic area ',
style: TextStyle(
fontWeight:
FontWeight.bold)),
TextSpan(
text:
'of the medical insight for Product A.'),
TextSpan(
text: 'The age of treatment',
style: TextStyle(
fontWeight:
FontWeight.bold)),
TextSpan(
text:
' is the topic of interest for this source type'),
TextSpan(
text: ' publication.',
style: TextStyle(
fontWeight:
FontWeight.bold)),
],
),
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Row(
mainAxisAlignment:
MainAxisAlignment.spaceAround,
children: [
Row(
children: [
Icon(
Icons.person,
size: 20,
),
Text(
"pooja",
style:
TextStyle(fontSize: 14.0),
)
],
),
Row(
children: [
Icon(
Icons.calendar_today,
size: 20,
),
Text(
"11/11/2022 ",
style:
TextStyle(fontSize: 14.0),
)
],
)
],
),
),
// Align(
// alignment: Alignment.centerLeft,
// child: Text(
// "Therapeutic Area",
// style: TextStyle(
// fontSize: 12,
// fontWeight: FontWeight.normal),
// ),
// ),
// Align(
// alignment: Alignment.centerLeft,
// child: Text(
// item['Therapeutic Area'].toString(),
// style: const TextStyle(fontSize: 14),
// ),
// ),
// Align(
// alignment: Alignment.centerLeft,
// child: Text(
// "Product",
// style: TextStyle(
// fontSize: 12,
// fontWeight: FontWeight.normal),
// ),
// ),
// Align(
// alignment: Alignment.centerLeft,
// child: Text(
// item['Product'].toString(),
// style: const TextStyle(fontSize: 14),
// ),
// ),
// Align(
// alignment: Alignment.centerLeft,
// child: Text(
// "Source Type",
// style: TextStyle(
// fontSize: 12,
// fontWeight: FontWeight.normal),
// ),
// ),
// Align(
// alignment: Alignment.centerLeft,
// child: Text(
// item['Source Type'].toString(),
// style: const TextStyle(fontSize: 14),
// ),
// ),
// Align(
// alignment: Alignment.centerLeft,
// child: Text(
// "Topics",
// style: TextStyle(
// fontSize: 12,
// fontWeight: FontWeight.normal),
// ),
// ),
// Align(
// alignment: Alignment.centerLeft,
// child: Text(
// item['Topics'].toString(),
// style: const TextStyle(fontSize: 14),
// ),
// ),
// Row(
// children: [
// Expanded(
// flex: 1,
// child: Column(
// children: [
// Row(
// children: [
// Icon(
// Icons.person,
// size: 20,
// ),
// Text(
// "pooja",
// style: TextStyle(
// fontSize: 14.0),
// )
// ],
// ),
// Row(
// children: [
// Icon(
// Icons.calendar_today,
// size: 20,
// ),
// Text(
// "11/11/2022 ",
// style: TextStyle(
// fontSize: 14.0),
// )
// ],
// )
// ],
// ),
// ),
// Expanded(
// flex: 1,
// child: Align(
// alignment:
// Alignment.centerRight,
// child: OutlinedButton(
// style:
// OutlinedButton.styleFrom(
// shape:
// CircleBorder()),
// onPressed: () {
// // final RenderBox renderBox =
// // actionKey.currentContext!
// // .findRenderObject();
// // final position = renderBox
// // .localToGlobal(Offset.zero);
// final RenderBox renderBox =
// actionKey
// .currentContext!
// .findRenderObject()
// as RenderBox;
// final position =
// renderBox.localToGlobal(
// Offset.zero);
// showMenu(
// context: context,
// position:
// RelativeRect.fromLTRB(
// position.dx,
// position.dy +
// renderBox
// .size.height,
// position.dx +
// renderBox
// .size.width,
// position.dy +
// renderBox
// .size.height +
// 10,
// ),
// items: <PopupMenuEntry<
// String>>[
// PopupMenuItem<String>(
// value: 'Option 1',
// child:
// Text('Option 1'),
// ),
// PopupMenuItem<String>(
// value: 'Option 2',
// child:
// Text('Option 2'),
// ),
// PopupMenuItem<String>(
// value: 'Option 3',
// child:
// Text('Option 3'),
// ),
// ],
// ).then((value) {
// if (value != null) {
// setState(() {
// selectedOption =
// value;
// });
// }
// });
// },
// child: Icon(
// Icons.more_horiz_rounded,
// // color: Constants.k2color,
// ),
// )),
// )
// ],
// ),
],
),
),
),
// shape: BorderRadius.only(bottomRight: Radius.circular(50)),
),
),
);
}),
)
],
);
}),
),
),
);
}
void _showAlertDialog(BuildContext context) {
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
// title: Text('Alert'),
content: const MyWidget22(),
actions: <Widget>[
TextButton(
child: const Text('Close'),
onPressed: () {
Navigator.of(context).pop();
},
),
],
);
},
);
}
Future<Null> _selectDate(BuildContext context) async {
final DateTime? picked = await showDatePicker(
context: context,
initialDate: selectedDate,
firstDate: DateTime(1901, 1),
lastDate: DateTime(2100));
if (picked != null && picked != selectedDate)
setState(() {
selectedDate = picked;
String convertedDateTime =
"${picked.year.toString()}-${picked.month.toString().padLeft(2, '0')}-${picked.day.toString().padLeft(2, '0')}";
// widget.textController.value = TextEditingValue(text: picked.toString());
textController.value = TextEditingValue(text: convertedDateTime);
start = convertedDateTime;
;
});
}
Future<Null> _selectDate1(BuildContext context) async {
final DateTime? picked = await showDatePicker(
context: context,
initialDate: selectedDate,
firstDate: DateTime(1901, 1),
lastDate: DateTime(2100));
if (picked != null && picked != selectedDate)
setState(() {
selectedDate = picked;
String convertedDateTime =
"${picked.year.toString()}-${picked.month.toString().padLeft(2, '0')}-${picked.day.toString().padLeft(2, '0')}";
// widget.textController.value = TextEditingValue(text: picked.toString());
textController.value = TextEditingValue(text: convertedDateTime);
end = convertedDateTime;
;
});
}
}

File diff suppressed because it is too large Load Diff

View File

@ -17,6 +17,7 @@ import 'package:discover_module/ui_screen/interactionform/model/save_interaction
import 'package:discover_module/ui_screen/interactionform/view_forms_list.dart';
import 'package:discover_module/ui_screen/interactionform/view_interaction_screen.dart';
import 'package:discover_module/ui_screen/interactionform/viewinteractionprovider.dart';
import 'package:discover_module/ui_screen/new_editinteraction.dart';
import 'package:discover_module/ui_screen/newformlist.dart';
import 'package:discover_module/ui_screen/publication_data.dart';
import 'package:expandable/expandable.dart';
@ -1607,7 +1608,7 @@ class _NewProfileState extends State<NewProfile> {
Navigator.push(
context,
MaterialPageRoute(
builder: (BuildContext context) => EditInteractionScreen(
builder: (BuildContext context) => EditInteractionScreen1(
saveInteraction: provider.savedList[index],
)))
});

View File

@ -5,6 +5,7 @@ import 'package:discover_module/ui_screen/interactionform/interactionprovider.da
import 'package:discover_module/ui_screen/interactionform/model/save_interaction.dart';
import 'package:discover_module/ui_screen/interactionform/new_dynamicform.dart';
import 'package:discover_module/ui_screen/interactionform/view_forms_list.dart';
import 'package:discover_module/ui_screen/medical_insight.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
@ -160,25 +161,7 @@ class _FormListState extends State<FormList> {
},
trailing: const Icon(Icons.arrow_forward_ios),
),
const Divider(),
ListTile(
title: const Text(
"New Medical Insight",
style: TextStyle(fontSize: 18.0),
),
onTap: () async {
final ConfigDataProvider configDataProvider =
ConfigDataProvider();
await configDataProvider.initConfigUIDataMedical();
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
const InteractionListScreen()));
},
trailing: Icon(Icons.arrow_forward_ios),
),
Divider(),
ListTile(
title: const Text(
@ -199,6 +182,26 @@ class _FormListState extends State<FormList> {
),
const Divider(),
ListTile(
title: const Text(
"Medical Insight",
style: TextStyle(fontSize: 18.0),
),
onTap: () async {
final ConfigDataProvider configDataProvider =
ConfigDataProvider();
await configDataProvider.initConfigUIDataMedical();
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
const MedicalInsight()));
},
trailing: Icon(Icons.arrow_forward_ios),
),
const Divider(),
],
);
})
@ -283,6 +286,23 @@ class _FormListState extends State<FormList> {
trailing: const Icon(Icons.arrow_forward_ios),
),
Divider(),
ListTile(
title: const Text(
"Medical Insight",
style: TextStyle(fontSize: 18.0),
),
onTap: () async {
final ConfigDataProvider configDataProvider =
ConfigDataProvider();
await configDataProvider.initConfigUIDataEng();
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const MedicalInsight()));
},
trailing: const Icon(Icons.arrow_forward_ios),
),
Divider(),
],
),
),

View File

@ -0,0 +1,94 @@
import 'package:discover_module/constants.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class MyWidget22 extends StatefulWidget {
const MyWidget22({super.key});
@override
State<MyWidget22> createState() => _MyWidget22State();
}
class _MyWidget22State extends State<MyWidget22> {
final List<Map<String, dynamic>> cardData = [
{'id': 'ID ', 'number': 10, 'id1': "jjj", 'number1': '265'},
{'id': 'ID ', 'number': 20},
{'id': 'ID ', 'number': 30},
// Add more data entries as needed
];
@override
Widget build(BuildContext context) {
return Column(
mainAxisSize: MainAxisSize.min,
children: [
ListTile(
title: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
Icon(
Icons.edit,
color: Constants.k2color,
)
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
cardData[0]['id'],
style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold),
),
Text(
cardData[0]['number'].toString(),
style: TextStyle(fontSize: 16),
),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
"Interaction Id",
style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold),
),
Text(
cardData[0]['number'].toString(),
style: TextStyle(fontSize: 16),
),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
"Therapeutic Area",
style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold),
),
Text(
cardData[0]['number'].toString(),
style: TextStyle(fontSize: 16),
),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
"Product",
style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold),
),
Text(
cardData[0]['number'].toString(),
style: TextStyle(fontSize: 16),
),
],
),
],
),
),
],
);
}
}

View File

@ -9,6 +9,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "67.0.0"
adoptive_calendar:
dependency: "direct main"
description:
name: adoptive_calendar
sha256: "504abaacaba8f433a9d829d74153bf365fe330b7b40760e525a3445f593181c3"
url: "https://pub.dev"
source: hosted
version: "0.1.8"
analyzer:
dependency: transitive
description:
@ -816,6 +824,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.3.0+1"
popup_menu:
dependency: "direct main"
description:
name: popup_menu
sha256: a6d7f39669cd010818063233f287822d4fcfcdc1d872b4bae72d9f3caf848e3a
url: "https://pub.dev"
source: hosted
version: "2.0.0"
provider:
dependency: "direct main"
description:

View File

@ -63,6 +63,8 @@ dependencies:
expandable: ^5.0.1
flutter_carousel_widget: ^2.2.0
carousel_slider: ^4.2.1
popup_menu: ^2.0.0
adoptive_calendar: ^0.1.8