Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-cr20g
Project
Project
Details
Activity
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
Administrator
dsk-cr20g
Commits
7f1ebd51
Commit
7f1ebd51
authored
May 19, 2023
by
MyName
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
项目管理
parent
224c1481
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
411 additions
and
4 deletions
+411
-4
add_2.png
dsk-operate-ui/src/assets/images/project/add_2.png
+0
-0
edit.png
dsk-operate-ui/src/assets/images/project/edit.png
+0
-0
empty.png
dsk-operate-ui/src/assets/images/project/empty.png
+0
-0
index.scss
dsk-operate-ui/src/assets/styles/index.scss
+4
-0
project.scss
dsk-operate-ui/src/assets/styles/project.scss
+192
-0
jsnr.vue
...erate-ui/src/views/project/projectList/component/jsnr.vue
+8
-2
lxr.vue
...perate-ui/src/views/project/projectList/component/lxr.vue
+202
-0
detail.vue
dsk-operate-ui/src/views/project/projectList/detail.vue
+5
-2
No files found.
dsk-operate-ui/src/assets/images/project/add_2.png
0 → 100644
View file @
7f1ebd51
131 Bytes
dsk-operate-ui/src/assets/images/project/edit.png
0 → 100644
View file @
7f1ebd51
410 Bytes
dsk-operate-ui/src/assets/images/project/empty.png
0 → 100644
View file @
7f1ebd51
6.44 KB
dsk-operate-ui/src/assets/styles/index.scss
View file @
7f1ebd51
...
@@ -502,6 +502,7 @@ ul, li {
...
@@ -502,6 +502,7 @@ ul, li {
width
:
72px
;
width
:
72px
;
text-align
:
center
;
text-align
:
center
;
margin
:
0
4px
;
margin
:
0
4px
;
cursor
:
pointer
;
}
}
.btn_default
{
.btn_default
{
border
:
1px
solid
#0081FF
;
border
:
1px
solid
#0081FF
;
...
@@ -532,6 +533,9 @@ ul, li {
...
@@ -532,6 +533,9 @@ ul, li {
&
.h34
{
&
.h34
{
line-height
:
34px
;
line-height
:
34px
;
}
}
&
.h36
{
line-height
:
36px
;
}
&
:hover
{
&
:hover
{
background-color
:
#006AD1
;
background-color
:
#006AD1
;
}
}
...
...
dsk-operate-ui/src/assets/styles/project.scss
View file @
7f1ebd51
...
@@ -42,6 +42,13 @@
...
@@ -42,6 +42,13 @@
//项目速览板块
//项目速览板块
.baseinfo
{
.baseinfo
{
position
:
relative
;
.btns
{
position
:
absolute
;
bottom
:
24px
;
left
:
838px
;
line-height
:
28px
;
}
.row
{
.row
{
display
:
flex
;
display
:
flex
;
padding-bottom
:
8px
;
padding-bottom
:
8px
;
...
@@ -163,6 +170,7 @@
...
@@ -163,6 +170,7 @@
margin-left
:
4px
;
margin-left
:
4px
;
width
:
28px
;
width
:
28px
;
opacity
:
0
.4
;
opacity
:
0
.4
;
cursor
:
pointer
;
&
:hover
{
&
:hover
{
opacity
:
0
.8
;
opacity
:
0
.8
;
}
}
...
@@ -193,3 +201,187 @@
...
@@ -193,3 +201,187 @@
}
}
}
}
}
}
//表格样式
.tables
{
padding
:
0
16px
24px
;
.el-table
.el-table__header-wrapper
th
{
color
:
#4f4f4f
;
background
:
#F0F3FA
;
font-size
:
12px
;
font-weight
:
400
;
}
.is-sortable
.sort-caret.ascending
{
border-bottom-color
:
#0081FF
;
opacity
:
0
.4
;
}
.el-table
.sort-caret.descending
{
border-top-color
:
#0081FF
;
opacity
:
0
.4
;
}
.el-table
.ascending
.sort-caret.ascending
{
opacity
:
1
;
}
.el-table
.descending
.sort-caret.descending
{
opacity
:
1
;
}
.el-table
.cell
{
line-height
:
20px
;
padding
:
0
12px
;
color
:
#232323
;
font-size
:
12px
;
}
.el-table--border
.el-table__cell
{
border-color
:
#E6EAF1
;
border-bottom
:
0
;
}
.el-table--striped
.el-table__body
tr
.el-table__row--striped
td
.el-table__cell
{
background
:
#F9FCFF
;
}
.has-gutter
{
th
{
height
:
40px
;
padding
:
0
;
.cell
{
line-height
:
40px
;
}
}
}
.empty
{
padding
:
32px
0
;
text-align
:
center
;
>
img
{
width
:
109px
;
display
:
block
;
margin
:
0
auto
24px
;
}
.p1
{
height
:
21px
;
font-size
:
16px
;
font-family
:
Microsoft
YaHei-Regular
,
Microsoft
YaHei
;
font-weight
:
400
;
color
:
#333333
;
line-height
:
21px
;
margin-bottom
:
4px
;
}
.p2
{
height
:
18px
;
font-size
:
14px
;
font-family
:
Microsoft
YaHei-Regular
,
Microsoft
YaHei
;
font-weight
:
400
;
color
:
#999999
;
line-height
:
18px
;
margin-bottom
:
8px
;
}
}
.edit
{
>
img
{
float
:left
;
margin
:
2px
4px
0
0
;
}
}
.bottems
{
padding-top
:
16px
;
.el-pagination
{
float
:
right
;
padding
:
0
;
.btn-prev
,
.btn-next
,
.el-pager
li
{
min-width
:
24px
;
margin
:
0
4px
;
height
:
24px
;
line-height
:
24px
;
font-size
:
12px
;
color
:
#4f4f4f
;
font-weight
:
400
;
}
.el-pager
li
:not
(
.disabled
)
:hover
{
opacity
:
0
.3
;
background
:
#0081FF
;
color
:
#FFFFFF
;
}
.btn-prev
.el-icon
,
.btn-next
.el-icon
{
font-weight
:
400
;
}
.
el-pager
.
more
:
:
before
{
line-height
:
24px
;
}
}
}
}
//弹出层样式
.popups
{
.el-dialog__headerbtn
{
top
:
14px
;
right
:
12px
;
z-index
:
3
;
}
.poptitle
{
line-height
:
48px
;
border-bottom
:
1px
solid
#E1E1E1
;
height
:
48px
;
position
:
absolute
;
top
:
0
;
left
:
0
;
width
:
100%
;
>
img
{
width
:
17px
;
margin
:
16px
;
float
:
left
;
}
>
span
{
font-weight
:
bold
;
font-size
:
16px
;
color
:
#232323
;
font-family
:
Microsoft
YaHei-Bold
,
Microsoft
YaHei
;
width
:
385px
;
display
:
block
;
overflow
:
hidden
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
}
}
.popform
{
padding-top
:
24px
;
.row
{
padding-bottom
:
16px
;
.left
{
width
:
137px
;
display
:
inline-block
;
text-align
:
right
;
opacity
:
0
.8
}
.el-input
{
display
:
inline-block
;
width
:
240px
;
.el-input__inner
{
width
:
240px
;
height
:
32px
;
border-radius
:
0px
0px
0px
0px
;
opacity
:
1
;
}
.el-input__suffix
{
height
:
32px
;
}
.el-input__icon
{
line-height
:
32px
;
}
.el-icon-arrow-up
:before
{
content
:
"\e78f"
;
opacity
:
0
.4
;
}
}
}
.popbot
{
text-align
:
right
;
padding-top
:
8px
;
padding-right
:
47px
;
.btn
{
border-radius
:
0
;
width
:
80px
;
}
}
}
}
.el-select-dropdown__item.hover
,
.el-select-dropdown__item
:hover
{
background
:
#F4F6F9
;
color
:
#0081FF
;
}
dsk-operate-ui/src/views/project/projectList/component/jsnr.vue
View file @
7f1ebd51
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div>
<div>
<el-card
class=
"box-card noborder"
>
<el-card
class=
"box-card noborder"
>
<div
class=
"cardtitles"
>
基本信息
</div>
<div
class=
"cardtitles"
>
基本信息
</div>
<div
class=
"baseinfo"
>
<div
class=
"baseinfo"
style=
"padding-bottom: 8px"
>
<div
class=
"row"
>
<div
class=
"row"
>
<div
class=
"con"
>
<div
class=
"con"
>
<span>
总投资额(万元) :
</span>
<span>
总投资额(万元) :
</span>
...
@@ -58,7 +58,13 @@
...
@@ -58,7 +58,13 @@
<el-card
class=
"box-card noborder"
>
<el-card
class=
"box-card noborder"
>
<div
class=
"cardtitles"
>
项目概况与建设规模
</div>
<div
class=
"cardtitles"
>
项目概况与建设规模
</div>
<div
class=
"baseinfo"
>
<div
class=
"baseinfo"
>
<el-input
v-model=
"textarea"
class=
"textarea"
type=
"textarea"
placeholder=
"请输入项目概况与建设规模详细信息"
maxlength=
"500"
show-word-limit=
"true"
></el-input>
<el-input
v-model=
"textarea"
@
focus=
"nowedit = 9"
class=
"textarea"
type=
"textarea"
placeholder=
"请输入项目概况与建设规模详细信息"
maxlength=
"500"
show-word-limit=
"true"
></el-input>
<div
class=
"flex btns"
v-if=
"nowedit == 9"
>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
>
确定
</div>
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
</div>
</div>
</div>
</div>
</el-card>
</el-card>
<el-card
class=
"box-card noborder"
>
<el-card
class=
"box-card noborder"
>
...
...
dsk-operate-ui/src/views/project/projectList/component/lxr.vue
0 → 100644
View file @
7f1ebd51
<
template
>
<div>
<el-card
class=
"box-card noborder"
>
<div
class=
"cardtitles"
>
基本信息
</div>
<div
class=
"tables"
>
<el-table
:data=
"tableData"
stripe
border
style=
"width: 100%"
:default-sort =
"
{prop: 'date', order: 'descending'}"
>
<template
slot=
"empty"
>
<div
class=
"empty"
>
<img
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
暂无数据展示
</div>
<div
class=
"p2"
>
抱歉,你还未添加相关数据,快去添加吧
</div>
<div
class=
"btn btn_primary h36 w102"
@
click=
"opennew"
>
新增联系人
</div>
</div>
</
template
>
<el-table-column
prop=
"date"
label=
"姓名"
width=
"113"
>
</el-table-column>
<el-table-column
prop=
"name"
label=
"操作"
width=
"118"
>
<
template
slot-scope=
"scope"
>
<div
class=
"edit"
>
<img
src=
"@/assets/images/project/edit.png"
>
<span>
编辑
</span>
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"name"
label=
"角色"
sortable
width=
"146"
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"公司/机关"
>
</el-table-column>
<el-table-column
prop=
"name"
label=
"职位"
width=
"125"
>
</el-table-column>
<el-table-column
prop=
"name"
label=
"联系方式"
width=
"175"
>
</el-table-column>
<el-table-column
prop=
"name"
label=
"内部维护人"
width=
"146"
>
</el-table-column>
</el-table>
<div
class=
"bottems"
>
<div
class=
"btn btn_primary h28"
@
click=
"opennew"
><div
class=
"img img1"
></div>
新增联系人
</div>
<el-pagination
background
:page-size=
"20"
:current-page=
"1"
@
current-change=
"handleCurrentChange"
layout=
"prev, pager, next"
:total=
"1000"
>
</el-pagination>
</div>
</div>
<el-dialog
class=
"popups"
:visible
.
sync=
"dialogVisible"
width=
"464px"
>
<div
class=
"poptitle"
>
<img
src=
"@/assets/images/economies/icon.png"
>
<span>
重庆市轨道交通3号线二期工程4标段施工总承包
</span>
</div>
<div
class=
"popform"
>
<div
class=
"row"
>
<span
class=
"left"
>
联系人姓名:
</span>
<el-input
type=
"text"
placeholder=
"请输入"
></el-input>
</div>
<div
class=
"row"
>
<span
class=
"left"
>
联系人角色:
</span>
<el-select
placeholder=
"请选择"
>
<el-option
label=
"cccc"
value=
"11"
></el-option>
<el-option
label=
"cccc"
value=
"121"
></el-option>
</el-select>
</div>
<div
class=
"row"
>
<span
class=
"left"
>
联系人职位:
</span>
<el-input
type=
"text"
placeholder=
"请输入"
></el-input>
</div>
<div
class=
"row"
>
<span
class=
"left"
>
联系人公司/机关:
</span>
<el-input
type=
"text"
placeholder=
"请输入"
></el-input>
</div>
<div
class=
"row"
>
<span
class=
"left"
>
内部维护人:
</span>
<el-input
type=
"text"
placeholder=
"请输入"
></el-input>
</div>
<div
class=
"row"
>
<span
class=
"left"
>
联系方式:
</span>
<el-input
type=
"text"
placeholder=
"请输入"
></el-input>
</div>
<div
class=
"popbot"
>
<div
class=
"btn btn_cancel h32"
@
click=
"cancel"
>
返回
</div>
<div
class=
"btn btn_primary h32"
>
保存
</div>
</div>
</div>
</el-dialog>
</el-card>
</div>
</template>
<
script
>
import
"@/assets/styles/project.scss"
export
default
{
name
:
'xmgl'
,
data
(){
return
{
dialogVisible
:
false
,
textarea
:
""
,
nowedit
:
-
1
,
//当前正在编辑的文本
tipslit
:[],
//项目标签
tipsvalue
:
""
,
//标签填写内容
tableData
:
[
{
date
:
'2016-05-02'
,
name
:
'王小虎'
,
address
:
'上海市普陀区金沙江路 1518 弄'
},
{
date
:
'2016-05-04'
,
name
:
'王小虎'
,
address
:
'上海市普陀区金沙江路 1517 弄'
},
{
date
:
'2016-05-01'
,
name
:
'王小虎'
,
address
:
'上海市普陀区金沙江路 1519 弄'
},
{
date
:
'2016-05-03'
,
name
:
'王小虎'
,
address
:
'上海市普陀区金沙江路 1516 弄'
}
]
}
},
methods
:{
//验证电话号码
isphone
(
value
){
var
regPartton
=
/1
[
3-8
]
+
\d{9}
/
;
var
regPartton1
=
/^
(
0
[
0-9
]{2,3}[\-]?[
2-9
][
0-9
]{6,7}[\-]?[
0-9
]?)
$/
;
if
(
!
regPartton
.
test
(
value
)
&&
!
regPartton1
.
test
(
value
))
{
this
.
$message
.
error
(
"请输入正确的电话"
);
}
else
{
}
},
//标签添加、删除
addtips
(){
if
(
this
.
tipsvalue
==
""
)
return
false
if
(
this
.
tipslit
.
length
>=
30
){
this
.
$message
.
error
(
"最多能只能添加30个标签"
)
return
false
}
this
.
tipslit
.
push
(
this
.
tipsvalue
)
this
.
tipsvalue
=
""
},
deltip
(
index
){
this
.
tipslit
.
splice
(
index
,
1
)
},
//翻页
handleCurrentChange
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
},
cancel
(){
this
.
dialogVisible
=
false
},
//打开新建窗口
opennew
(){
this
.
dialogVisible
=
true
},
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.w102
{
width
:
102px
;
}
.img.img1
{
margin-right
:
8px
;
background
:
url('../../../../../src/assets/images/project/add_2.png')
no-repeat
center
center
;
}
</
style
>
dsk-operate-ui/src/views/project/projectList/detail.vue
View file @
7f1ebd51
...
@@ -69,6 +69,8 @@
...
@@ -69,6 +69,8 @@
<xmsl
v-if=
"thistag == 'xmsl'"
></xmsl>
<xmsl
v-if=
"thistag == 'xmsl'"
></xmsl>
<!--建设内容-->
<!--建设内容-->
<jsnr
v-if=
"thistag == 'jsnr'"
></jsnr>
<jsnr
v-if=
"thistag == 'jsnr'"
></jsnr>
<!--联系人-->
<lxr
v-if=
"thistag == 'lxr'"
></lxr>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
...
@@ -77,9 +79,10 @@
...
@@ -77,9 +79,10 @@
import
"@/assets/styles/project.scss"
import
"@/assets/styles/project.scss"
import
xmsl
from
'./component/xmsl.vue'
import
xmsl
from
'./component/xmsl.vue'
import
jsnr
from
'./component/jsnr.vue'
import
jsnr
from
'./component/jsnr.vue'
import
lxr
from
'./component/lxr.vue'
export
default
{
export
default
{
name
:
'detail'
,
name
:
'detail'
,
components
:
{
xmsl
,
jsnr
},
components
:
{
xmsl
,
jsnr
,
lxr
},
data
(){
data
(){
return
{
return
{
schedulelist
:
[
'立项审批'
,
'招标计划'
,
'招标公告'
,
'开标阶段'
,
'中标结果'
],
schedulelist
:
[
'立项审批'
,
'招标计划'
,
'招标公告'
,
'开标阶段'
,
'中标结果'
],
...
@@ -93,7 +96,7 @@
...
@@ -93,7 +96,7 @@
{
tag
:
'gzdb'
,
name
:
'工作代办'
},
{
tag
:
'gzdb'
,
name
:
'工作代办'
},
{
tag
:
'xgqy'
,
name
:
'相关企业'
},
{
tag
:
'xgqy'
,
name
:
'相关企业'
},
],
],
thistag
:
'
xmsl
'
,
thistag
:
'
lxr
'
,
islock
:
true
,
//仅自己可见
islock
:
true
,
//仅自己可见
}
}
},
},
...
...
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