react-native-timacare 3.1.65 → 3.1.67

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/lib/commonjs/AppStore.js +1 -1
  2. package/lib/commonjs/AppStore.js.flow +4 -2
  3. package/lib/commonjs/AppStore.js.map +1 -1
  4. package/lib/commonjs/assets/v3/home.svg +5 -0
  5. package/lib/commonjs/assets/v3/index.js +2 -0
  6. package/lib/commonjs/assets/v3/index.js.flow +38 -0
  7. package/lib/commonjs/assets/v3/index.js.map +1 -0
  8. package/lib/commonjs/assets/v3/option1.svg +27 -0
  9. package/lib/commonjs/assets/v3/option2.svg +25 -0
  10. package/lib/commonjs/assets/v3/step1-success.svg +39 -0
  11. package/lib/commonjs/assets/v3/step1.svg +90 -0
  12. package/lib/commonjs/assets/v3/step2-disable.svg +14 -0
  13. package/lib/commonjs/assets/v3/step2-success.svg +8 -0
  14. package/lib/commonjs/assets/v3/step2.svg +37 -0
  15. package/lib/commonjs/assets/v3/step3-disable.svg +17 -0
  16. package/lib/commonjs/assets/v3/step3-success.svg +17 -0
  17. package/lib/commonjs/assets/v3/step3.svg +45 -0
  18. package/lib/commonjs/assets/v3/step4-disable.svg +11 -0
  19. package/lib/commonjs/assets/v3/step4-success.svg +11 -0
  20. package/lib/commonjs/assets/v3/step4.svg +29 -0
  21. package/lib/commonjs/assets/v3/step5-disable.svg +17 -0
  22. package/lib/commonjs/assets/v3/step5-success.svg +17 -0
  23. package/lib/commonjs/assets/v3/step5.svg +45 -0
  24. package/lib/commonjs/components/ItemTimaOneV2.js +2 -0
  25. package/lib/commonjs/components/ItemTimaOneV2.js.flow +617 -0
  26. package/lib/commonjs/components/ItemTimaOneV2.js.map +1 -0
  27. package/lib/commonjs/components/ItemTimaOneV3.js +2 -0
  28. package/lib/commonjs/components/ItemTimaOneV3.js.flow +558 -0
  29. package/lib/commonjs/components/ItemTimaOneV3.js.map +1 -0
  30. package/lib/commonjs/components/MText.js +1 -1
  31. package/lib/commonjs/components/MText.js.flow +1 -1
  32. package/lib/commonjs/components/ModalOptionLoan.js +2 -0
  33. package/lib/commonjs/components/ModalOptionLoan.js.flow +242 -0
  34. package/lib/commonjs/components/ModalOptionLoan.js.map +1 -0
  35. package/lib/commonjs/navigation/primary-navigator.js +1 -1
  36. package/lib/commonjs/navigation/primary-navigator.js.flow +12 -0
  37. package/lib/commonjs/navigation/primary-navigator.js.map +1 -1
  38. package/lib/commonjs/screens/eSign/index.js +1 -1
  39. package/lib/commonjs/screens/eSign/index.js.flow +53 -41
  40. package/lib/commonjs/screens/eSign/index.js.map +1 -1
  41. package/lib/commonjs/screens/home/index.js +1 -1
  42. package/lib/commonjs/screens/home/index.js.flow +64 -625
  43. package/lib/commonjs/screens/home/index.js.map +1 -1
  44. package/lib/commonjs/screens/mySignViettel/Layer_3.png +0 -0
  45. package/lib/commonjs/screens/mySignViettel/index.js +2 -0
  46. package/lib/commonjs/screens/mySignViettel/index.js.flow +278 -0
  47. package/lib/commonjs/screens/mySignViettel/index.js.map +1 -0
  48. package/lib/commonjs/screens/sign-tima/ViewContract.js +1 -1
  49. package/lib/commonjs/screens/sign-tima/ViewContract.js.flow +57 -43
  50. package/lib/commonjs/screens/sign-tima/ViewContract.js.map +1 -1
  51. package/lib/commonjs/screens/toan-trinh-so/OCR.js +1 -1
  52. package/lib/commonjs/screens/toan-trinh-so/OCR.js.flow +1 -1
  53. package/lib/commonjs/screens/toan-trinh-so/OCR.js.map +1 -1
  54. package/lib/commonjs/screens/toan-trinh-so/RegisterBack.js +1 -1
  55. package/lib/commonjs/screens/toan-trinh-so/RegisterBack.js.flow +9 -2
  56. package/lib/commonjs/screens/toan-trinh-so/RegisterBack.js.map +1 -1
  57. package/lib/commonjs/screens/toan-trinh-so/ReviewInformation.js +1 -1
  58. package/lib/commonjs/screens/toan-trinh-so/ReviewInformation.js.flow +110 -7
  59. package/lib/commonjs/screens/toan-trinh-so/ReviewInformation.js.map +1 -1
  60. package/lib/commonjs/screens/toan-trinh-so/ReviewInformationOther.js +1 -1
  61. package/lib/commonjs/screens/toan-trinh-so/ReviewInformationOther.js.flow +9 -8
  62. package/lib/commonjs/screens/toan-trinh-so/ReviewInformationOther.js.map +1 -1
  63. package/lib/commonjs/screens/toan-trinh-so/ReviewLoan.js +1 -1
  64. package/lib/commonjs/screens/toan-trinh-so/ReviewLoan.js.flow +43 -169
  65. package/lib/commonjs/screens/toan-trinh-so/ReviewLoan.js.map +1 -1
  66. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDBack.js +1 -1
  67. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDBack.js.flow +1 -1
  68. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDBack.js.map +1 -1
  69. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDFront.js +1 -1
  70. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDFront.js.flow +1 -1
  71. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDFront.js.map +1 -1
  72. package/lib/commonjs/screens/toan-trinh-so/TTSSelfie.js +1 -1
  73. package/lib/commonjs/screens/toan-trinh-so/TTSSelfie.js.flow +17 -14
  74. package/lib/commonjs/screens/toan-trinh-so/TTSSelfie.js.map +1 -1
  75. package/lib/commonjs/screens/toan-trinh-so/TTSSignLoan.js +1 -1
  76. package/lib/commonjs/screens/toan-trinh-so/TTSSignLoan.js.flow +71 -12
  77. package/lib/commonjs/screens/toan-trinh-so/TTSSignLoan.js.map +1 -1
  78. package/lib/commonjs/screens/toan-trinh-so/VehicleCamera.js +1 -1
  79. package/lib/commonjs/screens/toan-trinh-so/VehicleCamera.js.flow +133 -43
  80. package/lib/commonjs/screens/toan-trinh-so/VehicleCamera.js.map +1 -1
  81. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistration.js +1 -1
  82. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistration.js.flow +1 -1
  83. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistration.js.map +1 -1
  84. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationBack.js +1 -1
  85. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationBack.js.flow +1 -1
  86. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationBack.js.map +1 -1
  87. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationFront.js +1 -1
  88. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationFront.js.flow +1 -1
  89. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationFront.js.map +1 -1
  90. package/lib/commonjs/screens/toan-trinh-so/store.js +1 -1
  91. package/lib/commonjs/screens/toan-trinh-so/store.js.flow +2 -2
  92. package/lib/commonjs/screens/toan-trinh-so/store.js.map +1 -1
  93. package/lib/commonjs/screens/v3/AssetInformation.js +2 -0
  94. package/lib/commonjs/screens/v3/AssetInformation.js.flow +690 -0
  95. package/lib/commonjs/screens/v3/AssetInformation.js.map +1 -0
  96. package/lib/commonjs/services/api/api.js +1 -1
  97. package/lib/commonjs/services/api/api.js.flow +196 -0
  98. package/lib/commonjs/services/api/api.js.map +1 -1
  99. package/lib/commonjs/utils/index.js +1 -1
  100. package/lib/commonjs/utils/index.js.flow +2 -0
  101. package/lib/commonjs/utils/index.js.map +1 -1
  102. package/lib/module/AppStore.js +1 -1
  103. package/lib/module/AppStore.js.map +1 -1
  104. package/lib/module/assets/v3/home.svg +5 -0
  105. package/lib/module/assets/v3/index.js +2 -0
  106. package/lib/module/assets/v3/index.js.map +1 -0
  107. package/lib/module/assets/v3/option1.svg +27 -0
  108. package/lib/module/assets/v3/option2.svg +25 -0
  109. package/lib/module/assets/v3/step1-success.svg +39 -0
  110. package/lib/module/assets/v3/step1.svg +90 -0
  111. package/lib/module/assets/v3/step2-disable.svg +14 -0
  112. package/lib/module/assets/v3/step2-success.svg +8 -0
  113. package/lib/module/assets/v3/step2.svg +37 -0
  114. package/lib/module/assets/v3/step3-disable.svg +17 -0
  115. package/lib/module/assets/v3/step3-success.svg +17 -0
  116. package/lib/module/assets/v3/step3.svg +45 -0
  117. package/lib/module/assets/v3/step4-disable.svg +11 -0
  118. package/lib/module/assets/v3/step4-success.svg +11 -0
  119. package/lib/module/assets/v3/step4.svg +29 -0
  120. package/lib/module/assets/v3/step5-disable.svg +17 -0
  121. package/lib/module/assets/v3/step5-success.svg +17 -0
  122. package/lib/module/assets/v3/step5.svg +45 -0
  123. package/lib/module/components/ItemTimaOneV2.js +2 -0
  124. package/lib/module/components/ItemTimaOneV2.js.map +1 -0
  125. package/lib/module/components/ItemTimaOneV3.js +2 -0
  126. package/lib/module/components/ItemTimaOneV3.js.map +1 -0
  127. package/lib/module/components/MText.js +1 -1
  128. package/lib/module/components/ModalOptionLoan.js +2 -0
  129. package/lib/module/components/ModalOptionLoan.js.map +1 -0
  130. package/lib/module/navigation/primary-navigator.js +1 -1
  131. package/lib/module/navigation/primary-navigator.js.map +1 -1
  132. package/lib/module/screens/eSign/index.js +1 -1
  133. package/lib/module/screens/eSign/index.js.map +1 -1
  134. package/lib/module/screens/home/index.js +1 -1
  135. package/lib/module/screens/home/index.js.map +1 -1
  136. package/lib/module/screens/mySignViettel/Layer_3.png +0 -0
  137. package/lib/module/screens/mySignViettel/index.js +2 -0
  138. package/lib/module/screens/mySignViettel/index.js.map +1 -0
  139. package/lib/module/screens/sign-tima/ViewContract.js +1 -1
  140. package/lib/module/screens/sign-tima/ViewContract.js.map +1 -1
  141. package/lib/module/screens/toan-trinh-so/OCR.js +1 -1
  142. package/lib/module/screens/toan-trinh-so/OCR.js.map +1 -1
  143. package/lib/module/screens/toan-trinh-so/RegisterBack.js +1 -1
  144. package/lib/module/screens/toan-trinh-so/RegisterBack.js.map +1 -1
  145. package/lib/module/screens/toan-trinh-so/ReviewInformation.js +1 -1
  146. package/lib/module/screens/toan-trinh-so/ReviewInformation.js.map +1 -1
  147. package/lib/module/screens/toan-trinh-so/ReviewInformationOther.js +1 -1
  148. package/lib/module/screens/toan-trinh-so/ReviewInformationOther.js.map +1 -1
  149. package/lib/module/screens/toan-trinh-so/ReviewLoan.js +1 -1
  150. package/lib/module/screens/toan-trinh-so/ReviewLoan.js.map +1 -1
  151. package/lib/module/screens/toan-trinh-so/TTSNationalIDBack.js +1 -1
  152. package/lib/module/screens/toan-trinh-so/TTSNationalIDBack.js.map +1 -1
  153. package/lib/module/screens/toan-trinh-so/TTSNationalIDFront.js +1 -1
  154. package/lib/module/screens/toan-trinh-so/TTSNationalIDFront.js.map +1 -1
  155. package/lib/module/screens/toan-trinh-so/TTSSelfie.js +1 -1
  156. package/lib/module/screens/toan-trinh-so/TTSSelfie.js.map +1 -1
  157. package/lib/module/screens/toan-trinh-so/TTSSignLoan.js +1 -1
  158. package/lib/module/screens/toan-trinh-so/TTSSignLoan.js.map +1 -1
  159. package/lib/module/screens/toan-trinh-so/VehicleCamera.js +1 -1
  160. package/lib/module/screens/toan-trinh-so/VehicleCamera.js.map +1 -1
  161. package/lib/module/screens/toan-trinh-so/VehicleRegistration.js +1 -1
  162. package/lib/module/screens/toan-trinh-so/VehicleRegistration.js.map +1 -1
  163. package/lib/module/screens/toan-trinh-so/VehicleRegistrationBack.js +1 -1
  164. package/lib/module/screens/toan-trinh-so/VehicleRegistrationBack.js.map +1 -1
  165. package/lib/module/screens/toan-trinh-so/VehicleRegistrationFront.js +1 -1
  166. package/lib/module/screens/toan-trinh-so/VehicleRegistrationFront.js.map +1 -1
  167. package/lib/module/screens/toan-trinh-so/store.js +1 -1
  168. package/lib/module/screens/toan-trinh-so/store.js.map +1 -1
  169. package/lib/module/screens/v3/AssetInformation.js +2 -0
  170. package/lib/module/screens/v3/AssetInformation.js.map +1 -0
  171. package/lib/module/services/api/api.js +1 -1
  172. package/lib/module/services/api/api.js.map +1 -1
  173. package/lib/module/utils/index.js +1 -1
  174. package/lib/module/utils/index.js.map +1 -1
  175. package/lib/typescript/AppStore.d.ts +2 -2
  176. package/lib/typescript/AppStore.d.ts.map +1 -1
  177. package/lib/typescript/assets/v3/index.d.ts +19 -0
  178. package/lib/typescript/assets/v3/index.d.ts.map +1 -0
  179. package/lib/typescript/components/ItemTimaOneV2.d.ts +7 -0
  180. package/lib/typescript/components/ItemTimaOneV2.d.ts.map +1 -0
  181. package/lib/typescript/components/ItemTimaOneV3.d.ts +7 -0
  182. package/lib/typescript/components/ItemTimaOneV3.d.ts.map +1 -0
  183. package/lib/typescript/components/ModalOptionLoan.d.ts +8 -0
  184. package/lib/typescript/components/ModalOptionLoan.d.ts.map +1 -0
  185. package/lib/typescript/navigation/primary-navigator.d.ts +2 -0
  186. package/lib/typescript/navigation/primary-navigator.d.ts.map +1 -1
  187. package/lib/typescript/screens/eSign/index.d.ts.map +1 -1
  188. package/lib/typescript/screens/home/index.d.ts.map +1 -1
  189. package/lib/typescript/screens/mySignViettel/index.d.ts +2 -0
  190. package/lib/typescript/screens/mySignViettel/index.d.ts.map +1 -0
  191. package/lib/typescript/screens/sign-tima/ViewContract.d.ts.map +1 -1
  192. package/lib/typescript/screens/toan-trinh-so/RegisterBack.d.ts.map +1 -1
  193. package/lib/typescript/screens/toan-trinh-so/ReviewInformation.d.ts.map +1 -1
  194. package/lib/typescript/screens/toan-trinh-so/ReviewInformationOther.d.ts.map +1 -1
  195. package/lib/typescript/screens/toan-trinh-so/ReviewLoan.d.ts.map +1 -1
  196. package/lib/typescript/screens/toan-trinh-so/TTSSelfie.d.ts.map +1 -1
  197. package/lib/typescript/screens/toan-trinh-so/TTSSignLoan.d.ts.map +1 -1
  198. package/lib/typescript/screens/toan-trinh-so/VehicleCamera.d.ts.map +1 -1
  199. package/lib/typescript/screens/v3/AssetInformation.d.ts +2 -0
  200. package/lib/typescript/screens/v3/AssetInformation.d.ts.map +1 -0
  201. package/lib/typescript/services/api/api.d.ts +192 -0
  202. package/lib/typescript/services/api/api.d.ts.map +1 -1
  203. package/lib/typescript/utils/index.d.ts.map +1 -1
  204. package/package.json +1 -1
  205. package/src/AppStore.tsx +4 -2
  206. package/src/assets/v3/home.svg +5 -0
  207. package/src/assets/v3/index.tsx +38 -0
  208. package/src/assets/v3/option1.svg +27 -0
  209. package/src/assets/v3/option2.svg +25 -0
  210. package/src/assets/v3/step1-success.svg +39 -0
  211. package/src/assets/v3/step1.svg +90 -0
  212. package/src/assets/v3/step2-disable.svg +14 -0
  213. package/src/assets/v3/step2-success.svg +8 -0
  214. package/src/assets/v3/step2.svg +37 -0
  215. package/src/assets/v3/step3-disable.svg +17 -0
  216. package/src/assets/v3/step3-success.svg +17 -0
  217. package/src/assets/v3/step3.svg +45 -0
  218. package/src/assets/v3/step4-disable.svg +11 -0
  219. package/src/assets/v3/step4-success.svg +11 -0
  220. package/src/assets/v3/step4.svg +29 -0
  221. package/src/assets/v3/step5-disable.svg +17 -0
  222. package/src/assets/v3/step5-success.svg +17 -0
  223. package/src/assets/v3/step5.svg +45 -0
  224. package/src/components/ItemTimaOneV2.tsx +617 -0
  225. package/src/components/ItemTimaOneV3.tsx +558 -0
  226. package/src/components/MText.tsx +1 -1
  227. package/src/components/ModalOptionLoan.tsx +242 -0
  228. package/src/navigation/primary-navigator.tsx +12 -0
  229. package/src/screens/eSign/index.tsx +53 -41
  230. package/src/screens/home/index.tsx +64 -625
  231. package/src/screens/mySignViettel/Layer_3.png +0 -0
  232. package/src/screens/mySignViettel/index.tsx +278 -0
  233. package/src/screens/sign-tima/ViewContract.tsx +57 -43
  234. package/src/screens/toan-trinh-so/OCR.tsx +1 -1
  235. package/src/screens/toan-trinh-so/RegisterBack.tsx +9 -2
  236. package/src/screens/toan-trinh-so/ReviewInformation.tsx +110 -7
  237. package/src/screens/toan-trinh-so/ReviewInformationOther.tsx +9 -8
  238. package/src/screens/toan-trinh-so/ReviewLoan.tsx +43 -169
  239. package/src/screens/toan-trinh-so/TTSNationalIDBack.tsx +1 -1
  240. package/src/screens/toan-trinh-so/TTSNationalIDFront.tsx +1 -1
  241. package/src/screens/toan-trinh-so/TTSSelfie.tsx +17 -14
  242. package/src/screens/toan-trinh-so/TTSSignLoan.tsx +71 -12
  243. package/src/screens/toan-trinh-so/VehicleCamera.tsx +133 -43
  244. package/src/screens/toan-trinh-so/VehicleRegistration.tsx +1 -1
  245. package/src/screens/toan-trinh-so/VehicleRegistrationBack.tsx +1 -1
  246. package/src/screens/toan-trinh-so/VehicleRegistrationFront.tsx +1 -1
  247. package/src/screens/toan-trinh-so/store.ts +2 -2
  248. package/src/screens/v3/AssetInformation.tsx +690 -0
  249. package/src/services/api/api.ts +196 -0
  250. package/src/utils/index.tsx +2 -0
