af-mobile-client-vue3 1.2.59 → 1.3.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/build/vite/index.ts +2 -12
- package/build/vite/optimize.ts +2 -2
- package/compress.js +36 -0
- package/package.json +114 -114
- package/src/App.vue +3 -5
- 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 +23 -13
- package/src/components/core/Tabbar/index.vue +5 -3
- package/src/components/data/XBadge/index.vue +2 -2
- package/src/components/data/XCellList/index.vue +10 -10
- package/src/components/data/XFormGroup/doc/FormGroupDemo.vue +4 -4
- package/src/components/data/XFormGroup/index.vue +11 -1
- package/src/components/data/XFormItem/index.vue +2 -22
- 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/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/layout/NormalDataLayout/index.vue +2 -3
- package/src/config/routes.ts +6 -2
- package/src/constants/index.ts +2 -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/router/routes.ts +0 -6
- package/src/router/types.ts +0 -2
- 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/XCellListView/index.vue +23 -72
- package/src/views/component/XFormGroupView/index.vue +7 -11
- package/src/views/component/XFormView/index.vue +2 -2
- package/tsconfig.json +5 -8
- package/uno.config.ts +32 -1
- package/vite.config.ts +1 -1
- 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/en-US.json
CHANGED
|
@@ -1,29 +1,46 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"
|
|
4
|
-
"
|
|
2
|
+
"navbar": {
|
|
3
|
+
"Home": "Home",
|
|
4
|
+
"Profile": "Profile",
|
|
5
|
+
"Mock": "🗂️ Mock",
|
|
6
|
+
"Charts": "📊 Charts",
|
|
7
|
+
"UnoCSS": "⚡ UnoCSS",
|
|
8
|
+
"Counter": "🍍 Persistent State",
|
|
9
|
+
"KeepAlive": "♻️ Page Cache",
|
|
10
|
+
"ScrollCache": "📍 Scroll Cache",
|
|
11
|
+
"Login": "🧑💻 Login",
|
|
12
|
+
"Register": "🧑💻 Register",
|
|
13
|
+
"ForgotPassword": "❓ Forgot Password",
|
|
14
|
+
"Settings": "⚙️ Settings",
|
|
15
|
+
"404": "⚠️ Page 404",
|
|
16
|
+
"Undefined": "🤷 Undefined title"
|
|
17
|
+
},
|
|
18
|
+
|
|
19
|
+
"tabbar": {
|
|
20
|
+
"home": "HOME",
|
|
21
|
+
"profile": "PROFILE"
|
|
22
|
+
},
|
|
23
|
+
|
|
24
|
+
"home": {
|
|
5
25
|
"darkMode": "🌗 Dark Mode",
|
|
6
|
-
"mockGuide": "💿 Mock Guide",
|
|
7
26
|
"language": "📚 Language",
|
|
8
|
-
"404Demo": "🙅 Page 404 Demo",
|
|
9
|
-
"echartsDemo": "📊 Echarts Demo",
|
|
10
|
-
"persistPiniaState": "🍍 Persistent Pinia state",
|
|
11
|
-
"unocssExample": "🎨 Unocss example",
|
|
12
|
-
"keepAlive": "🧡 KeepAlive Demo",
|
|
13
|
-
"scrollCache": "📜 Scroll Cache Demo",
|
|
14
|
-
"login": "🔒 Login",
|
|
15
|
-
"register": "Register",
|
|
16
27
|
"settings": "Settings",
|
|
17
|
-
"
|
|
18
|
-
"exampleComponents": "Example components",
|
|
19
|
-
"forgot-password": "Forgot Password"
|
|
28
|
+
"examples": "Examples"
|
|
20
29
|
},
|
|
30
|
+
|
|
31
|
+
"profile": {
|
|
32
|
+
"login": "Login",
|
|
33
|
+
"settings": "Settings",
|
|
34
|
+
"docs": "Docs"
|
|
35
|
+
},
|
|
36
|
+
|
|
21
37
|
"mock": {
|
|
22
38
|
"fromAsyncData": "Data from asynchronous requests",
|
|
23
39
|
"noData": "No data",
|
|
24
40
|
"pull": "Pull",
|
|
25
41
|
"reset": "Reset"
|
|
26
42
|
},
|
|
43
|
+
|
|
27
44
|
"charts": {
|
|
28
45
|
"January": "Jan",
|
|
29
46
|
"February": "Feb",
|
|
@@ -32,24 +49,28 @@
|
|
|
32
49
|
"May": "May",
|
|
33
50
|
"June": "Jun"
|
|
34
51
|
},
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"
|
|
52
|
+
|
|
53
|
+
"counter": {
|
|
54
|
+
"description": "This counter's state is persisted via Pinia. Try refreshing the page to see it in action."
|
|
38
55
|
},
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
"
|
|
42
|
-
"
|
|
56
|
+
|
|
57
|
+
"unocss": {
|
|
58
|
+
"title": "Hello, Unocss!",
|
|
59
|
+
"description": "This is a simple example of Unocss in action.",
|
|
60
|
+
"button": "Button"
|
|
43
61
|
},
|
|
62
|
+
|
|
44
63
|
"keepAlive": {
|
|
45
64
|
"label": "The current component will be cached"
|
|
46
65
|
},
|
|
66
|
+
|
|
47
67
|
"scrollCache": {
|
|
48
68
|
"sectionTitle": "Section title",
|
|
49
69
|
"sectionText": "Section text text text text text text text text text text",
|
|
50
70
|
"finished": "Already at the bottom ~",
|
|
51
71
|
"loading": "Loading..."
|
|
52
72
|
},
|
|
73
|
+
|
|
53
74
|
"login": {
|
|
54
75
|
"login": "Sign In",
|
|
55
76
|
"logout": "Sign Out",
|
|
@@ -57,14 +78,15 @@
|
|
|
57
78
|
"password": "Password",
|
|
58
79
|
"pleaseEnterEmail": "Please enter email",
|
|
59
80
|
"pleaseEnterPassword": "Please enter password",
|
|
60
|
-
"
|
|
61
|
-
"
|
|
81
|
+
"signUp": "Click to sign up",
|
|
82
|
+
"forgotPassword": "Forgot password?"
|
|
62
83
|
},
|
|
63
|
-
|
|
84
|
+
|
|
85
|
+
"forgotPassword": {
|
|
64
86
|
"email": "Email",
|
|
65
87
|
"code": "Code",
|
|
66
88
|
"password": "Password",
|
|
67
|
-
"
|
|
89
|
+
"confirmPassword": "Password again",
|
|
68
90
|
"pleaseEnterEmail": "Please enter email",
|
|
69
91
|
"pleaseEnterCode": "Please enter code",
|
|
70
92
|
"pleaseEnterPassword": "Please enter password",
|
|
@@ -77,12 +99,13 @@
|
|
|
77
99
|
"sendCodeSuccess": "Sent, the code is",
|
|
78
100
|
"passwordResetSuccess": "Password reset succeeded"
|
|
79
101
|
},
|
|
102
|
+
|
|
80
103
|
"register": {
|
|
81
104
|
"email": "Email",
|
|
82
105
|
"code": "Code",
|
|
83
106
|
"nickname": "Nickname",
|
|
84
107
|
"password": "Password",
|
|
85
|
-
"
|
|
108
|
+
"confirmPassword": "Password again",
|
|
86
109
|
"pleaseEnterEmail": "Please enter email",
|
|
87
110
|
"pleaseEnterCode": "Please enter code",
|
|
88
111
|
"pleaseEnterNickname": "Please enter nickname",
|
|
@@ -96,9 +119,10 @@
|
|
|
96
119
|
"sendCodeSuccess": "Sent, the code is",
|
|
97
120
|
"registerSuccess": "Register succeeded"
|
|
98
121
|
},
|
|
122
|
+
|
|
99
123
|
"settings": {
|
|
100
124
|
"logout": "Sign Out",
|
|
101
125
|
"currentVersion": "Current Version",
|
|
102
|
-
"
|
|
126
|
+
"confirmTitle": "Confirm Exit?"
|
|
103
127
|
}
|
|
104
128
|
}
|
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
package/src/router/routes.ts
CHANGED
|
@@ -10,7 +10,6 @@ import XCellDetailView from '@af-mobile-client-vue3/views/component/XCellDetailV
|
|
|
10
10
|
import XCellListView from '@af-mobile-client-vue3/views/component/XCellListView/index.vue'
|
|
11
11
|
import XFormAppraiseView from '@af-mobile-client-vue3/views/component/XFormAppraiseView/index.vue'
|
|
12
12
|
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
13
|
import XFormView from '@af-mobile-client-vue3/views/component/XFormView/index.vue'
|
|
15
14
|
import XOlMapView from '@af-mobile-client-vue3/views/component/XOlMapView/index.vue'
|
|
16
15
|
import XLocationPicker from '@af-mobile-client-vue3/views/component/XOlMapView/XLocationPicker/index.vue'
|
|
@@ -67,11 +66,6 @@ const routes: Array<RouteRecordRaw> = [
|
|
|
67
66
|
name: 'XCellDetailView',
|
|
68
67
|
component: XCellDetailView,
|
|
69
68
|
},
|
|
70
|
-
{
|
|
71
|
-
path: '/xformgroup222',
|
|
72
|
-
name: 'xformgroup222',
|
|
73
|
-
component: xformgroup222,
|
|
74
|
-
},
|
|
75
69
|
{
|
|
76
70
|
path: '/Component/XFormGroupView',
|
|
77
71
|
name: 'XFormGroupView',
|
package/src/router/types.ts
CHANGED
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>
|
|
@@ -1,26 +1,19 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import XCellList from '@af-mobile-client-vue3/components/data/XCellList/index.vue'
|
|
3
3
|
import NormalDataLayout from '@af-mobile-client-vue3/components/layout/NormalDataLayout/index.vue'
|
|
4
|
-
import { useUserStore } from '@af-mobile-client-vue3/stores/modules/user'
|
|
5
4
|
import { defineEmits, ref } from 'vue'
|
|
6
5
|
import { useRouter } from 'vue-router'
|
|
7
6
|
|
|
8
7
|
// 定义事件
|
|
9
8
|
const emit = defineEmits(['deleteRow'])
|
|
10
|
-
const userInfo = useUserStore().getUserInfo()
|
|
11
9
|
// 访问路由
|
|
12
10
|
const router = useRouter()
|
|
13
11
|
// 获取默认值
|
|
14
12
|
const idKey = ref('o_id')
|
|
15
13
|
|
|
16
14
|
// 简易crud表单测试
|
|
17
|
-
|
|
18
|
-
// const serviceName = ref('af-gaslink')
|
|
19
|
-
// const configName = ref('lngPriceManageMobileCRUD')
|
|
20
|
-
const configName = ref('测试2')
|
|
15
|
+
const configName = ref('lngChargeAuditMobileCRUD')
|
|
21
16
|
const serviceName = ref('af-gaslink')
|
|
22
|
-
// const configName = ref('mobile_liushuiQueryCRUD')
|
|
23
|
-
// const serviceName = ref('af-revenue')
|
|
24
17
|
|
|
25
18
|
// 资源权限测试
|
|
26
19
|
// const configName = ref('crud_sources_test')
|
|
@@ -55,12 +48,12 @@ const serviceName = ref('af-gaslink')
|
|
|
55
48
|
// 跳转到表单——以表单组来渲染纯表单
|
|
56
49
|
function toDetail(item) {
|
|
57
50
|
router.push({
|
|
58
|
-
name: '
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
51
|
+
name: 'XFormGroupView',
|
|
52
|
+
query: {
|
|
53
|
+
id: item[idKey.value],
|
|
54
|
+
// id: item.rr_id,
|
|
55
|
+
// o_id: item.o_id,
|
|
56
|
+
},
|
|
64
57
|
})
|
|
65
58
|
}
|
|
66
59
|
|
|
@@ -76,36 +69,19 @@ function toDetail(item) {
|
|
|
76
69
|
// },
|
|
77
70
|
// })
|
|
78
71
|
// }
|
|
79
|
-
function addOption() {
|
|
80
|
-
console.log('用户----', userInfo)
|
|
81
|
-
router.push({
|
|
82
|
-
name: 'XFormGroupView',
|
|
83
|
-
// params: { id: totalCount.value },
|
|
84
|
-
// query: {
|
|
85
|
-
// configName: configName.value,
|
|
86
|
-
// serviceName: serviceName.value,
|
|
87
|
-
// mode: '新增',
|
|
88
|
-
// },
|
|
89
|
-
})
|
|
90
|
-
// 如果存在回调函数,调用它并传递true表示已处理
|
|
91
|
-
// if (typeof callback === 'function') {
|
|
92
|
-
// callback(true)
|
|
93
|
-
// }
|
|
94
|
-
}
|
|
95
72
|
|
|
96
73
|
// 修改功能
|
|
97
|
-
function updateRow(result) {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
}
|
|
74
|
+
// function updateRow(result) {
|
|
75
|
+
// router.push({
|
|
76
|
+
// name: 'XFormView',
|
|
77
|
+
// params: { id: result.o_id, openid: result.o_id },
|
|
78
|
+
// query: {
|
|
79
|
+
// configName: configName.value,
|
|
80
|
+
// serviceName: serviceName.value,
|
|
81
|
+
// mode: '修改',
|
|
82
|
+
// },
|
|
83
|
+
// })
|
|
84
|
+
// }
|
|
109
85
|
|
|
110
86
|
// 删除功能
|
|
111
87
|
function deleteRow(result) {
|
|
@@ -116,38 +92,13 @@ function deleteRow(result) {
|
|
|
116
92
|
<template>
|
|
117
93
|
<NormalDataLayout id="XCellListView" title="工作计划">
|
|
118
94
|
<template #layout_content>
|
|
119
|
-
<!-- <XCellList -->
|
|
120
|
-
<!-- :config-name="configName" -->
|
|
121
|
-
<!-- :service-name="serviceName" -->
|
|
122
|
-
<!-- :custom-add="true" -->
|
|
123
|
-
<!-- :custom-edit="true" -->
|
|
124
|
-
<!-- :id-key="idKey" -->
|
|
125
|
-
<!-- @to-detail="toDetail" -->
|
|
126
|
-
<!-- @delete-row="deleteRow" -->
|
|
127
|
-
<!-- @update="updateRow" -->
|
|
128
|
-
<!-- @add="addOption" -->
|
|
129
|
-
<!-- /> -->
|
|
130
|
-
|
|
131
|
-
<!-- :fix-query-form="{ u_f_price_state: ['生效', '待生效'] }" -->
|
|
132
|
-
|
|
133
|
-
<!-- <XCellList -->
|
|
134
|
-
<!-- config-name="ApplyMobileSuperviseCRUD" -->
|
|
135
|
-
<!-- service-name="af-apply" -->
|
|
136
|
-
<!-- @to-detail="toDetail" -->
|
|
137
|
-
<!-- @delete-row="deleteRow" -->
|
|
138
|
-
<!-- /> -->
|
|
139
|
-
|
|
140
|
-
<!-- <XCellList -->
|
|
141
|
-
<!-- service-name="af-revenue" -->
|
|
142
|
-
<!-- config-name="userfiles_sel_address" -->
|
|
143
|
-
<!-- @to-detail="toDetail" -->
|
|
144
|
-
<!-- /> -->
|
|
145
95
|
<XCellList
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
:
|
|
96
|
+
:config-name="configName"
|
|
97
|
+
:service-name="serviceName"
|
|
98
|
+
:fix-query-form="{ o_f_oper_name: 'edu_test' }"
|
|
99
|
+
:id-key="idKey"
|
|
149
100
|
@to-detail="toDetail"
|
|
150
|
-
@
|
|
101
|
+
@delete-row="deleteRow"
|
|
151
102
|
/>
|
|
152
103
|
</template>
|
|
153
104
|
</NormalDataLayout>
|