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
5be6cf79
Commit
5be6cf79
authored
Jul 20, 2019
by
hanfeng
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'base-modify' of
http://113.105.137.151:22280/youjj/cloud-platform-ui
into base-modify
parents
5f694c0a
522d020a
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1134 additions
and
189 deletions
+1134
-189
index.js
src/api/admin/userManagement/index.js
+20
-1
purseManage.js
src/api/purseManage.js
+2
-2
index.js
src/router/index.js
+75
-64
validate.js
src/utils/validate.js
+11
-0
detail.vue
src/views/order/rentVehicleInfo/detail.vue
+174
-0
index.vue
src/views/order/rentVehicleInfo/index.vue
+73
-42
detail.vue
src/views/order/tourOrderInfo/detail.vue
+165
-0
index.vue
src/views/order/tourOrderInfo/index.vue
+63
-32
commissionSettings.vue
src/views/purseManage/commissionSettings.vue
+52
-47
incomeOverview.vue
src/views/purseManage/incomeOverview.vue
+1
-1
memberEnter.vue
src/views/userManagement/memberEnter.vue
+498
-0
No files found.
src/api/admin/userManagement/index.js
View file @
5be6cf79
...
@@ -30,7 +30,6 @@ export function setDisable(id) {
...
@@ -30,7 +30,6 @@ export function setDisable(id) {
});
});
}
}
export
function
seveObj
(
obj
)
{
export
function
seveObj
(
obj
)
{
return
fetch
({
return
fetch
({
url
:
'/api/admin/baseUserMember/setUserMember/'
,
url
:
'/api/admin/baseUserMember/setUserMember/'
,
...
@@ -38,4 +37,24 @@ export function seveObj(obj) {
...
@@ -38,4 +37,24 @@ export function seveObj(obj) {
data
:
obj
data
:
obj
});
});
}
}
/**
* 会员录入-列表
* */
export
function
getMemberEntryList
(
query
)
{
return
fetch
({
url
:
'/api/admin/admin/member/page'
,
method
:
'get'
,
params
:
query
});
}
/**
* 会员录入-删除
*/
export
function
delMemberObj
(
id
)
{
return
fetch
({
url
:
'/api/admin/admin/member/'
+
id
,
method
:
'delete'
});
}
src/api/purseManage.js
View file @
5be6cf79
...
@@ -40,10 +40,10 @@ export function getrewardSetting(query) {
...
@@ -40,10 +40,10 @@ export function getrewardSetting(query) {
* 佣金比例设置
* 佣金比例设置
* @param query
* @param query
*/
*/
export
function
rewardSetting
(
query
)
{
export
function
rewardSetting
(
data
)
{
return
fetch
({
return
fetch
({
url
:
'/api/admin/postion/admin'
,
url
:
'/api/admin/postion/admin'
,
method
:
'put'
,
method
:
'put'
,
data
:
query
data
:
data
});
});
}
}
src/router/index.js
View file @
5be6cf79
...
@@ -335,6 +335,12 @@ export const asyncRouterMap = [{
...
@@ -335,6 +335,12 @@ export const asyncRouterMap = [{
component
:
_import
(
'vehicle/vehicleUpkeepLog/index'
),
component
:
_import
(
'vehicle/vehicleUpkeepLog/index'
),
name
:
'车辆保养记录'
,
name
:
'车辆保养记录'
,
authority
:
'vehicleUpkeepLog'
authority
:
'vehicleUpkeepLog'
},
{
path
:
'vehicleSchedulManage'
,
component
:
_import
(
'vehicle/vehicleSchedulManage/index'
),
name
:
'车辆排班管理'
,
authority
:
'vehicleSchedulManage'
}
}
]
]
},
},
...
@@ -386,67 +392,72 @@ export const asyncRouterMap = [{
...
@@ -386,67 +392,72 @@ export const asyncRouterMap = [{
}
}
]
]
},
},
{
{
path
:
'/purseManage'
,
path
:
'/purseManage'
,
component
:
Layout
,
component
:
Layout
,
name
:
'钱包管理'
,
name
:
'钱包管理'
,
icon
:
'setting'
,
icon
:
'setting'
,
authority
:
'purseManage'
,
authority
:
'purseManage'
,
children
:
[
children
:
[
{
{
path
:
'incomeOverview'
,
path
:
'incomeOverview'
,
component
:
_import
(
'purseManage/incomeOverview'
),
component
:
_import
(
'purseManage/incomeOverview'
),
name
:
'收益总览'
,
name
:
'收益总览'
,
authority
:
'incomeOverview'
authority
:
'incomeOverview'
},
},
{
{
path
:
'gainRecord'
,
path
:
'gainRecord'
,
component
:
_import
(
'purseManage/gainRecord'
),
component
:
_import
(
'purseManage/gainRecord'
),
name
:
'收益记录'
,
name
:
'收益记录'
,
authority
:
'gainRecord'
authority
:
'gainRecord'
},
},
{
{
path
:
'commissionSettings'
,
path
:
'commissionSettings'
,
component
:
_import
(
'purseManage/commissionSettings'
),
component
:
_import
(
'purseManage/commissionSettings'
),
name
:
'佣金设置比例'
,
name
:
'佣金设置比例'
,
authority
:
'commissionSettings'
authority
:
'commissionSettings'
}
}
]
]
},
},
,
{
{
path
:
'/userManagement'
,
path
:
'/userManagement'
,
component
:
Layout
,
component
:
Layout
,
name
:
'用户管理'
,
name
:
'用户管理'
,
icon
:
'setting'
,
icon
:
'setting'
,
authority
:
'userManagement'
,
authority
:
'userManagement'
,
children
:
[
children
:
[
{
{
path
:
'userList'
,
path
:
'userList'
,
component
:
_import
(
'userManagement/userList/index'
),
component
:
_import
(
'userManagement/userList/index'
),
name
:
'用户列表'
,
name
:
'用户列表'
,
authority
:
'userList'
authority
:
'userList'
},
},
{
{
path
:
'memberManagement'
,
path
:
'memberManagement'
,
component
:
_import
(
'userManagement/memberManagement/index'
),
component
:
_import
(
'userManagement/memberManagement/index'
),
name
:
'会员管理'
,
name
:
'会员管理'
,
authority
:
'memberManagement'
authority
:
'memberManagement'
}
},
]
{
},
path
:
'memberEnter'
,
{
component
:
_import
(
'userManagement/memberEnter'
),
path
:
'/appManagement'
,
name
:
'会员录入'
,
component
:
Layout
,
authority
:
'memberEnter'
name
:
'app管理'
,
}
icon
:
'setting'
,
]
authority
:
'appManagement'
,
},
children
:
[
{
{
path
:
'/appManagement'
,
path
:
'appVersion'
,
component
:
Layout
,
component
:
_import
(
'appManagement/appVersion/index'
),
name
:
'app管理'
,
name
:
'app版本管理'
,
icon
:
'setting'
,
authority
:
'appVersion'
authority
:
'appManagement'
,
}
children
:
[
]
{
}
path
:
'appVersion'
,
];
component
:
_import
(
'appManagement/appVersion/index'
),
name
:
'app版本管理'
,
authority
:
'appVersion'
}
]
}];
src/utils/validate.js
View file @
5be6cf79
...
@@ -38,4 +38,15 @@ export function validatAlphabets(str) {
...
@@ -38,4 +38,15 @@ export function validatAlphabets(str) {
return
reg
.
test
(
str
);
return
reg
.
test
(
str
);
}
}
/**
* 深拷贝
*/
export
function
objDeepCopy
(
source
)
{
const
sourceCopy
=
source
instanceof
Array
?
[]
:
{};
for
(
const
item
in
source
)
{
sourceCopy
[
item
]
=
typeof
source
[
item
]
===
'object'
?
objDeepCopy
(
source
[
item
])
:
source
[
item
];
}
return
sourceCopy
;
}
src/views/order/rentVehicleInfo/detail.vue
0 → 100644
View file @
5be6cf79
<
template
>
<el-dialog
title=
"订单详情"
:visible
.
sync=
"isVisible"
>
<el-form>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"订单号"
>
<span>
{{
row
.
no
}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"支付时间"
>
<span>
{{
row
.
updTime
}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"订单状态"
>
<span
v-if=
"row.status == '2'"
>
取消
</span>
<span
v-if=
"row.status == '3'"
>
待付款
</span>
<span
v-if=
"row.status == '4'"
>
待出行
</span>
<span
v-if=
"row.status == '5'"
>
出行中
</span>
<span
v-if=
"row.status == '6'"
>
已完成
</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=
"24"
>
<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=
"取车"
>
<span>
{{
dateFormat
(
row
.
orderRentVehicleDetail
.
startTime
)
}}
</span>
<span>
{{
row
.
orderRentVehicleDetail
.
startCityName
}}{{
row
.
orderRentVehicleDetail
.
startAddr
}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<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=
"24"
>
<el-form-item
label=
"还车"
>
<span>
{{
dateFormat
(
row
.
orderRentVehicleDetail
.
endTime
)
}}
</span>
<span>
{{
row
.
orderRentVehicleDetail
.
endCityName
}}{{
row
.
orderRentVehicleDetail
.
endAddr
}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"收车公司"
>
<span>
{{
row
.
endCompanyName
}}
</span>
<!--
<span>
(
{{
row
.
orderRentVehicleDetail
.
endCityName
}}{{
row
.
orderRentVehicleDetail
.
endAddr
}}
)
</span></span>
-->
</el-form-item>
</el-col>
</el-row>
<!--
<el-table
:data=
"tableData"
border
fit
highlight-current-row
style=
"width: 100%"
>
<el-table-column
width=
"200"
align=
"center"
label=
"房车"
>
<template
scope=
"scope"
>
<span>
{{
scope
.
no
}}
</span>
</
template
>
</el-table-column>
</el-table>
-->
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"sure"
>
确 定
</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
{
isVisible
:
false
,
tableData
:[],
}
},
created
()
{
console
.
log
(
JSON
.
stringify
(
this
.
row
))
},
watch
:
{
isVisible
(
newValue
,
oldValue
){
if
(
!
newValue
){
this
.
$emit
(
'detailEvent'
,
false
);
}
},
},
mounted
()
{
let
that
=
this
;
this
.
isVisible
=
true
;
},
computed
:
{
...
mapGetters
([
'elements'
,
]),
getHeaderWithToken
()
{
return
{
Authorization
:
getToken
()};
}
},
methods
:
{
/**
* 弹框-取消
* */
cancel
()
{
this
.
$emit
(
'detailEvent'
,
false
);
},
sure
:
function
(){
this
.
$emit
(
'detailEvent'
,
false
);
},
/**
* 格式化时间
* @param timestamp
* @returns {*}
*/
dateFormat
(
timestamp
)
{
let
date
=
new
Date
(
timestamp
);
//时间戳为10位需*1000,时间戳为13位的话不需乘1000
return
formatDate
(
date
,
'yyyy-MM-dd hh:mm'
);
},
}
}
</
script
>
<
style
>
.el-form-item__content
{
display
:
inline-block
;
}
</
style
>
src/views/order/rentVehicleInfo/index.vue
View file @
5be6cf79
...
@@ -3,63 +3,69 @@
...
@@ -3,63 +3,69 @@
<div
class=
"filter-container"
ref=
"filter-container"
>
<div
class=
"filter-container"
ref=
"filter-container"
>
<el-form
ref=
"queryForm"
:model=
"listQuery"
label-width=
"100px"
>
<el-form
ref=
"queryForm"
:model=
"listQuery"
label-width=
"100px"
>
<el-row>
<el-row>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<el-form-item
label=
"
订单号
"
>
<el-form-item
label=
"
所属大区
"
>
<el-input
v-model=
"listQuery.
no"
placeholder=
"请输入订单号
"
></el-input>
<el-input
v-model=
"listQuery.
startZoneId"
placeholder=
"请输入所属大区
"
></el-input>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<el-form-item
label=
"
手机号
"
>
<el-form-item
label=
"
所属公司
"
>
<el-input
v-model=
"listQuery.
phone"
placeholder=
"请输入手机号
"
></el-input>
<el-input
v-model=
"listQuery.
startCompanyId"
placeholder=
"请输入所属公司
"
></el-input>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"8
"
>
<el-col
:span=
"5
"
>
<el-form-item
label=
"状态"
>
<el-form-item
label=
"
订单
状态"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.status"
placeholder=
"请选择状态"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.status"
placeholder=
"请选择状态"
>
<el-option
:key=
"null"
label=
"无"
:value=
"null"
></el-option
>
<!--"0--删除"+"1--创建订单" +"2--取消" +"3--待付款" +"4--待出行" +"5--出行中(进行中)" +"6--已完成"--
>
<el-option
:key=
"
2"
label=
"取消"
:value=
"2"
></el-option>
<el-option
:key=
"
null"
label=
"全部订单"
:value=
"null"
></el-option>
<el-option
:key=
"3"
label=
"待
付款
"
:value=
"3"
></el-option>
<el-option
:key=
"3"
label=
"待
支付
"
:value=
"3"
></el-option>
<el-option
:key=
"4"
label=
"待出行"
:value=
"4"
></el-option>
<el-option
:key=
"4"
label=
"待出行"
:value=
"4"
></el-option>
<el-option
:key=
"5"
label=
"出行中"
:value=
"5"
></el-option>
<el-option
:key=
"5"
label=
"出行中"
:value=
"5"
></el-option>
<el-option
:key=
"6"
label=
"已完成"
:value=
"6"
></el-option>
<el-option
:key=
"6"
label=
"已完成"
:value=
"6"
></el-option>
<el-option
:key=
"2"
label=
"已取消"
:value=
"2"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"订单号"
>
<el-input
v-model=
"listQuery.no"
placeholder=
"请输入订单号"
></el-input>
</el-form-item>
</el-col>
<!--
<el-col>
<el-form-item
label=
"时间"
>
<el-form-item
label=
"时间"
>
<el-date-picker
v-model=
"listQuery.startTime"
type =
"date"
placeholder =
"请输入开始时间"
></el-date-picker>
<el-date-picker
v-model=
"listQuery.startTime"
type =
"date"
placeholder =
"请输入开始时间"
></el-date-picker>
<span>
——
</span>
<span>
——
</span>
<el-date-picker
v-model=
"listQuery.endTime"
type =
"date"
placeholder =
"请输入结束时间"
></el-date-picker>
<el-date-picker
v-model=
"listQuery.endTime"
type =
"date"
placeholder =
"请输入结束时间"
></el-date-picker>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
-->
</el-row>
</el-row>
</el-form>
</el-form>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
<
el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"delete"
@
click=
"clearSearch"
>
清除搜索
</el-button
>
<
!--
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"delete"
@
click=
"clearSearch"
>
清除搜索
</el-button>
--
>
</div>
</div>
<el-table
:key=
'tableKey'
:data=
"list"
v-loading
.
body=
"listLoading"
<el-table
:key=
'tableKey'
:data=
"list"
v-loading
.
body=
"listLoading"
border
fit
highlight-current-row
border
fit
highlight-current-row
style=
"width: 100%"
>
style=
"width: 100%"
>
<el-table-column
align=
"center"
label=
"ID"
width=
"70"
>
<
!--
<
el-table-column
align=
"center"
label=
"ID"
width=
"70"
>
<template
scope=
"scope"
>
<template
scope=
"scope"
>
<span>
{{
scope
.
row
.
id
}}
</span>
<span>
{{
scope
.
row
.
id
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
-->
<el-table-column
width=
"200"
align=
"center"
label=
"订单号/
创建
时间"
>
<el-table-column
width=
"200"
align=
"center"
label=
"订单号/
下单
时间"
>
<
template
scope=
"scope"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
no
}}
</span>
/
<span>
{{
scope
.
row
.
crtTime
}}
</span>
<span>
{{
scope
.
row
.
no
}}
</span>
<br>
<span>
{{
scope
.
row
.
crtTime
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"150"
align=
"center"
label=
"用户ID/用户名"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
userId
}}
</span>
/
<span>
{{
scope
.
row
.
username
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"180"
align=
"center"
label=
"名称/车牌号"
>
<el-table-column
width=
"180"
align=
"center"
label=
"名称/车牌号"
>
<
template
scope=
"scope"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
name
}}
</span><br/><span>
{{
scope
.
row
.
vehicleNumberPlat
}}
</span>
<span>
{{
scope
.
row
.
name
}}
</span><br/><span>
{{
scope
.
row
.
vehicleNumberPlat
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"150"
align=
"center"
label=
"用户ID/用户名"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
userId
}}
</span>
/
<span>
{{
scope
.
row
.
username
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"取车时间/还车时间"
>
<el-table-column
width=
"200"
align=
"center"
label=
"取车时间/还车时间"
>
<
template
scope=
"scope"
>
<
template
scope=
"scope"
>
取:
<span>
{{
dateFormat
(
scope
.
row
.
orderRentVehicleDetail
.
startTime
)
}}
</span><br/>
取:
<span>
{{
dateFormat
(
scope
.
row
.
orderRentVehicleDetail
.
startTime
)
}}
</span><br/>
...
@@ -72,19 +78,19 @@
...
@@ -72,19 +78,19 @@
<span>
(
{{
scope
.
row
.
orderRentVehicleDetail
.
startCityName
}}{{
scope
.
row
.
orderRentVehicleDetail
.
startAddr
}}
)
</span>
<span>
(
{{
scope
.
row
.
orderRentVehicleDetail
.
startCityName
}}{{
scope
.
row
.
orderRentVehicleDetail
.
startAddr
}}
)
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"
还
车公司"
>
<el-table-column
width=
"200"
align=
"center"
label=
"
收
车公司"
>
<
template
scope=
"scope"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
endCompanyName
}}
</span><br/>
<span>
{{
scope
.
row
.
endCompanyName
}}
</span><br/>
<span>
(
{{
scope
.
row
.
orderRentVehicleDetail
.
endCityName
}}{{
scope
.
row
.
orderRentVehicleDetail
.
endAddr
}}
)
</span>
<span>
(
{{
scope
.
row
.
orderRentVehicleDetail
.
endCityName
}}{{
scope
.
row
.
orderRentVehicleDetail
.
endAddr
}}
)
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"110"
align=
"center"
label=
"订单
价格
"
>
<el-table-column
width=
"110"
align=
"center"
label=
"订单
金额
"
>
<
template
scope=
"scope"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
orderAmount
}}
</span>
<span>
{{
scope
.
row
.
orderAmount
}}
元
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"110"
align=
"center"
label=
"状态"
>
<el-table-column
width=
"110"
align=
"center"
label=
"
订单
状态"
>
<
template
scope=
"scope"
>
<
template
scope=
"scope"
>
<span
v-if=
"scope.row.status == '2'"
>
取消
</span>
<span
v-if=
"scope.row.status == '2'"
>
取消
</span>
<span
v-if=
"scope.row.status == '3'"
>
待付款
</span>
<span
v-if=
"scope.row.status == '3'"
>
待付款
</span>
...
@@ -94,6 +100,12 @@
...
@@ -94,6 +100,12 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"110"
align=
"center"
label=
"订单详情"
>
<
template
scope=
"scope"
>
<el-button
@
click=
"detailInquiry(scope.row)"
type=
"text"
size=
"small"
>
查看详情
</el-button>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"操作"
width=
"150"
>
<el-table-column
align=
"center"
label=
"操作"
width=
"150"
>
<
template
scope=
"scope"
>
<
template
scope=
"scope"
>
<!--status订单状态\n0--删除\n1--创建订单\n2--取消\n3--待付款\n4--待出行\n5--出行中(进行中)\n6--已完成 refundStatus退款状态 0、未退款 1、已退还所有(取消订单时)2、 已退还部分(保留违章预备金)3、已退还所有押金(扣除该扣除的)-->
<!--status订单状态\n0--删除\n1--创建订单\n2--取消\n3--待付款\n4--待出行\n5--出行中(进行中)\n6--已完成 refundStatus退款状态 0、未退款 1、已退还所有(取消订单时)2、 已退还部分(保留违章预备金)3、已退还所有押金(扣除该扣除的)-->
...
@@ -105,6 +117,8 @@
...
@@ -105,6 +117,8 @@
<!--违章查询弹框-->
<!--违章查询弹框-->
<Illegal
:row=
"currentRow"
v-if=
"illegalVisible"
v-on:illegalEvent =
"illegalEvent"
></Illegal>
<Illegal
:row=
"currentRow"
v-if=
"illegalVisible"
v-on:illegalEvent =
"illegalEvent"
></Illegal>
<!--查看详情弹框-->
<Detail
:row=
"currentRow"
v-if=
"detailVisible"
v-on:detailEvent=
"detailEvent"
></Detail>
<div
v-show=
"!listLoading"
class=
"pagination-container"
>
<div
v-show=
"!listLoading"
class=
"pagination-container"
>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
...
@@ -116,6 +130,7 @@
...
@@ -116,6 +130,7 @@
<
script
>
<
script
>
import
Illegal
from
"./illegalModal"
;
//违章查询
import
Illegal
from
"./illegalModal"
;
//违章查询
import
Detail
from
"./detail"
;
//违章查询
import
{
import
{
formatDate
formatDate
}
from
'../../../utils/dateFormattor'
;
}
from
'../../../utils/dateFormattor'
;
...
@@ -127,6 +142,7 @@
...
@@ -127,6 +142,7 @@
name
:
'branchCompanyStock'
,
name
:
'branchCompanyStock'
,
components
:
{
components
:
{
Illegal
,
Illegal
,
Detail
,
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -140,6 +156,7 @@
...
@@ -140,6 +156,7 @@
state
:
null
state
:
null
},
},
illegalVisible
:
false
,
//违章查询弹框
illegalVisible
:
false
,
//违章查询弹框
detailVisible
:
false
,
rules
:
{
rules
:
{
// companyName: [
// companyName: [
// {
// {
...
@@ -155,12 +172,11 @@
...
@@ -155,12 +172,11 @@
listQuery
:
{
listQuery
:
{
page
:
1
,
page
:
1
,
limit
:
20
,
limit
:
20
,
type
:
1
,
type
:
1
,
no
:
null
,
no
:
null
,
phone
:
null
,
status
:
null
,
status
:
null
,
start
Time
:
undefined
,
start
ZoneId
:
null
,
endTime
:
undefined
startCompanyId
:
null
},
},
dialogFormVisible
:
false
,
dialogFormVisible
:
false
,
dialogStatus
:
''
,
dialogStatus
:
''
,
...
@@ -187,6 +203,13 @@
...
@@ -187,6 +203,13 @@
this
.
currentRow
=
row
;
this
.
currentRow
=
row
;
this
.
illegalVisible
=
true
;
this
.
illegalVisible
=
true
;
},
},
/**
* 操作-查看详情按钮,显示详情弹框
*/
detailInquiry
(
row
){
this
.
currentRow
=
row
;
this
.
detailVisible
=
true
;
},
/**
/**
* 关闭违章查询弹框
* 关闭违章查询弹框
* */
* */
...
@@ -196,6 +219,15 @@
...
@@ -196,6 +219,15 @@
console
.
log
(
params
);
console
.
log
(
params
);
}
}
},
},
/**
* 关闭违章查询弹框
* */
detailEvent
(
params
){
this
.
detailVisible
=
false
;
if
(
params
){
console
.
log
(
params
);
}
},
handleCancel
(
row
)
{
handleCancel
(
row
)
{
this
.
$confirm
(
'此操作将放弃购买, 是否继续?'
,
'提示'
,
{
this
.
$confirm
(
'此操作将放弃购买, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
confirmButtonText
:
'确定'
,
...
@@ -228,13 +260,12 @@
...
@@ -228,13 +260,12 @@
clearSearch
()
{
clearSearch
()
{
this
.
listQuery
=
{
this
.
listQuery
=
{
page
:
1
,
page
:
1
,
limit
:
20
,
limit
:
20
,
type
:
1
,
type
:
1
,
no
:
''
,
no
:
null
,
phone
:
''
,
status
:
null
,
status
:
null
,
start
Time
:
undefined
,
start
ZoneId
:
null
,
endTime
:
undefined
startCompanyId
:
null
}
}
this
.
getList
()
this
.
getList
()
},
},
...
@@ -244,12 +275,12 @@
...
@@ -244,12 +275,12 @@
getList
()
{
getList
()
{
this
.
listLoading
=
true
;
this
.
listLoading
=
true
;
console
.
log
(
this
.
listQuery
)
console
.
log
(
this
.
listQuery
)
if
(
this
.
listQuery
.
startTime
){
//
if(this.listQuery.startTime){
this
.
listQuery
.
startTime
=
this
.
listQuery
.
startTime
.
getTime
();
//
this.listQuery.startTime = this.listQuery.startTime.getTime();
}
//
}
if
(
this
.
listQuery
.
endTime
){
//
if(this.listQuery.endTime){
this
.
listQuery
.
endTime
=
this
.
listQuery
.
endTime
.
getTime
();
//
this.listQuery.endTime = this.listQuery.endTime.getTime();
}
//
}
page
(
this
.
listQuery
)
page
(
this
.
listQuery
)
.
then
(
response
=>
{
.
then
(
response
=>
{
this
.
list
=
response
.
data
.
data
;
this
.
list
=
response
.
data
.
data
;
...
...
src/views/order/tourOrderInfo/detail.vue
0 → 100644
View file @
5be6cf79
<
template
>
<el-dialog
title=
"订单详情"
:visible
.
sync=
"isVisible"
>
<el-form>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"订单号"
>
<span>
{{
row
.
no
}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"支付时间"
>
<span>
{{
row
.
updTime
}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"订单状态"
>
<span
v-if=
"row.status == '2'"
>
取消
</span>
<span
v-if=
"row.status == '3'"
>
待付款
</span>
<span
v-if=
"row.status == '4'"
>
待出行
</span>
<span
v-if=
"row.status == '5'"
>
出行中
</span>
<span
v-if=
"row.status == '6'"
>
已完成
</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=
"24"
>
<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=
"出发地"
>
<span>
{{
row
.
startCompanyName
}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"目的地"
>
<span>
{{
row
.
name
}}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"活动日期"
>
<span>
{{
dateFormat
(
row
.
orderTourDetail
.
startTime
)
}}
</span>
~
<span>
{{
dateFormat
(
row
.
orderTourDetail
.
endTime
)
}}
</span>
</el-form-item>
</el-col>
</el-row>
<!--
<el-table
:data=
"tableData"
border
fit
highlight-current-row
style=
"width: 100%"
>
<el-table-column
width=
"200"
align=
"center"
label=
"房车"
>
<template
scope=
"scope"
>
<span>
{{
scope
.
no
}}
</span>
</
template
>
</el-table-column>
</el-table>
-->
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"sure"
>
确 定
</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
{
isVisible
:
false
,
tableData
:[],
}
},
created
()
{
},
watch
:
{
isVisible
(
newValue
,
oldValue
){
if
(
!
newValue
){
this
.
$emit
(
'detailEvent'
,
false
);
}
},
},
mounted
()
{
let
that
=
this
;
this
.
isVisible
=
true
;
},
computed
:
{
...
mapGetters
([
'elements'
,
]),
getHeaderWithToken
()
{
return
{
Authorization
:
getToken
()};
}
},
methods
:
{
/**
* 弹框-取消
* */
cancel
()
{
this
.
$emit
(
'detailEvent'
,
false
);
},
sure
:
function
(){
this
.
$emit
(
'detailEvent'
,
false
);
},
/**
* 格式化时间
* @param timestamp
* @returns {*}
*/
dateFormat
(
timestamp
)
{
let
date
=
new
Date
(
timestamp
);
//时间戳为10位需*1000,时间戳为13位的话不需乘1000
var
Week
=
[
'周日'
,
'周一'
,
'周二'
,
'周三'
,
'周四'
,
'周五'
,
'周六'
];
var
str
=
formatDate
(
date
,
'yyyy/MM/dd'
)
return
str
+
' '
+
Week
[
date
.
getDay
()];
},
}
}
</
script
>
<
style
>
.el-form-item__content
{
display
:
inline-block
;
}
</
style
>
src/views/order/tourOrderInfo/index.vue
View file @
5be6cf79
...
@@ -3,50 +3,54 @@
...
@@ -3,50 +3,54 @@
<div
class=
"filter-container"
ref=
"filter-container"
>
<div
class=
"filter-container"
ref=
"filter-container"
>
<el-form
ref=
"queryForm"
:model=
"listQuery"
label-width=
"100px"
>
<el-form
ref=
"queryForm"
:model=
"listQuery"
label-width=
"100px"
>
<el-row>
<el-row>
<el-col
:span=
"5"
>
<el-form-item
label=
"订单状态"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.status"
placeholder=
"请选择状态"
>
<el-option
:key=
"null"
label=
"全部订单"
:value=
"null"
></el-option>
<el-option
:key=
"3"
label=
"待支付"
:value=
"3"
></el-option>
<el-option
:key=
"4"
label=
"待出行"
:value=
"4"
></el-option>
<el-option
:key=
"5"
label=
"出行中"
:value=
"5"
></el-option>
<el-option
:key=
"6"
label=
"已完成"
:value=
"6"
></el-option>
<el-option
:key=
"2"
label=
"已取消"
:value=
"2"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<el-form-item
label=
"订单号"
>
<el-form-item
label=
"订单号"
>
<el-input
v-model=
"listQuery.no"
type=
"text"
placeholder=
"请输入订单号"
></el-input>
<el-input
v-model=
"listQuery.no"
type=
"text"
placeholder=
"请输入订单号"
></el-input>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<el-form-item
label=
"
手机号
"
>
<el-form-item
label=
"
所属大区
"
>
<el-input
v-model=
"listQuery.
phone"
placeholder=
"请输入手机号
"
></el-input>
<el-input
v-model=
"listQuery.
startZoneId"
placeholder=
"请输入所属大区
"
></el-input>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"8"
>
<el-col
:span=
"5"
>
<el-form-item
label=
"状态"
>
<el-form-item
label=
"所属公司"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.status"
placeholder=
"请选择状态"
>
<el-input
v-model=
"listQuery.startCompanyId"
placeholder=
"请输入所属公司"
></el-input>
<el-option
:key=
"null"
label=
"无"
:value=
"null"
></el-option>
<el-option
:key=
"2"
label=
"取消"
:value=
"2"
></el-option>
<el-option
:key=
"3"
label=
"待付款"
:value=
"3"
></el-option>
<el-option
:key=
"4"
label=
"待出行"
:value=
"4"
></el-option>
<el-option
:key=
"5"
label=
"出行中"
:value=
"5"
></el-option>
<el-option
:key=
"6"
label=
"已完成"
:value=
"6"
></el-option>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col>
<
!--
<
el-col>
<el-form-item
label=
"时间"
>
<el-form-item
label=
"时间"
>
<el-date-picker
v-model=
"listQuery.startTime"
type =
"date"
placeholder =
"请输入开始时间"
></el-date-picker>
<el-date-picker
v-model=
"listQuery.startTime"
type =
"date"
placeholder =
"请输入开始时间"
></el-date-picker>
<span>
——
</span>
<span>
——
</span>
<el-date-picker
v-model=
"listQuery.endTime"
type =
"date"
placeholder =
"请输入结束时间"
></el-date-picker>
<el-date-picker
v-model=
"listQuery.endTime"
type =
"date"
placeholder =
"请输入结束时间"
></el-date-picker>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
-->
</el-row>
</el-row>
</el-form>
</el-form>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
<
el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"delete"
@
click=
"clearSearch"
>
清除搜索
</el-button
>
<
!--
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"delete"
@
click=
"clearSearch"
>
清除搜索
</el-button>
--
>
</el-button>
</el-button>
</div>
</div>
<el-table
:key=
'tableKey'
:data=
"list"
v-loading
.
body=
"listLoading"
<el-table
:key=
'tableKey'
:data=
"list"
v-loading
.
body=
"listLoading"
border
fit
highlight-current-row
border
fit
highlight-current-row
style=
"width: 100%"
>
style=
"width: 100%"
>
<el-table-column
align=
"center"
label=
"ID"
width=
"70"
>
<
!--
<
el-table-column
align=
"center"
label=
"ID"
width=
"70"
>
<template
scope=
"scope"
>
<template
scope=
"scope"
>
<span>
{{
scope
.
row
.
id
}}
</span>
<span>
{{
scope
.
row
.
id
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
-->
<el-table-column
width=
"200"
align=
"center"
label=
"订单号/创建时间"
>
<el-table-column
width=
"200"
align=
"center"
label=
"订单号/创建时间"
>
<
template
scope=
"scope"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
no
}}
</span><br/>
<span>
{{
scope
.
row
.
no
}}
</span><br/>
...
@@ -97,6 +101,11 @@
...
@@ -97,6 +101,11 @@
<span
v-if=
"scope.row.status == '6'"
>
已完成
</span>
<span
v-if=
"scope.row.status == '6'"
>
已完成
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"110"
align=
"center"
label=
"订单详情"
>
<
template
scope=
"scope"
>
<el-button
@
click=
"detailInquiry(scope.row)"
type=
"text"
size=
"small"
>
查看详情
</el-button>
</
template
>
</el-table-column>
<!-- <el-table-column align="center" label="操作" width="150">
<!-- <el-table-column align="center" label="操作" width="150">
<template scope="scope">
<template scope="scope">
<el-button v-if="btn_buy && scope.row.state == 0" size="small" type="success" @click="handleBuy(scope.row)">订单详情</el-button>
<el-button v-if="btn_buy && scope.row.state == 0" size="small" type="success" @click="handleBuy(scope.row)">订单详情</el-button>
...
@@ -105,6 +114,9 @@
...
@@ -105,6 +114,9 @@
</el-table-column> -->
</el-table-column> -->
</el-table>
</el-table>
<!--查看详情弹框-->
<Detail
:row=
"currentRow"
v-if=
"detailVisible"
v-on:detailEvent=
"detailEvent"
></Detail>
<div
v-show=
"!listLoading"
class=
"pagination-container"
>
<div
v-show=
"!listLoading"
class=
"pagination-container"
>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"listQuery.page"
:page-sizes=
"[10,20,30, 50]"
:page-size=
"listQuery.limit"
:current-page
.
sync=
"listQuery.page"
:page-sizes=
"[10,20,30, 50]"
:page-size=
"listQuery.limit"
...
@@ -114,6 +126,7 @@
...
@@ -114,6 +126,7 @@
</template>
</template>
<
script
>
<
script
>
import
Detail
from
"./detail"
;
//违章查询
import
{
import
{
page
page
}
from
'api/order/rentVehicle'
;
}
from
'api/order/rentVehicle'
;
...
@@ -124,8 +137,12 @@
...
@@ -124,8 +137,12 @@
}
from
'../../../utils/dateFormattor'
;
}
from
'../../../utils/dateFormattor'
;
export
default
{
export
default
{
name
:
'branchCompanyStock'
,
name
:
'branchCompanyStock'
,
components
:
{
Detail
,
},
data
()
{
data
()
{
return
{
return
{
detailVisible
:
false
,
form
:
{
form
:
{
id
:
null
,
id
:
null
,
companyId
:
null
,
companyId
:
null
,
...
@@ -165,11 +182,10 @@
...
@@ -165,11 +182,10 @@
page
:
1
,
page
:
1
,
limit
:
20
,
limit
:
20
,
type
:
2
,
type
:
2
,
no
:
''
,
no
:
null
,
phone
:
''
,
status
:
null
,
status
:
null
,
start
Time
:
undefined
,
start
ZoneId
:
null
,
endTime
:
undefined
startCompanyId
:
null
},
},
dialogFormVisible
:
false
,
dialogFormVisible
:
false
,
dialogStatus
:
''
,
dialogStatus
:
''
,
...
@@ -198,6 +214,22 @@
...
@@ -198,6 +214,22 @@
}
}
},
},
methods
:
{
methods
:
{
/**
* 操作-查看详情按钮,显示详情弹框
*/
detailInquiry
(
row
){
this
.
currentRow
=
row
;
this
.
detailVisible
=
true
;
},
/**
* 关闭违章查询弹框
* */
detailEvent
(
params
){
this
.
detailVisible
=
false
;
if
(
params
){
console
.
log
(
params
);
}
},
handleBuy
(
row
)
{
handleBuy
(
row
)
{
this
.
$confirm
(
'此操作将确认购买, 是否继续?'
,
'提示'
,
{
this
.
$confirm
(
'此操作将确认购买, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
confirmButtonText
:
'确定'
,
...
@@ -271,23 +303,22 @@
...
@@ -271,23 +303,22 @@
page
:
1
,
page
:
1
,
limit
:
20
,
limit
:
20
,
type
:
2
,
type
:
2
,
no
:
''
,
no
:
null
,
phone
:
''
,
status
:
null
,
status
:
null
,
start
Time
:
undefined
,
start
ZoneId
:
null
,
endTime
:
undefined
startCompanyId
:
null
}
}
this
.
getList
()
this
.
getList
()
},
},
getList
()
{
getList
()
{
this
.
listLoading
=
true
;
this
.
listLoading
=
true
;
console
.
log
(
this
.
listQuery
)
console
.
log
(
this
.
listQuery
)
if
(
this
.
listQuery
.
startTime
){
//
if(this.listQuery.startTime){
this
.
listQuery
.
startTime
=
this
.
listQuery
.
startTime
.
getTime
();
//
this.listQuery.startTime = this.listQuery.startTime.getTime();
}
//
}
if
(
this
.
listQuery
.
endTime
){
//
if(this.listQuery.endTime){
this
.
listQuery
.
endTime
=
this
.
listQuery
.
endTime
.
getTime
();
//
this.listQuery.endTime = this.listQuery.endTime.getTime();
}
//
}
page
(
this
.
listQuery
)
page
(
this
.
listQuery
)
.
then
(
response
=>
{
.
then
(
response
=>
{
this
.
list
=
response
.
data
.
data
;
this
.
list
=
response
.
data
.
data
;
...
...
src/views/purseManage/commissionSettings.vue
View file @
5be6cf79
<
template
>
<
template
>
<div>
<div>
<el-form
:model=
"settingList"
ref=
"form"
label-width=
"140px"
style=
"margin-top: 20px;"
>
<el-form
ref=
"form"
label-width=
"140px"
style=
"margin-top: 20px;"
>
<el-row>
<el-row
v-for=
"(item,index) in settingList"
:key=
"index"
>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
v-if=
"item.level==1"
>
<el-form-item
label=
"总部股东分销提成"
>
<el-form-item
label=
"总部股东分销提成"
>
<el-input
v-model=
"
settingList.name
"
placeholder=
"请输入总部股东分销提成"
></el-input>
<el-input
v-model=
"
item.extract
"
placeholder=
"请输入总部股东分销提成"
></el-input>
<span
style=
"color:#bfcbd9;"
>
用户消费,其上线所得提成。提成为百分比,取值0到100之间,超出取值范围按0计算,无上线时无提成
</span>
<span
style=
"color:#bfcbd9;"
>
用户消费,其上线所得提成。提成为百分比,取值0到100之间,超出取值范围按0计算,无上线时无提成
</span>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
<el-col
:span=
"24"
v-if=
"item.level==2"
>
<el-row
>
<el-form-item
label=
"分公司股东分销提成"
>
<el-col
:span=
"24"
>
<el-input
v-model=
"item.extract"
placeholder=
"请输入分公司股东分销提成"
></el-input>
<el-form-item
label=
"分部股东分销提成"
>
<el-input
v-model=
"settingList.name"
placeholder=
"请输入分部股东分销提成"
></el-input>
<span
style=
"color:#bfcbd9;"
>
用户消费,其上线所得提成。提成为百分比,取值0到100之间,超出取值范围按0计算,无上线时无提成
</span>
<span
style=
"color:#bfcbd9;"
>
用户消费,其上线所得提成。提成为百分比,取值0到100之间,超出取值范围按0计算,无上线时无提成
</span>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
<el-col
:span=
"24"
v-if=
"item.level==3"
>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"合伙人分销提成"
>
<el-form-item
label=
"合伙人分销提成"
>
<el-input
v-model=
"
form.name
"
placeholder=
"请输入合伙人分销提成"
></el-input>
<el-input
v-model=
"
item.extract
"
placeholder=
"请输入合伙人分销提成"
></el-input>
<span
style=
"color:#bfcbd9;"
>
用户消费,其上线所得提成。提成为百分比,取值0到100之间,超出取值范围按0计算,无上线时无提成
</span>
<span
style=
"color:#bfcbd9;"
>
用户消费,其上线所得提成。提成为百分比,取值0到100之间,超出取值范围按0计算,无上线时无提成
</span>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
<el-col
:span=
"24"
v-if=
"item.level==4"
>
<el-row>
<el-form-item
label=
"员工分销提成"
>
<el-col
:span=
"24"
>
<el-input
v-model=
"item.extract"
placeholder=
"请输入员工分销提成"
></el-input>
<span
style=
"color:#bfcbd9;"
>
用户消费,其上线所得提成。提成为百分比,取值0到100之间,超出取值范围按0计算,无上线时无提成
</span>
</el-form-item>
</el-col>
<el-col
:span=
"24"
v-if=
"item.level==5"
>
<el-form-item
label=
"代理人分销提成"
>
<el-form-item
label=
"代理人分销提成"
>
<el-input
v-model=
"
form.name
"
placeholder=
"请输入代理人分销提成"
></el-input>
<el-input
v-model=
"
item.extract
"
placeholder=
"请输入代理人分销提成"
></el-input>
<span
style=
"color:#bfcbd9;"
>
用户消费,其上线所得提成。提成为百分比,取值0到100之间,超出取值范围按0计算,无上线时无提成
</span>
<span
style=
"color:#bfcbd9;"
>
用户消费,其上线所得提成。提成为百分比,取值0到100之间,超出取值范围按0计算,无上线时无提成
</span>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
<el-col
:span=
"24"
v-if=
"item.level==0"
>
<el-row>
<el-form-item
label=
"普通用户分销提成"
>
<el-col
:span=
"24"
>
<el-input
v-model=
"item.extract"
placeholder=
"请输入普通用户分销提成"
></el-input>
<el-form-item
label=
"员工分销提成"
>
<el-input
v-model=
"form.name"
placeholder=
"请输入员工分销提成"
></el-input>
<span
style=
"color:#bfcbd9;"
>
用户消费,其上线所得提成。提成为百分比,取值0到100之间,超出取值范围按0计算,无上线时无提成
</span>
<span
style=
"color:#bfcbd9;"
>
用户消费,其上线所得提成。提成为百分比,取值0到100之间,超出取值范围按0计算,无上线时无提成
</span>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row><el-row>
</el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"普通用户分销提成"
>
<el-input
v-model=
"form.name"
placeholder=
"请输入普通用户分销提成"
></el-input>
<span
style=
"color:#bfcbd9;"
>
用户消费,其上线所得提成。提成为百分比,取值0到100之间,超出取值范围按0计算,无上线时无提成
</span>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"create()"
>
立即提交
</el-button>
<el-button
type=
"primary"
@
click=
"create()"
>
立即提交
</el-button>
...
@@ -117,25 +109,38 @@
...
@@ -117,25 +109,38 @@
})
})
},
},
create
(
formName
)
{
create
(
formName
)
{
// this.$refs[formName].validate(valid => {
var
that
=
this
;
// if (valid) {
var
arr
=
[];
// addObj(this.form).then(() => {
that
.
settingList
.
forEach
(
function
(
item
){
// this.dialogFormVisible = false;
if
(
item
.
extract
==
''
){
// this.getList();
this
.
$notify
({
// this.$notify({
title
:
'警告'
,
// title: '成功',
message
:
'请输入'
+
item
.
name
+
'提成'
,
// message: '创建成功',
type
:
'warning'
// type: 'success',
});
// duration: 2000
return
false
;
// });
}
// })
var
obj
=
{}
// } else {
obj
.
id
=
item
.
id
;
// return false;
obj
.
extract
=
item
.
extract
// }
arr
.
push
(
obj
)
// });
})
// console.log(JSON.stringify(arr))
// var Obj = JSON.stringify(arr)
rewardSetting
(
arr
).
then
(()
=>
{
this
.
$notify
({
title
:
'修改成功'
,
message
:
'修改成功'
,
type
:
'success'
});
this
.
getSetting
();
})
},
},
cancel
:
function
(
formName
){
cancel
:
function
(
formName
){
this
.
$refs
[
formName
].
resetFields
();
var
that
=
this
;
that
.
settingList
.
forEach
(
function
(
item
){
item
.
extract
=
''
})
}
}
}
}
}
}
...
...
src/views/purseManage/incomeOverview.vue
View file @
5be6cf79
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
</el-col>
</el-col>
</el-row>
</el-row>
</el-form>
</el-form>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
筛选
</el-button>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
</div>
</div>
<el-table
:key=
'tableKey'
:data=
"list"
border
fit
highlight-current-row
<el-table
:key=
'tableKey'
:data=
"list"
border
fit
highlight-current-row
style=
"width: 100%;"
>
style=
"width: 100%;"
>
...
...
src/views/userManagement/memberEnter.vue
0 → 100644
View file @
5be6cf79
<
template
>
<div
class=
"app-container calendar-list-container"
>
<div
class=
"filter-container"
>
<el-form
ref=
"queryForm"
:model=
"listQuery"
label-width=
"100px"
>
<el-row>
<el-col
:span=
"4"
>
<el-form-item
label=
"手机号"
>
<el-input
v-model
.
number=
"listQuery.username"
placeholder=
"请输入手机号"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"导入时间"
>
<el-date-picker
v-model=
"listQuery.startTime"
type=
"date"
:editable=
"true"
format=
"yyyy-MM-dd"
placeholder=
"选择日期"
></el-date-picker>
~
<el-date-picker
v-model=
"listQuery.endTime"
type=
"date"
:editable=
"true"
format=
"yyyy-MM-dd"
placeholder=
"选择日期"
></el-date-picker>
</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-left: 10px;"
@
click=
"newMember"
type=
"primary"
icon=
"edit"
>
新增会员
</el-button>
<el-button
class=
"filter-item"
style=
"margin-left: 10px;"
@
click=
"bulkUpload"
type=
"primary"
icon=
"edit"
>
批量导入会员
</el-button>
</div>
<el-table
:key=
'tableKey'
:data=
"list"
v-loading
.
body=
"listLoading"
border
fit
highlight-current-row
style=
"width: 1212px;"
>
<el-table-column
width=
"150"
align=
"center"
label=
"手机号"
>
<template
scope=
"scope"
>
<span>
{{
scope
.
row
.
username
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"150"
align=
"center"
label=
"会员等级"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
memberLevel
==
3
?
"钻石会员"
:
scope
.
row
.
memberLevel
==
2
?
"黄金会员"
:
scope
.
row
.
memberLevel
==
1
?
"普通会员"
:
"普通用户"
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"150"
align=
"center"
label=
"免费天数"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
totalNumber
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"150"
align=
"center"
label=
"剩余天数"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
rentFreeDays
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"录入时间"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
crtTimeStr
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"状态"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
status
==
1
?
"已核销"
:
"未核销"
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"110"
align=
"center"
label=
"操作人"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
crtName
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"操作"
width=
"100"
>
<
template
scope=
"scope"
>
<el-popover
ref=
"popover5"
placement=
"top"
width=
"160"
v-model=
"scope.row.visible2"
>
<p>
确定删除吗?
</p>
<div
style=
"text-align: right; margin: 0"
>
<el-button
size=
"mini"
type=
"text"
@
click=
"scope.row.visible2 = false"
>
取消
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"deleteHandler(scope.row)"
>
确定
</el-button>
</div>
</el-popover>
<el-button
type=
"danger"
size=
"small"
v-popover:popover5
>
删除
</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>
<!-- 新建会员窗口-->
<el-dialog
title=
"新建会员"
:visible
.
sync=
"newMemberArea"
width=
"10%"
>
<el-form
:model=
"newMemberObject"
:rules=
"newMemberObjectVerify"
ref=
"nmo"
label-width=
"100px"
>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"会员等级"
>
<el-select
class=
"filter-item"
v-model=
"newMemberObject.memberLevel"
placeholder=
"选择会员等级"
>
<el-option
:key=
"undefined"
label=
"无"
:value=
"undefined"
></el-option>
<el-option
v-for=
"(val, key, index) in memberLevelist "
:key=
"val.id"
:label=
"val.name"
:value=
"val.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"手机号"
placeholder=
"手机号"
prop=
"phone"
>
<el-input
size=
"small "
type=
"text"
v-model=
"newMemberObject.phone"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"免费天数"
placeholder=
"免费天数"
prop=
"totalNumber"
>
<el-input
size=
"small "
type=
"text"
v-model=
"newMemberObject.totalNumber"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"剩余天数"
placeholder=
"剩余天数"
prop=
"rentFreeDays"
>
<el-input
size=
"small "
type=
"text"
v-model=
"newMemberObject.rentFreeDays"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"cancelNewMemberArea('nmo')"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"setNewMemberObject('nmo')"
>
确 定
</el-button>
</div>
</el-dialog>
<!--批量导入会员窗口-->
<el-dialog
title=
"导入会员"
:visible
.
sync=
"bulkUploadMember"
>
<el-form
:model=
"fileForm"
>
<el-form-item
label=
"上传文件"
:label-width=
"formLabelWidth"
>
<el-button
type=
"primary"
icon=
"el-icon-download"
>
<a
class=
"el-icon-download"
:href=
"BASE_API+'/api/admin/admin/member/app/unauth/user/excel_model/dowload'"
>
下载模板
</a>
</el-button>
<el-upload
ref=
"uploadExcel"
:limit=
limitNum
action=
"1111"
:headers=
"getHeaderWithToken"
accept=
".xlsx"
:http-request=
"upLoad"
:on-remove=
"handleRemove"
:before-remove=
"beforeRemove"
:before-upload=
"beforeUploadFile"
:on-change=
"fileChange"
:on-exceed=
"exceedFile"
:file-list=
"fileList"
>
<el-button
size=
"small"
type=
"primary"
icon=
"el-icon-edit"
>
上传文件
<i
class=
"el-icon-upload el-icon--right"
>
</i></el-button>
<div
slot=
"tip"
class=
"el-upload__tip"
>
只能上传xlsx(Excel2007以上版本)文件,且不超过10M
</div>
</el-upload>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
class=
"filter-item"
@
click=
"cancelNotDeleteForm"
>
取消
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
getMemberEntryList
,
delMemberObj
}
from
'src/api/admin/userManagement/index'
;
import
{
getToken
}
from
'src/utils/auth'
;
import
{
mapGetters
}
from
'vuex'
;
import
{
getUserMemberByUserId
}
from
'src/api/admin/baseUserMember/index'
;
import
{
timestamp2Date
}
from
'src/utils/dateUtils'
;
import
{
page
}
from
'src/api/order/memeber'
;
import
{
UploadMembershipList
,
saveNewMemberObject
}
from
'src/api/admin/UserMember/index'
;
import
{
formatDate
}
from
"../../utils/dateFormattor"
;
import
ElRow
from
"element-ui/packages/row/src/row"
;
import
ElCol
from
"element-ui/packages/col/src/col"
;
export
default
{
components
:
{
ElCol
,
ElRow
},
name
:
'appUser'
,
data
()
{
return
{
validTime
:
''
,
userMembershipInformation
:
{
memberLevel
:
undefined
,
validTime
:
''
,
buyCount
:
undefined
,
totalNumber
:
undefined
,
rentFreeDays
:
undefined
,
id
:
undefined
,
userId
:
undefined
},
memberLevelist
:
[{
id
:
1
,
name
:
'普通会员'
},
{
id
:
2
,
name
:
'黄金会员'
},
{
id
:
3
,
name
:
'钻石会员'
}],
saveUserId
:
undefined
,
validityType
:
'无'
,
userOrderMessage
:
{},
BASE_API
:
process
.
env
.
BASE_API
,
userDetails
:
{},
limitNum
:
1
,
formLabelWidth
:
'80px'
,
fileForm
:
{
file
:
''
},
fileList
:
[],
errorHandler
:
true
,
list
:
null
,
total
:
null
,
orderTotal
:
null
,
listLoading
:
true
,
orderListLoading
:
true
,
newMemberObject
:
{
phone
:
undefined
,
memberLevel
:
undefined
,
totalNumber
:
undefined
,
rentFreeDays
:
undefined
},
orderQuery
:
{
limit
:
10
,
page
:
1
,
userId
:
undefined
,
type
:
undefined
,
status
:
undefined
},
newMemberObjectVerify
:
{
phone
:
[
{
required
:
true
,
message
:
'手机号'
,
trigger
:
'blur'
},
],
memberLevel
:
[
{
required
:
true
,
message
:
'会员等级'
,
trigger
:
'blur'
},
],
totalNumber
:
[
{
required
:
true
,
message
:
'免费天数'
,
trigger
:
'blur'
},
],
rentFreeDays
:
[
{
required
:
true
,
message
:
'剩余总天天数'
,
trigger
:
'blur'
},
],
},
listQuery
:
{
page
:
1
,
limit
:
20
,
startTime
:
undefined
,
username
:
undefined
,
endTime
:
undefined
,
},
newMemberArea
:
false
,
bulkUploadMember
:
false
,
dialogStatus
:
''
,
userManager_btn_del
:
false
,
myGroups
:
[],
loading
:
false
,
tableKey
:
0
,
selectedAccItem
:
undefined
}
},
created
()
{
this
.
getList
();
}
,
computed
:
{
...
mapGetters
([
'elements'
]),
/**
* 获取token
*/
getHeaderWithToken
()
{
return
{
Authorization
:
getToken
()};
},
},
methods
:
{
/**
* 上传
*/
upLoad
(
file
)
{
var
form
=
new
FormData
();
// 文件对象
form
.
append
(
"file"
,
file
.
file
);
UploadMembershipList
(
form
)
.
then
(
res
=>
{
if
(
res
.
rel
)
{
this
.
$notify
.
success
({
title
:
'上传成功'
,
message
:
`success`
});
this
.
bulkUploadMember
=
false
;
this
.
getList
();
}
else
{
this
.
$notify
.
warning
({
title
:
'上传失败'
,
message
:
`failed`
})
}
this
.
getList
();
})
},
/**
* 删除
* */
deleteHandler
(
row
)
{
delMemberObj
(
row
.
id
).
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
this
.
$notify
({
title
:
'成功'
,
message
:
'删除成功'
,
type
:
'success'
,
duration
:
2000
});
this
.
getList
();
}
else
{
this
.
$notify
({
title
:
'删除失败'
,
message
:
response
.
message
?
response
.
message
:
'操作失败!'
,
type
:
'error'
,
duration
:
2000
});
}
});
},
//excel上传
handleRemove
(
file
,
fileList
)
{
console
.
log
(
file
,
fileList
);
},
handlePreview
(
file
)
{
console
.
log
(
file
);
},
beforeRemove
(
file
,
fileList
)
{
return
this
.
$confirm
(
`确定移除
${
file
.
name
}
?`
);
},
// 文件超出个数限制时的钩子
exceedFile
(
files
,
fileList
)
{
this
.
$notify
.
warning
({
title
:
'警告'
,
message
:
`只能选择
${
this
.
limitNum
}
个文件,当前共选择了
${
files
.
length
+
fileList
.
length
}
个`
});
},
// 文件状态改变时的钩子
fileChange
(
file
,
fileList
)
{
console
.
log
(
'change'
)
console
.
log
(
file
)
this
.
fileForm
.
file
=
file
.
raw
console
.
log
(
this
.
fileForm
.
file
)
console
.
log
(
fileList
)
},
// 上传文件之前的钩子, 参数为上传的文件,若返回 false 或者返回 Promise 且被 reject,则停止上传
beforeUploadFile
(
file
)
{
console
.
log
(
'before upload'
)
console
.
log
(
file
)
let
extension
=
file
.
name
.
substring
(
file
.
name
.
lastIndexOf
(
'.'
)
+
1
)
let
size
=
file
.
size
/
1024
/
1024
if
(
extension
!==
'xlsx'
)
{
this
.
$notify
.
warning
({
title
:
'警告'
,
message
:
`只能上传Excel 2007以上版本(即后缀是.xlsx)的文件`
});
}
if
(
size
>
10
)
{
this
.
$notify
.
warning
({
title
:
'警告'
,
message
:
`文件大小不得超过10M`
});
}
},
/**
* 弹出导入窗体
*/
bulkUpload
()
{
this
.
bulkUploadMember
=
true
},
/**
* 获取用户列表
*/
getList
()
{
let
query
=
this
.
listQuery
;
console
.
log
(
typeof
this
.
listQuery
.
startTime
);
if
(
this
.
listQuery
.
startTime
&&
(
typeof
this
.
listQuery
.
startTime
==
"object"
)){
this
.
listQuery
.
startTime
=
this
.
listQuery
.
startTime
.
getTime
();
}
if
(
this
.
listQuery
.
endTime
&&
(
typeof
this
.
listQuery
.
endTime
==
"object"
)){
this
.
listQuery
.
endTime
=
this
.
listQuery
.
endTime
.
getTime
();
}
getMemberEntryList
(
query
)
.
then
(
response
=>
{
let
totalCountRs
=
undefined
;
let
listRs
=
undefined
;
if
(
!
this
.
$utils
.
isEmpty
(
response
.
data
.
data
)
&&
this
.
$utils
.
isInteger
(
response
.
data
.
totalCount
))
{
listRs
=
response
.
data
.
data
;
totalCountRs
=
response
.
data
.
totalCount
;
listRs
.
map
(
function
(
item
){
item
.
visible2
=
false
;
item
.
crtTimeStr
=
timestamp2Date
(
item
.
crtTime
);
});
}
this
.
list
=
listRs
;
this
.
total
=
totalCountRs
;
this
.
listLoading
=
false
;
})
},
/**
* 搜索
*/
handleFilter
()
{
this
.
getList
();
},
handleSizeChange
(
val
)
{
this
.
listQuery
.
limit
=
val
;
this
.
getList
();
},
handleCurrentChange
(
val
)
{
this
.
listQuery
.
page
=
val
;
this
.
getList
();
},
handleCreate
()
{
this
.
dialogStatus
=
'create'
;
},
/**
* 显示新增会员窗口
* @param row
*/
newMember
()
{
this
.
newMemberArea
=
true
},
/**
* 提交新增会员
*/
setNewMemberObject
(
formName
)
{
saveNewMemberObject
(
this
.
newMemberObject
)
.
then
(
res
=>
{
if
(
res
.
rel
)
{
this
.
$notify
.
success
({
title
:
'新增成功'
,
message
:
`success`
})
}
else
{
this
.
$notify
.
warning
({
title
:
'新增失败'
,
message
:
`failed`
})
}
this
.
newMemberArea
=
false
this
.
$refs
[
formName
].
resetFields
()
this
.
getList
();
})
},
/**
* 关闭窗口,清除批量上传
*/
cancelNotDeleteForm
()
{
this
.
bulkUploadMember
=
false
;
this
.
$refs
.
uploadExcel
.
clearFiles
();
},
//新增会员
cancelNewMemberArea
(
formName
)
{
this
.
newMemberArea
=
false
this
.
$refs
[
formName
].
resetFields
();
}
}
}
</
script
>
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