Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-cr20g
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
dsk-cr20g
Commits
8303eb06
Commit
8303eb06
authored
Jun 05, 2023
by
danfuman
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://192.168.60.201/root/dsk-operate-sys
parents
d63c1bc8
0bbc06f3
Changes
68
Hide whitespace changes
Inline
Side-by-side
Showing
68 changed files
with
4399 additions
and
1451 deletions
+4399
-1451
CustomerController.java
...a/com/dsk/web/controller/customer/CustomerController.java
+17
-2
EnterpriseController.java
...java/com/dsk/web/controller/dsk/EnterpriseController.java
+12
-0
RegionalEconomicDataController.java
...er/search/macroMarket/RegionalEconomicDataController.java
+7
-4
EnterpriseUipSearchBody.java
...dsk/common/core/domain/model/EnterpriseUipSearchBody.java
+64
-0
OpRegionalEconomicDataRegionalListDto.java
...sk/common/dtos/OpRegionalEconomicDataRegionalListDto.java
+32
-0
OpRegionalEconomicDataStatisticsRegionalDto.java
...mon/dtos/OpRegionalEconomicDataStatisticsRegionalDto.java
+42
-0
OpRegionalEconomicDataV1PageDto.java
.../com/dsk/common/dtos/OpRegionalEconomicDataV1PageDto.java
+2
-0
UrbanInvestmentPlatformDto.java
.../java/com/dsk/common/dtos/UrbanInvestmentPlatformDto.java
+11
-9
projectTemplate.xlsx
dsk-operate-ui/public/file/projectTemplate.xlsx
+0
-0
financial.js
dsk-operate-ui/src/api/detail/party-a/financial.js
+9
-0
overview.js
dsk-operate-ui/src/api/detail/party-a/overview.js
+17
-0
riskInformation.js
dsk-operate-ui/src/api/detail/party-a/riskInformation.js
+100
-0
project.js
dsk-operate-ui/src/api/project/project.js
+55
-0
bgfdf.png
dsk-operate-ui/src/assets/images/bxpro/bgfdf.png
+0
-0
original.png
dsk-operate-ui/src/assets/images/bxpro/original.png
+0
-0
original1.png
dsk-operate-ui/src/assets/images/bxpro/original1.png
+0
-0
pdf.png
dsk-operate-ui/src/assets/images/bxpro/pdf.png
+0
-0
project.scss
dsk-operate-ui/src/assets/styles/project.scss
+14
-2
public.css
dsk-operate-ui/src/assets/styles/public.css
+1
-1
index.vue
dsk-operate-ui/src/components/Keyword/index.vue
+281
-0
index.js
dsk-operate-ui/src/router/index.js
+15
-1
index.vue
dsk-operate-ui/src/views/custom/customList/index.vue
+9
-87
HeadForm.vue
...perate-ui/src/views/detail/party-a/component/HeadForm.vue
+7
-1
index.vue
dsk-operate-ui/src/views/detail/party-a/cooperate/index.vue
+4
-1
index.vue
dsk-operate-ui/src/views/detail/party-a/financial/index.vue
+18
-8
index.vue
dsk-operate-ui/src/views/detail/party-a/index.vue
+14
-14
mixin.js
dsk-operate-ui/src/views/detail/party-a/mixins/mixin.js
+5
-1
administrative.vue
...ate-ui/src/views/detail/party-a/opport/administrative.vue
+2
-2
announcement.vue
...erate-ui/src/views/detail/party-a/opport/announcement.vue
+2
-2
bond.vue
dsk-operate-ui/src/views/detail/party-a/opport/bond.vue
+1
-2
landtransaction.vue
...te-ui/src/views/detail/party-a/opport/landtransaction.vue
+1
-1
proposed.vue
dsk-operate-ui/src/views/detail/party-a/opport/proposed.vue
+1
-2
branch.vue
dsk-operate-ui/src/views/detail/party-a/overview/branch.vue
+42
-25
businfo.vue
dsk-operate-ui/src/views/detail/party-a/overview/businfo.vue
+26
-13
execuinfo.vue
...perate-ui/src/views/detail/party-a/overview/execuinfo.vue
+26
-14
holderinfo.vue
...erate-ui/src/views/detail/party-a/overview/holderinfo.vue
+29
-19
overseas.vue
...operate-ui/src/views/detail/party-a/overview/overseas.vue
+48
-37
businessAnomaly.vue
.../views/detail/party-a/riskInformation/businessAnomaly.vue
+26
-3
courtNotice.vue
.../src/views/detail/party-a/riskInformation/courtNotice.vue
+75
-49
dishonesty.vue
...i/src/views/detail/party-a/riskInformation/dishonesty.vue
+20
-17
ifThePerson.vue
.../src/views/detail/party-a/riskInformation/ifThePerson.vue
+18
-18
judgment.vue
...-ui/src/views/detail/party-a/riskInformation/judgment.vue
+63
-36
openacourtsessionNotice.vue
...etail/party-a/riskInformation/openacourtsessionNotice.vue
+71
-41
punish.vue
...te-ui/src/views/detail/party-a/riskInformation/punish.vue
+28
-23
landAcquisition.vue
.../views/detail/party-a/urbanLnvestment/landAcquisition.vue
+31
-22
regionalEconomies.vue
...iews/detail/party-a/urbanLnvestment/regionalEconomies.vue
+37
-3
sameRegion.vue
...i/src/views/detail/party-a/urbanLnvestment/sameRegion.vue
+193
-4
addProject.vue
...ui/src/views/project/projectList/component/addProject.vue
+1
-1
batchImport.vue
...i/src/views/project/projectList/component/batchImport.vue
+136
-0
jsnr.vue
...erate-ui/src/views/project/projectList/component/jsnr.vue
+91
-52
lxr.vue
...perate-ui/src/views/project/projectList/component/lxr.vue
+77
-42
xgqy.vue
...erate-ui/src/views/project/projectList/component/xgqy.vue
+1
-1
xmsl.vue
...erate-ui/src/views/project/projectList/component/xmsl.vue
+5
-1
zlwd.vue
...erate-ui/src/views/project/projectList/component/zlwd.vue
+1
-1
detail.vue
dsk-operate-ui/src/views/project/projectList/detail.vue
+11
-1
index.vue
dsk-operate-ui/src/views/project/projectList/index.vue
+113
-39
details.vue
dsk-operate-ui/src/views/radar/bxprozbgg/details.vue
+508
-0
index.vue
dsk-operate-ui/src/views/radar/components/Tender/index.vue
+1592
-0
index.vue
...operate-ui/src/views/radar/components/bxprozbgg/index.vue
+300
-830
index.vue
...erate-ui/src/views/radar/components/debtProject/index.vue
+8
-2
index.vue
dsk-operate-ui/src/views/radar/index.vue
+7
-2
CustomerBusinessListVo.java
...dsk/system/domain/customer/vo/CustomerBusinessListVo.java
+1
-1
EnterpriseProjectService.java
...a/com/dsk/system/dskService/EnterpriseProjectService.java
+2
-2
EnterpriseService.java
...ain/java/com/dsk/system/dskService/EnterpriseService.java
+52
-0
EconomicService.java
...src/main/java/com/dsk/system/service/EconomicService.java
+4
-2
CustomerServiceImpl.java
...java/com/dsk/system/service/impl/CustomerServiceImpl.java
+8
-7
EconomicServiceImpl.java
...java/com/dsk/system/service/impl/EconomicServiceImpl.java
+4
-2
CustomerMapper.xml
.../main/resources/mapper/system/customer/CustomerMapper.xml
+1
-1
No files found.
dsk-admin/src/main/java/com/dsk/web/controller/customer/CustomerController.java
View file @
8303eb06
...
@@ -16,7 +16,6 @@ import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto;
...
@@ -16,7 +16,6 @@ import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto;
import
com.dsk.system.domain.customer.dto.CustomerSearchDto
;
import
com.dsk.system.domain.customer.dto.CustomerSearchDto
;
import
com.dsk.system.service.ICustomerService
;
import
com.dsk.system.service.ICustomerService
;
import
com.dsk.web.controller.search.service.BusinessOpportunityRadarService
;
import
com.dsk.web.controller.search.service.BusinessOpportunityRadarService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.ObjectUtils
;
...
@@ -68,6 +67,23 @@ public class CustomerController extends BaseController {
...
@@ -68,6 +67,23 @@ public class CustomerController extends BaseController {
@PostMapping
()
@PostMapping
()
@RepeatSubmit
@RepeatSubmit
public
AjaxResult
add
(
@RequestBody
Customer
customer
)
{
public
AjaxResult
add
(
@RequestBody
Customer
customer
)
{
dealWithcustomerData
(
customer
);
return
AjaxResult
.
success
(
baseService
.
add
(
customer
));
}
/**
* 认领客户
*/
// @PreAuthorize("@ss.hasPermi('customer:claim')")
@PostMapping
(
"/claim"
)
@RepeatSubmit
public
AjaxResult
claim
(
@RequestBody
Customer
customer
)
{
if
(
ObjectUtils
.
isEmpty
(
customer
.
getUipId
()))
throw
new
BeanException
(
"城投uipId不能为空"
);
dealWithcustomerData
(
customer
);
return
AjaxResult
.
success
(
baseService
.
add
(
customer
));
}
private
void
dealWithcustomerData
(
Customer
customer
){
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCompanyName
()))
throw
new
BeanException
(
"企业名称不能为空"
);
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCompanyName
()))
throw
new
BeanException
(
"企业名称不能为空"
);
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCompanyId
()))
{
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCompanyId
()))
{
try
{
try
{
...
@@ -79,7 +95,6 @@ public class CustomerController extends BaseController {
...
@@ -79,7 +95,6 @@ public class CustomerController extends BaseController {
logger
.
debug
(
"获取企业id错误!error:{}"
,
e
.
getMessage
());
logger
.
debug
(
"获取企业id错误!error:{}"
,
e
.
getMessage
());
}
}
}
}
return
AjaxResult
.
success
(
baseService
.
add
(
customer
));
}
}
/**
/**
...
...
dsk-admin/src/main/java/com/dsk/web/controller/dsk/EnterpriseController.java
View file @
8303eb06
...
@@ -105,4 +105,16 @@ public class EnterpriseController {
...
@@ -105,4 +105,16 @@ public class EnterpriseController {
return
enterpriseService
.
financial
(
vo
);
return
enterpriseService
.
financial
(
vo
);
}
}
@ApiOperation
(
value
=
"城投平台企业查询(openApi)"
)
@PostMapping
(
value
=
"uipSerach"
)
public
TableDataInfo
uipSerach
(
@RequestBody
@Valid
EnterpriseUipSearchBody
vo
)
throws
Exception
{
return
enterpriseService
.
uipSerach
(
vo
);
}
@ApiOperation
(
value
=
"城投平台企业查询选项(openApi)"
)
@PostMapping
(
value
=
"uipGroupData"
)
public
R
financial
()
throws
Exception
{
return
enterpriseService
.
uipGroupData
();
}
}
}
dsk-admin/src/main/java/com/dsk/web/controller/search/macroMarket/RegionalEconomicDataController.java
View file @
8303eb06
package
com
.
dsk
.
web
.
controller
.
search
.
macroMarket
;
package
com
.
dsk
.
web
.
controller
.
search
.
macroMarket
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.dtos.OpRegionalEconomicDataV1Dto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataRegionalListDto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataStatisticsRegionalDto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataV1PageDto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataV1PageDto
;
import
com.dsk.system.service.EconomicService
;
import
com.dsk.system.service.EconomicService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.Valid
;
/**
/**
* @ClassName RegionalEconomicDataController
* @ClassName RegionalEconomicDataController
...
@@ -30,7 +33,7 @@ public class RegionalEconomicDataController {
...
@@ -30,7 +33,7 @@ public class RegionalEconomicDataController {
*@date: 2023/5/18 10:29
*@date: 2023/5/18 10:29
*/
*/
@PostMapping
(
"/national/nationalPage"
)
@PostMapping
(
"/national/nationalPage"
)
public
AjaxResult
nationalPage
(
@RequestBody
OpRegionalEconomicDataV1PageDto
dto
)
{
public
AjaxResult
nationalPage
(
@RequestBody
@Valid
OpRegionalEconomicDataV1PageDto
dto
)
{
return
economicService
.
nationalPage
(
dto
);
return
economicService
.
nationalPage
(
dto
);
}
}
...
@@ -55,7 +58,7 @@ public class RegionalEconomicDataController {
...
@@ -55,7 +58,7 @@ public class RegionalEconomicDataController {
*@date: 2023/5/18 10:29
*@date: 2023/5/18 10:29
*/
*/
@PostMapping
(
"/statistics/regional"
)
@PostMapping
(
"/statistics/regional"
)
public
AjaxResult
statisticsRegional
(
@RequestBody
OpRegionalEconomicData
V1
Dto
dto
)
{
public
AjaxResult
statisticsRegional
(
@RequestBody
OpRegionalEconomicData
StatisticsRegional
Dto
dto
)
{
return
economicService
.
statisticsRegional
(
dto
);
return
economicService
.
statisticsRegional
(
dto
);
}
}
...
@@ -67,7 +70,7 @@ public class RegionalEconomicDataController {
...
@@ -67,7 +70,7 @@ public class RegionalEconomicDataController {
*@date: 2023/5/18 10:29
*@date: 2023/5/18 10:29
*/
*/
@PostMapping
(
"/regional/list"
)
@PostMapping
(
"/regional/list"
)
public
AjaxResult
regionalList
(
@RequestBody
OpRegionalEconomicData
V1
Dto
dto
)
{
public
AjaxResult
regionalList
(
@RequestBody
OpRegionalEconomicData
RegionalList
Dto
dto
)
{
return
economicService
.
regionalList
(
dto
);
return
economicService
.
regionalList
(
dto
);
}
}
...
...
dsk-common/src/main/java/com/dsk/common/core/domain/model/EnterpriseUipSearchBody.java
0 → 100644
View file @
8303eb06
package
com
.
dsk
.
common
.
core
.
domain
.
model
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.NoArgsConstructor
;
import
lombok.ToString
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
EnterpriseUipSearchBody
extends
BasePage
{
/**
* 查询关键字
*/
private
String
keys
;
/*
* 1金额倒序,2金额正序,3时间倒序,4时间正序
*/
@NotNull
(
message
=
"排序条件不能为空"
)
private
Integer
sort
;
/**
* 省份
*/
private
List
<
Integer
>
provinceIds
;
/**
* 市份
*/
private
List
<
Integer
>
cityIds
;
/**
* 县
*/
private
List
<
Integer
>
areaIds
;
/**
* 城投业务类型
*/
private
List
<
String
>
uipBusinessType
;
/**
* 主体信用等级
*/
private
List
<
String
>
bratingSubjectLevel
;
/**
* 股东背景
*/
private
List
<
String
>
shareholderBg
;
/**
* 股权关系
*/
private
List
<
String
>
equityRelationship
;
}
dsk-common/src/main/java/com/dsk/common/dtos/OpRegionalEconomicDataRegionalListDto.java
0 → 100644
View file @
8303eb06
package
com
.
dsk
.
common
.
dtos
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
/**
* @ClassName OpRegionalEconomicDataV1Dto
* @Description 专项债-项目类别统计
* @Author Dgm
* @Date 2023/5/23 14:05
* @Version
*/
@Data
public
class
OpRegionalEconomicDataRegionalListDto
{
/**
* 省Id
*/
@NotNull
(
message
=
"provinceId 不能为空"
)
private
Integer
provinceId
;
/**
* 市Id
*/
private
Integer
cityId
;
/**
* 区Id
*/
private
Integer
areaId
;
}
dsk-common/src/main/java/com/dsk/common/dtos/OpRegionalEconomicDataStatisticsRegionalDto.java
0 → 100644
View file @
8303eb06
package
com
.
dsk
.
common
.
dtos
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
/**
* @ClassName OpRegionalEconomicDataV1Dto
* @Description 专项债-项目类别统计
* @Author Dgm
* @Date 2023/5/23 14:05
* @Version
*/
@Data
public
class
OpRegionalEconomicDataStatisticsRegionalDto
{
/**
* id
*/
@NotNull
(
message
=
"id 不能为空"
)
private
Integer
id
;
/**
* 年份
*/
private
Integer
year
;
/**
* 省Id
*/
private
Integer
provinceId
;
/**
* 市Id
*/
private
Integer
cityId
;
/**
* 区Id
*/
private
Integer
areaId
;
}
dsk-common/src/main/java/com/dsk/common/dtos/OpRegionalEconomicDataV1PageDto.java
View file @
8303eb06
...
@@ -3,6 +3,7 @@ package com.dsk.common.dtos;
...
@@ -3,6 +3,7 @@ package com.dsk.common.dtos;
import
com.dsk.common.core.domain.model.BasePage
;
import
com.dsk.common.core.domain.model.BasePage
;
import
lombok.Data
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -18,6 +19,7 @@ public class OpRegionalEconomicDataV1PageDto extends BasePage {
...
@@ -18,6 +19,7 @@ public class OpRegionalEconomicDataV1PageDto extends BasePage {
/**
/**
* 年份
* 年份
*/
*/
@NotNull
(
message
=
"year 不能为空"
)
private
Integer
year
;
private
Integer
year
;
/**
/**
* 省
* 省
...
...
dsk-common/src/main/java/com/dsk/common/dtos/UrbanInvestmentPlatformDto.java
View file @
8303eb06
...
@@ -3,6 +3,8 @@ package com.dsk.common.dtos;
...
@@ -3,6 +3,8 @@ package com.dsk.common.dtos;
import
com.dsk.common.core.domain.model.BasePage
;
import
com.dsk.common.core.domain.model.BasePage
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
/**
/**
* @ClassName UrbanInvestmentPlatformDto
* @ClassName UrbanInvestmentPlatformDto
...
@@ -21,41 +23,41 @@ public class UrbanInvestmentPlatformDto extends BasePage {
...
@@ -21,41 +23,41 @@ public class UrbanInvestmentPlatformDto extends BasePage {
/**
/**
* 城投业务类型
* 城投业务类型
*/
*/
private
String
uipBusinessType
;
private
List
<
String
>
uipBusinessType
;
/**
/**
* 主体评级
* 主体评级
*/
*/
private
String
bratingSubjectLevel
;
private
List
<
String
>
bratingSubjectLevel
;
/**
/**
* 股东背景
* 股东背景
*/
*/
private
String
shareholderBg
;
private
List
<
String
>
shareholderBg
;
/**
/**
* 股权关系
* 股权关系
*/
*/
private
String
equityRelationship
;
private
List
<
String
>
equityRelationship
;
/**
/**
* 平台重要性
* 平台重要性
*/
*/
private
String
platformImportance
;
private
List
<
String
>
platformImportance
;
/**
/**
* 所属开发区
* 所属开发区
*/
*/
private
String
developmentZone
;
private
List
<
String
>
developmentZone
;
/**
/**
* 省
* 省
*/
*/
private
Integer
provinceId
;
private
List
<
Integer
>
provinceIds
;
/**
/**
* 市
* 市
*/
*/
private
Integer
cityId
;
private
List
<
Integer
>
cityIds
;
/**
/**
* 区
* 区
*/
*/
private
Integer
areaId
;
private
List
<
Integer
>
areaIds
;
/**
/**
* 关键词
* 关键词
...
...
dsk-operate-ui/public/file/projectTemplate.xlsx
0 → 100644
View file @
8303eb06
File added
dsk-operate-ui/src/api/detail/party-a/financial.js
0 → 100644
View file @
8303eb06
import
request
from
"@/utils/request"
;
// 获取页面数据
export
function
getList
(
data
)
{
return
request
({
url
:
'/getInfo'
,
method
:
'get'
})
}
dsk-operate-ui/src/api/detail/party-a/overview.js
0 → 100644
View file @
8303eb06
import
request
from
"@/utils/request"
;
// 获取查询下拉选项
export
function
getOption
()
{
return
request
({
url
:
'/getInfo'
,
method
:
'get'
})
}
// 获取列表数据
export
function
getList
(
data
)
{
return
request
({
url
:
'/getInfo'
,
method
:
'get'
})
}
dsk-operate-ui/src/api/detail/party-a/riskInformation.js
View file @
8303eb06
...
@@ -34,4 +34,104 @@ export function abnormalYears(data) {
...
@@ -34,4 +34,104 @@ export function abnormalYears(data) {
})
})
}
}
// 被执行人列表
export
function
executedPersonsPage
(
data
)
{
return
request
({
url
:
'/enterpriseCredit/executedPersonsPage'
,
method
:
'post'
,
data
:
data
})
}
// 失信被执行人列表
export
function
executedPage
(
data
)
{
return
request
({
url
:
'/enterpriseCredit/executedPage'
,
method
:
'post'
,
data
:
data
})
}
// 裁判文书列表
export
function
lawsuitsPage
(
data
)
{
return
request
({
url
:
'/enterpriseCredit/lawsuitsPage'
,
method
:
'post'
,
data
:
data
})
}
// 裁判文书案由
export
function
lawsuitsCauseAction
(
data
)
{
return
request
({
url
:
'/enterpriseCredit/lawsuitsCauseAction'
,
method
:
'post'
,
data
:
data
})
}
// 裁判文书身份
export
function
lawsuitsRole
(
data
)
{
return
request
({
url
:
'/enterpriseCredit/lawsuitsRole'
,
method
:
'post'
,
data
:
data
})
}
// 法院公告列表
export
function
noticesPage
(
data
)
{
return
request
({
url
:
'/enterpriseCredit/noticesPage'
,
method
:
'post'
,
data
:
data
})
}
// 法院公告类型
export
function
noticesType
(
data
)
{
return
request
({
url
:
'/enterpriseCredit/noticesType'
,
method
:
'post'
,
data
:
data
})
}
// 法院公告身份
export
function
noticesRole
(
data
)
{
return
request
({
url
:
'/enterpriseCredit/noticesRole'
,
method
:
'post'
,
data
:
data
})
}
// 法院公告案由
export
function
noticesCaseReason
(
data
)
{
return
request
({
url
:
'/enterpriseCredit/noticesCaseReason'
,
method
:
'post'
,
data
:
data
})
}
// 开庭公告列表
export
function
kaitingPage
(
data
)
{
return
request
({
url
:
'/enterpriseCredit/kaitingPage'
,
method
:
'post'
,
data
:
data
})
}
// 开庭公告案由
export
function
kaitingCauseAction
(
data
)
{
return
request
({
url
:
'/enterpriseCredit/kaitingCauseAction'
,
method
:
'post'
,
data
:
data
})
}
// 开庭公告当事人身份
export
function
kaitingPureRole
(
data
)
{
return
request
({
url
:
'/enterpriseCredit/kaitingPureRole'
,
method
:
'post'
,
data
:
data
})
}
dsk-operate-ui/src/api/project/project.js
View file @
8303eb06
...
@@ -15,4 +15,59 @@ export function getProjectlist(param) {
...
@@ -15,4 +15,59 @@ export function getProjectlist(param) {
params
:
param
params
:
param
})
})
}
}
//删除项目
export
function
delProject
(
param
)
{
return
request
({
url
:
'/business/info/remove/'
+
param
,
method
:
'DELETE'
,
})
}
//建设内容
export
function
getJSNR
(
param
)
{
return
request
({
url
:
'/business/info/construction/'
+
param
,
method
:
'GET'
,
})
}
//项目速览
export
function
getXMSL
(
param
)
{
return
request
({
url
:
'/business/info/browse/'
+
param
,
method
:
'GET'
,
})
}
//项目速览修改
export
function
editXMSL
(
param
)
{
return
request
({
url
:
'/business/info/edit'
,
method
:
'POST'
,
data
:
param
})
}
//查询项目联系人
export
function
getLXR
(
param
)
{
return
request
({
url
:
'/business/contacts/list'
,
method
:
'GET'
,
params
:
param
})
}
//修改项目联系人
export
function
editLXR
(
param
)
{
return
request
({
url
:
'/business/contacts/edit'
,
method
:
'POST'
,
data
:
param
})
}
//新增项目联系人
export
function
addLXR
(
param
)
{
return
request
({
url
:
'/business/contacts/add'
,
method
:
'POST'
,
data
:
param
})
}
dsk-operate-ui/src/assets/images/bxpro/bgfdf.png
0 → 100644
View file @
8303eb06
41.8 KB
dsk-operate-ui/src/assets/images/bxpro/original.png
0 → 100644
View file @
8303eb06
797 Bytes
dsk-operate-ui/src/assets/images/bxpro/original1.png
0 → 100644
View file @
8303eb06
697 Bytes
dsk-operate-ui/src/assets/images/bxpro/pdf.png
0 → 100644
View file @
8303eb06
1004 Bytes
dsk-operate-ui/src/assets/styles/project.scss
View file @
8303eb06
...
@@ -124,6 +124,7 @@
...
@@ -124,6 +124,7 @@
border-radius
:
2px
;
border-radius
:
2px
;
line-height
:
28px
;
line-height
:
28px
;
cursor
:
pointer
;
cursor
:
pointer
;
position
:
relative
;
>
span
{
>
span
{
padding-left
:
8px
;
padding-left
:
8px
;
}
}
...
@@ -131,6 +132,15 @@
...
@@ -131,6 +132,15 @@
color
:
rgba
(
35
,
35
,
32
,
0
.4
);
color
:
rgba
(
35
,
35
,
32
,
0
.4
);
margin-left
:
4px
;
margin-left
:
4px
;
}
}
.timeinput
{
opacity
:
0
;
position
:
absolute
;
.el-input__inner
{
padding
:
0
;
margin
:
0
;
border
:
0
;
}
}
}
}
}
}
}
}
...
@@ -570,7 +580,7 @@
...
@@ -570,7 +580,7 @@
.el-input__prefix
{
.el-input__prefix
{
left
:
8px
;
left
:
8px
;
top
:
-2
px
;
top
:
3
px
;
}
}
.el-input__suffix
{
.el-input__suffix
{
height
:
32px
;
height
:
32px
;
...
@@ -988,7 +998,7 @@
...
@@ -988,7 +998,7 @@
background
:
rgba
(
0
,
129
,
255
,
0
.16
);
background
:
rgba
(
0
,
129
,
255
,
0
.16
);
font-size
:
12px
;
font-size
:
12px
;
line-height
:
22px
;
line-height
:
22px
;
top
:
14
9
px
;
top
:
14
8
px
;
right
:
61px
;
right
:
61px
;
cursor
:
pointer
;
cursor
:
pointer
;
.img
{
.img
{
...
@@ -1067,3 +1077,5 @@
...
@@ -1067,3 +1077,5 @@
white-space
:
nowrap
;
white-space
:
nowrap
;
padding-right
:
10px
;
padding-right
:
10px
;
}
}
.none
{
display
:
none
}
dsk-operate-ui/src/assets/styles/public.css
View file @
8303eb06
...
@@ -371,7 +371,7 @@ select {
...
@@ -371,7 +371,7 @@ select {
width
:
100%
;
width
:
100%
;
height
:
0px
;
height
:
0px
;
opacity
:
1
;
opacity
:
1
;
border
:
1px
solid
#EFEFEF
;
border
-bottom
:
1px
solid
#EFEFEF
;
margin
:
16px
0px
;
margin
:
16px
0px
;
}
}
...
...
dsk-operate-ui/src/components/Keyword/index.vue
0 → 100644
View file @
8303eb06
<
template
>
<div
class=
"keyword_wrap"
>
<el-dialog
title=
"关键词推荐"
:visible
.
sync=
"dialogVisible"
width=
"800"
class=
"keyword_dialog"
append-to-body
:lock-scroll=
"false"
>
<div
class=
"keyword_label"
>
请搜索或采用关键词种类
</div>
<div
v-if=
"dialogVisible"
>
<el-select
@
change=
"changeKeyword"
v-model=
"keyword"
clearable
class=
"keyword_select"
popper-class=
"keyword_dropdown"
filterable
:filter-method=
"filterMethod"
placeholder=
"请选择"
>
<el-option
v-for=
"item in options"
:key=
"item.id"
:label=
"item.type"
:value=
"item.content"
>
<span
v-html=
"item.newType||item.type"
></span>
</el-option>
</el-select>
<div>
<div
class=
"keyword_name"
>
<el-scrollbar
style=
"height:256px"
>
<ul>
<li
v-for=
"(item,index) in keywordList"
:class=
"activeIndex == index?'active_li':''"
:key=
"index"
@
click=
"keywordClick(index)"
>
{{
item
.
type
}}
</li>
</ul>
</el-scrollbar>
</div>
<div
class=
"keyword_con"
>
<el-input
type=
"textarea"
:autosize=
"
{ minRows: 1, maxRows: 8}"
placeholder="请输入内容"
v-model="content">
</el-input>
<span
class=
"keyword_con_label"
>
<!--
<img
class=
"keyword_con_img"
src=
"@/assets/img/performance/tip.png"
alt=
""
>
-->
关键词可编辑或删减
</span>
<div
class=
"keyword_btn"
@
click=
"handclick"
>
应用关键词
</div>
</div>
</div>
</div>
</el-dialog>
</div>
</
template
>
<
script
>
var
debounce
=
function
(
fn
,
delay
=
300
)
{
var
timer
=
null
;
return
function
()
{
var
_this
=
this
;
var
args
=
arguments
;
if
(
timer
)
clearTimeout
(
timer
);
timer
=
setTimeout
(
function
()
{
fn
.
apply
(
_this
,
args
);
},
delay
);
};
}
export
default
{
data
(){
return
{
dialogVisible
:
false
,
activeIndex
:
0
,
keyword
:
""
,
content
:
""
,
options
:[],
keywordList
:[]
}
},
methods
:{
changeKeyword
(){
this
.
keywordList
.
map
((
item
,
index
)
=>
{
if
(
item
.
content
==
this
.
keyword
){
this
.
activeIndex
=
index
this
.
content
=
this
.
keywordList
[
this
.
activeIndex
].
content
this
.
$nextTick
(()
=>
{
let
el
=
document
.
getElementsByClassName
(
"active_li"
)[
0
]
el
.
scrollIntoView
()
})
}
})
},
// 筛选方法
filterMethod
:
debounce
(
function
(
filterVal
)
{
let
newArr
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
keywordList
))
if
(
filterVal
)
{
let
filterArr
=
newArr
.
filter
((
item
)
=>
{
if
(
item
==
null
)
{
return
false
}
else
{
item
.
newType
=
item
.
type
.
replace
(
new
RegExp
(
filterVal
,
'g'
),
"<span style='color:#FF204E;'>"
+
filterVal
+
"</span>"
)
return
item
.
type
.
toLowerCase
().
includes
(
filterVal
.
toLowerCase
())
}
})
this
.
options
=
filterArr
;
}
else
{
this
.
options
=
newArr
;
}
},
500
),
handclick
(){
this
.
$emit
(
'keywordClick'
,
this
.
content
)
Object
.
assign
(
this
.
$data
,
this
.
$options
.
data
())
//重置data
},
keywordClick
(
index
){
this
.
activeIndex
=
index
this
.
content
=
this
.
keywordList
[
this
.
activeIndex
].
content
},
show
(){
// this.$axios.post("/nationzj/project/keywordList").then(res=>{
// if(res.data.code==200){
// this.keywordList = res.data.data
// this.options = res.data.data
// // localStorage.setItem("keyword",JSON.stringify(res.data.data))
// this.content = this.keywordList[this.activeIndex].content;
// this.dialogVisible = true;
// }
// })
this
.
dialogVisible
=
true
;
/*if(localStorage.getItem("keyword")){
this.keywordList = JSON.parse(localStorage.getItem("keyword"));
this.options = this.keywordList;
this.content = this.keywordList[this.activeIndex].content;
this.dialogVisible = true;
}else{
this.$axios.post("/nationzj/project/keywordList").then(res=>{
if(res.data.code==200){
this.keywordList = res.data.data
this.options = res.data.data
localStorage.setItem("keyword",JSON.stringify(res.data.data))
this.content = this.keywordList[this.activeIndex].content;
this.dialogVisible = true;
}
})
}*/
},
},
}
</
script
>
<
style
lang=
"scss"
>
.keyword_dialog
{
.el-dialog
{
width
:
800px
;
height
:
384px
;
background
:
#FFFFFF
;
border-radius
:
4px
4px
4px
4px
;
opacity
:
1
;
position
:
relative
;
.keyword_label
{
position
:
absolute
;
top
:
11px
;
left
:
115px
;
}
.el-dialog__header
{
padding-left
:
24px
;
padding-top
:
9px
;
color
:
#333333
;
font-weight
:
bold
;
border-bottom
:
1px
solid
#EEEEEE
;
.el-dialog__title
{
font-size
:
16px
;
}
.el-dialog__headerbtn
{
font-size
:
20px
;
top
:
5px
;
right
:
16px
;
}
}
.el-dialog__body
{
padding-top
:
16px
;
.keyword_select
{
margin-bottom
:
8px
;
width
:
376px
;
.el-input
,
.el-input__inner
{
width
:
376px
;
}
}
.keyword_name
{
display
:
inline-block
;
text-align
:
center
;
width
:
180px
;
position
:
relative
;
background
:
#F8F8F8
;
border
:
1px
solid
rgba
(
230
,
230
,
230
,
1
);
border-radius
:
2px
2px
0px
0px
;
.el-scrollbar__wrap
{
overflow-x
:
hidden
;
}
li
{
height
:
40px
;
line-height
:
40px
;
box-sizing
:
border-box
;
cursor
:
pointer
;
overflow
:
hidden
;
text-overflow
:ellipsis
;
white-space
:
nowrap
;
padding
:
0
5px
;
color
:
#999999
;
&
:hover
{
color
:
#0081FF
;
background
:
#E2EDFF
;
font-weight
:bold
;
}
}
.active_li
{
color
:
#0081FF
;
background
:
#E2EDFF
;
font-weight
:bold
;
}
.el-input
.el-input__inner
{
height
:
40px
;
border-radius
:
4px
4px
0
0
;
border
:
none
;
border-bottom
:
1px
solid
#E6E6E6
;
}
}
.keyword_con
{
float
:
right
;
display
:
inline-block
;
position
:
relative
;
margin-right
:
4px
;
width
:
576px
;
height
:
258px
;
background
:rgba
(
255
,
255
,
255
,
1
)
;
border
:
1px
solid
rgba
(
230
,
230
,
230
,
1
);
border-radius
:
2px
2px
0px
0px
;
box-sizing
:
border-box
;
textarea
{
border
:
none
;
resize
:none
;
max-height
:
256px
;
color
:
#333333
;
padding
:
16px
;
}
.keyword_btn
{
cursor
:
pointer
;
line-height
:
28px
;
color
:
#ffffff
;
text-align
:
center
;
position
:
absolute
;
bottom
:
24px
;
right
:
16px
;
width
:
102px
;
height
:
28px
;
background
:
#0081FF
;
border-radius
:
2px
2px
2px
2px
;
opacity
:
1
;
}
.keyword_con_label
{
color
:
#999999
;
font-size
:
12px
;
margin-left
:
16px
;
.keyword_con_img
{
width
:
14px
;
height
:
14px
;
position
:
relative
;
top
:
-2px
;
}
}
}
}
}
}
.el-autocomplete-suggestion
{
width
:
140px
!
important
;
}
.el-autocomplete-suggestion__wrap
{
max-height
:
370px
!
important
;
}
</
style
>
dsk-operate-ui/src/router/index.js
View file @
8303eb06
...
@@ -170,7 +170,21 @@ export const constantRoutes = [
...
@@ -170,7 +170,21 @@ export const constantRoutes = [
meta
:
{
title
:
'拟建项目详情'
,
icon
:
'radar'
}
meta
:
{
title
:
'拟建项目详情'
,
icon
:
'radar'
}
}
}
]
]
}
},
{
path
:
'/bxprozbgg'
,
component
:
Layout
,
hidden
:
true
,
redirect
:
'noredirect'
,
children
:
[
{
path
:
'/radar/bxprozbgg/details/:id(
\\
d+)'
,
component
:
()
=>
import
(
'@/views/radar/bxprozbgg/details'
),
name
:
'bxprozbggDetails'
,
meta
:
{
title
:
'标讯pro项目详情'
,
icon
:
'radar'
}
}
]
},
]
]
// 动态路由,基于用户权限动态去加载
// 动态路由,基于用户权限动态去加载
...
...
dsk-operate-ui/src/views/custom/customList/index.vue
View file @
8303eb06
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
<div
class=
"empty"
v-if=
"tableData.total==0 && isNew == true"
>
<div
class=
"empty"
v-if=
"tableData.total==0 && isNew == true"
>
<img
src=
"@/assets/images/project/empty.png"
>
<img
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
添加你的第一位客户吧
</div>
<div
class=
"p1"
>
添加你的第一位客户吧
</div>
<div
class=
"p2"
>
抱歉
,
你还未添加客户,快去添加吧
</div>
<div
class=
"p2"
>
抱歉
,
你还未添加客户,快去添加吧
</div>
<div
class=
"btn btn_primary h36 w88"
@
click=
"opennew"
>
添加客户
</div>
<div
class=
"btn btn_primary h36 w88"
@
click=
"opennew"
>
添加客户
</div>
<div
class=
"btn btn_primary btn_shallow h36 w88"
@
click=
"pldrs"
>
批量导入
</div>
<div
class=
"btn btn_primary btn_shallow h36 w88"
@
click=
"pldrs"
>
批量导入
</div>
</div>
</div>
...
@@ -227,56 +227,7 @@
...
@@ -227,56 +227,7 @@
</el-dialog>
</el-dialog>
</el-card>
</el-card>
</div>
</div>
<div
class=
"uploadwin"
v-if=
"pldr"
>
<batchimport
v-if=
"pldr"
:importtype=
"types"
@
cancels=
"importCancel"
@
getdatas=
"handleCurrentChange(1)"
></batchimport>
<div
class=
"upload"
v-if=
"addfile==false"
>
<div
class=
"up_title"
>
批量导入客户
</div>
<div
class=
"up_box"
>
<el-upload
:class=
"{'none':isUpload == true}"
class=
"upload-demo"
:action=
"action"
:multiple=
"false"
accept=
".xls,.xlsx"
drag
ref=
"upload"
:auto-upload=
"false"
:file-list=
"fileList"
:on-change=
"handleFileListChange"
:headers=
"headers"
:on-success=
"onSuccess"
>
<img
class=
"up_img"
src=
"@/assets/images/project/upload.png"
>
<div
class=
"up_text"
>
点击选择或将文件(xls,xlsx)拖拽至此上传成员名录
</div>
<div
class=
"up_tip"
>
导入的文件内容必须依照下载模板的要求填写
</div>
<div
class=
"up_tip"
>
上传文件最大为2M,仅支持Excel表格文件(xls,xlsx)
</div>
<div
class=
"up_tip"
>
导入已存在的客户将自动跳过
</div>
</el-upload>
<div
class=
"up_success"
v-if=
"isUpload == true"
>
<img
src=
"@/assets/images/project/success.png"
>
上传成功
</div>
<div
class=
"btn_download"
v-if=
"isUpload == false"
@
click=
"downloadClick"
><div
class=
"img"
></div>
点击下载
</div>
</div>
<div
class=
"btns"
>
<div
class=
"btn btn_primary btn_disabled h34"
v-if=
"isUpload==false"
>
确定导入
</div>
<div
class=
"btn btn_primary h34"
@
click=
"importConfirmClick"
v-else
>
确定导入
</div>
<div
class=
"btn btn_default h34"
>
取消
</div>
</div>
</div>
<div
class=
"success"
v-if=
"addfile==true"
>
<div
v-if=
"addsuccess==false"
>
<img
class=
"img"
src=
"@/assets/images/project/clock.png"
>
<div
class=
"p1"
>
查询客户中...
</div>
<div
class=
"p2"
>
请耐心等待,过程大概30秒
</div>
</div>
<div
v-if=
"addsuccess == true"
>
<div
class=
"p3"
>
<img
src=
"@/assets/images/project/success.png"
>
查询成功
</div>
<div
class=
"p2"
>
成功导入客户信息
</div>
<div
class=
"btns"
>
<div
class=
"btn btn_primary h32"
@
click=
"handleCurrentChange(1)"
>
查看
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -286,12 +237,15 @@
...
@@ -286,12 +237,15 @@
import
{
getCustomerList
,
importData
,
addCustomer
}
from
'@/api/custom/custom'
import
{
getCustomerList
,
importData
,
addCustomer
}
from
'@/api/custom/custom'
import
{
getEnterprise
,
getDictType
,}
from
'@/api/main'
import
{
getEnterprise
,
getDictType
,}
from
'@/api/main'
import
prvinceTree
from
'@/assets/json/provinceTree'
import
prvinceTree
from
'@/assets/json/provinceTree'
import
batchimport
from
'../../project/projectList/component/batchImport'
import
axios
from
'axios'
import
axios
from
'axios'
export
default
{
export
default
{
name
:
'CustomList'
,
name
:
'CustomList'
,
components
:{
batchimport
},
data
()
{
data
()
{
return
{
return
{
pldr
:
false
,
pldr
:
false
,
types
:
'custom'
,
searchParam
:{
searchParam
:{
companyName
:
''
,
companyName
:
''
,
pageNum
:
1
,
pageNum
:
1
,
...
@@ -304,9 +258,6 @@ export default {
...
@@ -304,9 +258,6 @@ export default {
tipslit
:[],
//项目标签
tipslit
:[],
//项目标签
tipsvalue
:
""
,
//标签填写内容
tipsvalue
:
""
,
//标签填写内容
tableData
:
[],
//列表
tableData
:
[],
//列表
isUpload
:
false
,
//有上传的文件
addfile
:
false
,
//已上传文件
addsuccess
:
false
,
//已成功加入数据
companData
:[],
//联想企业列表
companData
:[],
//联想企业列表
customerLevel
:[],
//客户等级
customerLevel
:[],
//客户等级
...
@@ -352,9 +303,9 @@ export default {
...
@@ -352,9 +303,9 @@ export default {
},
},
pldrs
(){
pldrs
(){
this
.
pldr
=
true
this
.
pldr
=
true
this
.
addfile
=
false
},
this
.
isUpload
=
false
importCancel
(){
this
.
addsuccess
=
false
this
.
pldr
=
false
},
},
//获取客户列表
//获取客户列表
getCustomerList
(){
getCustomerList
(){
...
@@ -372,6 +323,7 @@ export default {
...
@@ -372,6 +323,7 @@ export default {
},
},
//翻页
//翻页
handleCurrentChange
(
val
)
{
handleCurrentChange
(
val
)
{
this
.
pldr
=
false
this
.
isNew
=
false
this
.
isNew
=
false
this
.
searchParam
.
pageNum
=
val
this
.
searchParam
.
pageNum
=
val
this
.
getCustomerList
()
this
.
getCustomerList
()
...
@@ -472,35 +424,6 @@ export default {
...
@@ -472,35 +424,6 @@ export default {
this
.
dialogVisible
=
false
this
.
dialogVisible
=
false
this
.
showlist
=
false
this
.
showlist
=
false
},
},
// 批量导入
importConfirmClick
()
{
if
(
this
.
fileList
.
length
>
0
)
{
this
.
$refs
[
"upload"
].
submit
();
this
.
getCustomerList
();
this
.
addfile
=
true
}
else
{
this
.
$message
(
"请先选择文件"
);
}
},
downloadClick
()
{
let
a
=
document
.
createElement
(
"a"
);
a
.
setAttribute
(
"href"
,
"/file/Template.xlsx"
);
a
.
setAttribute
(
"download"
,
"批量导入模版.xlsx"
);
document
.
body
.
appendChild
(
a
);
a
.
click
();
},
handleFileListChange
(
file
,
fileList
)
{
if
(
fileList
.
length
>
0
)
{
this
.
fileList
=
[
fileList
[
fileList
.
length
-
1
]];
this
.
isUpload
=
true
}
},
onSuccess
(
res
,
file
,
fileList
)
{
if
(
res
.
code
==
200
)
this
.
addsuccess
=
true
else
this
.
$message
.
error
({
message
:
res
.
msg
,
showClose
:
true
})
},
//地区
//地区
async
prvinceTree
()
{
async
prvinceTree
()
{
...
@@ -617,5 +540,4 @@ export default {
...
@@ -617,5 +540,4 @@ export default {
padding-right
:
26px
;
padding-right
:
26px
;
}
}
}
}
.none
{
display
:
none
}
</
style
>
</
style
>
dsk-operate-ui/src/views/detail/party-a/component/HeadForm.vue
View file @
8303eb06
...
@@ -53,6 +53,10 @@
...
@@ -53,6 +53,10 @@
<el-option
v-for=
"(item, index) in form.options"
:key=
"index"
:label=
"item.name"
:value=
"item.value"
/>
<el-option
v-for=
"(item, index) in form.options"
:key=
"index"
:label=
"item.name"
:value=
"item.value"
/>
</el-select>
</el-select>
</
template
>
</
template
>
<!-- 自定义 -->
<
template
v-if=
"form.type==0"
>
<slot
name=
"slot"
></slot>
</
template
>
</div>
</div>
...
@@ -109,7 +113,6 @@ export default {
...
@@ -109,7 +113,6 @@ export default {
},
},
methods
:
{
methods
:
{
changeSelect
(){
changeSelect
(){
console
.
log
(
this
.
formData
)
this
.
$emit
(
'handle-search'
)
this
.
$emit
(
'handle-search'
)
},
},
clickEXCEL
()
{
clickEXCEL
()
{
...
@@ -204,6 +207,9 @@ export default {
...
@@ -204,6 +207,9 @@ export default {
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
margin-left
:
16px
;
margin-left
:
16px
;
cursor
:
pointer
;
cursor
:
pointer
;
&
:hover
{
color
:
#0081FF
;
}
img
{
img
{
width
:
18px
;
width
:
18px
;
height
:
18px
;
height
:
18px
;
...
...
dsk-operate-ui/src/views/detail/party-a/cooperate/index.vue
View file @
8303eb06
...
@@ -43,6 +43,8 @@
...
@@ -43,6 +43,8 @@
</div>
</div>
</
template
>
</
template
>
<!-- <Detail />-->
<!-- 弹窗关联项目 -->
<!-- 弹窗关联项目 -->
<el-drawer
<el-drawer
title=
"添加合作情况"
title=
"添加合作情况"
...
@@ -130,11 +132,12 @@ import {
...
@@ -130,11 +132,12 @@ import {
queryProject
queryProject
}
from
'@/api/detail/party-a/cooperate'
}
from
'@/api/detail/party-a/cooperate'
import
{
addProject
}
from
'@/api/project/project'
import
{
addProject
}
from
'@/api/project/project'
import
Detail
from
"../../../project/projectList/detail"
export
default
{
export
default
{
name
:
'Cooperate'
,
name
:
'Cooperate'
,
mixins
:
[
mixin
],
mixins
:
[
mixin
],
components
:
{
components
:
{
Detail
},
},
data
()
{
data
()
{
return
{
return
{
...
...
dsk-operate-ui/src/views/detail/party-a/financial/index.vue
View file @
8303eb06
...
@@ -54,7 +54,8 @@
...
@@ -54,7 +54,8 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
*
as
echarts
from
'echarts'
;
import
{
getList
}
from
'@/api/detail/party-a/financial'
import
*
as
echarts
from
'echarts'
export
default
{
export
default
{
name
:
'Financial'
,
name
:
'Financial'
,
props
:
[
'companyId'
],
props
:
[
'companyId'
],
...
@@ -79,12 +80,7 @@ export default {
...
@@ -79,12 +80,7 @@ export default {
{
name
:
'非标余额'
,
ico
:
require
(
'@/assets/images/detail/financial/zwqk_ico3.png'
),
intro
:
'非标余额/有息债务'
,
introPro
:
'95.19%'
,
amount
:
'1699.7'
,
unit
:
'亿元'
},
{
name
:
'非标余额'
,
ico
:
require
(
'@/assets/images/detail/financial/zwqk_ico3.png'
),
intro
:
'非标余额/有息债务'
,
introPro
:
'95.19%'
,
amount
:
'1699.7'
,
unit
:
'亿元'
},
{
name
:
'对外担保金额'
,
ico
:
require
(
'@/assets/images/detail/financial/zwqk_ico4.png'
),
intro
:
'对外担保比例'
,
introPro
:
'95.19%'
,
amount
:
'1699.7'
,
unit
:
'亿元'
}
{
name
:
'对外担保金额'
,
ico
:
require
(
'@/assets/images/detail/financial/zwqk_ico4.png'
),
intro
:
'对外担保比例'
,
introPro
:
'95.19%'
,
amount
:
'1699.7'
,
unit
:
'亿元'
}
],
],
echartsData
:
[
echartsData
:
[],
{
value
:
1048
,
name
:
'有息债务'
},
{
value
:
735
,
name
:
'有息债务/总债务'
},
{
value
:
580
,
name
:
'综合融资成本'
},
{
value
:
484
,
name
:
'EBITDA保障倍数'
}
],
// 资金情况
// 资金情况
zjqkList
:
[
zjqkList
:
[
{
name
:
'经营现金流'
,
ico
:
require
(
'@/assets/images/detail/financial/zjqk_ico1.png'
),
intro
:
'该指标越高,说明经营活动的造血能力越强'
,
amount
:
'99213'
,
unit
:
'亿元'
},
{
name
:
'经营现金流'
,
ico
:
require
(
'@/assets/images/detail/financial/zjqk_ico1.png'
),
intro
:
'该指标越高,说明经营活动的造血能力越强'
,
amount
:
'99213'
,
unit
:
'亿元'
},
...
@@ -113,9 +109,23 @@ export default {
...
@@ -113,9 +109,23 @@ export default {
created
()
{
created
()
{
},
},
mounted
()
{
mounted
()
{
this
.
getEcharts
()
this
.
handleQuery
()
},
},
methods
:
{
methods
:
{
handleQuery
()
{
let
param
=
{}
getList
(
param
).
then
((
res
)
=>
{
this
.
echartsData
=
[
{
value
:
1048
,
name
:
'有息债务'
},
{
value
:
735
,
name
:
'有息债务/总债务'
},
{
value
:
580
,
name
:
'综合融资成本'
},
{
value
:
484
,
name
:
'EBITDA保障倍数'
}
]
this
.
$nextTick
(()
=>
{
this
.
getEcharts
()
})
})
},
getEcharts
(){
getEcharts
(){
let
myChart
=
echarts
.
init
(
document
.
getElementById
(
"myEcharts"
));
let
myChart
=
echarts
.
init
(
document
.
getElementById
(
"myEcharts"
));
//配置图表
//配置图表
...
...
dsk-operate-ui/src/views/detail/party-a/index.vue
View file @
8303eb06
...
@@ -25,25 +25,25 @@
...
@@ -25,25 +25,25 @@
<Tencent
v-if=
"currentPath.pathName=='tencent'"
:company-id=
"companyId"
/>
<Tencent
v-if=
"currentPath.pathName=='tencent'"
:company-id=
"companyId"
/>
<Administrative
v-if=
"currentPath.pathName=='administrative'"
:company-id=
"companyId"
/>
<Administrative
v-if=
"currentPath.pathName=='administrative'"
:company-id=
"companyId"
/>
<!-- 投诚分析 -->
<!-- 投诚分析 -->
<LandAcquisition
v-if=
"currentPath.pathName=='landAcquisition'"
/>
<LandAcquisition
v-if=
"currentPath.pathName=='landAcquisition'"
:company-id=
"companyId"
/>
<RegionalEconomies
v-if=
"currentPath.pathName=='regionalEconomies'"
/>
<RegionalEconomies
v-if=
"currentPath.pathName=='regionalEconomies'"
:company-id=
"companyId"
/>
<SameRegion
v-if=
"currentPath.pathName=='sameRegion'"
/>
<SameRegion
v-if=
"currentPath.pathName=='sameRegion'"
:company-id=
"companyId"
/>
<!-- 风险信息 -->
<!-- 风险信息 -->
<Punish
v-if=
"currentPath.pathName=='punish'"
/>
<Punish
v-if=
"currentPath.pathName=='punish'"
:company-id=
"companyId"
/>
<BusinessAnomaly
v-if=
"currentPath.pathName=='businessAnomaly'"
/>
<BusinessAnomaly
v-if=
"currentPath.pathName=='businessAnomaly'"
:company-id=
"companyId"
/>
<IfThePerson
v-if=
"currentPath.pathName=='ifThePerson'"
/>
<IfThePerson
v-if=
"currentPath.pathName=='ifThePerson'"
:company-id=
"companyId"
/>
<Dishonesty
v-if=
"currentPath.pathName=='dishonesty'"
/>
<Dishonesty
v-if=
"currentPath.pathName=='dishonesty'"
:company-id=
"companyId"
/>
<Judgment
v-if=
"currentPath.pathName=='judgment'"
/>
<Judgment
v-if=
"currentPath.pathName=='judgment'"
:company-id=
"companyId"
/>
<CourtNotice
v-if=
"currentPath.pathName=='courtNotice'"
/>
<CourtNotice
v-if=
"currentPath.pathName=='courtNotice'"
:company-id=
"companyId"
/>
<OpenacourtsessionNotice
v-if=
"currentPath.pathName=='openacourtsessionNotice'"
/>
<OpenacourtsessionNotice
v-if=
"currentPath.pathName=='openacourtsessionNotice'"
:company-id=
"companyId"
/>
<!-- 招标偏好 -->
<!-- 招标偏好 -->
<Preference
v-if=
"currentPath.pathName=='preference'"
/>
<Preference
v-if=
"currentPath.pathName=='preference'"
:company-id=
"companyId"
/>
<!-- 合作情况 -->
<!-- 合作情况 -->
<Cooperate
v-if=
"currentPath.pathName=='cooperate'"
/>
<Cooperate
v-if=
"currentPath.pathName=='cooperate'"
:company-id=
"companyId"
/>
<!-- 决策链条 -->
<!-- 决策链条 -->
<DecisionMaking
v-if=
"currentPath.pathName=='decisionMaking'"
/>
<DecisionMaking
v-if=
"currentPath.pathName=='decisionMaking'"
:company-id=
"companyId"
/>
<!-- 跟进记录 -->
<!-- 跟进记录 -->
<Gjjl
v-if=
"currentPath.pathName=='gjjl'"
types=
"gjdt
"
/>
<Gjjl
v-if=
"currentPath.pathName=='gjjl'"
:company-id=
"companyId
"
/>
</div>
</div>
</div>
</div>
</div>
</div>
...
...
dsk-operate-ui/src/views/detail/party-a/mixins/mixin.js
View file @
8303eb06
...
@@ -35,6 +35,9 @@ export default {
...
@@ -35,6 +35,9 @@ export default {
})
})
Object
.
keys
(
condtion
).
forEach
(
key
=>
{
Object
.
keys
(
condtion
).
forEach
(
key
=>
{
if
(
condtion
[
key
])
{
if
(
condtion
[
key
])
{
if
(
Array
.
isArray
(
condtion
[
key
])
&&
condtion
[
key
].
length
==
0
){
delete
condtion
[
key
]
}
reqData
[
key
]
=
condtion
[
key
]
reqData
[
key
]
=
condtion
[
key
]
}
}
})
})
...
@@ -47,13 +50,14 @@ export default {
...
@@ -47,13 +50,14 @@ export default {
handleSearch
(){
handleSearch
(){
let
params
=
this
.
formParams
()
let
params
=
this
.
formParams
()
params
.
pageNum
=
1
params
.
pageNum
=
1
this
.
queryParams
.
pageNum
=
1
this
.
handleQuery
(
params
)
this
.
handleQuery
(
params
)
},
},
//分页
//分页
handleCurrentChange
(
e
){
handleCurrentChange
(
e
){
console
.
log
(
e
)
let
params
=
this
.
formParams
()
let
params
=
this
.
formParams
()
params
.
pageNum
=
e
params
.
pageNum
=
e
this
.
queryParams
.
pageNum
=
e
this
.
handleQuery
(
params
)
this
.
handleQuery
(
params
)
},
},
handleSizeChange
(
e
){
handleSizeChange
(
e
){
...
...
dsk-operate-ui/src/views/detail/party-a/opport/administrative.vue
View file @
8303eb06
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
@
handle-current-change=
"handleCurrentChange"
@
handle-current-change=
"handleCurrentChange"
>
>
<template
slot=
"porjectName"
slot-scope=
"scope"
>
<template
slot=
"porjectName"
slot-scope=
"scope"
>
<span
:class=
"[isOverHiddenFlag(scope.data.width, showList, scope.index, 0, scope.row.porjectName)?'cell-span':'']"
:style=
"
{'-webkit-line-clamp':
5
}">
<span
:class=
"[isOverHiddenFlag(scope.data.width, showList, scope.index, 0, scope.row.porjectName)?'cell-span':'']"
:style=
"
{'-webkit-line-clamp':
2
}">
{{
scope
.
row
.
porjectName
}}
{{
scope
.
row
.
porjectName
}}
<span
v-if=
"isOverHiddenFlag(scope.data.width, showList, scope.index, 0, scope.row.porjectName)"
@
click=
"changeShowAll(scope.index, 0)"
>
...
<span
style=
"color: #0081FF;"
>
展开
</span></span>
<span
v-if=
"isOverHiddenFlag(scope.data.width, showList, scope.index, 0, scope.row.porjectName)"
@
click=
"changeShowAll(scope.index, 0)"
>
...
<span
style=
"color: #0081FF;"
>
展开
</span></span>
</span>
</span>
...
@@ -83,7 +83,7 @@ export default {
...
@@ -83,7 +83,7 @@ export default {
this
.
tableData
=
[
this
.
tableData
=
[
{
{
projectId
:
'1'
,
projectId
:
'1'
,
porjectName
:
'滨州医学院口腔医学大楼铝合金门窗供货及安装滨州医学院口腔医学大
楼铝合金门窗供货及安装滨州医学院口腔医学大楼铝合金门窗供货及安装滨州医学院口腔医学大楼铝合金门窗供货及安装滨州医学院口腔医学大楼铝合金门窗供货及安装滨州医学院口腔医学大楼铝合金门窗供货及安装滨州医学院口腔医学大楼铝合金门窗供货及安装滨州医学院口腔医学大楼铝合金门窗供货及安装滨州医学院口腔医学大楼铝合金门窗供货及安装滨州医学院口腔医学大楼铝合金门窗供货及安装2
'
,
porjectName
:
'滨州医学院口腔医学大楼铝合金门窗供货及安装滨州医学院口腔医学大'
,
use
:
'城镇住宅用地'
,
use
:
'城镇住宅用地'
,
type
:
'房地产业'
,
type
:
'房地产业'
,
way
:
'挂牌出让'
,
way
:
'挂牌出让'
,
...
...
dsk-operate-ui/src/views/detail/party-a/opport/announcement.vue
View file @
8303eb06
...
@@ -58,12 +58,12 @@ export default {
...
@@ -58,12 +58,12 @@ export default {
formData
:
[
formData
:
[
{
type
:
1
,
fieldName
:
'projectStage'
,
value
:
''
,
placeholder
:
'项目地区'
,
options
:
[]},
{
type
:
1
,
fieldName
:
'projectStage'
,
value
:
''
,
placeholder
:
'项目地区'
,
options
:
[]},
{
type
:
1
,
fieldName
:
'projectType'
,
value
:
''
,
placeholder
:
'项目类型'
,
options
:
[]},
{
type
:
1
,
fieldName
:
'projectType'
,
value
:
''
,
placeholder
:
'项目类型'
,
options
:
[]},
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'输入关键词查询'
,
options
:
[]}
],
],
//列表
//列表
tableLoading
:
false
,
tableLoading
:
false
,
tableData
:[],
tableData
:[],
tableDataTotal
:
0
,
tableDataTotal
:
0
showList
:[],
}
}
},
},
computed
:
{
computed
:
{
...
...
dsk-operate-ui/src/views/detail/party-a/opport/bond.vue
View file @
8303eb06
...
@@ -56,8 +56,7 @@ export default {
...
@@ -56,8 +56,7 @@ export default {
//列表
//列表
tableLoading
:
false
,
tableLoading
:
false
,
tableData
:[],
tableData
:[],
tableDataTotal
:
0
,
tableDataTotal
:
0
showList
:[],
}
}
},
},
computed
:
{
computed
:
{
...
...
dsk-operate-ui/src/views/detail/party-a/opport/landtransaction.vue
View file @
8303eb06
...
@@ -55,7 +55,7 @@ export default {
...
@@ -55,7 +55,7 @@ export default {
],
],
formData
:
[
formData
:
[
{
type
:
1
,
fieldName
:
'penalizeReasonType'
,
value
:
''
,
placeholder
:
'土地用途'
,
options
:
[]},
{
type
:
1
,
fieldName
:
'penalizeReasonType'
,
value
:
''
,
placeholder
:
'土地用途'
,
options
:
[]},
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'输入项目名称关键词查询'
,
options
:
[]}
,
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'输入项目名称关键词查询'
,
options
:
[]}
],
],
//列表
//列表
tableLoading
:
false
,
tableLoading
:
false
,
...
...
dsk-operate-ui/src/views/detail/party-a/opport/proposed.vue
View file @
8303eb06
...
@@ -57,8 +57,7 @@ export default {
...
@@ -57,8 +57,7 @@ export default {
//列表
//列表
tableLoading
:
false
,
tableLoading
:
false
,
tableData
:[],
tableData
:[],
tableDataTotal
:
0
,
tableDataTotal
:
0
showList
:[],
}
}
},
},
computed
:
{
computed
:
{
...
...
dsk-operate-ui/src/views/detail/party-a/overview/branch.vue
View file @
8303eb06
...
@@ -10,6 +10,7 @@
...
@@ -10,6 +10,7 @@
/>
/>
<tables
<tables
:indexFixed=
"true"
:tableLoading=
"tableLoading"
:tableLoading=
"tableLoading"
:tableData=
"tableData"
:tableData=
"tableData"
:forData=
"forData"
:forData=
"forData"
...
@@ -17,11 +18,10 @@
...
@@ -17,11 +18,10 @@
:queryParams=
"queryParams"
:queryParams=
"queryParams"
@
handle-current-change=
"handleCurrentChange"
@
handle-current-change=
"handleCurrentChange"
>
>
<template
slot=
"
inReason
"
slot-scope=
"scope"
>
<template
slot=
"
projectName
"
slot-scope=
"scope"
>
<router-link
to=
""
tag=
"a"
class=
"a-link"
>
{{
scope
.
row
.
inReason
}}
</router-link>
<router-link
to=
""
tag=
"a"
class=
"a-link"
>
{{
scope
.
row
.
projectName
}}
</router-link>
<div
class=
"tags"
v-if=
"scope.row.tag"
>
<div
class=
"tags"
v-if=
"scope.row.tag"
>
<span
class=
"tag style1"
>
{{
scope
.
row
.
tag
}}
</span>
<span
class=
"tag style1"
>
{{
scope
.
row
.
tag
}}
</span>
<span
class=
"tag style1"
>
{{
scope
.
row
.
tag
}}
</span>
</div>
</div>
</
template
>
</
template
>
</tables>
</tables>
...
@@ -30,53 +30,70 @@
...
@@ -30,53 +30,70 @@
<
script
>
<
script
>
import
mixin
from
'../mixins/mixin'
import
mixin
from
'../mixins/mixin'
import
{
getList
,
getOption
}
from
'@/api/detail/party-a/overview'
export
default
{
export
default
{
name
:
'Branch'
,
name
:
'Branch'
,
props
:
[
'companyId'
],
mixins
:
[
mixin
],
mixins
:
[
mixin
],
data
()
{
data
()
{
return
{
return
{
queryParams
:
{
queryParams
:
{
c
id
:
6034
,
c
ompanyId
:
this
.
companyId
,
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
10
pageSize
:
10
},
},
forData
:
[
forData
:
[
{
label
:
'被投资企业名称'
,
prop
:
'
inReason
'
,
slot
:
true
},
{
label
:
'被投资企业名称'
,
prop
:
'
projectName
'
,
slot
:
true
},
{
label
:
'负责人'
,
prop
:
'
inDat
e'
},
{
label
:
'负责人'
,
prop
:
'
typ
e'
},
{
label
:
'成立日期'
,
prop
:
'd
epartment
'
}
{
label
:
'成立日期'
,
prop
:
'd
ate
'
}
],
],
formData
:
[
formData
:
[
{
type
:
1
,
fieldName
:
'zbgg'
,
value
:
''
,
placeholder
:
'招标公告'
,
{
type
:
1
,
fieldName
:
'zbgg'
,
value
:
''
,
placeholder
:
'招标公告'
,
options
:
[]
options
:
[
{
name
:
'招标公告类别1'
,
value
:
'1'
},
{
name
:
'招标公告类别2'
,
value
:
'2'
},
{
name
:
'招标公告类别3'
,
value
:
'3'
},
{
name
:
'招标公告类别4'
,
value
:
'4'
}
]
}
}
],
],
//列表
//列表
tableLoading
:
false
,
tableLoading
:
false
,
tableData
:[],
tableData
:[],
pageIndex
:
1
,
pageSize
:
10
,
tableDataTotal
:
0
,
tableDataTotal
:
0
,
}
}
},
},
created
()
{
created
()
{
this
.
dataRegion
()
this
.
handleOption
()
this
.
handleQuery
()
},
},
methods
:
{
methods
:
{
async
dataRegion
()
{
handleOption
(){
this
.
tableData
=
[
getOption
().
then
((
res
)
=>
{
{
id
:
1
,
inReason
:
'达萨法达萨法'
,
inDate
:
'000'
,
tag
:
'aaa'
},
this
.
setFormData
(
'zbgg'
,
[
{
id
:
2
,
inReason
:
'达萨法达萨法'
,
inDate
:
'111'
},
{
name
:
'类别1'
,
value
:
'1'
},
{
id
:
3
,
inReason
:
'达萨法达萨法'
,
inDate
:
'222'
},
{
name
:
'类别2'
,
value
:
'2'
},
{
id
:
4
,
inReason
:
'达萨法达萨法'
,
inDate
:
'333'
}
{
name
:
'类别3'
,
value
:
'3'
},
]
//测试
{
name
:
'类别4'
,
value
:
'4'
}
])
})
},
},
handleQuery
(
params
)
{
handleQuery
(
params
)
{
console
.
log
(
params
)
this
.
tableLoading
=
true
let
param
=
params
?
params
:
this
.
queryParams
getList
(
param
).
then
((
res
)
=>
{
this
.
tableLoading
=
false
this
.
tableData
=
[
{
projectId
:
'1'
,
tag
:
'在业'
,
projectName
:
'滨州医学院口腔医学大楼铝合金门窗供货及安装'
,
use
:
'城镇住宅用地'
,
type
:
'房地产业'
,
way
:
'挂牌出让'
,
state
:
'重庆'
,
money
:
'11234万元'
,
scale
:
'222平米'
,
unit
:
'江苏省住房和城乡建设厅'
,
date
:
'2015-08-06'
,
}
]
this
.
tableDataTotal
=
100
})
}
}
}
}
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/overview/businfo.vue
View file @
8303eb06
...
@@ -23,6 +23,7 @@
...
@@ -23,6 +23,7 @@
<
script
>
<
script
>
import
mixin
from
'../mixins/mixin'
import
mixin
from
'../mixins/mixin'
import
InfoTable
from
'../component/infoTable'
import
InfoTable
from
'../component/infoTable'
import
{
getList
}
from
"@/api/detail/party-a/overview"
;
export
default
{
export
default
{
name
:
'Businfo'
,
name
:
'Businfo'
,
props
:
[
'companyId'
],
props
:
[
'companyId'
],
...
@@ -34,7 +35,7 @@ export default {
...
@@ -34,7 +35,7 @@ export default {
return
{
return
{
activeName
:
'first'
,
activeName
:
'first'
,
queryParams
:
{
queryParams
:
{
c
id
:
6034
,
c
ompanyId
:
this
.
companyId
,
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
10
pageSize
:
10
},
},
...
@@ -73,22 +74,34 @@ export default {
...
@@ -73,22 +74,34 @@ export default {
}
}
},
},
created
()
{
created
()
{
this
.
handle
Data
()
this
.
handle
Query
()
},
},
methods
:
{
methods
:
{
handleClick
(){
handleClick
(){
this
.
handle
Data
()
this
.
handle
Query
()
},
},
async
handleData
()
{
handleQuery
()
{
this
.
tableData
=
[
console
.
log
(
'索引:'
,
this
.
activeName
)
{
id
:
1
,
inReason
:
'达萨法达萨法'
,
inDate
:
'000'
,
tag
:
'aaa'
},
this
.
tableLoading
=
true
{
id
:
2
,
inReason
:
'达萨法达萨法'
,
inDate
:
'111'
},
getList
(
this
.
queryParams
).
then
((
res
)
=>
{
{
id
:
3
,
inReason
:
'达萨法达萨法'
,
inDate
:
'222'
},
this
.
tableLoading
=
false
{
id
:
4
,
inReason
:
'达萨法达萨法'
,
inDate
:
'333'
}
this
.
tableData
=
[
]
//测试
{
},
projectId
:
'1'
,
handleQuery
(
params
)
{
tag
:
'在业'
,
console
.
log
(
params
)
projectName
:
'滨州医学院口腔医学大楼铝合金门窗供货及安装'
,
use
:
'城镇住宅用地'
,
type
:
'房地产业'
,
way
:
'挂牌出让'
,
state
:
'重庆'
,
money
:
'11234万元'
,
scale
:
'222平米'
,
unit
:
'江苏省住房和城乡建设厅'
,
date
:
'2015-08-06'
,
}
]
this
.
tableDataTotal
=
100
})
}
}
}
}
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/overview/execuinfo.vue
View file @
8303eb06
...
@@ -19,6 +19,7 @@
...
@@ -19,6 +19,7 @@
<
script
>
<
script
>
import
mixin
from
'../mixins/mixin'
import
mixin
from
'../mixins/mixin'
import
{
getList
}
from
'@/api/detail/party-a/overview'
export
default
{
export
default
{
name
:
'Execuinfo'
,
name
:
'Execuinfo'
,
props
:
[
'companyId'
],
props
:
[
'companyId'
],
...
@@ -26,13 +27,13 @@ export default {
...
@@ -26,13 +27,13 @@ export default {
data
()
{
data
()
{
return
{
return
{
queryParams
:
{
queryParams
:
{
c
id
:
6034
,
c
ompanyId
:
this
.
companyId
,
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
10
pageSize
:
10
},
},
forData
:
[
forData
:
[
{
label
:
'姓名'
,
prop
:
'
inDat
e'
},
{
label
:
'姓名'
,
prop
:
'
projectNam
e'
},
{
label
:
'职位'
,
prop
:
'
department
'
}
{
label
:
'职位'
,
prop
:
'
type
'
}
],
],
formData
:
[],
formData
:
[],
//列表
//列表
...
@@ -42,19 +43,30 @@ export default {
...
@@ -42,19 +43,30 @@ export default {
}
}
},
},
created
()
{
created
()
{
this
.
handle
Data
()
this
.
handle
Query
()
},
},
methods
:
{
methods
:
{
async
handleData
()
{
handleQuery
()
{
this
.
tableData
=
[
this
.
tableLoading
=
true
{
id
:
1
,
inReason
:
'达萨法达萨法'
,
inDate
:
'000'
,
tag
:
'aaa'
},
getList
(
this
.
queryParams
).
then
((
res
)
=>
{
{
id
:
2
,
inReason
:
'达萨法达萨法'
,
inDate
:
'111'
},
this
.
tableLoading
=
false
{
id
:
3
,
inReason
:
'达萨法达萨法'
,
inDate
:
'222'
},
this
.
tableData
=
[
{
id
:
4
,
inReason
:
'达萨法达萨法'
,
inDate
:
'333'
}
{
]
//测试
projectId
:
'1'
,
},
tag
:
'在业'
,
handleQuery
(
params
)
{
projectName
:
'滨州医学院口腔医学大楼铝合金门窗供货及安装'
,
console
.
log
(
params
)
use
:
'城镇住宅用地'
,
type
:
'房地产业'
,
way
:
'挂牌出让'
,
state
:
'重庆'
,
money
:
'11234万元'
,
scale
:
'222平米'
,
unit
:
'江苏省住房和城乡建设厅'
,
date
:
'2015-08-06'
,
}
]
this
.
tableDataTotal
=
100
})
}
}
}
}
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/overview/holderinfo.vue
View file @
8303eb06
...
@@ -19,11 +19,10 @@
...
@@ -19,11 +19,10 @@
:queryParams=
"queryParams"
:queryParams=
"queryParams"
@
handle-current-change=
"handleCurrentChange"
@
handle-current-change=
"handleCurrentChange"
>
>
<template
slot=
"
inReason
"
slot-scope=
"scope"
>
<template
slot=
"
projectName
"
slot-scope=
"scope"
>
<router-link
to=
""
tag=
"a"
class=
"a-link"
>
{{
scope
.
row
.
inReason
}}
</router-link>
<router-link
to=
""
tag=
"a"
class=
"a-link"
>
{{
scope
.
row
.
projectName
}}
</router-link>
<div
class=
"tags"
v-if=
"scope.row.tag"
>
<div
class=
"tags"
v-if=
"scope.row.tag"
>
<span
class=
"tag style1"
>
{{
scope
.
row
.
tag
}}
</span>
<span
class=
"tag style1"
>
{{
scope
.
row
.
tag
}}
</span>
<span
class=
"tag style1"
>
{{
scope
.
row
.
tag
}}
</span>
</div>
</div>
</
template
>
</
template
>
</tables>
</tables>
...
@@ -32,6 +31,7 @@
...
@@ -32,6 +31,7 @@
<
script
>
<
script
>
import
mixin
from
'../mixins/mixin'
import
mixin
from
'../mixins/mixin'
import
{
getList
}
from
'@/api/detail/party-a/overview'
export
default
{
export
default
{
name
:
'Holderinfo'
,
name
:
'Holderinfo'
,
props
:
[
'companyId'
],
props
:
[
'companyId'
],
...
@@ -40,12 +40,12 @@ export default {
...
@@ -40,12 +40,12 @@ export default {
return
{
return
{
activeName
:
'first'
,
activeName
:
'first'
,
queryParams
:
{
queryParams
:
{
c
id
:
6034
,
c
ompanyId
:
this
.
companyId
,
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
10
pageSize
:
10
},
},
forData
:
[
forData
:
[
{
label
:
'发起人/股东'
,
prop
:
'
inReason
'
,
slot
:
true
},
{
label
:
'发起人/股东'
,
prop
:
'
projectName'
,
minWidth
:
'230
'
,
slot
:
true
},
{
label
:
'持股比例'
,
prop
:
'inDate'
},
{
label
:
'持股比例'
,
prop
:
'inDate'
},
{
label
:
'认缴出资(万)'
,
prop
:
'department'
},
{
label
:
'认缴出资(万)'
,
prop
:
'department'
},
{
label
:
'实缴出资额'
,
prop
:
'department'
},
{
label
:
'实缴出资额'
,
prop
:
'department'
},
...
@@ -56,28 +56,38 @@ export default {
...
@@ -56,28 +56,38 @@ export default {
//列表
//列表
tableLoading
:
false
,
tableLoading
:
false
,
tableData
:[],
tableData
:[],
pageIndex
:
1
,
pageSize
:
10
,
tableDataTotal
:
0
,
tableDataTotal
:
0
,
}
}
},
},
created
()
{
created
()
{
this
.
handle
Data
()
this
.
handle
Query
()
},
},
methods
:
{
methods
:
{
handleClick
(){
handleClick
(){
this
.
handleData
()
this
.
handleQuery
()
},
async
handleData
()
{
this
.
tableData
=
[
{
id
:
1
,
inReason
:
'达萨法达萨法'
,
inDate
:
'000'
,
tag
:
'aaa'
},
{
id
:
2
,
inReason
:
'达萨法达萨法'
,
inDate
:
'111'
},
{
id
:
3
,
inReason
:
'达萨法达萨法'
,
inDate
:
'222'
},
{
id
:
4
,
inReason
:
'达萨法达萨法'
,
inDate
:
'333'
}
]
//测试
},
},
handleQuery
(
params
)
{
handleQuery
()
{
console
.
log
(
params
)
console
.
log
(
'索引:'
,
this
.
activeName
)
this
.
tableLoading
=
true
getList
(
this
.
queryParams
).
then
((
res
)
=>
{
this
.
tableLoading
=
false
this
.
tableData
=
[
{
projectId
:
'1'
,
tag
:
'在业'
,
projectName
:
'滨州医学院口腔医学大楼铝合金门窗供货及安装'
,
use
:
'城镇住宅用地'
,
type
:
'房地产业'
,
way
:
'挂牌出让'
,
state
:
'重庆'
,
money
:
'11234万元'
,
scale
:
'222平米'
,
unit
:
'江苏省住房和城乡建设厅'
,
date
:
'2015-08-06'
,
}
]
this
.
tableDataTotal
=
100
})
}
}
}
}
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/overview/overseas.vue
View file @
8303eb06
...
@@ -10,6 +10,7 @@
...
@@ -10,6 +10,7 @@
/>
/>
<tables
<tables
:indexFixed=
"true"
:tableLoading=
"tableLoading"
:tableLoading=
"tableLoading"
:tableData=
"tableData"
:tableData=
"tableData"
:forData=
"forData"
:forData=
"forData"
...
@@ -18,22 +19,18 @@
...
@@ -18,22 +19,18 @@
@
handle-current-change=
"handleCurrentChange"
@
handle-current-change=
"handleCurrentChange"
>
>
<template
slot=
"gqzb"
>
<template
slot=
"gqzb"
>
<div
class=
"tab-header"
>
股权占比
<el-popover
<div
class=
"tab-header"
>
股权占比
<el-popover
placement=
"top-start"
width=
"280"
trigger=
"hover"
>
placement=
"top-start"
<div
style=
"font-size: 12px;"
>
width=
"280"
trigger=
"hover"
>
<div>
控股67%:绝对控制权67%,相当于100%的权力,修改公司章程/分立、合并、变更主营项目、重大决策
<br
/>
控股67%:绝对控制权67%,相当于100%的权力,修改公司章程/分立、合并、变更主营项目、重大决策
<br
/>
控股51%:相对控制权51%,控制线,绝对控制公司
<br
/>
控股51%:相对控制权51%,控制线,绝对控制公司
<br
/>
控股34%:安全控制权,一票否决权
</div>
控股34%:安全控制权,一票否决权
</div>
<img
src=
"@/assets/images/detail/overview/zbph_question.png"
slot=
"reference"
>
<img
src=
"@/assets/images/detail/overview/zbph_question.png"
slot=
"reference"
>
</el-popover></div>
</el-popover></div>
</
template
>
</
template
>
<
template
slot=
"
inReason
"
slot-scope=
"scope"
>
<
template
slot=
"
projectName
"
slot-scope=
"scope"
>
<router-link
to=
""
tag=
"a"
class=
"a-link"
>
{{
scope
.
row
.
inReason
}}
</router-link>
<router-link
to=
""
tag=
"a"
class=
"a-link"
>
{{
scope
.
row
.
projectName
}}
</router-link>
<div
class=
"tags"
v-if=
"scope.row.tag"
>
<div
class=
"tags"
v-if=
"scope.row.tag"
>
<span
class=
"tag style1"
>
{{
scope
.
row
.
tag
}}
</span>
<span
class=
"tag style1"
>
{{
scope
.
row
.
tag
}}
</span>
<span
class=
"tag style1"
>
{{
scope
.
row
.
tag
}}
</span>
</div>
</div>
</
template
>
</
template
>
</tables>
</tables>
...
@@ -42,6 +39,7 @@
...
@@ -42,6 +39,7 @@
<
script
>
<
script
>
import
mixin
from
'../mixins/mixin'
import
mixin
from
'../mixins/mixin'
import
{
getList
,
getOption
}
from
'@/api/detail/party-a/overview'
export
default
{
export
default
{
name
:
'Overseas'
,
name
:
'Overseas'
,
props
:
[
'companyId'
],
props
:
[
'companyId'
],
...
@@ -49,12 +47,12 @@ export default {
...
@@ -49,12 +47,12 @@ export default {
data
()
{
data
()
{
return
{
return
{
queryParams
:
{
queryParams
:
{
c
id
:
6034
,
c
ompanyId
:
this
.
companyId
,
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
10
pageSize
:
10
},
},
forData
:
[
forData
:
[
{
label
:
'被投资企业名称'
,
prop
:
'
inReason
'
,
slot
:
true
},
{
label
:
'被投资企业名称'
,
prop
:
'
projectName'
,
minWidth
:
'180
'
,
slot
:
true
},
{
label
:
'法定代表人'
,
prop
:
'inDate'
},
{
label
:
'法定代表人'
,
prop
:
'inDate'
},
{
label
:
'注册资本(万元)'
,
prop
:
'department'
},
{
label
:
'注册资本(万元)'
,
prop
:
'department'
},
{
label
:
'成立日期'
,
prop
:
'department'
},
{
label
:
'成立日期'
,
prop
:
'department'
},
...
@@ -62,45 +60,58 @@ export default {
...
@@ -62,45 +60,58 @@ export default {
{
label
:
'认缴出资额(万元)'
,
prop
:
'department'
}
{
label
:
'认缴出资额(万元)'
,
prop
:
'department'
}
],
],
formData
:
[
formData
:
[
{
type
:
1
,
fieldName
:
'zbgg'
,
value
:
''
,
placeholder
:
'招标公告'
,
{
type
:
1
,
fieldName
:
'zbgg'
,
value
:
''
,
placeholder
:
'招标公告'
,
options
:
[]
},
options
:
[
{
type
:
1
,
fieldName
:
'gqzb'
,
value
:
''
,
placeholder
:
'股权占比'
,
options
:
[]
}
{
name
:
'招标公告类别1'
,
value
:
'1'
},
{
name
:
'招标公告类别2'
,
value
:
'2'
},
{
name
:
'招标公告类别3'
,
value
:
'3'
},
{
name
:
'招标公告类别4'
,
value
:
'4'
}
]
},
{
type
:
1
,
fieldName
:
'gqzb'
,
value
:
''
,
placeholder
:
'股权占比'
,
options
:
[
{
name
:
'股权占比类别1'
,
value
:
'1'
},
{
name
:
'股权占比类别2'
,
value
:
'2'
},
{
name
:
'股权占比类别3'
,
value
:
'3'
},
{
name
:
'股权占比类别4'
,
value
:
'4'
}
]
}
],
],
//列表
//列表
tableLoading
:
false
,
tableLoading
:
false
,
tableData
:[],
tableData
:[],
pageIndex
:
1
,
pageSize
:
10
,
tableDataTotal
:
0
,
tableDataTotal
:
0
,
}
}
},
},
created
()
{
created
()
{
this
.
handleData
()
this
.
handleOption
()
this
.
handleQuery
()
},
},
methods
:
{
methods
:
{
async
handleData
()
{
handleOption
(){
this
.
tableData
=
[
getOption
().
then
((
res
)
=>
{
{
id
:
1
,
inReason
:
'达萨法达萨法'
,
inDate
:
'000'
,
tag
:
'aaa'
},
this
.
setFormData
(
'zbgg'
,
[
{
id
:
2
,
inReason
:
'达萨法达萨法'
,
inDate
:
'111'
},
{
name
:
'类别1'
,
value
:
'1'
},
{
id
:
3
,
inReason
:
'达萨法达萨法'
,
inDate
:
'222'
},
{
name
:
'类别2'
,
value
:
'2'
},
{
id
:
4
,
inReason
:
'达萨法达萨法'
,
inDate
:
'333'
}
{
name
:
'类别3'
,
value
:
'3'
},
]
//测试
{
name
:
'类别4'
,
value
:
'4'
}
])
this
.
setFormData
(
'gqzb'
,
[
{
name
:
'类别1'
,
value
:
'1'
},
{
name
:
'类别2'
,
value
:
'2'
},
{
name
:
'类别3'
,
value
:
'3'
},
{
name
:
'类别4'
,
value
:
'4'
}
])
})
},
},
handleQuery
(
params
)
{
handleQuery
(
params
)
{
console
.
log
(
params
)
this
.
tableLoading
=
true
let
param
=
params
?
params
:
this
.
queryParams
getList
(
param
).
then
((
res
)
=>
{
this
.
tableLoading
=
false
this
.
tableData
=
[
{
projectId
:
'1'
,
tag
:
'在业'
,
projectName
:
'滨州医学院口腔医学大楼铝合金门窗供货及安装'
,
use
:
'城镇住宅用地'
,
type
:
'房地产业'
,
way
:
'挂牌出让'
,
state
:
'重庆'
,
money
:
'11234万元'
,
scale
:
'222平米'
,
unit
:
'江苏省住房和城乡建设厅'
,
date
:
'2015-08-06'
,
}
]
this
.
tableDataTotal
=
100
})
}
}
}
}
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/riskInformation/businessAnomaly.vue
View file @
8303eb06
...
@@ -32,11 +32,17 @@ export default {
...
@@ -32,11 +32,17 @@ export default {
mixins
:
[
mixin
],
mixins
:
[
mixin
],
components
:
{
components
:
{
},
props
:
{
companyId
:
{
type
:
Number
,
default
:
0
}
},
},
data
()
{
data
()
{
return
{
return
{
queryParams
:
{
queryParams
:
{
cid
:
6034
,
cid
:
382724726
,
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
10
pageSize
:
10
},
},
...
@@ -49,7 +55,7 @@ export default {
...
@@ -49,7 +55,7 @@ export default {
{
label
:
'做出决定机关(移除)'
,
prop
:
'outDepartment'
,
width
:
'264'
}
{
label
:
'做出决定机关(移除)'
,
prop
:
'outDepartment'
,
width
:
'264'
}
],
],
formData
:
[
formData
:
[
{
type
:
1
,
fieldName
:
'years'
,
value
:
''
,
placeholder
:
'列入时间'
,
options
:
[]}
{
type
:
4
,
fieldName
:
'years'
,
value
:
''
,
placeholder
:
'列入时间'
,
options
:
[]}
],
],
//列表
//列表
tableLoading
:
false
,
tableLoading
:
false
,
...
@@ -61,6 +67,7 @@ export default {
...
@@ -61,6 +67,7 @@ export default {
},
},
created
()
{
created
()
{
this
.
handleQuery
()
this
.
handleQuery
()
this
.
years
()
},
},
computed
:
{
computed
:
{
...
@@ -68,10 +75,26 @@ export default {
...
@@ -68,10 +75,26 @@ export default {
methods
:
{
methods
:
{
handleQuery
(
params
)
{
handleQuery
(
params
)
{
let
data
=
params
?
params
:
this
.
queryParams
let
data
=
params
?
params
:
this
.
queryParams
this
.
tableLoading
=
true
abnormalPage
(
data
).
then
(
res
=>
{
abnormalPage
(
data
).
then
(
res
=>
{
this
.
tableData
=
res
.
rows
this
.
tableDataTotal
=
res
.
total
this
.
tableLoading
=
false
})
})
},
},
years
(){
abnormalYears
({
cid
:
this
.
queryParams
.
cid
}).
then
(
res
=>
{
let
data
=
res
.
data
if
(
data
.
length
>
0
){
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
){
this
.
formData
[
0
].
options
.
push
({
name
:
data
[
i
].
year
+
'('
+
data
[
i
].
count
+
')'
,
value
:
data
[
i
].
year
,
})
}
}
})
}
}
}
}
}
</
script
>
</
script
>
...
...
dsk-operate-ui/src/views/detail/party-a/riskInformation/courtNotice.vue
View file @
8303eb06
...
@@ -22,85 +22,111 @@
...
@@ -22,85 +22,111 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
noticesPage
,
noticesType
,
noticesRole
,
noticesCaseReason
}
from
'@/api/detail/party-a/riskInformation'
import
mixin
from
'../mixins/mixin'
import
mixin
from
'../mixins/mixin'
export
default
{
export
default
{
name
:
'CourtNotice'
,
name
:
'CourtNotice'
,
mixins
:
[
mixin
],
mixins
:
[
mixin
],
components
:
{
components
:
{
},
props
:
{
companyId
:
{
type
:
Number
,
default
:
0
}
},
},
data
()
{
data
()
{
return
{
return
{
queryParams
:
{
queryParams
:
{
cid
:
60
34
,
cid
:
207
34
,
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
10
pageSize
:
10
},
},
forData
:
[
forData
:
[
{
label
:
'案由'
,
prop
:
'
enterpriseName
'
},
{
label
:
'案由'
,
prop
:
'
caseReason
'
},
{
label
:
'公告时间'
,
prop
:
'
level
'
,
width
:
'95'
},
{
label
:
'公告时间'
,
prop
:
'
date
'
,
width
:
'95'
},
{
label
:
'当事人'
,
prop
:
'
capital
'
,
width
:
'240'
},
{
label
:
'当事人'
,
prop
:
'
people
'
,
width
:
'240'
},
{
label
:
'案号'
,
prop
:
'
cgrdm
'
,
width
:
'210'
},
{
label
:
'案号'
,
prop
:
'
objId
'
,
width
:
'210'
},
{
label
:
'公告类型'
,
prop
:
'
cgrssqy
'
,
width
:
'210'
},
{
label
:
'公告类型'
,
prop
:
'
type
'
,
width
:
'210'
},
{
label
:
'公告法院'
,
prop
:
'
dataId
'
,
width
:
'280'
}
{
label
:
'公告法院'
,
prop
:
'
court
'
,
width
:
'280'
}
],
],
formData
:
[
formData
:
[
{
type
:
1
,
fieldName
:
'penalizeReasonType'
,
value
:
''
,
placeholder
:
'公告类型'
,
{
type
:
1
,
fieldName
:
'type'
,
value
:
''
,
placeholder
:
'公告类型'
,
options
:
[]},
options
:
[
{
type
:
1
,
fieldName
:
'caseReason'
,
value
:
''
,
placeholder
:
'案由'
,
options
:
[]},
{
name
:
'处罚类别1'
,
value
:
'1'
},
{
type
:
1
,
fieldName
:
'role'
,
value
:
''
,
placeholder
:
'身份'
,
options
:
[]},
{
name
:
'处罚类别2'
,
value
:
'2'
},
{
type
:
2
,
fieldName
:
'time'
,
value
:
''
,
placeholder
:
''
,
startTime
:
'dateFrom'
,
endTime
:
'dateTo'
},
{
name
:
'处罚类别3'
,
value
:
'3'
},
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'请输入关键词'
},
{
name
:
'处罚类别4'
,
value
:
'4'
}
]
},
{
type
:
1
,
fieldName
:
'penalizeReasonType'
,
value
:
''
,
placeholder
:
'案由'
,
options
:
[
{
name
:
'处罚类别1'
,
value
:
'1'
},
{
name
:
'处罚类别2'
,
value
:
'2'
},
{
name
:
'处罚类别3'
,
value
:
'3'
},
{
name
:
'处罚类别4'
,
value
:
'4'
}
]
},
{
type
:
1
,
fieldName
:
'penalizeReasonType'
,
value
:
''
,
placeholder
:
'身份'
,
options
:
[
{
name
:
'处罚类别1'
,
value
:
'1'
},
{
name
:
'处罚类别2'
,
value
:
'2'
},
{
name
:
'处罚类别3'
,
value
:
'3'
},
{
name
:
'处罚类别4'
,
value
:
'4'
}
]
},
{
type
:
2
,
fieldName
:
'time'
,
value
:
''
,
placeholder
:
''
,
startTime
:
'dateFrom'
,
endTime
:
'dateTo'
,
options
:
[]},
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'请输入关键词'
,
options
:
[]},
],
],
//列表
//列表
tableLoading
:
false
,
tableLoading
:
false
,
tableData
:[],
tableData
:[],
pageIndex
:
1
,
pageSize
:
10
,
tableDataTotal
:
0
,
tableDataTotal
:
0
,
}
}
},
},
created
()
{
created
()
{
this
.
dataRegion
()
this
.
handleQuery
()
this
.
noticesTypes
()
this
.
noticesRoles
()
this
.
noticesCaseReasons
()
},
},
computed
:
{
computed
:
{
},
},
methods
:
{
methods
:
{
async
dataRegion
()
{
// await axios.post("https://files.jiansheku.com/file/json/common/dataRegion.json", {}, {
// headers: {
// 'Content-Type': 'application/json'
// }
// }).then(res => {
// if (res.data.code == 200) {
// console.log(res.data.data)
// }
// })
},
handleQuery
(
params
)
{
handleQuery
(
params
)
{
console
.
log
(
params
)
let
data
=
params
?
params
:
this
.
queryParams
}
this
.
tableLoading
=
true
noticesPage
(
data
).
then
(
res
=>
{
this
.
tableData
=
res
.
rows
this
.
tableDataTotal
=
res
.
total
this
.
tableLoading
=
false
})
},
noticesTypes
(){
noticesType
({
cid
:
this
.
queryParams
.
cid
}).
then
(
res
=>
{
let
data
=
res
.
data
if
(
data
.
length
>
0
){
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
){
this
.
formData
[
0
].
options
.
push
({
name
:
data
[
i
].
type
+
'('
+
data
[
i
].
count
+
')'
,
value
:
data
[
i
].
type
,
})
}
}
})
},
noticesRoles
(){
noticesRole
({
cid
:
this
.
queryParams
.
cid
}).
then
(
res
=>
{
let
data
=
res
.
data
if
(
data
.
length
>
0
){
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
){
this
.
formData
[
1
].
options
.
push
({
name
:
data
[
i
].
role
+
'('
+
data
[
i
].
count
+
')'
,
value
:
data
[
i
].
role
,
})
}
}
})
},
noticesCaseReasons
(){
noticesCaseReason
({
cid
:
this
.
queryParams
.
cid
}).
then
(
res
=>
{
let
data
=
res
.
data
if
(
data
.
length
>
0
){
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
){
this
.
formData
[
2
].
options
.
push
({
name
:
data
[
i
].
caseReason
+
'('
+
data
[
i
].
count
+
')'
,
value
:
data
[
i
].
caseReason
,
})
}
}
})
},
}
}
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/riskInformation/dishonesty.vue
View file @
8303eb06
...
@@ -10,6 +10,7 @@
...
@@ -10,6 +10,7 @@
/>
/>
<tables
<tables
:index-fixed=
"true"
:tableLoading=
"tableLoading"
:tableLoading=
"tableLoading"
:tableData=
"tableData"
:tableData=
"tableData"
:forData=
"forData"
:forData=
"forData"
...
@@ -22,22 +23,31 @@
...
@@ -22,22 +23,31 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
executedPage
}
from
'@/api/detail/party-a/riskInformation'
import
mixin
from
'../mixins/mixin'
import
mixin
from
'../mixins/mixin'
export
default
{
export
default
{
name
:
'Dishonesty'
,
name
:
'Dishonesty'
,
mixins
:
[
mixin
],
mixins
:
[
mixin
],
components
:
{
components
:
{
},
props
:
{
companyId
:
{
type
:
Number
,
default
:
0
}
},
},
data
()
{
data
()
{
return
{
return
{
queryParams
:
{
queryParams
:
{
cid
:
6034
,
cid
:
5504335
,
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
10
pageSize
:
10
},
},
forData
:
[
forData
:
[
{
label
:
'失信被执行人行为具体情形'
,
prop
:
'executionDesc'
,
width
:
'508'
},
{
label
:
'失信被执行人行为具体情形'
,
prop
:
'executionDesc'
,
width
:
'508'
,
fixed
:
true
},
{
label
:
'立案日期'
,
prop
:
'date'
,
width
:
'95'
},
{
label
:
'立案日期'
,
prop
:
'date'
,
width
:
'95'
},
{
label
:
'履行情况'
,
prop
:
'executionStatus'
,
width
:
'120'
},
{
label
:
'履行情况'
,
prop
:
'executionStatus'
,
width
:
'120'
},
{
label
:
'立案文号'
,
prop
:
'caseNumber'
,
width
:
'210'
},
{
label
:
'立案文号'
,
prop
:
'caseNumber'
,
width
:
'210'
},
...
@@ -50,31 +60,24 @@ export default {
...
@@ -50,31 +60,24 @@ export default {
//列表
//列表
tableLoading
:
false
,
tableLoading
:
false
,
tableData
:[],
tableData
:[],
pageIndex
:
1
,
pageSize
:
10
,
tableDataTotal
:
0
,
tableDataTotal
:
0
,
}
}
},
},
created
()
{
created
()
{
this
.
dataRegion
()
this
.
handleQuery
()
},
},
computed
:
{
computed
:
{
},
},
methods
:
{
methods
:
{
async
dataRegion
()
{
// await axios.post("https://files.jiansheku.com/file/json/common/dataRegion.json", {}, {
// headers: {
// 'Content-Type': 'application/json'
// }
// }).then(res => {
// if (res.data.code == 200) {
// console.log(res.data.data)
// }
// })
},
handleQuery
(
params
)
{
handleQuery
(
params
)
{
console
.
log
(
params
)
let
data
=
params
?
params
:
this
.
queryParams
this
.
tableLoading
=
true
executedPage
(
data
).
then
(
res
=>
{
this
.
tableData
=
res
.
rows
this
.
tableDataTotal
=
res
.
total
this
.
tableLoading
=
false
})
}
}
}
}
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/riskInformation/ifThePerson.vue
View file @
8303eb06
...
@@ -22,17 +22,26 @@
...
@@ -22,17 +22,26 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
executedPersonsPage
}
from
'@/api/detail/party-a/riskInformation'
import
mixin
from
'../mixins/mixin'
import
mixin
from
'../mixins/mixin'
export
default
{
export
default
{
name
:
'IfThePerson'
,
name
:
'IfThePerson'
,
mixins
:
[
mixin
],
mixins
:
[
mixin
],
components
:
{
components
:
{
},
props
:
{
companyId
:
{
type
:
Number
,
default
:
0
}
},
},
data
()
{
data
()
{
return
{
return
{
queryParams
:
{
queryParams
:
{
cid
:
6034
,
cid
:
194738907
,
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
10
pageSize
:
10
},
},
...
@@ -48,34 +57,25 @@ export default {
...
@@ -48,34 +57,25 @@ export default {
//列表
//列表
tableLoading
:
false
,
tableLoading
:
false
,
tableData
:[],
tableData
:[],
pageIndex
:
1
,
pageSize
:
10
,
tableDataTotal
:
0
,
tableDataTotal
:
0
,
}
}
},
},
created
()
{
created
()
{
this
.
dataRegion
()
this
.
handleQuery
()
},
},
computed
:
{
computed
:
{
},
},
methods
:
{
methods
:
{
async
dataRegion
()
{
// await axios.post("https://files.jiansheku.com/file/json/common/dataRegion.json", {}, {
// headers: {
// 'Content-Type': 'application/json'
// }
// }).then(res => {
// if (res.data.code == 200) {
// console.log(res.data.data)
// }
// })
},
handleQuery
(
params
)
{
handleQuery
(
params
)
{
console
.
log
(
params
)
let
data
=
params
?
params
:
this
.
queryParams
this
.
tableLoading
=
true
executedPersonsPage
(
data
).
then
(
res
=>
{
this
.
tableData
=
res
.
rows
this
.
tableDataTotal
=
res
.
total
this
.
tableLoading
=
false
})
}
}
}
}
}
}
</
script
>
</
script
>
...
...
dsk-operate-ui/src/views/detail/party-a/riskInformation/judgment.vue
View file @
8303eb06
...
@@ -16,24 +16,41 @@
...
@@ -16,24 +16,41 @@
:tableDataTotal=
"tableDataTotal"
:tableDataTotal=
"tableDataTotal"
:queryParams=
"queryParams"
:queryParams=
"queryParams"
@
handle-current-change=
"handleCurrentChange"
@
handle-current-change=
"handleCurrentChange"
/>
>
<template
slot=
"relatedCompanies"
slot-scope=
"scope"
>
<div
v-for=
"item in scope.row.relatedCompanies"
>
<span>
{{
item
.
clean_role
}}
:
</span>
{{
item
.
name
}}
</div>
</
template
>
</tables>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
lawsuitsPage
,
lawsuitsCauseAction
,
lawsuitsRole
}
from
'@/api/detail/party-a/riskInformation'
import
mixin
from
'../mixins/mixin'
import
mixin
from
'../mixins/mixin'
export
default
{
export
default
{
name
:
'Judgment'
,
name
:
'Judgment'
,
mixins
:
[
mixin
],
mixins
:
[
mixin
],
components
:
{
components
:
{
},
props
:
{
companyId
:
{
type
:
Number
,
default
:
0
}
},
},
data
()
{
data
()
{
return
{
return
{
queryParams
:
{
queryParams
:
{
cid
:
6034
,
cid
:
5504335
,
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
10
pageSize
:
10
},
},
...
@@ -41,59 +58,69 @@ export default {
...
@@ -41,59 +58,69 @@ export default {
{
label
:
'案由'
,
prop
:
'causeAction'
,
width
:
'240'
},
{
label
:
'案由'
,
prop
:
'causeAction'
,
width
:
'240'
},
{
label
:
'执行案号'
,
prop
:
'causeNo'
,
width
:
'210'
},
{
label
:
'执行案号'
,
prop
:
'causeNo'
,
width
:
'210'
},
{
label
:
'身份'
,
prop
:
'role'
,
width
:
'120'
},
{
label
:
'身份'
,
prop
:
'role'
,
width
:
'120'
},
{
label
:
'当事人'
,
prop
:
'relatedCompanies'
,
width
:
'240'
},
{
label
:
'当事人'
,
prop
:
'relatedCompanies'
,
width
:
'240'
,
slot
:
true
},
{
label
:
'案件金额(元)'
,
prop
:
'subAmount'
,
width
:
'140'
},
{
label
:
'案件金额(元)'
,
prop
:
'subAmount'
,
width
:
'140'
},
{
label
:
'判决结果'
,
prop
:
'judgeresult'
,
width
:
'508'
},
{
label
:
'判决结果'
,
prop
:
'judgeresult'
,
width
:
'508'
},
{
label
:
'判决日期'
,
prop
:
'date'
,
width
:
'95'
},
{
label
:
'判决日期'
,
prop
:
'date'
,
width
:
'95'
},
],
],
formData
:
[
formData
:
[
{
type
:
1
,
fieldName
:
'causeAction'
,
value
:
''
,
placeholder
:
'案由'
,
{
type
:
1
,
fieldName
:
'causeAction'
,
value
:
''
,
placeholder
:
'案由'
,
options
:
[]},
options
:
[
{
type
:
1
,
fieldName
:
'role'
,
value
:
''
,
placeholder
:
'身份'
,
options
:
[]},
{
name
:
'处罚类别1'
,
value
:
'1'
},
{
type
:
2
,
fieldName
:
'time'
,
value
:
''
,
placeholder
:
''
,
startTime
:
'dateFrom'
,
endTime
:
'dateTo'
},
{
name
:
'处罚类别2'
,
value
:
'2'
},
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'搜索关键字'
}
{
name
:
'处罚类别3'
,
value
:
'3'
},
{
name
:
'处罚类别4'
,
value
:
'4'
}
]
},
{
type
:
1
,
fieldName
:
'role'
,
value
:
''
,
placeholder
:
'身份'
,
options
:
[
{
name
:
'处罚类别1'
,
value
:
'1'
},
{
name
:
'处罚类别2'
,
value
:
'2'
},
{
name
:
'处罚类别3'
,
value
:
'3'
},
{
name
:
'处罚类别4'
,
value
:
'4'
}
]
},
{
type
:
2
,
fieldName
:
'tiem'
,
value
:
''
,
placeholder
:
''
,
startTime
:
'dateFrom'
,
endTime
:
'dateTo'
,
options
:
[]},
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'搜索关键字'
,
options
:
[]}
],
],
//列表
//列表
tableLoading
:
false
,
tableLoading
:
false
,
tableData
:[],
tableData
:[],
pageIndex
:
1
,
pageSize
:
10
,
tableDataTotal
:
0
,
tableDataTotal
:
0
,
}
}
},
},
created
()
{
created
()
{
this
.
dataRegion
()
this
.
handleQuery
()
this
.
lawsuitsCauseActions
()
this
.
lawsuitsRoles
()
},
},
computed
:
{
computed
:
{
},
},
methods
:
{
methods
:
{
async
dataRegion
()
{
// await axios.post("https://files.jiansheku.com/file/json/common/dataRegion.json", {}, {
// headers: {
// 'Content-Type': 'application/json'
// }
// }).then(res => {
// if (res.data.code == 200) {
// console.log(res.data.data)
// }
// })
},
handleQuery
(
params
)
{
handleQuery
(
params
)
{
console
.
log
(
params
)
let
data
=
params
?
params
:
this
.
queryParams
this
.
tableLoading
=
true
lawsuitsPage
(
data
).
then
(
res
=>
{
this
.
tableData
=
res
.
rows
for
(
var
i
=
0
;
i
<
this
.
tableData
.
length
;
i
++
){
this
.
tableData
[
i
].
relatedCompanies
=
JSON
.
parse
(
this
.
tableData
[
i
].
relatedCompanies
)
}
this
.
tableDataTotal
=
res
.
total
this
.
tableLoading
=
false
})
},
lawsuitsCauseActions
(){
lawsuitsCauseAction
({
cid
:
this
.
queryParams
.
cid
}).
then
(
res
=>
{
let
data
=
res
.
data
if
(
data
.
length
>
0
){
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
){
this
.
formData
[
0
].
options
.
push
({
name
:
data
[
i
].
causeAction
+
'('
+
data
[
i
].
num
+
')'
,
value
:
data
[
i
].
causeAction
,
})
}
}
})
},
lawsuitsRoles
(){
lawsuitsRole
({
cid
:
this
.
queryParams
.
cid
}).
then
(
res
=>
{
let
data
=
res
.
data
if
(
data
.
length
>
0
){
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
){
this
.
formData
[
1
].
options
.
push
({
name
:
data
[
i
].
role
+
'('
+
data
[
i
].
num
+
')'
,
value
:
data
[
i
].
role
,
})
}
}
})
}
}
}
}
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/riskInformation/openacourtsessionNotice.vue
View file @
8303eb06
...
@@ -10,63 +10,67 @@
...
@@ -10,63 +10,67 @@
/>
/>
<tables
<tables
:index-fixed=
"true"
:tableLoading=
"tableLoading"
:tableLoading=
"tableLoading"
:tableData=
"tableData"
:tableData=
"tableData"
:forData=
"forData"
:forData=
"forData"
:tableDataTotal=
"tableDataTotal"
:tableDataTotal=
"tableDataTotal"
:queryParams=
"queryParams"
:queryParams=
"queryParams"
@
handle-current-change=
"handleCurrentChange"
@
handle-current-change=
"handleCurrentChange"
/>
>
<template
slot=
"relatedCompanies"
slot-scope=
"scope"
>
<div
v-for=
"item in scope.row.relatedCompanies"
>
<span>
{{
item
.
role
}}
:
</span>
{{
item
.
name
}}
</div>
</
template
>
</tables>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
kaitingPage
,
kaitingCauseAction
,
kaitingPureRole
}
from
'@/api/detail/party-a/riskInformation'
import
mixin
from
'../mixins/mixin'
import
mixin
from
'../mixins/mixin'
export
default
{
export
default
{
name
:
'OpenacourtsessionNotice'
,
name
:
'OpenacourtsessionNotice'
,
mixins
:
[
mixin
],
mixins
:
[
mixin
],
components
:
{
components
:
{
},
props
:
{
companyId
:
{
type
:
Number
,
default
:
0
}
},
},
data
()
{
data
()
{
return
{
return
{
queryParams
:
{
queryParams
:
{
cid
:
60
34
,
cid
:
207
34
,
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
10
pageSize
:
10
},
},
forData
:
[
forData
:
[
{
label
:
'案由'
,
prop
:
'causeAction'
,
width
:
'240'
},
{
label
:
'案由'
,
prop
:
'causeAction'
,
width
:
'240'
,
fixed
:
true
},
{
label
:
'开庭日期'
,
prop
:
'hearingDate'
,
width
:
'95'
},
{
label
:
'开庭日期'
,
prop
:
'hearingDate'
,
width
:
'95'
},
{
label
:
'当事人'
,
prop
:
'relatedCompanies'
,
width
:
'428'
},
{
label
:
'当事人'
,
prop
:
'relatedCompanies'
,
width
:
'428'
,
slot
:
true
},
{
label
:
'身份'
,
prop
:
'pureRole'
,
width
:
'120'
},
{
label
:
'身份'
,
prop
:
'pureRole'
,
width
:
'120'
},
{
label
:
'公告内容'
,
prop
:
'
cgrssqy
'
,
width
:
'508'
},
{
label
:
'公告内容'
,
prop
:
''
,
width
:
'508'
},
{
label
:
'案号'
,
prop
:
'caseNo'
,
width
:
'210'
},
{
label
:
'案号'
,
prop
:
'caseNo'
,
width
:
'210'
},
{
label
:
'法院'
,
prop
:
'
dataId
'
,
width
:
'280'
},
{
label
:
'法院'
,
prop
:
'
court
'
,
width
:
'280'
},
{
label
:
'法庭'
,
prop
:
'
dataId
'
,
width
:
'180'
},
{
label
:
'法庭'
,
prop
:
''
,
width
:
'180'
},
{
label
:
'承办部门'
,
prop
:
'
dataId
'
,
width
:
'280'
},
{
label
:
'承办部门'
,
prop
:
''
,
width
:
'280'
},
{
label
:
'审判长/主判人'
,
prop
:
'
dataId
'
,
width
:
'106'
}
{
label
:
'审判长/主判人'
,
prop
:
''
,
width
:
'106'
}
],
],
formData
:
[
formData
:
[
{
type
:
1
,
fieldName
:
'causeAction'
,
value
:
''
,
placeholder
:
'案由'
,
{
type
:
1
,
fieldName
:
'causeAction'
,
value
:
''
,
placeholder
:
'案由'
,
options
:
[]},
options
:
[
{
type
:
1
,
fieldName
:
'pureRole'
,
value
:
''
,
placeholder
:
'身份'
,
options
:
[]},
{
name
:
'处罚类别1'
,
value
:
'1'
},
{
type
:
2
,
fieldName
:
'time'
,
value
:
''
,
placeholder
:
''
,
startTime
:
'dateFrom'
,
endTime
:
'dateTo'
},
{
name
:
'处罚类别2'
,
value
:
'2'
},
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'请输入关键词'
},
{
name
:
'处罚类别3'
,
value
:
'3'
},
{
name
:
'处罚类别4'
,
value
:
'4'
}
]
},
{
type
:
1
,
fieldName
:
'pureRole'
,
value
:
''
,
placeholder
:
'身份'
,
options
:
[
{
name
:
'处罚类别1'
,
value
:
'1'
},
{
name
:
'处罚类别2'
,
value
:
'2'
},
{
name
:
'处罚类别3'
,
value
:
'3'
},
{
name
:
'处罚类别4'
,
value
:
'4'
}
]
},
{
type
:
2
,
fieldName
:
'time'
,
value
:
''
,
placeholder
:
''
,
startTime
:
'dateFrom'
,
endTime
:
'dateTo'
,
options
:
[]},
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'请输入关键词'
,
options
:
[]},
],
],
//列表
//列表
tableLoading
:
false
,
tableLoading
:
false
,
...
@@ -77,7 +81,9 @@ export default {
...
@@ -77,7 +81,9 @@ export default {
}
}
},
},
created
()
{
created
()
{
this
.
dataRegion
()
this
.
handleQuery
()
this
.
kaitingCauseActions
()
this
.
kaitingPureRoles
()
},
},
computed
:
{
computed
:
{
...
@@ -87,20 +93,44 @@ export default {
...
@@ -87,20 +93,44 @@ export default {
let
Id
=
'111'
let
Id
=
'111'
this
.
$router
.
push
({
path
:
'/project/projectList/detail'
,
query
:
Id
});
this
.
$router
.
push
({
path
:
'/project/projectList/detail'
,
query
:
Id
});
},
},
async
dataRegion
()
{
// await axios.post("https://files.jiansheku.com/file/json/common/dataRegion.json", {}, {
// headers: {
// 'Content-Type': 'application/json'
// }
// }).then(res => {
// if (res.data.code == 200) {
// console.log(res.data.data)
// }
// })
},
handleQuery
(
params
)
{
handleQuery
(
params
)
{
console
.
log
(
params
)
let
data
=
params
?
params
:
this
.
queryParams
}
this
.
tableLoading
=
true
kaitingPage
(
data
).
then
(
res
=>
{
this
.
tableData
=
res
.
rows
for
(
var
i
=
0
;
i
<
this
.
tableData
.
length
;
i
++
){
this
.
tableData
[
i
].
relatedCompanies
=
JSON
.
parse
(
this
.
tableData
[
i
].
relatedCompanies
)
}
this
.
tableDataTotal
=
res
.
total
this
.
tableLoading
=
false
})
},
kaitingCauseActions
(){
kaitingCauseAction
({
cid
:
this
.
queryParams
.
cid
}).
then
(
res
=>
{
let
data
=
res
.
data
if
(
data
.
length
>
0
){
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
){
this
.
formData
[
0
].
options
.
push
({
name
:
data
[
i
].
causeAction
+
'('
+
data
[
i
].
count
+
')'
,
value
:
data
[
i
].
causeAction
,
})
}
}
})
},
kaitingPureRoles
(){
kaitingPureRole
({
cid
:
this
.
queryParams
.
cid
}).
then
(
res
=>
{
let
data
=
res
.
data
if
(
data
.
length
>
0
){
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
){
this
.
formData
[
1
].
options
.
push
({
name
:
data
[
i
].
pureRole
+
'('
+
data
[
i
].
count
+
')'
,
value
:
data
[
i
].
pureRole
,
})
}
}
})
},
}
}
}
}
</
script
>
</
script
>
...
...
dsk-operate-ui/src/views/detail/party-a/riskInformation/punish.vue
View file @
8303eb06
...
@@ -40,11 +40,17 @@ export default {
...
@@ -40,11 +40,17 @@ export default {
mixins
:
[
mixin
],
mixins
:
[
mixin
],
components
:
{
components
:
{
},
props
:
{
companyId
:
{
type
:
Number
,
default
:
0
}
},
},
data
()
{
data
()
{
return
{
return
{
queryParams
:
{
queryParams
:
{
cid
:
382724726
,
cid
:
this
.
companyId
,
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
10
pageSize
:
10
},
},
...
@@ -53,9 +59,9 @@ export default {
...
@@ -53,9 +59,9 @@ export default {
{
label
:
'决定日期'
,
prop
:
'punishBegin'
,
width
:
'95'
},
{
label
:
'决定日期'
,
prop
:
'punishBegin'
,
width
:
'95'
},
{
label
:
'处罚结果'
,
prop
:
'punishResult'
,
width
:
'264'
},
{
label
:
'处罚结果'
,
prop
:
'punishResult'
,
width
:
'264'
},
{
label
:
'处罚文书号'
,
prop
:
'fileNum'
,
width
:
'200'
},
{
label
:
'处罚文书号'
,
prop
:
'fileNum'
,
width
:
'200'
},
{
label
:
'相关人员'
,
prop
:
'
cgrdm
'
,
width
:
'88'
},
{
label
:
'相关人员'
,
prop
:
''
,
width
:
'88'
},
{
label
:
'处罚机关'
,
prop
:
'office'
,
width
:
'264'
},
{
label
:
'处罚机关'
,
prop
:
'office'
,
width
:
'264'
},
{
label
:
'处罚结束日期'
,
prop
:
'
dataId
'
,
width
:
'100'
},
{
label
:
'处罚结束日期'
,
prop
:
''
,
width
:
'100'
},
],
],
formData
:
[
formData
:
[
{
type
:
1
,
fieldName
:
'penalizeReasonType'
,
value
:
''
,
placeholder
:
'处罚类别'
,
options
:
[]},
{
type
:
1
,
fieldName
:
'penalizeReasonType'
,
value
:
''
,
placeholder
:
'处罚类别'
,
options
:
[]},
...
@@ -63,42 +69,41 @@ export default {
...
@@ -63,42 +69,41 @@ export default {
],
],
//列表
//列表
tableLoading
:
false
,
tableLoading
:
false
,
tableData
:[
tableData
:[],
{
tableDataTotal
:
0
,
punishReason
:
'根据成都市住房和城乡建设局《关于持续开展建设工地扬尘治理专项攻坚行动的通知》(成住建发(2021]178号),对你单位参建的项目住宅、商业及配套设施(2020-510107-47-03-506368) (金茂府三期)(安监备案编号:WH-CJ-AJ-2021-001)监督检查中发现未湿法作业(现场存在露天切割石材,未采取降尘防尘措施)。)的违规行为,予以记录并扣分,预扣减施工企业现场信用信息得分0.05分,预扣减监理企业现场信用信息得分...预扣减施工企业现场信用信息得分0.05分,预扣减监理企业现场信用信息得分'
,
punishBegin
:
'2015-08-06'
,
punishResult
:
'列入全省3-6月份拖欠农民工工资预警项目,现予以限期整改通报。'
,
fileNum
:
'铜城建罚决字【2021)】18-5号'
,
cgrdm
:
'测试1'
,
office
:
'江苏省住房和城乡建设厅'
,
dataId
:
'2015-08-06'
,
}
],
tableDataTotal
:
200
,
showList
:[],
showList
:[],
}
}
},
},
created
()
{
created
()
{
this
.
getList
()
this
.
handleQuery
()
this
.
penalizeReasonTypeData
()
this
.
penalizeReasonTypeData
()
},
},
computed
:
{
computed
:
{
},
},
methods
:
{
methods
:
{
getList
()
{
handleQuery
(
params
)
{
penalizePage
(
this
.
queryParams
).
then
((
res
)
=>
{
let
data
=
params
?
params
:
this
.
queryParams
console
.
log
(
res
.
data
.
rows
)
this
.
tableLoading
=
true
penalizePage
(
data
).
then
((
res
)
=>
{
this
.
tableData
=
res
.
rows
this
.
tableDataTotal
=
res
.
total
this
.
tableLoading
=
false
})
})
},
},
penalizeReasonTypeData
(){
penalizeReasonTypeData
(){
penalizeReasonType
({
cid
:
this
.
queryParams
.
cid
}).
then
((
res
)
=>
{
penalizeReasonType
({
cid
:
this
.
queryParams
.
cid
}).
then
((
res
)
=>
{
console
.
log
(
res
)
let
data
=
res
.
data
if
(
data
.
length
>
0
){
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
){
this
.
formData
[
0
].
options
.
push
({
name
:
data
[
i
].
punishType
+
'('
+
data
[
i
].
count
+
')'
,
value
:
data
[
i
].
punishTypeId
,
})
}
}
})
})
},
},
handleQuery
(
params
)
{
console
.
log
(
params
)
},
changeShowAll
(
row
,
column
)
{
changeShowAll
(
row
,
column
)
{
this
.
showList
.
push
({
this
.
showList
.
push
({
row
:
row
,
row
:
row
,
...
...
dsk-operate-ui/src/views/detail/party-a/urbanLnvestment/landAcquisition.vue
View file @
8303eb06
...
@@ -16,7 +16,11 @@
...
@@ -16,7 +16,11 @@
:tableDataTotal=
"tableDataTotal"
:tableDataTotal=
"tableDataTotal"
:queryParams=
"queryParams"
:queryParams=
"queryParams"
@
handle-current-change=
"handleCurrentChange"
@
handle-current-change=
"handleCurrentChange"
/>
>
<template
slot=
"projectName"
slot-scope=
"data"
>
<router-link
:to=
"''+ data.row.id"
style=
"color: #0081FF"
>
{{
data
.
row
.
projectName
}}
</router-link>
</
template
>
</tables>
</div>
</div>
</template>
</template>
...
@@ -42,19 +46,19 @@ export default {
...
@@ -42,19 +46,19 @@ export default {
pageSize
:
10
pageSize
:
10
},
},
forData
:
[
forData
:
[
{
label
:
'项目名称'
,
prop
:
'p
unishReason'
,
width
:
'508'
},
{
label
:
'项目名称'
,
prop
:
'p
rojectName'
,
width
:
'508'
,
slot
:
true
},
{
label
:
'土地用途'
,
prop
:
'
punishBegin
'
,
width
:
'120'
},
{
label
:
'土地用途'
,
prop
:
'
landUse
'
,
width
:
'120'
},
{
label
:
'行业分类'
,
prop
:
'
punishResult
'
,
width
:
'120'
},
{
label
:
'行业分类'
,
prop
:
'
industry
'
,
width
:
'120'
},
{
label
:
'供地方式'
,
prop
:
'
fileNum
'
,
width
:
'120'
},
{
label
:
'供地方式'
,
prop
:
'
supplyLandWay
'
,
width
:
'120'
},
{
label
:
'土地坐落'
,
prop
:
'
cgrdm'
,
width
:
'12
0'
},
{
label
:
'土地坐落'
,
prop
:
'
landAddr'
,
width
:
'15
0'
},
{
label
:
'成交金额(万元)'
,
prop
:
'
off
ice'
,
width
:
'130'
},
{
label
:
'成交金额(万元)'
,
prop
:
'
transactionPr
ice'
,
width
:
'130'
},
{
label
:
'总面积(㎡)'
,
prop
:
'
dataId
'
,
width
:
'120'
},
{
label
:
'总面积(㎡)'
,
prop
:
'
acreage
'
,
width
:
'120'
},
{
label
:
'批准单位'
,
prop
:
'
dataId
'
,
width
:
'120'
},
{
label
:
'批准单位'
,
prop
:
'
authority
'
,
width
:
'120'
},
{
label
:
'签订日期'
,
prop
:
'
dataId
'
,
width
:
'120'
}
{
label
:
'签订日期'
,
prop
:
'
contractSignTime
'
,
width
:
'120'
}
],
],
formData
:
[
formData
:
[
{
type
:
4
,
fieldName
:
'landUse'
,
value
:
[]
,
placeholder
:
'土地用途'
,
options
:
[]},
{
type
:
4
,
fieldName
:
'landUse'
,
value
:
''
,
placeholder
:
'土地用途'
,
options
:
[]},
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'请输入关键词'
,
options
:
[]
},
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'请输入关键词'
},
],
],
//列表
//列表
tableLoading
:
false
,
tableLoading
:
false
,
...
@@ -63,29 +67,34 @@ export default {
...
@@ -63,29 +67,34 @@ export default {
}
}
},
},
created
()
{
created
()
{
this
.
getList
()
this
.
handleQuery
()
this
.
getlandUse
()
this
.
getlandUse
()
},
},
computed
:
{
computed
:
{
},
},
methods
:
{
methods
:
{
getList
()
{
handleQuery
(
params
)
{
let
data
=
params
?
params
:
this
.
queryParams
this
.
tableLoading
=
true
this
.
tableLoading
=
true
landTransactionPage
(
this
.
queryParams
).
then
(
res
=>
{
landTransactionPage
(
data
).
then
(
res
=>
{
this
.
tableData
=
res
.
data
this
.
tableData
=
res
.
rows
this
.
tableDataTotal
=
res
.
data
.
total
this
.
tableDataTotal
=
res
.
total
this
.
tableLoading
=
false
this
.
tableLoading
=
false
})
})
},
},
handleQuery
(
params
)
{
console
.
log
(
params
)
},
//土地用途
//土地用途
getlandUse
(){
getlandUse
(){
landUse
({
cid
:
this
.
queryParams
.
cid
}).
then
(
res
=>
{
landUse
({
cid
:
this
.
queryParams
.
cid
}).
then
(
res
=>
{
console
.
log
(
res
)
let
data
=
res
.
data
// this.formData[0].options = res.data
if
(
data
.
length
>
0
){
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
){
this
.
formData
[
0
].
options
.
push
({
name
:
data
[
i
].
landUse
+
'('
+
data
[
i
].
count
+
')'
,
value
:
data
[
i
].
landUse
,
})
}
}
})
})
}
}
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/urbanLnvestment/regionalEconomies.vue
View file @
8303eb06
...
@@ -7,6 +7,7 @@
...
@@ -7,6 +7,7 @@
</div>
</div>
<div
class=
"table-item"
>
<div
class=
"table-item"
>
<el-table
<el-table
:tableLoading=
"tableLoading"
:data=
"getValues"
:data=
"getValues"
:show-header=
"false"
:show-header=
"false"
border
border
...
@@ -36,8 +37,13 @@ export default {
...
@@ -36,8 +37,13 @@ export default {
return
{
return
{
params
:
{
params
:
{
provinceId
:
500000
,
provinceId
:
500000
,
cityId
:
500100
cityId
:
500100
},
},
labels
:
[
'指标'
,
'财政'
,
'债务'
,
],
tableData
:
[],
tableData
:
[],
headers
:
[
headers
:
[
{
{
...
@@ -193,10 +199,10 @@ export default {
...
@@ -193,10 +199,10 @@ export default {
label
:
'债务率-宽口径'
,
label
:
'债务率-宽口径'
,
},
},
],
],
tableLoading
:
true
}
}
},
},
created
()
{
created
()
{
console
.
log
(
11
)
this
.
dataRegion
()
this
.
dataRegion
()
},
},
computed
:
{
computed
:
{
...
@@ -205,7 +211,7 @@ export default {
...
@@ -205,7 +211,7 @@ export default {
},
},
getValues
()
{
getValues
()
{
return
this
.
headers
.
map
(
item
=>
{
return
this
.
headers
.
map
(
item
=>
{
return
this
.
tableData
.
reduce
((
pre
,
cur
,
index
)
=>
Object
.
assign
(
pre
,
{[
'value'
+
index
]:
cur
[
item
.
prop
]}),
{
'title'
:
item
.
label
,})
;
return
this
.
tableData
.
reduce
((
pre
,
cur
,
index
)
=>
Object
.
assign
(
pre
,
{[
'value'
+
index
]:
cur
[
item
.
prop
]}),
{
'title'
:
item
.
label
,})
});
});
}
}
},
},
...
@@ -214,6 +220,7 @@ export default {
...
@@ -214,6 +220,7 @@ export default {
dataRegion
()
{
dataRegion
()
{
regionalEconomy
(
this
.
params
).
then
(
res
=>
{
regionalEconomy
(
this
.
params
).
then
(
res
=>
{
this
.
tableData
=
res
.
data
this
.
tableData
=
res
.
data
this
.
tableLoading
=
false
})
})
},
},
}
}
...
@@ -224,9 +231,36 @@ export default {
...
@@ -224,9 +231,36 @@ export default {
background
:
#ffffff
;
background
:
#ffffff
;
border-radius
:
4px
;
border-radius
:
4px
;
padding
:
16px
;
padding
:
16px
;
::v-deep
.el-table
tr
{
background
:
#F9FCFF
;
}
::v-deep
.table-item
{
.el-table
{
.el-table__body-wrapper
{
tr
{
&
:first-child
{
background
:
#F0F3FA
;
div
{
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
}
}
&
:nth-child
(
2n
)
{
background
:
#FFFFFF
;
}
}
}
}
}
.query-box
{
.query-box
{
margin
:
10px
0
20px
;
margin
:
10px
0
20px
;
}
}
}
}
::v-deep
.el-table__body-wrapper
tr
:nth-child
(
2
)
td
:first-child
,
::v-deep
.el-table__body-wrapper
tr
:nth-child
(
16
)
td
:first-child
,
::v-deep
.el-table__body-wrapper
tr
:nth-child
(
28
)
td
:first-child
{
font-weight
:
bold
;
color
:
#232323
;
}
</
style
>
</
style
>
dsk-operate-ui/src/views/detail/party-a/urbanLnvestment/sameRegion.vue
View file @
8303eb06
...
@@ -7,7 +7,86 @@
...
@@ -7,7 +7,86 @@
:total=
"tableDataTotal"
:total=
"tableDataTotal"
:isExcel=
"true"
:isExcel=
"true"
@
handle-search=
"handleSearch"
@
handle-search=
"handleSearch"
/>
>
<template
slot=
"slot"
>
<div
class=
"search-box"
>
<span
style=
"cursor: pointer;"
@
click=
"handleSearch"
>
筛选
<i
class=
"el-icon-caret-bottom"
style=
"color:rgba(35,35,35,0.4);margin-left: 5px"
></i></span>
<div
v-show=
"searchState"
ref=
"showContent"
class=
"search-main"
>
<div
class=
"item"
>
<span
class=
"wrap_label"
>
行政等级
</span>
<div
class=
"item_ckquery"
>
<span
:class=
"
{color_text:xzdjCalss == ''}" @click="changeXZDJ('')">全部
</span>
<template
v-for=
"(item,index) in xzdj"
>
<span
:class=
"
{color_text:index+1 === xzdjCalss}" @click="changeXZDJ(index+1)">
{{
item
.
name
}}
</span>
</
template
>
</div>
</div>
<div
class=
"item"
>
<span
class=
"wrap_label"
>
城投业务类型
</span>
<div
class=
"item_ckquery"
>
<span>
全部
</span>
<
template
v-for=
"(item,index) in typeList"
>
<span>
{{
item
}}
</span>
</
template
>
</div>
</div>
<div
class=
"item"
>
<span
class=
"wrap_label"
>
主体评级
</span>
<div
class=
"item_ckquery"
>
<span>
全部
</span>
<
template
v-for=
"(item,index) in ztpj"
>
<span>
{{
item
}}
</span>
</
template
>
</div>
</div>
<div
class=
"item"
>
<span
class=
"wrap_label"
>
股东背景
</span>
<div
class=
"item_ckquery"
>
<span>
全部
</span>
<
template
v-for=
"(item,index) in gdbj"
>
<span>
{{
item
}}
</span>
</
template
>
</div>
</div>
<div
class=
"item"
>
<span
class=
"wrap_label"
>
股权关系
</span>
<div
class=
"item_ckquery"
>
<span>
全部
</span>
<
template
v-for=
"(item,index) in gqgx"
>
<span>
{{
item
}}
</span>
</
template
>
</div>
</div>
<div
class=
"item"
>
<span
class=
"wrap_label"
>
平台重要性
</span>
<div
class=
"item_ckquery"
>
<span>
全部
</span>
<
template
v-for=
"(item,index) in pt"
>
<span>
{{
item
}}
</span>
</
template
>
</div>
</div>
<div
class=
"item"
>
<span
class=
"wrap_label"
style=
"width: 78px;"
>
开发区类别
</span>
<div
class=
"item_ckquery"
>
<span>
全部
</span>
<
template
v-for=
"(item,index) in lfqType"
>
<span>
{{
item
}}
</span>
</
template
>
</div>
</div>
<div
class=
"item"
>
<span
class=
"wrap_label"
>
更多筛选
</span>
<div
class=
"item_ckquery"
>
<span
:class=
"addresslength>0?'select-active':''"
>
注册地区{{addresslength>0?(addresslength+'项'):''}}
</span>
<el-cascader
ref=
"address"
class=
"cascader-region"
popper-class=
'cascader-region-addd'
@
input=
"addressListbtn"
v-model=
"addressType"
:options=
"addressList"
:props=
"props"
collapse-tags
></el-cascader>
</div>
</div>
</div>
</div>
</template>
</head-form>
<tables
<tables
:tableLoading=
"tableLoading"
:tableLoading=
"tableLoading"
...
@@ -73,16 +152,39 @@ export default {
...
@@ -73,16 +152,39 @@ export default {
{
label
:
'所属开发区'
,
prop
:
'developmentZone'
,
width
:
'120'
}
{
label
:
'所属开发区'
,
prop
:
'developmentZone'
,
width
:
'120'
}
],
],
formData
:
[
formData
:
[
{
type
:
1
,
fieldName
:
'penalizeReasonType'
,
value
:
''
,
placeholder
:
'筛选'
,
{
type
:
0
,
fieldName
:
'penalizeReasonType'
,
value
:
''
,
placeholder
:
'筛选'
,
options
:
[]},
options
:
[]
},
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'请输入关键词'
,
options
:
[]},
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'请输入关键词'
,
options
:
[]},
],
],
xzdj
:[
{
name
:
'省级'
,
key
:
1
,
},
{
name
:
'地级市'
,
key
:
2
,
},
{
name
:
'区县级'
,
key
:
3
,
}
],
selected
:[],
xzdjCalss
:
''
,
typeList
:[
'土地开发整理'
,
'基础设施建设'
,
'棚改保障房建设'
,
'公用事业'
,
'文化旅游'
,
'交通建设运营'
,
'产投平台'
],
ztpj
:[
'AAA'
,
'AA+'
,
'AA'
,
'A+'
,
'A'
,
'A-'
,
'BBB+'
,
'其他'
],
gdbj
:[
'政府'
,
'财政'
,
'国资委'
,
'其他'
],
gqgx
:[
'直接控股'
,
'间接控股'
],
pt
:[
'重要平台'
,
'主要平台'
,
'一般平台'
],
lfqType
:[
'国家级经开'
,
'国家级高新区'
,
'国家海关监管区域'
,
'国家级新区'
,
'国家边和区'
,
'其他国家级'
,
'省级新区'
,
'省级开发区'
],
props
:
{
props
:
{
value
:
'id'
,
value
:
'id'
,
multiple
:
true
,
multiple
:
true
,
},
},
addressList
:
[],
addressList
:
[],
addressType
:
[],
addresslength
:
0
,
searchState
:
false
,
//列表
//列表
tableLoading
:
false
,
tableLoading
:
false
,
tableData
:[],
tableData
:[],
...
@@ -148,6 +250,38 @@ export default {
...
@@ -148,6 +250,38 @@ export default {
}
}
this
.
addressList
=
str
;
this
.
addressList
=
str
;
},
},
handleSearch
(
event
){
// this.searchState=!this.searchState;
let
dom
=
this
.
$refs
.
showContent
;
if
(
!
dom
.
contains
(
event
.
target
))
{
this
.
searchState
=
!
this
.
searchState
;
document
.
removeEventListener
(
'click'
,
this
.
handleSearch
);
}
},
changeXZDJ
(
index
)
{
this
.
xzdjCalss
=
index
;
},
addressListbtn
()
{
let
arr
=
this
.
$refs
.
address
.
getCheckedNodes
();
let
provinceCode
=
[],
cityCode
=
[],
countyCode
=
[];
for
(
var
i
in
arr
)
{
if
(
arr
[
i
].
parent
)
{
if
(
!
arr
[
i
].
parent
.
checked
)
{
arr
[
i
].
hasChildren
&&
cityCode
.
push
(
arr
[
i
].
value
);
!
arr
[
i
].
hasChildren
&&
countyCode
.
push
(
arr
[
i
].
value
);
}
}
else
{
provinceCode
.
push
(
arr
[
i
].
value
)
}
}
if
(
provinceCode
.
length
>
0
||
cityCode
.
length
>
0
||
countyCode
.
length
>
0
)
{
this
.
addresslength
=
provinceCode
.
length
+
cityCode
.
length
+
countyCode
.
length
;
}
else
{
this
.
addresslength
=
0
;
}
},
handleQuery
(
params
){
handleQuery
(
params
){
this
.
tableLoading
=
true
this
.
tableLoading
=
true
let
data
=
params
?
params
:
this
.
queryParams
let
data
=
params
?
params
:
this
.
queryParams
...
@@ -168,5 +302,60 @@ export default {
...
@@ -168,5 +302,60 @@ export default {
.query-box
{
.query-box
{
margin
:
10px
0
20px
;
margin
:
10px
0
20px
;
}
}
.search-box
{
display
:
inline-block
;
margin-right
:
32px
;
/*cursor: pointer;*/
color
:
#232323
;
position
:
relative
;
.search-main
{
background
:
#ffffff
;
box-shadow
:
0px
4px
10px
0px
rgba
(
0
,
0
,
0
,
0
.1
);
border-radius
:
4px
;
width
:
880px
;
height
:
337px
;
padding
:
16px
;
position
:
absolute
;
top
:
25px
;
left
:
0
;
z-index
:
2001
;
.item
{
margin-bottom
:
5px
;
display
:
flex
;
/*align-items: center;*/
font-size
:
14px
;
.wrap_label
{
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
margin-right
:
12px
;
line-height
:
30px
;
}
.item_ckquery
{
position
:
relative
;
span
{
color
:
#232323
;
padding
:
5px
12px
;
display
:
inline-block
;
cursor
:
pointer
;
}
.color_text
{
background
:
#F3F4F5
;
border-radius
:
4px
;
color
:
#0081FF
;
}
.select-active
{
color
:
#0081FF
;
}
}
.cascader-region
{
position
:
absolute
;
left
:
0
;
top
:
-6px
;
opacity
:
0
;
line-height
:
22px
;
}
}
}
}
}
}
</
style
>
</
style
>
dsk-operate-ui/src/views/project/projectList/component/addProject.vue
View file @
8303eb06
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
>
>
<div
class=
"poptitle"
>
<div
class=
"poptitle"
>
<img
src=
"@/assets/images/economies/icon.png"
>
<img
src=
"@/assets/images/economies/icon.png"
>
<span>
添加
客户
</span>
<span>
添加
项目
</span>
</div>
</div>
<el-form
class=
"popform j"
:model=
"queryParam"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"130px"
>
<el-form
class=
"popform j"
:model=
"queryParam"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"130px"
>
<el-form-item
label=
"项目名称:"
class=
"row"
prop=
"projectName"
>
<el-form-item
label=
"项目名称:"
class=
"row"
prop=
"projectName"
>
...
...
dsk-operate-ui/src/views/project/projectList/component/batchImport.vue
0 → 100644
View file @
8303eb06
<
template
>
<div
class=
"uploadwin"
>
<div
class=
"upload"
v-if=
"addfile==false"
>
<div
class=
"up_title"
>
批量导入
{{
titletext
}}
</div>
<div
class=
"up_box"
>
<el-upload
:class=
"
{'none':isUpload == true}"
class="upload-demo"
:action="action"
:multiple="false"
accept=".xls,.xlsx"
drag
ref="upload"
:auto-upload="false"
:file-list="fileList"
:on-change="handleFileListChange"
:headers="headers"
:on-success="onSuccess">
<img
class=
"up_img"
src=
"@/assets/images/project/upload.png"
>
<div
class=
"up_text"
>
点击选择或将文件(xls,xlsx)拖拽至此上传成员名录
</div>
<div
class=
"up_tip"
>
导入的文件内容必须依照下载模板的要求填写
</div>
<div
class=
"up_tip"
>
上传文件最大为2M,仅支持Excel表格文件(xls,xlsx)
</div>
<div
class=
"up_tip"
>
导入已存在的客户将自动跳过
</div>
</el-upload>
<div
class=
"up_success"
v-if=
"isUpload == true"
>
<img
src=
"@/assets/images/project/success.png"
>
上传成功
</div>
<div
class=
"btn_download"
v-if=
"isUpload == false"
@
click=
"downloadClick"
><div
class=
"img"
></div>
点击下载
</div>
</div>
<div
class=
"btns"
>
<div
class=
"btn btn_primary btn_disabled h34"
v-if=
"isUpload==false"
>
确定导入
</div>
<div
class=
"btn btn_primary h34"
@
click=
"importConfirmClick"
v-else
>
确定导入
</div>
<div
class=
"btn btn_default h34"
@
click=
"importCancel"
>
取消
</div>
</div>
</div>
<div
class=
"success"
v-if=
"addfile==true"
>
<div
v-if=
"addsuccess==false"
>
<img
class=
"img"
src=
"@/assets/images/project/clock.png"
>
<div
class=
"p1"
>
查询客户中...
</div>
<div
class=
"p2"
>
请耐心等待,过程大概30秒
</div>
</div>
<div
v-if=
"addsuccess == true"
>
<div
class=
"p3"
>
<img
src=
"@/assets/images/project/success.png"
>
查询成功
</div>
<div
class=
"p2"
>
成功导入客户信息
</div>
<div
class=
"btns"
>
<div
class=
"btn btn_primary h32"
@
click=
"getmsg"
>
查看
</div>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
getToken
}
from
"@/utils/auth"
;
import
"@/assets/styles/project.scss"
import
{
importData
}
from
'@/api/custom/custom'
export
default
{
name
:
'batchImport'
,
props
:{
importtype
:
''
},
data
(){
return
{
isUpload
:
false
,
//有上传的文件
addfile
:
false
,
//已上传文件
addsuccess
:
false
,
//已成功加入数据
//批量导入
action
:
""
,
fileList
:
[],
headers
:
{
Authorization
:
"Bearer "
+
getToken
(),
},
downloadhref
:
''
,
//样例地址
titletext
:
''
,
}
},
created
(){
console
.
log
(
this
.
importtype
)
if
(
this
.
importtype
==
'project'
){
//项目管理
this
.
downloadhref
=
'/file/projectTemplate.xlsx'
this
.
titletext
=
'项目'
this
.
action
=
process
.
env
.
VUE_APP_BASE_API
+
'/business/info/upload'
}
if
(
this
.
importtype
==
'custom'
){
//客户管理
this
.
downloadhref
=
'/file/Template.xlsx'
this
.
titletext
=
'客户'
this
.
action
=
process
.
env
.
VUE_APP_BASE_API
+
"/customer/importData"
}
},
methods
:{
getmsg
(){
this
.
$emit
(
'getdatas'
)
},
handleFileListChange
(
file
,
fileList
)
{
if
(
fileList
.
length
>
0
)
{
this
.
fileList
=
[
fileList
[
fileList
.
length
-
1
]];
this
.
isUpload
=
true
}
},
onSuccess
(
res
,
file
,
fileList
)
{
if
(
res
.
code
==
200
)
this
.
addsuccess
=
true
else
this
.
$message
.
error
({
message
:
res
.
msg
,
showClose
:
true
})
},
downloadClick
()
{
let
a
=
document
.
createElement
(
"a"
);
a
.
setAttribute
(
"href"
,
this
.
downloadhref
);
a
.
setAttribute
(
"download"
,
"批量导入模版.xlsx"
);
document
.
body
.
appendChild
(
a
);
a
.
click
();
},
// 批量导入
importConfirmClick
()
{
if
(
this
.
fileList
.
length
>
0
)
{
this
.
$refs
[
"upload"
].
submit
();
this
.
addfile
=
true
}
else
{
this
.
$message
(
"请先选择文件"
);
}
},
importCancel
(){
this
.
addfile
=
false
this
.
isUpload
=
false
this
.
addsuccess
=
false
this
.
$emit
(
'cancels'
)
},
}
}
</
script
>
<
style
scoped
>
</
style
>
dsk-operate-ui/src/views/project/projectList/component/jsnr.vue
View file @
8303eb06
...
@@ -9,26 +9,26 @@
...
@@ -9,26 +9,26 @@
<span>
总投资额(万元) :
</span>
<span>
总投资额(万元) :
</span>
<div
class=
"inputxt"
>
<div
class=
"inputxt"
>
<div
class=
"flex"
v-if=
"nowedit == 1"
>
<div
class=
"flex"
v-if=
"nowedit == 1"
>
<el-input
placeholder=
"待添加"
v-model=
"
money
"
@
input=
"number"
></el-input>
<el-input
placeholder=
"待添加"
v-model=
"
investmentAmount
"
@
input=
"number"
></el-input>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
>
确定
</div>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"changes(
{'investmentAmount':investmentAmount})"
>确定
</div>
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
</div>
</div>
</div>
</div>
<span
class=
"txt"
v-else
@
click=
"nowedit = 1"
>
待添加
</span>
<span
:class=
"
{'txt':!investmentAmount}" v-else @click="nowedit = 1">
{{
investmentAmount
||
'待添加'
}}
</span>
</div>
</div>
</div>
</div>
<div
class=
"con i"
>
<div
class=
"con i"
>
<span>
资金来源 :
</span>
<span>
资金来源 :
</span>
<div
class=
"inputxt"
>
<div
class=
"inputxt"
>
<div
class=
"flex"
v-if=
"nowedit == 2"
>
<div
class=
"flex"
v-if=
"nowedit == 2"
>
<el-input
placeholder=
"待添加"
></el-input>
<el-input
placeholder=
"待添加"
v-model=
"amountSource"
></el-input>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
>
确定
</div>
<div
class=
"btnsmall btn_primary h28"
@
click=
"changes(
{'amountSource':amountSource})"
style="width: 56px">确定
</div>
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
</div>
</div>
</div>
</div>
<span
class=
"txt"
v-else
@
click=
"nowedit = 2"
>
待添加
</span>
<span
:class=
"
{'txt':!amountSource}" v-else @click="nowedit = 2">
{{
amountSource
||
'待添加'
}}
</span>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -37,27 +37,27 @@
...
@@ -37,27 +37,27 @@
<span>
建设性质 :
</span>
<span>
建设性质 :
</span>
<div
class=
"inputxt"
>
<div
class=
"inputxt"
>
<div
class=
"flex"
v-if=
"nowedit == 3"
>
<div
class=
"flex"
v-if=
"nowedit == 3"
>
<el-input
placeholder=
"待添加"
></el-input>
<el-input
placeholder=
"待添加"
v-model=
"buildProperty"
></el-input>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
>
确定
</div>
<div
class=
"btnsmall btn_primary h28"
@
click=
"changes(
{'buildProperty':buildProperty})"
style="width: 56px">确定
</div>
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
</div>
</div>
</div>
</div>
<span
class=
"txt"
v-else
@
click=
"nowedit = 3"
>
待添加
</span>
<span
:class=
"
{'txt':!buildProperty}" v-else @click="nowedit = 3">
{{
buildProperty
||
'待添加'
}}
</span>
</div>
</div>
</div>
</div>
<div
class=
"con i"
>
<div
class=
"con i"
>
<span>
计划招标 :
</span>
<span>
计划招标 :
</span>
<div
class=
"inputime"
>
<div
class=
"inputime"
>
<div
class=
"flex"
style=
"
opacity: 0;height: 0
"
>
<div
class=
"flex"
style=
""
>
<el-date-picker
v-if=
"nowedit == 11"
showWordLimit=
"true
"
<el-date-picker
class=
"timeinput
"
v-model=
"
value1
"
v-model=
"
planBidTime
"
type=
"date"
type=
"date"
value-format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
placeholder=
"待添加"
@
change=
"
nowedit = -1
"
>
placeholder=
"待添加"
@
change=
"
changes(
{'planBidTime':planBidTime})
">
</el-date-picker>
</el-date-picker>
</div>
</div>
<span
:class=
"
{'txt':!
value1}" @click="nowedit = 11">
{{
value1
||
"待添加"
}}
<i
class=
"el-icon-caret-bottom"
></i></span>
<span
:class=
"
{'txt':!
planBidTime}">
{{
planBidTime
||
"待添加"
}}
<i
class=
"el-icon-caret-bottom"
></i></span>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -66,28 +66,28 @@
...
@@ -66,28 +66,28 @@
<span>
计划开工 :
</span>
<span>
计划开工 :
</span>
<div
class=
"inputime"
>
<div
class=
"inputime"
>
<div
class=
"flex"
style=
"opacity: 0;height: 0"
>
<div
class=
"flex"
style=
"opacity: 0;height: 0"
>
<el-date-picker
v-if=
"nowedit == 12"
showWordLimit=
"true
"
<el-date-picker
class=
"timeinput
"
v-model=
"
value1
"
v-model=
"
planStartTime
"
type=
"date"
type=
"date"
value-format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
placeholder=
"待添加"
@
change=
"
nowedit = -1
"
>
placeholder=
"待添加"
@
change=
"
changes(
{'planStartTime':planStartTime})
">
</el-date-picker>
</el-date-picker>
</div>
</div>
<span
:class=
"
{'txt':!
value1}" @click="nowedit = 12">
{{
value1
||
"待添加"
}}
<i
class=
"el-icon-caret-bottom"
></i></span>
<span
:class=
"
{'txt':!
planStartTime}">
{{
planStartTime
||
"待添加"
}}
<i
class=
"el-icon-caret-bottom"
></i></span>
</div>
</div>
</div>
</div>
<div
class=
"con i"
>
<div
class=
"con i"
>
<span>
计划竣工 :
</span>
<span>
计划竣工 :
</span>
<div
class=
"inputime"
>
<div
class=
"inputime"
>
<div
class=
"flex"
style=
"opacity: 0;height: 0"
>
<div
class=
"flex"
style=
"opacity: 0;height: 0"
>
<el-date-picker
v-if=
"nowedit == 13"
showWordLimit=
"true
"
<el-date-picker
class=
"timeinput
"
v-model=
"
value1
"
v-model=
"
planCompleteTime
"
type=
"date"
type=
"date"
value-format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
placeholder=
"待添加"
@
change=
"
nowedit = -1
"
>
placeholder=
"待添加"
@
change=
"
changes(
{'planCompleteTime':planCompleteTime})
">
</el-date-picker>
</el-date-picker>
</div>
</div>
<span
:class=
"
{'txt':!
value1}" @click="nowedit = 13">
{{
value1
||
"待添加"
}}
<i
class=
"el-icon-caret-bottom"
></i></span>
<span
:class=
"
{'txt':!
planCompleteTime}">
{{
planCompleteTime
||
"待添加"
}}
<i
class=
"el-icon-caret-bottom"
></i></span>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -96,10 +96,10 @@
...
@@ -96,10 +96,10 @@
<el-card
class=
"box-card noborder"
>
<el-card
class=
"box-card noborder"
>
<div
class=
"cardtitles"
>
项目概况与建设规模
</div>
<div
class=
"cardtitles"
>
项目概况与建设规模
</div>
<div
class=
"baseinfo"
>
<div
class=
"baseinfo"
>
<el-input
v-model=
"
textarea"
@
focus=
"nowedit = 9"
class=
"textarea"
type=
"textarea"
placeholder=
"请输入项目概况与建设规模详细信息"
maxlength=
"500"
show-word-limit=
"true"
></el-input>
<el-input
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 btns"
v-if=
"nowedit == 9"
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
>
确定
</div>
<div
class=
"btnsmall btn_primary h28"
@
click=
"changes(
{'projectDetails':projectDetails})"
style="width: 56px">确定
</div>
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
</div>
</div>
</div>
</div>
...
@@ -113,27 +113,27 @@
...
@@ -113,27 +113,27 @@
<span>
评标办法 :
</span>
<span>
评标办法 :
</span>
<div
class=
"inputxt"
>
<div
class=
"inputxt"
>
<div
class=
"flex"
v-if=
"nowedit == 4"
>
<div
class=
"flex"
v-if=
"nowedit == 4"
>
<el-input
placeholder=
"待添加"
></el-input>
<el-input
placeholder=
"待添加"
v-model=
"evaluationBidWay"
></el-input>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
>
确定
</div>
<div
class=
"btnsmall btn_primary h28"
@
click=
"changes(
{'evaluationBidWay':evaluationBidWay})"
style="width: 56px">确定
</div>
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
</div>
</div>
</div>
</div>
<span
class=
"txt"
v-else
@
click=
"nowedit = 4"
>
待添加
</span>
<span
:class=
"
{'txt':!evaluationBidWay}" v-else @click="nowedit = 4">
{{
evaluationBidWay
||
'待添加'
}}
</span>
</div>
</div>
</div>
</div>
<div
class=
"con i"
>
<div
class=
"con i"
>
<span>
开标时间 :
</span>
<span>
开标时间 :
</span>
<div
class=
"inputime"
>
<div
class=
"inputime"
>
<div
class=
"flex"
style=
"opacity: 0;height: 0"
>
<div
class=
"flex"
style=
"opacity: 0;height: 0"
>
<el-date-picker
v-if=
"nowedit == 14"
showWordLimit=
"true
"
<el-date-picker
class=
"timeinput
"
v-model=
"
value1
"
v-model=
"
bidOpenTime
"
type=
"date"
type=
"date"
value-format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
placeholder=
"待添加"
@
change=
"
nowedit = -1
"
>
placeholder=
"待添加"
@
change=
"
changes(
{'bidOpenTime':bidOpenTime})
">
</el-date-picker>
</el-date-picker>
</div>
</div>
<span
:class=
"
{'txt':!
value1}" @click="nowedit = 14">
{{
value1
||
"待添加"
}}
<i
class=
"el-icon-caret-bottom"
></i></span>
<span
:class=
"
{'txt':!
bidOpenTime}">
{{
bidOpenTime
||
"待添加"
}}
<i
class=
"el-icon-caret-bottom"
></i></span>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -142,26 +142,26 @@
...
@@ -142,26 +142,26 @@
<span>
保证金缴纳 :
</span>
<span>
保证金缴纳 :
</span>
<div
class=
"inputxt"
>
<div
class=
"inputxt"
>
<div
class=
"flex"
v-if=
"nowedit == 5"
>
<div
class=
"flex"
v-if=
"nowedit == 5"
>
<el-input
placeholder=
"待添加"
></el-input>
<el-input
placeholder=
"待添加"
v-model=
"earnestMoneyPay"
></el-input>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
>
确定
</div>
<div
class=
"btnsmall btn_primary h28"
@
click=
"changes(
{'earnestMoneyPay':earnestMoneyPay})"
style="width: 56px">确定
</div>
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
</div>
</div>
</div>
</div>
<span
class=
"txt"
v-else
@
click=
"nowedit = 5"
>
待添加
</span>
<span
:class=
"
{'txt':!earnestMoneyPay}" v-else @click="nowedit = 5">
{{
earnestMoneyPay
||
'待添加'
}}
</span>
</div>
</div>
</div>
</div>
<div
class=
"con i"
>
<div
class=
"con i"
>
<span>
保证金金额(万元) :
</span>
<span>
保证金金额(万元) :
</span>
<div
class=
"inputxt"
>
<div
class=
"inputxt"
>
<div
class=
"flex"
v-if=
"nowedit == 6"
>
<div
class=
"flex"
v-if=
"nowedit == 6"
>
<el-input
placeholder=
"待添加"
></el-input>
<el-input
placeholder=
"待添加"
v-model=
"earnestMoney"
></el-input>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
>
确定
</div>
<div
class=
"btnsmall btn_primary h28"
@
click=
"changes(
{'earnestMoney':earnestMoney})"
style="width: 56px">确定
</div>
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
</div>
</div>
</div>
</div>
<span
class=
"txt"
v-else
@
click=
"nowedit = 6"
>
待添加
</span>
<span
:class=
"
{'txt':!earnestMoney}" v-else @click="nowedit = 6">
{{
earnestMoney
||
'待添加'
}}
</span>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -170,26 +170,26 @@
...
@@ -170,26 +170,26 @@
<span>
开标地点 :
</span>
<span>
开标地点 :
</span>
<div
class=
"inputxt"
>
<div
class=
"inputxt"
>
<div
class=
"flex"
v-if=
"nowedit == 7"
>
<div
class=
"flex"
v-if=
"nowedit == 7"
>
<el-input
placeholder=
"待添加"
></el-input>
<el-input
placeholder=
"待添加"
v-model=
"bidOpenPlace"
></el-input>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
>
确定
</div>
<div
class=
"btnsmall btn_primary h28"
@
click=
"changes(
{'bidOpenPlace':bidOpenPlace})"
style="width: 56px">确定
</div>
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
</div>
</div>
</div>
</div>
<span
class=
"txt"
v-else
@
click=
"nowedit = 7"
>
待添加
</span>
<span
:class=
"
{'txt':!bidOpenPlace}" v-else @click="nowedit = 7">
{{
bidOpenPlace
||
'待添加'
}}
</span>
</div>
</div>
</div>
</div>
<div
class=
"con i"
>
<div
class=
"con i"
>
<span>
评标委员会 :
</span>
<span>
评标委员会 :
</span>
<div
class=
"inputxt"
>
<div
class=
"inputxt"
>
<div
class=
"flex"
v-if=
"nowedit == 8"
>
<div
class=
"flex"
v-if=
"nowedit == 8"
>
<el-input
placeholder=
"待添加"
></el-input>
<el-input
placeholder=
"待添加"
v-model=
"evaluationBidCouncil"
></el-input>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
>
确定
</div>
<div
class=
"btnsmall btn_primary h28"
@
click=
"changes(
{'evaluationBidCouncil':evaluationBidCouncil})"
style="width: 56px">确定
</div>
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
<div
class=
"cancels h28"
@
click=
"nowedit = -1"
style=
""
>
取消
</div>
</div>
</div>
</div>
</div>
<span
class=
"txt"
v-else
@
click=
"nowedit = 8"
>
待添加
</span>
<span
:class=
"
{'txt':!evaluationBidCouncil}" v-else @click="nowedit = 8">
{{
evaluationBidCouncil
||
'待添加'
}}
</span>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -200,28 +200,67 @@
...
@@ -200,28 +200,67 @@
<
script
>
<
script
>
import
"@/assets/styles/project.scss"
import
"@/assets/styles/project.scss"
import
{
getJSNR
,
editXMSL
}
from
'@/api/project/project'
export
default
{
export
default
{
name
:
'jsnr'
,
name
:
'jsnr'
,
data
(){
data
(){
return
{
return
{
textarea
:
""
,
nowedit
:
-
1
,
//当前正在编辑的文本
nowedit
:
-
1
,
//当前正在编辑的文本
value1
:
''
,
id
:
parseInt
(
this
.
$route
.
query
.
id
),
money
:
''
,
investmentAmount
:
''
,
//总投资额
amountSource
:
''
,
//资金来源
buildProperty
:
''
,
//建设性质
planBidTime
:
''
,
//计划招标
planStartTime
:
''
,
//计划开工
planCompleteTime
:
''
,
//计划竣工
projectDetails
:
''
,
//项目概况与建设规模
evaluationBidWay
:
''
,
//评标办法
bidOpenTime
:
''
,
//开标时间
bidOpenPlace
:
''
,
//开标地点
earnestMoney
:
''
,
//保证金金额
earnestMoneyPay
:
''
,
//保证金缴纳
evaluationBidCouncil
:
''
,
//评标委员会
}
}
},
},
watch
:{
watch
:{
// nowedit(oldvalue,newvalue){
},
// if (newvalue == 13){
created
(){
// this.$ref.newvalue13.=true
this
.
getJSNR
()
// }
// }
},
},
methods
:{
methods
:{
getJSNR
(){
getJSNR
(
this
.
id
).
then
(
result
=>
{
this
.
investmentAmount
=
result
.
data
.
investmentAmount
//总投资额
this
.
amountSource
=
result
.
data
.
amountSource
//资金来源
this
.
buildProperty
=
result
.
data
.
buildProperty
//建设性质
this
.
planBidTime
=
result
.
data
.
planBidTime
//计划招标
this
.
planStartTime
=
result
.
data
.
planStartTime
//计划开工
this
.
planCompleteTime
=
result
.
data
.
planCompleteTime
//计划竣工
this
.
projectDetails
=
result
.
data
.
projectDetails
//项目概况与建设规模
this
.
evaluationBidWay
=
result
.
data
.
evaluationBidWay
//评标办法
this
.
bidOpenTime
=
result
.
data
.
bidOpenTime
//开标时间
this
.
bidOpenPlace
=
result
.
data
.
bidOpenPlace
//开标地点
this
.
earnestMoney
=
result
.
data
.
earnestMoney
//保证金金额
this
.
earnestMoneyPay
=
result
.
data
.
earnestMoneyPay
//保证金缴纳
this
.
evaluationBidCouncil
=
result
.
data
.
evaluationBidCouncil
//评标委员会
})
},
changes
(
str
){
this
.
nowedit
=
-
1
let
param
=
str
param
.
id
=
this
.
id
editXMSL
(
param
).
then
(
result
=>
{
if
(
result
.
code
==
200
)
this
.
$message
.
success
(
'修改成功'
)
else
{
this
.
getJSNR
()
}
})
},
//输入数字
//输入数字
number
(
value
){
number
(
value
){
console
.
log
(
value
)
console
.
log
(
value
)
this
.
money
=
value
.
replace
(
/^
\D
*
(\d
*
(?:\.\d{0,6})?)
.*$/g
,
'$1'
)
//输入6位小数
this
.
investmentAmount
=
this
.
investmentAmount
==
""
||
this
.
investmentAmount
==
null
?
value
.
replace
(
/^
\D
*
(\d
*
(?:\.\d{0,6})?)
.*$/g
,
'$1'
):
null
//输入6位小数
},
},
}
}
}
}
...
...
dsk-operate-ui/src/views/project/projectList/component/lxr.vue
View file @
8303eb06
...
@@ -13,12 +13,12 @@
...
@@ -13,12 +13,12 @@
<div
class=
"empty"
>
<div
class=
"empty"
>
<img
src=
"@/assets/images/project/empty.png"
>
<img
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
暂无数据展示
</div>
<div
class=
"p1"
>
暂无数据展示
</div>
<div
class=
"p2"
>
抱歉
,
你还未添加相关数据,快去添加吧
</div>
<div
class=
"p2"
>
抱歉
,
你还未添加相关数据,快去添加吧
</div>
<div
class=
"btn btn_primary h36 w102"
@
click=
"opennew"
>
新增联系人
</div>
<div
class=
"btn btn_primary h36 w102"
@
click=
"opennew"
>
新增联系人
</div>
</div>
</div>
</
template
>
</
template
>
<el-table-column
<el-table-column
prop=
"
dat
e"
prop=
"
nam
e"
label=
"姓名"
label=
"姓名"
width=
"113"
>
width=
"113"
>
</el-table-column>
</el-table-column>
...
@@ -27,34 +27,34 @@
...
@@ -27,34 +27,34 @@
label=
"操作"
label=
"操作"
width=
"118"
>
width=
"118"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div
class=
"edit"
>
<div
class=
"edit"
@
click=
"getDetail(scope.row)"
>
<img
src=
"@/assets/images/project/edit.png"
>
<img
src=
"@/assets/images/project/edit.png"
>
<span>
编辑
</span>
<span>
编辑
</span>
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"
nam
e"
prop=
"
rol
e"
label=
"角色"
label=
"角色"
sortable
sortable
width=
"146"
>
width=
"146"
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"
address
"
prop=
"
office
"
label=
"公司/机关"
>
label=
"公司/机关"
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"
name
"
prop=
"
position
"
label=
"职位"
label=
"职位"
width=
"125"
>
width=
"125"
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"
nam
e"
prop=
"
phon
e"
label=
"联系方式"
label=
"联系方式"
width=
"175"
>
width=
"175"
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"
name
"
prop=
"
accendant
"
label=
"内部维护人"
label=
"内部维护人"
width=
"146"
>
width=
"146"
>
</el-table-column>
</el-table-column>
...
@@ -63,11 +63,11 @@
...
@@ -63,11 +63,11 @@
<div
class=
"btn btn_primary h28"
@
click=
"opennew"
><div
class=
"img img1"
></div>
新增联系人
</div>
<div
class=
"btn btn_primary h28"
@
click=
"opennew"
><div
class=
"img img1"
></div>
新增联系人
</div>
<el-pagination
<el-pagination
background
background
:page-size=
"
20
"
:page-size=
"
searchParam.pageSize
"
:current-page=
"
1
"
:current-page=
"
searchParam.pageNum
"
@
current-change=
"handleCurrentChange"
@
current-change=
"handleCurrentChange"
layout=
"prev, pager, next"
layout=
"prev, pager, next"
:total=
"
1000
"
>
:total=
"
total
"
>
</el-pagination>
</el-pagination>
</div>
</div>
</div>
</div>
...
@@ -77,33 +77,30 @@
...
@@ -77,33 +77,30 @@
width=
"464px"
>
width=
"464px"
>
<div
class=
"poptitle"
>
<div
class=
"poptitle"
>
<img
src=
"@/assets/images/economies/icon.png"
>
<img
src=
"@/assets/images/economies/icon.png"
>
<span>
重庆市轨道交通3号线二期工程4标段施工总承包
</span>
<span>
{{projectname}}
</span>
</div>
</div>
<el-form
class=
"popform"
label-width=
"137px"
>
<el-form
class=
"popform"
label-width=
"137px"
>
<el-form-item
label=
"联系人姓名:"
class=
"row"
>
<el-form-item
label=
"联系人姓名:"
class=
"row"
>
<el-input
type=
"text"
placeholder=
"请输入"
></el-input>
<el-input
type=
"text"
v-model=
"queryParam.name"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"联系人角色:"
class=
"row"
>
<el-form-item
label=
"联系人角色:"
class=
"row"
>
<el-select
placeholder=
"请选择"
>
<el-input
type=
"text"
v-model=
"queryParam.role"
placeholder=
"请输入"
></el-input>
<el-option
label=
"cccc"
value=
"11"
></el-option>
<el-option
label=
"cccc"
value=
"121"
></el-option>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"联系人职位:"
class=
"row"
>
<el-form-item
label=
"联系人职位:"
class=
"row"
>
<el-input
type=
"text"
placeholder=
"请输入"
></el-input>
<el-input
type=
"text"
v-model=
"queryParam.position"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"联系人公司/机关:"
class=
"row"
>
<el-form-item
label=
"联系人公司/机关:"
class=
"row"
>
<el-input
type=
"text"
placeholder=
"请输入"
></el-input>
<el-input
type=
"text"
v-model=
"queryParam.office"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"内部维护人:"
class=
"row"
>
<el-form-item
label=
"内部维护人:"
class=
"row"
>
<el-input
type=
"text"
placeholder=
"请输入"
></el-input>
<el-input
type=
"text"
v-model=
"queryParam.accendant"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"联系方式:"
class=
"row"
>
<el-form-item
label=
"联系方式:"
class=
"row"
>
<el-input
type=
"text"
placeholder=
"请输入"
></el-input>
<el-input
type=
"text"
v-model=
"queryParam.phone"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<div
class=
"popbot"
>
<div
class=
"popbot"
>
<div
class=
"btn btn_cancel h32"
@
click=
"cancel"
>
返回
</div>
<div
class=
"btn btn_cancel h32"
@
click=
"cancel"
>
返回
</div>
<div
class=
"btn btn_primary h32"
>
保存
</div>
<div
class=
"btn btn_primary h32"
@
click=
"save"
>
保存
</div>
</div>
</div>
</el-form>
</el-form>
</el-dialog>
</el-dialog>
...
@@ -113,40 +110,68 @@
...
@@ -113,40 +110,68 @@
<
script
>
<
script
>
import
"@/assets/styles/project.scss"
import
"@/assets/styles/project.scss"
import
{
getLXR
,
editLXR
,
addLXR
}
from
'@/api/project/project'
export
default
{
export
default
{
name
:
'lxr'
,
name
:
'lxr'
,
data
(){
data
(){
return
{
return
{
dialogVisible
:
false
,
dialogVisible
:
false
,
isnew
:
true
,
//是否新增
textarea
:
""
,
textarea
:
""
,
nowedit
:
-
1
,
//当前正在编辑的文本
nowedit
:
-
1
,
//当前正在编辑的文本
tipslit
:[],
//项目标签
tipslit
:[],
//项目标签
tipsvalue
:
""
,
//标签填写内容
tipsvalue
:
""
,
//标签填写内容
tableData
:
[
tableData
:
[],
{
searchParam
:{
date
:
'2016-05-02'
,
pageNum
:
1
,
name
:
'王小虎'
,
pageSize
:
20
,
address
:
'上海市普陀区金沙江路 1518 弄'
businessId
:
this
.
$route
.
query
.
id
},
{
},
date
:
'2016-05-04'
,
id
:
this
.
$route
.
query
.
id
,
name
:
'王小虎'
,
total
:
0
,
address
:
'上海市普陀区金沙江路 1517 弄'
projectname
:
this
.
$route
.
query
.
projectname
,
},
{
queryParam
:[],
date
:
'2016-05-01'
,
name
:
'王小虎'
,
address
:
'上海市普陀区金沙江路 1519 弄'
},
{
date
:
'2016-05-03'
,
name
:
'王小虎'
,
address
:
'上海市普陀区金沙江路 1516 弄'
}
]
}
}
},
},
created
(){
this
.
getList
()
},
methods
:{
methods
:{
getDetail
(
item
){
this
.
dialogVisible
=
true
this
.
queryParam
=
item
this
.
isnew
=
false
},
getList
(){
getLXR
(
this
.
searchParam
).
then
(
result
=>
{
this
.
tableData
=
result
.
code
==
200
?
result
.
rows
:[]
this
.
total
=
result
.
code
==
200
?
result
.
total
:
0
})
},
save
(){
if
(
this
.
isnew
==
false
){
editLXR
(
this
.
queryParam
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
'保存成功!'
)
this
.
getList
()
this
.
dialogVisible
=
false
}
})
}
if
(
this
.
isnew
==
true
){
addLXR
(
this
.
queryParam
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
'新增成功!'
)
this
.
getList
()
this
.
dialogVisible
=
false
}
})
}
},
//翻页
//翻页
handleCurrentChange
(
val
)
{
handleCurrentChange
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
searchParam
.
pageNum
=
val
this
.
getList
()
},
},
cancel
(){
cancel
(){
this
.
dialogVisible
=
false
this
.
dialogVisible
=
false
...
@@ -154,6 +179,16 @@
...
@@ -154,6 +179,16 @@
//打开新建窗口
//打开新建窗口
opennew
(){
opennew
(){
this
.
dialogVisible
=
true
this
.
dialogVisible
=
true
this
.
isnew
=
true
this
.
queryParam
=
{
businessId
:
this
.
id
,
name
:
""
,
role
:
""
,
office
:
""
,
position
:
""
,
phone
:
""
,
accendant
:
""
,
}
},
},
}
}
}
}
...
...
dsk-operate-ui/src/views/project/projectList/component/xgqy.vue
View file @
8303eb06
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
<div
class=
"empty"
>
<div
class=
"empty"
>
<img
src=
"@/assets/images/project/empty.png"
>
<img
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
暂无数据展示
</div>
<div
class=
"p1"
>
暂无数据展示
</div>
<div
class=
"p2"
>
抱歉
,
你还未添加相关数据,快去添加吧
</div>
<div
class=
"p2"
>
抱歉
,
你还未添加相关数据,快去添加吧
</div>
<div
class=
"btn btn_primary h36 w102"
@
click=
"opennew"
>
新增联系人
</div>
<div
class=
"btn btn_primary h36 w102"
@
click=
"opennew"
>
新增联系人
</div>
</div>
</div>
</
template
>
</
template
>
...
...
dsk-operate-ui/src/views/project/projectList/component/xmsl.vue
View file @
8303eb06
...
@@ -169,8 +169,12 @@
...
@@ -169,8 +169,12 @@
<
script
>
<
script
>
import
"@/assets/styles/project.scss"
import
"@/assets/styles/project.scss"
import
{
getDictType
,}
from
'@/api/main'
import
{
getDictType
,}
from
'@/api/main'
import
{}
from
'@/api/project/project'
export
default
{
export
default
{
name
:
'xmsl'
,
name
:
'xmsl'
,
props
:{
datas
:
''
,
},
data
(){
data
(){
return
{
return
{
nowedit
:
-
1
,
//当前正在编辑的文本
nowedit
:
-
1
,
//当前正在编辑的文本
...
@@ -178,10 +182,10 @@
...
@@ -178,10 +182,10 @@
tipsvalue
:
""
,
//标签填写内容
tipsvalue
:
""
,
//标签填写内容
xmjd
:
'待添加'
,
xmjd
:
'待添加'
,
projectStage
:[],
//项目阶段
projectStage
:[],
//项目阶段
sldata
:
this
.
datas
,
}
}
},
},
created
(){
created
(){
//项目阶段
//项目阶段
getDictType
(
'project_stage_type'
).
then
(
result
=>
{
getDictType
(
'project_stage_type'
).
then
(
result
=>
{
this
.
projectStage
=
result
.
code
==
200
?
result
.
data
:[]
this
.
projectStage
=
result
.
code
==
200
?
result
.
data
:[]
...
...
dsk-operate-ui/src/views/project/projectList/component/zlwd.vue
View file @
8303eb06
...
@@ -49,7 +49,7 @@
...
@@ -49,7 +49,7 @@
<div
class=
"empty"
>
<div
class=
"empty"
>
<img
src=
"@/assets/images/project/empty.png"
>
<img
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
暂无数据展示
</div>
<div
class=
"p1"
>
暂无数据展示
</div>
<div
class=
"p2"
>
抱歉
,
你还未添加相关数据,快去添加吧
</div>
<div
class=
"p2"
>
抱歉
,
你还未添加相关数据,快去添加吧
</div>
<div
class=
"btn btn_primary h36 w102"
@
click=
"opennew"
>
新增联系人
</div>
<div
class=
"btn btn_primary h36 w102"
@
click=
"opennew"
>
新增联系人
</div>
</div>
</div>
</
template
>
</
template
>
...
...
dsk-operate-ui/src/views/project/projectList/detail.vue
View file @
8303eb06
...
@@ -103,7 +103,7 @@
...
@@ -103,7 +103,7 @@
</div>
</div>
</el-card>
</el-card>
<!--项目概览-->
<!--项目概览-->
<xmsl
v-if=
"thistag == 'xmsl'"
></xmsl>
<xmsl
v-if=
"thistag == 'xmsl'"
:datas=
"ProjectData"
></xmsl>
<!--建设内容-->
<!--建设内容-->
<jsnr
v-if=
"thistag == 'jsnr'"
></jsnr>
<jsnr
v-if=
"thistag == 'jsnr'"
></jsnr>
<!--联系人-->
<!--联系人-->
...
@@ -132,6 +132,7 @@
...
@@ -132,6 +132,7 @@
import
zlwd
from
'./component/zlwd.vue'
import
zlwd
from
'./component/zlwd.vue'
import
xgqy
from
'./component/xgqy.vue'
import
xgqy
from
'./component/xgqy.vue'
import
prvinceTree
from
'@/assets/json/provinceTree'
import
prvinceTree
from
'@/assets/json/provinceTree'
import
{
getXMSL
}
from
'@/api/project/project'
export
default
{
export
default
{
name
:
'detail'
,
name
:
'detail'
,
components
:
{
xmsl
,
jsnr
,
lxr
,
gjjl
,
gzdb
,
zlwd
,
xgqy
},
components
:
{
xmsl
,
jsnr
,
lxr
,
gjjl
,
gzdb
,
zlwd
,
xgqy
},
...
@@ -161,10 +162,13 @@
...
@@ -161,10 +162,13 @@
addressList
:[],
addressList
:[],
domicile
:[],
domicile
:[],
props
:{
checkStrictly
:
true
,
expandTrigger
:
'hover'
},
props
:{
checkStrictly
:
true
,
expandTrigger
:
'hover'
},
id
:
''
,
ProjectData
:
null
,
}
}
},
},
created
(){
created
(){
this
.
prvinceTree
()
this
.
prvinceTree
()
this
.
id
=
this
.
$route
.
query
.
id
//项目阶段
//项目阶段
getDictType
(
'project_stage_type'
).
then
(
result
=>
{
getDictType
(
'project_stage_type'
).
then
(
result
=>
{
this
.
projectStage
=
result
.
code
==
200
?
result
.
data
:[]
this
.
projectStage
=
result
.
code
==
200
?
result
.
data
:[]
...
@@ -177,6 +181,12 @@
...
@@ -177,6 +181,12 @@
getDictType
(
'project_category'
).
then
(
result
=>
{
getDictType
(
'project_category'
).
then
(
result
=>
{
this
.
projectCategory
=
result
.
code
==
200
?
result
.
data
:[]
this
.
projectCategory
=
result
.
code
==
200
?
result
.
data
:[]
})
})
//获取基本信息
getXMSL
(
this
.
id
).
then
(
result
=>
{
this
.
ProjectData
=
result
.
code
==
200
?
result
.
data
:[]
this
.
$route
.
query
.
projectname
=
result
.
data
.
projectName
})
},
},
methods
:
{
methods
:
{
//地区
//地区
...
...
dsk-operate-ui/src/views/project/projectList/index.vue
View file @
8303eb06
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<el-card
class=
"box-card noborder"
>
<el-card
class=
"box-card noborder"
>
<div
class=
"btns"
>
<div
class=
"btns"
>
<div
class=
"btn btn_default h28"
@
click=
"addNew(true)"
><div
class=
"img img1"
></div>
新建项目商机
</div>
<div
class=
"btn btn_default h28"
@
click=
"addNew(true)"
><div
class=
"img img1"
></div>
新建项目商机
</div>
<div
class=
"btn btn_primary h28"
><div
class=
"img img2"
></div>
批量导入
</div>
<div
class=
"btn btn_primary h28"
@
click=
"pldrs"
><div
class=
"img img2"
></div>
批量导入
</div>
</div>
</div>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
class=
"tabpane w100"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
class=
"tabpane w100"
>
<el-tab-pane
label=
"我参与的项目"
name=
"first"
></el-tab-pane>
<el-tab-pane
label=
"我参与的项目"
name=
"first"
></el-tab-pane>
...
@@ -19,8 +19,8 @@
...
@@ -19,8 +19,8 @@
地区团队
地区团队
</span>
</span>
<div
class=
"select-popper"
>
<div
class=
"select-popper"
>
<span
:class=
"
{ color_text:searchParam.province
.length ||searchParam.city.length ||searchParam.area
.length,}">
<span
:class=
"
{ color_text:searchParam.province
Id.length ||searchParam.cityId.length ||searchParam.districtId
.length,}">
项目地区
{{
searchParam
.
province
.
length
||
searchParam
.
city
.
length
||
searchParam
.
area
.
length
?
searchParam
.
province
.
length
+
searchParam
.
city
.
length
+
searchParam
.
area
.
length
+
"项"
:
""
}}
项目地区
{{
searchParam
.
province
Id
.
length
||
searchParam
.
cityId
.
length
||
searchParam
.
districtId
.
length
?
searchParam
.
provinceId
.
length
+
searchParam
.
cityId
.
length
+
searchParam
.
districtId
.
length
+
"项"
:
""
}}
<i
class=
"el-icon-caret-bottom"
></i>
<i
class=
"el-icon-caret-bottom"
></i>
</span>
</span>
<el-cascader
class=
"cascader-region select-location"
<el-cascader
class=
"cascader-region select-location"
...
@@ -98,14 +98,23 @@
...
@@ -98,14 +98,23 @@
<el-card
class=
"box-card noborder overflows"
>
<el-card
class=
"box-card noborder overflows"
>
<div
class=
"titles"
>
项目明细
<div
class=
"titles"
>
项目明细
<div
class=
"dc"
>
<div
class=
"dc"
>
<div
class=
"total"
>
共
126
条
</div>
<div
class=
"total"
>
共
{{
total
}}
条
</div>
<div
class=
"btn-export"
><img
src=
"@/assets/images/EXCEL.png"
>
导出EXCEL
</div>
<div
class=
"btn-export"
><img
src=
"@/assets/images/EXCEL.png"
>
导出EXCEL
</div>
</div>
</div>
</div>
</div>
<div
class=
"tables"
v-if=
"total == 0"
>
<div
class=
"empty"
>
<img
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
添加你的第一个项目吧
</div>
<div
class=
"p2"
>
抱歉,你还未添加项目,快去添加吧
</div>
<div
class=
"btn btn_primary h36 w88"
@
click=
"addNew(true)"
>
新建商机
</div>
<div
class=
"btn btn_primary btn_shallow h36 w88"
@
click=
"pldrs"
>
批量导入
</div>
</div>
</div>
<div
class=
"datalist"
>
<div
class=
"datalist"
>
<div
class=
"datali"
>
<div
class=
"datali"
v-for=
"(item,index) in datalist"
>
<div
class=
"det-title"
@
click=
"toDetail(
)"
>
轨道交通13号线扩能提升工程
<span
class=
"people"
><i>
A
</i>
四川-李丽
<font
color=
"#FA8A00
"
>
正在跟进
</font></span></div>
<div
class=
"det-title"
@
click=
"toDetail(
item.id)"
>
{{
item
.
projectName
}}
<span
v-if=
"activeName!='first'"
class=
"people"
><i>
A
</i>
四川-李丽
<font
color=
"#FA8A00"
v-if=
"activeName!='first'
"
>
正在跟进
</font></span></div>
<div
class=
"det-tips"
><span
class=
"tips tip1"
>
轨道交通
</span><span
class=
"tips tip2"
>
江西省-南昌市
</span></div>
<div
class=
"det-tips"
><span
class=
"tips tip1"
v-if=
"item.label"
>
{{
item
.
label
}}
</span><span
v-if=
"item.address"
class=
"tips tip2"
>
{{
item
.
address
}}
</span></div>
<div
class=
"det-contets"
>
<div
class=
"det-contets"
>
<div
class=
"det-con"
>
<div
class=
"det-con"
>
<span>
项目类型:
</span>
<span>
项目类型:
</span>
...
@@ -113,35 +122,48 @@
...
@@ -113,35 +122,48 @@
</div>
</div>
<div
class=
"det-con"
>
<div
class=
"det-con"
>
<span>
投资估算(万元):
</span>
<span>
投资估算(万元):
</span>
<span>
21
</span>
<span>
{{
item
.
investmentAmount
}}
</span>
</div>
</div>
<div
class=
"det-con"
>
<div
class=
"det-con"
>
<span>
最后跟进时间:
</span>
<span>
最后跟进时间:
</span>
<span>
2013-02-19
</span>
<span>
{{
item
.
followTime
||
'--'
}}
</span>
</div>
</div>
<div
class=
"det-con"
>
<div
class=
"det-con"
>
<span>
业主单位:
</span>
<span>
业主单位:
</span>
<span
class=
"wordprimary"
>
重庆市交通开发投资(集团)有限公司
</span>
<span
class=
"wordprimary"
>
{{
item
.
ownerCompany
}}
</span>
</div>
</div>
</div>
</div>
<el-divider></el-divider>
<el-divider></el-divider>
<div
class=
"operates"
>
<div
class=
"operates"
v-if=
"activeName=='first'"
>
<div
class=
"i1"
><img
src=
"@/assets/images/follow.png"
>
跟进
</div>
<div
class=
"i1"
><img
src=
"@/assets/images/follow.png"
>
跟进
</div>
<div
class=
"i2"
><img
src=
"@/assets/images/edit.png"
>
编辑
</div>
<div
class=
"i2"
><img
src=
"@/assets/images/edit.png"
>
编辑
</div>
<div
class=
"i3"
><img
src=
"@/assets/images/delete.png"
>
删除
</div>
<div
class=
"i3"
@
click=
"deldetail(index)"
><img
src=
"@/assets/images/delete.png"
>
删除
</div>
</div>
</div>
<div
class=
"delform"
>
<div
class=
"delform"
v-if=
"activeName=='first' && ondel == index"
>
<div
class=
"words"
>
是否将项目删除
</div>
<div
class=
"words"
>
是否将项目删除
</div>
<div>
<div>
<div
class=
"btnsmall btn_primary h28"
>
确定
</div>
<div
class=
"btnsmall btn_primary h28"
@
click=
"deleteProject(item.id)"
>
确定
</div>
<div
class=
"btnsmall btn_cancel h28"
>
取消
</div>
<div
class=
"btnsmall btn_cancel h28"
@
click=
"ondel = -1"
>
取消
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"tables"
>
<div
class=
"bottems"
v-if=
"total>0"
>
<el-pagination
background
:page-size=
"searchParam.pageSize"
:current-page=
"searchParam.pageNum"
@
current-change=
"handleCurrentChange"
layout=
"prev, pager, next"
:total=
"total"
>
</el-pagination>
</div>
</div>
</el-card>
</el-card>
<addproject
v-if=
"isshow"
@
addproject=
"add"
@
cancel=
"addNew"
></addproject>
<addproject
v-if=
"isshow"
@
addproject=
"add"
@
cancel=
"addNew"
></addproject>
<batchimport
v-if=
"pldr"
:importtype=
"types"
@
cancels=
"cancelimport"
@
getdatas=
"getdatas"
></batchimport>
</div>
</div>
</
template
>
</
template
>
...
@@ -149,18 +171,21 @@
...
@@ -149,18 +171,21 @@
import
"@/assets/styles/project.scss"
import
"@/assets/styles/project.scss"
import
"@/assets/styles/public.css"
import
"@/assets/styles/public.css"
import
prvinceTree
from
'@/assets/json/provinceTree'
import
prvinceTree
from
'@/assets/json/provinceTree'
import
{
getProjectlist
}
from
'@/api/project/project'
import
{
getProjectlist
,
delProject
}
from
'@/api/project/project'
import
{
getDictType
,}
from
'@/api/main'
import
{
getDictType
,}
from
'@/api/main'
import
addproject
from
'./component/addProject'
import
addproject
from
'./component/addProject'
import
batchimport
from
'./component/batchImport'
export
default
{
export
default
{
name
:
'ProjectList'
,
name
:
'ProjectList'
,
components
:{
addproject
},
components
:{
addproject
,
batchimport
},
data
()
{
data
()
{
return
{
return
{
types
:
'project'
,
props
:{
multiple
:
true
},
props
:{
multiple
:
true
},
activeName
:
'first'
,
activeName
:
'first'
,
projectStage
:[],
//项目阶段
projectStage
:[],
//项目阶段
isshow
:
false
,
//新增商机
isshow
:
false
,
//新增商机
pldr
:
false
,
//批量导入
//项目地区
//项目地区
addressList
:[],
addressList
:[],
addressType
:
[],
addressType
:
[],
...
@@ -168,6 +193,7 @@ export default {
...
@@ -168,6 +193,7 @@ export default {
minAmount
:
''
,
//投资估算最小值
minAmount
:
''
,
//投资估算最小值
maxAmount
:
''
,
//投资估算最大值
maxAmount
:
''
,
//投资估算最大值
searchParam
:
{
searchParam
:
{
userId
:
null
,
//个人项目需传,公司项目不传
projectName
:
''
,
//项目名称
projectName
:
''
,
//项目名称
ownerCompany
:
''
,
//业主单位
ownerCompany
:
''
,
//业主单位
projectType
:
''
,
//项目类型
projectType
:
''
,
//项目类型
...
@@ -175,9 +201,9 @@ export default {
...
@@ -175,9 +201,9 @@ export default {
minAmount
:
''
,
//投资估算最小值
minAmount
:
''
,
//投资估算最小值
maxAmount
:
''
,
//投资估算最大值
maxAmount
:
''
,
//投资估算最大值
Amount
:
''
,
//投资估算
Amount
:
''
,
//投资估算
province
:
[],
province
Id
:
[],
city
:
[],
city
Id
:
[],
area
:
[],
districtId
:
[],
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
10
,
pageSize
:
10
,
},
},
...
@@ -204,6 +230,9 @@ export default {
...
@@ -204,6 +230,9 @@ export default {
],
],
contractSignTimeValue
:
""
,
contractSignTimeValue
:
""
,
transactionPriceShowPopper
:
false
,
transactionPriceShowPopper
:
false
,
datalist
:[],
//列表数据
ondel
:
-
1
,
total
:
0
,
}
}
},
},
created
()
{
created
()
{
...
@@ -223,17 +252,55 @@ export default {
...
@@ -223,17 +252,55 @@ export default {
})
})
},
},
methods
:
{
methods
:
{
deldetail
(
index
){
this
.
ondel
=
index
},
deleteProject
(
id
){
delProject
(
id
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
'删除成功!'
)
this
.
getList
(
1
)
this
.
ondel
=
-
1
}
else
{
this
.
$message
.
error
(
result
.
msg
)
}
})
},
getdatas
(){
this
.
getList
(
1
)
},
cancelimport
(){
this
.
pldr
=
false
},
pldrs
(){
this
.
pldr
=
true
},
//获取商机列表
//获取商机列表
getList
(
pageNum
){
getList
(
pageNum
){
this
.
searchParam
.
pageNum
=
pageNum
this
.
searchParam
.
pageNum
=
pageNum
console
.
log
(
this
.
searchParam
)
if
(
this
.
activeName
==
'first'
){
// return false
this
.
searchParam
.
userId
=
this
.
$store
.
state
.
user
.
userId
}
else
{
this
.
searchParam
.
userId
=
null
}
getProjectlist
(
this
.
searchParam
).
then
(
result
=>
{
getProjectlist
(
this
.
searchParam
).
then
(
result
=>
{
console
.
log
(
result
)
if
(
result
.
code
==
200
){
this
.
datalist
=
result
.
rows
this
.
total
=
result
.
total
this
.
datalist
.
forEach
(
item
=>
{
let
str
=
item
.
provinceName
if
(
item
.
cityName
!=
""
&&
item
.
cityName
!=
null
)
str
+=
'-'
+
item
.
cityName
if
(
item
.
districtName
!=
""
&&
item
.
districtName
!=
null
)
str
+=
'-'
+
item
.
districtName
item
.
address
=
str
})
}
})
})
},
},
reset
(){
reset
(){
this
.
searchParam
=
{
this
.
searchParam
=
{
userId
:
null
,
projectName
:
''
,
//项目名称
projectName
:
''
,
//项目名称
ownerCompany
:
''
,
//业主单位
ownerCompany
:
''
,
//业主单位
projectType
:
''
,
//项目类型
projectType
:
''
,
//项目类型
...
@@ -241,9 +308,9 @@ export default {
...
@@ -241,9 +308,9 @@ export default {
minAmount
:
''
,
//投资估算最小值
minAmount
:
''
,
//投资估算最小值
maxAmount
:
''
,
//投资估算最大值
maxAmount
:
''
,
//投资估算最大值
Amount
:
''
,
//投资估算
Amount
:
''
,
//投资估算
province
:
[],
province
Id
:
[],
city
:
[],
city
Id
:
[],
area
:
[],
districtId
:
[],
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
10
,
pageSize
:
10
,
}
}
...
@@ -287,9 +354,8 @@ export default {
...
@@ -287,9 +354,8 @@ export default {
this
.
isshow
=
false
this
.
isshow
=
false
this
.
getList
(
1
)
this
.
getList
(
1
)
},
},
toDetail
(){
toDetail
(
id
){
let
Id
=
'111'
this
.
$router
.
push
({
path
:
'/project/projectList/detail'
,
query
:
{
id
:
id
}
});
this
.
$router
.
push
({
path
:
'/project/projectList/detail'
,
query
:
Id
});
},
},
handleClick
(){
handleClick
(){
...
@@ -299,27 +365,27 @@ export default {
...
@@ -299,27 +365,27 @@ export default {
// var labelString = this.$refs.myCascader.getCheckedNodes()[0].pathLabels;
// var labelString = this.$refs.myCascader.getCheckedNodes()[0].pathLabels;
let
arr
=
this
.
$refs
.
myCascader
.
getCheckedNodes
();
let
arr
=
this
.
$refs
.
myCascader
.
getCheckedNodes
();
// console.log(arr)
// console.log(arr)
let
province
=
[],
let
province
Id
=
[],
city
=
[],
city
Id
=
[],
area
=
[];
districtId
=
[];
this
.
domicile
=
[];
this
.
domicile
=
[];
for
(
var
i
in
arr
)
{
for
(
var
i
in
arr
)
{
if
(
arr
[
i
].
parent
)
{
if
(
arr
[
i
].
parent
)
{
if
(
!
arr
[
i
].
parent
.
checked
)
{
if
(
!
arr
[
i
].
parent
.
checked
)
{
arr
[
i
].
hasChildren
&&
city
.
push
(
arr
[
i
].
value
);
arr
[
i
].
hasChildren
&&
city
Id
.
push
(
arr
[
i
].
value
);
arr
[
i
].
hasChildren
&&
this
.
domicile
.
push
(
arr
[
i
].
label
);
arr
[
i
].
hasChildren
&&
this
.
domicile
.
push
(
arr
[
i
].
label
);
!
arr
[
i
].
hasChildren
&&
area
.
push
(
arr
[
i
].
value
);
!
arr
[
i
].
hasChildren
&&
districtId
.
push
(
arr
[
i
].
value
);
!
arr
[
i
].
hasChildren
&&
this
.
domicile
.
push
(
arr
[
i
].
label
);
!
arr
[
i
].
hasChildren
&&
this
.
domicile
.
push
(
arr
[
i
].
label
);
}
}
}
else
{
}
else
{
province
.
push
(
arr
[
i
].
value
);
province
Id
.
push
(
arr
[
i
].
value
);
this
.
domicile
.
push
(
arr
[
i
].
label
);
this
.
domicile
.
push
(
arr
[
i
].
label
);
}
}
}
}
var
obj
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
searchParam
));
var
obj
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
searchParam
));
obj
.
province
=
province
;
obj
.
province
Id
=
provinceId
;
obj
.
city
=
city
;
obj
.
city
Id
=
cityId
;
obj
.
area
=
area
;
obj
.
districtId
=
districtId
;
this
.
searchParam
=
obj
;
this
.
searchParam
=
obj
;
},
},
...
@@ -358,6 +424,11 @@ export default {
...
@@ -358,6 +424,11 @@ export default {
this
.
searchParam
=
obj
;
this
.
searchParam
=
obj
;
}
}
},
},
//翻页
handleCurrentChange
(
val
)
{
this
.
getList
(
val
)
},
}
}
}
}
</
script
>
</
script
>
...
@@ -542,4 +613,7 @@ export default {
...
@@ -542,4 +613,7 @@ export default {
padding
:
0
;
padding
:
0
;
}
}
}
}
.btn
{
padding
:
0
12px
;
}
</
style
>
</
style
>
dsk-operate-ui/src/views/radar/bxprozbgg/details.vue
0 → 100644
View file @
8303eb06
<
template
>
<div
class=
"app-container qyzx-details"
>
<div
class=
"bottomlist"
>
<ul
class=
"bottomlist-content"
>
<li
class=
"bottomlist-list"
>
<p
class=
"list-titel"
>
绿色节能型压缩机基础件、汽车零配件新建项目 (芜湖旭日机械制造有限公司)
</p>
<div
class=
"list-content"
>
<p
class=
"list-content-text"
>
<span>
发布日期:
</span>
<span>
2014-05-12
</span>
</p>
<p
class=
"list-content-text"
>
<span>
开标时间:
</span>
<span
class=
'text-red'
>
2014-05-12 9:00
</span>
</p>
</div>
<div
class=
"list-content-img"
@
mouseenter=
"showimg=false"
@
mouseleave=
"showimg=true"
>
<img
v-if=
"showimg"
src=
"@/assets/images/bxpro/original1.png"
>
<img
v-else
src=
"@/assets/images/bxpro/original.png"
>
<span>
原文链接
</span>
</div>
</li>
</ul>
</div>
<div
class=
"content main3 main4"
>
<div
class=
"common-title common-title1 clearfix"
>
<span
class=
"common-title-span"
>
附件下载
</span>
<div
class=
"common-title-list"
>
<p>
<img
src=
"@/assets/images/bxpro/pdf.png"
alt=
""
>
<span>
竞争对手
</span>
</p>
<p>
<img
src=
"@/assets/images/bxpro/pdf.png"
alt=
""
>
<span>
项目简析
</span>
</p>
<p>
<img
src=
"@/assets/images/bxpro/pdf.png"
alt=
""
>
<span>
成本分析
</span>
</p>
<p>
<img
src=
"@/assets/images/bxpro/pdf.png"
alt=
""
>
<span>
招标文件
</span>
</p>
</div>
</div>
</div>
<div
class=
"content main3"
>
<div
class=
"common-title"
>
基本信息
</div>
<div
class=
"main3-box"
>
<p>
<label
class=
"label"
>
工程类型
</label>
<span>
1.36倍
</span>
<label
class=
"label"
>
工程类别
</label>
<span>
1.36倍
</span>
</p>
<p>
<label
class=
"label"
>
项目投资额(万元)
</label>
<span
>
1.36倍
</span>
<label
class=
"label"
>
招标控制价/合同 估算价(万元)
</label>
<span>
1.36倍
</span>
</p>
<p>
<label
class=
"label"
>
建安费暂估(万元)
</label>
<span
>
1.36倍
</span>
<label
class=
"label"
>
勘察费暂估(万元)
</label>
<span>
1.36倍
</span>
</p>
<p>
<label
class=
"label"
>
设计费暂估(万元)
</label>
<span>
1.36倍
</span>
<label
class=
"label"
>
投标保证金(万元)
</label>
<span>
1.36倍
</span>
</p>
<p>
<label
class=
"label"
>
计划工期
</label>
<span>
1.36倍
</span>
<label
class=
"label"
>
项目属地
</label>
<span>
1.36倍
</span>
</p>
<p>
<label
class=
"label"
>
发布时间
</label>
<span>
1.36倍
</span>
<label
class=
"label"
>
开标时间
</label>
<span
class=
"color1"
>
1.36倍
</span>
</p>
<p>
<label
class=
"label"
>
评标办法
</label>
<span>
1.36倍
</span>
<label
class=
"label"
>
项目级别
</label>
<span>
1.36倍
</span>
</p>
<p>
<label
class=
"label"
>
建设规模
</label>
<span
class=
"span-one"
>
1.36倍
</span>
</p>
<p>
<label
class=
"label"
>
招标范围
</label>
<span
class=
"span-one"
>
1.36倍
</span>
</p>
<p>
<label
class=
"label"
>
保证金缴纳方式
</label>
<span>
1.36倍
</span>
<label
class=
"label"
>
开标地点
</label>
<span>
1.36倍
</span>
</p>
<p>
<label
class=
"label"
>
建设地点
</label>
<span>
1.36倍
</span>
<label
class=
"label"
>
资金来源
</label>
<span>
1.36倍
</span>
</p>
<p>
<label
class=
"label"
>
评标委员会
</label>
<span
class=
"span-one"
>
1.36倍
</span>
</p>
<p>
<label
class=
"label"
>
履约保证金 (形式 及金额)
</label>
<span
class=
"span-one"
>
1.36倍
</span>
</p>
</div>
</div>
<div
class=
"content main3"
>
<div
class=
"common-title"
>
投标要求
</div>
<div
class=
"main3-box"
>
<p>
<label
class=
"label"
>
资质要求
</label>
<span
class=
"span-one"
>
1.36倍
</span>
</p>
<p>
<label
class=
"label"
>
业绩要求
</label>
<span
class=
"span-one"
>
1.36倍
</span>
</p>
<p>
<label
class=
"label"
>
项目负责人要求
</label>
<span
class=
"span-one"
>
1.36倍
</span>
</p>
</div>
</div>
<div
class=
"content main3"
>
<div
class=
"common-title"
>
相关企业
</div>
<div
class=
"main3-box"
>
<p>
<label
class=
"label"
>
招标人
</label>
<span
class=
"color2"
>
1.36倍
</span>
<label
class=
"label"
>
代理机构
</label>
<span
class=
"color2"
>
1.36倍
</span>
</p>
<p>
<label
class=
"label"
>
招标人联系方式
</label>
<span>
1.36倍
</span>
<label
class=
"label"
>
招标人联系地址
</label>
<span>
1.36倍
</span>
</p>
<p>
<label
class=
"label"
>
代理机构联系方式
</label>
<span>
1.36倍
</span>
<label
class=
"label"
>
代理机构联系地址
</label>
<span>
1.36倍
</span>
</p>
</div>
</div>
</div>
</
template
>
<
script
>
import
"@/assets/styles/public.css"
;
export
default
{
name
:
'bxprozbggDetails'
,
data
()
{
return
{
id
:
''
,
tableData
:
[{
id
:
0
,
name
:
'20重庆债14(2005938)'
,
time
:
'2020-09-18'
,
gm
:
'285.24'
,
zj
:
'否'
,
}],
showimg
:
true
,
}
},
created
()
{
console
.
log
(
this
.
$route
.
params
)
this
.
id
=
this
.
$route
.
params
.
id
},
methods
:
{
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.bottomlist
{
width
:
100%
;
background-color
:
#FFFFFF
;
border-radius
:
4px
4px
4px
4px
;
.bottomlist-title
{
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
margin-top
:
12px
;
padding
:
16px
;
border-bottom
:
1px
solid
#EFEFEF
;
.title-right
{
display
:
flex
;
align-items
:
center
;
p
:first-child
{
font-size
:
12px
;
font-weight
:
400
;
color
:
#3D3D3D
;
margin-right
:
10px
;
}
p
:last-child
{
display
:
flex
;
align-items
:
center
;
font-size
:
14px
;
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
}
img
{
width
:
18px
;
height
:
18px
;
}
}
}
.bottomlist-content
{
padding-bottom
:
0px
;
}
.bottomlist-list
{
padding
:
16px
;
font-size
:
14px
;
border-bottom
:
1px
solid
#EFEFEF
;
padding-bottom
:
14px
;
position
:
relative
;
.list-titel
{
font-size
:
16px
;
font-weight
:
700
;
color
:
#3D3D3D
;
line-height
:
19px
;
.list-titel-a
{
text-decoration
:
none
;
color
:
#3D3D3D
;
}
a
:hover
,
a
:visited
,
a
:link
,
a
:active
{
color
:
#3D3D3D
;
}
}
.content-label
{
margin-top
:
7px
;
.list-label
{
background
:
#F3F3FF
;
color
:
#8491E8
;
border-radius
:
1px
1px
1px
1px
;
padding
:
3px
7px
;
font-size
:
12px
;
}
}
.list-content
{
margin-top
:
3px
;
display
:
flex
;
justify-content
:
start
;
align-items
:
center
;
.list-content-text
{
margin-top
:
7px
;
display
:
flex
;
justify-content
:
start
;
align-items
:
center
;
margin-right
:
27px
;
font-size
:
14px
;
span
:first-child
{
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
line-height
:
15px
}
span
:last-child
{
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
line-height
:
15px
}
.blue
{
color
:
#0081FF
!
important
;
cursor
:
pointer
;
}
.text-red
{
color
:
#FF3C3C
!
important
;
}
}
}
.list-content-img
{
position
:
absolute
;
top
:
16px
;
right
:
14px
;
color
:
#0081FF
;
display
:
flex
;
align-items
:
center
;
font-size
:
14px
;
cursor
:
pointer
;
img
{
width
:
14px
;
height
:
14px
;
margin-right
:
4px
;
}
}
.list-content-img
:hover
{
color
:
#0067CC
;
}
.list-addree
{
width
:
auto
;
background
:
#F3F4F5
;
display
:
inline-flex
;
margin-top
:
7px
;
.list-content-text
{
margin-top
:
0px
;
span
{
line-height
:
30px
!
important
;
}
}
img
{
width
:
14px
;
margin
:
0
8px
;
}
}
}
// .bottomlist-list:hover {
// background: #F6F9FC;
// cursor: pointer;
// }
.pagination
{
padding
:
14px
;
.el-pagination
{
float
:
right
;
}
}
}
.app-container
{
padding
:
0
;
}
.qyzx-details
{
.tab
{
font-size
:
12px
;
color
:
#A1A1A1
;
span
{
color
:
#232323
;
}
}
.content
{
margin-top
:
16px
;
background
:
#FFFFFF
;
padding
:
16px
;
border-radius
:
4px
;
}
.common-title
{
margin-bottom
:
8px
;
.common-title-span
{
float
:
left
;
line-height
:
15px
;
}
.common-title-list
{
float
:
left
;
margin-left
:
80px
;
top
:
10px
;
display
:
flex
;
align-items
:
center
;
p
{
display
:
flex
;
align-items
:
center
;
font-size
:
14px
;
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
cursor
:
pointer
;
margin-right
:
30px
;
img
{
width
:
14px
;
margin-right
:
4px
;
}
}
p
:hover
{
color
:
#0081FF
;
}
}
}
.common-title1
{
margin-bottom
:
0px
;
}
.main3
{
.main3-box
{
margin-top
:
22px
;
border-top
:
1px
solid
#E6E9F0
;
p
{
display
:
flex
;
margin
:
0
;
border
:
1px
solid
#E6E9F0
;
border-top
:
none
;
.label
{
width
:
10%
;
height
:
auto
;
font-weight
:
400
;
font-size
:
12px
;
padding
:
12px
;
background
:
#F0F3FA
;
display
:
flex
;
align-items
:
center
;
}
span
{
display
:
flex
;
align-items
:
center
;
width
:
40%
;
color
:
#000
;
padding
:
12px
;
font-size
:
12px
;
}
.span-one
{
width
:
90%
;
}
.color1
{
color
:
#FF3C3C
;
}
.color2
{
color
:
#0081FF
;
cursor
:
pointer
;
}
}
}
}
.main4
{
background-image
:
url(../../../assets/images/bxpro/bgfdf.png)
;
background-size
:
100%
100%
;
background-repeat
:
no-repeat
;
border
:
2px
dashed
#888
;
}
}
</
style
>
\ No newline at end of file
dsk-operate-ui/src/views/radar/components/Tender/index.vue
0 → 100644
View file @
8303eb06
<
template
>
<div>
<div
class=
"content"
>
<div
class=
"content_item"
>
<div
class=
"label"
>
项目名称
</div>
<div
class=
"content_right"
>
<el-input
class=
"ename_input"
v-model=
"keyword"
placeholder=
"请输入项目名称、文章关键词,多关键词用空格隔开,如:房建 地基"
></el-input>
</div>
</div>
<div
class=
"content_item"
>
<div
class=
"label"
>
招采单位
</div>
<div
class=
"content_right"
>
<el-input
v-model=
"jskBidQueryDto.companyName"
clearable
class=
"land_ipt_470"
placeholder=
"请输入招标采购单位名称"
></el-input>
</div>
</div>
<div
class=
"content_item"
>
<div
class=
"label"
>
招标代理
</div>
<div
class=
"content_right"
>
<el-input
v-model=
"jskBidQueryDto.agency"
clearable
class=
"land_ipt_470"
placeholder=
"请输入招标代理机构名称"
></el-input>
</div>
</div>
<div
class=
"content_item"
>
<div
class=
"label"
>
阶段类型
</div>
<div
class=
"content_right"
>
<div
class=
"select-popper"
>
<span
:class=
"
{ color_text: jskBidQueryDto.tenderStage.length }">
招采环节阶段
{{
jskBidQueryDto
.
tenderStage
.
length
?
jskBidQueryDto
.
tenderStage
.
length
+
"项"
:
""
}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-select
v-model=
"jskBidQueryDto.tenderStage"
class=
"select-multiple"
multiple
placeholder=
"请选择"
>
<el-option
v-for=
"(item, i) in tenderStageOptions"
:key=
"i"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</div>
<div
class=
"select-popper"
>
<span
:class=
"
{ color_text: jskBidQueryDto.tenderingManner.length }">
招采交易类型
{{
jskBidQueryDto
.
tenderingManner
.
length
?
jskBidQueryDto
.
tenderingManner
.
length
+
"项"
:
""
}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-select
v-model=
"jskBidQueryDto.tenderingManner"
class=
"select-multiple"
multiple
placeholder=
"请选择"
>
<el-option
v-for=
"(item, i) in tenderingMannerOptions"
:key=
"i"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</div>
</div>
</div>
<div
class=
"content_item"
>
<div
class=
"label"
>
更多筛选
</div>
<div
class=
"content_right"
>
<div
class=
"select-popper select-popper1"
>
<span
:class=
"
{color_text: jskBidQueryDto.province.length ||jskBidQueryDto.city.length ||jskBidQueryDto.county.length,}">
行政区划
{{
jskBidQueryDto
.
province
.
length
||
jskBidQueryDto
.
city
.
length
||
jskBidQueryDto
.
county
.
length
?
jskBidQueryDto
.
province
.
length
+
jskBidQueryDto
.
city
.
length
+
jskBidQueryDto
.
county
.
length
+
"项"
:
""
}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-cascader
ref=
"address"
class=
"cascader-region"
v-model=
"addressType"
:options=
"addressList"
:props=
"props"
@
change=
"domicileChange"
collapse-tags
clearable
>
</el-cascader>
</div>
<el-dropdown
@
command=
"punishDatehandleCommand"
trigger=
"click"
ref=
"punishDateShowPopper"
:hide-on-click=
"false"
>
<span
class=
"el-dropdown-link"
:class=
"punishDateValue ? 'color_text' : ''"
>
发布时间
{{
punishDateValue
?
" 1项"
:
""
}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<div>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
v-for=
"(item, i) in punishDateOptions"
:class=
"punishDateValue && punishDateValue == item.value? 'color_text' : ''"
:key=
"i"
:command=
"item.value"
>
<div
@
mouseenter=
"hidePoper"
>
{{
item
.
label
}}
</div>
</el-dropdown-item>
<el-dropdown-item
command=
"自定义"
style=
"padding: 0; text-indent: 20px"
>
<div
@
mouseenter=
"mouseenter"
>
<span
:class=
"punishDateValue == '自定义' ? 'color_text' : ''"
>
自定义
<i
class=
"el-icon-arrow-right"
></i>
</span>
<el-date-picker
v-if=
"punishDateShowPopper"
@
change=
"changepunishDate"
class=
"land_date_picker"
v-model=
"punishDate"
ref=
"datePicker"
value-format=
"yyyy-MM-dd"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</div>
</el-dropdown>
<div
class=
"select-popper "
>
<span
:class=
"
{ color_text: jskBidQueryDto.projectType.length }">
项目类别
{{
jskBidQueryDto
.
projectType
.
length
?
jskBidQueryDto
.
projectType
.
length
+
"项"
:
""
}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-select
v-model=
"jskBidQueryDto.projectType"
class=
"select-multiple"
multiple
placeholder=
"请选择"
>
<el-option
v-for=
"(item, i) in projectTypeOptions"
:key=
"i"
:label=
"item"
:value=
"item"
>
</el-option>
</el-select>
</div>
<div
class=
"select-popper"
>
<span
:class=
"
{ color_text: jskBidQueryDto.subjectMatter.length }">
招标采购分类
{{
jskBidQueryDto
.
subjectMatter
.
length
?
jskBidQueryDto
.
subjectMatter
.
length
+
"项"
:
""
}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-select
v-model=
"jskBidQueryDto.subjectMatter"
class=
"select-multiple"
multiple
placeholder=
"请选择"
>
<el-option
v-for=
"(item, i) in subjectMatterOptions"
:key=
"i"
:label=
"item"
:value=
"item"
>
</el-option>
</el-select>
</div>
<el-dropdown
@
command=
"bidMoneyhandleCommand"
trigger=
"click"
ref=
"bidMoneyShowPopper"
:hide-on-click=
"false"
>
<span
class=
"el-dropdown-link"
:class=
" jskBidQueryDto.startBidMoney || jskBidQueryDto.endBidMoney? 'color_text' : ''"
>
预算金额
{{
jskBidQueryDto
.
startBidMoney
||
jskBidQueryDto
.
endBidMoney
?
" 1项"
:
""
}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
v-for=
"(item, i) in bidMoneyOptions"
:class=
"jskBidQueryDto.startBidMoney == item.value[0] &&jskBidQueryDto.endBidMoney == item.value[1] &&
!startBidMoney &&!endBidMoney? 'color_text': ''"
:key=
"i"
:command=
"item.value"
>
{{
item
.
label
}}
</el-dropdown-item>
<el-dropdown-item
command=
""
style=
"padding: 0; text-indent: 20px"
>
<div
@
mouseenter=
"bidMoneyShowPopper = true"
@
mouseleave=
"bidMoneyShowPopper = false"
>
<span
:class=
"(startBidMoney || endBidMoney) &&jskBidQueryDto.startBidMoney == startBidMoney &&jskBidQueryDto.endBidMoney == endBidMoney? 'color_text' : ''"
>
自定义
<i
class=
"el-icon-arrow-right"
></i>
</span>
<div
class=
"jabph_popper_box"
style=
"position: absolute"
v-if=
"bidMoneyShowPopper"
>
<div
class=
"jabph_popper_wrap"
>
从
<el-input
class=
"jabph_popper_input"
v-limit-num
clearable
v-model=
"startBidMoney"
></el-input>
万
</div>
<div
class=
"jabph_popper_wrap"
>
到
<el-input
class=
"jabph_popper_input"
v-limit-num
clearable
v-model=
"endBidMoney"
></el-input>
万
</div>
<div
style=
""
>
<el-button
size=
"mini"
@
click=
"bidMoneyCancel"
>
取消
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"bidMoneyPopperConfirm"
>
确定
</el-button>
</div>
</div>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<div
class=
"select-popper"
>
<span
:class=
"
{ color_text: jskBidQueryDto.source.length }">
源网站
{{
jskBidQueryDto
.
source
.
length
?
jskBidQueryDto
.
source
.
length
+
"项"
:
""
}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<!--
<Select
ref=
"sourceNameSelect"
@
getSelectValue=
"getSourceName"
/>
-->
</div>
<div
class=
"select-popper"
>
<span
:class=
"
{ color_text: jskBidQueryDto.phonePoint.length }">
有无联系电话
{{
jskBidQueryDto
.
phonePoint
.
length
?
jskBidQueryDto
.
phonePoint
.
length
+
"项"
:
""
}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-select
v-model=
"jskBidQueryDto.phonePoint"
class=
"select-multiple"
multiple
placeholder=
"请选择"
@
change=
"phonePointBtn"
>
<el-option
v-for=
"(item, i) in phonePointType"
:key=
"i"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</div>
</div>
</div>
<div
class=
"content_item content_item_padding0"
>
<div
class=
"geduan"
>
</div>
</div>
<div
class=
"content_item content_item_padding0"
>
<div
class=
"search-new"
>
<span
@
click=
"search()"
>
查询
</span>
<span
@
click=
"reset"
>
重置
</span>
</div>
</div>
</div>
<div
id=
"tender_wrap"
>
<div
class=
"data_list"
v-if=
"false"
>
<div
style=
"height: 16px;width: 1200px;background:#F7F9FC;margin-left: -16px;"
></div>
<div
class=
"data_list_head"
>
共为您找到
<span
class=
"data_list_count"
>
{{
total
}}
</span>
条相关结果
<div
class=
"bottom-toolbar-right float_right"
style=
"position:relative;top:1px;"
>
<el-popover
v-model=
"fieldshow"
placement=
"bottom-end"
trigger=
"click"
popper-class=
"viewlist-el-popover"
>
<ul
class=
"pup_list"
>
<li
v-for=
"(itme,i) in fieldOptions"
:class=
"itme.status?'active':''"
@
click=
"handsequencingList(i)"
:key=
"i"
>
{{
itme
.
value
}}
</li>
</ul>
<span
slot=
"reference"
class=
"toolbar-right-download"
style=
"width: auto;padding: 0px 8px;margin-right:4px;"
>
{{
fieldText
}}
<i
class=
"el-icon-caret-bottom"
:style=
"
{transform:fieldshow?'rotate(180deg)':''}">
</i>
</span>
</el-popover>
<span
size=
"small"
class=
"toolbar-right-download toolbar-right-download1"
@
click=
"search('','','isExport')"
>
导出数据
</span>
</div>
</div>
<div
style=
"border-top:1px solid #efefef;padding-bottom:1px;width: 1200px;margin-left: -16px;"
v-if=
"total
<1
"
>
<div
class=
"search_empty_wrap"
>
<ul>
<li
class=
"search_empty_wrap_li search_empty_wrap_li1"
>
没有找到相关数据,您可尝试:
</li>
<li
class=
"search_empty_wrap_li"
><i
class=
"disc"
></i>
输入更准确的关键词,重新搜索
</li>
<li
class=
"search_empty_wrap_li"
><i
class=
"disc"
></i>
尝试减少输入的关键词,增加搜索范围
</li>
<li
class=
"search_empty_wrap_li"
><i
class=
"disc"
></i>
更换筛选条件,重新搜索
</li>
<li
class=
"search_empty_wrap_li"
><i
class=
"disc"
></i>
联系客服进行反馈
<span>
400-023-5755
</span>
(工作日09:00-18:00)或
<span><nuxt-link
title=
"意见反馈"
:to=
"`/feedback/`"
target=
"_blank"
>
意见反馈
</nuxt-link></span></li>
</ul>
</div>
</div>
<div
v-else
>
<div
v-for=
"(item, index) in tableData"
class=
"data_list_item"
:key=
"index"
>
<nuxt-link
class=
"data_list_h1 data_list_h1_1"
:to=
"`/biz/bx/$
{deleteChar(item.id)}.html`"
target="_blank"
:title="item.projectName.replace(/
<font
color=
'#FF204E'
>
/g,'').replace(/
<
\/
font
>
/g,'')"
v-if="item.id
&&
item.projectName" v-html="item.projectName">
</nuxt-link>
<div
class=
"data_list_h1"
v-else-if=
"item.projectName"
v-html=
"item.projectName"
></div>
<div
class=
"label_box"
v-if=
"
item.tenderStage ||
item.domicile ||
item.tenderingManner ||
item.projectType
"
>
<span
class=
"label_span label_span1"
v-if=
"item.tenderStage&&item.tenderStage!='其他'&&item.tenderStage!='空白'"
>
{{
item
.
tenderStage
}}
</span>
<span
class=
"label_span label_span2"
v-if=
"item.domicile"
>
{{
item
.
domicile
}}
</span>
<span
class=
"label_span label_span3"
v-if=
"item.tenderingManner&&item.tenderingManner!='其他'&&item.tenderingManner!='空白'"
>
{{
item
.
tenderingManner
}}
</span>
<span
class=
"label_span label_span3"
v-if=
"item.projectType&&item.projectType!='其他'&&item.projectType!='空白'"
>
{{
item
.
projectType
}}
</span>
</div>
<div
class=
"label_wrap"
v-if=
"item.companyName || item.agency"
>
<template
v-if=
"item.companyName"
>
<span
class=
"label_item"
>
招采单位:
</span>
</
template
>
<
template
v-if=
"item.agency"
>
<span
class=
"label_item"
>
代理单位:
</span>
</
template
>
</div>
<div
class=
"label_wrap"
v-if=
"item.bidMoney || item.agencyContactTel || item.contactTel"
>
<
template
v-if=
"item.bidMoney"
>
<span
class=
"label_item"
>
预算金额:
</span><span
class=
"label_con"
>
{{
item
.
bidMoney
}}
万元
</span>
</
template
>
<
template
v-if=
"item.contactTel || item.agencyContactTel"
>
<span
class=
"label_item"
>
联系方式:
</span><span
class=
"label_con"
>
<template
v-if=
"item.contactTel"
>
招采单位
{{
item
.
contact
}}
{{
item
.
contactTel
}}{{
item
.
contactTel
&&
item
.
agencyContactTel
?
";"
:
""
}}
</
template
>
<
template
v-if=
"item.agencyContactTel"
>
代理单位
{{
item
.
agencyContact
}}
{{
item
.
agencyContactTel
}}
</
template
>
</span>
</template>
</div>
<div
class=
"label_wrap"
v-if=
"item.contentInfo"
>
<span
class=
"label_item"
style=
"position:relative;top:-4px;"
>
正文内容:
</span><span
class=
"label_con label_con1"
v-html=
"item.contentInfo"
></span>
</div>
<div
class=
"label_wrap"
v-if=
"item.punishDate || item.overTime"
>
<
template
v-if=
"item.punishDate"
>
<span
class=
"label_item"
>
发布时间:
</span><span
class=
"label_con"
>
{{
item
.
punishDate
}}
</span>
</
template
>
<
template
v-if=
"item.overTime"
>
<span
class=
"label_item"
>
报名截止日期:
</span><span
class=
"label_con"
>
{{
item
.
overTime
}}
</span>
</
template
>
<
template
v-if=
"item.source"
>
<span
class=
"label_item"
>
来源网站:
</span>
<span
class=
"label_con"
>
{{
item
.
source
}}
</span>
<!--
<el-popover
placement=
"bottom"
trigger=
"hover"
:content=
"item.otherSourceText"
>
<span
slot=
"reference"
class=
"label_con label_con2"
>
<template
v-for=
"(item1,index) in item.otherSource"
>
{{
item1
.
sourceName
}}{{
index
==
item
.
otherSource
.
length
-
1
?
""
:
"、"
}}
</
template
>
</span>
</el-popover>
-->
</template>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<
script
>
// import Select from "@/components/businessOpportunities/Select.vue";
import
jsk_data
from
'../../../../../public/jsk.json'
;
export
default
{
name
:
'Tender'
,
components
:
{
// Select
},
data
()
{
return
{
//有无联系方式
phonePointType
:
[{
value
:
''
,
label
:
'不限'
},
{
value
:
'hasPhone'
,
label
:
'有联系电话'
},
{
value
:
'hasContactTel'
,
label
:
'有招标单位联系电话'
},
{
value
:
'hasAgencyTel'
,
label
:
'有代理机构联系电话'
},
{
value
:
'noPhone'
,
label
:
'无联系电话'
}
],
phonePointList
:
[],
punishDateOptions
:
[{
label
:
"不限"
,
value
:
""
,
},
{
label
:
"今天"
,
value
:
"今天"
,
},
{
label
:
"近3日"
,
value
:
"近3日"
,
},
{
label
:
"近7日"
,
value
:
"近7日"
,
},
{
label
:
"近1个月"
,
value
:
"近1个月"
,
},
{
label
:
"近3个月"
,
value
:
"近3个月"
,
},
{
label
:
"近半年"
,
value
:
"近半年"
,
},
{
label
:
"近1年"
,
value
:
"近1年"
,
},
],
addressList
:
[],
addressType
:
[],
props
:
{
multiple
:
true
,
expandTrigger
:
"hover"
,
value
:
"id"
,
},
keyword
:
""
,
keywordNot
:
""
,
tenderType
:
""
,
tenderTypeOptions
:
[{
value
:
"不限"
,
key
:
""
,
status
:
true
,
},
{
value
:
"招标采购信息"
,
key
:
"招标采购信息"
,
status
:
false
,
},
{
value
:
"中标、成交信息"
,
key
:
"中标、成交信息"
,
status
:
false
,
},
{
value
:
"参投信息"
,
key
:
"参投信息"
,
status
:
false
,
},
],
tenderStageOptions
:
[{
value
:
"招标公告"
,
label
:
"招标公告"
,
},
{
value
:
"招标计划"
,
label
:
"招标计划"
,
},
{
value
:
"补充公告"
,
label
:
"补充公告"
,
},
{
value
:
"终止公告"
,
label
:
"终止公告"
,
},
{
value
:
"废标公告"
,
label
:
"废标公告"
,
},
{
value
:
"流标公告"
,
label
:
"流标公告"
,
},
{
value
:
"重新招标"
,
label
:
"重新招标"
,
},
{
value
:
"更正公告"
,
label
:
"更正公告"
,
},
{
value
:
"资格预审公告"
,
label
:
"资格预审公告"
,
},
{
value
:
"澄清公告"
,
label
:
"澄清公告"
,
},
{
value
:
"答疑补遗公告"
,
label
:
"答疑补遗公告"
,
}
],
tenderStageOptions2
:
[{
value
:
"中标公示"
,
label
:
"中标公示"
,
},
{
value
:
"中标公告"
,
label
:
"中标公告"
,
},
{
value
:
"成交"
,
label
:
"成交"
,
},
{
value
:
"终止"
,
label
:
"终止"
,
},
{
value
:
"非标"
,
label
:
"非标"
,
},
{
value
:
"流标"
,
label
:
"流标"
,
},
{
value
:
"合同及验收"
,
label
:
"合同及验收"
,
},
],
tenderStageOptions3
:
[{
value
:
"开标"
,
label
:
"开标"
,
},
{
value
:
"参投记录"
,
label
:
"参投记录"
,
},
],
tenderingMannerOptions
:
[{
value
:
"询价"
,
label
:
"询价"
,
},
{
value
:
"比选"
,
label
:
"比选"
,
},
{
value
:
"邀请"
,
label
:
"邀请"
,
},
{
value
:
"竞争性谈判"
,
label
:
"竞争性谈判"
,
},
{
value
:
"竞争性磋商"
,
label
:
"竞争性磋商"
,
},
{
value
:
"单一来源"
,
label
:
"单一来源"
,
},
{
value
:
"直接发包"
,
label
:
"直接发包"
,
},
{
value
:
"竞价"
,
label
:
"竞价"
,
},
{
value
:
"公开招标"
,
label
:
"公开招标"
,
},
{
value
:
"其他"
,
label
:
"其他"
,
},
],
scopeOptions
:
[{
value
:
"contentInfo"
,
label
:
"正文"
,
},
{
value
:
"companyName"
,
label
:
"企业名称"
,
},
{
value
:
"projectName"
,
label
:
"项目名称"
,
},
],
selectedHeight
:
64
,
projectTypeOptions
:
[],
contactOptions
:
[{
value
:
"不限"
,
label
:
"不限"
,
},
{
value
:
"有招采单位联系人"
,
label
:
"有招采单位联系人"
,
},
{
value
:
"有中标单位联系人"
,
label
:
"有中标单位联系人"
,
},
{
value
:
"有招标代理机构联系人"
,
label
:
"有招标代理机构联系人"
,
},
],
subjectMatterOptions
:
[
],
jskBidQueryDto
:
{
province
:
[],
city
:
[],
county
:
[],
tenderStage
:
[],
tenderingManner
:
[],
queryScope
:
[],
projectType
:
[],
subjectMatter
:
[],
source
:
[],
phonePoint
:
[],
},
page
:
1
,
limit
:
20
,
pageFlag
:
true
,
punishDate
:
""
,
punishDateShowPopper
:
false
,
punishDateValue
:
""
,
startBidMoney
:
""
,
endBidMoney
:
""
,
bidMoneyShowPopper
:
false
,
bidMoneyOptions
:
[{
value
:
"不限"
,
label
:
"不限"
,
},
{
value
:
[
0
,
100
],
label
:
"100万元以下"
,
},
{
value
:
[
100
,
300
],
label
:
"100万-300万元"
,
},
{
value
:
[
300
,
1000
],
label
:
"300万-1000万元"
,
},
{
value
:
[
1000
,
5000
],
label
:
"1000万-5000万元"
,
},
{
value
:
[
5000
,
20000
],
label
:
"5000万-2亿元"
,
},
{
value
:
[
20000
,
""
],
label
:
"2亿元以上"
,
},
],
fieldshow
:
false
,
fieldText
:
'默认排序'
,
field
:
''
,
//查询结果排序方式
fieldOptions
:
[{
key
:
""
,
value
:
"默认排序"
,
status
:
true
,
},
{
key
:
"punishDate"
,
value
:
"发布日期从晚到早"
,
status
:
false
,
},
{
key
:
"projectAmount"
,
value
:
"预算金额从大到小"
,
status
:
false
,
},
{
key
:
"overTime"
,
value
:
"报名截止日期从晚到早"
,
status
:
false
,
},
],
domicile
:
[],
conditionsArr
:
[],
total
:
6000
,
page
:
1
,
pageSize
:
20
};
},
computed
:
{
checkjskBidQueryDto
()
{
let
arr
=
[];
let
flag
=
false
;
let
data
=
{};
let
keyid
,
value
,
title
;
if
(
this
.
domicile
.
length
>
0
)
{
data
=
{
title
:
"行政区划:"
,
value
:
this
.
domicile
.
join
(
","
),
}
arr
.
push
(
data
)
}
if
(
this
.
keyword
)
{
data
=
{
title
:
"项目包含:"
,
value
:
this
.
keyword
,
}
arr
.
push
(
data
)
flag
=
true
;
}
if
(
this
.
keywordNot
)
{
data
=
{
title
:
"项目排除:"
,
value
:
this
.
keywordNot
,
}
arr
.
push
(
data
)
flag
=
true
;
}
if
(
this
.
punishDateValue
==
"自定义"
)
{
data
=
{
title
:
"发布时间:"
,
value
:
this
.
jskBidQueryDto
.
startPunishDate
+
"~"
+
this
.
jskBidQueryDto
.
endPunishDate
,
}
arr
.
push
(
data
)
}
if
(
this
.
punishDateValue
&&
this
.
punishDateValue
!=
"自定义"
)
{
data
=
{
title
:
"发布时间:"
,
value
:
this
.
punishDateValue
,
}
arr
.
push
(
data
)
}
for
(
var
i
in
this
.
jskBidQueryDto
)
{
if
(
this
.
jskBidQueryDto
[
i
])
{
keyid
=
i
;
value
=
this
.
jskBidQueryDto
[
i
];
if
(
Object
.
prototype
.
toString
.
call
(
this
.
jskBidQueryDto
[
i
])
===
"[object Array]"
)
{
if
(
this
.
jskBidQueryDto
[
i
].
length
>
0
)
{
flag
=
true
;
switch
(
i
)
{
case
'tenderStage'
:
title
=
"招采环节阶段:"
;
break
;
case
'tenderingManner'
:
title
=
"招采交易类型:"
;
break
;
case
'projectType'
:
title
=
"项目类别:"
;
break
;
case
'subjectMatter'
:
title
=
"招标采购分类:"
;
break
;
case
'source'
:
title
=
"来源网站:"
;
break
;
case
'phonePoint'
:
title
=
"有无联系方式:"
;
break
;
default
:
title
=
""
;
break
;
}
}
else
{
title
=
""
}
}
else
{
title
=
""
flag
=
true
;
}
if
(
title
)
{
data
=
{
keyid
:
keyid
,
value
:
value
,
title
:
title
,
key
:
value
}
arr
.
push
(
data
)
}
}
}
this
.
conditionsArr
=
arr
return
flag
;
},
},
created
()
{
// this.$axios.get('https://files.jiansheku.com/file/json/common/searchDic.json').then(res => {
// if (res && res.status == 200) {
// this.projectTypeOptions = res.data.projectType;
// this.subjectMatterOptions = res.data.subjectMatter
// }
// }).catch(error=>{
//
// });
},
mounted
()
{
this
.
addressListfn
();
},
methods
:
{
//有无联系方式
phonePointBtn
(
e
)
{
for
(
var
i
=
0
;
e
.
length
>
i
;
i
++
)
{
if
(
!
e
[
i
])
{
this
.
jskBidQueryDto
.
phonePoint
=
[]
}
}
},
// 返回单条权限
permissionsJudge
(
permission
,
field
,
pilist
)
{
return
permissionsJudge
(
permission
,
field
,
pilist
);
},
goThrough
(
el
,
data
)
{
return
goThrough
(
el
,
data
,
this
);
},
permissionsField
(
tagName
,
permission
)
{
return
permissionsField
(
tagName
,
permission
);
},
refresh
(
value
)
{
if
(
value
)
{
this
.
$router
.
go
(
0
)
}
},
search
(
page
,
limit
,
exportFlag
)
{
if
(
!
page
)
{
this
.
page
=
1
;
}
if
(
!
limit
)
{
this
.
limit
=
20
;
}
if
(
!
page
&&
!
limit
)
{
this
.
reloadPage
();
}
var
data
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
jskBidQueryDto
));
data
.
province
=
data
.
province
.
join
(
","
);
data
.
city
=
data
.
city
.
join
(
","
);
data
.
county
=
data
.
county
.
join
(
","
);
data
.
tenderStage
=
data
.
tenderStage
.
join
(
","
);
data
.
tenderingManner
=
data
.
tenderingManner
.
join
(
","
);
data
.
queryScope
=
data
.
queryScope
.
join
(
","
);
data
.
projectType
=
data
.
projectType
.
join
(
","
);
data
.
subjectMatter
=
data
.
subjectMatter
.
join
(
","
);
data
.
source
=
data
.
source
.
join
(
","
);
data
.
phonePoint
=
data
.
phonePoint
.
join
(
","
);
let
params
=
{
page
:
{
page
:
this
.
page
,
limit
:
this
.
limit
,
field
:
this
.
field
,
},
jskBidQueryDto
:
data
,
};
params
.
keyword
=
this
.
keyword
;
params
.
keywordNot
=
this
.
keywordNot
;
this
.
$emit
(
"search"
,
params
)
},
selectedHeightfn
()
{
if
(
this
.
selectedHeight
==
64
)
{
this
.
selectedHeight
=
'auto'
}
else
{
this
.
selectedHeight
=
64
;
}
},
reset
()
{
Object
.
assign
(
this
.
$data
,
this
.
$options
.
data
.
call
(
this
));
//重置data
this
.
$refs
.
sourceNameSelect
.
selectValue
=
[]
this
.
addressListfn
();
this
.
$axios
.
get
(
'https://files.jiansheku.com/file/json/common/searchDic.json'
).
then
(
res
=>
{
if
(
res
&&
res
.
status
==
200
)
{
this
.
projectTypeOptions
=
res
.
data
.
projectType
;
this
.
subjectMatterOptions
=
res
.
data
.
subjectMatter
}
}).
catch
(
error
=>
{
});
this
.
search
();
this
.
$emit
(
"reset"
);
},
handsequencingList
(
index
)
{
this
.
fieldshow
=
false
;
this
.
field
=
this
.
fieldOptions
[
index
].
key
;
for
(
let
i
=
0
;
i
<
this
.
fieldOptions
.
length
;
i
++
)
{
this
.
fieldOptions
[
i
].
status
=
false
;
}
this
.
fieldText
=
this
.
fieldOptions
[
index
].
value
;
this
.
fieldOptions
[
index
].
status
=
true
;
this
.
search
();
},
reloadPage
()
{
this
.
pageFlag
=
false
;
this
.
$nextTick
(()
=>
{
this
.
pageFlag
=
true
;
});
},
handleCurrentChange
(
page
)
{
this
.
page
=
page
;
this
.
search
(
page
,
this
.
limit
);
},
handleSizeChange
(
limit
)
{
this
.
limit
=
limit
;
this
.
search
(
this
.
page
,
limit
);
},
addressListfn
()
{
var
str
=
[];
for
(
let
x
=
0
;
x
<
3
;
x
++
)
{
for
(
let
i
=
0
;
i
<
jsk_data
.
length
;
i
++
)
{
if
(
jsk_data
[
i
].
regionLevel
==
x
+
1
&&
x
+
1
==
1
)
{
str
.
push
({
id
:
jsk_data
[
i
].
id
,
label
:
jsk_data
[
i
].
regionName
,
short
:
jsk_data
[
i
].
short
,
value
:
jsk_data
[
i
].
parentId
,
children
:
jsk_data
[
i
].
id
==
900000
?
undefined
:
[],
});
}
else
if
(
jsk_data
[
i
].
regionLevel
==
x
+
1
&&
x
+
1
==
2
&&
str
)
{
for
(
let
j
=
0
;
j
<
str
.
length
;
j
++
)
{
if
(
str
[
j
].
id
==
jsk_data
[
i
].
parentId
)
{
str
[
j
].
children
.
push
({
id
:
jsk_data
[
i
].
id
,
label
:
jsk_data
[
i
].
regionName
,
short
:
jsk_data
[
i
].
short
,
value
:
jsk_data
[
i
].
parentId
,
children
:
[],
});
}
}
}
else
if
(
jsk_data
[
i
].
regionLevel
==
x
+
1
&&
x
+
1
==
3
)
{
for
(
let
j
=
0
;
j
<
str
.
length
;
j
++
)
{
if
(
str
[
j
].
children
)
{
for
(
let
k
=
0
;
k
<
str
[
j
].
children
.
length
;
k
++
)
{
if
(
str
[
j
].
children
[
k
].
id
==
jsk_data
[
i
].
parentId
)
{
str
[
j
].
children
[
k
].
children
.
push
({
id
:
jsk_data
[
i
].
id
,
label
:
jsk_data
[
i
].
regionName
,
short
:
jsk_data
[
i
].
short
,
value
:
jsk_data
[
i
].
parentId
,
});
}
}
}
}
}
}
}
this
.
addressList
=
str
;
},
deleteDomicile
()
{
this
.
$refs
.
address
.
handleClear
();
},
domicileChange
()
{
let
arr
=
this
.
$refs
.
address
.
getCheckedNodes
();
let
province
=
[],
city
=
[],
county
=
[];
this
.
domicile
=
[];
for
(
var
i
in
arr
)
{
if
(
arr
[
i
].
parent
)
{
if
(
!
arr
[
i
].
parent
.
checked
)
{
arr
[
i
].
hasChildren
&&
city
.
push
(
arr
[
i
].
value
);
arr
[
i
].
hasChildren
&&
this
.
domicile
.
push
(
arr
[
i
].
label
);
!
arr
[
i
].
hasChildren
&&
county
.
push
(
arr
[
i
].
value
);
!
arr
[
i
].
hasChildren
&&
this
.
domicile
.
push
(
arr
[
i
].
label
);
}
}
else
{
province
.
push
(
arr
[
i
].
value
);
this
.
domicile
.
push
(
arr
[
i
].
label
);
}
}
var
obj
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
jskBidQueryDto
));
obj
.
province
=
province
;
obj
.
city
=
city
;
obj
.
county
=
county
;
this
.
jskBidQueryDto
=
obj
;
},
bidMoneyhandleCommand
(
command
)
{
if
(
command
)
{
this
.
$refs
.
bidMoneyShowPopper
.
hide
();
var
obj
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
jskBidQueryDto
));
this
.
startBidMoney
=
""
;
this
.
endBidMoney
=
""
;
if
(
command
==
"不限"
)
{
obj
.
startBidMoney
=
""
;
obj
.
endBidMoney
=
""
;
}
else
{
obj
.
startBidMoney
=
command
[
0
];
obj
.
endBidMoney
=
command
[
1
];
}
this
.
jskBidQueryDto
=
obj
;
}
},
bidMoneyPopperConfirm
()
{
if
(
this
.
startBidMoney
&&
this
.
endBidMoney
&&
!
(
Number
(
this
.
endBidMoney
)
>
Number
(
this
.
startBidMoney
))
)
{
return
this
.
$message
.
warning
(
"最小值必须小于最大值,请重新输入!"
);
}
this
.
bidMoneyShowPopper
=
false
;
var
obj
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
jskBidQueryDto
));
obj
.
startBidMoney
=
this
.
startBidMoney
;
obj
.
endBidMoney
=
this
.
endBidMoney
;
this
.
jskBidQueryDto
=
obj
;
this
.
$refs
.
bidMoneyShowPopper
.
hide
();
},
bidMoneyCancel
()
{
this
.
bidMoneyShowPopper
=
false
;
this
.
$refs
.
bidMoneyShowPopper
.
hide
();
},
punishDatehandleCommand
(
command
)
{
var
obj
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
jskBidQueryDto
));
if
(
command
&&
command
!=
"自定义"
)
{
this
.
punishDateValue
=
command
;
this
.
$refs
.
punishDateShowPopper
.
hide
();
const
datetime
=
new
Date
();
var
startTime
,
endTime
,
Year
,
Month
,
Day
;
Year
=
datetime
.
getFullYear
();
Month
=
datetime
.
getMonth
()
+
1
;
Day
=
datetime
.
getDate
();
switch
(
command
)
{
case
"今天"
:
startTime
=
Year
+
"-"
+
Month
+
"-"
+
Day
;
endTime
=
Year
+
"-"
+
Month
+
"-"
+
Day
;
break
;
case
"近3日"
:
var
newTime
=
datetime
.
getTime
()
-
3
*
24
*
60
*
60
*
1000
;
startTime
=
new
Date
(
newTime
).
getFullYear
()
+
"-"
+
(
new
Date
(
newTime
).
getMonth
()
+
1
)
+
"-"
+
new
Date
(
newTime
).
getDate
();
endTime
=
Year
+
"-"
+
Month
+
"-"
+
Day
;
break
;
case
"近7日"
:
var
newTime
=
datetime
.
getTime
()
-
7
*
24
*
60
*
60
*
1000
;
startTime
=
new
Date
(
newTime
).
getFullYear
()
+
"-"
+
(
new
Date
(
newTime
).
getMonth
()
+
1
)
+
"-"
+
new
Date
(
newTime
).
getDate
();
endTime
=
Year
+
"-"
+
Month
+
"-"
+
Day
;
break
;
case
"近1个月"
:
if
(
Month
>
1
)
{
startTime
=
Year
+
"-"
+
(
Month
-
1
)
+
"-1"
;
}
else
{
startTime
=
Year
-
1
+
"-"
+
(
12
+
Month
-
1
)
+
"-1"
;
}
endTime
=
Year
+
"-"
+
Month
+
"-"
+
Day
;
break
;
case
"近3个月"
:
if
(
Month
>
3
)
{
startTime
=
Year
+
"-"
+
(
Month
-
3
)
+
"-1"
;
}
else
{
startTime
=
Year
-
1
+
"-"
+
(
12
+
Month
-
3
)
+
"-1"
;
}
endTime
=
Year
+
"-"
+
Month
+
"-"
+
Day
;
break
;
case
"近半年"
:
if
(
Month
>
6
)
{
startTime
=
Year
+
"-"
+
(
Month
-
6
)
+
"-1"
;
}
else
{
startTime
=
Year
-
1
+
"-"
+
(
12
+
Month
-
6
)
+
"-1"
;
}
endTime
=
Year
+
"-"
+
Month
+
"-"
+
Day
;
break
;
case
"近1年"
:
startTime
=
Year
-
1
+
"-"
+
Month
+
"-"
+
Day
;
endTime
=
Year
+
"-"
+
Month
+
"-"
+
Day
;
break
;
case
"近3年"
:
startTime
=
Year
-
3
+
"-"
+
Month
+
"-"
+
Day
;
endTime
=
Year
+
"-"
+
Month
+
"-"
+
Day
;
break
;
case
"自定义"
:
if
(
!
this
.
punishDate
)
{
this
.
punishDateValue
=
""
;
}
break
;
}
if
(
startTime
)
{
var
start
=
startTime
.
split
(
'-'
);
startTime
=
start
.
map
((
item
)
=>
{
if
(
item
.
length
==
1
)
{
return
'0'
+
item
}
else
{
return
item
}
})
startTime
=
startTime
.
join
(
'-'
)
}
if
(
endTime
)
{
var
end
=
endTime
.
split
(
'-'
);
endTime
=
end
.
map
((
item
)
=>
{
if
(
item
.
length
==
1
)
{
return
'0'
+
item
}
else
{
return
item
}
})
endTime
=
endTime
.
join
(
'-'
)
}
obj
.
startPunishDate
=
startTime
;
obj
.
endPunishDate
=
endTime
;
}
else
if
(
command
==
"自定义"
)
{
this
.
$refs
.
datePicker
.
pickerVisible
=
true
;
}
else
{
this
.
$refs
.
punishDateShowPopper
.
hide
();
this
.
punishDateValue
=
""
;
this
.
punishDate
=
""
;
obj
.
startPunishDate
=
""
;
obj
.
endPunishDate
=
""
;
}
this
.
jskBidQueryDto
=
obj
;
},
clearContractSignTime
()
{
this
.
punishDate
=
""
;
this
.
punishDateValue
=
""
;
var
obj
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
jskBidQueryDto
));
obj
.
startPunishDate
=
""
;
obj
.
endPunishDate
=
""
;
this
.
jskBidQueryDto
=
obj
;
},
changepunishDate
()
{
if
(
this
.
punishDate
)
{
this
.
punishDateValue
=
"自定义"
;
var
obj
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
jskBidQueryDto
));
obj
.
startPunishDate
=
this
.
punishDate
[
0
];
obj
.
endPunishDate
=
this
.
punishDate
[
1
];
this
.
jskBidQueryDto
=
obj
;
}
},
hidePoper
()
{
if
(
this
.
$refs
.
datePicker
)
{
this
.
$refs
.
datePicker
.
pickerVisible
=
false
;
}
},
mouseenter
()
{
this
.
punishDateShowPopper
=
true
;
if
(
this
.
punishDateValue
==
'自定义'
)
{
this
.
$nextTick
(()
=>
{
//this.$refs.datePicker.focus()
this
.
$refs
.
datePicker
.
pickerVisible
=
true
;
});
}
},
tenderTypeClick
(
index
)
{
this
.
tenderTypeOptions
.
map
((
item
)
=>
{
item
.
status
=
false
;
});
if
(
index
==
2
)
{
this
.
tenderStageOptions
=
this
.
tenderStageOptions2
;
}
if
(
index
==
3
)
{
this
.
tenderStageOptions
=
this
.
tenderStageOptions3
;
}
this
.
tenderTypeOptions
[
index
].
status
=
true
;
},
getSourceName
(
arr
)
{
for
(
var
a
in
arr
)
{
if
(
arr
[
a
]
==
"不限"
)
{
this
.
jskBidQueryDto
.
source
=
[];
this
.
$refs
.
sourceNameSelect
.
selectValue
=
[];
this
.
$refs
.
sourceNameSelect
.
$refs
.
select
.
blur
();
}
else
{
this
.
jskBidQueryDto
.
source
=
arr
;
}
}
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.content
{
padding
:
0px
16px
;
border-radius
:
4px
4px
4px
4px
;
background
:
#FFFFFF
;
.content_item
{
padding-top
:
12px
;
display
:
flex
;
align-items
:
center
;
.label
{
width
:
84px
;
font-size
:
14px
;
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
}
.content_right
{
.ename_input
{
width
:
640px
;
margin-right
:
20px
;
}
.land_ipt_470
{
width
:
640px
;
}
}
.item_ckquery_list
{
display
:
flex
;
}
.item_ckquery_list
.el-input__icon
{
position
:
relative
;
top
:
1px
;
}
.ckquery_list_right
{
width
:
640px
;
}
.register_count_ipt
{
margin-left
:
0px
;
}
.register_count_ipt
.el-input__inner
{
width
:
174px
;
}
::v-deep
.el-input-group__prepend
{
padding
:
0
8px
;
}
.content-projecttype
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
.projecttype
{
font-weight
:
400
;
color
:
#232323
;
padding
:
1px
5px
;
margin-right
:
4px
;
cursor
:
pointer
;
border-radius
:
3px
3px
3px
3px
;
font-size
:
14px
;
}
.projecttype
:first-child
{
padding-left
:
0px
;
}
.projecttype
:hover
{
background
:
#F3F4F5
;
padding
:
1px
5px
;
}
.activetype
{
background
:
#F3F4F5
;
padding
:
1px
5px
!
important
;
}
}
}
.content_item_padding0
{
padding
:
0
;
}
}
.bottomlist
{
width
:
100%
;
background-color
:
#FFFFFF
;
border-radius
:
4px
4px
4px
4px
;
.bottomlist-title
{
display
:
flex
;
justify-content
:
end
;
align-items
:
center
;
margin-top
:
12px
;
padding
:
24px
;
border-bottom
:
1px
solid
#EFEFEF
;
p
:first-child
{
font-size
:
12px
;
font-weight
:
400
;
color
:
#3D3D3D
;
margin-right
:
10px
;
}
p
:last-child
{
font-size
:
14px
;
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
}
img
{
width
:
18px
;
height
:
18px
;
}
}
.bottomlist-content
{
padding-bottom
:
0px
;
}
.bottomlist-list
{
padding
:
14px
;
font-size
:
14px
;
border-bottom
:
1px
solid
#EFEFEF
;
padding-bottom
:
14px
;
.list-titel
{
font-size
:
16px
;
font-weight
:
700
;
color
:
#3D3D3D
;
line-height
:
19px
;
.list-titel-a
{
text-decoration
:
none
;
color
:
#3D3D3D
;
}
a
:hover
,
a
:visited
,
a
:link
,
a
:active
{
color
:
#3D3D3D
;
}
}
.content-label
{
margin-top
:
7px
;
.list-label
{
background
:
#F3F3FF
;
color
:
#8491E8
;
border-radius
:
1px
1px
1px
1px
;
padding
:
3px
7px
;
font-size
:
12px
;
}
}
.list-content
{
margin-top
:
3px
;
display
:
flex
;
justify-content
:
start
;
align-items
:
center
;
.list-content-text
{
margin-top
:
7px
;
display
:
flex
;
justify-content
:
start
;
align-items
:
center
;
margin-right
:
27px
;
font-size
:
14px
;
span
:first-child
{
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
line-height
:
15px
}
span
:last-child
{
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
line-height
:
15px
}
.blue
{
color
:
#0081FF
!
important
;
cursor
:
pointer
;
}
}
}
}
.bottomlist-list
:hover
{
background
:
#F6F9FC
;
cursor
:
pointer
;
}
.pagination
{
padding
:
14px
;
.el-pagination
{
float
:
right
;
}
}
}
</
style
>
<
style
lang=
"scss"
scoped
>
#tender_wrap
{
padding
:
0
16px
;
font-size
:
14px
;
.tender_content_wrap
{
display
:
flex
;
.tender_content_wrap_label
{
color
:
#666666
;
margin-right
:
4px
;
}
.tender_content_wrap_item
{
display
:
inline-block
;
height
:
28px
;
line-height
:
28px
;
padding
:
0
12px
;
margin-right
:
24px
;
color
:
#333333
;
cursor
:
pointer
;
&
:hover
{
background
:
#e5f2ff
;
color
:
#0081ff
;
border-radius
:
2px
2px
2px
2px
;
}
}
.tender_content_wrap_item_active
{
background
:
#0081ff
;
color
:
#ffffff
;
border-radius
:
2px
2px
2px
2px
;
}
}
.tender_content_wrap1
{
margin-bottom
:
-2
.5px
;
}
.data_list
{
width
:
1200px
;
margin
:
0
auto
;
margin-left
:
-16px
;
padding
:
0
16px
;
box-sizing
:
border-box
;
.data_list_head
{
height
:
50px
;
line-height
:
50px
;
color
:
#666666
;
.data_list_count
{
color
:
#ff2a00
;
font-weight
:
bold
;
}
}
.data_list_item
{
border-top
:
1px
solid
#efefef
;
padding
:
24px
16px
;
padding-left
:
16px
;
margin-left
:
-16px
;
width
:
1200px
;
&
:hover
{
background
:
#f5faff
;
}
.data_list_h1
{
width
:
1168px
;
font-size
:
18px
;
font-weight
:
bold
;
color
:
#333333
;
line-height
:
24px
;
margin-bottom
:
10px
;
word-break
:
break-all
;
display
:
inline-block
;
}
.data_list_h1_1
{
cursor
:
pointer
;
}
.label_box
{
padding-bottom
:
6px
;
display
:
flex
;
.label_span
{
padding
:
0
8px
;
display
:
inline-block
;
height
:
22px
;
line-height
:
22px
;
border-radius
:
2px
2px
2px
2px
;
margin-right
:
8px
;
font-size
:
12px
;
}
.label_span1
{
background
:
#e4f3fd
;
color
:
#41A1FD
;
}
.label_span2
{
background
:
#f3f3ff
;
color
:
#8491e8
;
}
.label_span3
{
background
:
#e8f7f0
;
color
:
#38c8bf
;
}
}
.label_wrap
{
font-size
:
14px
;
margin-top
:
10px
;
line-height
:
18px
;
display
:
flex
;
.label_item
{
color
:
#999999
;
}
.company
{
color
:
#0081ff
;
cursor
:
pointer
;
margin-right
:
20px
;
}
.label_con
{
color
:
#333333
;
margin-right
:
20px
;
}
.label_con1
{
width
:
1095px
;
margin
:
0
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
display
:
inline-block
;
overflow
:
hidden
;
}
.label_con2
{
text-overflow
:
ellipsis
;
overflow
:
hidden
;
white-space
:
nowrap
;
max-width
:
560px
;
display
:
inline-block
;
}
}
}
}
.content_li
{
padding
:
16px
0
;
display
:
flex
;
align-items
:
center
;
position
:
relative
;
.content_item
{
.include-keywords
{
display
:
flex
;
align-items
:
center
;
position
:
relative
;
.lefttltel
{
display
:
inline-block
;
background
:
#f5f5f5
;
color
:
#333
;
border
:
1px
solid
#efefef
;
border-right
:
none
;
opacity
:
1
;
width
:
71px
;
height
:
40px
;
text-align
:
center
;
line-height
:
40px
;
}
.el-input
{
line-height
:
40px
;
border-radius
:
0
;
.el-input__inner
{
width
:
100%
;
height
:
40px
;
line-height
:
40px
;
border-radius
:
0
;
}
}
.commonly-input
{
.el-input__inner
{
padding-right
:
100px
;
}
}
.commonly
{
position
:
absolute
;
top
:
10px
;
right
:
16px
;
font-size
:
14px
;
font-weight
:
400
;
color
:
#0081ff
;
cursor
:
pointer
;
}
}
}
}
}
</
style
>
\ No newline at end of file
dsk-operate-ui/src/views/radar/components/bxprozbgg/index.vue
View file @
8303eb06
<
template
>
<
template
>
<!-- 招标公告 -->
<!-- 标讯pro -->
<div
>
<div
>
<div
class=
"content"
>
<div
class=
"content"
>
<div
class=
"content_item"
>
<div
class=
"content_item"
>
...
@@ -41,11 +40,21 @@
...
@@ -41,11 +40,21 @@
<div
class=
"content_item"
>
<div
class=
"content_item"
>
<div
class=
"label"
>
项目名称
</div>
<div
class=
"label"
>
项目名称
</div>
<div
class=
"content_right"
>
<div
class=
"content_right content_right1"
>
<el-input
class=
"ename_input"
<div
class=
"include-keywords"
>
placeholder=
"请输入项目名称关键字"
v-model=
"keyword"
></el-input>
<span
class=
"lefttltel"
style=
" border-radius: 1px 0px 0px 1px;"
>
包含
</span>
<el-input
class=
"commonly-input"
v-model=
"keyword"
style=
"width: 660px;"
placeholder=
"多个关键词用空格隔开,如:市政 园林"
/>
<span
class=
"commonly"
@
click=
"cliclikeywoder()"
>
推荐关键词
</span>
</div>
<div
class=
"include-keywords"
>
<span
class=
"lefttltel"
style=
" border-radius: 1px 0px 0px 1px;"
>
排除
</span>
<el-input
style=
"width: 472px;"
v-model=
"keywordNot"
placeholder=
"多个关键词用空格隔开,如:市政 园林"
/>
</div>
</div>
</div>
</div>
</div>
<div
class=
"content_item"
>
<div
class=
"content_item"
>
<div
class=
"label"
>
项目名称
</div>
<div
class=
"label"
>
项目名称
</div>
<div
class=
"content_right"
>
<div
class=
"content_right"
>
...
@@ -160,13 +169,13 @@
...
@@ -160,13 +169,13 @@
</div>
</div>
</div>
</div>
<div
class=
"content_item"
>
<div
class=
"content_item"
>
<div
class=
"label"
>
项目
金
额
</div>
<div
class=
"label"
>
项目
投资
额
</div>
<div
class=
"content_right content_right1"
>
<div
class=
"content_right content_right1"
>
<div
class=
"land_content_wrap-flex"
>
<div
class=
"land_content_wrap-flex"
>
<div
class=
"land_content_wrap_label"
>
<
!-- <
div class="land_content_wrap_label" >
项目投资额
</div>
</div>
-->
<el-input
class=
"other_ipt"
placeholder=
"输入最低金额"
@
change=
"changeMoney('start','startProjectAmount','endProjectAmount')"
v-limit-num
clearable
<el-input
class=
"other_ipt"
placeholder=
"输入最低金额"
@
change=
"changeMoney('start','startProjectAmount','endProjectAmount')"
v-limit-num
clearable
v-model=
"jskBidNewsDto.startProjectAmount"
></el-input>
v-model=
"jskBidNewsDto.startProjectAmount"
></el-input>
<span
class=
"other_label_span"
>
至
</span>
<span
class=
"other_label_span"
>
至
</span>
...
@@ -204,352 +213,196 @@
...
@@ -204,352 +213,196 @@
</div>
</div>
</div>
</div>
<div
class=
"content_item"
>
<div
class=
"label"
>
建安费暂估
</div>
<div
class=
"content_right content_right1"
>
<div
class=
"land_content_wrap-flex"
>
<el-input
class=
"other_ipt"
placeholder=
"输入最低金额"
@
change=
"changeMoney('start','startProjectSafeAmount','endProjectSafeAmount')"
v-limit-num
clearable
v-model=
"jskBidNewsDto.startProjectSafeAmount"
></el-input>
<span
class=
"other_label_span"
>
至
</span>
<el-input
placeholder=
"输入最高金额"
@
change=
"changeMoney('end','startProjectSafeAmount','endProjectSafeAmount')"
v-limit-num
v-model=
"jskBidNewsDto.endProjectSafeAmount"
clearable
class=
"other_ipt other_ipt1"
>
<el-button
slot=
"append"
type=
"primary"
>
万元
</el-button>
</el-input>
</div>
<div
class=
"land_content_wrap-flex"
>
<div
class=
"land_content_wrap_label"
>
勘察费暂估
</div>
<el-input
class=
"other_ipt"
placeholder=
"输入最低金额"
@
change=
"changeMoney('start','startProjectSurveyAmount','endProjectSurveyAmount')"
v-limit-num
clearable
v-model=
"jskBidNewsDto.startProjectSurveyAmount"
></el-input>
<span
class=
"other_label_span"
>
至
</span>
<el-input
placeholder=
"输入最高金额"
@
change=
"changeMoney('end','startProjectSurveyAmount','endProjectSurveyAmount')"
v-limit-num
v-model=
"jskBidNewsDto.endProjectSurveyAmount"
clearable
class=
"other_ipt other_ipt1"
>
<el-button
slot=
"append"
type=
"primary"
>
万元
</el-button>
</el-input>
</div>
<div
class=
"land_content_wrap-flex"
>
<div
class=
"land_content_wrap_label"
>
设计费暂估
</div>
<el-input
class=
"other_ipt"
placeholder=
"输入最低金额"
@
change=
"changeMoney('start','startProjectDesignAmount','endProjectDesignAmount')"
v-limit-num
clearable
v-model=
"jskBidNewsDto.startProjectDesignAmount"
></el-input>
<span
class=
"other_label_span"
>
至
</span>
<el-input
placeholder=
"输入最高金额"
@
change=
"changeMoney('end','startProjectDesignAmount','endProjectDesignAmount')"
v-limit-num
v-model=
"jskBidNewsDto.endProjectDesignAmount"
clearable
class=
"other_ipt other_ipt1"
>
<el-button
slot=
"append"
type=
"primary"
>
万元
</el-button>
</el-input>
</div>
</div>
</div>
<div
class=
"content_item"
>
<div
class=
"label"
>
资质要求
</div>
<div
class=
"content_right"
>
<el-input
class=
"ename_input"
placeholder=
"请输入关键词句,如:施工总承包三级"
v-model=
"jskBidNewsDto.qualiLimit"
></el-input>
<span
class=
"land_content_wrap_label_tipspan"
>
<el-tooltip
popper-class=
"explain_tooltip"
content=
"根据输入的关键词全称进行匹配"
placement=
"bottom"
effect=
"light"
>
<img
class=
"tip_svg"
src=
"@/assets/images/bxpro/tipf.png"
>
</el-tooltip>
</span>
</div>
</div>
<div
class=
"content_item"
>
<div
class=
"label"
>
业绩要求
</div>
<div
class=
"content_right"
>
<el-input
class=
"ename_input"
placeholder=
"请输入关键词句,如:建筑工程"
v-model=
"jskBidNewsDto.projectLimit"
></el-input>
<span
class=
"land_content_wrap_label_tipspan"
>
<el-tooltip
popper-class=
"explain_tooltip"
content=
"根据输入的关键词全称进行匹配"
placement=
"bottom"
effect=
"light"
>
<img
class=
"tip_svg"
src=
"@/assets/images/bxpro/tipf.png"
>
</el-tooltip>
</span>
</div>
</div>
<div
class=
"content_item"
>
<div
class=
"label"
>
人员要求
</div>
<div
class=
"content_right"
>
<el-input
class=
"ename_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"
>
<img
class=
"tip_svg"
src=
"@/assets/images/bxpro/tipf.png"
>
</el-tooltip>
</span>
</div>
</div>
<div
class=
"content_item content_item_padding0"
>
<div
class=
"geduan"
>
</div>
</div>
<div
class=
"content_item content_item_padding0"
>
<div
class=
"label"
>
招标人
</div>
<div
class=
"content_right content_right1"
>
<div
class=
"content_right1-flex"
>
<el-input
style=
"width: 520px;"
v-model=
"jskBidNewsDto.tenderee"
clearable
placeholder=
"请输入关键字"
/>
</div>
<div
class=
"content_right1-flex"
style=
"margin-left: 106px;"
>
<div
class=
"label-zi"
>
代理机构
</div>
<el-input
style=
"width: 520px;"
v-model=
"jskBidNewsDto.agency"
clearable
placeholder=
"请输入关键字"
/>
</div>
</div>
</div>
<div
class=
"content_item content_item_padding0"
>
<div
class=
"geduan"
>
</div>
</div>
<div
class=
"content_item content_item_padding0"
>
<div
class=
"search-new"
>
<span
@
click=
"search()"
>
查询
</span>
<span
@
click=
"reset"
>
重置
</span>
</div>
</div>
</div>
</div>
<div
class=
"content"
>
<div
class=
"bottomlist"
>
<!--条件-->
<div
class=
"bottomlist-title"
>
<div
id=
"tender_wrap"
class=
"content_wrap"
>
<div></div>
<
template
>
<div
class=
"title-right"
>
<p>
共有{{total}}条
</p>
<p>
<div
class=
"land_content_wrap "
>
<img
src=
"@/assets/images/EXCEL.png"
alt=
""
>
<span>
导出EXCEL
</span>
</p>
</div>
</div>
<div
class=
"table-item"
>
<el-table
:data=
"tableData"
element-loading-text=
"Loading"
border
fit
highlight-current-row
>
<el-table-column
label=
"序号"
width=
"60"
>
<
template
slot-scope=
"scope"
>
1
</
template
>
</div>
</el-table-column>
<el-table-column
label=
"发布日期"
width=
"160"
>
<div
v-show=
"selectedHeights"
>
<
template
slot-scope=
"scope"
>
<div
class=
"land_content_wrap "
>
通过
<div
class=
"land_content_wrap-flex"
>
</
template
>
<div
class=
"land_content_wrap_label"
>
建安费暂估
</el-table-column>
<el-table-column
label=
"项目名称"
>
</div>
<
template
slot-scope=
"scope"
>
<el-input
class=
"other_ipt"
placeholder=
"输入最低金额"
@
change=
"changeMoney('start','startProjectSafeAmount','endProjectSafeAmount')"
v-limit-num
clearable
<router-link
:to=
"'/radar/bxprozbgg/details/'+ 1"
tag=
"a"
class=
"list-titel-a"
>
绿色节能型压缩机基础件、汽车零配件新建项目 (芜湖旭日机械制造有限公司)
</router-link>
v-model=
"jskBidNewsDto.startProjectSafeAmount"
></el-input>
</
template
>
<span
class=
"land_content_wrap_label_span"
>
至
</span>
<el-input
placeholder=
"输入最高金额"
@
change=
"changeMoney('end','startProjectSafeAmount','endProjectSafeAmount')"
v-limit-num
</el-table-column>
v-model=
"jskBidNewsDto.endProjectSafeAmount"
clearable
class=
"other_ipt other_ipt1"
>
<el-table-column
label=
"工程用途"
width=
"200"
>
<el-button
slot=
"append"
type=
"primary"
>
万元
</el-button>
<
template
slot-scope=
"scope"
>
</el-input>
--
</div>
</
template
>
<div
class=
"land_content_wrap-flex"
>
<div
class=
"land_content_wrap_label"
>
勘察费暂估
</el-table-column>
<el-table-column
prop=
"zj"
label=
"项目金额"
width=
"200"
>
</div>
<
template
slot-scope=
"scope"
>
<el-input
class=
"other_ipt"
placeholder=
"输入最低金额"
@
change=
"changeMoney('start','startProjectSurveyAmount','endProjectSurveyAmount')"
v-limit-num
clearable
2022-08-28
v-model=
"jskBidNewsDto.startProjectSurveyAmount"
></el-input>
</
template
>
<span
class=
"land_content_wrap_label_span"
>
至
</span>
<el-input
placeholder=
"输入最高金额"
@
change=
"changeMoney('end','startProjectSurveyAmount','endProjectSurveyAmount')"
v-limit-num
</el-table-column>
v-model=
"jskBidNewsDto.endProjectSurveyAmount"
clearable
class=
"other_ipt other_ipt1"
>
</el-table>
<el-button
slot=
"append"
type=
"primary"
>
万元
</el-button>
</div>
</el-input>
</div>
<div
class=
"land_content_wrap-flex"
>
<div
class=
"land_content_wrap_label"
>
设计费暂估
</div>
<div
class=
"pagination clearfix"
v-show=
"total>0"
>
<el-input
class=
"other_ipt"
placeholder=
"输入最低金额"
@
change=
"changeMoney('start','startProjectDesignAmount','endProjectDesignAmount')"
v-limit-num
clearable
<el-pagination
v-model=
"jskBidNewsDto.startProjectDesignAmount"
></el-input>
background
<span
class=
"land_content_wrap_label_span"
>
至
</span>
:page-size=
"pageSize"
<el-input
placeholder=
"输入最高金额"
@
change=
"changeMoney('end','startProjectDesignAmount','endProjectDesignAmount')"
v-limit-num
:current-page=
"page"
v-model=
"jskBidNewsDto.endProjectDesignAmount"
clearable
class=
"other_ipt other_ipt1"
>
@
current-change=
"handleCurrentChange"
<el-button
slot=
"append"
type=
"primary"
>
万元
</el-button>
layout=
"prev, pager, next"
</el-input>
:total=
"total"
>
</div>
</el-pagination>
</div>
</div>
<div
class=
"land_content_wrap"
style=
"margin-top: 16px"
>
</div>
<span
class=
"land_content_wrap_label"
style=
""
>
资质要求
</span>
<el-input
<!-- 关键词弹窗 -->
style=
"margin-left:12px;"
<Keyword
ref=
"keyword"
@
keywordClick=
"keywordClick"
/>
v-model=
"jskBidNewsDto.qualiLimit"
clearable
placeholder=
"请输入关键词句,如:施工总承包三级"
>
</el-input>
<span
class=
"land_content_wrap_label_tipspan"
>
<el-tooltip
popper-class=
"explain_tooltip"
content=
"根据输入的关键词全称进行匹配"
placement=
"bottom"
effect=
"light"
>
<img
class=
"tip_svg"
src=
"@/assets/images/bxpro/tipf.png"
alt=
"排除资质-建设库"
>
</el-tooltip>
</span>
<span
class=
"land_content_wrap_label"
style=
"margin-left: 24px;margin-right:16px;width: 58px;"
>
业绩要求
</span>
<el-input
style=
"margin-left:12px;"
v-model=
"jskBidNewsDto.projectLimit"
clearable
placeholder=
"请输入关键词句,如:建筑工程"
>
</el-input>
<span
class=
"land_content_wrap_label_tipspan"
>
<el-tooltip
popper-class=
"explain_tooltip"
content=
"根据输入的关键词全称进行匹配"
placement=
"bottom"
effect=
"light"
>
<img
class=
"tip_svg"
src=
"@/assets/images/bxpro/tipf.png"
alt=
"排除资质-建设库"
>
</el-tooltip>
</span>
</div>
<div
class=
"land_content_wrap"
>
<span
class=
"land_content_wrap_label"
style=
"line-height:34px;"
>
人员要求
</span>
<el-input
style=
"margin-left:12px;"
v-model=
"jskBidNewsDto.personLimit"
clearable
placeholder=
"请输入关键词句,如:一级建造师"
>
</el-input>
<span
class=
"land_content_wrap_label_tipspan"
>
<el-tooltip
popper-class=
"explain_tooltip"
content=
"根据输入的关键词全称进行匹配"
placement=
"bottom"
effect=
"light"
>
<img
class=
"tip_svg"
src=
"@/assets/images/bxpro/tipf.png"
alt=
"排除资质-建设库"
>
</el-tooltip>
</span>
</div>
<div
class=
"line"
></div>
<div
class=
"land_content_wrap"
style=
"margin-top: 16px"
>
<span
class=
"land_content_wrap_label"
style=
"margin-left: 14px;"
>
招标人
</span>
<el-input
style=
"margin-left:12px;"
v-model=
"jskBidNewsDto.tenderee"
clearable
placeholder=
"请输入关键字"
>
</el-input>
<span
class=
"land_content_wrap_label"
style=
"margin-left: 24px;margin-right:16px;width: 58px;"
>
代理机构
</span>
<el-input
v-model=
"jskBidNewsDto.agency"
clearable
placeholder=
"请输入关键字"
></el-input>
</div>
</div>
<div
class=
"search-new"
style=
"padding: 0px 0px 16px 76px !important;border: 0;margin: 0;"
>
<span
@
click=
"bxproggSearch()"
>
查询
</span>
<span
@
click=
"reset1"
>
重置
</span>
</div>
</
template
>
<div
class=
"data_list"
v-if=
"showList"
>
<div
style=
"height: 16px;width: 1200px;background: #F7F9FC;margin-left: -16px;"
></div>
<div
class=
"data_list_head"
>
共为您找到
<span
class=
"data_list_count"
>
{{ total }}
</span>
条相关结果
<div
class=
"bottom-toolbar-right float_right"
style=
"padding-top: 1px;"
>
<span
size=
"small"
class=
"toolbar-right-download toolbar-right-download1"
style=
"margin-right:0;"
@
click=
"bxproggSearch('','','isExport')"
>
导出数据
</span>
</div>
<div
class=
"bottom-toolbar-right float_right"
style=
"position:relative;top:1px;"
>
<el-popover
v-model=
"fieldshow"
placement=
"bottom-end"
trigger=
"click"
popper-class=
"viewlist-el-popover"
>
<ul
class=
"pup_list"
>
<li
v-for=
"(itme,i) in fieldOptions"
:class=
"itme.status?'active':''"
@
click=
"handsequencingList(i)"
:key=
"i"
>
<div
style=
"position: relative;"
>
{{itme.value}}
</div>
</li>
</ul>
<span
slot=
"reference"
class=
"toolbar-right-download"
style=
"width: auto;padding: 0px 8px;"
>
{{fieldText}}
<i
class=
"el-icon-caret-bottom"
:style=
"{transform:fieldshow?'rotate(180deg)':''}"
></i>
</span>
</el-popover>
</div>
<div
class=
"data_list_btn float_right"
>
<el-checkbox-group
v-model=
"checkList"
@
change=
"lowerRateClick()"
>
<el-checkbox
:label=
"item.value"
v-for=
"(item, index) in checkType"
:key=
"index"
>
{{item.name}}
</el-checkbox>
</el-checkbox-group>
<!-- <el-checkbox @change="lowerRateClick()" v-model="checked">只看有符合企业的项目</el-checkbox>-->
<!--<div @click="lowerRateClick(0)" :class="activeIndex==0?'data_list_btn_active':''">只看有符合企业的项目</div>-->
<!--<div @click="lowerRateClick(1)" :class="[activeIndex==1?'data_list_btn_active':'']">按符合企业</div>-->
</div>
</div>
<div
v-if=
"total > 0"
class=
"bxpro_list"
>
<div
style=
"border-top:1px solid #efefef;padding-top: 25px"
>
<el-table
:data=
"tableData"
border
max-height=
"608"
ref=
"multipleTable"
style=
"width: 100%;"
>
<el-table-column
:resizable=
"false"
label=
"发布日期"
width=
"112"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
pubdate
?
scope
.
row
.
pubdate
:
'--'
}}
</
template
>
</el-table-column>
<el-table-column
:resizable=
"false"
label=
"项目名称"
min-width=
"186"
>
<
template
slot-scope=
"scope"
>
<span
class=
"bxpro_list_titles"
v-if=
"!scope.row.id && scope.row.projectName"
v-html=
"scope.row.projectName"
></span>
<span
class=
"bxpro_list_titles"
v-html=
"scope.row.projectName"
></span>
</
template
>
</el-table-column>
<el-table-column
:resizable=
"false"
label=
"工程用途"
width=
"115"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.projectPurposes"
>
{{
scope
.
row
.
projectPurposes
}}
</span>
<span
v-else
>
--
</span>
</
template
>
</el-table-column>
<el-table-column
:resizable=
"false"
label=
"项目金额"
width=
"190"
>
<
template
slot-scope=
"scope"
>
<ul
class=
"bxpro_list_money"
>
<template
v-if=
"scope.row.projectInvestmentAmount ||
scope.row.projectContractAmount ||
scope.row.projectSafeAmount ||
scope.row.projectSurveyAmount ||
scope.row.projectDesignAmount"
>
<li
v-if=
"scope.row.projectInvestmentAmount"
>
<span
>
<span
>
投资额:
{{
scope
.
row
.
projectInvestmentAmount
}}
万元
</span>
</span>
</li>
<li
v-if=
"scope.row.projectContractAmount"
>
<span
>
<span
>
控制价:
{{
scope
.
row
.
projectContractAmount
}}
万元
</span>
</span>
</li>
<li
v-if=
"scope.row.projectSafeAmount"
>
<span
>
<span
>
建安费:
{{
scope
.
row
.
projectSafeAmount
}}
万元
</span>
</span>
</li>
<li
v-if=
"scope.row.projectSurveyAmount"
>
<span
>
<span
>
勘察费:
{{
scope
.
row
.
projectSurveyAmount
}}
万元
</span>
</span>
</li>
<li
v-if=
"scope.row.projectDesignAmount"
>
<span
>
<span
>
设计费:
{{
scope
.
row
.
projectDesignAmount
}}
万元
</span>
</span>
</li>
</
template
>
<li
v-else
>
--
</li>
</ul>
</template>
</el-table-column>
<el-table-column
:resizable=
"false"
label=
"投标保证金"
width=
"128"
>
<
template
slot-scope=
"scope"
>
<ul
class=
"bxpro_list_money"
>
<template
v-if=
"scope.row.projectEnsureAmount"
>
<li>
<span
>
<span
>
{{
scope
.
row
.
projectEnsureAmount
}}
万元
</span>
</span>
</li>
</
template
>
<li
v-else
>
--
</li>
</ul>
</template>
</el-table-column>
<el-table-column
:resizable=
"false"
label=
"评标办法"
width=
"105"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.bidAssessmentWay"
>
{{
scope
.
row
.
bidAssessmentWay
}}
</span>
<span
v-else
>
--
</span>
</
template
>
</el-table-column>
<el-table-column
:resizable=
"false"
label=
"评标委员会有无业主代表"
width=
"105"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.bidMettingHasProjectUnit == 0"
>
未公示
</span>
<span
v-if=
"scope.row.bidMettingHasProjectUnit == 1"
>
无
</span>
<span
v-if=
"scope.row.bidMettingHasProjectUnit == 2"
>
有
</span>
</
template
>
</el-table-column>
<el-table-column
:resizable=
"false"
label=
"有无预付款"
width=
"102"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.hasAdvanceAmount == 0"
>
未公示
</span>
<span
v-if=
"scope.row.hasAdvanceAmount == 1"
>
无
</span>
<span
v-if=
"scope.row.hasAdvanceAmount == 2"
>
有
</span>
</
template
>
</el-table-column>
<el-table-column
:resizable=
"false"
label=
"招标人"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<ul
class=
"bxpro_list_money"
>
<li>
<div
v-if=
"!scope.row.tendereeId && scope.row.tenderee"
>
{{
scope
.
row
.
tenderee
}}
</div>
<div
v-else
>
--
</div>
</li>
</ul>
</
template
>
</el-table-column>
</el-table>
</div>
</div>
<div
v-else
style=
"border-top:1px solid #efefef;padding-bottom:1px;width: 1200px;margin-left: -16px;"
>
<div
class=
"search_empty_wrap"
>
<ul>
<li
class=
"search_empty_wrap_li search_empty_wrap_li1"
>
没有找到相关数据,您可尝试:
</li>
<li
class=
"search_empty_wrap_li"
><i
class=
"disc"
></i>
输入更准确的关键词,重新搜索
</li>
<li
class=
"search_empty_wrap_li"
><i
class=
"disc"
></i>
尝试减少输入的关键词,增加搜索范围
</li>
<li
class=
"search_empty_wrap_li"
><i
class=
"disc"
></i>
更换筛选条件,重新搜索
</li>
<li
class=
"search_empty_wrap_li"
><i
class=
"disc"
></i>
联系客服进行反馈
<span>
023-62798729
</span>
(工作日09:00-18:00)或
<span><nuxt-link
title=
"意见反馈"
:to=
"`/feedback/`"
target=
"_blank"
>
意见反馈
</nuxt-link></span></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
jsk_data
from
'../../../../../public/jsk.json'
;
import
jsk_data
from
'../../../../../public/jsk.json'
;
import
Keyword
from
"@/components/Keyword"
;
export
default
{
export
default
{
name
:
"bxprozbgg"
,
name
:
"bxprozbgg"
,
components
:
{
components
:
{
Keyword
},
},
data
(){
data
(){
return
{
return
{
...
@@ -897,10 +750,20 @@ import jsk_data from '../../../../../public/jsk.json';
...
@@ -897,10 +750,20 @@ import jsk_data from '../../../../../public/jsk.json';
projectLevel
:
[],
projectLevel
:
[],
},
},
tableData
:
[],
id
:
""
,
id
:
""
,
companyName1
:
""
,
companyName1
:
""
,
type
:
""
,
type
:
""
,
tableData
:
[{
id
:
0
,
name
:
'20重庆债14(2005938)'
,
time
:
'2020-09-18'
,
gm
:
'285.24'
,
zj
:
'否'
,
}],
total
:
6000
,
page
:
1
,
pageSize
:
20
,
permissions
:{
permissions
:{
"search"
:
[
"search"
:
[
{
{
...
@@ -1984,7 +1847,7 @@ import jsk_data from '../../../../../public/jsk.json';
...
@@ -1984,7 +1847,7 @@ import jsk_data from '../../../../../public/jsk.json';
});
});
},
},
reset
1
(){
reset
(){
Object
.
assign
(
this
.
$data
,
this
.
$options
.
data
.
call
(
this
));
//重置data
Object
.
assign
(
this
.
$data
,
this
.
$options
.
data
.
call
(
this
));
//重置data
// this.clickProvince(0,1);
// this.clickProvince(0,1);
this
.
bxproggSearch
();
this
.
bxproggSearch
();
...
@@ -2115,6 +1978,52 @@ import jsk_data from '../../../../../public/jsk.json';
...
@@ -2115,6 +1978,52 @@ import jsk_data from '../../../../../public/jsk.json';
}
}
}
}
}
}
.include-keywords
{
display
:
flex
;
align-items
:
center
;
position
:
relative
;
.lefttltel
{
display
:
inline-block
;
background
:
#F3F4F5
;
color
:
#333
;
border
:
1px
solid
#F3F4F5
;
border-right
:
none
;
opacity
:
1
;
width
:
44px
;
height
:
34px
;
text-align
:
center
;
line-height
:
34px
;
}
.el-input
{
line-height
:
34px
;
border-radius
:
0
;
::v-deep
.el-input__inner
{
height
:
34px
;
line-height
:
34px
;
border-radius
:
0
;
}
}
.commonly-input
{
::v-deep
.el-input__inner
{
padding-right
:
100px
;
}
}
.commonly
{
position
:
absolute
;
top
:
8px
;
right
:
16px
;
font-size
:
14px
;
font-weight
:
400
;
color
:
#0081ff
;
cursor
:
pointer
;
}
}
.ename_input
{
.ename_input
{
width
:
640px
;
width
:
640px
;
...
@@ -2125,8 +2034,8 @@ import jsk_data from '../../../../../public/jsk.json';
...
@@ -2125,8 +2034,8 @@ import jsk_data from '../../../../../public/jsk.json';
}
}
.land_content_wrap-flex
{
.land_content_wrap-flex
{
display
:
flex
;
display
:
flex
;
line-height
:
34
px
;
line-height
:
28
px
;
margin-right
:
33
px
;
margin-right
:
102
px
;
}
}
.land_content_wrap-flex
:last-child
{
.land_content_wrap-flex
:last-child
{
margin-right
:
0
;
margin-right
:
0
;
...
@@ -2140,9 +2049,11 @@ import jsk_data from '../../../../../public/jsk.json';
...
@@ -2140,9 +2049,11 @@ import jsk_data from '../../../../../public/jsk.json';
.other_ipt
{
.other_ipt
{
width
:
104px
;
width
:
104px
;
height
:
34px
;
height
:
28px
;
line-height
:
28px
;
::v-deep
.el-input__inner
{
::v-deep
.el-input__inner
{
width
:
104px
;
height
:
28px
;
line-height
:
28px
;
padding
:
0
8px
;
padding
:
0
8px
;
}
}
...
@@ -2155,7 +2066,13 @@ import jsk_data from '../../../../../public/jsk.json';
...
@@ -2155,7 +2066,13 @@ import jsk_data from '../../../../../public/jsk.json';
span
{
span
{
color
:
#333333
;
color
:
#333333
;
}
}
.el-button
{
height
:
26px
;
line-height
:
26px
;
}
width
:
49px
;
width
:
49px
;
height
:
26px
;
line-height
:
26px
;
padding
:
0
8px
;
padding
:
0
8px
;
}
}
}
}
...
@@ -2166,10 +2083,30 @@ import jsk_data from '../../../../../public/jsk.json';
...
@@ -2166,10 +2083,30 @@ import jsk_data from '../../../../../public/jsk.json';
font-weight
:
400
;
font-weight
:
400
;
color
:
#232323
;
color
:
#232323
;
}
}
.land_content_wrap_label_tipspan
{
display
:
inline-block
;
line-height
:
34px
;
position
:
relative
;
.tip_svg
{
width
:
16px
;
height
:
16px
;
margin-left
:
4px
;
}
}
}
}
.content_right1
{
.content_right1
{
display
:
flex
;
display
:
flex
;
.content_right1-flex
{
align-items
:
center
;
display
:
flex
;
.label-zi
{
font-size
:
14px
;
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
margin-right
:
24px
;
}
}
}
}
.item_ckquery_list
{
.item_ckquery_list
{
...
@@ -2239,7 +2176,6 @@ import jsk_data from '../../../../../public/jsk.json';
...
@@ -2239,7 +2176,6 @@ import jsk_data from '../../../../../public/jsk.json';
align-items
:
center
;
align-items
:
center
;
margin-top
:
12px
;
margin-top
:
12px
;
padding
:
16px
;
padding
:
16px
;
border-bottom
:
1px
solid
#EFEFEF
;
.title-right
{
.title-right
{
display
:
flex
;
display
:
flex
;
...
@@ -2264,491 +2200,25 @@ import jsk_data from '../../../../../public/jsk.json';
...
@@ -2264,491 +2200,25 @@ import jsk_data from '../../../../../public/jsk.json';
}
}
}
}
.bottomlist-content
{
.table-item
{
padding
:
0px
16px
;
padding-bottom
:
0px
;
.list-titel-a
{
}
color
:
#0081FF
;
.bottomlist-list
{
padding
:
16px
;
font-size
:
14px
;
border-bottom
:
1px
solid
#EFEFEF
;
padding-bottom
:
14px
;
.list-titel
{
font-size
:
16px
;
font-weight
:
700
;
color
:
#3D3D3D
;
line-height
:
19px
;
.list-titel-a
{
text-decoration
:
none
;
color
:
#3D3D3D
;
}
a
:hover
,
a
:visited
,
a
:link
,
a
:active
{
color
:
#3D3D3D
;
}
}
.content-label
{
margin-top
:
7px
;
.list-label
{
background
:
#F3F3FF
;
color
:
#8491E8
;
border-radius
:
1px
1px
1px
1px
;
padding
:
3px
7px
;
font-size
:
12px
;
}
}
}
.list-content
{
margin-top
:
3px
;
display
:
flex
;
justify-content
:
start
;
align-items
:
center
;
.list-content-text
{
margin-top
:
7px
;
display
:
flex
;
justify-content
:
start
;
align-items
:
center
;
margin-right
:
27px
;
font-size
:
14px
;
span
:first-child
{
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
line-height
:
15px
}
span
:last-child
{
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
line-height
:
15px
}
.blue
{
color
:
#0081FF
!
important
;
cursor
:
pointer
;
}
}
}
.list-addree
{
width
:
auto
;
background
:
#F3F4F5
;
display
:
inline-flex
;
margin-top
:
7px
;
.list-content-text
{
margin-top
:
0px
;
span
{
line-height
:
30px
!
important
;
}
}
img
{
width
:
14px
;
margin
:
0
8px
;
}
}
}
}
.bottomlist-
list
:hover
{
.bottomlist-
content
{
background
:
#F6F9FC
;
cursor
:
pointer
;
padding-bottom
:
0px
;
}
}
.pagination
{
.pagination
{
padding
:
14px
;
padding
:
14px
;
.el-pagination
{
.el-pagination
{
float
:
right
;
float
:
right
;
margin-right
:
-8px
;
}
}
}
}
}
}
</
style
>
</
style
>
<
style
lang=
"scss"
scoped
>
.report_wrap
{
position
:
fixed
;
bottom
:
56px
;
left
:
24px
;
.report_img
{
width
:
183px
;
height
:
249px
;
}
.to_library
{
width
:
104px
;
height
:
32px
;
display
:
block
;
line-height
:
32px
;
text-align
:
center
;
font-size
:
14px
;
margin
:
16px
auto
;
color
:
#FFFFFF
;
background
:
#0081FF
;
border-radius
:
5px
5px
5px
5px
;
cursor
:
pointer
;
&
:hover
{
background
:
#185ECA
;
}
}
.close_img
{
position
:
absolute
;
right
:
-26px
;
top
:
-12px
;
width
:
21px
;
height
:
20px
;
cursor
:
pointer
;
}
}
#tender_wrap
{
//padding: 0 16px;
font-size
:
14px
;
.data_list_btn
{
margin
:
9px
16px
0
0
;
height
:
32px
;
line-height
:
32px
;
border-radius
:
2px
2px
2px
2px
;
opacity
:
1
;
color
:
#333333
;
box-sizing
:
border-box
;
position
:
relative
;
div
{
text-align
:
center
;
display
:
inline-block
;
cursor
:
pointer
;
//padding: 0 6px;
box-sizing
:
border-box
;
}
::v-deep
.el-checkbox__label
{
padding-left
:
4px
;
}
.data_list_btn_active
{
height
:
32px
;
line-height
:
32px
;
}
}
.land_content_wrap
{
margin-bottom
:
16px
;
}
.tender_content_wrap
{
margin-top
:
16px
;
}
.content_li
{
padding
:
16px
0
;
display
:
flex
;
align-items
:
center
;
position
:
relative
;
.content_item
{
.include-keywords
{
display
:
flex
;
align-items
:
center
;
position
:
relative
;
.lefttltel
{
display
:
inline-block
;
background
:
#f5f5f5
;
color
:
#333
;
border
:
1px
solid
#efefef
;
border-right
:
none
;
opacity
:
1
;
width
:
44px
;
height
:
40px
;
text-align
:
center
;
line-height
:
40px
;
}
.el-input
{
line-height
:
40px
;
border-radius
:
0
;
::v-deep
.el-input__inner
{
width
:
100%
;
height
:
40px
;
line-height
:
40px
;
border-radius
:
0
;
}
}
.commonly-input
{
::v-deep
.el-input__inner
{
padding-right
:
100px
;
}
}
.commonly
{
position
:
absolute
;
top
:
10px
;
right
:
16px
;
font-size
:
14px
;
font-weight
:
400
;
color
:
#0081ff
;
cursor
:
pointer
;
}
}
}
}
.data_list_head
{
height
:
50px
;
line-height
:
50px
;
color
:
#666666
;
.data_list_count
{
color
:
#ff2a00
;
font-weight
:
bold
;
}
}
}
.dropdown_item
:hover
{
background-color
:
#F4F6F9
;
color
:
#0081FF
;
}
#search-bxprozbgg
{
.businessOpportunities_box
{
position
:
relative
;
.businessOpportunities_dow
{
position
:
absolute
;
top
:
12px
;
right
:
15px
;
.dow-dropdown-link
{
display
:
block
;
width
:
138px
;
height
:
32px
;
line-height
:
32px
;
background
:
#FFFFFF
;
border-radius
:
2px
2px
2px
2px
;
border
:
1px
solid
#0081FF
;
text-align
:
center
;
font-size
:
14px
;
color
:
#0081FF
;
}
::v-deep
.el-select
{
width
:
90px
;
height
:
32px
;
line-height
:
32px
;
background
:
#FFFFFF
;
border-radius
:
2px
2px
2px
2px
;
text-align
:
center
;
margin
:
0
;
font-size
:
14px
;
color
:
#0081FF
;
position
:
absolute
;
left
:
-96px
;
top
:
-1px
;
.el-input
{
width
:
100%
;
height
:
32px
;
line-height
:
32px
;
}
.el-input__inner
{
width
:
100%
;
height
:
32px
;
line-height
:
32px
;
border
:
1px
solid
#0081FF
;
color
:
#0081FF
;
}
.
el-input__inner
:
:-
webkit-input-placeholder
{
color
:
#0081FF
!
important
;
}
.
el-input__inner
:
:-
moz-placeholder
{
color
:
#0081FF
!
important
;
}
.el-select__caret
{
color
:
#0081FF
;
}
}
}
}
.land_content_wrap_label_tipspan
{
display
:
inline-block
;
line-height
:
34px
;
position
:
relative
;
.tip_svg
{
width
:
16px
;
height
:
16px
;
margin-left
:
4px
;
}
}
}
.tip_svg-popper-img
{
position
:
absolute
;
top
:
-7px
;
right
:
4px
;
}
.activeTab
{
font-weight
:
bold
;
color
:
#333333
;
border-bottom
:
2px
solid
#0081FF
;
}
.lowerRate_img
{
position
:
absolute
;
top
:
7px
;
right
:
-30px
;
width
:
36px
;
height
:
14px
;
}
.bxpro_list
{
::v-deep
.el-table
{
th
{
line-height
:
23px
;
color
:
#999
;
background
:
#f2f9fc
;
.cell
{
overflow
:
unset
;
color
:
#999999
;
font-weight
:
400
;
}
}
.cell
{
font-size
:
14px
;
color
:
#333333
;
}
}
.bxpro_list_title
{
font-weight
:
400
;
color
:
#0081FF
;
line-height
:
18px
;
//margin-bottom: 10px;
}
.bxpro_list_titles
{
display
:
block
;
max-height
:
55px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
display
:
-
webkit-box
;
-webkit-line-clamp
:
3
;
line-clamp
:
3
;
-webkit-box-orient
:
vertical
;
}
.bxpro_list_fl
{
overflow
:
hidden
;
span
{
float
:
left
;
padding
:
4px
8px
;
font-size
:
12px
;
line-height
:
12px
;
color
:
#41A1FD
;
background
:
#E4F3FD
;
margin-right
:
12px
;
margin-top
:
4px
;
&
:last-child
{
margin-right
:
0
;
}
}
}
.bxpro_list_money
{
li
{
margin-bottom
:
8px
;
line-height
:
18px
;
display
:
flex
;
&
:last-child
{
margin-bottom
:
0
;
}
}
}
.bxpro_list_yjhq
{
display
:
block
;
text-align
:
center
;
width
:
100%
;
//height: 28px;
//line-height: 28px;
//border-radius: 2px 2px 2px 2px;
font-size
:
14px
;
margin
:
0
auto
;
cursor
:pointer
;
}
.bxpro_list_yjhq1
{
&
:hover
{
color
:
#0081FF
;
}
}
.bxpro_list_yjhq_ns
{
color
:
#333333
;
//border: 1px solid #0081FF;
}
.bxpro_list_yjhq_hs
{
color
:
#999999
;
//background: #C8C8C8;
}
.tip_svg
{
margin-right
:
6px
;
position
:
relative
;
top
:
-1px
;
}
}
.bxprozbgg_yjlq
{
.bxprozbgg_yjlq_h1
{
font-weight
:
400
;
color
:
#3D3D3D
;
line-height
:
22px
;
font-size
:
16px
;
}
.bxprozbgg_yjlq_p
{
p
{
font-weight
:
400
;
color
:
#666666
;
line-height
:
22px
;
}
}
}
.bxpro_list_ellipsis
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
display
:
-
webkit-box
;
-webkit-line-clamp
:
2
;
line-clamp
:
2
;
-webkit-box-orient
:
vertical
;
}
.pup_list
.pup_list_svip_img
{
position
:
absolute
;
top
:
0
;
right
:
-10px
;
width
:
24px
;
}
.el-popover
.pup_list
li
div
{
display
:
inline-block
;
}
.content
.content_wrap
.content_item
{
padding
:
0
!
important
;
}
.bxprozbsh
{
max-height
:
70px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
display
:
-
webkit-box
;
-webkit-line-clamp
:
3
;
// 控制多行的行数
-webkit-box-orient
:
vertical
;
}
::v-deep
.el-table__fixed-right
{
height
:
100%
!
important
;
}
::v-deep
.el-table__fixed
{
height
:
100%
!
important
;
}
::v-deep
.el-table__body-wrapper
::-webkit-scrollbar
{
height
:
10px
;
width
:
10px
;
}
::v-deep
.el-table__body-wrapper
::-webkit-scrollbar-track
{
background-color
:
#FFFFFF
;
}
::v-deep
.el-table__body-wrapper
::-webkit-scrollbar-thumb
{
background-color
:
#E1E1E1
;
}
</
style
>
dsk-operate-ui/src/views/radar/components/debtProject/index.vue
View file @
8303eb06
...
@@ -72,8 +72,8 @@
...
@@ -72,8 +72,8 @@
<div
class=
"content_item content_item_padding0"
>
<div
class=
"content_item content_item_padding0"
>
<div
class=
"search-new"
>
<div
class=
"search-new"
>
<span>
查询
</span>
<span
@
click=
"search()"
>
查询
</span>
<span>
重置
</span>
<span
@
click=
"reset"
>
重置
</span>
</div>
</div>
</div>
</div>
...
@@ -448,6 +448,12 @@
...
@@ -448,6 +448,12 @@
},
},
handleCurrentChange
(
val
){
handleCurrentChange
(
val
){
},
search
(){
},
reset
(){
}
}
}
}
}
}
...
...
dsk-operate-ui/src/views/radar/index.vue
View file @
8303eb06
...
@@ -21,6 +21,9 @@
...
@@ -21,6 +21,9 @@
<Establishment
v-if=
"personnelHerf=='Establishment'"
/>
<Establishment
v-if=
"personnelHerf=='Establishment'"
/>
<!-- 标讯pro -->
<!-- 标讯pro -->
<bxprozbgg
v-if=
"personnelHerf=='bxprozbgg'"
/>
<bxprozbgg
v-if=
"personnelHerf=='bxprozbgg'"
/>
<!-- 公招标讯 -->
<Tender
v-if=
"personnelHerf=='Tender'"
/>
</div>
</div>
...
@@ -30,10 +33,12 @@
...
@@ -30,10 +33,12 @@
import
Land
from
"./components/Land/index.vue"
;
import
Land
from
"./components/Land/index.vue"
;
import
Establishment
from
"./components/Establishment/index.vue"
;
import
Establishment
from
"./components/Establishment/index.vue"
;
import
bxprozbgg
from
"./components/bxprozbgg/index.vue"
;
import
bxprozbgg
from
"./components/bxprozbgg/index.vue"
;
import
Tender
from
"./components/Tender/index.vue"
;
import
"@/assets/styles/public.css"
;
import
"@/assets/styles/public.css"
;
export
default
{
export
default
{
name
:
'radar'
,
name
:
'radar'
,
components
:
{
debtProject
,
Land
,
Establishment
,
bxprozbgg
},
components
:
{
debtProject
,
Land
,
Establishment
,
bxprozbgg
,
Tender
},
data
()
{
data
()
{
return
{
return
{
// tablist
// tablist
...
@@ -68,7 +73,7 @@
...
@@ -68,7 +73,7 @@
},
},
{
{
key
:
'
KeyPersonnel
'
,
key
:
'
Tender
'
,
status
:
false
,
status
:
false
,
value
:
'公招标讯'
,
value
:
'公招标讯'
,
...
...
dsk-system/src/main/java/com/dsk/system/domain/customer/vo/CustomerBusinessListVo.java
View file @
8303eb06
...
@@ -19,7 +19,7 @@ public class CustomerBusinessListVo implements Serializable {
...
@@ -19,7 +19,7 @@ public class CustomerBusinessListVo implements Serializable {
/**
/**
* 项目名称
* 项目名称
*/
*/
private
String
proj
ce
tName
;
private
String
proj
ec
tName
;
/**
/**
* 项目阶段
* 项目阶段
*/
*/
...
...
dsk-system/src/main/java/com/dsk/system/dskService/EnterpriseProjectService.java
View file @
8303eb06
...
@@ -107,13 +107,13 @@ public class EnterpriseProjectService {
...
@@ -107,13 +107,13 @@ public class EnterpriseProjectService {
public
TableDataInfo
bidPlanPage
(
Object
body
)
throws
Exception
{
public
TableDataInfo
bidPlanPage
(
Object
body
)
throws
Exception
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
Local
(
"/operate/enterpriseProject/bidPlanPage"
,
BeanUtil
.
beanToMap
(
body
,
false
,
false
));
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/operate/enterpriseProject/bidPlanPage"
,
BeanUtil
.
beanToMap
(
body
,
false
,
false
));
return
dskOpenApiUtil
.
responsePage
(
map
);
return
dskOpenApiUtil
.
responsePage
(
map
);
}
}
public
R
bidPlanDetail
(
Object
body
)
throws
Exception
{
public
R
bidPlanDetail
(
Object
body
)
throws
Exception
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
Local
(
"/operate/enterpriseProject/bidPlanDetail"
,
BeanUtil
.
beanToMap
(
body
,
false
,
false
));
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/operate/enterpriseProject/bidPlanDetail"
,
BeanUtil
.
beanToMap
(
body
,
false
,
false
));
Map
data
=
MapUtils
.
getMap
(
map
,
"data"
,
null
);
Map
data
=
MapUtils
.
getMap
(
map
,
"data"
,
null
);
String
contentId
=
MapUtils
.
getString
(
data
,
"contentId"
);
String
contentId
=
MapUtils
.
getString
(
data
,
"contentId"
);
if
(
ObjectUtil
.
isEmpty
(
contentId
))
{
if
(
ObjectUtil
.
isEmpty
(
contentId
))
{
...
...
dsk-system/src/main/java/com/dsk/system/dskService/EnterpriseService.java
View file @
8303eb06
...
@@ -2,16 +2,24 @@ package com.dsk.system.dskService;
...
@@ -2,16 +2,24 @@ package com.dsk.system.dskService;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.map.MapUtil
;
import
cn.hutool.core.map.MapUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.dsk.acc.openapi.client.util.CommonUtils
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.core.domain.model.*
;
import
com.dsk.common.core.domain.model.*
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.common.utils.DskOpenApiUtil
;
import
com.dsk.common.utils.DskOpenApiUtil
;
import
com.dsk.system.domain.customer.vo.CustomerStatusListVo
;
import
com.dsk.system.service.ICustomerService
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.MapUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
/**
/**
...
@@ -29,6 +37,9 @@ public class EnterpriseService {
...
@@ -29,6 +37,9 @@ public class EnterpriseService {
@Autowired
@Autowired
private
DskOpenApiUtil
dskOpenApiUtil
;
private
DskOpenApiUtil
dskOpenApiUtil
;
@Autowired
ICustomerService
iCustomerService
;
public
R
infoHeader
(
EnterpriseInfoHeaderBody
body
)
throws
Exception
{
public
R
infoHeader
(
EnterpriseInfoHeaderBody
body
)
throws
Exception
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/api/jsk/enterprise/infoHeader"
,
BeanUtil
.
beanToMap
(
body
,
false
,
false
));
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/api/jsk/enterprise/infoHeader"
,
BeanUtil
.
beanToMap
(
body
,
false
,
false
));
return
BeanUtil
.
toBean
(
map
,
R
.
class
);
return
BeanUtil
.
toBean
(
map
,
R
.
class
);
...
@@ -136,4 +147,45 @@ public class EnterpriseService {
...
@@ -136,4 +147,45 @@ public class EnterpriseService {
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/operate/enterprise/getUipId"
,
params
);
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/operate/enterprise/getUipId"
,
params
);
return
BeanUtil
.
toBean
(
map
,
R
.
class
);
return
BeanUtil
.
toBean
(
map
,
R
.
class
);
}
}
public
TableDataInfo
uipSerach
(
EnterpriseUipSearchBody
body
)
throws
Exception
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/operate/enterprise/uipSerach"
,
BeanUtil
.
beanToMap
(
body
,
false
,
false
));
Integer
code
=
MapUtils
.
getInteger
(
map
,
"code"
,
300
);
if
(
200
!=
code
)
throw
new
RuntimeException
();
Map
data
=
MapUtils
.
getMap
(
map
,
"data"
,
null
);
List
<
Object
>
list
=
CommonUtils
.
assertAsArray
(
MapUtils
.
getObject
(
data
,
"list"
,
""
));
if
(
CollectionUtils
.
isEmpty
(
list
))
{
return
new
TableDataInfo
(
list
,
0
);
}
ArrayList
<
String
>
uipIds
=
new
ArrayList
<>();
for
(
Object
dataMap
:
list
)
{
uipIds
.
add
(
MapUtils
.
getString
(
CommonUtils
.
assertAsMap
(
dataMap
),
"uipId"
));
}
List
<
CustomerStatusListVo
>
claimStatusList
=
iCustomerService
.
selectStatusList
(
uipIds
);
//按照城投企业id合并两个list
for
(
Object
companyObj
:
list
)
{
Map
<
String
,
Object
>
companyMap
=
CommonUtils
.
assertAsMap
(
companyObj
);
String
uipId
=
MapUtils
.
getString
(
companyMap
,
"uipId"
);
if
(
CollectionUtils
.
isEmpty
(
claimStatusList
))
{
companyMap
.
put
(
"claimStatus"
,
0
);
}
for
(
CustomerStatusListVo
vo
:
claimStatusList
)
{
if
(
uipId
.
equals
(
vo
.
getUipId
()))
{
companyMap
.
put
(
"claimStatus"
,
1
);
}
}
}
return
new
TableDataInfo
(
list
,
MapUtils
.
getInteger
(
data
,
"totalCount"
,
0
));
}
public
R
uipGroupData
()
throws
Exception
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/operate/enterprise/uipGroupData"
,
null
);
return
BeanUtil
.
toBean
(
map
,
R
.
class
);
}
}
}
dsk-system/src/main/java/com/dsk/system/service/EconomicService.java
View file @
8303eb06
package
com
.
dsk
.
system
.
service
;
package
com
.
dsk
.
system
.
service
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.dtos.OpRegionalEconomicDataRegionalListDto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataStatisticsRegionalDto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataV1Dto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataV1Dto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataV1PageDto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataV1PageDto
;
...
@@ -39,7 +41,7 @@ public interface EconomicService {
...
@@ -39,7 +41,7 @@ public interface EconomicService {
*@Author: Dgm
*@Author: Dgm
*@date: 2023/5/18 10:25
*@date: 2023/5/18 10:25
*/
*/
AjaxResult
statisticsRegional
(
OpRegionalEconomicData
V1
Dto
dto
);
AjaxResult
statisticsRegional
(
OpRegionalEconomicData
StatisticsRegional
Dto
dto
);
/***
/***
*@Description: 地区经济-分页列表
*@Description: 地区经济-分页列表
...
@@ -48,7 +50,7 @@ public interface EconomicService {
...
@@ -48,7 +50,7 @@ public interface EconomicService {
*@Author: Dgm
*@Author: Dgm
*@date: 2023/5/18 10:25
*@date: 2023/5/18 10:25
*/
*/
AjaxResult
regionalList
(
OpRegionalEconomicData
V1
Dto
dto
);
AjaxResult
regionalList
(
OpRegionalEconomicData
RegionalList
Dto
dto
);
/***
/***
*@Description: 地区经济-分页列表
*@Description: 地区经济-分页列表
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/CustomerServiceImpl.java
View file @
8303eb06
...
@@ -76,15 +76,16 @@ public class CustomerServiceImpl implements ICustomerService {
...
@@ -76,15 +76,16 @@ public class CustomerServiceImpl implements ICustomerService {
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
add
(
Customer
customer
)
{
public
boolean
add
(
Customer
customer
)
{
try
{
if
(
ObjectUtils
.
isEmpty
(
customer
.
getUipId
()))
{
R
res
=
enterpriseService
.
getUipId
(
customer
.
getCompanyName
());
try
{
if
(!
ObjectUtils
.
isEmpty
(
res
.
getData
()))
{
R
res
=
enterpriseService
.
getUipId
(
customer
.
getCompanyName
());
customer
.
setUipId
(
MapUtil
.
getStr
(
BeanUtil
.
beanToMap
(
res
.
getData
()),
"uipId"
));
if
(!
ObjectUtils
.
isEmpty
(
res
.
getData
()))
{
customer
.
setUipId
(
MapUtil
.
getStr
(
BeanUtil
.
beanToMap
(
res
.
getData
()),
"uipId"
));
}
}
catch
(
Exception
e
)
{
log
.
error
(
"获取城投平台企业id错误!error:{}"
,
e
.
getMessage
());
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"获取城投平台企业id错误!error:{}"
,
e
.
getMessage
());
}
}
Long
userId
=
SecurityUtils
.
getUserId
();
Long
userId
=
SecurityUtils
.
getUserId
();
customer
.
setCreateId
(
userId
);
customer
.
setCreateId
(
userId
);
customer
.
setUpdateId
(
userId
);
customer
.
setUpdateId
(
userId
);
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/EconomicServiceImpl.java
View file @
8303eb06
...
@@ -2,6 +2,8 @@ package com.dsk.system.service.impl;
...
@@ -2,6 +2,8 @@ package com.dsk.system.service.impl;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.dtos.OpRegionalEconomicDataRegionalListDto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataStatisticsRegionalDto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataV1Dto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataV1Dto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataV1PageDto
;
import
com.dsk.common.dtos.OpRegionalEconomicDataV1PageDto
;
import
com.dsk.common.utils.DskOpenApiUtil
;
import
com.dsk.common.utils.DskOpenApiUtil
;
...
@@ -40,13 +42,13 @@ public class EconomicServiceImpl implements EconomicService {
...
@@ -40,13 +42,13 @@ public class EconomicServiceImpl implements EconomicService {
}
}
@Override
@Override
public
AjaxResult
statisticsRegional
(
OpRegionalEconomicData
V1
Dto
dto
)
{
public
AjaxResult
statisticsRegional
(
OpRegionalEconomicData
StatisticsRegional
Dto
dto
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/economic/statistics/regional"
,
BeanUtil
.
beanToMap
(
dto
,
false
,
false
));
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/economic/statistics/regional"
,
BeanUtil
.
beanToMap
(
dto
,
false
,
false
));
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
}
@Override
@Override
public
AjaxResult
regionalList
(
OpRegionalEconomicData
V1
Dto
dto
)
{
public
AjaxResult
regionalList
(
OpRegionalEconomicData
RegionalList
Dto
dto
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/economic/regional/list"
,
BeanUtil
.
beanToMap
(
dto
,
false
,
false
));
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/economic/regional/list"
,
BeanUtil
.
beanToMap
(
dto
,
false
,
false
));
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
}
...
...
dsk-system/src/main/resources/mapper/system/customer/CustomerMapper.xml
View file @
8303eb06
...
@@ -43,7 +43,7 @@
...
@@ -43,7 +43,7 @@
from customer ct
from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id
join customer_user ctu on ct.customer_id = ctu.customer_id
where ctu.user_id = #{userId} and ct.uip_id in
where ctu.user_id = #{userId} and ct.uip_id in
<foreach
collection=
"uipIds"
item=
"uipId"
open=
"("
separator=
","
close=
"
,
"
>
<foreach
collection=
"uipIds"
item=
"uipId"
open=
"("
separator=
","
close=
"
)
"
>
#{uipId}
#{uipId}
</foreach>
</foreach>
</select>
</select>
...
...
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