Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
psa-web
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
高滢
psa-web
Commits
e753aac2
Commit
e753aac2
authored
Mar 28, 2025
by
wangjiancheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:项目管理修改
parent
d1407613
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
34 additions
and
30 deletions
+34
-30
user.js
src/api/system/user.js
+7
-0
add.vue
src/views/project/add.vue
+4
-13
draft.vue
src/views/project/draft.vue
+5
-4
edit.vue
src/views/project/edit.vue
+11
-8
index.vue
src/views/project/index.vue
+7
-5
No files found.
src/api/system/user.js
View file @
e753aac2
...
...
@@ -10,6 +10,13 @@ export function listUser(query) {
})
}
// 查询所有用户下拉框
export
function
listAllUser
()
{
return
request
({
url
:
'/system/user/getUserList'
,
method
:
'get'
})
}
// 查询用户详细
export
function
getUser
(
userId
)
{
return
request
({
...
...
src/views/project/add.vue
View file @
e753aac2
...
...
@@ -112,7 +112,7 @@
style="width: 97%"
>
</el-input>
</el-form-item>
<el-form-item
label=
"项目附件"
>
<el-form-item
label=
"项目附件"
prop=
"projectAnnexList"
>
<el-upload
list-type=
"text"
v-model:file-list=
"form.projectAnnexList"
...
...
@@ -189,7 +189,7 @@
</template>
<
script
setup
name=
"add"
>
import
{
listUser
}
from
"../../api/system/user.js"
;
import
{
list
All
User
}
from
"../../api/system/user.js"
;
import
{
addDraft
,
addProject
}
from
"../../api/project/project.js"
;
const
{
proxy
}
=
getCurrentInstance
();
...
...
@@ -260,23 +260,14 @@ const rules = ref({
// 获取用户列表
const
getUserList
=
()
=>
{
listUser
().
then
(
response
=>
{
managerOptions
.
value
=
response
.
rows
.
map
(
item
=>
{
list
All
User
().
then
(
response
=>
{
managerOptions
.
value
=
response
.
data
.
map
(
item
=>
{
return
{
value
:
item
.
userId
,
label
:
item
.
nickName
}
})
})
// 获取项目经理
/* selectUserListByRoleId(100).then(response => {
managerOptions.value = response.data.map(item => {
return {
value: item.userId,
label: item.nickName
}
})
})*/
}
// 提交表单
...
...
src/views/project/draft.vue
View file @
e753aac2
...
...
@@ -221,11 +221,12 @@
<
script
setup
name
=
"draft"
>
import
{
logicRemove
,
listDraft
,
getDraftList
}
from
"../../api/project/project.js"
;
import
{
listUser
}
from
"../../api/system/user.js"
;
import
{
list
All
User
}
from
"../../api/system/user.js"
;
const
{
proxy
}
=
getCurrentInstance
();
const
{
project_status
,
project_type
}
=
proxy
.
useDict
(
'project_status'
,
'project_type'
);
const
queryRef
=
ref
();
const
projectList
=
ref
([]);
const
loading
=
ref
(
true
);
const
showSearch
=
ref
(
true
);
...
...
@@ -255,14 +256,14 @@ const {queryParams, form} = toRefs(data);
// 获取用户列表
const
getUserList
=
()
=>
{
listUser
().
then
(
response
=>
{
headOptions
.
value
=
response
.
rows
.
map
(
item
=>
{
list
All
User
().
then
(
response
=>
{
headOptions
.
value
=
response
.
data
.
map
(
item
=>
{
return
{
value
:
item
.
userId
,
label
:
item
.
nickName
}
}
)
managerOptions
.
value
=
response
.
rows
.
map
(
item
=>
{
managerOptions
.
value
=
response
.
data
.
map
(
item
=>
{
return
{
value
:
item
.
userId
,
label
:
item
.
nickName
...
...
src/views/project/edit.vue
View file @
e753aac2
...
...
@@ -110,6 +110,7 @@
</el-select>
</el-form-item>
<el-form-item
label=
"项目成员"
prop=
"projectMemberIds"
v-hasPermi=
"['system:project:member']"
>
<div
>
<div
v-for=
"(member,index) in form.projectMemberIds"
:key=
"index"
class=
"member-select"
>
<el-select
v-model=
"form.projectMemberIds[index]"
...
...
@@ -128,6 +129,8 @@
/>
</el-select>
</div>
<el-button
type=
"primary"
icon=
"Plus"
link
v-hasPermi=
"['system:project:member']"
@
click=
"addMember"
>
添加成员
</el-button>
</div>
</el-form-item>
<el-form-item
label=
"项目描述"
>
<el-input
...
...
@@ -139,7 +142,7 @@
style="width: 97%"
/>
</el-form-item>
<el-form-item
label=
"项目附件"
>
<el-form-item
label=
"项目附件"
prop=
"projectAnnexList"
>
<el-upload
list-type=
"text"
v-model:file-list=
"form.projectAnnexList"
...
...
@@ -201,9 +204,9 @@
</div>
</el-form>
</el-col>
<el-col
:span=
"10"
>
<!--
<el-col :span="10">
<el-button type="primary" link v-hasPermi="['system:project:member']" @click="addMember" style="margin-top: 492px;margin-left: 0">+ 添加成员</el-button>
</el-col>
</el-col>
-->
</el-row>
<el-form-item
:style=
"buttonController === 'draft' ? { paddingLeft: '75%' } : { paddingLeft: '82%' }"
>
<el-button
size=
"large"
class=
"btn-B"
@
click=
"cancel"
>
返回
</el-button>
...
...
@@ -218,7 +221,7 @@
<
script
setup
name=
"edit"
>
import
{
getProject
,
updateProject
}
from
"../../api/project/project.js"
;
import
{
listUser
}
from
"../../api/system/user.js"
;
import
{
list
All
User
}
from
"../../api/system/user.js"
;
const
{
proxy
}
=
getCurrentInstance
();
const
{
project_status
,
project_type
}
=
proxy
.
useDict
(
'project_status'
,
'project_type'
);
...
...
@@ -291,20 +294,20 @@ const rules = ref({
})
const
getUserList
=
()
=>
{
listUser
().
then
(
response
=>
{
headOptions
.
value
=
response
.
rows
.
map
(
item
=>
{
list
All
User
().
then
(
response
=>
{
headOptions
.
value
=
response
.
data
.
map
(
item
=>
{
return
{
value
:
item
.
userId
,
label
:
item
.
nickName
}
})
managerOptions
.
value
=
response
.
rows
.
map
(
item
=>
{
managerOptions
.
value
=
response
.
data
.
map
(
item
=>
{
return
{
value
:
item
.
userId
,
label
:
item
.
nickName
}
})
membersOptions
.
value
=
response
.
rows
.
map
(
item
=>
{
membersOptions
.
value
=
response
.
data
.
map
(
item
=>
{
return
{
value
:
item
.
userId
,
label
:
item
.
nickName
...
...
src/views/project/index.vue
View file @
e753aac2
...
...
@@ -292,7 +292,7 @@
<
script
setup
name
=
"Project"
>
import
{
listProject
,
logicRemove
,
getProjectList
}
from
"../../api/project/project.js"
;
import
{
listUser
}
from
"../../api/system/user.js"
;
import
{
list
All
User
}
from
"../../api/system/user.js"
;
const
{
proxy
}
=
getCurrentInstance
();
const
{
project_status
,
project_type
}
=
proxy
.
useDict
(
'project_status'
,
'project_type'
);
...
...
@@ -337,14 +337,14 @@ function getList() {
// 获取用户列表
const
getUserList
=
()
=>
{
listUser
().
then
(
response
=>
{
headOptions
.
value
=
response
.
rows
.
map
(
item
=>
{
list
All
User
().
then
(
response
=>
{
headOptions
.
value
=
response
.
data
.
map
(
item
=>
{
return
{
value
:
item
.
userId
,
label
:
item
.
nickName
}
}
)
managerOptions
.
value
=
response
.
rows
.
map
(
item
=>
{
managerOptions
.
value
=
response
.
data
.
map
(
item
=>
{
return
{
value
:
item
.
userId
,
label
:
item
.
nickName
...
...
@@ -380,6 +380,8 @@ function handleQuery() {
function
resetQuery
()
{
proxy
.
resetForm
(
"queryRef"
);
queryParams
.
value
.
id
=
null
;
queryParams
.
value
.
projectType
=
null
;
queryParams
.
value
.
departmentLeaderId
=
null
;
handleQuery
();
}
...
...
@@ -426,7 +428,7 @@ const emptyMemberCount = computed(() =>
);
const
goToAddMembers
=
()
=>
{
// 跳转到编辑页面
proxy
.
$router
.
push
({
path
:
'/projectopera/editproject'
,
query
:
{
id
:
alertId
}}
);
proxy
.
$router
.
push
({
path
:
'/projectopera/editproject'
,
query
:
{
id
:
alertId
,
type
:
'index'
}}
);
}
;
/** 逻辑删除按钮操作 */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment