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
10c340f3
Commit
10c340f3
authored
Jun 02, 2023
by
MyName
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
项目管理
parent
6306f4e5
Changes
13
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
514 additions
and
227 deletions
+514
-227
projectTemplate.xlsx
dsk-operate-ui/public/file/projectTemplate.xlsx
+0
-0
project.js
dsk-operate-ui/src/api/project/project.js
+55
-0
project.scss
dsk-operate-ui/src/assets/styles/project.scss
+14
-2
index.vue
dsk-operate-ui/src/views/custom/customList/index.vue
+9
-87
addProject.vue
...ui/src/views/project/projectList/component/addProject.vue
+1
-1
batchImport.vue
...i/src/views/project/projectList/component/batchImport.vue
+136
-0
jsnr.vue
...erate-ui/src/views/project/projectList/component/jsnr.vue
+91
-52
lxr.vue
...perate-ui/src/views/project/projectList/component/lxr.vue
+77
-42
xgqy.vue
...erate-ui/src/views/project/projectList/component/xgqy.vue
+1
-1
xmsl.vue
...erate-ui/src/views/project/projectList/component/xmsl.vue
+5
-1
zlwd.vue
...erate-ui/src/views/project/projectList/component/zlwd.vue
+1
-1
detail.vue
dsk-operate-ui/src/views/project/projectList/detail.vue
+11
-1
index.vue
dsk-operate-ui/src/views/project/projectList/index.vue
+113
-39
No files found.
dsk-operate-ui/public/file/projectTemplate.xlsx
0 → 100644
View file @
10c340f3
File added
dsk-operate-ui/src/api/project/project.js
View file @
10c340f3
...
@@ -15,4 +15,59 @@ export function getProjectlist(param) {
...
@@ -15,4 +15,59 @@ export function getProjectlist(param) {
params
:
param
params
:
param
})
})
}
}
//删除项目
export
function
delProject
(
param
)
{
return
request
({
url
:
'/business/info/remove/'
+
param
,
method
:
'DELETE'
,
})
}
//建设内容
export
function
getJSNR
(
param
)
{
return
request
({
url
:
'/business/info/construction/'
+
param
,
method
:
'GET'
,
})
}
//项目速览
export
function
getXMSL
(
param
)
{
return
request
({
url
:
'/business/info/browse/'
+
param
,
method
:
'GET'
,
})
}
//项目速览修改
export
function
editXMSL
(
param
)
{
return
request
({
url
:
'/business/info/edit'
,
method
:
'POST'
,
data
:
param
})
}
//查询项目联系人
export
function
getLXR
(
param
)
{
return
request
({
url
:
'/business/contacts/list'
,
method
:
'GET'
,
params
:
param
})
}
//修改项目联系人
export
function
editLXR
(
param
)
{
return
request
({
url
:
'/business/contacts/edit'
,
method
:
'POST'
,
data
:
param
})
}
//新增项目联系人
export
function
addLXR
(
param
)
{
return
request
({
url
:
'/business/contacts/add'
,
method
:
'POST'
,
data
:
param
})
}
dsk-operate-ui/src/assets/styles/project.scss
View file @
10c340f3
...
@@ -124,6 +124,7 @@
...
@@ -124,6 +124,7 @@
border-radius
:
2px
;
border-radius
:
2px
;
line-height
:
28px
;
line-height
:
28px
;
cursor
:
pointer
;
cursor
:
pointer
;
position
:
relative
;
>
span
{
>
span
{
padding-left
:
8px
;
padding-left
:
8px
;
}
}
...
@@ -131,6 +132,15 @@
...
@@ -131,6 +132,15 @@
color
:
rgba
(
35
,
35
,
32
,
0
.4
);
color
:
rgba
(
35
,
35
,
32
,
0
.4
);
margin-left
:
4px
;
margin-left
:
4px
;
}
}
.timeinput
{
opacity
:
0
;
position
:
absolute
;
.el-input__inner
{
padding
:
0
;
margin
:
0
;
border
:
0
;
}
}
}
}
}
}
}
}
...
@@ -570,7 +580,7 @@
...
@@ -570,7 +580,7 @@
.el-input__prefix
{
.el-input__prefix
{
left
:
8px
;
left
:
8px
;
top
:
-2
px
;
top
:
3
px
;
}
}
.el-input__suffix
{
.el-input__suffix
{
height
:
32px
;
height
:
32px
;
...
@@ -988,7 +998,7 @@
...
@@ -988,7 +998,7 @@
background
:
rgba
(
0
,
129
,
255
,
0
.16
);
background
:
rgba
(
0
,
129
,
255
,
0
.16
);
font-size
:
12px
;
font-size
:
12px
;
line-height
:
22px
;
line-height
:
22px
;
top
:
14
9
px
;
top
:
14
8
px
;
right
:
61px
;
right
:
61px
;
cursor
:
pointer
;
cursor
:
pointer
;
.img
{
.img
{
...
@@ -1067,3 +1077,5 @@
...
@@ -1067,3 +1077,5 @@
white-space
:
nowrap
;
white-space
:
nowrap
;
padding-right
:
10px
;
padding-right
:
10px
;
}
}
.none
{
display
:
none
}
dsk-operate-ui/src/views/custom/customList/index.vue
View file @
10c340f3
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
<div
class=
"empty"
v-if=
"tableData.total==0 && isNew == true"
>
<div
class=
"empty"
v-if=
"tableData.total==0 && isNew == true"
>
<img
src=
"@/assets/images/project/empty.png"
>
<img
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
添加你的第一位客户吧
</div>
<div
class=
"p1"
>
添加你的第一位客户吧
</div>
<div
class=
"p2"
>
抱歉
,
你还未添加客户,快去添加吧
</div>
<div
class=
"p2"
>
抱歉
,
你还未添加客户,快去添加吧
</div>
<div
class=
"btn btn_primary h36 w88"
@
click=
"opennew"
>
添加客户
</div>
<div
class=
"btn btn_primary h36 w88"
@
click=
"opennew"
>
添加客户
</div>
<div
class=
"btn btn_primary btn_shallow h36 w88"
@
click=
"pldrs"
>
批量导入
</div>
<div
class=
"btn btn_primary btn_shallow h36 w88"
@
click=
"pldrs"
>
批量导入
</div>
</div>
</div>
...
@@ -227,56 +227,7 @@
...
@@ -227,56 +227,7 @@
</el-dialog>
</el-dialog>
</el-card>
</el-card>
</div>
</div>
<div
class=
"uploadwin"
v-if=
"pldr"
>
<batchimport
v-if=
"pldr"
:importtype=
"types"
@
cancels=
"importCancel"
@
getdatas=
"handleCurrentChange(1)"
></batchimport>
<div
class=
"upload"
v-if=
"addfile==false"
>
<div
class=
"up_title"
>
批量导入客户
</div>
<div
class=
"up_box"
>
<el-upload
:class=
"{'none':isUpload == true}"
class=
"upload-demo"
:action=
"action"
:multiple=
"false"
accept=
".xls,.xlsx"
drag
ref=
"upload"
:auto-upload=
"false"
:file-list=
"fileList"
:on-change=
"handleFileListChange"
:headers=
"headers"
:on-success=
"onSuccess"
>
<img
class=
"up_img"
src=
"@/assets/images/project/upload.png"
>
<div
class=
"up_text"
>
点击选择或将文件(xls,xlsx)拖拽至此上传成员名录
</div>
<div
class=
"up_tip"
>
导入的文件内容必须依照下载模板的要求填写
</div>
<div
class=
"up_tip"
>
上传文件最大为2M,仅支持Excel表格文件(xls,xlsx)
</div>
<div
class=
"up_tip"
>
导入已存在的客户将自动跳过
</div>
</el-upload>
<div
class=
"up_success"
v-if=
"isUpload == true"
>
<img
src=
"@/assets/images/project/success.png"
>
上传成功
</div>
<div
class=
"btn_download"
v-if=
"isUpload == false"
@
click=
"downloadClick"
><div
class=
"img"
></div>
点击下载
</div>
</div>
<div
class=
"btns"
>
<div
class=
"btn btn_primary btn_disabled h34"
v-if=
"isUpload==false"
>
确定导入
</div>
<div
class=
"btn btn_primary h34"
@
click=
"importConfirmClick"
v-else
>
确定导入
</div>
<div
class=
"btn btn_default h34"
>
取消
</div>
</div>
</div>
<div
class=
"success"
v-if=
"addfile==true"
>
<div
v-if=
"addsuccess==false"
>
<img
class=
"img"
src=
"@/assets/images/project/clock.png"
>
<div
class=
"p1"
>
查询客户中...
</div>
<div
class=
"p2"
>
请耐心等待,过程大概30秒
</div>
</div>
<div
v-if=
"addsuccess == true"
>
<div
class=
"p3"
>
<img
src=
"@/assets/images/project/success.png"
>
查询成功
</div>
<div
class=
"p2"
>
成功导入客户信息
</div>
<div
class=
"btns"
>
<div
class=
"btn btn_primary h32"
@
click=
"handleCurrentChange(1)"
>
查看
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -286,12 +237,15 @@
...
@@ -286,12 +237,15 @@
import
{
getCustomerList
,
importData
,
addCustomer
}
from
'@/api/custom/custom'
import
{
getCustomerList
,
importData
,
addCustomer
}
from
'@/api/custom/custom'
import
{
getEnterprise
,
getDictType
,}
from
'@/api/main'
import
{
getEnterprise
,
getDictType
,}
from
'@/api/main'
import
prvinceTree
from
'@/assets/json/provinceTree'
import
prvinceTree
from
'@/assets/json/provinceTree'
import
batchimport
from
'../../project/projectList/component/batchImport'
import
axios
from
'axios'
import
axios
from
'axios'
export
default
{
export
default
{
name
:
'CustomList'
,
name
:
'CustomList'
,
components
:{
batchimport
},
data
()
{
data
()
{
return
{
return
{
pldr
:
false
,
pldr
:
false
,
types
:
'custom'
,
searchParam
:{
searchParam
:{
companyName
:
''
,
companyName
:
''
,
pageNum
:
1
,
pageNum
:
1
,
...
@@ -304,9 +258,6 @@ export default {
...
@@ -304,9 +258,6 @@ export default {
tipslit
:[],
//项目标签
tipslit
:[],
//项目标签
tipsvalue
:
""
,
//标签填写内容
tipsvalue
:
""
,
//标签填写内容
tableData
:
[],
//列表
tableData
:
[],
//列表
isUpload
:
false
,
//有上传的文件
addfile
:
false
,
//已上传文件
addsuccess
:
false
,
//已成功加入数据
companData
:[],
//联想企业列表
companData
:[],
//联想企业列表
customerLevel
:[],
//客户等级
customerLevel
:[],
//客户等级
...
@@ -352,9 +303,9 @@ export default {
...
@@ -352,9 +303,9 @@ export default {
},
},
pldrs
(){
pldrs
(){
this
.
pldr
=
true
this
.
pldr
=
true
this
.
addfile
=
false
},
this
.
isUpload
=
false
importCancel
(){
this
.
addsuccess
=
false
this
.
pldr
=
false
},
},
//获取客户列表
//获取客户列表
getCustomerList
(){
getCustomerList
(){
...
@@ -372,6 +323,7 @@ export default {
...
@@ -372,6 +323,7 @@ export default {
},
},
//翻页
//翻页
handleCurrentChange
(
val
)
{
handleCurrentChange
(
val
)
{
this
.
pldr
=
false
this
.
isNew
=
false
this
.
isNew
=
false
this
.
searchParam
.
pageNum
=
val
this
.
searchParam
.
pageNum
=
val
this
.
getCustomerList
()
this
.
getCustomerList
()
...
@@ -472,35 +424,6 @@ export default {
...
@@ -472,35 +424,6 @@ export default {
this
.
dialogVisible
=
false
this
.
dialogVisible
=
false
this
.
showlist
=
false
this
.
showlist
=
false
},
},
// 批量导入
importConfirmClick
()
{
if
(
this
.
fileList
.
length
>
0
)
{
this
.
$refs
[
"upload"
].
submit
();
this
.
getCustomerList
();
this
.
addfile
=
true
}
else
{
this
.
$message
(
"请先选择文件"
);
}
},
downloadClick
()
{
let
a
=
document
.
createElement
(
"a"
);
a
.
setAttribute
(
"href"
,
"/file/Template.xlsx"
);
a
.
setAttribute
(
"download"
,
"批量导入模版.xlsx"
);
document
.
body
.
appendChild
(
a
);
a
.
click
();
},
handleFileListChange
(
file
,
fileList
)
{
if
(
fileList
.
length
>
0
)
{
this
.
fileList
=
[
fileList
[
fileList
.
length
-
1
]];
this
.
isUpload
=
true
}
},
onSuccess
(
res
,
file
,
fileList
)
{
if
(
res
.
code
==
200
)
this
.
addsuccess
=
true
else
this
.
$message
.
error
({
message
:
res
.
msg
,
showClose
:
true
})
},
//地区
//地区
async
prvinceTree
()
{
async
prvinceTree
()
{
...
@@ -617,5 +540,4 @@ export default {
...
@@ -617,5 +540,4 @@ export default {
padding-right
:
26px
;
padding-right
:
26px
;
}
}
}
}
.none
{
display
:
none
}
</
style
>
</
style
>
dsk-operate-ui/src/views/project/projectList/component/addProject.vue
View file @
10c340f3
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
>
>
<div
class=
"poptitle"
>
<div
class=
"poptitle"
>
<img
src=
"@/assets/images/economies/icon.png"
>
<img
src=
"@/assets/images/economies/icon.png"
>
<span>
添加
客户
</span>
<span>
添加
项目
</span>
</div>
</div>
<el-form
class=
"popform j"
:model=
"queryParam"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"130px"
>
<el-form
class=
"popform j"
:model=
"queryParam"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"130px"
>
<el-form-item
label=
"项目名称:"
class=
"row"
prop=
"projectName"
>
<el-form-item
label=
"项目名称:"
class=
"row"
prop=
"projectName"
>
...
...
dsk-operate-ui/src/views/project/projectList/component/batchImport.vue
0 → 100644
View file @
10c340f3
<
template
>
<div
class=
"uploadwin"
>
<div
class=
"upload"
v-if=
"addfile==false"
>
<div
class=
"up_title"
>
批量导入
{{
titletext
}}
</div>
<div
class=
"up_box"
>
<el-upload
:class=
"
{'none':isUpload == true}"
class="upload-demo"
:action="action"
:multiple="false"
accept=".xls,.xlsx"
drag
ref="upload"
:auto-upload="false"
:file-list="fileList"
:on-change="handleFileListChange"
:headers="headers"
:on-success="onSuccess">
<img
class=
"up_img"
src=
"@/assets/images/project/upload.png"
>
<div
class=
"up_text"
>
点击选择或将文件(xls,xlsx)拖拽至此上传成员名录
</div>
<div
class=
"up_tip"
>
导入的文件内容必须依照下载模板的要求填写
</div>
<div
class=
"up_tip"
>
上传文件最大为2M,仅支持Excel表格文件(xls,xlsx)
</div>
<div
class=
"up_tip"
>
导入已存在的客户将自动跳过
</div>
</el-upload>
<div
class=
"up_success"
v-if=
"isUpload == true"
>
<img
src=
"@/assets/images/project/success.png"
>
上传成功
</div>
<div
class=
"btn_download"
v-if=
"isUpload == false"
@
click=
"downloadClick"
><div
class=
"img"
></div>
点击下载
</div>
</div>
<div
class=
"btns"
>
<div
class=
"btn btn_primary btn_disabled h34"
v-if=
"isUpload==false"
>
确定导入
</div>
<div
class=
"btn btn_primary h34"
@
click=
"importConfirmClick"
v-else
>
确定导入
</div>
<div
class=
"btn btn_default h34"
@
click=
"importCancel"
>
取消
</div>
</div>
</div>
<div
class=
"success"
v-if=
"addfile==true"
>
<div
v-if=
"addsuccess==false"
>
<img
class=
"img"
src=
"@/assets/images/project/clock.png"
>
<div
class=
"p1"
>
查询客户中...
</div>
<div
class=
"p2"
>
请耐心等待,过程大概30秒
</div>
</div>
<div
v-if=
"addsuccess == true"
>
<div
class=
"p3"
>
<img
src=
"@/assets/images/project/success.png"
>
查询成功
</div>
<div
class=
"p2"
>
成功导入客户信息
</div>
<div
class=
"btns"
>
<div
class=
"btn btn_primary h32"
@
click=
"getmsg"
>
查看
</div>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
getToken
}
from
"@/utils/auth"
;
import
"@/assets/styles/project.scss"
import
{
importData
}
from
'@/api/custom/custom'
export
default
{
name
:
'batchImport'
,
props
:{
importtype
:
''
},
data
(){
return
{
isUpload
:
false
,
//有上传的文件
addfile
:
false
,
//已上传文件
addsuccess
:
false
,
//已成功加入数据
//批量导入
action
:
""
,
fileList
:
[],
headers
:
{
Authorization
:
"Bearer "
+
getToken
(),
},
downloadhref
:
''
,
//样例地址
titletext
:
''
,
}
},
created
(){
console
.
log
(
this
.
importtype
)
if
(
this
.
importtype
==
'project'
){
//项目管理
this
.
downloadhref
=
'/file/projectTemplate.xlsx'
this
.
titletext
=
'项目'
this
.
action
=
process
.
env
.
VUE_APP_BASE_API
+
'/business/info/upload'
}
if
(
this
.
importtype
==
'custom'
){
//客户管理
this
.
downloadhref
=
'/file/Template.xlsx'
this
.
titletext
=
'客户'
this
.
action
=
process
.
env
.
VUE_APP_BASE_API
+
"/customer/importData"
}
},
methods
:{
getmsg
(){
this
.
$emit
(
'getdatas'
)
},
handleFileListChange
(
file
,
fileList
)
{
if
(
fileList
.
length
>
0
)
{
this
.
fileList
=
[
fileList
[
fileList
.
length
-
1
]];
this
.
isUpload
=
true
}
},
onSuccess
(
res
,
file
,
fileList
)
{
if
(
res
.
code
==
200
)
this
.
addsuccess
=
true
else
this
.
$message
.
error
({
message
:
res
.
msg
,
showClose
:
true
})
},
downloadClick
()
{
let
a
=
document
.
createElement
(
"a"
);
a
.
setAttribute
(
"href"
,
this
.
downloadhref
);
a
.
setAttribute
(
"download"
,
"批量导入模版.xlsx"
);
document
.
body
.
appendChild
(
a
);
a
.
click
();
},
// 批量导入
importConfirmClick
()
{
if
(
this
.
fileList
.
length
>
0
)
{
this
.
$refs
[
"upload"
].
submit
();
this
.
addfile
=
true
}
else
{
this
.
$message
(
"请先选择文件"
);
}
},
importCancel
(){
this
.
addfile
=
false
this
.
isUpload
=
false
this
.
addsuccess
=
false
this
.
$emit
(
'cancels'
)
},
}
}
</
script
>
<
style
scoped
>
</
style
>
dsk-operate-ui/src/views/project/projectList/component/jsnr.vue
View file @
10c340f3
This diff is collapsed.
Click to expand it.
dsk-operate-ui/src/views/project/projectList/component/lxr.vue
View file @
10c340f3
...
@@ -13,12 +13,12 @@
...
@@ -13,12 +13,12 @@
<div
class=
"empty"
>
<div
class=
"empty"
>
<img
src=
"@/assets/images/project/empty.png"
>
<img
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
暂无数据展示
</div>
<div
class=
"p1"
>
暂无数据展示
</div>
<div
class=
"p2"
>
抱歉
,
你还未添加相关数据,快去添加吧
</div>
<div
class=
"p2"
>
抱歉
,
你还未添加相关数据,快去添加吧
</div>
<div
class=
"btn btn_primary h36 w102"
@
click=
"opennew"
>
新增联系人
</div>
<div
class=
"btn btn_primary h36 w102"
@
click=
"opennew"
>
新增联系人
</div>
</div>
</div>
</
template
>
</
template
>
<el-table-column
<el-table-column
prop=
"
dat
e"
prop=
"
nam
e"
label=
"姓名"
label=
"姓名"
width=
"113"
>
width=
"113"
>
</el-table-column>
</el-table-column>
...
@@ -27,34 +27,34 @@
...
@@ -27,34 +27,34 @@
label=
"操作"
label=
"操作"
width=
"118"
>
width=
"118"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div
class=
"edit"
>
<div
class=
"edit"
@
click=
"getDetail(scope.row)"
>
<img
src=
"@/assets/images/project/edit.png"
>
<img
src=
"@/assets/images/project/edit.png"
>
<span>
编辑
</span>
<span>
编辑
</span>
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"
nam
e"
prop=
"
rol
e"
label=
"角色"
label=
"角色"
sortable
sortable
width=
"146"
>
width=
"146"
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"
address
"
prop=
"
office
"
label=
"公司/机关"
>
label=
"公司/机关"
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"
name
"
prop=
"
position
"
label=
"职位"
label=
"职位"
width=
"125"
>
width=
"125"
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"
nam
e"
prop=
"
phon
e"
label=
"联系方式"
label=
"联系方式"
width=
"175"
>
width=
"175"
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"
name
"
prop=
"
accendant
"
label=
"内部维护人"
label=
"内部维护人"
width=
"146"
>
width=
"146"
>
</el-table-column>
</el-table-column>
...
@@ -63,11 +63,11 @@
...
@@ -63,11 +63,11 @@
<div
class=
"btn btn_primary h28"
@
click=
"opennew"
><div
class=
"img img1"
></div>
新增联系人
</div>
<div
class=
"btn btn_primary h28"
@
click=
"opennew"
><div
class=
"img img1"
></div>
新增联系人
</div>
<el-pagination
<el-pagination
background
background
:page-size=
"
20
"
:page-size=
"
searchParam.pageSize
"
:current-page=
"
1
"
:current-page=
"
searchParam.pageNum
"
@
current-change=
"handleCurrentChange"
@
current-change=
"handleCurrentChange"
layout=
"prev, pager, next"
layout=
"prev, pager, next"
:total=
"
1000
"
>
:total=
"
total
"
>
</el-pagination>
</el-pagination>
</div>
</div>
</div>
</div>
...
@@ -77,33 +77,30 @@
...
@@ -77,33 +77,30 @@
width=
"464px"
>
width=
"464px"
>
<div
class=
"poptitle"
>
<div
class=
"poptitle"
>
<img
src=
"@/assets/images/economies/icon.png"
>
<img
src=
"@/assets/images/economies/icon.png"
>
<span>
重庆市轨道交通3号线二期工程4标段施工总承包
</span>
<span>
{{projectname}}
</span>
</div>
</div>
<el-form
class=
"popform"
label-width=
"137px"
>
<el-form
class=
"popform"
label-width=
"137px"
>
<el-form-item
label=
"联系人姓名:"
class=
"row"
>
<el-form-item
label=
"联系人姓名:"
class=
"row"
>
<el-input
type=
"text"
placeholder=
"请输入"
></el-input>
<el-input
type=
"text"
v-model=
"queryParam.name"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"联系人角色:"
class=
"row"
>
<el-form-item
label=
"联系人角色:"
class=
"row"
>
<el-select
placeholder=
"请选择"
>
<el-input
type=
"text"
v-model=
"queryParam.role"
placeholder=
"请输入"
></el-input>
<el-option
label=
"cccc"
value=
"11"
></el-option>
<el-option
label=
"cccc"
value=
"121"
></el-option>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"联系人职位:"
class=
"row"
>
<el-form-item
label=
"联系人职位:"
class=
"row"
>
<el-input
type=
"text"
placeholder=
"请输入"
></el-input>
<el-input
type=
"text"
v-model=
"queryParam.position"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"联系人公司/机关:"
class=
"row"
>
<el-form-item
label=
"联系人公司/机关:"
class=
"row"
>
<el-input
type=
"text"
placeholder=
"请输入"
></el-input>
<el-input
type=
"text"
v-model=
"queryParam.office"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"内部维护人:"
class=
"row"
>
<el-form-item
label=
"内部维护人:"
class=
"row"
>
<el-input
type=
"text"
placeholder=
"请输入"
></el-input>
<el-input
type=
"text"
v-model=
"queryParam.accendant"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"联系方式:"
class=
"row"
>
<el-form-item
label=
"联系方式:"
class=
"row"
>
<el-input
type=
"text"
placeholder=
"请输入"
></el-input>
<el-input
type=
"text"
v-model=
"queryParam.phone"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<div
class=
"popbot"
>
<div
class=
"popbot"
>
<div
class=
"btn btn_cancel h32"
@
click=
"cancel"
>
返回
</div>
<div
class=
"btn btn_cancel h32"
@
click=
"cancel"
>
返回
</div>
<div
class=
"btn btn_primary h32"
>
保存
</div>
<div
class=
"btn btn_primary h32"
@
click=
"save"
>
保存
</div>
</div>
</div>
</el-form>
</el-form>
</el-dialog>
</el-dialog>
...
@@ -113,40 +110,68 @@
...
@@ -113,40 +110,68 @@
<
script
>
<
script
>
import
"@/assets/styles/project.scss"
import
"@/assets/styles/project.scss"
import
{
getLXR
,
editLXR
,
addLXR
}
from
'@/api/project/project'
export
default
{
export
default
{
name
:
'lxr'
,
name
:
'lxr'
,
data
(){
data
(){
return
{
return
{
dialogVisible
:
false
,
dialogVisible
:
false
,
isnew
:
true
,
//是否新增
textarea
:
""
,
textarea
:
""
,
nowedit
:
-
1
,
//当前正在编辑的文本
nowedit
:
-
1
,
//当前正在编辑的文本
tipslit
:[],
//项目标签
tipslit
:[],
//项目标签
tipsvalue
:
""
,
//标签填写内容
tipsvalue
:
""
,
//标签填写内容
tableData
:
[
tableData
:
[],
{
searchParam
:{
date
:
'2016-05-02'
,
pageNum
:
1
,
name
:
'王小虎'
,
pageSize
:
20
,
address
:
'上海市普陀区金沙江路 1518 弄'
businessId
:
this
.
$route
.
query
.
id
},
{
},
date
:
'2016-05-04'
,
id
:
this
.
$route
.
query
.
id
,
name
:
'王小虎'
,
total
:
0
,
address
:
'上海市普陀区金沙江路 1517 弄'
projectname
:
this
.
$route
.
query
.
projectname
,
},
{
queryParam
:[],
date
:
'2016-05-01'
,
name
:
'王小虎'
,
address
:
'上海市普陀区金沙江路 1519 弄'
},
{
date
:
'2016-05-03'
,
name
:
'王小虎'
,
address
:
'上海市普陀区金沙江路 1516 弄'
}
]
}
}
},
},
created
(){
this
.
getList
()
},
methods
:{
methods
:{
getDetail
(
item
){
this
.
dialogVisible
=
true
this
.
queryParam
=
item
this
.
isnew
=
false
},
getList
(){
getLXR
(
this
.
searchParam
).
then
(
result
=>
{
this
.
tableData
=
result
.
code
==
200
?
result
.
rows
:[]
this
.
total
=
result
.
code
==
200
?
result
.
total
:
0
})
},
save
(){
if
(
this
.
isnew
==
false
){
editLXR
(
this
.
queryParam
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
'保存成功!'
)
this
.
getList
()
this
.
dialogVisible
=
false
}
})
}
if
(
this
.
isnew
==
true
){
addLXR
(
this
.
queryParam
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
'新增成功!'
)
this
.
getList
()
this
.
dialogVisible
=
false
}
})
}
},
//翻页
//翻页
handleCurrentChange
(
val
)
{
handleCurrentChange
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
searchParam
.
pageNum
=
val
this
.
getList
()
},
},
cancel
(){
cancel
(){
this
.
dialogVisible
=
false
this
.
dialogVisible
=
false
...
@@ -154,6 +179,16 @@
...
@@ -154,6 +179,16 @@
//打开新建窗口
//打开新建窗口
opennew
(){
opennew
(){
this
.
dialogVisible
=
true
this
.
dialogVisible
=
true
this
.
isnew
=
true
this
.
queryParam
=
{
businessId
:
this
.
id
,
name
:
""
,
role
:
""
,
office
:
""
,
position
:
""
,
phone
:
""
,
accendant
:
""
,
}
},
},
}
}
}
}
...
...
dsk-operate-ui/src/views/project/projectList/component/xgqy.vue
View file @
10c340f3
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
<div
class=
"empty"
>
<div
class=
"empty"
>
<img
src=
"@/assets/images/project/empty.png"
>
<img
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
暂无数据展示
</div>
<div
class=
"p1"
>
暂无数据展示
</div>
<div
class=
"p2"
>
抱歉
,
你还未添加相关数据,快去添加吧
</div>
<div
class=
"p2"
>
抱歉
,
你还未添加相关数据,快去添加吧
</div>
<div
class=
"btn btn_primary h36 w102"
@
click=
"opennew"
>
新增联系人
</div>
<div
class=
"btn btn_primary h36 w102"
@
click=
"opennew"
>
新增联系人
</div>
</div>
</div>
</
template
>
</
template
>
...
...
dsk-operate-ui/src/views/project/projectList/component/xmsl.vue
View file @
10c340f3
...
@@ -169,8 +169,12 @@
...
@@ -169,8 +169,12 @@
<
script
>
<
script
>
import
"@/assets/styles/project.scss"
import
"@/assets/styles/project.scss"
import
{
getDictType
,}
from
'@/api/main'
import
{
getDictType
,}
from
'@/api/main'
import
{}
from
'@/api/project/project'
export
default
{
export
default
{
name
:
'xmsl'
,
name
:
'xmsl'
,
props
:{
datas
:
''
,
},
data
(){
data
(){
return
{
return
{
nowedit
:
-
1
,
//当前正在编辑的文本
nowedit
:
-
1
,
//当前正在编辑的文本
...
@@ -178,10 +182,10 @@
...
@@ -178,10 +182,10 @@
tipsvalue
:
""
,
//标签填写内容
tipsvalue
:
""
,
//标签填写内容
xmjd
:
'待添加'
,
xmjd
:
'待添加'
,
projectStage
:[],
//项目阶段
projectStage
:[],
//项目阶段
sldata
:
this
.
datas
,
}
}
},
},
created
(){
created
(){
//项目阶段
//项目阶段
getDictType
(
'project_stage_type'
).
then
(
result
=>
{
getDictType
(
'project_stage_type'
).
then
(
result
=>
{
this
.
projectStage
=
result
.
code
==
200
?
result
.
data
:[]
this
.
projectStage
=
result
.
code
==
200
?
result
.
data
:[]
...
...
dsk-operate-ui/src/views/project/projectList/component/zlwd.vue
View file @
10c340f3
...
@@ -49,7 +49,7 @@
...
@@ -49,7 +49,7 @@
<div
class=
"empty"
>
<div
class=
"empty"
>
<img
src=
"@/assets/images/project/empty.png"
>
<img
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
暂无数据展示
</div>
<div
class=
"p1"
>
暂无数据展示
</div>
<div
class=
"p2"
>
抱歉
,
你还未添加相关数据,快去添加吧
</div>
<div
class=
"p2"
>
抱歉
,
你还未添加相关数据,快去添加吧
</div>
<div
class=
"btn btn_primary h36 w102"
@
click=
"opennew"
>
新增联系人
</div>
<div
class=
"btn btn_primary h36 w102"
@
click=
"opennew"
>
新增联系人
</div>
</div>
</div>
</
template
>
</
template
>
...
...
dsk-operate-ui/src/views/project/projectList/detail.vue
View file @
10c340f3
...
@@ -103,7 +103,7 @@
...
@@ -103,7 +103,7 @@
</div>
</div>
</el-card>
</el-card>
<!--项目概览-->
<!--项目概览-->
<xmsl
v-if=
"thistag == 'xmsl'"
></xmsl>
<xmsl
v-if=
"thistag == 'xmsl'"
:datas=
"ProjectData"
></xmsl>
<!--建设内容-->
<!--建设内容-->
<jsnr
v-if=
"thistag == 'jsnr'"
></jsnr>
<jsnr
v-if=
"thistag == 'jsnr'"
></jsnr>
<!--联系人-->
<!--联系人-->
...
@@ -132,6 +132,7 @@
...
@@ -132,6 +132,7 @@
import
zlwd
from
'./component/zlwd.vue'
import
zlwd
from
'./component/zlwd.vue'
import
xgqy
from
'./component/xgqy.vue'
import
xgqy
from
'./component/xgqy.vue'
import
prvinceTree
from
'@/assets/json/provinceTree'
import
prvinceTree
from
'@/assets/json/provinceTree'
import
{
getXMSL
}
from
'@/api/project/project'
export
default
{
export
default
{
name
:
'detail'
,
name
:
'detail'
,
components
:
{
xmsl
,
jsnr
,
lxr
,
gjjl
,
gzdb
,
zlwd
,
xgqy
},
components
:
{
xmsl
,
jsnr
,
lxr
,
gjjl
,
gzdb
,
zlwd
,
xgqy
},
...
@@ -161,10 +162,13 @@
...
@@ -161,10 +162,13 @@
addressList
:[],
addressList
:[],
domicile
:[],
domicile
:[],
props
:{
checkStrictly
:
true
,
expandTrigger
:
'hover'
},
props
:{
checkStrictly
:
true
,
expandTrigger
:
'hover'
},
id
:
''
,
ProjectData
:
null
,
}
}
},
},
created
(){
created
(){
this
.
prvinceTree
()
this
.
prvinceTree
()
this
.
id
=
this
.
$route
.
query
.
id
//项目阶段
//项目阶段
getDictType
(
'project_stage_type'
).
then
(
result
=>
{
getDictType
(
'project_stage_type'
).
then
(
result
=>
{
this
.
projectStage
=
result
.
code
==
200
?
result
.
data
:[]
this
.
projectStage
=
result
.
code
==
200
?
result
.
data
:[]
...
@@ -177,6 +181,12 @@
...
@@ -177,6 +181,12 @@
getDictType
(
'project_category'
).
then
(
result
=>
{
getDictType
(
'project_category'
).
then
(
result
=>
{
this
.
projectCategory
=
result
.
code
==
200
?
result
.
data
:[]
this
.
projectCategory
=
result
.
code
==
200
?
result
.
data
:[]
})
})
//获取基本信息
getXMSL
(
this
.
id
).
then
(
result
=>
{
this
.
ProjectData
=
result
.
code
==
200
?
result
.
data
:[]
this
.
$route
.
query
.
projectname
=
result
.
data
.
projectName
})
},
},
methods
:
{
methods
:
{
//地区
//地区
...
...
dsk-operate-ui/src/views/project/projectList/index.vue
View file @
10c340f3
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