af-mobile-client-vue3 1.3.12 → 1.3.13

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 (270) 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 +539 -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/useLogin.ts +97 -97
  115. package/src/icons/svg/check-in.svg +32 -32
  116. package/src/icons/svg/dark.svg +4 -4
  117. package/src/icons/svg/github.svg +4 -4
  118. package/src/icons/svg/light.svg +4 -4
  119. package/src/icons/svg/link.svg +4 -4
  120. package/src/icons/svgo.yml +22 -22
  121. package/src/layout/GridView/index.vue +16 -16
  122. package/src/layout/PageLayout.vue +9 -9
  123. package/src/layout/SingleLayout.vue +9 -9
  124. package/src/locales/en-US.json +128 -128
  125. package/src/locales/zh-CN.json +128 -128
  126. package/src/logic/LogicRunner.ts +67 -67
  127. package/src/logic/TestLogic.ts +13 -13
  128. package/src/logic/plugins/common/DateTools.ts +35 -35
  129. package/src/logic/plugins/common/VueTools.ts +30 -30
  130. package/src/logic/plugins/index.ts +7 -7
  131. package/src/main.ts +44 -44
  132. package/src/plugins/AppData.ts +38 -38
  133. package/src/plugins/GetLoginInfoService.ts +10 -10
  134. package/src/plugins/collectIcons.ts +10 -0
  135. package/src/plugins/index.ts +11 -11
  136. package/src/router/README.md +8 -8
  137. package/src/router/guards.ts +59 -59
  138. package/src/router/index.ts +35 -35
  139. package/src/router/invoiceRoutes.ts +33 -33
  140. package/src/router/routes.ts +341 -177
  141. package/src/router/types.ts +7 -7
  142. package/src/services/api/Login.ts +6 -6
  143. package/src/services/api/common.ts +109 -109
  144. package/src/services/api/index.ts +7 -7
  145. package/src/services/api/manage.ts +8 -8
  146. package/src/services/api/search.ts +16 -16
  147. package/src/services/api/user.ts +17 -17
  148. package/src/services/restTools.ts +56 -56
  149. package/src/services/v3Api.ts +147 -147
  150. package/src/stores/index.ts +11 -11
  151. package/src/stores/modules/counter.ts +19 -19
  152. package/src/stores/modules/routeCache.ts +23 -23
  153. package/src/stores/modules/setting.ts +76 -76
  154. package/src/stores/modules/user.ts +235 -235
  155. package/src/stores/mutation-type.ts +7 -7
  156. package/src/styles/app.less +36 -36
  157. package/src/styles/login.less +109 -109
  158. package/src/styles/var.less +16 -16
  159. package/src/types/env.d.ts +16 -16
  160. package/src/types/settings.ts +1 -1
  161. package/src/types/vue-router.d.ts +9 -9
  162. package/src/utils/Storage.ts +124 -124
  163. package/src/utils/authority-utils.ts +84 -84
  164. package/src/utils/common.ts +41 -41
  165. package/src/utils/crypto.ts +39 -39
  166. package/src/utils/dataUtil.ts +42 -42
  167. package/src/utils/dictUtil.ts +52 -52
  168. package/src/utils/http/index.ts +199 -199
  169. package/src/utils/i18n.ts +72 -72
  170. package/src/utils/indexedDB.ts +195 -195
  171. package/src/utils/inline-px-to-vw.ts +28 -28
  172. package/src/utils/mobileUtil.ts +34 -34
  173. package/src/utils/progress.ts +19 -19
  174. package/src/utils/routerUtil.ts +271 -271
  175. package/src/utils/runEvalFunction.ts +13 -13
  176. package/src/utils/secureStorage.ts +71 -71
  177. package/src/utils/set-page-title.ts +5 -5
  178. package/src/utils/validate.ts +6 -6
  179. package/src/utils/wechatUtil.ts +9 -9
  180. package/src/views/chat/index.vue +153 -153
  181. package/src/views/common/LoadError.vue +63 -63
  182. package/src/views/common/NotFound.vue +67 -67
  183. package/src/views/component/EvaluateRecordView/index.vue +40 -40
  184. package/src/views/component/IconifyView/index.vue +504 -507
  185. package/src/views/component/UserDetailView/UserDetailPage.vue +77 -0
  186. package/src/views/component/UserDetailView/index.vue +224 -0
  187. package/src/views/component/XCellDetailView/index.vue +217 -217
  188. package/src/views/component/XCellListView/index.vue +108 -157
  189. package/src/views/component/XFormAppraiseView/index.vue +174 -174
  190. package/src/views/component/XFormGroupView/index.vue +78 -82
  191. package/src/views/component/XFormView/index.vue +27 -27
  192. package/src/views/component/XOlMapView/XLocationPicker/index.vue +118 -118
  193. package/src/views/component/XOlMapView/index.vue +434 -434
  194. package/src/views/component/XOlMapView/testData.ts +64 -64
  195. package/src/views/component/XReportFormIframeView/index.vue +47 -47
  196. package/src/views/component/XReportFormView/index.vue +13 -13
  197. package/src/views/component/XReportGridView/index.vue +17 -17
  198. package/src/views/component/XRequestView/index.vue +234 -234
  199. package/src/views/component/XSignatureView/index.vue +50 -50
  200. package/src/views/component/index.vue +181 -177
  201. package/src/views/component/menu.vue +117 -117
  202. package/src/views/component/notice.vue +46 -46
  203. package/src/views/component/topNav.vue +36 -36
  204. package/src/views/invoiceShow/index.vue +61 -61
  205. package/src/views/user/login/ForgetPasswordForm.vue +94 -94
  206. package/src/views/user/login/LoginForm.vue +346 -346
  207. package/src/views/user/login/LoginTitle.vue +76 -76
  208. package/src/views/user/login/LoginWave.vue +109 -109
  209. package/src/views/user/login/index.vue +22 -22
  210. package/src/views/user/my/comm/ModifyPassword.vue +346 -346
  211. package/src/views/user/my/index.vue +340 -340
  212. package/src/views/userRecords/AbnormalAlarmRecords.vue +21 -0
  213. package/src/views/userRecords/CardReplacementRecords.vue +21 -0
  214. package/src/views/userRecords/ChangeRecords.vue +19 -0
  215. package/src/views/userRecords/CommandViewRecords.vue +20 -0
  216. package/src/views/userRecords/GasCompensationRecords.vue +20 -0
  217. package/src/views/userRecords/InstrumentCollectionRecords.vue +21 -0
  218. package/src/views/userRecords/MeterRecords.vue +20 -0
  219. package/src/views/userRecords/OperateRecords.vue +51 -0
  220. package/src/views/userRecords/OtherChargeRecords.vue +19 -0
  221. package/src/views/userRecords/PaymentRecords.vue +28 -0
  222. package/src/views/userRecords/PriceAdjustmentRecords.vue +19 -0
  223. package/src/views/userRecords/ReplacementRecords.vue +19 -0
  224. package/src/views/userRecords/SafetyRecords.vue +19 -0
  225. package/src/views/userRecords/TransactionRecords.vue +21 -0
  226. package/src/views/userRecords/TransferRecords.vue +19 -0
  227. package/src/views/userRecords/operateRecordDetail/index.vue +316 -0
  228. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AddUserDetail.vue +124 -0
  229. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AdvanceDeliveryDetail.vue +88 -0
  230. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AutoAccountsCancelDetail.vue +205 -0
  231. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AutoAccountsDetail.vue +192 -0
  232. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/BankDkDetail.vue +192 -0
  233. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/BankPayDetail.vue +192 -0
  234. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/BlacklistDetail.vue +153 -0
  235. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CancellationDetail.vue +101 -0
  236. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CardMeterCenterCancelDetail.vue +127 -0
  237. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CardMeterCenterDetail.vue +153 -0
  238. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CardOverUserDetail.vue +153 -0
  239. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ChangeMeterCancelDetail.vue +166 -0
  240. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ChangeMeterDetail.vue +205 -0
  241. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/DisableManageDetail.vue +127 -0
  242. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/EnableManageDetail.vue +114 -0
  243. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/FaZheChangeDetail.vue +124 -0
  244. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/FeeDeductionDetail.vue +153 -0
  245. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/GasPriceChangeDetail.vue +126 -0
  246. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/InputtorChangeDetail.vue +126 -0
  247. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/IotMeterCenterCancelDetail.vue +114 -0
  248. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/IotMeterCenterDetail.vue +127 -0
  249. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/IotOpenDetail.vue +88 -0
  250. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/MachineCardDetail.vue +101 -0
  251. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/MachineMeterCenterCancelDetail.vue +218 -0
  252. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/MachineMeterCenterDetail.vue +153 -0
  253. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OffGasAddGasDetail.vue +140 -0
  254. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OtherChargeCancelDetail.vue +127 -0
  255. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OtherChargeDetail.vue +114 -0
  256. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OverUserChangeDetail.vue +127 -0
  257. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ReBillDetail.vue +127 -0
  258. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/RefundDetail.vue +114 -0
  259. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ReplaceCardManageCancelDetail.vue +127 -0
  260. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ReplaceCardManageDetail.vue +114 -0
  261. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/SaleCardGasDetail.vue +140 -0
  262. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/TransferManageCancelDetail.vue +152 -0
  263. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/TransferManageDetail.vue +178 -0
  264. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/UserChangeDetail.vue +123 -0
  265. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/WechatPayDetail.vue +192 -0
  266. package/src/views/userRecords/types.ts +66 -0
  267. package/tsconfig.json +39 -39
  268. package/uno.config.ts +82 -78
  269. package/vite.config.ts +118 -118
  270. 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
+ })