维修接待开单
This commit is contained in:
@@ -77,6 +77,27 @@ export function returnList(params) {
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 退车接待-创建并开单
|
||||
*/
|
||||
export function createAndPicUp(data) {
|
||||
return request({
|
||||
url: '/api/front/repair/return/createAndPicUp',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 退车接待-创建并开单
|
||||
*/
|
||||
export function noRepair(data) {
|
||||
return request({
|
||||
url: '/api/front/repair/return/noRepair',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 跟具车牌号查询车辆详情
|
||||
|
||||
@@ -11,9 +11,13 @@ export const typelist = [{
|
||||
type: 3,
|
||||
from: 'accientOrderType'
|
||||
},{
|
||||
text: '退车',
|
||||
text: '退车维修',
|
||||
type: 4,
|
||||
from: 'backOrderType'
|
||||
},{
|
||||
text: '退车不维修',
|
||||
type: 5,
|
||||
from: 'backOrderType'
|
||||
}]
|
||||
|
||||
export const settlementList = [{
|
||||
|
||||
@@ -80,9 +80,12 @@
|
||||
this.query[option.modul] = this[`tabsList${option.index}`][0].value
|
||||
console.log(123, this.btnState);
|
||||
},
|
||||
onShow() {
|
||||
this.$refs.paging.reload()
|
||||
},
|
||||
mounted() {
|
||||
// 这里调用是避免参数获取不及时
|
||||
this.$refs.paging.reload()
|
||||
// this.$refs.paging.reload()
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['btnState'])
|
||||
|
||||
@@ -5,30 +5,30 @@
|
||||
<u-tabs :current="current" :list="tabsList" lineWidth="29" @click="tabChange" lineColor="#111111" :fixed="false" :scrollable="false"></u-tabs>
|
||||
</view>
|
||||
<z-paging use-page-scroll ref="paging" v-model="dataList" @query="queryList">
|
||||
<view class="product-item bg-white flex align-center">
|
||||
<view class="product-item bg-white flex align-center" v-for="(item,index) in dataList" :key="item.id">
|
||||
<view class="left">
|
||||
<image src="@/static/htz-image-upload/play.png" mode=""></image>
|
||||
</view>
|
||||
<view class="right flex-column justify-between">
|
||||
<view class="item f-32 c111">
|
||||
配件名称
|
||||
{{item.name}}
|
||||
</view>
|
||||
<view class="item f-26 c666">
|
||||
品牌
|
||||
{{item.brandName}}
|
||||
</view>
|
||||
<view class="item f-26 c222">
|
||||
规格
|
||||
{{item.sku}}
|
||||
</view>
|
||||
<view class="flex align-center justify-between">
|
||||
<view class="f-38 red fw-b">
|
||||
¥198.00
|
||||
¥{{item.price}}
|
||||
</view>
|
||||
<view class="price-num" v-if="value">
|
||||
<u-number-box v-model="value" @change="valChange">
|
||||
<view class="price-num" v-if="item.value > 0">
|
||||
<u-number-box v-model="item.value" @change="valChange" :name="item.id">
|
||||
<view slot="minus" class="minus bg-white">
|
||||
<u-icon name="minus-circle" size="20" color="#13AFA8" ></u-icon>
|
||||
</view>
|
||||
<text slot="input" class="input">{{value}}</text>
|
||||
<text slot="input" class="input">{{item.value}}</text>
|
||||
<view slot="plus" class="plus bg-white">
|
||||
<u-icon name="plus-circle-fill" color="#13AFA8" size="20"></u-icon>
|
||||
</view>
|
||||
@@ -42,9 +42,9 @@
|
||||
<view class="bot-box fixed-bottom bg-white">
|
||||
<view class="flex align-center justify-between">
|
||||
<view class="f-28">
|
||||
共2件
|
||||
共{{productNum}}件
|
||||
</view>
|
||||
<u-button class="btn" color="#13AFA8" shape="circel">提交</u-button>
|
||||
<u-button @click="submit" class="btn" color="#13AFA8" shape="circel">提交</u-button>
|
||||
</view>
|
||||
<view style="height: 64rpx;" />
|
||||
</view>
|
||||
@@ -57,6 +57,7 @@
|
||||
data() {
|
||||
return {
|
||||
current: 0,
|
||||
productNum: 0,
|
||||
materialList: [],
|
||||
tabsList: [{
|
||||
name: '自供'
|
||||
@@ -75,7 +76,12 @@
|
||||
methods: {
|
||||
queryList(pageNo, pageSize) {
|
||||
accessoryList({page: pageNo, limit: pageSize, type: this.current + 1}).then(res => {
|
||||
this.$refs.paging.complete(res.data.list)
|
||||
console.log(res.data.list);
|
||||
let arr = res.data.list
|
||||
arr.forEach(item => {
|
||||
item.value = 0
|
||||
})
|
||||
this.$refs.paging.complete(arr)
|
||||
}).catch(err => {
|
||||
this.$refs.paging.complete(false)
|
||||
})
|
||||
@@ -85,12 +91,30 @@
|
||||
this.$refs.paging.reload()
|
||||
},
|
||||
add(item) {
|
||||
materialList.push({
|
||||
accessoryId:item.id
|
||||
item.value ++
|
||||
this.productNum ++
|
||||
this.materialList.push({
|
||||
accessoryId: item.id,
|
||||
name: item.name,
|
||||
num: item.value,
|
||||
price: item.price
|
||||
})
|
||||
},
|
||||
valChange() {
|
||||
|
||||
valChange(n) {
|
||||
console.log(n);
|
||||
let num = 0
|
||||
this.materialList.forEach(item => {
|
||||
if(item.accessoryId == n.name) {
|
||||
item.num = n.value
|
||||
}
|
||||
num += item.num
|
||||
})
|
||||
this.productNum = num
|
||||
},
|
||||
submit() {
|
||||
console.log(this.materialList);
|
||||
this.$store.dispatch('PushAccessoryList', this.materialList)
|
||||
this.$tab.navigateBack()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -137,6 +161,7 @@
|
||||
.bot-box {
|
||||
padding: 18rpx 24rpx 0 24rpx;
|
||||
width: 750rpx;
|
||||
z-index: 1000;
|
||||
.btn {
|
||||
margin: 0;
|
||||
width: 480rpx;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="navbar">
|
||||
<view class="navbar fixed-top">
|
||||
<view :style="`height: ${$u.sys().statusBarHeight}px;`" />
|
||||
<view class="navbar-content rel">
|
||||
<view class="back-icon abs flex-center" @click="$tab.navigateBack">
|
||||
@@ -19,6 +19,8 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view :style="`height: ${$u.sys().statusBarHeight}px;`" />
|
||||
<view style="height: 88rpx" />
|
||||
<view class="">
|
||||
<u-form :model="form" ref="uForm" :rules="rules">
|
||||
<view class="form-box bg-white">
|
||||
@@ -117,16 +119,50 @@
|
||||
<image class="plus-icon" src="@/static/images/icon/plus_circle_black.png" mode=""></image>
|
||||
添加维修项目
|
||||
</view>
|
||||
<view class="form-box">
|
||||
<u-form-item>
|
||||
<view class="form-item">
|
||||
<text>维修项目1</text>
|
||||
<text>
|
||||
B保
|
||||
<image class="edit-icon" src="@/static/images/icon/edit.png" mode=""></image>
|
||||
</text>
|
||||
<view class="">
|
||||
<view class="detail-list">
|
||||
<view class="detail-item flex-column justify-between c111" v-for="(item,index) in projectList" :key="index">
|
||||
<view class="title flex align-center justify-between">
|
||||
<text class="title-left f-32">维修项目 {{ index + 1 }}</text>
|
||||
<view class="title-right flex align-center f-28">
|
||||
{{ item.name }}
|
||||
<image class="edit-icon" src="@/static/images/icon/edit.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="a-content">
|
||||
<view class="a-content-title c666 f-28">
|
||||
材料明细
|
||||
</view>
|
||||
<view v-if="item.isPackage == 1" class="" v-for="(t, i) in item.packageItemRequestList">
|
||||
<view class="text-item flex align-center justify-between c111" v-for="(a, b) in t.accessoryList" :key="b">
|
||||
<text>{{a.name}}*{{a.num}}</text>
|
||||
<text>¥{{a.price}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="item.isPackage == 0 && item.type == 1" class="text-item flex align-center justify-between c111">
|
||||
<text>-</text>
|
||||
<text>¥{{item.price}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="a-content">
|
||||
<view class="a-content-title c666 f-28">
|
||||
工时明细
|
||||
</view>
|
||||
<view v-if="item.isPackage == 1" class="text-item flex align-center justify-between" v-for="(t, i) in item.packageItemRequestList" :key="i">
|
||||
<text>{{t.itemName}}</text>
|
||||
<text>¥{{t.workingPrice}}</text>
|
||||
</view>
|
||||
<view v-if="item.isPackage == 0 && item.type == 1" class="text-item flex align-center justify-between">
|
||||
<text>-</text>
|
||||
<text>¥{{item.workingPrice}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="all-box flex align-center justify-between">
|
||||
<text>小计</text>
|
||||
<text>¥{{item.subtotal}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</u-form-item>
|
||||
</view>
|
||||
<view class="form-box bg-white">
|
||||
<u-form-item>
|
||||
@@ -159,6 +195,7 @@
|
||||
<script>
|
||||
import { createAndBill } from '@/api/repair/repair'
|
||||
import { typelist } from '@/data/typeData'
|
||||
import { mapGetters } from 'vuex'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -209,7 +246,14 @@
|
||||
}
|
||||
};
|
||||
},
|
||||
computed: {...mapGetters(['projectList'])},
|
||||
onShow() {
|
||||
console.log(this.projectList);
|
||||
},
|
||||
methods: {
|
||||
checkItem(e) {
|
||||
console.log(e);
|
||||
},
|
||||
// 上传
|
||||
upload(name, key, type) {
|
||||
if (name === 'image') {
|
||||
@@ -352,10 +396,7 @@
|
||||
height: 40rpx;
|
||||
}
|
||||
}
|
||||
.edit-icon {
|
||||
width: 32rpx;
|
||||
height: 32rpx;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
.image-box {
|
||||
@@ -371,5 +412,48 @@
|
||||
height: 40rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.detail-list {
|
||||
.detail-item {
|
||||
margin: 22rpx auto;
|
||||
padding: 32rpx;
|
||||
width: 702rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 8rpx;
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 400;
|
||||
.title {
|
||||
padding-bottom: 24rpx;
|
||||
border-bottom: 1rpx solid #eee;
|
||||
.title-left {
|
||||
line-height: 44rpx;
|
||||
}
|
||||
.title-right {
|
||||
height: 40rpx;
|
||||
}
|
||||
}
|
||||
.a-content {
|
||||
border-bottom: 1rpx solid #eee;
|
||||
.a-content-title {
|
||||
line-height: 40rpx;
|
||||
margin-top: 16rpx;
|
||||
margin-bottom: 16rpx;
|
||||
}
|
||||
.text-item {
|
||||
margin-bottom: 16rpx;
|
||||
}
|
||||
}
|
||||
.all-box {
|
||||
margin-top: 16rpx;
|
||||
}
|
||||
image {
|
||||
width: 32rpx;
|
||||
height: 32rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
.edit-icon {
|
||||
width: 32rpx;
|
||||
height: 32rpx;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -13,11 +13,11 @@
|
||||
<u-input border="none" v-model="data.company" placeholder="浙江有限公司" input-align="right"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item border-bottom label="维修类型" @click="openType" class="forms-item" prop="repairTypeName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.repairTypeName" placeholder="请选择维修类型" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.repairType" class="checked">{{showDp(form.repairType, 'typelist')}}</text>
|
||||
<text v-else class="nochecked">请选择维修类型</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item border-bottom label="司机名称" class="forms-item" prop="name">
|
||||
<u-input border="none" v-model="form.name" placeholder="请输入送修人姓名" input-align="right"></u-input>
|
||||
@@ -55,6 +55,7 @@
|
||||
<script>
|
||||
import { getCarInfo } from '@/api/repair/repair';
|
||||
import cellList from '@/components/cell-list/cell-list';
|
||||
import { typelist } from '@/data/typeData'
|
||||
import { mapGetters } from 'vuex'
|
||||
export default {
|
||||
components: {cellList},
|
||||
@@ -102,29 +103,20 @@
|
||||
},
|
||||
},
|
||||
data: {},
|
||||
typelist: [{
|
||||
text: '常规保养',
|
||||
type: 1,
|
||||
from: 'orderType'
|
||||
},{
|
||||
text: '故障维修',
|
||||
type: 2,
|
||||
from: 'orderType'
|
||||
},{
|
||||
text: '事故维修',
|
||||
type: 3,
|
||||
from: 'accientOrderType'
|
||||
},{
|
||||
text: '退车',
|
||||
type: 4,
|
||||
from: 'backOrderType'
|
||||
}]
|
||||
typelist
|
||||
};
|
||||
},
|
||||
onLoad() {
|
||||
console.log(this.btnState);
|
||||
},
|
||||
methods: {
|
||||
showDp(id, str){
|
||||
if(this[str].filter(i => i.type == id).length) {
|
||||
return this[str].filter(i => i.type == id)[0].text
|
||||
} else {
|
||||
return '该dp公司已不存在'
|
||||
}
|
||||
},
|
||||
// 选中维修类型
|
||||
checkItem(item) {
|
||||
console.log(item);
|
||||
@@ -135,7 +127,7 @@
|
||||
},
|
||||
// 创建工单
|
||||
toNewCreate() {
|
||||
this.$tab.navigateTo('/pages/repair/repair/reservation/createNewOrder')
|
||||
this.$tab.navigateTo('/pages/repair/repair/reservation/createNewOrder')
|
||||
this.$refs.uForm.validate().then(res => {
|
||||
uni.$u.toast('校验通过')
|
||||
this.$store.dispatch('SetForm', {key: 'name', value: this.form.name})
|
||||
@@ -239,4 +231,19 @@ page {
|
||||
height: 96rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.select-box {
|
||||
width: 100%;
|
||||
font-size: 32rpx;
|
||||
.checked {
|
||||
}
|
||||
.nochecked {
|
||||
color: #bbbbbb
|
||||
}
|
||||
image {
|
||||
margin-left: 8rpx;
|
||||
width: 8rpx;
|
||||
height: 16rpx;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -81,94 +81,108 @@
|
||||
<u-input border="none" input-align="right" v-model="projectForm.name" placeholder="请输入维修项目"></u-input>
|
||||
</view>
|
||||
</view>
|
||||
<view class="select-item flex align-center justify-between" v-show="projectForm.type == 2" @click="$tab.navigateTo('./auxiliary/material')">
|
||||
<view class="select-item-t ">
|
||||
添加材料
|
||||
<view class="" v-show="projectForm.type == 1">
|
||||
<view class="select-item flex align-center justify-between">
|
||||
<view class="select-item-t">
|
||||
材料价格
|
||||
</view>
|
||||
<view class="select-item-b flex align-center justify-end">
|
||||
<u-input border="none" input-align="right" v-model="projectForm.price" placeholder="请输入价格"></u-input>
|
||||
</view>
|
||||
</view>
|
||||
<view class="select-item-b flex align-center justify-end">
|
||||
请选择维修材料
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
<view class="select-item flex align-center justify-between">
|
||||
<view class="select-item-t">
|
||||
工时价格
|
||||
</view>
|
||||
<view class="select-item-b flex align-center justify-end">
|
||||
<u-input border="none" v-model="projectForm.workingPrice" input-align="right" placeholder="请输入价格"></u-input>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="select-item flex align-center justify-between" v-show="projectForm.type == 2">
|
||||
<view class="select-item-t">
|
||||
材料数量
|
||||
<view class="" v-show="projectForm.type == 2">
|
||||
<view class="select-item flex align-center justify-between" @click="$tab.navigateTo('./auxiliary/material')">
|
||||
<view class="select-item-t ">
|
||||
添加材料
|
||||
</view>
|
||||
<view class="select-item-b flex align-center justify-end">
|
||||
请选择维修材料
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="select-item-b flex align-center justify-end">
|
||||
<u-input border="none" input-align="right" placeholder="请输入数量"></u-input>
|
||||
<block class="" v-for="(item,index) in accessoryList" :key="index">
|
||||
<view class="select-item flex align-center justify-between" v-show="projectForm.type == 2">
|
||||
<view class="select-item-t">
|
||||
材料单价
|
||||
</view>
|
||||
<view class="select-item-b flex align-center justify-end">
|
||||
¥{{item.price}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="select-item flex align-center justify-between">
|
||||
<view class="select-item-t">
|
||||
材料数量
|
||||
</view>
|
||||
<view class="select-item-b flex align-center justify-end">
|
||||
{{item.num}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="select-item flex align-center justify-between" v-show="projectForm.type == 2">
|
||||
<view class="select-item-t">
|
||||
材料价格
|
||||
</view>
|
||||
<view class="select-item-b flex align-center justify-end">
|
||||
¥{{item.price * item.num}}
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="select-item flex align-center justify-between" v-show="projectForm.type == 2">
|
||||
<view class="select-item-t ">
|
||||
添加工时
|
||||
</view>
|
||||
<view class="select-item-b flex align-center justify-end">
|
||||
请选择维修工时
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="select-item flex align-center justify-between">
|
||||
<view class="select-item-t">
|
||||
材料价格
|
||||
<view class="select-item flex align-center justify-between" v-show="projectForm.type == 2">
|
||||
<view class="select-item-t">
|
||||
工时单价
|
||||
</view>
|
||||
<view class="select-item-b flex align-center justify-end">
|
||||
<u-input border="none" input-align="right" v-model="projectForm.workingPrice" placeholder="请输入单价"></u-input>
|
||||
</view>
|
||||
</view>
|
||||
<view class="select-item-b flex align-center justify-end">
|
||||
<u-input border="none" input-align="right" placeholder="请输入价格"></u-input>
|
||||
<view class="select-item flex align-center justify-between" v-show="projectForm.type == 2">
|
||||
<view class="select-item-t">
|
||||
工时数量
|
||||
</view>
|
||||
<view class="select-item-b flex align-center justify-end">
|
||||
<u-input border="none" input-align="right" placeholder="请输入数量"></u-input>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="select-item flex align-center justify-between" v-show="projectForm.type == 2">
|
||||
<view class="select-item-t">
|
||||
材料价格
|
||||
</view>
|
||||
<view class="select-item-b flex align-center justify-end">
|
||||
<u-input border="none" input-align="right" placeholder="请输入价格"></u-input>
|
||||
</view>
|
||||
</view>
|
||||
<view class="select-item flex align-center justify-between" v-show="projectForm.type == 2">
|
||||
<view class="select-item-t ">
|
||||
添加工时
|
||||
</view>
|
||||
<view class="select-item-b flex align-center justify-end">
|
||||
请选择维修工时
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="select-item flex align-center justify-between" v-show="projectForm.type == 2">
|
||||
<view class="select-item-t">
|
||||
工时单价
|
||||
</view>
|
||||
<view class="select-item-b flex align-center justify-end">
|
||||
<u-input border="none" input-align="right" v-model="projectForm.workingPrice" placeholder="请输入单价"></u-input>
|
||||
</view>
|
||||
</view>
|
||||
<view class="select-item flex align-center justify-between" v-show="projectForm.type == 2">
|
||||
<view class="select-item-t">
|
||||
工时数量
|
||||
</view>
|
||||
<view class="select-item-b flex align-center justify-end">
|
||||
<u-input border="none" input-align="right" placeholder="请输入数量"></u-input>
|
||||
</view>
|
||||
</view>
|
||||
<view class="select-item flex align-center justify-between">
|
||||
<view class="select-item-t">
|
||||
工时价格
|
||||
</view>
|
||||
<view class="select-item-b flex align-center justify-end">
|
||||
<u-input border="none" input-align="right" placeholder="请输入价格"></u-input>
|
||||
<view class="select-item flex align-center justify-between">
|
||||
<view class="select-item-t">
|
||||
工时价格
|
||||
</view>
|
||||
<view class="select-item-b flex align-center justify-end">
|
||||
<u-input border="none" input-align="right" placeholder="请输入价格"></u-input>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<u-button class="btn" color="#13AFA8" shape="circle">{{projectForm.isPackage == 1 && projectForm.type == 2 ? '确认' : '提交'}}</u-button>
|
||||
<u-button class="btn" color="#13AFA8" shape="circle" @click="submitForm">{{projectForm.isPackage == 1 && projectForm.type == 2 ? '确认' : '提交'}}</u-button>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex'
|
||||
export default {
|
||||
computed: {...mapGetters(['saveForm', 'packageForm'])},
|
||||
computed: {...mapGetters(['saveForm', 'packageForm', 'accessoryList'])},
|
||||
data() {
|
||||
return {
|
||||
projectForm: {
|
||||
accessoryList: [{ // 工单项目材料表请求对象
|
||||
accessoryId: 0, // 材料id
|
||||
id: 0, // 如果是快速开单,则id未套餐对应的字配件类目主键id必穿
|
||||
name: '', // 材料名称
|
||||
num: 0, // 材料数量
|
||||
price: 0, // 材料价格
|
||||
workingHour: '', // 工时(小时)
|
||||
workingPrice: '', // 工时价格
|
||||
}],
|
||||
packageItemRequestList: [],
|
||||
isPackage: 1, // 0=自定义,1=套餐快速
|
||||
name: '', // 维修项目名称
|
||||
packageId: '', // 套餐id
|
||||
@@ -193,7 +207,44 @@
|
||||
};
|
||||
},
|
||||
onShow(){
|
||||
|
||||
console.log(this.accessoryList);
|
||||
},
|
||||
methods: {
|
||||
submitForm() {
|
||||
if(this.projectForm.isPackage == 1) {
|
||||
console.log('快速开单');
|
||||
console.log('提交packageForm', this.packageForm);
|
||||
this.projectForm.packageId = this.packageForm.id
|
||||
this.projectForm.name = this.packageForm.name
|
||||
let price = 0
|
||||
this.packageForm.itemResponsesList.forEach(item => {
|
||||
price += (item.workingPrice * 1)
|
||||
item.accessoryList.forEach(i => {
|
||||
price += (i.price * i.num)
|
||||
})
|
||||
this.projectForm.packageItemRequestList.push({
|
||||
itemName: item.itemName,
|
||||
workingHour: item.workingHour,
|
||||
workingPrice: item.workingPrice,
|
||||
accessoryList: item.accessoryList
|
||||
})
|
||||
})
|
||||
this.projectForm.subtotal = price
|
||||
console.log('提交projectForm', this.projectForm);
|
||||
this.$store.dispatch('PushPackage', this.projectForm)
|
||||
this.$tab.navigateBack()
|
||||
} else {
|
||||
console.log('自定义开单');
|
||||
if(this.projectForm.type == 1) {
|
||||
console.log('金额计价', this.projectForm);
|
||||
this.projectForm.subtotal = (this.projectForm.workingPrice * 1) + (this.projectForm.price * 1)
|
||||
this.$store.dispatch('PushPackage', this.projectForm)
|
||||
this.$tab.navigateBack()
|
||||
} else {
|
||||
console.log('工时计价', this.projectForm);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -32,8 +32,12 @@
|
||||
<u-form-item border-bottom label="所属公司" class="forms-item" prop="companyName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.companyName" placeholder="所属公司" input-align="right"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item border-bottom label="维修类型" class="forms-item">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="repairTypeName" placeholder="请选择维修类型" input-align="right" />
|
||||
<u-form-item border-bottom label="维修类型" class="forms-item" >
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="repairTypeName" class="checked">{{repairTypeName}}</text>
|
||||
<text v-else class="nochecked">请选择维修类型</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item border-bottom label="司机名称" class="forms-item" prop="name">
|
||||
<u-input border="none" v-model="form.name" placeholder="请输入送修人姓名" input-align="right"></u-input>
|
||||
@@ -58,7 +62,7 @@
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.modelName" placeholder="请输入车辆型号" input-align="right"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item border-bottom label="公里数" class="forms-item" prop="kilometer">
|
||||
<u-input border="none" type="number" maxlength="11" v-model="form.kilometer" placeholder="请输入联系方式" input-align="right"></u-input>
|
||||
<u-input border="none" type="number" maxlength="11" v-model="form.kilometer" placeholder="请输入公里数" input-align="right"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item border-bottom label="续航里程" class="forms-item" prop="enduranceKilometer">
|
||||
<u-input border="none" type="number" maxlength="11" v-model="form.enduranceKilometer" placeholder="请输入续航里程" input-align="right"></u-input>
|
||||
@@ -66,27 +70,27 @@
|
||||
<u-form-item border-bottom label="退车日期" @click="openDate('returnDate')" class="forms-item" prop="returnDate">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.returnDate" class="checked">{{form.returnDate}}</text>
|
||||
<text v-else class="nochecked">请选择事故日期</text>
|
||||
<text v-else class="nochecked">请选择退车日期</text>
|
||||
<image style="" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item border-bottom label="DP公司" @click="openType('dpCompanylist')" class="forms-item" prop="dpCompanyId">
|
||||
<u-form-item border-bottom label="DP公司" @click="openType('dpCompanylist')" class="forms-item">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.dpCompanyId" class="checked">{{showDp(form.dpCompanyId, 'dpCompanylist')}}</text>
|
||||
<text v-else class="nochecked">请选择DP公司ID</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item border-bottom label="退车类型" @click="openType('returnList')" class="forms-item" prop="returnCategory">
|
||||
<u-form-item border-bottom label="退车类型" @click="openType('returnList')" class="forms-item">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.returnCategory" class="checked">{{showDp(form.returnCategory, 'returnList')}}</text>
|
||||
<text v-else class="nochecked">请选择退车类型</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item border-bottom label="双证" @click="openType('damageList')" class="forms-item" prop="damageImage">
|
||||
<u-form-item border-bottom label="双证" @click="openType('damageList')" class="forms-item" prop="doubleCertificates">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.damageImage" class="checked">{{showDp(form.damageImage, 'damageList')}}</text>
|
||||
<text v-if="form.doubleCertificates" class="checked">{{showDp(form.doubleCertificates, 'damageList')}}</text>
|
||||
<text v-else class="nochecked">请选择双证状态</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
@@ -164,227 +168,227 @@
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.rightFrontTireStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="右后轮胎" @click="openType('appearanceList')" class="forms-item" prop="dutyCategoryName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.dutyCategoryName" placeholder="请选择损失情况" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<u-form-item label="右后轮胎" @click="openType('appearanceList')" class="forms-item" prop="rightBehindTire">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.rightBehindTire" class="checked">{{showDp(form.rightBehindTire, 'appearanceList')}}</text>
|
||||
<text v-else class="nochecked">请选择损失情况</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.rightBehindTireStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="前保险杠" @click="openType('appearanceList')" class="forms-item" prop="dutyCategoryName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.dutyCategoryName" placeholder="请选择损失情况" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<u-form-item label="前保险杠" @click="openType('appearanceList')" class="forms-item" prop="frontBumper">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.frontBumper" class="checked">{{showDp(form.frontBumper, 'appearanceList')}}</text>
|
||||
<text v-else class="nochecked">请选择损失情况</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.frontBumperStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="机盖" @click="openType('appearanceList')" class="forms-item" prop="dutyCategoryName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.dutyCategoryName" placeholder="请选择损失情况" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<u-form-item label="机盖" @click="openType('appearanceList')" class="forms-item" prop="frontHood">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.frontHood" class="checked">{{showDp(form.frontHood, 'appearanceList')}}</text>
|
||||
<text v-else class="nochecked">请选择损失情况</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.frontHoodStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="左前叶" @click="openType('appearanceList')" class="forms-item" prop="dutyCategoryName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.dutyCategoryName" placeholder="请选择损失情况" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<u-form-item label="左前叶" @click="openType('appearanceList')" class="forms-item" prop="leftFrontLeaf">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.leftFrontLeaf" class="checked">{{showDp(form.leftFrontLeaf, 'appearanceList')}}</text>
|
||||
<text v-else class="nochecked">请选择损失情况</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.leftFrontLeafStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="左前门" @click="openType('appearanceList')" class="forms-item" prop="dutyCategoryName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.dutyCategoryName" placeholder="请选择损失情况" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<u-form-item label="左前门" @click="openType('appearanceList')" class="forms-item" prop="leftFrontDoor">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.leftFrontDoor" class="checked">{{showDp(form.leftFrontDoor, 'appearanceList')}}</text>
|
||||
<text v-else class="nochecked">请选择损失情况</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.leftFrontDoorStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="左后门" @click="openType('appearanceList')" class="forms-item" prop="dutyCategoryName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.dutyCategoryName" placeholder="请选择损失情况" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<u-form-item label="左后门" @click="openType('appearanceList')" class="forms-item" prop="leftBehindDoor">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.leftBehindDoor" class="checked">{{showDp(form.leftBehindDoor, 'appearanceList')}}</text>
|
||||
<text v-else class="nochecked">请选择损失情况</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.leftBehindDoorStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="左后叶" @click="openType('appearanceList')" class="forms-item" prop="dutyCategoryName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.dutyCategoryName" placeholder="请选择损失情况" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<u-form-item label="左后叶" @click="openType('appearanceList')" class="forms-item" prop="leftBehindLeaf">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.leftBehindLeaf" class="checked">{{showDp(form.leftBehindLeaf, 'appearanceList')}}</text>
|
||||
<text v-else class="nochecked">请选择损失情况</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.leftBehindLeafStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="后保险杠" @click="openType('appearanceList')" class="forms-item" prop="dutyCategoryName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.dutyCategoryName" placeholder="请选择损失情况" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<u-form-item label="后保险杠" @click="openType('appearanceList')" class="forms-item" prop="hehindBumper">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.hehindBumper" class="checked">{{showDp(form.hehindBumper, 'appearanceList')}}</text>
|
||||
<text v-else class="nochecked">请选择损失情况</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.hehindBumperStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="后盖" @click="openType('appearanceList')" class="forms-item" prop="dutyCategoryName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.dutyCategoryName" placeholder="请选择损失情况" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<u-form-item label="后盖" @click="openType('appearanceList')" class="forms-item" prop="behindHood">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.behindHood" class="checked">{{showDp(form.behindHood, 'appearanceList')}}</text>
|
||||
<text v-else class="nochecked">请选择损失情况</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.behindHoodStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="右后叶" @click="openType('appearanceList')" class="forms-item" prop="dutyCategoryName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.dutyCategoryName" placeholder="请选择损失情况" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<u-form-item label="右后叶" @click="openType('appearanceList')" class="forms-item" prop="rightBehindLeaf">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.rightBehindLeaf" class="checked">{{showDp(form.rightBehindLeaf, 'appearanceList')}}</text>
|
||||
<text v-else class="nochecked">请选择损失情况</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.rightBehindLeafStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="右后门" @click="openType('appearanceList')" class="forms-item" prop="dutyCategoryName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.dutyCategoryName" placeholder="请选择损失情况" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<u-form-item label="右后门" @click="openType('appearanceList')" class="forms-item" prop="rightBehindDoor">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.rightBehindDoor" class="checked">{{showDp(form.rightBehindDoor, 'appearanceList')}}</text>
|
||||
<text v-else class="nochecked">请选择损失情况</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.rightBehindDoorStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="右前门" @click="openType('appearanceList')" class="forms-item" prop="dutyCategoryName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.dutyCategoryName" placeholder="请选择损失情况" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<u-form-item label="右前门" @click="openType('appearanceList')" class="forms-item" prop="rightFrontDoor">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.rightFrontDoor" class="checked">{{showDp(form.rightFrontDoor, 'appearanceList')}}</text>
|
||||
<text v-else class="nochecked">请选择损失情况</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.rightFrontDoorStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="右前叶" @click="openType('appearanceList')" class="forms-item" prop="dutyCategoryName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.dutyCategoryName" placeholder="请选择损失情况" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<u-form-item label="右前叶" @click="openType('appearanceList')" class="forms-item" prop="rightFrontLeaf">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.rightFrontLeaf" class="checked">{{showDp(form.rightFrontLeaf, 'appearanceList')}}</text>
|
||||
<text v-else class="nochecked">请选择损失情况</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.rightFrontLeafStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="左边梁" @click="openType('appearanceList')" class="forms-item" prop="dutyCategoryName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.dutyCategoryName" placeholder="请选择损失情况" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<u-form-item label="左边梁" @click="openType('appearanceList')" class="forms-item" prop="leftBeam">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.leftBeam" class="checked">{{showDp(form.leftBeam, 'appearanceList')}}</text>
|
||||
<text v-else class="nochecked">请选择损失情况</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.leftBeamStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="右边梁" @click="openType('appearanceList')" class="forms-item" prop="dutyCategoryName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.dutyCategoryName" placeholder="请选择损失情况" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<u-form-item label="右边梁" @click="openType('appearanceList')" class="forms-item" prop="rightBeam">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.rightBeam" class="checked">{{showDp(form.rightBeam, 'appearanceList')}}</text>
|
||||
<text v-else class="nochecked">请选择损失情况</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.rightBeamStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="左后视镜" @click="openType('appearanceList')" class="forms-item" prop="dutyCategoryName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.dutyCategoryName" placeholder="请选择损失情况" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<u-form-item label="左后视镜" @click="openType('appearanceList')" class="forms-item" prop="leftRearview">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.leftRearview" class="checked">{{showDp(form.leftRearview, 'appearanceList')}}</text>
|
||||
<text v-else class="nochecked">请选择损失情况</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.leftRearviewStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="右后视镜" @click="openType('appearanceList')" class="forms-item" prop="dutyCategoryName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.dutyCategoryName" placeholder="请选择损失情况" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<u-form-item label="右后视镜" @click="openType('appearanceList')" class="forms-item" prop="rightRearview">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.rightRearview" class="checked">{{showDp(form.rightRearview, 'appearanceList')}}</text>
|
||||
<text v-else class="nochecked">请选择损失情况</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.rightRearviewStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="左A柱" @click="openType('appearanceList')" class="forms-item" prop="dutyCategoryName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.dutyCategoryName" placeholder="请选择损失情况" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<u-form-item label="左A柱" @click="openType('appearanceList')" class="forms-item" prop="leftApillar">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.leftApillar" class="checked">{{showDp(form.leftApillar, 'appearanceList')}}</text>
|
||||
<text v-else class="nochecked">请选择损失情况</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.leftApillarStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="右A柱" @click="openType('appearanceList')" class="forms-item" prop="dutyCategoryName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.dutyCategoryName" placeholder="请选择损失情况" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.rightApillar" class="checked">{{showDp(form.rightApillar, 'appearanceList')}}</text>
|
||||
<text v-else class="nochecked">请选择损失情况</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.rightApillarStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="车顶" @click="openType('appearanceList')" class="forms-item" prop="dutyCategoryName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.dutyCategoryName" placeholder="请选择损失情况" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<u-form-item label="车顶" @click="openType('appearanceList')" class="forms-item" prop="carRoof">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.carRoof" class="checked">{{showDp(form.carRoof, 'appearanceList')}}</text>
|
||||
<text v-else class="nochecked">请选择损失情况</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.carRoofStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="挡风玻璃" @click="openType('appearanceList')" class="forms-item" prop="dutyCategoryName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.dutyCategoryName" placeholder="请选择损失情况" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<u-form-item label="挡风玻璃" @click="openType('appearanceList')" class="forms-item" prop="glass">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.glass" class="checked">{{showDp(form.glass, 'appearanceList')}}</text>
|
||||
<text v-else class="nochecked">请选择损失情况</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.glassStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="电池底壳" @click="openType('appearanceList')" class="forms-item" prop="dutyCategoryName">
|
||||
<u-input disabled disabledColor="#fff" border="none" v-model="form.dutyCategoryName" placeholder="请选择损失情况" input-align="right">
|
||||
<template slot="suffix">
|
||||
<image style="width: 8rpx;height: 16rpx;" src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</template>
|
||||
</u-input>
|
||||
<u-form-item label="电池底壳" @click="openType('appearanceList')" class="forms-item" prop="batteryBottomCover">
|
||||
<view class="select-box flex align-center justify-end">
|
||||
<text v-if="form.batteryBottomCover" class="checked">{{showDp(form.batteryBottomCover, 'appearanceList')}}</text>
|
||||
<text v-else class="nochecked">请选择损失情况</text>
|
||||
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item class="forms-item re-item" border-bottom>
|
||||
<u-input placeholder="请输入处理方案" border="none"></u-input>
|
||||
<u-input v-model="form.batteryBottomCoverStr" placeholder="请输入处理方案" border="none"></u-input>
|
||||
</u-form-item>
|
||||
<view style="height: 48rpx;" />
|
||||
<u-form-item label="备注" class="forms-item re-item" border-bottom>
|
||||
@@ -393,7 +397,7 @@
|
||||
<u-form-item>
|
||||
<view class="form-item">
|
||||
<view class="f-32 fw-5 c444">
|
||||
上传事故照片
|
||||
上传车损照片
|
||||
<view class="image-box flex-wrap align-center">
|
||||
<view class="image-box-b rel" :style="index%3 == 0 && 'marginLeft: 0' " v-for="(item,index) in accidentImageList" :key="index">
|
||||
<image class="upload-bg" :src="item" mode=""></image>
|
||||
@@ -414,8 +418,8 @@
|
||||
|
||||
<script>
|
||||
import { parseTime } from '@/utils/index'
|
||||
import { returnList, damageList, appearanceList } from '@/data/typeData'
|
||||
import { getCarInfo, createAccident } from '@/api/repair/repair';
|
||||
import { returnList, damageList, appearanceList, typelist } from '@/data/typeData'
|
||||
import { getCarInfo, createAndPicUp, noRepair } from '@/api/repair/repair';
|
||||
import { dpCompanylist } from '@/api/system/config'
|
||||
import cellList from '@/components/cell-list/cell-list';
|
||||
import { mapGetters } from 'vuex'
|
||||
@@ -435,11 +439,10 @@
|
||||
vinId: '', // 车架号
|
||||
brandName: '', // 车辆品牌
|
||||
modelName: '', // 车辆型号
|
||||
|
||||
carNo: '', // 车牌
|
||||
kilometer: '', // 公里数
|
||||
enduranceKilometer: '', // 续航里数
|
||||
repairType: 4, // 维修类型 1=常规保养2=故障维修3=事故维修4=退车
|
||||
repairType: '4', // 维修类型 1=常规保养2=故障维修3=事故维修4=退车
|
||||
returnCategory: '', // 退车类型:1=到期退车,2=违约退车,3=回收车
|
||||
name: '', // 司机名称
|
||||
phone: '', // 司机联系方式
|
||||
@@ -594,7 +597,8 @@
|
||||
dpCompanylist: [],
|
||||
returnList,
|
||||
damageList,
|
||||
appearanceList
|
||||
appearanceList,
|
||||
typelist
|
||||
};
|
||||
},
|
||||
onLoad() {
|
||||
@@ -628,8 +632,11 @@
|
||||
if(this.form.id) {
|
||||
|
||||
} else {
|
||||
createAccident(this.form).then(res => {
|
||||
console.log('退车维修', this.form);
|
||||
createAndPicUp(this.form).then(res => {
|
||||
console.log(res);
|
||||
this.$u.toast('工单创建成功')
|
||||
this.$tab.navigateBack()
|
||||
}).catch(err => {
|
||||
console.log(err);
|
||||
})
|
||||
@@ -649,18 +656,18 @@
|
||||
},null,res=>{
|
||||
console.log(res);
|
||||
this.accidentImageList.push(res.data)
|
||||
if(this.accidentImageList.length==1) this.form.accidentImage = res.data
|
||||
else this.form.accidentImage = this.accidentImageList.join(',')
|
||||
if(this.accidentImageList.length==1) this.form.damageImage = res.data
|
||||
else this.form.damageImage = this.accidentImageList.join(',')
|
||||
console.log(this.accidentImageList);
|
||||
console.log(this.form.accidentImage);
|
||||
console.log(this.form.damageImage);
|
||||
uni.hideLoading();
|
||||
});
|
||||
},
|
||||
DelPic(index) {
|
||||
this.accidentImageList.splice(index, 1)
|
||||
if ( this.accidentImageList.length == 1 ) this.form.accidentImage = res.data
|
||||
else if ( this.accidentImageList.length ) this.form.accidentImage = this.accidentImageList.join(',')
|
||||
else this.form.accidentImage = ''
|
||||
if ( this.accidentImageList.length == 1 ) this.form.damageImage = res.data
|
||||
else if ( this.accidentImageList.length ) this.form.damageImage = this.accidentImageList.join(',')
|
||||
else this.form.damageImage = ''
|
||||
},
|
||||
// 选中维修类型
|
||||
checkItem(item) {
|
||||
@@ -672,11 +679,14 @@
|
||||
this.form.returnCategory = item.type
|
||||
}
|
||||
if(this.selectType == 'damageList') {
|
||||
this.form.damageImage = item.type
|
||||
this.form.doubleCertificates = item.type
|
||||
}
|
||||
if(this.selectType == 'appearanceList') {
|
||||
this.form[this.keyName] = item.type
|
||||
}
|
||||
if(this.selectType == 'typelist') {
|
||||
this.repairTypeName = item.type
|
||||
}
|
||||
},
|
||||
// 打开工单
|
||||
openType(str, keyName) {
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
// 获取首页信息
|
||||
getIndexInfo() {
|
||||
getRepairIndexInfo().then(res => {
|
||||
console.log('首页信息', res);
|
||||
console.log('首页信息', res.data);
|
||||
this.storeInfo = res.data
|
||||
this.brannerList = res.data.carouselList
|
||||
}).catch(err => {
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
维保接待
|
||||
</view>
|
||||
<view class="btn-item_4" v-if="storeInfo.returnSwitch" @click="$tab.navigateTo(`/pages/repair/repair/list?index=4&modul=backOrderType`)">
|
||||
退车街待
|
||||
退车接待
|
||||
</view>
|
||||
</view>
|
||||
<tabbar-repair current="/pages/repair/tabbar/repair"></tabbar-repair>
|
||||
|
||||
@@ -10,6 +10,8 @@ const getters = {
|
||||
permissions: state => state.user.permissions,
|
||||
btnState: state => state.pageManager.btnState,
|
||||
saveForm: state => state.form.saveForm,
|
||||
packageForm: state => state.form.packageForm
|
||||
packageForm: state => state.form.packageForm,
|
||||
projectList: state => state.form.projectList,
|
||||
accessoryList: state=> state.form.accessoryList
|
||||
}
|
||||
export default getters
|
||||
|
||||
@@ -4,6 +4,8 @@ const form = {
|
||||
state: {
|
||||
saveForm: {}, // 维保开单
|
||||
packageForm: {}, // 项目套餐选中
|
||||
projectList: uni.getStorageSync('form') || [], // 项目套餐选中
|
||||
accessoryList: [], // 选中材料列表
|
||||
},
|
||||
|
||||
mutations: {
|
||||
@@ -12,6 +14,14 @@ const form = {
|
||||
},
|
||||
SET_PACKAGELIST:(state, data) => {
|
||||
state.packageForm = data
|
||||
},
|
||||
PUSH_PACKAGELIST:(state, data) => {
|
||||
state.projectList.push(data)
|
||||
state.packageForm = {}
|
||||
uni.setStorageSync('form', state.projectList)
|
||||
},
|
||||
PUSH_ACCESSORYLIST: (state, data) => {
|
||||
state.accessoryList = [...state.accessoryList, ...data]
|
||||
}
|
||||
},
|
||||
|
||||
@@ -20,7 +30,13 @@ const form = {
|
||||
commit('SET_FORM', data)
|
||||
},
|
||||
SetPackage({ commit }, data) {
|
||||
commit('SET_PACKAGELIST',data)
|
||||
commit('SET_PACKAGELIST', data)
|
||||
},
|
||||
PushPackage({ commit }, data) {
|
||||
commit('PUSH_PACKAGELIST', data)
|
||||
},
|
||||
PushAccessoryList({ commit }, data) {
|
||||
commit('PUSH_ACCESSORYLIST', data)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ const request = config => {
|
||||
header: config.header,
|
||||
dataType: 'json'
|
||||
}).then(response => {
|
||||
// console.log(response);
|
||||
console.log(response);
|
||||
let [error, res] = response
|
||||
if (error) {
|
||||
toast('后端接口连接异常')
|
||||
|
||||
Reference in New Issue
Block a user