Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
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
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
youjj
cloud-platform-ui
Commits
ce9f49f4
Commit
ce9f49f4
authored
Jul 20, 2019
by
hanfeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加app更新管理
parent
ea7e89a3
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
338 additions
and
361 deletions
+338
-361
index.js
src/api/admin/member/index.js
+2
-2
version.js
src/api/appManagement/version.js
+36
-3
index.js
src/router/index.js
+1
-1
index.vue
src/views/appManagement/appVersion/index.vue
+284
-87
versionPopup.vue
src/views/appManagement/appVersion/versionPopup.vue
+0
-259
index.vue
src/views/userManagement/memberManagement/index.vue
+5
-5
index.vue
src/views/userManagement/userList/index.vue
+10
-4
No files found.
src/api/admin/member/index.js
View file @
ce9f49f4
...
...
@@ -2,13 +2,13 @@ import fetch from 'utils/fetch';
export
function
getMembers
()
{
return
fetch
({
url
:
'api/admin/member/
M
anage/getMembers'
,
url
:
'api/admin/member/
m
anage/getMembers'
,
method
:
'get'
});
}
export
function
delMembershipGrade
(
id
)
{
return
fetch
({
url
:
'api/admin/member/
M
anage/delMembershipGrade/'
+
id
,
url
:
'api/admin/member/
m
anage/delMembershipGrade/'
+
id
,
method
:
'delete'
});
}
...
...
src/api/appManagement/version.js
View file @
ce9f49f4
import
fetch
from
'utils/fetch'
;
export
function
get
List
(
)
{
export
function
get
AppVersions
(
query
)
{
return
fetch
({
url
:
'/api/app/version'
,
method
:
'get'
url
:
'/api/app/version/background/getAppVersions'
,
method
:
'post'
,
data
:
query
});
}
export
function
insertAppVersion
(
obj
)
{
return
fetch
({
url
:
'/api/app/version/background/add'
,
method
:
'post'
,
data
:
obj
});
}
export
function
updateAppVersion
(
obj
)
{
return
fetch
({
url
:
'/api/app/version/background/update'
,
method
:
'put'
,
data
:
obj
});
}
export
function
removeAppVersion
(
id
)
{
return
fetch
({
url
:
'/api/app/version/background/remove/'
+
id
,
method
:
'post'
,
});
}
export
function
getAppVersion
(
id
)
{
return
fetch
({
url
:
'/api/app/version/background/getAppVersion/'
+
id
,
method
:
'get'
,
});
}
src/router/index.js
View file @
ce9f49f4
...
...
@@ -437,7 +437,7 @@ export const asyncRouterMap = [{
{
path
:
'/appManagement'
,
component
:
Layout
,
name
:
'app
版本
管理'
,
name
:
'app管理'
,
icon
:
'setting'
,
authority
:
'appManagement'
,
children
:
[
...
...
src/views/appManagement/appVersion/index.vue
View file @
ce9f49f4
<
template
>
<div
class=
"app-container calendar-list-container"
>
<div>
<el-button
class=
"filter-item"
style=
"margin-bottom: 10px;"
@
click=
"newMembershipGrade"
type=
"primary"
icon=
"edit"
>
添加会员等级
<div
class=
"filter-container"
>
<el-form
ref=
"queryForm"
:model=
"query"
label-width=
"100px"
>
<el-row>
<el-col
:span=
"4"
>
<el-form-item
label=
"版本名称"
>
<el-input
v-model
.
number=
"query.versionName"
placeholder=
"版本名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"版本号"
>
<el-input
v-model
.
number=
"query.version"
placeholder=
"版本号"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"更新内容"
>
<el-input
v-model
.
number=
"query.content"
placeholder=
"更新内容"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
<el-button
class=
"filter-item"
style=
"margin-bottom: 10px;"
@
click=
"newAppVersion"
type=
"primary"
icon=
"edit"
>
添加新版本
</el-button>
</div>
<el-table
:key=
'tableKey'
:data=
"list"
v-loading
.
body=
"listLoading"
border
fit
highlight-current-row
style=
"width: 100%"
>
<el-table-column
width=
"205"
align=
"center"
label=
"等级序号"
>
<el-table-column
width=
"100"
align=
"center"
label=
"系统类型"
>
<template
scope=
"scope"
>
<span>
{{
scope
.
row
.
sysType
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"100"
align=
"center"
label=
"版本号"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
level
}}
</span>
<span>
{{
scope
.
row
.
version
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"
205"
align=
"center"
label=
"
名称"
>
<el-table-column
width=
"
100"
align=
"center"
label=
"版本
名称"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
n
ame
}}
</span>
<span>
{{
scope
.
row
.
versionN
ame
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"
205"
align=
"center"
label=
"图标
"
>
<el-table-column
width=
"
100"
align=
"center"
label=
"包的大小
"
>
<
template
scope=
"scope"
>
<span>
<img
class=
"image"
:src=
"scope.row.icon"
/>
</span>
<span>
{{
scope
.
row
.
packagesize
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"205"
align=
"center"
label=
"折扣"
>
<el-table-column
width=
"220"
align=
"center"
label=
"下载地址"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
discount
}}
</span>
<span>
<p><font
size=
"1"
face=
"arial"
>
{{
scope
.
row
.
downloadUrl
}}
</font></p>
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"20
5"
align=
"center"
label=
"免费天数
"
>
<el-table-column
width=
"20
0"
align=
"center"
label=
"上传时间
"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
number
}}
</span>
<span>
{{
scope
.
row
.
crtTime
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"
205"
align=
"center"
label=
"价格
"
>
<el-table-column
width=
"
150"
align=
"center"
label=
"是否可下载/强制下载
"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
price
}}
</span>
<span>
{{
scope
.
row
.
downloadSwitch
}}
/
{{
scope
.
row
.
isCompel
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"
205"
align=
"center"
label=
"有效期
"
>
<el-table-column
width=
"
581"
align=
"center"
label=
"版本详情
"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
endDate
}}
</span>
<span>
<p><font
size=
"1"
face=
"arial"
>
{{
scope
.
row
.
content
}}
</font></p>
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"操作"
width=
"2
12
"
>
<el-table-column
align=
"center"
label=
"操作"
width=
"2
00
"
>
<
template
scope=
"scope"
>
<el-button
size=
"small"
type=
"primary"
@
click=
"compileAppUpload(scope.row)"
>
编辑
</el-button>
<el-button
size=
"small"
type=
"danger"
@
click=
"delMembership(scope.row)"
>
删除
</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=
"query.page"
:page-sizes=
"[10,20,30, 50]"
:page-size=
"query.limit"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
></el-pagination>
</div>
<div>
<el-dialog
:title=
"modalTitle"
:visible
.
sync=
"versionPopup"
:before-close=
"handleDialogClose"
>
<el-form
:model=
"versionRow"
ref=
"appVersion"
label-width=
"150px"
>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"适用系统"
prop=
"sysType"
>
<el-radio-group
size=
"large"
v-model=
"versionRow.sysType"
>
<el-radio-button
style=
"margin-bottom: 10px;"
label=
"0"
>
安卓
</el-radio-button>
<el-radio-button
style=
"margin-bottom: 10px;"
label=
"1"
>
iOS
</el-radio-button>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"版本号"
prop=
"version"
>
<el-input
type=
"text"
v-model=
"versionRow.version"
placeholder=
"请填版本号"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"版本名称"
prop=
"versionName"
>
<el-input
type=
"text"
v-model=
"versionRow.versionName"
placeholder=
"版本名称"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"权重"
prop=
"weigh"
>
<el-input
type=
"text"
v-model=
"versionRow.weigh"
placeholder=
"请填权重"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"下载地址"
prop=
"downloadUrl"
>
<el-input
type=
"text"
v-model=
"versionRow.downloadUrl"
placeholder=
"请填下载地址"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"包大小"
prop=
"packagesize"
>
<el-input
type=
"text"
v-model=
"versionRow.packagesize"
placeholder=
"请填价格"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"是否可下载"
prop=
"downloadSwitch"
>
<el-radio-group
size=
"large"
v-model=
"versionRow.downloadSwitch"
>
<el-radio-button
style=
"margin-bottom: 10px;"
label=
"0"
>
可下载
</el-radio-button>
<el-radio-button
style=
"margin-bottom: 10px;"
label=
"1"
>
不可下载
</el-radio-button>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"是否强制更新"
prop=
"isCompel"
>
<el-radio-group
size=
"large"
v-model=
"versionRow.isCompel"
>
<el-radio-button
style=
"margin-bottom: 10px;"
label=
"0"
>
是
</el-radio-button>
<el-radio-button
style=
"margin-bottom: 10px;"
label=
"1"
>
否
</el-radio-button>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"上传包"
prop=
"upload"
>
<el-upload
multiple=
"false"
class=
"upload-demo"
action=
""
:on-preview=
"handlePreview"
:on-remove=
"handleRemove"
:file-list=
"fileList"
>
<el-button
size=
"small"
type=
"primary"
>
点击上传
</el-button>
<div
slot=
"tip"
class=
"el-upload__tip"
>
只能上传apk/ipa文件,且不超过500kb
</div>
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-tabs
v-model=
"activeName"
type=
"card"
>
<el-tab-pane
label=
"详情"
name=
"first"
>
<div
class=
"editor-container"
v-if=
"activeName=='first'"
>
<UE
:editorId=
"activeName"
:defaultMsg=
"versionRow.content"
:config=
config
ref=
"ue"
@
ready=
"editorReadyEvent"
></UE>
</div>
</el-tab-pane>
</el-tabs>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"cancelSetAppVersion()"
>
取消
</el-button>
<el-button
type=
"primary"
v-if=
"modalTitle=='创建'"
@
click=
"insertAppVersion()"
>
确 定
</el-button>
<el-button
type=
"primary"
v-else
@
click=
"updateAppVersion()"
>
确 定
</el-button>
</div>
</el-dialog>
</div>
</div>
</template>
<
script
>
import
{
mapGetters
}
from
'vuex'
;
import
{
getToken
}
from
'src/utils/auth'
;
import
{
getAppVersions
,
insertAppVersion
,
updateAppVersion
,
removeAppVersion
,
getAppVersion
}
from
'src/api/appManagement/version'
import
{
timestamp2Date
}
from
'src/utils/dateUtils'
;
import
UE
from
'../../modal/Ueditor'
;
//百度ue富文本
export
default
{
name
:
'membershipGrade'
,
name
:
'appUpload'
,
components
:
{
UE
},
data
()
{
return
{
versionRow
:
{
sysType
:
0
,
version
:
undefined
,
versionName
:
undefined
,
weigh
:
undefined
,
downloadUrl
:
undefined
,
packagesize
:
undefined
,
downloadSwitch
:
1
,
isCompel
:
0
,
content
:
""
},
activeName
:
""
,
versionPopup
:
false
,
modalTitle
:
'创建'
,
list
:
[],
config
:
{
initialFrameWidth
:
null
,
initialFrameHeight
:
350
},
listLoading
:
true
,
tableKey
:
0
,
BASE_API
:
process
.
env
.
BASE_API
,
query
:
{
limit
:
10
,
page
:
1
,
versionName
:
undefined
,
version
:
undefined
,
content
:
undefined
},
total
:
null
,
sysTypeObj
:
{
0
:
'安卓'
,
1
:
'IOS'
},
isCompelObj
:
{
0
:
'否'
,
1
:
'是'
},
downloadSwitchObj
:
{
0
:
'可下载'
,
1
:
'不可下载'
},
}
},
...
...
@@ -80,94 +276,95 @@
},
methods
:
{
getList
()
{
getMembers
().
then
(
console
.
log
(
JSON
.
stringify
(
this
.
query
))
getAppVersions
(
this
.
query
).
then
(
res
=>
{
for
(
let
dataKey
of
res
.
data
)
{
if
(
dataKey
.
endDate
==
0
)
{
dataKey
.
endDate
=
'半年'
}
else
{
dataKey
.
endDate
=
dataKey
.
endDate
?
this
.
year
[
dataKey
.
endDate
]
:
''
}
}
this
.
list
=
res
.
data
this
.
traverse
(
res
.
data
.
list
)
this
.
list
=
res
.
data
.
list
this
.
total
=
res
.
data
.
total
;
this
.
listLoading
=
false
;
}
)
},
/**
* 删除会员等级
* */
delMembership
(
row
)
{
delMembershipGrade
(
row
.
id
).
then
(
res
=>
{
if
(
res
.
rel
)
{
this
.
$notify
.
success
({
title
:
'成功'
,
message
:
`success`
})
}
else
{
this
.
$notify
.
warning
({
title
:
'失败'
,
message
:
`failed`
})
traverse
(
list
)
{
for
(
let
key
of
list
)
{
key
.
crtTime
=
key
.
crtTime
?
null
:
timestamp2Date
(
key
.
crtTime
)
key
.
downloadSwitch
=
this
.
downloadSwitchObj
[
key
.
downloadSwitch
]
key
.
isCompel
=
this
.
isCompelObj
[
key
.
isCompel
]
key
.
sysType
=
this
.
sysTypeObj
[
key
.
sysType
]
}
},
handleSizeChange
(
val
)
{
this
.
query
.
limit
=
val
;
this
.
getList
();
}
,
handleCurrentChange
(
val
)
{
this
.
query
.
page
=
val
;
this
.
getList
();
},
handleFilter
()
{
this
.
getList
()
})
},
/**
* 关闭清除
* */
cancelSetMemberArea
(
refName
)
{
this
.
addMembershipGrade
=
false
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
()
* 新建app版本
*/
newAppVersion
()
{
if
(
this
.
$refs
.
appVersion
)
{
this
.
$refs
.
appVersion
.
resetFields
()
}
this
.
modalTitle
=
'创建'
this
.
activeName
=
'first'
this
.
versionPopup
=
true
},
/**
* 显示添加窗
* */
newMembershipGrade
()
{
this
.
addMembershipGrade
=
true
* 编辑窗口
*/
compileAppUpload
(
row
)
{
this
.
versionRow
=
row
;
this
.
modalTitle
=
'编辑'
;
this
.
activeName
=
'first'
;
this
.
versionPopup
=
true
},
/**
* 新建会员等级
* **/
save
(
refName
)
{
let
membership
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
add
))
membership
.
endDate
=
membership
.
endDate
-
1
addMembershipGrade
(
membership
).
then
(
res
=>
{
if
(
!
res
.
rel
)
{
this
.
$notify
.
success
({
title
:
'成功'
,
message
:
`success`
})
}
else
{
this
.
$notify
.
warning
({
title
:
'失败'
,
message
:
`failed`
})
}
this
.
getList
()
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
()
* 点击 X 关闭对话框的回调
**/
handleDialogClose
()
{
this
.
activeName
=
""
;
this
.
versionPopup
=
false
;
},
/**
* 富文本 营地详情
* */
editorReadyEvent
(
instance
)
{
let
t
=
this
;
instance
.
addListener
(
'contentChange'
,
()
=>
{
if
(
t
.
activeName
==
"first"
)
{
t
.
versionRow
.
content
=
instance
.
getContent
();
}
this
.
addMembershipGrade
=
false
});
},
cancelSetAppVersion
()
{
this
.
initialize
},
initialize
()
{
this
.
versionPopup
=
false
;
this
.
versionRow
=
{};
this
.
activeName
=
""
;
},
insertAppVersion
()
{
insertAppVersion
(
this
.
versionRow
).
then
(
res
=>
{
})
},
updateAppVersion
()
{
}
}
}
</
script
>
<
style
>
.image
{
width
:
50px
;
height
:
50px
;
}
.mGrade
.el-dialog--small
{
width
:
500px
;
}
...
...
src/views/appManagement/appVersion/versionPopup.vue
deleted
100644 → 0
View file @
ea7e89a3
<
template
>
<el-dialog
title=
"违章查询"
:visible
.
sync=
"isVisible"
>
<el-form>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"订单号"
>
<span>
{{
row
.
no
}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"订单金额"
>
<span>
{{
row
.
realAmount
}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"车牌号"
>
<span>
{{
row
.
vehicleNumberPlat
}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"用户ID/实名"
>
<span>
{{
row
.
userId
}}
</span>
/
<span>
{{
row
.
username
}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"取车"
>
<span>
{{
dateFormat
(
row
.
orderRentVehicleDetail
.
startTime
)
}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"16"
>
<el-form-item
label=
"交车公司"
>
<span>
{{
row
.
startCompanyName
}}
</span>
<span>
(
{{
row
.
orderRentVehicleDetail
.
startCityName
}}{{
row
.
orderRentVehicleDetail
.
startAddr
}}
)
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"还车"
>
<span>
{{
dateFormat
(
row
.
orderRentVehicleDetail
.
endTime
)
}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"16"
>
<el-form-item
label=
"收车公司"
>
<span><span>
{{
row
.
endCompanyName
}}
</span>
<span>
(
{{
row
.
orderRentVehicleDetail
.
endCityName
}}{{
row
.
orderRentVehicleDetail
.
endAddr
}}
)
</span></span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col>
<el-form-item
label=
"违章截图"
:style=
"
{display:'block'}">
<!--
<el-upload-->
<!--action="https://xxtest.upyuns.com/api/universal/file/app/unauth/admin/upload"-->
<!--list-type="picture-card"-->
<!--:headers="getHeaderWithToken"-->
<!--:on-success="handleSuccess"-->
<!--:on-remove="handleRemove">-->
<!--
<i
class=
"el-icon-plus"
></i>
-->
<!--
</el-upload>
-->
<!--
<el-dialog
v-model=
"dialogVisible"
size=
"tiny"
>
-->
<!--
<img
width=
"100%"
:src=
"dialogImageUrl"
alt=
""
>
-->
<!--
</el-dialog>
-->
<el-upload
class=
"upload-demo"
:headers=
"getHeaderWithToken"
action=
"https://xxtest.upyuns.com/api/universal/file/app/unauth/admin/upload"
:on-remove=
"handleRemove"
:file-list=
"fileList2"
:on-success=
"handleSuccess"
list-type=
"picture-card"
>
<!--
<div
slot=
"tip"
class=
"el-upload__tip"
>
最多上传5张
</div>
-->
<i
class=
"el-icon-plus"
></i>
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-form-item
label=
"违章罚款"
style=
"display: inline-block;"
>
<el-input
v-model=
"price"
type=
"number"
placeholder=
"请输入违章罚款金额"
></el-input>
</el-form-item>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"okHandler('form')"
>
确 定
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
page
,
saveOrderViolation
}
from
'api/order/rentVehicle'
;
import
{
mapGetters
}
from
'vuex'
;
import
{
formatDate
}
from
'../../../utils/dateFormattor'
;
import
{
getToken
}
from
'../../../utils/auth'
;
import
{
getOneIllegalRow
}
from
'api/order/rentVehicle'
;
import
ElRow
from
"element-ui/packages/row/src/row"
;
import
ElInput
from
"../../../../node_modules/element-ui/packages/input/src/input.vue"
;
import
ElCol
from
"element-ui/packages/col/src/col"
;
import
ElFormItem
from
"../../../../node_modules/element-ui/packages/form/src/form-item.vue"
;
import
ElForm
from
"../../../../node_modules/element-ui/packages/form/src/form.vue"
;
export
default
{
props
:
[
"row"
],
name
:
'illegalDialog'
,
components
:
{
ElForm
,
ElFormItem
,
ElCol
,
ElInput
,
ElRow
},
data
()
{
return
{
price
:
undefined
,
//违章罚款金额
isVisible
:
false
,
fileList2
:[],
//违章截图
}
},
created
()
{
},
watch
:
{
isVisible
(
newValue
,
oldValue
){
if
(
!
newValue
){
this
.
$emit
(
'illegalEvent'
,
false
);
}
},
},
mounted
()
{
let
that
=
this
;
// if(that.row.refundStatus == 3) {
//refundStatus退款状态 0、未退款 1、已退还所有(取消订单时)2、 已退还部分(保留违章预备金)3、已退还所有押金(扣除该扣除的)
that
.
getOne
(
that
.
row
.
detailId
);
// }
this
.
isVisible
=
true
;
},
computed
:
{
...
mapGetters
([
'elements'
,
]),
getHeaderWithToken
()
{
return
{
Authorization
:
getToken
()};
}
},
methods
:
{
/**
* 根据id查询一条记录
* */
getOne
(
id
){
let
t
=
this
;
getOneIllegalRow
(
id
).
then
(
response
=>
{
if
(
response
.
status
==
200
){
let
arr
=
response
.
data
.
picture
.
split
(
","
);
let
fileList2
=
[];
let
p
=
{};
arr
.
map
(
function
(
item
){
p
=
{
url
:
item
};
fileList2
.
push
(
p
);
});
t
.
price
=
parseFloat
(
response
.
data
.
price
);
t
.
fileList2
=
fileList2
;
t
.
id
=
response
.
data
.
id
?
response
.
data
.
id
:
undefined
;
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
response
.
menu
,
type
:
'error'
,
duration
:
2000
});
}
})
},
/**
* 上传成功
* */
handleSuccess
(
res
,
file
)
{
let
c
=
{
url
:
res
.
data
};
this
.
fileList2
.
push
(
c
);
this
.
showLoadingBody
=
false
;
},
/**
* 删除违章图片
* */
handleRemove
(
file
,
fileList
){
this
.
fileList2
=
fileList
;
},
/**
* 确定
* */
okHandler
()
{
let
arr
=
[];
this
.
fileList2
.
map
(
function
(
item
){
arr
.
push
(
item
.
url
);
});
let
params
=
{
picture
:
arr
.
join
(
","
),
price
:
this
.
price
,
detailId
:
this
.
row
.
detailId
,
id
:
this
.
id
};
saveOrderViolation
(
params
).
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
this
.
$notify
({
title
:
'成功'
,
message
:
'创建成功'
,
type
:
'success'
,
duration
:
2000
});
this
.
$emit
(
'illegalEvent'
,
false
);
}
else
{
this
.
$notify
({
title
:
'创建失败'
,
message
:
'操作失败!'
,
type
:
'error'
,
duration
:
2000
});
}
});
},
/**
* 弹框-取消
* */
cancel
()
{
this
.
$emit
(
'illegalEvent'
,
false
);
},
/**
* 格式化时间
* @param timestamp
* @returns {*}
*/
dateFormat
(
timestamp
)
{
let
date
=
new
Date
(
timestamp
);
//时间戳为10位需*1000,时间戳为13位的话不需乘1000
return
formatDate
(
date
,
'yyyy-MM-dd hh:mm:ss'
);
},
}
}
</
script
>
<
style
>
.el-form-item__content
{
display
:
inline-block
;
}
</
style
>
src/views/userManagement/memberManagement/index.vue
View file @
ce9f49f4
...
...
@@ -115,12 +115,11 @@
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
style=
"lineHeight:100px;width:300px;height: 100px;border: 1px dashed #ccc;"
></i>
</el-upload>
<!-- https://xxtest.upyuns.com-->
</el-form-item>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"cancelSetMemberArea('membershipGrade')"
>
取消
</el-button>
<el-button
@
click=
"cancelSetMemberArea('membershipGrade')"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"save('membershipGrade')"
>
确 定
</el-button>
</div>
</el-dialog>
...
...
@@ -219,6 +218,7 @@
},
methods
:
{
getList
()
{
this
.
listLoading
=
true
getMembers
().
then
(
res
=>
{
for
(
let
dataKey
of
res
.
data
)
{
...
...
@@ -260,9 +260,9 @@
* */
cancelSetMemberArea
(
refName
)
{
this
.
addMembershipGrade
=
false
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
()
}
this
.
add
=
{}
console
.
log
(
JSON
.
stringify
(
this
.
add
))
},
/**
* 显示添加窗
...
...
src/views/userManagement/userList/index.vue
View file @
ce9f49f4
...
...
@@ -318,14 +318,14 @@
<el-radio-group
v-model=
"validityType"
>
<el-radio-button
style=
"margin-bottom: 10px;"
label=
"无"
></el-radio-button>
<el-radio-button
style=
"margin-bottom: 10px;"
label=
"永久"
></el-radio-button>
<el-radio-button
style=
"margin-bottom: 10px;"
label=
"自定义"
></el-radio-button>
<el-radio-button
style=
"margin-bottom: 10px;"
label=
"自定义"
></el-radio-button>
</el-radio-group>
<dir></dir>
<div
class=
"block"
v-if=
"validityType=='自定义'"
>
<el-date-picker
v-model=
"validTime"
type=
"datetime"
placeholder=
"请选择
注册时间范围
"
>
placeholder=
"请选择
会员有效期
"
>
</el-date-picker>
</div>
</el-form-item>
...
...
@@ -520,6 +520,7 @@
UploadMembershipList
,
saveNewMemberObject
}
from
'src/api/admin/UserMember/index'
;
import
{
formatDate
}
from
"../../../utils/dateFormattor"
;
export
default
{
name
:
'appUser'
,
...
...
@@ -797,7 +798,6 @@
this
.
listQuery
.
registrationTimeBegin
=
this
.
listQuery
.
registrationDate
?
(
new
Date
(
this
.
listQuery
.
registrationDate
[
0
]).
getTime
())
/
1000
:
null
this
.
listQuery
.
registrationTimeEnd
=
this
.
listQuery
.
registrationDate
?
(
new
Date
(
this
.
listQuery
.
registrationDate
[
1
]).
getTime
())
/
1000
:
null
alert
(
JSON
.
stringify
(
this
.
listQuery
))
this
.
getList
();
}
,
...
...
@@ -964,7 +964,6 @@
this
.
orderQuery
.
userId
=
this
.
saveUserId
let
query
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
orderQuery
))
query
.
status
=
query
.
status
?
query
.
status
-
1
:
null
// alert(JSON.stringify(query))
page
(
query
).
then
(
res
=>
{
...
...
@@ -1055,6 +1054,13 @@
if
(
bool
===
'1'
){
this
.
statusBoolean
=
true
}
},
setDate
(){
alert
(
this
.
validTime
)
if
(
!
this
.
validTime
){
let
date
=
new
Date
();
//时间戳为10位需*1000,时间戳为13位的话不需乘1000
this
.
validTime
=
formatDate
(
date
,
'yyyy-MM-dd hh:mm:ss'
);
}
}
}
...
...
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