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
e0ac9fd3
Commit
e0ac9fd3
authored
Sep 26, 2019
by
denghr
Browse files
Options
Browse Files
Download
Plain Diff
解决冲突
parents
05b6e7de
744f2961
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
1126 additions
and
68 deletions
+1126
-68
dev.env.js
config/dev.env.js
+1
-1
package-lock.json
package-lock.json
+47
-16
index.js
src/api/admin/UserMember/index.js
+8
-0
index.js
src/api/admin/userManagement/index.js
+37
-1
index.js
src/router/index.js
+28
-2
index.vue
src/views/admin/user/index.vue
+2
-0
index.vue
src/views/order/orderStatistics/index.vue
+146
-0
index.vue
src/views/summit/summitList/index.vue
+229
-0
tourTime.vue
src/views/tourManage/modal/tourTime.vue
+3
-0
employeesInput.vue
src/views/userManagement/employeesInput.vue
+472
-0
index.vue
src/views/vehicle/bookRecord/index.vue
+1
-1
vehiclePlanModal.vue
src/views/vehicle/vehicleSchedulManage/vehiclePlanModal.vue
+152
-47
No files found.
config/dev.env.js
View file @
e0ac9fd3
module
.
exports
=
{
NODE_ENV
:
'"development"'
,
BASE_API
:
'"http
://10.1.37.246:8765
"'
,
//'"https://xxfcmgmt.upyuns.com"(正)',//http://10.1.37.192:9527(何), //https://xxtest.upyuns.com(测),10.1.37.246:9527(韩), 10.1.37.244(李斌)10.1.37.248:8765(小威)
BASE_API
:
'"http
s://xxtest.upyuns.com
"'
,
//'"https://xxfcmgmt.upyuns.com"(正)',//http://10.1.37.192:9527(何), //https://xxtest.upyuns.com(测),10.1.37.246:9527(韩), 10.1.37.244(李斌)10.1.37.248:8765(小威)
APP_ORIGIN
:
'"https://wallstreetcn.com"'
}
package-lock.json
View file @
e0ac9fd3
...
...
@@ -3911,7 +3911,8 @@
"version"
:
"2.1.1"
,
"resolved"
:
"https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
,
"integrity"
:
"sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
"aproba"
:
{
"version"
:
"1.1.1"
,
...
...
@@ -3988,6 +3989,7 @@
"resolved"
:
"https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz"
,
"integrity"
:
"sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"inherits"
:
"~2.0.0"
}
...
...
@@ -3997,6 +3999,7 @@
"resolved"
:
"https://registry.npmjs.org/boom/-/boom-2.10.1.tgz"
,
"integrity"
:
"sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"hoek"
:
"2.x.x"
}
...
...
@@ -4016,7 +4019,8 @@
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz"
,
"integrity"
:
"sha1-mXjOMXOIxkmth5MCjDR37wRKi1E="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
"caseless"
:
{
"version"
:
"0.12.0"
,
...
...
@@ -4036,7 +4040,8 @@
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz"
,
"integrity"
:
"sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
"combined-stream"
:
{
"version"
:
"1.0.5"
,
...
...
@@ -4059,13 +4064,15 @@
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz"
,
"integrity"
:
"sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
"core-util-is"
:
{
"version"
:
"1.0.2"
,
"resolved"
:
"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
,
"integrity"
:
"sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
"cryptiles"
:
{
"version"
:
"2.0.5"
,
...
...
@@ -4148,7 +4155,8 @@
"version"
:
"1.0.2"
,
"resolved"
:
"https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz"
,
"integrity"
:
"sha1-4QgOBljjALBilJkMxw4VAiNf1VA="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
"forever-agent"
:
{
"version"
:
"0.6.1"
,
...
...
@@ -4173,13 +4181,15 @@
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
,
"integrity"
:
"sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
"fstream"
:
{
"version"
:
"1.0.11"
,
"resolved"
:
"https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz"
,
"integrity"
:
"sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"graceful-fs"
:
"^4.1.2"
,
"inherits"
:
"~2.0.0"
,
...
...
@@ -4240,6 +4250,7 @@
"resolved"
:
"https://registry.npmjs.org/glob/-/glob-7.1.2.tgz"
,
"integrity"
:
"sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ=="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"fs.realpath"
:
"^1.0.0"
,
"inflight"
:
"^1.0.4"
,
...
...
@@ -4253,7 +4264,8 @@
"version"
:
"4.1.11"
,
"resolved"
:
"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"
,
"integrity"
:
"sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
"har-schema"
:
{
"version"
:
"1.0.5"
,
...
...
@@ -4297,7 +4309,8 @@
"version"
:
"2.16.3"
,
"resolved"
:
"https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
,
"integrity"
:
"sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
"http-signature"
:
{
"version"
:
"1.1.1"
,
...
...
@@ -4316,6 +4329,7 @@
"resolved"
:
"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"
,
"integrity"
:
"sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"once"
:
"^1.3.0"
,
"wrappy"
:
"1"
...
...
@@ -4325,7 +4339,8 @@
"version"
:
"2.0.3"
,
"resolved"
:
"https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
,
"integrity"
:
"sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
"ini"
:
{
"version"
:
"1.3.4"
,
...
...
@@ -4339,6 +4354,7 @@
"resolved"
:
"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz"
,
"integrity"
:
"sha1-754xOG8DGn8NZDr4L95QxFfvAMs="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"number-is-nan"
:
"1.0.1"
}
...
...
@@ -4354,7 +4370,8 @@
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
,
"integrity"
:
"sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
"isstream"
:
{
"version"
:
"0.1.2"
,
...
...
@@ -4455,6 +4472,7 @@
"resolved"
:
"https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz"
,
"integrity"
:
"sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA=="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"brace-expansion"
:
"1.1.7"
}
...
...
@@ -4471,6 +4489,7 @@
"resolved"
:
"https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"
,
"integrity"
:
"sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"minimist"
:
"0.0.8"
}
...
...
@@ -4550,6 +4569,7 @@
"resolved"
:
"https://registry.npmjs.org/once/-/once-1.4.0.tgz"
,
"integrity"
:
"sha1-WDsap3WWHUsROsF9nFC6753Xa9E="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"wrappy"
:
"1"
}
...
...
@@ -4583,7 +4603,8 @@
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
,
"integrity"
:
"sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
"performance-now"
:
{
"version"
:
"0.2.0"
,
...
...
@@ -4596,7 +4617,8 @@
"version"
:
"1.0.7"
,
"resolved"
:
"https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz"
,
"integrity"
:
"sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
"punycode"
:
{
"version"
:
"1.4.1"
,
...
...
@@ -4639,6 +4661,7 @@
"resolved"
:
"https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz"
,
"integrity"
:
"sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"buffer-shims"
:
"~1.0.0"
,
"core-util-is"
:
"~1.0.0"
,
...
...
@@ -4685,6 +4708,7 @@
"resolved"
:
"https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz"
,
"integrity"
:
"sha1-wjOOxkPfeht/5cVPqG9XQopV8z0="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"glob"
:
"^7.0.5"
}
...
...
@@ -4693,7 +4717,8 @@
"version"
:
"5.0.1"
,
"resolved"
:
"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz"
,
"integrity"
:
"sha1-0mPKVGls2KMGtcplUekt5XkY++c="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
"semver"
:
{
"version"
:
"5.3.0"
,
...
...
@@ -4758,6 +4783,7 @@
"resolved"
:
"https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz"
,
"integrity"
:
"sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"code-point-at"
:
"^1.0.0"
,
"is-fullwidth-code-point"
:
"^1.0.0"
,
...
...
@@ -4769,6 +4795,7 @@
"resolved"
:
"https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz"
,
"integrity"
:
"sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"safe-buffer"
:
"^5.0.1"
}
...
...
@@ -4785,6 +4812,7 @@
"resolved"
:
"https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
,
"integrity"
:
"sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"ansi-regex"
:
"^2.0.0"
}
...
...
@@ -4801,6 +4829,7 @@
"resolved"
:
"https://registry.npmjs.org/tar/-/tar-2.2.1.tgz"
,
"integrity"
:
"sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"block-stream"
:
"*"
,
"fstream"
:
"^1.0.2"
,
...
...
@@ -4862,7 +4891,8 @@
"version"
:
"1.0.2"
,
"resolved"
:
"https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
,
"integrity"
:
"sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
"uuid"
:
{
"version"
:
"3.0.1"
,
...
...
@@ -4895,7 +4925,8 @@
"version"
:
"1.0.2"
,
"resolved"
:
"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
,
"integrity"
:
"sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
}
}
},
...
...
src/api/admin/UserMember/index.js
View file @
e0ac9fd3
...
...
@@ -16,3 +16,11 @@ export function saveNewMemberObject(obj) {
});
}
export
function
staffImport
(
form
)
{
return
fetch
({
url
:
'/api/admin/postion/admin/excel/import'
,
method
:
'post'
,
data
:
form
});
}
src/api/admin/userManagement/index.js
View file @
e0ac9fd3
...
...
@@ -79,4 +79,40 @@ export function userPosition(obj) {
url
:
'/api/admin/appUsersManage/user_position?id='
+
obj
.
id
+
'&positionId='
+
obj
.
positionId
,
method
:
'put'
,
});
}
\ No newline at end of file
}
// 用户身份录入列表
export
function
staffList
(
obj
)
{
return
fetch
({
url
:
'/api/admin/postion/admin/page'
,
method
:
'post'
,
data
:
obj
});
}
// 身份列表
export
function
postions
(
obj
)
{
return
fetch
({
url
:
'/api/admin/postion/admin/postions'
,
method
:
'get'
,
data
:
obj
});
}
// 添加员工
export
function
addEditor
(
obj
)
{
return
fetch
({
url
:
'/api/admin/postion/admin/add'
,
method
:
'post'
,
data
:
obj
});
}
//删除员工
export
function
deleteStaffs
(
id
)
{
return
fetch
({
url
:
'/api/admin/postion/admin/'
+
id
,
method
:
'delete'
});
}
src/router/index.js
View file @
e0ac9fd3
...
...
@@ -426,6 +426,12 @@ export const asyncRouterMap = [{
component
:
_import
(
'order/memberOrderInfo/index'
),
name
:
'会员订单管理'
,
authority
:
'memberOrderInfo'
},
{
path
:
'orderStatistics'
,
component
:
_import
(
'order/orderStatistics/index'
),
name
:
'会员订单统计'
,
authority
:
'orderStatistics'
}
]
},
...
...
@@ -478,7 +484,7 @@ export const asyncRouterMap = [{
{
path
:
'memberManagement'
,
component
:
_import
(
'userManagement/memberManagement/index'
),
name
:
'会员管理'
,
name
:
'会员管理
1
'
,
authority
:
'memberManagement'
},
{
...
...
@@ -491,7 +497,12 @@ export const asyncRouterMap = [{
path
:
'imCustomerServiceManger'
,
component
:
_import
(
'userManagement/imCustomerServiceManger/cusomterServiceList'
),
name
:
'客服列表'
,
authority
:
'imCustomerServiceManger'
authority
:
'imCustomerServiceManger'
},{
path
:
'employeesInput'
,
component
:
_import
(
'userManagement/employeesInput'
),
name
:
'员工录入'
,
authority
:
'employeesInput'
}
]
},
...
...
@@ -528,6 +539,21 @@ export const asyncRouterMap = [{
}
]
},
{
path
:
'/summit'
,
component
:
Layout
,
name
:
'峰会管理'
,
icon
:
'setting'
,
authority
:
'summit'
,
children
:
[
{
path
:
'summitList'
,
component
:
_import
(
'summit/summitList/index'
),
name
:
'峰会列表'
,
authority
:
'summitList'
}
]
},
{
path
:
'/cunponManagements'
,
component
:
Layout
,
...
...
src/views/admin/user/index.vue
View file @
e0ac9fd3
...
...
@@ -546,6 +546,7 @@
}
},
resetTemp
()
{
this
.
membersName
=
undefined
;
this
.
editCompanyId
=
undefined
;
this
.
form
=
{
username
:
undefined
,
...
...
@@ -563,6 +564,7 @@
dataLimit
:
undefined
,
//数据权限
members
:
[],
};
// this.form = {
// username: undefined,
// name: undefined,
...
...
src/views/order/orderStatistics/index.vue
0 → 100644
View file @
e0ac9fd3
<
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=
"5"
>
<el-form-item
label=
"统计时间:"
>
<el-date-picker
v-model=
"listQuery.time"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"changeTime"
placeholder=
"请选择统计时间"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"统计方式:"
class=
"wayMsg"
>
<span
v-for=
"(item,index) in way"
:key=
"index"
:class=
"
{active:isactive==item.label}"
@click="changeWay(item.label)"
>
{{
item
.
label
}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"5"
style=
"float:right;text-align:right"
>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
@
click=
"handleFilter"
>
导出为Excel
</el-button>
</el-col>
</el-row>
</el-form>
<el-table
:key=
"tableKey"
:data=
"list"
border
fit
highlight-current-row
style=
"width: 100%"
>
<el-table-column
align=
"center"
label=
"时间"
>
<template
scope=
"scope"
>
<span>
{{
scope
.
row
.
id
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"普通会员购买量"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
no
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"支付金额(普通会员)"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
name
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"黄金会员购买量"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
name
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"支付金额(普通会员)"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
name
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"支付金额(黄金会员)"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
name
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"钻石会员购买量"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
name
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"支付金额(钻石会员)"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
name
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"总支付金额"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
name
}}
</span>
</
template
>
</el-table-column>
</el-table>
</div>
</div>
</template>
<
script
>
export
default
{
created
()
{},
data
()
{
return
{
// 统计时间筛选
listQuery
:
{
time
:
"null"
},
//统计方式筛选
way
:
[
{
label
:
"全部"
,
id
:
"0"
},
{
label
:
"日统计"
,
id
:
"1"
},
{
label
:
"周统计"
,
id
:
"2"
},
{
label
:
"月统计"
,
id
:
"3"
}
],
isactive
:
"全部"
};
},
methods
:
{
//统计时间筛选
changeTime
()
{
console
.
log
(
"----"
);
},
//统计方式筛选
changeWay
(
val
)
{
this
.
isactive
=
val
;
},
//导出
handleFilter
()
{}
}
};
</
script
>
<
style
>
.wayMsg
span
{
margin
:
10px
;
cursor
:
pointer
;
}
.active
{
color
:
#409eff
;
font-weight
:
bold
;
}
</
style
>
\ No newline at end of file
src/views/summit/summitList/index.vue
0 → 100644
View file @
e0ac9fd3
<
template
>
<div
class=
"app-container calendar-list-container"
>
<div
class=
"filter-container"
>
<el-form
:model=
"listQuery"
label-width=
"100px"
>
<el-row>
<el-col
:span=
"4"
>
<el-form-item
label=
"峰会名称"
>
<el-input
v-model
.
number=
"listQuery.name"
placeholder=
"请输入手机号"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"开始时间"
>
<el-date-picker
v-model=
"listQuery.time"
type=
"date"
placeholder=
"选择日期"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<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
v-for=
"(item,index) in statusList "
:key=
"index"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<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=
"cleaningQuery"
>
清除搜索条件
</el-button>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"el-icon-plus"
@
click=
"creatSummit"
>
创建峰会
</el-button>
</el-form>
<el-table
:data=
"list"
border
fit
highlight-current-row
style=
"width: 100%"
>
<el-table-column
prop=
"name"
label=
"姓名"
width=
"180"
align=
"center"
></el-table-column>
<el-table-column
prop=
"phone"
label=
"手机号"
align=
"center"
></el-table-column>
<el-table-column
prop=
"positionName"
label=
"身份"
align=
"center"
></el-table-column>
<el-table-column
align=
"center"
label=
"操作"
width=
"400"
fixed=
"right"
>
<template
scope=
"scope"
>
<el-button
size=
"small"
class=
"el-button el-button--text el-button--small"
@
click=
"soldOut(scope.row)"
>
下架
</el-button>
<el-button
size=
"small"
class=
"el-button el-button--text el-button--small"
@
click=
"information(scope.row)"
>
报名信息
</el-button>
<el-button
size=
"small"
class=
"el-button el-button--text el-button--small"
@
click=
"basics(scope.row)"
>
基础信息
</el-button>
<el-button
size=
"small"
class=
"el-button el-button--text el-button--small"
@
click=
"applyPage(scope.row)"
>
报名页面
</el-button>
<el-button
size=
"small"
class=
"el-button el-button--text el-button--small"
@
click=
"lookPage(scope.row)"
>
回顾页面
</el-button>
<el-button
size=
"small"
class=
"el-button el-button--text el-button--small"
@
click=
"deleteMsg(scope.row)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<el-dialog
:title=
"summitTitle"
:visible
.
sync=
"bulkUploadMember"
class=
"member"
@
close=
"closeAdd"
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"标题:"
prop=
"title"
>
<el-input
v-model=
"ruleForm.title"
></el-input>
</el-form-item>
<el-form-item
label=
"封面图:"
prop=
"title"
>
<el-upload
class=
"avatar-uploader"
action=
"https://jsonplaceholder.typicode.com/posts/"
:show-file-list=
"false"
:on-success=
"handleAvatarSuccess"
:before-upload=
"beforeAvatarUpload"
>
<img
v-if=
"imageUrl"
:src=
"imageUrl"
class=
"avatar"
/>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
></i>
</el-upload>
</el-form-item>
<el-form-item
label=
"峰会时间:"
prop=
"title"
>
<el-date-picker
v-model=
"ruleForm.time"
type=
"datetimerange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"submitForm('ruleForm')"
>
确定
</el-button>
<el-button
@
click=
"bulkUploadMember = false"
>
取消
</el-button>
</el-form-item>
</el-form>
</el-dialog>
</div>
</div>
</template>
<
script
>
export
default
{
created
()
{},
data
()
{
return
{
imageUrl
:
""
,
//快捷筛选
listQuery
:
{
name
:
""
,
time
:
null
,
status
:
null
},
//峰会状态
statusList
:
[],
// 表格数据
list
:
[],
summitTitle
:
"创建峰会"
,
bulkUploadMember
:
true
,
ruleForm
:
{
title
:
""
//标题
},
//创建峰会表单
rules
:
{
title
:
[{
required
:
true
,
message
:
"请输入标题"
,
trigger
:
"blur"
}]
}
//创建峰会表单验证
};
},
methods
:
{
//提交峰会
submitForm
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
alert
(
"submit!"
);
}
else
{
console
.
log
(
"error submit!!"
);
return
false
;
}
});
},
handleAvatarSuccess
()
{},
beforeAvatarUpload
()
{},
//搜索
handleFilter
()
{},
//清空搜索条件
cleaningQuery
()
{},
//创建峰会
creatSummit
()
{
bulkUploadMember
=
true
;
},
//下架
soldOut
()
{},
//报名信息
information
()
{},
//基础信息
basics
()
{},
//报名信息
applyPage
()
{},
//回顾页面
lookPage
()
{},
//删除信息
deleteMsg
()
{},
//监听峰会弹窗关闭
closeAdd
()
{}
}
};
</
script
>
<
style
>
.avatar-uploader
.el-upload
{
border
:
1px
dashed
#d9d9d9
;
border-radius
:
6px
;
cursor
:
pointer
;
position
:
relative
;
overflow
:
hidden
;
}
.avatar-uploader
.el-upload
:hover
{
border-color
:
#409eff
;
}
.avatar-uploader-icon
{
font-size
:
28px
;
color
:
#8c939d
;
width
:
178px
;
height
:
178px
;
line-height
:
178px
;
text-align
:
center
;
}
.avatar
{
width
:
178px
;
height
:
178px
;
display
:
block
;
}
</
style
>
\ No newline at end of file
src/views/tourManage/modal/tourTime.vue
View file @
e0ac9fd3
...
...
@@ -17,6 +17,7 @@
<el-date-picker
v-model=
"item.startTime"
type=
"date"
:disabled=
"!item.dis"
@
change=
"changeStartTime(item)"
format=
"yyyy-MM-dd"
placeholder=
"选择日期"
>
...
...
@@ -140,6 +141,8 @@
stock
:
0
};
this
.
list
.
push
(
this
.
t
);
this
.
list
[
this
.
list
.
length
-
1
].
dis
=
'dis'
console
.
log
(
this
.
list
)
},
/**
* 确定
...
...
src/views/userManagement/employeesInput.vue
0 → 100644
View file @
e0ac9fd3
<
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.phone"
placeholder=
"请输入手机号"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"姓名"
>
<el-input
v-model
.
number=
"listQuery.name"
placeholder=
"请输入姓名"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<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
v-for=
"(item,index) in statusList "
:key=
"index"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</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"
type=
"primary"
v-waves
icon=
"delete"
@
click=
"cleaningQuery"
>
清除搜索条件
</el-button>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
@
click=
"addStaff"
>
新增员工
</el-button>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
@
click=
"toLoad"
>
批量导入员工
</el-button>
<el-table
:key=
"tableKey"
:data=
"list"
v-loading=
"listLoading"
border
fit
highlight-current-row
style=
"width: 100%"
>
<el-table-column
prop=
"name"
label=
"姓名"
width=
"180"
align=
"center"
></el-table-column>
<el-table-column
prop=
"phone"
label=
"手机号"
align=
"center"
></el-table-column>
<el-table-column
prop=
"positionName"
label=
"身份"
align=
"center"
></el-table-column>
<el-table-column
label=
"状态"
align=
"center"
>
<template
scope=
"scope"
>
<span
v-if=
"scope.row.status == 1"
>
已核销
</span>
<span
v-else
>
未核销
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"操作"
width=
"400"
fixed=
"right"
>
<
template
scope=
"scope"
>
<el-button
size=
"small"
class=
"el-button el-button--text el-button--small"
@
click=
"editorStaff(scope.row)"
>
编辑
</el-button>
<el-button
size=
"small"
class=
"el-button el-button--text el-button--small"
@
click=
"deleteStaff(scope.row)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<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"
style=
"margin-top:20px"
></el-pagination>
<!-- 新增编辑员工 -->
<el-dialog
:title=
"staffTitle"
:visible
.
sync=
"bulkUploadMember"
class=
"member"
@
close=
"closeAdd"
>
<el-form
:model=
"staffTitleFrom"
ref=
"userMembership"
:rules=
"rules"
label-width=
"100px"
>
<el-form-item
label=
"员工姓名"
>
<el-input
v-model
.
number=
"staffTitleFrom.name"
placeholder=
"请输入姓名"
></el-input>
</el-form-item>
<el-form-item
label=
"手机号"
>
<el-input
v-model
.
number=
"staffTitleFrom.phone"
placeholder=
"请输入手机号"
></el-input>
</el-form-item>
<el-form-item
label=
"员工身份"
>
<el-select
class=
"filter-item"
v-model=
"staffTitleFrom.positionId"
placeholder=
"请选择员工身份"
style=
"width:100%"
>
<el-option
:key=
"undefined"
label=
"全部"
:value=
"undefined"
></el-option>
<el-option
v-for=
"(item,index) in postionsList "
:key=
"index"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<div
style=
"text-align:center"
>
<el-button
type=
"primary"
@
click=
"confirm"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"bulkUploadMember = false"
>
取消
</el-button>
</div>
</el-form>
</el-dialog>
<!--批量导入会员窗口-->
<el-dialog
title=
"导入会员"
:visible
.
sync=
"tolead"
>
<el-form
:model=
"fileForm"
>
<el-form-item
label=
"上传文件"
label-width=
"80px"
>
<el-button
type=
"primary"
icon=
"el-icon-download"
>
<a
class=
"el-icon-download"
href=
"https://mgmt.dfangche.com/axshare/userposition.xlsx"
>
下载模板
</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-button
size=
"small"
class=
"filter-item"
type=
"primary"
@
click=
"cancelNotDeleteForm"
>
取消
</el-button>
</el-form-item>
</el-form>
</el-dialog>
<!-- 提示 -->
<el-dialog
title=
"上传提示"
:visible
.
sync=
"uploadHiut"
>
<p>
上传成功:
<b>
{{uploadListHiut.success}}
</b>
条,上传失败:
<b>
{{uploadListHiut.error}}
</b>
条
</p>
<ul
class=
"defeated"
>
<li
v-for=
"(item,index) in uploadListHiut.uploadList"
:key=
"index"
>
<p>
失败行数:
<span>
{{item.num}}
</span>
,失败原因:
<span>
{{item.msg}}
</span>
</p>
</li>
</ul>
</el-dialog>
</div>
</div>
</template>
<
script
>
import
{
staffList
,
postions
,
addEditor
,
deleteStaffs
}
from
"src/api/admin/userManagement/index"
;
import
{
getToken
}
from
"src/utils/auth"
;
import
{
mapGetters
}
from
"vuex"
;
import
{
staffImport
}
from
"src/api/admin/UserMember/index"
;
export
default
{
created
()
{
this
.
getList
();
this
.
postionsFn
();
},
computed
:
{
...
mapGetters
([
"elements"
]),
/**
* 获取token
*/
getHeaderWithToken
()
{
return
{
Authorization
:
getToken
()
};
}
},
data
()
{
return
{
activeId
:
""
,
uploadListHiut
:
{
uploadList
:
[],
success
:
""
,
error
:
""
},
uploadHiut
:
false
,
fileList
:
[],
BASE_API
:
process
.
env
.
BASE_API
,
limitNum
:
1
,
fileForm
:
{
file
:
""
},
tolead
:
false
,
listQuery
:
{
name
:
""
,
phone
:
""
,
status
:
null
,
page
:
1
,
limit
:
10
},
total
:
null
,
tableKey
:
0
,
list
:
[],
listLoading
:
true
,
statusList
:
[
{
label
:
"未核销"
,
value
:
"0"
},
{
label
:
"已核销"
,
value
:
"1"
}
],
postionsList
:
[],
staffTitle
:
"新增员工"
,
bulkUploadMember
:
false
,
staffTitleFrom
:
{
phone
:
""
,
name
:
""
,
positionId
:
""
},
rules
:
{}
};
},
methods
:
{
//新增,编辑员工弹窗关闭
closeAdd
()
{
this
.
staffTitleFrom
=
{
phone
:
""
,
name
:
""
,
positionId
:
""
};
},
upLoad
(
file
)
{
var
form
=
new
FormData
();
// 文件对象
form
.
append
(
"file"
,
file
.
file
);
staffImport
(
form
).
then
(
res
=>
{
console
.
log
(
res
);
this
.
uploadHiut
=
true
;
(
this
.
uploadListHiut
=
{
uploadList
:
res
.
data
.
data
,
success
:
res
.
data
.
success
,
error
:
res
.
data
.
error
}),
this
.
getList
();
});
},
//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`
});
}
},
cancelNotDeleteForm
()
{
this
.
tolead
=
false
;
this
.
$refs
.
uploadExcel
.
clearFiles
();
},
//员工列表
getList
()
{
staffList
(
this
.
listQuery
).
then
(
data
=>
{
this
.
listLoading
=
true
;
if
(
data
.
status
==
200
)
{
console
.
log
(
data
);
this
.
list
=
data
.
data
.
data
;
this
.
total
=
data
.
data
.
totalCount
;
this
.
listLoading
=
false
;
}
});
},
handleSizeChange
(
val
)
{
this
.
listQuery
.
limit
=
val
;
this
.
getList
();
},
handleCurrentChange
(
val
)
{
this
.
listQuery
.
page
=
val
;
this
.
getList
();
},
//搜索
handleFilter
()
{
this
.
getList
();
},
//清空搜索条件
cleaningQuery
()
{
this
.
listQuery
.
page
=
1
;
this
.
listQuery
.
limit
=
10
;
this
.
listQuery
.
name
=
""
;
this
.
listQuery
.
phone
=
""
;
this
.
listQuery
.
status
=
""
;
this
.
getList
();
},
//新增员工
addStaff
()
{
this
.
staffTitle
==
"新增员工"
this
.
bulkUploadMember
=
true
;
},
//批量导入员工
toLoad
()
{
this
.
tolead
=
true
;
},
//编辑员工
editorStaff
(
row
)
{
this
.
activeId
=
row
.
id
;
this
.
staffTitle
=
"编辑员工"
;
this
.
bulkUploadMember
=
true
;
this
.
staffTitleFrom
=
{
phone
:
row
.
phone
,
name
:
row
.
name
,
positionId
:
row
.
positionId
};
},
//删除员工
deleteStaff
(
row
)
{
this
.
$confirm
(
"确定删除吗?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(()
=>
{
deleteStaffs
(
row
.
id
).
then
(
data
=>
{
if
(
data
.
status
==
200
)
{
this
.
$notify
({
title
:
"成功"
,
message
:
"删除成功"
,
type
:
"success"
,
duration
:
2000
});
this
.
getList
();
}
else
{
this
.
$notify
({
title
:
"失败"
,
message
:
"删除失败"
,
type
:
"failed"
,
duration
:
2000
});
}
});
});
},
//确定
confirm
(
formName
)
{
if
(
this
.
staffTitle
==
"新增员工"
)
{
addEditor
(
this
.
staffTitleFrom
).
then
(
data
=>
{
if
(
data
.
status
==
200
)
{
this
.
$notify
({
title
:
"成功"
,
message
:
"新增成功"
,
type
:
"success"
,
duration
:
2000
});
this
.
bulkUploadMember
=
false
;
this
.
getList
();
}
});
}
else
{
this
.
staffTitleFrom
.
id
=
this
.
activeId
;
addEditor
(
this
.
staffTitleFrom
).
then
(
data
=>
{
if
(
data
.
status
==
200
)
{
this
.
$notify
({
title
:
"成功"
,
message
:
"编辑成功"
,
type
:
"success"
,
duration
:
2000
});
this
.
bulkUploadMember
=
false
;
this
.
getList
();
}
});
}
},
//身份列表
postionsFn
()
{
postions
().
then
(
data
=>
{
//console.log(data);
if
(
data
.
status
==
200
)
{
this
.
postionsList
=
data
.
data
;
}
});
},
resetForm
(
formName
)
{
this
.
$refs
[
formName
].
resetFields
();
}
}
};
</
script
>
<
style
>
.member
.el-dialog--small
{
width
:
500px
;
}
.defeated
{
padding
:
0
;
}
.defeated
li
{
list-style
:
none
;
}
</
style
>
src/views/vehicle/bookRecord/index.vue
View file @
e0ac9fd3
...
...
@@ -1473,7 +1473,7 @@
*/
handleRet
(
row
)
{
this
.
arrivalPicList
=
[];
this
.
arrivalForm
.
bookRecordId
=
row
.
id
this
.
arrivalForm
.
bookRecordId
=
row
.
id
this
.
arrivalForm
.
vehicleId
=
row
.
vehicleId
this
.
arrivalForm
.
numberPlate
=
row
.
numberPlate
this
.
arrivalForm
.
arrivalDate
=
Date
();
...
...
src/views/vehicle/vehicleSchedulManage/vehiclePlanModal.vue
View file @
e0ac9fd3
<!--车辆排班 保养弹框-->
<
template
>
<el-dialog
title=
"安排用车"
:visible
.
sync=
"anpai"
class=
"user-car"
>
<el-form
:model=
"form"
ref=
"form"
:rules=
"rules"
label-width=
"140px"
>
<el-form
:model=
"form"
ref=
"form"
:rules=
"rules"
label-width=
"140px"
>
<el-form-item
label=
"车牌号"
>
<span>
{{
currentItem
.
item
.
numberPlate
}}
</span>
</el-form-item>
...
...
@@ -29,14 +29,23 @@
<span
v-if=
"currentItem.item.vehicleModel.keyword"
>
{{
currentItem
.
item
.
vehicleModel
.
keyword
}}
</span>
</el-form-item>
<el-form-item
label=
"选择时间"
prop=
"times"
>
<el-date-picker
<
!--
<
el-date-picker
v-model=
"form.times"
type=
"datetimerange"
:picker-options=
"pickerOptions0"
format=
"yyyy-MM-dd HH:00:00"
format=
"yyyy-MM-dd HH:00:00"
value-format=
"yyyy-MM-dd HH:00:00"
placeholder=
"选择时间范围"
>
</el-date-picker>
placeholder=
"选择时间范围"
></el-date-picker>
-->
<el-time-picker
is-range
v-model=
"form.times"
range-separator=
"-"
start-placeholder=
"开始时间"
end-placeholder=
"结束时间"
placeholder=
"选择时间范围"
value-format=
"HH-mm-ss"
></el-time-picker>
</el-form-item>
<el-form-item
label=
"还车分公司"
prop=
"arrivalBranchCompanyName"
>
<el-autocomplete
...
...
@@ -59,9 +68,8 @@
<el-option
label=
"客户用车"
value=
"9"
></el-option>
<el-option
label=
"其他"
value=
"10"
></el-option>
<!--
<el-option
v-for=
"item in getAllUseType() "
:key=
"item.code"
:label=
"item.val"
--
>
<!--:value="item.code">
</el-option>
-->
<!--:value="item.code">
</el-option>
-->
</el-select>
</el-form-item>
<el-form-item
label=
"保养项目"
prop=
"upkeepIds"
v-if=
"form.bookType==6"
>
...
...
@@ -72,14 +80,29 @@
<el-form-item
label=
"路线"
v-if=
"form.bookType==5"
required
>
<el-select
class=
"filter-item"
placeholder=
"请选择路线"
v-model=
"goodId"
@
change=
"goodChange"
>
<el-option
:key=
"undefined"
label=
"无"
:value=
"undefined"
></el-option>
<el-option
v-for=
"item in goodList"
:key=
"item.goodId"
:label=
"item.goodName"
:value=
"item.goodId"
></el-option>
<el-option
v-for=
"item in goodList"
:key=
"item.goodId"
:label=
"item.goodName"
:value=
"item.goodId"
></el-option>
</el-select>
<el-select
class=
"filter-item"
placeholder=
"请选择出车公司"
v-model=
"siteId"
@
change=
"siteChange"
>
<el-option
:key=
"undefined"
label=
"无"
:value=
"undefined"
></el-option>
<el-option
v-for=
"item in siteList"
:key=
"item.siteId"
:label=
"item.siteName"
:value=
"item.siteId"
></el-option>
<el-option
v-for=
"item in siteList"
:key=
"item.siteId"
:label=
"item.siteName"
:value=
"item.siteId"
></el-option>
</el-select>
<el-select
class=
"filter-item"
placeholder=
"请选择出发时间"
v-model=
"verificationId"
>
<el-option
v-for=
"item in timeList"
:key=
"item.verificationId"
:label=
"item.time"
:value=
"item.verificationId"
></el-option>
<el-option
v-for=
"item in timeList"
:key=
"item.verificationId"
:label=
"item.time"
:value=
"item.verificationId"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"使用人"
prop=
"vehicleUsername"
>
...
...
@@ -94,14 +117,18 @@
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"cancel()"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"handelOk('form')"
v-if=
"vehicleSchedulManage_btn_add_plan"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"handelOk('form')"
v-if=
"vehicleSchedulManage_btn_add_plan"
>
确 定
</el-button>
</div>
</el-dialog>
</
template
>
<
style
>
.user-car
.el-row
{
margin-bottom
:
0
;
}
.user-car
.el-row
{
margin-bottom
:
0
;
}
</
style
>
<
script
>
import
{
mapGetters
}
from
'vuex'
;
...
...
@@ -146,13 +173,7 @@
if
(
!
value
)
{
return
callback
(
new
Error
(
'手机号不能为空'
));
}
else
{
const
reg
=
/^
[
1
](([
3
][
0-9
])
|
([
4
][
5,7,9
])
|
([
5
][
0-9
])
|
([
6
][
6
])
|
([
7
][
1,2,3,5,6,7,8
])
|
([
8
][
0-9
])
|
([
9
][
1,8,9
]))[
0-9
]{8}
$/
console
.
log
(
reg
.
test
(
value
));
if
(
reg
.
test
(
value
))
{
callback
();
}
else
{
return
callback
(
new
Error
(
'请输入正确的手机号'
));
}
return
callback
(
new
Error
(
"请输入正确的手机号"
));
}
};
return
{
...
...
@@ -205,26 +226,83 @@
bookType
:{
type
:
'string'
,
required
:
true
,
message
:
'请选择用途'
,
trigger
:
'change'
message
:
"请输入使用人姓名"
,
trigger
:
"blur"
},
times
:
{
required
:
true
,
message
:
'请选择时间'
,
{
min
:
0
,
max
:
20
,
message
:
"长度小于 20 个字符"
,
trigger
:
"blur"
}
],
arrivalBranchCompanyName
:
{
type
:
"string"
,
required
:
true
,
message
:
"请选择还车公司"
,
trigger
:
"change"
},
vehicleSchedulManage_btn_add_plan
:
false
,
//申请预定
vehicleUserPhone
:
{
validator
:
checkPhone
,
trigger
:
"blur"
,
required
:
true
},
bookType
:
{
type
:
"string"
,
required
:
true
,
message
:
"请选择用途"
,
trigger
:
"change"
},
times
:
{
required
:
true
,
message
:
"请选择时间"
}
},
vehicleSchedulManage_btn_add_plan
:
false
//申请预定
};
},
created
()
{
console
.
log
(
this
.
currentItem
);
this
.
vehicleSchedulManage_btn_add_plan
=
this
.
elements
[
"vehicleSchedulManage:btn_add_plan"
];
getAll
().
then
(
response
=>
{
this
.
allCompaniesArr
=
response
.
data
;
});
getAllCompany
(
codeAndBranchCompany
=>
{
this
.
allCompanies
=
codeAndBranchCompany
;
});
getUpkeepAll
().
then
(
response
=>
{
this
.
upkeepList
=
response
.
data
;
});
},
computed
:
{
...
mapGetters
([
"elements"
])
},
watch
:
{
anpai
(
newValue
,
oldValue
)
{
if
(
!
newValue
)
{
this
.
$emit
(
"anpaiDialogEvent"
,
false
);
}
}
},
mounted
()
{
this
.
anpai
=
true
;
},
methods
:
{
/**
* 还车分公司
*/
handleSelectArrivalCompanyName
(
item
)
{
this
.
form
.
arrivalBranchCompanyId
=
item
.
id
;
this
.
form
.
arrivalBranchCompanyName
=
item
.
name
;
console
.
log
(
item
);
},
created
()
{
console
.
log
(
this
.
currentItem
);
this
.
vehicleSchedulManage_btn_add_plan
=
this
.
elements
[
'vehicleSchedulManage:btn_add_plan'
];
getAll
()
.
then
(
response
=>
{
this
.
allCompaniesArr
=
response
.
data
;
})
getAllCompany
(
codeAndBranchCompany
=>
{
this
.
allCompanies
=
codeAndBranchCompany
;
querySearch
(
queryString
,
cb
)
{
let
selectArry
=
[];
this
.
allCompaniesArr
.
map
(
function
(
item
)
{
item
.
value
=
item
.
name
;
selectArry
.
push
(
item
);
});
getUpkeepAll
().
then
(
response
=>
{
this
.
upkeepList
=
response
.
data
...
...
@@ -238,15 +316,16 @@
'elements'
,
]),
},
watch
:
{
anpai
(
newValue
,
oldValue
){
if
(
!
newValue
){
this
.
$emit
(
"anpaiDialogEvent"
,
false
);
}
},
createFilter
(
queryString
)
{
return
restaurant
=>
{
return
restaurant
.
name
.
indexOf
(
queryString
.
toLowerCase
())
!=
-
1
;
};
},
mounted
()
{
this
.
anpai
=
true
;
/**
* 弹框-取消
* */
cancel
()
{
this
.
$emit
(
"anpaiDialogEvent"
,
false
);
},
methods
:
{
goodChange
(){
...
...
@@ -349,9 +428,35 @@
}
})
}
})
},
let
params
=
{
vehicleId
:
this
.
currentItem
.
item
.
id
,
bookStartDate
:
formatDate
(
this
.
form
.
times
[
0
],
"hh:mm:ss"
),
//预定开始时间
bookEndDate
:
formatDate
(
this
.
form
.
times
[
1
],
"hh:mm:ss"
),
//预定结束时间
retCompany
:
this
.
form
.
arrivalBranchCompanyId
,
//还车分公司
bookType
:
this
.
form
.
bookType
,
//预定车辆用途类型
vehicleUsername
:
this
.
form
.
vehicleUsername
,
//使用人姓名
vehicleUserPhone
:
this
.
form
.
vehicleUserPhone
,
//使用人电话
remark
:
this
.
form
.
remark
,
//说明
upkeepIds
:
this
.
form
.
bookType
==
6
?
this
.
form
.
upkeepIds
.
join
(
","
)
:
""
//保养类型
};
bookPlan
(
params
).
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
this
.
$emit
(
"anpaiDialogEvent"
,
true
);
}
else
{
this
.
$notify
({
title
:
"失败"
,
message
:
response
.
message
,
type
:
"error"
,
duration
:
2000
});
}
});
}
});
}
}
};
</
script
>
\ No newline at end of file
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