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
Expand all
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
This diff is collapsed.
Click to expand it.
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