Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
rs-cloud-platform-ui
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
2
Merge Requests
2
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
周健威
rs-cloud-platform-ui
Commits
13158806
Commit
13158806
authored
Dec 18, 2020
by
obt
Browse files
Options
Browse Files
Download
Plain Diff
添加交易保障页面
parents
230c9313
be09d5fe
Changes
10
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
10760 additions
and
28 deletions
+10760
-28
index.html
index.html
+1
-1
index.js
src/api/userManagement/index.js
+45
-0
aboutUs.js
src/api/website/aboutUs.js
+24
-0
index.vue
src/components/Kindeditor/index.vue
+7
-5
index.js
src/router/index.js
+16
-2
addressListDialog.vue
src/views/userManagement/addressListDialog.vue
+117
-0
index.vue
src/views/userManagement/index.vue
+269
-0
invoiceListDialog.vue
src/views/userManagement/invoiceListDialog.vue
+119
-0
index.vue
src/views/webSiteManagement/aboutUs/index.vue
+111
-20
kindeditor-all.js
static/kindeditor-all.js
+10051
-0
No files found.
index.html
View file @
13158806
...
...
@@ -6,7 +6,7 @@
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge,chrome=1"
>
<meta
name=
"renderer"
content=
"webkit"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
>
<title>
管理平
台
</title>
<title>
人民星云管理后
台
</title>
</head>
<body>
...
...
src/api/userManagement/index.js
0 → 100644
View file @
13158806
import
fetch
from
'utils/fetch'
;
/**
* 用户列表
*/
export
function
appUsersManageList
(
query
)
{
return
fetch
({
url
:
'/api/admin/appUsersManage/findAll'
,
method
:
'post'
,
data
:
query
});
}
/**
* 用户禁用、启用
*/
export
function
updateStatus
(
query
)
{
return
fetch
({
url
:
'/api/admin/appUsersManage/updateStatus'
,
method
:
'post'
,
data
:
query
});
}
/**
* 发票列表
*/
export
function
userInvoiceList
(
query
)
{
return
fetch
({
url
:
'/api/website/userInvoice/getList'
,
method
:
'get'
,
data
:
query
});
}
/**
* 用户地址列表
*/
export
function
userAddressList
(
query
)
{
return
fetch
({
url
:
'/api/website/userAddress/getList'
,
method
:
'get'
,
data
:
query
});
}
src/api/website/aboutUs.js
0 → 100644
View file @
13158806
import
fetch
from
'utils/fetch'
;
/**
* 编辑、新增关于我们
* @param query
*/
export
function
addUpdate
(
query
)
{
return
fetch
({
url
:
'/api/website/companyInfo/addUpdate'
,
method
:
'post'
,
data
:
query
});
}
/**
* 关于我们-公司信息
*/
export
function
companyInfo
()
{
return
fetch
({
url
:
'/api/website/companyInfo/detail'
,
method
:
'get'
});
}
src/components/Kindeditor/index.vue
View file @
13158806
...
...
@@ -12,14 +12,16 @@
</div>
</
template
>
<
script
>
import
'kindeditor/kindeditor-all.js'
<
script
type=
"javascript"
>
// import 'kindeditor/kindeditor-all.js'
import
'static/kindeditor-all.js'
// 重写图片上传方法
import
'kindeditor/lang/zh-CN.js'
import
'kindeditor/themes/default/default.css'
export
default
{
name
:
'kindeditor'
,
data
()
{
data
()
{
return
{
editor
:
null
,
outContent
:
this
.
content
...
...
@@ -59,7 +61,7 @@ export default {
'justifyfull'
,
'insertorderedlist'
,
'insertunorderedlist'
,
'indent'
,
'outdent'
,
'subscript'
,
'superscript'
,
'clearhtml'
,
'quickformat'
,
'selectall'
,
'|'
,
'fullscreen'
,
'/'
,
'formatblock'
,
'fontname'
,
'fontsize'
,
'|'
,
'forecolor'
,
'hilitecolor'
,
'bold'
,
'italic'
,
'underline'
,
'strikethrough'
,
'lineheight'
,
'removeformat'
,
'|'
,
'image'
,
'multiimage'
,
'italic'
,
'underline'
,
'strikethrough'
,
'lineheight'
,
'removeformat'
,
'|'
,
'image'
,
'flash'
,
'media'
,
'insertfile'
,
'table'
,
'hr'
,
'emoticons'
,
'baidumap'
,
'pagebreak'
,
'anchor'
,
'link'
,
'unlink'
,
'|'
,
'about'
]
...
...
@@ -370,4 +372,4 @@ export default {
})
}
}
</
script
>
\ No newline at end of file
</
script
>
src/router/index.js
View file @
13158806
...
...
@@ -128,6 +128,19 @@ export const asyncRouterMap = [{
authority
:
'transactionProtection'
}],
},
{
path
:
'/userManagement'
,
component
:
Layout
,
name
:
'用户管理'
,
icon
:
'setting'
,
authority
:
'userManagement'
,
children
:
[{
path
:
'userList'
,
component
:
_import
(
'userManagement/index'
),
name
:
'用户列表'
,
authority
:
'applicationList'
}]
},
{
path
:
'/webSiteManagement'
,
component
:
Layout
,
...
...
@@ -165,5 +178,6 @@ export const asyncRouterMap = [{
component
:
_import
(
'webSiteManagement/aboutUs/index'
),
name
:
'关于我们'
,
authority
:
'aboutUs'
,
}]
}];
\ No newline at end of file
}],
}];
src/views/userManagement/addressListDialog.vue
0 → 100644
View file @
13158806
<
template
>
<div
class=
"address-main"
>
<el-dialog
:visible
.
sync=
"isVisible"
title=
"查看地址"
@
close=
"closeDialog"
>
<el-scrollbar
id=
"resultScroll"
ref=
"myScrollbar"
style=
"height: 400px;overflow-y:auto;overflow-x: hidden;"
>
<div
class=
"addr-item"
v-for=
"item in list"
:key=
"item.id"
>
<div
class=
"flex-aic-jcb addr-user-info"
>
<div
class=
"flex-aic"
>
<span
style=
"width: 200px;margin-right: 20px;"
class=
"ellipsis"
>
收货人:
{{
item
.
consigneeName
}}
</span>
<span
style=
"width: 200px;"
>
手机:
{{
item
.
consigneePhone
}}
</span>
</div>
<div
v-if=
"item.label"
style=
"color: #0A84FF;font-size: 12px;background: #D9EAFA;border-radius: 2px;padding: 2px 5px;"
>
{{
item
.
label
}}
</div>
</div>
<div
class=
"flex-aic-jcb"
>
<span
style=
"margin-top: 10px;"
class=
"ellipsis-2"
>
地址:
{{
item
.
province
}}{{
item
.
city
}}{{
item
.
town
}}{{
item
.
consigneeAddress
}}
</span>
</div>
</div>
<div
style=
"color: #666;font-size: 12px;text-align: center;"
v-if=
"finished"
>
没有更多数据了
</div>
</el-scrollbar>
</el-dialog>
</div>
</
template
>
<
script
type=
"javascript"
>
import
{
userAddressList
}
from
'api/userManagement/index'
export
default
{
name
:
'userManagement'
,
components
:
{},
data
()
{
return
{
list
:
[],
finished
:
false
,
// 是否已加载全部
isVisible
:
false
,
listQuery
:
{
page
:
1
,
limit
:
20
,
},
}
},
mounted
()
{
this
.
isVisible
=
true
this
.
getAddressList
()
// 监听滚动事件
this
.
$nextTick
(()
=>
{
$
(
'#resultScroll'
)[
0
].
addEventListener
(
'scroll'
,
this
.
handleScroll
,
true
)
})
},
methods
:{
/**
* 关闭弹窗
*/
closeDialog
(){
this
.
$emit
(
'addressEvent'
,
false
)
},
/**
* 滚动监听
*/
handleScroll
(){
var
that
=
this
var
sh
=
that
.
$refs
[
'myScrollbar'
].
$refs
[
'wrap'
].
scrollHeight
// 滚动条高度
var
st
=
that
.
$refs
[
'myScrollbar'
].
$refs
[
'wrap'
].
scrollTop
// 滚动条距离顶部的距离
var
ch
=
that
.
$refs
[
'myScrollbar'
].
$refs
[
'wrap'
].
clientHeight
// 滚动条外容器的高度
if
(
st
+
ch
>=
sh
)
{
//到底了-业务逻辑
console
.
log
(
st
)
this
.
listQuery
.
page
=
this
.
listQuery
.
page
+
1
if
(
!
this
.
finished
){
that
.
getAddressList
()
}
}
},
/**
* 获取发票列表
*/
getAddressList
(){
let
_this
=
this
userAddressList
(
this
.
listQuery
).
then
(
response
=>
{
if
(
response
.
status
==
200
){
let
a
=
response
.
data
.
data
if
(
0
==
a
.
length
||
_this
.
listQuery
.
page
>
response
.
data
.
totalPage
)
{
_this
.
finished
=
true
;
return
;
}
var
e
=
_this
.
listQuery
.
page
==
1
?
[]
:
_this
.
list
;
a
.
map
(
function
(
item
)
{
e
.
push
(
item
);
})
_this
.
list
=
e
;
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
response
.
message
,
type
:
'error'
,
duration
:
2000
})
}
})
},
}
}
</
script
>
<
style
lang=
"scss"
>
.address-main
{
.el-scrollbar__wrap
{
overflow-y
:
auto
;
overflow-x
:
hidden
;
}
.addr-item
{
background
:
#f5f6fa
;
border
:
1px
solid
#f5f6fa
;
padding
:
16px
;
margin-right
:
25px
;
color
:
#413434
;
font-size
:
13px
;
margin-bottom
:
24px
;
}
}
</
style
>
src/views/userManagement/index.vue
0 → 100644
View file @
13158806
<
template
>
<div
class=
"user-list"
>
<!-- 头部 -->
<div
class=
"head"
>
<div>
用户列表
</div>
<!--
<el-button
type=
"primary"
@
click=
"addItem"
>
添加banner
</el-button>
-->
</div>
<!-- 主体 -->
<div
class=
"app-container calendar-list-container"
>
<!-- 条件搜索 -->
<div
class=
"filter-container"
>
<el-form
:inline=
"true"
:model=
"listQuery"
class=
"demo-form-inline"
>
<el-form-item
label=
"昵称"
>
<el-input
v-model=
"listQuery.realName"
placeholder=
"请输入昵称"
></el-input>
</el-form-item>
<el-form-item
label=
"手机号"
>
<el-input
v-model=
"listQuery.mobile"
placeholder=
"请输入手机号"
></el-input>
</el-form-item>
<el-form-item
label=
"用户ID"
>
<el-input
v-model=
"listQuery.userId"
placeholder=
"请输入用户ID"
></el-input>
</el-form-item>
<el-form-item
label=
"创建时间"
>
<el-date-picker
v-model=
"times"
type=
"datetimerange"
value-format=
"timestamp"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"状态"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.status"
placeholder=
"请选择"
>
<el-option
:key=
"undefined"
label=
"全部"
:value=
"undefined"
></el-option>
<el-option
:key=
"0"
label=
"启用"
:value=
"0"
></el-option>
<el-option
:key=
"1"
label=
"禁用"
:value=
"1"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
plain
@
click=
"handleSearch"
>
搜索
</el-button>
<el-button
type=
"primary"
plain
@
click=
"handleCleanSearch"
>
清除搜索
</el-button>
</el-form-item>
</el-form>
</div>
<!-- 数据列表 -->
<el-table
:data=
"list"
v-loading
.
body=
"listLoading"
border
fit
highlight-current-row
style=
"width: 100%"
>
<el-table-column
align=
"center"
label=
"用户ID"
width=
"120"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
userId
}}
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"昵称"
prop=
"nickname"
></el-table-column>
<el-table-column
align=
"center"
label=
"手机号"
prop=
"username"
></el-table-column>
<el-table-column
align=
"center"
label=
"头像"
>
<
template
slot-scope=
"scope"
>
<el-image
style=
"width: 40px;height: 40px;border-radius: 50%;"
:src=
"scope.row.headimgurl"
:preview-src-list=
"[scope.row.headimgurl]"
></el-image>
<!--
<img
style=
"width: 40px;height: 40px;border-radius: 50%;"
:src=
"scope.row.headimgurl"
@
click
.
stop=
"showPreview(scope.row.headimgurl)"
/>
-->
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"创建时间"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
crtTimeStr
}}
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"状态"
>
<
template
slot-scope=
"scope"
>
<!-- 根据状态获取对应中文 -->
{{
getStatus
(
scope
.
row
.
status
)
}}
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"操作"
width=
"300"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"mini"
@
click=
"handleInvoice(scope.row)"
>
查看发票
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"handleAddress(scope.row)"
>
查看地址
</el-button>
<el-button
:type=
"scope.row.status === 1 ? 'info': 'warning'"
size=
"mini"
@
click=
"changeStatus(scope.row)"
>
{{
scope
.
row
.
status
===
0
?
'禁用'
:
'启用'
}}
</el-button>
</
template
>
</el-table-column>
</el-table>
<div
v-show=
"!listLoading"
class=
"pagination-container"
>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"listQuery.page"
:page-sizes=
"[10,20,30, 50]"
:page-size=
"listQuery.limit"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
></el-pagination>
</div>
</div>
<!-- 发票弹窗 -->
<invoice-list-dialog
v-if=
"invoiceDialogVisible"
v-on:invoiceEvent=
"invoiceEvent"
></invoice-list-dialog>
<!-- 地址弹窗 -->
<address-list-dialog
v-if=
"addressDialogVisible"
v-on:addressEvent=
"addressEvent"
></address-list-dialog>
</div>
</template>
<
script
type=
"javascript"
>
import
{
appUsersManageList
,
updateStatus
}
from
'api/userManagement/index'
import
{
timestamp2Date
}
from
'@/utils/dateUtils'
;
import
invoiceListDialog
from
"./invoiceListDialog"
;
import
addressListDialog
from
"./addressListDialog"
;
export
default
{
name
:
'userManagement'
,
components
:
{
invoiceListDialog
,
addressListDialog
},
computed
:{
getStatus
(
status
)
{
return
(
status
)
=>
{
let
a
=
""
switch
(
status
)
{
case
0
:
a
=
'启用'
;
break
;
case
1
:
a
=
'禁用'
;
break
;
default
:
a
=
'未知'
;
break
}
return
a
}
},
},
data
()
{
return
{
times
:
[],
listLoading
:
false
,
list
:
[],
// 用户列表
total
:
0
,
// 总条数
listQuery
:
{
page
:
1
,
limit
:
20
,
mobile
:
undefined
,
// 手机号
realName
:
undefined
,
// 真实姓名
userId
:
undefined
,
// 用户id
status
:
undefined
,
// 0:启用 1:禁用
registrationTimeBegin
:
undefined
,
// 开始时间
registrationTimeEnd
:
undefined
// 结束时间
},
invoiceDialogVisible
:
false
,
// 查看发票弹窗
addressDialogVisible
:
false
// 查看地址弹窗
}
},
created
()
{
this
.
getList
()
},
methods
:{
/**
* 搜索
*/
handleSearch
(){
this
.
listQuery
.
page
=
1
this
.
getList
()
// 获取用户列表
},
/**
* 查看发票-返回界面
*/
invoiceEvent
(){
this
.
invoiceDialogVisible
=
false
},
/**
* 查看地址-返回界面
*/
addressEvent
(){
this
.
addressDialogVisible
=
false
},
/**
* 启用、禁用
*/
changeStatus
(
row
){
this
.
$confirm
(
"是否继续?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(()
=>
{
// 0、启用,1、禁用
updateStatus
({
id
:
row
.
userId
,
status
:
row
.
status
==
1
?
0
:
1
}).
then
((
response
)
=>
{
if
(
response
.
status
==
200
){
this
.
$notify
({
title
:
"成功"
,
message
:
"操作成功"
,
type
:
"success"
,
duration
:
2000
});
this
.
getList
()
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
response
.
message
,
type
:
'error'
,
duration
:
2000
})
}
});
}).
catch
(()
=>
{})
},
/**
* 查看发票
*/
handleInvoice
(){
this
.
invoiceDialogVisible
=
true
},
/**
* 查看地址
*/
handleAddress
(){
this
.
addressDialogVisible
=
true
},
/**
* 清除搜索
*/
handleCleanSearch
(){
this
.
listQuery
=
{
page
:
1
,
limit
:
20
,
mobile
:
undefined
,
// 手机号
realName
:
undefined
,
// 真实姓名
userId
:
undefined
,
// 用户id
status
:
undefined
,
// 0:启用 1:禁用
registrationTimeBegin
:
undefined
,
// 开始时间
registrationTimeEnd
:
undefined
// 结束时间
}
this
.
times
=
[]
this
.
getList
()
// 获取用户列表
},
/**
* 获取用户列表
*/
getList
(){
if
(
this
.
times
.
length
>
0
){
this
.
listQuery
.
registrationTimeBegin
=
this
.
times
[
0
]
this
.
listQuery
.
registrationTimeEnd
=
this
.
times
[
1
]
}
this
.
listLoading
=
true
appUsersManageList
(
this
.
listQuery
).
then
(
response
=>
{
if
(
response
.
status
==
200
){
response
.
data
.
list
.
map
(
function
(
item
){
item
.
crtTimeStr
=
timestamp2Date
(
item
.
createTime
);
})
this
.
list
=
response
.
data
.
list
;
this
.
total
=
response
.
data
.
total
;
this
.
listLoading
=
false
;
}
else
{
this
.
listLoading
=
false
this
.
$notify
({
title
:
'失败'
,
message
:
response
.
message
,
type
:
'error'
,
duration
:
2000
})
}
})
},
handleSizeChange
(
val
)
{
this
.
listQuery
.
limit
=
val
;
this
.
getList
();
},
handleCurrentChange
(
val
)
{
this
.
listQuery
.
page
=
val
;
this
.
getList
();
}
}
}
</
script
>
<
style
lang=
"scss"
>
.user-list
{
.head
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
padding
:
8px
20px
;
width
:
100%
;
border-bottom
:
1px
solid
#e6e6e6
;
height
:
57px
;
}
}
</
style
>
src/views/userManagement/invoiceListDialog.vue
0 → 100644
View file @
13158806
<
template
>
<div
class=
"invoice-main"
>
<el-dialog
:visible
.
sync=
"isVisible"
title=
"查看发票"
@
close=
"closeDialog"
>
<el-scrollbar
id=
"resultScroll"
ref=
"myScrollbar"
style=
"height: 400px;overflow-y:auto;overflow-x: hidden;"
>
<div
class=
"invoice-item"
v-for=
"item in list"
:key=
"item.id"
>
<div
class=
"flex-aic-jcb"
>
<div
class=
"invoice-item-text"
>
{{
item
.
titleType
==
1
?
'公司名称'
:
"个人名称"
}}
:
{{
item
.
titleName
}}
</div>
<div
style=
"color: #0A84FF;font-size: 12px;background: #D9EAFA;border-radius: 2px;padding: 2px 5px;"
>
{{
item
.
type
==
1
?
'普通发票'
:
'增值税专用发票'
}}
-
{{
item
.
titleType
==
1
?
'企业'
:
'个人'
}}
</div>
</div>
<div
class=
"invoice-item-text"
v-if=
"item.titleType==1 && item.type == 2"
>
地址:
{{
item
.
province
}}{{
item
.
city
}}{{
item
.
town
}}{{
item
.
address
}}
</div>
<div
class=
"invoice-item-text"
v-if=
"item.titleType==1 && item.type == 2"
>
电话:
{{
item
.
phone
}}
</div>
<div
class=
"invoice-item-text"
v-if=
"item.titleType==1 && item.type == 2"
>
开户行:
{{
item
.
openBank
}}
</div>
<div
class=
"invoice-item-text"
v-if=
"item.titleType==1 && item.type == 2"
>
账号:
{{
item
.
account
}}
</div>
<div
class=
"invoice-item-text"
v-if=
"item.titleType==1"
>
税号:
{{
item
.
taxCode
}}
</div>
</div>
<div
style=
"color: #666;font-size: 12px;text-align: center;"
v-if=
"finished"
>
没有更多数据了
</div>
</el-scrollbar>
</el-dialog>
</div>
</
template
>
<
script
type=
"javascript"
>
import
{
userInvoiceList
}
from
'api/userManagement/index'
export
default
{
name
:
'userManagement'
,
components
:
{},
data
()
{
return
{
list
:
[],
finished
:
false
,
// 是否已加载全部
isVisible
:
false
,
listQuery
:
{
page
:
1
,
limit
:
20
,
},
}
},
mounted
()
{
this
.
isVisible
=
true
this
.
getInvoiceList
()
// 监听滚动事件
this
.
$nextTick
(()
=>
{
$
(
'#resultScroll'
)[
0
].
addEventListener
(
'scroll'
,
this
.
handleScroll
,
true
)
})
},
methods
:{
/**
* 关闭弹窗
*/
closeDialog
(){
this
.
$emit
(
'invoiceEvent'
,
false
)
},
/**
* 滚动监听
*/
handleScroll
(){
var
that
=
this
var
sh
=
that
.
$refs
[
'myScrollbar'
].
$refs
[
'wrap'
].
scrollHeight
// 滚动条高度
var
st
=
that
.
$refs
[
'myScrollbar'
].
$refs
[
'wrap'
].
scrollTop
// 滚动条距离顶部的距离
var
ch
=
that
.
$refs
[
'myScrollbar'
].
$refs
[
'wrap'
].
clientHeight
// 滚动条外容器的高度
if
(
st
+
ch
>=
sh
)
{
//到底了-业务逻辑
console
.
log
(
st
)
this
.
listQuery
.
page
=
this
.
listQuery
.
page
+
1
if
(
!
this
.
finished
){
that
.
getInvoiceList
()
}
}
},
/**
* 获取发票列表
*/
getInvoiceList
(){
let
_this
=
this
userInvoiceList
(
this
.
listQuery
).
then
(
response
=>
{
if
(
response
.
status
==
200
){
let
a
=
response
.
data
.
data
if
(
0
==
a
.
length
||
_this
.
listQuery
.
page
>
response
.
data
.
totalPage
)
{
_this
.
finished
=
true
;
return
;
}
var
e
=
_this
.
listQuery
.
page
==
1
?
[]
:
_this
.
list
;
a
.
map
(
function
(
item
)
{
e
.
push
(
item
);
})
_this
.
list
=
e
;
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
response
.
message
,
type
:
'error'
,
duration
:
2000
})
}
})
},
}
}
</
script
>
<
style
lang=
"scss"
>
.invoice-main
{
.el-scrollbar__wrap
{
overflow-y
:
auto
;
overflow-x
:
hidden
;
}
.invoice-item
{
background
:
#f5f6fa
;
border
:
1px
solid
#f5f6fa
;
padding
:
16px
;
margin-right
:
25px
;
margin-bottom
:
24px
;
color
:
#413434
;
font-size
:
13px
;
.invoice-item-text
{
line-height
:
26px
;
}
}
}
</
style
>
src/views/webSiteManagement/aboutUs/index.vue
View file @
13158806
<!--
* @Author: your name
* @Date: 2020-12-01 09:07:41
* @LastEditTime: 2020-12-
04 15:18:16
* @LastEditTime: 2020-12-
18 13:19:25
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \rs-cloud\src\views\webSiteManagement\aboutUs.vue
...
...
@@ -13,18 +13,18 @@
<div
class=
"title"
>
关于我们
</div>
</div>
<div
class=
"content"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"180px"
>
<el-form-item
label=
"
*联系电话
"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"180px"
:rules=
"rule"
>
<el-form-item
label=
"
联系电话"
prop=
"phone
"
>
<el-col
:span=
"12"
>
<el-input
v-model=
"form.
titl
e"
placeholder=
"请输入联系电话"
></el-input>
<el-input
v-model=
"form.
phon
e"
placeholder=
"请输入联系电话"
></el-input>
</el-col>
</el-form-item>
<el-form-item
label=
"
*邮箱
"
>
<el-form-item
label=
"
邮箱"
prop=
"email
"
>
<el-col
:span=
"12"
>
<el-input
v-model=
"form.email"
placeholder=
"请输入邮箱"
></el-input>
</el-col>
</el-form-item>
<el-form-item
label=
"
*公司地址
"
>
<el-form-item
label=
"
公司地址"
prop=
"address
"
>
<el-col
:span=
"12"
>
<!--
<el-input
v-model=
"form.address"
placeholder=
"请输入公司地址"
></el-input>
-->
<el-autocomplete
style=
"width:100%;"
...
...
@@ -45,14 +45,14 @@
</el-autocomplete>
</el-col>
</el-form-item>
<el-form-item
label=
""
>
<el-form-item
label=
""
prop=
"lat"
>
<div
id=
"map-container"
>
</div>
</el-form-item>
<el-form-item
label=
"
*公司简介
"
>
<el-form-item
label=
"
公司简介"
prop=
"intro
"
>
<el-col
:span=
"20"
>
<kind-editor
id=
"editor_id"
:content
.
sync=
"form.intro
duce
"
:afterChange=
"afterChange()"
:loadStyleMode=
"false"
@
on-content-change=
"onContentChange"
></kind-editor>
<kind-editor
id=
"editor_id"
:content
.
sync=
"form.intro"
:afterChange=
"afterChange()"
:loadStyleMode=
"false"
@
on-content-change=
"onContentChange"
></kind-editor>
</el-col>
</el-form-item>
<el-form-item>
...
...
@@ -71,6 +71,7 @@ import {
}
from
"@/api/website/aboutUs/index"
;
import
KindEditor
from
"@/components/Kindeditor"
;
import
loadBMap
from
'@/utils/loadBMap.js'
import
{
addUpdate
,
companyInfo
}
from
"api/website/aboutUs"
export
default
{
name
:
"AboutUs"
,
components
:
{
...
...
@@ -79,11 +80,45 @@ export default {
data
()
{
return
{
form
:
{
title
:
''
,
email
:
''
,
address
:
''
,
addrPoint
:
''
,
introduce
:
''
id
:
undefined
,
phone
:
undefined
,
// 联系电话
email
:
undefined
,
// 邮箱
address
:
undefined
,
// 地址
lat
:
23.12005
,
lng
:
113.30765
,
intro
:
undefined
// 简介
},
rule
:
{
phone
:
{
required
:
true
,
message
:
"请输入电话"
,
trigger
:
"blur"
},
email
:
{
required
:
true
,
message
:
"请输入邮箱"
,
trigger
:
"blur"
},
address
:
{
required
:
true
,
message
:
"请输入地址"
,
trigger
:
"blur"
},
lng
:
{
required
:
true
,
message
:
"请输入经纬度"
,
trigger
:
"blur"
},
lat
:
{
required
:
true
,
message
:
"请输入经纬度"
,
trigger
:
"blur"
},
intro
:
{
required
:
true
,
message
:
"请输入简介"
,
trigger
:
"blur"
},
},
map
:
''
,
//地图实例
mk
:
''
//Marker实例
...
...
@@ -97,7 +132,7 @@ export default {
initMap
()
{
var
that
=
this
;
this
.
map
=
new
BMap
.
Map
(
"map-container"
,
{
enableMapClick
:
false
})
//新建地图实例,enableMapClick:false :禁用地图默认点击弹框
var
point
=
new
BMap
.
Point
(
113.30765
,
23.12005
);
var
point
=
new
BMap
.
Point
(
this
.
form
.
lng
,
this
.
form
.
lat
);
this
.
map
.
centerAndZoom
(
point
,
19
)
/** 设置图像标注并绑定拖拽标注结束后事件 */
...
...
@@ -143,7 +178,9 @@ export default {
that
.
mk
.
setPosition
(
point
)
//重新设置标注的地理坐标
that
.
map
.
panTo
(
point
)
//将地图的中心点更改为给定的点
that
.
form
.
address
=
res
.
address
;
//记录该点的详细地址信息
that
.
form
.
addrPoint
=
point
;
//记录当前坐标点
that
.
form
.
lat
=
point
.
lat
that
.
form
.
lng
=
point
.
lng
// that.form.addrPoint = point; //记录当前坐标点
})
},
/**
...
...
@@ -158,7 +195,7 @@ export default {
}
else
{
// alert('failed'+this.getStatus()); //失败时,弹出失败状态码
console
.
log
(
"失败状态码"
,
this
.
getStatus
())
}
}
},{
enableHighAccuracy
:
true
})
//enableHighAccuracy:是否要求浏览器获取最佳效果,默认为false
},
/**
...
...
@@ -186,7 +223,9 @@ export default {
*/
handleSelect
(
item
)
{
this
.
form
.
address
=
item
.
address
+
item
.
title
;
//记录详细地址,含建筑物名
this
.
form
.
addrPoint
=
item
.
point
;
//记录当前选中地址坐标
// this.form.addrPoint = item.point; //记录当前选中地址坐标
this
.
form
.
lat
=
point
.
lat
this
.
form
.
lng
=
point
.
lng
this
.
map
.
clearOverlays
()
//清除地图上所有覆盖物
this
.
mk
=
new
BMap
.
Marker
(
item
.
point
)
//根据所选坐标重新创建Marker
this
.
map
.
addOverlay
(
this
.
mk
)
//将覆盖物重新添加到地图中
...
...
@@ -198,7 +237,59 @@ export default {
afterChange
()
{
},
/**
* 关于我们-信息
*/
getCompanyInfo
(){
companyInfo
().
then
((
res
)
=>
{
if
(
res
.
status
==
200
){
this
.
form
=
{
id
:
res
.
data
.
id
,
phone
:
res
.
data
.
phone
,
// 联系电话
email
:
res
.
data
.
email
,
// 邮箱
address
:
res
.
data
.
address
,
// 地址
lng
:
parseFloat
(
res
.
data
.
lng
),
// 经纬度
lat
:
parseFloat
(
res
.
data
.
lat
),
// 经纬度
intro
:
res
.
data
.
intro
// 简介
}
}
else
{
this
.
$notify
({
title
:
"失败"
,
message
:
res
.
message
,
type
:
"error"
,
duration
:
2000
});
}
this
.
initMap
()
});
},
/**
* 关于我们-数据保存
*/
onSubmit
()
{
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
if
(
valid
)
{
addUpdate
(
this
.
form
).
then
((
res
)
=>
{
if
(
res
.
status
==
200
){
this
.
$notify
({
title
:
"成功"
,
message
:
'提交成功'
,
type
:
"success"
,
duration
:
2000
});
}
else
{
this
.
$notify
({
title
:
"失败"
,
message
:
res
.
message
,
type
:
"error"
,
duration
:
2000
});
}
});
}
else
{
return
false
;
}
});
console
.
log
(
'submit!'
);
}
},
...
...
@@ -256,4 +347,4 @@ export default {
}
}
}
</
style
>
\ No newline at end of file
</
style
>
static/kindeditor-all.js
0 → 100644
View file @
13158806
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