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
da51b9eb
Commit
da51b9eb
authored
Jun 02, 2023
by
远方不远
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
HY
parent
16fb72f8
Changes
12
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
2712 additions
and
836 deletions
+2712
-836
bgfdf.png
dsk-operate-ui/src/assets/images/bxpro/bgfdf.png
+0
-0
original.png
dsk-operate-ui/src/assets/images/bxpro/original.png
+0
-0
original1.png
dsk-operate-ui/src/assets/images/bxpro/original1.png
+0
-0
pdf.png
dsk-operate-ui/src/assets/images/bxpro/pdf.png
+0
-0
public.css
dsk-operate-ui/src/assets/styles/public.css
+1
-1
index.vue
dsk-operate-ui/src/components/Keyword/index.vue
+281
-0
index.js
dsk-operate-ui/src/router/index.js
+15
-1
details.vue
dsk-operate-ui/src/views/radar/bxprozbgg/details.vue
+508
-0
index.vue
dsk-operate-ui/src/views/radar/components/Tender/index.vue
+1592
-0
index.vue
...operate-ui/src/views/radar/components/bxprozbgg/index.vue
+300
-830
index.vue
...erate-ui/src/views/radar/components/debtProject/index.vue
+8
-2
index.vue
dsk-operate-ui/src/views/radar/index.vue
+7
-2
No files found.
dsk-operate-ui/src/assets/images/bxpro/bgfdf.png
0 → 100644
View file @
da51b9eb
41.8 KB
dsk-operate-ui/src/assets/images/bxpro/original.png
0 → 100644
View file @
da51b9eb
797 Bytes
dsk-operate-ui/src/assets/images/bxpro/original1.png
0 → 100644
View file @
da51b9eb
697 Bytes
dsk-operate-ui/src/assets/images/bxpro/pdf.png
0 → 100644
View file @
da51b9eb
1004 Bytes
dsk-operate-ui/src/assets/styles/public.css
View file @
da51b9eb
...
@@ -371,7 +371,7 @@ select {
...
@@ -371,7 +371,7 @@ select {
width
:
100%
;
width
:
100%
;
height
:
0px
;
height
:
0px
;
opacity
:
1
;
opacity
:
1
;
border
:
1px
solid
#EFEFEF
;
border
-bottom
:
1px
solid
#EFEFEF
;
margin
:
16px
0px
;
margin
:
16px
0px
;
}
}
...
...
dsk-operate-ui/src/components/Keyword/index.vue
0 → 100644
View file @
da51b9eb
<
template
>
<div
class=
"keyword_wrap"
>
<el-dialog
title=
"关键词推荐"
:visible
.
sync=
"dialogVisible"
width=
"800"
class=
"keyword_dialog"
append-to-body
:lock-scroll=
"false"
>
<div
class=
"keyword_label"
>
请搜索或采用关键词种类
</div>
<div
v-if=
"dialogVisible"
>
<el-select
@
change=
"changeKeyword"
v-model=
"keyword"
clearable
class=
"keyword_select"
popper-class=
"keyword_dropdown"
filterable
:filter-method=
"filterMethod"
placeholder=
"请选择"
>
<el-option
v-for=
"item in options"
:key=
"item.id"
:label=
"item.type"
:value=
"item.content"
>
<span
v-html=
"item.newType||item.type"
></span>
</el-option>
</el-select>
<div>
<div
class=
"keyword_name"
>
<el-scrollbar
style=
"height:256px"
>
<ul>
<li
v-for=
"(item,index) in keywordList"
:class=
"activeIndex == index?'active_li':''"
:key=
"index"
@
click=
"keywordClick(index)"
>
{{
item
.
type
}}
</li>
</ul>
</el-scrollbar>
</div>
<div
class=
"keyword_con"
>
<el-input
type=
"textarea"
:autosize=
"
{ minRows: 1, maxRows: 8}"
placeholder="请输入内容"
v-model="content">
</el-input>
<span
class=
"keyword_con_label"
>
<!--
<img
class=
"keyword_con_img"
src=
"@/assets/img/performance/tip.png"
alt=
""
>
-->
关键词可编辑或删减
</span>
<div
class=
"keyword_btn"
@
click=
"handclick"
>
应用关键词
</div>
</div>
</div>
</div>
</el-dialog>
</div>
</
template
>
<
script
>
var
debounce
=
function
(
fn
,
delay
=
300
)
{
var
timer
=
null
;
return
function
()
{
var
_this
=
this
;
var
args
=
arguments
;
if
(
timer
)
clearTimeout
(
timer
);
timer
=
setTimeout
(
function
()
{
fn
.
apply
(
_this
,
args
);
},
delay
);
};
}
export
default
{
data
(){
return
{
dialogVisible
:
false
,
activeIndex
:
0
,
keyword
:
""
,
content
:
""
,
options
:[],
keywordList
:[]
}
},
methods
:{
changeKeyword
(){
this
.
keywordList
.
map
((
item
,
index
)
=>
{
if
(
item
.
content
==
this
.
keyword
){
this
.
activeIndex
=
index
this
.
content
=
this
.
keywordList
[
this
.
activeIndex
].
content
this
.
$nextTick
(()
=>
{
let
el
=
document
.
getElementsByClassName
(
"active_li"
)[
0
]
el
.
scrollIntoView
()
})
}
})
},
// 筛选方法
filterMethod
:
debounce
(
function
(
filterVal
)
{
let
newArr
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
keywordList
))
if
(
filterVal
)
{
let
filterArr
=
newArr
.
filter
((
item
)
=>
{
if
(
item
==
null
)
{
return
false
}
else
{
item
.
newType
=
item
.
type
.
replace
(
new
RegExp
(
filterVal
,
'g'
),
"<span style='color:#FF204E;'>"
+
filterVal
+
"</span>"
)
return
item
.
type
.
toLowerCase
().
includes
(
filterVal
.
toLowerCase
())
}
})
this
.
options
=
filterArr
;
}
else
{
this
.
options
=
newArr
;
}
},
500
),
handclick
(){
this
.
$emit
(
'keywordClick'
,
this
.
content
)
Object
.
assign
(
this
.
$data
,
this
.
$options
.
data
())
//重置data
},
keywordClick
(
index
){
this
.
activeIndex
=
index
this
.
content
=
this
.
keywordList
[
this
.
activeIndex
].
content
},
show
(){
// this.$axios.post("/nationzj/project/keywordList").then(res=>{
// if(res.data.code==200){
// this.keywordList = res.data.data
// this.options = res.data.data
// // localStorage.setItem("keyword",JSON.stringify(res.data.data))
// this.content = this.keywordList[this.activeIndex].content;
// this.dialogVisible = true;
// }
// })
this
.
dialogVisible
=
true
;
/*if(localStorage.getItem("keyword")){
this.keywordList = JSON.parse(localStorage.getItem("keyword"));
this.options = this.keywordList;
this.content = this.keywordList[this.activeIndex].content;
this.dialogVisible = true;
}else{
this.$axios.post("/nationzj/project/keywordList").then(res=>{
if(res.data.code==200){
this.keywordList = res.data.data
this.options = res.data.data
localStorage.setItem("keyword",JSON.stringify(res.data.data))
this.content = this.keywordList[this.activeIndex].content;
this.dialogVisible = true;
}
})
}*/
},
},
}
</
script
>
<
style
lang=
"scss"
>
.keyword_dialog
{
.el-dialog
{
width
:
800px
;
height
:
384px
;
background
:
#FFFFFF
;
border-radius
:
4px
4px
4px
4px
;
opacity
:
1
;
position
:
relative
;
.keyword_label
{
position
:
absolute
;
top
:
11px
;
left
:
115px
;
}
.el-dialog__header
{
padding-left
:
24px
;
padding-top
:
9px
;
color
:
#333333
;
font-weight
:
bold
;
border-bottom
:
1px
solid
#EEEEEE
;
.el-dialog__title
{
font-size
:
16px
;
}
.el-dialog__headerbtn
{
font-size
:
20px
;
top
:
5px
;
right
:
16px
;
}
}
.el-dialog__body
{
padding-top
:
16px
;
.keyword_select
{
margin-bottom
:
8px
;
width
:
376px
;
.el-input
,
.el-input__inner
{
width
:
376px
;
}
}
.keyword_name
{
display
:
inline-block
;
text-align
:
center
;
width
:
180px
;
position
:
relative
;
background
:
#F8F8F8
;
border
:
1px
solid
rgba
(
230
,
230
,
230
,
1
);
border-radius
:
2px
2px
0px
0px
;
.el-scrollbar__wrap
{
overflow-x
:
hidden
;
}
li
{
height
:
40px
;
line-height
:
40px
;
box-sizing
:
border-box
;
cursor
:
pointer
;
overflow
:
hidden
;
text-overflow
:ellipsis
;
white-space
:
nowrap
;
padding
:
0
5px
;
color
:
#999999
;
&
:hover
{
color
:
#0081FF
;
background
:
#E2EDFF
;
font-weight
:bold
;
}
}
.active_li
{
color
:
#0081FF
;
background
:
#E2EDFF
;
font-weight
:bold
;
}
.el-input
.el-input__inner
{
height
:
40px
;
border-radius
:
4px
4px
0
0
;
border
:
none
;
border-bottom
:
1px
solid
#E6E6E6
;
}
}
.keyword_con
{
float
:
right
;
display
:
inline-block
;
position
:
relative
;
margin-right
:
4px
;
width
:
576px
;
height
:
258px
;
background
:rgba
(
255
,
255
,
255
,
1
)
;
border
:
1px
solid
rgba
(
230
,
230
,
230
,
1
);
border-radius
:
2px
2px
0px
0px
;
box-sizing
:
border-box
;
textarea
{
border
:
none
;
resize
:none
;
max-height
:
256px
;
color
:
#333333
;
padding
:
16px
;
}
.keyword_btn
{
cursor
:
pointer
;
line-height
:
28px
;
color
:
#ffffff
;
text-align
:
center
;
position
:
absolute
;
bottom
:
24px
;
right
:
16px
;
width
:
102px
;
height
:
28px
;
background
:
#0081FF
;
border-radius
:
2px
2px
2px
2px
;
opacity
:
1
;
}
.keyword_con_label
{
color
:
#999999
;
font-size
:
12px
;
margin-left
:
16px
;
.keyword_con_img
{
width
:
14px
;
height
:
14px
;
position
:
relative
;
top
:
-2px
;
}
}
}
}
}
}
.el-autocomplete-suggestion
{
width
:
140px
!
important
;
}
.el-autocomplete-suggestion__wrap
{
max-height
:
370px
!
important
;
}
</
style
>
dsk-operate-ui/src/router/index.js
View file @
da51b9eb
...
@@ -164,7 +164,21 @@ export const constantRoutes = [
...
@@ -164,7 +164,21 @@ export const constantRoutes = [
meta
:
{
title
:
'拟建项目详情'
,
icon
:
'radar'
}
meta
:
{
title
:
'拟建项目详情'
,
icon
:
'radar'
}
}
}
]
]
}
},
{
path
:
'/bxprozbgg'
,
component
:
Layout
,
hidden
:
true
,
redirect
:
'noredirect'
,
children
:
[
{
path
:
'/radar/bxprozbgg/details/:id(
\\
d+)'
,
component
:
()
=>
import
(
'@/views/radar/bxprozbgg/details'
),
name
:
'bxprozbggDetails'
,
meta
:
{
title
:
'标讯pro项目详情'
,
icon
:
'radar'
}
}
]
},
]
]
// 动态路由,基于用户权限动态去加载
// 动态路由,基于用户权限动态去加载
...
...
dsk-operate-ui/src/views/radar/bxprozbgg/details.vue
0 → 100644
View file @
da51b9eb
This diff is collapsed.
Click to expand it.
dsk-operate-ui/src/views/radar/components/Tender/index.vue
0 → 100644
View file @
da51b9eb
This diff is collapsed.
Click to expand it.
dsk-operate-ui/src/views/radar/components/bxprozbgg/index.vue
View file @
da51b9eb
This diff is collapsed.
Click to expand it.
dsk-operate-ui/src/views/radar/components/debtProject/index.vue
View file @
da51b9eb
...
@@ -72,8 +72,8 @@
...
@@ -72,8 +72,8 @@
<div
class=
"content_item content_item_padding0"
>
<div
class=
"content_item content_item_padding0"
>
<div
class=
"search-new"
>
<div
class=
"search-new"
>
<span>
查询
</span>
<span
@
click=
"search()"
>
查询
</span>
<span>
重置
</span>
<span
@
click=
"reset"
>
重置
</span>
</div>
</div>
</div>
</div>
...
@@ -448,6 +448,12 @@
...
@@ -448,6 +448,12 @@
},
},
handleCurrentChange
(
val
){
handleCurrentChange
(
val
){
},
search
(){
},
reset
(){
}
}
}
}
}
}
...
...
dsk-operate-ui/src/views/radar/index.vue
View file @
da51b9eb
...
@@ -21,6 +21,9 @@
...
@@ -21,6 +21,9 @@
<Establishment
v-if=
"personnelHerf=='Establishment'"
/>
<Establishment
v-if=
"personnelHerf=='Establishment'"
/>
<!-- 标讯pro -->
<!-- 标讯pro -->
<bxprozbgg
v-if=
"personnelHerf=='bxprozbgg'"
/>
<bxprozbgg
v-if=
"personnelHerf=='bxprozbgg'"
/>
<!-- 公招标讯 -->
<Tender
v-if=
"personnelHerf=='Tender'"
/>
</div>
</div>
...
@@ -30,10 +33,12 @@
...
@@ -30,10 +33,12 @@
import
Land
from
"./components/Land/index.vue"
;
import
Land
from
"./components/Land/index.vue"
;
import
Establishment
from
"./components/Establishment/index.vue"
;
import
Establishment
from
"./components/Establishment/index.vue"
;
import
bxprozbgg
from
"./components/bxprozbgg/index.vue"
;
import
bxprozbgg
from
"./components/bxprozbgg/index.vue"
;
import
Tender
from
"./components/Tender/index.vue"
;
import
"@/assets/styles/public.css"
;
import
"@/assets/styles/public.css"
;
export
default
{
export
default
{
name
:
'radar'
,
name
:
'radar'
,
components
:
{
debtProject
,
Land
,
Establishment
,
bxprozbgg
},
components
:
{
debtProject
,
Land
,
Establishment
,
bxprozbgg
,
Tender
},
data
()
{
data
()
{
return
{
return
{
// tablist
// tablist
...
@@ -68,7 +73,7 @@
...
@@ -68,7 +73,7 @@
},
},
{
{
key
:
'
KeyPersonnel
'
,
key
:
'
Tender
'
,
status
:
false
,
status
:
false
,
value
:
'公招标讯'
,
value
:
'公招标讯'
,
...
...
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