Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
cdsf-static-bg
Project
Overview
Details
Activity
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
姜雷
cdsf-static-bg
Commits
49b43353
Commit
49b43353
authored
Nov 08, 2018
by
姜雷
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'test' into 'master'
Test See merge request
!14
parents
4120b771
3f79ff83
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
102 additions
and
22 deletions
+102
-22
App.vue
src/App.vue
+3
-0
fetch.js
src/api/fetch.js
+1
-1
publicCar.js
src/api/management/publicCar.js
+13
-0
repair.js
src/api/management/repair.js
+14
-0
Layout.vue
src/containers/layout/Layout.vue
+1
-1
index.vue
src/containers/login/index.vue
+2
-2
publicCar.vue
src/containers/management/publicCar/publicCar.vue
+31
-7
repair.vue
src/containers/management/repair/repair.vue
+6
-1
publicCar.vue
src/containers/print/publicCar.vue
+31
-10
No files found.
src/App.vue
View file @
49b43353
...
@@ -100,6 +100,9 @@ input[type='number'] {
...
@@ -100,6 +100,9 @@ input[type='number'] {
.col-line-3
{
.col-line-3
{
width
:
32%
;
width
:
32%
;
}
}
.col-line-3-1
{
width
:
68%
;
}
</
style
>
</
style
>
<
script
>
<
script
>
export
default
{
export
default
{
...
...
src/api/fetch.js
View file @
49b43353
...
@@ -45,7 +45,7 @@ service.interceptors.response.use(response => {
...
@@ -45,7 +45,7 @@ service.interceptors.response.use(response => {
if
(
res
.
code
!==
1000
)
{
if
(
res
.
code
!==
1000
)
{
if
(
if
(
response
.
headers
&&
response
.
headers
&&
response
.
headers
[
'content-type'
]
===
'application/octet-stream'
/application
\/
octet-stream/
.
test
(
response
.
headers
[
'content-type'
])
)
{
)
{
return
response
;
return
response
;
}
}
...
...
src/api/management/publicCar.js
View file @
49b43353
import
fetch
from
'@/api/fetch'
;
import
fetch
from
'@/api/fetch'
;
import
downloadUrl
from
'@/utils/download'
;
export
const
fetchApplyList
=
entity
=>
export
const
fetchApplyList
=
entity
=>
fetch
({
fetch
({
...
@@ -13,3 +14,15 @@ export const dealApply = entity =>
...
@@ -13,3 +14,15 @@ export const dealApply = entity =>
method
:
'post'
,
method
:
'post'
,
data
:
entity
,
data
:
entity
,
});
});
export
const
exportApplyList
=
entity
=>
fetch
({
url
:
'/publicCar/export/manager/teacherAppoCar'
,
method
:
'post'
,
data
:
entity
,
responseType
:
'blob'
,
timeout
:
120000
,
}).
then
(
res
=>
{
let
blob
=
new
Blob
([
res
.
data
],
{
type
:
res
.
headers
});
let
fileName
=
res
.
headers
[
'content-disposition'
].
split
(
'='
)[
1
];
downloadUrl
(
blob
,
fileName
);
});
src/api/management/repair.js
View file @
49b43353
import
fetch
from
'@/api/fetch'
;
import
fetch
from
'@/api/fetch'
;
import
downloadUrl
from
'@/utils/download'
;
export
const
fetchApplyList
=
entity
=>
export
const
fetchApplyList
=
entity
=>
fetch
({
fetch
({
...
@@ -13,3 +14,16 @@ export const dealApply = entity =>
...
@@ -13,3 +14,16 @@ export const dealApply = entity =>
method
:
'post'
,
method
:
'post'
,
data
:
entity
,
data
:
entity
,
});
});
export
const
exportApplyList
=
entity
=>
fetch
({
url
:
'/repair/export/manager/userRepair'
,
method
:
'post'
,
data
:
entity
,
responseType
:
'blob'
,
timeout
:
120000
,
}).
then
(
res
=>
{
let
blob
=
new
Blob
([
res
.
data
],
{
type
:
res
.
headers
});
let
fileName
=
res
.
headers
[
'content-disposition'
].
split
(
'='
)[
1
];
downloadUrl
(
blob
,
fileName
);
});
src/containers/layout/Layout.vue
View file @
49b43353
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
</div>
</div>
</div>
</div>
<div
class=
"copyright"
>
<div
class=
"copyright"
>
Copyright
@
成都多彩任意门科技有限公司2015-2017 蜀ICP备14012163号-1
Copyright
©
成都多彩任意门科技有限公司2015-2017 蜀ICP备14012163号-1
</div>
</div>
</div>
</div>
</
template
>
</
template
>
...
...
src/containers/login/index.vue
View file @
49b43353
...
@@ -118,8 +118,8 @@ $light_gray: #eee;
...
@@ -118,8 +118,8 @@ $light_gray: #eee;
background-image
:
url('../../assets/images/login/login_bg@3x.png')
;
background-image
:
url('../../assets/images/login/login_bg@3x.png')
;
background-size
:
cover
;
background-size
:
cover
;
input
:
-
webkit-autofill
{
input
:
-
webkit-autofill
{
box-shadow
:
0
0
0px
1000px
#
293444
inset
!
important
;
box-shadow
:
0
0
0px
1000px
#
fff
inset
!
important
;
-webkit-text-fill-color
:
#
fff
!
important
;
-webkit-text-fill-color
:
#
666
!
important
;
}
}
input
{
input
{
background
:
transparent
;
background
:
transparent
;
...
...
src/containers/management/publicCar/publicCar.vue
View file @
49b43353
...
@@ -22,7 +22,9 @@
...
@@ -22,7 +22,9 @@
</el-date-picker>
</el-date-picker>
</div>
</div>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"searchList"
>
搜索
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"searchList"
>
搜索
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-download"
@
click=
"exportList"
>
导出
</el-button>
</el-form>
</el-form>
<div
class=
"tabel-wrap"
>
<div
class=
"tabel-wrap"
>
<el-table
border
v-loading=
"loading"
:data=
"list"
style=
"width: 100%"
>
<el-table
border
v-loading=
"loading"
:data=
"list"
style=
"width: 100%"
>
<el-table-column
type=
"index"
label=
"序号"
width=
"50"
>
<el-table-column
type=
"index"
label=
"序号"
width=
"50"
>
...
@@ -57,6 +59,7 @@
...
@@ -57,6 +59,7 @@
<el-pagination
layout=
"prev, pager, next"
:current-page=
"pagination.pageNum"
:page-size=
"pagination.pageSize"
:total=
"pagination.total"
@
current-change=
"changePage"
>
<el-pagination
layout=
"prev, pager, next"
:current-page=
"pagination.pageNum"
:page-size=
"pagination.pageSize"
:total=
"pagination.total"
@
current-change=
"changePage"
>
</el-pagination>
</el-pagination>
</div>
</div>
<drag-dialog
:title=
"editType ? '处理' : '详情'"
:visible
.
sync=
"dialogEditVisible"
:before-close=
"resetEditDialog"
width=
"70%"
top=
"5vh"
>
<drag-dialog
:title=
"editType ? '处理' : '详情'"
:visible
.
sync=
"dialogEditVisible"
:before-close=
"resetEditDialog"
width=
"70%"
top=
"5vh"
>
<el-form
class=
"editForm"
:disabled=
"loading"
>
<el-form
class=
"editForm"
:disabled=
"loading"
>
<div
class=
"line-wrap"
>
<div
class=
"line-wrap"
>
...
@@ -88,9 +91,9 @@
...
@@ -88,9 +91,9 @@
<el-form-item
class=
"col-line-3"
label=
"派车人"
label-width=
"100px"
>
<el-form-item
class=
"col-line-3"
label=
"派车人"
label-width=
"100px"
>
<span>
{{selected.dealName}}
</span>
<span>
{{selected.dealName}}
</span>
</el-form-item>
</el-form-item>
<el-form-item
class=
"col-line-3"
label=
"派车车牌"
label-width=
"100px"
>
<el-form-item
class=
"col-line-3
-1
"
label=
"派车车牌"
label-width=
"100px"
>
<el-select
v-if=
"editType"
v-model=
"selected.carPlate"
filterable
clearab
le
placeholder=
"派车车牌"
>
<el-select
class=
"w100"
v-if=
"editType"
v-model=
"selected.carPlateList"
filterable
clearable
multip
le
placeholder=
"派车车牌"
>
<el-option
v-for=
"item in carPlateOptions"
:key=
"item.id"
:label=
"item.name"
:value=
"item.
name
"
>
<el-option
v-for=
"item in carPlateOptions"
:key=
"item.id"
:label=
"item.name"
:value=
"item.
id
"
>
</el-option>
</el-option>
</el-select>
</el-select>
<span
v-else
>
{{selected.carPlate}}
</span>
<span
v-else
>
{{selected.carPlate}}
</span>
...
@@ -161,7 +164,7 @@
...
@@ -161,7 +164,7 @@
import
listMixin
from
'@/mixin/listPage.js'
;
import
listMixin
from
'@/mixin/listPage.js'
;
import
{
mapGetters
,
mapActions
}
from
'vuex'
;
import
{
mapGetters
,
mapActions
}
from
'vuex'
;
import
store
from
'./store.js'
;
import
store
from
'./store.js'
;
import
{
dealApply
}
from
'@/api/management/publicCar.js'
;
import
{
dealApply
,
exportApplyList
}
from
'@/api/management/publicCar.js'
;
// import printJS from 'print-js';
// import printJS from 'print-js';
export
default
{
export
default
{
...
@@ -220,6 +223,7 @@ export default {
...
@@ -220,6 +223,7 @@ export default {
birthday
:
''
,
birthday
:
''
,
jobNumber
:
''
,
jobNumber
:
''
,
cellphone
:
''
,
cellphone
:
''
,
carPlateList
:
[],
};
};
},
},
getCategoryValue
(
c
,
r
,
val
)
{
getCategoryValue
(
c
,
r
,
val
)
{
...
@@ -227,6 +231,10 @@ export default {
...
@@ -227,6 +231,10 @@ export default {
let
item
=
list
.
find
(
item
=>
item
.
checked
);
let
item
=
list
.
find
(
item
=>
item
.
checked
);
return
item
?
item
.
name
:
''
;
return
item
?
item
.
name
:
''
;
},
},
exportList
()
{
const
filters
=
this
.
getFilters
();
exportApplyList
(
filters
);
},
showEditDialog
(
type
,
data
)
{
showEditDialog
(
type
,
data
)
{
this
.
editType
=
type
;
this
.
editType
=
type
;
if
(
this
.
carPlateOptions
.
length
==
0
)
{
if
(
this
.
carPlateOptions
.
length
==
0
)
{
...
@@ -255,6 +263,7 @@ export default {
...
@@ -255,6 +263,7 @@ export default {
lineDescription
:
data
.
row
.
lineDescription
,
lineDescription
:
data
.
row
.
lineDescription
,
dealName
:
data
.
row
.
dealName
||
this
.
userInfo
.
name
,
dealName
:
data
.
row
.
dealName
||
this
.
userInfo
.
name
,
carPlate
:
data
.
row
.
carPlate
,
carPlate
:
data
.
row
.
carPlate
,
carPlateList
:
data
.
row
.
carPlate
?
data
.
row
.
carPlate
.
split
(
','
)
:
[],
startKilometers
:
data
.
row
.
startKilometers
,
startKilometers
:
data
.
row
.
startKilometers
,
stopKilometers
:
data
.
row
.
stopKilometers
,
stopKilometers
:
data
.
row
.
stopKilometers
,
trueKilometers
:
data
.
row
.
trueKilometers
,
trueKilometers
:
data
.
row
.
trueKilometers
,
...
@@ -266,13 +275,19 @@ export default {
...
@@ -266,13 +275,19 @@ export default {
};
};
this
.
dialogEditVisible
=
true
;
this
.
dialogEditVisible
=
true
;
},
},
resetEditDialog
(
done
)
{
this
.
initSelected
();
done
&&
typeof
done
==
'function'
?
done
()
:
(
this
.
dialogEditVisible
=
false
);
},
toogleDealResult
(
val
)
{
toogleDealResult
(
val
)
{
if
(
val
===
2
)
{
if
(
val
===
2
)
{
this
.
selected
.
dealOpinion
=
''
;
this
.
selected
.
dealOpinion
=
''
;
}
}
},
},
validateSelect
()
{
validateSelect
()
{
if
(
this
.
selected
.
dealResult
==
2
&&
!
this
.
selected
.
carPlate
)
{
if
(
this
.
selected
.
dealResult
==
2
&&
!
this
.
selected
.
carPlate
List
.
length
)
{
this
.
$message
.
error
(
'请选择派车车牌!'
);
this
.
$message
.
error
(
'请选择派车车牌!'
);
return
;
return
;
}
}
...
@@ -298,10 +313,13 @@ export default {
...
@@ -298,10 +313,13 @@ export default {
?
`不同意 -
${
this
.
selected
.
dealOpinion
}
`
?
`不同意 -
${
this
.
selected
.
dealOpinion
}
`
:
`不同意 - 无车可派送`
;
:
`不同意 - 无车可派送`
;
}
}
let
carPlate
=
this
.
selected
.
carPlateList
.
map
(
id
=>
this
.
carPlateOptions
.
find
(
i
=>
i
.
id
===
id
).
name
);
const
entity
=
{
const
entity
=
{
userId
:
this
.
userInfo
.
id
,
userId
:
this
.
userInfo
.
id
,
id
:
this
.
selected
.
id
,
id
:
this
.
selected
.
id
,
carPlate
:
this
.
selected
.
carPlate
,
carPlate
:
carPlate
.
join
(
','
)
,
startKilometers
:
this
.
selected
.
startKilometers
,
startKilometers
:
this
.
selected
.
startKilometers
,
stopKilometers
:
this
.
selected
.
stopKilometers
,
stopKilometers
:
this
.
selected
.
stopKilometers
,
trueKilometers
:
this
.
selected
.
trueKilometers
,
trueKilometers
:
this
.
selected
.
trueKilometers
,
...
@@ -352,7 +370,10 @@ export default {
...
@@ -352,7 +370,10 @@ export default {
},
},
showPrintDialog
(
data
)
{
showPrintDialog
(
data
)
{
let
categoryName
=
JSON
.
parse
(
data
.
row
.
categoryName
).
map
(
let
categoryName
=
JSON
.
parse
(
data
.
row
.
categoryName
).
map
(
item
=>
(
item
.
checked
?
`☑
${
item
.
name
}
`
:
`▢
${
item
.
name
}
`
)
(
item
,
index
)
=>
item
.
checked
?
`☑
${
index
+
1
}
、
${
item
.
name
}
`
:
`▢
${
index
+
1
}
、
${
item
.
name
}
`
);
);
this
.
selected
=
{
this
.
selected
=
{
id
:
data
.
row
.
id
,
id
:
data
.
row
.
id
,
...
@@ -417,6 +438,9 @@ export default {
...
@@ -417,6 +438,9 @@ export default {
margin-left
:
30px
;
margin-left
:
30px
;
}
}
}
}
.w100
{
width
:
100%
;
}
.printIframe
{
.printIframe
{
width
:
100%
;
width
:
100%
;
height
:
500px
;
height
:
500px
;
...
...
src/containers/management/repair/repair.vue
View file @
49b43353
...
@@ -31,6 +31,7 @@
...
@@ -31,6 +31,7 @@
</el-date-picker>
</el-date-picker>
</div>
</div>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"searchList"
>
搜索
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"searchList"
>
搜索
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-download"
@
click=
"exportList"
>
导出
</el-button>
</el-form>
</el-form>
<div
class=
"tabel-wrap"
>
<div
class=
"tabel-wrap"
>
<el-table
border
v-loading=
"loading"
:data=
"list"
style=
"width: 100%"
>
<el-table
border
v-loading=
"loading"
:data=
"list"
style=
"width: 100%"
>
...
@@ -106,7 +107,7 @@
...
@@ -106,7 +107,7 @@
import
listMixin
from
'@/mixin/listPage.js'
;
import
listMixin
from
'@/mixin/listPage.js'
;
import
{
mapGetters
,
mapActions
}
from
'vuex'
;
import
{
mapGetters
,
mapActions
}
from
'vuex'
;
import
store
from
'./store.js'
;
import
store
from
'./store.js'
;
import
{
dealApply
}
from
'@/api/management/repair.js'
;
import
{
dealApply
,
exportApplyList
}
from
'@/api/management/repair.js'
;
export
default
{
export
default
{
beforeRouteEnter
(
to
,
from
,
next
)
{
beforeRouteEnter
(
to
,
from
,
next
)
{
...
@@ -171,6 +172,10 @@ export default {
...
@@ -171,6 +172,10 @@ export default {
let
item
=
this
.
dealStateOptions
.
find
(
item
=>
item
.
value
==
val
);
let
item
=
this
.
dealStateOptions
.
find
(
item
=>
item
.
value
==
val
);
return
item
?
item
.
label
:
val
;
return
item
?
item
.
label
:
val
;
},
},
exportList
()
{
const
filters
=
this
.
getFilters
();
exportApplyList
(
filters
);
},
showEditDialog
(
type
,
data
)
{
showEditDialog
(
type
,
data
)
{
this
.
editType
=
type
;
this
.
editType
=
type
;
this
.
selected
=
{
this
.
selected
=
{
...
...
src/containers/print/publicCar.vue
View file @
49b43353
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
<div
:span=
"4"
class=
"tableCell tabelCol-4"
>
<div
:span=
"4"
class=
"tableCell tabelCol-4"
>
<span>
用车类型
<br>
(勾选)
</span>
<span>
用车类型
<br>
(勾选)
</span>
</div>
</div>
<div
:span=
"20"
class=
"tableCell tabelCol-20 tal"
>
{{
selected
.
categoryName
}}
</div>
<div
:span=
"20"
class=
"tableCell tabelCol-20 tal
mtel
"
>
{{
selected
.
categoryName
}}
</div>
</div>
</div>
<div
class=
"tableRow"
>
<div
class=
"tableRow"
>
<div
:span=
"4"
class=
"tableCell tabelCol-4"
>
用车起始时间
</div>
<div
:span=
"4"
class=
"tableCell tabelCol-4"
>
用车起始时间
</div>
...
@@ -28,23 +28,26 @@
...
@@ -28,23 +28,26 @@
<div
:span=
"4"
class=
"tableCell tabelCol-4"
>
<div
:span=
"4"
class=
"tableCell tabelCol-4"
>
<span>
用车详细路线
</span>
<span>
用车详细路线
</span>
</div>
</div>
<div
:span=
"20"
class=
"tableCell tabelCol-20 tal"
>
{{
selected
.
lineDescription
}}
</div>
<div
:span=
"20"
class=
"tableCell tabelCol-20 tal
mtel
"
>
{{
selected
.
lineDescription
}}
</div>
</div>
</div>
<div
class=
"tableRow"
>
<div
class=
"tableRow"
>
<div
:span=
"4"
class=
"tableCell tabelCol-4"
>
部门负责人
<br>
签字(盖章)
</div>
<div
:span=
"4"
class=
"tableCell tabelCol-4"
>
部门负责人
<br>
签字(盖章)
</div>
<div
:span=
"4"
class=
"tableCell tabelCol-
10
"
></div>
<div
:span=
"4"
class=
"tableCell tabelCol-
4
"
></div>
<div
:span=
"4"
class=
"tableCell tabelCol-4 directCol"
>
<div
:span=
"4"
class=
"tableCell tabelCol-4 directCol"
>
<div>
派车人
</div>
<div>
派车人
</div>
<div>
派车车牌
</div>
<div>
派车车牌
</div>
</div>
</div>
<div
:span=
"4"
class=
"tableCell tabelCol-
6
directCol"
>
<div
:span=
"4"
class=
"tableCell tabelCol-
12
directCol"
>
<span>
<span
class=
"carPlate"
>
{{
selected
.
dealName
}}
{{
selected
.
dealName
}}
</span>
</span>
<span>
<div
class=
"carPlate"
>
{{
selected
.
carPlate
}}
<template
v-for=
"(rowIndex) in carPlateArrRow"
>
</span>
<div
:key=
"rowIndex"
>
{{
carPlateArr
.
slice
((
rowIndex
-
1
)
*
3
,
3
*
rowIndex
).
join
(
','
)
}}
</div>
</
template
>
</div>
</div>
</div>
</div>
</div>
<div
class=
"tableRow"
>
<div
class=
"tableRow"
>
<div
:span=
"4"
class=
"tableCell tabelCol-4"
>
出车公里数
</div>
<div
:span=
"4"
class=
"tableCell tabelCol-4"
>
出车公里数
</div>
...
@@ -104,6 +107,13 @@ export default {
...
@@ -104,6 +107,13 @@ export default {
return
sed
;
return
sed
;
},
},
carPlateArr
()
{
return
this
.
selected
.
carPlate
.
split
(
','
);
},
carPlateArrRow
()
{
const
length
=
this
.
carPlateArr
.
length
;
return
Math
.
ceil
(
length
/
3
);
},
},
},
created
()
{
created
()
{
window
.
vmPrint
=
this
.
printHandle
;
window
.
vmPrint
=
this
.
printHandle
;
...
@@ -126,7 +136,7 @@ export default {
...
@@ -126,7 +136,7 @@ export default {
height
:
978px
;
height
:
978px
;
text-align
:
center
;
text-align
:
center
;
margin
:
0
auto
;
margin
:
0
auto
;
line-height
:
4
5
px
;
line-height
:
4
8
px
;
.tableTitle
{
.tableTitle
{
font-size
:
20px
;
font-size
:
20px
;
line-height
:
80px
;
line-height
:
80px
;
...
@@ -152,11 +162,22 @@ export default {
...
@@ -152,11 +162,22 @@ export default {
border-bottom
:
none
;
border-bottom
:
none
;
}
}
.tal
{
.tal
{
text-indent
:
2
0px
;
text-indent
:
1
0px
;
text-align
:
left
;
text-align
:
left
;
justify-content
:
flex-start
;
justify-content
:
flex-start
;
align-items
:
flex-start
;
align-items
:
flex-start
;
}
}
.mtel
{
text-indent
:
0
;
line-height
:
30px
;
padding
:
15px
10px
;
}
.carPlate
{
width
:
100%
;
padding
:
0
20px
;
text-align
:
left
;
line-height
:
30px
;
}
.directCol
{
.directCol
{
flex-direction
:
column
;
flex-direction
:
column
;
line-height
:
36px
;
line-height
:
36px
;
...
...
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