Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-operate-sys-cscec
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fulixin
dsk-operate-sys-cscec
Commits
f4f7c87b
Commit
f4f7c87b
authored
Jun 21, 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
6d61f64a
29918822
Changes
35
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
35 changed files
with
615 additions
and
317 deletions
+615
-317
BusinessFileController.java
...m/dsk/web/controller/business/BusinessFileController.java
+10
-1
BusinessOpportunityRadarController.java
...search/controller/BusinessOpportunityRadarController.java
+49
-16
CompanySearchController.java
...controller/search/controller/CompanySearchController.java
+10
-2
PageQueryLimit.java
.../dsk/web/controller/search/controller/PageQueryLimit.java
+23
-0
BusinessOpportunityRadarService.java
...oller/search/service/BusinessOpportunityRadarService.java
+10
-9
BusinessOpportunityRadarServiceImpl.java
...rch/service/impl/BusinessOpportunityRadarServiceImpl.java
+19
-19
JskBidPlanDto.java
...mmon/src/main/java/com/dsk/common/dtos/JskBidPlanDto.java
+5
-1
SpecialBondProjectDto.java
.../main/java/com/dsk/common/dtos/SpecialBondProjectDto.java
+2
-0
public.css
dsk-operate-ui/src/assets/styles/public.css
+53
-2
ruoyi.scss
dsk-operate-ui/src/assets/styles/ruoyi.scss
+13
-0
Navbar.vue
dsk-operate-ui/src/layout/components/Navbar.vue
+2
-2
user.js
dsk-operate-ui/src/store/modules/user.js
+1
-1
index.vue
dsk-operate-ui/src/views/detail/party-a/financial/index.vue
+6
-3
busclue.vue
...i/src/views/detail/party-a/overview/component/busclue.vue
+2
-0
infoheader.vue
...rc/views/detail/party-a/overview/component/infoheader.vue
+2
-2
risk.vue
...e-ui/src/views/detail/party-a/overview/component/risk.vue
+3
-2
tender.vue
...ui/src/views/detail/party-a/overview/component/tender.vue
+1
-1
index.vue
dsk-operate-ui/src/views/detail/party-b/index.vue
+10
-6
index.vue
...te-ui/src/views/enterpriseData/components/Owner/index.vue
+34
-26
index.vue
...iews/enterpriseData/components/SearchEnterprise/index.vue
+38
-44
addProject.vue
...ui/src/views/project/projectList/component/addProject.vue
+1
-0
gjjl.vue
...erate-ui/src/views/project/projectList/component/gjjl.vue
+8
-3
gzdb.vue
...erate-ui/src/views/project/projectList/component/gzdb.vue
+18
-8
jsnr.vue
...erate-ui/src/views/project/projectList/component/jsnr.vue
+54
-47
lxr.vue
...perate-ui/src/views/project/projectList/component/lxr.vue
+39
-12
xgqy.vue
...erate-ui/src/views/project/projectList/component/xgqy.vue
+12
-7
xmsl.vue
...erate-ui/src/views/project/projectList/component/xmsl.vue
+48
-16
zlwd.vue
...erate-ui/src/views/project/projectList/component/zlwd.vue
+13
-6
detail.vue
dsk-operate-ui/src/views/project/projectList/detail.vue
+23
-12
index.vue
dsk-operate-ui/src/views/project/projectList/index.vue
+6
-1
index.vue
...operate-ui/src/views/radar/components/BidRecord/index.vue
+8
-8
index.vue
dsk-operate-ui/src/views/radar/components/Bidding/index.vue
+24
-15
index.vue
...ate-ui/src/views/radar/components/Establishment/index.vue
+47
-35
index.vue
dsk-operate-ui/src/views/radar/components/Tender/index.vue
+13
-6
userAvatar.vue
dsk-operate-ui/src/views/system/user/profile/userAvatar.vue
+8
-4
No files found.
dsk-admin/src/main/java/com/dsk/web/controller/business/BusinessFileController.java
View file @
f4f7c87b
...
...
@@ -17,6 +17,7 @@ import org.springframework.web.multipart.MultipartFile;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.File
;
import
java.io.IOException
;
import
java.util.List
;
import
java.util.stream.Collectors
;
...
...
@@ -81,10 +82,18 @@ public class BusinessFileController extends BaseController {
try
{
//获取文件名
String
filename
=
file
.
getOriginalFilename
();
//TODO 校验是否上传同名文件
String
businessFileName
=
request
.
getHeader
(
"FilePath"
);
// 上传文件路径
String
filePath
=
RuoYiConfig
.
getUploadPath
()
+
businessFileName
+
"/"
;
//校验是否上传同名文件
File
newFile
=
new
File
(
filePath
);
// 获取当前目录下的文件和文件夹
File
[]
files
=
newFile
.
listFiles
();
for
(
File
allFile
:
files
)
{
if
(
filename
.
equals
(
allFile
.
getName
()))
return
error
(
"文件已存在"
);
}
// 上传并返回文件全路径
String
fileName
=
FileUploadUtils
.
upload
(
filePath
,
file
);
String
url
=
serverConfig
.
getUrl
()
+
fileName
;
...
...
dsk-admin/src/main/java/com/dsk/web/controller/search/controller/BusinessOpportunityRadarController.java
View file @
f4f7c87b
...
...
@@ -3,6 +3,7 @@ package com.dsk.web.controller.search.controller;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.dtos.ComposeQueryDto
;
import
com.dsk.common.dtos.Page
;
import
com.dsk.web.controller.search.service.BusinessOpportunityRadarService
;
import
com.dsk.web.controller.search.service.MarketAnalysisService
;
import
org.springframework.web.bind.annotation.RequestBody
;
...
...
@@ -29,32 +30,48 @@ public class BusinessOpportunityRadarController {
* 公招标讯
*/
@RequestMapping
(
"/jskBidPage"
)
public
AjaxResult
jskBidPage
(
@RequestBody
ComposeQueryDto
compose
)
{
return
opportunityRadarService
.
jskBidPage
(
compose
);
public
AjaxResult
jskBidPage
(
@RequestBody
JSONObject
object
)
{
ComposeQueryDto
compose
=
JSONObject
.
parseObject
(
object
.
toJSONString
(),
ComposeQueryDto
.
class
);
if
(
PageQueryLimit
.
pageLimit
(
compose
.
getPage
())){
return
AjaxResult
.
error
(
"翻页已达到上限"
);
}
return
opportunityRadarService
.
jskBidPage
(
object
);
}
/*
* 土地交易
*/
@RequestMapping
(
"/landMarketPage"
)
public
AjaxResult
landMarketPage
(
@RequestBody
ComposeQueryDto
compose
)
{
return
opportunityRadarService
.
landMarketPage
(
compose
);
public
AjaxResult
landMarketPage
(
@RequestBody
JSONObject
object
)
{
ComposeQueryDto
compose
=
JSONObject
.
parseObject
(
object
.
toJSONString
(),
ComposeQueryDto
.
class
);
if
(
PageQueryLimit
.
pageLimit
(
compose
.
getPage
())){
return
AjaxResult
.
error
(
"翻页已达到上限"
);
}
return
opportunityRadarService
.
landMarketPage
(
object
);
}
/*
* 拟建项目
*/
@RequestMapping
(
"/establishmentPage"
)
public
AjaxResult
establishmentPage
(
@RequestBody
ComposeQueryDto
compose
)
{
return
opportunityRadarService
.
establishmentPage
(
compose
);
public
AjaxResult
establishmentPage
(
@RequestBody
JSONObject
object
)
{
ComposeQueryDto
compose
=
JSONObject
.
parseObject
(
object
.
toJSONString
(),
ComposeQueryDto
.
class
);
if
(
PageQueryLimit
.
pageLimit
(
compose
.
getPage
())){
return
AjaxResult
.
error
(
"翻页已达到上限"
);
}
return
opportunityRadarService
.
establishmentPage
(
object
);
}
/*
* 开标记录
*/
@RequestMapping
(
"/jskBidTenderPage"
)
public
AjaxResult
jskBidTenderPage
(
@RequestBody
ComposeQueryDto
compose
)
{
return
opportunityRadarService
.
jskBidTenderPage
(
compose
);
public
AjaxResult
jskBidTenderPage
(
@RequestBody
JSONObject
object
)
{
ComposeQueryDto
compose
=
JSONObject
.
parseObject
(
object
.
toJSONString
(),
ComposeQueryDto
.
class
);
if
(
PageQueryLimit
.
pageLimit
(
compose
.
getPage
())){
return
AjaxResult
.
error
(
"翻页已达到上限"
);
}
return
opportunityRadarService
.
jskBidTenderPage
(
object
);
}
...
...
@@ -62,8 +79,12 @@ public class BusinessOpportunityRadarController {
* 标讯pro
*/
@RequestMapping
(
"/jskBidNewsPage"
)
public
AjaxResult
jskBidNewsPage
(
@RequestBody
ComposeQueryDto
compose
)
{
return
opportunityRadarService
.
jskBidNewsPage
(
compose
);
public
AjaxResult
jskBidNewsPage
(
@RequestBody
JSONObject
object
)
{
ComposeQueryDto
compose
=
JSONObject
.
parseObject
(
object
.
toJSONString
(),
ComposeQueryDto
.
class
);
if
(
PageQueryLimit
.
pageLimit
(
compose
.
getPage
())){
return
AjaxResult
.
error
(
"翻页已达到上限"
);
}
return
opportunityRadarService
.
jskBidNewsPage
(
object
);
}
...
...
@@ -71,16 +92,24 @@ public class BusinessOpportunityRadarController {
* 专项债查询
*/
@RequestMapping
(
"/bondProjectPage"
)
public
AjaxResult
bondProjectPage
(
@RequestBody
ComposeQueryDto
compose
)
{
return
opportunityRadarService
.
bondProjectPage
(
compose
);
public
AjaxResult
bondProjectPage
(
@RequestBody
JSONObject
object
)
{
ComposeQueryDto
compose
=
JSONObject
.
parseObject
(
object
.
toJSONString
(),
ComposeQueryDto
.
class
);
if
(
PageQueryLimit
.
pageLimit
(
compose
.
getPage
())){
return
AjaxResult
.
error
(
"翻页已达到上限"
);
}
return
opportunityRadarService
.
bondProjectPage
(
object
);
}
/*
* 投标计划查询
*/
@RequestMapping
(
"/jskBidPlanPage"
)
public
AjaxResult
jskBidPlanPage
(
@RequestBody
ComposeQueryDto
compose
)
{
return
opportunityRadarService
.
jskBidPlanPage
(
compose
);
public
AjaxResult
jskBidPlanPage
(
@RequestBody
JSONObject
object
)
{
ComposeQueryDto
compose
=
JSONObject
.
parseObject
(
object
.
toJSONString
(),
ComposeQueryDto
.
class
);
if
(
PageQueryLimit
.
pageLimit
(
compose
.
getPage
())){
return
AjaxResult
.
error
(
"翻页已达到上限"
);
}
return
opportunityRadarService
.
jskBidPlanPage
(
object
);
}
/*
...
...
@@ -103,7 +132,11 @@ public class BusinessOpportunityRadarController {
* 招标来源网站
*/
@RequestMapping
(
"/bidSourceList"
)
public
AjaxResult
bidSourceList
(
@RequestBody
ComposeQueryDto
compose
)
{
return
opportunityRadarService
.
bidSourceList
(
compose
);
public
AjaxResult
bidSourceList
(
@RequestBody
JSONObject
object
)
{
ComposeQueryDto
compose
=
JSONObject
.
parseObject
(
object
.
toJSONString
(),
ComposeQueryDto
.
class
);
if
(
PageQueryLimit
.
pageLimit
(
compose
.
getPage
())){
return
AjaxResult
.
error
(
"翻页已达到上限"
);
}
return
opportunityRadarService
.
bidSourceList
(
object
);
}
}
dsk-admin/src/main/java/com/dsk/web/controller/search/controller/CompanySearchController.java
View file @
f4f7c87b
package
com
.
dsk
.
web
.
controller
.
search
.
controller
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.dtos.ComposeQueryDto
;
import
com.dsk.web.controller.search.service.BusinessOpportunityRadarService
;
...
...
@@ -25,8 +26,12 @@ public class CompanySearchController {
* 模糊查询企业名称
*/
@RequestMapping
(
"/index"
)
public
AjaxResult
landMarketPage
(
@RequestBody
ComposeQueryDto
compose
)
{
return
opportunityRadarService
.
enterpriseIndex
(
compose
);
public
AjaxResult
landMarketPage
(
@RequestBody
JSONObject
object
)
{
ComposeQueryDto
compose
=
JSONObject
.
parseObject
(
object
.
toJSONString
(),
ComposeQueryDto
.
class
);
if
(
PageQueryLimit
.
pageLimit
(
compose
.
getPage
())){
return
AjaxResult
.
error
(
"翻页已达到上限"
);
}
return
opportunityRadarService
.
enterpriseIndex
(
object
);
}
/*
...
...
@@ -42,6 +47,9 @@ public class CompanySearchController {
*/
@PostMapping
(
"/page"
)
public
AjaxResult
page
(
@RequestBody
ComposeQueryDto
compose
)
{
if
(
PageQueryLimit
.
pageLimit
(
compose
.
getPage
())){
return
AjaxResult
.
error
(
"翻页已达到上限"
);
}
compose
.
getPage
().
setPage
(
compose
.
getPageNum
());
compose
.
getPage
().
setLimit
(
compose
.
getPageSize
());
compose
.
getPage
().
setField
(
compose
.
getField
());
...
...
dsk-admin/src/main/java/com/dsk/web/controller/search/controller/PageQueryLimit.java
0 → 100644
View file @
f4f7c87b
package
com
.
dsk
.
web
.
controller
.
search
.
controller
;
import
com.dsk.common.dtos.Page
;
/**
* @author lc
* @date 2023/6/20 17:48
*/
public
class
PageQueryLimit
{
public
static
boolean
pageLimit
(
Page
page
){
if
(
null
==
page
)
{
return
true
;
}
if
(
null
==
page
.
getLimit
()||
null
==
page
.
getPage
()){
return
true
;
}
if
(
page
.
getPage
()*
page
.
getLimit
()>
10000
){
return
true
;
}
return
false
;
}
}
dsk-admin/src/main/java/com/dsk/web/controller/search/service/BusinessOpportunityRadarService.java
View file @
f4f7c87b
...
...
@@ -12,29 +12,30 @@ import com.dsk.common.dtos.ComposeQueryDto;
public
interface
BusinessOpportunityRadarService
{
AjaxResult
jskBidNewsPage
(
ComposeQueryDto
compose
);
AjaxResult
jskBidTenderPage
(
ComposeQueryDto
compose
);
AjaxResult
jskBidNewsPage
(
JSONObject
object
);
AjaxResult
jskBid
Page
(
ComposeQueryDto
compose
);
AjaxResult
jskBid
TenderPage
(
JSONObject
object
);
AjaxResult
landMarketPage
(
ComposeQueryDto
compose
);
AjaxResult
jskBidPage
(
JSONObject
object
);
AjaxResult
establishmentPage
(
ComposeQueryDto
compose
);
AjaxResult
landMarketPage
(
JSONObject
object
);
AjaxResult
enterpriseIndex
(
ComposeQueryDto
compose
);
AjaxResult
establishmentPage
(
JSONObject
object
);
AjaxResult
enterpriseIndex
(
JSONObject
object
);
AjaxResult
enterpriseByName
(
String
keyword
);
AjaxResult
enterprisePage
(
ComposeQueryDto
compose
);
AjaxResult
bondProjectPage
(
ComposeQueryDto
compose
);
AjaxResult
bondProjectPage
(
JSONObject
object
);
AjaxResult
jskBidPlanPage
(
ComposeQueryDto
compose
);
AjaxResult
jskBidPlanPage
(
JSONObject
object
);
AjaxResult
getCapitalSourceSelect
();
AjaxResult
keywordList
();
AjaxResult
bidSourceList
(
ComposeQueryDto
compose
);
AjaxResult
bidSourceList
(
JSONObject
object
);
}
dsk-admin/src/main/java/com/dsk/web/controller/search/service/impl/BusinessOpportunityRadarServiceImpl.java
View file @
f4f7c87b
...
...
@@ -26,45 +26,45 @@ public class BusinessOpportunityRadarServiceImpl implements BusinessOpportunityR
@Override
public
AjaxResult
jskBidNewsPage
(
ComposeQueryDto
compose
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBid/news/page"
,
BeanUtil
.
beanToMap
(
compose
,
false
,
false
)
);
public
AjaxResult
jskBidNewsPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBid/news/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
jskBidTenderPage
(
ComposeQueryDto
compose
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBidTender/page"
,
BeanUtil
.
beanToMap
(
compose
,
false
,
false
)
);
public
AjaxResult
jskBidTenderPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBidTender/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
establishmentPage
(
ComposeQueryDto
compose
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/establishment/page"
,
BeanUtil
.
beanToMap
(
compose
,
false
,
false
)
);
public
AjaxResult
establishmentPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/establishment/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
jskBidPage
(
ComposeQueryDto
compose
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBid/page"
,
BeanUtil
.
beanToMap
(
compose
,
false
,
false
)
);
public
AjaxResult
jskBidPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBid/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
landMarketPage
(
ComposeQueryDto
compose
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/landMarket/page"
,
BeanUtil
.
beanToMap
(
compose
,
false
,
false
)
);
public
AjaxResult
landMarketPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/landMarket/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
enterpriseIndex
(
ComposeQueryDto
compose
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/enterprice/index"
,
BeanUtil
.
beanToMap
(
compose
,
false
,
false
)
);
public
AjaxResult
enterpriseIndex
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/enterprice/index"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
enterprisePage
(
ComposeQueryDto
compose
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/enterprice/page"
,
BeanUtil
.
beanToMap
(
compose
,
false
,
false
));
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/enterprice/page"
,
BeanUtil
.
beanToMap
(
compose
,
false
,
false
));
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
...
...
@@ -78,14 +78,14 @@ public class BusinessOpportunityRadarServiceImpl implements BusinessOpportunityR
}
@Override
public
AjaxResult
bondProjectPage
(
ComposeQueryDto
compose
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/bondProject/page"
,
BeanUtil
.
beanToMap
(
compose
,
false
,
false
)
);
public
AjaxResult
bondProjectPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/bondProject/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
jskBidPlanPage
(
ComposeQueryDto
compose
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBidPlan/page"
,
BeanUtil
.
beanToMap
(
compose
,
false
,
false
)
);
public
AjaxResult
jskBidPlanPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBidPlan/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
...
...
@@ -102,8 +102,8 @@ public class BusinessOpportunityRadarServiceImpl implements BusinessOpportunityR
}
@Override
public
AjaxResult
bidSourceList
(
ComposeQueryDto
compose
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBid/source"
,
BeanUtil
.
beanToMap
(
compose
,
false
,
false
)
);
public
AjaxResult
bidSourceList
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBid/source"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
}
dsk-common/src/main/java/com/dsk/common/dtos/JskBidPlanDto.java
View file @
f4f7c87b
...
...
@@ -45,9 +45,13 @@ public class JskBidPlanDto {
Double
startPlanTenderAmount
;
Double
endPlanTenderAmount
;
//资金来源
String
projec
e
tCapitalSource
;
String
projectCapitalSource
;
//发布时间
String
issueTime
;
//计划发布开始时间
String
planTenderDateStart
;
//计划发布截止时间
String
planTenderDateEnd
;
//来源网站
String
sourceName
;
...
...
dsk-common/src/main/java/com/dsk/common/dtos/SpecialBondProjectDto.java
View file @
f4f7c87b
...
...
@@ -16,6 +16,8 @@ public class SpecialBondProjectDto {
String
uuid
;
String
projectName
;
//match精确 like模糊
String
nameType
;
String
projectType
;
//项目总投资
...
...
dsk-operate-ui/src/assets/styles/public.css
View file @
f4f7c87b
...
...
@@ -570,6 +570,10 @@ select {
height
:
40px
;
opacity
:
0
;
}
.el-select-dropdown.is-multiple
.el-select-dropdown__item
:hover
{
color
:
#3181fa
;
}
.select-list
{
color
:
#666
;
line-height
:
24px
;
...
...
@@ -586,6 +590,31 @@ select {
background-color
:
#fff
;
padding
:
6px
0px
;
}
.select-radio
{
max-height
:
400px
;
background
:
#fff
;
}
.select-radio
[
x-placement
^=
bottom
]
{
margin-top
:
8px
;
}
.select-radio
.select-radio-list
{
position
:
relative
;
}
.select-radio
.select-radio-icon
{
position
:
absolute
;
top
:
8px
;
right
:
4px
;
}
.select-radio
.select-radio-picker
{
opacity
:
0
;
position
:
absolute
;
top
:
-6px
;
left
:
0
;
width
:
0px
;
}
.select-radio
::-webkit-scrollbar-thumb
{
background-color
:
#b9b9b9
!important
;
...
...
@@ -681,8 +710,8 @@ select {
}
.select-list
.el-radio
.el-radio__label
:hover
{
/*
color: #0381fa;
background: #f2f7ff;
*/
color
:
#0381fa
;
background
:
#f2f7ff
;
}
.select-list
.el-radio__input.is-checked
+
.el-radio__label
{
...
...
@@ -1074,4 +1103,26 @@ select {
color
:
#B589DB
;
}
.performance_other_select.el-select-dropdown.el-popper
.el-select-dropdown__wrap.el-scrollbar__wrap
{
max-height
:
274px
;
}
.performance_other_select
.el-scrollbar
{
display
:
block
!important
;
}
.performance_other_select
.performance_source_name_ipt
{
margin
:
10px
20px
;
width
:
300px
;
}
.performance_pagination_wrap
{
border-top
:
1px
solid
#EFEFEF
;
padding-right
:
6px
;
padding-bottom
:
16px
;
margin-bottom
:
24px
;
}
.performance_pagination_wrap
.common-pagination
{
margin-top
:
16px
;
}
dsk-operate-ui/src/assets/styles/ruoyi.scss
View file @
f4f7c87b
...
...
@@ -252,6 +252,19 @@
height
:
120px
;
}
.userInfo-avatar
{
display
:
inline-block
;
cursor
:
pointer
;
width
:
120px
;
height
:
120px
;
line-height
:
120px
;
text-align
:
center
;
background
:
#E3EEF9
;
font-size
:
48px
;
color
:
#0081FF
;
border-radius
:
50%
;
}
.avatar-upload-preview
{
position
:
relative
;
top
:
50%
;
...
...
dsk-operate-ui/src/layout/components/Navbar.vue
View file @
f4f7c87b
...
...
@@ -8,8 +8,8 @@
<i
class=
"menu-line"
/>
<el-dropdown
class=
"avatar-container"
trigger=
"hover"
>
<div
class=
"flex-box avatar-wrapper"
>
<img
v-if=
"avatar"
class=
"pic-avatar"
src=
"@/assets/images/avatar.png
"
>
<span
v-else
class=
"user-avatar"
>
{{
name
&&
name
.
slice
(
0
,
1
)
}}
</span>
<img
v-if=
"avatar"
class=
"pic-avatar"
:src=
"avatar
"
>
<span
v-else
class=
"user-avatar"
>
{{
name
&&
name
.
slice
(
0
,
1
)
.
toUpperCase
()
}}
</span>
{{
name
}}
</div>
<el-dropdown-menu
slot=
"dropdown"
class=
"user-dropdown"
>
...
...
dsk-operate-ui/src/store/modules/user.js
View file @
f4f7c87b
...
...
@@ -55,7 +55,7 @@ const user = {
return
new
Promise
((
resolve
,
reject
)
=>
{
getInfo
().
then
(
res
=>
{
const
user
=
res
.
user
const
avatar
=
(
user
.
avatar
==
""
||
user
.
avatar
==
null
)
?
require
(
"@/assets/images/profile.jpg"
)
:
process
.
env
.
VUE_APP_BASE_API
+
user
.
avatar
;
const
avatar
=
user
.
avatar
?
process
.
env
.
VUE_APP_BASE_API
+
user
.
avatar
:
''
;
if
(
res
.
roles
&&
res
.
roles
.
length
>
0
)
{
// 验证返回的roles是否是一个非空数组
commit
(
'SET_ROLES'
,
res
.
roles
)
commit
(
'SET_PERMISSIONS'
,
res
.
permissions
)
...
...
dsk-operate-ui/src/views/detail/party-a/financial/index.vue
View file @
f4f7c87b
...
...
@@ -34,7 +34,7 @@
<div
class=
"flex-box zwqk-box"
>
<div
class=
"zwqk-info"
>
<div
class=
"zwqk-title"
>
总负债
</div>
<div
class=
"zwqk-amount"
><
span>
{{financialDetail.totalLiabilities?saveFixed(financialDetail.totalLiabilities):'0'}}
</span>
亿元
</div>
<div
class=
"zwqk-amount"
><
template
v-if=
"financialDetail.totalLiabilities"
><span>
{{
saveFixed
(
financialDetail
.
totalLiabilities
)
}}
</span>
亿元
</
template
><
template
v-else
><span>
--
</span></
template
>
</div>
<div
class=
"zwqk-pro"
>
资产负债率 {{financialDetail.tdr?saveFixed(financialDetail.tdr)+'%':'--'}}
</div>
<img
src=
"@/assets/images/detail/financial/zwqk_bg_ico.png"
>
</div>
...
...
@@ -170,7 +170,6 @@ export default {
item
.
amount
=
zjqkObj
[
Object
.
keys
(
zjqkObj
)[
index
]]
})
this
.
echartsData
=
[
{
value
:
res
.
data
.
uipInterestBearingDebt
,
name
:
'有息债务'
},
{
value
:
res
.
data
.
econData_002
,
name
:
'有息债务/总债务'
},
{
value
:
res
.
data
.
ofcb
,
name
:
'综合融资成本'
},
{
value
:
res
.
data
.
ebitdaIcr
,
name
:
'EBITDA保障倍数'
}
...
...
@@ -185,7 +184,11 @@ export default {
//配置图表
let
option
=
{
tooltip
:
{
trigger
:
'item'
trigger
:
'item'
,
formatter
:
function
(
a
,
b
)
{
let
radius
=
"<span style='display: inline-block; background: "
+
a
.
color
+
"; width:12px; height:12px; border-radius: 50%; margin-right: 6px;'></span>"
return
radius
+
a
.
name
+
' '
+
(
a
.
percent
).
toFixed
(
2
)
+
'%'
}
},
grid
:
{
left
:
"0"
,
...
...
dsk-operate-ui/src/views/detail/party-a/overview/component/busclue.vue
View file @
f4f7c87b
...
...
@@ -124,6 +124,8 @@ export default {
this
.
typeList
.
forEach
((
item
,
index
)
=>
{
item
.
count
=
this
.
statistic
[
item
.
category
]?
this
.
statistic
[
item
.
category
][
item
.
field
]:
0
})
this
.
typeList
[
2
].
count
=
10
//写死代表有数据,英文统计里面没这项
this
.
typeList
[
3
].
count
=
10
//写死代表有数据,英文统计里面没这项
},
handleType
(
it
,
idx
){
if
(
it
.
count
){
...
...
dsk-operate-ui/src/views/detail/party-a/overview/component/infoheader.vue
View file @
f4f7c87b
...
...
@@ -65,7 +65,7 @@
</div>
</div>
<div
class=
"company-menu"
>
<el-button
v-if=
"ifClaim==1"
class=
"hasClaim"
v-loading=
"claimLoading"
><i
class=
"el-ico-claim"
alt=
"已认领"
title=
"已认领"
></i>
已认领
</el-button>
<el-button
v-if=
"ifClaim==1"
class=
"hasClaim"
><i
class=
"el-ico-claim"
alt=
"已认领"
title=
"已认领"
></i>
已认领
</el-button>
<el-button
@
click=
"handleClaim"
v-else
class=
"claim"
v-loading=
"claimLoading"
><i
class=
"el-ico-claim"
alt=
"认领客户"
title=
"认领客户"
></i>
认领客户
</el-button>
</div>
...
...
@@ -182,7 +182,7 @@ export default {
this
.
claimLoading
=
true
let
param
=
{
companyId
:
this
.
companyId
,
uipId
:
this
.
companyInfo
.
uipId
,
companyName
:
this
.
companyInfo
.
companyName
}
let
res
=
await
claim
(
param
)
this
.
table
Loading
=
false
this
.
claim
Loading
=
false
if
(
res
.
code
==
200
){
this
.
dialogVisible
=
true
this
.
ifClaim
=
1
...
...
dsk-operate-ui/src/views/detail/party-a/overview/component/risk.vue
View file @
f4f7c87b
...
...
@@ -119,7 +119,8 @@ export default {
}).
reduce
((
prev
,
cur
)
=>
prev
+
cur
)
this
.
viewData
=
this
.
viewData
.
map
(
item
=>
{
let
number
=
this
.
statistic
[
item
.
category
]
&&
this
.
statistic
[
item
.
category
][
item
.
field
]?
this
.
statistic
[
item
.
category
][
item
.
field
]:
0
let
it
=
{
name
:
item
.
name
,
value
:
number
,
tz
:
''
,
bl
:
parseFloat
(
Number
(
Number
(
number
)
/
Number
(
totalVal
)
*
100
).
toFixed
(
2
))
+
'%'
}
let
bl
=
number
?
parseFloat
(
Number
(
Number
(
number
)
/
Number
(
totalVal
)
*
100
).
toFixed
(
2
))
:
0
let
it
=
{
name
:
item
.
name
,
value
:
number
,
tz
:
''
,
bl
:
bl
+
'%'
}
return
it
})
this
.
viewData
.
sort
((
a
,
b
)
=>
{
...
...
@@ -141,7 +142,7 @@ export default {
if
(
params
.
data
.
tz
){
result
+=
'<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;" >'
+
params
.
data
.
tz
+
'亿元</p>'
}
result
+=
'<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'
+
params
.
data
.
bl
+
'%
</p>'
result
+=
'<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'
+
params
.
data
.
bl
+
'
</p>'
return
result
;
},
extraCssText
:
'width:150px!important;'
,
...
...
dsk-operate-ui/src/views/detail/party-a/overview/component/tender.vue
View file @
f4f7c87b
...
...
@@ -4,7 +4,7 @@
<div
class=
"common-title"
>
招标公告
</div>
<template
v-if=
"zbggList.length>0"
>
<div
class=
"tender-item"
v-for=
"(item, index) in zbggList"
:key=
"index"
>
<div
class=
"flex-box tender-title"
><div
class=
"text-cl1"
:title=
"item.projectName"
><router-link
:to=
"'/radar/
Bidding/details/'+item.bid"
tag=
"a"
class=
"a-link"
>
{{
item
.
projectName
}}
</router-link></div><span
:class=
"item.tenderStage=='项目动态'?'style2':item.tag=='招投标'?'style4':'style1'"
>
{{
item
.
tenderStage
}}
</span></div>
<div
class=
"flex-box tender-title"
><div
class=
"text-cl1"
:title=
"item.projectName"
><router-link
:to=
"'/radar/
Tender/details/'+item.bid"
tag=
"a"
class=
"a-link"
>
{{
item
.
projectName
}}
</router-link></div><span
:class=
"item.projectCategory=='项目动态'?'style2':item.tag=='招投标'?'style4':'style1'"
>
{{
item
.
projectCategory
}}
</span></div>
<span
class=
"tender-time"
>
{{
item
.
issueTime
}}
</span>
</div>
</
template
>
...
...
dsk-operate-ui/src/views/detail/party-b/index.vue
View file @
f4f7c87b
...
...
@@ -13,22 +13,22 @@ export default {
data
()
{
return
{
loading
:
false
,
// 是否加载中
navHeight
:
68
,
// iframe距离顶部距离px
iframeHight
:
window
.
innerHeight
,
// iframe高度
scrollTop
:
0
,
// 滚动条距离内部页面顶部距离
//
domain: 'https://pre-plug.jiansheku.com',
domain
:
'http://192.168.60.30:3300'
,
domain
:
'https://pre-plug.jiansheku.com'
,
//
domain: 'http://192.168.60.30:3300',
ak
:
'aec7b3ff2y2q8x6t49a7e2c463ce21912'
// 需要携带的sdkId
}
},
created
()
{
if
(
this
.
$route
.
params
.
id
)
{
// 获取companyId
this
.
loading
=
true
// this.src = `https://pre-plug.jiansheku.com/enterprise/${this.$route.params.id}?ak=${this.ak}`
if
(
this
.
$route
.
name
==
'Company'
){
//企业详情
this
.
src
=
`
${
this
.
domain
}
/enterprise/
${
this
.
$route
.
params
.
id
}
?ak=
${
this
.
ak
}
`
}
if
(
this
.
$route
.
name
==
'Personnel'
){
//人员详情
this
.
src
=
`
${
this
.
domain
}
/personnel/
${
this
.
$route
.
params
.
id
}
.html?ak=
${
this
.
ak
}
&referrer=true
`
this
.
src
=
`
${
this
.
domain
}
/personnel/
${
this
.
$route
.
params
.
id
}
.html?ak=
${
this
.
ak
}
`
}
}
},
...
...
@@ -53,12 +53,16 @@ export default {
}
// 点击栏目名及子标签动态设置滚动高度
if
(
data
.
scrollHeight
)
{
window
.
scrollTo
(
sc
,
parseInt
(
data
.
scrollHeight
)
+
83
)
window
.
scrollTo
(
sc
,
parseInt
(
data
.
scrollHeight
)
+
_this
.
navHeight
+
15
)
}
// 点击下拉子标签动态设置滚动高度
if
(
data
.
clientHeight
)
{
window
.
scrollTo
(
sc
,
sc
-
30
)
}
// 点击下拉子标签动态设置滚动高度
if
(
data
.
initHeight
||
data
.
initHeight
===
0
)
{
window
.
scrollTo
(
sc
,
data
.
initHeight
)
}
}
})
},
...
...
@@ -69,7 +73,7 @@ export default {
// 准备传值
this
.
$nextTick
(()
=>
{
const
ifa
=
this
.
$refs
.
companyIframe
ifa
.
contentWindow
.
postMessage
({
'scrollTop'
:
this
.
scrollTop
},
'*'
)
ifa
.
contentWindow
.
postMessage
({
'scrollTop'
:
this
.
scrollTop
,
'navHeight'
:
this
.
navHeight
},
'*'
)
})
}
}
...
...
dsk-operate-ui/src/views/enterpriseData/components/Owner/index.vue
View file @
f4f7c87b
...
...
@@ -2,9 +2,8 @@
<div>
<div
class=
"content"
>
<div
class=
"content_item"
>
<div
class=
"label"
>
项目名称
</div>
<div
class=
"content_right item_ckquery_list"
>
<el-input
class=
"ename_input"
placeholder=
"请输入
项目
名称关键字"
v-model=
"keys"
>
<el-input
class=
"ename_input"
placeholder=
"请输入
企业
名称关键字"
v-model=
"keys"
>
<div
slot=
"append"
class=
"btn-search"
@
click=
"search"
>
搜索
</div>
</el-input>
...
...
@@ -12,7 +11,7 @@
</div>
<div
class=
"content_item"
>
<div
class=
"label"
>
基本信息
</div>
<div
class=
"label"
>
企业地区
</div>
<div
class=
"content_right item_ckquery_list"
>
<div
class=
"select-popper"
>
<span
:class=
"
{color_text:jskBidQueryDto.provinceIds.length ||jskBidQueryDto.cityIds.length ||jskBidQueryDto.areaIds.length,}">
...
...
@@ -111,7 +110,7 @@
<div
class=
"bottomlist-title"
>
<div
class=
"bottomlist-title-left"
>
<p
class=
"title-left"
>
项目明细
查询结果列表
</p>
<el-popover
v-model=
"fieldshow"
placement=
"bottom-start"
trigger=
"click"
popper-class=
"viewlist-el-popover"
>
...
...
@@ -145,7 +144,7 @@
<el-table
:data=
"tableData"
:header-cell-style=
"
{ background:'#F0F3FA'}" element-loading-text="Loading" border highlight-current-row>
<el-table-column
type=
"index"
label=
"序号"
width=
"60"
>
<template
slot-scope=
"scope"
>
<span>
{{
(
pageNum
-
1
)
*
1
0
+
scope
.
$index
+
1
}}
</span>
<span>
{{
(
pageNum
-
1
)
*
2
0
+
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"公司名称"
width=
"430"
>
...
...
@@ -277,7 +276,12 @@
{{
scope
.
row
.
accountsReceivable
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"公益性&准公益性主营占比"
width=
"168"
>
<el-table-column
label=
"其他应收款(亿元)"
width=
"132"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
otherReceivable
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"公益性&准公益性主营占比(%)"
width=
"188"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
econData_001
||
"--"
}}
</
template
>
...
...
@@ -302,7 +306,7 @@
{{
scope
.
row
.
belongNetProfit
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"净资产收益率
"
width=
"9
6"
>
<el-table-column
label=
"净资产收益率
(%)"
width=
"13
6"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
roe
||
"--"
}}
</
template
>
...
...
@@ -332,27 +336,27 @@
{{
scope
.
row
.
uipInterestBearingDebt
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"有息债务/总负债
"
width=
"11
4"
>
<el-table-column
label=
"有息债务/总负债
(%)"
width=
"13
4"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
econData_002
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"综合融资成本
"
width=
"9
6"
>
<el-table-column
label=
"综合融资成本
(%)"
width=
"11
6"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
ofcb
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"现金比率
"
width=
"7
2"
>
<el-table-column
label=
"现金比率
(%)"
width=
"9
2"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
cashRatio
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"现金流量比率
"
width=
"9
6"
>
<el-table-column
label=
"现金流量比率
(%)"
width=
"11
6"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
cashFlowRatio
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"现金到期债务比
"
width=
"11
2"
>
<el-table-column
label=
"现金到期债务比
(%)"
width=
"13
2"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
cashDebtRatio
||
"--"
}}
</
template
>
...
...
@@ -362,7 +366,7 @@
{{
scope
.
row
.
creditBalance
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"授信余额/全部债务
"
width=
"12
6"
>
<el-table-column
label=
"授信余额/全部债务
(%)"
width=
"14
6"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
econData_003
||
"--"
}}
</
template
>
...
...
@@ -372,17 +376,17 @@
{{
scope
.
row
.
ebitdaIcr
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"私募债余额占比
"
width=
"10
8"
>
<el-table-column
label=
"私募债余额占比
(%)"
width=
"12
8"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
ppnBalanceProp
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"一年内到期债权占比
"
width=
"13
2"
>
<el-table-column
label=
"一年内到期债权占比
(%)"
width=
"15
2"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
econData_004
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"债券余额/有息债务
"
width=
"13
2"
>
<el-table-column
label=
"债券余额/有息债务
(%)"
width=
"15
2"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
econData_005
||
"--"
}}
</
template
>
...
...
@@ -392,7 +396,7 @@
{{
scope
.
row
.
loan
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"借款/有息债务
"
width=
"10
2"
>
<el-table-column
label=
"借款/有息债务
(%)"
width=
"12
2"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
econData_006
||
"--"
}}
</
template
>
...
...
@@ -402,7 +406,7 @@
{{
scope
.
row
.
nonStandardBalance
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"非标余额/有息债务
"
width=
"13
2"
>
<el-table-column
label=
"非标余额/有息债务
(%)"
width=
"15
2"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
nonStandardRatio
||
"--"
}}
</
template
>
...
...
@@ -412,9 +416,9 @@
{{
scope
.
row
.
guaranteeAmount
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"对外担保比例
"
width=
"9
6"
>
<el-table-column
label=
"对外担保比例
(%)"
width=
"11
6"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
guarantee
Amount
||
"--"
}}
{{
scope
.
row
.
guarantee
Ratio
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"所属开发区"
width=
"84"
>
...
...
@@ -610,11 +614,12 @@ export default {
this
.
domicile
.
push
(
arr
[
i
].
label
);
}
}
var
obj
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
landMarket
Dto
));
var
obj
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
jskBidQuery
Dto
));
obj
.
provinceIds
=
provinceIds
;
obj
.
cityIds
=
cityIds
;
obj
.
areaIds
=
areaIds
;
this
.
landMarketDto
=
obj
;
this
.
jskBidQueryDto
=
obj
;
this
.
search
();
},
...
...
@@ -677,16 +682,16 @@ export default {
},
checkuipExecutivebtn
(
val
){
if
(
val
){
this
.
uipExecutiveText
=
[]
;
}
this
.
uipExecutiveText
=
[];
this
.
checkuipExecutive
=
true
;
this
.
search
();
},
uipExecutiveLevelbtn
(
val
){
if
(
val
.
length
>
0
){
this
.
checkuipExecutive
=
false
;
}
else
if
(
val
.
length
==
0
){
this
.
checkuipExecutive
=
true
;
this
.
checkuipExecutive
=
=
true
;
}
this
.
search
();
...
...
@@ -947,8 +952,11 @@ export default {
margin-right
:
20px
;
::v-deep
.el-input-group__append
{
cursor
:
pointer
;
padding
:
0px
;
.btn-search
{
width
:
70px
;
color
:
#0081ff
;
text-align
:
center
;
}
}
}
...
...
dsk-operate-ui/src/views/enterpriseData/components/SearchEnterprise/index.vue
View file @
f4f7c87b
...
...
@@ -4,7 +4,7 @@
<div
class=
"content"
>
<div
class=
"content_item"
>
<div
class=
"content_right item_ckquery_list"
>
<el-input
class=
"ename_input"
placeholder=
"请输入
项目名称关键字
"
v-model=
"ename"
@
input=
"projectNamebtn('ename',ename,'关键字:')"
>
<el-input
class=
"ename_input"
placeholder=
"请输入
关键字,如企业名称、统一社会信用代码等
"
v-model=
"ename"
@
input=
"projectNamebtn('ename',ename,'关键字:')"
>
<div
slot=
"append"
class=
"btn-search"
@
click=
"submitbtn"
>
搜索
</div>
</el-input>
<template
v-if=
"ename"
>
...
...
@@ -48,9 +48,9 @@
</div>
</div>
<div
class=
"content_item content_item1"
>
<div
class=
"label"
>
更多
选项
</div>
<div
class=
"label"
>
更多
筛选
</div>
<div
class=
"content_right "
>
<div
class=
"select-popper"
>
<
!-- <
div class="select-popper">
<div class=" " :class="regionWeb.length>0?'select-active':''">
备案网站{{regionWeb.length>0?(regionWeb.length+'项'):''}}
<i class="el-icon-caret-bottom"></i>
...
...
@@ -63,7 +63,7 @@
</el-option>
</el-select>
</div>
</div>
-->
<div
class=
"select-popper"
>
<el-dropdown
trigger=
"click"
placement=
'bottom-start'
>
<div
class=
"el-dropdown-link "
:class=
"filePlaceCode?'select-active':''"
>
...
...
@@ -136,7 +136,7 @@
</el-dropdown>
</div>
<div
class=
"select-popper"
>
<
!-- <
div class="select-popper">
<el-dropdown trigger="click" placement='bottom-start'>
<div class="el-dropdown-link " :class="hasPhone?'select-active':''">
有无联系电话{{hasPhone?' 1项':''}}
...
...
@@ -153,8 +153,8 @@
</el-dropdown-menu>
</el-dropdown>
</div>
<div
class=
"select-popper"
>
</div>
-->
<
!-- <
div class="select-popper">
<el-dropdown trigger="click" placement='bottom-start'>
<div class="el-dropdown-link " :class="hasLiceCert!=''?'select-active':''">
<span>建筑安许证{{hasLiceCert!=''?' 1项':''}}</span>
...
...
@@ -170,7 +170,7 @@
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
-->
<div
class=
"select-popper"
>
<div
class=
" "
:class=
"systemValue.length>0?'select-active':''"
>
管理体系认证{{systemValue.length>0?(systemValue.length+'项'):''}}
...
...
@@ -280,7 +280,7 @@
<el-dropdown-menu
slot=
"dropdown"
class=
"dropdown-list-radio"
>
<
template
v-for=
" (item,i) in registeredAssets"
>
<el-dropdown-item
v-if=
'item.value!="自定义"'
:class=
"item.value==registeredAssetsText?'color
t_
ext ':''"
:class=
"item.value==registeredAssetsText?'color
_t
ext ':''"
:command=
"
{'value':item.value,'key':'注册资本','label':item.label}">
<p
@
click=
"registeredAssetsText=item.value"
>
{{
item
.
value
}}
...
...
@@ -288,9 +288,9 @@
</el-dropdown-item>
<el-dropdown-item
v-else
command=
"自定义"
style=
"padding: 0px;"
>
<div
@
mouseenter=
"showHandleNumber = true"
:class=
"registeredAssetsText=='自定义'?'color
t_
ext':''"
style=
"padding: 0px 20px;"
:class=
"registeredAssetsText=='自定义'?'color
_t
ext':''"
style=
"padding: 0px 20px;"
@
mouseleave=
"showHandleNumber = false"
>
<span
:class=
"registeredAssetsText=='自定义'?'color
t_
ext':''"
>
<span
:class=
"registeredAssetsText=='自定义'?'color
_t
ext':''"
>
自定义
<i
class=
"el-icon-arrow-right"
style=
"padding-left: 24px;"
></i>
</span>
<div
class=
"jabph_popper_box"
style=
"position:absolute;left: 124px;"
...
...
@@ -324,7 +324,7 @@
<el-dropdown-menu
slot=
"dropdown"
class=
"dropdown-list-radio"
>
<
template
v-for=
" (item,i) in registeredAssets"
>
<el-dropdown-item
v-if=
'item.value!="自定义"'
:class=
"item.value==actualCapi?'color
t_
ext ':''"
:class=
"item.value==actualCapi?'color
_t
ext ':''"
:command=
"
{'value':item.value,'key':'实缴资本','label':item.label}">
<p
@
click=
"actualCapi=item.value"
>
{{
item
.
value
}}
...
...
@@ -332,9 +332,9 @@
</el-dropdown-item>
<el-dropdown-item
v-else
command=
"自定义"
style=
"padding: 0px;"
>
<div
@
mouseenter=
"showHandleNumber = true"
:class=
"actualCapi=='自定义'?'color
t_
ext':''"
style=
"padding: 0px 20px;"
:class=
"actualCapi=='自定义'?'color
_t
ext':''"
style=
"padding: 0px 20px;"
@
mouseleave=
"showHandleNumber = false"
>
<span
:class=
"actualCapi=='自定义'?'color
t_
ext':''"
>
<span
:class=
"actualCapi=='自定义'?'color
_t
ext':''"
>
自定义
<i
class=
"el-icon-arrow-right"
style=
"padding-left: 24px;"
></i>
</span>
<div
class=
"jabph_popper_box"
style=
"position:absolute;left: 124px;"
...
...
@@ -373,7 +373,7 @@
<el-dropdown-menu
slot=
"dropdown"
class=
"dropdown-list-radio"
>
<
template
v-for=
" (item,i) in InsuredNumList"
>
<el-dropdown-item
v-if=
'item.value!="自定义"'
:class=
"item.value==InsuredNumText?'color
t_
ext ':''"
:class=
"item.value==InsuredNumText?'color
_t
ext ':''"
:command=
"
{'value':item.value,'key':'社保人数','label':item.label}">
<p
@
click=
"InsuredNumText=item.value"
>
{{
item
.
value
}}
...
...
@@ -381,9 +381,9 @@
</el-dropdown-item>
<el-dropdown-item
v-else
command=
"自定义"
style=
"padding: 0px;"
>
<div
@
mouseenter=
"showHandleNumber = true"
:class=
"InsuredNumText=='自定义'?'color
t_
ext':''"
style=
"padding: 0px 20px;"
>
:class=
"InsuredNumText=='自定义'?'color
_t
ext':''"
style=
"padding: 0px 20px;"
>
<!-- @mouseleave="showHandleNumber = false" -->
<span
:class=
"InsuredNumText=='自定义'?'color
t_
ext':''"
>
<span
:class=
"InsuredNumText=='自定义'?'color
_t
ext':''"
>
自定义
<i
class=
"el-icon-arrow-right"
style=
"padding-left: 24px;"
></i>
</span>
<div
class=
"jabph_popper_box"
style=
"position:absolute;left: 124px;"
...
...
@@ -777,6 +777,10 @@
{
value
:
'1'
,
label
:
'是高新企业'
},
{
value
:
'0'
,
label
:
'不是高新企业'
}
],
...
...
@@ -1407,7 +1411,7 @@
}).
catch
(
error
=>
{
this
.
optionss
=
aptitudeCode
;
});
this
.
getRegionWebList
();
this
.
getaddressList
();
this
.
submitbtn
();
...
...
@@ -1642,21 +1646,11 @@
getRegionWebList
(){
api
.
searchDic
().
then
(
res
=>
{
if
(
res
)
{
this
.
regionWebList
=
res
}
else
{
api
.
regionWebList
().
then
(
res
=>
{
if
(
res
)
{
this
.
regionWebList
=
res
}
})
}
this
.
regionWebList
=
res
.
regionWeb
;
}
}).
catch
(
error
=>
{
api
.
regionWebList
().
then
(
res
=>
{
if
(
res
)
{
this
.
regionWebList
=
res
}
})
});
});
},
// 工商注册地
...
...
@@ -2597,18 +2591,18 @@
reset
()
{
Object
.
assign
(
this
.
$data
,
this
.
$options
.
data
())
//重置data
this
.
$axios
.
get
(
'https://files.jiansheku.com/file/json/common/aptitudeCode.json'
).
then
(
res
=>
{
if
(
res
&&
res
.
status
==
200
)
{
this
.
optionss
=
res
.
data
;
}
else
{
this
.
optionss
=
aptitudeCode
;
}
}).
catch
(
error
=>
{
this
.
optionss
=
aptitudeCode
;
});
api
.
aptitudeCode
().
then
(
res
=>
{
if
(
res
)
{
this
.
optionss
=
res
;
}
else
{
this
.
optionss
=
aptitudeCode
;
}
}).
catch
(
error
=>
{
this
.
optionss
=
aptitudeCode
;
});
this
.
getaddressList
();
this
.
getRegionWebList
();
...
...
dsk-operate-ui/src/views/project/projectList/component/addProject.vue
View file @
f4f7c87b
...
...
@@ -146,6 +146,7 @@
//添加客户
submitForm
(
formName
)
{
this
.
queryParam
.
userId
=
this
.
$store
.
state
.
user
.
userId
this
.
queryParam
.
investmentAmount
=
parseFloat
(
this
.
queryParam
.
investmentAmount
)
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
addProject
(
this
.
queryParam
).
then
(
result
=>
{
...
...
dsk-operate-ui/src/views/project/projectList/component/gjjl.vue
View file @
f4f7c87b
...
...
@@ -4,7 +4,7 @@
<div
class=
"cardtitles"
v-if=
"showtype != 'projectgjdt'"
>
跟进记录
</div>
<div
style=
"height: 24px"
v-if=
"showtype == 'projectgjdt'"
></div>
<div
class=
"records"
>
<div
class=
"writeIn"
>
<div
class=
"writeIn"
v-if=
"isDisabled == false"
>
<div
class=
"default"
v-if=
"isEdit == false"
@
click=
"getEdit"
>
<img
src=
"@/assets/images/project/add_3.png"
>
<div>
新建一条跟进记录,如:周五上午预约客户上门拜访
</div>
...
...
@@ -44,7 +44,7 @@
</el-input>
</div>
<div
class=
"times"
><img
src=
"@/assets/images/project/ico_4.png"
>
<el-date-picker
class=
"w128"
<el-date-picker
class=
"w128"
value-format=
"yyyy-MM-dd"
v-model=
"addParam.nextVisitTime"
type=
"date"
placeholder=
"下次拜访时间"
>
...
...
@@ -91,7 +91,7 @@
<div
class=
"rec_time"
>
<i
class=
"el-icon-time"
></i>
<div>
{{
item
.
creatTime
}}
</div>
<div
class=
"operate"
>
<div
class=
"operate"
v-if=
"isDisabled == false"
>
<!--
<img
src=
"@/assets/images/edit.png"
>
第一期不做编辑-->
<img
@
click=
"delRecord(item.id)"
src=
"@/assets/images/delete.png"
>
</div>
...
...
@@ -145,6 +145,7 @@
default
:
0
},
datas
:[],
//数据源
isDisabled
:
false
,
},
name
:
'gjjl'
,
data
(){
...
...
@@ -171,11 +172,13 @@
projectId
:
this
.
detailId
?
this
.
detailId
:
parseInt
(
this
.
$route
.
query
.
id
),
//项目详情id
userId
:
this
.
$store
.
state
.
user
.
userId
,
//当前用户id
projectList
:[],
//关联项目
isDisabled
:
this
.
isDisabled
,
}
},
computed
:
{
},
created
(){
console
.
log
(
this
.
isDisabled
)
//获取拜访方式
getDictType
(
'visit_mode_type'
).
then
(
result
=>
{
this
.
bffslist
=
result
.
code
==
200
?
result
.
data
:[]
...
...
@@ -183,6 +186,7 @@
this
.
showtype
=
this
.
types
//客户管理跟进动态
if
(
this
.
showtype
==
'gjdt'
){
this
.
isDisabled
=
false
getUserList
().
then
(
result
=>
{
this
.
glqylist
=
result
.
data
})
...
...
@@ -194,6 +198,7 @@
}
//项目管理跟进动态
if
(
this
.
showtype
==
'projectgjdt'
){
this
.
isDisabled
=
false
this
.
projectId
=
null
//项目id暂时清空,必须手选id
relateProject
(
this
.
userId
).
then
(
res
=>
{
this
.
projectList
=
res
.
data
...
...
dsk-operate-ui/src/views/project/projectList/component/gzdb.vue
View file @
f4f7c87b
...
...
@@ -3,7 +3,7 @@
<el-card
class=
"box-card noborder"
>
<div
class=
"cardtitles"
>
工作待办
</div>
<div
class=
"records"
>
<div
class=
"writeIn"
>
<div
class=
"writeIn"
v-if=
"isDisabled == false"
>
<div
class=
"default"
v-if=
"isEdit == false"
@
click=
"getEdit"
>
<img
src=
"@/assets/images/project/add_3.png"
>
<div>
新建一条工作代办,如:周五上午预约客户上门拜访
</div>
...
...
@@ -15,15 +15,17 @@
</div>
<div
class=
"wr_bot"
>
<div
class=
"times"
><img
src=
"@/assets/images/project/ico_4.png"
>
<el-date-picker
<el-date-picker
value-format=
"yyyy-MM-dd"
v-model=
"queryParam.finishTime"
type=
"date"
placeholder=
"完成时间"
>
</el-date-picker>
</div>
<el-input
v-model=
"queryParam.target"
placeholder=
"拜访对象"
style=
"width: 100px;"
>
<i
slot=
"prefix"
class=
"el-input__icon"
><img
src=
"@/assets/images/project/ico_2.png"
></i>
</el-input>
<div
class=
"sels"
>
<img
src=
"@/assets/images/project/ico_2.png"
>
<el-input
v-model=
"queryParam.target"
placeholder=
"拜访对象"
style=
"width: 100px;"
>
</el-input>
</div>
<div
class=
"btn btn_primary h32 wc"
@
click=
"add"
:disabled=
"queryParam.task == ''"
:class=
"
{'btn_disabled':queryParam.task == ''}">完成
</div>
</div>
</div>
...
...
@@ -34,11 +36,11 @@
<div
class=
"task_con"
><span>
发起时间:
{{
item
.
createTime
}}
</span><span
v-if=
"item.target"
>
关联客户:
<font
class=
"wordprimary"
>
{{
item
.
target
}}
</font></span><span
v-if=
"item.finishTime"
>
完成时间:
{{
item
.
finishTime
}}
</span></div>
<div
class=
"select"
:class=
"
{'on':item.state == 2}">
<div
class=
"select-popper"
>
<span
class=
"color_text"
>
<span>
{{
item
.
state
==
2
?
"已完成"
:
"未完成"
}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-select
placeholder=
"请选择"
v-model=
"item.state"
class=
"select-multiple"
@
change=
"changes(item.id,$event)"
>
<el-select
v-if=
"isDisabled == false"
placeholder=
"请选择"
v-model=
"item.state"
class=
"select-multiple"
@
change=
"changes(item.id,$event)"
>
<el-option
label=
"未完成"
value=
"1"
></el-option>
<el-option
label=
"已完成"
value=
"2"
></el-option>
</el-select>
...
...
@@ -73,7 +75,8 @@
detailId
:
{
//从企业详情跳转过来ID
type
:
Number
,
default
:
0
}
},
isDisabled
:
false
,
},
data
(){
return
{
...
...
@@ -94,6 +97,7 @@
},
datalist
:[],
yqnum
:
0
,
//已逾期数量
isDisabled
:
this
.
isDisabled
,
}
},
created
(){
...
...
@@ -109,6 +113,9 @@
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
"添加成功!"
)
this
.
getList
()
this
.
queryParam
.
target
=
''
this
.
queryParam
.
task
=
''
this
.
queryParam
.
finishTime
=
''
}
else
{
this
.
$message
.
error
(
result
.
msg
)
}
...
...
@@ -162,4 +169,7 @@
width
:
100px
;
margin-right
:
12px
;
}
.times
.el-input__icon
>
img
{
width
:
16px
;
}
</
style
>
dsk-operate-ui/src/views/project/projectList/component/jsnr.vue
View file @
f4f7c87b
This diff is collapsed.
Click to expand it.
dsk-operate-ui/src/views/project/projectList/component/lxr.vue
View file @
f4f7c87b
...
...
@@ -14,13 +14,16 @@
<img
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
暂无数据展示
</div>
<div
class=
"p2"
>
抱歉,你还未添加相关数据,快去添加吧
</div>
<div
class=
"btn btn_primary h36 w102"
@
click=
"opennew"
>
新增联系人
</div>
<div
class=
"btn btn_primary h36 w102"
@
click=
"opennew"
v-if=
"isDisabled==false"
>
新增联系人
</div>
</div>
</
template
>
<el-table-column
prop=
"name"
label=
"姓名"
width=
"113"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
name
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"name"
...
...
@@ -38,20 +41,32 @@
label=
"角色"
sortable
width=
"146"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
role
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"office"
label=
"公司/机关"
>
label=
"关联企业"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
office
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"position"
label=
"职位"
width=
"125"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
position
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"phone"
label=
"联系方式"
width=
"175"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
phone
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"accendant"
...
...
@@ -86,18 +101,24 @@
<el-form-item
label=
"联系人姓名:"
class=
"row"
>
<el-input
type=
"text"
v-model=
"queryParam.name"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"联系人性别:"
class=
"row"
>
<el-radio-group
v-model=
"queryParam.sex"
>
<el-radio
label=
1
>
男
</el-radio>
<el-radio
label=
0
>
女
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"联系人角色:"
class=
"row"
>
<el-input
type=
"text"
v-model=
"queryParam.role"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"联系人职位:"
class=
"row"
>
<el-input
type=
"text"
v-model=
"queryParam.position"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"联系人公司/机关:"
class=
"row"
>
<el-form-item
label=
"关联企业:"
class=
"row"
>
<el-input
type=
"text"
v-model=
"queryParam.office"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"
内部维护人
:"
class=
"row"
>
<el-input
type=
"text"
v-model=
"queryParam.
accendant
"
placeholder=
"请输入"
></el-input>
<el-form-item
label=
"
联系人职位
:"
class=
"row"
>
<el-input
type=
"text"
v-model=
"queryParam.
position
"
placeholder=
"请输入"
></el-input>
</el-form-item>
<!--<el-form-item label="内部维护人:" class="row">-->
<!--<el-input type="text" v-model="queryParam.accendant" placeholder="请输入"></el-input>-->
<!--</el-form-item>-->
<el-form-item
label=
"联系方式:"
class=
"row"
>
<el-input
type=
"text"
v-model=
"queryParam.phone"
placeholder=
"请输入"
></el-input>
</el-form-item>
...
...
@@ -120,7 +141,8 @@
detailId
:
{
//从企业详情跳转过来ID
type
:
Number
,
default
:
0
}
},
isDisabled
:
false
,
},
data
(){
return
{
...
...
@@ -140,6 +162,7 @@
total
:
0
,
projectname
:
this
.
$route
.
query
.
projectname
,
queryParam
:[],
isDisabled
:
this
.
isDisabled
,
}
},
created
(){
...
...
@@ -148,6 +171,7 @@
methods
:{
getDetail
(
item
){
this
.
dialogVisible
=
true
item
.
sex
=
item
.
sex
.
toString
()
this
.
queryParam
=
item
this
.
isnew
=
false
},
...
...
@@ -158,8 +182,10 @@
})
},
save
(){
let
param
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
queryParam
))
param
.
sex
=
parseInt
(
param
.
sex
)
if
(
this
.
isnew
==
false
){
editLXR
(
this
.
queryP
aram
).
then
(
result
=>
{
editLXR
(
p
aram
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
'保存成功!'
)
this
.
getList
()
...
...
@@ -168,7 +194,7 @@
})
}
if
(
this
.
isnew
==
true
){
addLXR
(
this
.
queryP
aram
).
then
(
result
=>
{
addLXR
(
p
aram
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
'新增成功!'
)
this
.
getList
()
...
...
@@ -192,11 +218,12 @@
this
.
queryParam
=
{
businessId
:
this
.
id
,
name
:
""
,
sex
:
"1"
,
role
:
""
,
office
:
""
,
position
:
""
,
phone
:
""
,
accendant
:
""
,
//
accendant:"",
}
},
}
...
...
dsk-operate-ui/src/views/project/projectList/component/xgqy.vue
View file @
f4f7c87b
...
...
@@ -4,14 +4,14 @@
<el-card
class=
"box-card noborder"
>
<div
class=
"cardtitles"
>
相关企业
</div>
<div
class=
"searchbtns"
>
<el-select
class=
"select"
placeholder=
"企业类型"
clearable
=
"true"
v-model=
"searchParam.companyType"
@
change=
"handleCurrentChange(1)"
>
<el-select
class=
"select"
placeholder=
"企业类型"
clearable
v-model=
"searchParam.companyType"
@
change=
"handleCurrentChange(1)"
>
<el-option
v-for=
"(item,index) in companytype"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
<div
class=
"searchInput"
>
<el-input
type=
"text"
placeholder=
"输入关键词查询"
v-model=
"searchParam.companyName"
></el-input>
<el-input
type=
"text"
placeholder=
"输入关键词查询"
clearable
v-model=
"searchParam.companyName"
></el-input>
<div
class=
"btn"
@
click=
"handleCurrentChange(1)"
>
搜索
</div>
</div>
<div
class=
"btn btn_primary h32 b3"
@
click=
"opennew"
><div
class=
"img img1"
></div>
添加相关企业
</div>
<div
class=
"btn btn_primary h32 b3"
@
click=
"opennew"
v-if=
"isDisabled == false"
><div
class=
"img img1"
></div>
添加相关企业
</div>
</div>
<div
class=
"document tables"
>
<el-table
...
...
@@ -23,7 +23,7 @@
<img
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
抱歉,没找到相关数据
</div>
<div
class=
"p2"
>
建议调整关键词或添加相关企业,重新搜索
</div>
<
!--
<div
class=
"btn btn_primary h36 w102"
@
click=
"opennew"
>
新增相关企业
</div>
--
>
<
div
class=
"btn btn_primary h36 w102"
@
click=
"opennew"
v-if=
"isDisabled==false"
>
新增相关企业
</div
>
</div>
</
template
>
<el-table-column
...
...
@@ -36,13 +36,13 @@
</el-table-column>
<el-table-column
prop=
"depth"
sortable
label=
"对接深度/竞争力度"
>
</el-table-column>
<el-table-column
prop=
"companyRole"
label=
"企业角色"
sortable
width=
""
>
</el-table-column>
<el-table-column
...
...
@@ -50,7 +50,7 @@
label=
"负责人"
width=
""
>
</el-table-column>
<el-table-column
<el-table-column
v-if=
"isDisabled == false"
prop=
"name"
label=
""
align=
"right"
...
...
@@ -143,7 +143,8 @@
detailId
:
{
//从企业详情跳转过来ID
type
:
Number
,
default
:
0
}
},
isDisabled
:
false
,
},
data
(){
return
{
...
...
@@ -179,6 +180,7 @@
companyName
:
''
,
},
ondel
:
-
1
,
isDisabled
:
this
.
isDisabled
,
}
},
created
(){
...
...
@@ -266,6 +268,9 @@
</
script
>
<
style
lang=
"scss"
scoped
>
.searchInput
.el-input
{
width
:
68%
;
}
.w102
{
width
:
102px
;
}
...
...
dsk-operate-ui/src/views/project/projectList/component/xmsl.vue
View file @
f4f7c87b
...
...
@@ -8,7 +8,7 @@
<div
class=
"con"
>
<span>
项目级别 :
</span>
<div
class=
"inputxt"
id=
"inputxt1"
>
<div
class=
"flex"
v-if=
"nowedit == 1
"
>
<div
class=
"flex"
v-if=
"nowedit == 1
&& isDisabled == false"
>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.projectLevel"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL(
{projectLevel:xmsldata.projectLevel})">确定
</div>
...
...
@@ -26,7 +26,7 @@
{{
xmjd
}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-select
v-model=
"xmjd"
class=
"select-multiple"
placeholder=
"请选择"
@
change=
"editXMSL(
{projectStage:xmjd})">
<el-select
v-
if=
"isDisabled==false"
v-
model=
"xmjd"
class=
"select-multiple"
placeholder=
"请选择"
@
change=
"editXMSL(
{projectStage:xmjd})">
<el-option
v-for=
"(item,index) in projectStage"
:key=
"index"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
</div>
...
...
@@ -38,9 +38,9 @@
<div
class=
"flex tipinput"
>
<div
class=
"tips"
v-for=
"(item,index) in tipslit"
>
{{
item
}}
<img
@
click=
"deltip(item)"
src=
"@/assets/images/project/del.png"
></div>
<div
style=
"position: relative"
>
<el-input
placeholder=
"待添加"
v-model=
"tipsvalue"
@
input=
"getValue"
:style=
"spanWidth"
></el-input><span
class=
"spanText"
>
{{
tipsvalue
}}
</span>
<el-input
placeholder=
"待添加"
:disabled=
"isDisabled"
v-model=
"tipsvalue"
@
input=
"getValue"
:style=
"spanWidth"
></el-input><span
class=
"spanText"
>
{{
tipsvalue
}}
</span>
</div>
<div
class=
"addbtn"
@
click=
"addtips"
></div>
<div
class=
"addbtn"
v-if=
"isDisabled == false"
@
click=
"addtips"
></div>
</div>
</div>
</div>
...
...
@@ -53,7 +53,7 @@
<div
class=
"con"
>
<span>
主管单位 :
</span>
<div
class=
"inputxt"
id=
"inputxt2"
>
<div
class=
"flex"
v-if=
"nowedit == 2"
>
<div
class=
"flex"
v-if=
"nowedit == 2
&& isDisabled == false
"
>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.supervisorUnit"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL(
{supervisorUnit:xmsldata.supervisorUnit})">确定
</div>
...
...
@@ -66,7 +66,7 @@
<div
class=
"con i"
>
<span>
建设单位 :
</span>
<div
class=
"inputxt"
id=
"inputxt3"
:style=
"
{width:rig1}">
<div
class=
"flex"
v-if=
"nowedit == 3"
>
<div
class=
"flex"
v-if=
"nowedit == 3
&& isDisabled == false
"
>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.constructionUnit"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL(
{constructionUnit:xmsldata.constructionUnit})">确定
</div>
...
...
@@ -82,7 +82,7 @@
<div
class=
"con"
>
<span>
主管单位负责人 :
</span>
<div
class=
"inputxt"
id=
"inputxt4"
>
<div
class=
"flex"
v-if=
"nowedit == 4"
>
<div
class=
"flex"
v-if=
"nowedit == 4
&& isDisabled == false
"
>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.supervisorPrincipal"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL(
{supervisorPrincipal:xmsldata.supervisorPrincipal})">确定
</div>
...
...
@@ -95,7 +95,7 @@
<div
class=
"con i"
>
<span>
建设单位负责人 :
</span>
<div
class=
"inputxt"
id=
"inputxt5"
>
<div
class=
"flex"
v-if=
"nowedit == 5"
>
<div
class=
"flex"
v-if=
"nowedit == 5
&& isDisabled == false
"
>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.constructionPrincipal"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL(
{constructionPrincipal:xmsldata.constructionPrincipal})">确定
</div>
...
...
@@ -110,7 +110,7 @@
<div
class=
"con"
>
<span>
主管单位联系电话 :
</span>
<div
class=
"inputxt"
id=
"inputxt6"
>
<div
class=
"flex"
v-if=
"nowedit == 6"
>
<div
class=
"flex"
v-if=
"nowedit == 6
&& isDisabled == false
"
>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.supervisorPhone"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
@
click=
"isphone(1,xmsldata.supervisorPhone)"
style=
"width: 56px"
>
确定
</div>
...
...
@@ -123,7 +123,7 @@
<div
class=
"con i"
>
<span>
建设单位联系电话 :
</span>
<div
class=
"inputxt"
id=
"inputxt7"
>
<div
class=
"flex"
v-if=
"nowedit == 7"
>
<div
class=
"flex"
v-if=
"nowedit == 7
&& isDisabled == false
"
>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.constructionPhone"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
@
click=
"isphone(2,xmsldata.constructionPhone)"
style=
"width: 56px"
>
确定
</div>
...
...
@@ -177,7 +177,6 @@
export
default
{
name
:
'xmsl'
,
props
:{
datas
:
''
,
detailId
:
{
//从企业详情跳转过来ID
type
:
Number
,
default
:
0
...
...
@@ -191,9 +190,10 @@
xmjd
:
'待添加'
,
projectStage
:[],
//项目阶段
id
:
this
.
detailId
?
this
.
detailId
:
this
.
$route
.
query
.
id
,
xmsldata
:
this
.
datas
,
xmsldata
:
[]
,
spanWidth
:
'width: 70px'
,
rig1
:
'184px'
,
isDisabled
:
false
,
}
},
created
(){
...
...
@@ -205,6 +205,8 @@
},
mounted
(){
document
.
addEventListener
(
'mouseup'
,(
e
)
=>
{
if
(
this
.
isDisabled
==
true
)
return
false
let
j
=
0
for
(
var
i
=
1
;
i
<=
7
;
i
++
){
let
isSelf
=
document
.
getElementById
(
'inputxt'
+
i
).
contains
(
event
.
target
)
// 这个是自己的区域
...
...
@@ -215,6 +217,33 @@
}
}
if
(
j
==
7
){
if
(
this
.
nowedit
!=
-
1
){
let
param
=
{}
switch
(
this
.
nowedit
)
{
case
1
:
param
=
{
'projectLevel'
:
this
.
xmsldata
.
projectLevel
}
break
;
case
2
:
param
=
{
'supervisorUnit'
:
this
.
xmsldata
.
supervisorUnit
}
break
;
case
3
:
param
=
{
'constructionUnit'
:
this
.
xmsldata
.
constructionUnit
}
break
;
case
4
:
param
=
{
'supervisorPrincipal'
:
this
.
xmsldata
.
supervisorPrincipal
}
break
;
case
5
:
param
=
{
'constructionPrincipal'
:
this
.
xmsldata
.
constructionPrincipal
}
break
;
case
6
:
param
=
{
'supervisorPhone'
:
this
.
xmsldata
.
supervisorPhone
}
break
;
case
7
:
param
=
{
'constructionPhone'
:
this
.
xmsldata
.
constructionPhone
}
break
;
}
this
.
editXMSL
(
param
)
}
this
.
nowedit
=
-
1
}
})
...
...
@@ -232,6 +261,9 @@
});
},
editXMSL
(
param
){
this
.
nowedit
=
-
1
if
(
this
.
isDisabled
==
true
)
return
false
if
(
param
.
projectStage
){
//修改项目阶段
this
.
$emit
(
'Refreshs'
,
param
)
this
.
xmjd
=
param
.
projectStage
...
...
@@ -240,13 +272,14 @@
params
.
id
=
this
.
id
editXMNR
(
JSON
.
stringify
(
params
)).
then
(
res
=>
{
if
(
res
.
code
==
200
){
this
.
$message
.
success
(
'修改成功!'
)
if
(
!
param
.
projectStage
){
this
.
$message
.
success
(
'修改成功!'
)
}
}
else
{
this
.
$message
.
error
(
res
.
msg
)
this
.
getXMSL
()
}
})
this
.
nowedit
=
-
1
}
},
//验证电话号码
...
...
@@ -307,8 +340,7 @@
this
.
xmjd
=
result
.
data
.
projectStage
this
.
tipslit
=
result
.
data
.
labelList
this
.
xmsldata
=
result
.
data
this
.
isDisabled
=
result
.
data
.
isFounder
==
1
?
false
:
true
const
spanStyle
=
document
.
querySelector
(
".rig1"
);
this
.
$nextTick
(()
=>
{
// 如果不用$nextTick的话页面并不会更新,它是在下次dom更新后再渲染到页面上
this
.
rig1
=
...
...
dsk-operate-ui/src/views/project/projectList/component/zlwd.vue
View file @
f4f7c87b
...
...
@@ -6,7 +6,7 @@
<div
class=
"searchbtns"
>
<!--
<div
class=
"searchbtns"
v-if=
"fileDatas.rows != null && fileDatas.rows.length>0"
>
-->
<div
class=
"searchInput"
>
<el-input
type=
"text"
v-model=
"param.keyword"
placeholder=
"输入关键词查询"
></el-input>
<el-input
type=
"text"
v-model=
"param.keyword"
clearable
placeholder=
"输入关键词查询"
></el-input>
<div
class=
"btn"
@
click=
"handleCurrentChange(1)"
>
搜索
</div>
</div>
<div
class=
"btn btn_primary h32 b2"
@
click=
"getUP"
><div
class=
"img img2"
></div>
上传
</div>
...
...
@@ -51,9 +51,9 @@
<template
slot=
"empty"
>
<div
class=
"empty"
>
<img
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
暂无数据展示
</div>
<div
class=
"p2"
>
抱歉,你还未添加相关数据,快去上传吧
</div>
<div
class=
"btn btn_primary h36 w102"
@
click=
"getUP"
>
上传文档
</div>
<div
class=
"p1"
>
抱歉,没找到相关数据
</div>
<div
class=
"p2"
>
建议调整关键词或筛选条件,重新搜索
</div>
<div
v-if=
"isDisabled==false"
class=
"btn btn_primary h36 w102"
@
click=
"getUP"
>
上传文档
</div>
</div>
</
template
>
<el-table-column
...
...
@@ -89,7 +89,7 @@
<
template
slot-scope=
"scope"
>
<div
class=
"hoverbtn"
>
<div
class=
"xz"
@
click=
"downnlod(scope.row)"
>
下载
</div>
<div
class=
"sc"
@
click=
"del(scope.row.filePath)"
>
删除
</div>
<div
class=
"sc"
v-if=
"isDisabled == false"
@
click=
"del(scope.row.filePath)"
>
删除
</div>
</div>
</
template
>
</el-table-column>
...
...
@@ -128,7 +128,8 @@
detailId
:
{
//从企业详情跳转过来ID
type
:
Number
,
default
:
0
}
},
isDisabled
:
false
,
},
data
(){
return
{
...
...
@@ -150,6 +151,7 @@
fileDatas
:[],
filename
:
''
,
ondel
:
""
,
isDisabled
:
this
.
isDisabled
,
}
},
created
(){
...
...
@@ -192,6 +194,8 @@
}
},
getUP
(){
if
(
this
.
isDisabled
==
true
)
return
false
this
.
isupload
=
true
this
.
$nextTick
(()
=>
{
this
.
$refs
.
uploadFile
.
$children
[
0
].
$refs
.
input
.
webkitdirectory
=
true
...
...
@@ -345,4 +349,7 @@
}
}
}
.searchInput
.el-input
{
width
:
68%
;
}
</
style
>
dsk-operate-ui/src/views/project/projectList/detail.vue
View file @
f4f7c87b
...
...
@@ -29,7 +29,7 @@
</div>
</div>
</div>
<div
class=
"contets row"
>
<div
class=
"contets row"
readonly
>
<div
class=
"det-con"
>
<span>
项目类型:
</span>
<div
class=
"select-popper"
>
...
...
@@ -37,7 +37,7 @@
{{xmlx}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-select
v-model=
"xmlx"
class=
"select-multiple"
placeholder=
"请选择"
@
change=
"editXMSL({projectType:xmlx})"
>
<el-select
v-
if=
"isDisabled == false"
v-
model=
"xmlx"
class=
"select-multiple"
placeholder=
"请选择"
@
change=
"editXMSL({projectType:xmlx})"
>
<el-option
v-for=
"(item,index) in projectType"
:key=
"index"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
</div>
...
...
@@ -50,7 +50,7 @@
{{xmlb}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-select
v-model=
"xmlb"
class=
"select-multiple"
placeholder=
"请选择"
@
change=
"editXMSL({projectCategory:xmlb})"
>
<el-select
v-
if=
"isDisabled==false"
v-
model=
"xmlb"
class=
"select-multiple"
placeholder=
"请选择"
@
change=
"editXMSL({projectCategory:xmlb})"
>
<el-option
v-for=
"(item,index) in projectCategory"
:key=
"index"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
</div>
...
...
@@ -59,7 +59,7 @@
<div
class=
"det-con con"
id=
"inputxt"
>
<span>
投资估算(万元):
</span>
<div
class=
"inputxt i"
:class=
"{'nomar':nowedit != 3}"
>
<div
class=
"flex"
v-if=
"nowedit == 3"
>
<div
class=
"flex"
v-if=
"nowedit == 3
&& isDisabled == false
"
>
<el-input
v-model=
"ProjectData.investmentAmount"
placeholder=
"待添加"
@
input=
"number"
></el-input>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL({investmentAmount:ProjectData.investmentAmount})"
>
确定
</div>
...
...
@@ -77,7 +77,7 @@
{{addresstxt}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-cascader
class=
"cascader-region select-location"
v-model=
"ProjectData.address"
<el-cascader
:disabled=
"isDisabled"
class=
"cascader-region select-location"
v-model=
"ProjectData.address"
ref=
"myCascader"
:props=
"props"
:options=
"addressList"
@
change=
"handleChange"
></el-cascader>
...
...
@@ -107,19 +107,19 @@
</div>
</el-card>
<!--项目速览-->
<xmsl
v-if=
"thistag == 'xmsl'"
:key=
"keys"
@
Refreshs=
"getsl"
:d
atas=
"ProjectData"
:d
etailId=
"detailId"
></xmsl>
<xmsl
v-if=
"thistag == 'xmsl'"
:key=
"keys"
@
Refreshs=
"getsl"
:detailId=
"detailId"
></xmsl>
<!--建设内容-->
<jsnr
v-if=
"thistag == 'jsnr'"
:detailId=
"detailId"
></jsnr>
<jsnr
v-if=
"thistag == 'jsnr'"
:
isDisabled=
'isDisabled'
:
detailId=
"detailId"
></jsnr>
<!--联系人-->
<lxr
v-if=
"thistag == 'lxr'"
:detailId=
"detailId"
></lxr>
<lxr
v-if=
"thistag == 'lxr'"
:
isDisabled=
'isDisabled'
:
detailId=
"detailId"
></lxr>
<!--跟进记录-->
<gjjl
v-if=
"thistag == 'gjjl'"
types=
"gjjl"
:detailId=
"detailId"
></gjjl>
<gjjl
v-if=
"thistag == 'gjjl'"
:isDisabled=
'isDisabled'
types=
"gjjl"
:detailId=
"detailId"
></gjjl>
<!--工作待办-->
<gzdb
v-if=
"thistag == 'gzdb'"
:detailId=
"detailId"
></gzdb>
<gzdb
v-if=
"thistag == 'gzdb'"
:
isDisabled=
'isDisabled'
:
detailId=
"detailId"
></gzdb>
<!--资料文档-->
<zlwd
v-if=
"thistag == 'zlwd'"
:detailId=
"detailId"
></zlwd>
<zlwd
v-if=
"thistag == 'zlwd'"
:
isDisabled=
'isDisabled'
:
detailId=
"detailId"
></zlwd>
<!--相关企业-->
<xgqy
v-if=
"thistag == 'xgqy'"
:detailId=
"detailId"
></xgqy>
<xgqy
v-if=
"thistag == 'xgqy'"
:
isDisabled=
'isDisabled'
:
detailId=
"detailId"
></xgqy>
</div>
</div>
</template>
...
...
@@ -175,6 +175,7 @@
props
:{
checkStrictly
:
true
,
expandTrigger
:
'hover'
},
id
:
''
,
ProjectData
:{},
isDisabled
:
false
,
keys
:
1
,
}
},
...
...
@@ -202,9 +203,14 @@
this
.
choose
(
data
.
projectStage
)
},
handleALL
(
event
){
if
(
this
.
isDisabled
==
true
)
return
false
var
one
=
document
.
getElementById
(
"inputxt"
);
if
(
one
){
if
(
!
one
.
contains
(
event
.
target
)){
if
(
this
.
nowedit
!=
-
1
){
this
.
editXMSL
({
investmentAmount
:
this
.
ProjectData
.
investmentAmount
})
}
this
.
nowedit
=
-
1
}
else
{
this
.
nowedit
=
3
...
...
@@ -215,6 +221,7 @@
getXMSL
(
this
.
id
).
then
(
result
=>
{
this
.
ProjectData
=
result
.
code
==
200
?
result
.
data
:{}
this
.
$route
.
query
.
projectname
=
result
.
data
.
projectName
this
.
isDisabled
=
result
.
data
.
isFounder
==
1
?
false
:
true
this
.
xmlx
=
result
.
data
.
projectType
==
""
||
result
.
data
.
projectType
==
null
?
"请选择"
:
result
.
data
.
projectType
this
.
xmlb
=
result
.
data
.
projectCategory
==
""
||
result
.
data
.
projectCategory
==
null
?
"请选择"
:
result
.
data
.
projectCategory
this
.
thisindex
=
result
.
data
.
projectStage
...
...
@@ -249,6 +256,8 @@
this
.
ProjectData
.
isPrivate
=
isPrivate
},
editXMSL
(
param
){
if
(
this
.
isDisabled
==
true
)
return
false
let
params
=
param
params
.
id
=
this
.
id
editXMNR
(
JSON
.
stringify
(
params
)).
then
(
res
=>
{
...
...
@@ -294,6 +303,8 @@
this
.
lastindex
=
value
},
choose
(
value
){
if
(
this
.
isDisabled
==
true
)
return
false
this
.
thisindex
=
value
this
.
editXMSL
({
projectStage
:
value
})
let
_this
=
this
...
...
dsk-operate-ui/src/views/project/projectList/index.vue
View file @
f4f7c87b
...
...
@@ -99,7 +99,9 @@
<div
class=
"titles"
>
项目明细
<div
class=
"dc"
>
<div
class=
"total"
>
共
{{
total
}}
条
</div>
<div
class=
"btn-export"
><img
src=
"@/assets/images/EXCEL.png"
>
导出EXCEL
</div>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"功能正在开发中"
placement=
"top"
>
<div
class=
"btn-export"
><img
src=
"@/assets/images/EXCEL.png"
>
导出EXCEL
</div>
</el-tooltip>
</div>
</div>
<div
class=
"tables"
v-if=
"total == 0"
>
...
...
@@ -452,6 +454,9 @@ export default {
}
</
script
>
<
style
lang=
"scss"
scoped
>
.btn_primary
{
margin-top
:
16px
;
}
.jabph_popper_box
{
left
:
110px
;
}
...
...
dsk-operate-ui/src/views/radar/components/BidRecord/index.vue
View file @
f4f7c87b
...
...
@@ -8,13 +8,13 @@
placeholder=
"请输入项目名称关键字"
v-model=
"keyword"
></el-input>
</div>
</div>
<
!--
<
div
class=
"content_item"
>
<div
class=
"content_item"
>
<div
class=
"label"
>
参投单位
</div>
<div
class=
"content_right"
>
<el-input
class=
"ename_input"
placeholder=
"请输入参投单位关键字"
v-model=
"jskBidQueryDto.companyName"
></el-input>
</div>
</div>
-->
</div>
<div
class=
"content_item"
>
<div
class=
"label"
>
项目信息
</div>
<div
class=
"content_right"
>
...
...
@@ -69,7 +69,7 @@
</div>
</el-dropdown>
<el-dropdown
@
command=
"tenderDatehandleCommand"
trigger=
"click"
ref=
"tenderDateShowPopper"
:hide-on-click=
"false"
>
<el-dropdown
@
command=
"tenderDatehandleCommand"
class=
"el-dropdown-land"
trigger=
"click"
ref=
"tenderDateShowPopper"
:hide-on-click=
"false"
>
<span
class=
"el-dropdown-link"
:class=
"tenderDateValue ? 'color_text' : ''"
>
开标时间
{{
tenderDateValue
?
" 1项"
:
""
}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
...
...
@@ -134,24 +134,24 @@
<p
class=
"list-titel"
>
<router-link
:to=
"'/radar/BidRecord/details/'+ item.id"
tag=
"a"
class=
"list-titel-a"
v-html=
"item.projectName"
></router-link>
</p>
<div
class=
"content-label"
>
<div
class=
"content-label"
v-if=
"item.domicile"
>
<span
class=
"list-label list-label-zb"
v-if=
"item.domicile"
>
{{
item
.
domicile
}}
</span>
</div>
<div
class=
"list-content"
>
<div
class=
"list-content"
v-if=
"item.tenderTime||item.source||item.punishDate"
>
<p
class=
"list-content-text"
>
<p
class=
"list-content-text"
v-if=
"item.tenderTime"
>
<span>
开标时间:
</span>
<span>
{{
item
.
tenderTime
||
'--'
}}
</span>
</p>
<p
class=
"list-content-text"
>
<p
class=
"list-content-text"
v-if=
"item.punishDate"
>
<span>
发布时间:
</span>
<span>
{{
item
.
punishDate
||
'--'
}}
</span>
</p>
<p
class=
"list-content-text"
>
<p
class=
"list-content-text"
v-if=
"item.source"
>
<span>
来源网站:
</span>
<span>
{{
item
.
source
||
'--'
}}
</span>
</p>
...
...
dsk-operate-ui/src/views/radar/components/Bidding/index.vue
View file @
f4f7c87b
...
...
@@ -12,7 +12,7 @@
<div
class=
"label"
>
招标单位
</div>
<div
class=
"content_right"
>
<el-input
class=
"ename_input"
placeholder=
"请输入招标单位关键字"
v-model=
"jskBidPlanDto.tenderee"
></el-input>
placeholder=
"请输入招标
采购
单位关键字"
v-model=
"jskBidPlanDto.tenderee"
></el-input>
</div>
</div>
<div
class=
"content_item"
>
...
...
@@ -73,7 +73,7 @@
</div>
<el-dropdown
@
command=
"planTenderAmounthandleCommand"
class=
"el-dropdown-land"
trigger=
"click"
ref=
"planTenderAmountShowPopper"
:hide-on-click=
"false"
>
<span
class=
"el-dropdown-link"
:class=
"jskBidPlanDto.startPlanTenderAmount ||jskBidPlanDto.endPlanTenderAmount ? 'color_text': ''"
>
成交
金额
{{
jskBidPlanDto
.
startPlanTenderAmount
||
jskBidPlanDto
.
endPlanTenderAmount
?
" 1项"
:
""
}}
<i
class=
"el-icon-caret-bottom"
></i>
合同预估
金额
{{
jskBidPlanDto
.
startPlanTenderAmount
||
jskBidPlanDto
.
endPlanTenderAmount
?
" 1项"
:
""
}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
v-for=
"(item, i) in planTenderAmount"
:class=
"jskBidPlanDto.startPlanTenderAmount == item.value[0] &&jskBidPlanDto.endPlanTenderAmount == item.value[1] &&
...
...
@@ -155,46 +155,55 @@
<router-link
:to=
"'/radar/Bidding/details/'+ item.id"
tag=
"a"
class=
"list-titel-a"
v-html=
"item.projectName"
></router-link>
<!--
<div
v-else-if=
"item.projectName"
v-html=
"item.projectName"
></div>
-->
</p>
<div
class=
"content-label"
>
<span
class=
"list-label"
v-if=
"item.projectType"
>
{{
item
.
projectType
}}
</span>
<div
class=
"content-label"
v-if=
"(item.province||item.city||item.city)||(item.projectType&&item.projectType!='其他'&&item.projectType!='空白')||(item.objectType&&item.objectType!='其他'&&item.objectType!='空白')"
>
<span
class=
"list-label"
v-if=
"item.domicile"
>
{{
item
.
province
}}
<template
v-if=
"item.city"
>
-
{{
item
.
city
}}
</
template
>
<
template
v-if=
"item.city"
>
-
{{
item
.
city
}}
</
template
>
</span>
<span
class=
"list-label list-label-wl"
v-if=
"item.objectType"
>
{{item.objectType}}
</span>
<span
class=
"list-label list-label-lx"
v-if=
"item.projectType"
>
{{item.projectType}}
</span>
</div>
<div
class=
"list-content"
>
<p
class=
"list-content-text"
>
<div
class=
"list-content"
v-if=
"item.tenderee||item.planTenderAmount||item.projectCapitalSource"
>
<p
class=
"list-content-text"
v-if=
"item.tenderee"
>
<span>
招采单位:
</span>
<router-link
v-if=
"item.tendereeId"
:to=
"'/company/' + encodeStr(item.tendereeId) + '/?index=true'"
tag=
"a"
class=
"list-titel-a blue"
v-html=
"item.tenderee"
></router-link>
<span
v-else
>
{{item.tenderee||'--'}}
</span>
</p>
<p
class=
"list-content-text"
>
<p
class=
"list-content-text"
v-if=
"item.planTenderAmount"
>
<span>
合同预估金额(万元):
</span>
<span>
{{item.planTenderAmount||'--'}}
</span>
</p>
<p
class=
"list-content-text"
>
<p
class=
"list-content-text"
v-if=
"item.projectCapitalSource"
>
<span>
资金来源:
</span>
<span>
{{item.projectCapitalSource||'--'}}
</span>
</p>
</div>
<div
class=
"list-content"
>
<p
class=
"list-content-text"
>
<div
class=
"list-content"
v-if=
"item.issueTime||item.planTenderDateStart||item.sourceName"
>
<p
class=
"list-content-text"
v-if=
"item.issueTime"
>
<span>
发布时间:
</span>
<span
>
{{
item
.
issueTime
stamp
||
'--'
}}
</span>
<span
>
{{item.issueTime||'--'}}
</span>
</p>
<p
class=
"list-content-text"
>
<p
class=
"list-content-text"
v-if=
"item.planTenderDateStart"
>
<span>
预计招标时间:
</span>
<span>
{{item.planTenderDateStart||'--'}}
</span>
</p>
<p
class=
"list-content-text"
>
<p
class=
"list-content-text"
v-if=
"item.sourceName"
>
<span>
来源网站:
</span>
<span
>
{{item.sourceName||'--'}}
</span>
</p>
</div>
<div
class=
"list-content list-addree"
>
<div
class=
"list-content list-addree"
v-if=
"item.projectScale"
>
<p
class=
"list-content-text"
>
<span
class=
"content-text-gc"
>
工程规模:
</span>
<span
class=
"content-text-p"
>
{{item.projectScale||'--'}}
</span>
...
...
@@ -789,7 +798,7 @@ export default {
width
:
auto
;
background
:
#F3F4F5
;
display
:
inline-flex
;
margin-top
:
7
px
;
margin-top
:
12
px
;
.list-content-text
{
margin-top
:
0px
;
span
{
...
...
dsk-operate-ui/src/views/radar/components/Establishment/index.vue
View file @
f4f7c87b
...
...
@@ -190,52 +190,55 @@
<p
class=
"list-titel"
>
<router-link
:to=
"'/radar/Establishment/details/'+ item.id"
tag=
"a"
class=
"list-titel-a"
v-html=
"item.projectName"
></router-link>
</p>
<div
class=
"content-label"
v-if=
"item.domicile||item.projectType&&item.projectType!='其他'&&item.projectType!='空白'||item.industry&&item.industry!='其他'&&item.industry!='空白'"
>
<span
class=
"list-label "
v-if=
"item.projectType&&item.projectType!='其他'&&item.projectType!='空白'"
>
{{
item
.
projectType
}}
</span>
<span
class=
"list-label list-label-wl"
v-if=
"item.industry&&item.industry!='其他'&&item.industry!='空白'"
>
{{
item
.
industry
}}
</span>
<span
class=
"list-label list-label-lx"
v-if=
"item.domicile"
>
{{
item
.
domicile
}}
</span>
</div>
<div
class=
"list-content"
>
<p
class=
"list-content-text"
v-if=
"item.companyName"
>
<span>
建设/申请单位
:
</span>
<
span
class=
"blue"
>
{{
item
.
companyName
}}
</span
>
<p
class=
"list-content-text"
v-if=
"item.companyName"
>
<span>
项目业主
:
</span>
<
router-link
:to=
"`/company/$
{encodeStr(item.companyId)}/`" tag="a" class="list-titel-a blue" v-html="item.companyName" >
</router-link
>
</p>
<p
class=
"list-content-text"
v-if=
"item.handleTime"
>
<span>
发布日期:
</span>
<span>
{{
item
.
handleTime
}}
</span>
<p
class=
"list-content-text"
v-if=
"item.money"
>
<span>
总投资:
</span>
<span
v-html=
"item.money+'万元'"
></span>
</p>
<p
class=
"list-content-text"
v-if=
"item.
examineStatus
"
>
<span>
办件结果
:
</span>
<span>
{{
item
.
examineStatus
}}
</span>
<p
class=
"list-content-text"
v-if=
"item.
planStartTime
"
>
<span>
计划开工日期
:
</span>
<span>
{{
item
.
planStartTime
}}
</span>
</p>
<p
class=
"list-content-text"
v-if=
"item.
industry
"
>
<span>
行业分类
:
</span>
<span>
{{
item
.
industry
}}
</span>
<p
class=
"list-content-text"
v-if=
"item.
planEndTime
"
>
<span>
计划完工日期
:
</span>
<span>
{{
item
.
planEndTime
}}
</span>
</p>
<p
class=
"list-content-text"
v-if=
"item.
buildNature
"
>
<span>
建设性质
:
</span>
<span>
{{
item
.
buildNature
}}
</span>
<p
class=
"list-content-text"
v-if=
"item.
isProject!=null
"
>
<span>
是否为民间推介项目
:
</span>
<span>
{{
item
.
isProject
==
0
?
'否'
:
'是'
}}
</span>
</p>
</div>
<div
class=
"list-content list-addree"
>
<template
v-if=
"item.province||item.city||item.district"
>
<img
src=
"@/assets/images/addree.png"
alt=
""
>
<p
class=
"list-content-text"
>
<span>
行政区划:
</span>
<span
>
{{
item
.
province
}}
<template
v-if=
"item.city"
>
-
{{
item
.
city
}}
</
template
>
<
template
v-if=
"item.district"
>
-
{{
item
.
district
}}
</
template
>
</span>
</p>
</template>
<div
class=
"list-content"
v-if=
"item.buildScale"
>
<p
class=
"list-content-text"
>
<span>
建设规模:
</span>
<span>
{{
item
.
buildScale
}}
</span>
</p>
</div>
</li>
</ul>
<div
class=
"pagination clearfix"
v-show=
"total>0"
>
...
...
@@ -557,8 +560,8 @@
methods
:
{
searchDic
(){
api
.
searchDic
().
then
(
res
=>
{
this
.
projectTypeOptions
=
res
.
data
.
projectType
;
this
.
industryOptions
=
res
.
data
.
establishmentIndustry
this
.
projectTypeOptions
=
res
.
projectType
;
this
.
industryOptions
=
res
.
establishmentIndustry
}).
catch
(
error
=>
{
});
...
...
@@ -1260,7 +1263,7 @@
}
}
.content-label
{
margin-top
:
7
px
;
margin-top
:
12
px
;
.list-label
{
background
:
#F3F3FF
;
color
:
#8491E8
;
...
...
@@ -1270,11 +1273,20 @@
font-size
:
12px
;
}
.list-label-wl
{
background
:
#e8f7f0
;
color
:
#38c8bf
;
}
.list-label-lx
{
background
:
#e4f3fd
;
color
:
#41a1fd
;
}
}
.list-content
{
margin-top
:
3
px
;
margin-top
:
8
px
;
display
:
flex
;
justify-content
:
start
;
align-items
:
center
;
...
...
dsk-operate-ui/src/views/radar/components/Tender/index.vue
View file @
f4f7c87b
...
...
@@ -208,12 +208,12 @@
<p
class=
"list-content-text"
v-if=
"item.companyName"
>
<span>
招采单位:
</span>
<router-link
v-if=
"item.jskEid"
:to=
"'/company/' + encodeStr(item.jskEid) + '/?index=true'"
tag=
"a"
class=
"list-titel-a blue"
v-html=
"item.companyName"
></router-link>
<span
v-else
class=
"blue"
>
{{
item
.
companyName
||
'--'
}}
</span>
<span
v-else
class=
"blue"
v-html=
"item.companyName"
>
</span>
</p>
<p
class=
"list-content-text"
v-if=
"item.agency"
>
<span>
代理单位:
</span>
<router-link
v-if=
"item.agencyId"
:to=
"'/company/' + encodeStr(item.agencyId) + '/?index=true'"
tag=
"a"
class=
"list-titel-a blue"
v-html=
"item.agency"
></router-link>
<span
v-else
class=
"blue"
>
{{
item
.
agency
||
'--'
}}
</span>
<span
v-else
class=
"blue"
v-html=
"item.agency"
>
</span>
</p>
</div>
...
...
@@ -222,9 +222,16 @@
<span>
预算金款:
</span>
<span>
{{
item
.
bidMoney
||
'--'
}}
万元
</span>
</p>
<p
class=
"list-content-text"
v-if=
"item.contact"
>
<p
class=
"list-content-text"
v-if=
"item.contact
Tel || item.agencyContactTel
"
>
<span>
联系方式:
</span>
<span
>
招采单位
{{
item
.
contact
}}{{
item
.
contactTel
}}
</span>
<span
>
<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>
</p>
</div>
...
...
@@ -716,8 +723,8 @@
methods
:
{
searchDic
(){
api
.
searchDic
().
then
(
res
=>
{
this
.
projectTypeOptions
=
res
.
data
.
projectType
;
this
.
subjectMatterOptions
=
res
.
data
.
subjectMatter
this
.
projectTypeOptions
=
res
.
projectType
;
this
.
subjectMatterOptions
=
res
.
subjectMatter
}).
catch
(
error
=>
{
});
...
...
dsk-operate-ui/src/views/system/user/profile/userAvatar.vue
View file @
f4f7c87b
<
template
>
<div>
<div
class=
"user-info-head"
@
click=
"editCropper()"
><img
v-bind:src=
"options.img"
title=
"点击上传头像"
class=
"img-circle img-lg"
/></div>
<div
class=
"user-info-head"
@
click=
"editCropper()"
>
<img
v-bind:src=
"options.img"
title=
"点击上传头像"
class=
"img-circle img-lg"
v-if=
"options.img"
/>
<span
v-else
class=
"userInfo-avatar"
v-else
>
{{
options
.
name
&&
options
.
name
.
slice
(
0
,
1
).
toUpperCase
()
}}
</span>
</div>
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"800px"
append-to-body
@
opened=
"modalOpened"
@
close=
"closeDialog"
>
<el-row>
<el-col
:xs=
"24"
:md=
"12"
:style=
"
{height: '350px'}">
...
...
@@ -75,6 +78,7 @@ export default {
// 弹出层标题
title
:
"修改头像"
,
options
:
{
name
:
store
.
getters
.
name
,
//用户名称
img
:
store
.
getters
.
avatar
,
//裁剪图片的地址
autoCrop
:
true
,
// 是否默认生成截图框
autoCropWidth
:
200
,
// 默认生成截图框宽度
...
...
@@ -89,7 +93,7 @@ export default {
methods
:
{
// 编辑头像
editCropper
()
{
this
.
open
=
true
;
//
this.open = true;
},
// 打开弹出层结束时的回调
modalOpened
()
{
...
...
@@ -167,7 +171,7 @@ export default {
height
:
120px
;
}
.user-info-head
:hover:after
{
/*
.user-info-head:hover:after {
content: '+';
position: absolute;
left: 0;
...
...
@@ -183,5 +187,5 @@ export default {
cursor: pointer;
line-height: 110px;
border-radius: 50%;
}
}
*/
</
style
>
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