Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xoadoPlatform
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
yaohui
xoadoPlatform
Commits
829d06a0
Commit
829d06a0
authored
May 30, 2023
by
吕海涛
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新品牌入驻
parent
1e6dee1e
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
865 additions
and
314 deletions
+865
-314
.env.development
.env.development
+10
-10
.env.production
.env.production
+11
-11
ip.js
ip.js
+9
-10
App.vue
src/App.vue
+3
-1
index.vue
src/components/SelectsNew/index.vue
+138
-0
screen.js
src/libs/screen.js
+10
-6
judgeType.js
src/mixins/judgeType.js
+6
-2
carOrDriver.js
src/port/carOrDriver/carOrDriver.js
+11
-1
order-select.js
src/port/order-select.js
+4
-1
statistical.js
src/port/statistical.js
+3
-3
index.js
src/router/index.js
+8
-1
business.js
src/store/modules/business.js
+16
-15
index.vue
src/views/business/orderManagement/index.vue
+77
-48
orderDetail.vue
src/views/business/orderManagement/orderDetail.vue
+87
-18
index.vue
src/views/business/waybillManagement/index.vue
+20
-11
noticeList.vue
src/views/notice/noticeList.vue
+20
-5
regionManage.vue
src/views/platform/regionManage.vue
+3
-2
car.vue
src/views/transports/car.vue
+46
-6
carDetail.vue
src/views/transports/carDetail.vue
+195
-111
driver.vue
src/views/transports/driver.vue
+44
-1
driverDetail.vue
src/views/transports/driverDetail.vue
+141
-48
transport.vue
src/views/transports/transport.vue
+2
-2
index.vue
src/views/vehicleSeries/index.vue
+1
-1
No files found.
.env.development
View file @
829d06a0
...
...
@@ -4,17 +4,17 @@ VUE_APP_BASE_API1 = 'https://apps.xoado.com'
VUE_APP_BASE_API2 = 'https://core.xoado.com'
VUE_APP_BASE_API2_ = 'https://core.xoado.com'
VUE_APP_BASE_API3 = 'https://api.xoado.com'
VUE_APP_BASE_API4 = 'http
s://hgxd.99zcx
.com'
VUE_APP_BASE_API5 = 'h
http://xoado.tpddns.net:10001
/brand'
VUE_APP_BASE_API6 = 'http
://xoado.tpddns.net:10001
/transport'
VUE_APP_BASE_API7 = 'http
://xoado.tpddns.net:10001
/operate'
VUE_APP_BASE_API8 = 'http
://xoado.tpddns.net:10001
/trace'
VUE_APP_BASE_API9 = 'http
://xoado.tpddns.net:10001
/payment/'
VUE_APP_BASE_API10 = 'http
://192.168.0.251:8195
/payment/v1/'
VUE_APP_BASE_API4 = 'http
://aitransport.xoado
.com'
VUE_APP_BASE_API5 = 'h
ttp://aitransport.xoado.com
/brand'
VUE_APP_BASE_API6 = 'http
s://projects.xoado.com
/transport'
VUE_APP_BASE_API7 = 'http
s://projects.xoado.com
/operate'
VUE_APP_BASE_API8 = 'http
s://projects.xoado.com
/trace'
VUE_APP_BASE_API9 = 'http
s://account.xoado.com
/payment/'
VUE_APP_BASE_API10 = 'http
s://account.xoado.com
/payment/v1/'
VUE_APP_BASE_API11 = 'https://oss.xoado.com/v1/'
VUE_APP_BASE_API12 = 'http
://xoado.tpddns.net:10001
'
VUE_APP_BASE_API12 = 'http
s://payment.sdk.xoado.com
'
VUE_APP_BASE_API13 = 'https://projects.xoado.com/invoice'
VUE_APP_BASE_API14 = 'https://projects.xoado.com/message'
VUE_APP_BASE_API15 = 'http
://xoado.tpddns.net:10001
/smart'
VUE_APP_BASE_API16 = 'http
://xoado.tpddns.net:10001
/anc'
VUE_APP_BASE_API15 = 'http
s://aitransport.xoado.com
/smart'
VUE_APP_BASE_API16 = 'http
s://proclamations.xoado.com
/anc'
.env.production
View file @
829d06a0
...
...
@@ -5,16 +5,16 @@ VUE_APP_BASE_API1 = 'https://apps.xoado.com'
VUE_APP_BASE_API2 = 'https://core.xoado.com'
VUE_APP_BASE_API2_ = 'https://core.xoado.com'
VUE_APP_BASE_API3 = 'https://api.xoado.com'
VUE_APP_BASE_API4 = 'http
s://hgxd.99zcx
.com'
VUE_APP_BASE_API5 = 'h
http://xoado.tpddns.net:10001
/brand'
VUE_APP_BASE_API6 = 'http
://xoado.tpddns.net:10001
/transport'
VUE_APP_BASE_API7 = 'http
://xoado.tpddns.net:10001
/operate'
VUE_APP_BASE_API8 = 'http
://xoado.tpddns.net:10001
/trace'
VUE_APP_BASE_API9 = 'http
://xoado.tpddns.net:10001
/payment/'
VUE_APP_BASE_API10 = 'http
://192.168.0.251:8195
/payment/v1/'
VUE_APP_BASE_API4 = 'http
://aitransport.xoado
.com'
VUE_APP_BASE_API5 = 'h
ttp://aitransport.xoado.com
/brand'
VUE_APP_BASE_API6 = 'http
s://projects.xoado.com
/transport'
VUE_APP_BASE_API7 = 'http
s://projects.xoado.com
/operate'
VUE_APP_BASE_API8 = 'http
s://projects.xoado.com
/trace'
VUE_APP_BASE_API9 = 'http
s://account.xoado.com
/payment/'
VUE_APP_BASE_API10 = 'http
s://account.xoado.com
/payment/v1/'
VUE_APP_BASE_API11 = 'https://oss.xoado.com/v1/'
VUE_APP_BASE_API12 = 'http
://xoado.tpddns.net:10001
'
VUE_APP_BASE_API12 = 'http
s://payment.sdk.xoado.com
'
VUE_APP_BASE_API13 = 'https://projects.xoado.com/invoice'
VUE_APP_BASE_API14 = 'https://projects.xoado.com/message'
VUE_APP_BASE_API15 = 'http://xoado.tpddns.net:10001/smart'
VUE_APP_BASE_API16 = 'http://xoado.tpddns.net:10001/anc'
\ No newline at end of file
VUE_APP_BASE_API15 = 'https://aitransport.xoado.com/smart'
VUE_APP_BASE_API16 = 'https://proclamations.xoado.com/anc'
\ No newline at end of file
ip.js
View file @
829d06a0
...
...
@@ -18,7 +18,7 @@ VUE_APP_BASE_API13 = 'https://projects.xoado.com/invoice'
VUE_APP_BASE_API14
=
'https://projects.xoado.com/message'
VUE_APP_BASE_API15
=
'http://192.168.0.251:8199/smart'
VUE_APP_BASE_API16
=
'http://xoado.tpddns.net:10001/anc'
// 线上
VUE_APP_BASE_API1
=
'https://apps.xoado.com'
VUE_APP_BASE_API2
=
'https://core.xoado.com'
VUE_APP_BASE_API2_
=
'https://core.xoado.com'
...
...
@@ -36,22 +36,21 @@ VUE_APP_BASE_API13 = 'https://projects.xoado.com/invoice'
VUE_APP_BASE_API14
=
'https://projects.xoado.com/message'
VUE_APP_BASE_API15
=
'https://aitransport.xoado.com/smart'
VUE_APP_BASE_API16
=
'https://proclamations.xoado.com/anc'
// 测试
VUE_APP_BASE_API1
=
'https://apps.xoado.com'
VUE_APP_BASE_API2
=
'https://core.xoado.com'
VUE_APP_BASE_API2_
=
'https://core.xoado.com'
VUE_APP_BASE_API3
=
'https://api.xoado.com'
VUE_APP_BASE_API4
=
'http
s://hgxd.99zcx
.com'
VUE_APP_BASE_API5
=
'h
http://xoado.tpddns.net:10001
/brand'
VUE_APP_BASE_API4
=
'http
://aitransport.xoado
.com'
VUE_APP_BASE_API5
=
'h
ttp://aitransport.xoado.com
/brand'
VUE_APP_BASE_API6
=
'http://xoado.tpddns.net:10001/transport'
VUE_APP_BASE_API7
=
'http://xoado.tpddns.net:10001/operate'
VUE_APP_BASE_API8
=
'http://xoado.tpddns.net:10001/trace'
VUE_APP_BASE_API9
=
'http
://xoado.tpddns.net:10001
/payment/'
VUE_APP_BASE_API10
=
'http
://192.168.0.251:8195
/payment/v1/'
VUE_APP_BASE_API9
=
'http
s://account.xoado.com
/payment/'
VUE_APP_BASE_API10
=
'http
s://account.xoado.com
/payment/v1/'
VUE_APP_BASE_API11
=
'https://oss.xoado.com/v1/'
VUE_APP_BASE_API12
=
'http
://xoado.tpddns.net:10001
'
VUE_APP_BASE_API12
=
'http
s://payment.sdk.xoado.com
'
VUE_APP_BASE_API13
=
'https://projects.xoado.com/invoice'
VUE_APP_BASE_API14
=
'https://projects.xoado.com/message'
VUE_APP_BASE_API15
=
'http://xoado.tpddns.net:10001/smart'
VUE_APP_BASE_API16
=
'http://xoado.tpddns.net:10001/anc'
\ No newline at end of file
VUE_APP_BASE_API16
=
'https://proclamations.xoado.com/anc'
\ No newline at end of file
src/App.vue
View file @
829d06a0
...
...
@@ -60,14 +60,16 @@ export default {
await
getCarTypeList
(
params
).
then
((
res
)
=>
{
if
(
res
.
status
===
200
)
{
let
list
=
[];
let
list2
=
[];
res
.
data
.
content
.
forEach
((
item
)
=>
{
list
.
push
({
id
:
item
.
vehicleFlag
,
name
:
item
.
vehicleName
,
type
:
item
.
type
});
list2
.
push
(
item
.
vehicleFlag
)
});
dataSource
.
driverTypeListABC
=
list2
;
dataSource
.
CarType
=
list
;
}
});
...
...
src/components/SelectsNew/index.vue
0 → 100644
View file @
829d06a0
<
template
>
<div>
<span
:class=
"typeMinwidth ? 'item-title-select-S' : ''"
>
{{
selectName
}}
</span>
<el-select
:size=
"sizeType"
v-model=
"selectList"
filterable
multiple
collapse-tags
@
change=
"selectAll"
placeholder=
"请选择"
>
<el-option
label=
"全选"
value=
"999"
></el-option>
<el-option
v-for=
"item in options"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
>
</el-option>
</el-select>
</div>
</
template
>
<
script
>
export
default
{
name
:
"index"
,
props
:
{
type
:
{
type
:
String
,
//用于区分当前类型 方便后续调用
required
:
true
},
typeMinwidth
:
{
type
:
Boolean
,
default
:
false
},
options
:
{
type
:
Array
,
required
:
true
},
sizeType
:
{
type
:
String
,
default
:
'small'
},
selectName
:
{
type
:
String
,
default
:
""
},
selectList
:
{
type
:
Array
,
required
:
true
}
},
data
()
{
return
{
oldOptionsObj
:
[]
};
},
created
()
{
this
.
init
();
},
watch
:
{
options
()
{
this
.
init
();
}
},
methods
:
{
init
()
{
let
options
=
this
.
options
;
// let list = ["999"];
// options.forEach(function (item, index) {
// list.push(item.id);
// });
// this.selectList = list;
},
selectAll
(
val
)
{
let
allValues
=
[];
let
dataSource
=
this
.
options
;
let
oldOptions
=
this
.
oldOptionsObj
;
let
Select
=
this
.
selectList
;
//保留所有值
for
(
let
item
of
dataSource
)
{
allValues
.
push
(
item
.
id
);
}
// 用来储存上一次的值,可以进行对比
const
oldVal
=
oldOptions
.
length
===
1
?
[]
:
oldOptions
[
1
];
// 若是全部选择 // 取消全部选中 上次有 当前没有 表示取消全选
if
(
val
.
includes
(
"999"
))
{
if
(
oldVal
.
length
>
0
&&
!
oldVal
.
includes
(
"999"
))
{
Select
=
[
"999"
].
concat
(
allValues
);
}
else
if
(
val
.
length
===
1
)
{
Select
=
[
"999"
].
concat
(
allValues
);
}
else
{
const
index
=
val
.
indexOf
(
"999"
);
val
.
splice
(
index
,
1
);
// 排除全选选项
Select
=
val
;
}
}
else
if
(
!
val
.
includes
(
"999"
))
{
// console.log("------取消全选----");
if
(
val
.
length
===
dataSource
.
length
)
{
if
(
oldVal
.
length
===
dataSource
.
length
-
1
)
{
Select
=
[
"999"
].
concat
(
allValues
);
}
else
{
Select
=
[];
}
}
else
{
Select
=
val
;
}
}
// 点击非全部选中 需要排除全部选中 以及 当前点击的选项
// 新老数据都有全部选中
// if (oldVal.includes('999') && val.includes('999')) {
// const index = val.indexOf('999')
// val.splice(index, 1) // 排除全选选项
// Select = val
// }
// //全选未选 但是其他选项全部选上 则全选选上 上次和当前 都没有全选
// if (!oldVal.includes('999') && !val.includes('999')) {
// if (val.length === allValues.length - 1) Select = ['999'].concat(val)
// }
//储存当前最后的结果 作为下次的老数据
this
.
oldOptionsObj
[
1
]
=
Select
;
this
.
selectList
=
Select
;
let
obj
=
{
type
:
this
.
type
,
data
:
this
.
selectList
};
this
.
$emit
(
"changeList"
,
obj
);
}
}
};
</
script
>
<
style
scoped
lang=
"scss"
>
div
{
display
:
inline-block
;
&
>
span
{
display
:
inline-block
;
margin-right
:
15px
;
font-size
:
14px
;
}
}
.item-title-select-S
{
min-width
:
100px
;
text-align
:
right
;
white-space
:
nowrap
;
}
</
style
>
src/libs/screen.js
View file @
829d06a0
...
...
@@ -267,10 +267,14 @@ const dataSource = {
'id'
:
'2'
,
'name'
:
'已支付'
},
// {
// 'id': '3',
// 'name': '已退款'
// }
{
'id'
:
'3'
,
'name'
:
'全额退款'
},
{
'id'
:
'4'
,
'name'
:
'有责退款'
}
],
'hotType'
:
[{
'id'
:
'1'
,
...
...
@@ -633,11 +637,11 @@ const dataSource = {
name
:
"客车"
,
},
{
id
:
'
2
'
,
id
:
'
3
'
,
name
:
"货车"
,
},
{
id
:
'
3
'
,
id
:
'
2
'
,
name
:
"巴士型"
,
}
...
...
src/mixins/judgeType.js
View file @
829d06a0
...
...
@@ -513,6 +513,10 @@ export default {
return
"订单信息变更"
;
case
15
:
return
"订单价格更改"
;
case
16
:
return
"退款"
;
case
17
:
return
"开发票"
;
default
:
}
},
...
...
@@ -855,9 +859,9 @@ export default {
switch
(
type
)
{
case
1
:
return
'客车'
case
2
:
return
'货车'
case
3
:
return
'货车'
case
2
:
return
'巴士型'
default
:
return
'/'
...
...
src/port/carOrDriver/carOrDriver.js
View file @
829d06a0
import
{
get
,
post
,
put
,
deletes
}
from
'@/request/http'
import
{
get
,
post
,
put
,
deletes
,
postblob
}
from
'@/request/http'
export
function
carQuery
(
data
)
{
const
url
=
process
.
env
.
VUE_APP_BASE_API6
+
'/vehicle/manage/query'
;
return
post
(
url
,
data
)
...
...
@@ -14,4 +14,13 @@ export function getAllTransport(data) {
export
function
delDriver
(
data
)
{
const
url
=
process
.
env
.
VUE_APP_BASE_API6
+
`/driver?userId=
${
data
.
userId
}
&phoneNumber=
${
data
.
driverMobile
}
`
;
return
deletes
(
url
,
{})
}
export
function
downLoadVehicle
(
data
)
{
const
url
=
process
.
env
.
VUE_APP_BASE_API6
+
'/vehicle/downLoadVehicle'
;
return
postblob
(
url
,
data
)
}
export
function
downLoadDriver
(
data
)
{
const
url
=
process
.
env
.
VUE_APP_BASE_API6
+
'/driver/downLoadDriver'
;
return
postblob
(
url
,
data
)
}
\ No newline at end of file
src/port/order-select.js
View file @
829d06a0
...
...
@@ -596,7 +596,10 @@ export function driverDims(val, platformId) {
const
url
=
process
.
env
.
VUE_APP_BASE_API6
+
`/driver/dimV2/
${
val
}
`
return
get
(
url
,
{})
}
export
function
driverinsurance
(
para
)
{
const
url
=
process
.
env
.
VUE_APP_BASE_API6
+
`/vehicle/insurance?plateNumber=
${
para
}
`
return
get
(
url
)
}
/* 运力方费用单添加接口 */
export
function
SettlementCost
(
data
=
{})
{
const
url
=
process
.
env
.
VUE_APP_BASE_API6
+
`/settlementCost/add`
...
...
src/port/statistical.js
View file @
829d06a0
...
...
@@ -8,8 +8,7 @@
import
{
get
,
post
,
put
,
deletes
,
postblob
}
from
'@/request/http'
const
targetBaseUrl
=
process
.
env
.
VUE_APP_BASE_API5
/* 订单概览 */
/* 订单概览 */
export
function
overviewInfo
(
data
)
{
const
url
=
targetBaseUrl
+
`/brandSide/statistics/orderOverview`
;
return
post
(
url
,
data
)
...
...
@@ -40,4 +39,4 @@ export function exportAllOrderList(data) {
export
function
getAllTransport
(
platformId
)
{
const
url
=
targetBaseUrl
+
`/transport?platformId=
${
platformId
}
&page=1&rows=60`
return
get
(
url
,
{})
}
}
\ No newline at end of file
src/router/index.js
View file @
829d06a0
...
...
@@ -381,7 +381,14 @@ export const routes = [{
name
:
'pushNoticeList'
,
component
:
()
=>
import
(
'@/views/notice/noticeList.vue'
),
meta
:
{
title
:
'公告列表'
,
icon
:
'el-icon-s-order'
}
meta
:
{
title
:
'已发布公告'
,
icon
:
'el-icon-s-order'
}
},
{
path
:
'push-notice-list1'
,
name
:
'pushNoticeList1'
,
component
:
()
=>
import
(
'@/views/notice/noticeList.vue'
),
meta
:
{
title
:
'已接收公告'
,
icon
:
'el-icon-s-order'
}
},
{
path
:
'notice-add'
,
...
...
src/store/modules/business.js
View file @
829d06a0
...
...
@@ -62,25 +62,26 @@ const actions = {
await
getplatformList
()
.
then
((
res
)
=>
{
if
(
res
.
status
===
200
)
{
console
.
log
(
res
.
data
);
/** 正式环境注释 */
// res.data.forEach(item => {
// if (item.brandName.indexOf('玖玖') !== -1) {
// item.brandUrl = 'http://xoado.tpddns.net:10001/brand';
// }
// if (item.brandName.indexOf('江南') !== -1) {
// item.brandUrl = 'http://xoado.tpddns.net:10001/brandjn';
// }
// if (item.brandName.indexOf('妥妥') !== -1) {
// item.brandUrl = 'http://xoado.tpddns.net:10001/brandtt';
// }
// })
debugger
/** 测试环境注释 */
res
.
data
.
forEach
(
item
=>
{
if
(
item
.
brandName
.
indexOf
(
'玖玖'
)
!==
-
1
)
{
item
.
brandUrl
=
'http://xoado.tpddns.net:10001/brand'
;
}
if
(
item
.
brandName
.
indexOf
(
'江南'
)
!==
-
1
)
{
item
.
brandUrl
=
'http://xoado.tpddns.net:10001/brandjn'
;
}
if
(
item
.
brandName
.
indexOf
(
'妥妥'
)
!==
-
1
)
{
item
.
brandUrl
=
'http://xoado.tpddns.net:10001/brandtt'
;
}
item
.
brandUrl
=
item
.
brandUrl
+
'/brand'
;
})
/** 测试环境注释 */
// res.data.forEach(item => {
// item.brandUrl = item.brandUrl + '/brand';
// })
// console.log(res.data);
console
.
log
(
res
.
data
);
let
data
=
res
.
data
;
commit
(
'SET_BRANDLIST'
,
JSON
.
stringify
(
data
))
...
...
src/views/business/orderManagement/index.vue
View file @
829d06a0
...
...
@@ -11,7 +11,7 @@
</el-row>
<el-tabs
style=
"background-color: #fff;padding-left: 20px;padding-top: 15px"
v-model=
"activeName"
type=
"card"
@
tab-click=
"handleClick"
>
<el-tab-pane
v-if=
"item.isShow"
:label=
"item.name"
:name=
"item.id"
<el-tab-pane
v-if=
"item.isShow"
:label=
"item.name"
:name=
"item.id"
v-for=
"(item, index) in dataSource.Typecities"
:key=
"index"
></el-tab-pane>
</el-tabs>
<el-card
shadow=
"never"
v-if=
"!typeStatus"
>
...
...
@@ -136,10 +136,6 @@
</el-tooltip>
</div>
</el-col>
<!--
<el-col
:span=
"8"
>
<Selects
:options=
"dataSource.localTransportId"
:selectName=
"'承接运力:'"
:type=
"'transportIdList'"
@
changeList=
"handlechangeList"
></Selects>
</el-col>
-->
<el-col
:span=
"8"
>
<div
class=
"select-time"
>
<span>
用车时间:
</span>
...
...
@@ -162,28 +158,12 @@
</el-row>
<el-row
type=
"flex"
class=
"row-bg"
>
<!--
<el-col
:span=
"8"
>
<div
class=
"select-time"
>
<span>
用车时间:
</span>
<el-date-picker
style=
"width: 230px"
v-model=
"selectResult.useCarTimeList"
type=
"daterange"
@
change=
"DateChange($event, 2)"
:picker-options=
"pickerOptions"
value-format=
"timestamp"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
</div>
</el-col>
-->
<el-col
:span=
"8"
>
<!--
<div
style=
"display: flex;justify-content: end;font-size: 14px;align-items: center;cursor: pointer;"
@
click=
"dialogVisibleSTATUS = true"
>
<img
alt=
"Vue logo"
src=
"@/assets/sele.png"
style=
"width: 25px;height: 25px;"
>
高级搜索
</div>
-->
</el-col>
<el-col
:span=
"8"
>
</el-col>
<el-col
:span=
"8"
>
<div
style=
"display: flex;
align-items: center;
justify-content: end;"
>
<div
style=
"display: flex; align-items: center; justify-content: end;"
>
<div
style=
"display: flex;justify-content: end;font-size: 14px;align-items: center;cursor: pointer;"
@
click=
"dialogVisibleSTATUS = true"
>
<img
alt=
"Vue logo"
src=
"@/assets/sele.png"
style=
"width: 25px;height: 25px;"
>
高级搜索
...
...
@@ -234,7 +214,7 @@
<List
:dialogVisible=
"dialogVisible"
:listData=
"listData"
@
setHeaders=
"setHeaders"
@
getHeaders=
"getOrderHeaders"
@
closeModal=
"closeModal"
></List>
<el-dialog
title=
"高级搜索"
:visible
.
sync=
"dialogVisibleSTATUS"
width=
"60%"
:close-on-click-modal=
"false"
:close-on-press-escape=
"false"
style=
"padding:10px"
>
:close-on-press-escape=
"false"
>
<div
>
<el-row
type=
"flex"
class=
"row-bg item-bg-ma"
>
<el-col
:span=
"8"
>
...
...
@@ -285,8 +265,9 @@
</el-col>
<el-col
:span=
"8"
>
<div
class=
"flex-class"
>
<Selects
:selectName=
"'下单车型:'"
:typeMinwidth=
"true"
:type=
"'vehicleTypes'"
:options=
"carTypeList"
@
changeList=
"handlechangeList"
></Selects>
:options=
"carTypeList"
@
changeList=
"handlechangeList"
></Selects>
</div>
</el-col>
</el-row>
...
...
@@ -416,6 +397,15 @@
</el-col>
</el-row>
<el-row
type=
"flex"
class=
"row-bg item-bg-ma"
>
<el-col
:span=
"8"
>
<Selects
:options=
"options"
:selectName=
"'发票状态:'"
:type=
"'invoiceStatusList'"
@
changeList=
"handlechangeList"
:typeMinwidth=
"true"
></Selects>
</el-col>
</el-row>
</div>
<div
style=
"margin-top: 20px;"
>
<el-button
size=
"small"
type=
"primary"
@
click=
"getDATAlIST"
>
查询
</el-button>
...
...
@@ -429,6 +419,7 @@
<
script
>
import
dataSource
from
'@/libs/screen'
import
Selects
from
'@/components/Selects'
import
SelectsNew
from
'@/components/SelectsNew'
import
List
from
'@/components/List/List'
import
Table
from
'@/components/Table'
import
{
formatDate
}
from
'@/utils/formatDate.js'
...
...
@@ -454,11 +445,43 @@ export default {
components
:
{
Selects
,
List
,
Table
Table
,
SelectsNew
},
mixins
:
[
JudgeType
],
data
()
{
return
{
options
:
[
{
id
:
0
,
name
:
"未开票"
,
},
{
id
:
1
,
name
:
"开票成功"
,
},
{
id
:
2
,
name
:
"开票失败"
,
},
{
id
:
3
,
name
:
"开票中"
,
},
// {
// id: 4,
// name: "已重开",
// },
// {
// id: 5,
// name: "取消开票",
// },
// {
// id: 6,
// name: "已冲红",
// },
],
OperationalDataType
:
[
{
id
:
1
,
...
...
@@ -516,16 +539,17 @@ export default {
page
:
1
,
total
:
0
,
selectResult
:
{
invoiceStatusList
:[],
searchStr
:
''
,
// 搜索条件
placeOrderTimeList
:
[],
// 下单时间
useCarTimeList
:
[],
// 用车时间
orderSourceList
:
dataSource
.
applyOrderSourceList
,
// 订单来源
orderSourceList
:
[]
,
// 订单来源
runTypeList
:
[
'1'
],
// 运营类型
statusList
:
[
'0'
,
'1'
,
'2'
,
'3'
,
'4'
,
'5'
,
'6'
,
'7'
,
'11'
,
'12'
,
'13'
,
'14'
,
'15'
,
'16'
],
// 订单状态
tpaymentStatusList
:
[
'1'
,
'2'
],
// 支付状态
statusList
:
[],
// 订单状态
tpaymentStatusList
:
[],
// 支付状态
transportIdList
:
[],
// 运力方ID
order
:
'desc'
,
orderFlag
:
'
appointment
Time'
,
orderFlag
:
'
create
Time'
,
pageVo
:
{
page
:
1
,
rows
:
10
...
...
@@ -534,10 +558,10 @@ export default {
waybillId
:
""
,
tPaymentId
:
''
,
areaCodeList
:
[],
orderReserveTypes
:
[
1
,
2
],
orderReserveTypes
:
[],
tPlateNumber
:
''
,
intercityTypes
:
[
1
,
2
],
driverTypes
:
[
1
,
2
,
3
,
4
],
intercityTypes
:
[],
driverTypes
:
[],
originatorName
:
''
,
originatorMobile
:
''
,
passengerName
:
''
,
...
...
@@ -1134,7 +1158,7 @@ export default {
//车型默认 vehicleTypes
let
selectIndex
=
[];
data
.
vehicleTypes
.
forEach
((
item
,
index
)
=>
{
selectIndex
.
push
(
item
.
id
)
})
this
.
selectResult
.
vehicleTypes
=
selectIndex
//
this.selectResult.vehicleTypes = selectIndex
},
SettypeStatus
()
{
...
...
@@ -1153,8 +1177,10 @@ export default {
},
};
carTypeQuery
(
params
)
.
then
((
res
)
=>
{
if
(
res
.
status
===
200
)
{
let
data
=
res
.
data
.
content
let
tmpList
=
[]
let
selectIndex
=
[]
...
...
@@ -1166,7 +1192,7 @@ export default {
tmpList
.
push
(
obj
)
selectIndex
.
push
(
item
.
typeItem
)
})
this
.
selectResult
.
vehicleTypes
=
selectIndex
//
this.selectResult.vehicleTypes = selectIndex
this
.
carTypeList
=
tmpList
this
.
dataSource
.
vehicleTypes
=
tmpList
;
}
...
...
@@ -1186,7 +1212,7 @@ export default {
let
json
=
{
platformId
:
JSON
.
parse
(
this
.
platform
).
platformId
,
page
:
1
,
rows
:
50
rows
:
999
}
await
getAllTransport
(
json
,
this
.
brandUrl
).
then
(
res
=>
{
if
(
res
.
status
==
200
)
{
...
...
@@ -1211,8 +1237,10 @@ export default {
this
.
brandUrl
=
JSON
.
parse
(
this
.
platform
).
brandUrl
;
this
.
plat
=
JSON
.
parse
(
this
.
platform
).
platformId
;
if
(
this
.
typeStatus
)
{
this
.
activeName
=
"1"
this
.
ResetselectResult
()
}
await
this
.
getOpenAreaListFun
();
await
this
.
initTable
()
await
this
.
getTransport
();
...
...
@@ -1225,6 +1253,7 @@ export default {
async
getAllPlatform
()
{
await
getplatformList
().
then
(
async
(
res
)
=>
{
if
(
res
.
status
==
200
)
{
this
.
platformList
=
res
.
data
.
map
((
element
)
=>
{
if
(
element
.
brandUrl
)
{
return
{
...
...
@@ -1250,7 +1279,6 @@ export default {
page
:
1
,
rows
:
9999
,
}
getRegionManageList
(
params
,
this
.
brandUrl
).
then
(
res
=>
{
if
(
res
.
status
==
200
)
{
let
data
=
res
.
data
.
content
...
...
@@ -1384,16 +1412,12 @@ export default {
json
.
pageVo
.
page
=
this
.
page
;
let
that
=
this
;
if
(
this
.
typeStatus
)
{
//调用新接口查询列表
let
{
data
}
=
await
getAllOrderListNew
(
json
,
that
.
brandUrl
,
that
.
plat
)
this
.
config
.
data
=
[]
this
.
config
.
data
=
data
.
content
this
.
total
=
data
.
total
loading
.
close
();
}
else
{
let
{
data
}
=
await
getAllOrderList
(
json
,
that
.
brandUrl
,
that
.
plat
)
...
...
@@ -1406,7 +1430,7 @@ export default {
},
DateChange
(
val
,
type
)
{
if
(
type
==
1
)
{
this
.
selectResult
.
useCarTimeList
=
[];
//
this.selectResult.useCarTimeList = [];
if
(
!!
this
.
selectResult
.
placeOrderTimeList
&&
this
.
selectResult
.
placeOrderTimeList
.
length
>
0
)
{
let
end
=
this
.
selectResult
.
placeOrderTimeList
[
1
]
this
.
selectResult
.
placeOrderTimeList
[
1
]
=
end
+
8.64e7
-
1000
...
...
@@ -1414,7 +1438,7 @@ export default {
this
.
selectResult
.
placeOrderTimeList
=
[];
}
}
else
{
this
.
selectResult
.
placeOrderTimeList
=
[];
//
this.selectResult.placeOrderTimeList = [];
if
(
!!
this
.
selectResult
.
useCarTimeList
&&
this
.
selectResult
.
useCarTimeList
.
length
>
0
)
{
let
end
=
this
.
selectResult
.
useCarTimeList
[
1
]
this
.
selectResult
.
useCarTimeList
[
1
]
=
end
+
8.64e7
-
1000
...
...
@@ -1482,7 +1506,7 @@ export default {
this
.
selectResult
.
orderFlag
=
column
.
prop
;
this
.
selectResult
.
order
=
'asc'
;
}
else
{
this
.
selectResult
.
orderFlag
=
'
appointment
Time'
;
this
.
selectResult
.
orderFlag
=
'
create
Time'
;
this
.
selectResult
.
order
=
'desc'
;
}
this
.
sortRule
.
order
=
column
.
order
;
...
...
@@ -1539,11 +1563,9 @@ export default {
* 订单类型
* */
orderReserveText
({
data
})
{
if
(
data
.
orderReserveText
*
1
==
1
)
{
return
`<span>
${
this
.
reserveTypeText
(
data
.
orderReserveType
)}
</span> <el-tag type="danger" class="el-tag el-tag--danger el-tag--light el-tag--small">拼车</el-tag>`
}
else
{
return
`<span>
${
this
.
reserveTypeText
(
data
.
orderReserveType
)}
</span> <el-tag class="el-tag el-tag--light el-tag--small" >专车</el-tag>`
}
let
str
=
data
.
intercityType
*
1
==
1
?
`<span>
${
this
.
reserveTypeText
(
data
.
orderReserveType
)}
</span>
<el-tag type="danger" class="el-tag el-tag--danger el-tag--light el-tag--small">拼车</el-tag>`
:
`<span>
${
this
.
reserveTypeText
(
data
.
orderReserveType
)}
</span> <el-tag class="el-tag el-tag--light el-tag--small" >专车</el-tag>`
return
str
},
/**
...
...
@@ -1645,11 +1667,18 @@ export default {
::v-deep
{
.el-tabs__header
{
margin
:
0
;
}
.el-tabs--card
>
.el-tabs__header
{
border-bottom
:
none
;
}
.el-dialog__header
{
padding
:
20px
20px
10px
;
}
.el-dialog__body
{
padding
:
30px
20px
;
}
}
}
...
...
src/views/business/orderManagement/orderDetail.vue
View file @
829d06a0
...
...
@@ -87,12 +87,7 @@
</li>
<li>
<div>
<span
>
订单价格:
{{
(
!!
dataSource
.
trealMoney
&&
dataSource
.
runType
!=
6
)
?
dataSource
.
trealMoney
+
'元'
+
(
dataSource
.
valuationType
==
'3'
?
' 协定价'
:
' 一口价'
)
:
dataSource
.
estimateMoney
+
'元'
+
(
dataSource
.
runType
==
6
?
' 套餐价'
:
' 预估价'
)
}}
</span
<span
>
订单价格:
{{
dataSource
.
estimateMoney
+
"元"
+
" "
+
(
dataSource
.
valuationType
*
1
==
0
?
" 预估价"
:
dataSource
.
valuationType
*
1
==
2
?
"一口价"
:
dataSource
.
valuationType
*
1
==
3
?
"协定价"
:
dataSource
.
valuationType
*
1
==
4
?
"套餐价"
:
"一口价"
)
}}
</span
>
</div>
<div>
...
...
@@ -175,6 +170,42 @@
</span>
</div>
</ul>
<ul
class=
"table-info"
style=
"margin-top: 30px"
>
<h5>
司机信息
</h5>
<li>
<div>
<span>
承接运力:
{{
dataSource
.
transportName
}}
</span>
</div>
<div>
<!--
{{
dataSource
}}
-->
<span>
接单司机:
{{
dataSource
.
driverName
||
'/'
}}
{{
dataSource
.
driverPhone
||
'/'
}}
</span>
<CopyIcon
:msg=
"dataSource.driverPhone"
v-if=
"dataSource.driverPhone"
/>
</div>
</li>
<li>
<div>
<span>
司机类型:
{{
dataSource
.
driverInfo
?
JSON
.
parse
(
dataSource
.
driverInfo
).
driverType
*
1
==
1
?
'兼职司机'
:
JSON
.
parse
(
dataSource
.
driverInfo
).
driverType
*
1
==
2
?
'虚拟司机'
:
JSON
.
parse
(
dataSource
.
driverInfo
).
driverType
*
1
==
3
?
'外调司机'
:
'专职司机'
:
'/'
}}
</span>
</div>
<div
v-if=
"dataSource.tplateNumber"
>
<span>
车辆信息:
{{
dataSource
.
tplateNumber
||
'/'
}}
</span>
<span
style=
"padding:0 10px"
>
{{
carTypeText
(
JSON
.
parse
(
dataSource
.
chooseVehicleType
).
type
)
}}
</span>
</div>
</li>
<li>
<div
v-if=
"!!dataSource.tdriverAcceptTime"
>
<span>
接单时间:
{{
dataSource
.
tdriverAcceptTime
|
formatDates
}}
</span>
</div>
<div
v-else
>
<span>
接单时间:/
</span>
</div>
</li>
</ul>
</div>
<div
style=
"margin-top: 20px"
>
<div
class=
"amap-wrapper"
>
...
...
@@ -194,13 +225,17 @@
</div>
</el-card>
<div
class=
"part-order"
>
<el-card
class=
"cost-left"
>
<div
style=
"width:50%"
>
<div>
<el-card
class=
"cost-left"
>
<div
slot=
"header"
class=
"clearfix"
>
<span
class=
"mainColor"
>
费用清单
</span>
</div>
<div
v-if=
"dataSource.status != '6'"
>
<p>
<span>
支付状态:{{ dataSource.tpaymentStatus == 2 ? '已支付' : '未支付' }}
</span>
<span>
支付状态:
{{ dataSource.tpaymentStatus*1 == 2 ? '已支付' :dataSource.tpaymentStatus*1 == 3?'全额退款':dataSource.tpaymentStatus*1 == 4?'有责退款':'未支付' }}
</span>
</p>
<div
v-if=
"dataSource.estimateInfo"
>
<p
v-for=
"(item,index) in JSON.parse(dataSource.estimateInfo)"
:key=
"index"
>
...
...
@@ -208,7 +243,16 @@
</p>
</div>
<p>
<span>
总计费用:{{ dataSource.estimateMoney }}元
</span>
<span>
实付金额:{{ dataSource.tpaymentStatus == 1 ? '0.00' : dataSource.trealPayment }}元
</span>
</p>
<p>
<span>
应付金额:{{ dataSource.trealMoney }}元
</span>
</p>
<p>
<span>
有责金额:{{ dataSource.responsiblePayment }}元
</span>
</p>
<p>
<span>
预估金额:{{ dataSource.estimateMoney }}元
</span>
</p>
</div>
<div
v-else
>
...
...
@@ -218,8 +262,7 @@
v-clipboard:success=
"onCopy"
v-clipboard:error=
"onError"
>
<span>
商户订单号:{{ dataSource.tpaymentId }}
</span>
<i
v-if=
"dataSource.tpaymentId"
class=
"el-icon-copy-document mainColor"
style=
"font-size: 14px;margin-left: 5px"
></i>
<i
v-if=
"dataSource.tpaymentId"
class=
"el-icon-copy-document mainColor"
style=
"font-size: 14px;margin-left: 5px"
></i>
</p>
<p>
<span>
支付状态:{{ dataSource.tpaymentStatus == 2 ? '已支付' : '未支付' }}
</span>
...
...
@@ -227,24 +270,50 @@
<p
v-if=
"dataSource.couponDiscount"
>
<span>
优惠金额:{{ dataSource.couponDiscount }}
</span>
</p>
<p
v-for=
"(item,index) in dataSource.trealInfo"
:key=
"index"
>
<span
v-if=
"!!item.price&&item.price!='0'"
>
{{ item.name }}:{{
item.price
}}元
</span>
<p
v-for=
"(item,index) in JSON.parse(dataSource.trealInfo)"
:key=
"index"
>
<span
v-if=
"!!item.price&&item.price!='0'"
>
{{ item.name }}:{{ item.price }}元
</span>
</p>
<p>
<span>
实付金额:{{ dataSource.trealPayment }}元
</span>
<span>
实付金额:{{ dataSource.t
paymentStatus == 1 ? '0.00' : dataSource.t
realPayment }}元
</span>
</p>
<p>
<span>
总计费用:{{ dataSource.trealMoney }}元
</span>
<span>
应付金额:{{ dataSource.trealMoney }}元
</span>
</p>
<p>
<span>
有责金额:{{ dataSource.responsiblePayment }}元
</span>
</p>
<p>
<span>
预估金额:{{ dataSource.estimateMoney }}元
</span>
</p>
</div>
</el-card>
</div>
<div
style=
"margin-top: 10px;"
>
<el-card
>
<div
slot=
"header"
class=
"clearfix"
>
<span
class=
"mainColor"
>
订单分账明细
</span>
</div>
<div
style=
"overflow-y: scroll;text-align: left;min-height: 300px;"
>
<div
>
<span
style=
"font-weight: 700;font-size: 14px;"
>
四方分账比例
</span>
<span
style=
"color: #ff723b;font-size: 14px;padding: 0 5px;"
>
{{ dataSource.areaName }} | {{ runTypeText(dataSource.runType) }} | {{ orderSourcesNew(dataSource.orderSource) }}
</span>
</div>
<div
style=
"padding:10px 5px"
v-for=
"(item,index) in dataSource.xoadoSetRationOrders"
:key=
"index"
>
{{item.editSource*1==1?'平台方':item.editSource*1==2?'运力方':item.editSource*1==3?'运营方':'收单方'}} | {{item.subAccountObjectName}} | {{item.subAccountNapeName}} | {{ item.subAccountRation }}% | {{ item.subAccountRationPrice }} 元
</div>
</div>
</el-card>
</div>
</div>
<el-card
class=
"operation-log"
>
<div
slot=
"header"
class=
"clearfix"
>
<span
class=
"mainColor"
>
订单操作日志
</span>
</div>
<div
style=
"overflow: scroll;text-align: left"
>
<div
style=
"overflow: scroll;text-align: left
;min-height: 540px;
"
>
<el-timeline
v-for=
"(item, index) in getOrderLogList"
:key=
"index"
...
...
src/views/business/waybillManagement/index.vue
View file @
829d06a0
...
...
@@ -218,7 +218,7 @@
</div>
</el-card>
<el-dialog
title=
"高级搜索"
:visible
.
sync=
"dialogVisibleSTATUS"
width=
"60%"
:close-on-click-modal=
"false"
:close-on-press-escape=
"false"
>
:close-on-press-escape=
"false"
style=
"padding:10px"
>
<div>
<el-row
type=
"flex"
class=
"row-bg item-bg-ma"
>
<el-col
:span=
"8"
>
...
...
@@ -498,9 +498,10 @@ export default {
transportIdList
:
[],
areaCodeList
:
[],
// 运力区域
runTypeList
:
[
'1'
],
// 业务类型选择
orderSourceList
:
dataSource
.
applyOrderSourceList
,
// 订单来源
waybillStatusList
:
[
'0'
,
'1'
,
'2'
,
'3'
,
'4'
,
'6'
,
'11'
,
'12'
,
'13'
,
'14'
,
'15'
,
'16'
],
// 订单状态
paymentStatusList
:
[
'1'
,
'2'
],
// 支付状态
// orderSourceList: dataSource.applyOrderSourceList, // 订单来源
orderSourceList
:[],
waybillStatusList
:
[],
// 订单状态
paymentStatusList
:
[],
// 支付状态
placeOrderTimeList
:
[],
// 下单时间 默认显示当前时间到一周前
useCarTimeList
:
[],
// 用车时间 默认显示当前时间到一周后
searchStr
:
''
,
// 搜索内容
...
...
@@ -509,7 +510,7 @@ export default {
orderId
:
''
,
//订单号
channelNumber
:
''
,
//渠道单号
reserveTypeList
:
[
1
,
2
],
//服务类型
reserveTypeList
:
[],
//服务类型
vehicleTypes
:
[],
//接单车型
plateNumber
:
''
,
//车牌号
driverPhone
:
''
,
//司机电话
...
...
@@ -872,6 +873,7 @@ export default {
copy
:
'channelNumber'
,
renderFun
:
row
=>
this
.
orderSourcefun
(
row
)
},
{
prop
:
'orderId'
,
attrs
:
{
width
:
160
},
...
...
@@ -981,7 +983,7 @@ export default {
this
.
dataSource
.
localTransportId
=
data
.
localTransportId
//承接运力
this
.
OperationalData
=
this
.
dataSource
.
OperationalData
//运营区域
this
.
OperationalDataType
=
[{
id
:
1
,
name
:
'实时单'
},
{
id
:
2
,
name
:
'预约单'
}];
//运单类型
this
.
dataSource
.
waybillStatusList
=
data
.
waybillStatusList
//运单状态
//
this.dataSource.waybillStatusList = data.waybillStatusList//运单状态
this
.
carTypeList
=
data
.
vehicleTypes
//接单车型
this
.
OperationalData
=
data
.
OperationalData
;
this
.
selectResult
.
weybillFlag
=
'createTime'
...
...
@@ -1001,7 +1003,7 @@ export default {
//车型默认 vehicleTypes
let
selectIndex
=
[];
data
.
vehicleTypes
.
forEach
((
item
,
index
)
=>
{
selectIndex
.
push
(
item
.
id
)
})
this
.
selectResult
.
vehicleTypes
=
selectIndex
//
this.selectResult.vehicleTypes = selectIndex
},
getDATAlIST
()
{
this
.
dialogVisibleSTATUS
=
false
...
...
@@ -1060,7 +1062,7 @@ export default {
let
json
=
{
platformId
:
JSON
.
parse
(
this
.
platformId
).
platformId
,
page
:
1
,
rows
:
50
rows
:
999
}
await
getAllTransport
(
json
,
this
.
brandUrl
).
then
(
res
=>
{
if
(
res
.
status
==
200
)
{
...
...
@@ -1498,7 +1500,7 @@ export default {
},
DateChange
(
val
,
type
)
{
if
(
type
==
1
)
{
this
.
selectResult
.
useCarTimeList
=
[]
//
this.selectResult.useCarTimeList = []
if
(
!!
this
.
selectResult
.
placeOrderTimeList
&&
this
.
selectResult
.
placeOrderTimeList
.
length
>
0
)
{
let
end
=
this
.
selectResult
.
placeOrderTimeList
[
1
]
this
.
selectResult
.
placeOrderTimeList
[
1
]
=
end
+
8.64e7
-
1000
...
...
@@ -1506,7 +1508,7 @@ export default {
this
.
selectResult
.
placeOrderTimeList
=
[]
}
}
else
{
this
.
selectResult
.
placeOrderTimeList
=
[]
//
this.selectResult.placeOrderTimeList = []
if
(
!!
this
.
selectResult
.
useCarTimeList
&&
this
.
selectResult
.
useCarTimeList
.
length
>
0
)
{
let
end
=
this
.
selectResult
.
useCarTimeList
[
1
]
this
.
selectResult
.
useCarTimeList
[
1
]
=
end
+
8.64e7
-
1000
...
...
@@ -1665,8 +1667,9 @@ export default {
return
code
},
orderSourcefun
({
data
})
{
// return data.detail.orderSource
let
code
=
''
let
orderSourcesText
=
this
.
orderSource
fun
(
data
.
detail
.
orderSource
)
let
orderSourcesText
=
this
.
orderSource
sNew
(
data
.
detail
.
orderSource
)
code
=
`<div>
${
orderSourcesText
}
</div>`
return
code
},
...
...
@@ -1749,6 +1752,12 @@ export default {
.el-card__body
{
padding
:
10px
20px
;
}
.el-dialog__header
{
padding
:
20px
20px
10px
;
}
.el-dialog__body
{
padding
:
30px
20px
;
}
}
}
...
...
src/views/notice/noticeList.vue
View file @
829d06a0
...
...
@@ -3,11 +3,11 @@
<el-row
v-if=
"isAll"
>
<el-row
type=
"flex"
justify=
"space-between"
>
<div
class=
"top-title"
>
全部
公告
已接收
公告
</div>
<el-button
style=
"margin-left: 10px;padding: 7px 15px;border-color: #3C6CF1;color: #3C6CF1;"
@
click=
"() => isAll = !isAll"
>
<
!--
<
el-button
style=
"margin-left: 10px;padding: 7px 15px;border-color: #3C6CF1;color: #3C6CF1;"
@
click=
"() => isAll = !isAll"
>
已发布公告
</el-button>
</el-button>
-->
</el-row>
<all-notice-list></all-notice-list>
</el-row>
...
...
@@ -16,9 +16,9 @@
<div
class=
"top-title"
>
已发布公告
</div>
<el-button
style=
"margin-left: 10px;padding: 7px 15px;border-color: #3C6CF1;color: #3C6CF1;"
@
click=
"() => isAll = !isAll"
>
<
!--
<
el-button
style=
"margin-left: 10px;padding: 7px 15px;border-color: #3C6CF1;color: #3C6CF1;"
@
click=
"() => isAll = !isAll"
>
全部公告
</el-button>
</el-button>
-->
</el-row>
<push-notice-list></push-notice-list>
</el-row>
...
...
@@ -34,6 +34,21 @@ export default {
pushNoticeList
,
allNoticeList
},
watch
:
{
'$route'
:
{
// $route可以用引号,也可以不用引号 监听的对象
handler
(
to
,
from
)
{
if
(
to
.
path
==
"/notice/push-notice-list"
)
{
this
.
isAll
=
false
}
else
{
this
.
isAll
=
true
}
},
deep
:
true
,
// 深度观察监听 设置为 true
immediate
:
true
,
// 第一次初始化渲染就可以监听到
}
},
data
()
{
return
{
isAll
:
true
...
...
src/views/platform/regionManage.vue
View file @
829d06a0
...
...
@@ -146,11 +146,12 @@ export default {
}
},
async
created
()
{
await
this
.
getPCAInfo
();
if
(
this
.
brandLists
.
length
>
0
)
{
this
.
getPlatformInfo
();
await
this
.
getPlatformInfo
();
await
this
.
getTableList
();
}
await
this
.
getPCAInfo
();
// await this.getPlatformList();
},
computed
:
{
...
...
src/views/transports/car.vue
View file @
829d06a0
...
...
@@ -58,6 +58,7 @@
</el-col>
<el-col
:span=
"8"
>
<el-button
type=
"primary"
size=
"mini"
@
click=
"searchByInfo"
>
查询
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"ListToExcel"
>
导出
</el-button>
</el-col>
</el-row>
</el-form>
...
...
@@ -150,12 +151,14 @@
import
Selects
from
'@/components/Selects'
;
import
dataSource
from
"@/libs/screen"
;
import
JudgeType
from
"@/mixins/judgeType"
;
import
{
Loading
}
from
'element-ui'
import
{
getAllprovinceAndCity
,
delcar
}
from
"@/port/set-request"
;
import
{
carQuery
,
getAllTransport
getAllTransport
,
downLoadVehicle
}
from
"@/port/carOrDriver/carOrDriver"
;
export
default
{
...
...
@@ -205,7 +208,7 @@ export default {
// 参数集合
selectResult
:
{
transportList
:
[],
driverTypeList
:
[
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
15
,
16
,
17
]
,
driverTypeList
:
dataSource
.
driverTypeListABC
,
auditStatusList
:
[
1
,
2
],
serviceStatusList
:
[
1
,
2
,
3
],
runStatus
:
[
1
,
2
,
3
,
4
],
...
...
@@ -223,16 +226,53 @@ export default {
await
this
.
initTable
();
},
methods
:
{
ListToExcel
(){
if
(
this
.
total
<=
0
)
{
this
.
$message
.
error
(
"导出的数据不存在"
)
return
}
if
(
this
.
total
>=
15000
)
{
this
.
$message
.
error
(
"导出的数据量超过15000条会导致服务器带宽异常,请分批导出"
)
return
}
let
json
=
{
commercialTypeList
:
this
.
selectResult
.
auditStatusList
,
operateOrgIdList
:
this
.
selectResult
.
transportList
,
runStatus
:
this
.
selectResult
.
serviceStatusList
,
serviceStatus
:
this
.
selectResult
.
runStatus
,
vehicleTypeList
:
this
.
selectResult
.
driverTypeList
,
searchStr
:
this
.
selectResult
.
searchStr
,
pageVo
:
{
page
:
this
.
page
,
rows
:
this
.
size
},
platformId
:
this
.
$store
.
getters
.
platformId
,
regionCode
:
this
.
selectResult
.
areaCodeList
.
length
>
0
?
this
.
selectResult
.
areaCodeList
[
this
.
selectResult
.
areaCodeList
.
length
-
1
]
:
''
,
warrantStatus
:
this
.
selectResult
.
warrantStatus
,
}
let
loadingInstance
=
Loading
.
service
({
fullscreen
:
true
,
text
:
'车辆列表正在导出,请稍后'
});
downLoadVehicle
(
json
).
then
(
res
=>
{
let
blob
=
new
Blob
([
res
],
{
type
:
'application/vnd.ms-excel;charset=utf-8'
})
var
link
=
document
.
createElement
(
'a'
)
link
.
href
=
window
.
URL
.
createObjectURL
(
blob
)
link
.
download
=
'车辆列表.xls'
link
.
click
()
loadingInstance
.
close
()
}).
catch
(
err
=>
{
this
.
$message
.
error
(
'导出失败'
)
loadingInstance
.
close
()
})
},
delCAar
(
row
)
{
this
.
$confirm
(
`确定删除该(
${
row
.
plateNumber
}
)该车辆相关信息, 删除后不可撤回,请谨慎操作?`
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
((
da
)
=>
{
let
json
=
{
platenumber
:
row
.
plateNumber
}
...
...
src/views/transports/carDetail.vue
View file @
829d06a0
...
...
@@ -2,29 +2,39 @@
<div>
<el-card
class=
"box-card"
>
<el-row>
<div
class=
"title-left"
>
车辆信息
<div
style=
"display: flex;
align-items: center;
margin: 8px 0;"
>
<div
class=
"title-left"
>
车辆信息
</div>
<div
style=
"margin-left:10px"
>
<el-button
style=
"pointer-events: none;"
:type=
"dataSource.platformStatus == 1 ? 'primary' : dataSource.platformStatus == 2 ? 'danger' : 'success'"
size=
"mini"
plain
>
{{
dataSource
.
platformStatus
==
1
?
'已达标'
:
dataSource
.
platformStatus
==
2
?
'已驳回'
:
'待评定'
}}
</el-button>
</div>
<div
style=
"margin-left:10px"
>
<el-button
style=
"pointer-events: none;"
:type=
"dataSource.auditState == 1 ? 'primary' : dataSource.auditState == 2 ? 'danger' : 'success'"
size=
"mini"
plain
>
{{
dataSource
.
auditState
==
1
?
'已通过'
:
dataSource
.
auditState
==
2
?
'已驳回'
:
'未审核'
}}
</el-button>
</div>
</div>
</el-row>
<div
class=
"top-part"
>
<div
class=
"top-part-left"
style=
"display: flex"
>
<img
:src=
"
!!dataSource.vehcileLicenseJson &&
dataSource.vehcileLicenseJson.carimg
"
alt=
""
style=
"margin-right: 20px"
/>
<el-image
style=
"width: 100px; height: 100px; margin-right: 50px"
v-if=
"!!dataSource.vehcileLicenseJson &&
dataSource.vehcileLicenseJson.carimg"
:src=
"!!dataSource.vehcileLicenseJson &&
dataSource.vehcileLicenseJson.carimg"
:preview-src-list=
"srcList2"
></el-image>
<div>
<h5
style=
"line-height: 30px"
>
<span>
{{
dataSource
.
plateNumber
}}
</span
><span
style=
"padding: 0 5px"
></span>
<el-tag
><span>
{{
dataSource
.
commercialType
==
"1"
?
"加盟车辆"
:
"自营车辆"
}}
</span></el-tag
>
<span>
{{
dataSource
.
plateNumber
}}
</span><span
style=
"padding: 0 5px"
></span>
<el-tag><span>
{{
dataSource
.
commercialType
==
"1"
?
"加盟车辆"
:
"自营车辆"
}}
</span></el-tag>
</h5>
<div
style=
"line-height: 30px"
>
<span>
绑定司机:
{{
dataSource
.
bindingName
}}
</span>
...
...
@@ -40,33 +50,25 @@
<span>
所有人(车主):
{{
dataSource
.
ownerName
}}
</span>
</div>
<div
style=
"line-height: 30px"
>
<span
>
核定载人数:
{{
!!
dataSource
.
vehcileLicenseJson
&&
dataSource
.
vehcileLicenseJson
.
seats
}}
人
</span
>
<span>
核定载人数:
{{
!!
dataSource
.
vehcileLicenseJson
&&
dataSource
.
vehcileLicenseJson
.
seats
}}
人
</span>
</div>
<div
style=
"line-height: 30px"
>
<span
>
品牌型号:
{{
!!
dataSource
.
vehcileLicenseJson
&&
dataSource
.
vehcileLicenseJson
.
vehicleType
}}
</span
>
<span>
品牌型号:
{{
!!
dataSource
.
vehcileLicenseJson
&&
dataSource
.
vehcileLicenseJson
.
vehicleType
}}
</span>
</div>
<div
style=
"line-height: 30px"
>
<span
>
车辆颜色:
{{
!!
dataSource
.
vehcileLicenseJson
&&
dataSource
.
vehcileLicenseJson
.
vehicleColor
}}
</span
>
<span>
车辆颜色:
{{
!!
dataSource
.
vehcileLicenseJson
&&
dataSource
.
vehcileLicenseJson
.
vehicleColor
}}
</span>
</div>
<div
style=
"line-height: 30px"
>
<span
>
车型:
<span
v-text=
"carTypeText(dataSource.vehicleType)"
></span
></span>
<span>
车型:
<span
v-text=
"carTypeText(dataSource.vehicleType)"
></span></span>
<!--
<el-button
style=
"margin-left: 10px"
type=
"text"
...
...
@@ -79,18 +81,11 @@
<div
class=
"top-part-right"
>
<div
style=
"margin-right: 20px"
>
行驶证
</div>
<div>
<el-image
style=
"width: 100px; height: 100px; margin-right: 50px"
v-if=
"dataSource.vehcileLicenseJson"
:src=
"dataSource.vehcileLicenseJson.vehicleIco"
:preview-src-list=
"srcList"
></el-image>
<el-image
style=
"width: 100px; height: 100px"
v-if=
"dataSource.vehcileLicenseJson"
:src=
"dataSource.vehcileLicenseJson.vehicleIcocopy"
:preview-src-list=
"srcList1"
></el-image>
<el-image
style=
"width: 100px; height: 100px; margin-right: 50px"
v-if=
"dataSource.vehcileLicenseJson"
:src=
"dataSource.vehcileLicenseJson.vehicleIco"
:preview-src-list=
"srcList"
></el-image>
<el-image
style=
"width: 100px; height: 100px"
v-if=
"dataSource.vehcileLicenseJson"
:src=
"dataSource.vehcileLicenseJson.vehicleIcocopy"
:preview-src-list=
"srcList1"
></el-image>
</div>
</div>
</div>
...
...
@@ -103,32 +98,16 @@
</div>
</el-row>
<div
style=
"max-height: 300px;overflow-y: auto;margin-top: 10px;"
>
<el-table
:data=
"serviceProduct"
size=
"small"
border
stripe
:header-cell-style=
"
{'background-color': '#0099ff', color: '#ffffff'}"
style="width: 99%; margin: 0 auto 10px;"
>
<el-table
:data=
"serviceProduct"
size=
"small"
border
stripe
:header-cell-style=
"
{ 'background-color': '#0099ff', color: '#ffffff' }"
style="width: 99%; margin: 0 auto 10px;">
<el-table-column
fixed
align=
"center"
prop=
"carType"
label=
"业务类型"
>
<template
slot-scope=
"
{ row }">
<span
v-if=
"!!row.runType"
v-text=
"runTypeText(row.runType)"
></span>
<span
v-if=
"!!row.runType"
v-text=
"runTypeText(row.runType)"
></span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"productName"
label=
"产品名称"
></el-table-column>
<el-table-column
align=
"center"
prop=
"productLine"
label=
"产品线路"
></el-table-column>
<el-table-column
align=
"center"
prop=
"productName"
label=
"产品名称"
></el-table-column>
<el-table-column
align=
"center"
prop=
"productLine"
label=
"产品线路"
></el-table-column>
<el-table-column
align=
"center"
prop=
"driverNum"
label=
"出车类型"
>
<
template
slot-scope=
"{ row }"
>
<span
v-text=
"reserveTypeText(row.reserveType)"
></span>
...
...
@@ -146,57 +125,139 @@
</el-row>
<el-form
class=
"form-n-bottom"
label-position=
"right"
label-width=
"180px"
>
<el-form-item
label=
"定位装置品牌:"
>
{{
dataSource.deviceInfo ? dataSource.deviceInfo.gpsBrand : '/'
}}
{{
dataSource.deviceInfo ? dataSource.deviceInfo.gpsBrand : '/'
}}
</el-form-item>
<el-form-item
label=
"定位装置型号:"
>
{{
dataSource.deviceInfo ? dataSource.deviceInfo.model : '/'
}}
{{
dataSource.deviceInfo ? dataSource.deviceInfo.model : '/'
}}
</el-form-item>
<el-form-item
label=
"设备ID号:"
>
{{
dataSource.deviceInfo ? dataSource.deviceInfo.deviceId : '/'
}}
{{
dataSource.deviceInfo ? dataSource.deviceInfo.deviceId : '/'
}}
</el-form-item>
<el-form-item
label=
"设备IMEI号:"
>
{{
dataSource.deviceInfo ? dataSource.deviceInfo.imei : '/'
}}
{{
dataSource.deviceInfo ? dataSource.deviceInfo.imei : '/'
}}
</el-form-item>
<el-form-item
label=
"定位装置安装时间:"
>
{{
dataSource.deviceInfo ? dateTime2Str(dataSource.deviceInfo.setupDate, 'yyyy-mm-dd hh:mm:ss') : '/'
}}
{{
dataSource.deviceInfo ? dateTime2Str(dataSource.deviceInfo.setupDate, 'yyyy-mm-dd hh:mm:ss') : '/'
}}
</el-form-item>
</el-form>
</el-card>
<el-card
class=
"box-card"
style=
"margin: 20px 0"
>
<el-row>
<div
class=
"title-left"
>
经营信息
<el-card
class=
"box-card"
style=
"margin: 20px 0"
v-if=
"!isEmptyObject(certificationInfo)"
>
<div
slot=
"header"
class=
"clearfix"
style=
" display: flex;align-items: center;justify-content: start;"
>
<span>
经营信息:
</span>
<div
style=
"margin-left:10px"
>
<el-button
style=
"pointer-events: none;"
:type=
"certificationInfo.status == 1 ? 'primary' : certificationInfo.status == 2 ? 'danger' : 'success'"
size=
"mini"
plain
>
{{ certificationInfo.status == 1 ? '已通过' : certificationInfo.status == 2 ? '已驳回' : '未审核' }}
</el-button>
</div>
</el-row>
<div
class=
"img-text-part"
style=
"margin-top: 5px;"
>
<div
style=
"display: block;"
>
<div>
网络预约出租汽车运输证:
</div>
</div>
<div
class=
"img-text-part"
>
<div>
<span>
网络预约出租汽车运输证:
</span>
<div>
<el-image
style=
"width: 200px; height: 130px; margin-right: 20px"
:src=
"certificationInfo.imgUrl"
:preview-src-list=
"srcList5"
></el-image>
<el-image
style=
"width: 100px; height: 100px; margin-right: 50px"
:src=
"certificationInfo.imgUrl"
:preview-src-list=
"srcList5"
></el-image>
</div>
</div>
<div>
<el-form
label-width=
"150px"
label-position=
"right"
>
<el-form-item
label=
"号牌号码:"
>
{{ certificationInfo.plateNumber ? certificationInfo.plateNumber : '/' }}
</el-form-item>
<el-form-item
label=
"座位:"
>
{{ certificationInfo.seating ? certificationInfo.seating : '/' }}
</el-form-item>
<el-form-item
label=
"运营期限:"
>
{{ certificationInfo.validTime ? (certificationInfo.validTime | dateFilter) : '/'}}
</el-form-item>
</el-form>
<p>
<span>
许可证号:
</span><span>
{{ certificationInfo.warrantNo }}
</span>
</p>
<p>
<span>
经营范围:
</span><span>
{{ certificationInfo.businessScope || '/' }}
</span>
</p>
<p>
<span>
发证机构:
</span><span>
{{ certificationInfo.certificationMechanism || '/' }}
</span>
</p>
<p>
<span>
发证日期:
</span><span>
{{ certificationInfo.getTime | dateFilter('2') }}
</span>
</p>
<p>
<span>
有效起止日期:
</span><span>
{{ certificationInfo.validStartTime | dateFilter('2') }}-{{
certificationInfo.validTime | dateFilter('2') }}
</span>
</p>
</div>
</div>
</el-card>
<div
style=
"display: flex;align-items: center;justify-content: space-between;"
>
<el-card
class=
"box-card"
style=
"width:calc(50% - 10px);min-height: 180px;"
>
<div
slot=
"header"
class=
"clearfix"
style=
" display: flex;align-items: center;justify-content: space-between;"
>
<span>
年检信息:
</span>
</div>
<div
class=
"img-text-part"
>
<div>
<!-- {{ dataSource }} -->
</div>
<div>
<p>
<span>
检修结果:
</span><span>
{{ dataSource.fixState * 1 == 1 ? '已检修' : dataSource.fixState * 1 == 2 ? '未知' : '未检修' }}
</span>
</p>
<p>
<span>
年度审验状态:
</span><span>
{{ dataSource.checkState * 1 == 1 ? '审验通过' : dataSource.checkState * 1 == 2 ? '审验未通过' : '未审验'
}}
</span>
</p>
<p
v-if=
"!dataSource.nextFixDate"
>
<span>
下次年检日期:
</span><span>
{{ '/' }}
</span>
</p>
<p
v-else
>
<span>
下次年检日期:
</span><span>
{{ dataSource.nextFixDate | dateFilter('2') }}
</span>
</p>
</div>
</div>
</el-card>
<el-card
class=
"box-card"
style=
"width:calc(50% - 10px);min-height: 180px;"
>
<div
slot=
"header"
class=
"clearfix"
style=
" display: flex;align-items: center;justify-content: start;"
>
<span>
保险信息:
</span>
<el-button
:type=
"insurance.insurExp>=new Date().getTime()?'primary':'warning'"
size=
"mini"
plain
style=
"margin-left: 10px;"
>
{{insurance.insurExp>=new Date().getTime()?'生效中':'已过期'}}
</el-button>
</div>
<div
class=
"img-text-part"
>
<div>
</div>
<div>
<p>
<span>
投保企业:
</span><span>
{{ insurance.insurCom||'/' }}
</span>
</p>
<p>
<span>
保险类型:
</span><span>
{{ insurance.insurType || '/' }}
</span>
</p>
<p>
<span>
保险单号:
</span><span>
{{ insurance.insurNum || '/' }}
</span>
</p>
<p
v-if=
"!insurance.insurExp"
>
<span>
截至日期:
</span><span>
{{ '/' }}
</span>
</p>
<p
v-else
>
<span>
截至日期:
</span><span>
{{ insurance.insurExp | dateFilter('2') }}
</span>
</p>
<p>
<span>
保额:
</span><span>
{{ insurance.insurCount||'/' }}
</span>
</p>
</div>
</div>
</el-card>
</div>
</div>
</template>
...
...
@@ -211,6 +272,7 @@ import {
getDrivertransportationAudit
,
updateCarInfo
,
driverDim
,
driverinsurance
}
from
"@/port/order-select"
;
import
JudgeType
from
"@/mixins/judgeType"
;
...
...
@@ -219,6 +281,7 @@ export default {
mixins
:
[
JudgeType
],
data
()
{
return
{
insurance
:{},
loading
:
false
,
certificationFlag
:
false
,
editCarTypeDialogFlag
:
false
,
// 车型
...
...
@@ -263,6 +326,13 @@ export default {
await
this
.
carInfoFormIdFun
();
},
methods
:
{
getdriverinsurance
(
p
){
driverinsurance
(
p
).
then
((
res
)
=>
{
if
(
res
.
status
==
200
)
{
this
.
insurance
=
res
.
data
}
});
},
getAllCarTYpeListFun
()
{
getXoadodAllCarTYpeList
().
then
((
res
)
=>
{
if
(
res
.
status
==
200
)
{
...
...
@@ -325,9 +395,23 @@ export default {
this
.
srcList
.
push
(
this
.
dataSource
.
vehcileLicenseJson
.
vehicleIco
);
this
.
srcList1
.
push
(
this
.
dataSource
.
vehcileLicenseJson
.
vehicleIcocopy
);
this
.
srcList2
.
push
(
this
.
dataSource
.
vehcileLicenseJson
.
carimg
);
this
.
getDrivertransportationWarrantFun
(
this
.
dataSource
.
plateNumber
);
this
.
getdriverinsurance
(
this
.
dataSource
.
plateNumber
)
}
});
},
async
getDrivertransportationWarrantFun
(
plateNumber
)
{
let
obj
=
{
plateNumber
:
plateNumber
,
};
let
data
=
await
getDrivertransportationWarrant
(
obj
);
if
(
data
.
status
==
200
)
{
this
.
certificationInfo
=
data
.
data
;
// let arr=[];
this
.
srcList5
=
[
data
.
data
.
imgUrl
];
}
console
.
info
(
data
);
},
VehicleAndProductFun
()
{
VehicleAndProduct
(
this
.
carId
,
...
...
@@ -394,7 +478,7 @@ export default {
justify-content
:
space-between
;
margin-bottom
:
10px
;
&
>
div
{
&
>
div
{
flex
:
1
;
}
...
...
@@ -412,8 +496,7 @@ export default {
display
:
flex
;
width
:
50%
;
div
{
}
div
{}
img
{
display
:
block
;
...
...
@@ -436,12 +519,12 @@ export default {
.img-text-part
{
display
:
flex
;
justify-content
:
s
pace-between
;
justify-content
:
s
tart
;
&
>
div
:nth-child
(
1
)
{
&
>
div
:nth-child
(
1
)
{
display
:
flex
;
&
>
span
{
&
>
span
{
display
:
inline-block
;
width
:
100px
;
}
...
...
@@ -454,14 +537,14 @@ export default {
}
}
&
>
div
:nth-child
(
2
)
{
&
>
div
:nth-child
(
2
)
{
width
:
50%
;
p
{
margin-bottom
:
5px
;
}
&
>
p
>
span
:nth-child
(
1
)
{
&
>
p
>
span
:nth-child
(
1
)
{
display
:
inline-block
;
width
:
120px
;
text-align
:
right
;
...
...
@@ -469,6 +552,7 @@ export default {
}
}
}
.form-n-bottom
{
.el-form-item
{
margin-bottom
:
0
;
...
...
src/views/transports/driver.vue
View file @
829d06a0
...
...
@@ -60,6 +60,7 @@
</el-col>
<el-col
:span=
"8"
:offset=
"8"
>
<el-button
type=
"primary"
size=
"mini"
@
click=
"searchByInfo"
>
查询
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"ListToExcel"
>
导出
</el-button>
</el-col>
</el-row>
</el-form>
...
...
@@ -183,12 +184,14 @@
import
Selects
from
'@/components/Selects'
;
import
dataSource
from
"@/libs/screen"
;
import
JudgeType
from
"@/mixins/judgeType"
;
import
{
Loading
}
from
'element-ui'
import
{
getAllprovinceAndCity
,
}
from
"@/port/set-request"
;
import
{
driverQuery
,
getAllTransport
getAllTransport
,
downLoadDriver
}
from
"@/port/carOrDriver/carOrDriver"
;
export
default
{
...
...
@@ -256,6 +259,46 @@ export default {
await
this
.
initTable
();
},
methods
:
{
ListToExcel
(){
if
(
this
.
total
<=
0
)
{
this
.
$message
.
error
(
"导出的数据不存在"
)
return
}
if
(
this
.
total
>=
15000
)
{
this
.
$message
.
error
(
"导出的数据量超过15000条会导致服务器带宽异常,请分批导出"
)
return
}
let
json
=
{
commercialTypeList
:
this
.
selectResult
.
auditStatusList
,
operateOrgIdList
:
this
.
selectResult
.
transportList
,
runStatus
:
this
.
selectResult
.
serviceStatusList
,
serviceStatus
:
this
.
selectResult
.
runStatus
,
driverTypeList
:
this
.
selectResult
.
driverTypeList
,
searchStr
:
this
.
selectResult
.
searchStr
,
pageVo
:
{
page
:
this
.
page
,
rows
:
this
.
size
},
platformId
:
this
.
$store
.
getters
.
platformId
,
operateCode
:
this
.
selectResult
.
areaCodeList
.
length
>
0
?
this
.
selectResult
.
areaCodeList
[
this
.
selectResult
.
areaCodeList
.
length
-
1
]
:
''
,
networkPaperStatus
:
this
.
selectResult
.
networkPaperStatus
,
};
let
loadingInstance
=
Loading
.
service
({
fullscreen
:
true
,
text
:
'司机列表正在导出,请稍后'
});
downLoadDriver
(
json
).
then
(
res
=>
{
let
blob
=
new
Blob
([
res
],
{
type
:
'application/vnd.ms-excel;charset=utf-8'
})
var
link
=
document
.
createElement
(
'a'
)
link
.
href
=
window
.
URL
.
createObjectURL
(
blob
)
link
.
download
=
'司机列表.xls'
link
.
click
()
loadingInstance
.
close
()
}).
catch
(
err
=>
{
this
.
$message
.
error
(
'导出失败'
)
loadingInstance
.
close
()
})
},
carDetail
(
row
)
{
this
.
$router
.
push
({
path
:
'/transports/driver-detail'
,
query
:
{
id
:
row
.
userId
,
type
:
row
}})
},
...
...
src/views/transports/driverDetail.vue
View file @
829d06a0
...
...
@@ -155,57 +155,136 @@
</el-card>
<!-- 驾驶证信息-->
<el-card
class=
"box-card"
style=
"margin-top: 20px"
>
<el-row>
<div
class=
"title-left"
>
驾驶证信息
<div
slot=
"header"
class=
"clearfix"
style=
"
display: flex;
align-items: center;
justify-content: start;
"
>
<span>
驾驶证信息
</span>
<div
style=
"margin-left:10px"
>
<el-button
style=
"pointer-events: none;"
:type=
"tableData.auditStatus == 1 ? 'primary' : tableData.auditStatus == 2 ? 'danger' : 'success'"
size=
"mini"
plain
>
{{ tableData.auditStatus == 1 ? '已通过' : tableData.auditStatus == 2 ? '已驳回' : '未审核' }}
</el-button>
</div>
</div>
<div
class=
"img-text-part"
>
<div>
<span>
驾驶证:
</span>
<div
v-if=
"tableData.driverLicenseJson"
>
<el-image
v-if=
"tableData.driverLicenseJson.certificatesIco"
style=
"width: 100px; height: 100px; margin-right: 20px"
:src=
"tableData.driverLicenseJson.certificatesIco"
:preview-src-list=
"srcList"
></el-image>
<el-image
v-if=
"tableData.driverLicenseJson.certificatesIcocopy"
style=
"width: 100px; height: 100px"
:src=
"tableData.driverLicenseJson.certificatesIcocopy"
:preview-src-list=
"srcList1"
></el-image>
</div>
</div>
<div
v-if=
"tableData.driverLicenseJson"
style=
"flex: 1;"
>
<p>
<span>
驾驶证号:
</span><span>
{{ tableData.driverLicenseJson.CertificateNum }}
</span>
</p>
<p>
<span>
初次领证日期:
</span><span>
{{ tableData.driverLicenseJson.licenseTime }}
</span>
</p>
<p>
<span>
准驾车型:
</span><span>
{{ tableData.driverLicenseJson.licenseType }}
</span>
</p>
<p>
<span>
性别:
</span><span>
{{ tableData.driverLicenseJson.driverGender || '/' }}
</span>
</p>
<p>
<span>
民族:
</span><span>
{{ tableData.driverLicenseJson.nation || '/' }}
</span>
</p>
<p>
<span>
有效期:
</span><span>
{{ tableData.driverLicenseJson.licenseOf || tableData.driverLicenseJson.licenseTime }} -
{{ tableData.driverLicenseJson.timeEnd || '/' }}
</span>
</p>
<p>
<span>
档案编号:
</span><span>
{{ tableData.driverLicenseJson.CertificateNum }}
</span>
</p>
<p>
<span>
住址:
</span><span>
{{ tableData.driverLicenseJson.censusAddress || '/' }}
</span>
</p>
</div>
</div>
</el-card>
<el-card
class=
"box-card"
style=
"margin: 20px 0"
v-if=
"!isEmptyObject(certificationInfo)"
>
<div
slot=
"header"
class=
"clearfix"
style=
"
display: flex;
align-items: center;
justify-content: start;
"
>
<span>
网约车资格证:
</span>
<div
style=
"margin-left:10px"
>
<el-button
style=
"pointer-events: none;"
:type=
"certificationInfo.status == 1 ? 'primary' : certificationInfo.status == 2 ? 'danger' : 'success'"
size=
"mini"
plain
>
{{ certificationInfo.status == 1 ? '已通过' : certificationInfo.status == 2 ? '已驳回' : '未审核' }}
</el-button>
</div>
</div>
<div
class=
"img-text-part"
>
<div>
<span>
网约车资格证:
</span>
<div>
<el-image
v-if=
"certificationInfo.imgUrl"
style=
"width: 100px; height: 100px; margin-right: 20px"
:src=
"certificationInfo.imgUrl"
:preview-src-list=
"srcList5"
></el-image>
</div>
</div>
<div
style=
"flex: 1;
margin-left: 50px;"
>
<el-tabs
tab-position=
"left"
v-if=
"JSON.parse(certificationInfo.type).length > 0"
>
<el-tab-pane
:label=
"item.category"
v-for=
"item in JSON.parse(certificationInfo.type)"
:key=
"item.value"
:value=
"item.value"
>
<div
style=
"display: flex;align-items: start;flex-direction: column;"
>
<div
class=
"certificationInfoBox"
>
<div>
许可证号:
</div>
<div>
{{ certificationInfo.networkPapersNo }}
</div>
</div>
</el-row>
<div
class=
"img-text-part"
style=
"margin-top: 10px;"
>
<div>
<span>
驾驶证:
</span>
<div
v-if=
"tableData.driverLicenseJson"
>
<el-image
v-if=
"tableData.driverLicenseJson.certificatesIco"
style=
"width: 100px; height: 100px; margin-right: 20px"
:src=
"tableData.driverLicenseJson.certificatesIco"
:preview-src-list=
"srcList"
></el-image>
<el-image
v-if=
"tableData.driverLicenseJson.certificatesIcocopy"
style=
"width: 100px; height: 100px"
:src=
"tableData.driverLicenseJson.certificatesIcocopy"
:preview-src-list=
"srcList1"
></el-image>
</div>
<div
class=
"certificationInfoBox"
>
<div>
发证日期:
</div>
<div>
{{ item.timeDate || '/' }}
</div>
</div>
<div
v-if=
"tableData.driverLicenseJson"
>
<p>
<span>
驾驶证号:
</span
><span>
{{ tableData.driverLicenseJson.CertificateNum }}
</span>
</p>
<p>
<span>
初次领证日期:
</span
><span>
{{ tableData.driverLicenseJson.licenseTime }}
</span>
</p>
<p>
<span>
准驾车型:
</span
><span>
{{ tableData.driverLicenseJson.licenseType }}
</span>
</p>
<p>
<span>
截止日期:
</span
><span>
{{ tableData.driverLicenseJson.timeEnd }}
</span>
</p>
<p>
<span>
档案编号:
</span
><span>
{{ tableData.driverLicenseJson.CertificateNum }}
</span>
</p>
<div
class=
"certificationInfoBox"
>
<div>
发证机构:
</div>
<div>
{{ item.trspost || '/' }}
</div>
</div>
</div>
<div
v-if=
"this.type == 0"
class=
"car-detail-button"
>
<el-button
@
click=
"clickQD"
>
驳回
</el-button>
<el-button
type=
"primary"
@
click=
"clickQX"
>
通过审核
</el-button>
</div>
</el-card>
<div
class=
"certificationInfoBox"
>
<div>
初次领取资格证日期:
</div>
<div>
{{ item.datestar || '/' }}
</div>
</div>
<div
class=
"certificationInfoBox"
>
<div>
资格证有效起止日期:
</div>
<div>
{{ item.timeSta || item.datestar }}-{{ item.dateEnd }}
</div>
</div>
</div>
</el-tab-pane>
</el-tabs>
<div
v-else
>
<p>
<span>
姓名:
</span><span>
{{ certificationInfo.dirverName }}
</span>
</p>
<p>
<span>
证号:
</span><span>
{{ certificationInfo.networkPapersNo }}
</span>
</p>
<p>
<span>
有效起始日期:
</span><span>
{{ !certificationInfo.getTime ? '/' : (certificationInfo.getTime | dateFilter)
}}
</span>
</p>
<p>
<span>
有效期限:
</span><span>
{{ !certificationInfo.validTime ? '/' : (certificationInfo.getTime | dateFilter)
}}
</span>
</p>
</div>
</div>
</div>
<!-- <div v-if="certificationInfo.status == 0" class="car-detail-button">
<el-button @click="clickQD('certification')" size="small">驳回
</el-button>
<el-button type="primary" @click="clickQX('certification')" size="small">通过审核
</el-button>
</div> -->
</el-card>
<!-- 暂无接口-->
<el-card
class=
"box-card"
...
...
@@ -790,4 +869,18 @@ export default {
line-height
:
30px
;
}
}
.certificationInfoBox
{
display
:
flex
;
align-items
:
center
;
padding
:
8px
;
div
{
// padding: 0 10px;
padding-left
:
10px
;
}
}
.certificationInfoBox
>
div
:nth-child
(
2
)
{
padding
:
0
5px
;
}
</
style
>
src/views/transports/transport.vue
View file @
829d06a0
...
...
@@ -8,8 +8,8 @@
<el-row
style=
"margin-top: 10px;"
>
<el-form>
<el-col
:span=
"
12
"
>
<el-input
v-model=
"form.searchParam"
placeholder=
"请输入运力方简称/营业执照名称"
size=
"mini"
style=
"width: 90%
;
"
suffix-icon=
"el-icon-search"
></el-input>
<el-col
:span=
"
6
"
>
<el-input
v-model=
"form.searchParam"
placeholder=
"请输入运力方简称/营业执照名称"
size=
"mini"
style=
"width: 90%"
suffix-icon=
"el-icon-search"
></el-input>
</el-col>
<el-col
:span=
"8"
>
<Selects
:options=
"platformList"
sizeType=
"mini"
...
...
src/views/vehicleSeries/index.vue
View file @
829d06a0
...
...
@@ -428,7 +428,7 @@ export default {
],
modelName
:
[
{
required
:
true
,
message
:
'型号名称'
,
trigger
:
'blur'
},
{
min
:
2
,
max
:
20
,
message
:
'长度在 2 到 2
0 个字符'
,
trigger
:
'blur'
},
{
min
:
2
,
max
:
50
,
message
:
'长度在 2 到 5
0 个字符'
,
trigger
:
'blur'
},
],
carType
:
[
...
...
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