完善车辆管理模块
This commit is contained in:
@ -5,11 +5,11 @@ export function supplierVehicleList(data){
|
||||
return request({
|
||||
url:'/supplierAppV2/dispatchApp/user/supplierVehicleList',
|
||||
method:'POST',
|
||||
contentTye:'application/json',
|
||||
contentType:'application/json',
|
||||
data
|
||||
})
|
||||
}
|
||||
//添加或修改车辆信息
|
||||
//编辑车辆信息
|
||||
export function saveVehicle(data){
|
||||
return request({
|
||||
url:'/supplierAppV2/dispatchApp/user/saveVehicle',
|
||||
@ -42,4 +42,22 @@ export function vehicleTypeList(){
|
||||
url:'/supplierAppV2/dispatchApp/user/vehicleTypeList',
|
||||
method:'POST'
|
||||
})
|
||||
}
|
||||
//司机列表
|
||||
export function driverList(data){
|
||||
return request({
|
||||
url:'/supplierAppV2/dispatchApp/user/driverList',
|
||||
method:'POST',
|
||||
contentType:'application/json',
|
||||
data
|
||||
})
|
||||
}
|
||||
//编辑司机信息
|
||||
export function saveDriver(data){
|
||||
return request({
|
||||
url:'/supplierAppV2/dispatchApp/user/saveDriver',
|
||||
method:'POST',
|
||||
contentType:'application/json',
|
||||
data
|
||||
})
|
||||
}
|
BIN
src/assets/addImg.png
Normal file
BIN
src/assets/addImg.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 215 B |
BIN
src/assets/empty.png
Normal file
BIN
src/assets/empty.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
@ -55,12 +55,12 @@ export default {
|
||||
@include widHeiMar(6px,6px,3px);
|
||||
}
|
||||
::v-deep .van-field__label{
|
||||
@include fontWeightSize(500,14px);
|
||||
@include fontWeightSize(bold,14px);
|
||||
color: #323643;
|
||||
margin-left: 10px;
|
||||
}
|
||||
::v-deep .van-field__control{
|
||||
color: #323643;
|
||||
@include fontWeightSize(500,13px);
|
||||
@include fontWeightSize(bold,13px);
|
||||
}
|
||||
</style>
|
@ -29,7 +29,7 @@
|
||||
border-radius: 5px;
|
||||
text-align: center;
|
||||
@include bgFontColor(#FFFFFF,#354D93);
|
||||
@include fontWeightSize(500,15px);
|
||||
@include fontWeightSize(bold,15px);
|
||||
@include whLin(88%,48px);
|
||||
}
|
||||
</style>
|
||||
|
@ -38,7 +38,7 @@ export default {
|
||||
@include whLin(152px,39px);
|
||||
border-radius: 5px;
|
||||
color: #FFFFFF;
|
||||
@include fontWeightSize(500,14px)
|
||||
@include fontWeightSize(bold,14px)
|
||||
}
|
||||
.cancel{
|
||||
background: #9EA7C0;
|
||||
|
@ -39,10 +39,18 @@ const routes = [
|
||||
title: '补结算单'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/workOrderReconciliation",
|
||||
name: "workOrderReconciliation",
|
||||
component:()=>import('@/views/workOrder/workOrderReconciliation.vue'),
|
||||
meta: {
|
||||
title: '工单对账'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/accounting",
|
||||
name: 'accountingView',
|
||||
component: () => import('@/views/index/accounting'),
|
||||
component: () => import('@/views/workOrder/accounting.vue'),
|
||||
meta: {
|
||||
title: '记账'
|
||||
}
|
||||
@ -50,7 +58,7 @@ const routes = [
|
||||
{
|
||||
path: "/reAccounting",
|
||||
name: 'reAccountingView',
|
||||
component: () => import('@/views/index/reAccounting'),
|
||||
component: () => import('@/views/workOrder/reAccounting.vue'),
|
||||
meta: {
|
||||
title: '重新记账'
|
||||
}
|
||||
|
@ -29,24 +29,24 @@ select{
|
||||
overflow-y: auto;
|
||||
}
|
||||
::v-deep .van-nav-bar__content{
|
||||
background-color: #354683 ;
|
||||
background-color: #2C395F ;
|
||||
}
|
||||
::v-deep .van-nav-bar__title{
|
||||
color: #fff;
|
||||
opacity: .7;
|
||||
font-weight: 500;
|
||||
font-size: 15px;
|
||||
font-weight: bolder;
|
||||
font-size: 18px;
|
||||
}
|
||||
::v-deep .van-nav-bar .van-icon{
|
||||
color: #fff;
|
||||
opacity: .7;
|
||||
font-size: 15px;
|
||||
font-size: 18px;
|
||||
width: 6px;
|
||||
height: 13px;
|
||||
}
|
||||
::v-deep .van-radio__label{
|
||||
margin-left: 0;
|
||||
font-weight: 400;
|
||||
font-weight: normal;
|
||||
font-size: 14px;
|
||||
//@include fontWeightSize(400,14px);
|
||||
color: #000000;
|
||||
|
@ -14,8 +14,9 @@ service.interceptors.request.use(
|
||||
config => {
|
||||
config.data = config.contentType ? config.data : qs.stringify(config.data)
|
||||
config.headers['Content-Type'] = config.contentType || 'application/x-www-form-urlencoded'
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
const token = urlParams.get('token');
|
||||
// const urlParams = new URLSearchParams(window.location.search);
|
||||
// const token = urlParams.get('token');
|
||||
let token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJzemwiLCJhdWQiOlsic3VwcGxpZXItYXBwIl0sIm5iZiI6MTY5MjE2ODQ3OCwidXNlcl9pbmZvIjp7InVzZXJJZCI6NTQ1ODUsInBob25lIjoiMTc2MzAwMzU2NTgiLCJuYW1lIjoi5bCP5a6LIiwic3VwcGxpZXJOYW1lIjoi5LiK5rW35a6J55WFQSIsInN1cHBsaWVySWQiOjExMjgsInN1cHBsaWVyVHlwZSI6MSwidXNlcm5hbWUiOiJzemwiLCJ1c2VyVHlwZSI6IkFQUCIsImF1dGhvcml0aWVzIjpbXX0sInNjb3BlIjpbImFsbCJdLCJpc3MiOiJodHRwczovL3Npbm9hc3Npc3QuY29tIiwiZXhwIjoxNjkyMjU0ODc4LCJpYXQiOjE2OTIxNjg0Nzh9.yVreEsJqwcEy6jALrhqQ9tasuBKqEE-y3fq_TXfaspE'
|
||||
config.headers['Authorization'] = `${token}`;
|
||||
return config
|
||||
},
|
||||
|
@ -22,6 +22,12 @@ export const myMixins = {
|
||||
document.execCommand('copy');
|
||||
window.getSelection().removeAllRanges(); // 清除选择内容的高亮状态
|
||||
this.$toast('复制成功')
|
||||
},
|
||||
goBack(){//h5返回APP
|
||||
window.android.sendMessage("goBack");
|
||||
},
|
||||
h5GoBack(){
|
||||
this.$router.back();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -141,7 +141,7 @@ export default {
|
||||
box-sizing: border-box;
|
||||
padding-right: 25px;
|
||||
.titleType{
|
||||
@include fontWeightSize(500,14px);
|
||||
@include fontWeightSize(bold,14px);
|
||||
color: #323643;
|
||||
}
|
||||
.isJoin{
|
||||
@ -160,7 +160,7 @@ export default {
|
||||
input{
|
||||
border: none;
|
||||
text-align: right;
|
||||
@include fontWeightSize(500,13px);
|
||||
@include fontWeightSize(bold,13px);
|
||||
opacity: .5;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,23 @@
|
||||
<template>
|
||||
<div class="wrap">
|
||||
<div class="navBar">
|
||||
<van-nav-bar
|
||||
title="司机管理"
|
||||
left-arrow
|
||||
left-arrow-color="#FFFFFF"
|
||||
:border="false"
|
||||
:fixed="true"
|
||||
:safe-area-inset-top="true"
|
||||
@click-left="goPage"
|
||||
>
|
||||
<template slot="right">
|
||||
<div class="rightWrap" @click="addDriver">
|
||||
<img src="@/assets/addImg.png" />
|
||||
<span class="addTxt">添加</span>
|
||||
</div>
|
||||
</template>
|
||||
</van-nav-bar>
|
||||
</div>
|
||||
<div class="itemWrap">
|
||||
<div class="name-status">
|
||||
<div class="namephone">王小微 / 15234345656</div>
|
||||
@ -70,6 +88,7 @@ export default {
|
||||
|
||||
<style scoped lang="scss">
|
||||
@import '@/styles/mixin.scss';
|
||||
@import "@/styles/common.scss";
|
||||
|
||||
.wrap {
|
||||
background: #F4F5F7;
|
||||
@ -77,6 +96,28 @@ export default {
|
||||
padding: 13px;
|
||||
@include wh(100%, 100%);
|
||||
}
|
||||
.navBar{
|
||||
//height: 46px;
|
||||
margin-bottom: 46px;
|
||||
.rightWrap{
|
||||
width: 50px;
|
||||
height: 20px;
|
||||
border-radius: 10px;
|
||||
opacity: 0.7;
|
||||
border: 1px solid #FFFFFF;
|
||||
@include flexCenter;
|
||||
justify-content: center;
|
||||
img{
|
||||
@include widHeiMar(9px,8px,4px);
|
||||
}
|
||||
.addTxt{
|
||||
@include fontWeightSize(bolder,11px);
|
||||
opacity: .7;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.itemWrap {
|
||||
@include wh(100%, 104px);
|
||||
@ -112,7 +153,7 @@ export default {
|
||||
justify-content: space-between;
|
||||
|
||||
.namephone {
|
||||
@include fontWeightSize(500, 14px)
|
||||
@include fontWeightSize(bold, 14px)
|
||||
}
|
||||
|
||||
.twoBtn {
|
||||
@ -121,7 +162,7 @@ export default {
|
||||
width: 48px;
|
||||
@include all-height(20px);
|
||||
border-radius: 3px;
|
||||
@include fontWeightSize(500, 12px)
|
||||
@include fontWeightSize(bold, 12px)
|
||||
}
|
||||
|
||||
.del {
|
||||
|
@ -8,7 +8,7 @@
|
||||
:border="false"
|
||||
:fixed="true"
|
||||
:safe-area-inset-top="true"
|
||||
@click-left="onClickLeft"
|
||||
@click-left="h5GoBack"
|
||||
/>
|
||||
</div>
|
||||
<div class="contentWrap">
|
||||
@ -26,9 +26,7 @@ export default {
|
||||
name: "invoicingDetail",
|
||||
mixins:[myMixins],
|
||||
methods:{
|
||||
onClickLeft(){
|
||||
this.goPage('invoicingNotify')
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -1,5 +1,16 @@
|
||||
<template>
|
||||
<div class="wrap">
|
||||
<div class="navBar">
|
||||
<van-nav-bar
|
||||
title="工单对账"
|
||||
left-arrow
|
||||
left-arrow-color="#FFFFFF"
|
||||
:border="false"
|
||||
:fixed="true"
|
||||
:safe-area-inset-top="true"
|
||||
@click-left="goBack"
|
||||
/>
|
||||
</div>
|
||||
<div class="itemWrap" v-for="(item,index) in 3" :key="index">
|
||||
<div class="item line1">
|
||||
<div class="itemTime">
|
||||
@ -46,18 +57,24 @@ export default {
|
||||
checkDetail(index){
|
||||
console.log("查看详情"+index)
|
||||
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
@import "@/styles/mixin.scss";
|
||||
@import "@/styles/common.scss";
|
||||
.wrap{
|
||||
@include wh(100%,100%);
|
||||
background-color: #F4F5F7;
|
||||
overflow-y: auto;
|
||||
}
|
||||
.navBar{
|
||||
|
||||
height: 46px;
|
||||
//margin-bottom: 46px;
|
||||
}
|
||||
.itemWrap{
|
||||
background: #FFFFFF;
|
||||
@include wh(100%,194px);
|
||||
|
@ -106,7 +106,7 @@ export default {
|
||||
}
|
||||
|
||||
.title {
|
||||
@include fontWeightSize(500,14px);
|
||||
@include fontWeightSize(bold,14px);
|
||||
color: #323643;
|
||||
|
||||
}
|
||||
|
@ -132,7 +132,7 @@ export default {
|
||||
@include wh(100%, 198px)
|
||||
}
|
||||
.title {
|
||||
@include fontWeightSize(500, 14px);
|
||||
@include fontWeightSize(bold, 14px);
|
||||
color: #323643;
|
||||
opacity: 0.66;
|
||||
}
|
||||
@ -149,7 +149,7 @@ export default {
|
||||
justify-content: space-between;
|
||||
line-height: 37px;
|
||||
.blueColor{
|
||||
@include fontWeightSize(500,14px);
|
||||
@include fontWeightSize(bold,14px);
|
||||
color: #4682FE;
|
||||
}
|
||||
.alignRight{
|
||||
@ -161,7 +161,7 @@ export default {
|
||||
}
|
||||
.rightInputMeters {
|
||||
margin-right: 13px;
|
||||
@include fontWeightSize(500, 13px);
|
||||
@include fontWeightSize(bold, 13px);
|
||||
color: #323643;
|
||||
opacity: .5;
|
||||
input {
|
||||
|
@ -1,9 +1,14 @@
|
||||
<template>
|
||||
<div class="wrap" >
|
||||
<ul id="dataList" class="dataList">
|
||||
<div v-if="show" style="width:100%;height:100%;background: #F1F5F9;;display: flex;align-items: center;justify-content: center">
|
||||
<img src="@/assets/empty.png" style="width:65%;">
|
||||
</div>
|
||||
<div class="wrap" v-else>
|
||||
<ul id="dataList" class="dataList" >
|
||||
<li class="item" v-for="(item,i) in todolist" :key="i">
|
||||
<div class="left">
|
||||
<div class="repairName"><span class="name">{{ item.toDoType.label }}</span><span class="carCode">{{item.plateNumber ? item.plateNumber : "无"}}</span></div>
|
||||
<div class="repairName">
|
||||
<span class="name">{{ item.toDoType.label }}</span>
|
||||
<span class="carCode">{{item.plateNumber ? item.plateNumber : "无"}}</span></div>
|
||||
<div class="addressName">{{ item.address }}</div>
|
||||
<div class="time">{{item.toDoTime}} {{item.userName}}</div>
|
||||
</div>
|
||||
@ -23,17 +28,23 @@ export default {
|
||||
data(){
|
||||
return{
|
||||
todolist:[],
|
||||
show:false
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
// this.getList()
|
||||
this.getList()
|
||||
},
|
||||
methods:{
|
||||
async getList(){
|
||||
let result=await getToDoList();
|
||||
if(result.code === 200){
|
||||
this.todolist=result.data;
|
||||
console.log("this.todolist",this.todolist)
|
||||
if(this.todolist.length === 0){
|
||||
this.show=true
|
||||
}else {
|
||||
this.show=false
|
||||
}
|
||||
console.log("this.todolist",this.todolist.length)
|
||||
}
|
||||
},
|
||||
async noPass(item){
|
||||
@ -81,7 +92,7 @@ export default {
|
||||
}
|
||||
|
||||
.repairName {
|
||||
font-weight: 500;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.name {
|
||||
@ -105,7 +116,7 @@ export default {
|
||||
|
||||
button {
|
||||
padding: 2px 8px;
|
||||
@include fontWeightSize(500,12px);
|
||||
@include fontWeightSize(bold,12px);
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
|
@ -1,26 +1,25 @@
|
||||
<template>
|
||||
<div class="wrap">
|
||||
<div class="navBar">
|
||||
<van-nav-bar
|
||||
:title="id ? '修改车辆信息' : '添加车辆'"
|
||||
left-arrow
|
||||
left-arrow-color="#FFFFFF"
|
||||
:border="false"
|
||||
:fixed="true"
|
||||
:safe-area-inset-top="true"
|
||||
@click-left="h5GoBack"
|
||||
/>
|
||||
</div>
|
||||
<div class="addContentWrap">
|
||||
<cell-group label="车牌号" placeholder="请输入车牌号" @input="getPLateNum(carNum)" v-model="carNum" />
|
||||
<!-- <div class="itemContent">-->
|
||||
<!-- <div class="titleType">-->
|
||||
<!-- <img class="startImg" src="@/assets/start.png" />-->
|
||||
<!-- <span>车牌号</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="checkContent">-->
|
||||
<!-- <input placeholder="请输入车牌号" />-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="lineBot"></div>-->
|
||||
<div class="itemContent">
|
||||
<div class="titleType">
|
||||
<img class="startImg" src="@/assets/start.png" />
|
||||
<span>车辆类型</span>
|
||||
</div>
|
||||
<select id="mySelect" style="width: 80px">
|
||||
<option value="一般平板">一般平板</option>
|
||||
<option value="小轿车">小轿车</option>
|
||||
<option value="大卡车">大卡车</option>
|
||||
<select id="mySelect" style="width: 70px" v-model="selectedOption">
|
||||
<option v-for="(item,index) in typeList" :key="index" :value="index">{{item}}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="lineBot"></div>
|
||||
@ -30,8 +29,8 @@
|
||||
<span>是否参与中道聚合</span>
|
||||
</div>
|
||||
<div class="isJoin">
|
||||
<van-radio-group v-model="radio3" @change="isChange" class="joinWrap">
|
||||
<van-radio name="参与" style="margin-right: 26px">
|
||||
<van-radio-group v-model="isJoin" @change="isChange" class="joinWrap">
|
||||
<van-radio :name="1" style="margin-right: 26px">
|
||||
参与
|
||||
<img
|
||||
slot="icon"
|
||||
@ -39,7 +38,7 @@
|
||||
:src="props.checked ? activeIcon : inactiveIcon"
|
||||
>
|
||||
</van-radio>
|
||||
<van-radio name="不参与">
|
||||
<van-radio :name="0">
|
||||
不参与
|
||||
<img
|
||||
slot="icon"
|
||||
@ -63,7 +62,7 @@
|
||||
<span class="service">拖车服务:</span>
|
||||
<span class="line"></span>
|
||||
</div>
|
||||
<van-radio-group v-model="radio" @change="change" class="radioWrap">
|
||||
<van-radio-group v-model="trailerService" @change="change" class="radioWrap">
|
||||
<van-radio name="故障——平板拖车" class="item">
|
||||
故障——平板拖车
|
||||
<img
|
||||
@ -87,7 +86,7 @@
|
||||
<span class="service">小修服务:</span>
|
||||
<span class="line"></span>
|
||||
</div>
|
||||
<van-radio-group v-model="radio2" @change="change2" class="radioWrap">
|
||||
<van-radio-group v-model="smallRepairService" @change="change2" class="radioWrap">
|
||||
<van-radio name="换胎" class="item">
|
||||
换胎
|
||||
<img
|
||||
@ -130,6 +129,7 @@
|
||||
|
||||
<script>
|
||||
import {myMixins} from "@/utils/myMixins"
|
||||
import {vehicleTypeList,saveVehicle,getInfoById} from "@/api/mine"
|
||||
import TwoCommonBtn from "@/components/twoBtnCommon.vue"
|
||||
import CellGroup from "@/components/cellGroup.vue";
|
||||
export default {
|
||||
@ -137,40 +137,99 @@ export default {
|
||||
mixins:[myMixins],
|
||||
data(){
|
||||
return{
|
||||
radio: '故障——平板拖车',
|
||||
radio2: '换胎',
|
||||
radio3:'参与',
|
||||
trailerService: '',//拖车服务
|
||||
smallRepairService: '',//小修服务
|
||||
isJoin:'',//是否参与
|
||||
activeIcon: require('@/assets/check.png'),
|
||||
inactiveIcon: require('@/assets/uncheck.png'),
|
||||
carNum:"",
|
||||
carNum:"",//车牌号
|
||||
typeList:[],//车辆类型列表
|
||||
selectedOption:'1',//车辆类型
|
||||
id:'',//车辆Id
|
||||
serviceIds:''//车辆服务种类
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
created() {
|
||||
this.id=this.$route.query?.id || ''
|
||||
},
|
||||
async mounted() {
|
||||
const selectElement = document.getElementById('mySelect');
|
||||
selectElement.addEventListener('change', function() {
|
||||
const selectedValue = selectElement.value;
|
||||
console.log('Selected value:', selectedValue);
|
||||
this.selectedOption=selectElement.value;
|
||||
// console.log(this.selectedOption,"11")
|
||||
});
|
||||
await this.getTypeList();
|
||||
// console.log(this.selectedOption,"22")
|
||||
this.id=this.$route.query?.id || ''
|
||||
console.log("this.$route.query",this.id);
|
||||
await this.vehicleInfo()
|
||||
},
|
||||
methods:{
|
||||
async getTypeList() {
|
||||
let result=await vehicleTypeList();
|
||||
if(result.code === 200){
|
||||
this.typeList=result.data
|
||||
}
|
||||
},
|
||||
async vehicleInfo(){
|
||||
let res= await getInfoById({
|
||||
vehicleId:this.id
|
||||
})
|
||||
if(res.code === 200){
|
||||
let result=res.data;
|
||||
console.log("获取信息",res)
|
||||
this.id=result.vehicleId
|
||||
this.carNum=result.plateNumber
|
||||
this.isJoin=result.hasPolymerization.code
|
||||
this.selectedOption=result.vehicleType;
|
||||
this.serviceIds=result.serviceIds
|
||||
// console.log("num",this.carNum,this.isJoin)
|
||||
}
|
||||
|
||||
},
|
||||
change(e) {
|
||||
console.log("拖车服务",e)
|
||||
this.trailerService=e
|
||||
},
|
||||
change2(e) {
|
||||
console.log("小修服务",e)
|
||||
this.smallRepairService=e
|
||||
},
|
||||
isChange(e){
|
||||
console.log("是否参与",e)
|
||||
this.isJoin=e
|
||||
},
|
||||
cancelBtn(){
|
||||
console.log("取消车辆")
|
||||
cancelBtn(){//取消车辆
|
||||
this.isJoin='';
|
||||
this.trailerService='';
|
||||
this.smallRepairService='';
|
||||
this.carNum=''
|
||||
},
|
||||
submitBtn(){
|
||||
console.log("提交车辆")
|
||||
async submitBtn(){
|
||||
console.log("提交车辆");
|
||||
let res=await saveVehicle({
|
||||
vehicleId:this.id ? this.id : '',
|
||||
plateNumber:this.carNum ? this.carNum :'',
|
||||
vehicleType:this.selectedOption ? this.selectedOption : '',
|
||||
hasPolymerization:Number(this.isJoin ? this.isJoin : '') ,
|
||||
serviceIds:this.serviceIds ? this.serviceIds : []
|
||||
})
|
||||
if(res.code === 200){
|
||||
if(this.id){
|
||||
this.$toast('修改成功')
|
||||
}else{
|
||||
this.$toast('添加成功')
|
||||
}
|
||||
|
||||
setTimeout(()=>{
|
||||
this.$router.back();
|
||||
},2000)
|
||||
}
|
||||
console.log("res",res)
|
||||
},
|
||||
getPLateNum(e){
|
||||
console.log("e",e)
|
||||
}
|
||||
},
|
||||
},
|
||||
components:{
|
||||
CellGroup,
|
||||
@ -182,6 +241,9 @@ export default {
|
||||
<style scoped lang="scss">
|
||||
@import "@/styles/mixin.scss";
|
||||
@import "@/styles/common.scss";
|
||||
.navBar{
|
||||
margin-bottom: 46px;
|
||||
}
|
||||
.wrap{
|
||||
@include wh(100%,100%);
|
||||
}
|
||||
@ -194,7 +256,7 @@ export default {
|
||||
box-sizing: border-box;
|
||||
padding-right: 25px;
|
||||
.titleType{
|
||||
@include fontWeightSize(500,14px);
|
||||
@include fontWeightSize(bold,14px);
|
||||
color: #323643;
|
||||
}
|
||||
.isJoin{
|
||||
@ -213,7 +275,7 @@ export default {
|
||||
input{
|
||||
border: none;
|
||||
text-align: right;
|
||||
@include fontWeightSize(500,13px);
|
||||
@include fontWeightSize(bold,13px);
|
||||
opacity: .5;
|
||||
}
|
||||
}
|
||||
@ -223,7 +285,7 @@ export default {
|
||||
opacity: 0.6;
|
||||
}
|
||||
.serviceType{
|
||||
@include fontWeightSize(500,13px);
|
||||
@include fontWeightSize(bold,13px);
|
||||
margin-left: 15px;
|
||||
.trailerService{
|
||||
margin-bottom: 10px;
|
||||
|
@ -1,39 +1,134 @@
|
||||
<template>
|
||||
<div class="wrap">
|
||||
<div class="carItem" v-for="(item,index) in 3" :key="index">
|
||||
<div class="wrap" >
|
||||
<div class="navBar">
|
||||
<van-nav-bar
|
||||
title="车辆管理"
|
||||
left-arrow
|
||||
left-arrow-color="#FFFFFF"
|
||||
:border="false"
|
||||
:fixed="true"
|
||||
:safe-area-inset-top="true"
|
||||
@click-left="goBack"
|
||||
>
|
||||
<template slot="right">
|
||||
<div class="rightWrap" @click="goPage('vehicleAdd')">
|
||||
<img src="@/assets/addImg.png" />
|
||||
<span class="addTxt">添加</span>
|
||||
</div>
|
||||
</template>
|
||||
</van-nav-bar>
|
||||
</div>
|
||||
<div class="carItem" v-for="(item,index) in vehicleList" :key="index">
|
||||
<div class="carCode">
|
||||
<div class="codeLeft">苏AB6768 / 拖车</div>
|
||||
<div class="codeLeft">{{item.plateNumber}} / {{item.vehicleTypeString}}</div>
|
||||
<div class="twoBtn">
|
||||
<button class="del">删除</button>
|
||||
<button class="revise" @click="goPage('vehicleAdd')">修改</button>
|
||||
<button class="del" @click="deleteItem(item.vehicleId)">删除</button>
|
||||
<button class="revise" @click="goPage('vehicleAdd',{ id: item.vehicleId })">修改</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="carType">事故--大型拖车,事故--小型拖车,事故--平板拖车....</div>
|
||||
<div class="carType">{{ item.serviceName }}</div>
|
||||
<div class="juhe">
|
||||
<span class="zdJuhe">是否参与中道聚合: </span>
|
||||
<span class="isZd isYes">是</span>
|
||||
<span :class="item.hasPolymerization.code == 0 ? 'isYes' :'isNo'">{{item.hasPolymerization.label}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<van-dialog v-model="show" title="确定删除吗" show-cancel-button @confirm="handleConfirm"></van-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { myMixins} from "@/utils/myMixins";
|
||||
|
||||
import {supplierVehicleList,deleteVehicle} from "@/api/mine"
|
||||
export default {
|
||||
name: "vehicleManage",
|
||||
mixins:[myMixins],
|
||||
data(){
|
||||
return{
|
||||
vehicleList:[],
|
||||
show:false,
|
||||
id:'',
|
||||
pageNum:1,
|
||||
pageSize:10,
|
||||
total:'',
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getVehicleList();
|
||||
},
|
||||
methods:{
|
||||
async getVehicleList(){
|
||||
let result = await supplierVehicleList({
|
||||
pageNum:this.pageNum,
|
||||
pageSize:this.pageSize
|
||||
})
|
||||
if(result.code === 200){
|
||||
this.vehicleList=result.data;
|
||||
this.total=result.total
|
||||
}
|
||||
},
|
||||
deleteItem(id){//删除车辆
|
||||
this.show=true
|
||||
this.id=id
|
||||
},
|
||||
addVehicle(){//添加车辆
|
||||
console.log("添加")
|
||||
|
||||
},
|
||||
async handleConfirm(){//调删除车辆接口
|
||||
let result= await deleteVehicle({
|
||||
vehicleId:this.id
|
||||
})
|
||||
if(result.code === 200){
|
||||
this.$toast('删除成功');
|
||||
await this.getVehicleList();
|
||||
}
|
||||
},
|
||||
async handleScroll(){
|
||||
this.pageNum += 1;
|
||||
let res= await this.getVehicleList();
|
||||
let newData=res.data
|
||||
this.vehicleList=[...this.vehicleList,...newData]
|
||||
|
||||
console.log("滑动")
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
@import "@/styles/mixin.scss";
|
||||
@import "@/styles/common.scss";
|
||||
.wrap{
|
||||
@include wh(100%,100%);
|
||||
overflow-y: auto;
|
||||
@include wh(100%,calc(100% - 46px));
|
||||
box-sizing: border-box;
|
||||
padding: 13px 13px 0;
|
||||
}
|
||||
.navBar{
|
||||
margin-bottom: 46px;
|
||||
//height: 46px;
|
||||
.rightWrap{
|
||||
width: 50px;
|
||||
height: 20px;
|
||||
border-radius: 10px;
|
||||
opacity: 0.7;
|
||||
border: 1px solid #FFFFFF;
|
||||
@include flexCenter;
|
||||
justify-content: center;
|
||||
img{
|
||||
@include widHeiMar(9px,8px,4px);
|
||||
}
|
||||
.addTxt{
|
||||
@include fontWeightSize(bolder,11px);
|
||||
opacity: .7;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
.carItem{
|
||||
//position: relative;
|
||||
// z-index: 11;
|
||||
@include wh(100%,86px);
|
||||
background: #FFFFFF;
|
||||
box-shadow: 0px 2px 10px 0px rgba(216,216,216,0.5);
|
||||
@ -46,7 +141,7 @@ export default {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
.codeLeft{
|
||||
@include fontWeightSize(500,14px)
|
||||
@include fontWeightSize(bold,14px)
|
||||
}
|
||||
.twoBtn{
|
||||
button{
|
||||
@ -54,7 +149,7 @@ export default {
|
||||
width: 48px;
|
||||
@include all-height(20px);
|
||||
border-radius: 3px;
|
||||
@include fontWeightSize(500,12px)
|
||||
@include fontWeightSize(bold,12px)
|
||||
}
|
||||
.del{
|
||||
border: 1px solid #DDDDDD;
|
||||
@ -67,18 +162,23 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
.carType{
|
||||
width: 95%;
|
||||
white-space: nowrap; // 防止文本换行
|
||||
text-overflow: ellipsis; // 使用省略号表示超出部分
|
||||
overflow: hidden; // 隐藏超出容器宽度的内容
|
||||
}
|
||||
.carType,.zdJuhe{
|
||||
opacity: .7;
|
||||
@include fontWeightSize(400,12px)
|
||||
}
|
||||
.isZd{
|
||||
@include fontWeightSize(400,12px);
|
||||
}
|
||||
.isYes{
|
||||
color: #09B820;
|
||||
@include fontWeightSize(400,12px);
|
||||
}
|
||||
.isNo{
|
||||
color: #FF0000;
|
||||
@include fontWeightSize(400,12px);
|
||||
}
|
||||
}
|
||||
</style>
|
@ -23,7 +23,10 @@
|
||||
<div class="rightItem">{{ orderDetailInfo.userName }}</div>
|
||||
<div class="rightItem">{{ orderDetailInfo.userPhone }}</div>
|
||||
<div class="rightItem">{{ orderDetailInfo.plateNumber }}</div>
|
||||
<div class="rightItem">{{orderDetailInfo.model}} {{ orderDetailInfo.brand }}</div>
|
||||
<div class="rightItem" style="line-height: 17px">
|
||||
<span >{{orderDetailInfo.model}}</span>
|
||||
<span>{{ orderDetailInfo.brand }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -155,7 +158,7 @@ export default {
|
||||
}
|
||||
.rightContent{
|
||||
width: calc(100% - 90px);
|
||||
@include fontWeightSize(500,12px);
|
||||
@include fontWeightSize(bold,12px);
|
||||
}
|
||||
|
||||
.vehicleRemark{
|
||||
@ -171,7 +174,7 @@ export default {
|
||||
}
|
||||
}
|
||||
.title{
|
||||
@include fontWeightSize(500,14px);
|
||||
@include fontWeightSize(bold,14px);
|
||||
color: #323643;
|
||||
line-height: 20px;
|
||||
opacity: .6;
|
||||
|
@ -96,7 +96,7 @@ export default {
|
||||
background-color: #F4F5F7;
|
||||
}
|
||||
.title{
|
||||
@include fontWeightSize(500,14px);
|
||||
@include fontWeightSize(bold,14px);
|
||||
color: #323643;
|
||||
opacity: 0.66;
|
||||
}
|
||||
@ -143,7 +143,7 @@ img{
|
||||
}
|
||||
.titleContent{
|
||||
width: 91px;
|
||||
@include fontWeightSize(500,13px);
|
||||
@include fontWeightSize(bold,13px);
|
||||
|
||||
}
|
||||
.halfOpcity{
|
@ -99,7 +99,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {myMixins} from '@/utils/myMixins'
|
||||
import {myMixins} from '@/utils/myMixins'
|
||||
export default {
|
||||
name: "reAccountingView",
|
||||
mixins:[myMixins],
|
||||
@ -118,7 +118,7 @@ export default {
|
||||
overflow-y: auto;
|
||||
}
|
||||
.title{
|
||||
@include fontWeightSize(500,14px);
|
||||
@include fontWeightSize(bold,14px);
|
||||
color: #323643;
|
||||
opacity: 0.66;
|
||||
}
|
||||
@ -211,7 +211,7 @@ export default {
|
||||
background: #354D93;
|
||||
border-radius: 3px;
|
||||
color: #FFFFFF;
|
||||
@include fontWeightSize(500,12px)
|
||||
@include fontWeightSize(bold,12px)
|
||||
}
|
||||
.checkData,.supplierData{
|
||||
color: #323643;
|
||||
@ -240,7 +240,7 @@ export default {
|
||||
background: #9EA7C0;
|
||||
border-radius: 5px;
|
||||
color: #FFFFFF;
|
||||
@include fontWeightSize(500,14px);
|
||||
@include fontWeightSize(bold,14px);
|
||||
border: none;
|
||||
}
|
||||
.submit{
|
32
src/views/workOrder/workOrderReconciliation.vue
Normal file
32
src/views/workOrder/workOrderReconciliation.vue
Normal file
@ -0,0 +1,32 @@
|
||||
<template>
|
||||
<div class="wrap">
|
||||
<div class="navBar">
|
||||
<van-nav-bar
|
||||
title="工单对账"
|
||||
left-arrow
|
||||
left-arrow-color="#FFFFFF"
|
||||
:border="false"
|
||||
:fixed="true"
|
||||
:safe-area-inset-top="true"
|
||||
@click-left="goPage"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "workOrderReconciliation",
|
||||
methods:{
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
@import "@/styles/common.scss";
|
||||
@import "@/styles/mixin.scss";
|
||||
.navBar{
|
||||
margin-bottom: 46px;
|
||||
}
|
||||
</style>
|
Reference in New Issue
Block a user