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
3a7c8495
Commit
3a7c8495
authored
Dec 13, 2021
by
吕海涛
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
投诉配置页面构建,接口对接
parent
a563af8f
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
1049 additions
and
578 deletions
+1049
-578
set-request.js
src/port/set-request.js
+30
-6
index.js
src/router/index.js
+365
-351
platformCarType.vue
src/views/configure/platformCarType.vue
+242
-221
addDialog.vue
src/views/disposition/componenets/disposition/addDialog.vue
+226
-0
disposition.vue
src/views/disposition/disposition.vue
+186
-0
No files found.
src/port/set-request.js
View file @
3a7c8495
...
@@ -262,7 +262,7 @@ export function getAllOpenArea(platformId) {
...
@@ -262,7 +262,7 @@ export function getAllOpenArea(platformId) {
/* 查询平台所有运力 */
/* 查询平台所有运力 */
export
function
getAllTransport
(
data
,
u
)
{
export
function
getAllTransport
(
data
,
u
)
{
const
url
=
(
u
?
u
+
'/brand'
:
targetBaseUrl
)
+
'/transport'
const
url
=
(
u
?
u
+
'/brand'
:
targetBaseUrl
)
+
'/transport'
return
get
(
url
,
data
)
return
get
(
url
,
data
)
}
}
...
@@ -274,7 +274,7 @@ export function getAllAreaProducts(data) {
...
@@ -274,7 +274,7 @@ export function getAllAreaProducts(data) {
/* 查询当前区域开通的所有产品(按条件查询)(新) */
/* 查询当前区域开通的所有产品(按条件查询)(新) */
export
function
getAllTripProduct
(
data
,
u
)
{
export
function
getAllTripProduct
(
data
,
u
)
{
const
url
=
(
u
?
u
+
'/brand'
:
targetBaseUrl
)
+
'/tripProduct/list'
const
url
=
(
u
?
u
+
'/brand'
:
targetBaseUrl
)
+
'/tripProduct/list'
return
post
(
url
,
data
)
return
post
(
url
,
data
)
}
}
...
@@ -394,19 +394,19 @@ export function getYunCubicProductData1(data) {
...
@@ -394,19 +394,19 @@ export function getYunCubicProductData1(data) {
/* 多条件查询订单列表 */
/* 多条件查询订单列表 */
export
function
getAllOrderList
(
data
,
u
,
platformId
)
{
export
function
getAllOrderList
(
data
,
u
,
platformId
)
{
const
url
=
(
u
?
u
+
'/brand'
:
targetBaseUrl
)
+
'/xoado/order/query'
const
url
=
(
u
?
u
+
'/brand'
:
targetBaseUrl
)
+
'/xoado/order/query'
return
post
(
url
,
data
,
platformId
)
return
post
(
url
,
data
,
platformId
)
}
}
/* 多条件查询订单列表 */
/* 多条件查询订单列表 */
export
function
getThisorderInfo
(
data
,
u
,
platformId
)
{
export
function
getThisorderInfo
(
data
,
u
,
platformId
)
{
const
url
=
(
u
?
u
+
'/brand'
:
targetBaseUrl
)
+
'/xoado/order/select'
const
url
=
(
u
?
u
+
'/brand'
:
targetBaseUrl
)
+
'/xoado/order/select'
return
post
(
url
,
data
,
platformId
)
return
post
(
url
,
data
,
platformId
)
}
}
/* 多条件导出订单列表 */
/* 多条件导出订单列表 */
export
function
exportAllOrderList
(
data
,
u
,
platformId
)
{
export
function
exportAllOrderList
(
data
,
u
,
platformId
)
{
const
url
=
(
u
?
u
+
'/brand'
:
targetBaseUrl
)
+
'/xoado/order/export'
const
url
=
(
u
?
u
+
'/brand'
:
targetBaseUrl
)
+
'/xoado/order/export'
return
postblob
(
url
,
data
,
platformId
)
return
postblob
(
url
,
data
,
platformId
)
}
}
...
@@ -622,7 +622,7 @@ export function SeachfenceInfo(data) {
...
@@ -622,7 +622,7 @@ export function SeachfenceInfo(data) {
/* 计算器计价 */
/* 计算器计价 */
export
function
calculatorPrice
(
data
,
platformId
,
u
)
{
export
function
calculatorPrice
(
data
,
platformId
,
u
)
{
const
url
=
(
u
?
u
+
'/brand'
:
process
.
env
.
VUE_APP_BASE_API5
)
+
`/xoadoTripProduct/calculator/
${
platformId
}
`
const
url
=
(
u
?
u
+
'/brand'
:
process
.
env
.
VUE_APP_BASE_API5
)
+
`/xoadoTripProduct/calculator/
${
platformId
}
`
return
post
(
url
,
data
)
return
post
(
url
,
data
)
}
}
...
@@ -1131,3 +1131,26 @@ export function getplatformList() {
...
@@ -1131,3 +1131,26 @@ export function getplatformList() {
const
url
=
targetBaseUrl5
+
`/platform/infos`
const
url
=
targetBaseUrl5
+
`/platform/infos`
return
get
(
url
)
return
get
(
url
)
}
}
/* 投诉原因---列表查询 */
export
function
conditionList
(
data
)
{
const
url
=
targetBaseUrl5
+
`/complaint/label/condition`
return
post
(
url
,
data
)
}
/* 投诉原因---列表删除 */
export
function
delconditionList
(
data
)
{
const
url
=
targetBaseUrl5
+
`/complaint/label`
return
deletes
(
url
,
data
)
}
/* 投诉原因---新增 */
export
function
complaintAdd
(
data
)
{
const
url
=
targetBaseUrl5
+
`/complaint/label`
return
post
(
url
,
data
)
}
/* 投诉原因---修改 */
export
function
complaintUpdate
(
data
)
{
const
url
=
targetBaseUrl5
+
`/complaint/label`
return
put
(
url
,
data
)
}
\ No newline at end of file
src/router/index.js
View file @
3a7c8495
import
Vue
from
'vue'
import
Vue
from
'vue'
import
VueRouter
from
'vue-router'
import
VueRouter
from
'vue-router'
import
Layout
from
'@/layout'
import
Layout
from
'@/layout'
import
{
routerMode
}
from
'@/config/index'
import
{
routerMode
}
from
'@/config/index'
import
store
from
'@/store/index'
import
store
from
'@/store/index'
Vue
.
use
(
VueRouter
)
Vue
.
use
(
VueRouter
)
...
@@ -11,371 +11,384 @@ Vue.use(VueRouter)
...
@@ -11,371 +11,384 @@ Vue.use(VueRouter)
* @type {({path: string, component: (function(): *), hidden: boolean}|{path: string, component: (function(): *), hidden: boolean, name: string}|{path: string, component: (function(): *), hidden: boolean, name: string})[]}
* @type {({path: string, component: (function(): *), hidden: boolean}|{path: string, component: (function(): *), hidden: boolean, name: string}|{path: string, component: (function(): *), hidden: boolean, name: string})[]}
*/
*/
export
const
currencyRoutes
=
[{
export
const
currencyRoutes
=
[{
path
:
'/login'
,
path
:
'/login'
,
component
:
()
=>
component
:
()
=>
import
(
/* webpackChunkName: "login" */
'@/views/login/index.vue'
),
import
(
/* webpackChunkName: "login" */
'@/views/login/index.vue'
),
hidden
:
true
hidden
:
true
},
},
{
{
path
:
'/Real'
,
path
:
'/Real'
,
component
:
()
=>
component
:
()
=>
import
(
'@/views/components/newReal.vue'
),
import
(
'@/views/components/newReal.vue'
),
meta
:
{
meta
:
{
title
:
'实名认证'
title
:
'实名认证'
},
},
hidden
:
true
hidden
:
true
},
},
{
{
path
:
'/JoiningEnterprise'
,
path
:
'/JoiningEnterprise'
,
component
:
()
=>
component
:
()
=>
import
(
'@/views/components/newJoiningEnterprise.vue'
),
import
(
'@/views/components/newJoiningEnterprise.vue'
),
meta
:
{
meta
:
{
title
:
'加入企业'
title
:
'加入企业'
},
},
hidden
:
true
hidden
:
true
},
},
{
{
path
:
'/401'
,
path
:
'/401'
,
name
:
'401'
,
name
:
'401'
,
component
:
()
=>
component
:
()
=>
import
(
'@/views/401'
),
import
(
'@/views/401'
),
hidden
:
true
hidden
:
true
},
},
{
{
path
:
'/404'
,
path
:
'/404'
,
name
:
'404'
,
name
:
'404'
,
component
:
()
=>
component
:
()
=>
import
(
'@/views/404'
),
import
(
'@/views/404'
),
hidden
:
true
hidden
:
true
}
}
]
]
/**
/**
* 动态路由
* 动态路由
* @type {any}
* @type {any}
*/
*/
export
const
routes
=
[
export
const
routes
=
[{
{
path
:
'/'
,
path
:
'/'
,
name
:
'Company'
,
name
:
'Company'
,
component
:
Layout
,
component
:
Layout
,
redirect
:
'/company'
,
redirect
:
'/company'
,
meta
:
{
meta
:
{
icon
:
'el-icon-office-building'
,
icon
:
'el-icon-office-building'
,
title
:
'企业管理'
title
:
'企业管理'
},
},
children
:
[{
children
:
[
path
:
'/'
,
{
name
:
'CompanyInformation'
,
path
:
'/'
,
component
:
()
=>
name
:
'CompanyInformation'
,
import
(
'@/views/dashboard/index.vue'
),
component
:
()
=>
meta
:
{
import
(
'@/views/dashboard/index.vue'
),
title
:
'企业信息'
,
meta
:
{
icon
:
'el-icon-s-data'
title
:
'企业信息'
,
}
icon
:
'el-icon-s-data'
},
}
{
},
path
:
'account-information'
,
{
name
:
'AccountInformation'
,
path
:
'account-information'
,
component
:
()
=>
name
:
'AccountInformation'
,
import
(
'@/views/accountManagement/index.vue'
),
component
:
()
=>
meta
:
{
import
(
'@/views/accountManagement/index.vue'
),
title
:
'账户管理'
,
meta
:
{
icon
:
'el-icon-s-finance'
title
:
'账户管理'
,
}
icon
:
'el-icon-s-finance'
},
}
{
},
path
:
'bandCard'
,
{
name
:
'bandCard'
,
path
:
'bandCard'
,
component
:
()
=>
name
:
'bandCard'
,
import
(
'@/views/accountManagement/bankCard'
),
component
:
()
=>
meta
:
{
import
(
'@/views/accountManagement/bankCard'
),
title
:
'银行卡管理'
meta
:
{
},
title
:
'银行卡管理'
hidden
:
true
},
},
hidden
:
true
{
},
path
:
'department-information'
,
{
name
:
'DepartmentInformation'
,
path
:
'department-information'
,
component
:
()
=>
name
:
'DepartmentInformation'
,
import
(
'@/views/DepartmentInformation/index.vue'
),
component
:
()
=>
meta
:
{
title
:
'部门管理'
,
icon
:
'el-icon-user-solid'
}
import
(
'@/views/DepartmentInformation/index.vue'
),
},
meta
:
{
title
:
'部门管理'
,
icon
:
'el-icon-user-solid'
}
]
},
},
]
{
},
path
:
'/configure'
,
{
name
:
'configure'
,
path
:
'/configure'
,
component
:
Layout
,
name
:
'configure'
,
redirect
:
'/configure'
,
component
:
Layout
,
meta
:
{
redirect
:
'/configure'
,
icon
:
'el-icon-setting'
,
meta
:
{
title
:
'业务配置'
icon
:
'el-icon-setting'
,
},
title
:
'业务配置'
children
:
[{
},
path
:
'enclosure'
,
children
:
[
name
:
'Enclosure'
,
{
component
:
()
=>
path
:
'enclosure'
,
import
(
'@/views/configure/enclosure.vue'
),
name
:
'Enclosure'
,
meta
:
{
title
:
'围栏管理'
,
icon
:
'el-icon-aim'
}
component
:
()
=>
},
import
(
'@/views/configure/enclosure.vue'
),
{
meta
:
{
title
:
'围栏管理'
,
icon
:
'el-icon-aim'
}
path
:
'site'
,
},
name
:
'Site'
,
{
component
:
()
=>
path
:
'site'
,
import
(
'@/views/configure/site.vue'
),
name
:
'Site'
,
meta
:
{
title
:
'站点管理'
,
icon
:
'el-icon-s-home'
}
component
:
()
=>
},
import
(
'@/views/configure/site.vue'
),
{
meta
:
{
title
:
'站点管理'
,
icon
:
'el-icon-s-home'
}
path
:
'CarModel'
,
},
name
:
'CarModel'
,
{
component
:
()
=>
path
:
'CarModel'
,
import
(
'@/views/configure/CarModel.vue'
),
name
:
'CarModel'
,
meta
:
{
title
:
'车型管理'
,
icon
:
'el-icon-s-data'
}
component
:
()
=>
},
import
(
'@/views/configure/CarModel.vue'
),
]
meta
:
{
title
:
'车型管理'
,
icon
:
'el-icon-s-data'
}
},
},
{
]
path
:
'/platform'
,
},
name
:
'platform'
,
{
component
:
Layout
,
path
:
'/platform'
,
redirect
:
'/platform'
,
name
:
'platform'
,
meta
:
{
component
:
Layout
,
icon
:
'el-icon-setting'
,
redirect
:
'/platform'
,
title
:
'品牌管理'
meta
:
{
},
icon
:
'el-icon-setting'
,
children
:
[{
title
:
'品牌管理'
path
:
'setting'
,
},
name
:
'Setting'
,
children
:
[
component
:
()
=>
{
import
(
'@/views/platform/setting.vue'
),
path
:
'setting'
,
meta
:
{
title
:
'品牌配置'
,
icon
:
'el-icon-aim'
}
name
:
'Setting'
,
},
component
:
()
=>
{
import
(
'@/views/platform/setting.vue'
),
path
:
'setting-info'
,
meta
:
{
title
:
'品牌配置'
,
icon
:
'el-icon-aim'
}
name
:
'settingInfo'
,
},
component
:
()
=>
{
import
(
'@/views/platform/components/settingInfo.vue'
),
path
:
'setting-info'
,
meta
:
{
title
:
'添加品牌'
,
icon
:
'el-icon-aim'
},
name
:
'settingInfo'
,
hidden
:
true
component
:
()
=>
},
import
(
'@/views/platform/components/settingInfo.vue'
),
{
meta
:
{
title
:
'添加品牌'
,
icon
:
'el-icon-aim'
},
path
:
'setting-detail'
,
hidden
:
true
name
:
'settingDetail'
,
},
component
:
()
=>
{
import
(
'@/views/platform/settingDetail.vue'
),
path
:
'setting-detail'
,
meta
:
{
title
:
'品牌详情'
,
icon
:
'el-icon-aim'
},
name
:
'settingDetail'
,
hidden
:
true
component
:
()
=>
},
import
(
'@/views/platform/settingDetail.vue'
),
{
meta
:
{
title
:
'品牌详情'
,
icon
:
'el-icon-aim'
},
path
:
'region-manage'
,
hidden
:
true
name
:
'regionManage'
,
},
component
:
()
=>
{
import
(
'@/views/platform/regionManage.vue'
),
path
:
'region-manage'
,
meta
:
{
title
:
'运营管理'
,
icon
:
'el-icon-aim'
}
name
:
'regionManage'
,
},
component
:
()
=>
{
import
(
'@/views/platform/regionManage.vue'
),
path
:
'region-detail'
,
meta
:
{
title
:
'运营管理'
,
icon
:
'el-icon-aim'
}
name
:
'regionDetail'
,
},
component
:
()
=>
{
import
(
'@/views/platform/regionDetail.vue'
),
path
:
'region-detail'
,
meta
:
{
title
:
'运营管理详情'
,
icon
:
'el-icon-aim'
},
name
:
'regionDetail'
,
hidden
:
true
component
:
()
=>
},
import
(
'@/views/platform/regionDetail.vue'
),
{
meta
:
{
title
:
'运营管理详情'
,
icon
:
'el-icon-aim'
},
path
:
'product-setup'
,
hidden
:
true
name
:
'productSetup'
,
},
component
:
()
=>
{
import
(
'@/views/platform/productSetup.vue'
),
path
:
'product-setup'
,
meta
:
{
title
:
'产品详情'
,
icon
:
'el-icon-aim'
},
name
:
'productSetup'
,
hidden
:
true
component
:
()
=>
},
import
(
'@/views/platform/productSetup.vue'
),
]
meta
:
{
title
:
'产品详情'
,
icon
:
'el-icon-aim'
},
},
hidden
:
true
{
},
path
:
'/business'
,
]
name
:
'business'
,
},
component
:
Layout
,
{
redirect
:
'/business'
,
path
:
'/business'
,
meta
:
{
name
:
'business'
,
icon
:
'el-icon-setting'
,
component
:
Layout
,
title
:
'业务单管理'
redirect
:
'/business'
,
},
meta
:
{
children
:
[{
icon
:
'el-icon-setting'
,
path
:
'order-index'
,
title
:
'业务单管理'
name
:
'OrderIndex'
,
},
component
:
()
=>
children
:
[
import
(
'@/views/business/orderManagement/index.vue'
),
{
meta
:
{
path
:
'order-index'
,
icon
:
'el-icon-upload'
,
name
:
'OrderIndex'
,
title
:
'订单列表'
component
:
()
=>
}
import
(
'@/views/business/orderManagement/index.vue'
),
},
meta
:
{
{
icon
:
'el-icon-upload'
,
path
:
'order-Detail'
,
title
:
'订单列表'
name
:
'orderDetail'
,
}
component
:
()
=>
},
import
(
'@/views/business/orderManagement/orderDetail.vue'
),
{
meta
:
{
path
:
'order-Detail'
,
icon
:
'el-icon-picture'
,
name
:
'orderDetail'
,
title
:
'订单详情'
component
:
()
=>
},
import
(
'@/views/business/orderManagement/orderDetail.vue'
),
hidden
:
true
meta
:
{
},
icon
:
'el-icon-picture'
,
{
title
:
'订单详情'
path
:
'waybill-index'
,
},
name
:
'waybillIndex'
,
hidden
:
true
component
:
()
=>
},
import
(
'@/views/business/waybillManagement/index.vue'
),
{
meta
:
{
icon
:
'el-icon-document'
,
title
:
'运单列表'
}
path
:
'waybill-index'
,
},
name
:
'waybillIndex'
,
{
component
:
()
=>
path
:
'waybill-Detail'
,
import
(
'@/views/business/waybillManagement/index.vue'
),
name
:
'waybillDetail'
,
meta
:
{
icon
:
'el-icon-document'
,
title
:
'运单列表'
}
component
:
()
=>
},
import
(
'@/views/business/waybillManagement/waybillDetail.vue'
),
{
meta
:
{
title
:
'运单详情'
},
path
:
'waybill-Detail'
,
hidden
:
true
name
:
'waybillDetail'
,
},
component
:
()
=>
{
import
(
'@/views/business/waybillManagement/waybillDetail.vue'
),
path
:
'complaint-list'
,
meta
:
{
title
:
'运单详情'
},
name
:
'complaintList'
,
hidden
:
true
component
:
()
=>
},
import
(
'@/views/business/complaintList/index.vue'
),
{
meta
:
{
path
:
'complaint-list'
,
icon
:
'el-icon-service'
,
name
:
'complaintList'
,
title
:
'工单列表'
component
:
()
=>
}
import
(
'@/views/business/complaintList/index.vue'
),
},
meta
:
{
{
icon
:
'el-icon-service'
,
path
:
'complaint-detail'
,
title
:
'工单列表'
name
:
'complaintDetail'
,
}
component
:
()
=>
},
import
(
'@/views/business/complaintList/complaintDetail.vue'
),
{
meta
:
{
path
:
'complaint-detail'
,
icon
:
'el-icon-service'
,
name
:
'complaintDetail'
,
title
:
'工单详情'
component
:
()
=>
},
import
(
'@/views/business/complaintList/complaintDetail.vue'
),
hidden
:
true
meta
:
{
},
icon
:
'el-icon-service'
,
]
title
:
'工单详情'
},
},
{
hidden
:
true
path
:
'/transports'
,
},
name
:
'transports'
,
]
component
:
Layout
,
},
redirect
:
'/transports'
,
{
meta
:
{
path
:
'/transports'
,
icon
:
'el-icon-setting'
,
name
:
'transports'
,
title
:
'运力管理'
component
:
Layout
,
},
redirect
:
'/transports'
,
children
:
[{
meta
:
{
path
:
'transport'
,
icon
:
'el-icon-setting'
,
name
:
'Transport'
,
title
:
'运力管理'
component
:
()
=>
},
import
(
'@/views/transports/transport.vue'
),
children
:
[
meta
:
{
title
:
'运力方管理'
,
icon
:
'el-icon-s-home'
}
{
},
path
:
'transport'
,
{
name
:
'Transport'
,
path
:
'car'
,
component
:
()
=>
name
:
'Car'
,
import
(
'@/views/transports/transport.vue'
),
component
:
()
=>
meta
:
{
title
:
'运力方管理'
,
icon
:
'el-icon-s-home'
}
import
(
'@/views/transports/car.vue'
),
},
meta
:
{
title
:
'车辆管理'
,
icon
:
'el-icon-s-home'
}
{
},
path
:
'car'
,
{
name
:
'Car'
,
path
:
'car-detail'
,
component
:
()
=>
name
:
'carDetail'
,
import
(
'@/views/transports/car.vue'
),
component
:
()
=>
meta
:
{
title
:
'车辆管理'
,
icon
:
'el-icon-s-home'
}
import
(
'@/views/transports/carDetail.vue'
),
},
meta
:
{
title
:
'车辆详情'
,
icon
:
'el-icon-s-home'
},
{
hidden
:
true
path
:
'car-detail'
,
},
name
:
'carDetail'
,
{
component
:
()
=>
path
:
'driver'
,
import
(
'@/views/transports/carDetail.vue'
),
name
:
'Driver'
,
meta
:
{
title
:
'车辆详情'
,
icon
:
'el-icon-s-home'
},
component
:
()
=>
hidden
:
true
import
(
'@/views/transports/driver.vue'
),
},
meta
:
{
title
:
'司机管理'
,
icon
:
'el-icon-s-home'
}
{
},
path
:
'driver'
,
{
name
:
'Driver'
,
path
:
'driver-detail'
,
component
:
()
=>
name
:
'driverDetail'
,
import
(
'@/views/transports/driver.vue'
),
component
:
()
=>
meta
:
{
title
:
'司机管理'
,
icon
:
'el-icon-s-home'
}
import
(
'@/views/transports/driverDetail.vue'
),
},
meta
:
{
title
:
'司机管理'
,
icon
:
'el-icon-s-home'
},
{
hidden
:
true
path
:
'driver-detail'
,
},
name
:
'driverDetail'
,
]
component
:
()
=>
},
import
(
'@/views/transports/driverDetail.vue'
),
{
meta
:
{
title
:
'司机管理'
,
icon
:
'el-icon-s-home'
},
path
:
'/disposition'
,
hidden
:
true
name
:
'disposition'
,
},
component
:
Layout
,
]
redirect
:
'/transports'
,
}
meta
:
{
icon
:
'el-icon-setting'
,
title
:
'配置管理'
},
children
:
[{
path
:
'disposition'
,
name
:
'disposition'
,
component
:
()
=>
import
(
'@/views/disposition/disposition.vue'
),
meta
:
{
title
:
'控诉原因配置'
,
icon
:
'el-icon-s-home'
}
},
]
}
]
]
const
router
=
new
VueRouter
({
const
router
=
new
VueRouter
({
base
:
''
,
base
:
''
,
mode
:
routerMode
,
mode
:
routerMode
,
scrollBehavior
:
()
=>
({
scrollBehavior
:
()
=>
({
y
:
0
y
:
0
}),
}),
routes
:
currencyRoutes
routes
:
currencyRoutes
})
})
// 解决addRoute不能删除动态路由问题
// 解决addRoute不能删除动态路由问题
export
function
resetRouter
()
{
export
function
resetRouter
()
{
router
.
matcher
=
new
VueRouter
({
router
.
matcher
=
new
VueRouter
({
base
:
''
,
base
:
''
,
mode
:
routerMode
,
mode
:
routerMode
,
scrollBehavior
:
()
=>
({
scrollBehavior
:
()
=>
({
y
:
0
y
:
0
}),
}),
routes
:
currencyRoutes
routes
:
currencyRoutes
}).
matcher
}).
matcher
}
}
// 导航守卫 验证是否登录了 没有登录跳转到登录页面
// 导航守卫 验证是否登录了 没有登录跳转到登录页面
router
.
beforeEach
(
async
(
to
,
from
,
next
)
=>
{
router
.
beforeEach
(
async
(
to
,
from
,
next
)
=>
{
if
(
to
.
path
===
'/login'
)
{
if
(
to
.
path
===
'/login'
)
{
next
()
next
()
}
else
{
}
else
{
let
user
=
store
.
getters
.
token
let
user
=
store
.
getters
.
token
let
hasRoles
=
store
.
getters
.
roles
let
hasRoles
=
store
.
getters
.
roles
let
roleType
=
store
.
state
.
user
.
roleType
let
roleType
=
store
.
state
.
user
.
roleType
if
(
user
)
{
if
(
user
)
{
if
(
hasRoles
.
length
<=
0
)
{
if
(
hasRoles
.
length
<=
0
)
{
try
{
try
{
const
{
const
{
roles
roles
}
=
await
store
.
dispatch
(
'user/getRoutes'
)
}
=
await
store
.
dispatch
(
'user/getRoutes'
)
let
addRoutes
;
let
addRoutes
;
// if (roleType == 2) {
// if (roleType == 2) {
addRoutes
=
await
store
.
dispatch
(
'permission/getRoutes'
,
roles
)
addRoutes
=
await
store
.
dispatch
(
'permission/getRoutes'
,
roles
)
// } else {
// } else {
// addRoutes = await store.dispatch('permission/getAsyncRoutes', roles)
// addRoutes = await store.dispatch('permission/getAsyncRoutes', roles)
// }
// }
router
.
addRoutes
(
addRoutes
)
router
.
addRoutes
(
addRoutes
)
next
({
next
({
...
to
,
...
to
,
replace
:
true
replace
:
true
})
})
}
catch
(
error
)
{
}
catch
(
error
)
{
// Message.error('此路不通')
// Message.error('此路不通')
}
}
}
else
{
}
else
{
next
()
next
()
}
}
}
else
{
}
else
{
next
({
next
({
path
:
'/login'
,
path
:
'/login'
,
query
:
{
query
:
{
redirect
:
to
.
fullPath
redirect
:
to
.
fullPath
}
}
})
})
}
}
}
}
})
})
export
default
router
export
default
router
\ No newline at end of file
src/views/configure/platformCarType.vue
View file @
3a7c8495
<
template
xmlns=
"http://www.w3.org/1999/html"
>
<
template
xmlns=
"http://www.w3.org/1999/html"
>
<div>
<div>
<el-form
class=
"form-row"
>
<el-form
class=
"form-row"
>
<el-row
type=
"flex"
>
<el-row
type=
"flex"
>
<el-col>
<el-col>
<el-form-item>
<el-form-item>
<el-input
<el-input
v-model=
"form.CarModelName"
v-model=
"form.CarModelName"
size=
"mini"
size=
"mini"
style=
"max-width: 260px"
style=
"max-width: 260px"
suffix-icon=
"el-icon-search"
suffix-icon=
"el-icon-search"
placeholder=
"请输入车型名称"
placeholder=
"请输入车型名称"
>
>
</el-input>
</el-input>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col>
<el-col>
<el-form-item
label=
"品牌名称:"
>
<el-form-item
label=
"品牌名称:"
>
<el-select
<el-select
v-model=
"form.platformListInfo"
v-model=
"form.platformListInfo"
placeholder=
"请选择"
placeholder=
"请选择"
size=
"mini"
size=
"mini"
>
<el-option
v-for=
"item in platformList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col>
<el-form-item>
<Selects
:options=
"dataSource.carTypeList"
sizeType=
"mini"
:selectName=
"'车辆类别:'"
:type=
"'carTypeList'"
@
changeList=
"handlechangeList"
></Selects>
</el-form-item>
</el-col>
<el-col
style=
"display: flex; align-items: center; justify-content: end"
>
<el-button
type=
"primary"
size=
"mini"
@
click=
"searchInfo"
>
查询
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"() => $refs.addDialog.showDialog(
{})"> 添加品牌类型
</el-button>
</el-col>
</el-row>
</el-form>
<el-table
stripe
:data=
"data"
border
style=
"margin-top: 10px"
:header-cell-style=
"tableHeaderColor"
>
<el-table-column
label=
"序号"
align=
"center"
type=
"index"
width=
"50"
>
</el-table-column>
<el-table-column
label=
"品牌名称"
align=
"center"
prop=
"platformName"
>
</el-table-column>
<el-table-column
label=
"车型类别"
align=
"center"
prop=
"type"
>
<template
slot-scope=
"
{row}">
{{
carTypeListText
(
row
.
carType
)
}}
</
template
>
</el-table-column>
<el-table-column
label=
"图标"
align=
"center"
prop=
"imgUrl"
>
<
template
slot-scope=
"scope"
>
<el-avatar
shape=
"square"
:size=
"80"
:src=
"scope.row.imgUrl"
>
<div>
暂无图片
</div>
</el-avatar>
</
template
>
</el-table-column>
<el-table-column
label=
"车型名称"
align=
"center"
prop=
"typeName"
>
</el-table-column>
<el-table-column
label=
"车型标识"
align=
"center"
prop=
"typeItem"
>
</el-table-column>
<el-table-column
label=
"车型定义"
align=
"center"
prop=
"typeContent"
>
</el-table-column>
<el-table-column
label=
"可接单车型"
align=
"center"
prop=
"runTypes"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.rangeOfApplicationName"
:key=
"'runTypes'+index"
>
{{
index
===
0
?
item
:
'、'
+
item
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"small"
type=
"text"
@
click=
"() => $refs.addDialog.showDialog(scope.row)"
>
编辑
</el-button>
<el-button
size=
"small"
type=
"text"
style=
"color: red"
@
click=
"delRow(scope.row.id)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<div
class=
"pagination"
v-if=
"total > 10"
>
<el-pagination
background
layout=
"prev, pager, next, jumper, total"
:total=
"total"
:current-page=
"page"
@
current-change=
"current_change"
>
>
</el-pagination>
<el-option
</div>
v-for=
"item in platformList"
<addDialog
ref=
"addDialog"
:platformList=
"platformList"
@
reLoadTable=
"reLoadTable"
></addDialog>
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col>
<el-form-item>
<Selects
:options=
"dataSource.carTypeList"
sizeType=
"mini"
:selectName=
"'车辆类别:'"
:type=
"'carTypeList'"
@
changeList=
"handlechangeList"
></Selects>
</el-form-item>
</el-col>
<el-col
style=
"display: flex; align-items: center; justify-content: end"
>
<el-button
type=
"primary"
size=
"mini"
@
click=
"searchInfo"
>
查询
</el-button
>
<el-button
type=
"primary"
size=
"mini"
@
click=
"() => $refs.addDialog.showDialog(
{})"
>
添加品牌类型
</el-button>
</el-col>
</el-row>
</el-form>
<el-table
stripe
:data=
"data"
border
style=
"margin-top: 10px"
:header-cell-style=
"tableHeaderColor"
>
<el-table-column
label=
"序号"
align=
"center"
type=
"index"
width=
"50"
>
</el-table-column>
<el-table-column
label=
"品牌名称"
align=
"center"
prop=
"platformName"
>
</el-table-column>
<el-table-column
label=
"车型类别"
align=
"center"
prop=
"type"
>
<template
slot-scope=
"
{ row }">
{{
carTypeListText
(
row
.
carType
)
}}
</
template
>
</el-table-column>
<el-table-column
label=
"图标"
align=
"center"
prop=
"imgUrl"
>
<
template
slot-scope=
"scope"
>
<el-avatar
shape=
"square"
:size=
"80"
:src=
"scope.row.imgUrl"
>
<div>
暂无图片
</div>
</el-avatar>
</
template
>
</el-table-column>
<el-table-column
label=
"车型名称"
align=
"center"
prop=
"typeName"
>
</el-table-column>
<el-table-column
label=
"车型标识"
align=
"center"
prop=
"typeItem"
>
</el-table-column>
<el-table-column
label=
"车型定义"
align=
"center"
prop=
"typeContent"
>
</el-table-column>
<el-table-column
label=
"可接单车型"
align=
"center"
prop=
"runTypes"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.rangeOfApplicationName"
:key=
"'runTypes' + index"
>
{{
index
===
0
?
item
:
"、"
+
item
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"small"
type=
"text"
@
click=
"() => $refs.addDialog.showDialog(scope.row)"
>
编辑
</el-button>
<el-button
size=
"small"
type=
"text"
style=
"color: red"
@
click=
"delRow(scope.row.id)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<div
class=
"pagination"
v-if=
"total > 10"
>
<el-pagination
background
layout=
"prev, pager, next, jumper, total"
:total=
"total"
:current-page=
"page"
@
current-change=
"current_change"
>
</el-pagination>
</div>
</div>
<addDialog
ref=
"addDialog"
:platformList=
"platformList"
@
reLoadTable=
"reLoadTable"
></addDialog>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
import
{
carTypeQuery
,
carTypeDelete
}
from
"@/port/carModel/carModel"
;
carTypeQuery
,
import
{
getplatformList
}
from
"@/port/set-request"
;
carTypeDelete
}
from
"@/port/carModel/carModel"
;
import
{
getplatformList
}
from
"@/port/set-request"
;
import
addDialog
from
"./componenets/platformCarType/addDialog"
;
import
addDialog
from
"./componenets/platformCarType/addDialog"
;
import
dataSource
from
"@/libs/screen"
;
import
dataSource
from
"@/libs/screen"
;
import
JudgeType
from
"@/mixins/judgeType"
;
import
JudgeType
from
"@/mixins/judgeType"
;
import
Selects
from
'@/components/Selects'
import
Selects
from
"@/components/Selects"
;
export
default
{
export
default
{
name
:
"CarModel"
,
name
:
"CarModel"
,
mixins
:
[
JudgeType
],
mixins
:
[
JudgeType
],
components
:
{
components
:
{
addDialog
,
addDialog
,
Selects
Selects
,
},
data
()
{
return
{
dataSource
:
dataSource
,
tableLoading
:
true
,
data
:
[],
platformList
:
[],
total
:
0
,
form
:
{
CarModelName
:
""
,
carTypeList
:
[
1
,
2
,
3
],
platformListInfo
:
""
,
},
page
:
1
,
size
:
10
,
};
},
async
created
()
{
await
this
.
listInit
();
this
.
initTable
();
},
methods
:
{
delRow
(
id
)
{
this
.
$confirm
(
"删除后不可撤回,确定删除品牌车型"
,
"删除提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
,
})
.
then
(()
=>
{
carTypeDelete
({},
id
).
then
((
res
)
=>
{
if
(
res
.
status
===
200
)
{
this
.
$message
.
success
(
"删除成功"
);
this
.
initTable
();
}
else
{
this
.
$message
.
error
(
res
.
msg
);
}
});
})
.
catch
(()
=>
{});
},
},
data
()
{
reLoadTable
()
{
return
{
this
.
initTable
();
dataSource
:
dataSource
,
tableLoading
:
true
,
data
:
[],
platformList
:
[],
total
:
0
,
form
:
{
CarModelName
:
""
,
carTypeList
:
[
1
,
2
,
3
],
platformListInfo
:
""
,
},
page
:
1
,
size
:
10
,
};
},
},
async
created
()
{
searchInfo
()
{
await
this
.
listInit
()
;
this
.
page
=
1
;
this
.
initTable
();
this
.
initTable
();
},
},
methods
:
{
current_change
(
page
)
{
delRow
(
id
)
{
this
.
page
=
page
;
this
.
$confirm
(
'删除后不可撤回,确定删除品牌车型'
,
'删除提示'
,
{
this
.
initTable
();
confirmButtonText
:
'确定'
,
},
cancelButtonText
:
'取消'
,
handlechangeList
(
val
)
{
type
:
'warning'
let
source
=
JSON
.
parse
(
JSON
.
stringify
(
val
));
})
let
data
=
this
.
filftersFun
(
source
.
data
);
.
then
(()
=>
{
this
.
form
.
carTypeList
=
data
;
carTypeDelete
({},
id
)
},
.
then
((
res
)
=>
{
async
listInit
()
{
if
(
res
.
status
===
200
)
{
await
getplatformList
().
then
((
res
)
=>
{
this
.
$message
.
success
(
'删除成功'
);
if
(
res
.
status
==
200
)
{
this
.
initTable
();
res
.
data
.
forEach
((
element
)
=>
{
}
else
{
if
(
element
.
brandUrl
)
{
this
.
$message
.
error
(
res
.
msg
);
this
.
platformList
.
push
({
}
value
:
element
.
platformId
,
})
label
:
element
.
name
,
})
});
.
catch
(()
=>
{})
},
reLoadTable
()
{
this
.
initTable
();
},
searchInfo
()
{
this
.
page
=
1
;
this
.
initTable
();
},
current_change
(
page
)
{
this
.
page
=
page
;
this
.
initTable
();
},
handlechangeList
(
val
)
{
let
source
=
JSON
.
parse
(
JSON
.
stringify
(
val
))
let
data
=
this
.
filftersFun
(
source
.
data
)
this
.
form
.
carTypeList
=
data
},
async
listInit
()
{
await
getplatformList
().
then
((
res
)
=>
{
if
(
res
.
status
==
200
)
{
res
.
data
.
forEach
((
element
)
=>
{
if
(
element
.
brandUrl
)
{
this
.
platformList
.
push
({
value
:
element
.
platformId
,
label
:
element
.
name
,
});
}
});
this
.
form
.
platformListInfo
=
this
.
platformList
[
0
].
value
;
}
});
},
initTable
()
{
let
params
=
{
carTypes
:
this
.
form
.
carTypeList
,
platformId
:
this
.
form
.
platformListInfo
,
typeItem
:
''
,
typeName
:
this
.
form
.
CarModelName
,
pageVo
:
{
page
:
this
.
page
,
rows
:
this
.
size
}
}
}
});
this
.
form
.
platformListInfo
=
this
.
platformList
[
0
].
value
;
}
});
},
initTable
()
{
let
params
=
{
carTypes
:
this
.
form
.
carTypeList
,
platformId
:
this
.
form
.
platformListInfo
,
typeItem
:
""
,
typeName
:
this
.
form
.
CarModelName
,
pageVo
:
{
page
:
this
.
page
,
rows
:
this
.
size
,
},
};
this
.
tableLoading
=
true
;
this
.
tableLoading
=
true
;
carTypeQuery
(
params
)
carTypeQuery
(
params
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
if
(
res
.
status
===
200
)
{
if
(
res
.
status
===
200
)
{
this
.
data
=
res
.
data
.
content
;
this
.
data
=
res
.
data
.
content
;
this
.
total
=
res
.
data
.
total
;
this
.
total
=
res
.
data
.
total
;
}
else
{
}
else
{
this
.
$message
.
error
(
res
.
msg
);
this
.
$message
.
error
(
res
.
msg
);
}
}
this
.
tableLoading
=
false
;
this
.
tableLoading
=
false
;
})
})
.
catch
(()
=>
{
.
catch
(()
=>
{
this
.
tableLoading
=
false
;
this
.
tableLoading
=
false
;
})
});
},
},
// table变色,头
// table变色,头
tableHeaderColor
({
row
,
column
,
rowIndex
,
columnIndex
})
{
tableHeaderColor
({
row
,
column
,
rowIndex
,
columnIndex
})
{
return
{
"background-color"
:
"#0099ff"
,
color
:
"#ffffff"
};
return
{
"background-color"
:
"#0099ff"
,
color
:
"#ffffff"
};
},
},
},
},
};
};
</
script
>
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
::v-deep
.form-row
{
::v-deep
.form-row
{
.el-form-item
{
.el-form-item
{
margin-bottom
:
0
!
important
;
margin-bottom
:
0
!
important
;
}
}
}
}
.pagination
{
.pagination
{
margin-top
:
16px
;
margin-top
:
16px
;
text-align
:
right
;
text-align
:
right
;
}
}
</
style
>
</
style
>
src/views/disposition/componenets/disposition/addDialog.vue
0 → 100644
View file @
3a7c8495
<
template
>
<el-dialog
:visible
.
sync=
"dialogVisible"
:title=
"title"
width=
"40%"
class=
"form-dialog"
@
close=
"clearInfo"
:close-on-click-modal=
"false"
:close-on-press-escape=
"false"
>
<el-form
ref=
"form"
label-position=
"right"
label-width=
"150px"
:model=
"form"
:rules=
"rules"
>
<el-form-item
label=
"图标:"
prop=
"img"
>
<el-upload
class=
"avatar-uploader"
:headers=
"reqHeaders"
:data=
"dataUrl"
action=
"https://apps.xoado.com/cloud/tools/files/upload"
:show-file-list=
"false"
name=
"image"
:on-success=
"photoUrlSuccess"
:before-upload=
"beforeAvatarUpload"
>
<img
v-if=
"form.labelImgurl"
:src=
"form.labelImgurl"
class=
"avatar"
/>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
></i>
</el-upload>
</el-form-item>
<el-form-item
label=
"车辆类别:"
prop=
"type"
>
<el-select
v-model=
"form.complaintMode"
collapse-tags
placeholder=
"请选择"
size=
"mini"
>
<el-option
v-for=
"item in complaintModelist"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
size=
"mini"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"控诉原因:"
prop=
"labelName"
>
<el-input
style=
"width: 220px"
size=
"mini"
v-model=
"form.labelName"
></el-input>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small "
@
click=
"clearInfo"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"complaintLable"
>
确 定
</el-button
>
</span>
</el-dialog>
</
template
>
<
script
>
import
{
complaintUpdate
,
complaintAdd
}
from
"@/port/set-request"
;
export
default
{
name
:
"addDialog"
,
props
:
[
"platformList"
],
data
()
{
return
{
title
:
""
,
dialogVisible
:
false
,
dataUrl
:
{
urlType
:
"OfflineContract"
,
},
reqHeaders
:
{
XOADOAPPACCESSCODE
:
this
.
$store
.
state
.
user
.
code
,
XOADOTOKENID
:
this
.
$store
.
state
.
user
.
token
,
XOADOPLATFORMID
:
this
.
$store
.
getters
.
platformId
,
},
form
:
{
complaintMode
:
"0"
,
labelType
:
"0"
,
labelImgurl
:
""
,
labelName
:
""
,
labelContent
:
""
,
},
rules
:
{
labelImgurl
:
[
{
required
:
true
,
message
:
"请上传图标"
,
trigger
:
"blur"
},
],
complaintMode
:
[
{
required
:
true
,
message
:
"请选择投诉方式"
,
trigger
:
"change"
},
],
labelName
:
[
{
required
:
true
,
message
:
"请输入控诉原因"
,
trigger
:
"blur"
},
{
max
:
10
,
message
:
"最多可输入五十个字"
},
],
},
complaintModelist
:
[
{
name
:
"表单提交"
,
id
:
"0"
,
},
{
name
:
"电话直播"
,
id
:
"1"
,
},
],
};
},
created
()
{},
methods
:
{
async
showDialog
(
row
)
{
if
(
Object
.
keys
(
row
).
length
>
0
)
{
this
.
title
=
"编辑控诉原因"
;
this
.
form
=
JSON
.
parse
(
JSON
.
stringify
(
row
)).
row
;
}
else
{
this
.
form
=
{
complaintMode
:
"0"
,
labelType
:
""
,
labelImgurl
:
""
,
labelName
:
""
,
labelContent
:
""
,
};
this
.
title
=
"添加控诉原因"
;
}
this
.
dialogVisible
=
true
;
},
photoUrlSuccess
(
response
,
file
,
fileList
)
{
let
that
=
this
;
if
(
file
.
response
.
status
==
200
)
{
that
.
form
.
labelImgurl
=
file
.
response
.
data
[
0
].
url
;
}
},
beforeAvatarUpload
(
file
)
{
const
isLt2M
=
file
.
size
/
1024
/
1024
<
2
;
if
(
!
isLt2M
)
{
this
.
$message
.
error
(
"上传图片大小不能超过 2MB!"
);
}
return
isLt2M
;
},
clearInfo
()
{
this
.
$refs
.
form
.
resetFields
();
this
.
dialogVisible
=
false
;
},
complaintLable
()
{
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
if
(
valid
)
{
let
params
=
{
platformId
:
this
.
form
.
platformId
,
labelType
:
"0"
,
labelName
:
this
.
form
.
labelName
,
labelContent
:
""
,
labelImgurl
:
this
.
form
.
labelImgurl
,
complaintMode
:
this
.
form
.
complaintMode
,
};
if
(
this
.
form
.
hasOwnProperty
(
"id"
))
{
params
[
"id"
]
=
this
.
form
.
id
;
complaintUpdate
(
params
).
then
((
res
)
=>
{
if
(
res
.
status
===
200
)
{
this
.
$message
.
success
(
"修改成功"
);
this
.
clearInfo
();
this
.
$emit
(
"reLoadTable"
);
}
else
{
this
.
$message
.
error
(
res
.
msg
);
}
});
}
else
{
let
params
=
{
platformId
:
this
.
$store
.
getters
.
platformId
,
labelType
:
"0"
,
labelName
:
this
.
form
.
labelName
,
labelContent
:
""
,
labelImgurl
:
this
.
form
.
labelImgurl
,
complaintMode
:
this
.
form
.
complaintMode
,
};
complaintAdd
(
params
).
then
((
res
)
=>
{
if
(
res
.
status
===
200
)
{
this
.
$message
.
success
(
"添加成功"
);
this
.
clearInfo
();
this
.
$emit
(
"reLoadTable"
);
}
else
{
this
.
$message
.
error
(
res
.
msg
);
}
});
}
}
});
},
},
};
</
script
>
<
style
scoped
>
::v-deep
.avatar-uploader
.el-upload
{
border
:
1px
dashed
#d9d9d9
;
border-radius
:
6px
;
cursor
:
pointer
;
position
:
relative
;
overflow
:
hidden
;
}
::v-deep
.avatar-uploader
.el-upload
:hover
{
border-color
:
#409eff
;
}
.avatar-uploader-icon
{
font-size
:
28px
;
color
:
#8c939d
;
width
:
50px
;
height
:
50px
;
line-height
:
50px
;
text-align
:
center
;
}
.avatar
{
width
:
50px
;
height
:
50px
;
display
:
block
;
}
</
style
>
src/views/disposition/disposition.vue
0 → 100644
View file @
3a7c8495
<
template
>
<el-card>
<el-row>
<div
class=
"title-left"
style=
"padding-left: 10px; font-weight: 800"
>
控诉原因配置
</div>
</el-row>
<div
class=
"itemBtn"
>
<el-button
type=
"primary"
icon=
"el-icon-plus"
size=
"small"
@
click=
"$refs.addDialog.showDialog(
{})"
>新增原因
</el-button
>
</div>
<el-table
:data=
"data"
stripe
v-loading=
"tableLoading"
:header-cell-style=
"tableHeaderColor"
style=
"width: 100%"
border
>
<el-table-column
type=
"index"
label=
"序号"
align=
"center"
width=
"50"
>
</el-table-column>
<el-table-column
label=
"图标"
align=
"center"
width=
"120"
>
<template
slot-scope=
"
{ row }">
<el-avatar
:size=
"50"
shape=
"square"
>
<img
:src=
"row.labelImgurl"
/>
</el-avatar>
</
template
>
</el-table-column>
<el-table-column
label=
"控诉方式"
align=
"center"
prop=
"labelType"
>
<
template
slot-scope=
"{ row }"
>
{{
row
.
complaintMode
*
1
==
1
?
"电话直播"
:
"表单提交"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"控诉原因"
align=
"center"
prop=
"labelName"
>
</el-table-column>
<el-table-column
label=
"录入时间"
align=
"center"
prop=
"createTime"
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
width=
"120"
>
<
template
slot-scope=
"{ row }"
>
<el-button
type=
"text"
@
click=
"$refs.addDialog.showDialog(
{ row })"
>编辑
</el-button
>
<el-button
type=
"text"
style=
"color: red"
@
click=
"DELcondition(row)"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
<div
class=
"pagination"
v-if=
"total > 10"
>
<el-pagination
background
layout=
"prev, pager, next, jumper, total"
:current-page=
"page"
@
current-change=
"current_change"
:total=
"total"
>
</el-pagination>
</div>
<addDialog
ref=
"addDialog"
@
reLoadTable=
"reLoadTable"
:platformList=
"platformList"
></addDialog>
</el-card>
</template>
<
script
>
import
{
conditionList
,
delconditionList
}
from
"@/port/set-request"
;
import
addDialog
from
"./componenets/disposition/addDialog"
;
export
default
{
name
:
"disposition"
,
data
()
{
return
{
page
:
1
,
size
:
10
,
total
:
0
,
tableLoading
:
true
,
data
:
[],
platformList
:
[],
};
},
components
:
{
addDialog
,
},
async
created
()
{
await
this
.
initTable
();
},
methods
:
{
current_change
(
page
)
{
this
.
page
=
page
;
this
.
initTable
();
},
reLoadTable
()
{
this
.
initTable
();
},
initTable
()
{
let
json
=
{
labelType
:
"0"
,
labelName
:
""
,
complaintMode
:
""
,
pageVo
:
{
page
:
this
.
page
,
rows
:
this
.
size
,
},
};
conditionList
(
json
).
then
((
res
)
=>
{
if
(
res
.
status
==
200
)
{
this
.
data
=
res
.
data
.
content
;
this
.
total
=
res
.
data
.
total
;
}
else
{
this
.
data
=
[];
this
.
total
=
0
;
}
this
.
tableLoading
=
false
;
});
},
DELcondition
(
row
)
{
this
.
$confirm
(
"删除后不可撤回,确定删除?"
,
"删除提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
,
})
.
then
(()
=>
{
this
.
tableLoading
=
true
;
let
json
=
{
labelId
:
row
.
id
};
delconditionList
(
json
).
then
((
res
)
=>
{
if
(
res
.
status
==
200
)
{
this
.
$message
({
type
:
"success"
,
message
:
"删除成功!"
,
});
this
.
page
=
1
;
this
.
initTable
();
}
else
{
this
.
$message
.
error
(
"删除失败!"
);
}
this
.
tableLoading
=
false
;
});
})
.
catch
(()
=>
{
this
.
$message
({
type
:
"info"
,
message
:
"已取消删除"
,
});
});
},
tableRowStyle
({
row
,
rowIndex
})
{
if
(
rowIndex
%
2
!==
0
)
{
return
{
"background-color"
:
"#e3f4ff"
};
}
},
// table变色,头
tableHeaderColor
({
row
,
column
,
rowIndex
,
columnIndex
})
{
return
{
"background-color"
:
"#0099ff"
,
color
:
"#ffffff"
};
},
},
};
</
script
>
<
style
scoped
lang=
"scss"
>
.search-form
{
margin
:
5px
0
5px
0
;
.el-form-item
{
margin-bottom
:
5px
;
}
}
.pagination
{
margin-top
:
16px
;
text-align
:
right
;
}
.itemBtn
{
display
:
flex
;
align-items
:
center
;
justify-content
:
flex-end
;
margin
:
10px
0
;
}
</
style
>
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