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
6ec9bb36
Commit
6ec9bb36
authored
Jun 21, 2023
by
远方不远
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://192.168.60.201/root/dsk-operate-sys
parents
c7ddc679
6a0464e2
Changes
27
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
356 additions
and
149 deletions
+356
-149
BusinessFileController.java
...m/dsk/web/controller/business/BusinessFileController.java
+10
-1
RegionalEconomicDataController.java
...er/search/macroMarket/RegionalEconomicDataController.java
+12
-0
OpRegionalEconomicDataStatisticsRegionalDto.java
...mon/dtos/OpRegionalEconomicDataStatisticsRegionalDto.java
+1
-1
OpRegionalEconomicRegionalCompareDto.java
...dsk/common/dtos/OpRegionalEconomicRegionalCompareDto.java
+23
-0
index.scss
dsk-operate-ui/src/assets/styles/index.scss
+5
-0
index.vue
dsk-operate-ui/src/views/detail/party-b/index.vue
+6
-5
index.vue
dsk-operate-ui/src/views/macro/economies/index.vue
+4
-4
index.vue
dsk-operate-ui/src/views/macro/financing/index.vue
+9
-2
qgjjdq.vue
...ui/src/views/macro/nationalEconomies/component/qgjjdq.vue
+7
-10
zhongbiao.vue
...src/views/macro/nationalEconomies/component/zhongbiao.vue
+1
-1
index.vue
dsk-operate-ui/src/views/macro/urban/index.vue
+1
-1
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
EconomicService.java
...src/main/java/com/dsk/system/service/EconomicService.java
+9
-0
BusinessContactsServiceImpl.java
.../dsk/system/service/impl/BusinessContactsServiceImpl.java
+7
-0
CustomerServiceImpl.java
...java/com/dsk/system/service/impl/CustomerServiceImpl.java
+11
-10
EconomicServiceImpl.java
...java/com/dsk/system/service/impl/EconomicServiceImpl.java
+6
-0
BusinessInfoMapper.xml
...src/main/resources/mapper/business/BusinessInfoMapper.xml
+1
-1
CustomerMapper.xml
.../main/resources/mapper/system/customer/CustomerMapper.xml
+21
-1
No files found.
dsk-admin/src/main/java/com/dsk/web/controller/business/BusinessFileController.java
View file @
6ec9bb36
...
@@ -17,6 +17,7 @@ import org.springframework.web.multipart.MultipartFile;
...
@@ -17,6 +17,7 @@ import org.springframework.web.multipart.MultipartFile;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -81,10 +82,18 @@ public class BusinessFileController extends BaseController {
...
@@ -81,10 +82,18 @@ public class BusinessFileController extends BaseController {
try
{
try
{
//获取文件名
//获取文件名
String
filename
=
file
.
getOriginalFilename
();
String
filename
=
file
.
getOriginalFilename
();
//TODO 校验是否上传同名文件
String
businessFileName
=
request
.
getHeader
(
"FilePath"
);
String
businessFileName
=
request
.
getHeader
(
"FilePath"
);
// 上传文件路径
// 上传文件路径
String
filePath
=
RuoYiConfig
.
getUploadPath
()
+
businessFileName
+
"/"
;
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
fileName
=
FileUploadUtils
.
upload
(
filePath
,
file
);
String
url
=
serverConfig
.
getUrl
()
+
fileName
;
String
url
=
serverConfig
.
getUrl
()
+
fileName
;
...
...
dsk-admin/src/main/java/com/dsk/web/controller/search/macroMarket/RegionalEconomicDataController.java
View file @
6ec9bb36
...
@@ -114,4 +114,16 @@ public class RegionalEconomicDataController {
...
@@ -114,4 +114,16 @@ public class RegionalEconomicDataController {
return
economicService
.
regionalCompare
(
dto
);
return
economicService
.
regionalCompare
(
dto
);
}
}
/***
*@Description: 地区经济-对比
*@Param:
*@return: com.dsk.acc.security.common.msg.RestResponse
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping
(
"/regional/multipleCompare"
)
public
AjaxResult
regionalMultipleCompare
(
@RequestBody
OpRegionalEconomicRegionalCompareDto
compareDto
)
{
return
economicService
.
regionalMultipleCompare
(
compareDto
);
}
}
}
dsk-common/src/main/java/com/dsk/common/dtos/OpRegionalEconomicDataStatisticsRegionalDto.java
View file @
6ec9bb36
...
@@ -6,7 +6,7 @@ import javax.validation.constraints.NotNull;
...
@@ -6,7 +6,7 @@ import javax.validation.constraints.NotNull;
/**
/**
* @ClassName OpRegionalEconomicDataV1Dto
* @ClassName OpRegionalEconomicDataV1Dto
* @Description
专项债-项目类别统计
* @Description
地区经济
* @Author Dgm
* @Author Dgm
* @Date 2023/5/23 14:05
* @Date 2023/5/23 14:05
* @Version
* @Version
...
...
dsk-common/src/main/java/com/dsk/common/dtos/OpRegionalEconomicRegionalCompareDto.java
0 → 100644
View file @
6ec9bb36
package
com
.
dsk
.
common
.
dtos
;
import
lombok.Data
;
import
java.util.List
;
/**
* @ClassName OpRegionalEconomicRegionalCompareDto
* @Description 地区经济-对比
* @Author Dgm
* @Date 2023/5/23 14:05
* @Version
*/
@Data
public
class
OpRegionalEconomicRegionalCompareDto
{
/**
* 年份
*/
private
Integer
year
;
private
List
<
OpRegionalEconomicDataStatisticsRegionalDto
>
compareList
;
}
dsk-operate-ui/src/assets/styles/index.scss
View file @
6ec9bb36
...
@@ -343,6 +343,11 @@ ul, li {
...
@@ -343,6 +343,11 @@ ul, li {
}
}
}
}
}
}
.el-table__fixed
{
tr
:nth-child
(
2n
)
{
background-color
:
#F8FBFF
;
}
}
}
}
}
}
...
...
dsk-operate-ui/src/views/detail/party-b/index.vue
View file @
6ec9bb36
...
@@ -13,10 +13,11 @@ export default {
...
@@ -13,10 +13,11 @@ export default {
data
()
{
data
()
{
return
{
return
{
loading
:
false
,
// 是否加载中
loading
:
false
,
// 是否加载中
navHeight
:
68
,
// iframe距离顶部距离px
iframeHight
:
window
.
innerHeight
,
// iframe高度
iframeHight
:
window
.
innerHeight
,
// iframe高度
scrollTop
:
0
,
// 滚动条距离内部页面顶部距离
scrollTop
:
0
,
// 滚动条距离内部页面顶部距离
//
domain: 'https://pre-plug.jiansheku.com',
domain
:
'https://pre-plug.jiansheku.com'
,
domain
:
'http://192.168.60.30:3300'
,
//
domain: 'http://192.168.60.30:3300',
ak
:
'aec7b3ff2y2q8x6t49a7e2c463ce21912'
// 需要携带的sdkId
ak
:
'aec7b3ff2y2q8x6t49a7e2c463ce21912'
// 需要携带的sdkId
}
}
},
},
...
@@ -28,7 +29,7 @@ export default {
...
@@ -28,7 +29,7 @@ export default {
this
.
src
=
`
${
this
.
domain
}
/enterprise/
${
this
.
$route
.
params
.
id
}
?ak=
${
this
.
ak
}
`
this
.
src
=
`
${
this
.
domain
}
/enterprise/
${
this
.
$route
.
params
.
id
}
?ak=
${
this
.
ak
}
`
}
}
if
(
this
.
$route
.
name
==
'Personnel'
){
//人员详情
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,7 +54,7 @@ export default {
...
@@ -53,7 +54,7 @@ export default {
}
}
// 点击栏目名及子标签动态设置滚动高度
// 点击栏目名及子标签动态设置滚动高度
if
(
data
.
scrollHeight
)
{
if
(
data
.
scrollHeight
)
{
window
.
scrollTo
(
sc
,
parseInt
(
data
.
scrollHeight
)
+
83
)
window
.
scrollTo
(
sc
,
parseInt
(
data
.
scrollHeight
)
+
_this
.
navHeight
+
15
)
}
}
// 点击下拉子标签动态设置滚动高度
// 点击下拉子标签动态设置滚动高度
if
(
data
.
clientHeight
)
{
if
(
data
.
clientHeight
)
{
...
@@ -69,7 +70,7 @@ export default {
...
@@ -69,7 +70,7 @@ export default {
// 准备传值
// 准备传值
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
const
ifa
=
this
.
$refs
.
companyIframe
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/macro/economies/index.vue
View file @
6ec9bb36
...
@@ -61,12 +61,12 @@ export default {
...
@@ -61,12 +61,12 @@ export default {
},
},
created
()
{
created
()
{
this
.
dataQuery
=
this
.
$route
.
query
;
this
.
dataQuery
=
this
.
$route
.
query
;
location
({
provinceId
:
'500000'
}).
then
(
res
=>
{
location
({}).
then
(
res
=>
{
this
.
province
=
res
.
data
.
currentProvince
.
regionNam
e
;
this
.
province
=
res
.
data
.
provinc
e
;
if
(
!
this
.
dataQuery
.
provinceId
){
if
(
!
this
.
dataQuery
.
provinceId
){
this
.
dataQuery
.
provinceId
=
res
.
data
.
currentProvince
.
i
d
this
.
dataQuery
.
provinceId
=
res
.
data
.
provinceI
d
this
.
dataQuery
.
province
=
this
.
province
;
this
.
dataQuery
.
province
=
this
.
province
;
this
.
provinceId
.
push
(
res
.
data
.
currentProvince
.
i
d
)
this
.
provinceId
.
push
(
res
.
data
.
provinceI
d
)
}
else
{
}
else
{
this
.
provinceId
.
push
(
this
.
dataQuery
.
provinceId
)
this
.
provinceId
.
push
(
this
.
dataQuery
.
provinceId
)
}
}
...
...
dsk-operate-ui/src/views/macro/financing/index.vue
View file @
6ec9bb36
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
border
border
:summary-method=
"getSummaries"
:summary-method=
"getSummaries"
show-summary
show-summary
height=
"
36
0"
height=
"
40
0"
fit
fit
@
sort-change=
"sortChange"
@
sort-change=
"sortChange"
highlight-current-row
highlight-current-row
...
@@ -170,13 +170,15 @@ export default {
...
@@ -170,13 +170,15 @@ export default {
orient
:
'horizontal'
,
orient
:
'horizontal'
,
bottom
:
0
,
bottom
:
0
,
data
:
data
,
data
:
data
,
itemHeight
:
8
,
itemWidth
:
12
,
pageButtonPosition
:
'end'
,
pageButtonPosition
:
'end'
,
},
},
series
:
[
series
:
[
{
{
type
:
'pie'
,
type
:
'pie'
,
radius
:
'55%'
,
radius
:
'55%'
,
center
:
[
'50%'
,
'
4
0%'
],
center
:
[
'50%'
,
'
5
0%'
],
data
:
data
,
data
:
data
,
emphasis
:
{
emphasis
:
{
itemStyle
:
{
itemStyle
:
{
...
@@ -318,6 +320,11 @@ export default {
...
@@ -318,6 +320,11 @@ export default {
}
}
.table-item
{
.table-item
{
margin-top
:
22px
;
margin-top
:
22px
;
::v-deep
.el-table
{
td
.el-table__cell
{
border-bottom
:
0
;
}
}
}
}
}
}
</
style
>
</
style
>
dsk-operate-ui/src/views/macro/nationalEconomies/component/qgjjdq.vue
View file @
6ec9bb36
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
<span
class=
"common-title"
>
全国经济大全
</span>
<span
class=
"common-title"
>
全国经济大全
</span>
<el-form
ref=
"queryForm"
:model=
"queryParams"
:inline=
"true"
size=
"small"
>
<el-form
ref=
"queryForm"
:model=
"queryParams"
:inline=
"true"
size=
"small"
>
<el-form-item
prop=
"year"
>
<el-form-item
prop=
"year"
>
<el-select
v-model=
"queryParams.year"
filterable
class=
"form-content-width"
placeholder=
"请选择
年度
"
@
change=
"handleSearch"
>
<el-select
v-model=
"queryParams.year"
filterable
class=
"form-content-width"
placeholder=
"请选择"
@
change=
"handleSearch"
>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item.year"
:value=
"item.year"
/>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item.year"
:value=
"item.year"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
...
@@ -316,6 +316,9 @@
...
@@ -316,6 +316,9 @@
.el-form
{
.el-form
{
margin-left
:
24px
;
margin-left
:
24px
;
}
}
.form-content-width
{
width
:
110px
;
}
::v-deep
.el-cascader
{
::v-deep
.el-cascader
{
.el-cascader__tags
{
.el-cascader__tags
{
flex-wrap
:
inherit
;
flex-wrap
:
inherit
;
...
@@ -366,18 +369,12 @@
...
@@ -366,18 +369,12 @@
.el-table__fixed-header-wrapper
th
{
.el-table__fixed-header-wrapper
th
{
background
:
#F0F3FA
;
background
:
#F0F3FA
;
}
}
td
.el-table__cell
{
border-bottom
:
0
;
}
.caret-wrapper
{
.caret-wrapper
{
width
:
10px
;
width
:
10px
;
/*<
!
--position
:
absolute
;
--
>*/
/*<
!
--right
:
12px
;
--
>*/
/*<
!
--top
:
-3px
;
--
>*/
}
}
/*.sort-caret{*/
/*position: initial;*/
/*}*/
/*.ascending{*/
/*margin-bottom: 3px;*/
/*}*/
}
}
}
}
}
}
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/zhongbiao.vue
View file @
6ec9bb36
...
@@ -377,7 +377,7 @@ export default {
...
@@ -377,7 +377,7 @@ export default {
let
option
=
{
let
option
=
{
legend
:
{
legend
:
{
x
:
'right'
,
x
:
'right'
,
padding
:[
0
,
12
0
,
0
,
0
],
padding
:[
0
,
3
0
,
0
,
0
],
},
},
tooltip
:
{
tooltip
:
{
trigger
:
'axis'
,
trigger
:
'axis'
,
...
...
dsk-operate-ui/src/views/macro/urban/index.vue
View file @
6ec9bb36
...
@@ -162,7 +162,7 @@
...
@@ -162,7 +162,7 @@
</el-table-column>
</el-table-column>
<el-table-column
prop=
"city"
label=
"区域"
:formatter=
"formatStatus"
width=
"150"
>
<el-table-column
prop=
"city"
label=
"区域"
:formatter=
"formatStatus"
width=
"150"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<router-link
:to=
"
{path:'/macro/economies',query:{
id:scope.row.id,
provinceId:scope.row.provinceId}}" tag="a" class="a-link">
<router-link
:to=
"
{path:'/macro/economies',query:{provinceId:scope.row.provinceId}}" tag="a" class="a-link">
{{
scope
.
row
.
province
}}{{
scope
.
row
.
city
?
'-'
:
''
}}{{
scope
.
row
.
city
}}{{
scope
.
row
.
area
?
'-'
:
''
}}{{
scope
.
row
.
area
}}
{{
scope
.
row
.
province
}}{{
scope
.
row
.
city
?
'-'
:
''
}}{{
scope
.
row
.
city
}}{{
scope
.
row
.
area
?
'-'
:
''
}}{{
scope
.
row
.
area
}}
</router-link>
</router-link>
<!--
<span
v-else
>
-
</span>
-->
<!--
<span
v-else
>
-
</span>
-->
...
...
dsk-operate-ui/src/views/project/projectList/component/addProject.vue
View file @
6ec9bb36
...
@@ -146,6 +146,7 @@
...
@@ -146,6 +146,7 @@
//添加客户
//添加客户
submitForm
(
formName
)
{
submitForm
(
formName
)
{
this
.
queryParam
.
userId
=
this
.
$store
.
state
.
user
.
userId
this
.
queryParam
.
userId
=
this
.
$store
.
state
.
user
.
userId
this
.
queryParam
.
investmentAmount
=
parseFloat
(
this
.
queryParam
.
investmentAmount
)
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
addProject
(
this
.
queryParam
).
then
(
result
=>
{
addProject
(
this
.
queryParam
).
then
(
result
=>
{
...
...
dsk-operate-ui/src/views/project/projectList/component/gjjl.vue
View file @
6ec9bb36
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
<div
class=
"cardtitles"
v-if=
"showtype != 'projectgjdt'"
>
跟进记录
</div>
<div
class=
"cardtitles"
v-if=
"showtype != 'projectgjdt'"
>
跟进记录
</div>
<div
style=
"height: 24px"
v-if=
"showtype == 'projectgjdt'"
></div>
<div
style=
"height: 24px"
v-if=
"showtype == 'projectgjdt'"
></div>
<div
class=
"records"
>
<div
class=
"records"
>
<div
class=
"writeIn"
>
<div
class=
"writeIn"
v-if=
"isDisabled == false"
>
<div
class=
"default"
v-if=
"isEdit == false"
@
click=
"getEdit"
>
<div
class=
"default"
v-if=
"isEdit == false"
@
click=
"getEdit"
>
<img
src=
"@/assets/images/project/add_3.png"
>
<img
src=
"@/assets/images/project/add_3.png"
>
<div>
新建一条跟进记录,如:周五上午预约客户上门拜访
</div>
<div>
新建一条跟进记录,如:周五上午预约客户上门拜访
</div>
...
@@ -44,7 +44,7 @@
...
@@ -44,7 +44,7 @@
</el-input>
</el-input>
</div>
</div>
<div
class=
"times"
><img
src=
"@/assets/images/project/ico_4.png"
>
<div
class=
"times"
><img
src=
"@/assets/images/project/ico_4.png"
>
<el-date-picker
class=
"w128"
<el-date-picker
class=
"w128"
value-format=
"yyyy-MM-dd"
v-model=
"addParam.nextVisitTime"
v-model=
"addParam.nextVisitTime"
type=
"date"
type=
"date"
placeholder=
"下次拜访时间"
>
placeholder=
"下次拜访时间"
>
...
@@ -91,7 +91,7 @@
...
@@ -91,7 +91,7 @@
<div
class=
"rec_time"
>
<div
class=
"rec_time"
>
<i
class=
"el-icon-time"
></i>
<i
class=
"el-icon-time"
></i>
<div>
{{
item
.
creatTime
}}
</div>
<div>
{{
item
.
creatTime
}}
</div>
<div
class=
"operate"
>
<div
class=
"operate"
v-if=
"isDisabled == false"
>
<!--
<img
src=
"@/assets/images/edit.png"
>
第一期不做编辑-->
<!--
<img
src=
"@/assets/images/edit.png"
>
第一期不做编辑-->
<img
@
click=
"delRecord(item.id)"
src=
"@/assets/images/delete.png"
>
<img
@
click=
"delRecord(item.id)"
src=
"@/assets/images/delete.png"
>
</div>
</div>
...
@@ -145,6 +145,7 @@
...
@@ -145,6 +145,7 @@
default
:
0
default
:
0
},
},
datas
:[],
//数据源
datas
:[],
//数据源
isDisabled
:
false
,
},
},
name
:
'gjjl'
,
name
:
'gjjl'
,
data
(){
data
(){
...
@@ -171,11 +172,13 @@
...
@@ -171,11 +172,13 @@
projectId
:
this
.
detailId
?
this
.
detailId
:
parseInt
(
this
.
$route
.
query
.
id
),
//项目详情id
projectId
:
this
.
detailId
?
this
.
detailId
:
parseInt
(
this
.
$route
.
query
.
id
),
//项目详情id
userId
:
this
.
$store
.
state
.
user
.
userId
,
//当前用户id
userId
:
this
.
$store
.
state
.
user
.
userId
,
//当前用户id
projectList
:[],
//关联项目
projectList
:[],
//关联项目
isDisabled
:
this
.
isDisabled
,
}
}
},
},
computed
:
{
computed
:
{
},
},
created
(){
created
(){
console
.
log
(
this
.
isDisabled
)
//获取拜访方式
//获取拜访方式
getDictType
(
'visit_mode_type'
).
then
(
result
=>
{
getDictType
(
'visit_mode_type'
).
then
(
result
=>
{
this
.
bffslist
=
result
.
code
==
200
?
result
.
data
:[]
this
.
bffslist
=
result
.
code
==
200
?
result
.
data
:[]
...
@@ -183,6 +186,7 @@
...
@@ -183,6 +186,7 @@
this
.
showtype
=
this
.
types
this
.
showtype
=
this
.
types
//客户管理跟进动态
//客户管理跟进动态
if
(
this
.
showtype
==
'gjdt'
){
if
(
this
.
showtype
==
'gjdt'
){
this
.
isDisabled
=
false
getUserList
().
then
(
result
=>
{
getUserList
().
then
(
result
=>
{
this
.
glqylist
=
result
.
data
this
.
glqylist
=
result
.
data
})
})
...
@@ -194,6 +198,7 @@
...
@@ -194,6 +198,7 @@
}
}
//项目管理跟进动态
//项目管理跟进动态
if
(
this
.
showtype
==
'projectgjdt'
){
if
(
this
.
showtype
==
'projectgjdt'
){
this
.
isDisabled
=
false
this
.
projectId
=
null
//项目id暂时清空,必须手选id
this
.
projectId
=
null
//项目id暂时清空,必须手选id
relateProject
(
this
.
userId
).
then
(
res
=>
{
relateProject
(
this
.
userId
).
then
(
res
=>
{
this
.
projectList
=
res
.
data
this
.
projectList
=
res
.
data
...
...
dsk-operate-ui/src/views/project/projectList/component/gzdb.vue
View file @
6ec9bb36
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<el-card
class=
"box-card noborder"
>
<el-card
class=
"box-card noborder"
>
<div
class=
"cardtitles"
>
工作待办
</div>
<div
class=
"cardtitles"
>
工作待办
</div>
<div
class=
"records"
>
<div
class=
"records"
>
<div
class=
"writeIn"
>
<div
class=
"writeIn"
v-if=
"isDisabled == false"
>
<div
class=
"default"
v-if=
"isEdit == false"
@
click=
"getEdit"
>
<div
class=
"default"
v-if=
"isEdit == false"
@
click=
"getEdit"
>
<img
src=
"@/assets/images/project/add_3.png"
>
<img
src=
"@/assets/images/project/add_3.png"
>
<div>
新建一条工作代办,如:周五上午预约客户上门拜访
</div>
<div>
新建一条工作代办,如:周五上午预约客户上门拜访
</div>
...
@@ -15,15 +15,17 @@
...
@@ -15,15 +15,17 @@
</div>
</div>
<div
class=
"wr_bot"
>
<div
class=
"wr_bot"
>
<div
class=
"times"
><img
src=
"@/assets/images/project/ico_4.png"
>
<div
class=
"times"
><img
src=
"@/assets/images/project/ico_4.png"
>
<el-date-picker
<el-date-picker
value-format=
"yyyy-MM-dd"
v-model=
"queryParam.finishTime"
v-model=
"queryParam.finishTime"
type=
"date"
type=
"date"
placeholder=
"完成时间"
>
placeholder=
"完成时间"
>
</el-date-picker>
</el-date-picker>
</div>
</div>
<el-input
v-model=
"queryParam.target"
placeholder=
"拜访对象"
style=
"width: 100px;"
>
<div
class=
"sels"
>
<i
slot=
"prefix"
class=
"el-input__icon"
><img
src=
"@/assets/images/project/ico_2.png"
></i>
<img
src=
"@/assets/images/project/ico_2.png"
>
</el-input>
<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
class=
"btn btn_primary h32 wc"
@
click=
"add"
:disabled=
"queryParam.task == ''"
:class=
"
{'btn_disabled':queryParam.task == ''}">完成
</div>
</div>
</div>
</div>
</div>
...
@@ -34,11 +36,11 @@
...
@@ -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=
"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"
:class=
"
{'on':item.state == 2}">
<div
class=
"select-popper"
>
<div
class=
"select-popper"
>
<span
class=
"color_text"
>
<span>
{{
item
.
state
==
2
?
"已完成"
:
"未完成"
}}
{{
item
.
state
==
2
?
"已完成"
:
"未完成"
}}
<i
class=
"el-icon-caret-bottom"
></i>
<i
class=
"el-icon-caret-bottom"
></i>
</span>
</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=
"1"
></el-option>
<el-option
label=
"已完成"
value=
"2"
></el-option>
<el-option
label=
"已完成"
value=
"2"
></el-option>
</el-select>
</el-select>
...
@@ -73,7 +75,8 @@
...
@@ -73,7 +75,8 @@
detailId
:
{
//从企业详情跳转过来ID
detailId
:
{
//从企业详情跳转过来ID
type
:
Number
,
type
:
Number
,
default
:
0
default
:
0
}
},
isDisabled
:
false
,
},
},
data
(){
data
(){
return
{
return
{
...
@@ -94,6 +97,7 @@
...
@@ -94,6 +97,7 @@
},
},
datalist
:[],
datalist
:[],
yqnum
:
0
,
//已逾期数量
yqnum
:
0
,
//已逾期数量
isDisabled
:
this
.
isDisabled
,
}
}
},
},
created
(){
created
(){
...
@@ -109,6 +113,9 @@
...
@@ -109,6 +113,9 @@
if
(
result
.
code
==
200
){
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
"添加成功!"
)
this
.
$message
.
success
(
"添加成功!"
)
this
.
getList
()
this
.
getList
()
this
.
queryParam
.
target
=
''
this
.
queryParam
.
task
=
''
this
.
queryParam
.
finishTime
=
''
}
else
{
}
else
{
this
.
$message
.
error
(
result
.
msg
)
this
.
$message
.
error
(
result
.
msg
)
}
}
...
@@ -162,4 +169,7 @@
...
@@ -162,4 +169,7 @@
width
:
100px
;
width
:
100px
;
margin-right
:
12px
;
margin-right
:
12px
;
}
}
.times
.el-input__icon
>
img
{
width
:
16px
;
}
</
style
>
</
style
>
dsk-operate-ui/src/views/project/projectList/component/jsnr.vue
View file @
6ec9bb36
This diff is collapsed.
Click to expand it.
dsk-operate-ui/src/views/project/projectList/component/lxr.vue
View file @
6ec9bb36
...
@@ -14,13 +14,16 @@
...
@@ -14,13 +14,16 @@
<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"
v-if=
"isDisabled==false"
>
新增联系人
</div>
</div>
</div>
</
template
>
</
template
>
<el-table-column
<el-table-column
prop=
"name"
prop=
"name"
label=
"姓名"
label=
"姓名"
width=
"113"
>
width=
"113"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
name
||
'--'
}}
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"name"
prop=
"name"
...
@@ -38,20 +41,32 @@
...
@@ -38,20 +41,32 @@
label=
"角色"
label=
"角色"
sortable
sortable
width=
"146"
>
width=
"146"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
role
||
'--'
}}
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"office"
prop=
"office"
label=
"公司/机关"
>
label=
"关联企业"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
office
||
'--'
}}
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"position"
prop=
"position"
label=
"职位"
label=
"职位"
width=
"125"
>
width=
"125"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
position
||
'--'
}}
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"phone"
prop=
"phone"
label=
"联系方式"
label=
"联系方式"
width=
"175"
>
width=
"175"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
phone
||
'--'
}}
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"accendant"
prop=
"accendant"
...
@@ -86,18 +101,24 @@
...
@@ -86,18 +101,24 @@
<el-form-item
label=
"联系人姓名:"
class=
"row"
>
<el-form-item
label=
"联系人姓名:"
class=
"row"
>
<el-input
type=
"text"
v-model=
"queryParam.name"
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-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-form-item
label=
"联系人角色:"
class=
"row"
>
<el-input
type=
"text"
v-model=
"queryParam.role"
placeholder=
"请输入"
></el-input>
<el-input
type=
"text"
v-model=
"queryParam.role"
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"
v-model=
"queryParam.position"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"联系人公司/机关:"
class=
"row"
>
<el-input
type=
"text"
v-model=
"queryParam.office"
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"
v-model=
"queryParam.
accendant
"
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-input type="text" v-model="queryParam.accendant" 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.phone"
placeholder=
"请输入"
></el-input>
<el-input
type=
"text"
v-model=
"queryParam.phone"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
...
@@ -120,7 +141,8 @@
...
@@ -120,7 +141,8 @@
detailId
:
{
//从企业详情跳转过来ID
detailId
:
{
//从企业详情跳转过来ID
type
:
Number
,
type
:
Number
,
default
:
0
default
:
0
}
},
isDisabled
:
false
,
},
},
data
(){
data
(){
return
{
return
{
...
@@ -140,6 +162,7 @@
...
@@ -140,6 +162,7 @@
total
:
0
,
total
:
0
,
projectname
:
this
.
$route
.
query
.
projectname
,
projectname
:
this
.
$route
.
query
.
projectname
,
queryParam
:[],
queryParam
:[],
isDisabled
:
this
.
isDisabled
,
}
}
},
},
created
(){
created
(){
...
@@ -148,6 +171,7 @@
...
@@ -148,6 +171,7 @@
methods
:{
methods
:{
getDetail
(
item
){
getDetail
(
item
){
this
.
dialogVisible
=
true
this
.
dialogVisible
=
true
item
.
sex
=
item
.
sex
.
toString
()
this
.
queryParam
=
item
this
.
queryParam
=
item
this
.
isnew
=
false
this
.
isnew
=
false
},
},
...
@@ -158,8 +182,10 @@
...
@@ -158,8 +182,10 @@
})
})
},
},
save
(){
save
(){
let
param
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
queryParam
))
param
.
sex
=
parseInt
(
param
.
sex
)
if
(
this
.
isnew
==
false
){
if
(
this
.
isnew
==
false
){
editLXR
(
this
.
queryP
aram
).
then
(
result
=>
{
editLXR
(
p
aram
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
'保存成功!'
)
this
.
$message
.
success
(
'保存成功!'
)
this
.
getList
()
this
.
getList
()
...
@@ -168,7 +194,7 @@
...
@@ -168,7 +194,7 @@
})
})
}
}
if
(
this
.
isnew
==
true
){
if
(
this
.
isnew
==
true
){
addLXR
(
this
.
queryP
aram
).
then
(
result
=>
{
addLXR
(
p
aram
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
'新增成功!'
)
this
.
$message
.
success
(
'新增成功!'
)
this
.
getList
()
this
.
getList
()
...
@@ -192,11 +218,12 @@
...
@@ -192,11 +218,12 @@
this
.
queryParam
=
{
this
.
queryParam
=
{
businessId
:
this
.
id
,
businessId
:
this
.
id
,
name
:
""
,
name
:
""
,
sex
:
"1"
,
role
:
""
,
role
:
""
,
office
:
""
,
office
:
""
,
position
:
""
,
position
:
""
,
phone
:
""
,
phone
:
""
,
accendant
:
""
,
//
accendant:"",
}
}
},
},
}
}
...
...
dsk-operate-ui/src/views/project/projectList/component/xgqy.vue
View file @
6ec9bb36
...
@@ -4,14 +4,14 @@
...
@@ -4,14 +4,14 @@
<el-card
class=
"box-card noborder"
>
<el-card
class=
"box-card noborder"
>
<div
class=
"cardtitles"
>
相关企业
</div>
<div
class=
"cardtitles"
>
相关企业
</div>
<div
class=
"searchbtns"
>
<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-option
v-for=
"(item,index) in companytype"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
</el-select>
<div
class=
"searchInput"
>
<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
class=
"btn"
@
click=
"handleCurrentChange(1)"
>
搜索
</div>
</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>
<div
class=
"document tables"
>
<div
class=
"document tables"
>
<el-table
<el-table
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
<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"
v-if=
"isDisabled==false"
>
新增相关企业
</div
>
</div>
</div>
</
template
>
</
template
>
<el-table-column
<el-table-column
...
@@ -36,13 +36,13 @@
...
@@ -36,13 +36,13 @@
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"depth"
prop=
"depth"
sortable
label=
"对接深度/竞争力度"
label=
"对接深度/竞争力度"
>
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"companyRole"
prop=
"companyRole"
label=
"企业角色"
label=
"企业角色"
sortable
width=
""
>
width=
""
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
label=
"负责人"
label=
"负责人"
width=
""
>
width=
""
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
v-if=
"isDisabled == false"
prop=
"name"
prop=
"name"
label=
""
label=
""
align=
"right"
align=
"right"
...
@@ -143,7 +143,8 @@
...
@@ -143,7 +143,8 @@
detailId
:
{
//从企业详情跳转过来ID
detailId
:
{
//从企业详情跳转过来ID
type
:
Number
,
type
:
Number
,
default
:
0
default
:
0
}
},
isDisabled
:
false
,
},
},
data
(){
data
(){
return
{
return
{
...
@@ -179,6 +180,7 @@
...
@@ -179,6 +180,7 @@
companyName
:
''
,
companyName
:
''
,
},
},
ondel
:
-
1
,
ondel
:
-
1
,
isDisabled
:
this
.
isDisabled
,
}
}
},
},
created
(){
created
(){
...
@@ -266,6 +268,9 @@
...
@@ -266,6 +268,9 @@
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.searchInput
.el-input
{
width
:
68%
;
}
.w102
{
.w102
{
width
:
102px
;
width
:
102px
;
}
}
...
...
dsk-operate-ui/src/views/project/projectList/component/xmsl.vue
View file @
6ec9bb36
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
<div
class=
"con"
>
<div
class=
"con"
>
<span>
项目级别 :
</span>
<span>
项目级别 :
</span>
<div
class=
"inputxt"
id=
"inputxt1"
>
<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>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.projectLevel"
></el-input>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL(
{projectLevel:xmsldata.projectLevel})">确定
</div>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL(
{projectLevel:xmsldata.projectLevel})">确定
</div>
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
{{
xmjd
}}
{{
xmjd
}}
<i
class=
"el-icon-caret-bottom"
></i>
<i
class=
"el-icon-caret-bottom"
></i>
</span>
</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-option
v-for=
"(item,index) in projectStage"
:key=
"index"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
</el-select>
</div>
</div>
...
@@ -38,9 +38,9 @@
...
@@ -38,9 +38,9 @@
<div
class=
"flex tipinput"
>
<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
class=
"tips"
v-for=
"(item,index) in tipslit"
>
{{
item
}}
<img
@
click=
"deltip(item)"
src=
"@/assets/images/project/del.png"
></div>
<div
style=
"position: relative"
>
<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>
<div
class=
"addbtn"
@
click=
"addtips"
></div>
<div
class=
"addbtn"
v-if=
"isDisabled == false"
@
click=
"addtips"
></div>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -53,7 +53,7 @@
...
@@ -53,7 +53,7 @@
<div
class=
"con"
>
<div
class=
"con"
>
<span>
主管单位 :
</span>
<span>
主管单位 :
</span>
<div
class=
"inputxt"
id=
"inputxt2"
>
<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>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.supervisorUnit"
></el-input>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL(
{supervisorUnit:xmsldata.supervisorUnit})">确定
</div>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL(
{supervisorUnit:xmsldata.supervisorUnit})">确定
</div>
...
@@ -66,7 +66,7 @@
...
@@ -66,7 +66,7 @@
<div
class=
"con i"
>
<div
class=
"con i"
>
<span>
建设单位 :
</span>
<span>
建设单位 :
</span>
<div
class=
"inputxt"
id=
"inputxt3"
:style=
"
{width:rig1}">
<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>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.constructionUnit"
></el-input>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL(
{constructionUnit:xmsldata.constructionUnit})">确定
</div>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL(
{constructionUnit:xmsldata.constructionUnit})">确定
</div>
...
@@ -82,7 +82,7 @@
...
@@ -82,7 +82,7 @@
<div
class=
"con"
>
<div
class=
"con"
>
<span>
主管单位负责人 :
</span>
<span>
主管单位负责人 :
</span>
<div
class=
"inputxt"
id=
"inputxt4"
>
<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>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.supervisorPrincipal"
></el-input>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL(
{supervisorPrincipal:xmsldata.supervisorPrincipal})">确定
</div>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL(
{supervisorPrincipal:xmsldata.supervisorPrincipal})">确定
</div>
...
@@ -95,7 +95,7 @@
...
@@ -95,7 +95,7 @@
<div
class=
"con i"
>
<div
class=
"con i"
>
<span>
建设单位负责人 :
</span>
<span>
建设单位负责人 :
</span>
<div
class=
"inputxt"
id=
"inputxt5"
>
<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>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.constructionPrincipal"
></el-input>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL(
{constructionPrincipal:xmsldata.constructionPrincipal})">确定
</div>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL(
{constructionPrincipal:xmsldata.constructionPrincipal})">确定
</div>
...
@@ -110,7 +110,7 @@
...
@@ -110,7 +110,7 @@
<div
class=
"con"
>
<div
class=
"con"
>
<span>
主管单位联系电话 :
</span>
<span>
主管单位联系电话 :
</span>
<div
class=
"inputxt"
id=
"inputxt6"
>
<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>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.supervisorPhone"
></el-input>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
@
click=
"isphone(1,xmsldata.supervisorPhone)"
style=
"width: 56px"
>
确定
</div>
<div
class=
"btnsmall btn_primary h28"
@
click=
"isphone(1,xmsldata.supervisorPhone)"
style=
"width: 56px"
>
确定
</div>
...
@@ -123,7 +123,7 @@
...
@@ -123,7 +123,7 @@
<div
class=
"con i"
>
<div
class=
"con i"
>
<span>
建设单位联系电话 :
</span>
<span>
建设单位联系电话 :
</span>
<div
class=
"inputxt"
id=
"inputxt7"
>
<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>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.constructionPhone"
></el-input>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
@
click=
"isphone(2,xmsldata.constructionPhone)"
style=
"width: 56px"
>
确定
</div>
<div
class=
"btnsmall btn_primary h28"
@
click=
"isphone(2,xmsldata.constructionPhone)"
style=
"width: 56px"
>
确定
</div>
...
@@ -177,7 +177,6 @@
...
@@ -177,7 +177,6 @@
export
default
{
export
default
{
name
:
'xmsl'
,
name
:
'xmsl'
,
props
:{
props
:{
datas
:
''
,
detailId
:
{
//从企业详情跳转过来ID
detailId
:
{
//从企业详情跳转过来ID
type
:
Number
,
type
:
Number
,
default
:
0
default
:
0
...
@@ -191,9 +190,10 @@
...
@@ -191,9 +190,10 @@
xmjd
:
'待添加'
,
xmjd
:
'待添加'
,
projectStage
:[],
//项目阶段
projectStage
:[],
//项目阶段
id
:
this
.
detailId
?
this
.
detailId
:
this
.
$route
.
query
.
id
,
id
:
this
.
detailId
?
this
.
detailId
:
this
.
$route
.
query
.
id
,
xmsldata
:
this
.
datas
,
xmsldata
:
[]
,
spanWidth
:
'width: 70px'
,
spanWidth
:
'width: 70px'
,
rig1
:
'184px'
,
rig1
:
'184px'
,
isDisabled
:
false
,
}
}
},
},
created
(){
created
(){
...
@@ -205,6 +205,8 @@
...
@@ -205,6 +205,8 @@
},
},
mounted
(){
mounted
(){
document
.
addEventListener
(
'mouseup'
,(
e
)
=>
{
document
.
addEventListener
(
'mouseup'
,(
e
)
=>
{
if
(
this
.
isDisabled
==
true
)
return
false
let
j
=
0
let
j
=
0
for
(
var
i
=
1
;
i
<=
7
;
i
++
){
for
(
var
i
=
1
;
i
<=
7
;
i
++
){
let
isSelf
=
document
.
getElementById
(
'inputxt'
+
i
).
contains
(
event
.
target
)
// 这个是自己的区域
let
isSelf
=
document
.
getElementById
(
'inputxt'
+
i
).
contains
(
event
.
target
)
// 这个是自己的区域
...
@@ -215,6 +217,33 @@
...
@@ -215,6 +217,33 @@
}
}
}
}
if
(
j
==
7
){
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
this
.
nowedit
=
-
1
}
}
})
})
...
@@ -232,6 +261,9 @@
...
@@ -232,6 +261,9 @@
});
});
},
},
editXMSL
(
param
){
editXMSL
(
param
){
this
.
nowedit
=
-
1
if
(
this
.
isDisabled
==
true
)
return
false
if
(
param
.
projectStage
){
//修改项目阶段
if
(
param
.
projectStage
){
//修改项目阶段
this
.
$emit
(
'Refreshs'
,
param
)
this
.
$emit
(
'Refreshs'
,
param
)
this
.
xmjd
=
param
.
projectStage
this
.
xmjd
=
param
.
projectStage
...
@@ -240,13 +272,14 @@
...
@@ -240,13 +272,14 @@
params
.
id
=
this
.
id
params
.
id
=
this
.
id
editXMNR
(
JSON
.
stringify
(
params
)).
then
(
res
=>
{
editXMNR
(
JSON
.
stringify
(
params
)).
then
(
res
=>
{
if
(
res
.
code
==
200
){
if
(
res
.
code
==
200
){
this
.
$message
.
success
(
'修改成功!'
)
if
(
!
param
.
projectStage
){
this
.
$message
.
success
(
'修改成功!'
)
}
}
else
{
}
else
{
this
.
$message
.
error
(
res
.
msg
)
this
.
$message
.
error
(
res
.
msg
)
this
.
getXMSL
()
this
.
getXMSL
()
}
}
})
})
this
.
nowedit
=
-
1
}
}
},
},
//验证电话号码
//验证电话号码
...
@@ -307,8 +340,7 @@
...
@@ -307,8 +340,7 @@
this
.
xmjd
=
result
.
data
.
projectStage
this
.
xmjd
=
result
.
data
.
projectStage
this
.
tipslit
=
result
.
data
.
labelList
this
.
tipslit
=
result
.
data
.
labelList
this
.
xmsldata
=
result
.
data
this
.
xmsldata
=
result
.
data
this
.
isDisabled
=
result
.
data
.
isFounder
==
1
?
false
:
true
const
spanStyle
=
document
.
querySelector
(
".rig1"
);
const
spanStyle
=
document
.
querySelector
(
".rig1"
);
this
.
$nextTick
(()
=>
{
// 如果不用$nextTick的话页面并不会更新,它是在下次dom更新后再渲染到页面上
this
.
$nextTick
(()
=>
{
// 如果不用$nextTick的话页面并不会更新,它是在下次dom更新后再渲染到页面上
this
.
rig1
=
this
.
rig1
=
...
...
dsk-operate-ui/src/views/project/projectList/component/zlwd.vue
View file @
6ec9bb36
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
<div
class=
"searchbtns"
>
<div
class=
"searchbtns"
>
<!--
<div
class=
"searchbtns"
v-if=
"fileDatas.rows != null && fileDatas.rows.length>0"
>
-->
<!--
<div
class=
"searchbtns"
v-if=
"fileDatas.rows != null && fileDatas.rows.length>0"
>
-->
<div
class=
"searchInput"
>
<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
class=
"btn"
@
click=
"handleCurrentChange(1)"
>
搜索
</div>
</div>
</div>
<div
class=
"btn btn_primary h32 b2"
@
click=
"getUP"
><div
class=
"img img2"
></div>
上传
</div>
<div
class=
"btn btn_primary h32 b2"
@
click=
"getUP"
><div
class=
"img img2"
></div>
上传
</div>
...
@@ -51,9 +51,9 @@
...
@@ -51,9 +51,9 @@
<template
slot=
"empty"
>
<template
slot=
"empty"
>
<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=
"getUP"
>
上传文档
</div>
<div
v-if=
"isDisabled==false"
class=
"btn btn_primary h36 w102"
@
click=
"getUP"
>
上传文档
</div>
</div>
</div>
</
template
>
</
template
>
<el-table-column
<el-table-column
...
@@ -89,7 +89,7 @@
...
@@ -89,7 +89,7 @@
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div
class=
"hoverbtn"
>
<div
class=
"hoverbtn"
>
<div
class=
"xz"
@
click=
"downnlod(scope.row)"
>
下载
</div>
<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>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -128,7 +128,8 @@
...
@@ -128,7 +128,8 @@
detailId
:
{
//从企业详情跳转过来ID
detailId
:
{
//从企业详情跳转过来ID
type
:
Number
,
type
:
Number
,
default
:
0
default
:
0
}
},
isDisabled
:
false
,
},
},
data
(){
data
(){
return
{
return
{
...
@@ -150,6 +151,7 @@
...
@@ -150,6 +151,7 @@
fileDatas
:[],
fileDatas
:[],
filename
:
''
,
filename
:
''
,
ondel
:
""
,
ondel
:
""
,
isDisabled
:
this
.
isDisabled
,
}
}
},
},
created
(){
created
(){
...
@@ -192,6 +194,8 @@
...
@@ -192,6 +194,8 @@
}
}
},
},
getUP
(){
getUP
(){
if
(
this
.
isDisabled
==
true
)
return
false
this
.
isupload
=
true
this
.
isupload
=
true
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
$refs
.
uploadFile
.
$children
[
0
].
$refs
.
input
.
webkitdirectory
=
true
this
.
$refs
.
uploadFile
.
$children
[
0
].
$refs
.
input
.
webkitdirectory
=
true
...
@@ -345,4 +349,7 @@
...
@@ -345,4 +349,7 @@
}
}
}
}
}
}
.searchInput
.el-input
{
width
:
68%
;
}
</
style
>
</
style
>
dsk-operate-ui/src/views/project/projectList/detail.vue
View file @
6ec9bb36
...
@@ -29,7 +29,7 @@
...
@@ -29,7 +29,7 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"contets row"
>
<div
class=
"contets row"
readonly
>
<div
class=
"det-con"
>
<div
class=
"det-con"
>
<span>
项目类型:
</span>
<span>
项目类型:
</span>
<div
class=
"select-popper"
>
<div
class=
"select-popper"
>
...
@@ -37,7 +37,7 @@
...
@@ -37,7 +37,7 @@
{{xmlx}}
{{xmlx}}
<i
class=
"el-icon-caret-bottom"
></i>
<i
class=
"el-icon-caret-bottom"
></i>
</span>
</span>
<el-select
v-model=
"xmlx"
class=
"select-multiple"
placeholder=
"请选择"
@
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-option
v-for=
"(item,index) in projectType"
:key=
"index"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
</el-select>
</div>
</div>
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
{{xmlb}}
{{xmlb}}
<i
class=
"el-icon-caret-bottom"
></i>
<i
class=
"el-icon-caret-bottom"
></i>
</span>
</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-option
v-for=
"(item,index) in projectCategory"
:key=
"index"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
</el-select>
</div>
</div>
...
@@ -59,7 +59,7 @@
...
@@ -59,7 +59,7 @@
<div
class=
"det-con con"
id=
"inputxt"
>
<div
class=
"det-con con"
id=
"inputxt"
>
<span>
投资估算(万元):
</span>
<span>
投资估算(万元):
</span>
<div
class=
"inputxt i"
:class=
"{'nomar':nowedit != 3}"
>
<div
class=
"inputxt i"
:class=
"{'nomar':nowedit != 3}"
>
<div
class=
"flex"
v-if=
"nowedit == 3"
>
<div
class=
"flex"
v-if=
"nowedit == 3
&& isDisabled == false
"
>
<el-input
v-model=
"ProjectData.investmentAmount"
placeholder=
"待添加"
@
input=
"number"
></el-input>
<el-input
v-model=
"ProjectData.investmentAmount"
placeholder=
"待添加"
@
input=
"number"
></el-input>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL({investmentAmount:ProjectData.investmentAmount})"
>
确定
</div>
<div
class=
"btnsmall btn_primary h28"
style=
"width: 56px"
@
click=
"editXMSL({investmentAmount:ProjectData.investmentAmount})"
>
确定
</div>
...
@@ -77,7 +77,7 @@
...
@@ -77,7 +77,7 @@
{{addresstxt}}
{{addresstxt}}
<i
class=
"el-icon-caret-bottom"
></i>
<i
class=
"el-icon-caret-bottom"
></i>
</span>
</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"
ref=
"myCascader"
:props=
"props"
:options=
"addressList"
:options=
"addressList"
@
change=
"handleChange"
></el-cascader>
@
change=
"handleChange"
></el-cascader>
...
@@ -107,19 +107,19 @@
...
@@ -107,19 +107,19 @@
</div>
</div>
</el-card>
</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>
</div>
</div>
</template>
</template>
...
@@ -175,6 +175,7 @@
...
@@ -175,6 +175,7 @@
props
:{
checkStrictly
:
true
,
expandTrigger
:
'hover'
},
props
:{
checkStrictly
:
true
,
expandTrigger
:
'hover'
},
id
:
''
,
id
:
''
,
ProjectData
:{},
ProjectData
:{},
isDisabled
:
false
,
keys
:
1
,
keys
:
1
,
}
}
},
},
...
@@ -202,9 +203,14 @@
...
@@ -202,9 +203,14 @@
this
.
choose
(
data
.
projectStage
)
this
.
choose
(
data
.
projectStage
)
},
},
handleALL
(
event
){
handleALL
(
event
){
if
(
this
.
isDisabled
==
true
)
return
false
var
one
=
document
.
getElementById
(
"inputxt"
);
var
one
=
document
.
getElementById
(
"inputxt"
);
if
(
one
){
if
(
one
){
if
(
!
one
.
contains
(
event
.
target
)){
if
(
!
one
.
contains
(
event
.
target
)){
if
(
this
.
nowedit
!=
-
1
){
this
.
editXMSL
({
investmentAmount
:
this
.
ProjectData
.
investmentAmount
})
}
this
.
nowedit
=
-
1
this
.
nowedit
=
-
1
}
else
{
}
else
{
this
.
nowedit
=
3
this
.
nowedit
=
3
...
@@ -215,6 +221,7 @@
...
@@ -215,6 +221,7 @@
getXMSL
(
this
.
id
).
then
(
result
=>
{
getXMSL
(
this
.
id
).
then
(
result
=>
{
this
.
ProjectData
=
result
.
code
==
200
?
result
.
data
:{}
this
.
ProjectData
=
result
.
code
==
200
?
result
.
data
:{}
this
.
$route
.
query
.
projectname
=
result
.
data
.
projectName
this
.
$route
.
query
.
projectname
=
result
.
data
.
projectName
this
.
isDisabled
=
result
.
data
.
isFounder
==
1
?
false
:
true
this
.
xmlx
=
result
.
data
.
projectType
==
""
||
result
.
data
.
projectType
==
null
?
"请选择"
:
result
.
data
.
projectType
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
.
xmlb
=
result
.
data
.
projectCategory
==
""
||
result
.
data
.
projectCategory
==
null
?
"请选择"
:
result
.
data
.
projectCategory
this
.
thisindex
=
result
.
data
.
projectStage
this
.
thisindex
=
result
.
data
.
projectStage
...
@@ -249,6 +256,8 @@
...
@@ -249,6 +256,8 @@
this
.
ProjectData
.
isPrivate
=
isPrivate
this
.
ProjectData
.
isPrivate
=
isPrivate
},
},
editXMSL
(
param
){
editXMSL
(
param
){
if
(
this
.
isDisabled
==
true
)
return
false
let
params
=
param
let
params
=
param
params
.
id
=
this
.
id
params
.
id
=
this
.
id
editXMNR
(
JSON
.
stringify
(
params
)).
then
(
res
=>
{
editXMNR
(
JSON
.
stringify
(
params
)).
then
(
res
=>
{
...
@@ -294,6 +303,8 @@
...
@@ -294,6 +303,8 @@
this
.
lastindex
=
value
this
.
lastindex
=
value
},
},
choose
(
value
){
choose
(
value
){
if
(
this
.
isDisabled
==
true
)
return
false
this
.
thisindex
=
value
this
.
thisindex
=
value
this
.
editXMSL
({
projectStage
:
value
})
this
.
editXMSL
({
projectStage
:
value
})
let
_this
=
this
let
_this
=
this
...
...
dsk-operate-ui/src/views/project/projectList/index.vue
View file @
6ec9bb36
...
@@ -99,7 +99,9 @@
...
@@ -99,7 +99,9 @@
<div
class=
"titles"
>
项目明细
<div
class=
"titles"
>
项目明细
<div
class=
"dc"
>
<div
class=
"dc"
>
<div
class=
"total"
>
共
{{
total
}}
条
</div>
<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>
</div>
<div
class=
"tables"
v-if=
"total == 0"
>
<div
class=
"tables"
v-if=
"total == 0"
>
...
@@ -452,6 +454,9 @@ export default {
...
@@ -452,6 +454,9 @@ export default {
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.btn_primary
{
margin-top
:
16px
;
}
.jabph_popper_box
{
.jabph_popper_box
{
left
:
110px
;
left
:
110px
;
}
}
...
...
dsk-system/src/main/java/com/dsk/system/service/EconomicService.java
View file @
6ec9bb36
...
@@ -79,4 +79,13 @@ public interface EconomicService {
...
@@ -79,4 +79,13 @@ public interface EconomicService {
*/
*/
AjaxResult
regionalCompare
(
OpRegionalEconomicDataStatisticsRegionalDto
dto
);
AjaxResult
regionalCompare
(
OpRegionalEconomicDataStatisticsRegionalDto
dto
);
/***
*@Description: 地区经济-对比
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:25
*/
AjaxResult
regionalMultipleCompare
(
OpRegionalEconomicRegionalCompareDto
dto
);
}
}
dsk-system/src/main/java/com/dsk/system/service/impl/BusinessContactsServiceImpl.java
View file @
6ec9bb36
package
com
.
dsk
.
system
.
service
.
impl
;
package
com
.
dsk
.
system
.
service
.
impl
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.dsk.common.core.domain.entity.BusinessContacts
;
import
com.dsk.common.core.domain.entity.BusinessContacts
;
import
com.dsk.common.core.domain.model.LoginUser
;
import
com.dsk.common.exception.base.BaseException
;
import
com.dsk.common.exception.base.BaseException
;
import
com.dsk.common.utils.CheckUtils
;
import
com.dsk.common.utils.CheckUtils
;
import
com.dsk.common.utils.DateUtils
;
import
com.dsk.common.utils.DateUtils
;
import
com.dsk.common.utils.SecurityUtils
;
import
com.dsk.system.mapper.BusinessContactsMapper
;
import
com.dsk.system.mapper.BusinessContactsMapper
;
import
com.dsk.system.service.IBusinessContactsService
;
import
com.dsk.system.service.IBusinessContactsService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -59,6 +62,10 @@ public class BusinessContactsServiceImpl implements IBusinessContactsService
...
@@ -59,6 +62,10 @@ public class BusinessContactsServiceImpl implements IBusinessContactsService
public
int
insertBusinessContacts
(
BusinessContacts
businessContacts
)
public
int
insertBusinessContacts
(
BusinessContacts
businessContacts
)
{
{
if
(!
CheckUtils
.
isPhone
(
businessContacts
.
getPhone
()))
throw
new
BaseException
(
"500"
,
"请输入正确的电话号码"
);
if
(!
CheckUtils
.
isPhone
(
businessContacts
.
getPhone
()))
throw
new
BaseException
(
"500"
,
"请输入正确的电话号码"
);
LoginUser
loginUser
=
SecurityUtils
.
getLoginUser
();
if
(
ObjectUtil
.
isEmpty
(
loginUser
))
throw
new
BaseException
(
"请登录"
);
//维护人员为当前登录用户
businessContacts
.
setAccendant
(
loginUser
.
getUsername
());
return
businessContactsMapper
.
insertBusinessContacts
(
businessContacts
);
return
businessContactsMapper
.
insertBusinessContacts
(
businessContacts
);
}
}
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/CustomerServiceImpl.java
View file @
6ec9bb36
...
@@ -51,16 +51,17 @@ public class CustomerServiceImpl implements ICustomerService {
...
@@ -51,16 +51,17 @@ public class CustomerServiceImpl implements ICustomerService {
@Override
@Override
public
List
<
CustomerListVo
>
selectList
(
CustomerSearchDto
dto
)
{
public
List
<
CustomerListVo
>
selectList
(
CustomerSearchDto
dto
)
{
dto
.
setUserId
(
SecurityUtils
.
getUserId
());
dto
.
setUserId
(
SecurityUtils
.
getUserId
());
List
<
CustomerListVo
>
vos
=
baseMapper
.
selectList
(
dto
);
// List<CustomerListVo> vos = baseMapper.selectList(dto);
vos
.
parallelStream
().
forEach
(
vo
->
{
// vos.parallelStream().forEach(vo -> {
//合作项目
// //合作项目
vo
.
setCooperationProject
(
businessInfoService
.
selectCountByStatusAndCustomerId
(
2
,
vo
.
getCustomerId
()));
// vo.setCooperationProject(businessInfoService.selectCountByStatusAndCustomerId(2, vo.getCustomerId()));
//跟进项目
// //跟进项目
vo
.
setFollowProject
(
businessInfoService
.
selectCountByStatusAndCustomerId
(
1
,
vo
.
getCustomerId
()));
// vo.setFollowProject(businessInfoService.selectCountByStatusAndCustomerId(1, vo.getCustomerId()));
//储备项目
// //储备项目
vo
.
setReserveProject
(
businessInfoService
.
selectCountByStatusAndCustomerId
(
0
,
vo
.
getCustomerId
()));
// vo.setReserveProject(businessInfoService.selectCountByStatusAndCustomerId(0, vo.getCustomerId()));
});
// });
return
vos
;
// return vos;
return
baseMapper
.
selectList
(
dto
);
}
}
@Override
@Override
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/EconomicServiceImpl.java
View file @
6ec9bb36
...
@@ -70,4 +70,10 @@ public class EconomicServiceImpl implements EconomicService {
...
@@ -70,4 +70,10 @@ public class EconomicServiceImpl implements EconomicService {
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
}
@Override
public
AjaxResult
regionalMultipleCompare
(
OpRegionalEconomicRegionalCompareDto
dto
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/economic/regional/multipleCompare"
,
BeanUtil
.
beanToMap
(
dto
,
false
,
false
));
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
}
}
dsk-system/src/main/resources/mapper/business/BusinessInfoMapper.xml
View file @
6ec9bb36
...
@@ -92,7 +92,7 @@
...
@@ -92,7 +92,7 @@
i.district_name districtName,
i.district_name districtName,
i.investment_amount investmentAmount,
i.investment_amount investmentAmount,
i.construction_unit ownerCompany,
i.construction_unit ownerCompany,
MAX(f.creat
e
_time) followTime,
MAX(f.creat_time) followTime,
u.nick_name nickName,
u.nick_name nickName,
GROUP_CONCAT(DISTINCT l.label) label
GROUP_CONCAT(DISTINCT l.label) label
FROM business_info i
FROM business_info i
...
...
dsk-system/src/main/resources/mapper/system/customer/CustomerMapper.xml
View file @
6ec9bb36
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
ct.performance_characteristic, ct.other_ms_characteistic, ct.create_id, ct.create_time, ct.update_id, ct.update_time
ct.performance_characteristic, ct.other_ms_characteistic, ct.create_id, ct.create_time, ct.update_id, ct.update_time
</sql>
</sql>
<select
id=
"selectList"
resultType=
"com.dsk.system.domain.customer.vo.CustomerListVo"
>
<select
id=
"selectList
1
"
resultType=
"com.dsk.system.domain.customer.vo.CustomerListVo"
>
select
select
u.nick_name followUser,
u.nick_name followUser,
<include
refid=
"Base_Bean"
></include>
<include
refid=
"Base_Bean"
></include>
...
@@ -21,6 +21,26 @@
...
@@ -21,6 +21,26 @@
<if
test=
"dto.companyName != null and dto.companyName != '' "
>
and ct.company_name like concat('%',#{dto.companyName},'%')
</if>
<if
test=
"dto.companyName != null and dto.companyName != '' "
>
and ct.company_name like concat('%',#{dto.companyName},'%')
</if>
</select>
</select>
<select
id=
"selectList"
resultType=
"com.dsk.system.domain.customer.vo.CustomerListVo"
>
select
u.nick_name followUser, bi1.num reserveProject, bi2.num followProject, bi3.num cooperationProject,
<include
refid=
"Base_Bean"
></include>
from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id
join sys_user u on ctu.user_id = u.user_id
left join (
select count(status) num,customer_id from business_info where `status` = 0 group by customer_id
) bi1 on bi1.customer_id = ct.customer_id
left join (
select count(status) num,customer_id from business_info where `status` = 1 group by customer_id
) bi2 on bi2.customer_id = ct.customer_id
left join (
select count(status) num,customer_id from business_info where `status` = 2 group by customer_id
) bi3 on bi3.customer_id = ct.customer_id
where ctu.user_id = #{dto.userId}
<if
test=
"dto.companyName != null and dto.companyName != '' "
>
and ct.company_name like concat('%',#{dto.companyName},'%')
</if>
</select>
<select
id=
"selectUserList"
resultType=
"com.dsk.system.domain.customer.Customer"
>
<select
id=
"selectUserList"
resultType=
"com.dsk.system.domain.customer.Customer"
>
select
select
ct.customer_id, ct.company_name
ct.customer_id, ct.company_name
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment