瀏覽代碼

Update 1509

dienianindya 1 年之前
父節點
當前提交
c78a849b73
共有 100 個文件被更改,包括 237 次插入397 次删除
  1. 2
    2
      android/app/build.gradle
  2. 1
    0
      android/app/src/main/AndroidManifest.xml
  3. 二進制
      android/app/src/main/res/IconKitchen-Output/android/play_store_512.png
  4. 0
    6
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-anydpi-v26/ic_launcher.xml
  5. 二進制
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-hdpi/ic_launcher.png
  6. 二進制
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-hdpi/ic_launcher_background.png
  7. 二進制
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-hdpi/ic_launcher_foreground.png
  8. 二進制
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-hdpi/ic_launcher_monochrome.png
  9. 二進制
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-mdpi/ic_launcher.png
  10. 二進制
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-mdpi/ic_launcher_background.png
  11. 二進制
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-mdpi/ic_launcher_foreground.png
  12. 二進制
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-mdpi/ic_launcher_monochrome.png
  13. 二進制
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xhdpi/ic_launcher.png
  14. 二進制
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xhdpi/ic_launcher_background.png
  15. 二進制
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xhdpi/ic_launcher_foreground.png
  16. 二進制
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xhdpi/ic_launcher_monochrome.png
  17. 二進制
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxhdpi/ic_launcher.png
  18. 二進制
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxhdpi/ic_launcher_background.png
  19. 二進制
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxhdpi/ic_launcher_foreground.png
  20. 二進制
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxhdpi/ic_launcher_monochrome.png
  21. 二進制
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxxhdpi/ic_launcher.png
  22. 二進制
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxxhdpi/ic_launcher_background.png
  23. 二進制
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxxhdpi/ic_launcher_foreground.png
  24. 二進制
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxxhdpi/ic_launcher_monochrome.png
  25. 二進制
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-20@2x.png
  26. 二進制
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-20@2x~ipad.png
  27. 二進制
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-20@3x.png
  28. 二進制
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-20~ipad.png
  29. 二進制
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-29.png
  30. 二進制
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-29@2x.png
  31. 二進制
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-29@2x~ipad.png
  32. 二進制
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-29@3x.png
  33. 二進制
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-29~ipad.png
  34. 二進制
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-40@2x.png
  35. 二進制
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-40@2x~ipad.png
  36. 二進制
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-40@3x.png
  37. 二進制
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-40~ipad.png
  38. 二進制
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-60@2x~car.png
  39. 二進制
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-60@3x~car.png
  40. 二進制
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-83.5@2x~ipad.png
  41. 二進制
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon@2x.png
  42. 二進制
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon@2x~ipad.png
  43. 二進制
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon@3x.png
  44. 二進制
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon~ios-marketing.png
  45. 二進制
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon~ipad.png
  46. 0
    134
      android/app/src/main/res/IconKitchen-Output/ios/Contents.json
  47. 0
    18
      android/app/src/main/res/IconKitchen-Output/web/README.txt
  48. 二進制
      android/app/src/main/res/IconKitchen-Output/web/apple-touch-icon.png
  49. 二進制
      android/app/src/main/res/IconKitchen-Output/web/favicon.ico
  50. 二進制
      android/app/src/main/res/IconKitchen-Output/web/icon-192-maskable.png
  51. 二進制
      android/app/src/main/res/IconKitchen-Output/web/icon-192.png
  52. 二進制
      android/app/src/main/res/IconKitchen-Output/web/icon-512-maskable.png
  53. 二進制
      android/app/src/main/res/IconKitchen-Output/web/icon-512.png
  54. 0
    5
      android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
  55. 二進制
      android/app/src/main/res/mipmap-hdpi/ic_launcher.png
  56. 二進制
      android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png
  57. 二進制
      android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
  58. 二進制
      android/app/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png
  59. 二進制
      android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
  60. 二進制
      android/app/src/main/res/mipmap-ldpi/ic_launcher.png
  61. 二進制
      android/app/src/main/res/mipmap-mdpi/ic_launcher.png
  62. 二進制
      android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png
  63. 二進制
      android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
  64. 二進制
      android/app/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png
  65. 二進制
      android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
  66. 二進制
      android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
  67. 二進制
      android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png
  68. 二進制
      android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
  69. 二進制
      android/app/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png
  70. 二進制
      android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
  71. 二進制
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
  72. 二進制
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png
  73. 二進制
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
  74. 二進制
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png
  75. 二進制
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
  76. 二進制
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
  77. 二進制
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png
  78. 二進制
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
  79. 二進制
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png
  80. 二進制
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
  81. 1
    1
      android/build.gradle
  82. 二進制
      assets/icons/ic_notif.png
  83. 二進制
      assets/icons/ic_pp_1.png
  84. 二進制
      assets/icons/ic_pp_2.png
  85. 二進制
      ess_keystore.jks
  86. 二進制
      hris_keystore.jks
  87. 二進制
      hris_selfservice_mobile.zip
  88. 180
    171
      lib/Screens/Home/home_screen.dart
  89. 0
    5
      lib/Screens/Login/login_screen.dart
  90. 21
    22
      lib/Screens/Menu/Absensi/absensi_history_screen.dart
  91. 7
    7
      lib/Screens/Menu/Absensi/absensi_screen.dart
  92. 4
    4
      lib/Screens/Menu/AjukanCuti/ajukancuti_screen.dart
  93. 2
    3
      lib/Screens/Menu/AjukanCuti/history_cuti.dart
  94. 4
    4
      lib/Screens/Menu/Reimburse/reimburse_screen.dart
  95. 4
    4
      lib/Screens/Menu/SlipGaji/slipgaji_screen.dart
  96. 4
    4
      lib/Screens/Menu/SuratTugas/deklarasi_st.dart
  97. 3
    3
      lib/Screens/Menu/SuratTugas/history_st.dart
  98. 2
    2
      lib/Screens/Menu/SuratTugas/pengajuan_extendTanggalKembali.dart
  99. 2
    2
      lib/Screens/Menu/SuratTugas/pengajuan_st.dart
  100. 0
    0
      lib/Screens/Menu/SuratTugas/pengajuan_uangMukaTambahan.dart

+ 2
- 2
android/app/build.gradle 查看文件

