af-mobile-client-vue3 1.3.12 → 1.3.14

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 (271) hide show
  1. package/.claude/settings.local.json +10 -0
  2. package/.cursorrules +60 -60
  3. package/.editorconfig +9 -9
  4. package/.env +10 -10
  5. package/.env.development +1 -1
  6. package/.env.production +1 -1
  7. package/.node-version +1 -1
  8. package/.vscode/extensions.json +12 -12
  9. package/.vscode/settings.json +66 -66
  10. package/CLAUDE.md +189 -184
  11. package/README.md +182 -181
  12. package/af-example-mobile-vue-web.iml +9 -9
  13. package/build/vite/index.ts +98 -98
  14. package/build/vite/optimize.ts +34 -34
  15. package/build/vite/vconsole.ts +47 -47
  16. package/commitlint.config.ts +32 -32
  17. package/compress.js +36 -36
  18. package/eslint.config.ts +30 -30
  19. package/index.html +23 -23
  20. package/mock/data.ts +20 -20
  21. package/mock/index.ts +7 -7
  22. package/mock/modules/prose.mock.ts +13 -13
  23. package/mock/modules/user.mock.ts +152 -152
  24. package/mock/util.ts +19 -19
  25. package/netlify.toml +12 -12
  26. package/package.json +114 -114
  27. package/postcss.config.ts +27 -27
  28. package/public/favicon.svg +4 -4
  29. package/public/safari-pinned-tab.svg +4 -4
  30. package/scripts/verifyCommit.js +19 -19
  31. package/src/App.vue +79 -79
  32. package/src/api/mock/index.ts +30 -30
  33. package/src/api/user/index.ts +40 -40
  34. package/src/assets/img/user/login/background-shadow-1.svg +20 -20
  35. package/src/assets/img/user/login/logo-background.svg +20 -20
  36. package/src/bootstrap.ts +26 -26
  37. package/src/components/core/BeautifulLoading/index.vue +52 -52
  38. package/src/components/core/ImageUploader/index.vue +244 -244
  39. package/src/components/core/NavBar/index.vue +53 -53
  40. package/src/components/core/Tabbar/index.vue +32 -32
  41. package/src/components/core/Uploader/index.vue +124 -124
  42. package/src/components/core/XGridDropOption/index.vue +154 -156
  43. package/src/components/core/XMultiSelect/index.vue +183 -183
  44. package/src/components/core/XSelect/index.vue +149 -149
  45. package/src/components/data/InfoDisplay/index.vue +132 -0
  46. package/src/components/data/UserDetail/api.ts +24 -0
  47. package/src/components/data/UserDetail/index.vue +620 -0
  48. package/src/components/data/UserDetail/recordEntries.ts +159 -0
  49. package/src/components/data/UserDetail/types.ts +26 -0
  50. package/src/components/data/XBadge/index.vue +82 -82
  51. package/src/components/data/XCellDetail/index.vue +105 -105
  52. package/src/components/data/XCellList/XCellList.md +313 -313
  53. package/src/components/data/XCellList/index.vue +1075 -1075
  54. package/src/components/data/XCellListFilter/QrScanner/index.vue +207 -207
  55. package/src/components/data/XCellListFilter/QrScanner/startScanAnimation.ts +53 -53
  56. package/src/components/data/XCellListFilter/VpnRecognition/index.vue +119 -119
  57. package/src/components/data/XCellListFilter/index.vue +705 -705
  58. package/src/components/data/XForm/index.vue +659 -659
  59. package/src/components/data/XFormGroup/doc/DeviceForm.vue +122 -122
  60. package/src/components/data/XFormGroup/doc/FormGroupDemo.vue +56 -56
  61. package/src/components/data/XFormGroup/doc/README.md +286 -273
  62. package/src/components/data/XFormGroup/doc/UserForm.vue +102 -102
  63. package/src/components/data/XFormGroup/index.vue +240 -240
  64. package/src/components/data/XFormItem/index.vue +1310 -1310
  65. package/src/components/data/XOlMap/README.md +227 -227
  66. package/src/components/data/XOlMap/XLocationPicker/index.vue +226 -225
  67. package/src/components/data/XOlMap/index.vue +1490 -1490
  68. package/src/components/data/XOlMap/types.ts +149 -149
  69. package/src/components/data/XOlMap/utils/wgs84ToGcj02.js +154 -154
  70. package/src/components/data/XReportForm/DateTimeSecondsPicker.vue +208 -208
  71. package/src/components/data/XReportForm/XReportFormJsonRender.vue +220 -220
  72. package/src/components/data/XReportForm/index.vue +1393 -1393
  73. package/src/components/data/XReportGrid/XAddReport/XAddReport.vue +198 -198
  74. package/src/components/data/XReportGrid/XAddReport/index.js +3 -3
  75. package/src/components/data/XReportGrid/XAddReport/index.md +53 -52
  76. package/src/components/data/XReportGrid/XAddReport/index.ts +10 -10
  77. package/src/components/data/XReportGrid/XReport.vue +960 -960
  78. package/src/components/data/XReportGrid/XReportDemo.vue +33 -33
  79. package/src/components/data/XReportGrid/XReportDesign.vue +597 -597
  80. package/src/components/data/XReportGrid/XReportDrawer/XReportDrawer.vue +148 -148
  81. package/src/components/data/XReportGrid/XReportDrawer/index.js +3 -3
  82. package/src/components/data/XReportGrid/XReportDrawer/index.ts +10 -10
  83. package/src/components/data/XReportGrid/XReportJsonRender.vue +399 -399
  84. package/src/components/data/XReportGrid/XReportTrGroup.vue +592 -592
  85. package/src/components/data/XReportGrid/index.md +46 -42
  86. package/src/components/data/XReportGrid/print.js +184 -184
  87. package/src/components/data/XSignature/index.vue +284 -285
  88. package/src/components/data/XTag/index.vue +10 -10
  89. package/src/components/layout/NormalDataLayout/index.vue +69 -69
  90. package/src/components/layout/TabBarLayout/index.vue +40 -40
  91. package/src/composables/dark.ts +5 -5
  92. package/src/config/routes.ts +9 -9
  93. package/src/constants/index.ts +2 -2
  94. package/src/enums/requestEnum.ts +25 -25
  95. package/src/expression/ExpressionRunner.ts +28 -28
  96. package/src/expression/TestExpression.ts +510 -510
  97. package/src/expression/core/Delegate.ts +116 -116
  98. package/src/expression/core/Expression.ts +1359 -1359
  99. package/src/expression/core/Program.ts +985 -985
  100. package/src/expression/core/Token.ts +29 -29
  101. package/src/expression/enums/ExpressionType.ts +81 -81
  102. package/src/expression/enums/TokenType.ts +11 -11
  103. package/src/expression/exception/BreakWayException.ts +2 -2
  104. package/src/expression/exception/ContinueWayException.ts +2 -2
  105. package/src/expression/exception/ExpressionException.ts +29 -29
  106. package/src/expression/exception/ReturnWayException.ts +14 -14
  107. package/src/expression/exception/ServiceException.ts +22 -22
  108. package/src/expression/instances/JSONArray.ts +52 -52
  109. package/src/expression/instances/JSONObject.ts +118 -118
  110. package/src/expression/instances/LogicConsole.ts +31 -31
  111. package/src/font-style/font.css +4 -4
  112. package/src/hooks/useBoolean.ts +26 -0
  113. package/src/hooks/useCommon.ts +9 -9
  114. package/src/hooks/useLoading.ts +16 -0
  115. package/src/hooks/useLogin.ts +97 -97
  116. package/src/icons/svg/check-in.svg +32 -32
  117. package/src/icons/svg/dark.svg +4 -4
  118. package/src/icons/svg/github.svg +4 -4
  119. package/src/icons/svg/light.svg +4 -4
  120. package/src/icons/svg/link.svg +4 -4
  121. package/src/icons/svgo.yml +22 -22
  122. package/src/layout/GridView/index.vue +16 -16
  123. package/src/layout/PageLayout.vue +9 -9
  124. package/src/layout/SingleLayout.vue +9 -9
  125. package/src/locales/en-US.json +128 -128
  126. package/src/locales/zh-CN.json +128 -128
  127. package/src/logic/LogicRunner.ts +67 -67
  128. package/src/logic/TestLogic.ts +13 -13
  129. package/src/logic/plugins/common/DateTools.ts +35 -35
  130. package/src/logic/plugins/common/VueTools.ts +30 -30
  131. package/src/logic/plugins/index.ts +7 -7
  132. package/src/main.ts +44 -44
  133. package/src/plugins/AppData.ts +38 -38
  134. package/src/plugins/GetLoginInfoService.ts +10 -10
  135. package/src/plugins/collectIcons.ts +10 -0
  136. package/src/plugins/index.ts +11 -11
  137. package/src/router/README.md +8 -8
  138. package/src/router/guards.ts +59 -59
  139. package/src/router/index.ts +35 -35
  140. package/src/router/invoiceRoutes.ts +33 -33
  141. package/src/router/routes.ts +341 -177
  142. package/src/router/types.ts +7 -7
  143. package/src/services/api/Login.ts +6 -6
  144. package/src/services/api/common.ts +109 -109
  145. package/src/services/api/index.ts +7 -7
  146. package/src/services/api/manage.ts +8 -8
  147. package/src/services/api/search.ts +16 -16
  148. package/src/services/api/user.ts +17 -17
  149. package/src/services/restTools.ts +56 -56
  150. package/src/services/v3Api.ts +147 -147
  151. package/src/stores/index.ts +11 -11
  152. package/src/stores/modules/counter.ts +19 -19
  153. package/src/stores/modules/routeCache.ts +23 -23
  154. package/src/stores/modules/setting.ts +76 -76
  155. package/src/stores/modules/user.ts +235 -235
  156. package/src/stores/mutation-type.ts +7 -7
  157. package/src/styles/app.less +36 -36
  158. package/src/styles/login.less +109 -109
  159. package/src/styles/var.less +16 -16
  160. package/src/types/env.d.ts +16 -16
  161. package/src/types/settings.ts +1 -1
  162. package/src/types/vue-router.d.ts +9 -9
  163. package/src/utils/Storage.ts +124 -124
  164. package/src/utils/authority-utils.ts +84 -84
  165. package/src/utils/common.ts +41 -41
  166. package/src/utils/crypto.ts +39 -39
  167. package/src/utils/dataUtil.ts +42 -42
  168. package/src/utils/dictUtil.ts +52 -52
  169. package/src/utils/http/index.ts +199 -199
  170. package/src/utils/i18n.ts +72 -72
  171. package/src/utils/indexedDB.ts +195 -195
  172. package/src/utils/inline-px-to-vw.ts +28 -28
  173. package/src/utils/mobileUtil.ts +34 -34
  174. package/src/utils/progress.ts +19 -19
  175. package/src/utils/routerUtil.ts +271 -271
  176. package/src/utils/runEvalFunction.ts +13 -13
  177. package/src/utils/secureStorage.ts +71 -71
  178. package/src/utils/set-page-title.ts +5 -5
  179. package/src/utils/validate.ts +6 -6
  180. package/src/utils/wechatUtil.ts +9 -9
  181. package/src/views/chat/index.vue +153 -153
  182. package/src/views/common/LoadError.vue +63 -63
  183. package/src/views/common/NotFound.vue +67 -67
  184. package/src/views/component/EvaluateRecordView/index.vue +40 -40
  185. package/src/views/component/IconifyView/index.vue +504 -507
  186. package/src/views/component/UserDetailView/UserDetailPage.vue +77 -0
  187. package/src/views/component/UserDetailView/index.vue +234 -0
  188. package/src/views/component/XCellDetailView/index.vue +217 -217
  189. package/src/views/component/XCellListView/index.vue +108 -157
  190. package/src/views/component/XFormAppraiseView/index.vue +174 -174
  191. package/src/views/component/XFormGroupView/index.vue +78 -82
  192. package/src/views/component/XFormView/index.vue +27 -27
  193. package/src/views/component/XOlMapView/XLocationPicker/index.vue +118 -118
  194. package/src/views/component/XOlMapView/index.vue +434 -434
  195. package/src/views/component/XOlMapView/testData.ts +64 -64
  196. package/src/views/component/XReportFormIframeView/index.vue +47 -47
  197. package/src/views/component/XReportFormView/index.vue +13 -13
  198. package/src/views/component/XReportGridView/index.vue +17 -17
  199. package/src/views/component/XRequestView/index.vue +234 -234
  200. package/src/views/component/XSignatureView/index.vue +50 -50
  201. package/src/views/component/index.vue +181 -177
  202. package/src/views/component/menu.vue +117 -117
  203. package/src/views/component/notice.vue +46 -46
  204. package/src/views/component/topNav.vue +36 -36
  205. package/src/views/invoiceShow/index.vue +61 -61
  206. package/src/views/user/login/ForgetPasswordForm.vue +94 -94
  207. package/src/views/user/login/LoginForm.vue +346 -346
  208. package/src/views/user/login/LoginTitle.vue +76 -76
  209. package/src/views/user/login/LoginWave.vue +109 -109
  210. package/src/views/user/login/index.vue +22 -22
  211. package/src/views/user/my/comm/ModifyPassword.vue +346 -346
  212. package/src/views/user/my/index.vue +340 -340
  213. package/src/views/userRecords/AbnormalAlarmRecords.vue +21 -0
  214. package/src/views/userRecords/CardReplacementRecords.vue +21 -0
  215. package/src/views/userRecords/ChangeRecords.vue +19 -0
  216. package/src/views/userRecords/CommandViewRecords.vue +20 -0
  217. package/src/views/userRecords/GasCompensationRecords.vue +20 -0
  218. package/src/views/userRecords/InstrumentCollectionRecords.vue +21 -0
  219. package/src/views/userRecords/MeterRecords.vue +20 -0
  220. package/src/views/userRecords/OperateRecords.vue +51 -0
  221. package/src/views/userRecords/OtherChargeRecords.vue +19 -0
  222. package/src/views/userRecords/PaymentRecords.vue +28 -0
  223. package/src/views/userRecords/PriceAdjustmentRecords.vue +19 -0
  224. package/src/views/userRecords/ReplacementRecords.vue +19 -0
  225. package/src/views/userRecords/SafetyRecords.vue +19 -0
  226. package/src/views/userRecords/TransactionRecords.vue +21 -0
  227. package/src/views/userRecords/TransferRecords.vue +19 -0
  228. package/src/views/userRecords/operateRecordDetail/index.vue +316 -0
  229. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AddUserDetail.vue +124 -0
  230. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AdvanceDeliveryDetail.vue +88 -0
  231. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AutoAccountsCancelDetail.vue +205 -0
  232. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AutoAccountsDetail.vue +192 -0
  233. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/BankDkDetail.vue +192 -0
  234. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/BankPayDetail.vue +192 -0
  235. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/BlacklistDetail.vue +153 -0
  236. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CancellationDetail.vue +101 -0
  237. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CardMeterCenterCancelDetail.vue +127 -0
  238. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CardMeterCenterDetail.vue +153 -0
  239. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CardOverUserDetail.vue +153 -0
  240. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ChangeMeterCancelDetail.vue +166 -0
  241. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ChangeMeterDetail.vue +205 -0
  242. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/DisableManageDetail.vue +127 -0
  243. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/EnableManageDetail.vue +114 -0
  244. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/FaZheChangeDetail.vue +124 -0
  245. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/FeeDeductionDetail.vue +153 -0
  246. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/GasPriceChangeDetail.vue +126 -0
  247. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/InputtorChangeDetail.vue +126 -0
  248. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/IotMeterCenterCancelDetail.vue +114 -0
  249. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/IotMeterCenterDetail.vue +127 -0
  250. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/IotOpenDetail.vue +88 -0
  251. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/MachineCardDetail.vue +101 -0
  252. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/MachineMeterCenterCancelDetail.vue +218 -0
  253. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/MachineMeterCenterDetail.vue +153 -0
  254. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OffGasAddGasDetail.vue +140 -0
  255. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OtherChargeCancelDetail.vue +127 -0
  256. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OtherChargeDetail.vue +114 -0
  257. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OverUserChangeDetail.vue +127 -0
  258. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ReBillDetail.vue +127 -0
  259. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/RefundDetail.vue +114 -0
  260. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ReplaceCardManageCancelDetail.vue +127 -0
  261. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ReplaceCardManageDetail.vue +114 -0
  262. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/SaleCardGasDetail.vue +140 -0
  263. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/TransferManageCancelDetail.vue +152 -0
  264. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/TransferManageDetail.vue +178 -0
  265. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/UserChangeDetail.vue +123 -0
  266. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/WechatPayDetail.vue +192 -0
  267. package/src/views/userRecords/types.ts +66 -0
  268. package/tsconfig.json +39 -39
  269. package/uno.config.ts +82 -78
  270. package/vite.config.ts +118 -118
  271. package/src/views/component/XFormGroupView/xformgroup222.vue +0 -97
