Commit 928df183 by weix

添加运力方管理模块

parent a563af8f
import {get, post, put, deletes} from '@/request/http'
// 根据品牌查运力
export function getTransportList(data) {
const url = process.env.VUE_APP_BASE_API6+'/part/manage/list';
return post(url, data)
}
......@@ -282,6 +282,14 @@ export const routes = [
meta: {title: '运力方管理', icon: 'el-icon-s-home'}
},
{
path: 'transport-detail',
name: 'transportDetail',
component: () =>
import ('@/views/transports/transportDetail.vue'),
meta: {title: '运力方管理', icon: 'el-icon-s-home'},
hidden: true
},
{
path: 'car',
name: 'Car',
component: () =>
......
......@@ -72,6 +72,7 @@
<el-table
:data="data"
stripe
border
v-loading="tableLoading"
:header-cell-style="tableHeaderColor"
@row-dblclick="carDetail"
......
......@@ -67,6 +67,7 @@
<el-table
:data="data"
stripe
border
v-loading="tableLoading"
:header-cell-style="tableHeaderColor"
@row-dblclick="carDetail"
......
<template>
<el-card>
运力
<el-row>
<div class="title-left" style="padding-left: 10px;font-weight: 800;">
运力方管理
</div>
</el-row>
<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>
<el-col :span="8">
<Selects :options="platformList" sizeType="mini"
:selectName="'车辆类别:'" :type="'platformList'" @changeList="handlechangeList"></Selects>
<el-button size="mini" type="primary" style="margin-left: 10px;padding: 5px 15px;">查询</el-button>
</el-col>
</el-form>
</el-row>
<el-table
:data="data"
v-loading="loading"
style="margin-top: 10px;"
@row-dblclick="handledbClick"
stripe
border
:header-cell-style="tableHeaderColor"
>
<el-table-column prop="orgForShort" label="运力方简称" align="center"></el-table-column>
<el-table-column prop="organizeName" label="营业执照名称" align="center"></el-table-column>
<el-table-column prop="areas" label="运营区域" align="center">
<template slot-scope="{row}">
<span v-for="(item,index) in row.areas" :key="item.areaCode">
{{ item.areaName }}
</span>
</template>
</el-table-column>
<el-table-column prop="channels" label="合作品牌" align="center">
<template slot-scope="{row}">
<span v-for="(item,index) in row.channels" :key="'channels'+index">
{{ item.brandName }}
</span>
</template>
</el-table-column>
<el-table-column prop="vehicleCount" label="车辆数" align="center"></el-table-column>
<el-table-column prop="driverCount" label="司机数" align="center"></el-table-column>
<el-table-column prop="productCount" label="开通产品数" align="center"></el-table-column>
</el-table>
<div style="text-align: right;margin-top: 5px;">
<el-pagination
background
layout="prev, pager, next, jumper, total"
:current-page="page"
@current-change="current_change"
:total="total">
</el-pagination>
</div>
</el-card>
</template>
<script>
import Selects from '@/components/Selects';
import judgeType from "@/mixins/judgeType";
import {getTransportList} from "@/port/tansport/tansport";
import {
getplatformList
} from "@/port/set-request";
export default {
name: "tranport"
name: "transport",
mixins: [judgeType],
components: {
Selects
},
data() {
return {
page: 1,
total: 0,
rows: 10,
data: [],
loading: false,
form: {
platformList: [],
searchParam: ''
},
platformList: []
}
},
async created() {
await this.getAllPlatformList();
this.initTable();
},
methods: {
async getAllPlatformList() {
await getplatformList()
.then((res) => {
if(res.status === 200) {
this.$nextTick(() => {
let idList = [];
let list = [];
res.data.forEach((item) => {
if(item.brandUrl) {
list.push({
value: item.platformId,
label: item.name,
});
idList.push(item.platformId)
}
});
this.platformList = list;
this.form.platformList = idList;
})
}
})
},
current_change(page) {
this.page = page;
this.initTable();
},
handledbClick(row) {
this.$router.push({path: '/transports/transport-detail', query: {row: JSON.stringify(row)}})
},
handlechangeList(val) {
let source = JSON.parse(JSON.stringify(val))
let data = this.filftersFun(source.data)
this.form.platformList = data
},
initTable() {
let params = {
//模糊查询
searchStr: this.form.searchParam,
//平台方ID多选
platformIdList: this.form.platformList,
pageVo: {
page: this.page,
rows: this.rows
}
}
this.loading = true;
getTransportList(params)
.then((res) => {
if(res.status === 200) {
this.data = res.data.content;
this.total = res.data.total;
}else {
this.$message.error(res.msg);
}
this.loading = false;
})
.catch(() => {
this.loading = false;
})
},
// table变色,头
tableHeaderColor({row, column, rowIndex, columnIndex}) {
return {"background-color": "#0099ff", color: "#ffffff"};
},
}
}
</script>
......
<template>
<div>
<el-card>
<el-row v-if="Object.keys(queryRow).length > 0" type="flex" align="flex-end">
<div style="width: 100px;">
<el-image style="width: 100px;height: 60px;" :src="queryRow.logo" lazy></el-image>
</div>
<div style="width: calc(100% - 100px);padding-left: 10px;display: flex;align-items: flex-end;padding-bottom: 5px;">
<el-row>
<el-row>
<span style="font-size: 18px;font-weight: 800;margin-right: 10px;">{{queryRow.orgForShort}}</span>
({{queryRow.organizeName}})
</el-row>
<el-row>
管理员:{{JSON.parse(queryRow.chargePerson).userName}}{{queryRow.chargePhone}}
</el-row>
</el-row>
</div>
</el-row>
</el-card>
<el-card style="margin-top: 10px;">
<el-tabs style="background-color: #fff;" v-model="activeName" type="card"
@tab-click="handleClick">
<el-tab-pane :label="item.name" :name="item.id"
v-for="(item,index) in tabsList"
:key="index"></el-tab-pane>
</el-tabs>
<driver :transport="queryRow.organizeId" @getDriverTotal="getDriverTotal" v-show="activeName === '0'"></driver>
<car :transport="queryRow.organizeId" @getCarTotal="getCarTotal" v-show="activeName === '1'"></car>
</el-card>
</div>
</template>
<script>
import car from "./components/car";
import driver from "./components/driver";
export default {
name: "transportDetail",
components: {
car,
driver
},
data() {
return {
queryRow: {},
activeName: '',
tabsList: [{id: '0', name: '司机数'},{id: '1', name: '车辆数'}]
}
},
created() {
this.queryRow = JSON.parse(this.$route.query.row);
this.activeName = '0';
console.log(this.queryRow)
},
methods: {
handleClick() {
},
getCarTotal(t) {
this.tabsList[1].name = `车辆数(${t})`;
},
getDriverTotal(t) {
this.tabsList[0].name = `司机数(${t})`;
},
}
}
</script>
<style scoped lang="scss">
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment