af-mobile-client-vue3 1.2.59 → 1.3.2-2.1
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.
- package/.editorconfig +5 -34
- package/.env +1 -1
- package/.env.development +0 -3
- package/.env.production +1 -7
- package/CLAUDE.md +5 -0
- package/README.md +2 -1
- package/build/vite/index.ts +2 -12
- package/build/vite/optimize.ts +2 -2
- package/compress.js +36 -0
- package/package.json +37 -37
- package/postcss.config.ts +1 -1
- package/src/App.vue +4 -6
- package/src/assets/img/banner/appraise-banner-1.png +0 -0
- package/src/assets/img/banner/appraise-banner-2.png +0 -0
- package/src/components/core/BeautifulLoading/index.vue +1 -2
- package/src/components/core/ImageUploader/index.vue +3 -2
- package/src/components/core/NavBar/index.vue +24 -14
- package/src/components/core/Tabbar/index.vue +5 -3
- package/src/components/core/XGridDropOption/index.vue +7 -9
- package/src/components/core/XMultiSelect/index.vue +1 -1
- package/src/components/data/CardContainer/CardContainer.vue +118 -0
- package/src/components/data/CardContainer/CardHeader.vue +99 -0
- package/src/components/data/InfoDisplay/index.vue +132 -0
- package/src/components/data/UserDetail/api.ts +24 -0
- package/src/components/data/UserDetail/index.vue +620 -0
- package/src/components/data/UserDetail/recordEntries.ts +159 -0
- package/src/components/data/UserDetail/types.ts +26 -0
- package/src/components/data/XBadge/index.vue +2 -2
- package/src/components/data/XCellList/index.vue +76 -30
- package/src/components/data/XForm/index.vue +1 -1
- package/src/components/data/XFormGroup/doc/FormGroupDemo.vue +4 -4
- package/src/components/data/XFormGroup/doc/README.md +33 -20
- package/src/components/data/XFormGroup/index.vue +51 -35
- package/src/components/data/XFormItem/index.vue +13 -33
- package/src/components/data/XOlMap/README.md +61 -61
- package/src/components/data/XOlMap/XLocationPicker/index.vue +2 -1
- package/src/components/data/XReportForm/XReportFormJsonRender.vue +22 -22
- package/src/components/data/XReportForm/index.vue +23 -14
- package/src/components/data/XReportGrid/XAddReport/XAddReport.vue +1 -2
- package/src/components/data/XReportGrid/XAddReport/index.md +17 -16
- package/src/components/data/XReportGrid/XReport.vue +3 -3
- package/src/components/data/XReportGrid/XReportDesign.vue +13 -13
- package/src/components/data/XReportGrid/XReportDrawer/XReportDrawer.vue +1 -1
- package/src/components/data/XReportGrid/XReportJsonRender.vue +11 -11
- package/src/components/data/XReportGrid/XReportTrGroup.vue +3 -3
- package/src/components/data/XReportGrid/index.md +14 -10
- package/src/components/data/XSignature/index.vue +1 -2
- package/src/components/layout/NormalDataLayout/index.vue +2 -3
- package/src/config/routes.ts +6 -2
- package/src/constants/index.ts +2 -0
- package/src/font-style/font.css +1 -1
- package/src/hooks/useBoolean.ts +26 -0
- package/src/hooks/useLoading.ts +16 -0
- package/src/locales/en-US.json +52 -28
- package/src/locales/zh-CN.json +57 -33
- package/src/main.ts +0 -2
- package/src/plugins/collectIcons.ts +10 -0
- package/src/router/README.md +1 -1
- package/src/router/guards.ts +1 -1
- package/src/router/index.ts +1 -1
- package/src/router/routes.ts +176 -6
- package/src/router/types.ts +0 -2
- package/src/services/api/user.ts +17 -0
- package/src/stores/modules/setting.ts +2 -1
- package/src/styles/var.less +9 -0
- package/src/types/vue-router.d.ts +0 -2
- package/src/utils/mobileUtil.ts +2 -2
- package/src/utils/queryFormDefaultRangePicker.ts +57 -57
- package/src/utils/set-page-title.ts +3 -5
- package/src/views/common/LoadError.vue +1 -2
- package/src/views/common/NotFound.vue +2 -3
- package/src/views/component/IconifyView/index.vue +0 -3
- package/src/views/component/UserDetailView/UserDetailPage.vue +77 -0
- package/src/views/component/UserDetailView/index.vue +234 -0
- package/src/views/component/XCellListView/index.vue +24 -73
- package/src/views/component/XFormGroupView/index.vue +7 -11
- package/src/views/component/XFormView/index.vue +2 -2
- package/src/views/component/XOlMapView/testData.ts +1 -1
- package/src/views/component/index.vue +4 -0
- package/src/views/component/menu.vue +1 -1
- package/src/views/user/login/ForgetPasswordForm.vue +1 -1
- package/src/views/user/login/LoginForm.vue +4 -3
- package/src/views/user/login/LoginWave.vue +1 -1
- package/src/views/user/my/comm/ModifyPassword.vue +346 -0
- package/src/views/user/my/index.vue +440 -183
- package/src/views/user/register/index.vue +952 -0
- package/src/views/userRecords/AbnormalAlarmRecords.vue +21 -0
- package/src/views/userRecords/CardReplacementRecords.vue +21 -0
- package/src/views/userRecords/ChangeRecords.vue +19 -0
- package/src/views/userRecords/CommandViewRecords.vue +20 -0
- package/src/views/userRecords/GasCompensationRecords.vue +20 -0
- package/src/views/userRecords/InstrumentCollectionRecords.vue +21 -0
- package/src/views/userRecords/MeterRecords.vue +20 -0
- package/src/views/userRecords/OperateRecords.vue +51 -0
- package/src/views/userRecords/OtherChargeRecords.vue +19 -0
- package/src/views/userRecords/PaymentRecords.vue +28 -0
- package/src/views/userRecords/PriceAdjustmentRecords.vue +19 -0
- package/src/views/userRecords/ReplacementRecords.vue +19 -0
- package/src/views/userRecords/SafetyRecords.vue +19 -0
- package/src/views/userRecords/TransactionRecords.vue +21 -0
- package/src/views/userRecords/TransferRecords.vue +19 -0
- package/src/views/userRecords/operateRecordDetail/index.vue +316 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AddUserDetail.vue +124 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AdvanceDeliveryDetail.vue +88 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AutoAccountsCancelDetail.vue +205 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AutoAccountsDetail.vue +192 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/BankDkDetail.vue +192 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/BankPayDetail.vue +192 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/BlacklistDetail.vue +153 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CancellationDetail.vue +101 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CardMeterCenterCancelDetail.vue +127 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CardMeterCenterDetail.vue +153 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CardOverUserDetail.vue +153 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ChangeMeterCancelDetail.vue +166 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ChangeMeterDetail.vue +205 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/DisableManageDetail.vue +127 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/EnableManageDetail.vue +114 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/FaZheChangeDetail.vue +124 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/FeeDeductionDetail.vue +153 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/GasPriceChangeDetail.vue +126 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/InputtorChangeDetail.vue +126 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/IotMeterCenterCancelDetail.vue +114 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/IotMeterCenterDetail.vue +127 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/IotOpenDetail.vue +88 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/MachineCardDetail.vue +101 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/MachineMeterCenterCancelDetail.vue +218 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/MachineMeterCenterDetail.vue +153 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OffGasAddGasDetail.vue +140 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OtherChargeCancelDetail.vue +127 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OtherChargeDetail.vue +114 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OverUserChangeDetail.vue +127 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ReBillDetail.vue +127 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/RefundDetail.vue +114 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ReplaceCardManageCancelDetail.vue +127 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ReplaceCardManageDetail.vue +114 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/SaleCardGasDetail.vue +140 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/TransferManageCancelDetail.vue +152 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/TransferManageDetail.vue +178 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/UserChangeDetail.vue +123 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/WechatPayDetail.vue +192 -0
- package/src/views/userRecords/types.ts +66 -0
- package/tsconfig.json +5 -8
- package/uno.config.ts +36 -1
- package/vite.config.ts +10 -3
- package/.env.envoiceShow +0 -7
- package/src/components/core/App/MicroAppView.vue +0 -59
- package/src/components/core/SvgIcon/index.vue +0 -61
- package/src/utils/local-storage.ts +0 -9
- package/src/views/component/XFormGroupView/xformgroup222.vue +0 -97
package/src/locales/zh-CN.json
CHANGED
|
@@ -1,29 +1,46 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
2
|
+
"navbar": {
|
|
3
|
+
"Home": "主页",
|
|
4
|
+
"Profile": "我的",
|
|
5
|
+
"Mock": "🗂️ Mock",
|
|
6
|
+
"Charts": "📊 图表",
|
|
7
|
+
"UnoCSS": "⚡ UnoCSS",
|
|
8
|
+
"Counter": "🍍 状态持久化",
|
|
9
|
+
"KeepAlive": "♻️ 页面缓存",
|
|
10
|
+
"ScrollCache": "📍 滚动缓存",
|
|
11
|
+
"Login": "🧑💻 登录",
|
|
12
|
+
"Register": "🧑💻 注册",
|
|
13
|
+
"ForgotPassword": "❓ 忘记密码",
|
|
14
|
+
"Settings": "⚙️ 设置",
|
|
15
|
+
"404": "⚠️ 404 页面",
|
|
16
|
+
"Undefined": "🤷 未定义标题"
|
|
17
|
+
},
|
|
18
|
+
|
|
19
|
+
"tabbar": {
|
|
20
|
+
"home": "首页",
|
|
21
|
+
"profile": "我的"
|
|
22
|
+
},
|
|
23
|
+
|
|
24
|
+
"home": {
|
|
25
|
+
"darkMode": "🌗 深色模式",
|
|
26
|
+
"language": "📚 多语言",
|
|
27
|
+
"settings": "设置",
|
|
28
|
+
"examples": "示例"
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
"profile": {
|
|
32
|
+
"login": "登录",
|
|
16
33
|
"settings": "设置",
|
|
17
|
-
"
|
|
18
|
-
"exampleComponents": "示例组件",
|
|
19
|
-
"forgot-password": "忘记密码"
|
|
34
|
+
"docs": "文档"
|
|
20
35
|
},
|
|
36
|
+
|
|
21
37
|
"mock": {
|
|
22
38
|
"fromAsyncData": "来自异步请求的数据",
|
|
39
|
+
"noData": "暂无数据",
|
|
23
40
|
"pull": "请求",
|
|
24
|
-
"reset": "清空"
|
|
25
|
-
"noData": "暂无数据"
|
|
41
|
+
"reset": "清空"
|
|
26
42
|
},
|
|
43
|
+
|
|
27
44
|
"charts": {
|
|
28
45
|
"January": "1月",
|
|
29
46
|
"February": "2月",
|
|
@@ -32,39 +49,44 @@
|
|
|
32
49
|
"May": "5月",
|
|
33
50
|
"June": "6月"
|
|
34
51
|
},
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"
|
|
52
|
+
|
|
53
|
+
"counter": {
|
|
54
|
+
"description": "该计数器的状态通过 Pinia 持久化。刷新页面试试看!"
|
|
38
55
|
},
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
"
|
|
42
|
-
"
|
|
56
|
+
|
|
57
|
+
"unocss": {
|
|
58
|
+
"title": "你好, Unocss!",
|
|
59
|
+
"description": "这是一个简单的 Unocss 使用示例。",
|
|
60
|
+
"button": "按钮"
|
|
43
61
|
},
|
|
62
|
+
|
|
44
63
|
"keepAlive": {
|
|
45
64
|
"label": "当前组件将会被缓存"
|
|
46
65
|
},
|
|
66
|
+
|
|
47
67
|
"scrollCache": {
|
|
48
68
|
"sectionTitle": "段落标题",
|
|
49
69
|
"sectionText": "段落内容段落内容段落内容段落内容段落内容段落内容",
|
|
50
70
|
"finished": "已经到底啦 ~",
|
|
51
71
|
"loading": "加载中..."
|
|
52
72
|
},
|
|
73
|
+
|
|
53
74
|
"login": {
|
|
54
75
|
"login": "登录",
|
|
55
|
-
"logout": "
|
|
76
|
+
"logout": "退出登录",
|
|
56
77
|
"email": "邮箱",
|
|
57
78
|
"password": "密码",
|
|
58
79
|
"pleaseEnterEmail": "请输入邮箱",
|
|
59
80
|
"pleaseEnterPassword": "请输入密码",
|
|
60
|
-
"
|
|
61
|
-
"
|
|
81
|
+
"signUp": "还没有账号?点击注册",
|
|
82
|
+
"forgotPassword": "忘记密码?"
|
|
62
83
|
},
|
|
63
|
-
|
|
84
|
+
|
|
85
|
+
"forgotPassword": {
|
|
64
86
|
"email": "邮箱",
|
|
65
87
|
"code": "验证码",
|
|
66
88
|
"password": "密码",
|
|
67
|
-
"
|
|
89
|
+
"confirmPassword": "再次输入密码",
|
|
68
90
|
"pleaseEnterEmail": "请输入邮箱",
|
|
69
91
|
"pleaseEnterCode": "请输入验证码",
|
|
70
92
|
"pleaseEnterPassword": "请输入密码",
|
|
@@ -77,12 +99,13 @@
|
|
|
77
99
|
"sendCodeSuccess": "已发送,验证码为",
|
|
78
100
|
"passwordResetSuccess": "密码重置成功"
|
|
79
101
|
},
|
|
102
|
+
|
|
80
103
|
"register": {
|
|
81
104
|
"email": "邮箱",
|
|
82
105
|
"code": "验证码",
|
|
83
106
|
"nickname": "昵称",
|
|
84
107
|
"password": "密码",
|
|
85
|
-
"
|
|
108
|
+
"confirmPassword": "再次输入密码",
|
|
86
109
|
"pleaseEnterEmail": "请输入邮箱",
|
|
87
110
|
"pleaseEnterCode": "请输入验证码",
|
|
88
111
|
"pleaseEnterNickname": "请输入昵称",
|
|
@@ -96,9 +119,10 @@
|
|
|
96
119
|
"sendCodeSuccess": "已发送,验证码为",
|
|
97
120
|
"registerSuccess": "注册成功"
|
|
98
121
|
},
|
|
122
|
+
|
|
99
123
|
"settings": {
|
|
100
124
|
"logout": "退出登录",
|
|
101
125
|
"currentVersion": "当前版本",
|
|
102
|
-
"
|
|
126
|
+
"confirmTitle": "确认退出?"
|
|
103
127
|
}
|
|
104
128
|
}
|
package/src/main.ts
CHANGED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { defaultRecordEntries } from '../components/data/UserDetail/recordEntries'
|
|
2
|
+
|
|
3
|
+
const collectUsedIcons = [
|
|
4
|
+
...defaultRecordEntries.map(entry => entry.icon),
|
|
5
|
+
...defaultRecordEntries.map(entry => entry.bgColor),
|
|
6
|
+
...defaultRecordEntries.map(entry => entry.textColor),
|
|
7
|
+
]
|
|
8
|
+
|
|
9
|
+
// 默认导出
|
|
10
|
+
export default collectUsedIcons
|
package/src/router/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `File-based Routing`
|
|
2
2
|
|
|
3
|
-
Routes will be auto-generated for Vue files in the
|
|
3
|
+
Routes will be auto-generated for Vue files in the **src/views** dir with the same file structure.
|
|
4
4
|
Check out [`unplugin-vue-router`](https://github.com/posva/unplugin-vue-router) for more details.
|
|
5
5
|
|
|
6
6
|
在 **src/views** 目录下的 Vue 文件会自动生成相同结构的路由。
|
package/src/router/guards.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { showToast } from 'vant'
|
|
|
5
5
|
// 不需要登录拦截的路由配置
|
|
6
6
|
const loginIgnore = {
|
|
7
7
|
names: ['404', '403', 'user-appointment', 'appointment-form', 'appointment-history'], // 根据路由名称匹配
|
|
8
|
-
paths: ['/login', '/XReportFormIframeView', '/invoiceShow'], // 根据路由fullPath匹配
|
|
8
|
+
paths: ['/login', '/XReportFormIframeView', '/invoiceShow', '/register'], // 根据路由fullPath匹配
|
|
9
9
|
/**
|
|
10
10
|
* 判断路由是否包含在该配置中
|
|
11
11
|
* @param route vue-router 的 route 对象
|
package/src/router/index.ts
CHANGED
package/src/router/routes.ts
CHANGED
|
@@ -6,11 +6,12 @@ import NotFound from '@af-mobile-client-vue3/views/common/NotFound.vue'
|
|
|
6
6
|
import EvaluateRecordView from '@af-mobile-client-vue3/views/component/EvaluateRecordView/index.vue'
|
|
7
7
|
import IconifyView from '@af-mobile-client-vue3/views/component/IconifyView/index.vue'
|
|
8
8
|
import ComponentView from '@af-mobile-client-vue3/views/component/index.vue'
|
|
9
|
+
import UserDetailView from '@af-mobile-client-vue3/views/component/UserDetailView/index.vue'
|
|
10
|
+
import UserDetailPage from '@af-mobile-client-vue3/views/component/UserDetailView/UserDetailPage.vue'
|
|
9
11
|
import XCellDetailView from '@af-mobile-client-vue3/views/component/XCellDetailView/index.vue'
|
|
10
12
|
import XCellListView from '@af-mobile-client-vue3/views/component/XCellListView/index.vue'
|
|
11
13
|
import XFormAppraiseView from '@af-mobile-client-vue3/views/component/XFormAppraiseView/index.vue'
|
|
12
14
|
import XFormGroupView from '@af-mobile-client-vue3/views/component/XFormGroupView/index.vue'
|
|
13
|
-
import xformgroup222 from '@af-mobile-client-vue3/views/component/XFormGroupView/xformgroup222.vue'
|
|
14
15
|
import XFormView from '@af-mobile-client-vue3/views/component/XFormView/index.vue'
|
|
15
16
|
import XOlMapView from '@af-mobile-client-vue3/views/component/XOlMapView/index.vue'
|
|
16
17
|
import XLocationPicker from '@af-mobile-client-vue3/views/component/XOlMapView/XLocationPicker/index.vue'
|
|
@@ -21,6 +22,22 @@ import XRequestView from '@af-mobile-client-vue3/views/component/XRequestView/in
|
|
|
21
22
|
import XSignatureView from '@af-mobile-client-vue3/views/component/XSignatureView/index.vue'
|
|
22
23
|
import login from '@af-mobile-client-vue3/views/user/login/index.vue'
|
|
23
24
|
import my from '@af-mobile-client-vue3/views/user/my/index.vue'
|
|
25
|
+
import register from '@af-mobile-client-vue3/views/user/register/index.vue'
|
|
26
|
+
import AbnormalAlarmRecords from '@af-mobile-client-vue3/views/userRecords/AbnormalAlarmRecords.vue'
|
|
27
|
+
import CardReplacementRecords from '@af-mobile-client-vue3/views/userRecords/CardReplacementRecords.vue'
|
|
28
|
+
import ChangeRecords from '@af-mobile-client-vue3/views/userRecords/ChangeRecords.vue'
|
|
29
|
+
import CommandViewRecords from '@af-mobile-client-vue3/views/userRecords/CommandViewRecords.vue'
|
|
30
|
+
import GasCompensationRecords from '@af-mobile-client-vue3/views/userRecords/GasCompensationRecords.vue'
|
|
31
|
+
import InstrumentCollectionRecords from '@af-mobile-client-vue3/views/userRecords/InstrumentCollectionRecords.vue'
|
|
32
|
+
import MeterRecords from '@af-mobile-client-vue3/views/userRecords/MeterRecords.vue'
|
|
33
|
+
import OperateRecords from '@af-mobile-client-vue3/views/userRecords/OperateRecords.vue'
|
|
34
|
+
import OtherChargeRecords from '@af-mobile-client-vue3/views/userRecords/OtherChargeRecords.vue'
|
|
35
|
+
import PaymentRecords from '@af-mobile-client-vue3/views/userRecords/PaymentRecords.vue'
|
|
36
|
+
import PriceAdjustmentRecords from '@af-mobile-client-vue3/views/userRecords/PriceAdjustmentRecords.vue'
|
|
37
|
+
import ReplacementRecords from '@af-mobile-client-vue3/views/userRecords/ReplacementRecords.vue'
|
|
38
|
+
import SafetyRecords from '@af-mobile-client-vue3/views/userRecords/SafetyRecords.vue'
|
|
39
|
+
import TransactionRecords from '@af-mobile-client-vue3/views/userRecords/TransactionRecords.vue'
|
|
40
|
+
import TransferRecords from '@af-mobile-client-vue3/views/userRecords/TransferRecords.vue'
|
|
24
41
|
|
|
25
42
|
const routes: Array<RouteRecordRaw> = [
|
|
26
43
|
{
|
|
@@ -67,11 +84,6 @@ const routes: Array<RouteRecordRaw> = [
|
|
|
67
84
|
name: 'XCellDetailView',
|
|
68
85
|
component: XCellDetailView,
|
|
69
86
|
},
|
|
70
|
-
{
|
|
71
|
-
path: '/xformgroup222',
|
|
72
|
-
name: 'xformgroup222',
|
|
73
|
-
component: xformgroup222,
|
|
74
|
-
},
|
|
75
87
|
{
|
|
76
88
|
path: '/Component/XFormGroupView',
|
|
77
89
|
name: 'XFormGroupView',
|
|
@@ -149,6 +161,159 @@ const routes: Array<RouteRecordRaw> = [
|
|
|
149
161
|
name: 'IconifyView',
|
|
150
162
|
component: IconifyView,
|
|
151
163
|
},
|
|
164
|
+
{
|
|
165
|
+
path: '/Component/UserDetailView',
|
|
166
|
+
name: 'UserDetailView',
|
|
167
|
+
component: UserDetailView,
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
path: '/Component/UserDetail/:userInfoId',
|
|
171
|
+
name: 'UserDetailRoute',
|
|
172
|
+
component: UserDetailPage,
|
|
173
|
+
meta: { title: '用户详情' },
|
|
174
|
+
},
|
|
175
|
+
],
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
path: '/userRecords',
|
|
179
|
+
name: 'userRecords',
|
|
180
|
+
children: [
|
|
181
|
+
// 用户记录相关路由
|
|
182
|
+
{
|
|
183
|
+
path: '/records',
|
|
184
|
+
name: 'OperateRecords',
|
|
185
|
+
component: OperateRecords,
|
|
186
|
+
meta: {
|
|
187
|
+
title: '操作记录',
|
|
188
|
+
keepAlive: false,
|
|
189
|
+
},
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
path: '/payment',
|
|
193
|
+
name: 'PaymentRecords',
|
|
194
|
+
component: PaymentRecords,
|
|
195
|
+
meta: {
|
|
196
|
+
title: '缴费记录',
|
|
197
|
+
keepAlive: false,
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
path: '/meter',
|
|
202
|
+
name: 'MeterRecords',
|
|
203
|
+
component: MeterRecords,
|
|
204
|
+
meta: {
|
|
205
|
+
title: '抄表记录',
|
|
206
|
+
keepAlive: false,
|
|
207
|
+
},
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
path: '/transfer',
|
|
211
|
+
name: 'TransferRecords',
|
|
212
|
+
component: TransferRecords,
|
|
213
|
+
meta: {
|
|
214
|
+
title: '过户记录',
|
|
215
|
+
keepAlive: false,
|
|
216
|
+
},
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
path: '/safety',
|
|
220
|
+
name: 'SafetyRecords',
|
|
221
|
+
component: SafetyRecords,
|
|
222
|
+
meta: {
|
|
223
|
+
title: '安检记录',
|
|
224
|
+
keepAlive: false,
|
|
225
|
+
},
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
path: '/replacement',
|
|
229
|
+
name: 'ReplacementRecords',
|
|
230
|
+
component: ReplacementRecords,
|
|
231
|
+
meta: {
|
|
232
|
+
title: '换表记录',
|
|
233
|
+
keepAlive: false,
|
|
234
|
+
},
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
path: '/otherCharge',
|
|
238
|
+
name: 'OtherChargeRecords',
|
|
239
|
+
component: OtherChargeRecords,
|
|
240
|
+
meta: {
|
|
241
|
+
title: '其他收费记录',
|
|
242
|
+
keepAlive: false,
|
|
243
|
+
},
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
path: '/transaction',
|
|
247
|
+
name: 'TransactionRecords',
|
|
248
|
+
component: TransactionRecords,
|
|
249
|
+
meta: {
|
|
250
|
+
title: '流水记录',
|
|
251
|
+
keepAlive: false,
|
|
252
|
+
},
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
path: '/abnormalAlarm',
|
|
256
|
+
name: 'AbnormalAlarmRecords',
|
|
257
|
+
component: AbnormalAlarmRecords,
|
|
258
|
+
meta: {
|
|
259
|
+
title: '异常报警记录',
|
|
260
|
+
keepAlive: false,
|
|
261
|
+
},
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
path: '/cardReplacement',
|
|
265
|
+
name: 'CardReplacementRecords',
|
|
266
|
+
component: CardReplacementRecords,
|
|
267
|
+
meta: {
|
|
268
|
+
title: '补卡记录',
|
|
269
|
+
keepAlive: false,
|
|
270
|
+
},
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
path: '/change',
|
|
274
|
+
name: 'ChangeRecords',
|
|
275
|
+
component: ChangeRecords,
|
|
276
|
+
meta: {
|
|
277
|
+
title: '变更记录',
|
|
278
|
+
keepAlive: false,
|
|
279
|
+
},
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
path: '/commandView',
|
|
283
|
+
name: 'CommandViewRecords',
|
|
284
|
+
component: CommandViewRecords,
|
|
285
|
+
meta: {
|
|
286
|
+
title: '指令查看记录',
|
|
287
|
+
keepAlive: false,
|
|
288
|
+
},
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
path: '/gasCompensation',
|
|
292
|
+
name: 'GasCompensationRecords',
|
|
293
|
+
component: GasCompensationRecords,
|
|
294
|
+
meta: {
|
|
295
|
+
title: '补气记录',
|
|
296
|
+
keepAlive: false,
|
|
297
|
+
},
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
path: '/instrumentCollection',
|
|
301
|
+
name: 'InstrumentCollectionRecords',
|
|
302
|
+
component: InstrumentCollectionRecords,
|
|
303
|
+
meta: {
|
|
304
|
+
title: '表具采集记录',
|
|
305
|
+
keepAlive: false,
|
|
306
|
+
},
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
path: '/priceAdjustment',
|
|
310
|
+
name: 'PriceAdjustmentRecords',
|
|
311
|
+
component: PriceAdjustmentRecords,
|
|
312
|
+
meta: {
|
|
313
|
+
title: '价格调整记录',
|
|
314
|
+
keepAlive: false,
|
|
315
|
+
},
|
|
316
|
+
},
|
|
152
317
|
],
|
|
153
318
|
},
|
|
154
319
|
{
|
|
@@ -161,6 +326,11 @@ const routes: Array<RouteRecordRaw> = [
|
|
|
161
326
|
name: 'userProfile',
|
|
162
327
|
component: my,
|
|
163
328
|
},
|
|
329
|
+
{
|
|
330
|
+
path: '/register/:strategyId?/:openId?',
|
|
331
|
+
name: 'register',
|
|
332
|
+
component: register,
|
|
333
|
+
},
|
|
164
334
|
{
|
|
165
335
|
path: '/404',
|
|
166
336
|
name: '404',
|
package/src/router/types.ts
CHANGED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { post } from '@af-mobile-client-vue3/services/restTools'
|
|
2
|
+
|
|
3
|
+
const userApi = {
|
|
4
|
+
// 修改密码
|
|
5
|
+
modifyPassword: '/af-system/user/modifypwd',
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* 修改密码
|
|
10
|
+
* @param data 修改密码参数
|
|
11
|
+
* @returns Promise
|
|
12
|
+
*/
|
|
13
|
+
export function modifyPassword(data: any) {
|
|
14
|
+
return post(userApi.modifyPassword, JSON.stringify(data))
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { userApi }
|
|
@@ -10,7 +10,7 @@ export interface WebConfig {
|
|
|
10
10
|
systemName: string
|
|
11
11
|
routerName: string
|
|
12
12
|
systemDesc: string
|
|
13
|
-
homePage:
|
|
13
|
+
homePage: any
|
|
14
14
|
defaultAvatarUrl: string
|
|
15
15
|
wechatLogin: boolean
|
|
16
16
|
wxLoginAge: boolean
|
|
@@ -19,6 +19,7 @@ export interface WebConfig {
|
|
|
19
19
|
systemLogo: string
|
|
20
20
|
homeAppList: Array<any>
|
|
21
21
|
slideshowList: Array<any>
|
|
22
|
+
registerRequire: boolean
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
// 存放 webConfig 中的 setting 配置
|
package/src/styles/var.less
CHANGED
|
@@ -14,3 +14,12 @@
|
|
|
14
14
|
--base-interval-1: 14px;
|
|
15
15
|
--base-interval-2: 28px;
|
|
16
16
|
}
|
|
17
|
+
// 全局弹出框样式覆盖 - 最强优先级
|
|
18
|
+
.van-popover,
|
|
19
|
+
.van-popover.van-popover--light,
|
|
20
|
+
.van-popover.van-popover--dark {
|
|
21
|
+
background-color: #ffffff !important;
|
|
22
|
+
border: none !important;
|
|
23
|
+
outline: none !important;
|
|
24
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
|
|
25
|
+
}
|
package/src/utils/mobileUtil.ts
CHANGED
|
@@ -21,9 +21,9 @@ export class mobileUtil {
|
|
|
21
21
|
static execute(locationParam: Param): any {
|
|
22
22
|
locationParam.callBackMethodName = `mobile_func_${Math.random().toString(36).substring(7)}`
|
|
23
23
|
if (window.__MICRO_APP_ENVIRONMENT__) {
|
|
24
|
-
console.warn('我在微前端环境中')
|
|
24
|
+
console.warn('我在微前端环境中');
|
|
25
25
|
// 微前端应用中需要绑定函数到真实的window中
|
|
26
|
-
window.rawWindow[locationParam.callBackMethodName] = locationParam.callbackFunc
|
|
26
|
+
(window as any).rawWindow[locationParam.callBackMethodName] = locationParam.callbackFunc
|
|
27
27
|
}
|
|
28
28
|
else {
|
|
29
29
|
console.warn('我不在微前端环境中')
|
|
@@ -1,57 +1,57 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 根据类型获取日期区间字符串
|
|
3
|
-
* @param type '当年' | 'curMonth' | '当日'
|
|
4
|
-
* @param show 区分实际值还是显示值, true为实际值, false为显示值
|
|
5
|
-
* @returns [start, end] 例:['2024-01-01 00:00:00', '2024-12-31 23:59:59']
|
|
6
|
-
*/
|
|
7
|
-
export function getRangeByType(type: string, show: boolean): [string, string] {
|
|
8
|
-
const now = new Date()
|
|
9
|
-
const year = now.getFullYear()
|
|
10
|
-
const month = (now.getMonth() + 1).toString().padStart(2, '0')
|
|
11
|
-
const day = now.getDate().toString().padStart(2, '0')
|
|
12
|
-
|
|
13
|
-
if (!show) {
|
|
14
|
-
if (type === 'curYear') {
|
|
15
|
-
return [
|
|
16
|
-
`${year}-01-01 00:00:00`,
|
|
17
|
-
`${year}-12-31 23:59:59`,
|
|
18
|
-
]
|
|
19
|
-
}
|
|
20
|
-
if (type === 'curMonth') {
|
|
21
|
-
const lastDay = new Date(year, now.getMonth() + 1, 0).getDate()
|
|
22
|
-
return [
|
|
23
|
-
`${year}-${month}-01 00:00:00`,
|
|
24
|
-
`${year}-${month}-${lastDay.toString().padStart(2, '0')} 23:59:59`,
|
|
25
|
-
]
|
|
26
|
-
}
|
|
27
|
-
if (type === 'curDay') {
|
|
28
|
-
return [
|
|
29
|
-
`${year}-${month}-${day} 00:00:00`,
|
|
30
|
-
`${year}-${month}-${day} 23:59:59`,
|
|
31
|
-
]
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
if (show) {
|
|
35
|
-
if (type === 'curYear') {
|
|
36
|
-
return [
|
|
37
|
-
`${year}-01-01`,
|
|
38
|
-
`${year}-12-31`,
|
|
39
|
-
]
|
|
40
|
-
}
|
|
41
|
-
if (type === 'curMonth') {
|
|
42
|
-
const lastDay = new Date(year, now.getMonth() + 1, 0).getDate()
|
|
43
|
-
return [
|
|
44
|
-
`${year}-${month}-01`,
|
|
45
|
-
`${year}-${month}-${lastDay.toString().padStart(2, '0')}`,
|
|
46
|
-
]
|
|
47
|
-
}
|
|
48
|
-
if (type === 'curDay') {
|
|
49
|
-
return [
|
|
50
|
-
`${year}-${month}-${day}`,
|
|
51
|
-
`${year}-${month}-${day}`,
|
|
52
|
-
]
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
// 兜底返回空字符串数组
|
|
56
|
-
return ['', '']
|
|
57
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* 根据类型获取日期区间字符串
|
|
3
|
+
* @param type '当年' | 'curMonth' | '当日'
|
|
4
|
+
* @param show 区分实际值还是显示值, true为实际值, false为显示值
|
|
5
|
+
* @returns [start, end] 例:['2024-01-01 00:00:00', '2024-12-31 23:59:59']
|
|
6
|
+
*/
|
|
7
|
+
export function getRangeByType(type: string, show: boolean): [string, string] {
|
|
8
|
+
const now = new Date()
|
|
9
|
+
const year = now.getFullYear()
|
|
10
|
+
const month = (now.getMonth() + 1).toString().padStart(2, '0')
|
|
11
|
+
const day = now.getDate().toString().padStart(2, '0')
|
|
12
|
+
|
|
13
|
+
if (!show) {
|
|
14
|
+
if (type === 'curYear') {
|
|
15
|
+
return [
|
|
16
|
+
`${year}-01-01 00:00:00`,
|
|
17
|
+
`${year}-12-31 23:59:59`,
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
if (type === 'curMonth') {
|
|
21
|
+
const lastDay = new Date(year, now.getMonth() + 1, 0).getDate()
|
|
22
|
+
return [
|
|
23
|
+
`${year}-${month}-01 00:00:00`,
|
|
24
|
+
`${year}-${month}-${lastDay.toString().padStart(2, '0')} 23:59:59`,
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
if (type === 'curDay') {
|
|
28
|
+
return [
|
|
29
|
+
`${year}-${month}-${day} 00:00:00`,
|
|
30
|
+
`${year}-${month}-${day} 23:59:59`,
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (show) {
|
|
35
|
+
if (type === 'curYear') {
|
|
36
|
+
return [
|
|
37
|
+
`${year}-01-01`,
|
|
38
|
+
`${year}-12-31`,
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
if (type === 'curMonth') {
|
|
42
|
+
const lastDay = new Date(year, now.getMonth() + 1, 0).getDate()
|
|
43
|
+
return [
|
|
44
|
+
`${year}-${month}-01`,
|
|
45
|
+
`${year}-${month}-${lastDay.toString().padStart(2, '0')}`,
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
if (type === 'curDay') {
|
|
49
|
+
return [
|
|
50
|
+
`${year}-${month}-${day}`,
|
|
51
|
+
`${year}-${month}-${day}`,
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// 兜底返回空字符串数组
|
|
56
|
+
return ['', '']
|
|
57
|
+
}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { appName } from '../constants'
|
|
2
2
|
|
|
3
|
-
export default function setPageTitle(
|
|
4
|
-
window.document.title =
|
|
5
|
-
? `${routerTitle} | ${pageDefaultTitle}`
|
|
6
|
-
: `${pageDefaultTitle}`
|
|
3
|
+
export default function setPageTitle(title?: string): void {
|
|
4
|
+
window.document.title = title ? `${title} - ${appName}` : appName
|
|
7
5
|
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import SvgIcon from '@af-mobile-client-vue3/components/core/SvgIcon/index.vue'
|
|
3
2
|
</script>
|
|
4
3
|
|
|
5
4
|
<template>
|
|
6
5
|
<div class="load_error_main">
|
|
7
6
|
<div class="container">
|
|
8
|
-
<
|
|
7
|
+
<div class="loadError i-svg:loadError" />
|
|
9
8
|
</div>
|
|
10
9
|
<div class="text">
|
|
11
10
|
似乎出了点问题,下拉再试试
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import SvgIcon from '@af-mobile-client-vue3/components/core/SvgIcon/index.vue'
|
|
3
2
|
import { Button as VanButton } from 'vant'
|
|
4
3
|
</script>
|
|
5
4
|
|
|
6
5
|
<template>
|
|
7
6
|
<div class="not_found_main">
|
|
8
7
|
<div class="container">
|
|
9
|
-
<
|
|
8
|
+
<div class="notFound i-svg:notFound" />
|
|
10
9
|
</div>
|
|
11
10
|
<div class="text">
|
|
12
11
|
本来无一物,何处惹尘埃
|
|
13
12
|
</div>
|
|
14
13
|
<div class="button_group">
|
|
15
|
-
<VanButton type="primary" size="small" @click="$router.replace('/
|
|
14
|
+
<VanButton type="primary" size="small" @click="$router.replace('/')">
|
|
16
15
|
返回首页
|
|
17
16
|
</VanButton>
|
|
18
17
|
</div>
|