Merge branches 'development' and 'patinet_profile_with_all_service' of https://gitlab.com/Cloud_Solution/doctor_app_flutter into patinet_profile_with_all_service

 Conflicts:
	lib/screens/patients/patients_screen.dart
merge-requests/349/head
Elham Rababah 5 years ago
commit a40bec844b

Binary file not shown.

@ -740,4 +740,10 @@ const Map<String, Map<String, String>> localizedValues = {
}, },
'no-clinic': {'en': "No Clinic", 'ar': "لا عيادة"}, 'no-clinic': {'en': "No Clinic", 'ar': "لا عيادة"},
'otherStatistic': {'en': "Other Statistics", 'ar': "دیگر شماریات"}, 'otherStatistic': {'en': "Other Statistics", 'ar': "دیگر شماریات"},
'ptientsreferral': {'en': "Patient's Referrals", 'ar': "مریض کا حوالہ"},
'arrivalpatient': {'en': "Arrival Patients", 'ar': "مریضوں کی آمد"},
'searchmedicinepatient': {
'en': "Search patient or Medicines",
'ar': "مریض یا دوائیں تلاش کریں"
},
}; };

@ -426,6 +426,48 @@
"search_patient" "search_patient"
] ]
}, },
{
"uid": "acee3dc68dc70f4b268b59a42fd957ee",
"css": "referral-1",
"code": 59408,
"src": "custom_icons",
"selected": true,
"svg": {
"path": "M681.4 793.1L735.5 860.8 683 913.3 659.1 793.7C663.5 793.4 667.9 793.1 672.4 793.1ZM791.7 793.1L758.6 834.3 725.6 793.1ZM835.9 793.1H844.8C849.3 793.1 853.7 793.4 858.1 793.7L834.2 913.3 781.7 860.8ZM913.8 655.1H912.8A154.1 154.1 0 0 0 913.8 637.9V586.2A34.5 34.5 0 0 1 913.8 655.1ZM603.4 482.7A103.6 103.6 0 0 1 706.9 379.3H810.3A103.6 103.6 0 0 1 913.8 482.8V551.7H844.8A34.5 34.5 0 0 1 810.3 517.2V448.3H775.9V465.5A86.3 86.3 0 0 1 689.7 551.7H603.5ZM603.4 655.1A34.5 34.5 0 1 1 603.4 586.2V637.9A154.1 154.1 0 0 0 604.4 655.1ZM637.9 637.9V586.2H689.6A120.4 120.4 0 0 0 781.2 543.9 69 69 0 0 0 844.7 586.2H879.2V637.9A120.6 120.6 0 0 1 637.9 637.9ZM1000 1000H517.2V948.3A155.6 155.6 0 0 1 625.2 800.5L655.4 951.7A17.3 17.3 0 0 0 667.3 964.8 17.6 17.6 0 0 0 672.3 965.5 17.3 17.3 0 0 0 684.5 960.4L758.5 886.4 832.5 960.5A17.2 17.2 0 0 0 861.7 951.7L891.9 800.5A155.6 155.6 0 0 1 999.8 948.3ZM164.1 413.8L218.3 481.5 165.7 534 141.8 414.5C146.3 414.1 150.7 413.8 155.2 413.8ZM274.5 413.8L241.4 455 208.3 413.8ZM318.6 413.8H327.6C332.1 413.8 336.5 414.1 340.9 414.4L317 534 264.5 481.5ZM396.5 275.8H395.5A154 154 0 0 0 396.5 258.6V206.9A34.5 34.5 0 0 1 396.5 275.8ZM86.2 103.5A103.6 103.6 0 0 1 189.7 0H293.1A103.6 103.6 0 0 1 396.6 103.5V172.4H327.6A34.5 34.5 0 0 1 293.1 137.9V69H258.6V86.2A86.3 86.3 0 0 1 172.4 172.4H86.2ZM86.2 275.9A34.5 34.5 0 1 1 86.2 206.9V258.6A154 154 0 0 0 87.2 275.9ZM120.6 258.6V206.9H172.4A120.4 120.4 0 0 0 264 164.6 69 69 0 0 0 327.5 206.9H362V258.6A120.6 120.6 0 1 1 120.7 258.6ZM482.8 620.7H0V569A155.6 155.6 0 0 1 107.9 421.2L138.2 572.3A17.3 17.3 0 0 0 150.1 585.5 17.6 17.6 0 0 0 155.1 586.2 17.3 17.3 0 0 0 167.3 581.1L241.3 507.1 315.3 581.2A17.2 17.2 0 0 0 344.4 572.3L374.7 421.2A155.6 155.6 0 0 1 482.6 569ZM172.4 827.6A17.2 17.2 0 0 0 155.2 810.3H127.8L206.8 731.3 286.1 810.2H258.8A17.2 17.2 0 0 0 241.6 827.4 206.9 206.9 0 0 0 333.6 999.5 172.6 172.6 0 0 1 172.4 827.6Z",
"width": 1000
},
"search": [
"referral"
]
},
{
"uid": "7c82c028b3a01309cc1ffd1eaeb1ccf8",
"css": "search",
"code": 59467,
"src": "custom_icons",
"selected": true,
"svg": {
"path": "M543.6 353.5A132.3 132.3 0 1 1 411.3 221.2 132.3 132.3 0 0 1 543.6 353.5ZM974.2 974.1A88.2 88.2 0 0 1 849.4 974.1S624.7 749.2 622.9 747A405.4 405.4 0 1 1 747 622.8C749.2 624.6 974.2 849.4 974.2 849.4A88.2 88.2 0 0 1 974.1 974.1ZM726 405.2A320.8 320.8 0 1 0 206.8 657.2 146.9 146.9 0 0 1 352.4 530H470.1A146.9 146.9 0 0 1 614.3 648.4 320 320 0 0 0 726 405.2Z",
"width": 1000
},
"search": [
"search"
]
},
{
"uid": "898cfb6ea07e1c004d9173c59903b3c3",
"css": "arrival-patients",
"code": 59469,
"src": "custom_icons",
"selected": true,
"svg": {
"path": "M490.4 621.6L473.9 574.9A181.3 181.3 0 0 1 396.3 590.7 177.3 177.3 0 0 1 318 574.2L295.4 620.7A13.4 13.4 0 0 1 287.5 627.5Q281.1 629.6 274.2 631.7A117.4 117.4 0 0 0 304 686.6 127.3 127.3 0 0 0 493.2 682.1 264 264 0 0 1 513.3 634.8C508.1 633.1 503.1 631.4 498.5 629.9A13.2 13.2 0 0 1 490.4 621.6ZM481.4 761.4A266.9 266.9 0 0 1 483.6 727 150.9 150.9 0 0 1 396.3 753.5 149.3 149.3 0 0 1 284.6 705 146.4 146.4 0 0 1 248.5 639.3L233.3 643.5C129.3 672.7 0 708.9 0 820.9V960.9C0 977.4 7.5 1000.1 19.8 1000.1H630.7A265.8 265.8 0 0 1 481.4 761.4ZM401.9 191.2C406.8 191.6 411.8 192 416.4 192.4 457.3 196.1 484.3 198.5 510.1 141.6A13.2 13.2 0 0 1 534.3 141.2L535.6 143.8A198.4 198.4 0 0 1 571.3 227.5C572.5 212.4 573.2 199.6 573.2 194.6S573.2 184.2 573.4 178.7A151.6 151.6 0 0 0 536.5 56.1 193.6 193.6 0 0 0 393.6 0.1 191.6 191.6 0 0 0 255.3 63L251.6 67.2A164.1 164.1 0 0 0 205.3 202.8 286.8 286.8 0 0 0 212.2 239.2 145.9 145.9 0 0 1 243.7 164 70.6 70.6 0 0 1 297.3 140.8C317.2 140.8 324.1 160.7 330.7 179.6 340.6 208.7 352 241.1 399 243.9 374.8 216.8 379 207 381.1 202.3A19.2 19.2 0 0 1 401.9 191.2ZM541.8 420.1A12.9 12.9 0 0 1 549.2 418.1H549.6C571.7 418.1 597.4 385 607.1 343.9A25.6 25.6 0 0 0 599.3 314.8 13.2 13.2 0 0 0 584.1 319.6 13.4 13.4 0 0 1 572.7 328.1L571.6 328.1A13.2 13.2 0 0 1 558.4 315.9 438.1 438.1 0 0 0 524 173C491.9 225.9 452.4 222.6 414.1 219.1H413.5A270.3 270.3 0 0 0 438.7 245.5 13.2 13.2 0 0 1 431.6 268.7C337.9 281.9 317.5 223.2 305.3 188.1A89.3 89.3 0 0 0 296.5 167.3 44.1 44.1 0 0 0 263.2 181.9 131.4 131.4 0 0 0 236.7 255.8 309.2 309.2 0 0 0 235.2 305.5 15.4 15.4 0 0 1 210.2 321.5C204.3 315.3 198 313.3 192.9 316.1A24.5 24.5 0 0 0 185.5 344C195.3 385.1 221 418.2 243.1 418.2H243.7A13.2 13.2 0 0 1 257 431.2 150 150 0 0 0 318.4 544 143.4 143.4 0 0 0 396.2 564.1 146.3 146.3 0 0 0 474.1 544.5L474.3 544.5A145.9 145.9 0 0 0 535.4 431.5 13.2 13.2 0 0 1 541.7 420.4ZM746.8 522.7A238.6 238.6 0 1 0 985.4 761.3 238.6 238.6 0 0 0 746.8 522.7ZM881.7 796.9A17.9 17.9 0 0 1 863.8 814.7H792.4V888.4A17.9 17.9 0 0 1 774.5 906.2H712A17.9 17.9 0 0 1 694.1 888.4V814.7H620.5A17.9 17.9 0 0 1 602.6 796.9V734.4A17.9 17.9 0 0 1 620.5 716.5H694.1V645.1A17.9 17.9 0 0 1 712 627.2H774.5A17.9 17.9 0 0 1 792.4 645.1V716.5H863.8A17.9 17.9 0 0 1 881.7 734.4ZM765.6 725.4V654H721V725.4A17.9 17.9 0 0 1 703.1 743.3H629.5V787.9H703.1A17.9 17.9 0 0 1 721 805.8V879.5H765.6V805.8A17.9 17.9 0 0 1 783.5 787.9H854.9V743.3H783.5A17.9 17.9 0 0 1 765.6 725.4Z",
"width": 985
},
"search": [
"arrival-patients"
]
},
{ {
"uid": "740f78c2b53c8cc100a8b0d283bbd34f", "uid": "740f78c2b53c8cc100a8b0d283bbd34f",
"css": "home_icon-1", "css": "home_icon-1",
@ -471,7 +513,7 @@
{ {
"uid": "e2f6f0a56d4570c777c8bd5c50e38ea7", "uid": "e2f6f0a56d4570c777c8bd5c50e38ea7",
"css": "menu_icon_active-1", "css": "menu_icon_active-1",
"code": 59408, "code": 59409,
"src": "custom_icons", "src": "custom_icons",
"selected": false, "selected": false,
"svg": { "svg": {
@ -485,7 +527,7 @@
{ {
"uid": "f7eb1344b3a40f36bb4d32cdd0d76496", "uid": "f7eb1344b3a40f36bb4d32cdd0d76496",
"css": "message_icon-1", "css": "message_icon-1",
"code": 59409, "code": 59410,
"src": "custom_icons", "src": "custom_icons",
"selected": false, "selected": false,
"svg": { "svg": {
@ -523,6 +565,48 @@
"search": [ "search": [
"scdedule_icon_active" "scdedule_icon_active"
] ]
},
{
"uid": "2661cb62f53ed61755aa809d5280808e",
"css": "referral-bg",
"code": 59466,
"src": "custom_icons",
"selected": false,
"svg": {
"path": "M681.4 793.1L735.5 860.8 683 913.3 659.1 793.8C663.5 793.4 667.9 793.1 672.4 793.1ZM791.7 793.1L758.6 834.5 725.5 793.1ZM835.9 793.1H844.8C849.4 793.1 853.7 793.4 858.1 793.8L834.2 913.3 781.7 860.8ZM913.8 655.2H912.8A154 154 0 0 0 913.8 637.9V586.2A34.5 34.5 0 0 1 913.8 655.2ZM603.4 482.8A103.6 103.6 0 0 1 706.9 379.3H810.3A103.6 103.6 0 0 1 913.8 482.8V551.7H844.8A34.5 34.5 0 0 1 810.3 517.3V448.3H775.9V465.5A86.3 86.3 0 0 1 689.7 551.7H603.4ZM603.4 655.2A34.5 34.5 0 0 1 603.4 586.2V637.9A154 154 0 0 0 604.5 655.2ZM637.9 637.9V586.2H689.6A120.4 120.4 0 0 0 781.2 543.9 69 69 0 0 0 844.8 586.2H879.3V637.9A120.7 120.7 0 1 1 637.9 637.9ZM1000 1000H517.2V948.3A155.4 155.4 0 0 1 625.3 800.5L655.5 951.7A17.3 17.3 0 0 0 667.4 964.8 17.6 17.6 0 0 0 672.4 965.5 17.3 17.3 0 0 0 684.6 960.5L758.6 886.5 832.6 960.5A17.2 17.2 0 0 0 861.7 951.7L891.9 800.5A155.5 155.5 0 0 1 999.9 948.3ZM164.1 413.8L218.3 481.5 165.8 534 141.9 414.5C146.3 414.1 150.7 413.8 155.2 413.8ZM274.5 413.8L241.4 455.2 208.3 413.8ZM318.6 413.8H327.6C332.1 413.8 336.5 414.1 340.9 414.5L317 534 264.5 481.5ZM396.6 275.9H395.5A154 154 0 0 0 396.5 258.6V206.9A34.5 34.5 0 0 1 396.5 275.9ZM86.2 103.5A103.6 103.6 0 0 1 189.7 0H293.1A103.6 103.6 0 0 1 396.6 103.5V172.4H327.6A34.5 34.5 0 0 1 293.1 137.9V69H258.6V86.2A86.3 86.3 0 0 1 172.4 172.4H86.2ZM86.2 275.9A34.5 34.5 0 1 1 86.2 206.9V258.6A154 154 0 0 0 87.2 275.9ZM120.7 258.6V206.9H172.4A120.4 120.4 0 0 0 264 164.6 69 69 0 0 0 327.6 206.9H362V258.6A120.7 120.7 0 1 1 120.7 258.6ZM482.8 620.7H0V569A155.4 155.4 0 0 1 108 421.2L138.2 572.4A17.3 17.3 0 0 0 150.2 585.5 17.6 17.6 0 0 0 155.1 586.2 17.3 17.3 0 0 0 167.3 581.2L241.3 507.2 315.3 581.2A17.2 17.2 0 0 0 344.4 572.3L374.6 421.2A155.5 155.5 0 0 1 482.7 569ZM172.4 827.6A17.2 17.2 0 0 0 155.2 810.3H127.8L206.9 731.3 286 810.3H258.6A17.2 17.2 0 0 0 241.4 827.6 206.9 206.9 0 0 0 333.5 999.6 172.6 172.6 0 0 1 172.4 827.6Z",
"width": 1000
},
"search": [
"referral-bg"
]
},
{
"uid": "961571413453d8de8d1d6325705ef204",
"css": "search-bg",
"code": 59468,
"src": "custom_icons",
"selected": false,
"svg": {
"path": "M543.6 353.5A132.3 132.3 0 1 1 411.3 221.2 132.3 132.3 0 0 1 543.6 353.5ZM974.2 974.2A88.2 88.2 0 0 1 849.4 974.2S624.7 749.2 622.9 747A405.4 405.4 0 1 1 747 622.9C749.2 624.6 974.2 849.4 974.2 849.4A88.2 88.2 0 0 1 974.2 974.2ZM726 405.2A320.8 320.8 0 1 0 206.8 657.2 147 147 0 0 1 352.4 530H470A147.1 147.1 0 0 1 614.3 648.5 320 320 0 0 0 726 405.2Z",
"width": 1000
},
"search": [
"search-bg"
]
},
{
"uid": "6ec3034cfbe5c91e478ef9b9437647ed",
"css": "arrival-patients-bg",
"code": 59470,
"src": "custom_icons",
"selected": false,
"svg": {
"path": "M490.4 621.6L473.9 574.8A181.3 181.3 0 0 1 396.3 590.7 177.3 177.3 0 0 1 318 574.1L295.4 620.6A13.4 13.4 0 0 1 287.5 627.5Q281.1 629.6 274.3 631.6A117.4 117.4 0 0 0 304.2 686.6 127.3 127.3 0 0 0 493.5 682 264 264 0 0 1 513.6 634.6C508.3 633 503.4 631.3 498.7 629.8A13.4 13.4 0 0 1 490.4 621.6ZM481.4 761.4A266.9 266.9 0 0 1 483.6 727 150.9 150.9 0 0 1 396.3 753.3 149.3 149.3 0 0 1 284.6 704.8 146.4 146.4 0 0 1 248.5 639.1L233.3 643.4C129.4 672.5 0 708.8 0 820.7V960.8C0 977.1 7.5 1000 19.9 1000H630.7A265.8 265.8 0 0 1 481.4 761.4ZM401.8 191.2C406.8 191.6 411.6 192 416.4 192.4 457.3 196.1 484.2 198.5 510.1 141.7A13.4 13.4 0 0 1 534.2 141.2L535.5 143.8C552.2 161.8 563.7 195.1 571.3 227.6 572.5 212.4 573.2 199.7 573.2 194.7S573.3 184.3 573.4 178.8C574.2 139.6 575 95.1 536.5 56.1A193.6 193.6 0 0 0 393.6 0 191.5 191.5 0 0 0 255.3 62.7L251.6 67C228.8 92.4 203.1 121.1 205.1 202.5A286.9 286.9 0 0 0 212 238.8 146 146 0 0 1 243.5 163.5 70.6 70.6 0 0 1 297.2 140.4C317.1 140.4 324 160.1 330.5 179.2 340.6 208.3 351.7 240.7 398.9 243.5 374.6 216.4 378.9 206.6 380.9 201.9A19.2 19.2 0 0 1 401.8 191.2ZM541.8 420.1A12.9 12.9 0 0 1 549.2 418.1H549.6C571.7 418.1 597.4 384.9 607.2 343.8A25.6 25.6 0 0 0 599.3 314.8 13.4 13.4 0 0 0 584.2 319.5 13.4 13.4 0 0 1 572.8 328C572.5 328 572.1 328 571.7 328A13.4 13.4 0 0 1 558.3 315.8C555.8 285.8 544.9 209 523.9 172.9 491.9 226 452.4 222.4 414.1 219L413.5 219A270.3 270.3 0 0 0 438.7 245.4 13.4 13.4 0 0 1 431.6 268.5C337.9 281.9 317.5 223.1 305.3 187.9A89.4 89.4 0 0 0 296.5 167.2 44.1 44.1 0 0 0 263.2 181.7 131.4 131.4 0 0 0 236.8 255.7 309.1 309.1 0 0 0 235.3 305.2 15.4 15.4 0 0 1 210.2 321.3C204.3 315.1 198 313.1 192.9 315.9A24.5 24.5 0 0 0 185.6 343.8C195.3 384.9 221 418.1 243.2 418.1H243.8A13.4 13.4 0 0 1 257.2 431C258.1 443.9 265.2 510.1 318.6 543.8A143.4 143.4 0 0 0 396.4 563.9 146.4 146.4 0 0 0 474.3 544.3L474.6 544.1C528.8 510.5 534.9 444.1 535.6 431.1A13.4 13.4 0 0 1 541.9 420.1ZM746.8 522.7A238.6 238.6 0 1 0 985.5 761.3 238.7 238.7 0 0 0 746.8 522.7ZM881.7 796.9A17.9 17.9 0 0 1 863.9 814.7H792.4V888.4A17.9 17.9 0 0 1 774.6 906.2H712.1A17.9 17.9 0 0 1 694.2 888.4V814.7H620.6A17.9 17.9 0 0 1 602.7 796.9V734.4A17.9 17.9 0 0 1 620.6 716.5H694.2V645.1A17.9 17.9 0 0 1 712.1 627.3H774.6A17.9 17.9 0 0 1 792.4 645.1V716.5H863.9A17.9 17.9 0 0 1 881.7 734.4ZM765.6 725.4V654H721V725.4A17.9 17.9 0 0 1 703.1 743.3H629.4V787.9H703.1A17.9 17.9 0 0 1 721 805.8V879.4H765.6V805.8A17.9 17.9 0 0 1 783.5 787.9H854.9V743.3H783.5A17.9 17.9 0 0 1 765.6 725.4Z",
"width": 985
},
"search": [
"arrival-patients-bg"
]
} }
] ]
} }

@ -19,36 +19,72 @@ class DoctorApp {
DoctorApp._(); DoctorApp._();
static const _kFontFam = 'DoctorApp'; static const _kFontFam = 'DoctorApp';
static const _kFontPkg = null; static const String _kFontPkg = null;
static const IconData female_icon = IconData(0xe800, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData female_icon =
static const IconData male = IconData(0xe801, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe800, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData reject_icon = IconData(0xe802, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData male =
static const IconData home_icon_active = IconData(0xe803, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe801, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData menu_icon = IconData(0xe804, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData reject_icon =
static const IconData menu_icon_active = IconData(0xe805, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe802, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData message_icon = IconData(0xe806, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData home_icon_active =
static const IconData message_icon_active = IconData(0xe807, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe803, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData scdedule_icon_active = IconData(0xe808, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData menu_icon =
static const IconData schedule_icon = IconData(0xe809, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe804, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData discharge_patient = IconData(0xe80a, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData menu_icon_active =
static const IconData approved_icon = IconData(0xe80b, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe805, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData pending_icon = IconData(0xe80c, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData message_icon =
static const IconData in_patient_white = IconData(0xe80d, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe806, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData lab_results = IconData(0xe80e, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData message_icon_active =
static const IconData home_icon = IconData(0xe80f, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe807, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData operations = IconData(0xe813, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData scdedule_icon_active =
static const IconData out_patient = IconData(0xe814, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe808, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData patient = IconData(0xe815, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData schedule_icon =
static const IconData qr_code = IconData(0xe816, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe809, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData radiology = IconData(0xe817, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData discharge_patient =
static const IconData referral = IconData(0xe818, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe80a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData search_patient = IconData(0xe81a, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData approved_icon =
static const IconData mail = IconData(0xe81e, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe80b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData medicine_search = IconData(0xe81f, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData pending_icon =
static const IconData referred = IconData(0xe822, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe80c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData sync_icon = IconData(0xe824, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData in_patient_white =
static const IconData drawer_icon = IconData(0xe825, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe80d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData leaves = IconData(0xe836, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData lab_results =
static const IconData search_patient_1 = IconData(0xe849, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe80e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData home_icon =
IconData(0xe80f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData referral_1 =
IconData(0xe810, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData operations =
IconData(0xe813, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData out_patient =
IconData(0xe814, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData patient =
IconData(0xe815, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData qr_code =
IconData(0xe816, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData radiology =
IconData(0xe817, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData referral =
IconData(0xe818, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData search_patient =
IconData(0xe81a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData mail =
IconData(0xe81e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData medicine_search =
IconData(0xe81f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData referred =
IconData(0xe822, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData sync_icon =
IconData(0xe824, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData drawer_icon =
IconData(0xe825, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData leaves =
IconData(0xe836, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData search_patient_1 =
IconData(0xe849, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData search =
IconData(0xe84b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData arrival_patients =
IconData(0xe84d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
} }

@ -42,15 +42,17 @@ class _LandingPageState extends State<LandingPage> {
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
elevation: 0, elevation: 0,
backgroundColor: HexColor('#515B5D'), backgroundColor: Colors.grey[100],
textTheme: TextTheme(headline6: TextStyle(color: Colors.white)), //textTheme: TextTheme(headline6: TextStyle(color: Colors.white)),
title: Text(getText(currentTab).toUpperCase()), title: currentTab != 0
? Text(getText(currentTab).toUpperCase())
: Text(''),
leading: Builder( leading: Builder(
builder: (BuildContext context) { builder: (BuildContext context) {
return IconButton( return IconButton(
icon: Icon(DoctorApp.drawer_icon), icon: Icon(DoctorApp.drawer_icon),
iconSize: 15, iconSize: 15,
color: Colors.white, color: Colors.black,
onPressed: () => Scaffold.of(context).openDrawer(), onPressed: () => Scaffold.of(context).openDrawer(),
); );
}, },
@ -66,9 +68,9 @@ class _LandingPageState extends State<LandingPage> {
ShowCaseWidget( ShowCaseWidget(
builder: Builder(builder: (context) => DashboardScreen()), builder: Builder(builder: (context) => DashboardScreen()),
), ),
DoctorReplyScreen(),
MyScheduleScreen(), MyScheduleScreen(),
QrReaderScreen() QrReaderScreen(),
DoctorReplyScreen(),
], ],
), ),
bottomNavigationBar: BottomNavBar(changeIndex: _changeCurrentTab), bottomNavigationBar: BottomNavBar(changeIndex: _changeCurrentTab),
@ -80,11 +82,11 @@ class _LandingPageState extends State<LandingPage> {
case 0: case 0:
return TranslationBase.of(context).home; return TranslationBase.of(context).home;
case 1: case 1:
return TranslationBase.of(context).replay;
case 2:
return TranslationBase.of(context).mySchedule; return TranslationBase.of(context).mySchedule;
case 3: case 2:
return TranslationBase.of(context).qr; return TranslationBase.of(context).qr;
case 3:
return TranslationBase.of(context).replay;
} }
} }
} }

@ -14,7 +14,7 @@ import './routes.dart';
import 'config/config.dart'; import 'config/config.dart';
import 'locator.dart'; import 'locator.dart';
void main()async { void main() async {
WidgetsFlutterBinding.ensureInitialized(); WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(); await Firebase.initializeApp();
setupLocator(); setupLocator();

@ -10,6 +10,7 @@ import 'package:doctor_app_flutter/screens/patients/profile/refer_patient_screen
import 'package:doctor_app_flutter/screens/patients/profile/prescriptions/in_patient_prescription_details_screen.dart'; import 'package:doctor_app_flutter/screens/patients/profile/prescriptions/in_patient_prescription_details_screen.dart';
import 'package:doctor_app_flutter/screens/live_care/video_call.dart'; import 'package:doctor_app_flutter/screens/live_care/video_call.dart';
import 'package:doctor_app_flutter/screens/prescription/prescription_screen_history.dart';
import 'package:doctor_app_flutter/screens/sick-leave/add-sickleave.dart'; import 'package:doctor_app_flutter/screens/sick-leave/add-sickleave.dart';
import 'package:doctor_app_flutter/screens/sick-leave/sick_leave.dart'; import 'package:doctor_app_flutter/screens/sick-leave/sick_leave.dart';
import 'package:doctor_app_flutter/screens/procedures/procedure_screen.dart'; import 'package:doctor_app_flutter/screens/procedures/procedure_screen.dart';
@ -100,6 +101,7 @@ const String IN_PATIENT_PRESCRIPTIONS_DETAILS = 'patients/prescription-details';
// const String VIDEO_CALL = 'video-call'; // const String VIDEO_CALL = 'video-call';
const String LIVECARE_PENDING_LIST = 'livecare-pendinglist'; const String LIVECARE_PENDING_LIST = 'livecare-pendinglist';
const String ORDER_PRESCRIPTION = 'prescription/prescriptionsss'; const String ORDER_PRESCRIPTION = 'prescription/prescriptionsss';
const String ORDER_PRESCRIPTION_HISTORY = 'prescription/prescriptionsssH';
const String ORDER_PROCEDURE = 'procedure/procedure'; const String ORDER_PROCEDURE = 'procedure/procedure';
// const String LIVECARE_END_DIALOG = 'video-call/EndCallDialogBox'; // const String LIVECARE_END_DIALOG = 'video-call/EndCallDialogBox';
const String PATIENT_SICKLEAVE = 'patients/patient_sickleave'; const String PATIENT_SICKLEAVE = 'patients/patient_sickleave';
@ -144,7 +146,9 @@ var routes = {
PATIENT_ADMISSION_REQUEST_2: (_) => AdmissionRequestSecondScreen(), PATIENT_ADMISSION_REQUEST_2: (_) => AdmissionRequestSecondScreen(),
PATIENT_ADMISSION_REQUEST_3: (_) => AdmissionRequestThirdScreen(), PATIENT_ADMISSION_REQUEST_3: (_) => AdmissionRequestThirdScreen(),
// PATIENT_ADMISSION_REQUEST: (_) => AdmissionRequestDetailScreen(), // PATIENT_ADMISSION_REQUEST: (_) => AdmissionRequestDetailScreen(),
CREATE_EPISODE: (_) => UpdateSoapIndex(isUpdate: true,), CREATE_EPISODE: (_) => UpdateSoapIndex(
isUpdate: true,
),
UPDATE_EPISODE: (_) => UpdateSoapIndex( UPDATE_EPISODE: (_) => UpdateSoapIndex(
isUpdate: true, isUpdate: true,
), ),
@ -156,6 +160,7 @@ var routes = {
PATIENT_SICKLEAVE: (_) => SickLeaveScreen(), PATIENT_SICKLEAVE: (_) => SickLeaveScreen(),
ADD_SICKLEAVE: (_) => AddSickLeavScreen(), ADD_SICKLEAVE: (_) => AddSickLeavScreen(),
ORDER_PRESCRIPTION: (_) => NewPrescriptionScreen(), ORDER_PRESCRIPTION: (_) => NewPrescriptionScreen(),
ORDER_PRESCRIPTION_HISTORY: (_) => NewPrescriptionHistoryScreen(),
ORDER_PROCEDURE: (_) => ProcedureScreen(), ORDER_PROCEDURE: (_) => ProcedureScreen(),
// LIVECARE_END_DIALOG: (_) => EndCallDialogBox() // LIVECARE_END_DIALOG: (_) => EndCallDialogBox()

File diff suppressed because it is too large Load Diff

@ -8,13 +8,13 @@ import 'package:flutter/material.dart';
import '../../widgets/shared/app_scaffold_widget.dart'; import '../../widgets/shared/app_scaffold_widget.dart';
class MyReferredPatient extends StatelessWidget { class MyReferredPatient extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return BaseView<ReferredPatientViewModel>( return BaseView<ReferredPatientViewModel>(
onModelReady: (model) => model.getMyReferredPatient(), onModelReady: (model) => model.getMyReferredPatient(),
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
baseViewModel: model, baseViewModel: model,
isShowAppBar: false,
appBarTitle: TranslationBase.of(context).myReferredPatient, appBarTitle: TranslationBase.of(context).myReferredPatient,
body: model.listMyReferredPatientModel.length == 0 body: model.listMyReferredPatientModel.length == 0
? Center( ? Center(
@ -31,18 +31,16 @@ class MyReferredPatient extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
SizedBox( SizedBox(
height: 10, height: 100,
), ),
Container( Container(
child: Column( child: Column(
//children: referredPatientProvider.listMyReferralPatientModel.map((item) { //children: referredPatientProvider.listMyReferralPatientModel.map((item) {
children: model children: model.listMyReferredPatientModel
.listMyReferredPatientModel
.map((item) { .map((item) {
return MyReferredPatientWidget( return MyReferredPatientWidget(
myReferredPatientModel: item, myReferredPatientModel: item,
model:model model: model);
);
}).toList(), }).toList(),
), ),
), ),

@ -0,0 +1,130 @@
import 'dart:ui';
import 'package:doctor_app_flutter/models/patient/patient_model.dart';
import 'package:doctor_app_flutter/screens/doctor/my_referral_patient_screen.dart';
import 'package:doctor_app_flutter/screens/doctor/my_referred_patient_screen.dart';
import 'package:doctor_app_flutter/screens/patients/patients_screen.dart';
import 'package:doctor_app_flutter/screens/patients/profile/referral/my-referral-patient-screen.dart';
import 'package:doctor_app_flutter/screens/patients/profile/referral/referred-patient-screen.dart';
import 'package:doctor_app_flutter/screens/reschedule-leaves/add-rescheduleleave.dart';
import 'package:doctor_app_flutter/screens/reschedule-leaves/reschedule_leave.dart';
import 'package:doctor_app_flutter/util/date-utils.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class PatientArrivalScreen extends StatefulWidget {
@override
_PatientArrivalScreen createState() => _PatientArrivalScreen();
}
class _PatientArrivalScreen extends State<PatientArrivalScreen>
with SingleTickerProviderStateMixin {
TabController _tabController;
var _patientSearchFormValues = PatientModel(
FirstName: "0",
MiddleName: "0",
LastName: "0",
PatientMobileNumber: "0",
PatientIdentificationID: "0",
PatientID: 0,
From: DateUtils.convertDateToFormat(DateTime.now(), 'yyyy-MM-dd')
.toString(),
To: DateUtils.convertDateToFormat(DateTime.now(), 'yyyy-MM-dd')
.toString(),
LanguageID: 2,
stamp: "2020-03-02T13:56:39.170Z",
IPAdress: "11.11.11.11",
VersionID: 1.2,
Channel: 9,
TokenID: "2Fi7HoIHB0eDyekVa6tCJg==",
SessionID: "5G0yXn0Jnq",
IsLoginForDoctorApp: true,
PatientOutSA: false);
@override
void initState() {
super.initState();
_tabController = TabController(length: 2, vsync: this);
}
@override
void dispose() {
super.dispose();
_tabController.dispose();
}
@override
@override
Widget build(BuildContext context) {
return AppScaffold(
isShowAppBar: true,
appBarTitle: TranslationBase.of(context).arrivalpatient,
body: Scaffold(
extendBodyBehindAppBar: true,
appBar: PreferredSize(
preferredSize: Size.fromHeight(65.0),
child: Center(
child: Container(
height: 60.0,
margin: EdgeInsets.only(top: 10.0),
width: MediaQuery.of(context).size.width * 0.92, // 0.9,
decoration: BoxDecoration(
border: Border(
bottom: BorderSide(
color: Theme.of(context).dividerColor,
width: 0.9), //width: 0.7
),
color: Colors.white),
child: Center(
child: TabBar(
isScrollable: true,
controller: _tabController,
indicatorWeight: 5.0,
indicatorSize: TabBarIndicatorSize.tab,
labelColor: Theme.of(context).primaryColor,
labelPadding:
EdgeInsets.only(top: 4.0, left: 35.0, right: 35.0),
unselectedLabelColor: Colors.grey[800],
tabs: [
Container(
width: MediaQuery.of(context).size.width * 0.30,
child: Center(
child: AppText(
TranslationBase.of(context).arrivalpatient),
),
),
Container(
width: MediaQuery.of(context).size.width * 0.30,
child: Center(
child: AppText(
TranslationBase.of(context).rescheduleLeaves),
),
),
],
),
),
),
),
),
body: Column(
children: <Widget>[
Expanded(
child: TabBarView(
physics: BouncingScrollPhysics(),
controller: _tabController,
children: <Widget>[
PatientsScreen(
patientSearchForm: _patientSearchFormValues,
selectedType: "7",
isAppbar: false,
),
AddRescheduleLeavScreen(),
],
),
)
],
),
));
}
}

@ -22,7 +22,7 @@ class _MedicalFilePageState extends State<MedicalFilePage> {
final routeArgs = ModalRoute.of(context).settings.arguments as Map; final routeArgs = ModalRoute.of(context).settings.arguments as Map;
patient = routeArgs['patient']; patient = routeArgs['patient'];
return BaseView<MedicalFileViewModel>( return BaseView<MedicalFileViewModel>(
onModelReady: (model) => model.getMedicalFile(mrn: patient.patientMRN), onModelReady: (model) => model.getMedicalFile(mrn: patient.patientId),
builder: builder:
(BuildContext context, MedicalFileViewModel model, Widget child) => (BuildContext context, MedicalFileViewModel model, Widget child) =>
AppScaffold( AppScaffold(
@ -133,7 +133,7 @@ class _MedicalFilePageState extends State<MedicalFilePage> {
lastName: patient.lastName, lastName: patient.lastName,
gender: patient.genderDescription, gender: patient.genderDescription,
encounterNumber: index, encounterNumber: index,
pp: patient.patientMRN, pp: patient.patientId,
)), )),
); );
}, },

@ -88,8 +88,8 @@ class _MedicineSearchState extends State<MedicineSearchScreen> {
}); });
} }
InputDecoration textFieldSelectorDecoration(String hintText, InputDecoration textFieldSelectorDecoration(
String selectedText, bool isDropDown, String hintText, String selectedText, bool isDropDown,
{IconData icon}) { {IconData icon}) {
return InputDecoration( return InputDecoration(
focusedBorder: OutlineInputBorder( focusedBorder: OutlineInputBorder(
@ -117,21 +117,22 @@ class _MedicineSearchState extends State<MedicineSearchScreen> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return BaseView<MedicineViewModel>( return BaseView<MedicineViewModel>(
onModelReady: (model) async { onModelReady: (model) async {
if(model.allMedicationList.length == 0) if (model.allMedicationList.length == 0)
await model.getMedicationList(); await model.getMedicationList();
}, },
builder: (_, model, w) => builder: (_, model, w) => AppScaffold(
AppScaffold(
baseViewModel: model, baseViewModel: model,
appBarTitle: TranslationBase isShowAppBar: false,
.of(context) appBarTitle: TranslationBase.of(context).searchMedicine,
.searchMedicine,
body: SingleChildScrollView( body: SingleChildScrollView(
child: FractionallySizedBox( child: FractionallySizedBox(
widthFactor: 0.97, widthFactor: 0.97,
child: SingleChildScrollView( child: SingleChildScrollView(
child: Column( child: Column(
children: <Widget>[ children: <Widget>[
SizedBox(
height: 50,
),
Column( Column(
children: <Widget>[ children: <Widget>[
Container( Container(
@ -153,7 +154,8 @@ class _MedicineSearchState extends State<MedicineSearchScreen> {
Padding( Padding(
padding: const EdgeInsets.only(top: 5.0), padding: const EdgeInsets.only(top: 5.0),
child: AppText( child: AppText(
TranslationBase.of(context).searchMedicineImageCaption, TranslationBase.of(context)
.searchMedicineImageCaption,
fontSize: SizeConfig.heightMultiplier * 2, fontSize: SizeConfig.heightMultiplier * 2,
), ),
) )
@ -167,10 +169,7 @@ class _MedicineSearchState extends State<MedicineSearchScreen> {
child: Column( child: Column(
children: <Widget>[ children: <Widget>[
Container( Container(
height: MediaQuery height: MediaQuery.of(context).size.height * 0.070,
.of(context)
.size
.height * 0.070,
child: InkWell( child: InkWell(
onTap: model.allMedicationList != null onTap: model.allMedicationList != null
? () { ? () {
@ -183,22 +182,22 @@ class _MedicineSearchState extends State<MedicineSearchScreen> {
? AutoCompleteTextField< ? AutoCompleteTextField<
GetMedicationResponseModel>( GetMedicationResponseModel>(
decoration: textFieldSelectorDecoration( decoration: textFieldSelectorDecoration(
TranslationBase TranslationBase.of(context)
.of(context)
.searchMedicineNameHere, .searchMedicineNameHere,
_selectedMedication != null _selectedMedication != null
? _selectedMedication.genericName ? _selectedMedication.genericName
: null, : null,
true, true,
icon: EvaIcons.search), icon: EvaIcons.search),
itemSubmitted: (item) => itemSubmitted: (item) => setState(
setState(
() => _selectedMedication = item), () => _selectedMedication = item),
key: key, key: key,
suggestions: model.allMedicationList, suggestions: model.allMedicationList,
itemBuilder: (context, suggestion) => itemBuilder: (context, suggestion) =>
new Padding( new Padding(
child: Texts(suggestion.description + '/' + child: Texts(
suggestion.description +
'/' +
suggestion.genericName), suggestion.genericName),
padding: EdgeInsets.all(8.0)), padding: EdgeInsets.all(8.0)),
itemSorter: (a, b) => 1, itemSorter: (a, b) => 1,
@ -217,8 +216,7 @@ class _MedicineSearchState extends State<MedicineSearchScreen> {
minLines: 2, minLines: 2,
maxLines: 2, maxLines: 2,
decoration: textFieldSelectorDecoration( decoration: textFieldSelectorDecoration(
TranslationBase TranslationBase.of(context)
.of(context)
.searchMedicineNameHere, .searchMedicineNameHere,
_selectedMedication != null _selectedMedication != null
? _selectedMedication.description + ? _selectedMedication.description +
@ -254,22 +252,19 @@ class _MedicineSearchState extends State<MedicineSearchScreen> {
), ),
), ),
), ),
),),); ),
),
);
} }
searchMedicine(context, MedicineViewModel model) async { searchMedicine(context, MedicineViewModel model) async {
FocusScope.of(context).unfocus(); FocusScope.of(context).unfocus();
if (_selectedMedication.isNullOrEmpty()) { if (_selectedMedication.isNullOrEmpty()) {
helpers.showErrorToast(TranslationBase helpers.showErrorToast(TranslationBase.of(context).typeMedicineName);
.of(context)
.typeMedicineName);
//"Type Medicine Name") //"Type Medicine Name")
return; return;
} else } else if (_selectedMedication.description.length < 3) {
if (_selectedMedication.description.length < 3) { helpers.showErrorToast(TranslationBase.of(context).moreThan3Letter);
helpers.showErrorToast(TranslationBase
.of(context)
.moreThan3Letter);
return; return;
} }
@ -277,16 +272,14 @@ class _MedicineSearchState extends State<MedicineSearchScreen> {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: (context) => builder: (context) => PharmaciesListScreen(
PharmaciesListScreen( itemID: _selectedMedication.itemId,
itemID:_selectedMedication.itemId,
selectedMedication: _selectedMedication, selectedMedication: _selectedMedication,
), ),
), ),
); );
// await model.getMedicineItem(_selectedMedication.description); // await model.getMedicineItem(_selectedMedication.description);
// GifLoaderDialogUtils.hideDialog(context); // GifLoaderDialogUtils.hideDialog(context);
} }
startVoiceSearch() { startVoiceSearch() {

@ -0,0 +1,109 @@
import 'dart:ui';
import 'package:doctor_app_flutter/models/patient/patient_model.dart';
import 'package:doctor_app_flutter/screens/doctor/my_referral_patient_screen.dart';
import 'package:doctor_app_flutter/screens/doctor/my_referred_patient_screen.dart';
import 'package:doctor_app_flutter/screens/medicine/medicine_search_screen.dart';
import 'package:doctor_app_flutter/screens/patients/patient_search_screen.dart';
import 'package:doctor_app_flutter/screens/patients/patients_screen.dart';
import 'package:doctor_app_flutter/screens/patients/profile/referral/my-referral-patient-screen.dart';
import 'package:doctor_app_flutter/screens/patients/profile/referral/referred-patient-screen.dart';
import 'package:doctor_app_flutter/screens/reschedule-leaves/add-rescheduleleave.dart';
import 'package:doctor_app_flutter/screens/reschedule-leaves/reschedule_leave.dart';
import 'package:doctor_app_flutter/util/date-utils.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class SearchMedicinePatientScreen extends StatefulWidget {
@override
_SearchMedicinePatientScreen createState() => _SearchMedicinePatientScreen();
}
class _SearchMedicinePatientScreen extends State<SearchMedicinePatientScreen>
with SingleTickerProviderStateMixin {
TabController _tabController;
@override
void initState() {
super.initState();
_tabController = TabController(length: 2, vsync: this);
}
@override
void dispose() {
super.dispose();
_tabController.dispose();
}
@override
@override
Widget build(BuildContext context) {
return AppScaffold(
isShowAppBar: true,
appBarTitle: TranslationBase.of(context).searchmedicinepatient,
body: Scaffold(
extendBodyBehindAppBar: true,
appBar: PreferredSize(
preferredSize: Size.fromHeight(65.0),
child: Center(
child: Container(
height: 60.0,
margin: EdgeInsets.only(top: 10.0),
width: MediaQuery.of(context).size.width * 0.92, // 0.9,
decoration: BoxDecoration(
border: Border(
bottom: BorderSide(
color: Theme.of(context).dividerColor,
width: 0.9), //width: 0.7
),
color: Colors.white),
child: Center(
child: TabBar(
isScrollable: true,
controller: _tabController,
indicatorWeight: 5.0,
indicatorSize: TabBarIndicatorSize.tab,
labelColor: Theme.of(context).primaryColor,
labelPadding:
EdgeInsets.only(top: 4.0, left: 35.0, right: 35.0),
unselectedLabelColor: Colors.grey[800],
tabs: [
Container(
width: MediaQuery.of(context).size.width * 0.30,
child: Center(
child: AppText(
TranslationBase.of(context).searchPatient),
),
),
Container(
width: MediaQuery.of(context).size.width * 0.30,
child: Center(
child: AppText(
TranslationBase.of(context).searchMedicine),
),
),
],
),
),
),
),
),
body: Column(
children: <Widget>[
Expanded(
child: TabBarView(
physics: BouncingScrollPhysics(),
controller: _tabController,
children: <Widget>[
PatientSearchScreen(),
MedicineSearchScreen()
],
),
)
],
),
));
}
}

@ -80,9 +80,10 @@ class _PatientSearchScreenState extends State<PatientSearchScreen> {
if ((_patientSearchFormValues.From == "0" || if ((_patientSearchFormValues.From == "0" ||
_patientSearchFormValues.To == "0") && _patientSearchFormValues.To == "0") &&
_selectedType == "7" || ((_patientSearchFormValues.From == "0" || _selectedType == "7" ||
((_patientSearchFormValues.From == "0" ||
_patientSearchFormValues.To == "0") && _patientSearchFormValues.To == "0") &&
_selectedType == "6") ) { _selectedType == "6")) {
// helpers.showErrorToast("Please Choose The Dates"); // helpers.showErrorToast("Please Choose The Dates");
} else { } else {
setState(() { setState(() {
@ -115,11 +116,12 @@ class _PatientSearchScreenState extends State<PatientSearchScreen> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
projectsProvider = Provider.of(context); projectsProvider = Provider.of(context);
return GestureDetector( return GestureDetector(
onTap: (){ onTap: () {
FocusScope.of(context).requestFocus(new FocusNode()); FocusScope.of(context).requestFocus(new FocusNode());
}, },
child: AppScaffold( child: AppScaffold(
appBarTitle: TranslationBase.of(context).searchPatient, appBarTitle: TranslationBase.of(context).searchPatient,
isShowAppBar: false,
body: ListView( body: ListView(
children: <Widget>[ children: <Widget>[
RoundedContainer( RoundedContainer(
@ -261,14 +263,15 @@ class _PatientSearchScreenState extends State<PatientSearchScreen> {
borderColor: Colors.white, borderColor: Colors.white,
onSaved: (value) { onSaved: (value) {
value == null || value == '' value == null || value == ''
? _patientSearchFormValues.setFirstName = ? _patientSearchFormValues
"0" .setFirstName = "0"
: _patientSearchFormValues.setFirstName = : _patientSearchFormValues
value; .setFirstName = value;
if (value != null && if (value != null &&
value.toString().trim().isEmpty) { value.toString().trim().isEmpty) {
_patientSearchFormValues.setFirstName = "0"; _patientSearchFormValues.setFirstName =
"0";
} }
}, },
// validator: (value) { // validator: (value) {
@ -292,14 +295,12 @@ class _PatientSearchScreenState extends State<PatientSearchScreen> {
borderColor: Colors.white, borderColor: Colors.white,
onSaved: (value) { onSaved: (value) {
value == null || value == '' value == null || value == ''
? _patientSearchFormValues.setMiddleName = ? _patientSearchFormValues
"0" .setMiddleName = "0"
: _patientSearchFormValues.setMiddleName = : _patientSearchFormValues
value; .setMiddleName = value;
if (value != null && value if (value != null &&
.toString() value.toString().trim().isEmpty) {
.trim()
.isEmpty) {
_patientSearchFormValues.setMiddleName = _patientSearchFormValues.setMiddleName =
"0"; "0";
} }
@ -320,7 +321,8 @@ class _PatientSearchScreenState extends State<PatientSearchScreen> {
width: 1.0, color: HexColor("#CCCCCC"))), width: 1.0, color: HexColor("#CCCCCC"))),
padding: EdgeInsets.only(top: 5), padding: EdgeInsets.only(top: 5),
child: AppTextFormField( child: AppTextFormField(
labelText: TranslationBase.of(context).lastName, labelText:
TranslationBase.of(context).lastName,
borderColor: Colors.white, borderColor: Colors.white,
onSaved: (value) { onSaved: (value) {
value == null || value == '' value == null || value == ''
@ -328,11 +330,10 @@ class _PatientSearchScreenState extends State<PatientSearchScreen> {
"0" "0"
: _patientSearchFormValues.setLastName = : _patientSearchFormValues.setLastName =
value; value;
if (value != null && value if (value != null &&
.toString() value.toString().trim().isEmpty) {
.trim() _patientSearchFormValues.setLastName =
.isEmpty) { "0";
_patientSearchFormValues.setLastName = "0";
} }
}, },
inputFormatter: ONLY_LETTERS), inputFormatter: ONLY_LETTERS),
@ -340,13 +341,14 @@ class _PatientSearchScreenState extends State<PatientSearchScreen> {
SizedBox( SizedBox(
height: 10, height: 10,
), ),
if(_selectedType!='7') if (_selectedType != '7')
Container( Container(
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: borderRadius:
BorderRadius.all(Radius.circular(6.0)), BorderRadius.all(Radius.circular(6.0)),
border: Border.all( border: Border.all(
width: 1.0, color: HexColor("#CCCCCC"))), width: 1.0,
color: HexColor("#CCCCCC"))),
padding: EdgeInsets.only(top: 5), padding: EdgeInsets.only(top: 5),
child: AppTextFormField( child: AppTextFormField(
labelText: labelText:
@ -363,10 +365,8 @@ class _PatientSearchScreenState extends State<PatientSearchScreen> {
: _patientSearchFormValues : _patientSearchFormValues
.setPatientMobileNumber = value; .setPatientMobileNumber = value;
if (value != null && value if (value != null &&
.toString() value.toString().trim().isEmpty) {
.trim()
.isEmpty) {
_patientSearchFormValues _patientSearchFormValues
.setPatientMobileNumber = "0"; .setPatientMobileNumber = "0";
} }
@ -391,15 +391,13 @@ class _PatientSearchScreenState extends State<PatientSearchScreen> {
inputFormatter: ONLY_NUMBERS, inputFormatter: ONLY_NUMBERS,
focusNode: _nodeText2, focusNode: _nodeText2,
onSaved: (value) { onSaved: (value) {
value == null || value=='' value == null || value == ''
? _patientSearchFormValues.setPatientID = ? _patientSearchFormValues
0 .setPatientID = 0
: _patientSearchFormValues.setPatientID = : _patientSearchFormValues
int.parse(value); .setPatientID = int.parse(value);
if (value != null && value if (value != null &&
.trim() value.trim().toString().isEmpty) {
.toString()
.isEmpty) {
_patientSearchFormValues.setPatientID = 0; _patientSearchFormValues.setPatientID = 0;
} }
}), }),
@ -425,7 +423,8 @@ class _PatientSearchScreenState extends State<PatientSearchScreen> {
), ),
), ),
(!(_selectedType == '2' || _selectedType == '4')) (!(_selectedType == '2' || _selectedType == '4'))
? DynamicElements(_patientSearchFormValues, isFormSubmitted) ? DynamicElements(
_patientSearchFormValues, isFormSubmitted)
: SizedBox( : SizedBox(
height: 0, height: 0,
), ),

@ -25,6 +25,11 @@ import '../../config/size_config.dart';
import '../../widgets/shared/app_scaffold_widget.dart'; import '../../widgets/shared/app_scaffold_widget.dart';
class PatientsScreen extends StatefulWidget { class PatientsScreen extends StatefulWidget {
final patientSearchForm;
final selectedType;
final isAppbar;
PatientsScreen(
{this.patientSearchForm, this.selectedType, this.isAppbar = true});
@override @override
_PatientsScreenState createState() => _PatientsScreenState(); _PatientsScreenState createState() => _PatientsScreenState();
} }
@ -138,7 +143,6 @@ class _PatientsScreenState extends State<PatientsScreen> {
return newDate.toString(); return newDate.toString();
} }
filterBooking(String str) { filterBooking(String str) {
this.responseModelList = this.responseModelList2; this.responseModelList = this.responseModelList2;
@ -215,9 +219,13 @@ class _PatientsScreenState extends State<PatientsScreen> {
.settings .settings
.arguments as Map; .arguments as Map;
patient = routeArgs['patientSearchForm']; patient = widget.patientSearchForm != null
? widget.patientSearchForm
: routeArgs['patientSearchForm'];
patientType = routeArgs['selectedType']; patientType = widget.selectedType != null
? widget.selectedType
: routeArgs['selectedType'];
if (!projectsProvider.isArabic) if (!projectsProvider.isArabic)
patientTypeTitle = SERVICES_PATIANT_HEADER[int.parse(patientType)]; patientTypeTitle = SERVICES_PATIANT_HEADER[int.parse(patientType)];
@ -231,7 +239,11 @@ class _PatientsScreenState extends State<PatientsScreen> {
GetPatientArrivalListRequestModel getPatientArrivalListRequestModel; GetPatientArrivalListRequestModel getPatientArrivalListRequestModel;
if (val2 == 7) { if (val2 == 7) {
getPatientArrivalListRequestModel = GetPatientArrivalListRequestModel( getPatientArrivalListRequestModel = GetPatientArrivalListRequestModel(
from: patient.From, to: patient.To, pageIndex: 0, pageSize: 0,patientMRN: patient.getPatientID); from: patient.From,
to: patient.To,
pageIndex: 0,
pageSize: 0,
patientMRN: patient.getPatientID);
} }
model model
@ -250,7 +262,7 @@ class _PatientsScreenState extends State<PatientsScreen> {
this.error = error.toString(); this.error = error.toString();
} else { } else {
var localList = []; var localList = [];
if(res["patientArrivalList"]["entityList"] == null){ if (res["patientArrivalList"]["entityList"] == null) {
res["patientArrivalList"]["entityList"] = []; res["patientArrivalList"]["entityList"] = [];
} }
res["patientArrivalList"]["entityList"].forEach((v) { res["patientArrivalList"]["entityList"].forEach((v) {
@ -271,7 +283,9 @@ class _PatientsScreenState extends State<PatientsScreen> {
_isError = false; _isError = false;
} else { } else {
_isError = true; _isError = true;
error = model.error??res['ErrorEndUserMessage'] ?? res['ErrorMessage']; error = model.error ??
res['ErrorEndUserMessage'] ??
res['ErrorMessage'];
} }
_isLoading = false; _isLoading = false;
@ -286,6 +300,7 @@ class _PatientsScreenState extends State<PatientsScreen> {
}, },
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
appBarTitle: patientTypeTitle, appBarTitle: patientTypeTitle,
isShowAppBar: widget.isAppbar,
isLoading: _isLoading, isLoading: _isLoading,
body: _isLoading body: _isLoading
? Container() ? Container()
@ -452,9 +467,9 @@ class _PatientsScreenState extends State<PatientsScreen> {
"patient": item, "patient": item,
"patientType":patientType, "patientType":patientType,
"from" : patient.getFrom, "from" : patient.getFrom,
"to" : patient.getTo, "to" : patient.getTo,});
}); },
},); );
}).toList(), }).toList(),
) )
: Center( : Center(
@ -602,8 +617,7 @@ class _PatientsScreenState extends State<PatientsScreen> {
topRight: Radius.circular(12.5), topRight: Radius.circular(12.5),
topLeft: Radius.circular(9.5), topLeft: Radius.circular(9.5),
bottomLeft: Radius.circular(9.5)), bottomLeft: Radius.circular(9.5)),
color: color: _isActive ? HexColor("#B8382B") : Colors.white,
_isActive ? HexColor("#B8382B") : Colors.white,
), ),
child: Center( child: Center(
child: Text( child: Text(
@ -643,9 +657,4 @@ class _PatientsScreenState extends State<PatientsScreen> {
), ),
); );
} }
} }

@ -22,6 +22,7 @@ class MyReferralPatientScreen extends StatelessWidget {
onModelReady: (model) => model.getPendingReferralPatients(), onModelReady: (model) => model.getPendingReferralPatients(),
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
baseViewModel: model, baseViewModel: model,
isShowAppBar: false,
appBarTitle: TranslationBase.of(context).referPatient, appBarTitle: TranslationBase.of(context).referPatient,
body: model.pendingReferral == null || model.pendingReferral.length == 0 body: model.pendingReferral == null || model.pendingReferral.length == 0
? Center( ? Center(
@ -35,6 +36,7 @@ class MyReferralPatientScreen extends StatelessWidget {
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
SizedBox(height: 100),
ProfileWelcomeWidget( ProfileWelcomeWidget(
AppText( AppText(
authProvider.selectedClinicName != null authProvider.selectedClinicName != null
@ -60,15 +62,23 @@ class MyReferralPatientScreen extends StatelessWidget {
), ),
...List.generate( ...List.generate(
model.pendingReferral.length, model.pendingReferral.length,
(index) => PatientReferralItemWidget( (index) => InkWell(
onTap: () {
Navigator.of(context).pushNamed(MY_REFERRAL_DETAIL,
arguments: {
'referral': model.pendingReferral[index]
});
},
child: PatientReferralItemWidget(
"${model.pendingReferral[index].patientID}", "${model.pendingReferral[index].patientID}",
patientName: model.pendingReferral[index].patientName, patientName:
model.pendingReferral[index].patientName,
referralStatus: null, referralStatus: null,
isReferredTo: false, isReferredTo: false,
isSameBranch: model.pendingReferral[index] isSameBranch: model.pendingReferral[index]
.isReferralDoctorSameBranch, .isReferralDoctorSameBranch,
referralDoctorName: referralDoctorName: model
model.pendingReferral[index].referredByDoctorInfo, .pendingReferral[index].referredByDoctorInfo,
clinicDescription: null, clinicDescription: null,
remark: remark:
model.pendingReferral[index].remarksFromSource, model.pendingReferral[index].remarksFromSource,
@ -90,6 +100,7 @@ class MyReferralPatientScreen extends StatelessWidget {
), ),
), ),
), ),
),
], ],
), ),
), ),

@ -0,0 +1,101 @@
import 'dart:ui';
import 'package:doctor_app_flutter/screens/doctor/my_referral_patient_screen.dart';
import 'package:doctor_app_flutter/screens/doctor/my_referred_patient_screen.dart';
import 'package:doctor_app_flutter/screens/patients/profile/referral/my-referral-patient-screen.dart';
import 'package:doctor_app_flutter/screens/patients/profile/referral/referred-patient-screen.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class PatientReferralScreen extends StatefulWidget {
@override
_PatientReferralScreen createState() => _PatientReferralScreen();
}
class _PatientReferralScreen extends State<PatientReferralScreen>
with SingleTickerProviderStateMixin {
TabController _tabController;
@override
void initState() {
super.initState();
_tabController = TabController(length: 2, vsync: this);
}
@override
void dispose() {
super.dispose();
_tabController.dispose();
}
@override
@override
Widget build(BuildContext context) {
return AppScaffold(
isShowAppBar: true,
appBarTitle: TranslationBase.of(context).patientsreferral,
body: Scaffold(
extendBodyBehindAppBar: true,
appBar: PreferredSize(
preferredSize: Size.fromHeight(65.0),
child: Center(
child: Container(
height: 60.0,
margin: EdgeInsets.only(top: 10.0),
width: MediaQuery.of(context).size.width * 0.92, // 0.9,
decoration: BoxDecoration(
border: Border(
bottom: BorderSide(
color: Theme.of(context).dividerColor,
width: 0.9), //width: 0.7
),
color: Colors.white),
child: Center(
child: TabBar(
isScrollable: true,
controller: _tabController,
indicatorWeight: 5.0,
indicatorSize: TabBarIndicatorSize.tab,
labelColor: Theme.of(context).primaryColor,
labelPadding:
EdgeInsets.only(top: 4.0, left: 35.0, right: 35.0),
unselectedLabelColor: Colors.grey[800],
tabs: [
Container(
width: MediaQuery.of(context).size.width * 0.30,
child: Center(
child:
AppText(TranslationBase.of(context).myReferral),
),
),
Container(
width: MediaQuery.of(context).size.width * 0.30,
child: Center(
child: AppText(
TranslationBase.of(context).myReferredPatient),
),
),
],
),
),
),
),
),
body: Column(
children: <Widget>[
Expanded(
child: TabBarView(
physics: BouncingScrollPhysics(),
controller: _tabController,
children: <Widget>[
MyReferralPatientScreen(),
MyReferredPatient(),
],
),
)
],
),
));
}
}

@ -0,0 +1,517 @@
import 'package:doctor_app_flutter/core/viewModel/prescription_view_model.dart';
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/screens/prescription/add_prescription_form.dart';
import 'package:doctor_app_flutter/screens/prescription/update_prescription_form.dart';
import 'package:doctor_app_flutter/util/helpers.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-page-header-widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart';
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
class NewPrescriptionHistoryScreen extends StatefulWidget {
@override
_NewPrescriptionHistoryScreenState createState() =>
_NewPrescriptionHistoryScreenState();
}
class _NewPrescriptionHistoryScreenState
extends State<NewPrescriptionHistoryScreen> {
PersistentBottomSheetController _controller;
final _scaffoldKey = GlobalKey<ScaffoldState>();
TextEditingController strengthController = TextEditingController();
int testNum = 0;
int strengthChar;
PatiantInformtion patient;
@override
void initState() {
super.initState();
}
Widget build(BuildContext context) {
final screenSize = MediaQuery.of(context).size;
final routeArgs = ModalRoute.of(context).settings.arguments as Map;
patient = routeArgs['patient'];
return BaseView<PrescriptionViewModel>(
onModelReady: (model) => model.getPrescription(mrn: patient.patientId),
builder:
(BuildContext context, PrescriptionViewModel model, Widget child) =>
AppScaffold(
isShowAppBar: true,
appBarTitle: TranslationBase.of(context).prescription,
body: NetworkBaseView(
baseViewModel: model,
child: SingleChildScrollView(
child: Container(
child: Column(
children: [
PatientPageHeaderWidget(patient),
Divider(
height: 1.0,
thickness: 1.0,
color: Colors.grey,
),
(model.prescriptionList.length != 0)
? SizedBox(
height:
model.prescriptionList[0].rowcount == 0
? 200.0
: 10.0)
: SizedBox(height: 200.0),
//model.prescriptionList == null
(model.prescriptionList.length != 0)
? model.prescriptionList[0].rowcount == 0
? Container(
child: AppText(
'Sorry , Theres no prescriptions for this patient',
color: Color(0xFFB9382C),
),
)
: Padding(
padding: EdgeInsets.all(14.0),
child: NetworkBaseView(
baseViewModel: model,
child: Column(
mainAxisAlignment:
MainAxisAlignment.start,
children: [
...List.generate(
model.prescriptionList[0]
.rowcount,
(index) => Container(
child: Column(
children: [
SizedBox(
height: MediaQuery.of(
context)
.size
.height *
0.022,
),
Row(
mainAxisAlignment:
MainAxisAlignment
.spaceBetween,
// crossAxisAlignment:
// CrossAxisAlignment.start,
children: [
Container(
height: MediaQuery.of(
context)
.size
.height *
0.21,
width: MediaQuery.of(
context)
.size
.width *
0.1,
child: Column(
children: [
AppText(
(DateTime.parse(model.prescriptionList[0].entityList[index].createdOn) !=
null
? (DateTime.parse(model.prescriptionList[0].entityList[index].createdOn).year)
.toString()
: DateTime.now()
.year)
.toString(),
color: Colors
.green,
fontSize:
13.5,
),
AppText(
Helpers.getMonth(model.prescriptionList[0].entityList[index].createdOn !=
null
? (DateTime.parse(model.prescriptionList[0].entityList[index].createdOn)
.month)
: DateTime.now()
.month)
.toUpperCase(),
color: Colors
.green,
),
AppText(
DateTime.parse(model
.prescriptionList[
0]
.entityList[
index]
.createdOn)
.day
.toString(),
color: Colors
.green,
),
AppText(
Helpers.getTimeFormated(DateTime.parse(model
.prescriptionList[
0]
.entityList[
index]
.createdOn))
.toString(),
color: Colors
.green,
),
],
),
),
Container(
// height: MediaQuery.of(
// context)
// .size
// .height *
// 0.3499,
width: MediaQuery.of(
context)
.size
.width *
0.77,
child: Column(
children: [
Row(
children: [
AppText(
'Start Date:',
fontWeight:
FontWeight
.w700,
fontSize:
14.0,
),
Expanded(
child:
AppText(
Helpers.getDateFormatted(DateTime.parse(model
.prescriptionList[0]
.entityList[index]
.startDate)),
fontSize:
13.5,
),
),
SizedBox(
width:
6.0,
),
AppText(
'Order Type:',
fontWeight:
FontWeight
.w700,
fontSize:
14.0,
),
Expanded(
child:
AppText(
model
.prescriptionList[0]
.entityList[index]
.orderTypeDescription,
fontSize:
13.0,
),
),
],
),
SizedBox(
height: 5.5,
),
Row(
children: [
Container(
child:
Expanded(
child:
AppText(
model
.prescriptionList[0]
.entityList[index]
.medicationName,
fontWeight:
FontWeight.w700,
fontSize:
15.0,
),
),
)
],
),
SizedBox(
height: 5.5,
),
Row(
children: [
Expanded(
child:
AppText(
model
.prescriptionList[0]
.entityList[index]
.doseDetail,
fontSize:
15.0,
),
)
],
),
SizedBox(
height: 10.0,
),
Row(
children: [
AppText(
'Indication: ',
fontWeight:
FontWeight
.w700,
fontSize:
17.0,
),
Expanded(
child:
RichText(
maxLines:
3,
overflow:
TextOverflow.ellipsis,
strutStyle:
StrutStyle(fontSize: 12.0),
text: TextSpan(
style:
TextStyle(color: Colors.black),
text: model.prescriptionList[0].entityList[index].indication),
),
),
],
),
Row(
children: [
AppText(
'UOM: ',
fontWeight:
FontWeight
.w700,
fontSize:
17.0,
),
Expanded(
child:
RichText(
maxLines:
3,
overflow:
TextOverflow.ellipsis,
strutStyle:
StrutStyle(fontSize: 12.0),
text: TextSpan(
style:
TextStyle(color: Colors.black),
text: model.prescriptionList[0].entityList[index].uom),
),
),
],
),
Row(
children: [
AppText(
'BOX Quantity: ',
fontWeight:
FontWeight
.w700,
fontSize:
17.0,
),
Expanded(
child:
RichText(
maxLines:
3,
overflow:
TextOverflow.ellipsis,
strutStyle:
StrutStyle(fontSize: 12.0),
text: TextSpan(
style:
TextStyle(color: Colors.black),
text: model.prescriptionList[0].entityList[index].quantity.toString() == null ? "" : model.prescriptionList[0].entityList[index].quantity.toString()),
),
),
],
),
Row(
children: [
AppText(
'pharmacy Intervention ',
fontWeight:
FontWeight
.w700,
fontSize:
17.0,
),
Expanded(
child:
RichText(
maxLines:
3,
overflow:
TextOverflow.ellipsis,
strutStyle:
StrutStyle(fontSize: 12.0),
text: TextSpan(
style:
TextStyle(color: Colors.black),
text: model.prescriptionList[0].entityList[index].pharmacyInervention == null ? "" : model.prescriptionList[0].entityList[index].pharmacyInervention.toString()),
),
),
],
),
SizedBox(
height:
5.0),
Row(
children: [
AppText(
'pharmacist Remarks : ',
fontWeight:
FontWeight
.w700,
fontSize:
15.0,
),
Expanded(
child: AppText(
// commening below code because there is an error coming in the model please fix it before pushing it
model.prescriptionList[0].entityList[index].pharmacistRemarks == null ? "" : model.prescriptionList[0].entityList[index].pharmacistRemarks,
fontSize: 15.0),
)
],
),
SizedBox(
height: 20.0,
),
Row(
children: [
AppText(
TranslationBase.of(context)
.doctorName +
": ",
fontWeight:
FontWeight
.w600,
),
Expanded(
child:
AppText(
model
.prescriptionList[0]
.entityList[index]
.doctorName,
fontWeight:
FontWeight.w700,
),
)
],
),
SizedBox(
height: 8.0,
),
Row(
children: [
AppText(
'Doctor Remarks : ',
fontWeight:
FontWeight
.w700,
fontSize:
13.0,
),
Expanded(
child:
Container(
// height: MediaQuery.of(context).size.height *
// 0.038,
child:
RichText(
// maxLines:
// 2,
// overflow:
// TextOverflow.ellipsis,
strutStyle:
StrutStyle(fontSize: 10.0),
text:
TextSpan(
style:
TextStyle(color: Colors.black),
text: model.prescriptionList[0].entityList[index].remarks != null
? model.prescriptionList[0].entityList[index].remarks
: "",
),
),
),
),
],
),
SizedBox(
height: 10.0,
),
// SizedBox(
// height: 40,
// ),
],
),
),
],
),
Divider(
height: 0,
thickness: 1.0,
color: Colors.grey,
),
],
),
),
),
],
),
),
)
: Container(
child: AppText(
'Sorry , theres no prescriptions listed for this patient',
color: Color(0xFFB9382C),
),
)
],
),
),
),
)),
);
}
selectDate(BuildContext context, PrescriptionViewModel model) async {
DateTime selectedDate;
selectedDate = DateTime.now();
final DateTime picked = await showDatePicker(
context: context,
initialDate: selectedDate,
firstDate: DateTime.now().add(Duration(hours: 2)),
lastDate: DateTime(2040),
initialEntryMode: DatePickerEntryMode.calendar,
);
if (picked != null && picked != selectedDate) {
setState(() {
selectedDate = picked;
});
}
}
}

@ -28,11 +28,13 @@ class AddRescheduleLeavScreen extends StatelessWidget {
{model.getRescheduleLeave(), model.getCoveringDoctors()}, {model.getRescheduleLeave(), model.getCoveringDoctors()},
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
baseViewModel: model, baseViewModel: model,
isShowAppBar: false,
appBarTitle: TranslationBase.of(context).rescheduleLeaves, appBarTitle: TranslationBase.of(context).rescheduleLeaves,
body: model.getReschduleLeave.length > 0 body: model.getReschduleLeave.length > 0
? SingleChildScrollView( ? SingleChildScrollView(
child: Column( child: Column(
children: [ children: [
SizedBox(height: 50),
Container( Container(
margin: margin:
EdgeInsets.only(left: 15, right: 15, top: 20), EdgeInsets.only(left: 15, right: 15, top: 20),

@ -1126,6 +1126,13 @@ class TranslationBase {
String get otherStatistic => String get otherStatistic =>
localizedValues['otherStatistic'][locale.languageCode]; localizedValues['otherStatistic'][locale.languageCode];
String get patientsreferral =>
localizedValues['ptientsreferral'][locale.languageCode];
String get arrivalpatient =>
localizedValues['arrivalpatient'][locale.languageCode];
String get searchmedicinepatient =>
localizedValues['searchmedicinepatient'][locale.languageCode];
} }
class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> { class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> {

@ -18,49 +18,40 @@ class ProfileWelcomeWidget extends StatelessWidget {
return Container( return Container(
height: height, height: height,
color: HexColor('#515B5D'), // color: HexColor('#515B5D'),
width: double.infinity, width: double.infinity,
child: FractionallySizedBox( child: FractionallySizedBox(
widthFactor: 0.9, widthFactor: 0.9,
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
Column( // Column(
crossAxisAlignment: CrossAxisAlignment.start, // crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start, // mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[ // children: <Widget>[
Row( // Row(
children: <Widget>[ // children: <Widget>[
// AppText(
// TranslationBase.of(context).welcome,
// fontSize: SizeConfig.textMultiplier * 1.7,
// color: Colors.black,
// )
// ],
// ),
// Row(
// mainAxisAlignment: MainAxisAlignment.end,
// children: <Widget>[
AppText( AppText(
TranslationBase.of(context).welcome, // TranslationBase.of(context).dr +
fontSize: SizeConfig.textMultiplier * 1.7,
color: Colors.white,
)
],
),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
AppText(
TranslationBase.of(context).dr +
' ${authProvider.doctorProfile.doctorName}', ' ${authProvider.doctorProfile.doctorName}',
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: SizeConfig.textMultiplier * 2.5, fontSize: SizeConfig.textMultiplier * 2.5,
color: Colors.white, color: Colors.black,
)
],
), ),
SizedBox( SizedBox(
height: 4, width: 20,
),
clinicWidget,
],
), ),
Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[
CircleAvatar( CircleAvatar(
// radius: (52) // radius: (52)
child: ClipRRect( child: ClipRRect(
@ -68,15 +59,29 @@ class ProfileWelcomeWidget extends StatelessWidget {
child: Image.network( child: Image.network(
authProvider.doctorProfile.doctorImageURL, authProvider.doctorProfile.doctorImageURL,
fit: BoxFit.fill, fit: BoxFit.fill,
width: 70, width: 75,
height: 60, height: 75,
), ),
), ),
backgroundColor: Colors.transparent, backgroundColor: Colors.transparent,
) )
], // ],
), // ),
), // SizedBox(
// height: 4,
// ),
// clinicWidget,
/// ],
// ),
// Expanded(
// child: Column(
// mainAxisAlignment: MainAxisAlignment.start,
// crossAxisAlignment: CrossAxisAlignment.end,
// children: <Widget>[
// ],
// ),
// ),
], ],
), ),
), ),

@ -55,8 +55,8 @@ class ProfileMedicalInfoWidget extends StatelessWidget {
patientMRN: patient.patientMRN); patientMRN: patient.patientMRN);
await model.postEpisode(postEpisodeReqModel); await model.postEpisode(postEpisodeReqModel);
patient.episodeNo = model.episodeID; patient.episodeNo = model.episodeID;
Navigator.of(context).pushNamed(CREATE_EPISODE, Navigator.of(context)
arguments: {'patient': patient}); .pushNamed(CREATE_EPISODE, arguments: {'patient': patient});
}, },
isLoading: model.state == ViewState.BusyLocal, isLoading: model.state == ViewState.BusyLocal,
icon: 'create-episod.png'), icon: 'create-episod.png'),
@ -85,8 +85,7 @@ class ProfileMedicalInfoWidget extends StatelessWidget {
route: PATIENT_INSURANCE_APPROVALS, route: PATIENT_INSURANCE_APPROVALS,
nameLine1: TranslationBase.of(context).insurance, nameLine1: TranslationBase.of(context).insurance,
nameLine2: TranslationBase.of(context).service, nameLine2: TranslationBase.of(context).service,
icon: 'lab.png' icon: 'lab.png'),
),
// if (int.parse(patientType) == 7 || int.parse(patientType) == 6) // if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
PatientProfileButton( PatientProfileButton(
@ -134,15 +133,22 @@ class ProfileMedicalInfoWidget extends StatelessWidget {
nameLine1: TranslationBase.of(context).admission, nameLine1: TranslationBase.of(context).admission,
nameLine2: TranslationBase.of(context).request, nameLine2: TranslationBase.of(context).request,
icon: 'heartbeat.png'), icon: 'heartbeat.png'),
// if (int.parse(patientType) == 7 || int.parse(patientType) == 6) (int.parse(patientType) == 7 || int.parse(patientType) == 6)
PatientProfileButton( ? PatientProfileButton(
key: key, key: key,
patient: patient, patient: patient,
route: ORDER_PRESCRIPTION, route: ORDER_PRESCRIPTION,
nameLine1: TranslationBase.of(context).orders, nameLine1: TranslationBase.of(context).orders,
nameLine2: TranslationBase.of(context).prescription, nameLine2: TranslationBase.of(context).prescription,
icon: 'lab.png')
: PatientProfileButton(
key: key,
patient: patient,
route: ORDER_PRESCRIPTION_HISTORY,
nameLine1: TranslationBase.of(context).orders,
nameLine2: TranslationBase.of(context).prescription,
icon: 'lab.png'), icon: 'lab.png'),
// if (int.parse(patientType) == 7 || int.parse(patientType) == 6) if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
PatientProfileButton( PatientProfileButton(
key: key, key: key,
patient: patient, patient: patient,

@ -6,6 +6,7 @@ class AppExpandableNotifier extends StatelessWidget {
final Widget bodyWid; final Widget bodyWid;
AppExpandableNotifier({this.headerWid, this.bodyWid}); AppExpandableNotifier({this.headerWid, this.bodyWid});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return ExpandableNotifier( return ExpandableNotifier(
@ -49,6 +50,8 @@ class AppExpandableNotifier extends StatelessWidget {
], ],
), ),
), ),
)); ),
initialExpanded: true,
);
} }
} }

@ -30,7 +30,7 @@ class AppScaffold extends StatelessWidget {
AppGlobal.CONTEX = context; AppGlobal.CONTEX = context;
ProjectViewModel projectProvider = Provider.of(context); ProjectViewModel projectProvider = Provider.of(context);
return GestureDetector( return GestureDetector(
onTap: (){ onTap: () {
FocusScope.of(context).requestFocus(new FocusNode()); FocusScope.of(context).requestFocus(new FocusNode());
}, },
child: Scaffold( child: Scaffold(

@ -45,29 +45,29 @@ class _BottomNavBarState extends State<BottomNavBar> {
name: TranslationBase.of(context).home, name: TranslationBase.of(context).home,
), ),
BottomNavigationItem( BottomNavigationItem(
icon: DoctorApp.message_icon, icon: DoctorApp.schedule_icon,
activeIcon: DoctorApp.message_icon_active, activeIcon: DoctorApp.scdedule_icon_active,
changeIndex: _changeIndex, changeIndex: _changeIndex,
index: _index, index: _index,
currentIndex: 1, currentIndex: 1,
name: TranslationBase.of(context).replay2, name: TranslationBase.of(context).mySchedule,
), ),
BottomNavigationItem( BottomNavigationItem(
icon: DoctorApp.schedule_icon, icon: DoctorApp.qr_code,
activeIcon: DoctorApp.scdedule_icon_active, activeIcon: DoctorApp.qr_code,
changeIndex: _changeIndex, changeIndex: _changeIndex,
index: _index, index: _index,
currentIndex: 2, currentIndex: 2,
name: TranslationBase.of(context).mySchedule, name: TranslationBase.of(context).qr,
), ),
BottomNavigationItem( BottomNavigationItem(
icon: DoctorApp.qr_code, icon: DoctorApp.message_icon,
activeIcon: DoctorApp.qr_code, activeIcon: DoctorApp.message_icon_active,
changeIndex: _changeIndex, changeIndex: _changeIndex,
index: _index, index: _index,
currentIndex: 3, currentIndex: 3,
name: TranslationBase.of(context).qr, name: TranslationBase.of(context).replay2,
) ),
], ],
), ),
), ),

@ -15,6 +15,7 @@ class NetworkBaseView extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Container( return Container(
color: Colors.grey[100],
child: buildBaseViewWidget(), child: buildBaseViewWidget(),
); );
} }

@ -573,7 +573,7 @@ packages:
name: meta name: meta
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.3.0-nullsafety.3" version: "1.3.0-nullsafety.4"
mime: mime:
dependency: transitive dependency: transitive
description: description:
@ -844,7 +844,7 @@ packages:
name: stack_trace name: stack_trace
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.10.0-nullsafety.1" version: "1.10.0-nullsafety.2"
stream_channel: stream_channel:
dependency: transitive dependency: transitive
description: description:
@ -986,5 +986,5 @@ packages:
source: hosted source: hosted
version: "2.2.1" version: "2.2.1"
sdks: sdks:
dart: ">=2.10.0 <2.11.0" dart: ">=2.10.0 <=2.11.0-213.1.beta"
flutter: ">=1.22.0 <2.0.0" flutter: ">=1.22.0 <2.0.0"

Loading…
Cancel
Save