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
20ea96f0
Commit
20ea96f0
authored
May 30, 2023
by
MyName
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
项目管理
parent
e0e9b4c5
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
366 additions
and
357 deletions
+366
-357
project.js
dsk-operate-ui/src/api/project/project.js
+18
-0
index.vue
dsk-operate-ui/src/views/project/overview/index.vue
+13
-3
addProject.vue
...ui/src/views/project/projectList/component/addProject.vue
+79
-47
index.vue
dsk-operate-ui/src/views/project/projectList/index.vue
+256
-307
No files found.
dsk-operate-ui/src/api/project/project.js
0 → 100644
View file @
20ea96f0
import
request
from
'@/utils/request'
//新增项目
export
function
addProject
(
param
)
{
return
request
({
url
:
'/business/info/add'
,
method
:
'POST'
,
data
:
param
})
}
//商机列表
export
function
getProjectlist
(
param
)
{
return
request
({
url
:
'/business/info/list'
,
method
:
'GET'
,
params
:
param
})
}
dsk-operate-ui/src/views/project/overview/index.vue
View file @
20ea96f0
...
@@ -85,7 +85,7 @@
...
@@ -85,7 +85,7 @@
<div>
水利项目
</div>
<div>
水利项目
</div>
</div>
</div>
</div>
</div>
<div
class=
"addnew"
><div
class=
"img"
></div>
新建项目
</div>
<div
class=
"addnew"
@
click=
"addNew(true)"
><div
class=
"img"
></div>
新建项目
</div>
</el-card>
</el-card>
</div>
</div>
...
@@ -121,14 +121,17 @@
...
@@ -121,14 +121,17 @@
</div>
</div>
</el-card>
</el-card>
</div>
</div>
<addproject
v-if=
"isshow"
@
addproject=
"add"
@
cancel=
"addNew"
></addproject>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
"@/assets/styles/project.scss"
import
"@/assets/styles/project.scss"
import
*
as
echarts
from
'echarts'
import
*
as
echarts
from
'echarts'
import
addproject
from
'../projectList/component/addProject'
export
default
{
export
default
{
name
:
'Overview'
,
name
:
'Overview'
,
components
:{
addproject
},
data
()
{
data
()
{
return
{
return
{
chartDom
:
''
,
chartDom
:
''
,
...
@@ -203,11 +206,11 @@ export default {
...
@@ -203,11 +206,11 @@ export default {
visitMode
:
"线下拜访"
,
visitMode
:
"线下拜访"
,
},
},
]},
]},
dialogVisible
:
false
,
isshow
:
false
,
}
}
},
},
created
()
{
created
()
{
console
.
log
(
)
// this.$route.push({ path: "/projectList" }
)
},
},
mounted
(){
mounted
(){
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
...
@@ -432,6 +435,13 @@ export default {
...
@@ -432,6 +435,13 @@ export default {
let
minute
=
times
.
getMinutes
()
let
minute
=
times
.
getMinutes
()
let
second
=
times
.
getSeconds
()
let
second
=
times
.
getSeconds
()
return
year
+
'-'
+
month
+
'-'
+
day
+
' '
+
hour
+
":"
+
minute
+
":"
+
second
return
year
+
'-'
+
month
+
'-'
+
day
+
' '
+
hour
+
":"
+
minute
+
":"
+
second
},
addNew
(
isshow
){
this
.
isshow
=
isshow
},
add
(){
this
.
isshow
=
false
this
.
$router
.
push
({
path
:
'/project/projectList'
})
}
}
}
}
}
}
...
...
dsk-operate-ui/src/views/project/projectList/component/addProject.vue
View file @
20ea96f0
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<el-dialog
<el-dialog
class=
"popups"
class=
"popups"
width=
"534px"
width=
"534px"
:visible
.
sync=
"dialogVisible
"
:visible
.
sync=
"isshow
"
@
close=
"resetForm('ruleForm')"
@
close=
"resetForm('ruleForm')"
>
>
<div
class=
"poptitle"
>
<div
class=
"poptitle"
>
...
@@ -10,10 +10,10 @@
...
@@ -10,10 +10,10 @@
<span>
添加客户
</span>
<span>
添加客户
</span>
</div>
</div>
<el-form
class=
"popform j"
:model=
"queryParam"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"130px"
>
<el-form
class=
"popform j"
:model=
"queryParam"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"130px"
>
<el-form-item
label=
"项目名称:"
class=
"row"
prop=
"
n
ame"
>
<el-form-item
label=
"项目名称:"
class=
"row"
prop=
"
projectN
ame"
>
<el-input
type=
"text"
placeholder=
"请输入"
v-model=
"queryParam.projectName"
@
input=
"getCompany"
></el-input>
<el-input
type=
"text"
placeholder=
"请输入"
v-model=
"queryParam.projectName"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"业主单位:"
class=
"row"
prop=
"
c
ompany"
>
<el-form-item
label=
"业主单位:"
class=
"row"
prop=
"
ownerC
ompany"
>
<el-input
type=
"text"
placeholder=
"请输入"
v-model=
"queryParam.ownerCompany"
@
input=
"getCompany"
></el-input>
<el-input
type=
"text"
placeholder=
"请输入"
v-model=
"queryParam.ownerCompany"
@
input=
"getCompany"
></el-input>
<div
class=
"resultlist"
v-if=
"showlist"
>
<div
class=
"resultlist"
v-if=
"showlist"
>
<div
v-for=
"(item,index) in companData"
@
click=
"selCompany(item)"
><span
v-html=
"item.name"
></span></div>
<div
v-for=
"(item,index) in companData"
@
click=
"selCompany(item)"
><span
v-html=
"item.name"
></span></div>
...
@@ -21,21 +21,21 @@
...
@@ -21,21 +21,21 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
"项目阶段:"
class=
"row"
>
<el-form-item
label=
"项目阶段:"
class=
"row"
>
<el-select
placeholder=
"请选择"
v-model=
"queryParam.projectStage"
>
<el-select
placeholder=
"请选择"
v-model=
"queryParam.projectStage"
>
<el-option
v-for=
"(item,index) in
customerLevel
"
: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>
</el-form-item>
</el-form-item>
<el-form-item
label=
"项目类型:"
class=
"row"
>
<el-form-item
label=
"项目类型:"
class=
"row"
>
<el-select
placeholder=
"请选择"
v-model=
"queryParam.projectType"
>
<el-select
placeholder=
"请选择"
v-model=
"queryParam.projectType"
>
<el-option
v-for=
"(item,index) in
customerLevel
"
: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>
</el-form-item>
</el-form-item>
<el-form-item
label=
"项目类别:"
class=
"row"
>
<el-form-item
label=
"项目类别:"
class=
"row"
>
<el-select
placeholder=
"请选择"
v-model=
"queryParam.projectCategory"
>
<el-select
placeholder=
"请选择"
v-model=
"queryParam.projectCategory"
>
<el-option
v-for=
"(item,index) in
customerLevel
"
: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>
</el-form-item>
</el-form-item>
<el-form-item
label=
"投资估算:"
class=
"row"
>
<el-form-item
label=
"投资估算:"
class=
"row"
>
<el-input
type=
"text"
placeholder=
"请输入"
v-model=
"queryParam.investmentAmount"
></el-input>
<el-input
type=
"text"
placeholder=
"请输入
金额"
@
input=
"number
"
v-model=
"queryParam.investmentAmount"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"可见范围:"
class=
"row"
>
<el-form-item
label=
"可见范围:"
class=
"row"
>
<el-select
placeholder=
"请选择"
v-model=
"queryParam.isPrivate"
>
<el-select
placeholder=
"请选择"
v-model=
"queryParam.isPrivate"
>
...
@@ -52,6 +52,8 @@
...
@@ -52,6 +52,8 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
getEnterprise
,
getDictType
,}
from
'@/api/main'
import
{
addProject
}
from
'@/api/project/project'
export
default
{
export
default
{
name
:
'addProject'
,
name
:
'addProject'
,
data
(){
data
(){
...
@@ -65,23 +67,9 @@
...
@@ -65,23 +67,9 @@
label
:
'他人可见'
label
:
'他人可见'
}
}
],
//可见范围
],
//可见范围
dialogVisible
:
true
,
isshow
:
true
,
queryParam
:{
queryParam
:{
companyId
:
''
,
//jsk企业id
userId
:
''
,
//用户id
companyName
:
''
,
//客户名称(企业名称
customerLevel
:
''
,
//客户等级
legalPerson
:
''
,
//法定代表人
registerCapital
:
''
,
//注册资本
registerAddress
:
''
,
//企业注册地址
creditCode
:
''
,
//社会统一信用代码
address
:
''
,
//选择的地址
provinceId
:
''
,
cityId
:
''
,
districtId
:
''
,
},
xmjd
:[],
//项目阶段
queryParam
:{
userId
:
this
.
$store
.
state
.
user
,
//用户id
projectName
:
''
,
// 项目名称
projectName
:
''
,
// 项目名称
companyId
:
''
,
//企业id
companyId
:
''
,
//企业id
ownerCompany
:
''
,
//业主单位
ownerCompany
:
''
,
//业主单位
...
@@ -91,32 +79,67 @@
...
@@ -91,32 +79,67 @@
investmentAmount
:
''
,
//投资估算
investmentAmount
:
''
,
//投资估算
isPrivate
:
0
,
//可见范围(0 仅自己可见,1 他人可见)
isPrivate
:
0
,
//可见范围(0 仅自己可见,1 他人可见)
},
},
rules
:{
projectName
:[{
required
:
true
,
message
:
'请输入非空格字符!'
,
trigger
:
'blur'
},],
ownerCompany
:[{
required
:
true
,
message
:
'请输入非空格字符!'
,
trigger
:
'blur'
},],
},
showlist
:
false
,
companData
:[],
//联想企业列表
projectStage
:[],
//项目阶段
projectType
:[],
//项目类型
projectCategory
:[],
//项目类别
}
}
},
},
mounted
(){
mounted
(){
},
},
created
(){
created
(){
//项目阶段
//项目阶段
// project_stage_type
getDictType
(
'project_stage_type'
).
then
(
result
=>
{
this
.
projectStage
=
result
.
code
==
200
?
result
.
data
:[]
})
//项目类型
getDictType
(
'project_type'
).
then
(
result
=>
{
this
.
projectType
=
result
.
code
==
200
?
result
.
data
:[]
})
//项目类别
getDictType
(
'project_category'
).
then
(
result
=>
{
this
.
projectCategory
=
result
.
code
==
200
?
result
.
data
:[]
})
},
},
methods
:{
methods
:{
//获取建设库客户
getCompany
(
value
){
if
(
value
.
length
>=
2
){
let
param
=
{
keyword
:
value
,
page
:{
limit
:
20
,
page
:
1
}
}
getEnterprise
(
JSON
.
stringify
(
param
)).
then
(
result
=>
{
if
(
result
.
code
!=
200
)
return
this
.
showlist
=
true
this
.
companData
=
result
.
data
.
list
})
}
},
selCompany
(
item
){
this
.
queryParam
.
companyId
=
item
.
jskEid
this
.
queryParam
.
ownerCompany
=
item
.
name
.
replace
(
/<
[^
>
]
+>/g
,
''
)
this
.
showlist
=
false
},
//添加客户
//添加客户
submitForm
(
formName
)
{
submitForm
(
formName
)
{
if
(
this
.
queryParam
.
companyId
==
""
||
this
.
queryParam
.
companyId
==
null
){
this
.
queryParam
.
userId
=
this
.
$store
.
state
.
user
.
userId
this
.
$message
.
error
({
message
:
'请选择企业!'
,
showClose
:
true
})
return
;
}
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
add
Customer
(
this
.
queryParam
).
then
(
result
=>
{
add
Project
(
this
.
queryParam
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
'添加成功!'
)
this
.
$message
.
success
(
'添加成功!'
)
this
.
dialogVisible
=
false
this
.
handleCurrentChange
(
1
)
this
.
resetForm
(
'ruleForm'
)
this
.
resetForm
(
'ruleForm'
)
this
.
$emit
(
'addproject'
)
}
else
{
}
else
{
this
.
$message
.
error
(
result
.
msg
)
this
.
$message
.
error
(
result
.
msg
)
}
}
...
@@ -127,25 +150,34 @@
...
@@ -127,25 +150,34 @@
},
},
resetForm
(
formName
)
{
resetForm
(
formName
)
{
this
.
queryParam
=
{
this
.
queryParam
=
{
companyId
:
''
,
//jsk企业id
projectName
:
''
,
// 项目名称
companyName
:
''
,
//客户名称(企业名称
companyId
:
''
,
//企业id
customerLevel
:
''
,
//客户等级
ownerCompany
:
''
,
//业主单位
legalPerson
:
''
,
//法定代表人
projectStage
:
''
,
//项目阶段
registerCapital
:
''
,
//注册资本
projectType
:
''
,
//项目类型
registerAddress
:
''
,
//企业注册地址
projectCategory
:
''
,
//项目类别
creditCode
:
''
,
//社会统一信用代码
investmentAmount
:
''
,
//投资估算
address
:
''
,
//选择的地址
isPrivate
:
0
,
//可见范围(0 仅自己可见,1 他人可见)
provinceId
:
''
,
cityId
:
''
,
districtId
:
''
,
},
},
this
.
dialogVisible
=
false
this
.
showlist
=
false
this
.
showlist
=
false
this
.
$emit
(
"cancel"
,
false
)
},
},
//输入数字
number
(
value
){
this
.
queryParam
.
investmentAmount
=
value
.
replace
(
/^
\D
*
(\d
*
(?:\.\d{0,2})?)
.*$/g
,
'$1'
)
//输入2位小数
}
}
}
}
}
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.wordprimary
{
display
:
inline
;
padding-right
:
26px
;
}
.btn_primary
{
padding
:
0
;
}
</
style
>
</
style
>
dsk-operate-ui/src/views/project/projectList/index.vue
View file @
20ea96f0
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<el-card
class=
"box-card noborder"
>
<el-card
class=
"box-card noborder"
>
<div
class=
"btns"
>
<div
class=
"btns"
>
<div
class=
"btn btn_default h28"
@
click=
"
showNew
"
><div
class=
"img img1"
></div>
新建项目商机
</div>
<div
class=
"btn btn_default h28"
@
click=
"
addNew(true)
"
><div
class=
"img img1"
></div>
新建项目商机
</div>
<div
class=
"btn btn_primary h28"
><div
class=
"img img2"
></div>
批量导入
</div>
<div
class=
"btn btn_primary h28"
><div
class=
"img img2"
></div>
批量导入
</div>
</div>
</div>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
class=
"tabpane w100"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
class=
"tabpane w100"
>
...
@@ -18,22 +18,79 @@
...
@@ -18,22 +18,79 @@
<span>
<span>
地区团队
地区团队
</span>
</span>
<div
class=
"selectInput"
@
click=
"getxmdq"
><span
class=
"selecttext"
>
{{
xmdqlabel
}}
<i
class=
"el-icon-caret-bottom"
></i></span>
<div
class=
"select-popper"
>
<el-cascader
class=
"input"
<span
:class=
"
{ color_text:searchParam.province.length ||searchParam.city.length ||searchParam.area.length,}">
项目地区
{{
searchParam
.
province
.
length
||
searchParam
.
city
.
length
||
searchParam
.
area
.
length
?
searchParam
.
province
.
length
+
searchParam
.
city
.
length
+
searchParam
.
area
.
length
+
"项"
:
""
}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-cascader
class=
"cascader-region select-location"
ref=
"myCascader"
ref=
"myCascader"
:props=
'props'
:options=
"options
"
:props=
'props'
:options=
"addressList
"
@
change=
"handleChange"
></el-cascader>
@
change=
"handleChange"
></el-cascader>
</div>
</div>
</div>
</div>
<div
class=
"selli"
>
<div
class=
"selli"
>
<span>
<span>
项目信息
项目信息
</span>
aaa
</span>
<div
class=
"select-popper"
>
<span
class=
"color_text"
>
项目类型
{{
searchParam
.
projectType
.
length
?
searchParam
.
projectType
.
length
+
"项"
:
""
}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-select
placeholder=
"请选择"
v-model=
"searchParam.projectType"
multiple
class=
"select-multiple"
>
<el-option
v-for=
"(item,index) in projectType"
:key=
"index"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
</div>
<div
class=
"select-popper"
>
<el-dropdown
@
command=
"transactionPricehandleCommand"
trigger=
"click"
ref=
"transactionPriceShowPopper"
:hide-on-click=
"false"
>
<span
class=
"el-dropdown-link"
:class=
"searchParam.minAmount ||searchParam.maxAmount ? 'color_text': ''"
>
投资估算
{{
searchParam
.
minAmount
||
searchParam
.
maxAmount
?
" 1项"
:
""
}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
v-for=
"(item, i) in amountOptions"
:class=
"searchParam.minAmount == item.value[0] &&searchParam.maxAmount == item.value[1] &&
!minAmount &&!maxAmount? 'color_text': '' "
:key=
"i"
:command=
"item.value"
>
{{
item
.
label
}}
</el-dropdown-item>
<el-dropdown-item
command=
""
style=
"padding: 0; text-indent: 20px"
>
<div
@
mouseenter=
"transactionPriceShowPopper = true"
@
mouseleave=
"transactionPriceShowPopper = false"
>
<span
:class=
"(minAmount || maxAmount) &&searchParam.minAmount ==minAmount &&
searchParam.maxAmount == maxAmount? 'color_text': '' "
>
自定义
<i
class=
"el-icon-arrow-right"
></i>
</span>
<div
class=
"jabph_popper_box"
style=
"position: absolute"
v-if=
"transactionPriceShowPopper"
>
<div
class=
"jabph_popper_wrap"
>
从
<el-input
class=
"jabph_popper_input"
v-limit-num
clearable
v-model=
"minAmount"
></el-input>
万
</div>
<div
class=
"jabph_popper_wrap"
>
到
<el-input
class=
"jabph_popper_input"
v-limit-num
clearable
v-model=
"maxAmount"
></el-input>
万
</div>
<div
style=
""
>
<el-button
size=
"mini"
@
click=
"transactionPriceCancel"
>
取消
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"transactionPricePopperConfirm"
>
确定
</el-button>
</div>
</div>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
<div
class=
"select-popper"
>
<span
class=
"color_text"
>
项目阶段
{{
searchParam
.
projectStage
.
length
?
searchParam
.
projectStage
.
length
+
"项"
:
""
}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-select
v-model=
"searchParam.projectStage"
class=
"select-multiple"
multiple
placeholder=
"请选择"
>
<el-option
v-for=
"(item,index) in projectStage"
:key=
"index"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
</div>
</div>
</div>
</div>
</div>
<div
class=
"scbtns"
>
<div
class=
"scbtns"
>
<div
class=
"btn btn_primary h34"
>
查询
</div>
<div
class=
"btn btn_primary h34"
@
click=
"getList(1)"
>
查询
</div>
<div
class=
"btn btn_cancel h34"
>
重置
</div>
<div
class=
"btn btn_cancel h34"
@
click=
"reset"
>
重置
</div>
</div>
</div>
</el-tabs>
</el-tabs>
</el-card>
</el-card>
...
@@ -82,287 +139,150 @@
...
@@ -82,287 +139,150 @@
</div>
</div>
</div>
</div>
</div>
</div>
<el-dialog
class=
"popups"
:visible
.
sync=
"dialogVisible"
width=
"464px"
>
<div
class=
"poptitle"
>
<img
src=
"@/assets/images/economies/icon.png"
>
<span>
新建商机
</span>
</div>
<el-form
class=
"popform i"
label-width=
"85px"
>
<div
class=
"row"
>
<span
class=
"left"
><i>
*
</i>
项目名称:
</span>
<el-input
type=
"text"
placeholder=
"请输入"
></el-input>
</div>
<div
class=
"row"
>
<span
class=
"left"
><i>
*
</i>
业主单位:
</span>
<el-input
type=
"text"
placeholder=
"请输入"
></el-input>
</div>
<div
class=
"row"
>
<span
class=
"left"
>
项目阶段:
</span>
<el-select
placeholder=
"请选择"
>
<el-option
label=
"cccc"
value=
"11"
></el-option>
<el-option
label=
"cccc"
value=
"121"
></el-option>
</el-select>
</div>
<div
class=
"row"
>
<span
class=
"left"
>
项目类型:
</span>
<el-select
placeholder=
"请选择"
>
<el-option
label=
"cccc"
value=
"11"
></el-option>
<el-option
label=
"cccc"
value=
"121"
></el-option>
</el-select>
</div>
<div
class=
"row"
>
<span
class=
"left"
>
项目类别:
</span>
<el-select
placeholder=
"请选择"
>
<el-option
label=
"cccc"
value=
"11"
></el-option>
<el-option
label=
"cccc"
value=
"121"
></el-option>
</el-select>
</div>
<div
class=
"row"
>
<span
class=
"left"
>
投资估算:
</span>
<el-input
type=
"text"
placeholder=
"请输入"
></el-input>
</div>
<div
class=
"row"
>
<span
class=
"left"
>
可见范围:
</span>
<el-select
placeholder=
"请选择"
>
<el-option
label=
"cccc"
value=
"11"
></el-option>
<el-option
label=
"cccc"
value=
"121"
></el-option>
</el-select>
</div>
<div
class=
"popbot"
>
<div
class=
"wordprimary"
>
前往商机雷达寻找项目线索>
</div>
<div
class=
"btn btn_cancel h32"
@
click=
"cancel"
>
取消
</div>
<div
class=
"btn btn_primary h32"
>
新建商机
</div>
</div>
</el-form>
</el-dialog>
</el-card>
</el-card>
<addproject
v-if=
"isshow"
@
addproject=
"add"
@
cancel=
"addNew"
></addproject>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
"@/assets/styles/project.scss"
import
"@/assets/styles/project.scss"
import
prvinceTree
from
'@/assets/json/provinceTree'
import
{
getProjectlist
}
from
'@/api/project/project'
import
{
getDictType
,}
from
'@/api/main'
import
addproject
from
'./component/addProject'
export
default
{
export
default
{
name
:
'ProjectList'
,
name
:
'ProjectList'
,
components
:{
addproject
},
data
()
{
data
()
{
return
{
return
{
props
:{
props
:{
multiple
:
true
},
multiple
:
true
},
xmdq
:
[],
xmdqlabel
:
'项目地区'
,
activeName
:
'first'
,
activeName
:
'first'
,
options
:
[
projectStage
:[],
//项目阶段
isshow
:
false
,
//新增商机
//项目地区
addressList
:[],
addressType
:
[],
// 查询参数
minAmount
:
''
,
//投资估算最小值
maxAmount
:
''
,
//投资估算最大值
searchParam
:
{
projectName
:
''
,
//项目名称
ownerCompany
:
''
,
//业主单位
projectType
:
''
,
//项目类型
projectStage
:
''
,
//项目阶段
minAmount
:
''
,
//投资估算最小值
maxAmount
:
''
,
//投资估算最大值
Amount
:
''
,
//投资估算
province
:
[],
city
:
[],
area
:
[],
pageNum
:
1
,
pageSize
:
10
,
},
domicile
:[],
projectType
:[],
//项目类型
projectCategory
:[],
//项目类别
amountOptions
:[
{
{
value
:
'zhinan'
,
label
:
"5000万以下"
,
label
:
'指南'
,
value
:
[
0
,
5000
],
children
:
[{
},
value
:
'shejiyuanze'
,
{
label
:
'设计原则'
,
label
:
"5000万-1亿"
,
children
:
[{
value
:
[
5000
,
10000
],
value
:
'yizhi'
,
},
label
:
'一致'
{
},
{
label
:
"1亿-3亿"
,
value
:
'fankui'
,
value
:
[
10000
,
30000
],
label
:
'反馈'
},
},
{
{
value
:
'xiaolv'
,
label
:
"3亿以上"
,
label
:
'效率'
value
:
[
30000
,
''
],
},
{
},
value
:
'kekong'
,
],
label
:
'可控'
contractSignTimeValue
:
""
,
}]
transactionPriceShowPopper
:
false
,
},
{
value
:
'daohang'
,
label
:
'导航'
,
children
:
[{
value
:
'cexiangdaohang'
,
label
:
'侧向导航'
},
{
value
:
'dingbudaohang'
,
label
:
'顶部导航'
}]
}]
},
{
value
:
'zujian'
,
label
:
'组件'
,
children
:
[{
value
:
'basic'
,
label
:
'Basic'
,
children
:
[{
value
:
'layout'
,
label
:
'Layout 布局'
},
{
value
:
'color'
,
label
:
'Color 色彩'
},
{
value
:
'typography'
,
label
:
'Typography 字体'
},
{
value
:
'icon'
,
label
:
'Icon 图标'
},
{
value
:
'button'
,
label
:
'Button 按钮'
}]
},
{
value
:
'form'
,
label
:
'Form'
,
children
:
[{
value
:
'radio'
,
label
:
'Radio 单选框'
},
{
value
:
'checkbox'
,
label
:
'Checkbox 多选框'
},
{
value
:
'input'
,
label
:
'Input 输入框'
},
{
value
:
'input-number'
,
label
:
'InputNumber 计数器'
},
{
value
:
'select'
,
label
:
'Select 选择器'
},
{
value
:
'cascader'
,
label
:
'Cascader 级联选择器'
},
{
value
:
'switch'
,
label
:
'Switch 开关'
},
{
value
:
'slider'
,
label
:
'Slider 滑块'
},
{
value
:
'time-picker'
,
label
:
'TimePicker 时间选择器'
},
{
value
:
'date-picker'
,
label
:
'DatePicker 日期选择器'
},
{
value
:
'datetime-picker'
,
label
:
'DateTimePicker 日期时间选择器'
},
{
value
:
'upload'
,
label
:
'Upload 上传'
},
{
value
:
'rate'
,
label
:
'Rate 评分'
},
{
value
:
'form'
,
label
:
'Form 表单'
}]
},
{
value
:
'data'
,
label
:
'Data'
,
children
:
[{
value
:
'table'
,
label
:
'Table 表格'
},
{
value
:
'tag'
,
label
:
'Tag 标签'
},
{
value
:
'progress'
,
label
:
'Progress 进度条'
},
{
value
:
'tree'
,
label
:
'Tree 树形控件'
},
{
value
:
'pagination'
,
label
:
'Pagination 分页'
},
{
value
:
'badge'
,
label
:
'Badge 标记'
}]
},
{
value
:
'notice'
,
label
:
'Notice'
,
children
:
[{
value
:
'alert'
,
label
:
'Alert 警告'
},
{
value
:
'loading'
,
label
:
'Loading 加载'
},
{
value
:
'message'
,
label
:
'Message 消息提示'
},
{
value
:
'message-box'
,
label
:
'MessageBox 弹框'
},
{
value
:
'notification'
,
label
:
'Notification 通知'
}]
},
{
value
:
'navigation'
,
label
:
'Navigation'
,
children
:
[{
value
:
'menu'
,
label
:
'NavMenu 导航菜单'
},
{
value
:
'tabs'
,
label
:
'Tabs 标签页'
},
{
value
:
'breadcrumb'
,
label
:
'Breadcrumb 面包屑'
},
{
value
:
'dropdown'
,
label
:
'Dropdown 下拉菜单'
},
{
value
:
'steps'
,
label
:
'Steps 步骤条'
}]
},
{
value
:
'others'
,
label
:
'Others'
,
children
:
[{
value
:
'dialog'
,
label
:
'Dialog 对话框'
},
{
value
:
'tooltip'
,
label
:
'Tooltip 文字提示'
},
{
value
:
'popover'
,
label
:
'Popover 弹出框'
},
{
value
:
'card'
,
label
:
'Card 卡片'
},
{
value
:
'carousel'
,
label
:
'Carousel 走马灯'
},
{
value
:
'collapse'
,
label
:
'Collapse 折叠面板'
}]
}]
},
{
value
:
'ziyuan'
,
label
:
'资源'
,
children
:
[{
value
:
'axure'
,
label
:
'Axure Components'
},
{
value
:
'sketch'
,
label
:
'Sketch Templates'
},
{
value
:
'jiaohu'
,
label
:
'组件交互文档'
}]
}],
dialogVisible
:
false
,
}
}
},
},
created
()
{
created
()
{
this
.
prvinceTree
()
// this.getList(1)
//项目阶段
getDictType
(
'project_stage_type'
).
then
(
result
=>
{
this
.
projectStage
=
result
.
code
==
200
?
result
.
data
:[]
})
//项目类型
getDictType
(
'project_type'
).
then
(
result
=>
{
this
.
projectType
=
result
.
code
==
200
?
result
.
data
:[]
})
//项目类别
getDictType
(
'project_category'
).
then
(
result
=>
{
this
.
projectCategory
=
result
.
code
==
200
?
result
.
data
:[]
})
},
},
methods
:
{
methods
:
{
//获取商机列表
getList
(
pageNum
){
this
.
searchParam
.
pageNum
=
pageNum
getProjectlist
(
this
.
searchParam
).
then
(
result
=>
{
console
.
log
(
result
)
})
},
reset
(){
this
.
searchParam
=
{
projectName
:
''
,
//项目名称
ownerCompany
:
''
,
//业主单位
projectType
:
''
,
//项目类型
projectStage
:
''
,
//项目阶段
minAmount
:
''
,
//投资估算最小值
maxAmount
:
''
,
//投资估算最大值
Amount
:
''
,
//投资估算
province
:
[],
city
:
[],
area
:
[],
pageNum
:
1
,
pageSize
:
10
,
}
},
//地区
async
prvinceTree
()
{
// await axios.post("https://files.jiansheku.com/file/json/common/provinceTree.json", {}, {
// headers: {
// 'Content-Type': 'application/json'
// }
// }).then(res => {
// if (res.data.code == 200) {
// console.log(res.data.data)
// }
// })
// console.log(prvinceTree)
this
.
addressList
=
prvinceTree
;
this
.
getadd
(
this
.
addressList
)
},
//处理项目地区
getadd
(
row
)
{
this
.
addrcallback
(
row
,
this
.
getadd
)
},
addrcallback
(
row
,
callback
){
if
(
row
){
row
.
forEach
(
item
=>
{
item
.
value
=
item
.
id
callback
&&
callback
(
item
.
children
)
})
}
},
//新建项目
//新建项目
showNew
(){
showNew
(){
this
.
dialogVisible
=
true
this
.
isshow
=
true
},
addNew
(
isshow
){
this
.
isshow
=
isshow
},
},
cancel
(){
add
(){
this
.
dialogVisible
=
false
this
.
isshow
=
false
this
.
getList
(
1
)
},
},
toDetail
(){
toDetail
(){
let
Id
=
'111'
let
Id
=
'111'
...
@@ -375,27 +295,76 @@ export default {
...
@@ -375,27 +295,76 @@ export default {
},
},
handleChange
(
value
)
{
handleChange
(
value
)
{
console
.
log
(
value
);
// console.log(value);
this
.
xmdq
=
value
// var labelString = this.$refs.myCascader.getCheckedNodes()[0].pathLabels;
var
labelString
=
this
.
$refs
.
myCascader
.
getCheckedNodes
()[
0
].
pathLabels
;
let
arr
=
this
.
$refs
.
myCascader
.
getCheckedNodes
();
console
.
log
(
labelString
)
// console.log(arr)
if
(
labelString
.
length
>
0
){
let
province
=
[],
let
dq
=
''
city
=
[],
labelString
.
forEach
((
item
,
index
)
=>
{
area
=
[];
let
str
=
','
this
.
domicile
=
[];
if
(
index
==
0
)
for
(
var
i
in
arr
)
{
str
=
''
if
(
arr
[
i
].
parent
)
{
dq
+=
str
+
item
if
(
!
arr
[
i
].
parent
.
checked
)
{
})
arr
[
i
].
hasChildren
&&
city
.
push
(
arr
[
i
].
value
);
this
.
xmdqlabel
=
dq
arr
[
i
].
hasChildren
&&
this
.
domicile
.
push
(
arr
[
i
].
label
);
}
else
{
!
arr
[
i
].
hasChildren
&&
area
.
push
(
arr
[
i
].
value
);
this
.
xmdqlabel
=
'项目地区'
!
arr
[
i
].
hasChildren
&&
this
.
domicile
.
push
(
arr
[
i
].
label
);
}
}
}
else
{
province
.
push
(
arr
[
i
].
value
);
this
.
domicile
.
push
(
arr
[
i
].
label
);
}
}
var
obj
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
searchParam
));
obj
.
province
=
province
;
obj
.
city
=
city
;
obj
.
area
=
area
;
this
.
searchParam
=
obj
;
},
transactionPricePopperConfirm
()
{
if
(
this
.
minAmount
&&
this
.
maxAmount
&&
!
(
Number
(
this
.
maxAmount
)
>
Number
(
this
.
minAmount
))
)
{
return
this
.
$message
.
warning
(
"最小值必须小于最大值,请重新输入!"
);
}
this
.
transactionPriceShowPopper
=
false
;
var
obj
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
searchParam
));
obj
.
minAmount
=
this
.
minAmount
;
obj
.
maxAmount
=
this
.
maxAmount
;
this
.
searchParam
=
obj
;
this
.
$refs
.
transactionPriceShowPopper
.
hide
();
},
transactionPriceCancel
()
{
this
.
transactionPriceShowPopper
=
false
;
this
.
$refs
.
transactionPriceShowPopper
.
hide
();
},
transactionPricehandleCommand
(
command
)
{
if
(
command
)
{
this
.
$refs
.
transactionPriceShowPopper
.
hide
();
var
obj
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
searchParam
));
this
.
minAmount
=
""
;
this
.
maxAmount
=
""
;
if
(
command
==
"不限"
)
{
obj
.
minAmount
=
""
;
obj
.
maxAmount
=
""
;
}
else
{
obj
.
minAmount
=
command
[
0
];
obj
.
maxAmount
=
command
[
1
];
}
this
.
searchParam
=
obj
;
}
}
},
}
}
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.jabph_popper_box
{
left
:
110px
;
}
.noborder
{
.noborder
{
position
:
relative
;
position
:
relative
;
}
}
...
@@ -562,26 +531,6 @@ export default {
...
@@ -562,26 +531,6 @@ export default {
}
}
}
}
}
}
.selectInput
{
position
:
relative
;
display
:
inline-block
;
&
:hover
{
.selecttext
{
color
:
#0081FF
;
i
{
color
:
#0081FF
;}}
}
.selecttext
{
i
{
margin-left
:
5px
;
color
:
#a7a7a7
;
}
}
.input
{
position
:
absolute
;
left
:
0
;
opacity
:
0
;
height
:
20px
;
}
}
.popbot
{
.popbot
{
.wordprimary
{
.wordprimary
{
...
...
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