create-jnrs-vue 2.0.2 → 2.0.3
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/jnrs-vue/components.d.ts +1 -0
- package/jnrs-vue/package.json +3 -3
- package/jnrs-vue/src/api/examples/playground.ts +51 -0
- package/jnrs-vue/src/api/examples/portfolio-management/portfolio.ts +10 -10
- package/jnrs-vue/src/api/examples/portfolio-management/program.ts +5 -5
- package/jnrs-vue/src/api/examples/portfolio-management/project.ts +4 -4
- package/jnrs-vue/src/api/examples/program-management/index.ts +5 -5
- package/jnrs-vue/src/api/examples/program-management/sub-project.ts +4 -4
- package/jnrs-vue/src/api/examples/project-management/index.ts +19 -51
- package/jnrs-vue/src/api/examples/project-management/manager.ts +1 -1
- package/jnrs-vue/src/components/common/DictSelector.vue +70 -0
- package/jnrs-vue/src/components/common/DictTag.vue +8 -2
- package/jnrs-vue/src/utils/index.ts +1 -1
- package/jnrs-vue/src/views/examples/playground/RequestPage.vue +97 -38
- package/jnrs-vue/src/views/examples/playground/index.vue +203 -63
- package/jnrs-vue/src/views/examples/portfolio-management/programList/editDialog.vue +10 -0
- package/jnrs-vue/src/views/examples/portfolio-management/programList/index.vue +1 -1
- package/jnrs-vue/src/views/examples/portfolio-management/projectList/editDialog.vue +12 -9
- package/jnrs-vue/src/views/examples/program-management/mainPage/editDialog.vue +15 -19
- package/jnrs-vue/src/views/examples/program-management/subPage/editDialog.vue +15 -19
- package/jnrs-vue/src/views/examples/project-management/EditDialog.vue +54 -24
- package/jnrs-vue/src/views/examples/project-management/index.vue +4 -18
- package/jnrs-vue/viteMockServe/auth.mock.ts +41 -0
- package/jnrs-vue/viteMockServe/details.mock.ts +12 -0
- package/jnrs-vue/viteMockServe/dict.mock.ts +21 -0
- package/jnrs-vue/viteMockServe/index.ts +22 -370
- package/jnrs-vue/viteMockServe/manager.mock.ts +12 -0
- package/jnrs-vue/viteMockServe/portfolio-program.mock.ts +36 -0
- package/jnrs-vue/viteMockServe/portfolio-project.mock.ts +28 -0
- package/jnrs-vue/viteMockServe/portfolio.mock.ts +109 -0
- package/jnrs-vue/viteMockServe/program.mock.ts +45 -0
- package/jnrs-vue/viteMockServe/project.mock.ts +58 -0
- package/jnrs-vue/viteMockServe/role.mock.ts +12 -0
- package/jnrs-vue/viteMockServe/sub-project.mock.ts +34 -0
- package/package.json +1 -1
- package/jnrs-vue/src/api/business/index.ts +0 -69
- package/jnrs-vue/src/utils/field.ts +0 -73
- package/jnrs-vue/src/views/businessPlayground/EditDialog.vue +0 -137
- package/jnrs-vue/src/views/businessPlayground/index.vue +0 -90
- package/jnrs-vue/viteMockServe/json/tableRes.json +0 -390
- /package/jnrs-vue/viteMockServe/json/{loginResAdmin.json → auth-login-admin.json} +0 -0
- /package/jnrs-vue/viteMockServe/json/{loginResUser.json → auth-login-user.json} +0 -0
- /package/jnrs-vue/viteMockServe/json/{detailsRes.json → details.json} +0 -0
- /package/jnrs-vue/viteMockServe/json/{dictItemRes.json → dict-detail.json} +0 -0
- /package/jnrs-vue/viteMockServe/json/{dictRes.json → dict-list.json} +0 -0
- /package/jnrs-vue/viteMockServe/json/{managerRes.json → manager-list.json} +0 -0
- /package/jnrs-vue/viteMockServe/json/{programListRes.json → program-list.json} +0 -0
- /package/jnrs-vue/viteMockServe/json/{projectListRes.json → project-list.json} +0 -0
- /package/jnrs-vue/viteMockServe/json/{roleRes.json → role-list.json} +0 -0
- /package/jnrs-vue/viteMockServe/json/{subProjectListRes.json → sub-project-list.json} +0 -0
package/jnrs-vue/components.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export {}
|
|
|
11
11
|
/* prettier-ignore */
|
|
12
12
|
declare module 'vue' {
|
|
13
13
|
export interface GlobalComponents {
|
|
14
|
+
ElAlert: typeof import('element-plus/es')['ElAlert']
|
|
14
15
|
ElAside: typeof import('element-plus/es')['ElAside']
|
|
15
16
|
ElAvatar: typeof import('element-plus/es')['ElAvatar']
|
|
16
17
|
ElBadge: typeof import('element-plus/es')['ElBadge']
|
package/jnrs-vue/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jnrs-vue",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.40",
|
|
4
4
|
"description": "JNRS 信息化管理系统",
|
|
5
5
|
"author": "talia_tan",
|
|
6
6
|
"private": true,
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@element-plus/icons-vue": "^2.3.2",
|
|
22
|
-
"@jnrs/lingshu-smart": "2.2.
|
|
23
|
-
"@jnrs/shared": "1.1.
|
|
22
|
+
"@jnrs/lingshu-smart": "2.2.32",
|
|
23
|
+
"@jnrs/shared": "1.1.33",
|
|
24
24
|
"@jnrs/vue-core": "1.2.26",
|
|
25
25
|
"@vueuse/core": "^14.1.0",
|
|
26
26
|
"element-plus": "^2.13.3",
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @Author : TanRui
|
|
3
|
+
* @WeChat : Tan578853789
|
|
4
|
+
* @File : playground.ts
|
|
5
|
+
* @Date : 2026/05/25
|
|
6
|
+
* @Desc. : 测试模块接口文档
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { axiosRequest } from '../request'
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* 测试 404 错误
|
|
13
|
+
*/
|
|
14
|
+
export const NotFoundApi = () => {
|
|
15
|
+
return axiosRequest({
|
|
16
|
+
url: '/notFound',
|
|
17
|
+
method: 'get'
|
|
18
|
+
})
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* 测试 不需要权限
|
|
23
|
+
*/
|
|
24
|
+
export const NoNeedAuthApi = () => {
|
|
25
|
+
return axiosRequest({
|
|
26
|
+
url: '/auth/no',
|
|
27
|
+
method: 'post',
|
|
28
|
+
noAuth: true // 是否需要权限,默认为 false
|
|
29
|
+
})
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* 测试 无权限
|
|
34
|
+
*/
|
|
35
|
+
export const NoAuthApi = (showErrorMsg: boolean) => {
|
|
36
|
+
return axiosRequest({
|
|
37
|
+
url: '/auth/no',
|
|
38
|
+
method: 'post',
|
|
39
|
+
showErrorMsg // 是否显示错误信息,默认为 true
|
|
40
|
+
})
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* 测试 请求错误
|
|
45
|
+
*/
|
|
46
|
+
export const FailApi = () => {
|
|
47
|
+
return axiosRequest({
|
|
48
|
+
url: '/auth/fail',
|
|
49
|
+
method: 'post'
|
|
50
|
+
})
|
|
51
|
+
}
|
|
@@ -68,7 +68,7 @@ export interface UpdatePortfolio {
|
|
|
68
68
|
*/
|
|
69
69
|
export const portfolioListApi = (parentId?: number): Promise<Portfolio[]> => {
|
|
70
70
|
return axiosRequest({
|
|
71
|
-
url: '/
|
|
71
|
+
url: '/examples/portfolio/list',
|
|
72
72
|
method: 'get',
|
|
73
73
|
params: { parentId }
|
|
74
74
|
})
|
|
@@ -79,7 +79,7 @@ export const portfolioListApi = (parentId?: number): Promise<Portfolio[]> => {
|
|
|
79
79
|
*/
|
|
80
80
|
export const addPortfolioApi = (data: AddPortfolio) => {
|
|
81
81
|
return axiosRequest({
|
|
82
|
-
url: '/
|
|
82
|
+
url: '/examples/portfolio/save',
|
|
83
83
|
method: 'post',
|
|
84
84
|
data
|
|
85
85
|
})
|
|
@@ -90,7 +90,7 @@ export const addPortfolioApi = (data: AddPortfolio) => {
|
|
|
90
90
|
*/
|
|
91
91
|
export const upSideAddPortfolioApi = (data: UpSideAddPortfolio) => {
|
|
92
92
|
return axiosRequest({
|
|
93
|
-
url: '/
|
|
93
|
+
url: '/examples/portfolio/upSideAdd',
|
|
94
94
|
method: 'post',
|
|
95
95
|
data
|
|
96
96
|
})
|
|
@@ -101,7 +101,7 @@ export const upSideAddPortfolioApi = (data: UpSideAddPortfolio) => {
|
|
|
101
101
|
*/
|
|
102
102
|
export const downSideAddPortfolioApi = (data: DownSideAddPortfolio) => {
|
|
103
103
|
return axiosRequest({
|
|
104
|
-
url: '/
|
|
104
|
+
url: '/examples/portfolio/downSideAdd',
|
|
105
105
|
method: 'post',
|
|
106
106
|
data
|
|
107
107
|
})
|
|
@@ -112,7 +112,7 @@ export const downSideAddPortfolioApi = (data: DownSideAddPortfolio) => {
|
|
|
112
112
|
*/
|
|
113
113
|
export const innerAddPortfolioApi = (data: InnerAddPortfolio) => {
|
|
114
114
|
return axiosRequest({
|
|
115
|
-
url: '/
|
|
115
|
+
url: '/examples/portfolio/innerAdd',
|
|
116
116
|
method: 'post',
|
|
117
117
|
data
|
|
118
118
|
})
|
|
@@ -123,7 +123,7 @@ export const innerAddPortfolioApi = (data: InnerAddPortfolio) => {
|
|
|
123
123
|
*/
|
|
124
124
|
export const updatePortfolioApi = (data: UpdatePortfolio) => {
|
|
125
125
|
return axiosRequest({
|
|
126
|
-
url: '/
|
|
126
|
+
url: '/examples/portfolio/update',
|
|
127
127
|
method: 'put',
|
|
128
128
|
data
|
|
129
129
|
})
|
|
@@ -134,7 +134,7 @@ export const updatePortfolioApi = (data: UpdatePortfolio) => {
|
|
|
134
134
|
*/
|
|
135
135
|
export const moveUpPortfolioApi = (data: { targetPortfolioId: number }) => {
|
|
136
136
|
return axiosRequest({
|
|
137
|
-
url: '/
|
|
137
|
+
url: '/examples/portfolio/moveUp',
|
|
138
138
|
method: 'put',
|
|
139
139
|
data
|
|
140
140
|
})
|
|
@@ -145,7 +145,7 @@ export const moveUpPortfolioApi = (data: { targetPortfolioId: number }) => {
|
|
|
145
145
|
*/
|
|
146
146
|
export const moveDownPortfolioApi = (data: { targetPortfolioId: number }) => {
|
|
147
147
|
return axiosRequest({
|
|
148
|
-
url: '/
|
|
148
|
+
url: '/examples/portfolio/moveDown',
|
|
149
149
|
method: 'put',
|
|
150
150
|
data
|
|
151
151
|
})
|
|
@@ -156,8 +156,8 @@ export const moveDownPortfolioApi = (data: { targetPortfolioId: number }) => {
|
|
|
156
156
|
*/
|
|
157
157
|
export const deletePortfolioApi = (id: number): Promise<IFullResponse<unknown>> => {
|
|
158
158
|
return axiosRequest({
|
|
159
|
-
url: `/
|
|
159
|
+
url: `/examples/portfolio/delete/${id}`,
|
|
160
160
|
method: 'delete',
|
|
161
161
|
returnFullResponse: true
|
|
162
162
|
})
|
|
163
|
-
}
|
|
163
|
+
}
|
|
@@ -97,7 +97,7 @@ export interface PortfolioProgramQuery extends IPagination {
|
|
|
97
97
|
*/
|
|
98
98
|
export const portfolioProgramTableApi = (params?: PortfolioProgramQuery): Promise<IPageTableData<PortfolioProgram>> => {
|
|
99
99
|
return axiosRequest({
|
|
100
|
-
url: '/
|
|
100
|
+
url: '/examples/portfolio-program/list',
|
|
101
101
|
method: 'get',
|
|
102
102
|
params
|
|
103
103
|
})
|
|
@@ -108,7 +108,7 @@ export const portfolioProgramTableApi = (params?: PortfolioProgramQuery): Promis
|
|
|
108
108
|
*/
|
|
109
109
|
export const addPortfolioProgramApi = (data: AddPortfolioProgram) => {
|
|
110
110
|
return axiosRequest({
|
|
111
|
-
url: '/
|
|
111
|
+
url: '/examples/portfolio-program/save',
|
|
112
112
|
method: 'post',
|
|
113
113
|
data
|
|
114
114
|
})
|
|
@@ -119,7 +119,7 @@ export const addPortfolioProgramApi = (data: AddPortfolioProgram) => {
|
|
|
119
119
|
*/
|
|
120
120
|
export const editPortfolioProgramApi = (data: UpdatePortfolioProgram) => {
|
|
121
121
|
return axiosRequest({
|
|
122
|
-
url: '/
|
|
122
|
+
url: '/examples/portfolio-program/save',
|
|
123
123
|
method: 'post',
|
|
124
124
|
data
|
|
125
125
|
})
|
|
@@ -130,7 +130,7 @@ export const editPortfolioProgramApi = (data: UpdatePortfolioProgram) => {
|
|
|
130
130
|
*/
|
|
131
131
|
export const deletePortfolioProgramApi = (id: string): Promise<IFullResponse<unknown>> => {
|
|
132
132
|
return axiosRequest({
|
|
133
|
-
url: `/
|
|
133
|
+
url: `/examples/portfolio-program/delete/${id}`,
|
|
134
134
|
method: 'delete',
|
|
135
135
|
returnFullResponse: true
|
|
136
136
|
})
|
|
@@ -141,7 +141,7 @@ export const deletePortfolioProgramApi = (id: string): Promise<IFullResponse<unk
|
|
|
141
141
|
*/
|
|
142
142
|
export const portfolioProgramEnableApi = (data: PortfolioProgramEnable) => {
|
|
143
143
|
return axiosRequest({
|
|
144
|
-
url: '/
|
|
144
|
+
url: '/examples/portfolio-program/enable',
|
|
145
145
|
method: 'put',
|
|
146
146
|
data,
|
|
147
147
|
returnFullResponse: true
|
|
@@ -86,7 +86,7 @@ export interface PortfolioProjectQuery extends IPagination {
|
|
|
86
86
|
*/
|
|
87
87
|
export const portfolioProjectTableApi = (params?: PortfolioProjectQuery): Promise<IPageTableData<PortfolioProject>> => {
|
|
88
88
|
return axiosRequest({
|
|
89
|
-
url: '/
|
|
89
|
+
url: '/examples/portfolio-project/list',
|
|
90
90
|
method: 'get',
|
|
91
91
|
params
|
|
92
92
|
})
|
|
@@ -97,7 +97,7 @@ export const portfolioProjectTableApi = (params?: PortfolioProjectQuery): Promis
|
|
|
97
97
|
*/
|
|
98
98
|
export const addPortfolioProjectApi = (data: AddPortfolioProject) => {
|
|
99
99
|
return axiosRequest({
|
|
100
|
-
url: '/
|
|
100
|
+
url: '/examples/portfolio-project/save',
|
|
101
101
|
method: 'post',
|
|
102
102
|
data
|
|
103
103
|
})
|
|
@@ -108,7 +108,7 @@ export const addPortfolioProjectApi = (data: AddPortfolioProject) => {
|
|
|
108
108
|
*/
|
|
109
109
|
export const editPortfolioProjectApi = (data: UpdatePortfolioProject) => {
|
|
110
110
|
return axiosRequest({
|
|
111
|
-
url: '/
|
|
111
|
+
url: '/examples/portfolio-project/save',
|
|
112
112
|
method: 'post',
|
|
113
113
|
data
|
|
114
114
|
})
|
|
@@ -119,7 +119,7 @@ export const editPortfolioProjectApi = (data: UpdatePortfolioProject) => {
|
|
|
119
119
|
*/
|
|
120
120
|
export const deletePortfolioProjectApi = (id: string) => {
|
|
121
121
|
return axiosRequest({
|
|
122
|
-
url: `/
|
|
122
|
+
url: `/examples/portfolio-project/delete/${id}`,
|
|
123
123
|
method: 'delete'
|
|
124
124
|
})
|
|
125
125
|
}
|
|
@@ -91,7 +91,7 @@ export interface ProgramQuery extends IPagination {
|
|
|
91
91
|
*/
|
|
92
92
|
export const programTableApi = (params?: ProgramQuery): Promise<IPageTableData<Program>> => {
|
|
93
93
|
return axiosRequest({
|
|
94
|
-
url: '/
|
|
94
|
+
url: '/examples/program/list',
|
|
95
95
|
method: 'get',
|
|
96
96
|
params
|
|
97
97
|
})
|
|
@@ -102,7 +102,7 @@ export const programTableApi = (params?: ProgramQuery): Promise<IPageTableData<P
|
|
|
102
102
|
*/
|
|
103
103
|
export const addProgramApi = (data: AddProgram) => {
|
|
104
104
|
return axiosRequest({
|
|
105
|
-
url: '/
|
|
105
|
+
url: '/examples/program/save',
|
|
106
106
|
method: 'post',
|
|
107
107
|
data
|
|
108
108
|
})
|
|
@@ -113,7 +113,7 @@ export const addProgramApi = (data: AddProgram) => {
|
|
|
113
113
|
*/
|
|
114
114
|
export const editProgramApi = (data: UpdateProgram) => {
|
|
115
115
|
return axiosRequest({
|
|
116
|
-
url: '/
|
|
116
|
+
url: '/examples/program/save',
|
|
117
117
|
method: 'post',
|
|
118
118
|
data
|
|
119
119
|
})
|
|
@@ -124,7 +124,7 @@ export const editProgramApi = (data: UpdateProgram) => {
|
|
|
124
124
|
*/
|
|
125
125
|
export const deleteProgramApi = (id: string): Promise<IFullResponse<unknown>> => {
|
|
126
126
|
return axiosRequest({
|
|
127
|
-
url: `/
|
|
127
|
+
url: `/examples/program/delete/${id}`,
|
|
128
128
|
method: 'delete',
|
|
129
129
|
returnFullResponse: true
|
|
130
130
|
})
|
|
@@ -135,7 +135,7 @@ export const deleteProgramApi = (id: string): Promise<IFullResponse<unknown>> =>
|
|
|
135
135
|
*/
|
|
136
136
|
export const programEnableApi = (data: ProgramEnable) => {
|
|
137
137
|
return axiosRequest({
|
|
138
|
-
url: '/
|
|
138
|
+
url: '/examples/program/enable',
|
|
139
139
|
method: 'put',
|
|
140
140
|
data,
|
|
141
141
|
returnFullResponse: true
|
|
@@ -86,7 +86,7 @@ export interface SubProjectQuery extends IPagination {
|
|
|
86
86
|
*/
|
|
87
87
|
export const subProjectTableApi = (params?: SubProjectQuery): Promise<IPageTableData<SubProject>> => {
|
|
88
88
|
return axiosRequest({
|
|
89
|
-
url: '/
|
|
89
|
+
url: '/examples/sub-project/list',
|
|
90
90
|
method: 'get',
|
|
91
91
|
params
|
|
92
92
|
})
|
|
@@ -97,7 +97,7 @@ export const subProjectTableApi = (params?: SubProjectQuery): Promise<IPageTable
|
|
|
97
97
|
*/
|
|
98
98
|
export const addSubProjectApi = (data: AddSubProject) => {
|
|
99
99
|
return axiosRequest({
|
|
100
|
-
url: '/
|
|
100
|
+
url: '/examples/sub-project/save',
|
|
101
101
|
method: 'post',
|
|
102
102
|
data
|
|
103
103
|
})
|
|
@@ -108,7 +108,7 @@ export const addSubProjectApi = (data: AddSubProject) => {
|
|
|
108
108
|
*/
|
|
109
109
|
export const editSubProjectApi = (data: UpdateSubProject) => {
|
|
110
110
|
return axiosRequest({
|
|
111
|
-
url: '/
|
|
111
|
+
url: '/examples/sub-project/save',
|
|
112
112
|
method: 'post',
|
|
113
113
|
data
|
|
114
114
|
})
|
|
@@ -119,7 +119,7 @@ export const editSubProjectApi = (data: UpdateSubProject) => {
|
|
|
119
119
|
*/
|
|
120
120
|
export const deleteSubProjectApi = (id: string) => {
|
|
121
121
|
return axiosRequest({
|
|
122
|
-
url: `/
|
|
122
|
+
url: `/examples/sub-project/delete/${id}`,
|
|
123
123
|
method: 'delete'
|
|
124
124
|
})
|
|
125
125
|
}
|
|
@@ -132,7 +132,7 @@ export interface ProjectQuery extends IPagination {
|
|
|
132
132
|
*/
|
|
133
133
|
export const addProjectApi = (data: AddProject) => {
|
|
134
134
|
return axiosRequest({
|
|
135
|
-
url: '/
|
|
135
|
+
url: '/examples/project/save',
|
|
136
136
|
method: 'post',
|
|
137
137
|
data: objectToFormData(data)
|
|
138
138
|
})
|
|
@@ -143,7 +143,7 @@ export const addProjectApi = (data: AddProject) => {
|
|
|
143
143
|
*/
|
|
144
144
|
export const editProjectApi = (data: UpdateProject) => {
|
|
145
145
|
return axiosRequest({
|
|
146
|
-
url: '/
|
|
146
|
+
url: '/examples/project/save',
|
|
147
147
|
method: 'post',
|
|
148
148
|
data: objectToFormData(data)
|
|
149
149
|
})
|
|
@@ -154,7 +154,7 @@ export const editProjectApi = (data: UpdateProject) => {
|
|
|
154
154
|
*/
|
|
155
155
|
export const updateProjectApi = (data: Project) => {
|
|
156
156
|
return axiosRequest({
|
|
157
|
-
url: '/
|
|
157
|
+
url: '/examples/project/update',
|
|
158
158
|
method: 'put',
|
|
159
159
|
data
|
|
160
160
|
})
|
|
@@ -165,7 +165,7 @@ export const updateProjectApi = (data: Project) => {
|
|
|
165
165
|
*/
|
|
166
166
|
export const deleteProjectApi = (id: string): Promise<IFullResponse<unknown>> => {
|
|
167
167
|
return axiosRequest({
|
|
168
|
-
url: `/
|
|
168
|
+
url: `/examples/project/delete/${id}`,
|
|
169
169
|
method: 'delete',
|
|
170
170
|
returnFullResponse: true
|
|
171
171
|
})
|
|
@@ -176,7 +176,7 @@ export const deleteProjectApi = (id: string): Promise<IFullResponse<unknown>> =>
|
|
|
176
176
|
*/
|
|
177
177
|
export const projectEnableApi = (data: ProjectEnable) => {
|
|
178
178
|
return axiosRequest({
|
|
179
|
-
url: '/
|
|
179
|
+
url: '/examples/project/enable',
|
|
180
180
|
method: 'put',
|
|
181
181
|
data,
|
|
182
182
|
returnFullResponse: true
|
|
@@ -188,18 +188,28 @@ export const projectEnableApi = (data: ProjectEnable) => {
|
|
|
188
188
|
*/
|
|
189
189
|
export const projectTableApi = (params?: ProjectQuery): Promise<IPageTableData<Project>> => {
|
|
190
190
|
return axiosRequest({
|
|
191
|
-
url: '/
|
|
191
|
+
url: '/examples/project/list',
|
|
192
192
|
method: 'get',
|
|
193
193
|
params
|
|
194
194
|
})
|
|
195
195
|
}
|
|
196
196
|
|
|
197
|
+
/**
|
|
198
|
+
* 项目 - 按ID查询详情
|
|
199
|
+
*/
|
|
200
|
+
export const getProjectByIdApi = (id: string): Promise<Project> => {
|
|
201
|
+
return axiosRequest({
|
|
202
|
+
url: `/examples/project/detail/${id}`,
|
|
203
|
+
method: 'get'
|
|
204
|
+
})
|
|
205
|
+
}
|
|
206
|
+
|
|
197
207
|
/**
|
|
198
208
|
* 下载数据导入模板
|
|
199
209
|
*/
|
|
200
210
|
export const templateProjectApi = (): Promise<IBlobItem> => {
|
|
201
211
|
return axiosRequest({
|
|
202
|
-
url: '/
|
|
212
|
+
url: '/examples/project/template',
|
|
203
213
|
method: 'post',
|
|
204
214
|
responseType: 'blob'
|
|
205
215
|
})
|
|
@@ -210,7 +220,7 @@ export const templateProjectApi = (): Promise<IBlobItem> => {
|
|
|
210
220
|
*/
|
|
211
221
|
export const importProjectApi = (data: FormData): Promise<IFullResponse<unknown>> => {
|
|
212
222
|
return axiosRequest({
|
|
213
|
-
url: '/
|
|
223
|
+
url: '/examples/project/import',
|
|
214
224
|
method: 'post',
|
|
215
225
|
data,
|
|
216
226
|
returnFullResponse: true
|
|
@@ -222,51 +232,9 @@ export const importProjectApi = (data: FormData): Promise<IFullResponse<unknown>
|
|
|
222
232
|
*/
|
|
223
233
|
export const exportProjectApi = (data: Record<string, unknown>): Promise<IBlobItem> => {
|
|
224
234
|
return axiosRequest({
|
|
225
|
-
url: '/
|
|
235
|
+
url: '/examples/project/export',
|
|
226
236
|
method: 'post',
|
|
227
237
|
data,
|
|
228
238
|
responseType: 'blob'
|
|
229
239
|
})
|
|
230
240
|
}
|
|
231
|
-
|
|
232
|
-
/**
|
|
233
|
-
* 测试 404 错误
|
|
234
|
-
*/
|
|
235
|
-
export const NotFoundApi = () => {
|
|
236
|
-
return axiosRequest({
|
|
237
|
-
url: '/notFound',
|
|
238
|
-
method: 'get'
|
|
239
|
-
})
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
/**
|
|
243
|
-
* 测试 不需要权限
|
|
244
|
-
*/
|
|
245
|
-
export const NoNeedAuthApi = () => {
|
|
246
|
-
return axiosRequest({
|
|
247
|
-
url: '/auth/no',
|
|
248
|
-
method: 'post',
|
|
249
|
-
noAuth: true // 是否需要权限,默认为 false
|
|
250
|
-
})
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
/**
|
|
254
|
-
* 测试 无权限
|
|
255
|
-
*/
|
|
256
|
-
export const NoAuthApi = (showErrorMsg: boolean) => {
|
|
257
|
-
return axiosRequest({
|
|
258
|
-
url: '/auth/no',
|
|
259
|
-
method: 'post',
|
|
260
|
-
showErrorMsg // 是否显示错误信息,默认为 true
|
|
261
|
-
})
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
/**
|
|
265
|
-
* 测试 请求错误
|
|
266
|
-
*/
|
|
267
|
-
export const FailApi = () => {
|
|
268
|
-
return axiosRequest({
|
|
269
|
-
url: '/auth/fail',
|
|
270
|
-
method: 'post'
|
|
271
|
-
})
|
|
272
|
-
}
|
|
@@ -35,7 +35,7 @@ export interface ManagerQuery extends IPagination {
|
|
|
35
35
|
*/
|
|
36
36
|
export const ManagerListApi = (params?: ManagerQuery): Promise<IPageTableData<Manager>> => {
|
|
37
37
|
return axiosRequest({
|
|
38
|
-
url: '/
|
|
38
|
+
url: '/examples/manager/list',
|
|
39
39
|
method: 'get',
|
|
40
40
|
params
|
|
41
41
|
})
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@Author : TanRui
|
|
3
|
+
@WeChat : Tan578853789
|
|
4
|
+
@File : DictSelector.vue
|
|
5
|
+
@Date : 2026/07/17
|
|
6
|
+
@Desc. : 字典下拉选择器,选项带背景和文字颜色
|
|
7
|
+
-->
|
|
8
|
+
|
|
9
|
+
<script setup lang="ts">
|
|
10
|
+
import type { IDictItem } from '@/types'
|
|
11
|
+
import { computed } from 'vue'
|
|
12
|
+
import { getDictList } from '@/utils'
|
|
13
|
+
import DictTag from '@/components/common/DictTag.vue'
|
|
14
|
+
|
|
15
|
+
export interface Props {
|
|
16
|
+
/** 字典名称 */
|
|
17
|
+
dictName: string
|
|
18
|
+
/** 选中的值 */
|
|
19
|
+
modelValue?: string | number
|
|
20
|
+
/** 是否可筛选 */
|
|
21
|
+
filterable?: boolean
|
|
22
|
+
/** 占位文本 */
|
|
23
|
+
placeholder?: string
|
|
24
|
+
/** 是否可清空 */
|
|
25
|
+
clearable?: boolean
|
|
26
|
+
/** 宽度 */
|
|
27
|
+
width?: string | number
|
|
28
|
+
/** 是否显示颜色 */
|
|
29
|
+
showColor?: boolean
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const props = withDefaults(defineProps<Props>(), {
|
|
33
|
+
filterable: true,
|
|
34
|
+
placeholder: '',
|
|
35
|
+
clearable: true,
|
|
36
|
+
width: '100%',
|
|
37
|
+
showColor: true
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
const emit = defineEmits<{
|
|
41
|
+
'update:modelValue': [value: string | number | undefined]
|
|
42
|
+
}>()
|
|
43
|
+
|
|
44
|
+
const options = computed<IDictItem[]>(() => getDictList(props.dictName))
|
|
45
|
+
|
|
46
|
+
const currentValue = computed({
|
|
47
|
+
get: () => props.modelValue ?? undefined,
|
|
48
|
+
set: (val) => emit('update:modelValue', val)
|
|
49
|
+
})
|
|
50
|
+
</script>
|
|
51
|
+
|
|
52
|
+
<template>
|
|
53
|
+
<el-select
|
|
54
|
+
v-model="currentValue"
|
|
55
|
+
:filterable="filterable"
|
|
56
|
+
:placeholder="placeholder"
|
|
57
|
+
:clearable="clearable"
|
|
58
|
+
:style="{ width: typeof width === 'number' ? width + 'px' : width }"
|
|
59
|
+
>
|
|
60
|
+
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" class="dict-option">
|
|
61
|
+
<DictTag :dictName="props.dictName" :value="item.value" :height="24" />
|
|
62
|
+
</el-option>
|
|
63
|
+
</el-select>
|
|
64
|
+
</template>
|
|
65
|
+
|
|
66
|
+
<style lang="scss" scoped>
|
|
67
|
+
.dict-option {
|
|
68
|
+
text-align: left;
|
|
69
|
+
}
|
|
70
|
+
</style>
|
|
@@ -18,6 +18,10 @@ export interface Props {
|
|
|
18
18
|
* 是否使用颜色
|
|
19
19
|
*/
|
|
20
20
|
showColor?: boolean
|
|
21
|
+
/**
|
|
22
|
+
* 标签高度
|
|
23
|
+
*/
|
|
24
|
+
height?: number
|
|
21
25
|
/**
|
|
22
26
|
* 是否使用 popover
|
|
23
27
|
*/
|
|
@@ -28,7 +32,7 @@ export interface Props {
|
|
|
28
32
|
placement?: 'top' | 'top-left' | 'top-right' | 'bottom' | 'bottom-left' | 'bottom-right'
|
|
29
33
|
}
|
|
30
34
|
|
|
31
|
-
const { dictName = '', value = '', showColor = true, popover = '' } = defineProps<Props>()
|
|
35
|
+
const { dictName = '', value = '', showColor = true, height = 0, popover = '' } = defineProps<Props>()
|
|
32
36
|
|
|
33
37
|
const computedColor = computed(() => {
|
|
34
38
|
const c = getDictColor(dictName, value) || 'inherit'
|
|
@@ -47,7 +51,9 @@ const computedColor = computed(() => {
|
|
|
47
51
|
class="dictTag"
|
|
48
52
|
:class="{ dictTag_showColor: showColor }"
|
|
49
53
|
:style="{
|
|
50
|
-
backgroundColor: computedColor.backgroundColor
|
|
54
|
+
backgroundColor: computedColor.backgroundColor,
|
|
55
|
+
height: height ? height + 'px' : undefined,
|
|
56
|
+
lineHeight: height ? height + 'px' : undefined
|
|
51
57
|
}"
|
|
52
58
|
>
|
|
53
59
|
<span
|