12.25(维修工单审核

This commit is contained in:
Hong
2023-12-25 14:43:56 +08:00
parent 0ff77cc630
commit 8c2d0c45ff
6 changed files with 481 additions and 99 deletions

View File

@@ -58,22 +58,22 @@ export function repairDealer(params) {
/**
* 维修工单审核
*/
export function repairUpdate(params) {
export function repairUpdate(data) {
return request({
url: '/api/front/repair/dealer/update',
method: 'get',
params
method: 'post',
data
})
}
/**
* 维修工单单个拒绝/通过
*/
export function repairUpdateSingle(params) {
export function repairUpdateSingle(data) {
return request({
url: '/api/front/repair/dealer/update/single',
method: 'get',
params
method: 'post',
data
})
}

153
components/returnInfo.vue Normal file
View File

@@ -0,0 +1,153 @@
<template>
<view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.leftFrontRing!=1">
<view class="maintenance-title">左前钢圈:</view>
<view class="maintenance-cont">{{returnInfo.leftFrontRingStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.leftBehindRing!=1">
<view class="maintenance-title">左后钢圈:</view>
<view class="maintenance-cont">{{returnInfo.leftBehindRingStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.rightFrontRing!=1">
<view class="maintenance-title">右前钢圈:</view>
<view class="maintenance-cont">{{returnInfo.rightFrontRingStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.rightBehindRing!=1">
<view class="maintenance-title">右后钢圈:</view>
<view class="maintenance-cont">{{returnInfo.rightBehindRingStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.glass!=1">
<view class="maintenance-title">挡风玻璃:</view>
<view class="maintenance-cont">{{returnInfo.glassStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.carRoof!=1">
<view class="maintenance-title">车顶:</view>
<view class="maintenance-cont">{{returnInfo.carRoofStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.batteryBottomCover!=1">
<view class="maintenance-title">电池底盖:</view>
<view class="maintenance-cont">{{returnInfo.batteryBottomCoverStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.frontHood!=1">
<view class="maintenance-title">前机盖:</view>
<view class="maintenance-cont">{{returnInfo.frontHoodStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.behindHood!=1">
<view class="maintenance-title">后机盖:</view>
<view class="maintenance-cont">{{returnInfo.behindHoodStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.frontBumper!=1">
<view class="maintenance-title">前保险杠:</view>
<view class="maintenance-cont">{{returnInfo.frontBumperStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.hehindBumper!=1">
<view class="maintenance-title">后保险杠:</view>
<view class="maintenance-cont">{{returnInfo.hehindBumperStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.leftApillar!=1">
<view class="maintenance-title">左A柱:</view>
<view class="maintenance-cont">{{returnInfo.leftApillarStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.rightApillar!=1">
<view class="maintenance-title">右A柱:</view>
<view class="maintenance-cont">{{returnInfo.rightApillarStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.leftBeam!=1">
<view class="maintenance-title">左边梁:</view>
<view class="maintenance-cont">{{returnInfo.leftBeamStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.rightBeam!=1">
<view class="maintenance-title">右边梁:</view>
<view class="maintenance-cont">{{returnInfo.rightBeamStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.leftBehindDoor!=1">
<view class="maintenance-title">左后门:</view>
<view class="maintenance-cont">{{returnInfo.leftBehindDoorStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.leftFrontDoor!=1">
<view class="maintenance-title">左前门:</view>
<view class="maintenance-cont">{{returnInfo.leftFrontDoorStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.rightFrontDoor!=1">
<view class="maintenance-title">右前门:</view>
<view class="maintenance-cont">{{returnInfo.rightFrontDoorStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.rightBehindDoor!=1">
<view class="maintenance-title">右后门:</view>
<view class="maintenance-cont">{{returnInfo.rightBehindDoorStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.leftFrontLeaf!=1">
<view class="maintenance-title">左前叶:</view>
<view class="maintenance-cont">{{returnInfo.leftFrontLeafStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.leftBehindLeaf!=1">
<view class="maintenance-title">左后叶:</view>
<view class="maintenance-cont">{{returnInfo.leftBehindLeafStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.rightFrontLeaf!=1">
<view class="maintenance-title">右前叶:</view>
<view class="maintenance-cont">{{returnInfo.rightFrontLeafStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.rightBehindLeaf!=1">
<view class="maintenance-title">右后叶:</view>
<view class="maintenance-cont">{{returnInfo.rightBehindLeafStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.leftFrontTire!=1">
<view class="maintenance-title">左前轮:</view>
<view class="maintenance-cont">{{returnInfo.leftFrontTireStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.leftBehindTire!=1">
<view class="maintenance-title">左后轮:</view>
<view class="maintenance-cont">{{returnInfo.leftBehindTireStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.rightFrontTire!=1">
<view class="maintenance-title">右前轮:</view>
<view class="maintenance-cont">{{returnInfo.rightFrontTireStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.rightBehindTire!=1">
<view class="maintenance-title">右后轮:</view>
<view class="maintenance-cont">{{returnInfo.rightBehindTireStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.leftRearview!=1">
<view class="maintenance-title">左后视镜:</view>
<view class="maintenance-cont">{{returnInfo.leftRearviewStr}}</view>
</view>
<view class="maintenance f-a-i f-jcsb " v-if="returnInfo.rightRearview!=1">
<view class="maintenance-title">右后视镜:</view>
<view class="maintenance-cont">{{returnInfo.rightRearviewStr}}</view>
</view>
</view>
</template>
<script>
export default {
name: "returnInfo",
props: ['returnInfo'],
data() {
return {
};
}
}
</script>
<style lang="scss">
.maintenance {
margin: 16rpx 0;
.maintenance-title {
font-size: 28rpx;
font-weight: 400;
color: #666666;
width: 200rpx;
}
.maintenance-cont {
width: calc(100% - 220rpx);
font-size: 28rpx;
font-weight: 400;
color: #111111;
text-align: right;
}
}
</style>

View File

@@ -36,15 +36,13 @@
</view>
<u-line color="#EDEDED" margin="24rpx 0"></u-line>
<view class="flex justify-end" v-if="item.auditRepair==0">
<view class="refuse-button">
<view class="refuse-button" @click.stop="disposeShowFn(2,item.id)">
<u-button type="primary" shape="circle" text="拒绝" :plain="true" color="#999999"
:customStyle='{width: "112rpx",height: "56rpx",marginRight: "16rpx",fontSize: "24rpx",fontWeight: 500,}'
@click="disposeShowFn(0)"></u-button>
:customStyle='{width: "112rpx",height: "56rpx",marginRight: "16rpx",fontSize: "24rpx",fontWeight: 500,}'></u-button>
</view>
<view class="pass-button">
<view class="pass-button" @click.stop="disposeShowFn(1,item.id)">
<u-button type="primary" shape="circle" text="处理" color="#13AFA8"
:customStyle='{width: "160rpx",height: "56rpx",marginRight: "16rpx",fontSize: "24rpx",fontWeight: 500,}'
@click="disposeShowFn(1)"></u-button>
:customStyle='{width: "160rpx",height: "56rpx",marginRight: "16rpx",fontSize: "24rpx",fontWeight: 500,}'></u-button>
</view>
</view>
</view>
@@ -60,12 +58,12 @@
<view class="dispose-popup-title">
{{disposeType==1?"填写审核人":'审核意见'}}
</view>
<view v-if="disposeType==0" class="dispose-popup-input">
<u--textarea placeholder="请输入审核意见" border="none" v-model="opinion" maxlength="-1"
<view v-if="disposeType==2" class="dispose-popup-input">
<u--textarea placeholder="请输入审核意见" border="none" v-model="auditOpinion" maxlength="-1"
:customStyle="{backgroundColor: '#F5F5F5',paddingLeft:'15rpx'}"></u--textarea>
</view>
<view class="dispose-popup-input">
<u--input placeholder="填写审批人" border="none" v-model="auditor"
<u--input placeholder="填写审批人" border="none" v-model="auditName"
:customStyle="{backgroundColor: '#F5F5F5',height:'88rpx',paddingLeft:'15rpx'}"></u--input>
</view>
<view class="dispose-popup-button">
@@ -81,7 +79,9 @@
<script>
import {
getDealerList
getDealerList,
repairUpdate,
repairUpdateSingle
} from "@/api/carShop/maintainOrder/index.js"
import tabbarCarshop from '@/components/tabbar-carshop/tabbar-carshop.vue'
import {
@@ -94,12 +94,13 @@
data() {
return {
disposeShow: false, //处理弹出层
disposeType: 0, //处理类型 0:拒绝 1通过
disposeType: 1, //处理类型 2:拒绝 1通过
tabsList5,
//订单列表
dataList: [],
auditor: '', //审核人
opinion: '', //审核意见
orderId: '',
auditName: '', //审核
auditOpinion: '', //审核意见
orderType: 'all'
}
@@ -107,7 +108,6 @@
methods: {
//工单详情
navParticularsFn(item) {
uni.navigateTo({
url: `/pages/carShop/maintainOrder/order_particulars?id=${item.id}`
})
@@ -115,21 +115,33 @@
//提交处理结果
submitFn() {
this.disposeShow = false
if (this.disposeType == 1) {
console.log('通过');
} else {
console.log('拒绝');
let obj = {
auditName: this.auditName,
auditOpinion: this.auditOpinion,
auditStatus: this.disposeType,
id: this.orderId
}
repairUpdate(obj).then(res => {
console.log(res);
this.$refs.paging.refresh();
if (this.disposeType == 1) {
console.log('通过');
} else {
console.log('拒绝');
}
})
},
//打开弹出层
disposeShowFn(type) {
disposeShowFn(type, id) {
this.disposeShow = true
this.disposeType = type
this.orderId = id
},
//处理弹出层
disposeOpen() {
console.log('open');
this.auditor = ''
this.auditName = ''
this.auditOpinion = ''
},
disposeClose() {
this.disposeShow = false
@@ -155,6 +167,11 @@
},
onLoad() {
},
onShow() {
if (this.$refs.paging) {
this.$refs.paging.refresh();
}
}
}
</script>

View File

@@ -1,7 +1,7 @@
<template>
<view>
<!-- 交车 -->
<view>
<view v-if="orderData.status==3">
<view class="time" v-if="type==3||type==4">2023-10-12 12:21:12</view>
<view class="audit" v-if="type==3">
<view class="maintenance-completed f-jcsb f-a-i">
@@ -66,9 +66,9 @@
<view class="audit ">
<view class="f-a-i f-jcsb">
<view class="audit-status">{{orderData.auditRepair==1?'审核通过':'拒绝审核'}}</view>
<view>审批人:张经理</view>
<view>审批人:{{orderData.auditRepairName}}</view>
</view>
<view class="the-reason-for-refusal">这里是拒绝理由没填就写无</view>
<view class="the-reason-for-refusal">{{orderData.auditRepairReason?orderData.auditRepairReason:'无'}}</view>
</view>
</view>
<view class="time">2023-10-12 12:21:12</view>
@@ -173,74 +173,85 @@
<view v-else-if="type==3">
<view class="maintenance f-a-i f-jcsb ">
<view class="maintenance-title">责任类型:</view>
<view class="maintenance-cont">全责</view>
<view class="maintenance-cont">{{orderData.staff.dutyCategoryName}}</view>
</view>
<view class="maintenance f-a-i f-jcsb ">
<view class="maintenance-title">保险公司:</view>
<view class="maintenance-cont">平安保险</view>
<view class="maintenance-cont">{{orderData.staff.insuranceCompanyName}}</view>
</view>
<view class="maintenance f-a-i f-jcsb ">
<view class="maintenance-title">事故日期:</view>
<view class="maintenance-cont">52023-10-23</view>
<view class="maintenance-cont">{{orderData.staff.accidentDate}}</view>
</view>
<view class="maintenance f-a-i f-jcsb ">
<view class="maintenance-title">全责方信息:</view>
<view class="maintenance-cont">XXXXX</view>
<view class="maintenance-cont">{{orderData.staff.responsibleInfo}}</view>
</view>
<view class="maintenance f-a-i f-jcsb ">
<view class="maintenance-title">拖车费:</view>
<view class="maintenance-cont">200</view>
<view class="maintenance-cont">{{orderData.staff.truckingPrice}}</view>
</view>
<view class="maintenance f-a-i f-jcsb ">
<view class="maintenance-title">结算方式:</view>
<view class="maintenance-cont">保险理赔</view>
<view class="maintenance-cont">{{
orderData.staff.settlementMethod==1?'挂帐月结':orderData.staff.settlementMethod==2?'现金支付':orderData.staff.settlementMethod==3?'保险理赔':orderData.staff.settlementMethod==4?'索赔':'返修'
}}</view>
</view>
<view class="maintenance f-a-i f-jcsb ">
<view class="maintenance-title">事故照片</view>
<image style="width: 112rpx;height: 112rpx;" src="@/static/htz-image-upload/play.png"
<image style="width: 112rpx;height: 112rpx;" :src="orderData.staff.accidentImage"
mode=""></image>
</view>
<view class="maintenance f-a-i f-jcsb ">
<view class="maintenance-title">定损人员:</view>
<view class="maintenance-cont">张经理</view>
<view class="maintenance-cont">{{orderData.staff.damageStaff}}</view>
</view>
<view class="maintenance f-a-i f-jcsb ">
<view class="maintenance-title">拆解照片</view>
<image style="width: 112rpx;height: 112rpx;" src="@/static/htz-image-upload/play.png"
<image style="width: 112rpx;height: 112rpx;" :src="orderData.staff.disassembleImage"
mode=""></image>
</view>
<view class="maintenance f-a-i f-jcsb ">
<view class="maintenance-title">材料单</view>
<image style="width: 112rpx;height: 112rpx;" src="@/static/htz-image-upload/play.png"
<image style="width: 112rpx;height: 112rpx;" :src="orderData.staff.materialImage"
mode=""></image>
</view>
</view>
<view v-else-if="type==4">
<view class="maintenance f-a-i f-jcsb ">
<view class="maintenance-title">公里数:</view>
<view class="maintenance-cont">5万公里</view>
<view class="maintenance-cont">{{orderData.returnInfo.kilometer}}</view>
</view>
<view class="maintenance f-a-i f-jcsb ">
<view class="maintenance-title">续航里程:</view>
<view class="maintenance-cont">XXXXXXX</view>
<view class="maintenance-cont">{{orderData.returnInfo.enduranceKilometer}}</view>
</view>
<view class="maintenance f-a-i f-jcsb ">
<view class="maintenance-title">退车日期:</view>
<view class="maintenance-cont">52023-10-23</view>
<view class="maintenance-cont">{{orderData.returnInfo.returnDate}}</view>
</view>
<view class="maintenance f-a-i f-jcsb ">
<view class="maintenance-title">DP公司:</view>
<view class="maintenance-cont">XXXXX</view>
<view class="maintenance-cont">{{orderData.returnInfo.dpCompanyName}}</view>
</view>
<view class="maintenance f-a-i f-jcsb ">
<view class="maintenance-title">退车类型:</view>
<view class="maintenance-cont">到期退车</view>
<view class="maintenance-cont">
<text v-if="orderData.returnInfo.returnCategory==1">到期退车</text>
<text v-else-if="orderData.returnInfo.returnCategory==2">违约退车</text>
<text v-else="orderData.returnInfo.returnCategory==3">回收车</text>
</view>
</view>
<view class="maintenance f-a-i f-jcsb ">
<view class="maintenance-title">双证:</view>
<view class="maintenance-cont">齐全</view>
<view class="maintenance-cont">
<text v-if="orderData.returnInfo.doubleCertificates==1">双证齐全</text>
<text v-else-if="orderData.returnInfo.doubleCertificates==2">缺失行驶证</text>
<text v-else="orderData.returnInfo.doubleCertificates==3">缺失营运证</text>
</view>
</view>
<view class="maintenance f-a-i f-jcsb ">
<ReturnInfo :returnInfo="orderData.returnInfo"> </ReturnInfo>
<!-- <view class="maintenance f-a-i f-jcsb ">
<view class="maintenance-title">左前钢圈:</view>
<view class="maintenance-cont">损坏更换钢圈</view>
</view>
@@ -255,7 +266,7 @@
<view class="maintenance f-a-i f-jcsb ">
<view class="maintenance-title">右后钢圈:</view>
<view class="maintenance-cont">损坏更换钢圈</view>
</view>
</view> -->
<view class="maintenance f-a-i f-jcsb ">
<view class="maintenance-title">车损照片</view>
<image style="width: 112rpx;height: 112rpx;" src="@/static/htz-image-upload/play.png"
@@ -266,47 +277,94 @@
<u-collapse-item name="Docs guide">
<text slot="title" class="particulars-cont-title">维修项目</text>
<view class="plate-number-cont" v-for="(item2,index) in orderData.projectList" :key="index">
<view class="plate-number-cont-list f-a-i f-jcsb ">
<view class="maintenance-items">维修项目:</view>
<view class="maintenance-items-cont">{{item2.name}}</view>
</view>
<view class="plate-number-cont-list" v-if="item2.isPackage==0">
<view>材料明细:</view>
<view class="f-a-i f-jcsb maintenance-items-cont ma-top"
v-for="(item3,index3) in item2.projectAccessoryList" :key="index3">
<view>{{item3.name}}</view>
<view>{{item3.price}}</view>
<view v-if="item2.isPackage==0">
<view class="plate-number-cont-list f-a-i f-jcsb ">
<view class="maintenance-items">维修项目:</view>
<view class="maintenance-items-cont">{{item2.name}}</view>
</view>
</view>
<view class="plate-number-cont-list" v-else>
<view>材料明细:</view>
<view v-for="(item4,index4) in item2.packageItemList" :key="index4">
<view v-for="(item5,index5) in item4.packageItemAccessoryList" :key="index5"
class="f-a-i f-jcsb maintenance-items-cont ma-top">
<view>{{item5.name}}</view>
<view>{{item5.price}}</view>
<view class="plate-number-cont-list">
<view>材料明细:</view>
<view class="f-a-i f-jcsb maintenance-items-cont ma-top"
v-for="(item3,index3) in item2.projectAccessoryList" :key="index3">
<view>{{item3.name}}</view>
<view>{{item3.price}}</view>
</view>
</view>
<view class="plate-number-cont-list">
<view>材料明细:</view>
<view v-for="(item4,index4) in item2.packageItemList" :key="index4">
<view v-for="(item5,index5) in item4.packageItemAccessoryList" :key="index5"
class="f-a-i f-jcsb maintenance-items-cont ma-top">
<view>{{item5.name}}</view>
<view>{{item5.price}}</view>
</view>
</view>
</view>
<view class="plate-number-cont-list">
<view>工时明细:</view>
<view class="f-a-i f-jcsb maintenance-items-cont ma-top">
<view></view>
<view>{{item2.workingTotalPrice}}</view>
</view>
</view>
<view class=" f-a-i f-jcsb" style="padding: 24rpx;">
<view>小计</view>
<view>{{Number(item2.workingTotalPrice)+Number(item2.price)}}</view>
</view>
<view class="f-jce" style="padding-bottom: 24rpx;" v-if="item2.auditRepair==0">
<view class="f-jce">
<u-button type="primary" shape="circle" text="拒绝" :plain="true" color="#999999"
:customStyle='{width: "160rpx",height: "56rpx",marginRight: "16rpx",fontSize: "24rpx",fontWeight: 500,}'
@click="disposeShowFn(2,item2.id)"></u-button>
<u-button type="primary" shape="circle" text="通过" color="#333333"
:customStyle='{width: "160rpx",height: "56rpx",marginRight: "16rpx",fontSize: "24rpx",fontWeight: 500,}'
@click="disposeShowFn(1,item2.id)"></u-button>
</view>
</view>
</view>
<view class="plate-number-cont-list">
<view>工时明细:</view>
<view class="f-a-i f-jcsb maintenance-items-cont ma-top">
<view>轴承更换</view>
<view><u--text mode="price" text="80" size="14" color="#111111"></u--text></view>
<view v-else>
<view class="plate-number-cont-list f-a-i f-jcsb ">
<view class="maintenance-items">维修项目:</view>
<view class="maintenance-items-cont">{{item2.name}}</view>
</view>
</view>
<view class=" f-a-i f-jcsb" style="padding: 24rpx;">
<view>小计</view>
<view><u--text mode="price" text="80" size="14" color="#111111"></u--text></view>
</view>
<view class="f-jce" style="padding-bottom: 24rpx;">
<view class="f-jce">
<u-button type="primary" shape="circle" text="拒绝" :plain="true" color="#999999"
:customStyle='{width: "160rpx",height: "56rpx",marginRight: "16rpx",fontSize: "24rpx",fontWeight: 500,}'
@click="disposeShowFn(0)"></u-button>
<u-button type="primary" shape="circle" text="通过" color="#333333"
:customStyle='{width: "160rpx",height: "56rpx",marginRight: "16rpx",fontSize: "24rpx",fontWeight: 500,}'
@click="disposeShowFn(0)"></u-button>
<view class="plate-number-cont-list">
<view>材料明细:</view>
<view class="f-a-i f-jcsb maintenance-items-cont ma-top"
v-for="(item3,index3) in item2.projectAccessoryList" :key="index3">
<view>{{item3.name}}</view>
<view>{{item3.price}}</view>
</view>
</view>
<view class="plate-number-cont-list">
<view>材料明细:</view>
<view v-for="(item4,index4) in item2.packageItemList" :key="index4">
<view v-for="(item5,index5) in item4.packageItemAccessoryList" :key="index5"
class="f-a-i f-jcsb maintenance-items-cont ma-top">
<view>{{item5.name}}</view>
<view>{{item5.price}}</view>
</view>
</view>
</view>
<view class="plate-number-cont-list">
<view>工时明细:</view>
<view class="f-a-i f-jcsb maintenance-items-cont ma-top">
<view></view>
<view>{{item2.workingTotalPrice}}</view>
</view>
</view>
<view class=" f-a-i f-jcsb" style="padding: 24rpx;">
<view>小计</view>
<view>{{Number(item2.workingTotalPrice)+Number(item2.price)}}</view>
</view>
<view class="f-jce" style="padding-bottom: 24rpx;" v-if="item2.auditRepair==0">
<view class="f-jce">
<u-button type="primary" shape="circle" text="拒绝" :plain="true" color="#999999"
:customStyle='{width: "160rpx",height: "56rpx",marginRight: "16rpx",fontSize: "24rpx",fontWeight: 500,}'
@click="disposeShowFn(2,item2.id)"></u-button>
<u-button type="primary" shape="circle" text="通过" color="#333333"
:customStyle='{width: "160rpx",height: "56rpx",marginRight: "16rpx",fontSize: "24rpx",fontWeight: 500,}'
@click="disposeShowFn(1,item2.id)"></u-button>
</view>
</view>
</view>
</view>
@@ -317,40 +375,85 @@
<view class="particulars-bott">
<view class="particulars-bott-lower-case f-a-i f-jcsb">
<view>合计金额</view>
<view><u--text mode="price" text="80" size="14" color="#111111"></u--text></view>
<view>{{orderData.reservationInfo.totalPrice }}</view>
</view>
<view class="particulars-bott-capital-letter f-a-i f-jcsb">
<view>大写金额</view>
<view>捌拾元整</view>
<view>{{orderData.reservationInfo.totalPrice | toChinese }}</view>
</view>
</view>
<view style="height: 120rpx;background: #f5f5f5;"></view>
<view class="order-buttom">
<view class="order-buttom" v-if="orderData.auditRepair==0">
<view class="f-jce" style="padding-bottom: 24rpx;">
<view class="f-jce">
<u-button type="primary" shape="circle" text="整单拒绝" :plain="true" color="#999999"
:customStyle='{width: "232rpx",height: "80rpx",marginRight: "16rpx",fontSize: "24rpx",fontWeight: 500,}'
@click="disposeShowFn(0)"></u-button>
@click="disposeShowFn(2)"></u-button>
<u-button type="primary" shape="circle" text="整单通过" color="#13AFA8"
:customStyle='{width: "232rpx",height: "80rpx",marginRight: "16rpx",fontSize: "24rpx",fontWeight: 500,}'
@click="disposeShowFn(0)"></u-button>
@click="disposeShowFn(1)"></u-button>
</view>
</view>
</view>
<!-- 处理弹出层 -->
<u-popup :show="disposeShow" @close="disposeClose" @open="disposeOpen" :round="32" closeable>
<view class="dispose-popup">
<view>
<view class="dispose-popup-title">
{{disposeType==1?"填写审核人":'审核意见'}}
</view>
<view v-if="disposeType==2" class="dispose-popup-input">
<u--textarea placeholder="请输入审核意见" border="none" v-model="auditOpinion" maxlength="-1"
:customStyle="{backgroundColor: '#F5F5F5',paddingLeft:'15rpx'}"></u--textarea>
</view>
<view class="dispose-popup-input">
<u--input placeholder="填写审批人" border="none" v-model="auditName"
:customStyle="{backgroundColor: '#F5F5F5',height:'88rpx',paddingLeft:'15rpx'}"></u--input>
</view>
<view class="dispose-popup-button">
<u-button type="primary" shape="circle" text="提交" color="#13AFA8"
:customStyle='{height: "80rpx",marginRight: "16rpx",fontSize: "24rpx",fontWeight: 500,}'
@click="submitFn"></u-button>
</view>
</view>
</view>
</u-popup>
</view>
</template>
<script>
import {
repairDealer
repairDealer,
repairUpdateSingle,
repairUpdate
} from "@/api/carShop/maintainOrder/index.js"
import ReturnInfo from "@/components/returnInfo.vue"
import {
convertNumberToChinese
} from "@/utils/index.js"
export default {
components: {
ReturnInfo
},
data() {
return {
disposeShow: false, //处理弹出层
disposeType: 0, //处理类型 0拒绝 1通过
// 1=常规保养2=故障维修3=事故维修4=退车
type: 3,
orderData: {}
orderData: {
reservationInfo: {},
staff: {},
returnInfo: {}
},
auditName: '',
auditOpinion: ''
}
},
filters: {
toChinese(value) {
return convertNumberToChinese(value)
}
},
methods: {
@@ -362,17 +465,73 @@
},
change(e) {
// console.log('change', e)
},
//审核
//提交处理结果
submitFn() {
this.disposeShow = false
console.log('项目id', this.projectId);
console.log('审核类型', this.disposeType);
console.log('审核人', this.auditName);
console.log('审核意见', this.auditOpinion);
//this.projectId true:单个审核 false:整单审核
let obj = {
auditName: this.auditName,
auditOpinion: this.auditOpinion,
auditStatus: this.disposeType,
id: this.projectId ? this.projectId : this.orderData.id
}
if (this.projectId) {
console.log('单个通过');
repairUpdateSingle(obj).then(res => {
console.log(res, '审核完成');
this.repairDealerFn()
})
} else {
console.log('拒绝');
}
},
//打开弹出层
disposeShowFn(type, projectId) {
this.disposeShow = true
this.disposeType = type
console.log(projectId, '项目id');
if (projectId) {
this.projectId = projectId
} else {
this.projectId = ''
}
},
//处理弹出层
disposeOpen() {
console.log('open');
this.auditName = ''
},
disposeClose() {
this.disposeShow = false
console.log('close');
},
//订单详情
repairDealerFn() {
uni.showLoading({
title: '加载中...'
});
repairDealer({
id: this.orderId
}).then(res => {
console.log(res, '工单详情');
uni.hideLoading()
this.orderData = res.data
this.type = res.data.repairType
})
}
},
onLoad(optons) {
// this.type = optons.type
repairDealer({
id: optons.id
}).then(res => {
console.log(res, '工单详情');
this.orderData = res.data
this.type = res.data.repairType
})
this.orderId = optons.id
this.repairDealerFn()
}
}
</script>
@@ -382,6 +541,25 @@
background-color: #f5f5f5;
}
.dispose-popup {
width: 100%;
padding: 64rpx 32rpx;
.dispose-popup-title {
font-size: 32rpx;
font-weight: 400;
color: #111111;
}
.dispose-popup-input {
margin: 32rpx 0 32rpx 0;
}
.dispose-popup-button {
margin-bottom: 24rpx;
}
}
.order-buttom {
width: 100%;
position: fixed;

View File

@@ -72,3 +72,37 @@ export function parseTime(time, pattern) {
return time_str
}
//金额格式化 传入2201 输出二千二佰零一
export function convertNumberToChinese(number) {
const cnNums = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九"];
const units = ["", "十", "百", "千"];
const bigUnits = ["", "万", "亿", "万亿"];
let result = "";
const intPart = Math.floor(number);
const decPart = Math.round((number - intPart) * 100);
const intStr = intPart.toString();
const intLen = intStr.length;
for (let i = 0; i < intLen; i++) {
const num = intStr.charAt(i);
const unit = intLen - i - 1;
const bigUnit = Math.floor(unit / 4);
const smallUnit = unit % 4;
if (num !== "0") {
result += cnNums[num] + units[smallUnit] + bigUnits[bigUnit];
} else {
if (result[result.length - 1] !== "零") {
result += cnNums[num];
}
}
}
if (decPart > 0) {
result += "点";
const decStr = decPart.toString();
result += cnNums[decStr.charAt(0)] + cnNums[decStr.charAt(1)];
}
return result;
}

View File

@@ -13,7 +13,7 @@ const request = config => {
if (getToken() && !isToken) {
config.header['Authori-zation'] = getToken()
}
console.log(getToken());
// console.log(getToken());
// get请求映射params参数
// console.log(config.params);
if (config.params) {