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
Expand all
Hide 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 @@
<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>
</div>
...
...
@@ -121,14 +121,17 @@
</div>
</el-card>
</div>
<addproject
v-if=
"isshow"
@
addproject=
"add"
@
cancel=
"addNew"
></addproject>
</div>
</
template
>
<
script
>
import
"@/assets/styles/project.scss"
import
*
as
echarts
from
'echarts'
import
addproject
from
'../projectList/component/addProject'
export
default
{
name
:
'Overview'
,
components
:{
addproject
},
data
()
{
return
{
chartDom
:
''
,
...
...
@@ -203,11 +206,11 @@ export default {
visitMode
:
"线下拜访"
,
},
]},
dialogVisible
:
false
,
isshow
:
false
,
}
},
created
()
{
console
.
log
(
)
// this.$route.push({ path: "/projectList" }
)
},
mounted
(){
this
.
$nextTick
(()
=>
{
...
...
@@ -432,6 +435,13 @@ export default {
let
minute
=
times
.
getMinutes
()
let
second
=
times
.
getSeconds
()
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 @@
<el-dialog
class=
"popups"
width=
"534px"
:visible
.
sync=
"dialogVisible
"
:visible
.
sync=
"isshow
"
@
close=
"resetForm('ruleForm')"
>
<div
class=
"poptitle"
>
...
...
@@ -10,10 +10,10 @@
<span>
添加客户
</span>
</div>
<el-form
class=
"popform j"
:model=
"queryParam"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"130px"
>
<el-form-item
label=
"项目名称:"
class=
"row"
prop=
"
n
ame"
>
<el-input
type=
"text"
placeholder=
"请输入"
v-model=
"queryParam.projectName"
@
input=
"getCompany"
></el-input>
<el-form-item
label=
"项目名称:"
class=
"row"
prop=
"
projectN
ame"
>
<el-input
type=
"text"
placeholder=
"请输入"
v-model=
"queryParam.projectName"
></el-input>
</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>
<div
class=
"resultlist"
v-if=
"showlist"
>
<div
v-for=
"(item,index) in companData"
@
click=
"selCompany(item)"
><span
v-html=
"item.name"
></span></div>
...
...
@@ -21,21 +21,21 @@
</el-form-item>
<el-form-item
label=
"项目阶段:"
class=
"row"
>
<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-form-item>
<el-form-item
label=
"项目类型:"
class=
"row"
>
<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-form-item>
<el-form-item
label=
"项目类别:"
class=
"row"
>
<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-form-item>
<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
label=
"可见范围:"
class=
"row"
>
<el-select
placeholder=
"请选择"
v-model=
"queryParam.isPrivate"
>
...
...
@@ -52,6 +52,8 @@
</
template
>
<
script
>
import
{
getEnterprise
,
getDictType
,}
from
'@/api/main'
import
{
addProject
}
from
'@/api/project/project'
export
default
{
name
:
'addProject'
,
data
(){
...
...
@@ -65,23 +67,9 @@
label
:
'他人可见'
}
],
//可见范围
dialogVisible
:
true
,
isshow
:
true
,
queryParam
:{
companyId
:
''
,
//jsk企业id
companyName
:
''
,
//客户名称(企业名称
customerLevel
:
''
,
//客户等级
legalPerson
:
''
,
//法定代表人
registerCapital
:
''
,
//注册资本
registerAddress
:
''
,
//企业注册地址
creditCode
:
''
,
//社会统一信用代码
address
:
''
,
//选择的地址
provinceId
:
''
,
cityId
:
''
,
districtId
:
''
,
},
xmjd
:[],
//项目阶段
queryParam
:{
userId
:
this
.
$store
.
state
.
user
,
//用户id
userId
:
''
,
//用户id
projectName
:
''
,
// 项目名称
companyId
:
''
,
//企业id
ownerCompany
:
''
,
//业主单位
...
...
@@ -91,32 +79,67 @@
investmentAmount
:
''
,
//投资估算
isPrivate
:
0
,
//可见范围(0 仅自己可见,1 他人可见)
},
rules
:{
projectName
:[{
required
:
true
,
message
:
'请输入非空格字符!'
,
trigger
:
'blur'
},],
ownerCompany
:[{
required
:
true
,
message
:
'请输入非空格字符!'
,
trigger
:
'blur'
},],
},
showlist
:
false
,
companData
:[],
//联想企业列表
projectStage
:[],
//项目阶段
projectType
:[],
//项目类型
projectCategory
:[],
//项目类别
}
},
mounted
(){
},
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
:{
//获取建设库客户
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
)
{
if
(
this
.
queryParam
.
companyId
==
""
||
this
.
queryParam
.
companyId
==
null
){
this
.
$message
.
error
({
message
:
'请选择企业!'
,
showClose
:
true
})
return
;
}
this
.
queryParam
.
userId
=
this
.
$store
.
state
.
user
.
userId
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
add
Customer
(
this
.
queryParam
).
then
(
result
=>
{
add
Project
(
this
.
queryParam
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
'添加成功!'
)
this
.
dialogVisible
=
false
this
.
handleCurrentChange
(
1
)
this
.
resetForm
(
'ruleForm'
)
this
.
$emit
(
'addproject'
)
}
else
{
this
.
$message
.
error
(
result
.
msg
)
}
...
...
@@ -127,25 +150,34 @@
},
resetForm
(
formName
)
{
this
.
queryParam
=
{
companyId
:
''
,
//jsk企业id
companyName
:
''
,
//客户名称(企业名称
customerLevel
:
''
,
//客户等级
legalPerson
:
''
,
//法定代表人
registerCapital
:
''
,
//注册资本
registerAddress
:
''
,
//企业注册地址
creditCode
:
''
,
//社会统一信用代码
address
:
''
,
//选择的地址
provinceId
:
''
,
cityId
:
''
,
districtId
:
''
,
projectName
:
''
,
// 项目名称
companyId
:
''
,
//企业id
ownerCompany
:
''
,
//业主单位
projectStage
:
''
,
//项目阶段
projectType
:
''
,
//项目类型
projectCategory
:
''
,
//项目类别
investmentAmount
:
''
,
//投资估算
isPrivate
:
0
,
//可见范围(0 仅自己可见,1 他人可见)
},
this
.
dialogVisible
=
false
this
.
showlist
=
false
this
.
$emit
(
"cancel"
,
false
)
},
//输入数字
number
(
value
){
this
.
queryParam
.
investmentAmount
=
value
.
replace
(
/^
\D
*
(\d
*
(?:\.\d{0,2})?)
.*$/g
,
'$1'
)
//输入2位小数
}
}
}
</
script
>
<
style
scoped
>
.wordprimary
{
display
:
inline
;
padding-right
:
26px
;
}
.btn_primary
{
padding
:
0
;
}
</
style
>
dsk-operate-ui/src/views/project/projectList/index.vue
View file @
20ea96f0
This diff is collapsed.
Click to expand it.
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