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
dab0e477
Commit
dab0e477
authored
Oct 12, 2023
by
liuChang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'V20230915' of 192.168.60.201:root/dsk-operate-sys into V20230915
parents
8cdfb39a
c670976f
Changes
31
Show whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
637 additions
and
429 deletions
+637
-429
EnterpriseProjectImportantListDto.java
.../dsk/jsk/domain/bo/EnterpriseProjectImportantListDto.java
+2
-1
EnterpriseService.java
.../src/main/java/com/dsk/jsk/service/EnterpriseService.java
+1
-0
index.scss
dsk-operate-ui/src/assets/styles/index.scss
+3
-3
project.scss
dsk-operate-ui/src/assets/styles/project.scss
+3
-0
search-common.scss
dsk-operate-ui/src/assets/styles/search-common.scss
+65
-7
index.js
dsk-operate-ui/src/utils/index.js
+125
-112
performance.vue
...i/src/views/detail/groupAccount/component/performance.vue
+2
-2
qualifications.vue
...rc/views/detail/groupAccount/component/qualifications.vue
+48
-7
zbxmfx.vue
...ate-ui/src/views/detail/groupAccount/component/zbxmfx.vue
+45
-4
CustomMoneySelect.vue
.../src/views/detail/party-a/component/CustomMoneySelect.vue
+2
-1
CustomTimeSelect.vue
...i/src/views/detail/party-a/component/CustomTimeSelect.vue
+2
-1
HeadForm.vue
...perate-ui/src/views/detail/party-a/component/HeadForm.vue
+4
-9
HeadFormNew.vue
...ate-ui/src/views/detail/party-a/component/HeadFormNew.vue
+12
-96
Sidebar.vue
...operate-ui/src/views/detail/party-a/component/Sidebar.vue
+13
-7
index.vue
dsk-operate-ui/src/views/detail/party-a/index.vue
+2
-1
MajorProject.vue
...erate-ui/src/views/detail/party-a/opport/MajorProject.vue
+10
-6
index.vue
dsk-operate-ui/src/views/detail/party-b/index.vue
+3
-1
index.vue
...te-ui/src/views/enterpriseData/components/Owner/index.vue
+19
-0
index.vue
.../views/enterpriseData/components/searchTheOwner/index.vue
+195
-146
comparison.vue
...ate-ui/src/views/macro/economies/component/comparison.vue
+8
-3
industrialStructure.vue
...c/views/macro/economies/component/industrialStructure.vue
+9
-4
localEconomy.vue
...e-ui/src/views/macro/economies/component/localEconomy.vue
+7
-2
regionalEconomy.vue
...i/src/views/macro/economies/component/regionalEconomy.vue
+1
-1
index.vue
dsk-operate-ui/src/views/macro/enterprises/index.vue
+1
-1
index.vue
dsk-operate-ui/src/views/macro/financing/index.vue
+12
-3
qgjjdq.vue
...ui/src/views/macro/nationalEconomies/component/qgjjdq.vue
+2
-2
tdjy.vue
...e-ui/src/views/macro/nationalEconomies/component/tdjy.vue
+12
-1
zhaobiao.vue
.../src/views/macro/nationalEconomies/component/zhaobiao.vue
+12
-2
zhongbiao.vue
...src/views/macro/nationalEconomies/component/zhongbiao.vue
+12
-2
index.vue
dsk-operate-ui/src/views/macro/urban/index.vue
+4
-3
index.vue
...rate-ui/src/views/radar/components/MajorProject/index.vue
+1
-1
No files found.
dsk-module/dsk-biz-api/src/main/java/com/dsk/jsk/domain/bo/EnterpriseProjectImportantListDto.java
View file @
dab0e477
...
...
@@ -7,6 +7,7 @@ import lombok.NoArgsConstructor;
import
lombok.ToString
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
@Data
@ToString
...
...
@@ -20,6 +21,6 @@ public class EnterpriseProjectImportantListDto extends BasePage {
private
String
projectLevel
;
private
String
projectType
;
private
List
<
String
>
projectType
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/jsk/service/EnterpriseService.java
View file @
dab0e477
...
...
@@ -131,6 +131,7 @@ public class EnterpriseService {
performance
.
put
(
"specialDebt"
,
MapUtils
.
getInteger
(
projectStatisticMapData
,
"specialDebt"
,
0
));
performance
.
put
(
"bidPlan"
,
MapUtils
.
getInteger
(
projectStatisticMapData
,
"bidPlan"
,
0
));
business
.
put
(
"historySend"
,
MapUtils
.
getInteger
(
projectStatisticMapData
,
"historySend"
,
0
));
business
.
put
(
"importantBusiness"
,
MapUtils
.
getInteger
(
projectStatisticMapData
,
"importantBusiness"
,
0
));
statisticMapData
.
put
(
"performance"
,
performance
);
statisticMapData
.
put
(
"business"
,
business
);
...
...
dsk-operate-ui/src/assets/styles/index.scss
View file @
dab0e477
...
...
@@ -232,7 +232,7 @@ ul, li {
}
}
.
el-input__inner
:
:
placeholder
{
color
:
rgba
(
35
,
35
,
35
,
0
.
4
)
!
important
;
color
:
rgba
(
35
,
35
,
35
,
0
.
8
)
!
important
;
}
.el-select
.el-input
.el-select__caret
{
color
:
#232323
;
...
...
@@ -253,7 +253,7 @@ ul, li {
}
.query-params
{
.form-content-width
{
width
:
160px
;
//
width: 160px;
}
.el-form
{
&
.el-form--inline
.el-form-item
{
...
...
@@ -631,7 +631,7 @@ ul, li {
line-height
:
32px
;
}
&
:hover
{
color
:
#
fff
;
color
:
#
006AD1
;
border-color
:
#006AD1
;
}
}
...
...
dsk-operate-ui/src/assets/styles/project.scss
View file @
dab0e477
...
...
@@ -393,6 +393,9 @@
}
}
}
a
:hover
,
a
:visited
,
a
:link
,
a
:active
{
color
:
#0081FF
;
}
}
//弹出层样式
.popups
{
...
...
dsk-operate-ui/src/assets/styles/search-common.scss
View file @
dab0e477
...
...
@@ -10,8 +10,8 @@
.el-cascader
,
.el-select
{
max-width
:
unset
!
important
;
width
:
64px
;
padding
:
0px
8
px
;
//
width: 64px;
padding
:
0px
16
px
;
transition
:
width
0
.3s
;
box-sizing
:
border-box
;
...
...
@@ -33,19 +33,20 @@
.el-input
{
display
:
flex
;
align-items
:
center
;
&
>
input
{
.el-input__inner
{
padding
:
0px
;
border
:
none
;
height
:
30px
;
line-height
:
30px
;
box-sizing
:
border-box
;
&
:
:
placeholder
{
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
font-size
:
14px
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
)
!
important
;
font-size
:
14px
!
important
;
}
}
&
>
.el-input__suffix
{
margin-left
:
8px
;
position
:
unset
;
.el-input__suffix-inner
{
i
{
...
...
@@ -57,12 +58,35 @@
}
}
}
// hover状态
&
:hover
{
background
:
#f4f6f9
;
border-radius
:
4px
;
.el-input
{
.el-input__inner
{
background
:
#f4f6f9
;
&
:
:
placeholder
{
color
:
#232323
!
important
;
}
}
.el-input__suffix
{
.el-input__suffix-inner
{
i
{
color
:
#232323
;
}
}
}
}
}
}
// 自定义事件选择 金额选择
.custom-select
{
height
:
32px
;
transition
:
width
0
.3s
;
cursor
:
pointer
;
padding
:
0px
16px
;
.block
{
&
>
.el-input
{
display
:
flex
;
...
...
@@ -73,12 +97,14 @@
height
:
30px
;
line-height
:
30px
;
box-sizing
:
border-box
;
cursor
:
pointer
;
&
:
:
placeholder
{
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
font-size
:
14px
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
)
!
important
;
font-size
:
14px
!
important
;
}
}
&
>
.el-input__suffix
{
margin-left
:
8px
;
position
:
unset
;
width
:
auto
;
.el-input__suffix-inner
{
...
...
@@ -93,6 +119,38 @@
}
}
}
.options-block
{
.option
{
&
:hover
{
color
:
#0381fa
;
}
}
}
// hover状态
&
:hover
{
background
:
#f4f6f9
;
border-radius
:
4px
;
.block
{
&
>
.el-input
{
.el-input__inner
{
background
:
#f4f6f9
;
&
:
:
placeholder
{
color
:
#232323
!
important
;
}
}
&
>
.el-input__suffix
{
.el-input__suffix-inner
{
span
,
i
{
color
:
#232323
;
}
}
}
}
}
}
}
// 时间选择器
...
...
dsk-operate-ui/src/utils/index.js
View file @
dab0e477
import
{
parseTime
}
from
'./ruoyi'
import
{
parseTime
}
from
'./ruoyi'
;
/**
* 表格时间格式化
*/
export
function
formatDate
(
cellValue
)
{
if
(
cellValue
==
null
||
cellValue
==
""
)
return
""
;
var
date
=
new
Date
(
cellValue
)
var
year
=
date
.
getFullYear
()
var
month
=
date
.
getMonth
()
+
1
<
10
?
'0'
+
(
date
.
getMonth
()
+
1
)
:
date
.
getMonth
()
+
1
var
day
=
date
.
getDate
()
<
10
?
'0'
+
date
.
getDate
()
:
date
.
getDate
()
var
hours
=
date
.
getHours
()
<
10
?
'0'
+
date
.
getHours
()
:
date
.
getHours
()
var
minutes
=
date
.
getMinutes
()
<
10
?
'0'
+
date
.
getMinutes
()
:
date
.
getMinutes
()
var
seconds
=
date
.
getSeconds
()
<
10
?
'0'
+
date
.
getSeconds
()
:
date
.
getSeconds
()
return
year
+
'-'
+
month
+
'-'
+
day
+
' '
+
hours
+
':'
+
minutes
+
':'
+
seconds
var
date
=
new
Date
(
cellValue
)
;
var
year
=
date
.
getFullYear
()
;
var
month
=
date
.
getMonth
()
+
1
<
10
?
'0'
+
(
date
.
getMonth
()
+
1
)
:
date
.
getMonth
()
+
1
;
var
day
=
date
.
getDate
()
<
10
?
'0'
+
date
.
getDate
()
:
date
.
getDate
()
;
var
hours
=
date
.
getHours
()
<
10
?
'0'
+
date
.
getHours
()
:
date
.
getHours
()
;
var
minutes
=
date
.
getMinutes
()
<
10
?
'0'
+
date
.
getMinutes
()
:
date
.
getMinutes
()
;
var
seconds
=
date
.
getSeconds
()
<
10
?
'0'
+
date
.
getSeconds
()
:
date
.
getSeconds
()
;
return
year
+
'-'
+
month
+
'-'
+
day
+
' '
+
hours
+
':'
+
minutes
+
':'
+
seconds
;
}
/**
...
...
@@ -22,27 +22,27 @@ export function formatDate(cellValue) {
*/
export
function
formatTime
(
time
,
option
)
{
if
((
''
+
time
).
length
===
10
)
{
time
=
parseInt
(
time
)
*
1000
time
=
parseInt
(
time
)
*
1000
;
}
else
{
time
=
+
time
time
=
+
time
;
}
const
d
=
new
Date
(
time
)
const
now
=
Date
.
now
()
const
d
=
new
Date
(
time
)
;
const
now
=
Date
.
now
()
;
const
diff
=
(
now
-
d
)
/
1000
const
diff
=
(
now
-
d
)
/
1000
;
if
(
diff
<
30
)
{
return
'刚刚'
return
'刚刚'
;
}
else
if
(
diff
<
3600
)
{
// less 1 hour
return
Math
.
ceil
(
diff
/
60
)
+
'分钟前'
return
Math
.
ceil
(
diff
/
60
)
+
'分钟前'
;
}
else
if
(
diff
<
3600
*
24
)
{
return
Math
.
ceil
(
diff
/
3600
)
+
'小时前'
return
Math
.
ceil
(
diff
/
3600
)
+
'小时前'
;
}
else
if
(
diff
<
3600
*
24
*
2
)
{
return
'1天前'
return
'1天前'
;
}
if
(
option
)
{
return
parseTime
(
time
,
option
)
return
parseTime
(
time
,
option
)
;
}
else
{
return
(
d
.
getMonth
()
+
...
...
@@ -54,7 +54,7 @@ export function formatTime(time, option) {
'时'
+
d
.
getMinutes
()
+
'分'
)
)
;
}
}
...
...
@@ -63,18 +63,18 @@ export function formatTime(time, option) {
* @returns {Object}
*/
export
function
getQueryObject
(
url
)
{
url
=
url
==
null
?
window
.
location
.
href
:
url
const
search
=
url
.
substring
(
url
.
lastIndexOf
(
'?'
)
+
1
)
const
obj
=
{}
const
reg
=
/
([^
?&=
]
+
)
=
([^
?&=
]
*
)
/g
url
=
url
==
null
?
window
.
location
.
href
:
url
;
const
search
=
url
.
substring
(
url
.
lastIndexOf
(
'?'
)
+
1
)
;
const
obj
=
{}
;
const
reg
=
/
([^
?&=
]
+
)
=
([^
?&=
]
*
)
/g
;
search
.
replace
(
reg
,
(
rs
,
$1
,
$2
)
=>
{
const
name
=
decodeURIComponent
(
$1
)
let
val
=
decodeURIComponent
(
$2
)
val
=
String
(
val
)
obj
[
name
]
=
val
return
rs
})
return
obj
const
name
=
decodeURIComponent
(
$1
)
;
let
val
=
decodeURIComponent
(
$2
)
;
val
=
String
(
val
)
;
obj
[
name
]
=
val
;
return
rs
;
})
;
return
obj
;
}
/**
...
...
@@ -83,14 +83,14 @@ export function getQueryObject(url) {
*/
export
function
byteLength
(
str
)
{
// returns the byte length of an utf8 string
let
s
=
str
.
length
let
s
=
str
.
length
;
for
(
var
i
=
str
.
length
-
1
;
i
>=
0
;
i
--
)
{
const
code
=
str
.
charCodeAt
(
i
)
if
(
code
>
0x7f
&&
code
<=
0x7ff
)
s
++
else
if
(
code
>
0x7ff
&&
code
<=
0xffff
)
s
+=
2
if
(
code
>=
0xDC00
&&
code
<=
0xDFFF
)
i
--
const
code
=
str
.
charCodeAt
(
i
)
;
if
(
code
>
0x7f
&&
code
<=
0x7ff
)
s
++
;
else
if
(
code
>
0x7ff
&&
code
<=
0xffff
)
s
+=
2
;
if
(
code
>=
0xDC00
&&
code
<=
0xDFFF
)
i
--
;
}
return
s
return
s
;
}
/**
...
...
@@ -98,13 +98,13 @@ export function byteLength(str) {
* @returns {Array}
*/
export
function
cleanArray
(
actual
)
{
const
newArray
=
[]
const
newArray
=
[]
;
for
(
let
i
=
0
;
i
<
actual
.
length
;
i
++
)
{
if
(
actual
[
i
])
{
newArray
.
push
(
actual
[
i
])
newArray
.
push
(
actual
[
i
])
;
}
}
return
newArray
return
newArray
;
}
/**
...
...
@@ -112,13 +112,13 @@ export function cleanArray(actual) {
* @returns {Array}
*/
export
function
param
(
json
)
{
if
(
!
json
)
return
''
if
(
!
json
)
return
''
;
return
cleanArray
(
Object
.
keys
(
json
).
map
(
key
=>
{
if
(
json
[
key
]
===
undefined
)
return
''
return
encodeURIComponent
(
key
)
+
'='
+
encodeURIComponent
(
json
[
key
])
if
(
json
[
key
]
===
undefined
)
return
''
;
return
encodeURIComponent
(
key
)
+
'='
+
encodeURIComponent
(
json
[
key
])
;
})
).
join
(
'&'
)
).
join
(
'&'
)
;
}
/**
...
...
@@ -126,21 +126,21 @@ export function param(json) {
* @returns {Object}
*/
export
function
param2Obj
(
url
)
{
const
search
=
decodeURIComponent
(
url
.
split
(
'?'
)[
1
]).
replace
(
/
\+
/g
,
' '
)
const
search
=
decodeURIComponent
(
url
.
split
(
'?'
)[
1
]).
replace
(
/
\+
/g
,
' '
)
;
if
(
!
search
)
{
return
{}
return
{}
;
}
const
obj
=
{}
const
searchArr
=
search
.
split
(
'&'
)
const
obj
=
{}
;
const
searchArr
=
search
.
split
(
'&'
)
;
searchArr
.
forEach
(
v
=>
{
const
index
=
v
.
indexOf
(
'='
)
const
index
=
v
.
indexOf
(
'='
)
;
if
(
index
!==
-
1
)
{
const
name
=
v
.
substring
(
0
,
index
)
const
val
=
v
.
substring
(
index
+
1
,
v
.
length
)
obj
[
name
]
=
val
const
name
=
v
.
substring
(
0
,
index
)
;
const
val
=
v
.
substring
(
index
+
1
,
v
.
length
)
;
obj
[
name
]
=
val
;
}
})
return
obj
})
;
return
obj
;
}
/**
...
...
@@ -148,9 +148,9 @@ export function param2Obj(url) {
* @returns {string}
*/
export
function
html2Text
(
val
)
{
const
div
=
document
.
createElement
(
'div'
)
div
.
innerHTML
=
val
return
div
.
textContent
||
div
.
innerText
const
div
=
document
.
createElement
(
'div'
)
;
div
.
innerHTML
=
val
;
return
div
.
textContent
||
div
.
innerText
;
}
/**
...
...
@@ -161,20 +161,20 @@ export function html2Text(val) {
*/
export
function
objectMerge
(
target
,
source
)
{
if
(
typeof
target
!==
'object'
)
{
target
=
{}
target
=
{}
;
}
if
(
Array
.
isArray
(
source
))
{
return
source
.
slice
()
return
source
.
slice
()
;
}
Object
.
keys
(
source
).
forEach
(
property
=>
{
const
sourceProperty
=
source
[
property
]
const
sourceProperty
=
source
[
property
]
;
if
(
typeof
sourceProperty
===
'object'
)
{
target
[
property
]
=
objectMerge
(
target
[
property
],
sourceProperty
)
target
[
property
]
=
objectMerge
(
target
[
property
],
sourceProperty
)
;
}
else
{
target
[
property
]
=
sourceProperty
target
[
property
]
=
sourceProperty
;
}
})
return
target
})
;
return
target
;
}
/**
...
...
@@ -183,18 +183,18 @@ export function objectMerge(target, source) {
*/
export
function
toggleClass
(
element
,
className
)
{
if
(
!
element
||
!
className
)
{
return
return
;
}
let
classString
=
element
.
className
const
nameIndex
=
classString
.
indexOf
(
className
)
let
classString
=
element
.
className
;
const
nameIndex
=
classString
.
indexOf
(
className
)
;
if
(
nameIndex
===
-
1
)
{
classString
+=
''
+
className
classString
+=
''
+
className
;
}
else
{
classString
=
classString
.
substr
(
0
,
nameIndex
)
+
classString
.
substr
(
nameIndex
+
className
.
length
)
classString
.
substr
(
nameIndex
+
className
.
length
)
;
}
element
.
className
=
classString
element
.
className
=
classString
;
}
/**
...
...
@@ -203,9 +203,9 @@ export function toggleClass(element, className) {
*/
export
function
getTime
(
type
)
{
if
(
type
===
'start'
)
{
return
new
Date
().
getTime
()
-
3600
*
1000
*
24
*
90
return
new
Date
().
getTime
()
-
3600
*
1000
*
24
*
90
;
}
else
{
return
new
Date
(
new
Date
().
toDateString
())
return
new
Date
(
new
Date
().
toDateString
())
;
}
}
...
...
@@ -216,38 +216,38 @@ export function getTime(type) {
* @return {*}
*/
export
function
debounce
(
func
,
wait
,
immediate
)
{
let
timeout
,
args
,
context
,
timestamp
,
result
let
timeout
,
args
,
context
,
timestamp
,
result
;
const
later
=
function
()
{
const
later
=
function
()
{
// 据上一次触发时间间隔
const
last
=
+
new
Date
()
-
timestamp
const
last
=
+
new
Date
()
-
timestamp
;
// 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait
if
(
last
<
wait
&&
last
>
0
)
{
timeout
=
setTimeout
(
later
,
wait
-
last
)
timeout
=
setTimeout
(
later
,
wait
-
last
)
;
}
else
{
timeout
=
null
timeout
=
null
;
// 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用
if
(
!
immediate
)
{
result
=
func
.
apply
(
context
,
args
)
if
(
!
timeout
)
context
=
args
=
null
}
result
=
func
.
apply
(
context
,
args
);
if
(
!
timeout
)
context
=
args
=
null
;
}
}
};
return
function
(...
args
)
{
context
=
this
timestamp
=
+
new
Date
()
const
callNow
=
immediate
&&
!
timeout
return
function
(...
args
)
{
context
=
this
;
timestamp
=
+
new
Date
()
;
const
callNow
=
immediate
&&
!
timeout
;
// 如果延时不存在,重新设定延时
if
(
!
timeout
)
timeout
=
setTimeout
(
later
,
wait
)
if
(
!
timeout
)
timeout
=
setTimeout
(
later
,
wait
)
;
if
(
callNow
)
{
result
=
func
.
apply
(
context
,
args
)
context
=
args
=
null
result
=
func
.
apply
(
context
,
args
)
;
context
=
args
=
null
;
}
return
result
}
return
result
;
}
;
}
/**
...
...
@@ -259,17 +259,17 @@ export function debounce(func, wait, immediate) {
*/
export
function
deepClone
(
source
)
{
if
(
!
source
&&
typeof
source
!==
'object'
)
{
throw
new
Error
(
'error arguments'
,
'deepClone'
)
throw
new
Error
(
'error arguments'
,
'deepClone'
)
;
}
const
targetObj
=
source
.
constructor
===
Array
?
[]
:
{}
const
targetObj
=
source
.
constructor
===
Array
?
[]
:
{}
;
Object
.
keys
(
source
).
forEach
(
keys
=>
{
if
(
source
[
keys
]
&&
typeof
source
[
keys
]
===
'object'
)
{
targetObj
[
keys
]
=
deepClone
(
source
[
keys
])
targetObj
[
keys
]
=
deepClone
(
source
[
keys
])
;
}
else
{
targetObj
[
keys
]
=
source
[
keys
]
targetObj
[
keys
]
=
source
[
keys
]
;
}
})
return
targetObj
})
;
return
targetObj
;
}
/**
...
...
@@ -277,16 +277,16 @@ export function deepClone(source) {
* @returns {Array}
*/
export
function
uniqueArr
(
arr
)
{
return
Array
.
from
(
new
Set
(
arr
))
return
Array
.
from
(
new
Set
(
arr
))
;
}
/**
* @returns {string}
*/
export
function
createUniqueString
()
{
const
timestamp
=
+
new
Date
()
+
''
const
randomNum
=
parseInt
((
1
+
Math
.
random
())
*
65536
)
+
''
return
(
+
(
randomNum
+
timestamp
)).
toString
(
32
)
const
timestamp
=
+
new
Date
()
+
''
;
const
randomNum
=
parseInt
((
1
+
Math
.
random
())
*
65536
)
+
''
;
return
(
+
(
randomNum
+
timestamp
)).
toString
(
32
)
;
}
/**
...
...
@@ -296,7 +296,7 @@ export function createUniqueString() {
* @returns {boolean}
*/
export
function
hasClass
(
ele
,
cls
)
{
return
!!
ele
.
className
.
match
(
new
RegExp
(
'(
\\
s|^)'
+
cls
+
'(
\\
s|$)'
))
return
!!
ele
.
className
.
match
(
new
RegExp
(
'(
\\
s|^)'
+
cls
+
'(
\\
s|$)'
))
;
}
/**
...
...
@@ -305,7 +305,7 @@ export function hasClass(ele, cls) {
* @param {string} cls
*/
export
function
addClass
(
ele
,
cls
)
{
if
(
!
hasClass
(
ele
,
cls
))
ele
.
className
+=
' '
+
cls
if
(
!
hasClass
(
ele
,
cls
))
ele
.
className
+=
' '
+
cls
;
}
/**
...
...
@@ -315,23 +315,23 @@ export function addClass(ele, cls) {
*/
export
function
removeClass
(
ele
,
cls
)
{
if
(
hasClass
(
ele
,
cls
))
{
const
reg
=
new
RegExp
(
'(
\\
s|^)'
+
cls
+
'(
\\
s|$)'
)
ele
.
className
=
ele
.
className
.
replace
(
reg
,
' '
)
const
reg
=
new
RegExp
(
'(
\\
s|^)'
+
cls
+
'(
\\
s|$)'
)
;
ele
.
className
=
ele
.
className
.
replace
(
reg
,
' '
)
;
}
}
export
function
makeMap
(
str
,
expectsLowerCase
)
{
const
map
=
Object
.
create
(
null
)
const
list
=
str
.
split
(
','
)
const
map
=
Object
.
create
(
null
)
;
const
list
=
str
.
split
(
','
)
;
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
map
[
list
[
i
]]
=
true
map
[
list
[
i
]]
=
true
;
}
return
expectsLowerCase
?
val
=>
map
[
val
.
toLowerCase
()]
:
val
=>
map
[
val
]
:
val
=>
map
[
val
]
;
}
export
const
exportDefault
=
'export default '
export
const
exportDefault
=
'export default '
;
export
const
beautifierConf
=
{
html
:
{
...
...
@@ -372,19 +372,32 @@ export const beautifierConf = {
e4x
:
true
,
indent_empty_lines
:
true
}
}
}
;
// 首字母大小
export
function
titleCase
(
str
)
{
return
str
.
replace
(
/
(
|^
)[
a-z
]
/g
,
L
=>
L
.
toUpperCase
())
return
str
.
replace
(
/
(
|^
)[
a-z
]
/g
,
L
=>
L
.
toUpperCase
())
;
}
// 下划转驼峰
export
function
camelCase
(
str
)
{
return
str
.
replace
(
/_
[
a-z
]
/g
,
str1
=>
str1
.
substr
(
-
1
).
toUpperCase
())
return
str
.
replace
(
/_
[
a-z
]
/g
,
str1
=>
str1
.
substr
(
-
1
).
toUpperCase
());
}
export
function
toHump
(
lineStr
)
{
return
lineStr
.
replace
(
/
\_(\w)
/g
,
(
all
,
letter
)
=>
letter
.
toUpperCase
());
}
/**
* 驼峰转下划线
* @param {string} humpStr
* @returns
*/
export
function
toLine
(
humpStr
)
{
return
humpStr
.
replace
(
/
([
A-Z
])
/g
,
"_$1"
).
toLowerCase
();
}
export
function
isNumberStr
(
str
)
{
return
/^
[
+-
]?(
0|
([
1-9
]\d
*
))(\.\d
+
)?
$/g
.
test
(
str
)
return
/^
[
+-
]?(
0|
([
1-9
]\d
*
))(\.\d
+
)?
$/g
.
test
(
str
)
;
}
dsk-operate-ui/src/views/detail/groupAccount/component/performance.vue
View file @
dab0e477
...
...
@@ -88,8 +88,8 @@
{
type
:
7
,
fieldName
:
'province'
,
value
:
''
,
props
:
{
multiple
:
true
,
value
:
'id'
,
expandTrigger
:
'hover'
},
placeholder
:
'项目地区'
,
options
:[],
uid
:
this
.
getUid
()},
{
type
:
5
,
fieldName
:
'time'
,
value
:
''
,
placeholder
:
'中标时间'
,
startTime
:
'startBidTime'
,
endTime
:
'endBidTime'
,
timeList
:[],
dateTo
:
this
.
formatDate
(
new
Date
())
,
uid
:
this
.
getUid
()},
{
type
:
6
,
fieldName
:
'money'
,
value
:
''
,
placeholder
:
'中标金额'
,
startMoney
:
'minAmount'
,
endMoney
:
'maxAmount'
,
moneyList
:[],
uid
:
this
.
getUid
()
},
{
type
:
4
,
fieldName
:
'boundTypes'
,
value
:
''
,
placeholder
:
'业绩类型'
,
options
:
[],
width
:
150
,
uid
:
this
.
getUid
()},
{
type
:
4
,
fieldName
:
'projectTypes'
,
value
:
''
,
placeholder
:
'项目类型'
,
options
:
[],
width
:
150
,
uid
:
this
.
getUid
()},
{
type
:
4
,
fieldName
:
'boundTypes'
,
value
:
''
,
placeholder
:
'业绩类型'
,
options
:
[],
uid
:
this
.
getUid
()},
{
type
:
4
,
fieldName
:
'projectTypes'
,
value
:
''
,
placeholder
:
'项目类型'
,
options
:
[],
uid
:
this
.
getUid
()},
{
type
:
1
,
fieldName
:
'cgbl'
,
value
:
''
,
placeholder
:
'持股比例'
,
options
:
[],
width
:
100
,
uid
:
this
.
getUid
()},
// { type: 3, fieldName: 'searchValue', value: '', placeholder: '搜索中标成员名称/项目名称'},
{
type
:
3
,
fieldName
:
'searchValue'
,
value
:
''
,
placeholder
:
'输入关键词查询'
,
uid
:
this
.
getUid
()},
...
...
dsk-operate-ui/src/views/detail/groupAccount/component/qualifications.vue
View file @
dab0e477
...
...
@@ -12,7 +12,16 @@
<!--certificateList-->
<div
class=
"item_ckquery"
:style=
"height?'height:'+height+'':'height: 60px'"
>
<template
v-for=
"(item,index) in certificateList"
>
<span
:class=
"
{'color_text':queryParams.qualificationType === item.qualificationType}" @click="changeType(item.qualificationType)">
{{
item
.
qualificationName
}}
(
{{
item
.
companyCount
}}
)
</span>
<el-tooltip
popper-class=
"certificateTips"
placement=
"bottom"
effect=
"light"
:disabled=
"isShowTooltip"
:key=
"index"
>
<span
class=
"span"
@
mouseover=
"onMouseOver('isOverflow'+index)"
:class=
"
{'color_text':queryParams.qualificationType === item.qualificationType}">
<span
:ref=
"`isOverflow`+index"
@
click=
"changeType(item.qualificationType)"
>
{{
item
.
qualificationName
}}
(
{{
item
.
companyCount
}}
)
</span>
</span>
<span
slot=
"content"
:class=
"
{'color_text':queryParams.qualificationType === item.qualificationType}">
{{
item
.
qualificationName
}}
(
{{
item
.
companyCount
}}
)
</span>
</el-tooltip>
</
template
>
</div>
<el-divider
v-if=
"certificateList.length > 10 && !height"
@
click=
"moreClick()"
>
更多
<span></span></el-divider>
...
...
@@ -77,13 +86,21 @@
title
:
''
,
rowData
:
''
,
certificateList
:[],
height
:
''
height
:
''
,
isShowTooltip
:
false
}
},
created
()
{
console
.
log
(
window
.
location
.
host
)
this
.
getCertificateList
()
},
methods
:
{
onMouseOver
(
str
)
{
// 内容超出,显示文字提示内容
const
tag
=
this
.
$refs
[
str
]
const
parentWidth
=
tag
[
0
].
parentNode
.
offsetWidth
// 获取元素父级可视宽度
const
contentWidth
=
tag
[
0
].
offsetWidth
// 获取元素可视宽度
this
.
isShowTooltip
=
contentWidth
<=
parentWidth
},
handleQuery
(
params
){
this
.
isSkeleton
=
true
let
data
=
params
?
params
:
this
.
queryParams
;
...
...
@@ -129,7 +146,22 @@
}
}
</
script
>
<
style
lang=
"scss"
>
.certificateTips.is-light
{
/*padding: 12px;*/
/*width: 318px;*/
/*box-sizing: border-box;*/
/*font-size: 14px;*/
/*line-height: 20px;*/
color
:
#333333
;
border-color
:
rgba
(
0
,
0
,
0
,
0
.08
);
box-shadow
:
0px
0px
0px
0px
rgba
(
0
,
0
,
0
,
0
.08
);
.popper__arrow
{
border-bottom-color
:
rgba
(
0
,
0
,
0
,
0
.08
)
!
important
;
border-top-color
:
rgba
(
0
,
0
,
0
,
0
.08
)
!
important
;
}
}
</
style
>
<
style
lang=
"scss"
scoped
>
.qualifications
{
background
:
#ffffff
;
...
...
@@ -145,16 +177,25 @@
position
:
relative
;
margin-bottom
:
10px
;
overflow
:
hidden
;
span
{
.
span
{
color
:
#232323
;
padding
:
3px
10px
;
margin-bottom
:
4px
;
height
:
25px
;
line-height
:
25px
;
display
:
inline-block
;
font-size
:
14px
;
cursor
:
pointer
;
width
:
20%
;
width
:
19%
;
overflow
:
hidden
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
span
{
padding
:
0
10px
;
/*display: inline-block;*/
/*padding-right: 20px;*/
}
}
span
:hover
{
.
span
:hover
{
background
:
#F3F4F5
;
border-radius
:
4px
;
color
:
#0081FF
;
...
...
dsk-operate-ui/src/views/detail/groupAccount/component/zbxmfx.vue
View file @
dab0e477
...
...
@@ -218,7 +218,7 @@
<div
class=
"content"
>
<head-form
title=
"历史发包项目金额TOP10"
:form-data=
"formData"
:form-data=
"formData
1
"
:query-params=
"queryParams1"
@
handle-search=
"handleSearch1"
:slots=
"true"
...
...
@@ -283,17 +283,20 @@
return
{
queryParams
:
{
combineId
:
this
.
customerId
,
year
:
'2023年'
},
queryParams1
:
{
combineId
:
this
.
customerId
,
year
:
'2023年'
},
formData
:
[
{
type
:
4
,
fieldName
:
'type'
,
value
:
''
,
placeholder
:
'项目类型'
,
options
:
[],
width
:
150
,
uid
:
this
.
getUid
()},
{
type
:
1
,
fieldName
:
'cgbl'
,
value
:
''
,
placeholder
:
'持股比例'
,
options
:
[],
width
:
110
,
uid
:
this
.
getUid
()},
{
type
:
1
,
fieldName
:
'year'
,
value
:
'2023年'
,
placeholder
:
'年份'
,
options
:
[],
width
:
100
,
uid
:
this
.
getUid
()},
],
formData1
:
[
{
type
:
4
,
fieldName
:
'type'
,
value
:
''
,
placeholder
:
'项目类型'
,
options
:
[],
width
:
150
,
uid
:
this
.
getUid
()},
{
type
:
1
,
fieldName
:
'cgbl'
,
value
:
''
,
placeholder
:
'持股比例'
,
options
:
[],
width
:
110
,
uid
:
this
.
getUid
()},
{
type
:
1
,
fieldName
:
'year'
,
value
:
'2023年'
,
placeholder
:
'年份'
,
options
:
[],
width
:
100
,
uid
:
this
.
getUid
()},
],
cgblList
:
[
{
name
:
'100%'
,
value
:
'100%'
},
{
name
:
'50%以上'
,
value
:
'50%以上'
},
...
...
@@ -321,6 +324,7 @@
},
created
()
{
this
.
formData
[
1
].
options
=
this
.
cgblList
;
this
.
formData1
[
1
].
options
=
this
.
cgblList
;
this
.
yearsData
()
//项目类型
getDictType
(
'project_type_new'
).
then
(
result
=>
{
...
...
@@ -331,6 +335,10 @@
name
:
data
[
i
].
dictLabel
,
value
:
data
[
i
].
dictValue
,
})
this
.
formData1
[
0
].
options
.
push
({
name
:
data
[
i
].
dictLabel
,
value
:
data
[
i
].
dictValue
,
})
}
}
})
...
...
@@ -356,6 +364,7 @@
}
this
.
yearOptions
=
Years
.
reverse
()
this
.
formData
[
2
].
options
=
Years
this
.
formData1
[
2
].
options
=
Years
},
handleQuery
(
params
){
// this.isSkeleton = true
...
...
@@ -457,6 +466,7 @@
})
},
getPeojectTop
(
params
){
console
.
log
(
params
)
let
data
=
params
||
this
.
queryParams1
;
if
(
data
.
cgbl
){
if
(
data
.
cgbl
===
'100%'
){
...
...
@@ -490,8 +500,39 @@
}
})
},
formParams1
(){
let
condtion
=
{}
let
reqData
=
{}
this
.
formData1
&&
this
.
formData1
.
forEach
(
item
=>
{
if
(
item
.
value
||
(
item
.
value
&&
item
.
value
.
length
)
||
item
.
value
===
0
)
{
if
(
item
.
fieldName
==
'time'
)
{
condtion
[
item
.
startTime
]
=
item
.
value
[
0
];
condtion
[
item
.
endTime
]
=
item
.
value
[
1
];
return
}
if
(
item
.
fieldName
==
'money'
)
{
condtion
[
item
.
startMoney
]
=
item
.
value
[
0
];
condtion
[
item
.
endMoney
]
=
item
.
value
[
1
];
return
}
condtion
[
item
.
fieldName
]
=
item
.
value
}
})
Object
.
keys
(
condtion
).
forEach
(
key
=>
{
if
(
condtion
[
key
]
||
condtion
[
key
]
===
0
)
{
if
(
Array
.
isArray
(
condtion
[
key
])
&&
condtion
[
key
].
length
==
0
){
delete
condtion
[
key
]
}
reqData
[
key
]
=
condtion
[
key
]
}
})
if
(
this
.
queryParams1
&&
Object
.
keys
(
this
.
queryParams1
))
{
reqData
=
Object
.
assign
(
reqData
,
this
.
queryParams1
)
}
return
reqData
},
handleSearch1
(){
let
params
=
this
.
formParams
()
let
params
=
this
.
formParams
1
()
this
.
getPeojectTop
(
params
)
},
changeSelect1
(){
...
...
dsk-operate-ui/src/views/detail/party-a/component/CustomMoneySelect.vue
View file @
dab0e477
...
...
@@ -226,7 +226,8 @@ export default {
<
style
lang=
"scss"
>
.custom-money-select
{
width
:
120px
;
/*width: 120px;*/
width
:
auto
;
height
:
34px
;
position
:
relative
;
.el-input__inner
{
...
...
dsk-operate-ui/src/views/detail/party-a/component/CustomTimeSelect.vue
View file @
dab0e477
...
...
@@ -238,7 +238,8 @@ export default {
<
style
lang=
"scss"
>
.custom-time-select
{
width
:
120px
;
/*width: 120px;*/
width
:
auto
;
height
:
34px
;
.rote
{
...
...
dsk-operate-ui/src/views/detail/party-a/component/HeadForm.vue
View file @
dab0e477
...
...
@@ -5,14 +5,6 @@
<div
class=
"flex-box query-params"
>
<span
class=
"common-title"
v-if=
"title"
>
{{
title
}}
</span>
</div>
<template
v-if=
"slots"
>
<slot
name=
"slot"
></slot>
</
template
>
<div
v-else
class=
"flex-box"
>
<span
class=
"flex-box ability-total"
v-if=
"isTotal"
>
共{{ total }}条
</span>
<span
class=
"flex-box ability-excel"
v-hasPermi=
"['combine:info:export:win:bid','combine:info:export:bid']"
v-if=
"isExcel"
@
click=
"clickEXCEL"
><img
src=
"@/assets/images/ability_excel.png"
>
导出EXCEL
</span>
<span
class=
"flex-box ability-excel"
v-else
@
click=
"clickEXCEL"
><img
src=
"@/assets/images/ability_excel.png"
>
导出EXCEL
</span>
</div>
</div>
<div
class=
"flex-box query-box"
v-if=
"formData.length > 0"
>
<div
class=
"flex-box query-params"
>
...
...
@@ -105,7 +97,10 @@
</div>
</div>
</div>
<div
v-if=
"!title"
class=
"flex-box"
>
<
template
v-if=
"slots"
>
<slot
name=
"slot"
></slot>
</
template
>
<div
v-else
class=
"flex-box"
>
<span
class=
"flex-box ability-total"
v-if=
"isTotal"
>
共{{ total }}条
</span>
<span
class=
"flex-box ability-excel"
v-hasPermi=
"['combine:info:export:win:bid','combine:info:export:bid']"
v-if=
"isExcel"
@
click=
"clickEXCEL"
><img
src=
"@/assets/images/ability_excel.png"
>
导出EXCEL
</span>
<span
class=
"flex-box ability-excel"
v-else
@
click=
"clickEXCEL"
><img
src=
"@/assets/images/ability_excel.png"
>
导出EXCEL
</span>
...
...
dsk-operate-ui/src/views/detail/party-a/component/HeadFormNew.vue
View file @
dab0e477
<
template
>
<div
class=
"head-form-new"
v-if=
"title === '集团业绩'"
>
<div
class=
"common-title"
v-if=
"title"
>
{{
title
}}
</div>
<div
class=
"flex-box query-box"
style=
"margin-bottom: 12px;"
>
<div
class=
"flex-box query-params"
>
</div>
<template
v-if=
"slots"
>
<slot
name=
"slot"
></slot>
</
template
>
<div
v-else
class=
"flex-box"
>
<span
class=
"flex-box ability-total"
v-if=
"isTotal"
>
共有{{ total }}条
</span>
<span
class=
"flex-box ability-excel"
v-hasPermi=
"['combine:info:export:win:bid']"
v-if=
"isExcel && title ==='集团业绩'"
@
click=
"clickEXCEL"
><img
src=
"@/assets/images/ability_excel.png"
>
导出EXCEL
</span>
<span
class=
"flex-box ability-excel"
v-else
@
click=
"clickEXCEL"
><img
src=
"@/assets/images/ability_excel.png"
>
导出EXCEL
</span>
</div>
</div>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-params"
>
<div
class=
"headForm-from"
>
<div
class=
"from-item"
:key=
"i"
v-for=
"(form, i) in formData"
>
<!-- 单选 -->
<
template
v-if=
"form.type==1"
>
<el-select
v-model=
"form.value"
clearable
class=
"form-content-width same-select-com"
:class=
"[`select-adaptive-$
{form.uid}`]"
:style="form.width?'width:'+form.width+'px':'max-width: 110px'" :placeholder="form.placeholder" @change="iptAdaptive(form.uid)">
<el-option
v-for=
"(item, index) in form.options"
:key=
"index"
:label=
"item.name"
:value=
"item.value"
:disabled=
"item.disabled"
/>
</el-select>
</
template
>
<!-- 年月日 -->
<
template
v-if=
"form.type==2"
>
<el-date-picker
@
change=
"changeSelect"
class=
"fromTime"
style=
"width: 210px"
v-model=
"form.value"
type=
"daterange"
prefix-icon=
"fromTime-icon"
value-format=
"yyyy-MM-dd"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
</
template
>
<!-- 输入框 -->
<
template
v-if=
"form.type==3"
>
<!-- 未点击前的输入框样式 -->
<div
class=
"normal-search-container"
@
click=
"showSearchBox = true"
v-if=
"!showSearchBox"
>
<img
src=
"@/assets/images/enterprise/enterprise-search-icon.svg"
alt=
""
>
<span>
搜索
</span>
</div>
<!-- 输入框展开后样式 -->
<transition
@
enter=
"onEnter"
appear
mode=
"out-in"
>
<div
class=
"cooperate-name enterprise-search-container"
:id=
"'focus'+i"
v-if=
"showSearchBox"
>
<el-input
clearable
@
clear=
"changeSelect"
@
focus=
"clickFocus('focus'+i)"
@
blur=
"clickFocus('focus'+i)"
v-model=
"form.value"
:placeholder=
"form.placeholder"
:style=
"form.width?'width:'+form.width+'px':'width:180px'"
></el-input>
<span
@
click=
"changeSelect"
>
搜索
</span>
</div>
</transition>
</
template
>
<!-- 多选 -->
<
template
v-if=
"form.type==4"
>
<el-select
class=
"form-content-width"
:class=
"form.value.length > 1 ? ['selectTag',`select-adaptive-$
{form.uid}`] : [`select-adaptive-${form.uid}`]" v-model="form.value"
multiple collapse-tags clearable :style="form.width?'width:'+form.width+'px':'max-width: 170px'" :placeholder="form.placeholder"
@change="iptAdaptive(form.uid,true)">
<el-option
v-for=
"(item, index) in form.options"
:key=
"index"
:label=
"item.name"
:value=
"item.value"
/>
</el-select>
</
template
>
<!-- 时间、自定义 -->
<
template
v-else-if=
"form.type==5"
>
<custom-time-select
:class=
"[`select-adaptive-$
{form.uid}`,'custom-select']" :timeList="form.timeList" v-model="form.value"
:placeholder="form.placeholder" :dateFrom="form.dateFrom ? form.dateFrom : ''" :dateTo="form.dateTo ? form.dateTo : ''"
@handle-search="iptAdaptive(form.uid)" />
</
template
>
<!-- 金额 -->
<
template
v-else-if=
"form.type==6"
>
<custom-money-select
:class=
"[`select-adaptive-$
{form.uid}`,'custom-select']" :moneyList="form.moneyList" v-model="form.value"
:placeholder="form.placeholder" @handle-search="iptAdaptive(form.uid)" />
</
template
>
<!-- 地区选择 -->
<
template
v-else-if=
"form.type==7"
>
<el-cascader
:class=
"[`select-adaptive-$
{form.uid}`]" ref="cascader" :options="form.options" :props="form.props" v-model="form.value"
@change="iptAdaptive(form.uid,true)" :placeholder="form.placeholder" collapse-tags clearable>
</el-cascader>
</
template
>
<!-- 自定义 -->
<
template
v-if=
"form.type==0"
>
<slot
name=
"slot"
></slot>
</
template
>
</div>
</div>
</div>
</div>
</div>
<div
class=
"head-form-new"
v-else
>
<div
class=
"head-form-new"
>
<div
class=
"common-title"
v-if=
"title"
>
{{
title
}}
</div>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-params"
>
...
...
@@ -158,8 +73,8 @@
</
template
>
<div
v-else
class=
"flex-box"
>
<span
class=
"flex-box ability-total"
v-if=
"isTotal"
>
共有{{ total }}条
</span>
<span
class=
"flex-box ability-excel"
v-hasPermi=
"['combine:info:export:win:bid'
]"
v-if=
"isExcel && title ==='集团业绩'"
@
click=
"clickEXCEL"
><img
src=
"@/assets/images/ability_excel.png"
>
导出EXCEL
</span>
<span
class=
"flex-box ability-excel"
v-hasPermi=
"['combine:info:export:win:bid'
,'combine:info:export:bid']"
v-if=
"isExcel && title ==='集团业绩'"
@
click=
"clickEXCEL"
><img
src=
"@/assets/images/ability_excel.png"
>
导出EXCEL
</span>
<span
class=
"flex-box ability-excel"
v-else
@
click=
"clickEXCEL"
><img
src=
"@/assets/images/ability_excel.png"
>
导出EXCEL
</span>
</div>
</div>
...
...
@@ -230,11 +145,11 @@ export default {
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
const
hasPadding
=
(
parseInt
(
realStyles
.
paddingLeft
)
||
parseInt
(
realStyles
.
paddingRight
))
?
true
:
false
;
hasPadding
?
textContainer
.
style
.
setProperty
(
"padding"
,
"0px 8px"
)
:
null
;
hasPadding
?
textContainer
.
style
.
setProperty
(
"padding"
,
realStyles
.
paddingRight
)
:
null
;
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
text
;
document
.
body
.
append
(
textContainer
);
// 加上按钮宽度 以及
间
距
// 加上按钮宽度 以及
按钮左外边
距
let
containerWidth
=
textContainer
.
offsetWidth
+
12
+
8
;
textContainer
.
remove
();
dom
.
style
.
setProperty
(
"width"
,
`
${
containerWidth
}
px`
);
...
...
@@ -295,7 +210,7 @@ export default {
textContainer
.
style
.
setProperty
(
"visibility"
,
"hidden"
);
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
textContainer
.
style
.
setProperty
(
"padding"
,
"0px
8
px"
);
textContainer
.
style
.
setProperty
(
"padding"
,
"0px
16
px"
);
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
iptChild
.
getAttribute
(
"placeholder"
);
document
.
body
.
append
(
textContainer
);
...
...
@@ -324,7 +239,7 @@ export default {
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
const
hasPadding
=
(
parseInt
(
realStyles
.
paddingLeft
)
||
parseInt
(
realStyles
.
paddingRight
))
?
true
:
false
;
hasPadding
?
textContainer
.
style
.
setProperty
(
"padding"
,
"0px 8px"
)
:
null
;
hasPadding
?
textContainer
.
style
.
setProperty
(
"padding"
,
realStyles
.
padding
)
:
null
;
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
iptChild
.
value
?
iptChild
.
value
:
iptChild
.
getAttribute
(
"placeholder"
);
document
.
body
.
append
(
textContainer
);
...
...
@@ -391,7 +306,8 @@ export default {
::v-deep
.el-cascader
{
height
:
34px
;
line-height
:
34px
;
width
:
190px
;
/*width: 190px;*/
width
:
auto
;
.el-input
{
input
{
height
:
34px
!
important
;
...
...
@@ -492,8 +408,7 @@ export default {
}
&
>
span
{
color
:
#232323
;
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
font-weight
:
400
;
margin-left
:
8px
;
line-height
:
22px
;
...
...
@@ -502,7 +417,8 @@ export default {
}
}
::v-deep
.form-content-width
{
width
:
170px
;
/*width: 170px;*/
/*width: auto;*/
}
::v-deep
.selectTag
{
.el-select__tags
{
...
...
dsk-operate-ui/src/views/detail/party-a/component/Sidebar.vue
View file @
dab0e477
...
...
@@ -237,40 +237,45 @@ export default {
this
.
sideRoute
[
0
].
children
[
5
].
disabled
=
true
;
}
break
;
case
'
landInfo
'
:
case
'
importantBusiness
'
:
if
(
arr
[
i
][
j
]
<
1
)
{
this
.
sideRoute
[
2
].
children
[
0
].
disabled
=
true
;
}
break
;
case
'landInfo'
:
if
(
arr
[
i
][
j
]
<
1
)
{
this
.
sideRoute
[
2
].
children
[
1
].
disabled
=
true
;
this
.
sideRoute
[
4
].
children
[
1
].
disabled
=
true
;
}
break
;
case
'busProposedProjectV1'
:
if
(
arr
[
i
][
j
]
<
1
)
{
this
.
sideRoute
[
2
].
children
[
1
].
disabled
=
true
;
this
.
sideRoute
[
2
].
children
[
2
].
disabled
=
true
;
}
break
;
case
'specialDebt'
:
if
(
arr
[
i
][
j
]
<
1
)
{
this
.
sideRoute
[
2
].
children
[
2
].
disabled
=
true
;
this
.
sideRoute
[
2
].
children
[
3
].
disabled
=
true
;
}
break
;
case
'bidPlan'
:
if
(
arr
[
i
][
j
]
<
1
)
{
this
.
sideRoute
[
2
].
children
[
3
].
disabled
=
true
;
this
.
sideRoute
[
2
].
children
[
4
].
disabled
=
true
;
}
break
;
case
'biddingAnnouncement'
:
if
(
arr
[
i
][
j
]
<
1
)
{
this
.
sideRoute
[
2
].
children
[
4
].
disabled
=
true
;
this
.
sideRoute
[
2
].
children
[
5
].
disabled
=
true
;
}
break
;
case
'proBiddingAnnouncement'
:
if
(
arr
[
i
][
j
]
<
1
)
{
this
.
sideRoute
[
2
].
children
[
5
].
disabled
=
true
;
this
.
sideRoute
[
2
].
children
[
6
].
disabled
=
true
;
}
break
;
case
'adminLicensing'
:
if
(
arr
[
i
][
j
]
<
1
)
{
this
.
sideRoute
[
2
].
children
[
6
].
disabled
=
true
;
this
.
sideRoute
[
2
].
children
[
7
].
disabled
=
true
;
}
break
;
case
'customer'
:
...
...
@@ -336,6 +341,7 @@ export default {
this
.
sideRoute
[
5
].
children
[
6
].
disabled
=
true
;
}
break
;
default
:
break
;
}
...
...
dsk-operate-ui/src/views/detail/party-a/index.vue
View file @
dab0e477
...
...
@@ -367,7 +367,8 @@ export default {
}
else
{
this
.
$nextTick
(()
=>
{
this
.
isCompany
=
true
;
this
.
currentPath
.
pathName
=
'overview'
;
// this.currentPath.pathName = 'overview';
this
.
currentPath
.
pathName
=
this
.
$routes
.
query
.
path
;
});
}
},
...
...
dsk-operate-ui/src/views/detail/party-a/opport/MajorProject.vue
View file @
dab0e477
...
...
@@ -6,7 +6,7 @@
<tables
v-else
:tableLoading=
"tableLoading"
:tableData=
"tableData"
:forData=
"forData"
:tableDataTotal=
"tableDataTotal"
:queryParams=
"queryParams"
@
handle-current-change=
"handleCurrentChange"
@
sort-change=
"sortChange"
>
<template
slot=
"projectName"
slot-scope=
"scope"
>
<router-link
:to=
"`/radar/
Land/details/$
{scope.row.id}`" tag="a" class="a-link" v-if="scope.row.i
d
&&
scope.row.projectName "
<router-link
:to=
"`/radar/
MajorProject/details/$
{scope.row.md5Id}`" tag="a" class="a-link" v-if="scope.row.md5I
d
&&
scope.row.projectName "
v-html="scope.row.projectName">
</router-link>
<div
v-else
v-html=
"scope.row.projectName || '--'"
></div>
</
template
>
...
...
@@ -16,6 +16,10 @@
{{
scope
.
row
.
totalInvestment
?
`${scope.row.totalInvestment
}
万元`
:
"--"
}}
<
/div
>
<
/template
>
<!--
项目年度
-->
<
template
slot
=
"year"
slot
-
scope
=
"scope"
>
{{
scope
.
row
.
year
?
`${scope.row.year
}
年`
:
"--"
}}
<
/template
>
<
/tables
>
<
/div
>
...
...
@@ -42,11 +46,11 @@ export default {
}
,
forData
:
[
{
label
:
'项目名称'
,
prop
:
'projectName'
,
minWidth
:
'450'
,
slot
:
true
}
,
{
label
:
'项目地区'
,
prop
:
'projectAddress'
,
w
idth
:
'127'
}
,
{
label
:
'项目等级'
,
prop
:
'projectLevel'
,
w
idth
:
'90'
}
,
{
label
:
'项目投资金额'
,
prop
:
'totalInvestment'
,
w
idth
:
'120'
,
slot
:
true
}
,
{
label
:
'项目类型'
,
prop
:
'projectType'
,
w
idth
:
'120'
}
,
{
label
:
'项目年度'
,
prop
:
'year'
,
width
:
'90'
}
,
{
label
:
'项目地区'
,
prop
:
'projectAddress'
,
minW
idth
:
'127'
}
,
{
label
:
'项目等级'
,
prop
:
'projectLevel'
,
minW
idth
:
'90'
}
,
{
label
:
'项目投资金额'
,
prop
:
'totalInvestment'
,
minW
idth
:
'120'
,
slot
:
true
}
,
{
label
:
'项目类型'
,
prop
:
'projectType'
,
minW
idth
:
'120'
}
,
{
label
:
'项目年度'
,
prop
:
'year'
,
minWidth
:
'90'
,
slot
:
true
}
,
],
formData
:
[
{
type
:
1
,
fieldName
:
'projectLevel'
,
value
:
''
,
placeholder
:
'项目级别'
,
options
:
[],
uid
:
this
.
getUid
()
}
,
...
...
dsk-operate-ui/src/views/detail/party-b/index.vue
View file @
dab0e477
...
...
@@ -21,7 +21,8 @@
iframeHight
:
window
.
innerHeight
,
// iframe高度-当前页控制
navigation
:
{
isFixed
:
true
,
fixedHeight
:
56
,
totalHeight
:
68
},
// iframe之外页面顶部对象,ifFixed:是否浮动;fixedHeight:浮动对象高度;totalHeight:顶部整体高度
src
:
''
,
//iframe嵌套页面地址
domain
:
'https://plug.jiansheku.com'
,
// 插件地址
domain
:
'https://plug.jiansheku.com'
,
// 线上-插件地址
// domain: 'https://pre-plug.jiansheku.com', // 测试-插件地址
// domain: 'http://192.168.60.104:3400',
// domain: 'http://192.168.60.30:3300',
ak
:
'aec7b3ff2y2q8x6t49a7e2c463ce21912'
,
// 需要携带的sdkId
...
...
@@ -31,6 +32,7 @@
}
},
created
()
{
// http://szh.jiansheku.com
this
.
gettokens
()
},
mounted
()
{
...
...
dsk-operate-ui/src/views/enterpriseData/components/Owner/index.vue
View file @
dab0e477
...
...
@@ -1193,6 +1193,8 @@ export default {
display
:
flex
;
align-items
:
center
;
cursor
:
pointer
;
opacity
:
0
;
transition
:
opacity
0
.3s
;
.renling-img-true
{
width
:
16px
;
height
:
16px
;
...
...
@@ -1228,6 +1230,23 @@ export default {
}
}
}
.el-table
{
th
,
td
{
.cell
{
font-size
:
12px
;
}
}
.hover-row
{
.cell
{
.renling-btn
{
opacity
:
1
;
}
}
}
}
}
.table-item1
{
::v-deep
.el-table__body-wrapper
{
...
...
dsk-operate-ui/src/views/enterpriseData/components/searchTheOwner/index.vue
View file @
dab0e477
...
...
@@ -37,9 +37,9 @@
<div
class=
"content_right"
>
<div
class=
"checkbox"
>
<div
class=
"checkbox-content"
>
<
!--
<
div
class=
"checkbox-content-qx"
>
<el-checkbox
v-model=
"checkOwnerLabel"
@
change=
"allOwnerLabelBtn"
>
全部
</el-checkbox>
</div>
--
>
<div
class=
"checkbox-content-qx"
>
<el-checkbox
v-model=
"checkOwnerLabel"
@
change=
"allOwnerLabelBtn"
>
不限
</el-checkbox>
</div
>
<el-checkbox-group
v-model=
"currentOwnerLabels"
@
change=
"OwnerLabelChange"
>
<el-checkbox
v-for=
"item of ownerLabels"
:label=
"item.dictValue"
:key=
"item.dictCode"
>
{{
item
.
dictLabel
}}
</el-checkbox>
</el-checkbox-group>
...
...
@@ -100,7 +100,7 @@
</div>
</div>
<div
class=
"table-item-jf table-item-jf1 empty-table"
v-if=
"
tableData.length==0
&& !isSkeleton"
>
<div
class=
"table-item-jf table-item-jf1 empty-table"
v-if=
"
!tableData.length
&& !isSkeleton"
>
<img
class=
"item-jf-img"
src=
"@/assets/images/kong.png"
alt=
""
>
<div
class=
"item-jf-titel"
>
暂无相关数据
</div>
<div
class=
"item-jf-text"
>
抱歉,暂无数据,试试更换搜索条件吧
</div>
...
...
@@ -108,12 +108,13 @@
<div
class=
"depth-search"
@
click=
"$router.push({path : `/enterpriseData/SearchEnterprise?keyword=${keys}`})"
>
深度搜索企业
</div>
</div>
</div>
<skeleton
style=
"margin-left:16px;"
v-if=
"isSkeleton"
></skeleton>
<div
class=
"table-item-jf table-item"
v-if=
"!isSkeleton&&tableData.length>0"
@
mouseleave=
"showClaim = false"
>
<div
class=
"table-item-jf table-item"
v-if=
"!isSkeleton&&tableData.length>0"
>
<el-table
:data=
"tableData"
:header-cell-style=
"{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}"
v-horizontal-scroll=
"'hover'"
class=
"table-item1 fixed-table"
border
highlight-current-row
:header-row-class-name=
"setHeaderRow"
:cell-class-name=
"setCellClass"
:
header-cell-class-name=
"setCellClass"
@
cell-mouse-enter=
"addColumn
Class"
@
sort-change=
"sortChange"
>
:
row-class-name=
"setRowClass"
:header-cell-class-name=
"setCell
Class"
@
sort-change=
"sortChange"
>
<el-table-column
type=
"index"
label=
"序号"
fixed
width=
"60"
:resizable=
"false"
>
<
template
slot-scope=
"scope"
>
...
...
@@ -123,19 +124,17 @@
<el-table-column
label=
"公司名称"
fixed
width=
"380"
:resizable=
"false"
>
<
template
slot-scope=
"scope"
>
<div
class=
"renling"
:class=
"
{'show-claim' : showClaim}">
<router-link
:to=
"scope.row.uipId ? `/enterprise/$
{encodeStr(scope.row.id)}` : `/company/${encodeStr(scope.row.id)}`" tag="a"
<div
class=
"renling"
>
<div
style=
"display:flex;flex-align:center"
>
<router-link
:to=
"scope.row.other ? `/enterprise/$
{encodeStr(scope.row.id)}` : `/company/${encodeStr(scope.row.id)}`" tag="a"
class="list-titel-a" v-html="scope.row.name">
</router-link>
<!-- 优质甲方tag标签 -->
<div
class=
"high-quality-enterprise"
v-if=
"scope.row.other"
>
{{
scope
.
row
.
other
}}
</div>
</div>
<div
class=
"renling-btn"
@
click=
"claimbtn(scope.row)"
>
<p
v-if=
"scope.row.claimStatus==1"
class=
"renling-img-true"
>
</p>
<p
v-else
class=
"renling-img-false"
>
</p>
<span
v-if=
"scope.row.claimStatus==1"
@
click
.
stop=
"cancelClaim(scope.row.name,scope.$index)"
class=
"renling-hui"
>
<p
v-if=
"scope.row.claimStatus==0"
class=
"renling-img-true"
></p>
<p
v-else
class=
"renling-img-false"
></p>
<span
v-if=
"scope.row.claimStatus==0"
@
click
.
stop=
"cancelClaim(scope.row.name,scope.$index)"
class=
"renling-hui"
>
已认领
</span>
<span
v-else
class=
"renling-hei"
>
...
...
@@ -148,86 +147,93 @@
</el-table-column>
<el-table-column
label=
"法定代表人"
width=
"85"
:resizable=
"false"
>
<el-table-column
label=
"法定代表人"
min-
width=
"85"
:resizable=
"false"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
legalPerson
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"注册资本"
width=
"118"
:resizable=
"false"
:sortable=
"'custom'"
prop=
"registeredCapitalStr"
>
<el-table-column
label=
"注册资本"
min-
width=
"118"
:resizable=
"false"
:sortable=
"'custom'"
prop=
"registeredCapitalStr"
>
<
template
slot-scope=
"scope"
>
<div
style=
"text-align:right;white-space: nowrap;"
>
{{
scope
.
row
.
registeredCapitalStr
?
`${scope.row.registeredCapitalStr
}
万元`
:
"--"
}}
<div
style=
"text-align:right;white-space: nowrap;"
>
{{
parseFloat
(
scope
.
row
.
registeredCapitalStr
)
?
`${scope.row.registeredCapitalStr
}
万元`
:
"--"
}}
<
/div
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"企业注册地区"
width
=
"215"
:
resizable
=
"false"
>
<
el
-
table
-
column
label
=
"企业注册地区"
min
-
width
=
"215"
:
resizable
=
"false"
>
<
template
slot
-
scope
=
"scope"
>
{{
scope
.
row
.
domicile
||
"--"
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"历史发包数量"
width
=
"107"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"inviteTenderCount"
>
<
el
-
table
-
column
label
=
"历史发包数量"
min
-
width
=
"107"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"inviteTenderCount"
>
<
template
slot
-
scope
=
"scope"
>
{{
scope
.
row
.
inviteTenderCount
?
`${scope.row.inviteTenderCount
}
个`
:
"--"
}}
<
router
-
link
v
-
if
=
"scope.row.inviteTenderCount"
:
to
=
"scope.row.other ? `/enterprise/${encodeStr(scope.row.id)
}
?path=hiscontract` : `/company/${encodeStr(scope.row.id)
}
?path=hiscontract`"
tag
=
"a"
class
=
"list-titel-a"
>
{{
scope
.
row
.
inviteTenderCount
?
`${scope.row.inviteTenderCount
}
个`
:
"--"
}}
<
/router-link
>
<
span
v
-
else
>--<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"历史发包总金额"
width
=
"120"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"inviteTenderSumAmount"
>
<
el
-
table
-
column
label
=
"历史发包总金额"
min
-
width
=
"120"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"inviteTenderSumAmount"
>
<
template
slot
-
scope
=
"scope"
>
<
div
style
=
"text-align:right;white-space: nowrap;"
>
{{
scope
.
row
.
inviteTenderSumAmount
?
`${scope.row.inviteTenderSumAmount
}
万元`
:
"--"
}}
<
/div
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"最近一次招标"
width
=
"107"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"inviteTenderLastTime"
>
<
el
-
table
-
column
label
=
"最近一次招标"
min
-
width
=
"107"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"inviteTenderLastTime"
>
<
template
slot
-
scope
=
"scope"
>
{{
scope
.
row
.
inviteTenderLastTime
||
"--"
}}
<
router
-
link
v
-
if
=
"scope.row.inviteTenderLastTime"
:
to
=
"scope.row.other ? `/enterprise/${encodeStr(scope.row.id)
}
?path=announcement` : `/company/${encodeStr(scope.row.id)
}
?path=announcement`"
tag
=
"a"
class
=
"list-titel-a"
>
{{
scope
.
row
.
inviteTenderLastTime
||
"--"
}}
<
/router-link
>
<
span
v
-
else
>--<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"重点项目"
width
=
"107"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"importantProjectCount"
>
<
el
-
table
-
column
label
=
"重点项目"
min
-
width
=
"107"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"importantProjectCount"
>
<
template
slot
-
scope
=
"scope"
>
<
router
-
link
v
-
if
=
"scope.row.importantProjectCount"
:
to
=
"scope.row.
uipId
? `/enterprise/${encodeStr(scope.row.id)
}
?path=majorProject` : `/company/${encodeStr(scope.row.id)
}
?path=majorProject`"
:
to
=
"scope.row.
other
? `/enterprise/${encodeStr(scope.row.id)
}
?path=majorProject` : `/company/${encodeStr(scope.row.id)
}
?path=majorProject`"
tag
=
"a"
class
=
"list-titel-a"
>
{{
`${scope.row.importantProjectCount
}
个`
}}
<
/router-link
>
<
span
v
-
else
>--<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"土地交易"
width
=
"107"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"landMarketCount"
>
<
!--
<
el
-
table
-
column
label
=
"土地交易"
width
=
"107"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"landMarketCount"
>
<
template
slot
-
scope
=
"scope"
>
<
router
-
link
v
-
if
=
"scope.row.landMarketCount"
:
to
=
"scope.row.
uipId ? `/enterprise/${encodeStr(scope.row.id)
}
?path=landMarketCount` : `/company/${encodeStr(scope.row.id)
}
?path=landMarketCount
`"
:
to
=
"scope.row.
other ? `/enterprise/${encodeStr(scope.row.id)
}
?path=landtransaction` : `/company/${encodeStr(scope.row.id)
}
?path=landtransaction
`"
tag
=
"a"
class
=
"list-titel-a"
>
{{
`${scope.row.landMarketCount
}
个`
}}
<
/router-link
>
<
span
v
-
else
>--<
/span
>
<
/template
>
<
/el-table-column
>
<
/el-table-column>
--
>
<
el
-
table
-
column
label
=
"拟建项目"
width
=
"107"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"approvalProjectCount"
>
<
el
-
table
-
column
label
=
"拟建项目"
min
-
width
=
"107"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"approvalProjectCount"
>
<
template
slot
-
scope
=
"scope"
>
<
router
-
link
v
-
if
=
"scope.row.approvalProjectCount"
:
to
=
"scope.row.
uipId ? `/enterprise/${encodeStr(scope.row.id)
}
?path=approvalProjectCount` : `/company/${encodeStr(scope.row.id)
}
?path=approvalProjectCount
`"
:
to
=
"scope.row.
other ? `/enterprise/${encodeStr(scope.row.id)
}
?path=proposed` : `/company/${encodeStr(scope.row.id)
}
?path=proposed
`"
tag
=
"a"
class
=
"list-titel-a"
>
{{
`${scope.row.approvalProjectCount
}
个`
}}
<
/router-link
>
<
span
v
-
else
>--<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"招标计划"
width
=
"107"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"bidPlanCount"
>
<
el
-
table
-
column
label
=
"招标计划"
min
-
width
=
"107"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"bidPlanCount"
>
<
template
slot
-
scope
=
"scope"
>
<
router
-
link
v
-
if
=
"scope.row.bidPlanCount"
:
to
=
"scope.row.
uipId ? `/enterprise/${encodeStr(scope.row.id)
}
?path=bidPlanCount` : `/company/${encodeStr(scope.row.id)
}
?path=bidPlanCount
`"
:
to
=
"scope.row.
other ? `/enterprise/${encodeStr(scope.row.id)
}
?path=biddingplan` : `/company/${encodeStr(scope.row.id)
}
?path=biddingplan
`"
tag
=
"a"
class
=
"list-titel-a"
>
{{
`${scope.row.bidPlanCount
}
个`
}}
<
/router-link
>
<
span
v
-
else
>--<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"招标公告"
width
=
"107"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"jskBidCount"
>
<
el
-
table
-
column
label
=
"招标公告"
min
-
width
=
"107"
:
resizable
=
"false"
:
sortable
=
"'custom'"
prop
=
"jskBidCount"
>
<
template
slot
-
scope
=
"scope"
>
<
router
-
link
v
-
if
=
"scope.row.jskBidCount"
:
to
=
"scope.row.
uipId ? `/enterprise/${encodeStr(scope.row.id)
}
?path=majorProject` : `/company/${encodeStr(scope.row.id)
}
?path=majorProjec
t`"
:
to
=
"scope.row.
other ? `/enterprise/${encodeStr(scope.row.id)
}
?path=announcement` : `/company/${encodeStr(scope.row.id)
}
?path=announcemen
t`"
tag
=
"a"
class
=
"list-titel-a"
>
{{
`${scope.row.jskBidCount
}
个`
}}
<
/router-link
>
<
span
v
-
else
>--<
/span
>
<
/template
>
...
...
@@ -236,7 +242,7 @@
<
/el-table
>
<
/div
>
<
div
class
=
"pagination clearfix"
v
-
show
=
"total>0"
>
<
el
-
pagination
background
:
page
-
size
=
"pageSize"
:
current
-
page
=
"pageNum"
@
current
-
change
=
"handleCurrentChange"
layout
=
"prev, pager, next"
<
el
-
pagination
background
:
page
-
size
=
"pageSize"
:
current
-
page
.
sync
=
"pageNum"
@
current
-
change
=
"handleCurrentChange"
layout
=
"prev, pager, next"
:
total
=
"total"
>
<
/el-pagination
>
<
/div
>
...
...
@@ -276,7 +282,7 @@ import jsk_data from '../../../../../public/jsk.json';
import
skeleton
from
'@/views/project/projectList/component/skeleton'
;
import
api
from
'@/api/enterpriseData/enterpriseData.js'
;
import
"@/assets/styles/public.scss"
;
import
dayjs
from
"dayjs
"
;
import
{
toLine
}
from
"@/utils/
"
;
export
default
{
name
:
'searchTheOwner'
,
components
:
{
skeleton
}
,
...
...
@@ -304,7 +310,7 @@ export default {
// 当前选中的业主标签
currentOwnerLabels
:
[],
// 业主全选状态
checkOwnerLabel
:
fals
e
,
checkOwnerLabel
:
tru
e
,
// 选中两个及两个以上业主标签 添加选中条件 or任意均可 and同时具备
tagCodeQueryType
:
"or"
,
pageFlag
:
true
,
...
...
@@ -314,36 +320,33 @@ export default {
sort
:
''
,
//查询结果排序方式
// 展示认领状态
showClaim
:
false
,
// 默认排序方式
order
:
"desc"
,
fieldOptions
:
[{
key
:
""
,
value
:
"默认排序"
,
status
:
true
,
}
,
{
key
:
"invite_tender_sum_amount"
,
value
:
"招标总金额"
,
status
:
false
,
}
,
{
key
:
"land_market_count"
,
value
:
"土地交易"
,
status
:
false
,
}
,
{
key
:
"approval_project_count"
,
value
:
"拟建"
,
status
:
false
,
}
,
//
{
// key: "land_market_count",
// value: "按土地交易签订日期从近到远",
// status: false,
//
}
,
//
{
// key: "approval_project_count",
// value: "按拟建项目审批时间从近到远",
// status: false,
//
}
,
{
key
:
"important_project_count"
,
value
:
"
重点项目
"
,
value
:
"
按重点项目清单从多到少
"
,
status
:
false
,
}
,
{
key
:
"invite_tender_last_time"
,
value
:
"
招标时间
"
,
value
:
"
按招标时间从近到远
"
,
status
:
false
,
}
,
}
],
companyId
:
''
,
companyName
:
''
,
...
...
@@ -353,10 +356,18 @@ export default {
dialogVisible1
:
false
,
tableData
:
[],
total
:
0
,
oldPageNum
:
1
,
pageNum
:
1
,
pageSize
:
20
}
;
}
,
watch
:
{
"pageNum"
:
{
handler
(
newValue
,
oldValue
)
{
this
.
oldPageNum
=
oldValue
;
}
}
}
,
computed
:
{
// 仅搜索企业名
onlySearchEname
()
{
...
...
@@ -388,32 +399,88 @@ export default {
created
()
{
this
.
init
();
}
,
beforeDestroy
()
{
const
dom
=
document
.
querySelector
(
".owner-table-list-header"
);
if
(
dom
)
{
dom
.
removeEventListener
(
"mouseover"
,
this
.
headerMouseover
,
false
);
methods
:
{
// 生成查询条件
createSearchConditions
()
{
// 默认传递参数
let
params
=
{
aptitudeQueryDto
:
{
}
,
page
:
{
page
:
this
.
pageNum
,
limit
:
this
.
pageSize
,
order
:
this
.
order
,
field
:
this
.
sort
}
}
;
let
data
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
jskBidQueryDto
));
// 搜索关键词处理
if
(
this
.
keys
)
{
params
.
aptitudeQueryDto
[
'ename'
]
=
this
.
keys
;
}
// 处理地区选择
if
(
data
.
provinceIds
.
length
>
0
)
{
params
.
aptitudeQueryDto
[
'province'
]
=
data
.
provinceIds
.
join
(
","
);
}
if
(
data
.
cityIds
.
length
>
0
)
{
params
.
aptitudeQueryDto
[
'city'
]
=
data
.
cityIds
.
join
(
","
);
}
if
(
data
.
areaIds
.
length
>
0
)
{
params
.
aptitudeQueryDto
[
'county'
]
=
data
.
areaIds
.
join
(
","
);
}
// 业主标签选中处理
if
(
this
.
currentOwnerLabels
.
length
>
0
)
{
params
.
aptitudeQueryDto
[
"tagCode"
]
=
this
.
currentOwnerLabels
.
join
(
","
);
}
// 选中大于等于两个业主标签 添加 任意均可 或 同时具备条件
if
(
this
.
currentOwnerLabels
.
length
>=
2
)
{
params
.
aptitudeQueryDto
[
"tagCodeQueryType"
]
=
this
.
tagCodeQueryType
;
}
return
params
;
}
,
methods
:
{
// 排序
sortChange
({
column
,
prop
,
order
}
)
{
const
originArray
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
tableData
));
this
.
tableData
=
originArray
.
sort
((
a
,
b
)
=>
{
let
preposition
=
a
[
prop
];
let
postposition
=
b
[
prop
];
// 时间则转换为时间戳排序
if
(
prop
==
"inviteTenderLastTime"
)
{
preposition
?
preposition
=
dayjs
(
preposition
).
valueOf
()
:
0
;
postposition
?
postposition
=
dayjs
(
postposition
).
valueOf
()
:
0
;
}
// 有order排序 无order默认排序
this
.
sort
=
order
?
toLine
(
prop
)
:
""
;
// 升序
if
(
order
==
"ascending"
)
{
return
(
parseFloat
(
preposition
)
?
parseFloat
(
preposition
)
:
0
)
-
(
parseFloat
(
postposition
)
?
parseFloat
(
postposition
)
:
0
)
;
this
.
order
=
"asc"
;
}
if
(
order
==
"descending"
)
{
return
(
parseFloat
(
postposition
)
?
parseFloat
(
postposition
)
:
0
)
-
(
parseFloat
(
preposition
)
?
parseFloat
(
preposition
)
:
0
);
// 降序
if
(
order
==
"descending"
||
!
order
)
{
this
.
order
=
"desc"
;
}
this
.
sortSearch
(
this
.
pageNum
);
}
,
// 排序搜索
async
sortSearch
(
num
,
size
)
{
this
.
dialogVisible
=
false
;
if
(
!
num
)
{
this
.
pageNum
=
1
;
}
if
(
!
size
)
{
this
.
pageSize
=
20
;
}
if
(
!
num
&&
!
size
)
{
this
.
reloadPage
();
}
const
params
=
this
.
createSearchConditions
();
try
{
const
result
=
await
api
.
searchOwnerUnitListApi
(
params
);
if
(
result
.
code
==
200
)
{
this
.
tableData
=
result
.
data
?.
list
?
result
.
data
.
list
:
[];
this
.
total
=
res
.
data
?.
total
?
res
.
data
?.
total
:
0
;
}
}
catch
(
error
)
{
console
.
log
(
error
);
}
return
(
parseFloat
(
b
[
"inviteTenderSumAmount"
])
?
parseFloat
(
b
[
"inviteTenderSumAmount"
])
:
0
)
-
(
parseFloat
(
a
[
"inviteTenderSumAmount"
])
?
parseFloat
(
a
[
"inviteTenderSumAmount"
])
:
0
);
}
);
}
,
async
addHeaderListener
()
{
try
{
...
...
@@ -441,6 +508,9 @@ export default {
return
"enterprise-name-column"
;
}
}
,
setRowClass
({
row
,
rowIndex
}
)
{
return
"enterprise-name-row"
;
}
,
addColumnClass
(
row
,
column
,
cell
,
event
)
{
const
{
target
}
=
event
;
if
(
column
.
label
==
"公司名称"
)
return
this
.
showClaim
=
true
;
...
...
@@ -570,8 +640,13 @@ export default {
this
.
search
();
}
,
handleCurrentChange
(
pageNum
)
{
if
(
pageNum
>
500
)
{
this
.
pageNum
=
this
.
oldPageNum
;
this
.
$message
.
warning
(
"对不起最多只能访问500页"
);
return
;
}
this
.
pageNum
=
pageNum
;
this
.
search
(
pageNum
,
this
.
pageSize
);
this
.
search
(
this
.
pageNum
,
this
.
pageSize
);
}
,
handleSizeChange
(
pageSize
)
{
this
.
pageSize
=
pageSize
;
...
...
@@ -602,7 +677,7 @@ export default {
info
=
res
.
data
;
let
params
=
{
companyId
:
item
.
id
,
companyName
:
item
.
name
.
replace
(
/<font color='red'>/g
,
''
).
replace
(
/<
\/
font>/g
,
''
),
companyName
:
item
.
name
.
replace
(
/<font color='red'>/g
im
,
''
).
replace
(
/<font color='#FF204E'>/gim
,
''
).
replace
(
/<
\/
font>/gim
,
''
),
creditLevel
:
info
.
bratingSubjectLevel
,
legalPerson
:
info
.
corporatePerson
,
registerCapital
:
info
.
registeredCapital
,
...
...
@@ -628,14 +703,14 @@ export default {
}
,
cancelClaim
(
companyName
,
index
)
{
this
.
dialogVisible1
=
true
;
this
.
companyName
=
companyName
;
this
.
companyName
=
companyName
.
replace
(
/<font color='red'>/gim
,
''
).
replace
(
/<font color='#FF204E'>/gim
,
''
).
replace
(
/<
\/
font>/gim
,
''
)
;
this
.
cancelIndex
=
index
;
}
,
confirm
()
{
api
.
cancelClaim
(
this
.
companyName
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
dialogVisible1
=
false
;
this
.
tableData
[
this
.
cancelIndex
].
claimStatus
=
0
;
this
.
tableData
[
this
.
cancelIndex
].
claimStatus
=
1
;
}
else
{
this
.
$message
.
error
(
res
.
msg
);
}
...
...
@@ -665,46 +740,7 @@ export default {
this
.
reloadPage
();
}
// 默认传递参数
let
params
=
{
aptitudeQueryDto
:
{
}
,
page
:
{
page
:
this
.
pageNum
,
limit
:
this
.
pageSize
,
order
:
"desc"
,
field
:
this
.
sort
}
}
;
var
data
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
jskBidQueryDto
));
// 搜索关键词处理
if
(
this
.
keys
)
{
params
.
aptitudeQueryDto
[
'ename'
]
=
this
.
keys
;
}
// 处理地区选择
if
(
data
.
provinceIds
.
length
>
0
)
{
params
.
aptitudeQueryDto
[
'province'
]
=
data
.
provinceIds
.
join
(
","
);
}
if
(
data
.
cityIds
.
length
>
0
)
{
params
.
aptitudeQueryDto
[
'city'
]
=
data
.
cityIds
.
join
(
","
);
}
if
(
data
.
areaIds
.
length
>
0
)
{
params
.
aptitudeQueryDto
[
'county'
]
=
data
.
areaIds
.
join
(
","
);
}
// 业主标签选中处理
if
(
this
.
currentOwnerLabels
.
length
>
0
)
{
params
.
aptitudeQueryDto
[
"tagCode"
]
=
this
.
currentOwnerLabels
.
join
(
","
);
}
// 选中大于等于两个业主标签 添加 任意均可 或 同时具备条件
if
(
this
.
currentOwnerLabels
.
length
>=
2
)
{
params
.
aptitudeQueryDto
[
"tagCodeQueryType"
]
=
this
.
tagCodeQueryType
;
}
const
params
=
this
.
createSearchConditions
();
this
.
isSkeleton
=
true
;
api
.
searchOwnerUnitListApi
(
params
).
then
(
res
=>
{
...
...
@@ -712,7 +748,6 @@ export default {
this
.
isSkeleton
=
false
;
this
.
tableData
=
res
.
data
?.
list
?
res
.
data
.
list
:
[];
this
.
total
=
res
.
data
?.
total
?
res
.
data
?.
total
:
0
;
this
.
addHeaderListener
();
}
}
).
catch
(
error
=>
{
}
);
...
...
@@ -1043,11 +1078,20 @@ export default {
::
v
-
deep
.
table
-
item
-
jf
{
&
.
empty
-
table
{
padding
:
0
px
;
padding
-
bottom
:
48
px
;
display
:
flex
;
justify
-
content
:
center
;
align
-
items
:
center
;
flex
-
direction
:
column
;
padding
:
48
px
0
px
;
.
item
-
jf
-
text
{
padding
:
0
px
;
}
.
item
-
jf
-
img
{
margin
:
0
;
width
:
108
px
;
height
:
109
px
;
margin
-
bottom
:
24
px
;
}
.
depth
-
search
-
box
{
display
:
flex
;
...
...
@@ -1067,20 +1111,6 @@ export default {
font
-
size
:
14
px
;
}
}
.
el
-
table
{
th
,
td
{
.
cell
{
font
-
size
:
12
px
;
}
}
.
el
-
table__fixed
{
.
el
-
table__fixed
-
header
-
wrapper
{
pointer
-
events
:
none
;
}
}
}
padding
:
0
px
16
px
;
.
list
-
titel
-
a
{
color
:
#
0081
ff
;
...
...
@@ -1110,8 +1140,9 @@ export default {
.
renling
{
display
:
flex
;
align
-
items
:
center
;
justify
-
content
:
space
-
between
;
.
list
-
titel
-
a
{
width
:
264
px
;
max
-
width
:
264
px
;
margin
-
right
:
12
px
;
}
.
renling
-
btn
{
...
...
@@ -1147,6 +1178,10 @@ export default {
font
-
size
:
13
px
;
font
-
weight
:
400
;
color
:
#
3
d3d3d
;
&
:
hover
{
color
:
#
0081
ff
;
}
}
}
...
...
@@ -1160,15 +1195,29 @@ export default {
font
-
size
:
12
px
;
margin
-
right
:
25
px
;
white
-
space
:
nowrap
;
align
-
self
:
flex
-
start
;
}
}
&
.
show
-
claim
{
.
el
-
table
{
th
,
td
{
.
cell
{
font
-
size
:
12
px
;
}
}
.
enterprise
-
name
-
row
{
&
.
hover
-
row
{
.
cell
{
.
renling
-
btn
{
opacity
:
1
;
}
}
}
}
}
}
.
table
-
item1
{
::
v
-
deep
.
el
-
table__body
-
wrapper
{
color
:
#
232323
;
...
...
dsk-operate-ui/src/views/macro/economies/component/comparison.vue
View file @
dab0e477
...
...
@@ -2,7 +2,7 @@
<div
class=
"regionalEconomy"
>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-params"
>
<
span
class=
"common-title"
>
指标
</span
>
<
!--
<span
class=
"common-title"
>
指标
</span>
--
>
<el-form
ref=
"queryForm"
:model=
"queryParams"
:inline=
"true"
size=
"small"
>
<el-form-item
prop=
"year"
>
<el-select
v-model=
"queryParams.year"
filterable
class=
"form-content-width"
placeholder=
"请选择"
>
...
...
@@ -649,16 +649,21 @@ export default {
margin-top
:
12px
;
border-radius
:
4px
;
.el-form
{
margin-left
:
20px
;
/*margin-left: 20px;*/
.el-form-item
{
margin
:
0
!
important
;
.form-content-width
{
width
:
110px
;
}
::v-deep
.el-input
{
.el-input__inner
{
border
:
0
;
}
}
}
}
.table-item
{
margin-top
:
22
px
;
margin-top
:
16
px
;
position
:
relative
;
::v-deep
.el-table
{
.el-table__body
{
...
...
dsk-operate-ui/src/views/macro/economies/component/industrialStructure.vue
View file @
dab0e477
...
...
@@ -2,10 +2,10 @@
<div
class=
"regionalEconomy"
>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-params"
>
<
span
class=
"common-title"
>
主要指标
</span
>
<
!--
<span
class=
"common-title"
>
主要指标
</span>
--
>
<el-form
ref=
"queryForm"
:model=
"queryParams"
:inline=
"true"
size=
"small"
>
<el-form-item
prop=
"year"
>
<el-select
v-model=
"queryParams.year"
filterable
class=
"form-content-width"
placeholder=
"请选择
年度
"
@
change=
"getGroupCount"
>
<el-select
v-model=
"queryParams.year"
filterable
class=
"form-content-width"
placeholder=
"请选择"
@
change=
"getGroupCount"
>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item.year"
:value=
"item.year"
/>
</el-select>
</el-form-item>
...
...
@@ -344,16 +344,21 @@ export default {
margin-top
:
12px
;
border-radius
:
4px
;
.el-form
{
margin-left
:
24px
;
/*margin-left: 24px;*/
.el-form-item
{
margin
:
0
!
important
;
.form-content-width
{
width
:
100px
;
}
::v-deep
.el-input
{
.el-input__inner
{
border
:
0
;
}
}
}
}
.content
{
margin-top
:
22
px
;
margin-top
:
16
px
;
display
:
flex
;
justify-content
:
space-between
;
.content-left
{
...
...
dsk-operate-ui/src/views/macro/economies/component/localEconomy.vue
View file @
dab0e477
...
...
@@ -193,12 +193,17 @@ export default {
<
style
lang=
"scss"
scoped
>
.regionalEconomy
{
.el-form
{
margin-left
:
24px
;
/*margin-left: 24px;*/
.el-form-item
{
margin
:
0
!
important
;
.form-content-width
{
width
:
100px
;
}
::v-deep
.el-input
{
.el-input__inner
{
border
:
0
;
}
}
}
}
.content
{
...
...
@@ -209,7 +214,7 @@ export default {
border-radius
:
4px
;
}
.table-item
{
margin-top
:
22
px
;
margin-top
:
16
px
;
::v-deep
.el-table
{
overflow
:visible
;
.el-table__header-wrapper
{
...
...
dsk-operate-ui/src/views/macro/economies/component/regionalEconomy.vue
View file @
dab0e477
...
...
@@ -3,7 +3,7 @@
<skeleton
v-if=
"isSkeleton"
style=
"padding: 16px"
></skeleton>
<div
v-if=
"state && !isSkeleton"
>
<div
class=
"content content1"
>
<
div
class=
"common-title"
>
经济数据
</div
>
<
!--
<div
class=
"common-title"
>
经济数据
</div>
--
>
<div
class=
"content-box"
>
<div
class=
"item"
>
<div
class=
"item-title"
><i
style=
"background: #4E8EFF;"
></i>
{{
recentlyYear
.
year
}}
年GDP
</div>
...
...
dsk-operate-ui/src/views/macro/enterprises/index.vue
View file @
dab0e477
...
...
@@ -613,7 +613,7 @@ export default {
&
>
span
{
color
:
#232323
;
color
:
rgba
(
35
,
35
,
35
,
0
.
4
);
color
:
rgba
(
35
,
35
,
35
,
0
.
8
);
font-weight
:
400
;
margin-left
:
8px
;
line-height
:
22px
;
...
...
dsk-operate-ui/src/views/macro/financing/index.vue
View file @
dab0e477
...
...
@@ -36,10 +36,11 @@
</div>
</div>
<div
v-if=
"!isSkeleton"
class=
"content"
>
<div
class=
"common-title flex-box"
>
<div
class=
"flex-box"
>
项目明细
</div>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-ability"
>
<span
class=
"total"
>
共
{{
tableDataTotal
}}
条
</span>
</div>
<div
class=
"flex-box query-ability"
>
<span
class=
"flex-box"
>
共
{{
tableDataTotal
}}
条
</span>
<span
class=
"flex-box"
@
click=
"handleMessage"
><img
src=
"@/assets/images/ability_excel.png"
>
导出EXCEL
</span>
</div>
</div>
...
...
@@ -433,6 +434,14 @@ export default {
color
:
#3D3D3D
;
font-size
:
12px
;
}
/*.total:before {*/
/*content: "";*/
/*display: inline-block;*/
/*width: 2px;*/
/*height: 2px;*/
/*background: rgba(35, 35, 35, 0.4);*/
/*margin-right: 4px;*/
/*}*/
}
.content
{
background
:
#ffffff
;
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/qgjjdq.vue
View file @
dab0e477
...
...
@@ -3,7 +3,7 @@
<div
class=
"content"
>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-params"
>
<
span
class=
"common-title"
>
全国经济大全
</span
>
<
!--
<span
class=
"common-title"
>
全国经济大全
</span>
--
>
<el-form
ref=
"queryForm"
:model=
"queryParams"
:inline=
"true"
size=
"small"
>
<el-form-item
prop=
"year"
>
<el-select
v-model=
"queryParams.year"
filterable
class=
"form-content-width same-select-com"
placeholder=
"请选择"
:class=
"[`select-adaptive-$
{inputID1}`]" @change="handleSearch" :popper-append-to-body='false'>
...
...
@@ -455,7 +455,7 @@
}
.query-params
{
.el-form
{
margin-left
:
24px
;
/*margin-left: 24px;*/
}
::v-deep
.el-form
{
.el-form-item--small.el-form-item
{
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/tdjy.vue
View file @
dab0e477
...
...
@@ -772,11 +772,22 @@ export default {
margin-right
:
24px
;
}
::v-deep
.form-content-width
{
width
:
1
50
px
;
width
:
1
35
px
;
.el-select__input
{
width
:
10px
!
important
;
max-width
:
10px
!
important
;
margin-left
:
0
;
border
:
0
;
}
.el-input
{
.el-input__inner
{
border
:
0
;
}
}
.is-focus
{
.el-input__inner
{
background
:
#F4F6F9
;
}
}
}
::v-deep
.el-cascader
{
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/zhaobiao.vue
View file @
dab0e477
...
...
@@ -659,19 +659,29 @@
margin-right
:
24px
;
}
::v-deep
.form-content-width
{
width
:
1
50
px
;
width
:
1
45
px
;
.el-select__input
{
width
:
10px
!
important
;
max-width
:
10px
!
important
;
margin-left
:
0
;
}
.el-input
{
.el-input__inner
{
border
:
0
;
}
}
.is-focus
{
.el-input__inner
{
background
:
#F4F6F9
;
}
}
}
::v-deep
.el-cascader
{
width
:
220px
;
.el-cascader__tags
{
flex-wrap
:
inherit
;
.el-tag
{
max-width
:
13
0px
;
max-width
:
7
0px
;
}
}
}
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/zhongbiao.vue
View file @
dab0e477
...
...
@@ -1193,19 +1193,29 @@
margin-right
:
24px
;
}
::v-deep
.form-content-width
{
width
:
1
50
px
;
width
:
1
45
px
;
.el-select__input
{
width
:
10px
!
important
;
max-width
:
10px
!
important
;
margin-left
:
0
;
}
.el-input
{
.el-input__inner
{
border
:
0
;
}
}
.is-focus
{
.el-input__inner
{
background
:
#F4F6F9
;
}
}
}
::v-deep
.el-cascader
{
width
:
220px
;
.el-cascader__tags
{
flex-wrap
:
inherit
;
.el-tag
{
max-width
:
13
0px
;
max-width
:
7
0px
;
}
}
}
...
...
dsk-operate-ui/src/views/macro/urban/index.vue
View file @
dab0e477
...
...
@@ -136,11 +136,12 @@
</div>
<div
class=
"content"
id=
"content"
>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-params"
>
<span
class=
"common-title"
>
城投平台列表
</span>
</div>
<div
class=
"flex-box query-ability"
>
<!--<span class="common-title">城投平台列表</span>-->
<span
class=
"total"
>
共{{tableDataTotal}}条
</span>
</div>
<div
class=
"flex-box query-ability"
>
<!--<span class="total">共{{tableDataTotal}}条</span>-->
<span
class=
"flex-box"
@
click=
"handleMessage"
><img
src=
"@/assets/images/ability_excel.png"
>
导出EXCEL
</span>
</div>
</div>
...
...
dsk-operate-ui/src/views/radar/components/MajorProject/index.vue
View file @
dab0e477
...
...
@@ -148,7 +148,7 @@
<router-link
:to=
"'/radar/MajorProject/details/'+ item.md5"
tag=
"a"
class=
"list-titel-a"
>
<div
class=
"project-name-of-level"
>
<span
v-if=
"item.projectLevel"
class=
"project-of-level"
:class=
"[getBackGround(item.projectLevel)]"
>
{{item.projectLevel}}
</span>
<span
class=
"project-of-name"
>
{{item.projectName}}
</span>
<span
class=
"project-of-name"
v-html=
"item.projectName"
>
</span>
</div>
</router-link>
</p>
...
...
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