@@ -53,9 +53,9 @@ android {
53 53
 
54 54
     signingConfigs {
55 55
         release {
56
-            storeFile file('D:/employee_self_service/ttwenty.jks')
56
+            storeFile file('D:/employee_self_service/ess_keystore.jks')
57 57
             storePassword '123123'
58
-            keyAlias 'ttwenty'
58
+            keyAlias 'ess_keystore'
59 59
             keyPassword '123123'
60 60
         }
61 61
     }

+ 1
- 0
android/app/src/main/AndroidManifest.xml 查看文件

@@ -2,6 +2,7 @@
2 2
     xmlns:tools="http://schemas.android.com/tools"
3 3
     package="com.example.hris_selfservice_mobile">
4 4
 
5
+
5 6
     <uses-permission android:name="android.permission.INTERNET" />
6 7
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
7 8
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

二進制
android/app/src/main/res/IconKitchen-Output/android/play_store_512.png 查看文件


+ 0
- 6
android/app/src/main/res/IconKitchen-Output/android/res/mipmap-anydpi-v26/ic_launcher.xml 查看文件

@@ -1,6 +0,0 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
3
-  <background android:drawable="@mipmap/ic_launcher_background"/>
4
-  <foreground android:drawable="@mipmap/ic_launcher_foreground"/>
5
-  <monochrome android:drawable="@mipmap/ic_launcher_monochrome"/>
6
-</adaptive-icon>

二進制
android/app/src/main/res/IconKitchen-Output/android/res/mipmap-hdpi/ic_launcher.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/android/res/mipmap-hdpi/ic_launcher_background.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/android/res/mipmap-hdpi/ic_launcher_foreground.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/android/res/mipmap-hdpi/ic_launcher_monochrome.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/android/res/mipmap-mdpi/ic_launcher.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/android/res/mipmap-mdpi/ic_launcher_background.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/android/res/mipmap-mdpi/ic_launcher_foreground.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/android/res/mipmap-mdpi/ic_launcher_monochrome.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xhdpi/ic_launcher.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xhdpi/ic_launcher_background.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xhdpi/ic_launcher_foreground.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xhdpi/ic_launcher_monochrome.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxhdpi/ic_launcher.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxhdpi/ic_launcher_background.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxhdpi/ic_launcher_foreground.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxhdpi/ic_launcher_monochrome.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxxhdpi/ic_launcher.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxxhdpi/ic_launcher_background.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxxhdpi/ic_launcher_foreground.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxxhdpi/ic_launcher_monochrome.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-20@2x.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-20@2x~ipad.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-20@3x.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-20~ipad.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-29.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-29@2x.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-29@2x~ipad.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-29@3x.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-29~ipad.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-40@2x.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-40@2x~ipad.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-40@3x.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-40~ipad.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-60@2x~car.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-60@3x~car.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-83.5@2x~ipad.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/ios/AppIcon@2x.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/ios/AppIcon@2x~ipad.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/ios/AppIcon@3x.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/ios/AppIcon~ios-marketing.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/ios/AppIcon~ipad.png 查看文件


+ 0
- 134
android/app/src/main/res/IconKitchen-Output/ios/Contents.json 查看文件

@@ -1,134 +0,0 @@
1
-{
2
-  "images": [
3
-    {
4
-      "filename": "AppIcon@2x.png",
5
-      "idiom": "iphone",
6
-      "scale": "2x",
7
-      "size": "60x60"
8
-    },
9
-    {
10
-      "filename": "AppIcon@3x.png",
11
-      "idiom": "iphone",
12
-      "scale": "3x",
13
-      "size": "60x60"
14
-    },
15
-    {
16
-      "filename": "AppIcon~ipad.png",
17
-      "idiom": "ipad",
18
-      "scale": "1x",
19
-      "size": "76x76"
20
-    },
21
-    {
22
-      "filename": "AppIcon@2x~ipad.png",
23
-      "idiom": "ipad",
24
-      "scale": "2x",
25
-      "size": "76x76"
26
-    },
27
-    {
28
-      "filename": "AppIcon-83.5@2x~ipad.png",
29
-      "idiom": "ipad",
30
-      "scale": "2x",
31
-      "size": "83.5x83.5"
32
-    },
33
-    {
34
-      "filename": "AppIcon-40@2x.png",
35
-      "idiom": "iphone",
36
-      "scale": "2x",
37
-      "size": "40x40"
38
-    },
39
-    {
40
-      "filename": "AppIcon-40@3x.png",
41
-      "idiom": "iphone",
42
-      "scale": "3x",
43
-      "size": "40x40"
44
-    },
45
-    {
46
-      "filename": "AppIcon-40~ipad.png",
47
-      "idiom": "ipad",
48
-      "scale": "1x",
49
-      "size": "40x40"
50
-    },
51
-    {
52
-      "filename": "AppIcon-40@2x~ipad.png",
53
-      "idiom": "ipad",
54
-      "scale": "2x",
55
-      "size": "40x40"
56
-    },
57
-    {
58
-      "filename": "AppIcon-20@2x.png",
59
-      "idiom": "iphone",
60
-      "scale": "2x",
61
-      "size": "20x20"
62
-    },
63
-    {
64
-      "filename": "AppIcon-20@3x.png",
65
-      "idiom": "iphone",
66
-      "scale": "3x",
67
-      "size": "20x20"
68
-    },
69
-    {
70
-      "filename": "AppIcon-20~ipad.png",
71
-      "idiom": "ipad",
72
-      "scale": "1x",
73
-      "size": "20x20"
74
-    },
75
-    {
76
-      "filename": "AppIcon-20@2x~ipad.png",
77
-      "idiom": "ipad",
78
-      "scale": "2x",
79
-      "size": "20x20"
80
-    },
81
-    {
82
-      "filename": "AppIcon-29.png",
83
-      "idiom": "iphone",
84
-      "scale": "1x",
85
-      "size": "29x29"
86
-    },
87
-    {
88
-      "filename": "AppIcon-29@2x.png",
89
-      "idiom": "iphone",
90
-      "scale": "2x",
91
-      "size": "29x29"
92
-    },
93
-    {
94
-      "filename": "AppIcon-29@3x.png",
95
-      "idiom": "iphone",
96
-      "scale": "3x",
97
-      "size": "29x29"
98
-    },
99
-    {
100
-      "filename": "AppIcon-29~ipad.png",
101
-      "idiom": "ipad",
102
-      "scale": "1x",
103
-      "size": "29x29"
104
-    },
105
-    {
106
-      "filename": "AppIcon-29@2x~ipad.png",
107
-      "idiom": "ipad",
108
-      "scale": "2x",
109
-      "size": "29x29"
110
-    },
111
-    {
112
-      "filename": "AppIcon-60@2x~car.png",
113
-      "idiom": "car",
114
-      "scale": "2x",
115
-      "size": "60x60"
116
-    },
117
-    {
118
-      "filename": "AppIcon-60@3x~car.png",
119
-      "idiom": "car",
120
-      "scale": "3x",
121
-      "size": "60x60"
122
-    },
123
-    {
124
-      "filename": "AppIcon~ios-marketing.png",
125
-      "idiom": "ios-marketing",
126
-      "scale": "1x",
127
-      "size": "1024x1024"
128
-    }
129
-  ],
130
-  "info": {
131
-    "author": "iconkitchen",
132
-    "version": 1
133
-  }
134
-}

+ 0
- 18
android/app/src/main/res/IconKitchen-Output/web/README.txt 查看文件

@@ -1,18 +0,0 @@
1
-Add this to your HTML <head>:
2
-
3
-    <link rel="icon" href="/favicon.ico" sizes="any">
4
-    <link rel="apple-touch-icon" href="/apple-touch-icon.png">
5
-
6
-Add this to your app's manifest.json:
7
-
8
-    ...
9
-    {
10
-      "icons": [
11
-        { "src": "/favicon.ico", "type": "image/x-icon", "sizes": "16x16 32x32" },
12
-        { "src": "/icon-192.png", "type": "image/png", "sizes": "192x192" },
13
-        { "src": "/icon-512.png", "type": "image/png", "sizes": "512x512" },
14
-        { "src": "/icon-192-maskable.png", "type": "image/png", "sizes": "192x192", "purpose": "maskable" },
15
-        { "src": "/icon-512-maskable.png", "type": "image/png", "sizes": "512x512", "purpose": "maskable" }
16
-      ]
17
-    }
18
-    ...

二進制
android/app/src/main/res/IconKitchen-Output/web/apple-touch-icon.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/web/favicon.ico 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/web/icon-192-maskable.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/web/icon-192.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/web/icon-512-maskable.png 查看文件


二進制
android/app/src/main/res/IconKitchen-Output/web/icon-512.png 查看文件


+ 0
- 5
android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml 查看文件

@@ -1,5 +0,0 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
3
-    <background android:drawable="@drawable/ic_launcher_background"/>
4
-    <foreground android:drawable="@mipmap/ic_launcher_foreground"/>
5
-</adaptive-icon>

二進制
android/app/src/main/res/mipmap-hdpi/ic_launcher.png 查看文件


二進制
android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png 查看文件


二進制
android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png 查看文件


二進制
android/app/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png 查看文件


二進制
android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png 查看文件


二進制
android/app/src/main/res/mipmap-ldpi/ic_launcher.png 查看文件


二進制
android/app/src/main/res/mipmap-mdpi/ic_launcher.png 查看文件


二進制
android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png 查看文件


二進制
android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png 查看文件


二進制
android/app/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png 查看文件


二進制
android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png 查看文件


二進制
android/app/src/main/res/mipmap-xhdpi/ic_launcher.png 查看文件


二進制
android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png 查看文件


二進制
android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png 查看文件


二進制
android/app/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png 查看文件


二進制
android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png 查看文件


二進制
android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png 查看文件


二進制
android/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png 查看文件


二進制
android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png 查看文件


二進制
android/app/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png 查看文件


二進制
android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png 查看文件


二進制
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png 查看文件


二進制
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png 查看文件


二進制
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png 查看文件


二進制
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png 查看文件


二進制
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png 查看文件


+ 1
- 1
android/build.gradle 查看文件

@@ -1,5 +1,5 @@
1 1
 buildscript {
2
-    ext.kotlin_version = '1.7.20'
2
+    ext.kotlin_version = '1.9.10'
3 3
     repositories {
4 4
         google()
5 5
         mavenCentral()

二進制
assets/icons/ic_notif.png 查看文件


二進制
assets/icons/ic_pp_1.png 查看文件


二進制
assets/icons/ic_pp_2.png 查看文件


二進制
ess_keystore.jks 查看文件


二進制
hris_keystore.jks 查看文件


二進制
hris_selfservice_mobile.zip 查看文件


+ 180
- 171
lib/Screens/Home/home_screen.dart 查看文件

@@ -4,6 +4,7 @@ import 'dart:typed_data';
4 4
 
5 5
 import 'package:connectivity_plus/connectivity_plus.dart';
6 6
 import 'package:double_back_to_close/double_back_to_close.dart';
7
+import 'package:employee_selfservice_mobile/Screens/NotificationCenter/NotificationCenter.dart';
7 8
 import 'package:flutter/cupertino.dart';
8 9
 import 'package:flutter/material.dart';
9 10
 import 'package:fluttertoast/fluttertoast.dart';
@@ -100,7 +101,7 @@ class _HomeView extends State<HomeView> {
100 101
             fontSize: 15.0,
101 102
             fontWeight: FontWeight.w600));
102 103
 
103
-    loading.show();
104
+    await loading.show();
104 105
 
105 106
     GetProfileImage_Post.connectToAPI(session!).then((valueResult) async {
106 107
       Map<String, dynamic> object = json.decode(valueResult);
@@ -111,7 +112,7 @@ class _HomeView extends State<HomeView> {
111 112
           String photo = object['result']['photo'].toString();
112 113
           if (photo == "false") {
113 114
             setState(() {
114
-              _imageToShow = AssetImage('assets/images/ic_administrator.png');
115
+              _imageToShow = AssetImage('assets/icons/ic_pp_2.png');
115 116
             });
116 117
           } else if (photo != "false") {
117 118
             Uint8List decodedBytes = Base64Decoder().convert(photo);
@@ -121,7 +122,6 @@ class _HomeView extends State<HomeView> {
121 122
                   .image;
122 123
             });
123 124
           }
124
-          await loading.hide();
125 125
         } else if (status == "failed") {
126 126
           String message = object['result']['message'].toString();
127 127
           Fluttertoast.showToast(
@@ -132,7 +132,6 @@ class _HomeView extends State<HomeView> {
132 132
               textColor: Colors.white,
133 133
               fontSize: 16.0);
134 134
         }
135
-        await loading.hide();
136 135
       } else {
137 136
         Fluttertoast.showToast(
138 137
             msg: "Server Response Error",
@@ -141,8 +140,8 @@ class _HomeView extends State<HomeView> {
141 140
             timeInSecForIosWeb: 1,
142 141
             textColor: Colors.white,
143 142
             fontSize: 16.0);
144
-        await loading.hide();
145 143
       }
144
+      await loading.hide();
146 145
     });
147 146
     return _imageToShow;
148 147
   }
@@ -171,8 +170,12 @@ class _HomeView extends State<HomeView> {
171 170
           position = object['result']['position'].toString();
172 171
 
173 172
           var prefs = await SharedPreferences.getInstance();
174
-          await prefs.setString('position', position);
175
-
173
+          if (position == "false") {
174
+            position = "-";
175
+            await prefs.setString('position', position);
176
+          } else {
177
+            await prefs.setString('position', position);
178
+          }
176 179
         }
177 180
       } else {
178 181
         Fluttertoast.showToast(
@@ -187,6 +190,7 @@ class _HomeView extends State<HomeView> {
187 190
   }
188 191
 
189 192
   int _selectedIndex = 0;
193
+
190 194
   void _onItemTapped(int index) {
191 195
     setState(() {
192 196
       _selectedIndex = index;
@@ -223,39 +227,42 @@ class _HomeView extends State<HomeView> {
223 227
     );
224 228
   }
225 229
 
226
-  showDialogBox() => showCupertinoDialog<String>(
227
-    context: context,
228
-    builder: (BuildContext context) => CupertinoAlertDialog(
229
-      title: const Text('No Connection'),
230
-      content: const Text('Please check your internet connectivity'),
231
-      actions: <Widget>[
232
-        Column(
233
-          children: [
234
-            SizedBox(
235
-              width: 250,
236
-              height: 250,
237
-              child: LottieBuilder.asset(
238
-                  //'assets/animation/animation_no_internet.json',
239
-                  'assets/animation/animation_no_internet_3.json',
240
-                  repeat: true),
230
+  showDialogBox() =>
231
+      showCupertinoDialog<String>(
232
+        context: context,
233
+        builder: (BuildContext context) =>
234
+            CupertinoAlertDialog(
235
+              title: const Text('No Connection'),
236
+              content: const Text('Please check your internet connectivity'),
237
+              actions: <Widget>[
238
+                Column(
239
+                  children: [
240
+                    SizedBox(
241
+                      width: 250,
242
+                      height: 250,
243
+                      child: LottieBuilder.asset(
244
+                        //'assets/animation/animation_no_internet.json',
245
+                          'assets/animation/animation_no_internet_3.json',
246
+                          repeat: true),
247
+                    ),
248
+                  ],
249
+                ),
250
+                TextButton(
251
+                  onPressed: () async {
252
+                    Navigator.pop(context, 'Cancel');
253
+                    setState(() => isAlertSet = false);
254
+                    isDeviceConnected =
255
+                    await InternetConnectionChecker().hasConnection;
256
+                    if (!isDeviceConnected && isAlertSet == false) {
257
+                      showDialogBox();
258
+                      setState(() => isAlertSet = true);
259
+                    }
260
+                  },
261
+                  child: const Text('Retry'),
262
+                ),
263
+              ],
241 264
             ),
242
-          ],
243
-        ),
244
-        TextButton(
245
-          onPressed: () async {
246
-            Navigator.pop(context, 'Cancel');
247
-            setState(() => isAlertSet = false);
248
-            isDeviceConnected = await InternetConnectionChecker().hasConnection;
249
-            if (!isDeviceConnected && isAlertSet == false) {
250
-              showDialogBox();
251
-              setState(() => isAlertSet = true);
252
-            }
253
-          },
254
-          child: const Text('Retry'),
255
-        ),
256
-      ],
257
-    ),
258
-  );
265
+      );
259 266
 }
260 267
 
261 268
 class BottomNavBar extends StatefulWidget {
@@ -268,43 +275,44 @@ class BottomNavBar extends StatefulWidget {
268 275
 class _BottomNavBarState extends State<BottomNavBar> {
269 276
   List<Widget> _widgetOptions = <Widget>[
270 277
     HomeScreen(),
271
-    ReimburseScreen(),
278
+    NotificationCenter_Screen(),
272 279
     SettingsScreen(),
273 280
   ];
274 281
 
275 282
   int _selectedIndex = 0;
283
+
276 284
   void _onItemTapped(int index) {
277 285
     setState(() {
278 286
       _selectedIndex = index;
279 287
     });
280 288
   }
289
+
281 290
   @override
282 291
   Widget build(BuildContext context) {
283 292
     return Scaffold(
284 293
       body: _widgetOptions.elementAt(_selectedIndex),
285 294
       bottomNavigationBar: BottomNavigationBar(
286
-            items: const <BottomNavigationBarItem>[
287
-              BottomNavigationBarItem(
288
-                icon: Icon(Icons.home),
289
-                label: 'Home',
290
-              ),
291
-              BottomNavigationBarItem(
292
-                icon: Icon(Icons.notifications),
293
-                label: 'Notification',
294
-              ),BottomNavigationBarItem(
295
-                icon: Icon(Icons.person),
296
-                label: 'Profile',
297
-              ),
298
-            ],
299
-            currentIndex: _selectedIndex,
300
-            selectedItemColor: Colors.white,
301
-            backgroundColor: Color(0xFF5666b7),
302
-            onTap: _onItemTapped),
303
-      );
295
+          items: const <BottomNavigationBarItem>[
296
+            BottomNavigationBarItem(
297
+              icon: Icon(Icons.home),
298
+              label: 'Home',
299
+            ),
300
+            BottomNavigationBarItem(
301
+              icon: Icon(Icons.notifications),
302
+              label: 'Notification',
303
+            ), BottomNavigationBarItem(
304
+              icon: Icon(Icons.person),
305
+              label: 'Profile',
306
+            ),
307
+          ],
308
+          currentIndex: _selectedIndex,
309
+          selectedItemColor: Colors.white,
310
+          backgroundColor: Color(0xFF5666b7),
311
+          onTap: _onItemTapped),
312
+    );
304 313
   }
305 314
 }
306 315
 
307
-
308 316
 class HomeScreen extends StatefulWidget {
309 317
   @override
310 318
   State<HomeScreen> createState() => _HomeScreenState();
@@ -331,7 +339,9 @@ class _HomeScreenState extends State<HomeScreen> {
331 339
             Uint8List decodedBytes = Base64Decoder().convert(photo);
332 340
             //logDev.log(decodedBytes.toString(), name: "DECODED BYTES photo");
333 341
             setState(() {
334
-              _imageToShow = Image.memory(decodedBytes, gaplessPlayback: true).image;
342
+              _imageToShow = Image
343
+                  .memory(decodedBytes, gaplessPlayback: true)
344
+                  .image;
335 345
             });
336 346
           }
337 347
         } else if (status == "failed") {
@@ -359,7 +369,9 @@ class _HomeScreenState extends State<HomeScreen> {
359 369
 
360 370
   @override
361 371
   Widget build(BuildContext context) {
362
-    var size = MediaQuery.of(context).size;
372
+    var size = MediaQuery
373
+        .of(context)
374
+        .size;
363 375
 
364 376
     return FocusDetector(
365 377
       /*onVisibilityGained: (){
@@ -371,7 +383,7 @@ class _HomeScreenState extends State<HomeScreen> {
371 383
       onFocusLost: (){
372 384
         getProfileImage();
373 385
       },*/
374
-      onFocusGained: (){
386
+      onFocusGained: () {
375 387
         getProfileImage();
376 388
       },
377 389
 /*      onForegroundLost: (){
@@ -401,7 +413,7 @@ class _HomeScreenState extends State<HomeScreen> {
401 413
                     padding: EdgeInsets.all(20),
402 414
                     child: Column(
403 415
                       children: <Widget>[
404
-                       /* Align(
416
+                        /* Align(
405 417
                           alignment: Alignment.topRight,
406 418
                           child: InkWell(
407 419
                             child: Container(
@@ -418,11 +430,13 @@ class _HomeScreenState extends State<HomeScreen> {
418 430
                           ),
419 431
                         ),*/
420 432
                         Container(
421
-                          child:  Stack(
433
+                          child: Stack(
422 434
                             alignment: Alignment.topLeft,
423 435
                             children: [
424 436
                               Container(
425
-                                margin: EdgeInsets.only(top: (((size.width - 20) * 0.33) * 0.5) + 40),
437
+                                margin: EdgeInsets.only(
438
+                                    top: (((size.width - 20) * 0.33) * 0.5) +
439
+                                        40),
426 440
                                 child: Card(
427 441
                                   elevation: 15,
428 442
                                   child: Container(
@@ -432,24 +446,28 @@ class _HomeScreenState extends State<HomeScreen> {
432 446
                                       decoration: BoxDecoration(
433 447
                                           color: Colors.white,
434 448
                                           borderRadius:
435
-                                          BorderRadius.all(Radius.circular(10))),
449
+                                          BorderRadius.all(
450
+                                              Radius.circular(10))),
436 451
                                       child: Column(
437
-                                        mainAxisAlignment: MainAxisAlignment.end,
438
-                                        crossAxisAlignment: CrossAxisAlignment.center,
452
+                                        mainAxisAlignment: MainAxisAlignment
453
+                                            .end,
454
+                                        crossAxisAlignment: CrossAxisAlignment
455
+                                            .center,
439 456
                                         children: <Widget>[
440 457
                                           Text(name,
441 458
                                             maxLines: 2,
442 459
                                             overflow: TextOverflow.ellipsis,
443 460
                                             textAlign: TextAlign.center,
444 461
                                             style: GoogleFonts.inter(
445
-                                                fontSize: 18,
462
+                                                fontSize: size.width * 0.045,
446 463
                                                 color: Colors.black,
447 464
                                                 fontWeight: FontWeight.bold),
448 465
                                           ),
449 466
                                           Text(position,
450 467
                                             textAlign: TextAlign.center,
451 468
                                             style: GoogleFonts.inter(
452
-                                                fontSize: 17, color: Colors.black),
469
+                                                fontSize: size.width * 0.035,
470
+                                                color: Colors.black),
453 471
                                           ),
454 472
                                         ],
455 473
                                       )),
@@ -482,46 +500,48 @@ class _HomeScreenState extends State<HomeScreen> {
482 500
                           crossAxisSpacing: 15,
483 501
                           mainAxisSpacing: 15,
484 502
                           crossAxisCount: 2,
503
+                          childAspectRatio: 1.0,
485 504
                           children: <Widget>[
486 505
                             InkWell(
487 506
                                 child: Container(
488
-                                  decoration: BoxDecoration(
489
-                                      color: Color(0xFFD0D0D0),
490
-                                      borderRadius: BorderRadius.circular(5)),
491
-                                  child: Column(
492
-                                    crossAxisAlignment: CrossAxisAlignment.center,
493
-                                    mainAxisAlignment: MainAxisAlignment.center,
494
-                                    children: <Widget>[
495
-                                      Container(
496
-                                        width: 75,
497
-                                        height: 75,
498
-                                        child: Image.asset(
499
-                                          "assets/icons/menu/ic_absensi.png",
500
-                                          fit: BoxFit.fill,
501
-                                          alignment: Alignment.center,
502
-                                        ),
503
-                                      ),
504
-                                      Container(
505
-                                        margin: EdgeInsets.only(top: 10),
506
-                                        padding: EdgeInsets.all(5),
507
-                                        child: Text(
508
-                                          'Attendance',
509
-                                          textAlign: TextAlign.center,
510
-                                          style: GoogleFonts.acme(
511
-                                              fontSize: 18, color: Colors.black),
512
-                                        ),
507
+                                    width: size.width,
508
+                                    height: size.height,
509
+                                    decoration: BoxDecoration(
510
+                                        color: Color(0xFFD0D0D0),
511
+                                        borderRadius: BorderRadius.circular(5)),
512
+                                    child: Center(
513
+                                      child: Column(
514
+                                        crossAxisAlignment: CrossAxisAlignment.center,
515
+                                        mainAxisAlignment: MainAxisAlignment.center,
516
+                                        children: <Widget>[
517
+                                          Container(
518
+                                            width: size.width * 0.18,
519
+                                            child: Image.asset(
520
+                                                "assets/icons/menu/ic_absensi.png",
521
+                                                fit: BoxFit.contain)
522
+                                          ),
523
+                                          Text(
524
+                                            'Attendance',
525
+                                            textAlign: TextAlign.center,
526
+                                            style: GoogleFonts.acme(
527
+                                                fontSize: size.width * 0.045,
528
+                                                color: Colors.black),
529
+                                          ),
530
+                                        ],
513 531
                                       ),
514
-                                    ],
515
-                                  ),
532
+                                    )
516 533
                                 ),
517 534
                                 onTap: () {
518 535
                                   Navigator.push(
519 536
                                       context,
520 537
                                       MaterialPageRoute(
521
-                                          builder: (context) => AbsensiScreen()));
538
+                                          builder: (context) =>
539
+                                              AbsensiScreen()));
522 540
                                 }),
523 541
                             InkWell(
524 542
                               child: Container(
543
+                                width: size.width,
544
+                                height: size.height,
525 545
                                 decoration: BoxDecoration(
526 546
                                     color: Color(0xFFD0D0D0),
527 547
                                     borderRadius: BorderRadius.circular(5)),
@@ -530,22 +550,17 @@ class _HomeScreenState extends State<HomeScreen> {
530 550
                                   mainAxisAlignment: MainAxisAlignment.center,
531 551
                                   children: <Widget>[
532 552
                                     Container(
533
-                                      width: 75,
534
-                                      height: 75,
553
+                                      width: size.width * 0.18,
535 554
                                       child: Image.asset(
536
-                                          "assets/icons/menu/ic_slipgaji_2.png",
537
-                                          fit: BoxFit.fill,
538
-                                          alignment: Alignment.center),
555
+                                        "assets/icons/menu/ic_slipgaji_2.png",
556
+                                        fit: BoxFit.contain),
539 557
                                     ),
540
-                                    Container(
541
-                                      margin: EdgeInsets.only(top: 10),
542
-                                      padding: EdgeInsets.all(5),
543
-                                      child: Text(
544
-                                        'Pay Slip',
545
-                                        textAlign: TextAlign.center,
546
-                                        style: GoogleFonts.acme(
547
-                                            fontSize: 18, color: Colors.black),
548
-                                      ),
558
+                                    Text(
559
+                                      'Pay Slip',
560
+                                      textAlign: TextAlign.center,
561
+                                      style: GoogleFonts.acme(
562
+                                          fontSize: size.width * 0.045,
563
+                                          color: Colors.black),
549 564
                                     ),
550 565
                                   ],
551 566
                                 ),
@@ -554,11 +569,14 @@ class _HomeScreenState extends State<HomeScreen> {
554 569
                                 Navigator.push(
555 570
                                     context,
556 571
                                     MaterialPageRoute(
557
-                                        builder: (context) => SlipGajiScreen()));
572
+                                        builder: (context) =>
573
+                                            SlipGajiScreen()));
558 574
                               },
559 575
                             ),
560 576
                             InkWell(
561 577
                               child: Container(
578
+                                width: size.width,
579
+                                height: size.height,
562 580
                                 decoration: BoxDecoration(
563 581
                                     color: Color(0xFFD0D0D0),
564 582
                                     borderRadius: BorderRadius.circular(5)),
@@ -567,22 +585,17 @@ class _HomeScreenState extends State<HomeScreen> {
567 585
                                   mainAxisAlignment: MainAxisAlignment.center,
568 586
                                   children: <Widget>[
569 587
                                     Container(
570
-                                      width: 70,
571
-                                      height: 70,
588
+                                      width: size.width * 0.18,
572 589
                                       child: Image.asset(
573
-                                          "assets/icons/menu/ic_cuti_2.png",
574
-                                          fit: BoxFit.fill,
575
-                                          alignment: Alignment.center),
590
+                                        "assets/icons/menu/ic_cuti_2.png",
591
+                                        fit: BoxFit.contain),
576 592
                                     ),
577
-                                    Container(
578
-                                      margin: EdgeInsets.only(top: 10),
579
-                                      padding: EdgeInsets.all(5),
580
-                                      child: Text(
581
-                                        'Leaves',
582
-                                        textAlign: TextAlign.center,
583
-                                        style: GoogleFonts.acme(
584
-                                            fontSize: 18, color: Colors.black),
585
-                                      ),
593
+                                    Text(
594
+                                      'Leaves',
595
+                                      textAlign: TextAlign.center,
596
+                                      style: GoogleFonts.acme(
597
+                                          fontSize: size.width * 0.045,
598
+                                          color: Colors.black),
586 599
                                     ),
587 600
                                   ],
588 601
                                 ),
@@ -591,11 +604,14 @@ class _HomeScreenState extends State<HomeScreen> {
591 604
                                 Navigator.push(
592 605
                                     context,
593 606
                                     MaterialPageRoute(
594
-                                        builder: (context) => AjukanCutiScreen()));
607
+                                        builder: (context) =>
608
+                                            AjukanCutiScreen()));
595 609
                               },
596 610
                             ),
597 611
                             InkWell(
598 612
                               child: Container(
613
+                                width: size.width,
614
+                                height: size.height,
599 615
                                 decoration: BoxDecoration(
600 616
                                     color: Color(0xFFD0D0D0),
601 617
                                     borderRadius: BorderRadius.circular(5)),
@@ -604,23 +620,18 @@ class _HomeScreenState extends State<HomeScreen> {
604 620
                                   mainAxisAlignment: MainAxisAlignment.center,
605 621
                                   children: <Widget>[
606 622
                                     Container(
607
-                                      width: 70,
608
-                                      height: 70,
623
+                                      width: size.width * 0.18,
609 624
                                       child: Image.asset(
610 625
                                         "assets/icons/menu/ic_surattugas_2.png",
611
-                                        fit: BoxFit.fill,
612
-                                        alignment: Alignment.center,
626
+                                        fit: BoxFit.contain,
613 627
                                       ),
614 628
                                     ),
615
-                                    Container(
616
-                                      margin: EdgeInsets.only(top: 10),
617
-                                      padding: EdgeInsets.all(5),
618
-                                      child: Text(
619
-                                        'Assignment Letter',
620
-                                        textAlign: TextAlign.center,
621
-                                        style: GoogleFonts.acme(
622
-                                            fontSize: 18, color: Colors.black),
623
-                                      ),
629
+                                    Text(
630
+                                      'Assignment Letter',
631
+                                      textAlign: TextAlign.center,
632
+                                      style: GoogleFonts.acme(
633
+                                          fontSize: size.width * 0.045,
634
+                                          color: Colors.black),
624 635
                                     ),
625 636
                                   ],
626 637
                                 ),
@@ -629,11 +640,14 @@ class _HomeScreenState extends State<HomeScreen> {
629 640
                                 Navigator.push(
630 641
                                     context,
631 642
                                     MaterialPageRoute(
632
-                                        builder: (context) => SuratTugas_Screen()));
643
+                                        builder: (context) =>
644
+                                            SuratTugas_Screen()));
633 645
                               },
634 646
                             ),
635 647
                             InkWell(
636 648
                               child: Container(
649
+                                width: size.width,
650
+                                height: size.height,
637 651
                                 decoration: BoxDecoration(
638 652
                                     color: Color(0xFFD0D0D0),
639 653
                                     borderRadius: BorderRadius.circular(5)),
@@ -642,23 +656,19 @@ class _HomeScreenState extends State<HomeScreen> {
642 656
                                   mainAxisAlignment: MainAxisAlignment.center,
643 657
                                   children: <Widget>[
644 658
                                     Container(
645
-                                      width: 70,
646
-                                      height: 70,
659
+                                      width: size.width * 0.18,
647 660
                                       child: Image.asset(
648
-                                          "assets/icons/menu/ic_reimburse.png",
649
-                                          fit: BoxFit.fill,
650
-                                          alignment: Alignment.center),
651
-                                    ),
652
-                                    Container(
653
-                                      margin: EdgeInsets.only(top: 10),
654
-                                      padding: EdgeInsets.all(5),
655
-                                      child: Text(
656
-                                        'Reimburse',
657
-                                        textAlign: TextAlign.center,
658
-                                        style: GoogleFonts.acme(
659
-                                            fontSize: 18, color: Colors.black),
661
+                                        "assets/icons/menu/ic_reimburse.png",
662
+                                        fit: BoxFit.contain,
660 663
                                       ),
661 664
                                     ),
665
+                                    Text(
666
+                                      'Reimburse',
667
+                                      textAlign: TextAlign.center,
668
+                                      style: GoogleFonts.acme(
669
+                                          fontSize: size.width * 0.045,
670
+                                          color: Colors.black),
671
+                                    ),
662 672
                                   ],
663 673
                                 ),
664 674
                               ),
@@ -666,11 +676,14 @@ class _HomeScreenState extends State<HomeScreen> {
666 676
                                 Navigator.push(
667 677
                                     context,
668 678
                                     MaterialPageRoute(
669
-                                        builder: (context) => ReimburseScreen()));
679
+                                        builder: (context) =>
680
+                                            ReimburseScreen()));
670 681
                               },
671 682
                             ),
672 683
                             InkWell(
673 684
                               child: Container(
685
+                                width: size.width,
686
+                                height: size.height,
674 687
                                 decoration: BoxDecoration(
675 688
                                     color: Color(0xFFD0D0D0),
676 689
                                     borderRadius: BorderRadius.circular(5)),
@@ -679,23 +692,19 @@ class _HomeScreenState extends State<HomeScreen> {
679 692
                                   mainAxisAlignment: MainAxisAlignment.center,
680 693
                                   children: <Widget>[
681 694
                                     Container(
682
-                                      width: 70,
683
-                                      height: 70,
695
+                                      width: size.width * 0.18,
684 696
                                       child: Image.asset(
685
-                                          "assets/icons/menu/ic_about_3.png",
686
-                                          fit: BoxFit.fill,
687
-                                          alignment: Alignment.center),
688
-                                    ),
689
-                                    Container(
690
-                                      margin: EdgeInsets.only(top: 10),
691
-                                      padding: EdgeInsets.all(5),
692
-                                      child: Text(
693
-                                        'About',
694
-                                        textAlign: TextAlign.center,
695
-                                        style: GoogleFonts.acme(
696
-                                            fontSize: 18, color: Colors.black),
697
+                                        "assets/icons/menu/ic_about_3.png",
698
+                                        fit: BoxFit.contain,
697 699
                                       ),
698 700
                                     ),
701
+                                    Text(
702
+                                      'About',
703
+                                      textAlign: TextAlign.center,
704
+                                      style: GoogleFonts.acme(
705
+                                          fontSize: size.width * 0.045,
706
+                                          color: Colors.black),
707
+                                    ),
699 708
                                   ],
700 709
                                 ),
701 710
                               ),

+ 0
- 5
lib/Screens/Login/login_screen.dart 查看文件

@@ -1,6 +1,5 @@
1 1
 import 'dart:async';
2 2
 import 'dart:convert';
3
-import 'package:firebase_core/firebase_core.dart';
4 3
 import 'package:firebase_messaging/firebase_messaging.dart';
5 4
 import 'package:flutter/material.dart';
6 5
 import 'package:flutter/services.dart';
@@ -13,7 +12,6 @@ import 'package:employee_selfservice_mobile/Screens/Login/post_result_model.dart
13 12
 import 'package:employee_selfservice_mobile/Screens/Splash/splash_screen.dart';
14 13
 import 'package:progress_dialog_null_safe/progress_dialog_null_safe.dart';
15 14
 import 'package:shared_preferences/shared_preferences.dart';
16
-import '../../firebase_options.dart';
17 15
 import '../Home/home_screen.dart';
18 16
 import 'inputWidget.dart';
19 17
 import 'dart:developer' as logDev;
@@ -173,9 +171,6 @@ class _LoginScreenState extends State<LoginScreen> {
173 171
                                 } else {
174 172
                                   await loading.show();
175 173
 
176
-                                  await Firebase.initializeApp(
177
-                                    options: DefaultFirebaseOptions.currentPlatform,
178
-                                  );
179 174
                                   final notif_token = await FirebaseMessaging.instance.getToken();
180 175
                                   logDev.log(notif_token.toString(), name: "NOTIFICATION TOKEN");
181 176
 

+ 21
- 22
lib/Screens/Menu/Absensi/absensi_history_screen.dart 查看文件

@@ -228,7 +228,6 @@ class _HistoryAbsensi extends State<HistoryAbsensi> {
228 228
         await loading.hide();
229 229
       }
230 230
     });
231
-    //await loading.hide();
232 231
   }
233 232
 
234 233
   @override
@@ -305,18 +304,18 @@ class _HistoryAbsensi extends State<HistoryAbsensi> {
305 304
                                     children: [
306 305
                                       Column(
307 306
                                         children: [
308
-                                          Text(dayDate_List[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center,),
309
-                                          Text(date_List[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
310
-                                          Text(month_List[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
307
+                                          Text(dayDate_List[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center,),
308
+                                          Text(date_List[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
309
+                                          Text(month_List[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
311 310
                                         ],
312 311
                                       ),
313 312
                                       Visibility(
314 313
                                         visible: visibilityDate2[i],
315 314
                                         child: Column(
316 315
                                           children: [
317
-                                            Text("\t|\t", style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center,),
318
-                                            Text("\t|\t", style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
319
-                                            Text("\t|\t", style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
316
+                                            Text("\t|\t", style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center,),
317
+                                            Text("\t|\t", style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
318
+                                            Text("\t|\t", style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
320 319
                                           ],
321 320
                                         ),
322 321
                                       ),
@@ -324,9 +323,9 @@ class _HistoryAbsensi extends State<HistoryAbsensi> {
324 323
                                         visible: visibilityDate2[i],
325 324
                                         child: Column(
326 325
                                           children: [
327
-                                            Text(dayDate_list_2[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center,),
328
-                                            Text(date_list_2[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
329
-                                            Text(month_list_2[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
326
+                                            Text(dayDate_list_2[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center,),
327
+                                            Text(date_list_2[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
328
+                                            Text(month_list_2[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
330 329
                                           ],
331 330
                                         ),
332 331
                                       ),
@@ -336,9 +335,9 @@ class _HistoryAbsensi extends State<HistoryAbsensi> {
336 335
                                           mainAxisAlignment: MainAxisAlignment.center,
337 336
                                           crossAxisAlignment: CrossAxisAlignment.center,
338 337
                                           children: [
339
-                                            Text(dayDate_List[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.right,),
340
-                                            Text(date_List[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.right),
341
-                                            Text(month_List[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.right),
338
+                                            Text(dayDate_List[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.right,),
339
+                                            Text(date_List[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.right),
340
+                                            Text(month_List[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.right),
342 341
                                           ],
343 342
                                           )
344 343
                                       ),
@@ -348,9 +347,9 @@ class _HistoryAbsensi extends State<HistoryAbsensi> {
348 347
                                             visible: visibilityDate2[i],
349 348
                                             child: Column(
350 349
                                               children: [
351
-                                                Text("|", style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center,),
352
-                                                Text("|", style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
353
-                                                Text("|", style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
350
+                                                Text("|", style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center,),
351
+                                                Text("|", style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
352
+                                                Text("|", style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
354 353
                                               ],
355 354
                                             ),
356 355
                                           )
@@ -361,9 +360,9 @@ class _HistoryAbsensi extends State<HistoryAbsensi> {
361 360
                                             visible: visibilityDate2[i],
362 361
                                             child: Column(
363 362
                                               children: [
364
-                                                Text(dayDate_list_2[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.left,),
365
-                                                Text(date_list_2[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.left),
366
-                                                Text(month_list_2[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.left),
363
+                                                Text(dayDate_list_2[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.left,),
364
+                                                Text(date_list_2[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.left),
365
+                                                Text(month_list_2[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.left),
367 366
                                               ],
368 367
                                             ),
369 368
                                           ))*/
@@ -375,7 +374,7 @@ class _HistoryAbsensi extends State<HistoryAbsensi> {
375 374
                                 flex: 2,
376 375
                                 child: Column(
377 376
                                   children: [
378
-                                    Text("Check In", style: GoogleFonts.fredokaOne(fontSize: 16),textAlign: TextAlign.center),
377
+                                    Text("Check In", style: GoogleFonts.fredoka(fontSize: 16),textAlign: TextAlign.center),
379 378
                                     Text(showCheckIn_List[i], style: GoogleFonts.barlowSemiCondensed(fontSize: 16),textAlign: TextAlign.center),
380 379
                                   ],
381 380
                                 ),
@@ -384,7 +383,7 @@ class _HistoryAbsensi extends State<HistoryAbsensi> {
384 383
                                 flex: 2,
385 384
                                 child: Column(
386 385
                                   children: [
387
-                                    Text("Check Out", style: GoogleFonts.fredokaOne(fontSize: 16),textAlign: TextAlign.center),
386
+                                    Text("Check Out", style: GoogleFonts.fredoka(fontSize: 16),textAlign: TextAlign.center),
388 387
                                     Text(showCheckOut_List[i], style: GoogleFonts.barlowSemiCondensed(fontSize: 16),textAlign: TextAlign.center),
389 388
                                   ],
390 389
                                 ),
@@ -393,7 +392,7 @@ class _HistoryAbsensi extends State<HistoryAbsensi> {
393 392
                                 flex: 2,
394 393
                                 child: Column(
395 394
                                   children: [
396
-                                    Text("Working\nHours", style: GoogleFonts.fredokaOne(fontSize: 16), textAlign: TextAlign.center),
395
+                                    Text("Working\nHours", style: GoogleFonts.fredoka(fontSize: 16), textAlign: TextAlign.center),
397 396
                                     Text(worked_hours_List[i], style: GoogleFonts.barlowSemiCondensed(fontSize: 16),textAlign: TextAlign.center),
398 397
                                   ],
399 398
                                 ),

+ 7
- 7
lib/Screens/Menu/Absensi/absensi_screen.dart 查看文件

@@ -75,7 +75,7 @@ class _AbsensiScreenState extends State<AbsensiScreen> {
75 75
         messageTextStyle: TextStyle(
76 76
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
77 77
 
78
-    loading.show();
78
+    await loading.show();
79 79
 
80 80
     bool serviceEnabled = await Geolocator.isLocationServiceEnabled();
81 81
     logDev.log(serviceEnabled.toString(), name: "ON/OFF LOCATION SERVICE");
@@ -143,6 +143,7 @@ class _AbsensiScreenState extends State<AbsensiScreen> {
143 143
           });
144 144
           await loading.hide();
145 145
         }
146
+        await loading.hide();
146 147
       });
147 148
 
148 149
       //History
@@ -218,7 +219,6 @@ class _AbsensiScreenState extends State<AbsensiScreen> {
218 219
     bool serviceEnabled;
219 220
     LocationPermission permission;
220 221
 
221
-    //loading.show();
222 222
     serviceEnabled = await Geolocator.isLocationServiceEnabled();
223 223
     if (!serviceEnabled) {
224 224
       await loading.hide();
@@ -273,7 +273,7 @@ class _AbsensiScreenState extends State<AbsensiScreen> {
273 273
         messageTextStyle: TextStyle(
274 274
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
275 275
 
276
-    loading.show();
276
+    await loading.show();
277 277
     position = await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
278 278
     if (position.isMocked) {
279 279
       await loading.hide();
@@ -338,7 +338,7 @@ class _AbsensiScreenState extends State<AbsensiScreen> {
338 338
         messageTextStyle: TextStyle(
339 339
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
340 340
 
341
-    loading.show();
341
+    await loading.show();
342 342
 
343 343
     position = await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
344 344
     if (position.isMocked) {
@@ -527,7 +527,7 @@ class _AbsensiScreenState extends State<AbsensiScreen> {
527 527
                                   child: Column(
528 528
                                     children: [
529 529
                                       Text('Check In',
530
-                                          style: GoogleFonts.fredokaOne(
530
+                                          style: GoogleFonts.fredoka(
531 531
                                               fontSize: 19)),
532 532
                                       Text(showCheckIn_List,
533 533
                                           style: GoogleFonts.barlowSemiCondensed(
@@ -539,7 +539,7 @@ class _AbsensiScreenState extends State<AbsensiScreen> {
539 539
                                   child: Column(
540 540
                                     children: [
541 541
                                       Text('Check Out',
542
-                                          style: GoogleFonts.fredokaOne(
542
+                                          style: GoogleFonts.fredoka(
543 543
                                               fontSize: 19)),
544 544
                                       Text(showCheckOut_List,
545 545
                                           style: GoogleFonts.barlowSemiCondensed(
@@ -947,7 +947,7 @@ alertDialogEnableLocaionServices(BuildContext context) {
947 947
   Widget okButton = TextButton(
948 948
     child: Text("Open Settings"),
949 949
     onPressed: () {
950
-      AppSettings.openLocationSettings();
950
+      //AppSettings.openLocationSettings();
951 951
       Navigator.of(context, rootNavigator: true).pop();
952 952
       loading.hide();
953 953
      /* Navigator.pushReplacement(

+ 4
- 4
lib/Screens/Menu/AjukanCuti/ajukancuti_screen.dart 查看文件

@@ -61,7 +61,7 @@ class _AjukanCutiScreenState extends State<AjukanCutiScreen> {
61 61
     super.initState();
62 62
   }
63 63
 
64
-  getJenisCuti () {
64
+  getJenisCuti () async {
65 65
     ProgressDialog loading = ProgressDialog(context);
66 66
     loading = ProgressDialog(context,
67 67
         type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
@@ -80,7 +80,7 @@ class _AjukanCutiScreenState extends State<AjukanCutiScreen> {
80 80
         messageTextStyle: TextStyle(
81 81
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
82 82
 
83
-    loading.show();
83
+    await loading.show();
84 84
     JenisCuti_Post.connectToAPI().then((valueResult) async {
85 85
       Map<String, dynamic> object = json.decode(valueResult);
86 86
       if (object.containsKey("result").toString() == "true"){
@@ -522,7 +522,7 @@ class _AjukanCutiScreenState extends State<AjukanCutiScreen> {
522 522
                                             fontSize: 17,
523 523
                                             fontWeight: FontWeight.w500)),
524 524
                                   ),
525
-                                  onTap: () {
525
+                                  onTap: () async {
526 526
                                     ProgressDialog loading = ProgressDialog(context);
527 527
                                     loading = ProgressDialog(context,
528 528
                                         type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
@@ -546,7 +546,7 @@ class _AjukanCutiScreenState extends State<AjukanCutiScreen> {
546 546
                                     if (!validateFormCuti(context)){
547 547
                                       return;
548 548
                                     } else if (validateFormCuti(context)){
549
-                                      loading.show();
549
+                                      await loading.show();
550 550
                                       PengajuanCuti_Post.connectToAPI(idCuti, formattedDateFrom,
551 551
                                           formattedDateTo, deskripsiTeksController.text.toString(), fileAttach)
552 552
                                           .then((valueResult) async {

+ 2
- 3
lib/Screens/Menu/AjukanCuti/history_cuti.dart 查看文件

@@ -73,7 +73,7 @@ class _HistoryCutiState extends State<HistoryCuti> {
73 73
         messageTextStyle: TextStyle(
74 74
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
75 75
 
76
-    loading.show();
76
+    await loading.show();
77 77
     HistoryCuti_Post.connectToAPI().then((valueResult) async {
78 78
       Map<String, dynamic> object = jsonDecode(valueResult);
79 79
       if (object.containsKey("result").toString() == "true") {
@@ -140,7 +140,6 @@ class _HistoryCutiState extends State<HistoryCuti> {
140 140
 
141 141
             HistoryLength = historyCuti.length;
142 142
           });
143
-          await loading.hide();
144 143
         }
145 144
       } else {
146 145
         Fluttertoast.showToast(
@@ -151,8 +150,8 @@ class _HistoryCutiState extends State<HistoryCuti> {
151 150
             textColor: Colors.white,
152 151
             fontSize: 16.0);
153 152
       }
153
+      await loading.hide();
154 154
     });
155
-    await loading.hide();
156 155
   }
157 156
 
158 157
   @override

+ 4
- 4
lib/Screens/Menu/Reimburse/reimburse_screen.dart 查看文件

@@ -55,7 +55,7 @@ class _ReimburseScreen extends State<ReimburseScreen> {
55 55
     super.initState();
56 56
   }
57 57
 
58
-  getKategoriReimburse () {
58
+  getKategoriReimburse () async {
59 59
     ProgressDialog loading = ProgressDialog(context);
60 60
     loading = ProgressDialog(context,
61 61
         type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
@@ -74,7 +74,7 @@ class _ReimburseScreen extends State<ReimburseScreen> {
74 74
         messageTextStyle: TextStyle(
75 75
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
76 76
 
77
-    loading.show();
77
+    await loading.show();
78 78
     CategoryReimburse_Post.connectToAPI().then((valueResult) async {
79 79
       Map<String, dynamic> object = json.decode(valueResult);
80 80
       if (object.containsKey("result").toString() == "true"){
@@ -579,7 +579,7 @@ class _ReimburseScreen extends State<ReimburseScreen> {
579 579
                                                 fontSize: 17,
580 580
                                                 fontWeight: FontWeight.w500)),
581 581
                                       ),
582
-                                      onTap: () {
582
+                                      onTap: () async {
583 583
                                         ProgressDialog loading = ProgressDialog(context);
584 584
                                         loading = ProgressDialog(context,
585 585
                                             type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
@@ -601,7 +601,7 @@ class _ReimburseScreen extends State<ReimburseScreen> {
601 601
                                         if (!validateFormReimburse(context)){
602 602
                                           return;
603 603
                                         } else if (validateFormReimburse(context)){
604
-                                          loading.show();
604
+                                          await loading.show();
605 605
                                           PengajuanReimburse_Post.connectToAPI(namaProdukTeksController.text.toString(), idReimburse,
606 606
                                               formattedDateFrom, totalHargaTeksController.text.toString(), valuePayment,
607 607
                                               deskripsiTeksController.text.toString(), fileAttach).then((valueResult) async {

+ 4
- 4
lib/Screens/Menu/SlipGaji/slipgaji_screen.dart 查看文件

@@ -85,7 +85,7 @@ class _SlipGajiScreenState extends State<SlipGajiScreen> {
85 85
             color: Colors.black, fontSize: 10.0, fontWeight: FontWeight.w400),
86 86
         messageTextStyle: TextStyle(
87 87
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
88
-    loading.show();
88
+    await loading.show();
89 89
     HistorySlipGaji_Post.connectToAPI().then((valueResult) async {
90 90
       Map<String, dynamic> object = json.decode(valueResult);
91 91
       if (object.containsKey("result").toString() == "true"){
@@ -172,7 +172,7 @@ class _SlipGajiScreenState extends State<SlipGajiScreen> {
172 172
             color: Colors.black, fontSize: 10.0, fontWeight: FontWeight.w400),
173 173
         messageTextStyle: TextStyle(
174 174
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
175
-    loading.show();
175
+    await loading.show();
176 176
 
177 177
     final SharedPreferences prefs = await SharedPreferences.getInstance();
178 178
       DetailSlipGaji_Post.connectToAPI(batchID_List[indexBatchID]).then((valueResult) async {
@@ -392,7 +392,7 @@ class _SlipGajiScreenState extends State<SlipGajiScreen> {
392 392
                       child: Container(
393 393
                         alignment: Alignment.centerRight,
394 394
                         child: ElevatedButton(
395
-                          onPressed: () {
395
+                          onPressed: () async {
396 396
                             ProgressDialog loading = ProgressDialog(context);
397 397
                             loading = ProgressDialog(context,
398 398
                                 type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
@@ -410,7 +410,7 @@ class _SlipGajiScreenState extends State<SlipGajiScreen> {
410 410
                                     color: Colors.black, fontSize: 10.0, fontWeight: FontWeight.w400),
411 411
                                 messageTextStyle: TextStyle(
412 412
                                     color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
413
-                            loading.show();
413
+                            await loading.show();
414 414
 
415 415
                             DownloadSlipGaji_Post.connectToAPI(batchID_List[indexBatchID]).then((valueResult) async {
416 416
                               Map<String, dynamic> object = json.decode(valueResult);

+ 4
- 4
lib/Screens/Menu/SuratTugas/deklarasi_st.dart 查看文件

@@ -279,12 +279,12 @@ class _DeklarasiST_Screen_State extends State<DeklarasiST_Screen> {
279 279
                                             messageTextStyle: TextStyle(
280 280
                                                 color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
281 281
 
282
-                                        //loading.show();
282
+                                        //await loading.show();
283 283
 
284 284
                                         /*if (!validateFormCuti(context)){
285 285
                                                 return;
286 286
                                               } else if (validateFormCuti(context)){
287
-                                                loading.show();
287
+                                                await loading.show();
288 288
                                                 PengajuanCuti_Post.connectToAPI(idCuti, formattedDateFrom,
289 289
                                                     formattedDateTo, deskripsiTeksController.text.toString(), fileAttach)
290 290
                                                     .then((valueResult) async {
@@ -297,7 +297,7 @@ class _DeklarasiST_Screen_State extends State<DeklarasiST_Screen> {
297 297
                                               String to = object['result']['to'].toString();
298 298
                                               String deskripsi = object['result']['deskripsi'].toString();
299 299
                                               String attachment = object['result']['attachment'].toString();*//*
300
-                                                    loading.hide();
300
+                                                    await loading.hide();
301 301
                                                     deskripsiTeksController.clear();
302 302
                                                     Widget okButton = TextButton(
303 303
                                                       child: Text("OK"),
@@ -332,7 +332,7 @@ class _DeklarasiST_Screen_State extends State<DeklarasiST_Screen> {
332 332
                                                   } else if (object.containsKey("error").toString() == "true") {
333 333
                                                     String errorMessage = object['error']['data']['message']
334 334
                                                         .toString();
335
-                                                    loading.hide();
335
+                                                    await loading.hide();
336 336
                                                     Widget okButton = TextButton(
337 337
                                                       child: Text("OK"),
338 338
                                                       onPressed: () {

+ 3
- 3
lib/Screens/Menu/SuratTugas/history_st.dart 查看文件

@@ -89,7 +89,7 @@ class _HistoryST extends State<HistoryST> {
89 89
         messageTextStyle: TextStyle(
90 90
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
91 91
 
92
-    loading.show();
92
+    await loading.show();
93 93
     HistoryST_Post.connectToAPI().then((valueResult) async {
94 94
       Map<String, dynamic> object = jsonDecode(valueResult);
95 95
       if (object.containsKey("result").toString() == "true") {
@@ -99,7 +99,7 @@ class _HistoryST extends State<HistoryST> {
99 99
           alertDialogFailedRetrievedData(context);
100 100
         } else {
101 101
           List <dynamic> historyST = object['result'];
102
-          setState(() {
102
+          setState(() async {
103 103
             for (int i = 0; i < historyST.length; i++){
104 104
               String id = historyST[i]['id'].toString();
105 105
               String number = historyST[i]['number'].toString();
@@ -205,7 +205,7 @@ class _HistoryST extends State<HistoryST> {
205 205
             ticketTo_List.removeAt(0);
206 206
             ticketDate_List.removeAt(0);
207 207
             ticketPrice_List.removeAt(0);
208
-            loading.hide();
208
+            await loading.hide();
209 209
           });
210 210
         }
211 211
       } else {

+ 2
- 2
lib/Screens/Menu/SuratTugas/pengajuan_extendTanggalKembali.dart 查看文件

@@ -829,7 +829,7 @@ class _PengajuanExtendTanggalKembali_Screen extends State<PengajuanExtendTanggal
829 829
                                                       fontSize: 17,
830 830
                                                       fontWeight: FontWeight.w500)),
831 831
                                             ),
832
-                                            onTap: () {
832
+                                            onTap: () async {
833 833
                                               ProgressDialog loading = ProgressDialog(context);
834 834
                                               loading = ProgressDialog(context,
835 835
                                                   type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
@@ -851,7 +851,7 @@ class _PengajuanExtendTanggalKembali_Screen extends State<PengajuanExtendTanggal
851 851
                                               if (!validateFormPengajuanST(context)){
852 852
                                                 return;
853 853
                                               } else if (validateFormPengajuanST(context)){
854
-                                                loading.show();
854
+                                                await loading.show();
855 855
                                                 PengajuanST_Post.connectToAPI(
856 856
                                                     formattedDateST, uangMukaTeksController.text.toString(), keperluanTeksController.text.toString(),
857 857
                                                     formattedDateDeparture, formattedDateReturn, tujuanTeksController.text.toString(), kendaraan,

+ 2
- 2
lib/Screens/Menu/SuratTugas/pengajuan_st.dart 查看文件

@@ -774,7 +774,7 @@ class _PengajuanST_Screen_State extends State<PengajuanST_Screen> {
774 774
                                             fontSize: 17,
775 775
                                             fontWeight: FontWeight.w500)),
776 776
                                   ),
777
-                                  onTap: () {
777
+                                  onTap: () async {
778 778
                                     ProgressDialog loading =
779 779
                                     ProgressDialog(context);
780 780
                                     loading = ProgressDialog(context,
@@ -806,7 +806,7 @@ class _PengajuanST_Screen_State extends State<PengajuanST_Screen> {
806 806
                                       return;
807 807
                                     } else if (validateFormPengajuanST(
808 808
                                         context)) {
809
-                                      loading.show();
809
+                                      await loading.show();
810 810
                                       PengajuanST_Post.connectToAPI(
811 811
                                           formattedDateST,
812 812
                                           uangMukaTeksController.text

+ 0
- 0
lib/Screens/Menu/SuratTugas/pengajuan_uangMukaTambahan.dart 查看文件


部分文件因文件數量過多而無法顯示

Loading…
取消
儲存