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
0fe3b04a
Commit
0fe3b04a
authored
Mar 07, 2025
by
wangjiancheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:项目管理的新增,上传切图
parent
80aa88de
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
369 additions
and
450 deletions
+369
-450
upl.png
src/assets/icons/common/upl.png
+0
-0
add.vue
src/views/project/add.vue
+336
-389
draft.vue
src/views/project/draft.vue
+1
-1
edit.vue
src/views/project/edit.vue
+7
-21
index.vue
src/views/project/index.vue
+19
-19
view.vue
src/views/project/view.vue
+6
-20
No files found.
src/assets/icons/common/upl.png
0 → 100644
View file @
0fe3b04a
346 Bytes
src/views/project/add.vue
View file @
0fe3b04a
This diff is collapsed.
Click to expand it.
src/views/project/draft.vue
View file @
0fe3b04a
...
...
@@ -81,7 +81,7 @@
</div>
<div
class=
"searchB"
>
<div
style=
"padding-left: 15px ;padding-bottom: 5px;padding-top: 15px"
>
<span
class=
"bold-text"
style=
"border-bottom:
2
px solid #0062FF;"
>
项目草稿箱
</span>
<span
class=
"bold-text"
style=
"border-bottom:
3
px solid #0062FF;"
>
项目草稿箱
</span>
<span
style=
"padding-left: 85%"
>
<el-button
icon=
"ArrowLeft"
...
...
src/views/project/edit.vue
View file @
0fe3b04a
<
template
>
<div
class=
"app-container"
>
<div
class=
"
formSearch
"
>
<div
class=
"
content
"
>
<div
style=
"padding-left: 10px"
>
<span
class=
"bold-text"
style=
"border-bottom:
2
px solid #0062FF;"
>
项目编辑
</span>
<span
class=
"bold-text"
style=
"border-bottom:
3
px solid #0062FF;"
>
项目编辑
</span>
</div>
<div
style=
"padding-top: 20px"
>
<el-form
ref=
"formRef"
:model=
"form"
:rules=
"rules"
label-width=
"auto"
>
...
...
@@ -145,9 +145,8 @@
<el-button
size=
"large"
type=
"text"
>
点击上传
</el-button>
</el-upload>
</el-form-item>
</el-col>
<el-col
:span=
"10"
>
<!--
</el-col>
<el-col
:span=
"10"
>
-->
<el-form-item
label=
"项目回款笔数"
>
<el-select
v-model=
"form.repaymentCount"
...
...
@@ -163,10 +162,8 @@
></el-option>
</el-select>
</el-form-item>
<el-form
:model=
"form"
label-width=
"
8
0px"
>
<el-form
:model=
"form"
label-width=
"
14
0px"
>
<div
v-for=
"(item, index) in form.repaymentDetails"
:key=
"index"
>
<el-row>
<el-col
:span=
"12"
>
<!-- 回款比例 -->
<el-form-item
:label=
"'第 ' + (index + 1) + ' 笔'"
>
<el-input
v-model=
"item.repaymentPercentage"
placeholder=
"请输入回款比例"
width=
"100%"
>
...
...
@@ -175,18 +172,16 @@
</
template
>
</el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<!-- 回款条件 -->
<el-form-item
label=
"回款前置条件"
>
<el-input
type=
"textarea"
:autosize=
"{ minRows: 3, maxRows: 20 }"
v-model=
"item.repaymentCondition"
placeholder=
"请输入前置条件"
width=
"100%"
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</el-col>
...
...
@@ -355,15 +350,6 @@ onMounted(() => {
</
script
>
<
style
scoped
lang=
"scss"
>
.contentA
{
height
:
auto
;
padding
:
20px
;
margin-bottom
:
10px
;
background
:
#FFFFFF
;
box-shadow
:
0
2px
2px
0
#b3b3b3
80
;
border-radius
:
2px
;
overflow
:
hidden
;
}
.bold-text
{
width
:
72px
;
height
:
15px
;
...
...
src/views/project/index.vue
View file @
0fe3b04a
<
template
>
<div
class=
"app-container"
>
<div
class=
"formSearch"
>
<el-form
:model=
"queryParams"
ref=
"queryRef"
:inline=
"true"
label-width=
"1
0
0px"
>
<el-form
:model=
"queryParams"
ref=
"queryRef"
:inline=
"true"
label-width=
"1
2
0px"
>
<!-- 默认显示的查询条件 -->
<el-form-item
label=
"项目名称"
prop=
"projectName"
>
<el-input
...
...
@@ -23,7 +23,7 @@
<el-select
v-model=
"queryParams.projectStatus"
placeholder=
"请选择项目状态"
style=
"width: 1
28
px"
style=
"width: 1
93
px"
clearable
>
<el-option
...
...
@@ -35,7 +35,7 @@
</el-select>
</el-form-item>
<!-- 操作按钮 -->
<el-form-item
style=
"padding-left:
5
%"
>
<el-form-item
style=
"padding-left:
9
%"
>
<el-button
icon=
"Refresh"
@
click=
"resetQuery"
class=
"el-button-defalut"
>
重置
</el-button>
<el-button
type=
"primary"
icon=
"Search"
@
click=
"handleQuery"
class=
"el-button-primary"
>
查询
</el-button>
<el-button
size=
"large"
type=
"text"
@
click=
"toggleSearch"
>
...
...
@@ -60,7 +60,7 @@
<el-select
v-model=
"queryParams.projectType"
placeholder=
"请选择项目类型"
style=
"width: 1
28
px"
style=
"width: 1
93
px"
clearable
>
<el-option
...
...
@@ -102,34 +102,34 @@
</div>
<el-table
v-loading=
"loading"
:data=
"projectList"
border
style=
"width: 100%"
>
<el-table-column
type=
"selection"
width=
"
55"
align=
"center"
/>
<el-table-column
label=
"项目编号"
align=
"center"
prop=
"projectNumber"
width=
"100"
/>
<el-table-column
label=
"项目名称"
align=
"center"
prop=
"projectName"
width=
"10
0"
show-overflow-tooltip
/>
<el-table-column
label=
"项目类型"
align=
"center"
prop=
"projectType"
>
<el-table-column
type=
"selection"
width=
"
40"
align=
"right"
/>
<el-table-column
label=
"项目编号"
align=
"center"
prop=
"projectNumber"
min-width=
"150"
/>
<el-table-column
label=
"项目名称"
align=
"center"
prop=
"projectName"
min-width=
"12
0"
show-overflow-tooltip
/>
<el-table-column
label=
"项目类型"
align=
"center"
prop=
"projectType"
min-width=
"120"
>
<template
#
default=
"scope"
>
<dict-tag
:options=
"project_type"
:value=
"scope.row.projectType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"预计开始时间"
align=
"center"
prop=
"startDate"
width=
"10
0"
>
<el-table-column
label=
"预计开始时间"
align=
"center"
prop=
"startDate"
min-width=
"13
0"
>
<
template
#
default=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
startDate
,
'{y
}
/{m
}
/{d
}
'
)
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"预计结束时间"
align
=
"center"
prop
=
"endDate"
width
=
"10
0"
>
<
el
-
table
-
column
label
=
"预计结束时间"
align
=
"center"
prop
=
"endDate"
min
-
width
=
"13
0"
>
<
template
#
default
=
"scope"
>
<
span
>
{{
parseTime
(
scope
.
row
.
endDate
,
'{y
}
/{m
}
/{d
}
'
)
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"事业部负责人"
align
=
"center"
prop
=
"departmentLeaderName"
width
=
"9
0"
/>
<
el
-
table
-
column
label
=
"项目经理"
align
=
"center"
prop
=
"projectManagerName"
/>
<
el
-
table
-
column
label
=
"项目成本
"
align
=
"center"
prop
=
"projectCost"
/>
<
el
-
table
-
column
label
=
"项目状态"
align
=
"center"
prop
=
"projectStatus"
>
<
el
-
table
-
column
label
=
"事业部负责人"
align
=
"center"
prop
=
"departmentLeaderName"
min
-
width
=
"13
0"
/>
<
el
-
table
-
column
label
=
"项目经理"
align
=
"center"
prop
=
"projectManagerName"
min
-
width
=
"120"
/>
<
el
-
table
-
column
label
=
"项目成本
(元)"
align
=
"center"
prop
=
"projectCost"
min
-
width
=
"120"
/>
<
el
-
table
-
column
label
=
"项目状态"
align
=
"center"
prop
=
"projectStatus"
min
-
width
=
"120"
>
<
template
#
default
=
"scope"
>
<
dict
-
tag
:
options
=
"project_status"
:
value
=
"scope.row.projectStatus"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"回款笔数"
align
=
"center"
prop
=
"repaymentCount"
width
=
"59
"
/>
<
el
-
table
-
column
label
=
"回款前置条件"
align
=
"center"
prop
=
"repaymentCondition"
width
=
"10
0"
>
<
el
-
table
-
column
label
=
"回款笔数"
align
=
"center"
prop
=
"repaymentCount"
min
-
width
=
"100
"
/>
<
el
-
table
-
column
label
=
"回款前置条件"
align
=
"center"
prop
=
"repaymentCondition"
min
-
width
=
"15
0"
>
<
template
#
default
=
"scope"
>
<
el
-
popover
placement
=
"right"
:
width
=
"400"
trigger
=
"click"
>
<
template
#
reference
>
...
...
@@ -150,17 +150,17 @@
<
/el-popover
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"立项时间"
align
=
"center"
prop
=
"createDate"
width
=
"10
0"
>
<
el
-
table
-
column
label
=
"立项时间"
align
=
"center"
prop
=
"createDate"
min
-
width
=
"13
0"
>
<
template
#
default
=
"scope"
>
<
span
>
{{
parseTime
(
scope
.
row
.
createDate
,
'{y
}
/{m
}
/{d
}
'
)
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"更新时间"
align
=
"center"
prop
=
"updateDate"
width
=
"10
0"
>
<
el
-
table
-
column
label
=
"更新时间"
align
=
"center"
prop
=
"updateDate"
min
-
width
=
"13
0"
>
<
template
#
default
=
"scope"
>
<
span
>
{{
parseTime
(
scope
.
row
.
updateDate
,
'{y
}
/{m
}
/{d
}
'
)
||
'-'
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"操作"
align
=
"center"
class
-
name
=
"small-padding fixed-width"
fixed
=
"right"
width
=
"
20
0"
>
<
el
-
table
-
column
label
=
"操作"
align
=
"center"
class
-
name
=
"small-padding fixed-width"
fixed
=
"right"
width
=
"
17
0"
>
<
template
#
default
=
"scope"
>
<
el
-
button
link
type
=
"text"
@
click
=
"handleUpdate(scope.row)"
v
-
hasPermi
=
"['system:project:edit']"
>
<
img
src
=
"../../assets/icons/common/edit.png"
height
=
"20"
width
=
"20"
/><
/el-button
>
...
...
src/views/project/view.vue
View file @
0fe3b04a
<
template
>
<div
class=
"app-container"
>
<div
class=
"content
A
"
>
<div
class=
"content"
>
<div
style=
"padding-left: 10px"
>
<span
class=
"bold-text"
style=
"border-bottom: 2px solid blue;"
>
项目详情
</span>
</div>
...
...
@@ -142,9 +142,8 @@
>
</el-upload>
</el-form-item>
</el-col>
<el-col
:span=
"10"
>
<!--
</el-col>
<el-col
:span=
"10"
>
-->
<el-form-item
label=
"项目回款笔数"
>
<el-select
v-model=
"form.repaymentCount"
...
...
@@ -160,10 +159,8 @@
></el-option>
</el-select>
</el-form-item>
<el-form
:model=
"form"
label-width=
"
8
0px"
>
<el-form
:model=
"form"
label-width=
"
14
0px"
>
<div
v-for=
"(item, index) in form.repaymentDetails"
:key=
"index"
>
<el-row>
<el-col
:span=
"12"
>
<!-- 回款比例 -->
<el-form-item
:label=
"'第 ' + (index + 1) + ' 笔'"
>
<el-input
...
...
@@ -176,18 +173,16 @@
</
template
>
</el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<!-- 回款条件 -->
<el-form-item
label=
"回款前置条件"
>
<el-input
type=
"textarea"
:autosize=
"{ minRows: 3, maxRows: 20 }"
v-model=
"item.repaymentCondition"
width=
"100%"
readonly
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</el-col>
...
...
@@ -274,15 +269,6 @@ onMounted(() => {
</
script
>
<
style
scoped
lang=
"scss"
>
.contentA
{
height
:
auto
;
padding
:
20px
;
margin-bottom
:
10px
;
background
:
#FFFFFF
;
box-shadow
:
0
2px
2px
0
#b3b3b3
80
;
border-radius
:
2px
;
overflow
:
hidden
;
}
.bold-text
{
width
:
72px
;
height
:
15px
;
...
...
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