@@ -0,0 +1,278 @@
1
+ //@ts-nocheck
2
+ import React from 'react';
3
+ import {
4
+ Image,
5
+ Linking,
6
+ SafeAreaView,
7
+ ScrollView,
8
+ TextStyle,
9
+ TouchableOpacity,
10
+ View,
11
+ } from 'react-native';
12
+ import { MText } from '../../components/MText';
13
+ import { IconHome } from '../../assets/v3';
14
+ import { useNavigation } from '@react-navigation/native';
15
+ import { ScreenNames } from '../../navigation';
16
+ import LinearGradient from 'react-native-linear-gradient';
17
+
18
+ export default function MySignViettel(props: any) {
19
+ const navigation = useNavigation();
20
+ const url = props?.route?.params?.url;
21
+ return (
22
+ <View style={{ flex: 1, backgroundColor: '#FFFFFF' }}>
23
+ <SafeAreaView style={{ flex: 1, backgroundColor: '#FFFFFF' }}>
24
+ <View
25
+ style={{
26
+ paddingVertical: 16,
27
+ flexDirection: 'row',
28
+ alignItems: 'center',
29
+ paddingHorizontal: 16,
30
+ borderBottomWidth: 1,
31
+ borderColor: '#F2F2F2',
32
+ }}
33
+ >
34
+ <TouchableOpacity
35
+ style={{ zIndex: 10000 }}
36
+ onPress={() => {
37
+ navigation.navigate(ScreenNames.Main);
38
+ }}
39
+ >
40
+ <IconHome />
41
+ </TouchableOpacity>
42
+
43
+ <MText style={$header}>Chữ ký số</MText>
44
+ </View>
45
+
46
+ <ScrollView>
47
+ <View
48
+ style={{
49
+ paddingHorizontal: 16,
50
+ flexDirection: 'row',
51
+ alignItems: 'center',
52
+ justifyContent: 'space-between',
53
+ borderBottomWidth: 1,
54
+ borderColor: '#F2F2F2',
55
+ paddingVertical: 10,
56
+ }}
57
+ >
58
+ <MText
59
+ style={{
60
+ color: '#828282',
61
+ }}
62
+ >
63
+ Trạng thái
64
+ </MText>
65
+ <View
66
+ style={{
67
+ backgroundColor: '#FFEDED',
68
+ paddingHorizontal: 8,
69
+ paddingVertical: 10,
70
+ borderRadius: 4,
71
+ }}
72
+ >
73
+ <MText
74
+ style={{
75
+ color: '#EE595C',
76
+ fontSize: 12,
77
+ fontWeight: 'bold',
78
+ }}
79
+ >
80
+ Chưa ký
81
+ </MText>
82
+ </View>
83
+ </View>
84
+ <View
85
+ style={{
86
+ flexDirection: 'column',
87
+ alignItems: 'center',
88
+ marginTop: 24,
89
+ }}
90
+ >
91
+ <Image
92
+ source={require('./Layer_3.png')}
93
+ style={{
94
+ width: '100%',
95
+ height: 120,
96
+ resizeMode: 'contain',
97
+ }}
98
+ />
99
+ <MText
100
+ style={{
101
+ textAlign: 'center',
102
+ fontWeight: 'bold',
103
+ marginTop: 24,
104
+ paddingHorizontal: 24,
105
+ }}
106
+ >
107
+ Quý khách vui lòng nhấn “Đi đến ký hợp đồng” hoặc kiểm tra
108
+ email/SMS để thực hiện ký số hợp đồng điện tử
109
+ </MText>
110
+ <TouchableOpacity
111
+ onPress={() => {
112
+ if (url) {
113
+ Linking.openURL(url);
114
+ }
115
+ }}
116
+ style={{
117
+ marginTop: 16,
118
+ }}
119
+ >
120
+ <LinearGradient
121
+ start={{ x: 1, y: 0 }}
122
+ end={{ x: 0, y: 1 }}
123
+ style={{
124
+ height: 40,
125
+ marginVertical: 16,
126
+ borderRadius: 30,
127
+ alignItems: 'center',
128
+ justifyContent: 'center',
129
+ paddingHorizontal: 24,
130
+ }}
131
+ colors={['#FF7A00', '#EF4123']}
132
+ >
133
+ <MText
134
+ style={{
135
+ color: 'white',
136
+ fontSize: 16,
137
+ }}
138
+ >
139
+ Đi đến ký hợp đồng
140
+ </MText>
141
+ </LinearGradient>
142
+ </TouchableOpacity>
143
+ </View>
144
+
145
+ <MText
146
+ style={{
147
+ color: '#828282',
148
+ fontSize: 12,
149
+ paddingHorizontal: 16,
150
+ }}
151
+ >
152
+ Để thực hiện ký số, Quý khách vui lòng thực hiện theo một trong hai
153
+ cách sau đây:
154
+ </MText>
155
+ <MText
156
+ style={{
157
+ fontSize: 12,
158
+ paddingHorizontal: 16,
159
+ marginTop: 16,
160
+ fontWeight: 'bold',
161
+ }}
162
+ >
163
+ Cách 1: Ký bằng chứng thư số qua Ứng dụng Mysign Viettel
164
+ </MText>
165
+ <TouchableOpacity
166
+ onPress={() => {
167
+ Linking.openURL(
168
+ 'https://cdn.tima.vn/file-pdf/viettel_mysign.pdf'
169
+ );
170
+ }}
171
+ style={{
172
+ paddingHorizontal: 16,
173
+ marginTop: 5,
174
+ }}
175
+ >
176
+ <MText
177
+ style={{
178
+ color: '#0079E9',
179
+ fontSize: 12,
180
+ fontWeight: 'bold',
181
+ }}
182
+ >
183
+ Hướng dẫn ký số qua Ứng dụng Mysign
184
+ </MText>
185
+ </TouchableOpacity>
186
+ <MText
187
+ style={{
188
+ fontSize: 12,
189
+ paddingHorizontal: 16,
190
+ marginTop: 16,
191
+ fontWeight: 'bold',
192
+ }}
193
+ >
194
+ Cách 2: Ký 1 lần bằng OTP
195
+ </MText>
196
+ <TouchableOpacity
197
+ onPress={() => {
198
+ Linking.openURL('https://cdn.tima.vn/file-pdf/viettel_otp.pdf');
199
+ }}
200
+ style={{
201
+ paddingHorizontal: 16,
202
+ marginTop: 5,
203
+ }}
204
+ >
205
+ <MText
206
+ style={{
207
+ color: '#0079E9',
208
+ fontSize: 12,
209
+ fontWeight: 'bold',
210
+ }}
211
+ >
212
+ Hướng dẫn ký số bằng OTP
213
+ </MText>
214
+ </TouchableOpacity>
215
+
216
+ <View
217
+ style={{
218
+ marginTop: 24,
219
+ marginHorizontal: 16,
220
+ backgroundColor: '#FFEDED',
221
+ borderRadius: 8,
222
+ paddingHorizontal: 10,
223
+ paddingVertical: 16,
224
+ }}
225
+ >
226
+ <MText
227
+ style={{
228
+ color: '#EE595C',
229
+ fontSize: 12,
230
+ fontWeight: 'bold',
231
+ }}
232
+ >
233
+ Lưu ý:{' '}
234
+ <MText
235
+ style={{
236
+ fontSize: 12,
237
+ fontWeight: '400',
238
+ }}
239
+ >
240
+ Để bảo mật thông tin cá nhân, hợp đồng sẽ được ký tại Viettel
241
+ (Ứng dụng MySign, Website hopdongdientu.viettel.vn,...)
242
+ </MText>
243
+ </MText>
244
+ </View>
245
+
246
+ <View
247
+ style={{
248
+ marginTop: 10,
249
+ marginHorizontal: 16,
250
+ backgroundColor: '#F1FFEF',
251
+ borderRadius: 8,
252
+ paddingHorizontal: 10,
253
+ paddingVertical: 16,
254
+ }}
255
+ >
256
+ <MText
257
+ style={{
258
+ fontSize: 12,
259
+ fontWeight: '400',
260
+ }}
261
+ >
262
+ Tima hợp tác với Viettel cung cấp dịch vụ chữ ký số từ xa cho
263
+ khách hàng của Tima.
264
+ </MText>
265
+ </View>
266
+ </ScrollView>
267
+ </SafeAreaView>
268
+ </View>
269
+ );
270
+ }
271
+ const $header: TextStyle = {
272
+ fontSize: 16,
273
+ fontWeight: 'bold',
274
+ textAlign: 'center',
275
+ position: 'absolute',
276
+ left: 0,
277
+ right: 0,
278
+ };
@@ -23,6 +23,7 @@ export const ViewContract = observer(function ViewContract(props: any) {
23
23
  const navigation = useNavigation();
24
24
  const [source, setSource] = useState({});
25
25
  const [check, setCheck] = useState(false);
26
+ const [isLoading, setIsLoading] = useState(false);
26
27
 
27
28
  useEffect(() => {
28
29
  SignTimaStore.getContract(props.route.params.loan.id, (data) => {
@@ -31,48 +32,61 @@ export const ViewContract = observer(function ViewContract(props: any) {
31
32
  }, []);
32
33
 
33
34
  const sign = async () => {
34
- const response = await Api.getInstance().sign_viettel_for_borrower_cimb({
35
- loanBriefId: props.route.params.loan.id,
36
- isTermesEtConditions: true,
37
- });
38
-
39
- if (response.kind === 'ok' && response.data?.meta?.errorCode === 200) {
40
- Alert.alert(
41
- 'Thông báo',
42
- 'Vui lòng kiểm tra tin nhắn hoặc email để xác nhận ký hợp đồng',
43
- [
44
- {
45
- text: 'OK',
46
- onPress: () => {
47
- navigation.dispatch(
48
- CommonActions.reset({
49
- index: 1,
50
- routes: [{ name: ScreenNames.Main }],
51
- })
52
- );
53
- },
54
- },
55
- ]
56
- );
57
- } else {
58
- Alert.alert(
59
- 'Thông báo',
60
- response.data?.meta?.errorMessage ||
61
- 'Có lỗi xảy ra, vui lòng thử lại sau',
62
- [
63
- {
64
- text: 'OK',
65
- onPress: () => {
66
- navigation.dispatch(
67
- CommonActions.reset({
68
- index: 1,
69
- routes: [{ name: ScreenNames.Main }],
70
- })
71
- );
35
+ try {
36
+ setIsLoading(true);
37
+ const response = await Api.getInstance().sign_viettel_for_borrower_cimb({
38
+ loanBriefId: props.route.params.loan.id,
39
+ isTermesEtConditions: true,
40
+ });
41
+ if (response.kind === 'ok' && response.data?.meta?.errorCode === 200) {
42
+ if (response.data?.data) {
43
+ navigation.push(ScreenNames.MySignViettel, {
44
+ url: response?.data?.data,
45
+ });
46
+ } else {
47
+ Alert.alert(
48
+ 'Thông báo',
49
+ 'Vui lòng kiểm tra tin nhắn hoặc email để xác nhận ký hợp đồng',
50
+ [
51
+ {
52
+ text: 'OK',
53
+ onPress: () => {
54
+ navigation.dispatch(
55
+ CommonActions.reset({
56
+ index: 1,
57
+ routes: [{ name: ScreenNames.Main }],
58
+ })
59
+ );
60
+ },
61
+ },
62
+ ]
63
+ );
64
+ }
65
+ } else {
66
+ Alert.alert(
67
+ 'Thông báo',
68
+ response.data?.meta?.errorMessage ||
69
+ 'Có lỗi xảy ra, vui lòng thử lại sau',
70
+ [
71
+ {
72
+ text: 'OK',
73
+ onPress: () => {
74
+ navigation.dispatch(
75
+ CommonActions.reset({
76
+ index: 1,
77
+ routes: [{ name: ScreenNames.Main }],
78
+ })
79
+ );
80
+ },
72
81
  },
73
- },
74
- ]
75
- );
82
+ ]
83
+ );
84
+ }
85
+ } catch (error) {
86
+ console.log(error);
87
+ setIsLoading(false);
88
+ } finally {
89
+ setIsLoading(false);
76
90
  }
77
91
  };
78
92
  return (
@@ -132,7 +146,7 @@ export const ViewContract = observer(function ViewContract(props: any) {
132
146
  onPress={() => {
133
147
  sign();
134
148
  }}
135
- disabled={!check}
149
+ disabled={!check || isLoading}
136
150
  style={{
137
151
  marginTop: 32,
138
152
  marginBottom: 16,
@@ -159,7 +173,7 @@ export const ViewContract = observer(function ViewContract(props: any) {
159
173
  </TouchableOpacity>
160
174
  </View>
161
175
  </SafeAreaView>
162
- <Loading isLoading={SignTimaStore.isLoading} />
176
+ <Loading isLoading={isLoading} />
163
177
  </View>
164
178
  );
165
179
  });
@@ -387,7 +387,7 @@ export const OCR = observer(function OCR(props: any) {
387
387
  >
388
388
  <TouchableOpacity
389
389
  onPress={() => {
390
- navigation.goBack();
390
+ navigation.navigate(ScreenNames.Main);
391
391
  }}
392
392
  style={{
393
393
  position: 'absolute',
@@ -60,14 +60,21 @@ export default function RegisterBack(props) {
60
60
  name: 'image.jpg',
61
61
  });
62
62
 
63
- const response = await Api.getInstance().uploadImageOcr(formData);
63
+ const response = await Api.getInstance().uploadImageAutoDE(formData);
64
64
  setIsLoading(false);
65
65
  if (response.kind === 'ok') {
66
66
  if (response.data?.meta?.errorCode === 200) {
67
67
  navigation.dispatch(
68
68
  CommonActions.reset({
69
69
  index: 1,
70
- routes: [{ name: ScreenNames.Main }],
70
+ routes: [
71
+ {
72
+ name: ScreenNames.AssetInformation,
73
+ params: {
74
+ loan: props?.route?.params?.loan,
75
+ },
76
+ },
77
+ ],
71
78
  })
72
79
  );
73
80
  } else {
@@ -59,15 +59,18 @@ export default function ReviewInformation(props) {
59
59
  HouseHoldDistrictId: values.houseHoldDistrictId,
60
60
  HouseHoldWardId: values.houseHoldWardId,
61
61
  HouseHoldAddress: values.houseHoldAddress,
62
+ bankId: values.bankId,
63
+ bankAccountName: values?.bankAccountName,
64
+ bankAccountNumber: values?.bankAccountNumber,
62
65
  };
63
66
 
64
67
  try {
65
68
  setIsLoading(true);
66
- const response = await Api.getInstance().updateInfoCustomer(body);
69
+ const response = await Api.getInstance().updateInfoCustomerV2(body);
67
70
  setIsLoading(false);
68
71
  if (response.kind === 'ok') {
69
72
  if (response.data?.meta?.errorCode === 200) {
70
- navigation.push(ScreenNames.ReviewLoan, {
73
+ navigation.push(ScreenNames.ReviewInformationOther, {
71
74
  loan: props.route?.params?.loan,
72
75
  });
73
76
  } else {
@@ -84,7 +87,7 @@ export default function ReviewInformation(props) {
84
87
  const getData = async () => {
85
88
  try {
86
89
  setIsLoading(true);
87
- const response = await Api.getInstance().getInfoCustomer(
90
+ const response = await Api.getInstance().getInfoCustomerV2(
88
91
  props.route?.params?.loan?.id
89
92
  );
90
93
  setIsLoading(false);
@@ -234,6 +237,23 @@ export default function ReviewInformation(props) {
234
237
  ? response?.data?.data?.houseHoldAddress
235
238
  : ''
236
239
  );
240
+
241
+ formRef.current.setFieldValue(
242
+ 'bankAccountName',
243
+ response?.data?.data?.bankAccountName ?? ''
244
+ );
245
+ formRef.current.setFieldValue(
246
+ 'bankAccountNumber',
247
+ response?.data?.data?.bankAccountNumber ?? ''
248
+ );
249
+ formRef.current.setFieldValue(
250
+ 'bankId',
251
+ response?.data?.data?.bankId ?? null
252
+ );
253
+ formRef.current.setFieldValue(
254
+ 'bankName',
255
+ response?.data?.data?.bankName ?? ''
256
+ );
237
257
  } else {
238
258
  }
239
259
  }
@@ -300,9 +320,9 @@ export default function ReviewInformation(props) {
300
320
  >
301
321
  <IconBack />
302
322
  </TouchableOpacity>
303
- <MText style={$title}>Thông tin chi tiết</MText>
323
+ <MText style={$title}>Thông tin nhân</MText>
304
324
  </View>
305
- <StepIndicator steps={3} currentStep={0} />
325
+ {/* <StepIndicator steps={3} currentStep={0} /> */}
306
326
  <Formik
307
327
  innerRef={formRef}
308
328
  onSubmit={onSubmit}
@@ -330,6 +350,10 @@ export default function ReviewInformation(props) {
330
350
  houseHoldWardId: null,
331
351
  houseHoldWardName: '',
332
352
  houseHoldAddress: '',
353
+ bankId: null,
354
+ bankName: '',
355
+ bankAccountName: '',
356
+ bankAccountNumber: '',
333
357
  }}
334
358
  validationSchema={yup.object().shape({
335
359
  fullName: yup.string().required('Vui lòng nhập họ tên'),
@@ -359,6 +383,11 @@ export default function ReviewInformation(props) {
359
383
  .required('Quận huyện là bắt buộc'),
360
384
  houseHoldWardName: yup.string().required('Phường xã là bắt buộc'),
361
385
  houseHoldAddress: yup.string().required('Địa chỉ là bắt buộc'),
386
+ bankName: yup.string().required('Vui lòng chọn ngân hàng'),
387
+ bankAccountName: yup.string().required('Vui lòng nhập chủ thẻ'),
388
+ bankAccountNumber: yup
389
+ .string()
390
+ .required('Vui lòng nhập số tài khoản'),
362
391
  })}
363
392
  >
364
393
  {({
@@ -539,7 +568,81 @@ export default function ReviewInformation(props) {
539
568
  /> */}
540
569
 
541
570
  <MText style={[$title2, { marginTop: 16 }]}>
542
- 1.2 Sổ hộ khẩu
571
+ 1.2 Thông tin giải ngân
572
+ </MText>
573
+ <MText style={$label}>Ngân hàng</MText>
574
+ <TouchableOpacity
575
+ style={$select}
576
+ onPress={() => {
577
+ navigation.push(ScreenNames.CommonSelect, {
578
+ title: 'Chọn ngân hàng',
579
+ data: ttsStore.listBank,
580
+ callback: (value) => {
581
+ setFieldValue('bankName', value.name);
582
+ setFieldValue('bankId', value.id);
583
+ },
584
+ });
585
+ }}
586
+ >
587
+ <MText
588
+ numberOfLines={1}
589
+ style={{
590
+ color: '#333333',
591
+ fontSize: 16,
592
+ fontWeight: '500',
593
+ flex: 1,
594
+ fontFamily: 'BeVietnamPro-Medium',
595
+ }}
596
+ >
597
+ {values.bankName}
598
+ </MText>
599
+ <DropDown2 />
600
+ </TouchableOpacity>
601
+ {errors && errors.bankName && (
602
+ <MText style={$error}>{errors.bankName}</MText>
603
+ )}
604
+ <MText style={[$label, { marginTop: 16 }]}>
605
+ Tên số tài khoản
606
+ </MText>
607
+ <TextInput
608
+ numberOfLines={1}
609
+ style={[
610
+ $textInput,
611
+ {
612
+ color: '#333333',
613
+ fontSize: 16,
614
+ fontWeight: '500',
615
+ },
616
+ ]}
617
+ value={values.bankAccountName}
618
+ onChangeText={handleChange('bankAccountName')}
619
+ />
620
+ {errors && errors.bankAccountName && (
621
+ <MText style={$error}>{errors.bankAccountName}</MText>
622
+ )}
623
+ <MText style={[$label, { marginTop: 16 }]}>
624
+ Số tài khoản
625
+ </MText>
626
+ <TextInput
627
+ keyboardType="number-pad"
628
+ numberOfLines={1}
629
+ style={[
630
+ $textInput,
631
+ {
632
+ color: '#333333',
633
+ fontSize: 16,
634
+ fontWeight: '500',
635
+ },
636
+ ]}
637
+ value={values.bankAccountNumber}
638
+ onChangeText={handleChange('bankAccountNumber')}
639
+ />
640
+ {errors && errors.bankAccountNumber && (
641
+ <MText style={$error}>{errors.bankAccountNumber}</MText>
642
+ )}
643
+
644
+ <MText style={[$title2, { marginTop: 16 }]}>
645
+ 1.3 Sổ hộ khẩu
543
646
  </MText>
544
647
  <View style={[$row]}>
545
648
  <View style={[commonStyles.fill]}>
@@ -727,7 +830,7 @@ export default function ReviewInformation(props) {
727
830
  </TouchableOpacity>
728
831
  </View>
729
832
  </View>
730
- <MText style={[$title2]}>1.3 Nơi ở hiện tại</MText>
833
+ <MText style={[$title2]}>1.4 Nơi ở hiện tại</MText>
731
834
  <MText
732
835
  style={{
733
836
  fontSize: 14,
@@ -42,7 +42,7 @@ export default function ReviewInformationOther(props) {
42
42
  const getData = async () => {
43
43
  try {
44
44
  setIsLoading(true);
45
- const response = await Api.getInstance().getInfoJob(
45
+ const response = await Api.getInstance().getInfoJobV2(
46
46
  props.route?.params?.loan?.id
47
47
  );
48
48
  setIsLoading(false);
@@ -147,6 +147,7 @@ export default function ReviewInformationOther(props) {
147
147
  };
148
148
 
149
149
  useEffect(() => {
150
+ ttsStore.getRelationship();
150
151
  getData();
151
152
  ttsStore.getJob();
152
153
  }, []);
@@ -188,7 +189,7 @@ export default function ReviewInformationOther(props) {
188
189
  ],
189
190
  };
190
191
 
191
- const response = await Api.getInstance().updateInfoJob(body);
192
+ const response = await Api.getInstance().updateInfoJobV2(body);
192
193
  setIsLoading(false);
193
194
  if (response.kind === 'ok') {
194
195
  if (response.data?.meta?.errorCode === 200) {
@@ -256,14 +257,14 @@ export default function ReviewInformationOther(props) {
256
257
  zIndex: 1000,
257
258
  }}
258
259
  onPress={() => {
259
- navigation.goBack();
260
+ navigation.navigate(ScreenNames.Main);
260
261
  }}
261
262
  >
262
263
  <IconBack />
263
264
  </TouchableOpacity>
264
- <MText style={$title}>Thông tin chi tiết</MText>
265
+ <MText style={$title}>Thông tin nhân</MText>
265
266
  </View>
266
- <StepIndicator steps={3} currentStep={2} />
267
+ {/* <StepIndicator steps={3} currentStep={2} /> */}
267
268
  <Formik
268
269
  onSubmit={onSubmit}
269
270
  validationSchema={yup.object().shape({
@@ -320,7 +321,7 @@ export default function ReviewInformationOther(props) {
320
321
  <ScrollView
321
322
  style={[commonStyles.fill, { paddingHorizontal: 16 }]}
322
323
  >
323
- <MText style={$title2}>3.1 Thông tin công việc</MText>
324
+ <MText style={$title2}>1.5 Thông tin công việc</MText>
324
325
  <View style={$row}>
325
326
  <View style={{ flex: 1 }}>
326
327
  <MText style={$label}>Nghề nghiệp</MText>
@@ -554,7 +555,7 @@ export default function ReviewInformationOther(props) {
554
555
  )}
555
556
 
556
557
  <MText style={[$title2, { marginTop: 16 }]}>
557
- 3.2 Tham chiếu
558
+ 1.6 Tham chiếu
558
559
  </MText>
559
560
 
560
561
  <MText
@@ -753,7 +754,7 @@ export default function ReviewInformationOther(props) {
753
754
  fontSize: 16,
754
755
  }}
755
756
  >
756
- Xác nhận
757
+ Hoàn thành cập nhật
757
758
  </MText>
758
759
  </LinearGradient>
759
760
  </MButton>