Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-operate-sys-cscec
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
fulixin
dsk-operate-sys-cscec
Commits
3edac885
Commit
3edac885
authored
Jun 21, 2023
by
caixingbing
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://192.168.60.201/root/dsk-operate-sys
parents
6ccebc6a
27ccaea9
Changes
59
Hide whitespace changes
Inline
Side-by-side
Showing
59 changed files
with
1022 additions
and
332 deletions
+1022
-332
BusinessFileController.java
...m/dsk/web/controller/business/BusinessFileController.java
+7
-4
RegionalEconomicDataController.java
...er/search/macroMarket/RegionalEconomicDataController.java
+12
-0
BusinessContacts.java
...a/com/dsk/common/core/domain/entity/BusinessContacts.java
+40
-17
BusinessInfo.java
.../java/com/dsk/common/core/domain/entity/BusinessInfo.java
+3
-4
OpRegionalEconomicDataStatisticsRegionalDto.java
...mon/dtos/OpRegionalEconomicDataStatisticsRegionalDto.java
+1
-1
OpRegionalEconomicRegionalCompareDto.java
...dsk/common/dtos/OpRegionalEconomicRegionalCompareDto.java
+23
-0
CheckUtils.java
...common/src/main/java/com/dsk/common/utils/CheckUtils.java
+37
-4
index.scss
dsk-operate-ui/src/assets/styles/index.scss
+5
-0
project.scss
dsk-operate-ui/src/assets/styles/project.scss
+12
-3
public.css
dsk-operate-ui/src/assets/styles/public.css
+3
-0
index.vue
dsk-operate-ui/src/views/custom/customList/index.vue
+14
-3
HeadForm.vue
...perate-ui/src/views/detail/party-a/component/HeadForm.vue
+2
-2
Tables.vue
dsk-operate-ui/src/views/detail/party-a/component/Tables.vue
+39
-0
index.vue
dsk-operate-ui/src/views/detail/party-a/cooperate/index.vue
+8
-8
index.vue
dsk-operate-ui/src/views/detail/party-a/index.vue
+1
-1
businessAnomaly.vue
.../views/detail/party-a/riskInformation/businessAnomaly.vue
+2
-2
punish.vue
...te-ui/src/views/detail/party-a/riskInformation/punish.vue
+1
-1
comparison.vue
...ate-ui/src/views/macro/economies/component/comparison.vue
+34
-11
industrialStructure.vue
...c/views/macro/economies/component/industrialStructure.vue
+74
-11
localEconomy.vue
...e-ui/src/views/macro/economies/component/localEconomy.vue
+30
-12
regionalEconomy.vue
...i/src/views/macro/economies/component/regionalEconomy.vue
+39
-10
index.vue
dsk-operate-ui/src/views/macro/economies/index.vue
+38
-17
index.vue
dsk-operate-ui/src/views/macro/enterprises/index.vue
+71
-19
index.vue
dsk-operate-ui/src/views/macro/financing/index.vue
+9
-2
qgjjdq.vue
...ui/src/views/macro/nationalEconomies/component/qgjjdq.vue
+44
-14
zhaobiao.vue
.../src/views/macro/nationalEconomies/component/zhaobiao.vue
+2
-2
zhongbiao.vue
...src/views/macro/nationalEconomies/component/zhongbiao.vue
+3
-3
index.vue
dsk-operate-ui/src/views/macro/urban/index.vue
+32
-5
addProject.vue
...ui/src/views/project/projectList/component/addProject.vue
+3
-2
batchImport.vue
...i/src/views/project/projectList/component/batchImport.vue
+3
-1
gjjl.vue
...erate-ui/src/views/project/projectList/component/gjjl.vue
+2
-2
gzdb.vue
...erate-ui/src/views/project/projectList/component/gzdb.vue
+13
-5
jsnr.vue
...erate-ui/src/views/project/projectList/component/jsnr.vue
+54
-16
lxr.vue
...perate-ui/src/views/project/projectList/component/lxr.vue
+39
-12
xgqy.vue
...erate-ui/src/views/project/projectList/component/xgqy.vue
+8
-5
xmsl.vue
...erate-ui/src/views/project/projectList/component/xmsl.vue
+62
-25
zlwd.vue
...erate-ui/src/views/project/projectList/component/zlwd.vue
+8
-4
detail.vue
dsk-operate-ui/src/views/project/projectList/detail.vue
+36
-18
index.vue
dsk-operate-ui/src/views/project/projectList/index.vue
+16
-2
index.vue
dsk-operate-ui/src/views/radar/components/Bidding/index.vue
+2
-2
index.vue
...ate-ui/src/views/radar/components/Establishment/index.vue
+0
-2
index.vue
dsk-operate-ui/src/views/radar/components/Land/index.vue
+14
-5
index.vue
...operate-ui/src/views/radar/components/bxprozbgg/index.vue
+20
-9
index.vue
...erate-ui/src/views/radar/components/debtProject/index.vue
+26
-24
BusinessAddDto.java
...m/src/main/java/com/dsk/system/domain/BusinessAddDto.java
+1
-6
CustomerBusinessSearchDto.java
...system/domain/customer/dto/CustomerBusinessSearchDto.java
+4
-0
BusinessBrowseVo.java
.../main/java/com/dsk/system/domain/vo/BusinessBrowseVo.java
+5
-0
EnterpriseService.java
...ain/java/com/dsk/system/dskService/EnterpriseService.java
+4
-1
BusinessUserMapper.java
...c/main/java/com/dsk/system/mapper/BusinessUserMapper.java
+9
-0
EconomicService.java
...src/main/java/com/dsk/system/service/EconomicService.java
+9
-0
BusinessContactsServiceImpl.java
.../dsk/system/service/impl/BusinessContactsServiceImpl.java
+11
-4
BusinessInfoServiceImpl.java
.../com/dsk/system/service/impl/BusinessInfoServiceImpl.java
+24
-4
BusinessRelateCompanyServiceImpl.java
...system/service/impl/BusinessRelateCompanyServiceImpl.java
+4
-8
CustomerServiceImpl.java
...java/com/dsk/system/service/impl/CustomerServiceImpl.java
+11
-10
EconomicServiceImpl.java
...java/com/dsk/system/service/impl/EconomicServiceImpl.java
+6
-0
BusinessContactsMapper.xml
...main/resources/mapper/business/BusinessContactsMapper.xml
+13
-7
BusinessInfoMapper.xml
...src/main/resources/mapper/business/BusinessInfoMapper.xml
+2
-1
BusinessUserMapper.xml
...src/main/resources/mapper/business/BusinessUserMapper.xml
+6
-0
CustomerMapper.xml
.../main/resources/mapper/system/customer/CustomerMapper.xml
+21
-1
No files found.
dsk-admin/src/main/java/com/dsk/web/controller/business/BusinessFileController.java
View file @
3edac885
...
...
@@ -77,12 +77,15 @@ public class BusinessFileController extends BaseController {
* @return
*/
@PostMapping
(
"/upload"
)
public
AjaxResult
uploadFolder
(
@RequestPart
(
"file"
)
MultipartFile
file
,
HttpServletRequest
request
){
public
AjaxResult
uploadFolder
(
@RequestPart
(
"file"
)
MultipartFile
file
,
HttpServletRequest
request
)
{
try
{
//获取文件名
String
filename
=
file
.
getOriginalFilename
();
//TODO 校验是否上传同名文件
String
businessFileName
=
request
.
getHeader
(
"FilePath"
);
// 上传文件路径
String
filePath
=
RuoYiConfig
.
getUploadPath
()+
businessFileName
+
"/"
;
// 上传并返回文件全路径
// 上传文件路径
String
filePath
=
RuoYiConfig
.
getUploadPath
()
+
businessFileName
+
"/"
;
// 上传并返回文件全路径
String
fileName
=
FileUploadUtils
.
upload
(
filePath
,
file
);
String
url
=
serverConfig
.
getUrl
()
+
fileName
;
AjaxResult
ajax
=
AjaxResult
.
success
();
...
...
dsk-admin/src/main/java/com/dsk/web/controller/search/macroMarket/RegionalEconomicDataController.java
View file @
3edac885
...
...
@@ -114,4 +114,16 @@ public class RegionalEconomicDataController {
return
economicService
.
regionalCompare
(
dto
);
}
/***
*@Description: 地区经济-对比
*@Param:
*@return: com.dsk.acc.security.common.msg.RestResponse
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping
(
"/regional/multipleCompare"
)
public
AjaxResult
regionalMultipleCompare
(
@RequestBody
OpRegionalEconomicRegionalCompareDto
compareDto
)
{
return
economicService
.
regionalMultipleCompare
(
compareDto
);
}
}
dsk-common/src/main/java/com/dsk/common/core/domain/entity/BusinessContacts.java
View file @
3edac885
package
com
.
dsk
.
common
.
core
.
domain
.
entity
;
import
java.util.Date
;
import
com.dsk.common.core.domain.BaseEntity
;
import
com.dsk.common.utils.CheckUtils
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.dsk.common.annotation.Excel
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
java
x.validation.constraints.Pattern
;
import
java
.util.Date
;
/**
* 项目联系人对象 business_contacts
...
...
@@ -17,7 +13,7 @@ import javax.validation.constraints.Pattern;
* @author lxl
* @date 2023-05-17
*/
public
class
BusinessContacts
extends
BaseEntity
public
class
BusinessContacts
{
private
static
final
long
serialVersionUID
=
1L
;
...
...
@@ -52,10 +48,21 @@ public class BusinessContacts extends BaseEntity
@Excel
(
name
=
"维护人员"
)
private
String
accendant
;
/** 性别(1.男 2.女 0.未知) */
@Excel
(
name
=
"性别"
)
private
Integer
sex
;
/** 创建时间 */
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
@Excel
(
name
=
"创建时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd"
)
private
Date
creatTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@Excel
(
name
=
"创建时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
createTime
;
/** 修改时间 */
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@Excel
(
name
=
"修改时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
updateTime
;
public
void
setId
(
Integer
id
)
{
...
...
@@ -129,14 +136,29 @@ public class BusinessContacts extends BaseEntity
{
return
accendant
;
}
public
void
setCreatTime
(
Date
creatTime
)
{
this
.
creatTime
=
creat
Time
;
public
Date
getCreateTime
()
{
return
create
Time
;
}
public
Date
getCreatTime
()
{
return
creatTime
;
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
Date
getUpdateTime
()
{
return
updateTime
;
}
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
public
Integer
getSex
()
{
return
sex
;
}
public
void
setSex
(
Integer
sex
)
{
this
.
sex
=
sex
;
}
@Override
...
...
@@ -150,8 +172,9 @@ public class BusinessContacts extends BaseEntity
.
append
(
"position"
,
getPosition
())
.
append
(
"phone"
,
getPhone
())
.
append
(
"accendant"
,
getAccendant
())
.
append
(
"creat
Time"
,
getCreat
Time
())
.
append
(
"creat
eTime"
,
getCreate
Time
())
.
append
(
"updateTime"
,
getUpdateTime
())
.
append
(
"sex"
,
getSex
())
.
toString
();
}
}
dsk-common/src/main/java/com/dsk/common/core/domain/entity/BusinessInfo.java
View file @
3edac885
package
com
.
dsk
.
common
.
core
.
domain
.
entity
;
import
java.util.Date
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.dsk.common.annotation.Excel
;
import
com.dsk.common.core.domain.BaseEntity
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.dsk.common.annotation.Excel
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
java.util.Date
;
/**
* 项目详情对象 business_info
*
...
...
dsk-common/src/main/java/com/dsk/common/dtos/OpRegionalEconomicDataStatisticsRegionalDto.java
View file @
3edac885
...
...
@@ -6,7 +6,7 @@ import javax.validation.constraints.NotNull;
/**
* @ClassName OpRegionalEconomicDataV1Dto
* @Description
专项债-项目类别统计
* @Description
地区经济
* @Author Dgm
* @Date 2023/5/23 14:05
* @Version
...
...
dsk-common/src/main/java/com/dsk/common/dtos/OpRegionalEconomicRegionalCompareDto.java
0 → 100644
View file @
3edac885
package
com
.
dsk
.
common
.
dtos
;
import
lombok.Data
;
import
java.util.List
;
/**
* @ClassName OpRegionalEconomicRegionalCompareDto
* @Description 地区经济-对比
* @Author Dgm
* @Date 2023/5/23 14:05
* @Version
*/
@Data
public
class
OpRegionalEconomicRegionalCompareDto
{
/**
* 年份
*/
private
Integer
year
;
private
List
<
OpRegionalEconomicDataStatisticsRegionalDto
>
compareList
;
}
dsk-common/src/main/java/com/dsk/common/utils/CheckUtils.java
View file @
3edac885
...
...
@@ -8,7 +8,8 @@ import java.util.regex.Pattern;
*/
public
class
CheckUtils
{
public
static
final
String
REG_Moblie
=
"^((13[0-9])|(14(0|[5-7]|9))|(15([0-3]|[5-9]))|(16(2|[5-7]))|(17[0-8])|(18[0-9])|(19([0-3]|[5-9])))\\d{8}$"
;
public
static
final
String
REG_Moblie
=
"^((13[0-9])|(14(0|[5-7]|9))|(15([0-3]|[5-9]))|(16(2|[5-7]))|(17[0-8])|(18[0-9])|(19([0-3]|[5-9])))\\d{8}$"
;
//手机号
public
static
final
String
REG_Landline
=
"(\\(\\d{3,4}\\)|\\d{3,4}-|\\s)?\\d{8}"
;
//座机号
public
static
final
String
REG_EMAIL
=
"[a-zA-Z0-9]+@[a-zA-Z0-9]+\\.[a-zA-Z0-9]+"
;
...
...
@@ -35,10 +36,42 @@ public class CheckUtils {
if
(
phone
==
null
){
return
false
;
}
else
{
Pattern
p
=
Pattern
.
compile
(
REG_Moblie
);
Matcher
m
=
p
.
matcher
(
phone
);
return
m
.
matches
();
Pattern
mobilePattern
=
Pattern
.
compile
(
REG_Moblie
);
Pattern
landlinePattern
=
Pattern
.
compile
(
REG_Landline
);
Matcher
mobileMatcher
=
mobilePattern
.
matcher
(
phone
);
Matcher
landlineMatcher
=
landlinePattern
.
matcher
(
phone
);
return
mobileMatcher
.
matches
()
||
landlineMatcher
.
matches
();
}
}
/**
* Double小数点前的位数
* @param number
* @return
*/
public
static
int
checkIntegerPlaces
(
Double
number
)
{
String
strNumber
=
Double
.
toString
(
Math
.
abs
(
number
));
int
integerPlaces
=
strNumber
.
indexOf
(
'.'
);
if
(
integerPlaces
==
-
1
)
{
return
strNumber
.
length
();
}
else
{
return
integerPlaces
;
}
}
/**
* Double小数点后的位数
* @param number
* @return
*/
public
static
int
checkDecimalPlaces
(
Double
number
)
{
String
strNumber
=
Double
.
toString
(
Math
.
abs
(
number
));
int
decimalPlaces
=
0
;
int
index
=
strNumber
.
indexOf
(
'.'
);
if
(
index
!=
-
1
)
{
decimalPlaces
=
strNumber
.
length
()
-
index
-
1
;
}
return
decimalPlaces
;
}
}
dsk-operate-ui/src/assets/styles/index.scss
View file @
3edac885
...
...
@@ -343,6 +343,11 @@ ul, li {
}
}
}
.el-table__fixed
{
tr
:nth-child
(
2n
)
{
background-color
:
#F8FBFF
;
}
}
}
}
...
...
dsk-operate-ui/src/assets/styles/project.scss
View file @
3edac885
...
...
@@ -512,7 +512,7 @@
.types
{
display
:
flex
;
justify-content
:
space-between
;
padding
:
8px
0
24px
;
padding
:
24px
0
;
>
div
{
cursor
:
pointer
;
>
i
{
...
...
@@ -872,6 +872,10 @@
.el-table--enable-row-hover
.el-table__body
tr
:hover
>
td
.el-table__cell
{
background
:
#F6F9FC
;;
}
.el-table__header-wrapper
th
,
th
.el-table__cell.is-leaf
{
background
:
#fff
;
}
.hoverbtn
{
display
:
none
;
>
div
{
...
...
@@ -968,7 +972,7 @@
position
:
fixed
;
top
:
0
;
left
:
0
;
z-index
:
2
;
z-index
:
3
;
.upload
{
width
:
528px
;
height
:
430px
;
...
...
@@ -1073,7 +1077,8 @@
}
}
.success
{
width
:
240px
;
min-width
:
240px
;
padding
:
0
24px
;
height
:
175px
;
background
:
#FFFFFF
;
border-radius
:
4px
;
...
...
@@ -1163,3 +1168,7 @@
}
}
}
.select-multiple
,
.select-popper
.el-input
{
//top: 10px !important;
line-height
:
34px
!
important
;
}
dsk-operate-ui/src/assets/styles/public.css
View file @
3edac885
...
...
@@ -270,6 +270,9 @@ select {
cursor
:
pointer
;
position
:
relative
;
}
.select-popper
.select-active
{
color
:
#0381fa
;
}
.content_item
.select-popper
:hover
.select-caret
{
color
:
#0074E5
;
...
...
dsk-operate-ui/src/views/custom/customList/index.vue
View file @
3edac885
<
template
>
<div>
<div
@
click =
'handleALL'
>
<div
class=
"miantitle"
>
<span>
客户管理
</span>
<span>
/ 客户列表
</span>
...
...
@@ -202,7 +202,7 @@
<el-form
class=
"popform j"
:model=
"queryParam"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"130px"
>
<el-form-item
label=
"企业名称:"
class=
"row"
prop=
"companyName"
>
<el-input
type=
"text"
placeholder=
"请输入"
v-model=
"queryParam.companyName"
@
input=
"getCompany"
></el-input>
<div
class=
"resultlist"
v-if=
"showlist"
>
<div
class=
"resultlist"
v-if=
"showlist"
id=
"box"
>
<div
v-for=
"(item,index) in companData"
@
click=
"selCompany(item)"
><span
v-html=
"item.name"
></span></div>
</div>
</el-form-item>
...
...
@@ -302,6 +302,14 @@ export default {
this
.
prvinceTree
()
},
methods
:{
handleALL
(
event
){
var
one
=
document
.
getElementById
(
"box"
);
if
(
one
){
if
(
!
one
.
contains
(
event
.
target
)){
this
.
showlist
=
false
}
}
},
toct
(){
this
.
$router
.
push
({
path
:
'/macro/urban'
})
},
...
...
@@ -463,7 +471,10 @@ export default {
},
//输入数字
number
(
value
){
this
.
queryParam
.
registerCapital
=
value
.
replace
(
/^
\D
*
(\d
*
(?:\.\d{0,6})?)
.*$/g
,
'$1'
)
//输入6位小数
if
(
value
==
''
)
this
.
queryParam
.
registerCapital
=
value
else
this
.
queryParam
.
registerCapital
=
value
.
replace
(
/^
\D
*
(\d
*
(?:\.\d{0,6})?)
.*$/g
,
'$1'
)
//输入6位小数
}
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/component/HeadForm.vue
View file @
3edac885
...
...
@@ -28,8 +28,8 @@
prefix-icon=
"fromTime-icon"
value-format=
"yyyy-MM-dd"
range-separator=
"至"
start-placeholder=
"开始
月份
"
end-placeholder=
"结束
月份
"
>
start-placeholder=
"开始
日期
"
end-placeholder=
"结束
日期
"
>
</el-date-picker>
</
template
>
<!-- 输入框 -->
...
...
dsk-operate-ui/src/views/detail/party-a/component/Tables.vue
View file @
3edac885
...
...
@@ -143,4 +143,43 @@ export default {
/*::v-deep .el-table__fixed{
height: calc(100% - 16px) !important;
}*/
::v-deep
.el-table__row
{
&
:nth-child
(
even
)
{
background-color
:
#F9FCFF
;
.more
{
background
:
#F8FBFF
;
span
{
color
:
#0081FF
;
}
}
}
&
:nth-child
(
odd
)
{
.more
{
span
{
color
:
#0081FF
;
}
}
}
}
::v-deep
.el-table
th
.el-table__cell.is-leaf
,
::v-deep
.el-table
td
.el-table__cell
{
border-bottom
:
1px
solid
#E6EAF1
;
}
::v-deep
.el-table--border
.el-table__cell
{
border-right
:
1px
solid
#E6EAF1
;
}
::v-deep
.el-table__body
tr
.hover-row.current-row
>
td
,
::v-deep
.el-table__body
tr
.hover-row.el-table__row--striped.current-row
>
td
,
::v-deep
.el-table__body
tr
.hover-row.el-table__row--striped
>
td
,
::v-deep
.el-table__body
tr
.hover-row
>
td
{
background-color
:
#DCEBFF
!
important
;
.more
{
background
:
#DCEBFF
;
}
}
::v-deep
.el-table--enable-row-hover
.el-table__body
tr
:hover
>
td
{
background-color
:
#DCEBFF
;
}
</
style
>
dsk-operate-ui/src/views/detail/party-a/cooperate/index.vue
View file @
3edac885
...
...
@@ -46,7 +46,7 @@
<!-- 弹窗关联项目 -->
<el-drawer
title=
"添加合作情况"
size=
"4
0
%"
size=
"4
5
%"
:visible
.
sync=
"drawer"
:direction=
"direction"
:with-header=
"false"
...
...
@@ -55,19 +55,19 @@
<div
class=
"addhzqk_top"
>
<div
class=
"addhzqk_top_t"
>
<div
class=
"top_t_h1"
>
<img
src=
"@/assets/images/economies/icon.png"
/>
{{
i
nfo.companyName }}
<img
src=
"@/assets/images/economies/icon.png"
/>
{{
companyI
nfo.companyName }}
</div>
<div
class=
"top_t_close"
><i
class=
"el-icon-close"
@
click=
"handleClose"
></i></div>
</div>
<div
class=
"addhzqk_top_d"
>
<div
class=
"top_d_item"
>
法定代表人:
<span>
{{
info.legal
Person }}
</span>
法定代表人:
<span>
{{
companyInfo.corporate
Person }}
</span>
</div>
<div
class=
"top_d_item"
>
注册资本:
<span>
{{
info.registerCapital }}万
</span>
注册资本:
<span>
{{
companyInfo.regCapital }}
</span>
</div>
<div
class=
"top_d_item"
>
注册地址:
<span>
{{
info.registerAddress
}}
</span>
注册地址:
<span>
{{
companyInfo.addressDetail
}}
</span>
</div>
</div>
</div>
...
...
@@ -143,7 +143,7 @@ export default {
components
:
{
Detail
},
props
:
[
'customerIds'
],
props
:
[
'customerIds'
,
'companyInfo'
],
data
()
{
return
{
ifEmpty
:
false
,
...
...
@@ -161,7 +161,7 @@ export default {
formData
:
[
{
type
:
1
,
fieldName
:
'projectStage'
,
value
:
''
,
placeholder
:
'项目阶段'
,
options
:
[]},
{
type
:
1
,
fieldName
:
'status'
,
value
:
''
,
placeholder
:
'项目状态'
,
options
:
[]},
{
type
:
3
,
fieldName
:
'
keys'
,
value
:
''
,
placeholder
:
'输入企业名称查询
'
},
{
type
:
3
,
fieldName
:
'
projectName'
,
value
:
''
,
placeholder
:
'输入项目名称关键字搜索
'
},
],
stageOptions
:[],
statusOptions
:[],
...
...
@@ -352,7 +352,7 @@ export default {
},
//输入数字
number
(
value
){
this
.
addParam
.
investmentAmount
=
value
.
replace
(
/^
\D
*
(\d
*
(?:\.\d{0,
2
})?)
.*$/g
,
'$1'
)
//输入2位小数
this
.
addParam
.
investmentAmount
=
value
.
replace
(
/^
\D
*
(\d
*
(?:\.\d{0,
6
})?)
.*$/g
,
'$1'
)
//输入2位小数
},
//打开详情
clickDetail
(
id
){
...
...
dsk-operate-ui/src/views/detail/party-a/index.vue
View file @
3edac885
...
...
@@ -46,7 +46,7 @@
<!-- 招标偏好 -->
<Preference
v-if=
"currentPath.pathName=='preference'"
:customer-ids=
"customerId"
/>
<!-- 合作情况 -->
<Cooperate
v-if=
"currentPath.pathName=='cooperate'"
:customer-ids=
"customerId"
/>
<Cooperate
v-if=
"currentPath.pathName=='cooperate'"
:customer-ids=
"customerId"
:companyInfo=
"companyInfo"
/>
<!-- 决策链条 -->
<DecisionMaking
v-if=
"currentPath.pathName=='decisionMaking'"
:customer-ids=
"customerId"
:companyInfo=
"companyInfo"
/>
<!-- 跟进记录 -->
...
...
dsk-operate-ui/src/views/detail/party-a/riskInformation/businessAnomaly.vue
View file @
3edac885
...
...
@@ -46,8 +46,8 @@ export default {
{
label
:
'列入日期'
,
prop
:
'inDate'
,
width
:
'95'
},
{
label
:
'做出决定机关(移入)'
,
prop
:
'department'
,
width
:
'264'
},
{
label
:
'移出经营异常名录原因'
,
prop
:
'outReason'
,
width
:
'320'
},
{
label
:
'移
除
日期'
,
prop
:
'outDate'
,
width
:
'95'
},
{
label
:
'做出决定机关(移
除
)'
,
prop
:
'outDepartment'
,
width
:
'264'
}
{
label
:
'移
出
日期'
,
prop
:
'outDate'
,
width
:
'95'
},
{
label
:
'做出决定机关(移
出
)'
,
prop
:
'outDepartment'
,
width
:
'264'
}
],
formData
:
[
{
type
:
4
,
fieldName
:
'years'
,
value
:
''
,
placeholder
:
'列入时间'
,
options
:
[]}
...
...
dsk-operate-ui/src/views/detail/party-a/riskInformation/punish.vue
View file @
3edac885
...
...
@@ -21,7 +21,7 @@
<template
slot=
"punishReason"
slot-scope=
"scope"
>
<span
:class=
"[isOverHiddenFlag(scope.data.width, showList, scope.index, 0, scope.row.punishReason)?'cell-span':'']"
:style=
"
{'-webkit-line-clamp': 5}">
<div
v-html=
"scope.row.punishReason"
></div>
<span
v-if=
"isOverHiddenFlag(scope.data.width, showList, scope.index, 0, scope.row.punishReason)"
@
click=
"changeShowAll(scope.index, 0)"
>
...
<span
style=
"color: #0081FF;"
>
更多
</span></span>
<span
v-if=
"isOverHiddenFlag(scope.data.width, showList, scope.index, 0, scope.row.punishReason)"
@
click=
"changeShowAll(scope.index, 0)"
class=
"more"
>
...
<span
>
更多
</span></span>
</span>
</
template
>
</tables>
...
...
dsk-operate-ui/src/views/macro/economies/component/comparison.vue
View file @
3edac885
...
...
@@ -6,7 +6,7 @@
<el-form
ref=
"queryForm"
:model=
"queryParams"
:inline=
"true"
size=
"small"
>
<el-form-item
prop=
"year"
>
<el-select
v-model=
"queryParams.year"
filterable
class=
"form-content-width"
placeholder=
"请选择"
>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item.year"
:value=
"item.year"
/>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item.year"
:value=
"item.year"
@
click
.
native=
'handleSelect(item.year)'
/>
</el-select>
</el-form-item>
</el-form>
...
...
@@ -92,6 +92,7 @@
:prop=
"item"
:label=
"item"
width=
"16.7%"
:formatter=
"formatStatus"
>
</el-table-column>
</el-table>
...
...
@@ -104,9 +105,7 @@
import
{
regionalCompare
,
getYears
}
from
'@/api/macro/macro'
export
default
{
name
:
'comparison'
,
props
:{
dataQuery
:{}
},
props
:[
'dataQuery'
,
'provinceId'
],
data
()
{
return
{
queryParams
:
{
...
...
@@ -155,6 +154,10 @@ export default {
prop
:
'industryTotalValue'
,
label
:
'工业总产值(亿元)'
,
},
{
prop
:
'fixedInvestment'
,
label
:
'固定资产投资(亿元)'
,
},
{
prop
:
'realEstateInvestment'
,
label
:
'房地产开发投资(亿元)'
,
...
...
@@ -287,17 +290,30 @@ export default {
regionData
:[]
}
},
watch
:
{
provinceId
(
newValue
,
oldValue
){
console
.
log
(
newValue
)
}
},
created
()
{
this
.
dataRegion
();
console
.
log
(
this
.
dataQuery
)
// this.getData();
getYears
({}).
then
(
res
=>
{
this
.
yearOptions
=
res
.
data
.
reverse
();
this
.
queryParams
.
year
=
this
.
yearOptions
[
0
].
year
;
if
(
this
.
dataQuery
.
pId
){
const
params
=
{
year
:
this
.
queryParams
.
year
,
type
:
3
,
provinceId
:
this
.
dataQuery
.
provinceId
}
const
params
=
{
year
:
this
.
queryParams
.
year
,
type
:
3
}
if
(
this
.
provinceId
.
length
>=
0
){
params
.
provinceId
=
this
.
provinceId
[
0
]
}
if
(
this
.
provinceId
.
length
>=
1
){
params
.
cityId
=
this
.
provinceId
[
1
]
}
if
(
this
.
provinceId
.
length
>=
2
){
params
.
areaId
=
this
.
provinceId
[
2
]
}
this
.
value1Flag
=
true
this
.
addressValue1
=
this
.
dataQuery
.
province
this
.
addressValue1
=
this
.
dataQuery
.
province
.
join
(
'-'
)
this
.
getData
(
params
,
1
)
}
})
...
...
@@ -318,8 +334,10 @@ export default {
params
.
id
=
this
.
dataQuery
.
id
}
regionalCompare
(
params
).
then
(
res
=>
{
this
.
tableData
.
splice
(
index
-
1
,
1
,
res
.
data
)
this
.
$forceUpdate
();
if
(
res
.
data
){
this
.
tableData
.
splice
(
index
-
1
,
1
,
res
.
data
)
this
.
$forceUpdate
();
}
})
},
//地区
...
...
@@ -377,7 +395,7 @@ export default {
},
handleVisibleChange
(
flag
,
index
){
if
(
!
flag
){
if
(
this
.
value1
||
this
.
value2
||
this
.
value3
||
this
.
value4
||
this
.
value5
){
if
(
(
index
===
1
&&
this
.
value1
)
||
(
index
===
2
&&
this
.
value2
)
||
(
index
===
3
&&
this
.
value3
)
||
(
index
===
4
&&
this
.
value4
)
||
(
index
===
5
&&
this
.
value5
)
){
switch
(
index
)
{
case
1
:
this
.
value1Flag
=
true
...
...
@@ -523,11 +541,16 @@ export default {
this
.
$forceUpdate
();
},
handleSelect
(
val
){
const
params
=
{
year
:
this
.
queryParams
.
year
,
type
:
3
}
},
formatStatus
:
function
(
row
,
column
,
cellValue
)
{
if
(
row
.
title
===
'经济'
||
row
.
title
===
'财政'
||
row
.
title
===
'债务'
){
return
cellValue
}
else
{
return
cellValue
?
cellValue
:
'-'
// return cellValue? cellValue : '-'
return
cellValue
}
},
rowStyle
(
row
){
...
...
dsk-operate-ui/src/views/macro/economies/component/industrialStructure.vue
View file @
3edac885
...
...
@@ -24,16 +24,18 @@
<el-table
v-loading=
"tableLoading"
:data=
"tableData"
height=
"440"
border
height=
"440px"
highlight-current-row
:summary-method=
"getSummaries"
show-summary
>
<el-table-column
label=
"序号"
width=
"60"
align=
"left"
>
<template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
<template
slot-scope=
"scope"
>
{{
scope
.
$index
+
2
}}
</
template
>
</el-table-column>
<el-table-column
label=
"产业类型"
prop=
"projectType"
></el-table-column>
<el-table-column
:label=
"oneYear"
>
<el-table-column
prop=
"money"
label=
"金额(亿元)"
>
</el-table-column>
<el-table-column
prop=
"money"
label=
"金额(亿元)"
sortable
>
</el-table-column>
<el-table-column
prop=
"rate"
label=
"占比"
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"twoYear"
>
...
...
@@ -51,12 +53,7 @@
import
{
bidGroupCountByProjectType
,
bidMoneyGroupByProjectType
,
getYears
}
from
'@/api/macro/macro'
export
default
{
name
:
'industrialStructure'
,
props
:{
dataQuery
:
{
type
:
Object
,
default
:
{}
},
},
props
:[
'dataQuery'
,
'provinceId'
],
data
()
{
return
{
queryParams
:
{
...
...
@@ -71,6 +68,11 @@ export default {
twoYear
:
''
,
}
},
watch
:
{
provinceId
(
newValue
,
oldValue
){
this
.
getData
()
}
},
created
()
{
getYears
({}).
then
(
res
=>
{
this
.
yearOptions
=
res
.
data
.
reverse
();
...
...
@@ -92,7 +94,16 @@ export default {
endTime
=
mydate
.
getFullYear
()
-
1
+
'-12-31'
;
this
.
oneYear
=
mydate
.
getFullYear
()
-
1
+
'年'
;
this
.
twoYear
=
mydate
.
getFullYear
()
-
2
+
'年'
;
let
params
=
{
startDate
:
startTime
,
endDate
:
endTime
,
province
:
this
.
dataQuery
.
provinceId
}
let
params
=
{
startDate
:
startTime
,
endDate
:
endTime
}
if
(
this
.
provinceId
.
length
>=
0
){
params
.
province
=
this
.
provinceId
[
0
]
}
if
(
this
.
provinceId
.
length
>=
1
){
params
.
city
=
this
.
provinceId
[
1
]
}
if
(
this
.
provinceId
.
length
>=
2
){
params
.
county
=
this
.
provinceId
[
2
]
}
bidMoneyGroupByProjectType
(
params
).
then
(
res
=>
{
let
list
=
res
.
data
[
1
].
type
for
(
let
i
=
0
;
i
<
res
.
data
[
0
].
type
.
length
;
i
++
){
...
...
@@ -170,13 +181,54 @@ export default {
]
}
myChart
.
setOption
(
option
);
window
.
addEventListener
(
"resize"
,
function
()
{
myChart
.
resize
();
//图表跟随页面大小变化宽度
});
},
handleMessage
(){
this
.
$message
({
message
:
'功能正在开发中'
,
type
:
'warning'
});
}
},
getSummaries
(
param
){
const
{
columns
,
data
}
=
param
;
const
sums
=
[];
columns
.
forEach
((
column
,
index
)
=>
{
if
(
index
===
0
)
{
sums
[
index
]
=
'1'
;
return
;
}
if
(
index
===
1
)
{
sums
[
index
]
=
'合计'
;
return
;
}
if
(
index
===
3
)
{
sums
[
index
]
=
'100'
;
return
;
}
if
(
index
===
5
)
{
sums
[
index
]
=
'100'
;
return
;
}
const
values
=
data
.
map
(
item
=>
Number
(
item
[
column
.
property
]));
sums
[
index
]
=
values
.
reduce
((
prev
,
curr
)
=>
{
const
value
=
Number
(
curr
);
if
(
!
isNaN
(
value
))
{
return
Number
(
Number
(
prev
)
+
Number
(
curr
)).
toFixed
(
3
)
}
else
{
return
prev
;
}
},
0
);
// if (index === 1) {
// sums[index] = Number(sums[index]).toFixed(0);
// return;
// }
});
console
.
log
(
sums
)
return
sums
;
},
}
}
...
...
@@ -211,6 +263,17 @@ export default {
}
.content-right
{
width
:
50%
;
::v-deep
.el-table
{
display
:
flex
;
flex-direction
:
column
;
.el-table__body-wrapper
{
order
:
1
;
}
.el-table__fixed-footer-wrapper
{
z-index
:
0
;
top
:
46px
;
}
}
}
}
}
...
...
dsk-operate-ui/src/views/macro/economies/component/localEconomy.vue
View file @
3edac885
...
...
@@ -24,10 +24,14 @@
highlight-current-row
@
sort-change=
"sortChange"
>
<el-table-column
prop=
"province"
label=
"下辖区"
width=
"170"
:formatter=
"formatStatus"
>
<el-table-column
prop=
"province"
label=
"下辖区"
width=
"170"
:formatter=
"formatStatus"
fixed
>
<!--
<template
slot-scope=
"scope"
>
-->
<!--
{{
scope
.
row
.
province
}}{{
scope
.
row
.
city
?
'-'
:
''
}}{{
scope
.
row
.
city
}}{{
scope
.
row
.
area
?
'-'
:
''
}}{{
scope
.
row
.
area
}}
-->
<!--
</
template
>
-->
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
province
}}{{
scope
.
row
.
city
?
'-'
:
''
}}{{
scope
.
row
.
city
}}{{
scope
.
row
.
area
?
'-'
:
''
}}{{
scope
.
row
.
area
}}
<router-link
:to=
"
{path:'/macro/economies',query:{provinceId:scope.row.provinceId}}" tag="a" class="a-link">
{{
scope
.
row
.
province
}}{{
scope
.
row
.
city
?
'-'
:
''
}}{{
scope
.
row
.
city
}}{{
scope
.
row
.
area
?
'-'
:
''
}}{{
scope
.
row
.
area
}}
</router-link>
</
template
>
</el-table-column>
<el-table-column
prop=
"gdp"
label=
"GDP(亿元)"
sortable
width=
"120"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"gdpGrowth"
label=
"GDP增速"
sortable
width=
"100"
:formatter=
"formatStatus"
/>
...
...
@@ -39,8 +43,8 @@
<el-table-column
prop=
"govFundIncome"
label=
"政府性基金收入(亿元)"
sortable
width=
"180"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"govDebtBalance"
label=
"地方政府债务余额(亿元)"
sortable
width=
"180"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"uipInterestBearingDebt"
label=
"城投平台有息债务(亿元)"
sortable
width=
"180"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"fiscalSelfSufficiencyRate"
label=
"财政自给率"
sortable
width=
"120"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"govDebtRateWild"
label=
"债务率-宽口径
"
sortable
width=
"130"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"fiscalSelfSufficiencyRate"
label=
"财政自给率
(%)
"
sortable
width=
"120"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"govDebtRateWild"
label=
"债务率-宽口径
(%)"
sortable
:formatter=
"formatStatus"
/>
</el-table>
</div>
<div
class=
"pagination-box"
>
...
...
@@ -55,12 +59,7 @@
import
{
nationalPage
,
getYears
}
from
'@/api/macro/macro'
export
default
{
name
:
'localEconomy'
,
props
:{
dataQuery
:
{
type
:
Object
,
default
:
{}
},
},
props
:[
'dataQuery'
,
'provinceId'
],
data
()
{
return
{
queryParams
:
{
...
...
@@ -72,7 +71,17 @@ export default {
tableLoading
:
false
,
pageIndex
:
1
,
pageSize
:
10
,
tableDataTotal
:
0
tableDataTotal
:
0
,
}
},
watch
:
{
dataQuery
:
{
handler
(
newValue
,
oldValue
)
{
},
deep
:
true
},
provinceId
(
newValue
,
oldValue
){
this
.
getData
()
}
},
created
()
{
...
...
@@ -91,7 +100,16 @@ export default {
params
.
order
=
this
.
queryParams
.
order
}
params
.
provinceIds
=
[
this
.
dataQuery
.
provinceId
]
if
(
this
.
provinceId
.
length
>=
0
){
params
.
provinceIds
=
[
this
.
provinceId
[
0
]]
}
if
(
this
.
provinceId
.
length
>=
1
){
params
.
cityId
=
[
this
.
provinceId
[
1
]]
}
if
(
this
.
provinceId
.
length
>=
2
){
params
.
areaId
=
[
this
.
provinceId
[
2
]]
}
// params.provinceIds=[this.dataQuery.provinceId]
nationalPage
(
params
).
then
(
res
=>
{
this
.
tableData
=
res
.
data
.
list
this
.
tableDataTotal
=
res
.
data
.
totalCount
...
...
dsk-operate-ui/src/views/macro/economies/component/regionalEconomy.vue
View file @
3edac885
...
...
@@ -22,7 +22,7 @@
<img
v-else
src=
"@/assets/images/economies/icon_down.png"
>
</div>
<div
id=
"echartsZS"
style=
"height: 75px;"
></div>
<div
class=
"item-text up"
v-if=
"(recentlyYear.gdpGrowth-nextYearMap.gdpGrowth) > 0"
>
较
{{
nextYearMap
.
year
}}
年上升
<span>
{{
recentlyYear
.
gdpGrowth
-
nextYearMap
.
gdpGrowth
}}
%
</span></div>
<div
class=
"item-text up"
v-if=
"(recentlyYear.gdpGrowth-nextYearMap.gdpGrowth) > 0"
>
较
{{
nextYearMap
.
year
}}
年上升
<span>
{{
(
recentlyYear
.
gdpGrowth
-
nextYearMap
.
gdpGrowth
).
toFixed
(
2
).
toString
()
}}
%
</span></div>
<div
class=
"item-text down"
v-else
>
较
{{
nextYearMap
.
year
}}
年下降
<span>
{{
(
this
.
recentlyYear
.
gdpGrowth
-
this
.
nextYearMap
.
gdpGrowth
).
toFixed
(
2
).
toString
().
substring
(
1
)
}}
%
</span></div>
</div>
<div
class=
"item"
>
...
...
@@ -106,12 +106,7 @@
import
{
regional
,
regionalList
,
location
}
from
'@/api/macro/macro'
export
default
{
name
:
'regionalEconomy'
,
props
:{
dataQuery
:
{
type
:
Object
,
default
:
{}
},
},
props
:[
'dataQuery'
,
'provinceId'
],
data
()
{
return
{
tableData
:
[],
...
...
@@ -286,7 +281,7 @@ export default {
created
()
{
this
.
getData
()
this
.
$nextTick
(()
=>
{
// console.log(this.dataQuery)
})
},
computed
:
{
...
...
@@ -297,6 +292,19 @@ export default {
return
this
.
headers
.
map
(
item
=>
{
return
this
.
tableData
.
reduce
((
pre
,
cur
,
index
)
=>
Object
.
assign
(
pre
,
{[
'value'
+
index
]:
cur
[
item
.
prop
]}),
{
'title'
:
item
.
label
,});
});
},
// provinceId() {
// return this.dataQuery.provinceId
// }
},
watch
:
{
dataQuery
:
{
handler
(
newValue
,
oldValue
)
{
},
deep
:
true
},
provinceId
(
newValue
,
oldValue
){
this
.
getData
()
}
},
methods
:
{
...
...
@@ -305,8 +313,14 @@ export default {
if
(
this
.
dataQuery
.
id
){
params
.
id
=
this
.
dataQuery
.
id
}
if
(
this
.
dataQuery
.
provinceId
){
params
.
provinceId
=
this
.
dataQuery
.
provinceId
if
(
this
.
provinceId
.
length
>=
0
){
params
.
provinceId
=
this
.
provinceId
[
0
]
}
if
(
this
.
provinceId
.
length
>=
1
){
params
.
cityId
=
this
.
provinceId
[
1
]
}
if
(
this
.
provinceId
.
length
>=
2
){
params
.
areaId
=
this
.
provinceId
[
2
]
}
regional
(
params
).
then
(
res
=>
{
this
.
recentlyYear
=
res
.
data
[
0
].
recentlyYear
;
...
...
@@ -386,6 +400,9 @@ export default {
]
}
myChart
.
setOption
(
option
);
window
.
addEventListener
(
"resize"
,
function
()
{
myChart
.
resize
();
//图表跟随页面大小变化宽度
});
},
initChart1
(){
let
myChartZS
=
echarts
.
init
(
document
.
getElementById
(
"echartsZS"
))
...
...
@@ -445,6 +462,9 @@ export default {
]
}
myChartZS
.
setOption
(
option
);
window
.
addEventListener
(
"resize"
,
function
()
{
myChartZS
.
resize
();
//图表跟随页面大小变化宽度
});
},
initChart2
(){
let
myChartRK
=
echarts
.
init
(
document
.
getElementById
(
"echartsRK"
))
...
...
@@ -504,6 +524,9 @@ export default {
]
}
myChartRK
.
setOption
(
option
);
window
.
addEventListener
(
"resize"
,
function
()
{
myChartRK
.
resize
();
//图表跟随页面大小变化宽度
});
},
initChart3
(){
let
myChartSR
=
echarts
.
init
(
document
.
getElementById
(
"echartsSR"
))
...
...
@@ -563,6 +586,9 @@ export default {
]
}
myChartSR
.
setOption
(
option
);
window
.
addEventListener
(
"resize"
,
function
()
{
myChartSR
.
resize
();
//图表跟随页面大小变化宽度
});
},
initChart4
(){
let
myChartYE
=
echarts
.
init
(
document
.
getElementById
(
"echartsYE"
))
...
...
@@ -622,6 +648,9 @@ export default {
]
}
myChartYE
.
setOption
(
option
);
window
.
addEventListener
(
"resize"
,
function
()
{
myChartYE
.
resize
();
//图表跟随页面大小变化宽度
});
},
formatStatus
:
function
(
row
,
column
,
cellValue
)
{
if
(
row
.
title
===
'经济'
||
row
.
title
===
'财政'
||
row
.
title
===
'债务'
){
...
...
dsk-operate-ui/src/views/macro/economies/index.vue
View file @
3edac885
...
...
@@ -10,13 +10,22 @@
<div
class=
"location"
>
<span><i
class=
"el-icon-location"
></i>
{{
province
}}
</span>
<el-cascader
ref=
"address"
class=
"cascader-region"
popper-class=
'cascader-region-addd'
@
input=
"addressListbtn"
v-model=
"address"
:options=
"addressList"
:props=
"props"
collapse-tags
></el-cascader>
@
change=
"addressListbtn"
v-model=
"address"
:options=
"addressList"
:props=
"props"
collapse-tags
></el-cascader>
<!--
<el-select
v-model=
"provinceId"
class=
"cascader-region"
>
-->
<!--
<el-option-->
<!--v-for="(item,index) in addressList"-->
<!--:key="index"-->
<!--:label="item.label"-->
<!--:value="item.id"-->
<!--@click.native="addressListbtn(item.label,item.id)"-->
<!-->
</el-option>
-->
<!--
</el-select>
-->
</div>
</div>
<RegionalEconomy
v-if=
"activeName === 'first' && province"
:dataQuery=
"dataQuery"
></RegionalEconomy>
<LocalEconomy
v-if=
"activeName === 'second' && province"
:dataQuery=
"dataQuery"
></LocalEconomy>
<IndustrialStructure
v-if=
"activeName === 'third' && province"
:dataQuery=
"dataQuery"
></IndustrialStructure>
<Comparison
v-if=
"activeName === 'four' && province"
:dataQuery=
"dataQuery"
></Comparison>
<RegionalEconomy
v-if=
"activeName === 'first' && province"
:dataQuery=
"dataQuery"
:provinceId=
"provinceId"
></RegionalEconomy>
<LocalEconomy
v-if=
"activeName === 'second' && province"
:dataQuery=
"dataQuery"
:provinceId=
"provinceId"
></LocalEconomy>
<IndustrialStructure
v-if=
"activeName === 'third' && province"
:dataQuery=
"dataQuery"
:provinceId=
"provinceId"
></IndustrialStructure>
<Comparison
v-if=
"activeName === 'four' && province"
:dataQuery=
"dataQuery"
:provinceId=
"provinceId"
></Comparison>
</div>
</
template
>
...
...
@@ -46,17 +55,20 @@ export default {
checkStrictly
:
true
},
addressList
:
[],
address
:
''
address
:
''
,
provinceId
:[]
}
},
created
()
{
this
.
dataQuery
=
this
.
$route
.
query
;
location
({
provinceId
:
'500000'
}).
then
(
res
=>
{
this
.
province
=
res
.
data
.
currentProvince
.
regionName
;
this
.
provinceId
=
res
.
data
.
currentProvince
.
id
;
location
({}).
then
(
res
=>
{
this
.
province
=
res
.
data
.
province
;
if
(
!
this
.
dataQuery
.
provinceId
){
this
.
dataQuery
.
provinceId
=
this
.
provinceId
this
.
dataQuery
.
province
=
this
.
province
this
.
dataQuery
.
provinceId
=
res
.
data
.
provinceId
this
.
dataQuery
.
province
=
this
.
province
;
this
.
provinceId
.
push
(
res
.
data
.
provinceId
)
}
else
{
this
.
provinceId
.
push
(
this
.
dataQuery
.
provinceId
)
}
})
if
(
this
.
dataQuery
.
activeName
){
...
...
@@ -71,7 +83,6 @@ export default {
},
methods
:
{
handleClick
(
key
,
item
)
{
console
.
log
(
item
)
if
(
key
===
'four'
){
this
.
activeName
=
'four'
}
...
...
@@ -99,7 +110,7 @@ export default {
"value"
:
dataRegion
[
i
].
parentId
,
"children"
:
[]
});
}
else
if
(
dataRegion
[
i
].
regionLevel
==
x
+
1
&&
x
+
1
==
2
)
{
}
else
if
(
dataRegion
[
i
].
regionLevel
==
x
+
1
&&
x
+
1
==
2
)
{
for
(
let
j
=
0
;
j
<
str
.
length
;
j
++
)
{
if
(
str
[
j
].
id
==
dataRegion
[
i
].
parentId
)
{
str
[
j
].
children
.
push
({
...
...
@@ -111,7 +122,7 @@ export default {
});
}
}
}
else
if
(
dataRegion
[
i
].
regionLevel
==
x
+
1
&&
x
+
1
==
3
)
{
}
else
if
(
dataRegion
[
i
].
regionLevel
==
x
+
1
&&
x
+
1
==
3
)
{
for
(
let
j
=
0
;
j
<
str
.
length
;
j
++
)
{
for
(
let
k
=
0
;
k
<
str
[
j
].
children
.
length
;
k
++
)
{
if
(
str
[
j
].
children
[
k
].
id
==
dataRegion
[
i
].
parentId
)
{
...
...
@@ -131,9 +142,19 @@ export default {
this
.
addressList
=
str
;
},
addressListbtn
()
{
let
nodesObj
=
this
.
$refs
.
address
.
getCheckedNodes
();
console
.
log
(
nodesObj
)
console
.
log
(
this
.
address
)
let
nodesObj
=
this
.
$refs
.
address
.
getCheckedNodes
()[
0
];
// console.log(nodesObj)
this
.
province
=
nodesObj
.
pathLabels
[
nodesObj
.
pathLabels
.
length
-
1
];
this
.
provinceId
=
nodesObj
.
path
;
this
.
dataQuery
.
province
=
nodesObj
.
pathLabels
;
// this.dataQuery.provinceId=nodesObj.path[nodesObj.path.length-1];
// console.log(this.dataQuery)
// this.province=label;
// this.provinceId=id;
// this.dataQuery.provinceId=id;
// this.dataQuery.province=label;
}
}
}
...
...
dsk-operate-ui/src/views/macro/enterprises/index.vue
View file @
3edac885
...
...
@@ -18,8 +18,8 @@
placeholder=
"资质资格"
collapse-tags
clearable
></el-cascader>
<el-input
placeholder=
"输入企业名称关键词"
v-model=
"queryParams.ename"
>
<el-button
slot=
"append"
@
click=
"
querySubmit
()"
>
搜索
</el-button>
<el-input
placeholder=
"输入企业名称关键词"
v-model=
"queryParams.ename"
clearable
@
clear=
"handleSearch()"
>
<el-button
slot=
"append"
@
click=
"
handleSearch
()"
>
搜索
</el-button>
</el-input>
<span
class=
"total"
>
共
{{
tableDataTotal
}}
条
</span>
</div>
...
...
@@ -30,7 +30,9 @@
element-loading-text=
"Loading"
border
fit
@
sort-change=
"sortChange"
highlight-current-row
v-if=
"tableDataTotal > 0"
>
<el-table-column
label=
"序号"
width=
"50"
align=
"left"
fixed
>
<template
slot-scope=
"scope"
>
{{
pageIndex
*
pageSize
-
pageSize
+
scope
.
$index
+
1
}}
</
template
>
...
...
@@ -41,22 +43,27 @@
<span
v-else
v-html=
"scope.row.name"
></span>
</
template
>
</el-table-column>
<el-table-column
label=
"注册地址"
prop=
"domicile"
width=
"150"
/>
<el-table-column
label=
"资质资格"
prop=
"aptitudeCountNew"
sortable
width=
"100
"
/>
<el-table-column
label=
"专业人员"
prop=
"persionCount"
sortable
width=
"100
"
/>
<el-table-column
label=
"中标业绩"
prop=
"recentlyCount"
sortable
width=
"100
"
/>
<el-table-column
label=
"最大中标金额(万元)"
prop=
"cgfs"
sortable
width=
"160
"
/>
<el-table-column
label=
"中标总金额(万元)"
prop=
"cgfs"
sortable
width=
"160
"
/>
<el-table-column
label=
"四库业绩"
prop=
"skyCount"
sortable
width=
"100
"
/>
<el-table-column
label=
"公路业绩"
prop=
"cgfs"
sortable
width=
"100
"
/>
<el-table-column
label=
"水利业绩"
prop=
"cgfs"
sortable
width=
"100
"
/>
<el-table-column
label=
"常合作业主"
prop=
"cgfs"
width=
"130"
/>
<el-table-column
label=
"客户(个)"
prop=
"customerCount"
sortable
width=
"100
"
/>
<el-table-column
label=
"供应商(个)"
prop=
"supplierCount"
sortable
width=
"130"
/>
<el-table-column
label=
"常合作供应商"
prop=
"
supplierCount"
width=
"120
"
/>
<el-table-column
label=
"注册地址"
prop=
"domicile"
width=
"150"
:formatter=
"formatStatus"
/>
<el-table-column
label=
"资质资格"
prop=
"aptitudeCountNew"
sortable
=
"custom"
width=
"100"
:formatter=
"formatStatus
"
/>
<el-table-column
label=
"专业人员"
prop=
"persionCount"
sortable
=
"custom"
width=
"100"
:formatter=
"formatStatus
"
/>
<el-table-column
label=
"中标业绩"
prop=
"recentlyCount"
sortable
=
"custom"
width=
"100"
:formatter=
"formatStatus
"
/>
<el-table-column
label=
"最大中标金额(万元)"
prop=
"cgfs"
sortable
=
"custom"
width=
"160"
:formatter=
"formatStatus
"
/>
<el-table-column
label=
"中标总金额(万元)"
prop=
"cgfs"
sortable
=
"custom"
width=
"160"
:formatter=
"formatStatus
"
/>
<el-table-column
label=
"四库业绩"
prop=
"skyCount"
sortable
=
"custom"
width=
"100"
:formatter=
"formatStatus
"
/>
<el-table-column
label=
"公路业绩"
prop=
"cgfs"
sortable
=
"custom"
width=
"100"
:formatter=
"formatStatus
"
/>
<el-table-column
label=
"水利业绩"
prop=
"cgfs"
sortable
=
"custom"
width=
"100"
:formatter=
"formatStatus
"
/>
<el-table-column
label=
"常合作业主"
prop=
"cgfs"
width=
"130"
:formatter=
"formatStatus"
/>
<el-table-column
label=
"客户(个)"
prop=
"customerCount"
sortable
=
"custom"
width=
"100"
:formatter=
"formatStatus
"
/>
<el-table-column
label=
"供应商(个)"
prop=
"supplierCount"
sortable
=
"custom"
width=
"130"
:formatter=
"formatStatus"
/>
<el-table-column
label=
"常合作供应商"
prop=
"
gys"
width=
"120"
:formatter=
"formatStatus
"
/>
</el-table>
<div
class=
"empty"
v-if=
"tableDataTotal === 0"
>
<img
class=
"img"
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
抱歉,没找到相关数据
</div>
<div
class=
"p2"
>
建议调整关键词或筛选条件,重新搜索
</div>
</div>
</div>
<div
class=
"pagination-box"
>
<div
class=
"pagination-box"
v-if=
"tableDataTotal>pageSize"
>
<el-pagination
background
:current-page=
"pageIndex"
:page-size=
"pageSize"
:total=
"tableDataTotal"
layout=
"prev, pager, next, jumper"
@
current-change=
"handleCurrentChange"
@
size-change=
"handleSizeChange"
/>
</div>
</div>
...
...
@@ -95,7 +102,7 @@ export default {
tableLoading
:
false
,
pageIndex
:
1
,
pageSize
:
10
,
tableDataTotal
:
1
,
tableDataTotal
:
null
,
aptitudeCodeList
:[],
aptitudeType
:
''
,
province
:
''
,
...
...
@@ -175,8 +182,8 @@ export default {
arr
.
push
(
codeStr
[
i
][
codeStr
[
i
].
length
-
1
])
}
this
.
aptitudeType
=
arr
.
join
(
','
)
console
.
log
(
this
.
aptitudeType
)
this
.
$refs
.
aptitudeCode
.
toggleDropDownVisible
(
false
)
this
.
pageIndex
=
1
;
this
.
querySubmit
()
},
handleClick
(){
...
...
@@ -188,7 +195,31 @@ export default {
}
this
.
pageIndex
=
1
;
this
.
querySubmit
()
}
},
handleSearch
(){
this
.
pageIndex
=
1
;
this
.
querySubmit
()
},
formatStatus
:
function
(
row
,
column
,
cellValue
)
{
return
cellValue
?
cellValue
:
'-'
},
sortChange
({
column
,
prop
,
order
}){
if
(
prop
===
'aptitudeCountNew'
){
this
.
queryParams
.
field
=
'aptitudeCountNew'
}
else
{
this
.
queryParams
.
field
=
prop
}
if
(
column
.
order
===
"ascending"
){
this
.
queryParams
.
order
=
'asc'
}
else
if
(
column
.
order
===
"descending"
){
this
.
queryParams
.
order
=
'desc'
}
else
{
this
.
queryParams
.
order
=
''
this
.
queryParams
.
field
=
''
}
this
.
pageIndex
=
1
;
this
.
querySubmit
()
},
}
}
</
script
>
...
...
@@ -281,6 +312,27 @@ export default {
}
.table-item
{
margin-top
:
14px
;
.empty
{
margin
:
0
auto
;
height
:
600px
;
text-align
:
center
;
border-top
:
1px
solid
#EFEFEF
;
.img
{
width
:
108px
;
height
:
108px
;
margin-bottom
:
24px
;
margin-top
:
150px
;
}
.p1
{
color
:
#333333
;
font-size
:
16px
;
}
.p2
{
color
:
#999999
;
font-size
:
14px
;
margin-top
:
8px
;
}
}
}
}
}
...
...
dsk-operate-ui/src/views/macro/financing/index.vue
View file @
3edac885
...
...
@@ -13,7 +13,7 @@
border
:summary-method=
"getSummaries"
show-summary
height=
"
36
0"
height=
"
40
0"
fit
@
sort-change=
"sortChange"
highlight-current-row
...
...
@@ -170,13 +170,15 @@ export default {
orient
:
'horizontal'
,
bottom
:
0
,
data
:
data
,
itemHeight
:
8
,
itemWidth
:
12
,
pageButtonPosition
:
'end'
,
},
series
:
[
{
type
:
'pie'
,
radius
:
'55%'
,
center
:
[
'50%'
,
'
4
0%'
],
center
:
[
'50%'
,
'
5
0%'
],
data
:
data
,
emphasis
:
{
itemStyle
:
{
...
...
@@ -318,6 +320,11 @@ export default {
}
.table-item
{
margin-top
:
22px
;
::v-deep
.el-table
{
td
.el-table__cell
{
border-bottom
:
0
;
}
}
}
}
</
style
>
dsk-operate-ui/src/views/macro/nationalEconomies/component/qgjjdq.vue
View file @
3edac885
...
...
@@ -6,7 +6,7 @@
<span
class=
"common-title"
>
全国经济大全
</span>
<el-form
ref=
"queryForm"
:model=
"queryParams"
:inline=
"true"
size=
"small"
>
<el-form-item
prop=
"year"
>
<el-select
v-model=
"queryParams.year"
filterable
class=
"form-content-width"
placeholder=
"请选择
年度
"
@
change=
"handleSearch"
>
<el-select
v-model=
"queryParams.year"
filterable
class=
"form-content-width"
placeholder=
"请选择"
@
change=
"handleSearch"
>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item.year"
:value=
"item.year"
/>
</el-select>
</el-form-item>
...
...
@@ -37,6 +37,7 @@
border
fit
highlight-current-row
v-if=
"tableDataTotal > 0"
>
<el-table-column
label=
"序号"
width=
"50"
align=
"left"
fixed
>
<template
slot-scope=
"scope"
>
{{
pageIndex
*
pageSize
-
pageSize
+
scope
.
$index
+
1
}}
</
template
>
...
...
@@ -55,9 +56,9 @@
<el-table-column
label=
"GDP增速(%)"
prop=
"gdpGrowth"
:formatter=
"formatStatus"
sortable=
"custom"
min-width=
"120"
align=
"right"
></el-table-column>
<el-table-column
label=
"人均GDP(元)"
prop=
"gdpPerCapita"
:formatter=
"formatStatus"
sortable=
"custom"
width=
"125"
align=
"right"
></el-table-column>
<el-table-column
label=
"人口(万人)"
prop=
"population"
:formatter=
"formatStatus"
sortable=
"custom"
width=
"120"
align=
"right"
></el-table-column>
<el-table-column
label=
"一般公共预算收入
(亿元)
"
prop=
"gbr"
sortable=
"custom"
width=
"170"
align=
"right"
></el-table-column>
<el-table-column
label=
"一般公共预算收入
(亿元)
"
prop=
"gbr"
sortable=
"custom"
width=
"170"
align=
"right"
></el-table-column>
<el-table-column
label=
"一般公共预算收入增速(%)"
prop=
"gbrGrowth"
:formatter=
"formatStatus"
sortable=
"custom"
min-width=
"140"
align=
"right"
></el-table-column>
<el-table-column
label=
"一般公共预算收入:税收收入"
prop=
"taxIncome"
:formatter=
"formatStatus"
sortable=
"custom"
min-width=
"140"
align=
"right"
></el-table-column>
<el-table-column
label=
"一般公共预算收入:税收收入
(亿元)
"
prop=
"taxIncome"
:formatter=
"formatStatus"
sortable=
"custom"
min-width=
"140"
align=
"right"
></el-table-column>
<el-table-column
label=
"一般公共预算支出(亿元)"
prop=
"gbe"
:formatter=
"formatStatus"
sortable=
"custom"
width=
"140"
align=
"right"
></el-table-column>
<el-table-column
label=
"政府性基金收入(亿元)"
width=
"140"
prop=
"govFundIncome"
:formatter=
"formatStatus"
sortable=
"custom"
align=
"right"
></el-table-column>
<el-table-column
label=
"政府性基金收入:土地出让收入(亿元)"
prop=
"landTransferIncome"
sortable=
"custom"
width=
"150"
align=
"right"
></el-table-column>
...
...
@@ -94,11 +95,16 @@
<el-table-column
label=
"社会消费品零售总额(亿元)"
prop=
"trscg"
:formatter=
"formatStatus"
width=
"160"
align=
"right"
></el-table-column>
<el-table-column
label=
"城镇居民人均可支配收入(元)"
prop=
"urbanPcdi"
:formatter=
"formatStatus"
width=
"160"
align=
"right"
></el-table-column>
</el-table>
<div
class=
"empty"
v-if=
"tableDataTotal === 0"
>
<img
class=
"img"
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
抱歉,没找到相关数据
</div>
<div
class=
"p2"
>
建议调整关键词或筛选条件,重新搜索
</div>
</div>
</div>
<!--<template slot-scope="scope">-->
<!--<router-link to="/purchaserDetail" target="_blank" tag="a" class="a-link">{{ scope.row.zbwj }}</router-link>-->
<!--</template>-->
<div
class=
"pagination-box"
>
<div
class=
"pagination-box"
v-if=
"tableDataTotal>pageSize"
>
<el-pagination
background
:current-page=
"pageIndex"
:page-size=
"pageSize"
:total=
"tableDataTotal"
layout=
"prev, pager, next, jumper"
@
current-change=
"handleCurrentChange"
@
size-change=
"handleSizeChange"
/>
</div>
<economies-detail
ref=
"economiesDetail"
/>
...
...
@@ -132,7 +138,7 @@
tableLoading
:
false
,
pageIndex
:
1
,
pageSize
:
10
,
tableDataTotal
:
0
,
tableDataTotal
:
null
,
}
},
created
()
{
...
...
@@ -310,6 +316,9 @@
.el-form
{
margin-left
:
24px
;
}
.form-content-width
{
width
:
110px
;
}
::v-deep
.el-cascader
{
.el-cascader__tags
{
flex-wrap
:
inherit
;
...
...
@@ -324,7 +333,34 @@
background
:
#ffffff
;
padding
:
16px
;
margin-top
:
12px
;
/*height: calc(100vh - 300px);*/
.table-item
{
position
:
relative
;
.empty
{
/*position: absolute;*/
/*top: 50%;*/
/*left: 50%;*/
/*transform: translate(-50%,-50%);*/
margin
:
0
auto
;
height
:
600px
;
text-align
:
center
;
border-top
:
1px
solid
#EFEFEF
;
.img
{
width
:
108px
;
height
:
108px
;
margin-bottom
:
24px
;
margin-top
:
150px
;
}
.p1
{
color
:
#333333
;
font-size
:
16px
;
}
.p2
{
color
:
#999999
;
font-size
:
14px
;
margin-top
:
8px
;
}
}
::v-deep
.el-table
{
th
{
font-size
:
12px
!
important
;
...
...
@@ -333,18 +369,12 @@
.el-table__fixed-header-wrapper
th
{
background
:
#F0F3FA
;
}
td
.el-table__cell
{
border-bottom
:
0
;
}
.caret-wrapper
{
width
:
10px
;
/*<
!
--position
:
absolute
;
--
>*/
/*<
!
--right
:
12px
;
--
>*/
/*<
!
--top
:
-3px
;
--
>*/
}
/*.sort-caret{*/
/*position: initial;*/
/*}*/
/*.ascending{*/
/*margin-bottom: 3px;*/
/*}*/
}
}
}
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/zhaobiao.vue
View file @
3edac885
...
...
@@ -80,10 +80,10 @@
<span
class=
"common-title"
>
全国招标项目概览
</span>
</div>
</div>
<div
class=
"text"
>
通过对
近
{{year}}年全国招标数据进行分析,发现该企业主要集中在{{dataSort[0].label}}({{dataSort[0].count}}个)、{{dataSort[1].label}}({{dataSort[1].count}}个)进行招标。
</div>
<div
class=
"text"
>
通过对{{year}}年全国招标数据进行分析,发现该企业主要集中在{{dataSort[0].label}}({{dataSort[0].count}}个)、{{dataSort[1].label}}({{dataSort[1].count}}个)进行招标。
</div>
<div
class=
"main1"
>
<div
id=
"gl-echarts"
style=
"height: 250px"
></div>
<p
class=
"tips"
><i
class=
"el-icon-info"
></i>
数据来源大司空建筑大数据平台,统计范围为
近
{{year}}年全国公开的招标项目,未公开的不含在内
</p>
<p
class=
"tips"
><i
class=
"el-icon-info"
></i>
数据来源大司空建筑大数据平台,统计范围为{{year}}年全国公开的招标项目,未公开的不含在内
</p>
</div>
<div
class=
"main2"
>
<div
class=
"selectYear"
>
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/zhongbiao.vue
View file @
3edac885
...
...
@@ -299,7 +299,7 @@ export default {
areaGroupByProvince
().
then
(
res
=>
{
this
.
zbData
=
res
.
data
;
//定义一个变量 保存数据 因为sort方法排序会改变原数组 使用JSON方法深拷贝 将原数值暂存
let
dataArr
=
JSON
.
parse
(
JSON
.
stringify
(
res
.
data
))
//
let dataArr = JSON.parse(JSON.stringify(res.data))
let
arr
=
res
.
data
.
sort
((
old
,
New
)
=>
{
return
New
.
count
-
old
.
count
})
...
...
@@ -309,7 +309,7 @@ export default {
}
this
.
rankList
=
data
;
//将原数组数据赋值回去 保持数据不变
this
.
zbData
=
JSON
.
parse
(
JSON
.
stringify
(
dataArr
))
//
this.zbData = JSON.parse(JSON.stringify(dataArr))
this
.
initChart2
()
})
},
...
...
@@ -377,7 +377,7 @@ export default {
let
option
=
{
legend
:
{
x
:
'right'
,
padding
:[
0
,
12
0
,
0
,
0
],
padding
:[
0
,
3
0
,
0
,
0
],
},
tooltip
:
{
trigger
:
'axis'
,
...
...
dsk-operate-ui/src/views/macro/urban/index.vue
View file @
3edac885
...
...
@@ -87,7 +87,7 @@
</div>
</div>
</div>
<el-input
class=
"search-input"
placeholder=
"输入企业名称关键词"
v-model=
"queryParams.keyword"
>
<el-input
class=
"search-input"
placeholder=
"输入企业名称关键词"
v-model=
"queryParams.keyword"
clearable
@
clear=
"handleKeyword()"
>
<
template
slot=
"prepend"
><i
class=
"el-icon-search"
></i></
template
>
<el-button
slot=
"append"
@
click=
"handleKeyword"
>
搜索
</el-button>
</el-input>
...
...
@@ -141,6 +141,7 @@
</div>
<div
class=
"table-item"
>
<el-table
v-if=
"tableDataTotal > 0"
v-loading=
"tableLoading"
:data=
"tableData"
element-loading-text=
"Loading"
...
...
@@ -161,7 +162,7 @@
</el-table-column>
<el-table-column
prop=
"city"
label=
"区域"
:formatter=
"formatStatus"
width=
"150"
>
<
template
slot-scope=
"scope"
>
<router-link
:to=
"
{path:'/macro/economies',query:{
id:scope.row.id,
provinceId:scope.row.provinceId}}" tag="a" class="a-link">
<router-link
:to=
"
{path:'/macro/economies',query:{provinceId:scope.row.provinceId}}" tag="a" class="a-link">
{{
scope
.
row
.
province
}}{{
scope
.
row
.
city
?
'-'
:
''
}}{{
scope
.
row
.
city
}}{{
scope
.
row
.
area
?
'-'
:
''
}}{{
scope
.
row
.
area
}}
</router-link>
<!--
<span
v-else
>
-
</span>
-->
...
...
@@ -227,8 +228,13 @@
<el-table-column
prop=
"developmentZone"
label=
"所属开发区"
:formatter=
"formatStatus"
width=
"160"
/>
<!--<el-table-column prop="bl" label="开发区类别" width="160" />-->
</el-table>
<div
class=
"empty"
v-if=
"tableDataTotal === 0"
>
<img
class=
"img"
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
抱歉,没找到相关数据
</div>
<div
class=
"p2"
>
建议调整关键词或筛选条件,重新搜索
</div>
</div>
</div>
<div
class=
"pagination-box"
>
<div
class=
"pagination-box"
v-if=
"tableDataTotal>pageSize"
>
<el-pagination
background
:current-page=
"pageIndex"
:page-size=
"pageSize"
:total=
"tableDataTotal"
layout=
"prev, pager, next, jumper"
@
current-change=
"handleCurrentChange"
@
size-change=
"handleSizeChange"
/>
</div>
</div>
...
...
@@ -259,7 +265,7 @@ export default {
tableLoading
:
false
,
pageIndex
:
1
,
pageSize
:
10
,
tableDataTotal
:
120
,
tableDataTotal
:
null
,
selected
:[],
xzdjCalss
:
''
,
props
:
{
...
...
@@ -651,7 +657,7 @@ export default {
}
::v-deep
.search-input
{
/*::v-deep .el-input{*/
width
:
2
5
0px
;
width
:
2
6
0px
;
height
:
32px
;
.el-input-group__prepend
:first-child
{
padding
:
0
;
...
...
@@ -681,6 +687,27 @@ export default {
}
.table-item
{
margin-top
:
22px
;
.empty
{
margin
:
0
auto
;
height
:
550px
;
text-align
:
center
;
border-top
:
1px
solid
#EFEFEF
;
.img
{
width
:
108px
;
height
:
108px
;
margin-bottom
:
24px
;
margin-top
:
150px
;
}
.p1
{
color
:
#333333
;
font-size
:
16px
;
}
.p2
{
color
:
#999999
;
font-size
:
14px
;
margin-top
:
8px
;
}
}
}
.companyName
{
width
:
200px
;
...
...
dsk-operate-ui/src/views/project/projectList/component/addProject.vue
View file @
3edac885
...
...
@@ -8,7 +8,7 @@
<div
@
click =
'handleALL'
>
<div
class=
"poptitle"
>
<img
src=
"@/assets/images/economies/icon.png"
>
<span>
添加项目
</span>
<span>
新建商机
</span>
</div>
<el-form
class=
"popform j"
:model=
"queryParam"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"130px"
>
<el-form-item
label=
"项目名称:"
class=
"row"
prop=
"projectName"
>
...
...
@@ -146,6 +146,7 @@
//添加客户
submitForm
(
formName
)
{
this
.
queryParam
.
userId
=
this
.
$store
.
state
.
user
.
userId
this
.
queryParam
.
investmentAmount
=
parseFloat
(
this
.
queryParam
.
investmentAmount
)
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
addProject
(
this
.
queryParam
).
then
(
result
=>
{
...
...
@@ -178,7 +179,7 @@
//输入数字
number
(
value
){
this
.
queryParam
.
investmentAmount
=
value
.
replace
(
/^
\D
*
(\d
*
(?:\.\d{0,
2})?)
.*$/g
,
'$1'
)
//输入2
位小数
this
.
queryParam
.
investmentAmount
=
value
.
replace
(
/^
\D
*
(\d
*
(?:\.\d{0,
6})?)
.*$/g
,
'$1'
)
//输入6
位小数
}
}
}
...
...
dsk-operate-ui/src/views/project/projectList/component/batchImport.vue
View file @
3edac885
...
...
@@ -92,6 +92,7 @@
},
methods
:{
getmsg
(){
this
.
importCancel
()
this
.
$emit
(
'getdatas'
)
},
handleFileListChange
(
file
,
fileList
)
{
...
...
@@ -127,7 +128,8 @@
this
.
messages
=
res
.
msg
}
if
(
this
.
importtype
==
'custom'
){
//客户管理
let
str
=
'成功导入客户条数'
+
res
.
successCount
+
',客户去重条数'
+
res
.
data
?
res
.
data
.
length
:
0
let
num
=
res
.
data
?
res
.
data
.
length
:
0
let
str
=
'成功导入客户条数'
+
res
.
successCount
+
',客户去重条数'
+
num
this
.
messages
=
str
}
this
.
addsuccess
=
true
...
...
dsk-operate-ui/src/views/project/projectList/component/gjjl.vue
View file @
3edac885
...
...
@@ -15,9 +15,9 @@
<el-input
v-model=
"addParam.content"
placeholder=
"新建一条跟进记录,如:周五上午预约客户上门拜访"
></el-input>
</div>
<div
class=
"wr_bot"
>
<div
class=
"sels"
v-model=
"addParam.visitMode"
>
<div
class=
"sels"
>
<img
src=
"@/assets/images/project/ico_1.png"
>
<el-select
class=
"w128"
placeholder=
"拜访方式"
>
<el-select
class=
"w128"
placeholder=
"拜访方式"
v-model=
"addParam.visitMode"
>
<el-option
v-for=
"(item,index) in bffslist"
:key=
"index"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
</div>
...
...
dsk-operate-ui/src/views/project/projectList/component/gzdb.vue
View file @
3edac885
...
...
@@ -15,15 +15,17 @@
</div>
<div
class=
"wr_bot"
>
<div
class=
"times"
><img
src=
"@/assets/images/project/ico_4.png"
>
<el-date-picker
<el-date-picker
value-format=
"yyyy-MM-dd"
v-model=
"queryParam.finishTime"
type=
"date"
placeholder=
"完成时间"
>
</el-date-picker>
</div>
<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>
</el-input>
<div
class=
"sels"
>
<img
src=
"@/assets/images/project/ico_2.png"
>
<el-input
v-model=
"queryParam.target"
placeholder=
"拜访对象"
style=
"width: 100px;"
>
</el-input>
</div>
<div
class=
"btn btn_primary h32 wc"
@
click=
"add"
:disabled=
"queryParam.task == ''"
:class=
"
{'btn_disabled':queryParam.task == ''}">完成
</div>
</div>
</div>
...
...
@@ -34,7 +36,7 @@
<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':item.state == 2}">
<div
class=
"select-popper"
>
<span
class=
"color_text"
>
<span>
{{
item
.
state
==
2
?
"已完成"
:
"未完成"
}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
...
...
@@ -109,6 +111,9 @@
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
"添加成功!"
)
this
.
getList
()
this
.
queryParam
.
target
=
''
this
.
queryParam
.
task
=
''
this
.
queryParam
.
finishTime
=
''
}
else
{
this
.
$message
.
error
(
result
.
msg
)
}
...
...
@@ -162,4 +167,7 @@
width
:
100px
;
margin-right
:
12px
;
}
.times
.el-input__icon
>
img
{
width
:
16px
;
}
</
style
>
dsk-operate-ui/src/views/project/projectList/component/jsnr.vue
View file @
3edac885
...
...
@@ -8,7 +8,7 @@
<div
class=
"con"
>
<span>
总投资额(万元) :
</span>
<div
class=
"inputxt"
id=
"inputxt1"
>
<div
class=
"flex"
v-if=
"nowedit == 1"
>
<div
class=
"flex"
v-if=
"nowedit == 1
&& isDisabled == false
"
>
<el-input
placeholder=
"待添加"
v-model=
"investmentAmount"
@
input=
"number"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"changes(
{'investmentAmount':investmentAmount})">确定
</div>
...
...
@@ -21,7 +21,7 @@
<div
class=
"con i"
>
<span>
资金来源 :
</span>
<div
class=
"inputxt"
id=
"inputxt2"
>
<div
class=
"flex"
v-if=
"nowedit == 2"
>
<div
class=
"flex"
v-if=
"nowedit == 2
&& isDisabled == false
"
>
<el-input
placeholder=
"待添加"
v-model=
"amountSource"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
@
click=
"changes(
{'amountSource':amountSource})" style="width: 56px">确定
</div>
...
...
@@ -36,7 +36,7 @@
<div
class=
"con"
>
<span>
建设性质 :
</span>
<div
class=
"inputxt"
id=
"inputxt3"
>
<div
class=
"flex"
v-if=
"nowedit == 3"
>
<div
class=
"flex"
v-if=
"nowedit == 3
&& isDisabled == false
"
>
<el-input
placeholder=
"待添加"
v-model=
"buildProperty"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
@
click=
"changes(
{'buildProperty':buildProperty})" style="width: 56px">确定
</div>
...
...
@@ -50,7 +50,7 @@
<span>
计划招标 :
</span>
<div
class=
"inputime"
>
<div
class=
"flex"
style=
""
>
<el-date-picker
class=
"timeinput"
<el-date-picker
class=
"timeinput"
v-if=
"isDisabled == false"
v-model=
"planBidTime"
type=
"date"
value-format=
"yyyy-MM-dd"
...
...
@@ -66,7 +66,7 @@
<span>
计划开工 :
</span>
<div
class=
"inputime"
>
<div
class=
"flex"
style=
"opacity: 0;height: 0"
>
<el-date-picker
class=
"timeinput"
<el-date-picker
class=
"timeinput"
v-if=
"isDisabled == false"
v-model=
"planStartTime"
type=
"date"
value-format=
"yyyy-MM-dd"
...
...
@@ -80,7 +80,7 @@
<span>
计划竣工 :
</span>
<div
class=
"inputime"
>
<div
class=
"flex"
style=
"opacity: 0;height: 0"
>
<el-date-picker
class=
"timeinput"
<el-date-picker
class=
"timeinput"
v-if=
"isDisabled == false"
v-model=
"planCompleteTime"
type=
"date"
value-format=
"yyyy-MM-dd"
...
...
@@ -96,7 +96,7 @@
<el-card
class=
"box-card noborder"
>
<div
class=
"cardtitles"
>
项目概况与建设规模
</div>
<div
class=
"baseinfo"
>
<el-input
id=
"inputxt9"
v-model=
"projectDetails"
@
focus=
"nowedit = 9"
class=
"textarea"
type=
"textarea"
placeholder=
"请输入项目概况与建设规模详细信息"
maxlength=
"500"
:show-word-limit=
"true"
></el-input>
<el-input
id=
"inputxt9"
:disabled=
"isDisabled"
v-model=
"projectDetails"
@
focus=
"nowedit = 9"
class=
"textarea"
type=
"textarea"
placeholder=
"请输入项目概况与建设规模详细信息"
maxlength=
"500"
:show-word-limit=
"true"
></el-input>
<div
class=
"flex btns"
v-if=
"nowedit == 9"
>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
@
click=
"changes(
{'projectDetails':projectDetails})" style="width: 56px">确定
</div>
...
...
@@ -112,7 +112,7 @@
<div
class=
"con"
>
<span>
评标办法 :
</span>
<div
class=
"inputxt"
id=
"inputxt4"
>
<div
class=
"flex"
v-if=
"nowedit == 4"
>
<div
class=
"flex"
v-if=
"nowedit == 4
&& isDisabled == false
"
>
<el-input
placeholder=
"待添加"
v-model=
"evaluationBidWay"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
@
click=
"changes(
{'evaluationBidWay':evaluationBidWay})" style="width: 56px">确定
</div>
...
...
@@ -126,7 +126,7 @@
<span>
开标时间 :
</span>
<div
class=
"inputime"
>
<div
class=
"flex"
style=
"opacity: 0;height: 0"
>
<el-date-picker
class=
"timeinput"
<el-date-picker
class=
"timeinput"
v-if=
"isDisabled == false"
v-model=
"bidOpenTime"
type=
"date"
value-format=
"yyyy-MM-dd"
...
...
@@ -141,7 +141,7 @@
<div
class=
"con"
>
<span>
保证金缴纳 :
</span>
<div
class=
"inputxt"
id=
"inputxt5"
>
<div
class=
"flex"
v-if=
"nowedit == 5"
>
<div
class=
"flex"
v-if=
"nowedit == 5
&& isDisabled == false
"
>
<el-input
placeholder=
"待添加"
v-model=
"earnestMoneyPay"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
@
click=
"changes(
{'earnestMoneyPay':earnestMoneyPay})" style="width: 56px">确定
</div>
...
...
@@ -154,7 +154,7 @@
<div
class=
"con i"
>
<span>
保证金金额(万元) :
</span>
<div
class=
"inputxt"
id=
"inputxt6"
>
<div
class=
"flex"
v-if=
"nowedit == 6"
>
<div
class=
"flex"
v-if=
"nowedit == 6
&& isDisabled == false
"
>
<el-input
placeholder=
"待添加"
v-model=
"earnestMoney"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
@
click=
"changes(
{'earnestMoney':earnestMoney})" style="width: 56px">确定
</div>
...
...
@@ -169,7 +169,7 @@
<div
class=
"con"
>
<span>
开标地点 :
</span>
<div
class=
"inputxt"
id=
"inputxt7"
>
<div
class=
"flex"
v-if=
"nowedit == 7"
>
<div
class=
"flex"
v-if=
"nowedit == 7
&& isDisabled == false
"
>
<el-input
placeholder=
"待添加"
v-model=
"bidOpenPlace"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
@
click=
"changes(
{'bidOpenPlace':bidOpenPlace})" style="width: 56px">确定
</div>
...
...
@@ -182,7 +182,7 @@
<div
class=
"con i"
>
<span>
评标委员会 :
</span>
<div
class=
"inputxt"
id=
"inputxt8"
>
<div
class=
"flex"
v-if=
"nowedit == 8"
>
<div
class=
"flex"
v-if=
"nowedit == 8
&& isDisabled == false
"
>
<el-input
placeholder=
"待添加"
v-model=
"evaluationBidCouncil"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
@
click=
"changes(
{'evaluationBidCouncil':evaluationBidCouncil})" style="width: 56px">确定
</div>
...
...
@@ -207,7 +207,8 @@
detailId
:
{
//从企业详情跳转过来ID
type
:
Number
,
default
:
0
}
},
isDisabled
:
false
,
},
data
(){
return
{
...
...
@@ -226,12 +227,15 @@
earnestMoney
:
''
,
//保证金金额
earnestMoneyPay
:
''
,
//保证金缴纳
evaluationBidCouncil
:
''
,
//评标委员会
isDisabled
:
this
.
isDisabled
,
}
},
watch
:{
},
mounted
(){
document
.
addEventListener
(
'mouseup'
,(
e
)
=>
{
if
(
this
.
isDisabled
==
true
)
return
false
let
j
=
0
for
(
var
i
=
1
;
i
<=
9
;
i
++
){
let
isSelf
=
document
.
getElementById
(
'inputxt'
+
i
).
contains
(
event
.
target
)
// 这个是自己的区域
...
...
@@ -242,6 +246,39 @@
}
}
if
(
j
==
9
){
if
(
this
.
nowedit
!=-
1
){
let
param
=
{}
switch
(
this
.
nowedit
)
{
case
1
:
param
=
{
'investmentAmount'
:
this
.
investmentAmount
}
break
;
case
2
:
param
=
{
'amountSource'
:
this
.
amountSource
}
break
;
case
3
:
param
=
{
'buildProperty'
:
this
.
buildProperty
}
break
;
case
4
:
param
=
{
'evaluationBidWay'
:
this
.
evaluationBidWay
}
break
;
case
5
:
param
=
{
'earnestMoneyPay'
:
this
.
earnestMoneyPay
}
break
;
case
6
:
param
=
{
'earnestMoney'
:
this
.
earnestMoney
}
break
;
case
7
:
param
=
{
'bidOpenPlace'
:
this
.
bidOpenPlace
}
break
;
case
8
:
param
=
{
'evaluationBidCouncil'
:
this
.
evaluationBidCouncil
}
break
;
case
9
:
param
=
{
'projectDetails'
:
this
.
projectDetails
}
break
;
}
this
.
changes
(
param
)
}
this
.
nowedit
=
-
1
}
})
...
...
@@ -271,6 +308,8 @@
this
.
nowedit
=
-
1
let
param
=
str
param
.
id
=
this
.
id
if
(
this
.
isDisabled
==
true
)
return
false
editXMNR
(
param
).
then
(
result
=>
{
if
(
result
.
code
==
200
)
this
.
$message
.
success
(
'修改成功!'
)
...
...
@@ -282,8 +321,7 @@
},
//输入数字
number
(
value
){
console
.
log
(
value
)
this
.
investmentAmount
=
this
.
investmentAmount
==
""
||
this
.
investmentAmount
==
null
?
value
.
replace
(
/^
\D
*
(\d
*
(?:\.\d{0,6})?)
.*$/g
,
'$1'
):
null
//输入6位小数
this
.
investmentAmount
=
value
.
replace
(
/^
\D
*
(\d
*
(?:\.\d{0,6})?)
.*$/g
,
'$1'
)
//输入6位小数
},
}
}
...
...
dsk-operate-ui/src/views/project/projectList/component/lxr.vue
View file @
3edac885
...
...
@@ -14,13 +14,16 @@
<img
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
暂无数据展示
</div>
<div
class=
"p2"
>
抱歉,你还未添加相关数据,快去添加吧
</div>
<div
class=
"btn btn_primary h36 w102"
@
click=
"opennew"
>
新增联系人
</div>
<div
class=
"btn btn_primary h36 w102"
@
click=
"opennew"
v-if=
"isDisabled==false"
>
新增联系人
</div>
</div>
</
template
>
<el-table-column
prop=
"name"
label=
"姓名"
width=
"113"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
name
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"name"
...
...
@@ -38,20 +41,32 @@
label=
"角色"
sortable
width=
"146"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
role
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"office"
label=
"公司/机关"
>
label=
"关联企业"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
office
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"position"
label=
"职位"
width=
"125"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
position
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"phone"
label=
"联系方式"
width=
"175"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
phone
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"accendant"
...
...
@@ -86,18 +101,24 @@
<el-form-item
label=
"联系人姓名:"
class=
"row"
>
<el-input
type=
"text"
v-model=
"queryParam.name"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"联系人性别:"
class=
"row"
>
<el-radio-group
v-model=
"queryParam.sex"
>
<el-radio
label=
1
>
男
</el-radio>
<el-radio
label=
0
>
女
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"联系人角色:"
class=
"row"
>
<el-input
type=
"text"
v-model=
"queryParam.role"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"联系人职位:"
class=
"row"
>
<el-input
type=
"text"
v-model=
"queryParam.position"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"联系人公司/机关:"
class=
"row"
>
<el-form-item
label=
"关联企业:"
class=
"row"
>
<el-input
type=
"text"
v-model=
"queryParam.office"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"
内部维护人
:"
class=
"row"
>
<el-input
type=
"text"
v-model=
"queryParam.
accendant
"
placeholder=
"请输入"
></el-input>
<el-form-item
label=
"
联系人职位
:"
class=
"row"
>
<el-input
type=
"text"
v-model=
"queryParam.
position
"
placeholder=
"请输入"
></el-input>
</el-form-item>
<!--<el-form-item label="内部维护人:" class="row">-->
<!--<el-input type="text" v-model="queryParam.accendant" placeholder="请输入"></el-input>-->
<!--</el-form-item>-->
<el-form-item
label=
"联系方式:"
class=
"row"
>
<el-input
type=
"text"
v-model=
"queryParam.phone"
placeholder=
"请输入"
></el-input>
</el-form-item>
...
...
@@ -120,7 +141,8 @@
detailId
:
{
//从企业详情跳转过来ID
type
:
Number
,
default
:
0
}
},
isDisabled
:
false
,
},
data
(){
return
{
...
...
@@ -140,6 +162,7 @@
total
:
0
,
projectname
:
this
.
$route
.
query
.
projectname
,
queryParam
:[],
isDisabled
:
this
.
isDisabled
,
}
},
created
(){
...
...
@@ -148,6 +171,7 @@
methods
:{
getDetail
(
item
){
this
.
dialogVisible
=
true
item
.
sex
=
item
.
sex
.
toString
()
this
.
queryParam
=
item
this
.
isnew
=
false
},
...
...
@@ -158,8 +182,10 @@
})
},
save
(){
let
param
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
queryParam
))
param
.
sex
=
parseInt
(
param
.
sex
)
if
(
this
.
isnew
==
false
){
editLXR
(
this
.
queryP
aram
).
then
(
result
=>
{
editLXR
(
p
aram
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
'保存成功!'
)
this
.
getList
()
...
...
@@ -168,7 +194,7 @@
})
}
if
(
this
.
isnew
==
true
){
addLXR
(
this
.
queryP
aram
).
then
(
result
=>
{
addLXR
(
p
aram
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
'新增成功!'
)
this
.
getList
()
...
...
@@ -192,11 +218,12 @@
this
.
queryParam
=
{
businessId
:
this
.
id
,
name
:
""
,
sex
:
"1"
,
role
:
""
,
office
:
""
,
position
:
""
,
phone
:
""
,
accendant
:
""
,
//
accendant:"",
}
},
}
...
...
dsk-operate-ui/src/views/project/projectList/component/xgqy.vue
View file @
3edac885
...
...
@@ -3,12 +3,12 @@
<div>
<el-card
class=
"box-card noborder"
>
<div
class=
"cardtitles"
>
相关企业
</div>
<div
class=
"searchbtns"
v-if=
"tableData.total>0"
>
<el-select
class=
"select"
placeholder=
"企业类型"
v-model=
"searchParam.companyType"
@
change=
"handleCurrentChange(1)"
>
<div
class=
"searchbtns"
>
<el-select
class=
"select"
placeholder=
"企业类型"
clearable
v-model=
"searchParam.companyType"
@
change=
"handleCurrentChange(1)"
>
<el-option
v-for=
"(item,index) in companytype"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
<div
class=
"searchInput"
>
<el-input
type=
"text"
placeholder=
"输入关键词查询"
v-model=
"searchParam.companyName"
></el-input>
<el-input
type=
"text"
placeholder=
"输入关键词查询"
clearable
v-model=
"searchParam.companyName"
></el-input>
<div
class=
"btn"
@
click=
"handleCurrentChange(1)"
>
搜索
</div>
</div>
<div
class=
"btn btn_primary h32 b3"
@
click=
"opennew"
><div
class=
"img img1"
></div>
添加相关企业
</div>
...
...
@@ -21,8 +21,8 @@
<template
slot=
"empty"
>
<div
class=
"empty"
>
<img
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
暂无数据展示
</div>
<div
class=
"p2"
>
抱歉,你还未添加相关数据,快去添加吧
</div>
<div
class=
"p1"
>
抱歉,没找到相关数据
</div>
<div
class=
"p2"
>
建议调整关键词或添加相关企业,重新搜索
</div>
<div
class=
"btn btn_primary h36 w102"
@
click=
"opennew"
>
新增相关企业
</div>
</div>
</
template
>
...
...
@@ -266,6 +266,9 @@
</
script
>
<
style
lang=
"scss"
scoped
>
.searchInput
.el-input
{
width
:
68%
;
}
.w102
{
width
:
102px
;
}
...
...
dsk-operate-ui/src/views/project/projectList/component/xmsl.vue
View file @
3edac885
...
...
@@ -8,7 +8,7 @@
<div
class=
"con"
>
<span>
项目级别 :
</span>
<div
class=
"inputxt"
id=
"inputxt1"
>
<div
class=
"flex"
v-if=
"nowedit == 1
"
>
<div
class=
"flex"
v-if=
"nowedit == 1
&& isDisabled == false"
>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.projectLevel"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL(
{projectLevel:xmsldata.projectLevel})">确定
</div>
...
...
@@ -22,11 +22,11 @@
<span>
项目阶段 :
</span>
<div
class=
"select-popper "
>
<span
class=
"color_text"
:class=
"
{'txt':xmjd == '待添加'}">
<span
:class=
"
{'txt':xmjd == '待添加'}">
{{
xmjd
}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-select
v-model=
"xmjd"
class=
"select-multiple"
placeholder=
"请选择"
@
change=
"editXMSL(
{projectStage:xmjd})">
<el-select
v-
if=
"isDisabled==false"
v-
model=
"xmjd"
class=
"select-multiple"
placeholder=
"请选择"
@
change=
"editXMSL(
{projectStage:xmjd})">
<el-option
v-for=
"(item,index) in projectStage"
:key=
"index"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
</div>
...
...
@@ -38,9 +38,9 @@
<div
class=
"flex tipinput"
>
<div
class=
"tips"
v-for=
"(item,index) in tipslit"
>
{{
item
}}
<img
@
click=
"deltip(item)"
src=
"@/assets/images/project/del.png"
></div>
<div
style=
"position: relative"
>
<el-input
placeholder=
"待添加"
v-model=
"tipsvalue"
@
input=
"getValue"
:style=
"spanWidth"
></el-input><span
class=
"spanText"
>
{{
tipsvalue
}}
</span>
<el-input
placeholder=
"待添加"
:disabled=
"isDisabled"
v-model=
"tipsvalue"
@
input=
"getValue"
:style=
"spanWidth"
></el-input><span
class=
"spanText"
>
{{
tipsvalue
}}
</span>
</div>
<div
class=
"addbtn"
@
click=
"addtips"
></div>
<div
class=
"addbtn"
v-if=
"isDisabled == false"
@
click=
"addtips"
></div>
</div>
</div>
</div>
...
...
@@ -53,7 +53,7 @@
<div
class=
"con"
>
<span>
主管单位 :
</span>
<div
class=
"inputxt"
id=
"inputxt2"
>
<div
class=
"flex"
v-if=
"nowedit == 2"
>
<div
class=
"flex"
v-if=
"nowedit == 2
&& isDisabled == false
"
>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.supervisorUnit"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL(
{supervisorUnit:xmsldata.supervisorUnit})">确定
</div>
...
...
@@ -66,7 +66,7 @@
<div
class=
"con i"
>
<span>
建设单位 :
</span>
<div
class=
"inputxt"
id=
"inputxt3"
:style=
"
{width:rig1}">
<div
class=
"flex"
v-if=
"nowedit == 3"
>
<div
class=
"flex"
v-if=
"nowedit == 3
&& isDisabled == false
"
>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.constructionUnit"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL(
{constructionUnit:xmsldata.constructionUnit})">确定
</div>
...
...
@@ -82,7 +82,7 @@
<div
class=
"con"
>
<span>
主管单位负责人 :
</span>
<div
class=
"inputxt"
id=
"inputxt4"
>
<div
class=
"flex"
v-if=
"nowedit == 4"
>
<div
class=
"flex"
v-if=
"nowedit == 4
&& isDisabled == false
"
>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.supervisorPrincipal"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL(
{supervisorPrincipal:xmsldata.supervisorPrincipal})">确定
</div>
...
...
@@ -95,7 +95,7 @@
<div
class=
"con i"
>
<span>
建设单位负责人 :
</span>
<div
class=
"inputxt"
id=
"inputxt5"
>
<div
class=
"flex"
v-if=
"nowedit == 5"
>
<div
class=
"flex"
v-if=
"nowedit == 5
&& isDisabled == false
"
>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.constructionPrincipal"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL(
{constructionPrincipal:xmsldata.constructionPrincipal})">确定
</div>
...
...
@@ -110,7 +110,7 @@
<div
class=
"con"
>
<span>
主管单位联系电话 :
</span>
<div
class=
"inputxt"
id=
"inputxt6"
>
<div
class=
"flex"
v-if=
"nowedit == 6"
>
<div
class=
"flex"
v-if=
"nowedit == 6
&& isDisabled == false
"
>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.supervisorPhone"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
@
click=
"isphone(1,xmsldata.supervisorPhone)"
style=
"width: 56px"
>
确定
</div>
...
...
@@ -123,7 +123,7 @@
<div
class=
"con i"
>
<span>
建设单位联系电话 :
</span>
<div
class=
"inputxt"
id=
"inputxt7"
>
<div
class=
"flex"
v-if=
"nowedit == 7"
>
<div
class=
"flex"
v-if=
"nowedit == 7
&& isDisabled == false
"
>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.constructionPhone"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
@
click=
"isphone(2,xmsldata.constructionPhone)"
style=
"width: 56px"
>
确定
</div>
...
...
@@ -177,7 +177,6 @@
export
default
{
name
:
'xmsl'
,
props
:{
datas
:
''
,
detailId
:
{
//从企业详情跳转过来ID
type
:
Number
,
default
:
0
...
...
@@ -191,9 +190,10 @@
xmjd
:
'待添加'
,
projectStage
:[],
//项目阶段
id
:
this
.
detailId
?
this
.
detailId
:
this
.
$route
.
query
.
id
,
xmsldata
:
this
.
datas
,
xmsldata
:
[]
,
spanWidth
:
'width: 70px'
,
rig1
:
'184px'
,
isDisabled
:
false
,
}
},
created
(){
...
...
@@ -205,6 +205,8 @@
},
mounted
(){
document
.
addEventListener
(
'mouseup'
,(
e
)
=>
{
if
(
this
.
isDisabled
==
true
)
return
false
let
j
=
0
for
(
var
i
=
1
;
i
<=
7
;
i
++
){
let
isSelf
=
document
.
getElementById
(
'inputxt'
+
i
).
contains
(
event
.
target
)
// 这个是自己的区域
...
...
@@ -215,6 +217,33 @@
}
}
if
(
j
==
7
){
if
(
this
.
nowedit
!=
-
1
){
let
param
=
{}
switch
(
this
.
nowedit
)
{
case
1
:
param
=
{
'projectLevel'
:
this
.
xmsldata
.
projectLevel
}
break
;
case
2
:
param
=
{
'supervisorUnit'
:
this
.
xmsldata
.
supervisorUnit
}
break
;
case
3
:
param
=
{
'constructionUnit'
:
this
.
xmsldata
.
constructionUnit
}
break
;
case
4
:
param
=
{
'supervisorPrincipal'
:
this
.
xmsldata
.
supervisorPrincipal
}
break
;
case
5
:
param
=
{
'constructionPrincipal'
:
this
.
xmsldata
.
constructionPrincipal
}
break
;
case
6
:
param
=
{
'supervisorPhone'
:
this
.
xmsldata
.
supervisorPhone
}
break
;
case
7
:
param
=
{
'constructionPhone'
:
this
.
xmsldata
.
constructionPhone
}
break
;
}
this
.
editXMSL
(
param
)
}
this
.
nowedit
=
-
1
}
})
...
...
@@ -232,17 +261,26 @@
});
},
editXMSL
(
param
){
let
params
=
param
params
.
id
=
this
.
id
editXMNR
(
JSON
.
stringify
(
params
)).
then
(
res
=>
{
if
(
res
.
code
==
200
){
this
.
$message
.
success
(
'修改成功!'
)
}
else
{
this
.
$message
.
error
(
res
.
msg
)
this
.
getXMSL
()
}
})
this
.
nowedit
=
-
1
if
(
this
.
isDisabled
==
true
)
return
false
if
(
param
.
projectStage
){
//修改项目阶段
this
.
$emit
(
'Refreshs'
,
param
)
this
.
xmjd
=
param
.
projectStage
}
else
{
let
params
=
param
params
.
id
=
this
.
id
editXMNR
(
JSON
.
stringify
(
params
)).
then
(
res
=>
{
if
(
res
.
code
==
200
){
if
(
!
param
.
projectStage
){
this
.
$message
.
success
(
'修改成功!'
)
}
}
else
{
this
.
$message
.
error
(
res
.
msg
)
this
.
getXMSL
()
}
})
}
},
//验证电话号码
isphone
(
type
,
value
){
...
...
@@ -302,8 +340,7 @@
this
.
xmjd
=
result
.
data
.
projectStage
this
.
tipslit
=
result
.
data
.
labelList
this
.
xmsldata
=
result
.
data
this
.
isDisabled
=
result
.
data
.
isFounder
==
1
?
false
:
true
const
spanStyle
=
document
.
querySelector
(
".rig1"
);
this
.
$nextTick
(()
=>
{
// 如果不用$nextTick的话页面并不会更新,它是在下次dom更新后再渲染到页面上
this
.
rig1
=
...
...
dsk-operate-ui/src/views/project/projectList/component/zlwd.vue
View file @
3edac885
...
...
@@ -3,9 +3,10 @@
<div>
<el-card
class=
"box-card noborder"
>
<div
class=
"cardtitles"
>
资料文档
</div>
<div
class=
"searchbtns"
v-if=
"fileDatas.rows != null && fileDatas.rows.length>0"
>
<div
class=
"searchbtns"
>
<!--
<div
class=
"searchbtns"
v-if=
"fileDatas.rows != null && fileDatas.rows.length>0"
>
-->
<div
class=
"searchInput"
>
<el-input
type=
"text"
v-model=
"param.keyword"
placeholder=
"输入关键词查询"
></el-input>
<el-input
type=
"text"
v-model=
"param.keyword"
clearable
placeholder=
"输入关键词查询"
></el-input>
<div
class=
"btn"
@
click=
"handleCurrentChange(1)"
>
搜索
</div>
</div>
<div
class=
"btn btn_primary h32 b2"
@
click=
"getUP"
><div
class=
"img img2"
></div>
上传
</div>
...
...
@@ -50,8 +51,8 @@
<template
slot=
"empty"
>
<div
class=
"empty"
>
<img
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
暂无数据展示
</div>
<div
class=
"p2"
>
抱歉,你还未添加相关数据,快去上传吧
</div>
<div
class=
"p1"
>
抱歉,没找到相关数据
</div>
<div
class=
"p2"
>
建议调整关键词或筛选条件,重新搜索
</div>
<div
class=
"btn btn_primary h36 w102"
@
click=
"getUP"
>
上传文档
</div>
</div>
</
template
>
...
...
@@ -344,4 +345,7 @@
}
}
}
.searchInput
.el-input
{
width
:
68%
;
}
</
style
>
dsk-operate-ui/src/views/project/projectList/detail.vue
View file @
3edac885
...
...
@@ -14,7 +14,7 @@
<div
class=
"titles"
>
<img
src=
"@/assets/images/project/headimg.png"
class=
"headimg"
>
<strong
class=
"text"
>
{{ProjectData.projectName}}
</strong>
<div
class=
"locks"
>
<div
class=
"locks"
v-if=
"ProjectData.isFounder == 1"
>
<div
@
click=
"islock=true"
>
<img
v-if=
"ProjectData.isPrivate == 0"
src=
"@/assets/images/project/lock.png"
>
<img
v-else
src=
"@/assets/images/project/lockopen.png"
>
...
...
@@ -29,15 +29,15 @@
</div>
</div>
</div>
<div
class=
"contets row"
>
<div
class=
"contets row"
readonly
>
<div
class=
"det-con"
>
<span>
项目类型:
</span>
<div
class=
"select-popper"
>
<span
class=
"color_text"
:class=
"{'txt':xmlx == '请选择'}"
>
<span
:class=
"{'txt':xmlx == '请选择'}"
>
{{xmlx}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-select
v-model=
"xmlx"
class=
"select-multiple"
placeholder=
"请选择"
@
change=
"editXMSL({projectType:xmlx})"
>
<el-select
v-
if=
"isDisabled == false"
v-
model=
"xmlx"
class=
"select-multiple"
placeholder=
"请选择"
@
change=
"editXMSL({projectType:xmlx})"
>
<el-option
v-for=
"(item,index) in projectType"
:key=
"index"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
</div>
...
...
@@ -46,11 +46,11 @@
<span>
项目类别:
</span>
<span>
<div
class=
"select-popper"
>
<span
class=
"color_text"
:class=
"{'txt':xmlb == '请选择'}"
>
<span
:class=
"{'txt':xmlb == '请选择'}"
>
{{xmlb}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-select
v-model=
"xmlb"
class=
"select-multiple"
placeholder=
"请选择"
@
change=
"editXMSL({projectCategory:xmlb})"
>
<el-select
v-
if=
"isDisabled==false"
v-
model=
"xmlb"
class=
"select-multiple"
placeholder=
"请选择"
@
change=
"editXMSL({projectCategory:xmlb})"
>
<el-option
v-for=
"(item,index) in projectCategory"
:key=
"index"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
</div>
...
...
@@ -59,7 +59,7 @@
<div
class=
"det-con con"
id=
"inputxt"
>
<span>
投资估算(万元):
</span>
<div
class=
"inputxt i"
:class=
"{'nomar':nowedit != 3}"
>
<div
class=
"flex"
v-if=
"nowedit == 3"
>
<div
class=
"flex"
v-if=
"nowedit == 3
&& isDisabled == false
"
>
<el-input
v-model=
"ProjectData.investmentAmount"
placeholder=
"待添加"
@
input=
"number"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL({investmentAmount:ProjectData.investmentAmount})"
>
确定
</div>
...
...
@@ -77,7 +77,7 @@
{{addresstxt}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-cascader
class=
"cascader-region select-location"
v-model=
"ProjectData.address"
<el-cascader
:disabled=
"isDisabled"
class=
"cascader-region select-location"
v-model=
"ProjectData.address"
ref=
"myCascader"
:props=
"props"
:options=
"addressList"
@
change=
"handleChange"
></el-cascader>
...
...
@@ -106,20 +106,20 @@
</div>
</div>
</el-card>
<!--项目
概
览-->
<xmsl
v-if=
"thistag == 'xmsl'"
:
datas=
"ProjectData
"
:detailId=
"detailId"
></xmsl>
<!--项目
速
览-->
<xmsl
v-if=
"thistag == 'xmsl'"
:
key=
"keys"
@
Refreshs=
"getsl
"
:detailId=
"detailId"
></xmsl>
<!--建设内容-->
<jsnr
v-if=
"thistag == 'jsnr'"
:detailId=
"detailId"
></jsnr>
<jsnr
v-if=
"thistag == 'jsnr'"
:
isDisabled=
'isDisabled'
:
detailId=
"detailId"
></jsnr>
<!--联系人-->
<lxr
v-if=
"thistag == 'lxr'"
:detailId=
"detailId"
></lxr>
<lxr
v-if=
"thistag == 'lxr'"
:
isDisabled=
'isDisabled'
:
detailId=
"detailId"
></lxr>
<!--跟进记录-->
<gjjl
v-if=
"thistag == 'gjjl'"
types=
"gjjl"
:detailId=
"detailId"
></gjjl>
<gjjl
v-if=
"thistag == 'gjjl'"
:isDisabled=
'isDisabled'
types=
"gjjl"
:detailId=
"detailId"
></gjjl>
<!--工作待办-->
<gzdb
v-if=
"thistag == 'gzdb'"
:detailId=
"detailId"
></gzdb>
<gzdb
v-if=
"thistag == 'gzdb'"
:
isDisabled=
'isDisabled'
:
detailId=
"detailId"
></gzdb>
<!--资料文档-->
<zlwd
v-if=
"thistag == 'zlwd'"
:detailId=
"detailId"
></zlwd>
<zlwd
v-if=
"thistag == 'zlwd'"
:
isDisabled=
'isDisabled'
:
detailId=
"detailId"
></zlwd>
<!--相关企业-->
<xgqy
v-if=
"thistag == 'xgqy'"
:detailId=
"detailId"
></xgqy>
<xgqy
v-if=
"thistag == 'xgqy'"
:
isDisabled=
'isDisabled'
:
detailId=
"detailId"
></xgqy>
</div>
</div>
</template>
...
...
@@ -175,6 +175,8 @@
props
:{
checkStrictly
:
true
,
expandTrigger
:
'hover'
},
id
:
''
,
ProjectData
:{},
isDisabled
:
false
,
keys
:
1
,
}
},
created
(){
...
...
@@ -197,10 +199,18 @@
this
.
getXMSL
()
},
methods
:
{
getsl
(
data
){
this
.
choose
(
data
.
projectStage
)
},
handleALL
(
event
){
if
(
this
.
isDisabled
==
true
)
return
false
var
one
=
document
.
getElementById
(
"inputxt"
);
if
(
one
){
if
(
!
one
.
contains
(
event
.
target
)){
if
(
this
.
nowedit
!=
-
1
){
this
.
editXMSL
({
investmentAmount
:
this
.
ProjectData
.
investmentAmount
})
}
this
.
nowedit
=
-
1
}
else
{
this
.
nowedit
=
3
...
...
@@ -211,6 +221,7 @@
getXMSL
(
this
.
id
).
then
(
result
=>
{
this
.
ProjectData
=
result
.
code
==
200
?
result
.
data
:{}
this
.
$route
.
query
.
projectname
=
result
.
data
.
projectName
this
.
isDisabled
=
result
.
data
.
isFounder
==
1
?
false
:
true
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
...
...
@@ -237,7 +248,6 @@
this
.
address
=
list
.
length
>
0
?
list
:
"待添加"
this
.
addresstxt
=
txt
==
""
?
"待添加"
:
txt
})
},
locks
(
isPrivate
){
isPrivate
=
isPrivate
==
0
?
1
:
0
...
...
@@ -246,6 +256,8 @@
this
.
ProjectData
.
isPrivate
=
isPrivate
},
editXMSL
(
param
){
if
(
this
.
isDisabled
==
true
)
return
false
let
params
=
param
params
.
id
=
this
.
id
editXMNR
(
JSON
.
stringify
(
params
)).
then
(
res
=>
{
...
...
@@ -291,8 +303,14 @@
this
.
lastindex
=
value
},
choose
(
value
){
if
(
this
.
isDisabled
==
true
)
return
false
this
.
thisindex
=
value
this
.
editXMSL
({
projectStage
:
value
})
let
_this
=
this
setTimeout
(
function
()
{
_this
.
keys
++
;
},
1000
)
},
//内容组件切换
getCom
(
tag
){
...
...
@@ -300,7 +318,7 @@
},
//输入数字
number
(
value
){
this
.
queryParam
.
registerCapital
=
value
.
replace
(
/^
\D
*
(\d
*
(?:\.\d{0,6})?)
.*$/g
,
'$1'
)
//输入6位小数
this
.
ProjectData
.
investmentAmount
=
value
==
""
?
""
:
value
.
replace
(
/^
\D
*
(\d
*
(?:\.\d{0,6})?)
.*$/g
,
'$1'
)
//输入6位小数
},
handleChange
(
value
)
{
...
...
dsk-operate-ui/src/views/project/projectList/index.vue
View file @
3edac885
...
...
@@ -99,7 +99,9 @@
<div
class=
"titles"
>
项目明细
<div
class=
"dc"
>
<div
class=
"total"
>
共
{{
total
}}
条
</div>
<div
class=
"btn-export"
><img
src=
"@/assets/images/EXCEL.png"
>
导出EXCEL
</div>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"功能正在开发中"
placement=
"top"
>
<div
class=
"btn-export"
><img
src=
"@/assets/images/EXCEL.png"
>
导出EXCEL
</div>
</el-tooltip>
</div>
</div>
<div
class=
"tables"
v-if=
"total == 0"
>
...
...
@@ -113,7 +115,10 @@
</div>
<div
class=
"datalist"
>
<div
class=
"datali"
v-for=
"(item,index) in datalist"
>
<div
class=
"det-title"
@
click=
"toDetail(item.id,'xmsl')"
>
{{
item
.
projectName
}}
<span
v-if=
"activeName!='first' && item.followTime"
class=
"people"
><i>
{{
item
.
nickName1
}}
</i>
{{
item
.
nickName
}}
<font
color=
"#FA8A00"
>
正在跟进
</font></span></div>
<div
class=
"det-title"
@
click=
"toDetail(item.id,'xmsl')"
>
{{
item
.
projectName
}}
<span
v-if=
"activeName!='first' && item.followTime"
class=
"people"
><i>
{{
item
.
nickName1
}}
</i>
<span
v-if=
"item.provinceName != '' && item.provinceName!==null"
>
{{
item
.
provinceName
}}
-
</span>
{{
item
.
nickName
}}
<font
color=
"#FA8A00"
>
正在跟进
</font></span></div>
<div
class=
"det-tips"
>
<span
class=
"tips tip1"
v-for=
"label in item.labels"
>
{{
label
}}
</span>
<span
v-if=
"item.address"
class=
"tips tip2"
>
{{
item
.
address
}}
</span></div>
...
...
@@ -238,6 +243,8 @@ export default {
}
},
created
()
{
},
mounted
(){
this
.
prvinceTree
()
this
.
getList
(
1
)
//项目阶段
...
...
@@ -308,6 +315,10 @@ export default {
})
},
reset
(){
this
.
$nextTick
(()
=>
{
this
.
$refs
.
myCascader
.
$refs
.
panel
.
clearCheckedNodes
()
this
.
$refs
.
myCascader
.
$refs
.
panel
.
activePath
=
[]
})
this
.
searchParam
=
{
userId
:
null
,
projectName
:
''
,
//项目名称
...
...
@@ -443,6 +454,9 @@ export default {
}
</
script
>
<
style
lang=
"scss"
scoped
>
.btn_primary
{
margin-top
:
16px
;
}
.jabph_popper_box
{
left
:
110px
;
}
...
...
dsk-operate-ui/src/views/radar/components/Bidding/index.vue
View file @
3edac885
...
...
@@ -185,11 +185,11 @@
</p>
<p
class=
"list-content-text"
>
<span>
预计招标时间:
</span>
<span>
{{
item
.
issueTimestamp
||
'--'
}}
</span>
<span>
{{
item
.
planTenderDateStart
||
'--'
}}
</span>
</p>
<p
class=
"list-content-text"
>
<span>
来源网站:
</span>
<span
>
{{
item
.
issueTimestamp
||
'--'
}}
</span>
<span
>
{{
item
.
sourceName
||
'--'
}}
</span>
</p>
...
...
dsk-operate-ui/src/views/radar/components/Establishment/index.vue
View file @
3edac885
...
...
@@ -1057,8 +1057,6 @@
reset
()
{
Object
.
assign
(
this
.
$data
,
this
.
$options
.
data
.
call
(
this
));
//重置data
this
.
init
();
this
.
$emit
(
"reset"
);
this
.
token
=
getCookie
(
"tokenNew"
);
},
init
()
{
this
.
search
();
...
...
dsk-operate-ui/src/views/radar/components/Land/index.vue
View file @
3edac885
...
...
@@ -234,15 +234,19 @@
<div
class=
"list-content"
>
<p
class=
"list-content-text"
>
<span>
受让人:
</span>
<router-link
:to=
"'/company/' + encodeStr(item.id) + '/?index=true'"
tag=
"a"
class=
"list-titel-a blue"
v-html=
"item.companyName"
></router-link>
<span
v-if=
"item.companyName"
>
<router-link
:to=
"'/company/' + encodeStr(item.id) + '/?index=true'"
tag=
"a"
class=
"list-titel-a blue"
v-html=
"item.companyName"
></router-link>
</span>
<span
v-else
>
--
</span>
</p>
<p
class=
"list-content-text"
>
<span>
成交金额:
</span>
<span>
{{
item
.
transactionPrice
||
'--'
}}
</span>
<span>
{{
item
.
transactionPrice
||
'--'
}}
万元
</span>
</p>
<p
class=
"list-content-text"
>
<span>
总面积:
</span>
<span>
{{
item
.
acreage
||
'--'
}}
</span>
<span>
{{
item
.
acreage
||
'--'
}}
㎡
</span>
</p>
<p
class=
"list-content-text"
>
<span>
合同签订:
</span>
...
...
@@ -254,6 +258,10 @@
<span>
土地用途:
</span>
<span
>
{{
item
.
landUse
||
'--'
}}
</span>
</p>
<p
class=
"list-content-text"
>
<span>
行业分类:
</span>
<span
>
{{
item
.
industry
||
'--'
}}
</span>
</p>
<p
class=
"list-content-text"
>
<span>
供应方式:
</span>
<span
>
{{
item
.
supplyLandWay
||
'--'
}}
</span>
...
...
@@ -275,7 +283,8 @@
</p>
<p
class=
"list-content-text"
>
<span>
土地坐落:
</span>
<span
>
{{item.landAddr||'--'}}
</span>
<span
v-if=
"item.landAddr"
v-html=
"item.landAddr"
></span>
<span
v-else
>
--
</span>
</p>
</div>
</li>
...
...
@@ -562,7 +571,7 @@
searchDic
(){
api
.
searchDic
().
then
(
res
=>
{
this
.
landMarketIndustryList
=
res
.
landMarketIndustry
;
this
.
landUseOptions
=
res
.
data
.
landUse
this
.
landUseOptions
=
res
.
landUse
}).
catch
(
error
=>
{
});
...
...
dsk-operate-ui/src/views/radar/components/bxprozbgg/index.vue
View file @
3edac885
...
...
@@ -63,7 +63,7 @@
工程类型{{jskBidNewsDto.projectType.length? jskBidNewsDto.projectType.length + "项": ""}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-select
v-model=
"jskBidNewsDto.projectType"
class=
"select-multiple"
multipleplaceholder=
"请选择"
>
<el-select
v-model=
"jskBidNewsDto.projectType"
class=
"select-multiple"
multiple
placeholder=
"请选择"
>
<el-option
v-for=
"(item, i) in projectTypeList"
:key=
"i"
:label=
"item"
:value=
"item"
>
</el-option>
</el-select>
...
...
@@ -283,7 +283,7 @@
<div
class=
"label"
>
人员要求
</div>
<div
class=
"content_right"
>
<el-input
class=
"ename_input"
placeholder=
"请输入关键词句,如:
建筑工程
"
v-model=
"jskBidNewsDto.personLimit"
></el-input>
placeholder=
"请输入关键词句,如:
一级建造师
"
v-model=
"jskBidNewsDto.personLimit"
></el-input>
<span
class=
"land_content_wrap_label_tipspan"
>
<el-tooltip
popper-class=
"explain_tooltip"
content=
"根据输入的关键词全称进行匹配"
placement=
"bottom"
effect=
"light"
>
...
...
@@ -882,7 +882,8 @@
created
()
{
this
.
searchDic
();
this
.
clickProvince
(
0
,
1
);
this
.
bxproggSearch
();
this
.
search
();
this
.
changeDown
(
false
)
},
mounted
()
{
},
...
...
@@ -1002,7 +1003,7 @@
}
this
.
fieldText
=
this
.
fieldOptions
[
index
].
value
;
this
.
fieldOptions
[
index
].
status
=
true
;
this
.
bxproggS
earch
();
this
.
s
earch
();
},
//项目级别
addressListfn
()
{
...
...
@@ -1431,12 +1432,12 @@
handleCurrentChange
(
e
){
this
.
page
=
e
;
this
.
jump1
();
this
.
bxproggS
earch
(
e
,
this
.
limit
);
this
.
s
earch
(
e
,
this
.
limit
);
},
handleSizeChange
(
e
){
this
.
limit
=
e
;
this
.
jump1
();
this
.
bxproggS
earch
(
this
.
page
,
e
);
this
.
s
earch
(
this
.
page
,
e
);
},
jump1
()
{
// 用 class="d_jump" 添加锚点
...
...
@@ -1489,10 +1490,10 @@
},
lowerRateClick
()
{
this
.
bxproggS
earch
();
this
.
s
earch
();
},
bxproggS
earch
(
page
,
limit
,
exportFlag
){
s
earch
(
page
,
limit
,
exportFlag
){
// return false;
if
(
!
page
)
{
this
.
page
=
1
;
...
...
@@ -1504,6 +1505,7 @@
this
.
reloadPage
();
}
var
data
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
jskBidNewsDto
));
console
.
log
(
data
);
if
(
this
.
projectTerritoryId
.
length
>
0
){
for
(
var
i
=
0
;
i
<
this
.
projectTerritoryId
.
length
;
i
++
){
...
...
@@ -1561,8 +1563,17 @@
reset
(){
Object
.
assign
(
this
.
$data
,
this
.
$options
.
data
.
call
(
this
));
//重置data
// this.clickProvince(0,1);
this
.
bxproggS
earch
();
this
.
s
earch
();
},
changeDown
(
isHeight
){
if
(
isHeight
){
this
.
isHeight
=
false
this
.
maxHeight
=
'auto'
}
else
{
this
.
isHeight
=
true
this
.
maxHeight
=
'36px'
}
},
provinceChange
(
e
){
let
obj
=
''
...
...
dsk-operate-ui/src/views/radar/components/debtProject/index.vue
View file @
3edac885
...
...
@@ -7,8 +7,8 @@
<el-input
class=
"ename_input"
placeholder=
"请输入项目名称关键字"
v-model=
"projectName"
></el-input>
<template
v-if=
"projectName"
>
<span
v-for=
" (item,k) in
enameQuery
TypeList"
:key=
"k"
style=
"margin-right: 24px;"
>
<el-radio
v-model=
"
enameQuery
Type"
:label=
"item.key"
>
{{
item
.
value
}}
</el-radio>
<span
v-for=
" (item,k) in
name
TypeList"
:key=
"k"
style=
"margin-right: 24px;"
>
<el-radio
v-model=
"
name
Type"
:label=
"item.key"
>
{{
item
.
value
}}
</el-radio>
</span>
</
template
>
</div>
...
...
@@ -66,7 +66,7 @@
项目类型{{projectType.length? projectType.length + "项": ""}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-select
v-model=
"projectType"
class=
"select-multiple"
multipleplaceholder=
"请选择"
>
<el-select
v-model=
"projectType"
class=
"select-multiple"
multiple
placeholder=
"请选择"
>
<el-option
v-for=
"(item, i) in specialBondProjectType"
:key=
"i"
:label=
"item"
:value=
"item"
>
</el-option>
</el-select>
...
...
@@ -108,7 +108,7 @@
</div>
<div
class=
"list-content"
>
<p
class=
"list-content-text"
v-if=
"item.projectType"
>
<p
class=
"list-content-text"
v-if=
"item.projectType
&&item.projectType!='空白'
"
>
<span>
项目类型:
</span>
<span>
{{item.projectType}}
</span>
</p>
...
...
@@ -116,27 +116,27 @@
<span>
项目总投资(亿):
</span>
<span>
{{item.projectTotalInvestment}}
</span>
</p>
<p
class=
"list-content-text"
v-if=
"item.
special
Capital"
>
<p
class=
"list-content-text"
v-if=
"item.
project
Capital"
>
<span>
项目资本金(亿):
</span>
<span>
{{item.projectCapital}}
</span>
</p>
<p
class=
"list-content-text"
>
<p
class=
"list-content-text"
v-if=
"item.specialBondCapital"
>
<span>
专项债金额(亿):
</span>
<span>
{{item.specialCapital}}
</span>
<span>
{{item.special
Bond
Capital}}
</span>
</p>
</div>
<div
class=
"list-content"
>
<p
class=
"list-content-text"
v-if=
"item.
specialCapital
"
>
<p
class=
"list-content-text"
v-if=
"item.
projectEntity
"
>
<span>
项目主体:
</span>
<span
>
{{item.projectEntity}}
</span>
<span
v-html=
"item.projectEntity"
>
</span>
</p>
<p
class=
"list-content-text"
v-if=
"item.chargeDepartment"
>
<span>
主管部门:
</span>
<span
>
{{item.chargeDepartment}}
</span>
<span
v-html=
"item.chargeDepartment"
>
</span>
</p>
<p
class=
"list-content-text"
v-if=
"item.piu"
>
<span>
实施单位:
</span>
<span
>
{{item.piu}}
</span>
<span
v-html=
"item.piu"
>
</span>
</p>
</div>
</li>
...
...
@@ -171,20 +171,18 @@
return
{
encodeStr
,
projectName
:
''
,
enameQuery
TypeList
:
[{
key
:
'
and
'
,
name
TypeList
:
[{
key
:
'
like
'
,
status
:
false
,
value
:
'模糊搜索'
,
keyid
:
'businessScope'
},
{
key
:
'
or
'
,
key
:
'
match
'
,
status
:
true
,
value
:
'精准匹配'
,
keyid
:
'businessScope'
},
],
enameQueryType
:
'or
'
,
nameType
:
'match
'
,
projectEntity
:
''
,
countTypelist
:
[{
key
:
'1'
,
...
...
@@ -201,7 +199,7 @@
],
chargeDepartment
:
{
key
:
'3'
,
value
:
'
实施单位
'
value
:
'
项目主体
'
},
addressList
:
[],
addressType
:
[],
...
...
@@ -213,7 +211,7 @@
specialBondProjectType
:
[
],
projectTypeText
:
[
'不限'
],
projectType
:[
'不限'
],
projectType
:[],
arrList
:[],
pageFlag
:
true
,
...
...
@@ -226,11 +224,14 @@
}
},
created
()
{
this
.
addressListfn
();
this
.
searchDic
();
this
.
search
();
this
.
init
();
},
methods
:
{
init
(){
this
.
addressListfn
();
this
.
searchDic
();
this
.
search
();
},
searchDic
(){
api
.
searchDic
().
then
(
res
=>
{
this
.
specialBondProjectType
=
res
.
specialBondProjectType
;
...
...
@@ -444,7 +445,7 @@
if
(
this
.
projectName
){
params
.
specialBondProjectDto
[
'projectName'
]
=
this
.
projectName
;
params
.
specialBondProjectDto
[
'
enameQueryType'
]
=
this
.
enameQuery
Type
;
params
.
specialBondProjectDto
[
'
nameType'
]
=
this
.
name
Type
;
}
if
(
this
.
projectEntity
){
...
...
@@ -534,7 +535,8 @@
return
this
.
hasValue
;
},
reset
(){
Object
.
assign
(
this
.
$data
,
this
.
$options
.
data
.
call
(
this
));
//重置data
this
.
init
();
}
}
}
...
...
dsk-system/src/main/java/com/dsk/system/domain/BusinessAddDto.java
View file @
3edac885
package
com
.
dsk
.
system
.
domain
;
import
com.dsk.common.utils.StringUtils
;
import
lombok.Data
;
/**
...
...
@@ -34,7 +33,7 @@ public class BusinessAddDto {
/**
* 投资估算
*/
private
String
investmentAmount
;
private
Double
investmentAmount
;
/**
* 项目阶段
...
...
@@ -59,8 +58,4 @@ public class BusinessAddDto {
* 客户id
*/
private
String
customerId
;
public
Double
getInvestmentAmount
()
{
return
StringUtils
.
isEmpty
(
investmentAmount
)
?
null
:
Double
.
parseDouble
(
investmentAmount
);
}
}
dsk-system/src/main/java/com/dsk/system/domain/customer/dto/CustomerBusinessSearchDto.java
View file @
3edac885
...
...
@@ -19,6 +19,10 @@ public class CustomerBusinessSearchDto implements Serializable {
* 企业id
*/
private
Long
userId
;
/**
* 项目名称
*/
private
String
projectName
;
/**
* 项目阶段
*/
...
...
dsk-system/src/main/java/com/dsk/system/domain/vo/BusinessBrowseVo.java
View file @
3edac885
...
...
@@ -130,5 +130,10 @@ public class BusinessBrowseVo {
*/
private
Integer
fileCount
;
/**
* 是否创建人(1 是,0 否)
*/
private
Integer
isFounder
;
}
dsk-system/src/main/java/com/dsk/system/dskService/EnterpriseService.java
View file @
3edac885
...
...
@@ -56,7 +56,10 @@ public class EnterpriseService {
companyData
.
put
(
"claimStatus"
,
0
);
companyData
.
put
(
"uipId"
,
null
);
Map
<
String
,
Object
>
uipMap
=
dskOpenApiUtil
.
requestBody
(
"/operate/enterprise/financial"
,
BeanUtil
.
beanToMap
(
body
,
false
,
false
));
Map
<
String
,
Object
>
map
=
BeanUtil
.
beanToMap
(
body
,
false
,
false
);
map
.
put
(
"cid"
,
body
.
getCompanyId
());
Map
<
String
,
Object
>
uipMap
=
dskOpenApiUtil
.
requestBody
(
"/operate/enterprise/financial"
,
map
);
Integer
uipCode
=
MapUtils
.
getInteger
(
uipMap
,
"code"
,
300
);
if
(
200
!=
uipCode
)
return
R
.
ok
(
companyData
);
...
...
dsk-system/src/main/java/com/dsk/system/mapper/BusinessUserMapper.java
View file @
3edac885
package
com
.
dsk
.
system
.
mapper
;
import
com.dsk.common.core.domain.entity.BusinessUser
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
...
...
@@ -65,4 +67,11 @@ public interface BusinessUserMapper
* @return
*/
String
selectCreatorByBusinessId
(
Integer
businessId
);
/**
* 查询是否为项目的创建人
* @param businessId
* @return
*/
Integer
selectFounder
(
@Param
(
"businessId"
)
Integer
businessId
,
@Param
(
"userId"
)
Long
userId
);
}
dsk-system/src/main/java/com/dsk/system/service/EconomicService.java
View file @
3edac885
...
...
@@ -79,4 +79,13 @@ public interface EconomicService {
*/
AjaxResult
regionalCompare
(
OpRegionalEconomicDataStatisticsRegionalDto
dto
);
/***
*@Description: 地区经济-对比
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:25
*/
AjaxResult
regionalMultipleCompare
(
OpRegionalEconomicRegionalCompareDto
dto
);
}
dsk-system/src/main/java/com/dsk/system/service/impl/BusinessContactsServiceImpl.java
View file @
3edac885
package
com
.
dsk
.
system
.
service
.
impl
;
import
java.util.List
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.dsk.common.core.domain.entity.BusinessContacts
;
import
com.dsk.common.core.domain.model.LoginUser
;
import
com.dsk.common.exception.base.BaseException
;
import
com.dsk.common.utils.CheckUtils
;
import
com.dsk.common.utils.DateUtils
;
import
com.dsk.common.utils.SecurityUtils
;
import
com.dsk.system.mapper.BusinessContactsMapper
;
import
com.dsk.system.service.IBusinessContactsService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
/**
* 项目联系人Service业务层处理
*
...
...
@@ -58,7 +61,11 @@ public class BusinessContactsServiceImpl implements IBusinessContactsService
@Transactional
public
int
insertBusinessContacts
(
BusinessContacts
businessContacts
)
{
if
(!
CheckUtils
.
isPhone
(
businessContacts
.
getPhone
()))
throw
new
BaseException
(
"500"
,
"请输入正确的手机号码"
);
if
(!
CheckUtils
.
isPhone
(
businessContacts
.
getPhone
()))
throw
new
BaseException
(
"500"
,
"请输入正确的电话号码"
);
LoginUser
loginUser
=
SecurityUtils
.
getLoginUser
();
if
(
ObjectUtil
.
isEmpty
(
loginUser
))
throw
new
BaseException
(
"请登录"
);
//维护人员为当前登录用户
businessContacts
.
setAccendant
(
loginUser
.
getUsername
());
return
businessContactsMapper
.
insertBusinessContacts
(
businessContacts
);
}
...
...
@@ -72,7 +79,7 @@ public class BusinessContactsServiceImpl implements IBusinessContactsService
@Transactional
public
int
updateBusinessContacts
(
BusinessContacts
businessContacts
)
{
if
(!
CheckUtils
.
isPhone
(
businessContacts
.
getPhone
()))
throw
new
BaseException
(
"500"
,
"请输入正确的
手机
号码"
);
if
(!
CheckUtils
.
isPhone
(
businessContacts
.
getPhone
()))
throw
new
BaseException
(
"500"
,
"请输入正确的
电话
号码"
);
businessContacts
.
setUpdateTime
(
DateUtils
.
getNowDate
());
return
businessContactsMapper
.
updateBusinessContacts
(
businessContacts
);
}
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/BusinessInfoServiceImpl.java
View file @
3edac885
...
...
@@ -2,6 +2,7 @@ package com.dsk.system.service.impl;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.dsk.common.config.RuoYiConfig
;
import
com.dsk.common.constant.HttpStatus
;
import
com.dsk.common.core.domain.AjaxResult
;
...
...
@@ -70,7 +71,8 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
@Override
public
BusinessInfo
getConstruction
(
Integer
id
)
{
return
businessInfoMapper
.
getConstruction
(
id
);
BusinessInfo
businessInfo
=
businessInfoMapper
.
getConstruction
(
id
);
return
ObjectUtil
.
isEmpty
(
businessInfo
)
?
new
BusinessInfo
()
:
businessInfo
;
}
/**
...
...
@@ -89,7 +91,6 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
dto
.
setOthers
(
userId
.
intValue
());
//查询他人可见项目
othersList
=
businessInfoMapper
.
selectBusinessInfoList
(
dto
);
}
dto
.
setOthers
(
null
);
//查询自己参与的项目
...
...
@@ -103,9 +104,14 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
BusinessBrowseVo
businessBrowseVo
=
new
BusinessBrowseVo
();
//查询项目基本信息
BusinessInfo
businessInfo
=
businessInfoMapper
.
selectBusinessInfoById
(
businessId
);
BeanUtil
.
copyProperties
(
businessInfo
,
businessBrowseVo
);
if
(
ObjectUtil
.
isNotEmpty
(
businessInfo
))
BeanUtil
.
copyProperties
(
businessInfo
,
businessBrowseVo
);
//商务团队
businessBrowseVo
.
setTeam
(
businessUserMapper
.
selectCreatorByBusinessId
(
businessId
));
//查询是否是项目创建人
Long
userId
=
SecurityUtils
.
getLoginUser
().
getUserId
();
if
(
userId
==
null
)
throw
new
BaseException
(
"请登录"
);
Integer
founder
=
businessUserMapper
.
selectFounder
(
businessId
,
userId
);
businessBrowseVo
.
setIsFounder
(
founder
==
null
?
0
:
founder
);
//查询项目标签
businessBrowseVo
.
setLabelList
(
businessLabelMapper
.
selectBusinessLabelList
(
new
BusinessLabel
(
businessId
)).
stream
().
map
(
p
->
p
.
getLabel
()).
collect
(
Collectors
.
toList
()));
//相关数据统计
...
...
@@ -173,6 +179,13 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
//新增前查询是否已存在
int
count
=
businessInfoMapper
.
isRepetitionProjectName
(
dto
.
getProjectName
(),
dto
.
getUserId
());
if
(
count
>
0
)
return
AjaxResult
.
error
(
"项目名称已存在"
);
//判断资金Double类型的位数
if
(
dto
.
getInvestmentAmount
()
!=
null
)
{
int
front
=
CheckUtils
.
checkIntegerPlaces
(
dto
.
getInvestmentAmount
());
int
later
=
CheckUtils
.
checkDecimalPlaces
(
dto
.
getInvestmentAmount
());
if
(
front
>
9
)
return
AjaxResult
.
error
(
"小数点前最多支持9位"
);
if
(
later
>
6
)
return
AjaxResult
.
error
(
"小数点后最多支持6位"
);
}
//新增项目主信息
BusinessInfo
businessInfo
=
new
BusinessInfo
();
BeanUtil
.
copyProperties
(
dto
,
businessInfo
);
...
...
@@ -199,9 +212,16 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
@Override
@Transactional
public
int
updateBusinessInfo
(
BusinessInfo
businessInfo
)
{
//判断资金Double类型的位数
if
(
businessInfo
.
getInvestmentAmount
()
!=
null
)
{
int
front
=
CheckUtils
.
checkIntegerPlaces
(
businessInfo
.
getInvestmentAmount
());
int
later
=
CheckUtils
.
checkDecimalPlaces
(
businessInfo
.
getInvestmentAmount
());
if
(
front
>
9
)
throw
new
BaseException
(
"500"
,
"小数点前最多支持9位"
);
if
(
later
>
6
)
throw
new
BaseException
(
"500"
,
"小数点后最多支持6位"
);
}
if
(
StringUtils
.
isNotEmpty
(
businessInfo
.
getConstructionPhone
())
&&
StringUtils
.
isNotEmpty
(
businessInfo
.
getSupervisorPhone
()))
{
if
(!
CheckUtils
.
isPhone
(
businessInfo
.
getConstructionPhone
())
||
!
CheckUtils
.
isPhone
(
businessInfo
.
getSupervisorPhone
()))
throw
new
BaseException
(
"500"
,
"请输入正确的
手机
号码"
);
throw
new
BaseException
(
"500"
,
"请输入正确的
电话
号码"
);
}
businessInfo
.
setUpdateTime
(
DateUtils
.
getNowDate
());
return
businessInfoMapper
.
updateBusinessInfo
(
businessInfo
);
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/BusinessRelateCompanyServiceImpl.java
View file @
3edac885
package
com
.
dsk
.
system
.
service
.
impl
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.domain.entity.BusinessRelateCompany
;
import
com.dsk.common.exception.base.BaseException
;
import
com.dsk.common.utils.CheckUtils
;
import
com.dsk.common.utils.DateUtils
;
import
com.dsk.system.domain.BusinessIdDto
;
import
com.dsk.system.mapper.BusinessRelateCompanyMapper
;
...
...
@@ -16,6 +10,8 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* 项目关联单位Service业务层处理
...
...
@@ -63,7 +59,7 @@ public class BusinessRelateCompanyServiceImpl implements IBusinessRelateCompanyS
@Transactional
public
int
insertBusinessRelateCompany
(
BusinessRelateCompany
businessRelateCompany
)
{
// if(!CheckUtils.isPhone(businessRelateCompany.getPhone())) throw new BaseException("500","请输入正确的
手机
号码");
// if(!CheckUtils.isPhone(businessRelateCompany.getPhone())) throw new BaseException("500","请输入正确的
电话
号码");
businessRelateCompany
.
setCreateTime
(
DateUtils
.
getNowDate
());
return
businessRelateCompanyMapper
.
insertBusinessRelateCompany
(
businessRelateCompany
);
}
...
...
@@ -78,7 +74,7 @@ public class BusinessRelateCompanyServiceImpl implements IBusinessRelateCompanyS
@Transactional
public
int
updateBusinessRelateCompany
(
BusinessRelateCompany
businessRelateCompany
)
{
// if(!CheckUtils.isPhone(businessRelateCompany.getPhone())) throw new BaseException("500","请输入正确的
手机
号码");
// if(!CheckUtils.isPhone(businessRelateCompany.getPhone())) throw new BaseException("500","请输入正确的
电话
号码");
businessRelateCompany
.
setUpdateTime
(
DateUtils
.
getNowDate
());
return
businessRelateCompanyMapper
.
updateBusinessRelateCompany
(
businessRelateCompany
);
}
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/CustomerServiceImpl.java
View file @
3edac885
...
...
@@ -51,16 +51,17 @@ public class CustomerServiceImpl implements ICustomerService {
@Override
public
List
<
CustomerListVo
>
selectList
(
CustomerSearchDto
dto
)
{
dto
.
setUserId
(
SecurityUtils
.
getUserId
());
List
<
CustomerListVo
>
vos
=
baseMapper
.
selectList
(
dto
);
vos
.
parallelStream
().
forEach
(
vo
->
{
//合作项目
vo
.
setCooperationProject
(
businessInfoService
.
selectCountByStatusAndCustomerId
(
2
,
vo
.
getCustomerId
()));
//跟进项目
vo
.
setFollowProject
(
businessInfoService
.
selectCountByStatusAndCustomerId
(
1
,
vo
.
getCustomerId
()));
//储备项目
vo
.
setReserveProject
(
businessInfoService
.
selectCountByStatusAndCustomerId
(
0
,
vo
.
getCustomerId
()));
});
return
vos
;
// List<CustomerListVo> vos = baseMapper.selectList(dto);
// vos.parallelStream().forEach(vo -> {
// //合作项目
// vo.setCooperationProject(businessInfoService.selectCountByStatusAndCustomerId(2, vo.getCustomerId()));
// //跟进项目
// vo.setFollowProject(businessInfoService.selectCountByStatusAndCustomerId(1, vo.getCustomerId()));
// //储备项目
// vo.setReserveProject(businessInfoService.selectCountByStatusAndCustomerId(0, vo.getCustomerId()));
// });
// return vos;
return
baseMapper
.
selectList
(
dto
);
}
@Override
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/EconomicServiceImpl.java
View file @
3edac885
...
...
@@ -70,4 +70,10 @@ public class EconomicServiceImpl implements EconomicService {
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
regionalMultipleCompare
(
OpRegionalEconomicRegionalCompareDto
dto
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/economic/regional/multipleCompare"
,
BeanUtil
.
beanToMap
(
dto
,
false
,
false
));
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
}
dsk-system/src/main/resources/mapper/business/BusinessContactsMapper.xml
View file @
3edac885
...
...
@@ -12,8 +12,9 @@
<result
property=
"office"
column=
"office"
/>
<result
property=
"position"
column=
"position"
/>
<result
property=
"phone"
column=
"phone"
/>
<result
property=
"sex"
column=
"sex"
/>
<result
property=
"accendant"
column=
"accendant"
/>
<result
property=
"creat
Time"
column=
"creat
_time"
/>
<result
property=
"creat
eTime"
column=
"create
_time"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
</resultMap>
...
...
@@ -26,7 +27,8 @@
position,
phone,
accendant,
creat_time,
sex,
create_time,
update_time
from business_contacts
</sql>
...
...
@@ -41,9 +43,10 @@
<if
test=
"position != null and position != ''"
>
and position = #{position}
</if>
<if
test=
"phone != null and phone != ''"
>
and phone = #{phone}
</if>
<if
test=
"accendant != null and accendant != ''"
>
and accendant = #{accendant}
</if>
<if
test=
"creatTime != null "
>
and creat_time = #{creatTime}
</if>
<if
test=
"createTime != null "
>
and create_time = #{createTime}
</if>
<if
test=
"sex != null "
>
and sex = #{sex}
</if>
</where>
order by
creat_time
desc
order by
update_time desc,id
desc
</select>
<select
id=
"selectBusinessContactsById"
parameterType=
"Long"
resultMap=
"BusinessContactsResult"
>
...
...
@@ -61,8 +64,9 @@
<if
test=
"position != null"
>
position,
</if>
<if
test=
"phone != null"
>
phone,
</if>
<if
test=
"accendant != null"
>
accendant,
</if>
<if
test=
"creat
Time != null"
>
creat
_time,
</if>
<if
test=
"creat
eTime != null"
>
create
_time,
</if>
<if
test=
"updateTime != null"
>
update_time,
</if>
<if
test=
"sex != null"
>
sex,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"businessId != null"
>
#{businessId},
</if>
...
...
@@ -72,8 +76,9 @@
<if
test=
"position != null"
>
#{position},
</if>
<if
test=
"phone != null"
>
#{phone},
</if>
<if
test=
"accendant != null"
>
#{accendant},
</if>
<if
test=
"creat
Time != null"
>
#{creat
Time},
</if>
<if
test=
"creat
eTime != null"
>
#{create
Time},
</if>
<if
test=
"updateTime != null"
>
#{updateTime},
</if>
<if
test=
"sex != null"
>
#{sex},
</if>
</trim>
</insert>
...
...
@@ -87,8 +92,9 @@
<if
test=
"position != null"
>
position = #{position},
</if>
<if
test=
"phone != null"
>
phone = #{phone},
</if>
<if
test=
"accendant != null"
>
accendant = #{accendant},
</if>
<if
test=
"creat
Time != null"
>
creat_time = #{creat
Time},
</if>
<if
test=
"creat
eTime != null"
>
create_time = #{create
Time},
</if>
<if
test=
"updateTime != null"
>
update_time = #{updateTime},
</if>
<if
test=
"sex != null"
>
sex = #{sex},
</if>
</trim>
where id = #{id}
</update>
...
...
dsk-system/src/main/resources/mapper/business/BusinessInfoMapper.xml
View file @
3edac885
...
...
@@ -356,7 +356,7 @@
<if
test=
"constructionPhone != null"
>
construction_phone = #{constructionPhone},
</if>
<if
test=
"supervisorUnit != null"
>
supervisor_unit = #{supervisorUnit},
</if>
<if
test=
"supervisorPrincipal != null"
>
supervisor_principal = #{supervisorPrincipal},
</if>
<if
test=
"supervisorPhone != null"
>
evaluation_bid_council
= #{supervisorPhone},
</if>
<if
test=
"supervisorPhone != null"
>
supervisor_phone
= #{supervisorPhone},
</if>
</trim>
where id = #{id}
</update>
...
...
@@ -388,6 +388,7 @@
from business_info bi
left join business_user bu on bi.id = bu.business_id
where bi.customer_id = #{customerId} and (bu.user_id = #{userId} or bi.is_private = 1)
<if
test=
"projectName != null and projectName != '' "
>
and bi.project_name like concat('%',#{projectName},'%')
</if>
<if
test=
"projectStage != null and projectStage != '' "
>
and bi.project_stage = #{projectStage}
</if>
<if
test=
"status != null "
>
and bi.status = #{status}
</if>
order by bi.create_time desc
...
...
dsk-system/src/main/resources/mapper/business/BusinessUserMapper.xml
View file @
3edac885
...
...
@@ -41,6 +41,12 @@
where bu.is_founder = 1
and i.id = #{BusinessId}
</select>
<select
id=
"selectFounder"
resultType=
"java.lang.Integer"
>
select is_founder
from business_user
where business_id = #{businessId}
and user_id = #{userId}
</select>
<insert
id=
"insertBusinessUser"
parameterType=
"com.dsk.common.core.domain.entity.BusinessUser"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into business_user
...
...
dsk-system/src/main/resources/mapper/system/customer/CustomerMapper.xml
View file @
3edac885
...
...
@@ -10,7 +10,7 @@
ct.performance_characteristic, ct.other_ms_characteistic, ct.create_id, ct.create_time, ct.update_id, ct.update_time
</sql>
<select
id=
"selectList"
resultType=
"com.dsk.system.domain.customer.vo.CustomerListVo"
>
<select
id=
"selectList
1
"
resultType=
"com.dsk.system.domain.customer.vo.CustomerListVo"
>
select
u.nick_name followUser,
<include
refid=
"Base_Bean"
></include>
...
...
@@ -21,6 +21,26 @@
<if
test=
"dto.companyName != null and dto.companyName != '' "
>
and ct.company_name like concat('%',#{dto.companyName},'%')
</if>
</select>
<select
id=
"selectList"
resultType=
"com.dsk.system.domain.customer.vo.CustomerListVo"
>
select
u.nick_name followUser, bi1.num reserveProject, bi2.num followProject, bi3.num cooperationProject,
<include
refid=
"Base_Bean"
></include>
from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id
join sys_user u on ctu.user_id = u.user_id
left join (
select count(status) num,customer_id from business_info where `status` = 0 group by customer_id
) bi1 on bi1.customer_id = ct.customer_id
left join (
select count(status) num,customer_id from business_info where `status` = 1 group by customer_id
) bi2 on bi2.customer_id = ct.customer_id
left join (
select count(status) num,customer_id from business_info where `status` = 2 group by customer_id
) bi3 on bi3.customer_id = ct.customer_id
where ctu.user_id = #{dto.userId}
<if
test=
"dto.companyName != null and dto.companyName != '' "
>
and ct.company_name like concat('%',#{dto.companyName},'%')
</if>
</select>
<select
id=
"selectUserList"
resultType=
"com.dsk.system.domain.customer.Customer"
>
select
ct.customer_id, ct.company_name
...
...
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