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
553fab91
Commit
553fab91
authored
Aug 21, 2023
by
danfuman
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev20230707' of
http://192.168.60.201/root/dsk-operate-sys
into dev20230707
parents
241af2d5
7f25d410
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
271 additions
and
242 deletions
+271
-242
IndexController.java
...main/java/com/dsk/web/controller/dsk/IndexController.java
+12
-0
IndexBigBidPageBody.java
...com/dsk/common/core/domain/model/IndexBigBidPageBody.java
+2
-2
IndexBigWinningBidsPageBody.java
...common/core/domain/model/IndexBigWinningBidsPageBody.java
+2
-2
index.vue
dsk-operate-ui/src/layout/index.vue
+3
-0
infoheader.vue
...rc/views/detail/party-a/overview/component/infoheader.vue
+6
-3
index.vue
...te-ui/src/views/enterpriseData/components/Group/index.vue
+223
-232
lxr.vue
...perate-ui/src/views/project/projectList/component/lxr.vue
+2
-2
CustomerFollowRecordListVo.java
...system/domain/customer/vo/CustomerFollowRecordListVo.java
+8
-0
IndexService.java
...src/main/java/com/dsk/system/dskService/IndexService.java
+12
-0
CustomerFollowRecordMapper.xml
...ces/mapper/system/customer/CustomerFollowRecordMapper.xml
+1
-1
No files found.
dsk-admin/src/main/java/com/dsk/web/controller/dsk/IndexController.java
View file @
553fab91
package
com
.
dsk
.
web
.
controller
.
dsk
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.core.domain.model.*
;
import
com.dsk.common.core.page.TableDataInfo
;
...
...
@@ -61,5 +63,15 @@ public class IndexController {
return
enterpriseService
.
bigBidProjectType
(
paramMap
);
}
@ApiOperation
(
value
=
"集团中标统计"
)
@PostMapping
(
"/countByCompany"
)
public
AjaxResult
countByCompany
(
@RequestBody
JSONObject
object
)
{
return
enterpriseService
.
countByCompany
(
object
);
}
@ApiOperation
(
value
=
"建筑企业中标排行榜"
)
@PostMapping
(
"/bidRank"
)
public
AjaxResult
bidRank
(
@RequestBody
JSONObject
object
)
{
return
enterpriseService
.
bidRank
(
object
);
}
}
dsk-common/src/main/java/com/dsk/common/core/domain/model/IndexBigBidPageBody.java
View file @
553fab91
...
...
@@ -18,11 +18,11 @@ public class IndexBigBidPageBody extends BasePage
/**
* 开始时间
*/
private
Date
timeStart
=
DateUtils
.
addDays
(
new
Date
(),
-
7
);
private
String
timeStart
=
DateUtils
.
dateTime
(
DateUtils
.
addDays
(
new
Date
(),
-
6
)
);
/**
* 截止时间
*/
private
Date
timeEnd
=
new
Date
();
private
String
timeEnd
=
DateUtils
.
get
Date
();
/**
* 金额起 默认2亿
*/
...
...
dsk-common/src/main/java/com/dsk/common/core/domain/model/IndexBigWinningBidsPageBody.java
View file @
553fab91
...
...
@@ -17,11 +17,11 @@ public class IndexBigWinningBidsPageBody extends BasePage {
/**
* 开始时间
*/
private
Date
timeStart
=
DateUtils
.
addDays
(
new
Date
(),
-
7
);
private
String
timeStart
=
DateUtils
.
dateTime
(
DateUtils
.
addDays
(
new
Date
(),
-
6
)
);
/**
* 截止时间
*/
private
Date
timeEnd
=
new
Date
();
private
String
timeEnd
=
DateUtils
.
get
Date
();
/**
* 金额起 默认2亿
*/
...
...
dsk-operate-ui/src/layout/index.vue
View file @
553fab91
...
...
@@ -128,4 +128,7 @@ export default {
.mobile
.fixed-header
{
width
:
100%
;
}
.EnterpriseData
{
min-width
:
1648px
;
}
</
style
>
dsk-operate-ui/src/views/detail/party-a/overview/component/infoheader.vue
View file @
553fab91
...
...
@@ -101,9 +101,12 @@
<div
class=
"flex-box"
@
click=
"linkTo(statistic.combineMember)"
>
<img
src=
"@/assets/images/detail/overview/company_ssjt.png"
alt=
"所属集团"
title=
"所属集团"
class=
"swiper-img"
>
<div
class=
"swiper-item"
>
<span
class=
"swiper-name"
>
所属集团-{{statistic.combineMember.companyName}}
</span>
<el-popover
v-if=
"statistic.combineMember.companyName.length>9"
trigger=
"hover"
:content=
"'所属集团-'+statistic.combineMember.companyName"
>
<span
class=
"swiper-name"
slot=
"reference"
>
所属集团-{{ statistic.combineMember.companyName }}
</span>
</el-popover>
<span
v-else
class=
"swiper-name"
>
所属集团-{{statistic.combineMember.companyName}}
</span>
<div
>
<span
>
集团成员:
</span><i
class=
"num"
>
{{statistic.combineMember.memberNum}}
</i>
</div>
...
...
dsk-operate-ui/src/views/enterpriseData/components/Group/index.vue
View file @
553fab91
...
...
@@ -13,8 +13,8 @@
<p
class=
"p1"
>
建议调整关键词或筛选条件,重新搜索
</p>
</div>
<div
v-else
class=
"infinite-list-item"
v-for=
"(item,index) in searchList"
@
click=
"selCompany(item)"
:key=
"index"
>
<
!--
<img
:src=
"item.logo"
alt=
""
>
--
>
<div
class=
"logo"
:style=
"
{background:colors[index%5]}">
{{
item
.
combineMemberName
.
slice
(
0
,
4
)
}}
</div>
<
img
v-if=
"item.logoUrl"
:src=
"item.logoUrl"
alt=
""
>
<div
class=
"logo"
v-else
:style=
"
{background:colors[index%5]}">
{{
item
.
combineMemberName
.
slice
(
0
,
4
)
}}
</div>
<div>
<span
style=
"font-size: 14px;color: #0384FA;"
v-html=
"item.combineName"
></span>
<div
style=
"height:22px;line-height: 22px;"
><span
class=
"infinite-label"
>
集团成员:
</span>
{{
item
.
combineMemberNum
}}
</div>
...
...
@@ -26,115 +26,115 @@
</div>
</div>
</div>
<skeleton
style=
"margin-left:16px;"
v-if=
"isSkeleton"
></skeleton>
<div
v-else
style=
"position: relative;"
>
<div
class=
"wrap"
>
<template
v-if=
"activeIndex==0"
>
<div
class=
"count"
>
共
{{
total
}}
条
</div>
<div
>
<div
class=
"infinite-list-item"
v-for=
"(item,index) in companData"
@
click=
"selCompany(item)"
:key=
"index"
>
<!--
<img
:src=
"item.logo"
alt=
""
>
-->
<div
class=
"logo"
:style=
"
{background:colors[index%5]}">
{{
item
.
combineMemberName
.
slice
(
0
,
4
)
}}
</div>
<div
style=
"float: left;"
>
<span
class=
"name"
v-html=
"item.combineName"
></span>
<div
style=
"height:28px;line-height: 28px;"
><span
class=
"infinite-label"
>
集团成员:
</span>
{{
item
.
combineMemberNum
}}
</div>
<div
class=
"name1"
><span
class=
"infinite-label"
>
集团本身:
</span>
{{
item
.
combineMemberName
}}
</div>
</div>
</div>
</div>
</
template
>
<!-- 央企子集团 -->
<
template
v-if=
"activeIndex==1"
>
<div
class=
"count"
>
共
{{
childListTotal
}}
条
</div>
<div
class=
"child-wrap"
:id=
"item.type"
v-for=
"(item,index) in childList"
:key=
"index"
>
<div
class=
"anchor"
></div>
<div
class=
"count1"
>
{{
item
.
type
}}
<span>
{{
item
.
total
}}
</span></div>
<div
:key=
"index"
>
<div
class=
"infinite-list-item"
v-for=
"(item1,index1) in item.list"
@
click=
"selCompany(item1)"
:key=
"index1+'i'"
>
<!--
<img
:src=
"item1.logo"
alt=
""
>
-->
<div
class=
"logo"
:style=
"
{background:colors[index1%5]}">
{{
item1
.
combineMemberName
.
slice
(
0
,
4
)
}}
</div>
<div
style=
"float: left;"
>
<span
class=
"name"
v-html=
"item1.combineName"
></span>
<div
style=
"height:28px;line-height: 28px;"
><span
class=
"infinite-label"
>
集团成员:
</span>
{{
item1
.
combineMemberNum
}}
</div>
<div
class=
"name1"
><span
class=
"infinite-label"
>
集团本身:
</span>
{{
item1
.
combineMemberName
}}
</div>
</div>
</div>
</div>
<el-divider
v-if=
"item.total>item.page*12"
@
click=
"moreClick1(item.type,index)"
>
更多
<span></span></el-divider>
</div>
</
template
>
<!-- 地方国企 -->
<
template
v-if=
"activeIndex==2"
>
<div
class=
"province_wrap"
>
<template
v-for=
"(item,index) in provinces"
>
<span
class=
"province_item"
@
click=
"provinceClick(index)"
:class=
"provinceIndex==index?'active':''"
v-if=
"item.id!=710000&&item.id!=810000&&item.id!=820000&&item.id!=900000"
:key=
"index"
>
{{
item
.
nameSimple
}}
</span>
</
template
>
</div>
<div
class=
"count"
>
共{{ localList1Total }}条
</div>
<!-- 省管国企 -->
<div
class=
"child-wrap"
id=
"管国企"
>
<div
class=
"anchor"
></div>
<div
class=
"count1"
>
{{provinceId=='110000'||provinceId=='120000'||provinceId=='500000'||provinceId=='310000'?'市':'省'}}管国企
<span>
{{ localList.total }}
</span></div>
<
template
v-for=
"(item,index) in localList.local"
>
<div
class=
"infinite-list-item"
v-if=
"index
<localListPage
*
12
"
:key=
"index"
@
click=
"selCompany(item)"
>
<!--
<img
:src=
"item.logo"
alt=
""
>
-->
<div
class=
"logo"
:style=
"
{background:colors[index%5]}">
{{
item
.
combineMemberName
.
slice
(
0
,
4
)
}}
</div>
<skeleton
style=
"margin-left:16px;"
v-if=
"isSkeleton"
></skeleton>
<div
v-else
id=
"anchorRef_wrap"
>
<div
class=
"contetn_wrap"
>
<div
class=
"wrap"
id=
"anchorRef"
@
scroll=
"handleScroll"
>
<template
v-if=
"activeIndex==0"
>
<span
class=
"count"
>
共
{{
total
}}
条
</span><el-popover
style=
"margin-left:8px;position: relative;top: 2px;color:#515a6e;"
trigger=
"hover"
content=
"央企集团数据包含国资委及财政部公示的央企名录。"
placement=
"right"
><i
slot=
"reference"
class=
"el-icon-warning-outline"
></i></el-popover>
<div
>
<div
class=
"infinite-list-item"
v-for=
"(item,index) in companData"
@
click=
"selCompany(item)"
:key=
"index"
>
<img
v-if=
"item.logoUrl"
:src=
"item.logoUrl"
alt=
""
>
<div
v-else
class=
"logo"
:style=
"
{background:colors[index%5]}">
{{
item
.
combineMemberName
.
slice
(
0
,
4
)
}}
</div>
<div
style=
"float: left;"
>
<span
class=
"name"
v-html=
"item.combineName"
></span>
<div
style=
"height:28px;line-height: 28px;"
><span
class=
"infinite-label"
>
集团成员:
</span>
{{
item
.
combineMemberNum
}}
</div>
<div
class=
"name1"
><span
class=
"infinite-label"
>
集团本身:
</span>
{{
item
.
combineMemberName
}}
</div>
</div>
</div>
</
template
>
<el-divider
v-if=
"localList.total>localListPage*12"
@
click=
"localListPage++"
>
更多
<span></span></el-divider>
</div>
<!-- 市区国企 -->
<div
class=
"child-wrap"
:id=
"item.address"
v-for=
"(item,index) in localList1"
:key=
"index"
>
<div
class=
"anchor"
></div>
<div
class=
"count1"
>
{{item.address}}
<span>
{{ item.total }}
</span></div>
<div
:key=
"index"
>
<div
class=
"infinite-list-item"
v-for=
"(item1,index1) in item.result"
@
click=
"selCompany(item1)"
:key=
"index1+'i'"
>
<!-- <img :src="item1.logo" alt="" > -->
<div
class=
"logo"
:style=
"{background:colors[index1%5]}"
>
{{ item1.combineMemberName.slice(0,4) }}
</div>
<div
style=
"float: left;"
>
<span
class=
"name"
v-html=
"item1.combineName"
></span>
<div
style=
"height:28px;line-height: 28px;"
><span
class=
"infinite-label"
>
集团成员:
</span>
{{ item1.combineMemberNum }}
</div>
<div
class=
"name1"
><span
class=
"infinite-label"
>
集团本身:
</span>
{{ item1.combineMemberName }}
</div>
</div>
</
template
>
<!-- 央企子集团 -->
<
template
v-if=
"activeIndex==1"
>
<div
class=
"count"
>
共
{{
childListTotal
}}
条
</div>
<div
class=
"child-wrap"
:id=
"'anchor-'+index"
v-for=
"(item,index) in childList"
:key=
"index"
>
<div
class=
"anchor"
></div>
<div
class=
"count1"
>
{{
item
.
type
}}
<span>
{{
item
.
total
}}
</span></div>
<div
:key=
"index"
>
<div
class=
"infinite-list-item"
v-for=
"(item1,index1) in item.list"
@
click=
"selCompany(item1)"
:key=
"index1+'i'"
>
<img
v-if=
"item.logoUrl"
:src=
"item.logoUrl"
alt=
""
>
<div
v-else
class=
"logo"
:style=
"
{background:colors[index1%5]}">
{{
item1
.
combineMemberName
.
slice
(
0
,
4
)
}}
</div>
<div
style=
"float: left;"
>
<span
class=
"name"
v-html=
"item1.combineName"
></span>
<div
style=
"height:28px;line-height: 28px;"
><span
class=
"infinite-label"
>
集团成员:
</span>
{{
item1
.
combineMemberNum
}}
</div>
<div
class=
"name1"
><span
class=
"infinite-label"
>
集团本身:
</span>
{{
item1
.
combineMemberName
}}
</div>
</div>
</div>
</div>
<el-divider
v-if=
"item.total>item.page*12"
@
click=
"moreClick1(item.type,index)"
>
更多
<span></span></el-divider>
</div>
</
template
>
<!-- 地方国企 -->
<
template
v-if=
"activeIndex==2"
>
<div
class=
"province_wrap"
>
<template
v-for=
"(item,index) in provinces"
>
<span
class=
"province_item"
@
click=
"provinceClick(index)"
:class=
"provinceIndex==index?'active':''"
v-if=
"item.id!=710000&&item.id!=810000&&item.id!=820000&&item.id!=900000"
:key=
"index"
>
{{
item
.
nameSimple
}}
</span>
</
template
>
</div>
<div
class=
"count"
>
共{{ localList1Total }}条
</div>
<!-- 省管国企 -->
<div
class=
"child-wrap"
id=
"anchor-0"
>
<div
class=
"anchor"
></div>
<div
class=
"count1"
>
{{provinceId=='110000'||provinceId=='120000'||provinceId=='500000'||provinceId=='310000'?'市':'省'}}管国企
<span>
{{ localList.total }}
</span></div>
<
template
v-for=
"(item,index) in localList.local"
>
<div
class=
"infinite-list-item"
v-if=
"index
<localListPage
*
12
"
:key=
"index"
@
click=
"selCompany(item)"
>
<img
v-if=
"item.logoUrl"
:src=
"item.logoUrl"
alt=
""
>
<div
v-else
class=
"logo"
:style=
"
{background:colors[index%5]}">
{{
item
.
combineMemberName
.
slice
(
0
,
4
)
}}
</div>
<div
style=
"float: left;"
>
<span
class=
"name"
v-html=
"item.combineName"
></span>
<div
style=
"height:28px;line-height: 28px;"
><span
class=
"infinite-label"
>
集团成员:
</span>
{{
item
.
combineMemberNum
}}
</div>
<div
class=
"name1"
><span
class=
"infinite-label"
>
集团本身:
</span>
{{
item
.
combineMemberName
}}
</div>
</div>
</div>
</
template
>
<el-divider
v-if=
"localList.total>localListPage*12"
@
click=
"localListPage++"
>
更多
<span></span></el-divider>
</div>
<!-- 市区国企 -->
<div
class=
"child-wrap"
:id=
"'anchor-'+(index+1)"
v-for=
"(item,index) in localList1"
:key=
"index"
>
<div
class=
"anchor"
></div>
<div
class=
"count1"
>
{{item.address}}
<span>
{{ item.total }}
</span></div>
<div
:key=
"index"
>
<div
class=
"infinite-list-item"
v-for=
"(item1,index1) in item.result"
@
click=
"selCompany(item1)"
:key=
"index1+'i'"
>
<img
v-if=
"item.logoUrl"
:src=
"item.logoUrl"
alt=
""
>
<div
v-else
class=
"logo"
:style=
"{background:colors[index1%5]}"
>
{{ item1.combineMemberName.slice(0,4) }}
</div>
<div
style=
"float: left;"
>
<span
class=
"name"
v-html=
"item1.combineName"
></span>
<div
style=
"height:28px;line-height: 28px;"
><span
class=
"infinite-label"
>
集团成员:
</span>
{{ item1.combineMemberNum }}
</div>
<div
class=
"name1"
><span
class=
"infinite-label"
>
集团本身:
</span>
{{ item1.combineMemberName }}
</div>
</div>
</div>
</div>
<el-divider
v-if=
"item.total>item.page*12"
@
click=
"moreClick2(item.addressId,index)"
>
更多
<span></span></el-divider>
</div>
<el-divider
v-if=
"item.total>item.page*12"
@
click=
"moreClick2(item.addressId,index)"
>
更多
<span></span></el-divider>
</div>
</template>
<!-- 民营集团 -->
<
template
v-if=
"activeIndex==3"
>
<div
class=
"count"
>
共
{{
childListTotal
}}
条
</div>
<div
class=
"child-wrap"
:id=
"item.type"
v-for=
"(item,index) in childList"
:key=
"index"
>
<div
class=
"anchor"
></div>
<div
class=
"count1"
>
{{
item
.
type
}}
<span>
{{
item
.
total
}}
</span></div>
<div
:key=
"index"
>
<div
class=
"infinite-list-item"
v-for=
"(item1,index1) in item.list"
@
click=
"selCompany(item1)"
:key=
"index1+'i'"
>
<!--
<img
:src=
"item1.logo"
alt=
""
>
-->
<div
class=
"logo"
:style=
"
{background:colors[index1%5]}">
{{
item1
.
combineMemberName
.
slice
(
0
,
4
)
}}
</div>
<div
style=
"float: left;"
>
<span
class=
"name"
v-html=
"item1.combineName"
></span>
<div
style=
"height:28px;line-height: 28px;"
><span
class=
"infinite-label"
>
集团成员:
</span>
{{
item1
.
combineMemberNum
}}
</div>
<div
class=
"name1"
><span
class=
"infinite-label"
>
集团本身:
</span>
{{
item1
.
combineMemberName
}}
</div>
</template>
<!-- 民营集团 -->
<
template
v-if=
"activeIndex==3"
>
<div
class=
"count"
>
共
{{
childListTotal
}}
条
</div>
<div
class=
"child-wrap"
:id=
"'anchor-'+index"
v-for=
"(item,index) in childList"
:key=
"index"
>
<div
class=
"anchor"
></div>
<div
class=
"count1"
>
{{
item
.
type
}}
<span>
{{
item
.
total
}}
</span></div>
<div
:key=
"index"
>
<div
class=
"infinite-list-item"
v-for=
"(item1,index1) in item.list"
@
click=
"selCompany(item1)"
:key=
"index1+'i'"
>
<img
v-if=
"item.logoUrl"
:src=
"item.logoUrl"
alt=
""
>
<div
v-else
class=
"logo"
:style=
"
{background:colors[index1%5]}">
{{
item1
.
combineMemberName
.
slice
(
0
,
4
)
}}
</div>
<div
style=
"float: left;"
>
<span
class=
"name"
v-html=
"item1.combineName"
></span>
<div
style=
"height:28px;line-height: 28px;"
><span
class=
"infinite-label"
>
集团成员:
</span>
{{
item1
.
combineMemberNum
}}
</div>
<div
class=
"name1"
><span
class=
"infinite-label"
>
集团本身:
</span>
{{
item1
.
combineMemberName
}}
</div>
</div>
</div>
</div>
<el-divider
v-if=
"item.total>item.page*12"
@
click=
"moreClick3(item.type,index)"
>
更多
<span></span></el-divider>
</div>
</
template
>
</div>
<div
v-if=
"activeIndex!=0"
class=
"anchor_box"
>
<div
class=
"anchor_wrap"
>
<div
class=
"anchor_item"
v-for=
"(item,i) in childList"
:class=
"anchorIndex==i?'active_anchor_item':''"
:key=
"i"
@
click=
"anchorClick(i)"
>
{{item.type||(item.address=='管国企'?provinceId=='110000'||provinceId=='120000'||provinceId=='500000'||provinceId=='310000'?'市管国企':'省管国企':item.address)}}
</div>
<el-divider
v-if=
"item.total>item.page*12"
@
click=
"moreClick3(item.type,index)"
>
更多
<span></span></el-divider>
</div>
</
template
>
</div>
<div
v-if=
"activeIndex!=0"
class=
"anchor_box"
:class=
"activeIndex==2?'anchor_box1':''"
>
<div
class=
"anchor_wrap"
>
<div
class=
"anchor_item"
v-for=
"(item,i) in childList"
:class=
"anchorIndex==i?'active_anchor_item':''"
:key=
"i"
@
click=
"anchorClick(i)"
>
{{item.type||(item.address=='管国企'?provinceId=='110000'||provinceId=='120000'||provinceId=='500000'||provinceId=='310000'?'市管国企':'省管国企':item.address)}}
</div>
</div>
</div>
...
...
@@ -176,11 +176,6 @@ export default {
provinceId
:
110000
,
}
},
beforeDestroy
()
{
if
(
process
.
browser
)
{
document
.
removeEventListener
(
"scroll"
,
this
.
handleScroll
);
}
},
created
(){
api
.
region
(
100000
).
then
(
res
=>
{
if
(
res
.
code
==
200
){
...
...
@@ -242,7 +237,6 @@ export default {
this
.
activeIndex
=
index
;
this
.
isSkeleton
=
true
;
if
(
index
==
1
){
this
.
listenerFunction
();
api
.
centralEnterprseChild
().
then
(
res
=>
{
if
(
res
.
code
==
200
){
this
.
isSkeleton
=
false
;
...
...
@@ -256,9 +250,6 @@ export default {
}
})
}
else
if
(
index
==
2
){
if
(
process
.
browser
)
{
document
.
removeEventListener
(
"scroll"
,
this
.
handleScroll
);
}
let
data
=
{
provinceId
:
this
.
provinceId
}
...
...
@@ -278,8 +269,6 @@ export default {
}
})
}
else
if
(
index
==
3
){
this
.
listenerFunction
();
api
.
centralEnterprsesocial
().
then
(
res
=>
{
if
(
res
.
code
==
200
){
this
.
isSkeleton
=
false
;
...
...
@@ -297,40 +286,31 @@ export default {
}
},
listenerFunction
(
e
)
{
if
(
process
.
browser
)
{
document
.
addEventListener
(
'scroll'
,
this
.
handleScroll
,
true
);
}
},
handleScroll
()
{
for
(
var
i
in
this
.
childList
){
if
(
this
.
childList
[
i
].
type
&&
window
.
scrollY
>
document
.
getElementById
(
this
.
childList
[
i
].
type
).
offsetTop
+
144
||
window
.
scrollY
>
document
.
getElementById
(
this
.
childList
[
i
].
address
).
offsetTop
+
244
){
this
.
anchorIndex
=
i
}
}
},
anchorTopFn
(
i
)
{
var
top
=
0
for
(
var
j
=
0
;
j
<
i
;
j
++
)
{
if
(
document
.
getElementById
(
this
.
childList
[
j
].
type
))
{
top
=
document
.
getElementById
(
this
.
childList
[
j
].
type
).
offsetHeight
}
if
(
document
.
getElementById
(
this
.
childList
[
j
].
address
))
{
top
=
document
.
getElementById
(
this
.
childList
[
j
].
address
).
offsetHeight
}
}
return
top
},
// 滚动监听器
handleScroll
(
i
)
{
// 获取所有锚点元素
const
navContents
=
document
.
querySelectorAll
(
'.child-wrap'
)
// 所有锚点元素的 offsetTop
const
offsetTopArr
=
[]
navContents
.
forEach
((
item
)
=>
{
offsetTopArr
.
push
(
item
.
offsetTop
)
})
// 获取当前文档流的 scrollTop
const
scrollTop
=
document
.
getElementById
(
'anchorRef'
).
scrollTop
offsetTopArr
.
forEach
((
item
,
index
)
=>
{
if
(
scrollTop
>=
item
)
{
this
.
anchorIndex
=
index
}
})
},
anchorClick
(
i
)
{
this
.
anchorIndex
=
i
var
a
=
document
.
getElementById
(
this
.
childList
[
i
].
type
)
||
document
.
getElementById
(
this
.
childList
[
i
].
address
)
if
(
a
)
{
a
.
scrollIntoView
()
document
.
body
.
scrollTop
+=
-
56
document
.
documentElement
.
scrollTop
+=
-
56
}
var
a
=
document
.
getElementById
(
'anchor-'
+
i
)
a
.
scrollIntoView
()
document
.
body
.
scrollTop
+=
-
56
document
.
documentElement
.
scrollTop
+=
-
56
setTimeout
(()
=>
{
this
.
anchorIndex
=
i
},
1
);
},
getCompany
(){
api
.
centralEnterprse
().
then
(
res
=>
{
...
...
@@ -392,6 +372,8 @@ export default {
border-radius
:
4px
4px
4px
4px
;
background
:
#FFFFFF
;
font-size
:
14px
;
min-width
:
1580px
;
.content_item
{
.content_right
{
.ename_input
{
...
...
@@ -496,103 +478,110 @@ export default {
}
}
}
.wrap
{
margin-top
:
12px
;
// max-height: 708px;
// height: calc(100% - 200px);
overflow
:
auto
;
#anchorRef_wrap
{
background
:
#FFFFFF
;
border-radius
:
4px
4px
4px
4px
;
padding
:
16px
;
.anchor
{
height
:
24px
;
}
.count1
{
font-size
:
16px
;
color
:
#232323
;
span
{
color
:
rgba
(
35
,
35
,
35
,
0
.40
);
}
}
.count
{
font-size
:
12px
;
color
:
#3D3D3D
;
}
.infinite-list-item
{
margin-right
:
16px
;
margin-top
:
16px
;
width
:
383px
;
height
:
90px
;
}
.contetn_wrap
{
position
:
relative
;
min-width
:
1668px
;
.wrap
{
margin-top
:
12px
;
min-width
:
1628px
;
overflow
:
auto
;
background
:
#FFFFFF
;
border-radius
:
0px
0px
0px
0px
;
border
:
1px
solid
#EFEFEF
;
font-size
:
12px
;
padding
:
12px
;
cursor
:
pointer
;
color
:
#333333
;
display
:
inline-block
;
img
,
.logo
{
color
:
#FFFFFF
;
width
:
64px
;
border-radius
:
4px
;
height
:
64px
;
box-sizing
:
border-box
;
padding
:
10px
12px
;
margin-right
:
8px
;
font-size
:
16px
;
text-align
:
center
;
float
:
left
;
border-radius
:
4px
4px
4px
4px
;
padding
:
16px
;
max-height
:
700px
;
.anchor
{
height
:
24px
;
}
.name
{
width
:
283px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
color
:
#232323
;
.count1
{
font-size
:
16px
;
height
:
16px
;
line-height
:
16px
;
display
:
inline-block
;
}
.name1
{
width
:
283px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
}
.infinite-label
{
color
:
#999999
;
margin-right
:
0
;
margin-top
:
4px
;
color
:
#232323
;
span
{
color
:
rgba
(
35
,
35
,
35
,
0
.40
);
}
}
&
:hover
{
background
:
#F5FAFF
;
.count
{
font-size
:
12px
;
color
:
#3D3D3D
;
}
}
.province_wrap
{
.province_item
{
width
:
52px
;
height
:
28px
;
line-height
:
28px
;
display
:
inline-block
;
background
:
#F6F7FC
;
border-radius
:
2px
;
font-size
:
14px
;
cursor
:
pointer
;
.infinite-list-item
{
margin-right
:
16px
;
text-align
:
center
;
margin-bottom
:
16px
;
}
.active
{
background
:
#0081FF
;
color
:
#FFFFFF
;
margin-top
:
16px
;
width
:
383px
;
height
:
90px
;
background
:
#FFFFFF
;
border-radius
:
0px
0px
0px
0px
;
border
:
1px
solid
#EFEFEF
;
font-size
:
12px
;
padding
:
12px
;
cursor
:
pointer
;
color
:
#333333
;
display
:
inline-block
;
img
,
.logo
{
color
:
#FFFFFF
;
width
:
64px
;
border-radius
:
4px
;
height
:
64px
;
box-sizing
:
border-box
;
padding
:
10px
12px
;
margin-right
:
8px
;
font-size
:
16px
;
text-align
:
center
;
float
:
left
;
}
.name
{
width
:
283px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
color
:
#232323
;
font-size
:
16px
;
height
:
16px
;
line-height
:
16px
;
display
:
inline-block
;
}
.name1
{
width
:
283px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
}
.infinite-label
{
color
:
#999999
;
margin-right
:
0
;
margin-top
:
4px
;
}
&
:hover
{
background
:
#F5FAFF
;
}
}
.province_wrap
{
.province_item
{
width
:
52px
;
height
:
28px
;
line-height
:
28px
;
display
:
inline-block
;
background
:
#F6F7FC
;
border-radius
:
2px
;
font-size
:
14px
;
cursor
:
pointer
;
margin-right
:
16px
;
text-align
:
center
;
margin-bottom
:
16px
;
}
.active
{
background
:
#0081FF
;
color
:
#FFFFFF
;
}
}
}
}
.anchor_box
{
position
:
fixed
;
top
:
29
8px
;
right
:
38
px
;
position
:
absolute
;
top
:
4
8px
;
right
:
10
px
;
.anchor_wrap
{
color
:
#999999
;
font-size
:
14px
;
...
...
@@ -602,6 +591,10 @@ export default {
font-size
:
12px
;
padding-left
:
8px
;
line-height
:
20px
;
width
:
58px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
cursor
:
pointer
;
position
:
relative
;
box-sizing
:
border-box
;
...
...
@@ -617,9 +610,7 @@ export default {
}
}
}
.anchor_box1
{
top
:
386px
;
}
}
::v-deep
.el-divider
{
width
:
calc
(
100%
-
107px
);
margin-top
:
12px
;
...
...
dsk-operate-ui/src/views/project/projectList/component/lxr.vue
View file @
553fab91
...
...
@@ -9,7 +9,7 @@
<div
class=
"empty"
v-if=
"total==0"
>
<img
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
暂无数据展示
</div>
<div
class=
"p2"
>
抱歉,你还未添加相关数据,快去添加吧
</div>
<div
class=
"p2"
v-if=
"isDisabled==false"
>
抱歉,你还未添加相关数据,快去添加吧
</div>
<div
class=
"btn btn_primary h36 w102"
@
click=
"opennew"
v-if=
"isDisableds == false"
>
新增联系人
</div>
</div>
<el-table
class=
"fixed-table"
v-else
max-height=
"640"
...
...
@@ -36,7 +36,7 @@
label=
"姓名"
width=
"113"
>
<
template
slot-scope=
"scope"
>
<div
class=
"wordprimary
"
><span
@
click=
"getDetail(scope.row)"
>
{{
scope
.
row
.
name
||
'--'
}}
</span><img
v-if=
"isDisabled == false"
@
click=
"deltip(scope.row.id)"
src=
"@/assets/images/delete.png"
></div>
<div
:class=
"isDisabled==false?'wordprimary':''
"
><span
@
click=
"getDetail(scope.row)"
>
{{
scope
.
row
.
name
||
'--'
}}
</span><img
v-if=
"isDisabled == false"
@
click=
"deltip(scope.row.id)"
src=
"@/assets/images/delete.png"
></div>
</
template
>
</el-table-column>
<!--<el-table-column-->
...
...
dsk-system/src/main/java/com/dsk/system/domain/customer/vo/CustomerFollowRecordListVo.java
View file @
553fab91
...
...
@@ -24,6 +24,14 @@ public class CustomerFollowRecordListVo implements Serializable {
* 客户id
*/
private
String
customerId
;
/**
* 企业id
*/
private
Integer
companyId
;
/**
* 城投id
*/
private
String
uipId
;
/**
* 客户名称
*/
...
...
dsk-system/src/main/java/com/dsk/system/dskService/IndexService.java
View file @
553fab91
package
com
.
dsk
.
system
.
dskService
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.core.domain.model.*
;
import
com.dsk.common.core.page.TableDataInfo
;
...
...
@@ -51,4 +53,14 @@ public class IndexService {
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/operate/enterpriseProject/bigBidProjectType"
,
paramMap
);
return
BeanUtil
.
toBean
(
map
,
R
.
class
);
}
public
AjaxResult
countByCompany
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/centralEnterprse/countByCompany"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
bidRank
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/bidRank"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
}
dsk-system/src/main/resources/mapper/system/customer/CustomerFollowRecordMapper.xml
View file @
553fab91
...
...
@@ -9,7 +9,7 @@
<select
id=
"selectAuthList"
resultType=
"com.dsk.system.domain.customer.vo.CustomerFollowRecordListVo"
>
select
ct.company_name, u.nick_name,
ct.company_
id, ct.uip_id, ct.company_
name, u.nick_name,
<include
refid=
"Base_Bean"
></include>
from customer_follow_record cfr
join customer ct on ct.customer_id = cfr.customer_id
...
...
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