This commit is contained in:
xiaoshan
2023-12-22 19:32:25 +08:00
parent b4a8ad5f28
commit bf72cfa315
15 changed files with 594 additions and 293 deletions

View File

@@ -28,4 +28,47 @@ export function dpCompanylist() {
'url': '/api/front/dp/company/listAll',
'method': 'get'
})
}
/**
* 获取轮播图
*/
export function brannerList(params) {
return request({
'url': '/api/front/carousel/list',
'method': 'get',
params
})
}
/**
* 获取套餐列表
*/
export function packageList(params) {
return request({
'url': '/api/front/package/list',
'method': 'get',
params
})
}
/**
* 获取套餐详情
*/
export function packageDetail(id) {
return request({
'url': '/api/front/package/info/' + id,
'method': 'get',
})
}
/**
* 获取配件列表
*/
export function accessoryList(params) {
return request({
'url': '/api/front/accessory/list',
'method': 'get',
params
})
}

View File

@@ -36,4 +36,46 @@ export const settlementList = [{
text: '返修',
type: 5,
from: true
}]
export const returnList = [{
text: '到期退车',
type: 1,
from: true
},{
text: '违约退车',
type: 2,
from: true
},{
text: '回收车',
type: 3,
from: true
}]
export const damageList = [{
text: '双证齐全',
type: 1,
from: true
},{
text: '缺行驶证',
type: 2,
from: true
},{
text: '缺营运证',
type: 3,
from: true
}]
export const appearanceList = [{
text: '完好',
type: 1,
from: true
},{
text: '划痕',
type: 2,
from: true
},{
text: '破损',
type: 3,
from: true
}]

View File

