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
9d931208
Commit
9d931208
authored
Jun 06, 2023
by
远方不远
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://192.168.60.201/root/dsk-operate-sys
parents
a6889c07
a112ab76
Changes
25
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
1111 additions
and
238 deletions
+1111
-238
CustomerController.java
...a/com/dsk/web/controller/customer/CustomerController.java
+17
-2
RegionalEconomicDataController.java
...er/search/macroMarket/RegionalEconomicDataController.java
+7
-4
OpRegionalEconomicDataRegionalListDto.java
...sk/common/dtos/OpRegionalEconomicDataRegionalListDto.java
+32
-0
OpRegionalEconomicDataStatisticsRegionalDto.java
...mon/dtos/OpRegionalEconomicDataStatisticsRegionalDto.java
+42
-0
OpRegionalEconomicDataV1PageDto.java
.../com/dsk/common/dtos/OpRegionalEconomicDataV1PageDto.java
+2
-0
UrbanInvestmentPlatformDto.java
.../java/com/dsk/common/dtos/UrbanInvestmentPlatformDto.java
+11
-9
project.js
dsk-operate-ui/src/api/project/project.js
+55
-2
sjx.png
dsk-operate-ui/src/assets/images/index/sjx.png
+0
-0
sjx1.png
dsk-operate-ui/src/assets/images/index/sjx1.png
+0
-0
sjx2.png
dsk-operate-ui/src/assets/images/index/sjx2.png
+0
-0
img.png
dsk-operate-ui/src/assets/images/login/img.png
+0
-0
login_bg.png
dsk-operate-ui/src/assets/images/login_bg.png
+0
-0
logo1.png
dsk-operate-ui/src/assets/images/logo1.png
+0
-0
index.scss
dsk-operate-ui/src/assets/styles/index.scss
+1
-1
project.scss
dsk-operate-ui/src/assets/styles/project.scss
+3
-1
index.vue
dsk-operate-ui/src/views/index.vue
+635
-87
login.vue
dsk-operate-ui/src/views/login.vue
+83
-55
gjjl.vue
...erate-ui/src/views/project/projectList/component/gjjl.vue
+77
-8
gzdb.vue
...erate-ui/src/views/project/projectList/component/gzdb.vue
+83
-28
jsnr.vue
...erate-ui/src/views/project/projectList/component/jsnr.vue
+2
-2
xmsl.vue
...erate-ui/src/views/project/projectList/component/xmsl.vue
+8
-6
detail.vue
dsk-operate-ui/src/views/project/projectList/detail.vue
+37
-22
EconomicService.java
...src/main/java/com/dsk/system/service/EconomicService.java
+4
-2
CustomerServiceImpl.java
...java/com/dsk/system/service/impl/CustomerServiceImpl.java
+8
-7
EconomicServiceImpl.java
...java/com/dsk/system/service/impl/EconomicServiceImpl.java
+4
-2
No files found.
dsk-admin/src/main/java/com/dsk/web/controller/customer/CustomerController.java
View file @
9d931208
...
@@ -16,7 +16,6 @@ import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto;
...
@@ -16,7 +16,6 @@ import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto;
import
com.dsk.system.domain.customer.dto.CustomerSearchDto
;
import
com.dsk.system.domain.customer.dto.CustomerSearchDto
;
import
com.dsk.system.service.ICustomerService
;
import
com.dsk.system.service.ICustomerService
;
import
com.dsk.web.controller.search.service.BusinessOpportunityRadarService
;
import
com.dsk.web.controller.search.service.BusinessOpportunityRadarService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.ObjectUtils
;
...
@@ -68,6 +67,23 @@ public class CustomerController extends BaseController {
...
@@ -68,6 +67,23 @@ public class CustomerController extends BaseController {
@PostMapping
()
@PostMapping
()
@RepeatSubmit
@RepeatSubmit
public
AjaxResult
add
(
@RequestBody
Customer
customer
)
{
public
AjaxResult
add
(
@RequestBody
Customer
customer
)
{
dealWithcustomerData
(
customer
);
return
AjaxResult
.
success
(
baseService
.
add
(
customer
));
}
/**
* 认领客户
*/
// @PreAuthorize("@ss.hasPermi('customer:claim')")
@PostMapping
(
"/claim"
)
@RepeatSubmit
public
AjaxResult
claim
(
@RequestBody
Customer
customer
)
{
if
(
ObjectUtils
.
isEmpty
(
customer
.
getUipId
()))
throw
new
BeanException
(
"城投uipId不能为空"
);
dealWithcustomerData
(
customer
);
return
AjaxResult
.
success
(
baseService
.
add
(
customer
));
}
private
void
dealWithcustomerData
(
Customer
customer
){
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCompanyName
()))
throw
new
BeanException
(
"企业名称不能为空"
);
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCompanyName
()))
throw
new
BeanException
(
"企业名称不能为空"
);
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCompanyId
()))
{
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCompanyId
()))
{
try
{
try
{
...
@@ -79,7 +95,6 @@ public class CustomerController extends BaseController {
...
@@ -79,7 +95,6 @@ public class CustomerController extends BaseController {
logger
.
debug
(
"获取企业id错误!error:{}"
,
e
.
getMessage
());
logger
.
debug
(
"获取企业id错误!error:{}"
,
e
.
getMessage
());
}
}
}
}
return
AjaxResult
.
success
(
baseService
.
add
(
customer
));
}
}
/**
/**
...
...
dsk-admin/src/main/java/com/dsk/web/controller/search/macroMarket/RegionalEconomicDataController.java
View file @
9d931208
package
com
.
dsk
.
web
.
controller
.
search
.
macroMarket
;
package
com
.
dsk
.
web
.
controller
.
search
.
macroMarket
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.dtos.OpRegionalEconomicDataV1Dto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataRegionalListDto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataStatisticsRegionalDto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataV1PageDto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataV1PageDto
;
import
com.dsk.system.service.EconomicService
;
import
com.dsk.system.service.EconomicService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.Valid
;
/**
/**
* @ClassName RegionalEconomicDataController
* @ClassName RegionalEconomicDataController
...
@@ -30,7 +33,7 @@ public class RegionalEconomicDataController {
...
@@ -30,7 +33,7 @@ public class RegionalEconomicDataController {
*@date: 2023/5/18 10:29
*@date: 2023/5/18 10:29
*/
*/
@PostMapping
(
"/national/nationalPage"
)
@PostMapping
(
"/national/nationalPage"
)
public
AjaxResult
nationalPage
(
@RequestBody
OpRegionalEconomicDataV1PageDto
dto
)
{
public
AjaxResult
nationalPage
(
@RequestBody
@Valid
OpRegionalEconomicDataV1PageDto
dto
)
{
return
economicService
.
nationalPage
(
dto
);
return
economicService
.
nationalPage
(
dto
);
}
}
...
@@ -55,7 +58,7 @@ public class RegionalEconomicDataController {
...
@@ -55,7 +58,7 @@ public class RegionalEconomicDataController {
*@date: 2023/5/18 10:29
*@date: 2023/5/18 10:29
*/
*/
@PostMapping
(
"/statistics/regional"
)
@PostMapping
(
"/statistics/regional"
)
public
AjaxResult
statisticsRegional
(
@RequestBody
OpRegionalEconomicData
V1
Dto
dto
)
{
public
AjaxResult
statisticsRegional
(
@RequestBody
OpRegionalEconomicData
StatisticsRegional
Dto
dto
)
{
return
economicService
.
statisticsRegional
(
dto
);
return
economicService
.
statisticsRegional
(
dto
);
}
}
...
@@ -67,7 +70,7 @@ public class RegionalEconomicDataController {
...
@@ -67,7 +70,7 @@ public class RegionalEconomicDataController {
*@date: 2023/5/18 10:29
*@date: 2023/5/18 10:29
*/
*/
@PostMapping
(
"/regional/list"
)
@PostMapping
(
"/regional/list"
)
public
AjaxResult
regionalList
(
@RequestBody
OpRegionalEconomicData
V1
Dto
dto
)
{
public
AjaxResult
regionalList
(
@RequestBody
OpRegionalEconomicData
RegionalList
Dto
dto
)
{
return
economicService
.
regionalList
(
dto
);
return
economicService
.
regionalList
(
dto
);
}
}
...
...
dsk-common/src/main/java/com/dsk/common/dtos/OpRegionalEconomicDataRegionalListDto.java
0 → 100644
View file @
9d931208
package
com
.
dsk
.
common
.
dtos
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
/**
* @ClassName OpRegionalEconomicDataV1Dto
* @Description 专项债-项目类别统计
* @Author Dgm
* @Date 2023/5/23 14:05
* @Version
*/
@Data
public
class
OpRegionalEconomicDataRegionalListDto
{
/**
* 省Id
*/
@NotNull
(
message
=
"provinceId 不能为空"
)
private
Integer
provinceId
;
/**
* 市Id
*/
private
Integer
cityId
;
/**
* 区Id
*/
private
Integer
areaId
;
}
dsk-common/src/main/java/com/dsk/common/dtos/OpRegionalEconomicDataStatisticsRegionalDto.java
0 → 100644
View file @
9d931208
package
com
.
dsk
.
common
.
dtos
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
/**
* @ClassName OpRegionalEconomicDataV1Dto
* @Description 专项债-项目类别统计
* @Author Dgm
* @Date 2023/5/23 14:05
* @Version
*/
@Data
public
class
OpRegionalEconomicDataStatisticsRegionalDto
{
/**
* id
*/
@NotNull
(
message
=
"id 不能为空"
)
private
Integer
id
;
/**
* 年份
*/
private
Integer
year
;
/**
* 省Id
*/
private
Integer
provinceId
;
/**
* 市Id
*/
private
Integer
cityId
;
/**
* 区Id
*/
private
Integer
areaId
;
}
dsk-common/src/main/java/com/dsk/common/dtos/OpRegionalEconomicDataV1PageDto.java
View file @
9d931208
...
@@ -3,6 +3,7 @@ package com.dsk.common.dtos;
...
@@ -3,6 +3,7 @@ package com.dsk.common.dtos;
import
com.dsk.common.core.domain.model.BasePage
;
import
com.dsk.common.core.domain.model.BasePage
;
import
lombok.Data
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -18,6 +19,7 @@ public class OpRegionalEconomicDataV1PageDto extends BasePage {
...
@@ -18,6 +19,7 @@ public class OpRegionalEconomicDataV1PageDto extends BasePage {
/**
/**
* 年份
* 年份
*/
*/
@NotNull
(
message
=
"year 不能为空"
)
private
Integer
year
;
private
Integer
year
;
/**
/**
* 省
* 省
...
...
dsk-common/src/main/java/com/dsk/common/dtos/UrbanInvestmentPlatformDto.java
View file @
9d931208
...
@@ -3,6 +3,8 @@ package com.dsk.common.dtos;
...
@@ -3,6 +3,8 @@ package com.dsk.common.dtos;
import
com.dsk.common.core.domain.model.BasePage
;
import
com.dsk.common.core.domain.model.BasePage
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
/**
/**
* @ClassName UrbanInvestmentPlatformDto
* @ClassName UrbanInvestmentPlatformDto
...
@@ -21,41 +23,41 @@ public class UrbanInvestmentPlatformDto extends BasePage {
...
@@ -21,41 +23,41 @@ public class UrbanInvestmentPlatformDto extends BasePage {
/**
/**
* 城投业务类型
* 城投业务类型
*/
*/
private
String
uipBusinessType
;
private
List
<
String
>
uipBusinessType
;
/**
/**
* 主体评级
* 主体评级
*/
*/
private
String
bratingSubjectLevel
;
private
List
<
String
>
bratingSubjectLevel
;
/**
/**
* 股东背景
* 股东背景
*/
*/
private
String
shareholderBg
;
private
List
<
String
>
shareholderBg
;
/**
/**
* 股权关系
* 股权关系
*/
*/
private
String
equityRelationship
;
private
List
<
String
>
equityRelationship
;
/**
/**
* 平台重要性
* 平台重要性
*/
*/
private
String
platformImportance
;
private
List
<
String
>
platformImportance
;
/**
/**
* 所属开发区
* 所属开发区
*/
*/
private
String
developmentZone
;
private
List
<
String
>
developmentZone
;
/**
/**
* 省
* 省
*/
*/
private
Integer
provinceId
;
private
List
<
Integer
>
provinceIds
;
/**
/**
* 市
* 市
*/
*/
private
Integer
cityId
;
private
List
<
Integer
>
cityIds
;
/**
/**
* 区
* 区
*/
*/
private
Integer
areaId
;
private
List
<
Integer
>
areaIds
;
/**
/**
* 关键词
* 关键词
...
...
dsk-operate-ui/src/api/project/project.js
View file @
9d931208
...
@@ -36,8 +36,8 @@ export function getXMSL(param) {
...
@@ -36,8 +36,8 @@ export function getXMSL(param) {
method
:
'GET'
,
method
:
'GET'
,
})
})
}
}
//项目
速览
修改
//项目
内容
修改
export
function
editXM
SL
(
param
)
{
export
function
editXM
NR
(
param
)
{
return
request
({
return
request
({
url
:
'/business/info/edit'
,
url
:
'/business/info/edit'
,
method
:
'POST'
,
method
:
'POST'
,
...
@@ -71,3 +71,56 @@ export function addLXR(param) {
...
@@ -71,3 +71,56 @@ export function addLXR(param) {
})
})
}
}
//跟进记录
export
function
getGJJL
(
param
)
{
return
request
({
url
:
'/business/record/list'
,
method
:
'get'
,
params
:
param
})
}
//新增跟进记录
export
function
addGJJL
(
param
)
{
return
request
({
url
:
'/business/record/add'
,
method
:
'POST'
,
data
:
param
})
}
//删除跟进记录
export
function
delGJJL
(
param
)
{
return
request
({
url
:
'/business/record/remove/'
,
method
:
'DELETE'
,
params
:
param
})
}
//工作待办
export
function
getGZDB
(
param
)
{
return
request
({
url
:
'/business/backlog/list'
,
method
:
'GET'
,
params
:
param
})
}
//添加工作待办
export
function
addGZDB
(
param
)
{
return
request
({
url
:
'/business/backlog/add'
,
method
:
'post'
,
data
:
param
})
}
//修改工作待办
export
function
editGZDB
(
param
)
{
return
request
({
url
:
'/business/backlog/edit'
,
method
:
'post'
,
data
:
param
})
}
dsk-operate-ui/src/assets/images/index/sjx.png
0 → 100644
View file @
9d931208
316 Bytes
dsk-operate-ui/src/assets/images/index/sjx1.png
0 → 100644
View file @
9d931208
272 Bytes
dsk-operate-ui/src/assets/images/index/sjx2.png
0 → 100644
View file @
9d931208
274 Bytes
dsk-operate-ui/src/assets/images/login/img.png
0 → 100644
View file @
9d931208
1.46 MB
dsk-operate-ui/src/assets/images/login_bg.png
View replaced file @
a6889c07
View file @
9d931208
883 KB
|
W:
|
H:
1.58 MB
|
W:
|
H:
2-up
Swipe
Onion skin
dsk-operate-ui/src/assets/images/logo1.png
0 → 100644
View file @
9d931208
16.5 KB
dsk-operate-ui/src/assets/styles/index.scss
View file @
9d931208
...
@@ -530,7 +530,7 @@ ul, li {
...
@@ -530,7 +530,7 @@ ul, li {
line-height
:
32px
;
line-height
:
32px
;
}
}
&
:hover
{
&
:hover
{
color
:
#
006AD1
;
color
:
#
f
;
border-color
:
#006AD1
;
border-color
:
#006AD1
;
}
}
}
}
...
...
dsk-operate-ui/src/assets/styles/project.scss
View file @
9d931208
...
@@ -568,6 +568,7 @@
...
@@ -568,6 +568,7 @@
.el-input
{
.el-input
{
display
:
inline-block
;
display
:
inline-block
;
margin-right
:
12px
;
margin-right
:
12px
;
position
:
relative
;
.el-input__inner
{
.el-input__inner
{
height
:
32px
;
height
:
32px
;
padding
:
0
;
padding
:
0
;
...
@@ -580,7 +581,8 @@
...
@@ -580,7 +581,8 @@
.el-input__prefix
{
.el-input__prefix
{
left
:
8px
;
left
:
8px
;
top
:
3px
;
top
:
-2px
;
position
:
absolute
;
}
}
.el-input__suffix
{
.el-input__suffix
{
height
:
32px
;
height
:
32px
;
...
...
dsk-operate-ui/src/views/index.vue
View file @
9d931208
...
@@ -50,8 +50,18 @@
...
@@ -50,8 +50,18 @@
<span
class=
"common-title"
>
跟进记录
</span>
<span
class=
"common-title"
>
跟进记录
</span>
</div>
</div>
<div
class=
"flex-box query-ability"
>
<div
class=
"flex-box query-ability"
>
<div
class=
"area"
>
西南地区
<i
class=
"el-icon-caret-bottom"
></i></div>
<div
class=
"select-popper"
>
<div
class=
"month"
>
不限
<i
class=
"el-icon-caret-bottom"
></i></div>
<div
class=
"area"
>
{{
area
}}
<i
class=
"sjx"
></i></div>
<el-select
v-model=
"area"
class=
"select-multiple"
placeholder=
"请选择"
>
<el-option
v-for=
"(item,index) in areaList"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
></el-option>
</el-select>
</div>
<div
class=
"select-popper"
>
<div
class=
"month"
>
{{
date
}}
<i
class=
"sjx"
></i></div>
<el-select
v-model=
"date"
class=
"select-multiple"
placeholder=
"请选择"
>
<el-option
v-for=
"(item,index) in dateList"
:key=
"index"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</div>
</div>
</div>
</div>
</div>
<div
class=
"list"
>
<div
class=
"list"
>
...
@@ -73,8 +83,18 @@
...
@@ -73,8 +83,18 @@
<span
class=
"common-title"
>
业绩排名
</span>
<span
class=
"common-title"
>
业绩排名
</span>
</div>
</div>
<div
class=
"flex-box query-ability"
>
<div
class=
"flex-box query-ability"
>
<div
class=
"area"
>
西南地区
<i
class=
"el-icon-caret-bottom"
></i></div>
<div
class=
"select-popper"
>
<div
class=
"month"
>
不限
<i
class=
"el-icon-caret-bottom"
></i></div>
<div
class=
"area"
>
{{
area
}}
<i
class=
"sjx"
></i></div>
<el-select
v-model=
"area"
class=
"select-multiple"
placeholder=
"请选择"
>
<el-option
v-for=
"(item,index) in areaList"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
></el-option>
</el-select>
</div>
<div
class=
"select-popper"
>
<div
class=
"month"
>
{{
date
}}
<i
class=
"sjx"
></i></div>
<el-select
v-model=
"date"
class=
"select-multiple"
placeholder=
"请选择"
>
<el-option
v-for=
"(item,index) in dateList"
:key=
"index"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</div>
</div>
</div>
</div>
</div>
<div
class=
"main"
>
<div
class=
"main"
>
...
@@ -103,9 +123,14 @@
...
@@ -103,9 +123,14 @@
</div>
</div>
<div
class=
"flex-box query-ability"
>
<div
class=
"flex-box query-ability"
>
<div
class=
"tabs"
>
<div
class=
"tabs"
>
<div
class=
"label"
v-for=
"(item,index) in typeList"
:class=
"typeIndex === index ? 'color':''"
@
click=
"handleClick(index)"
>
{{
item
.
name
}}
</div>
<!--
<div
class=
"label"
v-for=
"(item,index) in typeList"
:class=
"typeIndex === index ? 'color':''"
@
click=
"handleClick(index)"
>
{{
item
.
name
}}
</div>
-->
</div>
<div
class=
"select-popper"
>
<div
class=
"area"
>
{{
area
}}
<i
class=
"sjx"
></i></div>
<el-select
v-model=
"area"
class=
"select-multiple"
placeholder=
"请选择"
>
<el-option
v-for=
"(item,index) in areaList"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
></el-option>
</el-select>
</div>
</div>
<div
class=
"area"
>
西南地区
<i
class=
"el-icon-caret-bottom"
></i></div>
</div>
</div>
</div>
</div>
<div>
<div>
...
@@ -135,24 +160,42 @@
...
@@ -135,24 +160,42 @@
<div
v-if=
"user === 2"
class=
"trends"
>
<div
v-if=
"user === 2"
class=
"trends"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClickTab"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClickTab"
>
<el-tab-pane
label=
"甲方舆情"
name=
"first"
>
<el-tab-pane
label=
"甲方舆情"
name=
"first"
>
<el-timeline>
<div
class=
"main-box"
>
<el-timeline-item
<el-timeline>
v-for=
"(item, index) in trendsList"
<el-timeline-item
:key=
"index"
v-for=
"(item, index) in trendsList"
icon=
"el-icon-time"
>
:key=
"index"
{{
item
.
main
}}
icon=
"el-icon-time"
>
</el-timeline-item>
<div
class=
"time"
>
{{
item
.
time
}}
<span
class=
"company"
>
{{
item
.
name
}}
</span></div>
</el-timeline>
<div
class=
"cont"
>
{{
item
.
main
}}
</div>
</el-timeline-item>
</el-timeline>
</div>
<!--
<div
class=
"check"
>
全部甲方舆情 >
</div>
-->
</el-tab-pane>
<el-tab-pane
label=
"监控动态"
name=
"second"
>
<div
class=
"main-box"
>
<el-timeline>
<el-timeline-item
v-for=
"(item, index) in trendsList"
:key=
"index"
icon=
"el-icon-time"
>
<div
class=
"time"
>
{{
item
.
time
}}
<span
class=
"company"
>
{{
item
.
name
}}
</span></div>
<div
class=
"cont"
>
{{
item
.
main
}}
</div>
</el-timeline-item>
</el-timeline>
</div>
<!--
<div
class=
"check"
>
全部监控动态 >
</div>
-->
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
label=
"监控动态"
name=
"second"
>
监控动态
</el-tab-pane>
</el-tabs>
</el-tabs>
</div>
</div>
</div>
</div>
</el-col>
</el-col>
<el-col
:span=
"6"
>
<el-col
:span=
"6"
>
<div
class=
"content-right"
>
<div
class=
"content-right"
>
<div
class=
"user"
>
<div
class=
"user"
@
click=
"handleChange"
>
<h3>
刘毅
<span>
总经理
</span></h3>
<h3
v-if=
"user === 1"
>
刘毅
<span>
总经理
</span></h3>
<h3
v-if=
"user === 2"
>
李婷婷
<span>
营销员
</span></h3>
<p>
您好,祝您工作顺利每一天
</p>
<p>
您好,祝您工作顺利每一天
</p>
</div>
</div>
<div
class=
"search"
>
<div
class=
"search"
>
...
@@ -160,8 +203,8 @@
...
@@ -160,8 +203,8 @@
<el-input
placeholder=
"找客户/找项目/找甲方"
>
<el-input
placeholder=
"找客户/找项目/找甲方"
>
<i
slot=
"prefix"
class=
"el-icon-search"
></i>
<i
slot=
"prefix"
class=
"el-icon-search"
></i>
</el-input>
</el-input>
<span
class=
"common-title"
style=
"margin-bottom: 10px;"
>
储备项目类
</span>
<span
class=
"common-title"
>
储备项目类
</span>
<div
class=
"list"
>
<div
class=
"list"
style=
"margin-top: 8px;"
>
<div
class=
"item"
>
<div
class=
"item"
>
<img
src=
"@/assets/images/index/cb_icon1.png"
/>
<img
src=
"@/assets/images/index/cb_icon1.png"
/>
<p>
EPC项目
</p>
<p>
EPC项目
</p>
...
@@ -190,8 +233,8 @@
...
@@ -190,8 +233,8 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"zbgg"
>
<div
class=
"zbgg"
v-if=
"user === 1"
>
<span
class=
"common-title"
>
招
标公告
</span>
<span
class=
"common-title"
>
中
标公告
</span>
<div
class=
"list"
>
<div
class=
"list"
>
<div
class=
"item"
>
<div
class=
"item"
>
<h3>
太原市万柏林区2023年兴华街道老旧小区改造项目
</h3>
<h3>
太原市万柏林区2023年兴华街道老旧小区改造项目
</h3>
...
@@ -230,6 +273,41 @@
...
@@ -230,6 +273,41 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
v-if=
"user === 2"
class=
"zbhxr"
>
<span
class=
"common-title"
>
竞争对手中标候选人公告
</span>
<div
class=
"list"
>
<div
class=
"item"
>
<h3>
太原市万柏林区2023年兴华街道老旧小区改造项目
</h3>
<p>
<span>
中标金额:4754.34
</span>
</p>
</div>
<div
class=
"item"
>
<h3>
太原市万柏林区2023年兴华街道老旧小区改造项目
</h3>
<p>
<span>
中标金额:4754.34
</span>
</p>
</div>
<div
class=
"item"
>
<h3>
太原市万柏林区2023年兴华街道老旧小区改造项目
</h3>
<p>
<span>
中标金额:4754.34
</span>
</p>
</div>
<div
class=
"item"
>
<h3>
太原市万柏林区2023年兴华街道老旧小区改造项目
</h3>
<p>
<span>
中标金额:4754.34
</span>
</p>
</div>
<div
class=
"item"
>
<h3>
太原市万柏林区2023年兴华街道老旧小区改造项目
</h3>
<p>
<span>
中标金额:4754.34
</span>
</p>
</div>
</div>
</div>
</div>
</div>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -238,6 +316,7 @@
...
@@ -238,6 +316,7 @@
<
script
>
<
script
>
import
*
as
echarts
from
'echarts'
;
import
*
as
echarts
from
'echarts'
;
import
"@/assets/styles/public.css"
;
export
default
{
export
default
{
name
:
"Index"
,
name
:
"Index"
,
data
()
{
data
()
{
...
@@ -254,7 +333,57 @@ export default {
...
@@ -254,7 +333,57 @@ export default {
],
],
typeIndex
:
0
,
typeIndex
:
0
,
jyfxData
:[
'1月'
,
'2月'
,
'3月'
,
'4月'
,
'5月'
,
'6月'
],
jyfxData
:[
'1月'
,
'2月'
,
'3月'
,
'4月'
,
'5月'
,
'6月'
],
jyfxData1
:[
103
,
256
,
132
,
186
,
210
,
95
],
jyfxData1
:[
{
dcjxm
:
'103'
,
dcjzje
:
'123'
,
cjxmje
:
'153'
,
cjxmzs
:
'113'
,
cbxmzs
:
'93'
,
cbxmzje
:
'193'
,
},
{
dcjxm
:
'256'
,
dcjzje
:
'223'
,
cjxmje
:
'113'
,
cjxmzs
:
'163'
,
cbxmzs
:
'193'
,
cbxmzje
:
'123'
,
},
{
dcjxm
:
'103'
,
dcjzje
:
'123'
,
cjxmje
:
'153'
,
cjxmzs
:
'113'
,
cbxmzs
:
'93'
,
cbxmzje
:
'193'
,
},
{
dcjxm
:
'256'
,
dcjzje
:
'223'
,
cjxmje
:
'113'
,
cjxmzs
:
'163'
,
cbxmzs
:
'193'
,
cbxmzje
:
'123'
,
},
{
dcjxm
:
'103'
,
dcjzje
:
'123'
,
cjxmje
:
'153'
,
cjxmzs
:
'113'
,
cbxmzs
:
'93'
,
cbxmzje
:
'193'
,
},
{
dcjxm
:
'256'
,
dcjzje
:
'223'
,
cjxmje
:
'113'
,
cjxmzs
:
'163'
,
cbxmzs
:
'193'
,
cbxmzje
:
'123'
,
},
],
gjjlData
:[
gjjlData
:[
{
{
title
:
'今天拜访了重庆交通局杨科长,洽谈比较愉快,预计下月有项目招标,希望能有机会合作。'
,
title
:
'今天拜访了重庆交通局杨科长,洽谈比较愉快,预计下月有项目招标,希望能有机会合作。'
,
...
@@ -351,7 +480,53 @@ export default {
...
@@ -351,7 +480,53 @@ export default {
name
:
'重庆轨道交通集团有限公司'
,
name
:
'重庆轨道交通集团有限公司'
,
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
},
},
]
{
time
:
'2018-04-03 10:20'
,
name
:
'重庆轨道交通集团有限公司'
,
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
},
{
time
:
'2018-04-03 10:20'
,
name
:
'重庆轨道交通集团有限公司'
,
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
},
{
time
:
'2018-04-03 10:20'
,
name
:
'重庆轨道交通集团有限公司'
,
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
},
{
time
:
'2018-04-03 10:20'
,
name
:
'重庆轨道交通集团有限公司'
,
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
},
],
area
:
'西南地区'
,
areaList
:[
{
name
:
'西南地区'
},
{
name
:
'华中地区'
},
{
name
:
'华南地区'
},
{
name
:
'华东地区'
},
{
name
:
'华北地区'
},
{
name
:
'东北地区'
},
{
name
:
'西北地区'
},
],
date
:
'不限'
,
dateList
:[
'不限'
,
'今日'
,
'昨日'
,
'近三天'
,
'近七天'
]
};
};
},
},
created
()
{
created
()
{
...
@@ -370,8 +545,18 @@ export default {
...
@@ -370,8 +545,18 @@ export default {
initChart
()
{
initChart
()
{
let
myChart
=
echarts
.
init
(
document
.
getElementById
(
"fx-echarts"
))
let
myChart
=
echarts
.
init
(
document
.
getElementById
(
"fx-echarts"
))
let
option
=
{
let
option
=
{
legend
:
{
x
:
'right'
,
padding
:[
0
,
120
,
0
,
0
],
},
tooltip
:
{
tooltip
:
{
show
:
false
trigger
:
'axis'
,
axisPointer
:
{
type
:
'line'
,
label
:
{
backgroundColor
:
'#FFFFFF'
}
}
},
},
xAxis
:
{
xAxis
:
{
type
:
'category'
,
type
:
'category'
,
...
@@ -382,14 +567,21 @@ export default {
...
@@ -382,14 +567,21 @@ export default {
type
:
'value'
,
type
:
'value'
,
},
},
grid
:
{
grid
:
{
top
:
20
,
top
:
35
,
left
:
30
,
left
:
30
,
right
:
10
,
right
:
10
,
bottom
:
20
,
bottom
:
20
,
},
},
// dcjxm:'256',
// dcjzje:'223',
// cjxmje:'113',
// cjxmzs:'163',
// cbxmzs:'193',
// cbxmzje:'123',
series
:
[
series
:
[
{
{
data
:
this
.
jyfxData1
,
data
:
this
.
jyfxData1
.
map
(
item
=>
item
.
dcjxm
),
name
:
'待成交项目数'
,
type
:
'line'
,
type
:
'line'
,
smooth
:
true
,
smooth
:
true
,
emphasis
:
{
emphasis
:
{
...
@@ -398,7 +590,39 @@ export default {
...
@@ -398,7 +590,39 @@ export default {
},
},
//设置折线颜色和粗细
//设置折线颜色和粗细
lineStyle
:
{
lineStyle
:
{
width
:
1
,
width
:
2
,
color
:
"#0CBC6D"
,
},
itemStyle
:{
color
:
"#0CBC6D"
,
},
//设置面积区域为渐变效果
areaStyle
:
{
opacity
:
0.8
,
color
:
new
echarts
.
graphic
.
LinearGradient
(
0
,
1
,
0
,
0
,
[
{
offset
:
0.2
,
color
:
"#EFFAF6"
,
},
{
offset
:
1
,
color
:
"#0CBC6D"
,
},
]),
},
},
{
data
:
this
.
jyfxData1
.
map
(
item
=>
item
.
dcjzje
),
name
:
'待成交总金额'
,
type
:
'line'
,
smooth
:
true
,
emphasis
:
{
disabled
:
true
,
focus
:
'none'
},
//设置折线颜色和粗细
lineStyle
:
{
width
:
2
,
color
:
"#0081FF"
,
color
:
"#0081FF"
,
},
},
itemStyle
:{
itemStyle
:{
...
@@ -406,7 +630,8 @@ export default {
...
@@ -406,7 +630,8 @@ export default {
},
},
//设置面积区域为渐变效果
//设置面积区域为渐变效果
areaStyle
:
{
areaStyle
:
{
color
:
echarts
.
graphic
.
LinearGradient
(
0
,
1
,
0
,
0
,
[
opacity
:
0.8
,
color
:
new
echarts
.
graphic
.
LinearGradient
(
0
,
1
,
0
,
0
,
[
{
{
offset
:
0.2
,
offset
:
0.2
,
color
:
"#DFEAFF"
,
color
:
"#DFEAFF"
,
...
@@ -417,13 +642,149 @@ export default {
...
@@ -417,13 +642,149 @@ export default {
},
},
]),
]),
},
},
}
},
{
data
:
this
.
jyfxData1
.
map
(
item
=>
item
.
cjxmje
),
name
:
'成交项目金额'
,
type
:
'line'
,
smooth
:
true
,
emphasis
:
{
disabled
:
true
,
focus
:
'none'
},
//设置折线颜色和粗细
lineStyle
:
{
width
:
2
,
color
:
"#8077F2"
,
},
itemStyle
:{
color
:
"#8077F2"
,
},
//设置面积区域为渐变效果
areaStyle
:
{
opacity
:
0.8
,
color
:
new
echarts
.
graphic
.
LinearGradient
(
0
,
1
,
0
,
0
,
[
{
offset
:
0.2
,
color
:
"#ECE8FF"
,
},
{
offset
:
1
,
color
:
"#BCC0FF"
,
},
]),
},
},
{
data
:
this
.
jyfxData1
.
map
(
item
=>
item
.
cjxmzs
),
name
:
'成交项目总数'
,
type
:
'line'
,
smooth
:
true
,
emphasis
:
{
disabled
:
true
,
focus
:
'none'
},
//设置折线颜色和粗细
lineStyle
:
{
width
:
2
,
color
:
"#FA6C6C"
,
},
itemStyle
:{
color
:
"#FA6C6C"
,
},
//设置面积区域为渐变效果
areaStyle
:
{
opacity
:
0.8
,
color
:
new
echarts
.
graphic
.
LinearGradient
(
0
,
1
,
0
,
0
,
[
{
offset
:
0.2
,
color
:
"#FDEAE8"
,
},
{
offset
:
1
,
color
:
"#FDB2AE"
,
},
]),
},
},
{
data
:
this
.
jyfxData1
.
map
(
item
=>
item
.
cbxmzs
),
name
:
'储备项目总数'
,
type
:
'line'
,
smooth
:
true
,
emphasis
:
{
disabled
:
true
,
focus
:
'none'
},
//设置折线颜色和粗细
lineStyle
:
{
width
:
2
,
color
:
"#FA936C"
,
},
itemStyle
:{
color
:
"#FA936C"
,
},
//设置面积区域为渐变效果
areaStyle
:
{
opacity
:
0.8
,
color
:
new
echarts
.
graphic
.
LinearGradient
(
0
,
1
,
0
,
0
,
[
{
offset
:
0.2
,
color
:
"#FCE8E0"
,
},
{
offset
:
1
,
color
:
"#FBC4AF"
,
},
]),
},
},
{
data
:
this
.
jyfxData1
.
map
(
item
=>
item
.
cbxmzje
),
name
:
'储备项目总金额'
,
type
:
'line'
,
smooth
:
true
,
emphasis
:
{
disabled
:
true
,
focus
:
'none'
},
//设置折线颜色和粗细
lineStyle
:
{
width
:
2
,
color
:
"#FDD85E"
,
},
itemStyle
:{
color
:
"#FDD85E"
,
},
//设置面积区域为渐变效果
areaStyle
:
{
opacity
:
0.8
,
color
:
new
echarts
.
graphic
.
LinearGradient
(
0
,
1
,
0
,
0
,
[
{
offset
:
0.2
,
color
:
"#FCF8EF"
,
},
{
offset
:
1
,
color
:
"#FEEBAA"
,
},
]),
},
},
]
]
}
}
myChart
.
setOption
(
option
);
myChart
.
setOption
(
option
);
},
},
initChart1
(){
initChart1
(){
var
rankPic
=
[
require
(
'@/assets/images/index/1.png'
),
require
(
'@/assets/images/index/2.png'
),
require
(
'@/assets/images/index/3.png'
),
require
(
'@/assets/images/index/4.png'
),
require
(
'@/assets/images/index/5.png'
),
]
let
myChart
=
echarts
.
init
(
document
.
getElementById
(
"pm-echarts"
))
let
myChart
=
echarts
.
init
(
document
.
getElementById
(
"pm-echarts"
))
let
option
=
{
let
option
=
{
legend
:
{
legend
:
{
show
:
true
,
show
:
true
,
...
@@ -448,56 +809,63 @@ export default {
...
@@ -448,56 +809,63 @@ export default {
}
}
},
},
axisLabel
:
{
axisLabel
:
{
color
:
'#232323'
,
margin
:
80
,
margin
:
50
,
// formatter必须,配合rich使用
textStyle
:
{
textStyle
:
{
align
:
'left'
,
align
:
'left'
,
},
formatter
:
function
(
value
,
index
)
{
let
idx
=
index
+
1
;
return
'{'
+
idx
+
'|} {s|'
+
value
+
'}'
},
},
rich
:
{
rich
:
{
a1
:
{
1
:
{
backgroundColor
:
{
image
:
this
.
rankIcons
[
0
]},
height
:
24
,
width
:
this
.
rankIconsSize
,
width
:
24
,
height
:
this
.
rankIconsSize
,
align
:
'center'
,
align
:
"left"
,
backgroundColor
:
{
// padding: [0, 0, 50, 100]
image
:
rankPic
[
0
]
},
},
},
a2
:
{
2
:
{
backgroundColor
:
{
image
:
this
.
rankIcons
[
1
]
},
height
:
24
,
width
:
this
.
rankIconsSize
,
width
:
24
,
height
:
this
.
rankIconsSize
,
align
:
'center'
,
align
:
"center"
,
backgroundColor
:
{
image
:
rankPic
[
1
]
}
},
},
a3
:
{
3
:
{
backgroundColor
:
{
image
:
this
.
rankIcons
[
2
]
},
height
:
24
,
width
:
this
.
rankIconsSize
,
width
:
24
,
height
:
this
.
rankIconsSize
,
align
:
'center'
,
align
:
"center"
,
backgroundColor
:
{
image
:
rankPic
[
2
]
}
},
},
a4
:
{
4
:
{
backgroundColor
:
{
image
:
this
.
rankIcons
[
3
]
},
height
:
24
,
width
:
this
.
rankIconsSize
,
width
:
24
,
height
:
this
.
rankIconsSize
,
align
:
'center'
,
align
:
"center"
,
backgroundColor
:
{
image
:
rankPic
[
3
]
}
},
},
a5
:
{
5
:
{
backgroundColor
:
{
image
:
this
.
rankIcons
[
4
]
},
height
:
24
,
width
:
this
.
rankIconsSize
,
width
:
24
,
height
:
this
.
rankIconsSize
,
align
:
'center'
,
align
:
"center"
,
backgroundColor
:
{
image
:
rankPic
[
4
]
}
},
},
},
}
formatter
:
(
params
,
index
)
=>
{
return
[
`{a
${
index
+
1
}
|}
${
params
}
`
].
join
(
'
\
n'
)
},
},
},
},
},
xAxis
:
{
xAxis
:
{
type
:
'value'
,
type
:
'value'
,
},
},
grid
:
{
grid
:
{
left
:
'
22
%'
,
left
:
'
16
%'
,
top
:
20
,
top
:
20
,
right
:
20
,
right
:
20
,
bottom
:
60
,
bottom
:
60
,
...
@@ -545,6 +913,15 @@ export default {
...
@@ -545,6 +913,15 @@ export default {
},
},
handleClickTab
(){
handleClickTab
(){
},
handleChange
(){
this
.
user
=
this
.
user
===
1
?
2
:
1
;
if
(
this
.
user
===
1
){
this
.
$nextTick
(()
=>
{
this
.
initChart
()
this
.
initChart1
()
})
}
}
}
}
}
};
};
...
@@ -585,6 +962,7 @@ export default {
...
@@ -585,6 +962,7 @@ export default {
margin-top
:
14px
;
margin-top
:
14px
;
margin-bottom
:
14px
;
margin-bottom
:
14px
;
border-right
:
1px
solid
#EFEFEF
;
border-right
:
1px
solid
#EFEFEF
;
cursor
:
pointer
;
.left
{
.left
{
width
:
48px
;
width
:
48px
;
height
:
48px
;
height
:
48px
;
...
@@ -625,6 +1003,16 @@ export default {
...
@@ -625,6 +1003,16 @@ export default {
.item
:last-child
{
.item
:last-child
{
border-right
:
0
;
border-right
:
0
;
}
}
.item
:hover
{
.right
{
.title
{
color
:
#0081FF
;
}
.number
{
color
:
#0081FF
;
}
}
}
.add
{
.add
{
padding-left
:
0
;
padding-left
:
0
;
.yd
{
.yd
{
...
@@ -654,11 +1042,17 @@ export default {
...
@@ -654,11 +1042,17 @@ export default {
margin-right
:
4px
;
margin-right
:
4px
;
}
}
}
}
.btn
:hover
{
background
:
#F6F9FC
;
}
}
}
}
}
.content-wrap
{
.content-wrap
{
margin-bottom
:
12px
;
margin-bottom
:
12px
;
height
:
460px
;
height
:
460px
;
.select-popper
{
margin-right
:
0
;
}
.record
{
.record
{
height
:
460px
;
height
:
460px
;
background
:
#FFFFFF
;
background
:
#FFFFFF
;
...
@@ -749,23 +1143,54 @@ export default {
...
@@ -749,23 +1143,54 @@ export default {
}
}
}
}
.area
{
.select-popper
{
font-size
:
14px
;
.area
{
color
:
#232323
;
font-size
:
14px
;
cursor
:
pointer
;
color
:
#232323
;
i
{
cursor
:
pointer
;
color
:
#A7A7A7
;
i
{
background
:
url("../assets/images/index/sjx.png")
;
background-size
:
100%
100%
;
width
:
10px
;
height
:
6px
;
display
:
inline-block
;
margin-bottom
:
2px
;
margin-left
:
4px
;
}
}
.month
{
font-size
:
14px
;
color
:
#232323
;
margin-left
:
16px
;
cursor
:
pointer
;
i
{
background
:
url("../assets/images/index/sjx.png")
;
background-size
:
100%
100%
;
width
:
10px
;
height
:
6px
;
display
:
inline-block
;
margin-bottom
:
2px
;
margin-left
:
4px
;
}
}
.color
{
color
:
#0081FF
;
i
{
background
:
url("../assets/images/index/sjx2.png")
;
background-size
:
100%
100%
;
}
}
}
}
}
.
month
{
.
select-popper
:hover
{
font-size
:
14px
;
.area
,
.month
{
color
:
#232323
;
color
:
#0081FF
;
margin-left
:
16px
;
i
{
cursor
:
pointer
;
background
:
url("../assets/images/index/sjx1.png")
;
i
{
background-size
:
100%
100%
;
color
:
#A7A7A7
;
}
}
}
}
}
}
}
.content-db
{
.content-db
{
height
:
263px
;
height
:
263px
;
...
@@ -830,6 +1255,7 @@ export default {
...
@@ -830,6 +1255,7 @@ export default {
background
:
#FFFFFF
;
background
:
#FFFFFF
;
border-radius
:
4px
;
border-radius
:
4px
;
padding
:
16px
;
padding
:
16px
;
position
:
relative
;
.tabs
{
.tabs
{
.label
{
.label
{
display
:
inline-block
;
display
:
inline-block
;
...
@@ -855,13 +1281,34 @@ export default {
...
@@ -855,13 +1281,34 @@ export default {
color
:
#FFFFFF
;
color
:
#FFFFFF
;
}
}
}
}
.area
{
.select-popper
{
font-size
:
14px
;
position
:
absolute
;
color
:
#232323
;
right
:
0
;
margin-left
:
16px
;
top
:
27px
;
cursor
:
pointer
;
z-index
:
99
;
i
{
.area
{
color
:
#A7A7A7
;
font-size
:
14px
;
color
:
#232323
;
margin-left
:
16px
;
cursor
:
pointer
;
i
{
background
:
url("../assets/images/index/sjx.png")
;
background-size
:
100%
100%
;
width
:
10px
;
height
:
6px
;
display
:
inline-block
;
margin-bottom
:
2px
;
margin-left
:
4px
;
}
}
}
.select-popper
:hover
{
.area
,
.month
{
color
:
#0081FF
;
i
{
background
:
url("../assets/images/index/sjx1.png")
;
background-size
:
100%
100%
;
}
}
}
}
}
}
}
...
@@ -870,6 +1317,66 @@ export default {
...
@@ -870,6 +1317,66 @@ export default {
border-radius
:
4px
;
border-radius
:
4px
;
padding
:
16px
;
padding
:
16px
;
height
:
440px
;
height
:
440px
;
overflow
:
hidden
;
position
:
relative
;
::v-deep
.el-tabs__header
{
margin
:
0
0
18px
;
}
::v-deep
.el-tabs__content
{
overflow-y
:
auto
;
height
:
368px
;
}
::v-deep
.el-timeline
{
.el-timeline-item
{
padding-bottom
:
18px
;
}
.el-timeline-item__tail
{
left
:
7px
;
border-left
:
2px
dotted
rgba
(
0
,
129
,
255
,
0
.5
);
}
.el-timeline-item__node
{
background-color
:
#ffffff
;
.el-timeline-item__icon
{
color
:
#0081FF
;
font-size
:
14px
;
}
}
.el-timeline-item__node--normal
{
left
:
0px
;
width
:
16px
;
height
:
16px
;
}
}
.time
{
font-size
:
14px
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
.company
{
color
:
#0081FF
;
margin-left
:
16px
;
}
}
.cont
{
background
:
#F6F9FD
;
border-radius
:
6px
;
padding
:
16px
;
margin-top
:
8px
;
font-size
:
14px
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
margin-right
:
16px
;
}
.check
{
height
:
60px
;
background
:
linear-gradient
(
360deg
,
#FFFFFF
0%
,
#FFFFFF
17%
,
rgba
(
255
,
255
,
255
,
0
.6
)
100%
);
font-size
:
16px
;
color
:
#0CBC6D
;
line-height
:
60px
;
text-align
:
center
;
width
:
100%
;
position
:
absolute
;
bottom
:
46px
;
cursor
:
pointer
;
}
}
}
}
}
.content-right
{
.content-right
{
...
@@ -915,8 +1422,8 @@ export default {
...
@@ -915,8 +1422,8 @@ export default {
::v-deep
.el-input
{
::v-deep
.el-input
{
height
:
32px
;
height
:
32px
;
border-radius
:
2px
;
border-radius
:
2px
;
margin-bottom
:
2
2
px
;
margin-bottom
:
2
0
px
;
margin-top
:
1
6
px
;
margin-top
:
1
4
px
;
.el-input__inner
{
.el-input__inner
{
height
:
32px
;
height
:
32px
;
line-height
:
32px
;
line-height
:
32px
;
...
@@ -936,8 +1443,10 @@ export default {
...
@@ -936,8 +1443,10 @@ export default {
justify-content
:
space-between
;
justify-content
:
space-between
;
.item
{
.item
{
margin
:
0
auto
;
margin
:
0
auto
;
width
:
33
.3%
;
height
:
94px
;
height
:
94px
;
text-align
:
center
;
text-align
:
center
;
cursor
:
pointer
;
img
{
img
{
width
:
40px
;
width
:
40px
;
height
:
40px
;
height
:
40px
;
...
@@ -948,6 +1457,9 @@ export default {
...
@@ -948,6 +1457,9 @@ export default {
font-size
:
12px
;
font-size
:
12px
;
}
}
}
}
.item
:hover
{
background
:
#F6F9FC
;
}
}
}
}
}
.zbgg
{
.zbgg
{
...
@@ -986,6 +1498,42 @@ export default {
...
@@ -986,6 +1498,42 @@ export default {
border-bottom
:
0
;
border-bottom
:
0
;
}
}
}
}
.zbhxr
{
height
:
382px
;
background
:
#FFFFFF
;
border-radius
:
4px
;
padding
:
16px
;
.list
{
margin-top
:
16px
;
}
.item
{
border-bottom
:
1px
solid
#EEEEEE
;
padding
:
10px
0
;
h3
{
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
font-size
:
14px
;
padding-bottom
:
8px
;
margin
:
0
;
overflow
:
hidden
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
}
p
{
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
font-size
:
14px
;
overflow
:
hidden
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
span
{
margin-right
:
15px
;
}
}
}
.item
:last-child
{
border-bottom
:
0
;
}
}
}
}
}
}
</
style
>
</
style
>
...
...
dsk-operate-ui/src/views/login.vue
View file @
9d931208
<
template
>
<
template
>
<div
class=
"login"
>
<div
class=
"login"
>
<el-form
ref=
"loginForm"
:model=
"loginForm"
:rules=
"loginRules"
class=
"login-form"
>
<div
class=
"content"
>
<h3
class=
"title"
><img
src=
"../assets/images/title_icon.png"
/>
欢迎登录系统
</h3>
<div
class=
"left"
>
<el-form-item
prop=
"username"
>
<img
class=
"logo"
src=
"../assets/images/logo1.png"
/>
<el-input
<img
class=
"img"
src=
"../assets/images/login/img.png"
/>
v-model=
"loginForm.username"
</div>
type=
"text"
<el-form
ref=
"loginForm"
:model=
"loginForm"
:rules=
"loginRules"
class=
"login-form"
>
auto-complete=
"off"
<h3
class=
"title"
><img
src=
"../assets/images/title_icon.png"
/>
欢迎登录系统
</h3>
placeholder=
"请输入登录账号"
<el-form-item
prop=
"username"
>
>
<el-input
<img
class=
"img"
slot=
"prefix"
src=
"../assets/images/user.png"
/>
v-model=
"loginForm.username"
</el-input>
type=
"text"
</el-form-item>
auto-complete=
"off"
<el-form-item
prop=
"password"
>
placeholder=
"请输入登录账号"
<el-input
>
v-model=
"loginForm.password"
<img
class=
"img"
slot=
"prefix"
src=
"../assets/images/user.png"
/>
type=
"password"
</el-input>
auto-complete=
"off"
</el-form-item>
placeholder=
"请输入账号密码"
<el-form-item
prop=
"password"
>
@
keyup
.
enter
.
native=
"handleLogin"
<el-input
>
v-model=
"loginForm.password"
<img
class=
"img"
slot=
"prefix"
src=
"../assets/images/password.png"
/>
type=
"password"
</el-input>
auto-complete=
"off"
</el-form-item>
placeholder=
"请输入账号密码"
<el-form-item
prop=
"code"
v-if=
"captchaEnabled"
>
@
keyup
.
enter
.
native=
"handleLogin"
<el-input
>
v-model=
"loginForm.code"
<img
class=
"img"
slot=
"prefix"
src=
"../assets/images/password.png"
/>
auto-complete=
"off"
</el-input>
placeholder=
"请输入验证码"
</el-form-item>
style=
"width: 56%;float: left;"
<el-form-item
prop=
"code"
v-if=
"captchaEnabled"
>
@
keyup
.
enter
.
native=
"handleLogin"
<el-input
>
v-model=
"loginForm.code"
<img
class=
"img"
slot=
"prefix"
src=
"../assets/images/validCode.png"
/>
auto-complete=
"off"
</el-input>
placeholder=
"请输入验证码"
<div
class=
"login-code"
>
style=
"width: 56%;float: left;"
<img
:src=
"codeUrl"
@
click=
"getCode"
class=
"login-code-img"
/>
@
keyup
.
enter
.
native=
"handleLogin"
</div>
>
</el-form-item>
<img
class=
"img"
slot=
"prefix"
src=
"../assets/images/validCode.png"
/>
<el-checkbox
v-model=
"loginForm.rememberMe"
style=
"margin:0px 0px 25px 48px;"
>
记住密码
</el-checkbox>
</el-input>
<el-form-item
style=
"width:100%;"
>
<div
class=
"login-code"
>
<el-button
<img
:src=
"codeUrl"
@
click=
"getCode"
class=
"login-code-img"
/>
:loading=
"loading"
</div>
size=
"medium"
</el-form-item>
type=
"primary"
<el-checkbox
v-model=
"loginForm.rememberMe"
style=
"margin:0px 0px 25px 48px;"
>
记住密码
</el-checkbox>
style=
"width:100%;height: 48px;border-radius: 4px;font-size: 16px;"
<el-form-item
style=
"width:100%;"
>
@
click
.
native
.
prevent=
"handleLogin"
<el-button
>
:loading=
"loading"
<span
v-if=
"!loading"
>
登 录
</span>
size=
"medium"
<span
v-else
>
登 录 中...
</span>
type=
"primary"
</el-button>
style=
"width:100%;height: 48px;border-radius: 4px;font-size: 16px;"
<div
style=
"float: right;"
v-if=
"register"
>
@
click
.
native
.
prevent=
"handleLogin"
<router-link
class=
"link-type"
:to=
"'/register'"
>
立即注册
</router-link>
>
</div>
<span
v-if=
"!loading"
>
登 录
</span>
</el-form-item>
<span
v-else
>
登 录 中...
</span>
</el-form>
</el-button>
<div
style=
"float: right;"
v-if=
"register"
>
<router-link
class=
"link-type"
:to=
"'/register'"
>
立即注册
</router-link>
</div>
</el-form-item>
</el-form>
</div>
</div>
</div>
</
template
>
</
template
>
...
@@ -153,12 +159,32 @@ export default {
...
@@ -153,12 +159,32 @@ export default {
<
style
rel=
"stylesheet/scss"
lang=
"scss"
>
<
style
rel=
"stylesheet/scss"
lang=
"scss"
>
.login
{
.login
{
display
:
flex
;
/*display: flex;*/
justify-content
:
center
;
justify-content
:
center
;
align-items
:
center
;
align-items
:
center
;
height
:
100%
;
height
:
100%
;
background-image
:
url("../assets/images/login_bg.png")
;
background-image
:
url("../assets/images/login_bg.png")
;
background-size
:
cover
;
background-size
:
cover
;
overflow-y
:
hidden
;
.content
{
width
:
1320px
;
margin
:
0
auto
;
padding-top
:
160px
;
}
.left
{
float
:
left
;
width
:
730px
;
margin-right
:
170px
;
}
.logo
{
width
:
317px
;
height
:
69px
;
margin-bottom
:
58px
;
}
.img
{
width
:
730px
;
height
:
624px
;
}
}
}
.title
{
.title
{
padding
:
46px
0
32px
48px
;
padding
:
46px
0
32px
48px
;
...
@@ -177,6 +203,8 @@ export default {
...
@@ -177,6 +203,8 @@ export default {
border-radius
:
6px
;
border-radius
:
6px
;
background
:
#ffffff
;
background
:
#ffffff
;
width
:
420px
;
width
:
420px
;
float
:
right
;
margin-top
:
70px
;
/*padding: 25px 25px 5px 25px;*/
/*padding: 25px 25px 5px 25px;*/
.el-form-item
{
.el-form-item
{
padding
:
0
48px
;
padding
:
0
48px
;
...
...
dsk-operate-ui/src/views/project/projectList/component/gjjl.vue
View file @
9d931208
...
@@ -39,7 +39,7 @@
...
@@ -39,7 +39,7 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"recordlist"
>
<div
class=
"recordlist"
v-if=
"showtype=='gjdt'"
>
<div
class=
"rec_detail"
v-for=
"(item,index) in recordlist.rows"
>
<div
class=
"rec_detail"
v-for=
"(item,index) in recordlist.rows"
>
<div
class=
"rec_time"
>
<div
class=
"rec_time"
>
...
@@ -54,17 +54,39 @@
...
@@ -54,17 +54,39 @@
<div><strong>
{{
item
.
nickName
}}
</strong>
<span
v-if=
"item.visitMode"
>
(
{{
item
.
visitMode
}}
)
</span></div>
<div><strong>
{{
item
.
nickName
}}
</strong>
<span
v-if=
"item.visitMode"
>
(
{{
item
.
visitMode
}}
)
</span></div>
<div><span>
{{
item
.
content
}}
</span></div>
<div><span>
{{
item
.
content
}}
</span></div>
<div
class=
"rec_text"
>
<div
class=
"rec_text"
>
<span>
拜访对象:
{{
item
.
name
||
'--'
}}
</span>
<span
v-if=
"item.name"
>
拜访对象:
{{
item
.
name
||
'--'
}}
</span>
<span
v-if=
"showtype == 'gjdt'
"
>
关联企业:
{{
item
.
companyName
||
'--'
}}
</span>
<span
v-if=
"showtype == 'gjdt'
&& companyName != ''"
>
关联企业:
{{
item
.
companyName
}}
</span>
<span
>
职位:
{{
item
.
position
||
'--'
}}
</span>
<span
v-if=
"item.position"
>
职位:
{{
item
.
position
}}
</span>
<span
>
拜访时间:
{{
item
.
createTime
&&
item
.
createTime
.
slice
(
0
,
10
)
}}
</span>
<span
v-if=
"item.createTime"
>
拜访时间:
{{
item
.
createTime
.
slice
(
0
,
10
)
}}
</span>
<span
>
下次拜访时间:
{{
item
.
nextVisitTime
==
null
?
'--'
:
item
.
createTime
.
slice
(
0
,
10
)
}}
</span>
<span
v-if=
"item.nextVisitTime"
>
下次拜访时间:
{{
item
.
createTime
.
slice
(
0
,
10
)
}}
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"recordlist"
v-if=
"showtype=='gjjl' && recordlist.total>0"
>
<div
class=
"rec_detail"
v-for=
"(item,index) in recordlist.rows"
>
<div
class=
"rec_time"
>
<i
class=
"el-icon-time"
></i>
<div>
{{
item
.
creatTime
}}
</div>
<div
class=
"operate"
>
<!--
<img
src=
"@/assets/images/edit.png"
>
第一期不做编辑-->
<img
@
click=
"delRecord(item.id)"
src=
"@/assets/images/delete.png"
>
</div>
</div>
<div
class=
"rec_con"
>
<div><strong>
{{
item
.
nickName
}}
</strong>
<span
v-if=
"item.visitWay"
>
(
{{
item
.
visitWay
}}
)
</span></div>
<div><span>
{{
item
.
recordInfo
}}
</span></div>
<div
class=
"rec_text"
>
<span
v-if=
"item.visitPerson"
>
拜访对象:
{{
item
.
visitPerson
||
'--'
}}
</span>
<span
v-if=
"item.position"
>
职位:
{{
item
.
position
||
'--'
}}
</span>
<span
v-if=
"item.creatTime"
>
拜访时间:
{{
item
.
creatTime
}}
</span>
<span
v-if=
"item.nextVisitTime"
>
下次拜访时间:
{{
item
.
nextVisitTime
||
'--'
}}
</span>
</div>
</div>
</div>
</div>
</div>
<div
class=
"tables"
v-if=
"recordlist.total>
0
"
>
<div
class=
"tables"
v-if=
"recordlist.total>
pageSize
"
>
<div
class=
"bottems"
>
<div
class=
"bottems"
>
<el-pagination
<el-pagination
background
background
...
@@ -92,6 +114,7 @@
...
@@ -92,6 +114,7 @@
<
script
>
<
script
>
import
"@/assets/styles/project.scss"
import
"@/assets/styles/project.scss"
import
{
getFollowList
,
addFollowRecord
,
getUserList
,
delFollowRecord
}
from
'@/api/custom/custom'
import
{
getFollowList
,
addFollowRecord
,
getUserList
,
delFollowRecord
}
from
'@/api/custom/custom'
import
{
getGJJL
,
addGJJL
,
delGJJL
}
from
'@/api/project/project'
import
{
getEnterprise
,
getDictType
,}
from
'@/api/main'
import
{
getEnterprise
,
getDictType
,}
from
'@/api/main'
export
default
{
export
default
{
props
:{
props
:{
...
@@ -123,6 +146,7 @@
...
@@ -123,6 +146,7 @@
recordlist
:[],
//列表数据源
recordlist
:[],
//列表数据源
isdel
:
false
,
isdel
:
false
,
delID
:
''
,
//删除记录的ID
delID
:
''
,
//删除记录的ID
projectId
:
parseInt
(
this
.
$route
.
query
.
id
),
//项目详情id
}
}
},
},
computed
:
{
computed
:
{
...
@@ -140,6 +164,10 @@
...
@@ -140,6 +164,10 @@
})
})
this
.
getGJDTlist
()
this
.
getGJDTlist
()
}
}
//项目详情跟进记录
if
(
this
.
showtype
==
'gjjl'
){
this
.
getGJJL
()
}
console
.
log
(
this
.
types
)
console
.
log
(
this
.
types
)
},
},
methods
:{
methods
:{
...
@@ -156,6 +184,26 @@
...
@@ -156,6 +184,26 @@
}
}
})
})
}
}
if
(
this
.
types
==
'gjjl'
){
let
param
=
{
businessId
:
this
.
projectId
,
userId
:
this
.
$store
.
state
.
user
.
userId
,
visitPerson
:
this
.
addParam
.
name
,
position
:
this
.
addParam
.
position
,
nextVisitTime
:
this
.
addParam
.
nextVisitTime
,
recordInfo
:
this
.
addParam
.
content
,
visitWay
:
this
.
addParam
.
visitMode
,
}
addGJJL
(
param
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
result
.
msg
)
this
.
handleCurrentChange
(
1
)
this
.
isEdit
=
false
}
else
{
this
.
$message
.
error
(
result
.
msg
)
}
})
}
},
},
//删除跟进动态
//删除跟进动态
delRecord
(
id
){
delRecord
(
id
){
...
@@ -172,6 +220,15 @@
...
@@ -172,6 +220,15 @@
}
}
})
})
}
}
if
(
this
.
types
==
'gjjl'
)
{
delGJJL
(
this
.
delID
).
then
(
result
=>
{
if
(
result
.
code
==
200
)
{
this
.
handleCurrentChange
(
1
)
this
.
$message
.
success
(
'删除成功'
)
this
.
isdel
=
false
}
})
}
},
},
//跟进动态列表
//跟进动态列表
getGJDTlist
(){
getGJDTlist
(){
...
@@ -184,15 +241,27 @@
...
@@ -184,15 +241,27 @@
this
.
recordlist
.
rows
.
forEach
(
item
=>
{
this
.
recordlist
.
rows
.
forEach
(
item
=>
{
item
.
createTime
=
this
.
gettime
(
item
.
createTime
)
item
.
createTime
=
this
.
gettime
(
item
.
createTime
)
item
.
nextVisitTime
=
this
.
gettime
(
item
.
nextVisitTime
)
item
.
nextVisitTime
=
this
.
gettime
(
item
.
nextVisitTime
)
console
.
log
(
item
.
nextVisitTime
)
})
})
})
})
},
},
getGJJL
(){
let
param
=
{
pageNum
:
this
.
pageNum
,
//页码
pageSize
:
this
.
pageSize
,
businessId
:
this
.
projectId
}
getGJJL
(
param
).
then
(
result
=>
{
this
.
recordlist
=
result
.
code
==
200
?
result
:[]
})
},
handleCurrentChange
(
val
){
handleCurrentChange
(
val
){
this
.
pageNum
=
val
this
.
pageNum
=
val
if
(
this
.
showtype
==
'gjdt'
){
if
(
this
.
showtype
==
'gjdt'
){
this
.
getGJDTlist
()
this
.
getGJDTlist
()
}
}
if
(
this
.
showtype
==
'gjjl'
){
this
.
getGJJL
()
}
},
},
getEdit
(){
getEdit
(){
this
.
isEdit
=
true
;
this
.
isEdit
=
true
;
...
...
dsk-operate-ui/src/views/project/projectList/component/gzdb.vue
View file @
9d931208
<
template
>
<
template
>
<div>
<div>
<el-card
class=
"box-card noborder"
>
<el-card
class=
"box-card noborder"
>
<div
class=
"cardtitles"
>
跟进记录
</div>
<div
class=
"cardtitles"
>
工作待办
</div>
<div
class=
"records"
>
<div
class=
"records"
>
<div
class=
"writeIn"
>
<div
class=
"writeIn"
>
<div
class=
"default"
v-if=
"isEdit == false"
@
click=
"getEdit"
>
<div
class=
"default"
v-if=
"isEdit == false"
@
click=
"getEdit"
>
...
@@ -11,53 +11,52 @@
...
@@ -11,53 +11,52 @@
<div
class=
"writting"
v-if=
"isEdit == true"
>
<div
class=
"writting"
v-if=
"isEdit == true"
>
<div
class=
"wri_top"
>
<div
class=
"wri_top"
>
<img
src=
"@/assets/images/project/add_3.png"
>
<img
src=
"@/assets/images/project/add_3.png"
>
<el-input
placeholder=
"新建一条跟进记录,如:周五上午预约客户上门拜访"
></el-input>
<el-input
v-model=
"queryParam.task"
placeholder=
"新建一条跟进记录,如:周五上午预约客户上门拜访"
></el-input>
</div>
</div>
<div
class=
"wr_bot"
>
<div
class=
"wr_bot"
>
<div
class=
"times"
><img
src=
"@/assets/images/project/ico_4.png"
>
<div
class=
"times"
><img
src=
"@/assets/images/project/ico_4.png"
>
<el-date-picker
<el-date-picker
v-model=
"
valu
e"
v-model=
"
queryParam.finishTim
e"
type=
"date"
type=
"date"
placeholder=
"
待办
时间"
>
placeholder=
"
完成
时间"
>
</el-date-picker>
</el-date-picker>
</div>
</div>
<el-input
v-model=
"
value
"
placeholder=
"拜访对象"
style=
"width: 100px;"
>
<el-input
v-model=
"
queryParam.target
"
placeholder=
"拜访对象"
style=
"width: 100px;"
>
<i
slot=
"prefix"
class=
"el-input__icon"
><img
src=
"@/assets/images/project/ico_2.png"
></i>
<i
slot=
"prefix"
class=
"el-input__icon"
><img
src=
"@/assets/images/project/ico_2.png"
></i>
</el-input>
</el-input>
<div
class=
"btn btn_primary h32 wc"
:class=
"
{'btn_disabled':value
== ''}">完成
</div>
<div
class=
"btn btn_primary h32 wc"
@
click=
"add"
:disabled=
"queryParam.task == ''"
:class=
"
{'btn_disabled':queryParam.task
== ''}">完成
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"tasktitle"
><strong>
我的任务
</strong><span>
4条已逾期
</span>
<!--
<span
class=
"on"
>
4条已逾期
</span>
-->
</div>
<div
class=
"tasktitle"
><strong>
我的任务
</strong><span
@
click=
"getYQ"
>
4条已逾期
</span>
<!--
<span
class=
"on"
>
4条已逾期
</span>
-->
</div>
<div
class=
"tasklist"
>
<div
class=
"tasklist"
v-for=
"(item,index) in datalist.rows"
>
<div
class=
"task_name"
>
周二拜访交通局李主任
</div>
<div
class=
"task_name"
>
{{
item
.
task
}}
</div>
<div
class=
"task_con"
><span>
发起时间:
2023-01-24
</span><span>
关联客户:
<font
class=
"wordprimary"
>
重庆市交通局
</font></span><span>
完成时间:2023-0.-03
</span></div>
<div
class=
"task_con"
><span>
发起时间:
{{
item
.
createTime
}}
</span><span
v-if=
"item.target"
>
关联客户:
<font
class=
"wordprimary"
>
{{
item
.
target
}}
</font></span><span
v-if=
"item.finishTime"
>
完成时间:
{{
item
.
finishTime
}}
</span></div>
<div
class=
"select"
:class=
"
{'on':
status == 1
}">
<div
class=
"select"
:class=
"
{'on':
item.state == 2
}">
<div
class=
"select-popper"
>
<div
class=
"select-popper"
>
<span
class=
"color_text"
>
<span
class=
"color_text"
>
{{
status
==
0
?
"未完成"
:
"已
完成"
}}
{{
item
.
state
==
2
?
"已完成"
:
"未
完成"
}}
<i
class=
"el-icon-caret-bottom"
></i>
<i
class=
"el-icon-caret-bottom"
></i>
</span>
</span>
<el-select
placeholder=
"请选择"
v-model=
"
status"
class=
"select-multiple
"
>
<el-select
placeholder=
"请选择"
v-model=
"
item.state"
class=
"select-multiple"
@
change=
"changes(item.id,$event)
"
>
<el-option
label=
"未完成"
value=
"0"
></el-option>
<el-option
label=
"未完成"
value=
"0"
></el-option>
<el-option
label=
"已完成"
value=
"1"
></el-option>
<el-option
label=
"未完成"
value=
"1"
></el-option>
<el-option
label=
"已完成"
value=
"2"
></el-option>
</el-select>
</el-select>
</div></div>
</div></div>
</div>
</div>
<div
class=
"tasklist"
>
<div
class=
"task_name"
>
周二拜访交通局李主任
</div>
<div
class=
"tables"
v-if=
"datalist.total>searchPram.pageSize"
>
<div
class=
"task_con"
><span>
发起时间:2023-01-24
</span><span>
关联客户:
<font
class=
"wordprimary"
>
重庆市交通局
</font></span><span>
完成时间:2023-0.-03
</span></div>
<div
class=
"bottems"
>
<div
class=
"select"
:class=
"
{'on':status == 1}">
<el-pagination
<div
class=
"select-popper"
>
background
<span
class=
"color_text"
>
:page-size=
"searchPram.pageSize"
{{
status
==
0
?
"未完成"
:
"已完成"
}}
:current-page=
"searchPram.pageNum"
<i
class=
"el-icon-caret-bottom"
></i>
@
current-change=
"handleCurrentChange"
</span>
layout=
"prev, pager, next"
<el-select
placeholder=
"请选择"
v-model=
"status"
class=
"select-multiple"
>
:total=
"datalist.total"
>
<el-option
label=
"未完成"
value=
"0"
></el-option>
</el-pagination>
<el-option
label=
"已完成"
value=
"1"
></el-option>
</div>
</el-select>
</div></div>
</div>
</div>
</div>
</div>
</el-card>
</el-card>
...
@@ -67,6 +66,8 @@
...
@@ -67,6 +66,8 @@
<
script
>
<
script
>
import
"@/assets/styles/project.scss"
import
"@/assets/styles/project.scss"
import
"@/assets/styles/public.css"
import
"@/assets/styles/public.css"
import
{
addGZDB
,
getGZDB
,
editGZDB
}
from
'@/api/project/project'
export
default
{
export
default
{
name
:
'gjjl'
,
name
:
'gjjl'
,
data
(){
data
(){
...
@@ -74,13 +75,67 @@
...
@@ -74,13 +75,67 @@
isEdit
:
false
,
isEdit
:
false
,
value
:
''
,
value
:
''
,
status
:
0
,
status
:
0
,
queryParam
:{
businessId
:
parseInt
(
this
.
$route
.
query
.
id
),
//项目详情id
target
:
''
,
task
:
''
,
finishTime
:
''
,
},
searchPram
:{
businessId
:
parseInt
(
this
.
$route
.
query
.
id
),
pageSize
:
10
,
pageNum
:
1
,
state
:
null
,
},
datalist
:[],
}
}
},
},
created
(){
this
.
getList
()
},
methods
:{
methods
:{
getEdit
(){
getEdit
(){
this
.
isEdit
=
true
;
this
.
isEdit
=
true
;
this
.
value
=
""
this
.
value
=
""
},
},
add
(){
addGZDB
(
this
.
queryParam
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
"添加成功!"
)
this
.
getList
()
}
else
{
this
.
$message
.
error
(
result
.
msg
)
}
})
},
getList
(){
getGZDB
(
this
.
searchPram
).
then
(
result
=>
{
this
.
datalist
=
result
.
code
==
200
?
result
:[]
})
},
handleCurrentChange
(
val
){
this
.
searchPram
.
pageNum
=
val
this
.
getList
()
},
changes
(
id
,
state
){
let
param
=
{
id
:
id
,
state
:
state
}
editGZDB
(
param
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
'修改成功!'
)
this
.
getList
()
}
else
{
this
.
$message
.
error
(
result
.
msg
)
}
})
},
getYQ
(){
let
state
=
this
.
searchPram
.
state
this
.
searchPram
.
state
=
state
==
0
?
null
:
0
this
.
handleCurrentChange
(
1
)
},
}
}
}
}
</
script
>
</
script
>
...
...
dsk-operate-ui/src/views/project/projectList/component/jsnr.vue
View file @
9d931208
...
@@ -200,7 +200,7 @@
...
@@ -200,7 +200,7 @@
<
script
>
<
script
>
import
"@/assets/styles/project.scss"
import
"@/assets/styles/project.scss"
import
{
getJSNR
,
editXM
SL
}
from
'@/api/project/project'
import
{
getJSNR
,
editXM
NR
}
from
'@/api/project/project'
export
default
{
export
default
{
name
:
'jsnr'
,
name
:
'jsnr'
,
data
(){
data
(){
...
@@ -249,7 +249,7 @@
...
@@ -249,7 +249,7 @@
this
.
nowedit
=
-
1
this
.
nowedit
=
-
1
let
param
=
str
let
param
=
str
param
.
id
=
this
.
id
param
.
id
=
this
.
id
editXM
SL
(
param
).
then
(
result
=>
{
editXM
NR
(
param
).
then
(
result
=>
{
if
(
result
.
code
==
200
)
if
(
result
.
code
==
200
)
this
.
$message
.
success
(
'修改成功'
)
this
.
$message
.
success
(
'修改成功'
)
else
{
else
{
...
...
dsk-operate-ui/src/views/project/projectList/component/xmsl.vue
View file @
9d931208
...
@@ -15,7 +15,7 @@
...
@@ -15,7 +15,7 @@
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
</div>
</div>
</div>
</div>
<span
class=
"txt"
v-else
@
click=
"nowedit = 1"
>
待添加
</span>
<span
class=
"txt"
v-else
@
click=
"nowedit = 1"
>
{{
datas
.
projectLevel
||
'待添加'
}}
</span>
</div>
</div>
</div>
</div>
<div
class=
"con i"
>
<div
class=
"con i"
>
...
@@ -138,27 +138,27 @@
...
@@ -138,27 +138,27 @@
<div
class=
"otherdata"
>
<div
class=
"otherdata"
>
<div
class=
"det"
>
<div
class=
"det"
>
<img
src=
"@/assets/images/project/xgsj_1.png"
>
<img
src=
"@/assets/images/project/xgsj_1.png"
>
<div
class=
"i"
>
0
个
</div>
<div
class=
"i"
>
{{
datas
.
contactsCount
}}
个
</div>
<div
class=
"j"
>
联系人
</div>
<div
class=
"j"
>
联系人
</div>
</div>
</div>
<div
class=
"det"
>
<div
class=
"det"
>
<img
src=
"@/assets/images/project/xgsj_2.png"
>
<img
src=
"@/assets/images/project/xgsj_2.png"
>
<div
class=
"i"
>
0
条
</div>
<div
class=
"i"
>
{{
datas
.
followRecordCount
}}
条
</div>
<div
class=
"j"
>
跟进记录
</div>
<div
class=
"j"
>
跟进记录
</div>
</div>
</div>
<div
class=
"det"
>
<div
class=
"det"
>
<img
src=
"@/assets/images/project/xgsj_3.png"
>
<img
src=
"@/assets/images/project/xgsj_3.png"
>
<div
class=
"i"
>
0
条
</div>
<div
class=
"i"
>
{{
datas
.
backlogCount
}}
条
</div>
<div
class=
"j"
>
工作待办
</div>
<div
class=
"j"
>
工作待办
</div>
</div>
</div>
<div
class=
"det"
>
<div
class=
"det"
>
<img
src=
"@/assets/images/project/xgsj_4.png"
>
<img
src=
"@/assets/images/project/xgsj_4.png"
>
<div
class=
"i"
>
0
个
</div>
<div
class=
"i"
>
{{
datas
.
fileCount
}}
个
</div>
<div
class=
"j"
>
资料文档
</div>
<div
class=
"j"
>
资料文档
</div>
</div>
</div>
<div
class=
"det"
>
<div
class=
"det"
>
<img
src=
"@/assets/images/project/xgsj_5.png"
>
<img
src=
"@/assets/images/project/xgsj_5.png"
>
<div
class=
"i"
>
0
家
</div>
<div
class=
"i"
>
{{
datas
.
relateCompanyCount
}}
家
</div>
<div
class=
"j"
>
相关企业
</div>
<div
class=
"j"
>
相关企业
</div>
</div>
</div>
</div>
</div>
...
@@ -190,6 +190,8 @@
...
@@ -190,6 +190,8 @@
getDictType
(
'project_stage_type'
).
then
(
result
=>
{
getDictType
(
'project_stage_type'
).
then
(
result
=>
{
this
.
projectStage
=
result
.
code
==
200
?
result
.
data
:[]
this
.
projectStage
=
result
.
code
==
200
?
result
.
data
:[]
})
})
this
.
xmjd
=
this
.
datas
.
projectStage
this
.
tipslit
=
this
.
datas
.
labelList
},
},
methods
:{
methods
:{
//验证电话号码
//验证电话号码
...
...
dsk-operate-ui/src/views/project/projectList/detail.vue
View file @
9d931208
...
@@ -5,18 +5,19 @@
...
@@ -5,18 +5,19 @@
<span>
/ 商机列表
</span>
<span>
/ 商机列表
</span>
<span>
/ 项目详情
</span>
<span>
/ 项目详情
</span>
</div>
</div>
<div
class=
"app-container"
>
<div
class=
"app-container"
v-if=
"ProjectData"
>
<el-card
class=
"box-card noborder pad16 overflows"
>
<el-card
class=
"box-card noborder pad16 overflows"
>
<div
class=
"head baseinfo"
>
<div
class=
"head baseinfo"
>
<div
class=
"titles"
>
<div
class=
"titles"
>
<img
src=
"@/assets/images/project/headimg.png"
class=
"headimg"
>
<img
src=
"@/assets/images/project/headimg.png"
class=
"headimg"
>
<strong
class=
"text"
>
重庆市轨道交通3号线二期工程4标段施工总承包
</strong>
<strong
class=
"text"
>
{{
ProjectData
.
projectName
}}
</strong>
<div
class=
"locks"
>
<div
class=
"locks"
>
<img
v-if=
"
islock == true
"
src=
"@/assets/images/project/lock.png"
>
<img
v-if=
"
ProjectData.isPrivate == 0
"
src=
"@/assets/images/project/lock.png"
>
<img
v-else
src=
"@/assets/images/project/lockopen.png"
>
<img
v-else
src=
"@/assets/images/project/lockopen.png"
>
仅自己可见
{{
ProjectData
.
isPrivate
==
0
?
"仅自己可见"
:
"他人可见"
}}
<!--
<div
class=
"delform"
>
-->
<!--
<div
class=
"delform"
>
-->
<!--
<div
class=
"words"
>
{{
islock
==
true
?
"是否将项目权限修改为他人可见?"
:
"是否将项目权限修改为仅自己可见?"
}}
</div>
-->
<!--
<div
class=
"words"
>
{{
ProjectData
.
isPrivate
==
0
?
"是否将项目权限修改为他人可见?"
:
"是否将项目权限修改为仅自己可见?"
}}
</div>
-->
<!--
<div>
-->
<!--
<div>
-->
<!--
<div
class=
"btnsmall btn_primary h28"
>
确定
</div>
-->
<!--
<div
class=
"btnsmall btn_primary h28"
>
确定
</div>
-->
<!--
<div
class=
"btnsmall btn_cancel h28"
>
取消
</div>
-->
<!--
<div
class=
"btnsmall btn_cancel h28"
>
取消
</div>
-->
...
@@ -32,7 +33,7 @@
...
@@ -32,7 +33,7 @@
{{
xmlx
}}
{{
xmlx
}}
<i
class=
"el-icon-caret-bottom"
></i>
<i
class=
"el-icon-caret-bottom"
></i>
</span>
</span>
<el-select
v-model=
"xmlx"
class=
"select-multiple"
placeholder=
"请选择"
>
<el-select
v-model=
"xmlx"
class=
"select-multiple"
placeholder=
"请选择"
@
change=
"
{}"
>
<el-option
v-for=
"(item,index) in projectType"
:key=
"index"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
<el-option
v-for=
"(item,index) in projectType"
:key=
"index"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
</el-select>
</div>
</div>
...
@@ -55,20 +56,20 @@
...
@@ -55,20 +56,20 @@
<span>
投资估算(万元):
</span>
<span>
投资估算(万元):
</span>
<div
class=
"inputxt i"
:class=
"
{'nomar':nowedit != 3}">
<div
class=
"inputxt i"
:class=
"
{'nomar':nowedit != 3}">
<div
class=
"flex"
v-if=
"nowedit == 3"
>
<div
class=
"flex"
v-if=
"nowedit == 3"
>
<el-input
placeholder=
"待添加"
@
input=
"number"
></el-input>
<el-input
v-model=
"ProjectData.investmentAmount"
placeholder=
"待添加"
@
input=
"number"
></el-input>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
>
确定
</div>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
>
确定
</div>
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
</div>
</div>
</div>
</div>
<span
class=
"txt"
v-else
@
click=
"nowedit = 3"
>
待添加
</span>
<span
:class=
"
{txt:ProjectData.investmentAmoun==''}" v-else @click="nowedit = 3">
{{
ProjectData
.
investmentAmount
||
'待添加'
}}
</span>
</div>
</div>
</div>
</div>
<div
class=
"det-con"
>
<div
class=
"det-con"
>
<span>
建设地点:
</span>
<span>
建设地点:
</span>
<div
class=
"select-popper"
>
<div
class=
"select-popper"
>
<span
:class=
"
{ color_text:address != '
address
'}">
<span
:class=
"
{ color_text:address != '
待添加
'}">
{{
address
}}
{{
address
}}
<i
class=
"el-icon-caret-bottom"
></i>
<i
class=
"el-icon-caret-bottom"
></i>
</span>
</span>
...
@@ -80,15 +81,15 @@
...
@@ -80,15 +81,15 @@
</div>
</div>
<div
class=
"det-con"
>
<div
class=
"det-con"
>
<span>
商务团队:
</span>
<span>
商务团队:
</span>
<span>
李力
</span>
<span>
{{
ProjectData
.
team
}}
</span>
</div>
</div>
</div>
</div>
<div
class=
"schedule"
>
<div
class=
"schedule"
>
<div
class=
"child"
v-for=
"(item,index) in projectStage"
@
mouseover=
"hover(i
ndex)"
@
mouseleave=
"hover(-1)"
@
click=
"choose(index,
item.dictValue)"
>
<div
class=
"child"
v-for=
"(item,index) in projectStage"
@
mouseover=
"hover(i
tem.dictValue)"
@
mouseleave=
"hover(-1)"
@
click=
"choose(
item.dictValue)"
>
<img
v-if=
"i
ndex
== lastindex"
src=
"@/assets/images/project/pro_2.png"
>
<img
v-if=
"i
tem.dictValue
== lastindex"
src=
"@/assets/images/project/pro_2.png"
>
<img
v-else-if=
"i
ndex
== thisindex"
src=
"@/assets/images/project/pro_3.png"
>
<img
v-else-if=
"i
tem.dictValue
== thisindex"
src=
"@/assets/images/project/pro_3.png"
>
<img
v-else
src=
"@/assets/images/project/pro_1.png"
>
<img
v-else
src=
"@/assets/images/project/pro_1.png"
>
<span
:class=
"
{'now':i
ndex
== thisindex}">
{{
item
.
dictLabel
}}
</span>
<span
:class=
"
{'now':i
tem.dictValue
== thisindex}">
{{
item
.
dictLabel
}}
</span>
</div>
</div>
</div>
</div>
...
@@ -163,7 +164,7 @@
...
@@ -163,7 +164,7 @@
domicile
:[],
domicile
:[],
props
:{
checkStrictly
:
true
,
expandTrigger
:
'hover'
},
props
:{
checkStrictly
:
true
,
expandTrigger
:
'hover'
},
id
:
''
,
id
:
''
,
ProjectData
:
null
,
ProjectData
:
{}
,
}
}
},
},
created
(){
created
(){
...
@@ -183,9 +184,23 @@
...
@@ -183,9 +184,23 @@
})
})
//获取基本信息
//获取基本信息
getXMSL
(
this
.
id
).
then
(
result
=>
{
getXMSL
(
this
.
id
).
then
(
result
=>
{
this
.
ProjectData
=
result
.
code
==
200
?
result
.
data
:[]
this
.
ProjectData
=
result
.
code
==
200
?
result
.
data
:{}
this
.
$route
.
query
.
projectname
=
result
.
data
.
projectName
this
.
$route
.
query
.
projectname
=
result
.
data
.
projectName
this
.
xmlx
=
result
.
data
.
projectType
==
""
||
result
.
data
.
projectType
==
null
?
"请选择"
:
result
.
data
.
projectType
this
.
xmlb
=
result
.
data
.
projectCategory
==
""
||
result
.
data
.
projectCategory
==
null
?
"请选择"
:
result
.
data
.
projectCategory
this
.
thisindex
=
result
.
data
.
projectStage
let
list
=
[]
if
(
result
.
data
.
provinceName
){
list
.
push
(
result
.
data
.
provinceName
)
}
if
(
result
.
data
.
cityName
){
list
.
push
(
result
.
data
.
cityName
)
}
if
(
result
.
data
.
districtName
){
list
.
push
(
result
.
data
.
districtName
)
}
this
.
address
=
list
console
.
log
(
this
.
ProjectData
.
team
)
})
})
},
},
methods
:
{
methods
:
{
...
@@ -218,11 +233,11 @@
...
@@ -218,11 +233,11 @@
},
},
//进度条悬浮、点击事件
//进度条悬浮、点击事件
hover
(
index
){
hover
(
value
){
this
.
lastindex
=
index
this
.
lastindex
=
value
},
},
choose
(
index
,
value
){
choose
(
value
){
this
.
thisindex
=
index
this
.
thisindex
=
value
console
.
log
(
value
)
console
.
log
(
value
)
},
},
//内容组件切换
//内容组件切换
...
@@ -236,7 +251,7 @@
...
@@ -236,7 +251,7 @@
},
},
handleChange
(
value
)
{
handleChange
(
value
)
{
//
console.log(value);
console
.
log
(
value
);
let
str
=
''
let
str
=
''
var
labelString
=
this
.
$refs
.
myCascader
.
getCheckedNodes
()[
0
].
pathLabels
;
var
labelString
=
this
.
$refs
.
myCascader
.
getCheckedNodes
()[
0
].
pathLabels
;
labelString
.
forEach
((
item
,
index
)
=>
{
labelString
.
forEach
((
item
,
index
)
=>
{
...
...
dsk-system/src/main/java/com/dsk/system/service/EconomicService.java
View file @
9d931208
package
com
.
dsk
.
system
.
service
;
package
com
.
dsk
.
system
.
service
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.dtos.OpRegionalEconomicDataRegionalListDto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataStatisticsRegionalDto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataV1Dto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataV1Dto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataV1PageDto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataV1PageDto
;
...
@@ -39,7 +41,7 @@ public interface EconomicService {
...
@@ -39,7 +41,7 @@ public interface EconomicService {
*@Author: Dgm
*@Author: Dgm
*@date: 2023/5/18 10:25
*@date: 2023/5/18 10:25
*/
*/
AjaxResult
statisticsRegional
(
OpRegionalEconomicData
V1
Dto
dto
);
AjaxResult
statisticsRegional
(
OpRegionalEconomicData
StatisticsRegional
Dto
dto
);
/***
/***
*@Description: 地区经济-分页列表
*@Description: 地区经济-分页列表
...
@@ -48,7 +50,7 @@ public interface EconomicService {
...
@@ -48,7 +50,7 @@ public interface EconomicService {
*@Author: Dgm
*@Author: Dgm
*@date: 2023/5/18 10:25
*@date: 2023/5/18 10:25
*/
*/
AjaxResult
regionalList
(
OpRegionalEconomicData
V1
Dto
dto
);
AjaxResult
regionalList
(
OpRegionalEconomicData
RegionalList
Dto
dto
);
/***
/***
*@Description: 地区经济-分页列表
*@Description: 地区经济-分页列表
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/CustomerServiceImpl.java
View file @
9d931208
...
@@ -76,15 +76,16 @@ public class CustomerServiceImpl implements ICustomerService {
...
@@ -76,15 +76,16 @@ public class CustomerServiceImpl implements ICustomerService {
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
add
(
Customer
customer
)
{
public
boolean
add
(
Customer
customer
)
{
try
{
if
(
ObjectUtils
.
isEmpty
(
customer
.
getUipId
()))
{
R
res
=
enterpriseService
.
getUipId
(
customer
.
getCompanyName
());
try
{
if
(!
ObjectUtils
.
isEmpty
(
res
.
getData
()))
{
R
res
=
enterpriseService
.
getUipId
(
customer
.
getCompanyName
());
customer
.
setUipId
(
MapUtil
.
getStr
(
BeanUtil
.
beanToMap
(
res
.
getData
()),
"uipId"
));
if
(!
ObjectUtils
.
isEmpty
(
res
.
getData
()))
{
customer
.
setUipId
(
MapUtil
.
getStr
(
BeanUtil
.
beanToMap
(
res
.
getData
()),
"uipId"
));
}
}
catch
(
Exception
e
)
{
log
.
error
(
"获取城投平台企业id错误!error:{}"
,
e
.
getMessage
());
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"获取城投平台企业id错误!error:{}"
,
e
.
getMessage
());
}
}
Long
userId
=
SecurityUtils
.
getUserId
();
Long
userId
=
SecurityUtils
.
getUserId
();
customer
.
setCreateId
(
userId
);
customer
.
setCreateId
(
userId
);
customer
.
setUpdateId
(
userId
);
customer
.
setUpdateId
(
userId
);
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/EconomicServiceImpl.java
View file @
9d931208
...
@@ -2,6 +2,8 @@ package com.dsk.system.service.impl;
...
@@ -2,6 +2,8 @@ package com.dsk.system.service.impl;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.dtos.OpRegionalEconomicDataRegionalListDto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataStatisticsRegionalDto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataV1Dto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataV1Dto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataV1PageDto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataV1PageDto
;
import
com.dsk.common.utils.DskOpenApiUtil
;
import
com.dsk.common.utils.DskOpenApiUtil
;
...
@@ -40,13 +42,13 @@ public class EconomicServiceImpl implements EconomicService {
...
@@ -40,13 +42,13 @@ public class EconomicServiceImpl implements EconomicService {
}
}
@Override
@Override
public
AjaxResult
statisticsRegional
(
OpRegionalEconomicData
V1
Dto
dto
)
{
public
AjaxResult
statisticsRegional
(
OpRegionalEconomicData
StatisticsRegional
Dto
dto
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/economic/statistics/regional"
,
BeanUtil
.
beanToMap
(
dto
,
false
,
false
));
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/economic/statistics/regional"
,
BeanUtil
.
beanToMap
(
dto
,
false
,
false
));
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
}
@Override
@Override
public
AjaxResult
regionalList
(
OpRegionalEconomicData
V1
Dto
dto
)
{
public
AjaxResult
regionalList
(
OpRegionalEconomicData
RegionalList
Dto
dto
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/economic/regional/list"
,
BeanUtil
.
beanToMap
(
dto
,
false
,
false
));
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/economic/regional/list"
,
BeanUtil
.
beanToMap
(
dto
,
false
,
false
));
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
}
...
...
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