Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
E
enterprise-opt-kit
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
fubaole
enterprise-opt-kit
Commits
e45f4704
Commit
e45f4704
authored
May 26, 2021
by
乐宝呗666
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
联调客户接口修改bug
parent
d8b02a88
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
526 additions
and
242 deletions
+526
-242
App.vue
src/App.vue
+3
-0
con.business.js
src/api/con.business.js
+1
-1
con.client.js
src/api/con.client.js
+35
-3
con.organ.js
src/api/con.organ.js
+33
-0
client.scss
src/assets/style/client.scss
+22
-6
start.scss
src/assets/style/start.scss
+105
-0
color.scss
src/assets/style/unit/color.scss
+1
-1
barChart.vue
src/components/echarts/barChart.vue
+1
-1
funnel.vue
src/components/echarts/funnel.vue
+8
-0
pieChart.vue
src/components/echarts/pieChart.vue
+2
-2
treeChart.vue
src/components/echarts/treeChart.vue
+18
-8
index.vue
src/components/start/index.vue
+83
-0
page.vue
src/views/content/business/page.vue
+15
-8
serviceAnalysis.vue
src/views/content/client/components/serviceAnalysis.vue
+16
-12
page.vue
src/views/content/client/page.vue
+74
-109
cashFlow.vue
src/views/content/operation/components/cashFlow.vue
+2
-2
revenueStatistics.vue
src/views/content/operation/components/revenueStatistics.vue
+2
-1
totalExpenses.vue
src/views/content/operation/components/totalExpenses.vue
+2
-1
page.vue
src/views/content/operation/page.vue
+1
-1
orgDetail.vue
src/views/content/organization/components/orgDetail.vue
+2
-1
staffInfo.vue
src/views/content/organization/components/staffInfo.vue
+46
-5
page.vue
src/views/content/organization/page.vue
+24
-68
itemNationwide.vue
src/views/system/index/components/itemNationwide.vue
+10
-5
knowledgeDialog.vue
src/views/system/index/components/knowledgeDialog.vue
+19
-6
mapChina.vue
...iews/system/index/components/mainPageEcharts/mapChina.vue
+1
-1
No files found.
src/App.vue
View file @
e45f4704
<
template
>
<
template
>
<div
id=
"app"
class=
"bg"
>
<div
id=
"app"
class=
"bg"
>
<router-view/>
<router-view/>
<Star
/>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
Star
from
'@/components/start/index'
import
util
from
'@/libs/util'
import
util
from
'@/libs/util'
export
default
{
export
default
{
name
:
'app'
,
name
:
'app'
,
components
:
{
Star
},
watch
:
{
watch
:
{
'$i18n.locale'
:
'i18nHandle'
'$i18n.locale'
:
'i18nHandle'
},
},
...
...
src/api/con.business.js
View file @
e45f4704
...
@@ -59,7 +59,7 @@ export function getBillRate (params) {
...
@@ -59,7 +59,7 @@ export function getBillRate (params) {
})
})
}
}
// 用户端获取商机阶段分析饼状图
// 用户端获取商机阶段分析饼状图
export
function
get
BigetOpportunitiesByNumberOrMoneyllRate
(
params
)
{
export
function
get
OpportunitiesByNumberOrMoney
(
params
)
{
return
request
({
return
request
({
url
:
'/tp/opportunities/getOpportunitiesByNumberOrMoney'
,
url
:
'/tp/opportunities/getOpportunitiesByNumberOrMoney'
,
method
:
'get'
,
method
:
'get'
,
...
...
src/api/con.client.js
View file @
e45f4704
import
{
request
}
from
'./service'
import
{
request
}
from
'./service'
// 用户端客户统计
export
function
getStatisticsCustomer
()
{
return
request
({
url
:
'/tp/customerInformation/getStatisticsCustomer'
,
method
:
'get'
})
}
// 用户端客户行业分布
// 用户端客户行业分布
export
function
getCustomerByCustomerAttribute
()
{
export
function
getCustomerByCustomerAttribute
()
{
return
request
({
return
request
({
...
@@ -28,10 +36,11 @@ export function GetClientList () {
...
@@ -28,10 +36,11 @@ export function GetClientList () {
})
})
}
}
// 根据客户name查询
// 根据客户name查询
export
function
GetCustomerName
(
name
)
{
export
function
GetCustomerName
(
params
)
{
return
request
({
return
request
({
url
:
`/tp/customer/getByName?name=
${
name
}
`
,
url
:
'/tp/customerInformation/getList'
,
method
:
'get'
method
:
'post'
,
params
})
})
}
}
// 根据客户id查询
// 根据客户id查询
...
@@ -48,3 +57,26 @@ export function CustomerInfo () {
...
@@ -48,3 +57,26 @@ export function CustomerInfo () {
method
:
'get'
method
:
'get'
})
})
}
}
// 获取服务分析年份下拉框
export
function
getAnalysisYear
()
{
return
request
({
url
:
'/tp/customer/getAnalysisYear'
,
method
:
'get'
})
}
// 获取服务分析
export
function
getAnalysis
(
params
)
{
return
request
({
url
:
'/tp/customer/getAnalysis'
,
method
:
'get'
,
params
})
}
// 获取重要客户
export
function
getImportantCus
(
params
)
{
return
request
({
url
:
'/tp/customer/getImportantCus'
,
method
:
'get'
,
params
})
}
src/api/con.organ.js
View file @
e45f4704
...
@@ -16,3 +16,36 @@ export function recruitmentStatistics (params) {
...
@@ -16,3 +16,36 @@ export function recruitmentStatistics (params) {
params
params
})
})
}
}
// 用户端-员工信息-通过名字查询
export
function
getEmployeeInformanceByName
(
params
)
{
return
request
({
url
:
'/tp/Employee/getEmployeeInformanceByName'
,
method
:
'get'
,
params
})
}
// 用户端-员工信息
export
function
getEmployeeInformance
(
params
)
{
return
request
({
url
:
'/tp/Employee/getEmployeeInformance'
,
method
:
'get'
,
params
})
}
// 查询相应部门或中心下的入离职统计
export
function
getYearRms
(
params
)
{
return
request
({
url
:
'/tp/recruitment/getYearRms'
,
method
:
'get'
,
params
})
}
// 用户端-员工学历分布
// export function getEmpEdacutionData () {
// return request({
// url: '/tp/Employee/getEmpEdacutionData',
// method: 'get'
// })
// }
src/assets/style/client.scss
View file @
e45f4704
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
font-family
:
PingFang-SC-Medium
,
PingFang-SC
;
font-family
:
PingFang-SC-Medium
,
PingFang-SC
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
width
:
100%
;
width
:
100%
;
padding
:
.24rem
;
padding
:
0
.24rem
;
margin
:
0
auto
;
margin
:
0
auto
;
>
.row-item
{
>
.row-item
{
line-height
:
2
;
line-height
:
2
;
...
@@ -20,15 +20,21 @@
...
@@ -20,15 +20,21 @@
box-sizing
:
border-box
;
box-sizing
:
border-box
;
color
:
#fff
;
color
:
#fff
;
width
:
100%
;
width
:
100%
;
height
:
1
.
3
rem
;
height
:
1
.
4
rem
;
overflow-y
:
auto
;
overflow-y
:
auto
;
padding
:
.12rem
.24rem
;
padding
:
.12rem
.24rem
;
border-radius
:
.05rem
;
border-radius
:
.05rem
;
border
:
1px
solid
rgba
(
48
,
221
,
244
,
1
);
border
:
1px
solid
rgba
(
48
,
221
,
244
,
1
);
background
:
#09154e
;
background
:
#09154e
;
>
span
{
.list-body
{
float
:
left
;
padding
:
.04rem
0
;
width
:
50%
;
cursor
:
pointer
;
&
:nth-of-type
(
2n
)
{
background-color
:
#0d1e5b
;
}
&
:hover
{
background-color
:
rgba
(
48
,
221
,
244
,
1
);
}
}
}
}
}
.babel
{
.babel
{
...
@@ -55,10 +61,20 @@
...
@@ -55,10 +61,20 @@
cursor
:
pointer
;
cursor
:
pointer
;
}
}
.iconBlock
{
.iconBlock
{
padding
:
.24rem
;
padding
:
1rem
.24rem
;
height
:calc
(
100
%
-
1
.6rem
)
;
height
:calc
(
100
%
-
1
.6rem
)
;
margin
:
0
auto
;
margin
:
0
auto
;
}
}
.customer-list
{
font-size
:
.14rem
;
color
:
#fff
;
padding
:
.24rem
;
padding-top
:
0
;
height
:calc
(
100
%
-
1
.6rem
)
;
}
.customer-name
{
padding
:
.06rem
.12rem
;
}
i
{
i
{
display
:
inline-block
;
display
:
inline-block
;
position
:
relative
;
position
:
relative
;
...
...
src/assets/style/start.scss
0 → 100644
View file @
e45f4704
:root
{
--twinkle-duration
:
4s
;
}
.stars-wrapper
{
position
:
absolute
;
top
:
0
;
pointer-events
:
none
;
width
:
100vw
;
height
:
100vh
;
overflow
:
hidden
;
}
.stars
{
position
:
absolute
;
top
:
0
;
left
:
0
;
right
:
0
;
bottom
:
0
;
-webkit-animation
:
twinkle
var
(
--
twinkle-duration
)
ease-in-out
infinite
;
animation
:
twinkle
var
(
--
twinkle-duration
)
ease-in-out
infinite
;
}
.stars
:nth-child
(
2
)
{
-webkit-animation-delay
:
calc
(
var
(
--
twinkle-duration
)
*
-0
.33
);
animation-delay
:
calc
(
var
(
--
twinkle-duration
)
*
-0
.33
);
}
.stars
:nth-child
(
3
)
{
-webkit-animation-delay
:
calc
(
var
(
--
twinkle-duration
)
*
-0
.66
);
animation-delay
:
calc
(
var
(
--
twinkle-duration
)
*
-0
.66
);
}
@-webkit-keyframes
twinkle
{
25
%
{
opacity
:
0
;
}
}
@keyframes
twinkle
{
25
%
{
opacity
:
0
;
}
}
.star
{
fill
:
rgba
(
255
,
255
,
225
,.
6
);
}
.star
:nth-child
(
3n
)
{
opacity
:
0
.4
;
}
.star
:nth-child
(
7n
)
{
opacity
:
0
.3
;
}
.star
:nth-child
(
13n
)
{
opacity
:
0
.2
;
}
.star
:nth-child
(
19n
)
{
opacity
:
0
.1
;
}
.comet
{
-webkit-transform-origin
:
center
center
;
transform-origin
:
center
center
;
-webkit-animation
:
comet
10s
linear
infinite
;
animation
:
comet
10s
linear
infinite
;
}
@-webkit-keyframes
comet
{
0
%
,
40
%
{
-webkit-transform
:
translateX
(
0
);
transform
:
translateX
(
0
);
opacity
:
0
;
}
50
%
{
opacity
:
1
;
}
60
%
,
100
%
{
-webkit-transform
:
translateX
(
-100vmax
);
transform
:
translateX
(
-100vmax
);
opacity
:
0
;
}
}
@keyframes
comet
{
0
%
,
40
%
{
-webkit-transform
:
translateX
(
0
);
transform
:
translateX
(
0
);
opacity
:
0
;
}
50
%
{
opacity
:
1
;
}
60
%
,
100
%
{
-webkit-transform
:
translateX
(
-100vmax
);
transform
:
translateX
(
-100vmax
);
opacity
:
0
;
}
}
.comet-b
{
-webkit-animation-delay
:
-3
.3s
;
animation-delay
:
-3
.3s
;
}
.comet-c
{
-webkit-animation-delay
:
-5s
;
animation-delay
:
-5s
;
}
\ No newline at end of file
src/assets/style/unit/color.scss
View file @
e45f4704
...
@@ -20,4 +20,4 @@ $color-border-3: #EBEEF5;
...
@@ -20,4 +20,4 @@ $color-border-3: #EBEEF5;
$color-border-4
:
#F2F6FC
;
$color-border-4
:
#F2F6FC
;
// 背景
// 背景
$color-bg
:
#000E42
;
;
$color-bg
:
#000E42
;
src/components/echarts/barChart.vue
View file @
e45f4704
...
@@ -58,7 +58,7 @@ export default {
...
@@ -58,7 +58,7 @@ export default {
],
],
yAxis
:
{
yAxis
:
{
type
:
'value'
,
type
:
'value'
,
name
:
'金额 :万元'
,
name
:
vm
.
message
.
yAxis
,
splitLine
:
{
splitLine
:
{
show
:
true
,
show
:
true
,
lineStyle
:
{
lineStyle
:
{
...
...
src/components/echarts/funnel.vue
View file @
e45f4704
...
@@ -82,6 +82,14 @@ export default {
...
@@ -82,6 +82,14 @@ export default {
// 绘制图表
// 绘制图表
const
vm
=
this
const
vm
=
this
vm
.
chart
.
setOption
(
vm
.
option
)
vm
.
chart
.
setOption
(
vm
.
option
)
vm
.
eventList
()
},
eventList
()
{
const
vm
=
this
vm
.
chart
.
off
(
'click'
)
vm
.
chart
.
on
(
'click'
,
function
(
params
)
{
vm
.
$emit
(
'refreshPie'
,
params
.
name
)
})
}
}
},
},
watch
:
{
watch
:
{
...
...
src/components/echarts/pieChart.vue
View file @
e45f4704
...
@@ -14,7 +14,7 @@ export default {
...
@@ -14,7 +14,7 @@ export default {
chart
:
null
chart
:
null
}
}
},
},
props
:
[
'message'
,
'idstr'
,
'noDrill'
],
props
:
[
'message'
,
'idstr'
,
'noDrill'
,
'isLeft'
],
mounted
()
{
mounted
()
{
this
.
drawLine
()
this
.
drawLine
()
},
},
...
@@ -49,7 +49,7 @@ export default {
...
@@ -49,7 +49,7 @@ export default {
{
{
type
:
'pie'
,
type
:
'pie'
,
radius
:
[
'40%'
,
'70%'
],
radius
:
[
'40%'
,
'70%'
],
center
:
[
'50%'
,
'50%'
],
center
:
vm
.
isLeft
?
[
'30%'
,
'50%'
]
:
[
'50%'
,
'50%'
],
label
:
{
label
:
{
show
:
false
show
:
false
},
},
...
...
src/components/echarts/treeChart.vue
View file @
e45f4704
...
@@ -141,27 +141,37 @@ export default {
...
@@ -141,27 +141,37 @@ export default {
data
:
[
data
],
data
:
[
data
],
top
:
'1%'
,
left
:
'1%'
,
left
:
'7
%'
,
right
:
'1
%'
,
bottom
:
'1
%'
,
top
:
'8
%'
,
right
:
'2
0%'
,
bottom
:
'3
0%'
,
symbolSize
:
14
,
symbolSize
:
14
,
orient
:
'vertical'
,
label
:
{
label
:
{
position
:
'left'
,
position
:
'left'
,
// rotate: -90,
verticalAlign
:
'middle'
,
verticalAlign
:
'middle'
,
align
:
'right'
,
align
:
'right'
,
fontSize
:
12
,
fontSize
:
12
,
color
:
'#fff'
color
:
'#fff'
,
formatter
:
(
val
)
=>
{
console
.
log
(
val
)
return
val
.
name
.
split
(
''
).
join
(
'
\
n'
)
}
},
},
leaves
:
{
leaves
:
{
label
:
{
label
:
{
position
:
'right'
,
position
:
'bottom'
,
verticalAlign
:
'middle'
,
// rotate: -90,
verticalAlign
:
'top'
,
align
:
'left'
,
align
:
'left'
,
color
:
'#fff'
color
:
'#fff'
,
formatter
:
(
val
)
=>
{
return
val
.
name
.
split
(
''
).
join
(
'
\
n'
)
}
}
}
},
},
...
...
src/components/start/index.vue
0 → 100644
View file @
e45f4704
<
template
>
<div
class=
"stars-wrapper"
>
<svg
class=
"stars"
width=
"100%"
height=
"100%"
preserveAspectRatio=
"none"
>
<circle
class=
"star"
cx=
"37.3%"
cy=
"9.18%"
r=
"0.5"
></circle>
<circle
class=
"star"
cx=
"75.89%"
cy=
"22.4%"
r=
"1.5"
></circle>
<circle
class=
"star"
cx=
"88.67%"
cy=
"39.85%"
r=
"0.6"
></circle>
<circle
class=
"star"
cx=
"0.09%"
cy=
"100%"
r=
"1.3"
></circle>
<circle
class=
"star"
cx=
"80.4%"
cy=
"40.8%"
r=
"0.8"
></circle>
<circle
class=
"star"
cx=
"14.84%"
cy=
"85.07%"
r=
"1"
></circle>
<circle
class=
"star"
cx=
"45.8%"
cy=
"41.66%"
r=
"0.6"
></circle>
<circle
class=
"star"
cx=
"34.09%"
cy=
"47.77%"
r=
"1.5"
></circle>
<circle
class=
"star"
cx=
"38.71%"
cy=
"16.26%"
r=
"1.2"
></circle>
<circle
class=
"star"
cx=
"32.29%"
cy=
"77.33%"
r=
"1.3"
></circle>
<circle
class=
"star"
cx=
"64.98%"
cy=
"38.48%"
r=
"0.6"
></circle>
<circle
class=
"star"
cx=
"52.01%"
cy=
"54.4%"
r=
"1.2"
></circle>
<circle
class=
"star"
cx=
"85.95%"
cy=
"50.91%"
r=
"1.2"
></circle>
<circle
class=
"star"
cx=
"5.8%"
cy=
"53.26%"
r=
"1.3"
></circle>
<circle
class=
"star"
cx=
"22.81%"
cy=
"38.09%"
r=
"1.4"
></circle>
<circle
class=
"star"
cx=
"11.21%"
cy=
"6.08%"
r=
"0.5"
></circle>
<circle
class=
"star"
cx=
"60.81%"
cy=
"65.87%"
r=
"1"
></circle>
<circle
class=
"star"
cx=
"87.69%"
cy=
"69.93%"
r=
"0.7"
></circle>
<circle
class=
"star"
cx=
"13.58%"
cy=
"46.91%"
r=
"1.2"
></circle>
<circle
class=
"star"
cx=
"51.6%"
cy=
"32.09%"
r=
"0.7"
></circle>
<circle
class=
"star"
cx=
"47.54%"
cy=
"20.98%"
r=
"0.9"
></circle>
<circle
class=
"star"
cx=
"82.56%"
cy=
"92.52%"
r=
"1.1"
></circle>
<circle
class=
"star"
cx=
"63.14%"
cy=
"43.93%"
r=
"0.6"
></circle>
<circle
class=
"star"
cx=
"45.68%"
cy=
"14.5%"
r=
"1.1"
></circle>
<circle
class=
"star"
cx=
"10.86%"
cy=
"21.85%"
r=
"0.8"
></circle>
<circle
class=
"star"
cx=
"84.4%"
cy=
"3.4%"
r=
"1"
></circle>
<circle
class=
"star"
cx=
"75.88%"
cy=
"97.15%"
r=
"0.8"
></circle>
<circle
class=
"star"
cx=
"25.75%"
cy=
"8.19%"
r=
"1.1"
></circle>
<circle
class=
"star"
cx=
"19.18%"
cy=
"66.58%"
r=
"1.5"
></circle>
<circle
class=
"star"
cx=
"88.78%"
cy=
"61.2%"
r=
"0.7"
></circle>
<circle
class=
"star"
cx=
"32.47%"
cy=
"0.01%"
r=
"0.6"
></circle>
<circle
class=
"star"
cx=
"84.38%"
cy=
"41.2%"
r=
"0.9"
></circle>
<circle
class=
"star"
cx=
"66.33%"
cy=
"41.77%"
r=
"1"
></circle>
<circle
class=
"star"
cx=
"25.04%"
cy=
"87.88%"
r=
"1"
></circle>
<circle
class=
"star"
cx=
"71.12%"
cy=
"89.26%"
r=
"1"
></circle>
<circle
class=
"star"
cx=
"14.38%"
cy=
"66.74%"
r=
"1"
></circle>
<circle
class=
"star"
cx=
"38.42%"
cy=
"88.73%"
r=
"0.7"
></circle>
<circle
class=
"star"
cx=
"77.62%"
cy=
"46%"
r=
"0.7"
></circle>
<circle
class=
"star"
cx=
"72.33%"
cy=
"51.09%"
r=
"0.7"
></circle>
<circle
class=
"star"
cx=
"91.41%"
cy=
"34.87%"
r=
"0.5"
></circle>
<circle
class=
"star"
cx=
"78.46%"
cy=
"56.02%"
r=
"1.3"
></circle>
<circle
class=
"star"
cx=
"51.58%"
cy=
"91.83%"
r=
"1"
></circle>
<circle
class=
"star"
cx=
"16.06%"
cy=
"46.42%"
r=
"0.6"
></circle>
<circle
class=
"star"
cx=
"61.21%"
cy=
"12.52%"
r=
"1.2"
></circle>
<circle
class=
"star"
cx=
"4%"
cy=
"42.33%"
r=
"1.5"
></circle>
<circle
class=
"star"
cx=
"12.7%"
cy=
"71.96%"
r=
"1"
></circle>
<circle
class=
"star"
cx=
"46.69%"
cy=
"48.82%"
r=
"0.8"
></circle>
<circle
class=
"star"
cx=
"44.38%"
cy=
"18.71%"
r=
"1.3"
></circle>
<circle
class=
"star"
cx=
"17.78%"
cy=
"44.18%"
r=
"0.8"
></circle>
<circle
class=
"star"
cx=
"43.4%"
cy=
"56.16%"
r=
"0.7"
></circle>
</svg>
<svg
class=
"extras"
width=
"100%"
height=
"100%"
preserveAspectRatio=
"none"
>
<defs>
<radialGradient
id=
"comet-gradient"
cx=
"0"
cy=
".5"
r=
"0.5"
>
<stop
offset=
"0%"
stop-color=
"rgba(255,255,255,.8)"
></stop>
<stop
offset=
"100%"
stop-color=
"rgba(255,255,255,0)"
></stop>
</radialGradient>
</defs>
<g
transform=
"rotate(-135)"
>
<ellipse
class=
"comet comet-a"
fill=
"url(#comet-gradient)"
cx=
"0"
cy=
"0"
rx=
"150"
ry=
"2"
></ellipse>
</g>
<g
transform=
"rotate(20)"
>
<ellipse
class=
"comet comet-b"
fill=
"url(#comet-gradient)"
cx=
"100%"
cy=
"0"
rx=
"150"
ry=
"2"
></ellipse>
</g>
<g
transform=
"rotate(300)"
>
<ellipse
class=
"comet comet-c"
fill=
"url(#comet-gradient)"
cx=
"40%"
cy=
"100%"
rx=
"150"
ry=
"2"
></ellipse>
</g>
</svg>
</div>
</
template
>
<
script
>
export
default
{
}
</
script
>
<
style
lang=
"scss"
scoped
>
@import
'~@/assets/style/start.scss'
;
</
style
>
src/views/content/business/page.vue
View file @
e45f4704
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
<div
class=
"flex-1"
>
<div
class=
"flex-1"
>
<div
class=
"box"
>
<div
class=
"box"
>
<div
class=
"boxTitle"
>
商机总数
<span>
(个)
</span></div>
<div
class=
"boxTitle"
>
商机总数
<span>
(个)
</span></div>
<div
class=
"boxValue"
>
{{
totalObj
.
opportunitiesNumber
}}
</div>
<div
class=
"boxValue"
>
{{
totalObj
.
opportunitiesNumber
||
0
}}
</div>
</div>
</div>
<div
class=
"box"
>
<div
class=
"box"
>
<div
class=
"boxTitle"
>
整体预算
<span>
(百万)
</span></div>
<div
class=
"boxTitle"
>
整体预算
<span>
(百万)
</span></div>
...
@@ -33,7 +33,7 @@
...
@@ -33,7 +33,7 @@
<div
class=
"flex-1"
>
<div
class=
"flex-1"
>
<div
class=
"box"
>
<div
class=
"box"
>
<div
class=
"boxTitle"
>
售前参与
<span>
(个)
</span></div>
<div
class=
"boxTitle"
>
售前参与
<span>
(个)
</span></div>
<div
class=
"boxValue"
>
{{
totalObj
.
saler
}}
</div>
<div
class=
"boxValue"
>
{{
totalObj
.
saler
||
0
}}
</div>
</div>
</div>
<div
class=
"box"
>
<div
class=
"box"
>
<div
class=
"boxTitle"
>
预计成本
<span>
(百万)
</span></div>
<div
class=
"boxTitle"
>
预计成本
<span>
(百万)
</span></div>
...
@@ -65,7 +65,7 @@
...
@@ -65,7 +65,7 @@
<div
class=
"flex-1 d-flex"
>
<div
class=
"flex-1 d-flex"
>
<div
class=
"flex-1"
>
<div
class=
"flex-1"
>
<div
class=
"title"
>
商机阶段分析
</div>
<div
class=
"title"
>
商机阶段分析
</div>
<funnel
:message=
"bussionStep"
:idstr=
"'bussionStep'"
class=
"heightCut44"
></funnel>
<funnel
:message=
"bussionStep"
@
refreshPie=
"refreshPie"
:idstr=
"'bussionStep'"
class=
"heightCut44"
></funnel>
</div>
</div>
<div
class=
"flex-1"
>
<div
class=
"flex-1"
>
<div
class=
"title"
>
商机类型
</div>
<div
class=
"title"
>
商机类型
</div>
...
@@ -111,6 +111,7 @@ export default {
...
@@ -111,6 +111,7 @@ export default {
data
()
{
data
()
{
return
{
return
{
chartActive
:
'number'
,
chartActive
:
'number'
,
stepActive
:
''
,
totalObj
:
{},
// 商机统计
totalObj
:
{},
// 商机统计
industry
:
''
,
industry
:
''
,
// 行业分布
// 行业分布
...
@@ -142,9 +143,9 @@ export default {
...
@@ -142,9 +143,9 @@ export default {
this
.
getProductType
()
this
.
getProductType
()
this
.
getNewOpportunities
()
this
.
getNewOpportunities
()
this
.
getBillRate
()
this
.
getBillRate
()
this
.
getBigetOpportunitiesByNumberOrMoneyllRate
()
this
.
getOpportunitiesByStep
()
this
.
getOpportunitiesByDept
(
''
,
false
)
this
.
getOpportunitiesByDept
(
''
,
false
)
this
.
getOpportunitiesByStep
()
this
.
getOpportunitiesByNumberOrMoney
()
},
},
filters
:
{
filters
:
{
numFilter
(
value
)
{
numFilter
(
value
)
{
...
@@ -181,6 +182,7 @@ export default {
...
@@ -181,6 +182,7 @@ export default {
async
getOpportunitiesDistribution
()
{
async
getOpportunitiesDistribution
()
{
const
_data
=
await
API_BUSSINESS
.
getOpportunitiesDistribution
()
const
_data
=
await
API_BUSSINESS
.
getOpportunitiesDistribution
()
this
.
bussionDistribute
=
_data
.
data
this
.
bussionDistribute
=
_data
.
data
this
.
bussionDistribute
.
yAxis
=
'单位 :个'
},
},
// 合同税率
// 合同税率
async
getTaxRate
()
{
async
getTaxRate
()
{
...
@@ -225,12 +227,17 @@ export default {
...
@@ -225,12 +227,17 @@ export default {
// q切换数量和金额
// q切换数量和金额
changeType
(
item
)
{
changeType
(
item
)
{
this
.
chartActive
=
item
this
.
chartActive
=
item
this
.
get
BigetOpportunitiesByNumberOrMoneyllRate
()
this
.
get
OpportunitiesByNumberOrMoney
()
this
.
getOpportunitiesByDept
()
this
.
getOpportunitiesByDept
()
},
},
// 点击漏斗图 切换饼图数据
refreshPie
(
item
)
{
this
.
stepActive
=
item
this
.
getOpportunitiesByNumberOrMoney
()
},
// 商机阶段分析-中间饼图
// 商机阶段分析-中间饼图
async
get
BigetOpportunitiesByNumberOrMoneyllRate
()
{
async
get
OpportunitiesByNumberOrMoney
()
{
const
_data
=
await
API_BUSSINESS
.
get
BigetOpportunitiesByNumberOrMoneyllRate
({
name
:
this
.
chartActive
})
const
_data
=
await
API_BUSSINESS
.
get
OpportunitiesByNumberOrMoney
({
name
:
this
.
chartActive
,
step
:
this
.
stepActive
||
null
})
this
.
bussionType
=
{
this
.
bussionType
=
{
legend
:
_data
.
data
.
legend
,
legend
:
_data
.
data
.
legend
,
data
:
_data
.
data
.
data
.
map
(
item
=>
{
data
:
_data
.
data
.
data
.
map
(
item
=>
{
...
...
src/views/content/client/components/serviceAnalysis.vue
View file @
e45f4704
<
template
>
<
template
>
<div>
<div>
<div
class=
"d-flex search-box jc-end"
>
<div
class=
"d-flex search-box jc-end"
>
<el-select
v-model=
"selectYear"
size=
"mini"
>
<el-select
v-model=
"selectYear"
size=
"mini"
@
change=
"getAnalysis"
>
<el-option
<el-option
v-for=
"item in yearList"
v-for=
"item in yearList"
:key=
"item"
:key=
"item"
...
@@ -16,26 +16,30 @@
...
@@ -16,26 +16,30 @@
<
script
>
<
script
>
import
pieChart
from
'@/components/echarts/pieChart'
// 饼图
import
pieChart
from
'@/components/echarts/pieChart'
// 饼图
import
*
as
API_CLIENT
from
'@/api/con.client.js'
export
default
{
export
default
{
components
:
{
pieChart
},
components
:
{
pieChart
},
data
()
{
data
()
{
return
{
return
{
selectYear
:
'2020'
,
selectYear
:
''
,
yearList
:
[
'2021'
,
'2020'
,
'2019'
,
'2018'
,
'2017'
],
yearList
:
[],
dataList
:
{
// 服务分析
dataList
:
{}
// 服务分析
legend
:
[
'软件解决方案'
,
'云产品及服务'
,
'系统集成及IT服务'
],
data
:
[
{
value
:
335
,
name
:
'软件解决方案'
},
{
value
:
310
,
name
:
'云产品及服务'
},
{
value
:
234
,
name
:
'系统集成及IT服务'
}
]
}
}
}
},
},
mounted
()
{
mounted
()
{
this
.
getAnalysisYear
()
},
},
methods
:
{
methods
:
{
async
getAnalysisYear
()
{
const
_data
=
await
API_CLIENT
.
getAnalysisYear
()
this
.
yearList
=
_data
.
data
this
.
selectYear
=
_data
.
data
[
0
]
this
.
getAnalysis
()
},
async
getAnalysis
()
{
const
_data
=
await
API_CLIENT
.
getAnalysis
({
year
:
this
.
selectYear
})
this
.
dataList
=
_data
.
data
}
}
}
}
}
</
script
>
</
script
>
...
...
src/views/content/client/page.vue
View file @
e45f4704
This diff is collapsed.
Click to expand it.
src/views/content/operation/components/cashFlow.vue
View file @
e45f4704
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
:value=
"item.id"
>
:value=
"item.id"
>
</el-option>
</el-option>
</el-select>
</el-select>
<el-select
v-model=
"selectYear"
size=
"mini"
style=
"width:1.4rem;"
@
change=
"getCashFlow"
>
<el-select
v-model=
"selectYear"
size=
"mini"
@
change=
"getCashFlow"
>
<el-option
<el-option
v-for=
"item in yearList"
v-for=
"item in yearList"
:key=
"item"
:key=
"item"
...
@@ -57,7 +57,7 @@ export default {
...
@@ -57,7 +57,7 @@ export default {
this
.
dataList
=
_data
.
data
this
.
dataList
=
_data
.
data
this
.
dataList
.
data
.
inflow
=
_data
.
data
.
data
.
inflow
.
map
(
item
=>
item
.
value
)
this
.
dataList
.
data
.
inflow
=
_data
.
data
.
data
.
inflow
.
map
(
item
=>
item
.
value
)
this
.
dataList
.
data
.
flowOut
=
_data
.
data
.
data
.
flowOut
.
map
(
item
=>
-
item
.
value
)
this
.
dataList
.
data
.
flowOut
=
_data
.
data
.
data
.
flowOut
.
map
(
item
=>
-
item
.
value
)
this
.
dataList
.
data
.
netInflow
=
_data
.
data
.
data
.
netInflow
.
map
(
item
=>
-
item
.
value
)
this
.
dataList
.
data
.
netInflow
=
_data
.
data
.
data
.
netInflow
.
map
(
item
=>
item
.
value
)
}
}
}
}
}
}
...
...
src/views/content/operation/components/revenueStatistics.vue
View file @
e45f4704
...
@@ -55,7 +55,8 @@ export default {
...
@@ -55,7 +55,8 @@ export default {
isLeaf
:
isLeaf
,
isLeaf
:
isLeaf
,
xAxis
:
_data
.
data
.
xAxis
,
xAxis
:
_data
.
data
.
xAxis
,
idxs
:
_data
.
data
.
idxs
,
idxs
:
_data
.
data
.
idxs
,
data
:
_data
.
data
.
data
data
:
_data
.
data
.
data
,
yAxis
:
'单位:万元'
}
}
},
},
downData
(
item
)
{
downData
(
item
)
{
...
...
src/views/content/operation/components/totalExpenses.vue
View file @
e45f4704
...
@@ -45,7 +45,8 @@ export default {
...
@@ -45,7 +45,8 @@ export default {
isLeaf
:
isLeaf
,
isLeaf
:
isLeaf
,
xAxis
:
_data
.
data
.
xAxis
,
xAxis
:
_data
.
data
.
xAxis
,
idxs
:
_data
.
data
.
idxs
,
idxs
:
_data
.
data
.
idxs
,
data
:
_data
.
data
.
data
data
:
_data
.
data
.
data
,
yAxis
:
'单位:万元'
}
}
},
},
downData
(
item
)
{
downData
(
item
)
{
...
...
src/views/content/operation/page.vue
View file @
e45f4704
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
</div>
</div>
<div
class=
"centerBlock"
>
<div
class=
"centerBlock"
>
<div
class=
"centerBoxHeight-3"
>
<div
class=
"centerBoxHeight-3"
>
<div
class=
"title"
>
回款
额
</div>
<div
class=
"title"
>
回款
统计
</div>
<receiptStatistics
class=
"heightCut44"
/>
<receiptStatistics
class=
"heightCut44"
/>
</div>
</div>
<div
class=
"centerBoxHeight-3 mt-2"
>
<div
class=
"centerBoxHeight-3 mt-2"
>
...
...
src/views/content/organization/components/orgDetail.vue
View file @
e45f4704
...
@@ -56,9 +56,10 @@ export default {
...
@@ -56,9 +56,10 @@ export default {
}
}
}
}
.org-content
{
.org-content
{
text-align
:
center
;
color
:
#fff
;
color
:
#fff
;
font-size
:
.14rem
;
font-size
:
.14rem
;
width
:
10
.8rem
;
width
:
10
0%
;
height
:
7
.89rem
;
height
:
7
.89rem
;
margin
:
0
auto
;
margin
:
0
auto
;
}
}
...
...
src/views/content/organization/components/staffInfo.vue
View file @
e45f4704
<
template
>
<
template
>
<div
class=
"staff-box"
>
<div
class=
"staff-box"
>
<div
class=
"d-flex search-box jc-center"
>
<div
class=
"search"
>
<el-autocomplete
class=
"inline-input"
v-model=
"input"
size=
"mini"
clearable
:fetch-suggestions=
"querySearch"
placeholder=
"请输入员工名称"
:trigger-on-focus=
"false"
@
select=
"handleSelect"
></el-autocomplete>
<el-button
class=
"searchBtn"
type=
"text"
>
搜索
</el-button>
</div>
</div>
<div
class=
"tab-box"
>
<div
class=
"tab-box"
>
<span
<span
class=
"tab-btn"
class=
"tab-btn"
...
@@ -14,11 +29,11 @@
...
@@ -14,11 +29,11 @@
<el-col
span=
"12"
>
<el-col
span=
"12"
>
<div
class=
"item-box d-flex jc-between"
>
<div
class=
"item-box d-flex jc-between"
>
<span
class=
"label"
>
姓名
</span>
<span
class=
"label"
>
姓名
</span>
<span
class=
"text"
>
赵忠祥
</span>
<span
class=
"text"
>
{{
employeeInfo
.
name
}}
</span>
</div>
</div>
<div
class=
"item-box d-flex jc-between"
>
<div
class=
"item-box d-flex jc-between"
>
<span
class=
"label"
>
职位
</span>
<span
class=
"label"
>
职位
</span>
<span
class=
"text"
>
主持人
</span>
<span
class=
"text"
>
{{
employeeInfo
.
position
}}
</span>
</div>
</div>
</el-col>
</el-col>
...
@@ -36,11 +51,11 @@
...
@@ -36,11 +51,11 @@
<el-col
span=
"24"
>
<el-col
span=
"24"
>
<div
class=
"item-box d-flex jc-between"
>
<div
class=
"item-box d-flex jc-between"
>
<span
class=
"label"
>
电话
</span>
<span
class=
"label"
>
电话
</span>
<span
class=
"text"
>
13242321122
</span>
<span
class=
"text"
>
{{
employeeInfo
.
phone
}}
</span>
</div>
</div>
<div
class=
"item-box d-flex jc-between"
>
<div
class=
"item-box d-flex jc-between"
>
<span
class=
"label"
>
邮箱
</span>
<span
class=
"label"
>
邮箱
</span>
<span
class=
"text"
>
zhaozongxiang@163.cn
</span>
<span
class=
"text"
>
{{
employeeInfo
.
email
}}
</span>
</div>
</div>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -50,10 +65,12 @@
...
@@ -50,10 +65,12 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
*
as
API_ORGAN
from
'@/api/con.organ'
export
default
{
export
default
{
name
:
'staff'
,
name
:
'staff'
,
data
()
{
data
()
{
return
{
return
{
input
:
''
,
isActive
:
0
,
isActive
:
0
,
tabList
:
[
tabList
:
[
{
name
:
'基本信息'
,
id
:
1
},
{
name
:
'基本信息'
,
id
:
1
},
...
@@ -63,7 +80,31 @@ export default {
...
@@ -63,7 +80,31 @@ export default {
{
name
:
'项目经验'
,
id
:
5
},
{
name
:
'项目经验'
,
id
:
5
},
{
name
:
'绩效呈现'
,
id
:
6
},
{
name
:
'绩效呈现'
,
id
:
6
},
{
name
:
'素质评价'
,
id
:
7
}
{
name
:
'素质评价'
,
id
:
7
}
]
],
employeeInfo
:
{}
}
},
mounted
()
{
const
userId
=
sessionStorage
.
getItem
(
'user'
)
?
JSON
.
parse
(
sessionStorage
.
getItem
(
'user'
)).
id
:
''
this
.
handleSelect
(
userId
)
},
methods
:
{
// 根据name查id
querySearch
(
queryString
,
cb
)
{
console
.
log
(
queryString
)
API_ORGAN
.
getEmployeeInformanceByName
({
name
:
queryString
}).
then
(
res
=>
{
const
_data
=
res
.
data
for
(
var
i
=
0
;
i
<
_data
.
length
;
i
++
)
{
_data
[
i
].
value
=
_data
[
i
].
name
}
cb
(
_data
)
})
},
// 点击下拉列表搜索
handleSelect
(
item
)
{
API_ORGAN
.
getEmployeeInformance
({
empId
:
item
||
null
}).
then
(
res
=>
{
this
.
employeeInfo
=
res
.
data
})
}
}
}
}
}
}
...
...
src/views/content/organization/page.vue
View file @
e45f4704
...
@@ -60,30 +60,7 @@
...
@@ -60,30 +60,7 @@
</div>
</div>
<div
class=
"centerBlock"
>
<div
class=
"centerBlock"
>
<div
class=
"content"
>
<div
class=
"content"
>
<div
class=
"d-flex search-box"
>
<staffInfo/>
<el-select
v-model=
"value"
size=
"mini"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
<div
class=
"search"
>
<el-autocomplete
class=
"inline-input"
v-model=
"input"
size=
"mini"
clearable
:fetch-suggestions=
"querySearch"
placeholder=
"请输入公司名称"
:trigger-on-focus=
"false"
@
select=
"handleSelect"
></el-autocomplete>
<el-button
class=
"searchBtn"
type=
"text"
>
搜索
</el-button>
</div>
</div>
<staffInfo
:searchId=
"input"
/>
</div>
</div>
<div
class=
"centerBoxHeight-3 mt-2"
>
<div
class=
"centerBoxHeight-3 mt-2"
>
<div
class=
"title"
>
入/离职统计
</div>
<div
class=
"title"
>
入/离职统计
</div>
...
@@ -123,15 +100,6 @@ export default {
...
@@ -123,15 +100,6 @@ export default {
components
:
{
headerLayout
,
pieChart
,
barChart
,
waterBall
,
lineChart
,
peopleCounting
,
staffInfo
},
components
:
{
headerLayout
,
pieChart
,
barChart
,
waterBall
,
lineChart
,
peopleCounting
,
staffInfo
},
data
()
{
data
()
{
return
{
return
{
options
:
[
{
value
:
1
,
label
:
'员工名称'
},
{
value
:
2
,
label
:
'证书名称'
}
],
dataList
:
{
dataList
:
{
parentId
:
''
,
parentId
:
''
,
idxs
:
[
1
,
2
,
3
,
4
,
5
],
idxs
:
[
1
,
2
,
3
,
4
,
5
],
...
@@ -143,10 +111,9 @@ export default {
...
@@ -143,10 +111,9 @@ export default {
{
id
:
4
,
value
:
162.2
,
parent
:
''
,
isLeaf
:
false
},
{
id
:
4
,
value
:
162.2
,
parent
:
''
,
isLeaf
:
false
},
{
id
:
5
,
value
:
32.6
,
parent
:
''
,
isLeaf
:
false
}
{
id
:
5
,
value
:
32.6
,
parent
:
''
,
isLeaf
:
false
}
]
]
},
},
// 上月绩效
performActive
:
1
,
performActive
:
1
,
// 上月绩效
distributeActive
:
1
,
distributeActive
:
1
,
// 人员分布
input
:
''
,
jobDistribution
:
{
jobDistribution
:
{
legend
:
[
'技术岗'
,
'销售岗'
,
'管理岗'
,
'职能岗'
,
'其他岗'
],
legend
:
[
'技术岗'
,
'销售岗'
,
'管理岗'
,
'职能岗'
,
'其他岗'
],
data
:
[
data
:
[
...
@@ -156,35 +123,14 @@ export default {
...
@@ -156,35 +123,14 @@ export default {
{
value
:
135
,
name
:
'职能岗'
},
{
value
:
135
,
name
:
'职能岗'
},
{
value
:
548
,
name
:
'其他岗'
}
{
value
:
548
,
name
:
'其他岗'
}
]
]
},
},
// 人员分布
refundAmountLine
:
{
refundAmountLine
:
{},
// 入离职统计
legend
:
[
'简历数'
,
'面试数'
,
'发放offer'
,
'入职'
],
recruitment
:
{}
// 人才招聘
xAxis
:
[
'1月'
,
'2月'
,
'3月'
,
'4月'
,
'5月'
,
'6月'
,
'7月'
],
data
:
[{
name
:
'简历数'
,
data
:
[
820
,
932
,
901
,
934
,
1290
,
1330
,
620
],
type
:
'line'
},
{
name
:
'面试数'
,
data
:
[
420
,
532
,
701
,
434
,
290
,
330
,
120
],
type
:
'line'
},
{
name
:
'发放offer'
,
data
:
[
520
,
232
,
401
,
334
,
790
,
830
,
320
],
type
:
'line'
},
{
name
:
'入职'
,
data
:
[
620
,
732
,
101
,
234
,
690
,
530
,
520
],
type
:
'line'
}]
},
recruitment
:
{}
}
}
},
},
mounted
()
{
mounted
()
{
this
.
recruitmentStatistics
()
this
.
recruitmentStatistics
()
this
.
getYearRms
()
},
},
methods
:
{
methods
:
{
// 获取人才招聘信息
// 获取人才招聘信息
...
@@ -204,13 +150,22 @@ export default {
...
@@ -204,13 +150,22 @@ export default {
name
:
'离职率'
name
:
'离职率'
}
}
},
},
// 获取入离职统计
querySearch
(
queryString
,
cb
)
{
async
getYearRms
()
{
// cb()
const
_data
=
await
API_ORGAN
.
getYearRms
()
},
this
.
refundAmountLine
=
{
handleSelect
(
item
)
{
legend
:
_data
.
data
.
legend
,
xAxis
:
_data
.
data
.
xAxis
,
data
:
_data
.
data
.
data
.
map
(
item
=>
{
return
{
name
:
item
.
name
,
data
:
item
.
data
,
type
:
'line'
}
})
}
},
},
// 上月绩效下钻
downData
(
item
)
{
downData
(
item
)
{
// console.log('传来的值:', item)
// console.log('传来的值:', item)
setTimeout
(()
=>
{
setTimeout
(()
=>
{
...
@@ -259,6 +214,7 @@ export default {
...
@@ -259,6 +214,7 @@ export default {
}
}
},
0
)
},
0
)
},
},
// 跳转组织机构详情
orgDetail
()
{
orgDetail
()
{
this
.
$router
.
push
(
'/orgDetail'
)
this
.
$router
.
push
(
'/orgDetail'
)
}
}
...
...
src/views/system/index/components/itemNationwide.vue
View file @
e45f4704
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"title"
>
全国
</div>
<div
class=
"title"
>
全国
</div>
<div
class=
"content d-flex"
>
<div
class=
"content d-flex"
>
<div
class=
"flex-1"
>
<div
class=
"flex-1"
>
<pieChart
:message=
"itemNationWide"
:noDrill=
"true"
idstr=
"itemNationWide"
class=
"heightCut44
"
></pieChart>
<pieChart
:message=
"itemNationWide"
:noDrill=
"true"
:isLeft=
"type=='4'"
idstr=
"itemNationWide"
class=
"h-100
"
></pieChart>
<p
v-if=
"type=='4'"
>
共计客户
<strong>
{{
message
.
allCustomerNumber
}}
个
</strong></p>
<p
v-if=
"type=='4'"
>
共计客户
<strong>
{{
message
.
allCustomerNumber
}}
个
</strong></p>
<p
v-if=
"type=='3'"
>
共计商机
<strong>
{{
message
.
allOpportunitiesNumber
}}
个
</strong></p>
<p
v-if=
"type=='3'"
>
共计商机
<strong>
{{
message
.
allOpportunitiesNumber
}}
个
</strong></p>
<p
v-if=
"type=='1'"
>
共计项目
<strong>
{{
message
.
allProjectNumber
}}
个
</strong></p>
<p
v-if=
"type=='1'"
>
共计项目
<strong>
{{
message
.
allProjectNumber
}}
个
</strong></p>
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
<div
class=
"d-flex flex-column"
>
<div
class=
"d-flex flex-column"
>
<div
class=
"text-box"
>
<div
class=
"text-box"
>
<label>
本年度签署合同
</label>
<label>
本年度签署合同
</label>
<span>
{{
message
.
contactMoney
|
moneyFormat
(
8
)
|
numFormat
}}
亿
</span>
<span>
{{
message
.
contactMoney
|
moneyFormat
(
4
)
|
numFormat
}}
万元
</span>
</div>
</div>
<div
class=
"text-box"
>
<div
class=
"text-box"
>
<label>
相关产品
</label>
<label>
相关产品
</label>
...
@@ -29,11 +29,11 @@
...
@@ -29,11 +29,11 @@
<div
class=
"d-flex flex-column"
>
<div
class=
"d-flex flex-column"
>
<div
class=
"text-box"
>
<div
class=
"text-box"
>
<label>
预计总收入
</label>
<label>
预计总收入
</label>
<span>
{{
message
.
allRevenueMoney
|
moneyFormat
(
8
)
|
numFormat
}}
亿
</span>
<span>
{{
message
.
allRevenueMoney
|
moneyFormat
(
4
)
|
numFormat
}}
万元
</span>
</div>
</div>
<div
class=
"text-box"
>
<div
class=
"text-box"
>
<label>
预计总成本
</label>
<label>
预计总成本
</label>
<span>
{{
message
.
allCostMoney
|
moneyFormat
(
8
)
|
numFormat
}}
亿
</span>
<span>
{{
message
.
allCostMoney
|
moneyFormat
(
4
)
|
numFormat
}}
万元
</span>
</div>
</div>
<div
class=
"text-box"
>
<div
class=
"text-box"
>
<label>
参与售前
</label>
<label>
参与售前
</label>
...
@@ -110,18 +110,23 @@ export default {
...
@@ -110,18 +110,23 @@ export default {
font-size
:
.16rem
;
font-size
:
.16rem
;
color
:
#fff
;
color
:
#fff
;
text-align
:
center
;
text-align
:
center
;
margin-top
:
-.05rem
;
}
}
.sum-box
{
.sum-box
{
border-left
:
1px
solid
#30DDF4
;
border-left
:
1px
solid
#30DDF4
;
padding-top
:
.24rem
;
padding-top
:
.24rem
;
}
}
.text-box
{
.text-box
{
text-align
:
center
;
padding
:
0
.3rem
;
flex
:
1
;
flex
:
1
;
font-family
:
PingFang-SC-Medium
;
font-family
:
PingFang-SC-Medium
;
font-size
:
.16rem
;
font-size
:
.16rem
;
line-height
:
2
;
line-height
:
2
;
color
:
#FFFFFF
;
color
:
#FFFFFF
;
label
{
width
:
1
.4rem
;
display
:
inline-block
;
}
span
{
span
{
padding-left
:
.24rem
;
padding-left
:
.24rem
;
font-family
:
ZhenyanGB-Regular
;
font-family
:
ZhenyanGB-Regular
;
...
...
src/views/system/index/components/knowledgeDialog.vue
View file @
e45f4704
...
@@ -36,8 +36,15 @@
...
@@ -36,8 +36,15 @@
</div>
</div>
</div>
</div>
<h3>
关系筛选
</h3>
<h3>
关系筛选
</h3>
<div
style=
"padding-left:30px;color:#fff;"
>
群智合
<span
class=
"pointer"
style=
"background-color:#f40;"
></span>
</div>
<el-checkbox-group
v-model=
"checked"
>
<el-checkbox-group
v-model=
"checked"
>
<el-checkbox
:disabled=
"value==item.value"
v-for=
"item in checkList"
:key=
"item.value"
:label=
"item.value"
>
{{
item
.
name
}}
</el-checkbox>
<el-checkbox
:disabled=
"value==item.value"
v-for=
"item in checkList"
:key=
"item.value"
:label=
"item.value"
>
{{
item
.
name
}}
<span
class=
"pointer"
:style=
"
{'background-color':item.color}">
</span>
</el-checkbox>
</el-checkbox-group>
</el-checkbox-group>
<div
class=
"inquire"
@
click=
"handleChange"
>
查询
</div>
<div
class=
"inquire"
@
click=
"handleChange"
>
查询
</div>
</div>
</div>
...
@@ -90,11 +97,11 @@ export default {
...
@@ -90,11 +97,11 @@ export default {
knowledData
:
[],
knowledData
:
[],
checked
:
[
1
,
2
,
3
,
4
,
5
],
checked
:
[
1
,
2
,
3
,
4
,
5
],
checkList
:
[
checkList
:
[
{
name
:
'项目'
,
value
:
1
},
{
name
:
'项目'
,
value
:
1
,
color
:
'#8419c7'
},
{
name
:
'销售'
,
value
:
2
},
{
name
:
'销售'
,
value
:
2
,
color
:
'#b9c719'
},
{
name
:
'商机'
,
value
:
3
},
{
name
:
'商机'
,
value
:
3
,
color
:
'#199fc7'
},
{
name
:
'客户'
,
value
:
4
},
{
name
:
'客户'
,
value
:
4
,
color
:
'#4f19c7'
},
{
name
:
'成员'
,
value
:
5
}
{
name
:
'成员'
,
value
:
5
,
color
:
'#69c719'
}
],
],
value
:
''
,
value
:
''
,
topoData
:
{}
// 接收到的topo数据
topoData
:
{}
// 接收到的topo数据
...
@@ -198,6 +205,12 @@ export default {
...
@@ -198,6 +205,12 @@ export default {
padding-top
:
.5rem
;
padding-top
:
.5rem
;
position
:
relative
;
position
:
relative
;
margin-top
:
.1rem
;
margin-top
:
.1rem
;
.pointer
{
display
:
inline-block
;
width
:
.08rem
;
height
:
.08rem
;
border-radius
:
50%
;
}
h3
{
h3
{
width
:
calc
(
100%
-
.2rem
);
width
:
calc
(
100%
-
.2rem
);
font-size
:
.16rem
;
font-size
:
.16rem
;
...
...
src/views/system/index/components/mainPageEcharts/mapChina.vue
View file @
e45f4704
...
@@ -402,7 +402,7 @@ export default {
...
@@ -402,7 +402,7 @@ export default {
if
(
geoCoord
)
{
if
(
geoCoord
)
{
res
.
push
({
res
.
push
({
name
:
this
.
message
[
i
].
province
,
name
:
this
.
message
[
i
].
province
,
value
:
geoCoord
.
concat
(
this
.
message
[
i
][
type
])
value
:
geoCoord
.
concat
(
this
.
message
[
i
][
type
]
||
0
)
})
})
}
}
}
}
...
...
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