@@ -137,6 +137,12 @@
"navigationBarTitleText" : "",
"enablePullDownRefresh" : false
}
}, {
"path" : "pages/repair/repair/reservation/auxiliary/packageEdit",
"style": {
"navigationBarTitleText" : "添加维修项目",
"enablePullDownRefresh" : false
}
}, {
"path" : "pages/repair/repair/reservation/auxiliary/package",
"style": {

View File

@@ -80,12 +80,12 @@
<text class="forms-title">事故信息</text>
</u-form-item>
<view class="bg-white pb-3 primary-radius">
<u-form-item border-bottom label="责任类型" @click="openType('dutyCategoryList')" 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 border-bottom @click="openType('dutyCategoryList')" label="责任类型" 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>
<u-form-item border-bottom label="保险公司" @click="openType('insuranceList')" class="forms-item" prop="insuranceCompanyName">
<u-input disabled disabledColor="#fff" border="none" v-model="form.insuranceCompanyName" placeholder="请选择保险公司" input-align="right">
@@ -136,7 +136,7 @@
</view> -->
<u-datetime-picker title="事故时间" @confirm="dateConfirm" :show="timeShow" :formatter="formatter" v-model="createTime" mode="datetime"></u-datetime-picker>
<cell-list ref="cellList" :title="title" @confirm="checkItem" :list="selectList"></cell-list>
<u-keyboard ref="uKeyboard" mode="car" @cancel="cancel" @confirm="carConfirm" @backspace="backspace" @change="carNoChange" safeAreaInsetBottom :show="carShow" autoChange></u-keyboard>
<u-keyboard ref="uKeyboard" mode="car" @cancel="cancel" @close="carClose" @confirm="carConfirm" @backspace="backspace" @change="carNoChange" safeAreaInsetBottom :show="carShow" autoChange></u-keyboard>
</view>
</template>
@@ -428,6 +428,9 @@ import { data } from '../../../../uni_modules/uview-ui/libs/mixin/mixin';
return value
},
cancel() {
this.carClose()
},
carClose() {
this.carShow = false
},
// 点击确认

View File

@@ -2,9 +2,9 @@
<template>
<view>
<view class="bg-white">
<u-tabs :list="tabsList" lineWidth="29" lineColor="#111111" :fixed="false" :scrollable="false"></u-tabs>
<u-tabs :current="current" :list="tabsList" lineWidth="29" @click="tabChange" lineColor="#111111" :fixed="false" :scrollable="false"></u-tabs>
</view>
<z-paging use-page-scroll>
<z-paging use-page-scroll ref="paging" v-model="dataList" @query="queryList">
<view class="product-item bg-white flex align-center">
<view class="left">
<image src="@/static/htz-image-upload/play.png" mode=""></image>
@@ -34,7 +34,7 @@
</view>
</u-number-box>
</view>
<u-icon v-else name="plus-circle-fill" color="#13AFA8" size="20"></u-icon>
<u-icon v-else name="plus-circle-fill" color="#13AFA8" size="20" @click="add(item)"></u-icon>
</view>
</view>
</view>
@@ -52,19 +52,44 @@
</template>
<script>
import { accessoryList } from '@/api/system/config'
export default {
data() {
return {
value: 0,
current: 0,
materialList: [],
tabsList: [{
name: '自供'
},{
name: '外采'
}]
}],
dataList: []
};
},
onLoad(option) {
console.log(option);
uni.setNavigationBarTitle({
title: option.name
})
},
methods: {
valChange(e) {
queryList(pageNo, pageSize) {
accessoryList({page: pageNo, limit: pageSize, type: this.current + 1}).then(res => {
this.$refs.paging.complete(res.data.list)
}).catch(err => {
this.$refs.paging.complete(false)
})
},
tabChange(item){
this.current = item.index
this.$refs.paging.reload()
},
add(item) {
materialList.push({
accessoryId:item.id
})
},
valChange() {
}
}

View File

@@ -1,53 +1,77 @@
<!-- 套餐页面 -->
<template>
<view>
<z-paging>
<view class="item-box bg-white" v-for="(item,index) in 10" :key="index" @click="checkItem(item, index)">
<z-paging ref="paging" v-model="dataList" @query="queryList">
<view class="item-box bg-white" v-for="(item,index) in dataList" :key="index" @click="checkItem(item, index)">
<view class="item-box-title flex align-center justify-between">
<text>B级保养</text>
<text>{{item.name}}</text>
<image v-show="index==indexs" src="@/static/images/icon/true.png" mode=""></image>
</view>
<view class=" f-28 c111" v-for="(t,i) in 3" :key="i" :class="[indexs !== index ? 'no_item' : 'item']">
<view class=" f-28 c111" v-for="(t,i) in dataItem.itemResponsesList" :key="i" :class="[indexs !== index ? 'no_item' : 'item']">
<view class="item-title c666">
<text>更换齿轮油</text>
<text>{{t.itemName}}</text>
</view>
<view class="item-title flex align-center justify-between" v-for="(c,d) in t.accessoryList" :key="d">
<text>{{c.name}}*{{c.num}}</text>
<text>{{ c.price }}</text>
</view>
<view class="item-title flex align-center justify-between">
<text>美孚(合成齿轮油)SHC600系列</text>
<text>100.00</text>
</view>
<view class="item-title flex align-center justify-between">
<text>工时0.3</text>
<text>20.00</text>
<text>工时{{ t.workingHour }}</text>
<text>{{ t.workingPrice }}</text>
</view>
</view>
</view>
<view style="height: 200rpx;" />
</z-paging>
<view class="btn-box fixed-bottom">
<u-button class="btn" color="#13AFA8" shape="circle">提交</u-button>
<u-button @click="sumbit" class="btn" color="#13AFA8" shape="circle">提交</u-button>
</view>
</view>
</template>
<script>
import { mapGetters } from 'vuex'
import { packageList, packageDetail } from '@/api/system/config'
export default {
data() {
return {
indexs: 0
indexs: -1,
dataList: [],
dataItem: {},
};
},
computed: {...mapGetters(['packageList'])},
onLoad() {
this.init()
},
methods: {
init() {
},
queryList(pageNo, pageSize) {
packageList({page:pageNo, limit: pageSize}).then(res => {
console.log(res.data);
this.$refs.paging.complete(res.data.list)
}).catch(res => {
this.$refs.paging.complete(false);
})
},
checkItem(item, index) {
this.indexs = index
if(this.indexs == index) {
this.indexs = -1
} else {
packageDetail(item.id).then(res => {
console.log(res);
this.dataItem = res.data
this.indexs = index
})
}
},
open(e) {
// console.log('open', e)
},
close(e) {
// console.log('close', e)
},
change(e) {
// console.log('change', e)
sumbit() {
if(this.indexs != -1) {
this.$store.dispatch('SetPackage', this.dataItem)
}
uni.navigateBack()
}
}
}

View File

@@ -0,0 +1,73 @@
<template>
<view class="f-28 c444">
<view class="box bg-white">
<view class="box-title border-eee border-bottom flex align-center justify-between">
<text>项目名称</text>
<text class="c111">更换齿轮油</text>
</view>
<view class="" v-for="(item,index) in form.accessoryList" :key="index">
<view class="box-title border-eee border-bottom flex align-center justify-between mt-5">
<text>使用材料</text>
<view class="flex align-center" @click="toMaterial(index)">
<text class="c111">{{item.name}}</text>
<image src="@/static/images/icon/arrow-right.png"></image>
</view>
</view>
<view class="box-title border-eee border-bottom flex align-center justify-between mt-5">
<text>材料价格</text>
<text class="c111">{{item.price}}</text>
</view>
</view>
</view>
</view>
</template>
<script>
import { mapGetters } from 'vuex'
export default {
computed: {...mapGetters(['packageForm'])},
data() {
return {
index: 0,
form: {},
materialIndex: -1
}
},
onLoad(option) {
console.log(option, this.packageForm);
this.index = option.index
this.form = this.packageForm.itemResponsesList[this.index]
console.log(this.form);
},
methods: {
toMaterial(index) {
this.materialIndex = index
console.log(this.form);
this.$tab.navigateTo(`./material?name=${this.form.itemName}`)
},
edit(){
this.form.accessoryList[index] = edit
}
}
}
</script>
<style lang="scss">
page {
background: #f5f5f5;
padding: 24rpx;
}
.box {
padding: 32rpx;
border-radius: 8rpx;
line-height: 40rpx;
.box-title {
padding-bottom: 16rpx;
}
image {
width: 10rpx;
height: 20rpx;
margin-left: 8rpx;
}
}
</style>

View File

@@ -152,17 +152,21 @@
</u-form>
</view>
<u-toast ref="uToast"/>
<cell-list ref="cellList" :title="title" @confirm="checkItem" :list="selectList"></cell-list>
</view>
</template>
<script>
import { createAndBill } from '@/api/repair/repair'
import { typelist } from '@/data/typeData'
export default {
data() {
return {
title: '',
videoImage: '',
formData: {},
faultList: [],
selectList: [],
maintenance: { // 维修接待开单接单信息请求对象
dashboardImage: '', // 仪表盘照片
driveLicenseImage: '', // 驾驶证照片
@@ -170,7 +174,7 @@
faultImage: '', // 故障照片
faultVideo: '', // 故障视频
headerImage: '', // 车头照片
kilometer: 0, // 公里数
kilometer: undefined, // 公里数
vinImage: '' // 车架号照片
},
faultValue: '',

View File

@@ -42,7 +42,7 @@
</view>
<view class="select-item-b flex align-center justify-end">
{{ saveForm.repairTypeName }}
<!-- <image src="@/static/images/icon/arrow-right.png" mode=""></image> -->
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
</view>
</view>
<view class="select-item flex align-center justify-between">
@@ -50,23 +50,24 @@
添加项目
</view>
<view class="select-item-b flex align-center justify-end" @click="$tab.navigateTo('./auxiliary/package')">
请选择维修项目
<text v-if="packageForm.name">{{packageForm.name}}</text>
<text v-else>请选择维修项目</text>
<image src="@/static/images/icon/arrow-right.png" mode=""></image>
</view>
</view>
<view class="detail-list">
<view class="detail-item flex-column justify-between">
<view class="detail-item flex-column justify-between" v-for="(item,index) in packageForm.itemResponsesList" :key="index">
<view class="flex align-center justify-between">
<text class="c666">更换空调滤芯</text>
<image src="@/static/images/icon/edit.png" mode=""></image>
<text class="c666">{{item.itemName}}</text>
<image src="@/static/images/icon/edit.png" mode="" @click="$tab.navigateTo(`./auxiliary/packageEdit?index=${index}`)"></image>
</view>
<view class="flex align-center justify-between c111">
<text>空调滤芯*1</text>
<text>100.00</text>
<view class="flex align-center justify-between c111" v-for="(t, i) in item.accessoryList">
<text>{{t.name}}*{{t.num}}</text>
<text>{{t.price}}</text>
</view>
<view class="flex align-center justify-between">
<text>工时0.3</text>
<text>20.00</text>
<text>工时{{item.workingHour}}</text>
<text>{{item.workingPrice}}</text>
</view>
</view>
</view>
@@ -148,14 +149,14 @@
</view>
</view>
</view>
<u-button class="btn" color="#13AFA8" shape="circle">{{!orderType && !pricing ? '确认' : '提交'}}</u-button>
<u-button class="btn" color="#13AFA8" shape="circle">{{projectForm.isPackage == 1 && projectForm.type == 2 ? '确认' : '提交'}}</u-button>
</view>
</template>
<script>
import { mapGetters } from 'vuex'
export default {
computed: {...mapGetters(['saveForm'])},
computed: {...mapGetters(['saveForm', 'packageForm'])},
data() {
return {
projectForm: {
@@ -168,15 +169,31 @@
workingHour: '', // 工时(小时)
workingPrice: '', // 工时价格
}],
isPackage: 0, // 0=自定义,1=套餐快速
isPackage: 1, // 0=自定义,1=套餐快速
name: '', // 维修项目名称
packageId: '', // 套餐id
price: '', // 材料价格
type: 1, // 1=金额计价,2=工时计价
workingHour: '', // 工时(小时)
workingPrice: '', // 工时价格]
}
},
packageItemRequestList: [{ // 快速开单时的套餐列表
itemName: "开出后界",
workingPrice: 70,
workingHour: 63,
accessoryList: [
{
accessoryId: 54,
name: "工近小马周",
num: 84,
price: 25
}
]
}],
};
},
onShow(){
}
}
</script>
@@ -237,7 +254,6 @@
margin-top: 48rpx;
padding: 24rpx;
width: 638rpx;
height: 200rpx;
background: #FFFFFF;
border-radius: 8rpx;
border: 1rpx solid rgba(0,0,0,0.1);

View File

@@ -32,12 +32,8 @@
<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="维修类型" @click="openType('typelist')" 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>
<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>
<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>
@@ -61,53 +57,116 @@
<u-form-item border-bottom label="车辆型号" class="forms-item">
<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="phone">
<u-input border="none" type="number" maxlength="11" v-model="form.phone" placeholder="请输入联系方式" input-align="right"></u-input>
<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-form-item>
<u-form-item border-bottom label="续航里程" class="forms-item" prop="phone">
<u-input border="none" type="number" maxlength="11" v-model="form.phone" placeholder="请输入联系方式" input-align="right"></u-input>
<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>
</u-form-item>
<u-form-item border-bottom label="退车日期" @click="openDate('accidentDate')" class="forms-item" prop="accidentDate">
<u-input disabled disabledColor="#fff" border="none" v-model="form.accidentDate" 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 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>
<image style="" src="@/static/images/icon/arrow-right.png" mode=""></image>
</view>
</u-form-item>
<u-form-item border-bottom label="DP公司" @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>
<u-form-item border-bottom label="DP公司" @click="openType('dpCompanylist')" class="forms-item" prop="dpCompanyId">
<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" 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>
<u-form-item border-bottom label="退车类型" @click="openType('returnList')" class="forms-item" prop="returnCategory">
<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" 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>
<u-form-item border-bottom label="双证" @click="openType('damageList')" class="forms-item" prop="damageImage">
<view class="select-box flex align-center justify-end">
<text v-if="form.damageImage" class="checked">{{showDp(form.damageImage, 'damageList')}}</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('settlementList')" class="forms-item" prop="settlementMethodName">
<u-input disabled disabledColor="#fff" border="none" v-model="form.settlementMethodName" 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> -->
</view>
<u-form-item>
<text class="forms-title">外观情况</text>
</u-form-item>
<view class="bg-white pb-3 primary-radius">
<u-form-item label="左前钢圈" @click="openType('dutyCategoryList')" class="forms-item" prop="dutyCategoryName">
<u-form-item label="左前钢圈" @click="openType('appearanceList', 'leftFrontRing')" class="forms-item" prop="leftFrontRing">
<view class="select-box flex align-center justify-end">
<text v-if="form.leftFrontRing" class="checked">{{showDp(form.leftFrontRing, '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 v-model="form.leftFrontRingStr" placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="左后钢圈" @click="openType('appearanceList', 'leftBehindRing')" class="forms-item" prop="leftBehindRing">
<view class="select-box flex align-center justify-end">
<text v-if="form.leftBehindRing" class="checked">{{showDp(form.leftBehindRing, '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 v-model="form.leftBehindRingStr" placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="右前钢圈" @click="openType('appearanceList', 'rightFrontRing')" class="forms-item" prop="rightFrontRing">
<view class="select-box flex align-center justify-end">
<text v-if="form.rightFrontRing" class="checked">{{showDp(form.rightFrontRing, '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 v-model="form.rightFrontRingStr" placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="右后钢圈" @click="openType('appearanceList', 'rightBehindRing')" class="forms-item" prop="rightBehindRing">
<view class="select-box flex align-center justify-end">
<text v-if="form.rightBehindRing" class="checked">{{showDp(form.rightBehindRing, '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 v-model="form.rightBehindRingStr" placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="左前轮胎" @click="openType('appearanceList', 'leftFrontTire')" class="forms-item" prop="leftFrontTire">
<view class="select-box flex align-center justify-end">
<text v-if="form.leftFrontTire" class="checked">{{showDp(form.leftFrontTire, '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 v-model="form.leftFrontTireStr" placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="左后轮胎" @click="openType('appearanceList', 'leftBehindTire')" class="forms-item" prop="leftBehindTire">
<view class="select-box flex align-center justify-end">
<text v-if="form.leftBehindTire" class="checked">{{showDp(form.leftBehindTire, '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 v-model="form.leftBehindTireStr" placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="右前轮胎" @click="openType('appearanceList', 'rightFrontTire')" class="forms-item" prop="rightFrontTire">
<view class="select-box flex align-center justify-end">
<text v-if="form.rightFrontTire" class="checked">{{showDp(form.rightFrontTire, '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-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>
@@ -117,7 +176,7 @@
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="左后钢圈" @click="openType('dutyCategoryList')" class="forms-item" prop="dutyCategoryName">
<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>
@@ -127,7 +186,7 @@
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="右前钢圈" @click="openType('dutyCategoryList')" class="forms-item" prop="dutyCategoryName">
<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>
@@ -137,7 +196,7 @@
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="右后钢圈" @click="openType('dutyCategoryList')" class="forms-item" prop="dutyCategoryName">
<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>
@@ -147,7 +206,7 @@
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="左前轮胎" @click="openType('dutyCategoryList')" class="forms-item" prop="dutyCategoryName">
<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>
@@ -157,7 +216,7 @@
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="左后轮胎" @click="openType('dutyCategoryList')" class="forms-item" prop="dutyCategoryName">
<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>
@@ -167,7 +226,7 @@
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="右前轮胎" @click="openType('dutyCategoryList')" class="forms-item" prop="dutyCategoryName">
<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>
@@ -177,7 +236,7 @@
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="右后轮胎" @click="openType('dutyCategoryList')" class="forms-item" prop="dutyCategoryName">
<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>
@@ -187,7 +246,7 @@
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="前保险杠" @click="openType('dutyCategoryList')" class="forms-item" prop="dutyCategoryName">
<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>
@@ -197,7 +256,7 @@
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="机盖" @click="openType('dutyCategoryList')" class="forms-item" prop="dutyCategoryName">
<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>
@@ -207,7 +266,7 @@
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="左前叶" @click="openType('dutyCategoryList')" class="forms-item" prop="dutyCategoryName">
<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>
@@ -217,7 +276,7 @@
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="前门" @click="openType('dutyCategoryList')" class="forms-item" prop="dutyCategoryName">
<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>
@@ -227,7 +286,7 @@
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="左后门" @click="openType('dutyCategoryList')" class="forms-item" prop="dutyCategoryName">
<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>
@@ -237,7 +296,7 @@
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="左后叶" @click="openType('dutyCategoryList')" class="forms-item" prop="dutyCategoryName">
<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>
@@ -247,7 +306,7 @@
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="后保险杠" @click="openType('dutyCategoryList')" class="forms-item" prop="dutyCategoryName">
<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>
@@ -257,7 +316,7 @@
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="后盖" @click="openType('dutyCategoryList')" class="forms-item" prop="dutyCategoryName">
<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>
@@ -267,7 +326,7 @@
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="右后" @click="openType('dutyCategoryList')" class="forms-item" prop="dutyCategoryName">
<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>
@@ -277,7 +336,7 @@
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="右后门" @click="openType('dutyCategoryList')" class="forms-item" prop="dutyCategoryName">
<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>
@@ -287,7 +346,7 @@
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="右前门" @click="openType('dutyCategoryList')" class="forms-item" prop="dutyCategoryName">
<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>
@@ -297,7 +356,7 @@
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="右前叶" @click="openType('dutyCategoryList')" class="forms-item" prop="dutyCategoryName">
<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>
@@ -307,7 +366,7 @@
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="左边梁" @click="openType('dutyCategoryList')" class="forms-item" prop="dutyCategoryName">
<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>
@@ -317,77 +376,7 @@
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="右边梁" @click="openType('dutyCategoryList')" 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>
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="左后视镜" @click="openType('dutyCategoryList')" 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>
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="右后视镜" @click="openType('dutyCategoryList')" 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>
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="左A柱" @click="openType('dutyCategoryList')" 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>
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="右A柱" @click="openType('dutyCategoryList')" 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>
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="车顶" @click="openType('dutyCategoryList')" 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>
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="挡风玻璃" @click="openType('dutyCategoryList')" 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>
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<u-form-item label="电池底壳" @click="openType('dutyCategoryList')" class="forms-item" prop="dutyCategoryName">
<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>
@@ -397,8 +386,9 @@
<u-form-item class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
</u-form-item>
<view style="height: 48rpx;" />
<u-form-item label="备注" class="forms-item re-item" border-bottom>
<u-input placeholder="请输入处理方案" border="none"></u-input>
<u-input placeholder="请输入退车备注" v-model="form.picUpRemark" border="none"></u-input>
</u-form-item>
<u-form-item>
<view class="form-item">
@@ -416,11 +406,7 @@
</u-form-item>
</view>
</u-form>
<!-- <view class="btn-bottom">
<u-button color="#13AFA8" @click="toNewCreate">创建工单</u-button>
<view class="" style="height: 60rpx;"/>
</view> -->
<u-datetime-picker title="事故时间" @confirm="dateConfirm" :show="timeShow" :formatter="formatter" v-model="createTime" mode="date"></u-datetime-picker>
<u-datetime-picker title="事故时间" @confirm="dateConfirm" :show="timeShow" :formatter="formatter" v-model="createTime" mode="dateTime"></u-datetime-picker>
<cell-list ref="cellList" :title="title" @confirm="checkItem" :list="selectList"></cell-list>
<u-keyboard ref="uKeyboard" mode="car" @cancel="cancel" @confirm="carConfirm" @backspace="backspace" @change="carNoChange" safeAreaInsetBottom :show="carShow" autoChange></u-keyboard>
</view>
@@ -428,9 +414,9 @@
<script>
import { parseTime } from '@/utils/index'
import { typelist, settlementList } from '@/data/typeData'
import { returnList, damageList, appearanceList } from '@/data/typeData'
import { getCarInfo, createAccident } from '@/api/repair/repair';
import { dutyCategory, insuranceList } from '@/api/system/config'
import { dpCompanylist } from '@/api/system/config'
import cellList from '@/components/cell-list/cell-list';
import { mapGetters } from 'vuex'
export default {
@@ -443,27 +429,82 @@
typeShoe: false,
timeShow: false,
createTime: new Date() * 1,
repairTypeName: '退车维修', // 维修类型名
form: {
dutyCategoryName: '',
settlementMethodName: '',
repairTypeName : '',
insuranceCompanyName: '',
companyName: '',
vinId: '',
brandName: '',
accidentDate: '', // 事故日期
accidentImage: '',// 事故照片
carNo: '', // 车牌号
dpCompanyId: '', // dp公司id
dutyCategoryId: '',//责任类型
insuranceCompanyId: '',// 保险公司
name: '小山', // 司机名称
phone: '18875659854', // 联系方式
picUpRemark: '我是备注', // 接车备注
repairType: '', // 维修类型
responsibleInfo: '我是全责方信息',// 全责方信息
settlementMethod: '',// 结算方式1=挂帐月结2=现金支付3=保险理赔4=索赔5=返修
truckingPrice: 1000, // 拖车费用
companyName: '', // 所属公司
vinId: '', // 车架号
brandName: '', // 车辆品牌
modelName: '', // 车辆型号
carNo: '', // 车牌
kilometer: '', // 公里数
enduranceKilometer: '', // 续航里数
repairType: 4, // 维修类型 1=常规保养2=故障维修3=事故维修4=退车
returnCategory: '', // 退车类型1=到期退车2=违约退车3=回收
name: '', // 司机名称
phone: '', // 司机联系方式
dpCompanyId: '', // dp公司id
returnDate: '', // 退车日期
damageImage: '', // 双证1=双证齐全2=缺行驶证3=缺营运证
frontBumper: 1, // 前保险杠损失情况
hehindBumper: 1, // 后保险杠损失情况
glass: 1, // 挡风玻璃损失情况
leftApillar: 1, // 左A柱损失情况
leftBeam: 1, // 左边梁损失情况
leftBehindDoor: 1, // 左后门损失情况
leftBehindLeaf: 1, // 左后叶损失情况
leftBehindRing: 1, // 左后钢圈损失情况
leftBehindTire: 1, // 左后轮胎损失情况
leftFrontDoor: 1, // 左前门损失情况
leftFrontLeaf: 1, // 左前叶损失情况
leftFrontRing: 1, // 左前钢圈损失情况
leftFrontTire: 1, // 左前轮胎损失情况
leftRearview: 1, // 左后视镜损失情况
rightApillar: 1, // 右A柱损失情况
rightBeam: 1, // 右边梁损失情况
rightBehindDoor: 1, // 右后门损失情况
rightBehindLeaf: 1, // 右后叶损失情况
rightBehindRing: 1, // 右后钢圈损失情况
rightBehindTire: 1, // 右后轮胎损失情况
rightFrontDoor: 1, // 右前门损失情况
rightFrontLeaf: 1, // 右前叶损失情况
rightFrontRing: 1, // 右前钢圈损失情况
rightFrontTire: 1, // 右前轮胎损失情况
rightRearview: 1, // 右后视镜损失情况
frontHood: 1, // 机盖损失情况
batteryBottomCover: 1, // 电池底盖璃损失情况
behindHood: 1, // 后机盖损失情况
carRoof: 1, // 车顶损失情况
frontBumperStr: '', // 前保险杠损失情况
hehindBumperStr: '', // 后保险杠损失情况
glassStr: '', // 挡风玻璃损失情况
leftApillarStr: '', // 左A柱损失情况
leftBeamStr: '', // 左边梁损失情况
leftBehindDoorStr: '', // 左后门损失情况
leftBehindLeafStr: '', // 左后叶损失情况
leftBehindRingStr: '', // 左后钢圈损失情况
leftBehindTireStr: '', // 左后轮胎损失情况
leftFrontDoorStr: '', // 左前门损失情况
leftFrontLeafStr: '', // 左前叶损失情况
leftFrontRingStr: '', // 左前钢圈损失情况
leftFrontTireStr: '', // 左前轮胎损失情况
leftRearviewStr: '', // 左后视镜损失情况
rightApillarStr: '', // 右A柱损失情况
rightBeamStr: '', // 右边梁损失情况
rightBehindDoorStr: '', // 右后门损失情况
rightBehindLeafStr: '', // 右后叶损失情况
rightBehindRingStr: '', // 右后钢圈损失情况
rightBehindTireStr: '', // 右后轮胎损失情况
rightFrontDoorStr: '', // 右前门损失情况
rightFrontLeafStr: '', // 右前叶损失情况
rightFrontRingStr: '', // 右前钢圈损失情况
rightFrontTireStr: '', // 右前轮胎损失情况
rightRearviewStr: '', // 右后视镜损失情况
frontHoodStr: '', // 机盖损失情况
batteryBottomCoverStr: '', // 电池底盖璃损失情况
behindHoodStr: '', // 后机盖损失情况
carRoofStr: '', // 车顶损失情况
picUpRemark: '', // 退车接车备注
},
accidentImageList: [], // 事故照片列表
rules: {
@@ -479,6 +520,19 @@
message: '车辆信息可能不存在,请通过车牌号获取',
trigger: ['blur']
},
kilometer: {
type: 'string',
required: true,
message: '请输入公里数',
trigger: ['blur']
},
enduranceKilometer: {
type: 'string',
required: true,
message: '请输入续航里程',
trigger: ['blur']
},
name: {
type: 'string',
required: true,
@@ -514,56 +568,33 @@
message: '车辆信息可能不存在,请通过车牌号获取',
trigger: ['blur']
},
repairTypeName: {
returnDate: {
type: 'string',
required: true,
message: '请选择维修类型',
message: '请选择退车日期',
trigger: ['blur', 'change']
},
settlementMethodName: {
dpCompanyId: {
type: 'string',
required: true,
message: '请选择结算类型',
trigger: ['blur', 'change']
},
dutyCategoryName: {
type: 'string',
required: true,
message: '请选择责任类型',
trigger: ['blur', 'change']
},
insuranceCompanyName: {
type: 'string',
required: true,
message: '请选择保险公司',
trigger: ['blur', 'change']
},
accidentDate: {
type: 'string',
required: true,
message: '请选择事故日期',
trigger: ['blur', 'change']
},
responsibleInfo: {
type: 'string',
required: true,
message: '请填写全责方信息',
message: '请选择dp公司',
trigger: ['blur']
},
truckingPrice: {
type: 'number',
returnCategory: {
type: 'string',
required: true,
message: '请填写拖车费',
message: '请选择退车类型',
trigger: ['blur']
},
},
data: {},
selectType: '',
keyName: '',
selectList: [],
typelist,
settlementList,
dutyCategoryList: [],
insuranceList: []
dpCompanylist: [],
returnList,
damageList,
appearanceList
};
},
onLoad() {
@@ -571,27 +602,22 @@
this.init()
},
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公司已不存在'
}
},
init() {
this.getDutyCategory()
this.getInsuranceList()
this.getDpCompanylist()
},
getInsuranceList() {
insuranceList().then(res => {
this.insuranceList = []
console.log('保险', res);
getDpCompanylist() {
dpCompanylist().then(res => {
this.dpCompanylist = []
let arr = res.data
arr.forEach(item => {
this.insuranceList.push({text: item.shortName,type: item.id,from: item.isShow})
})
})
},
getDutyCategory() {
dutyCategory().then(res => {
console.log(res);
this.dutyCategoryList = []
let arr = res.data
arr.forEach(item => {
this.dutyCategoryList.push({text: item.dutyName,type: item.id,from: item.isShow})
this.dpCompanylist.push({text: item.name,type: item.id,from: item.isShow})
})
})
},
@@ -639,29 +665,31 @@
// 选中维修类型
checkItem(item) {
console.log(item);
if(this.selectType == 'typelist') {
this.form.repairTypeName = item.text
this.form.repairType = item.type
} else if (this.selectType == 'settlementList') {
this.form.settlementMethod = item.type
this.form.settlementMethodName = item.text
} else if (this.selectType == 'dutyCategoryList') {
this.form.dutyCategoryId = item.type
this.form.dutyCategoryName = item.text
} else if (this.selectType == 'insuranceList') {
this.form.insuranceCompanyId = item.type
this.form.insuranceCompanyName = item.text
if(this.selectType == 'dpCompanylist') {
this.form.dpCompanyId = item.type
}
if(this.selectType == 'returnList') {
this.form.returnCategory = item.type
}
if(this.selectType == 'damageList') {
this.form.damageImage = item.type
}
if(this.selectType == 'appearanceList') {
this.form[this.keyName] = item.type
}
},
// 打开工单
openType(str) {
openType(str, keyName) {
this.$refs.cellList.detail = {}
this.selectType = str
if(keyName) this.keyName = keyName
this.selectList = this[str]
if(str == 'typeList') this.title = '维修类型'
if(str == 'settlementList') this.title = '结算类型'
if(str == 'dutyCategoryList') this.title = '责任类型'
if(str == 'insuranceList') this.title = '保险公司'
if(str == 'dpCompanylist') this.title = 'DP公司'
if(str == 'returnList') this.title = '退车类型'
if(str == 'damageList') this.title = '双证'
if(str == 'appearanceList') {
if(keyName == 'leftBehindRing') this.title = '左前钢圈'
}
console.log(this.selectList);
console.log('打开弹窗');
this.$refs.cellList.show = true
@@ -670,8 +698,7 @@
this.timeShow = true
},
dateConfirm(e) {
console.log(e);
this.form.accidentDate = parseTime(e.value, '{y}-{m}-{d}')
this.form.returnDate = parseTime(e.value, '{y}-{m}-{d} {h}:{i}:{s}')
this.timeShow = false
},
formatter(type, value) {
@@ -684,6 +711,12 @@
if (type === 'day') {
return `${value}`
}
if (type === 'minute') {
return `${value}`
}
if (type === 'hour') {
return `${value}`
}
return value
},
cancel() {
@@ -842,4 +875,18 @@ page {
.re-item {
margin-top: -50rpx;
}
.select-box {
width: 100%;
font-size: 32rpx;
.checked {
}
.nochecked {
color: #bbbbbb
}
image {
margin-left: 8rpx;
width: 8rpx;
height: 16rpx;
}
}
</style>

View File

@@ -16,7 +16,7 @@
</view>
<view :style="{ height: $u.addUnit($u.getPx('180rpx') + $u.sys().statusBarHeight,'px')}" />
<view class="branner-box">
<u-swiper :list="brannerList" height="370rpx" @change="brannerChange" @click="brannerClick"></u-swiper>
<u-swiper keyName="image" :list="brannerList" height="370rpx" @change="brannerChange" @click="brannerClick"></u-swiper>
</view>
<view class="pic-btn-box flex-wrap f-36 fw-b">
<!--四个参数是列表请求接口的字段名
@@ -41,6 +41,7 @@
<script>
import tabbarRepair from '@/components/tabbar-repair/tabbar-repair'
import { getRepairIndexInfo } from '@/api/repair/repair'
import { brannerList } from '@/api/system/config'
export default {
components: {tabbarRepair},
data() {
@@ -64,13 +65,20 @@
title: '加载中...'
})
this.getIndexInfo()
this.getBrannerList()
},
// 获取轮播图
getBrannerList() {
brannerList({type: 1}).then(res => {
console.log(res.data.list);
this.brannerList = res.data.list
})
},
// 获取首页信息
getIndexInfo() {
getRepairIndexInfo().then( res => {
console.log('首页信息', res);
this.storeInfo = res.data
this.brannerList = res.data.carouselList
}).catch( err => {
console.log('首页信息失败', err);
}).finally(() => {
@@ -79,11 +87,11 @@
},
// 轮播图变化
brannerChange(e) {
console.log('轮播图change', e);
// console.log('轮播图change', e);
},
// 点击轮播图
brannerClick(e) {
console.log('点击轮播图', e);
// console.log('点击轮播图', e);
}
}
}

View File

@@ -188,6 +188,9 @@ image {
.mt-4 {
margin-top: 40rpx;
}
.mt-5 {
margin-top: 50rpx;
}
.mt-8 {
margin-top: 80rpx;
}

View File

@@ -9,6 +9,7 @@ const getters = {
roles: state => state.user.roles,
permissions: state => state.user.permissions,
btnState: state => state.pageManager.btnState,
saveForm: state => state.form.saveForm
saveForm: state => state.form.saveForm,
packageForm: state => state.form.packageForm
}
export default getters

View File

@@ -3,18 +3,24 @@ import config from '@/config'
const form = {
state: {
saveForm: {}, // 维保开单
packageForm: {}, // 项目套餐选中
},
mutations: {
SET_FORM: (state, data) => {
state.saveForm[data.key] = data.value
console.log(state.saveForm);
}
state.saveForm[data.key] = data.value
},
SET_PACKAGELIST:(state, data) => {
state.packageForm = data
}
},
actions: {
SetForm({ commit }, data) {
commit('SET_FORM', data)
},
SetPackage({ commit }, data) {
commit('SET_PACKAGELIST',data)
}
}
}

View File

@@ -15,7 +15,7 @@ const request = config => {
}
console.log(getToken());
// get请求映射params参数
console.log(config.params);
// console.log(config.params);
if (config.params) {
let url = config.url + '?' + tansParams(config.params)
url = url.slice(0, -1)
@@ -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('后端接口连接异常')