@@ -0,0 +1,192 @@
1
+ <script setup lang="ts">
2
+ import { Col, Row } from 'vant'
3
+
4
+ const props = defineProps<{
5
+ data: Record<any, any>
6
+ }>()
7
+ </script>
8
+
9
+ <template>
10
+ <div class="detail-container">
11
+ <Row>
12
+ <Col span="24">
13
+ <div class="detail-item">
14
+ <p class="detail-label">
15
+ 客户名称
16
+ </p>
17
+ <p class="detail-value">
18
+ {{ props.data.f_user_name }}
19
+ </p>
20
+ </div>
21
+ </Col>
22
+ </Row>
23
+
24
+ <Row>
25
+ <Col span="24">
26
+ <div class="detail-item">
27
+ <p class="detail-label">
28
+ 上期底数
29
+ </p>
30
+ <p class="detail-value">
31
+ {{ props.data.f_last_tablebase }}
32
+ </p>
33
+ </div>
34
+ </Col>
35
+ </Row>
36
+
37
+ <Row>
38
+ <Col span="24">
39
+ <div class="detail-item">
40
+ <p class="detail-label">
41
+ 本期底数
42
+ </p>
43
+ <p class="detail-value">
44
+ {{ props.data.f_tablebase }}
45
+ </p>
46
+ </div>
47
+ </Col>
48
+ </Row>
49
+
50
+ <Row>
51
+ <Col span="24">
52
+ <div class="detail-item">
53
+ <p class="detail-label">
54
+ 用气量
55
+ </p>
56
+ <p class="detail-value">
57
+ {{ props.data.f_pregas }}
58
+ </p>
59
+ </div>
60
+ </Col>
61
+ </Row>
62
+
63
+ <Row>
64
+ <Col span="24">
65
+ <div class="detail-item">
66
+ <p class="detail-label">
67
+ 用气金额
68
+ </p>
69
+ <p class="detail-value">
70
+ {{ props.data.f_preamount }}
71
+ </p>
72
+ </div>
73
+ </Col>
74
+ </Row>
75
+
76
+ <Row>
77
+ <Col span="24">
78
+ <div class="detail-item">
79
+ <p class="detail-label">
80
+ 本期剩余气量
81
+ </p>
82
+ <p class="detail-value">
83
+ {{ props.data.f_surplus_gas }}
84
+ </p>
85
+ </div>
86
+ </Col>
87
+ </Row>
88
+
89
+ <Row>
90
+ <Col span="24">
91
+ <div class="detail-item">
92
+ <p class="detail-label">
93
+ 本期扣减气量
94
+ </p>
95
+ <p class="detail-value">
96
+ {{ props.data.f_haircut_gas }}
97
+ </p>
98
+ </div>
99
+ </Col>
100
+ </Row>
101
+
102
+ <Row>
103
+ <Col span="24">
104
+ <div class="detail-item">
105
+ <p class="detail-label">
106
+ 上期结余
107
+ </p>
108
+ <p class="detail-value">
109
+ {{ props.data.f_user_balance }}
110
+ </p>
111
+ </div>
112
+ </Col>
113
+ </Row>
114
+
115
+ <Row>
116
+ <Col span="24">
117
+ <div class="detail-item">
118
+ <p class="detail-label">
119
+ 本期结余
120
+ </p>
121
+ <p class="detail-value">
122
+ {{ props.data.f_curbalance }}
123
+ </p>
124
+ </div>
125
+ </Col>
126
+ </Row>
127
+
128
+ <Row>
129
+ <Col span="24">
130
+ <div class="detail-item">
131
+ <p class="detail-label">
132
+ 操作人
133
+ </p>
134
+ <p class="detail-value">
135
+ {{ props.data.f_operator }}
136
+ </p>
137
+ </div>
138
+ </Col>
139
+ </Row>
140
+
141
+ <Row>
142
+ <Col span="24">
143
+ <div class="detail-item">
144
+ <p class="detail-label">
145
+ 操作时间
146
+ </p>
147
+ <p class="detail-value">
148
+ {{ props.data.f_operate_date }}
149
+ </p>
150
+ </div>
151
+ </Col>
152
+ </Row>
153
+ </div>
154
+ </template>
155
+
156
+ <style scoped lang="less">
157
+ .detail-container {
158
+ padding: 8px;
159
+ background: #ffffff;
160
+ border-radius: 4px;
161
+ box-shadow: 0 1px 4px rgba(100, 101, 102, 0.08);
162
+
163
+ :deep(.van-row) {
164
+ margin-bottom: 2px;
165
+
166
+ &:last-child {
167
+ margin-bottom: 0;
168
+ }
169
+ }
170
+ }
171
+
172
+ .detail-item {
173
+ padding: 4px 8px;
174
+ display: flex;
175
+ align-items: center;
176
+
177
+ .detail-label {
178
+ font-size: 13px;
179
+ color: #969799;
180
+ margin: 0;
181
+ min-width: 70px;
182
+ }
183
+
184
+ .detail-value {
185
+ font-size: 13px;
186
+ color: #323233;
187
+ margin: 0 0 0 8px;
188
+ flex: 1;
189
+ word-break: break-all;
190
+ }
191
+ }
192
+ </style>
@@ -0,0 +1,66 @@
1
+ export interface RecordBaseInfo {
2
+ id: string
3
+ date: string
4
+ status?: string
5
+ }
6
+
7
+ export interface PaymentRecord extends RecordBaseInfo {
8
+ type: string
9
+ amount: string
10
+ gas: string
11
+ paymentMethod: string
12
+ }
13
+
14
+ export interface MeterRecord extends RecordBaseInfo {
15
+ lastReading: string
16
+ currentReading: string
17
+ usage: string
18
+ reader: string
19
+ }
20
+
21
+ export interface TransferRecord extends RecordBaseInfo {
22
+ oldUser: string
23
+ newUser: string
24
+ reason: string
25
+ operator: string
26
+ }
27
+
28
+ export interface SafetyRecord extends RecordBaseInfo {
29
+ inspector: string
30
+ type: string
31
+ issues: string
32
+ suggestions: string
33
+ }
34
+
35
+ export interface ReplacementRecord extends RecordBaseInfo {
36
+ oldMeterNumber: string
37
+ newMeterNumber: string
38
+ reason: string
39
+ operator: string
40
+ remark: string
41
+ }
42
+
43
+ export interface OtherChargeRecord extends RecordBaseInfo {
44
+ type: string
45
+ item: string
46
+ amount: string
47
+ operator: string
48
+ paymentMethod: string
49
+ remark: string
50
+ }
51
+
52
+ export interface TransactionRecord extends RecordBaseInfo {
53
+ type: string
54
+ amount: string
55
+ status: string
56
+ remark: string
57
+ }
58
+
59
+ // 记录查询通用请求参数
60
+ export interface RecordQueryParams {
61
+ userId: string
62
+ pageNo?: number
63
+ pageSize?: number
64
+ startDate?: string
65
+ endDate?: string
66
+ }
package/tsconfig.json CHANGED
@@ -1,39 +1,39 @@
1
- {
2
- "compilerOptions": {
3
- "target": "esnext",
4
- "jsx": "preserve",
5
- "lib": ["esnext", "dom", "dom.iterable", "scripthost"],
6
- "experimentalDecorators": true,
7
- "baseUrl": ".",
8
- "module": "esnext",
9
- "moduleResolution": "Bundler",
10
- "paths": {
11
- "@af-mobile-client-vue3/*": ["src/*"],
12
- "~root/*": ["./*"]
13
- },
14
- "types": [
15
- "node",
16
- "vite-plugin-pwa/client"
17
- ],
18
- "allowJs": true,
19
- "strictNullChecks": false,
20
- "noImplicitAny": false,
21
- "noUnusedLocals": false,
22
- "noUnusedParameters": false,
23
- "importHelpers": true,
24
- "sourceMap": true,
25
- "allowSyntheticDefaultImports": true,
26
- "esModuleInterop": true,
27
- "verbatimModuleSyntax": true,
28
- "skipLibCheck": true
29
- },
30
- "include": [
31
- "src/App.vue",
32
- "src/**/*.ts",
33
- "src/**/*.tsx",
34
- "src/**/*.vue",
35
- "src/types/components.d.ts",
36
- "src/types/auto-imports.d.ts",
37
- "src/types/typed-router.d.ts"
38
- ]
39
- }
1
+ {
2
+ "compilerOptions": {
3
+ "target": "esnext",
4
+ "jsx": "preserve",
5
+ "lib": ["esnext", "dom", "dom.iterable", "scripthost"],
6
+ "experimentalDecorators": true,
7
+ "baseUrl": ".",
8
+ "module": "esnext",
9
+ "moduleResolution": "Bundler",
10
+ "paths": {
11
+ "@af-mobile-client-vue3/*": ["src/*"],
12
+ "~root/*": ["./*"]
13
+ },
14
+ "types": [
15
+ "node",
16
+ "vite-plugin-pwa/client"
17
+ ],
18
+ "allowJs": true,
19
+ "strictNullChecks": false,
20
+ "noImplicitAny": false,
21
+ "noUnusedLocals": false,
22
+ "noUnusedParameters": false,
23
+ "importHelpers": true,
24
+ "sourceMap": true,
25
+ "allowSyntheticDefaultImports": true,
26
+ "esModuleInterop": true,
27
+ "verbatimModuleSyntax": true,
28
+ "skipLibCheck": true
29
+ },
30
+ "include": [
31
+ "src/App.vue",
32
+ "src/**/*.ts",
33
+ "src/**/*.tsx",
34
+ "src/**/*.vue",
35
+ "src/types/components.d.ts",
36
+ "src/types/auto-imports.d.ts",
37
+ "src/types/typed-router.d.ts"
38
+ ]
39
+ }
package/uno.config.ts CHANGED
@@ -1,78 +1,82 @@
1
- import * as fs from 'node:fs'
2
-
3
- import { FileSystemIconLoader } from '@iconify/utils/lib/loader/node-loaders'
4
- import { createRemToPxProcessor } from '@unocss/preset-wind4/utils'
5
- import {
6
- defineConfig,
7
- presetAttributify,
8
- presetIcons,
9
- presetWind4,
10
- transformerDirectives,
11
- transformerVariantGroup,
12
- } from 'unocss'
13
-
14
- // 本地 SVG 图标存放目录
15
- const iconsDir = './src/icons/svg'
16
-
17
- const BASE_FONT_SIZE = 4
18
-
19
- // 读取本地 SVG 目录,自动生成 `safelist`
20
- function generateSafeList() {
21
- try {
22
- return fs
23
- .readdirSync(iconsDir)
24
- .filter(file => file.endsWith('.svg'))
25
- .map(file => `i-svg:${file.replace('.svg', '')}`)
26
- }
27
- catch (error) {
28
- console.error('无法读取图标目录:', error)
29
- return []
30
- }
31
- }
32
-
33
- export default defineConfig({
34
- shortcuts: [
35
- ['btn', 'px-6 py-3 rounded-4 border-none inline-block bg-green-400 text-white cursor-pointer outline-hidden hover:bg-green-600 disabled:cursor-default disabled:bg-gray-600 disabled:opacity-50'],
36
- ],
37
- presets: [
38
- presetWind4({
39
- preflights: {
40
- theme: {
41
- process: createRemToPxProcessor(BASE_FONT_SIZE),
42
- },
43
- },
44
- }),
45
- presetAttributify(),
46
- presetIcons(
47
- {
48
- scale: 1.2,
49
- warn: true,
50
- extraProperties: {
51
- 'display': 'inline-block',
52
- 'vertical-align': 'middle',
53
- 'width': 'var(--van-font-size-md)',
54
- 'height': 'var(--van-font-size-md)',
55
- },
56
- // 注册本地 SVG 图标
57
- collections: {
58
- // svg 是图标集合名称,使用 `i-svg:图标名` 调用
59
- svg: FileSystemIconLoader(iconsDir, (svg) => {
60
- // 如果 SVG 文件未定义 `fill` 属性,则默认填充 `currentColor`
61
- // 这样图标颜色会继承文本颜色,方便在不同场景下适配
62
- return svg.includes('fill="')
63
- ? svg
64
- : svg.replace(/^<svg /, '<svg fill="currentColor" ')
65
- }),
66
- },
67
- },
68
- ),
69
- ],
70
- safelist: generateSafeList(), // 动态生成 `safelist`
71
- postprocess: [
72
- createRemToPxProcessor(BASE_FONT_SIZE),
73
- ],
74
- transformers: [
75
- transformerDirectives(),
76
- transformerVariantGroup(),
77
- ],
78
- })
1
+ import * as fs from 'node:fs'
2
+
3
+ import { FileSystemIconLoader } from '@iconify/utils/lib/loader/node-loaders'
4
+ import { createRemToPxProcessor } from '@unocss/preset-wind4/utils'
5
+ import {
6
+ defineConfig,
7
+ presetAttributify,
8
+ presetIcons,
9
+ presetWind4,
10
+ transformerDirectives,
11
+ transformerVariantGroup,
12
+ } from 'unocss'
13
+ import collectUsedIcons from './src/plugins/collectIcons'
14
+
15
+ // 本地 SVG 图标存放目录
16
+ const iconsDir = './src/icons/svg'
17
+
18
+ const BASE_FONT_SIZE = 4
19
+
20
+ // 读取本地 SVG 目录,自动生成 `safelist`
21
+ function generateSafeList() {
22
+ try {
23
+ return fs
24
+ .readdirSync(iconsDir)
25
+ .filter(file => file.endsWith('.svg'))
26
+ .map(file => `i-svg:${file.replace('.svg', '')}`)
27
+ }
28
+ catch (error) {
29
+ console.error('无法读取图标目录:', error)
30
+ return []
31
+ }
32
+ }
33
+
34
+ export default defineConfig({
35
+ shortcuts: [
36
+ ['btn', 'px-6 py-3 rounded-4 border-none inline-block bg-green-400 text-white cursor-pointer outline-hidden hover:bg-green-600 disabled:cursor-default disabled:bg-gray-600 disabled:opacity-50'],
37
+ ],
38
+ presets: [
39
+ presetWind4({
40
+ preflights: {
41
+ theme: {
42
+ process: createRemToPxProcessor(BASE_FONT_SIZE),
43
+ },
44
+ },
45
+ }),
46
+ presetAttributify(),
47
+ presetIcons(
48
+ {
49
+ scale: 1.2,
50
+ warn: true,
51
+ extraProperties: {
52
+ 'display': 'inline-block',
53
+ 'vertical-align': 'middle',
54
+ 'width': 'var(--van-font-size-md)',
55
+ 'height': 'var(--van-font-size-md)',
56
+ },
57
+ // 注册本地 SVG 图标
58
+ collections: {
59
+ // svg 是图标集合名称,使用 `i-svg:图标名` 调用
60
+ svg: FileSystemIconLoader(iconsDir, (svg) => {
61
+ // 如果 SVG 文件未定义 `fill` 属性,则默认填充 `currentColor`
62
+ // 这样图标颜色会继承文本颜色,方便在不同场景下适配
63
+ return svg.includes('fill="')
64
+ ? svg
65
+ : svg.replace(/^<svg /, '<svg fill="currentColor" ')
66
+ }),
67
+ },
68
+ },
69
+ ),
70
+ ],
71
+ safelist: [
72
+ ...generateSafeList(),
73
+ ...collectUsedIcons,
74
+ ], // 动态生成 `safelist`
75
+ postprocess: [
76
+ createRemToPxProcessor(BASE_FONT_SIZE),
77
+ ],
78
+ transformers: [
79
+ transformerDirectives(),
80
+ transformerVariantGroup(),
81
+ ],
82
+ })