2024-09-12 18:29:04 +08:00
|
|
|
<template>
|
|
|
|
<div>
|
|
|
|
<el-descriptions class="margin-top" :column="4" :size="'medium'" border style="margin-bottom: 1rem">
|
|
|
|
<template slot="extra">
|
|
|
|
<el-button v-if="createTicketType" type="success" size="small">新增客户信息</el-button>
|
|
|
|
<el-button v-if="createTicketType" type="primary" size="small">完善更多客户信息</el-button>
|
|
|
|
<el-button type="primary" size="small">选择业务</el-button>
|
|
|
|
</template>
|
|
|
|
<el-descriptions-item>
|
|
|
|
<template slot="label">
|
|
|
|
用户选择
|
|
|
|
</template>
|
2024-09-19 19:46:32 +08:00
|
|
|
<UserChoose v-model="selectUser"/>
|
2024-09-12 18:29:04 +08:00
|
|
|
</el-descriptions-item>
|
|
|
|
<el-descriptions-item>
|
|
|
|
<template slot="label">
|
2024-09-19 19:46:32 +08:00
|
|
|
车辆选择
|
2024-09-12 18:29:04 +08:00
|
|
|
</template>
|
2024-09-19 19:46:32 +08:00
|
|
|
<CarChoose v-model="selectCar" :cus-name="selectUser.cusName"/>
|
2024-09-12 18:29:04 +08:00
|
|
|
</el-descriptions-item>
|
|
|
|
<el-descriptions-item>
|
|
|
|
<template slot="label">
|
|
|
|
手机
|
|
|
|
</template>
|
2024-09-19 19:46:32 +08:00
|
|
|
<el-input disabled v-model="selectUser.phoneNumber"/>
|
2024-09-12 18:29:04 +08:00
|
|
|
</el-descriptions-item>
|
|
|
|
<el-descriptions-item>
|
|
|
|
<template slot="label">
|
|
|
|
车架号
|
|
|
|
</template>
|
2024-09-19 19:46:32 +08:00
|
|
|
<el-input disabled v-model="selectCar.vin"/>
|
2024-09-12 18:29:04 +08:00
|
|
|
</el-descriptions-item>
|
|
|
|
<el-descriptions-item>
|
|
|
|
<template slot="label">
|
|
|
|
车牌
|
|
|
|
</template>
|
2024-09-19 19:46:32 +08:00
|
|
|
<el-input disabled v-model="selectCar.licenseNumber"/>
|
2024-09-12 18:29:04 +08:00
|
|
|
</el-descriptions-item>
|
|
|
|
<el-descriptions-item>
|
|
|
|
<template slot="label">
|
|
|
|
品牌车系
|
|
|
|
</template>
|
2024-09-19 19:46:32 +08:00
|
|
|
<el-input disabled v-model="selectCar.modelStr"/>
|
2024-09-12 18:29:04 +08:00
|
|
|
</el-descriptions-item>
|
|
|
|
<el-descriptions-item>
|
|
|
|
<template slot="label">
|
|
|
|
保险到期
|
|
|
|
</template>
|
2024-09-19 19:46:32 +08:00
|
|
|
<el-date-picker disabled
|
|
|
|
v-model="selectCar.insuranceExpiryDate"
|
|
|
|
type="date">
|
|
|
|
</el-date-picker>
|
2024-09-12 18:29:04 +08:00
|
|
|
</el-descriptions-item>
|
|
|
|
<el-descriptions-item>
|
|
|
|
<template slot="label">
|
|
|
|
年检到期
|
|
|
|
</template>
|
2024-09-19 19:46:32 +08:00
|
|
|
<el-date-picker disabled
|
|
|
|
v-model="selectCar.nextInspectionDate"
|
|
|
|
type="date">
|
|
|
|
</el-date-picker>
|
2024-09-12 18:29:04 +08:00
|
|
|
</el-descriptions-item>
|
|
|
|
<el-descriptions-item>
|
|
|
|
<template slot="label">
|
|
|
|
进厂时间
|
|
|
|
</template>
|
2024-09-19 19:46:32 +08:00
|
|
|
<el-date-picker
|
|
|
|
v-model="formData.inTime"
|
|
|
|
type="date"
|
|
|
|
placeholder="选择日期">
|
|
|
|
</el-date-picker>
|
2024-09-12 18:29:04 +08:00
|
|
|
</el-descriptions-item>
|
|
|
|
<el-descriptions-item>
|
|
|
|
<template slot="label">
|
|
|
|
预计完工
|
|
|
|
</template>
|
2024-09-19 19:46:32 +08:00
|
|
|
<el-date-picker
|
|
|
|
v-model="formData.outTime"
|
|
|
|
type="date"
|
|
|
|
placeholder="选择日期">
|
|
|
|
</el-date-picker>
|
2024-09-12 18:29:04 +08:00
|
|
|
</el-descriptions-item>
|
|
|
|
<el-descriptions-item>
|
|
|
|
<template slot="label">
|
|
|
|
上次里程
|
|
|
|
</template>
|
2024-09-19 19:46:32 +08:00
|
|
|
<el-input v-model="selectCar.maintenanceMileage"/>
|
2024-09-12 18:29:04 +08:00
|
|
|
</el-descriptions-item>
|
|
|
|
<el-descriptions-item>
|
|
|
|
<template slot="label">
|
|
|
|
本次里程
|
|
|
|
</template>
|
2024-09-19 19:46:32 +08:00
|
|
|
<el-input v-model="selectCar.newMaintenanceMileage"/>
|
2024-09-12 18:29:04 +08:00
|
|
|
</el-descriptions-item>
|
|
|
|
<el-descriptions-item :span="3">
|
|
|
|
<template slot="label">
|
|
|
|
备注
|
|
|
|
</template>
|
2024-09-19 19:46:32 +08:00
|
|
|
<el-input v-model="formData.remark"/>
|
2024-09-12 18:29:04 +08:00
|
|
|
</el-descriptions-item>
|
|
|
|
<el-descriptions-item>
|
|
|
|
<template slot="label">
|
|
|
|
服务顾问
|
|
|
|
</template>
|
2024-09-19 19:46:32 +08:00
|
|
|
<StaffChoose v-model="selectStaff"/>
|
2024-09-12 18:29:04 +08:00
|
|
|
</el-descriptions-item>
|
|
|
|
</el-descriptions>
|
|
|
|
<el-row v-if="createTicketType" :gutter="5" style="margin-bottom: 1rem">
|
|
|
|
<el-col :span="4.8">
|
|
|
|
<el-button size="small">维修建议</el-button>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="4.8">
|
|
|
|
<el-button size="small">质保说明</el-button>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="4.8">
|
2024-09-13 18:31:13 +08:00
|
|
|
<el-button size="small" v-if="formData.endCheck" @click="formData.endCheck = 0">终检</el-button>
|
|
|
|
<el-button size="small" v-if="!formData.endCheck" @click="formData.endCheck = 1">不终检</el-button>
|
2024-09-12 18:29:04 +08:00
|
|
|
</el-col>
|
|
|
|
<el-col :span="4.8">
|
2024-09-13 18:31:13 +08:00
|
|
|
<el-select v-model="formData.partDisposal" size="small">
|
2024-09-19 19:46:32 +08:00
|
|
|
<el-option v-for="item in this.getDictDatas(DICT_TYPE.REPAIR_PART_DISPOSAL)" :key="item.value"
|
|
|
|
:label="item.label" :value="item.value"/>
|
2024-09-12 18:29:04 +08:00
|
|
|
</el-select>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="4.8">
|
2024-09-13 18:31:13 +08:00
|
|
|
<el-select v-model="formData.repairType" size="small">
|
2024-09-19 19:46:32 +08:00
|
|
|
<el-option v-for="item in this.getDictDatas(DICT_TYPE.REPAIR_TYPE)" :key="item.value" :label="item.label"
|
|
|
|
:value="item.value"/>
|
2024-09-12 18:29:04 +08:00
|
|
|
</el-select>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
2024-09-19 19:46:32 +08:00
|
|
|
<TicketItem item-type="project"/>
|
|
|
|
<TicketItem v-if="createTicketType" item-type="part"/>
|
|
|
|
<TicketItem v-if="createTicketType" item-type="other"/>
|
2024-09-12 18:29:04 +08:00
|
|
|
<el-row :gutter="createTicketType ? 2 : 3" style="margin-top: 1rem">
|
|
|
|
<el-col :span="createTicketType ? 12 : 16">
|
2024-09-19 19:46:32 +08:00
|
|
|
<el-descriptions class="margin-top" :column="createTicketType ? 2 : 3" border :size="'medium'"
|
|
|
|
style="margin-bottom: 1rem">
|
2024-09-12 18:29:04 +08:00
|
|
|
<el-descriptions-item>
|
|
|
|
<template slot="label">
|
|
|
|
工单号
|
|
|
|
</template>
|
2024-09-19 19:46:32 +08:00
|
|
|
<el-select v-model="formData.ticketNo" size="small">
|
2024-09-12 18:29:04 +08:00
|
|
|
</el-select>
|
|
|
|
</el-descriptions-item>
|
|
|
|
<el-descriptions-item>
|
|
|
|
<template slot="label">
|
|
|
|
时间
|
|
|
|
</template>
|
2024-09-19 19:46:32 +08:00
|
|
|
<el-date-picker
|
|
|
|
v-model="formData.ticketTime"
|
|
|
|
type="date"
|
|
|
|
placeholder="选择日期">
|
|
|
|
</el-date-picker>
|
2024-09-12 18:29:04 +08:00
|
|
|
</el-descriptions-item>
|
|
|
|
<el-descriptions-item v-if="!createTicketType">
|
|
|
|
<template slot="label">
|
|
|
|
备注
|
|
|
|
</template>
|
2024-09-19 19:46:32 +08:00
|
|
|
<el-input/>
|
2024-09-12 18:29:04 +08:00
|
|
|
</el-descriptions-item>
|
|
|
|
</el-descriptions>
|
|
|
|
</el-col>
|
|
|
|
<el-col v-if="createTicketType" :span="12">
|
|
|
|
<el-descriptions class="margin-top" :column="5" :size="'medium'"
|
2024-09-19 19:46:32 +08:00
|
|
|
style="margin-left: 1rem;margin-top: 1rem">
|
2024-09-12 18:29:04 +08:00
|
|
|
<el-descriptions-item label="数量">0</el-descriptions-item>
|
|
|
|
<el-descriptions-item label="项目">0</el-descriptions-item>
|
|
|
|
<el-descriptions-item label="配件">0</el-descriptions-item>
|
|
|
|
<el-descriptions-item label="附加">0</el-descriptions-item>
|
|
|
|
<el-descriptions-item label="合计">0</el-descriptions-item>
|
|
|
|
</el-descriptions>
|
|
|
|
</el-col>
|
|
|
|
<el-col v-else :span="8" style="margin-top:1rem;display: flex;justify-content: right">
|
|
|
|
<el-button type="danger">结算</el-button>
|
|
|
|
<el-button type="warning">挂单</el-button>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
<el-row v-if="createTicketType" :gutter="2">
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-descriptions border class="margin-top" :column="1" :size="'medium'">
|
|
|
|
<el-descriptions-item>
|
|
|
|
<template slot="label">
|
|
|
|
备注
|
|
|
|
</template>
|
2024-09-19 19:46:32 +08:00
|
|
|
<el-input/>
|
2024-09-12 18:29:04 +08:00
|
|
|
</el-descriptions-item>
|
|
|
|
</el-descriptions>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="12" style="margin-top:1rem;display: flex;justify-content: right">
|
|
|
|
<el-button type="danger">结算</el-button>
|
|
|
|
<el-button type="success">完成</el-button>
|
|
|
|
<el-button type="primary">通知施工</el-button>
|
|
|
|
<el-button type="primary">领料</el-button>
|
|
|
|
<el-button type="primary">退料</el-button>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import UserChoose from "@/views/repair/Components/UserChoose.vue";
|
|
|
|
import StaffChoose from "@/views/repair/Components/StaffChoose.vue";
|
|
|
|
import TicketItem from "@/views/repair/tickets/Components/TicketItem.vue";
|
2024-09-19 19:46:32 +08:00
|
|
|
import CarChoose from "@/views/repair/Components/CarChoose.vue";
|
|
|
|
import {parseTime} from "../../../../utils/ruoyi";
|
2024-09-12 18:29:04 +08:00
|
|
|
|
|
|
|
export default {
|
|
|
|
name: "UserInfo",
|
2024-09-19 19:46:32 +08:00
|
|
|
components: {CarChoose, TicketItem, StaffChoose, UserChoose},
|
|
|
|
props: {
|
|
|
|
createTicketType: {
|
2024-09-12 18:29:04 +08:00
|
|
|
type: Boolean,
|
|
|
|
required: true,
|
|
|
|
}
|
|
|
|
},
|
2024-09-19 19:46:32 +08:00
|
|
|
watch: {
|
|
|
|
selectUser(val) {
|
|
|
|
if (!val) {
|
|
|
|
this.selectUser = {}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
selectCar(val) {
|
|
|
|
if (!val) {
|
|
|
|
this.selectCar = {}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
2024-09-12 18:29:04 +08:00
|
|
|
data() {
|
2024-09-13 18:31:13 +08:00
|
|
|
return {
|
2024-09-19 19:46:32 +08:00
|
|
|
formData: {
|
2024-09-13 18:31:13 +08:00
|
|
|
endCheck: 1,
|
2024-09-19 19:46:32 +08:00
|
|
|
partDisposal: '01',
|
2024-09-13 18:31:13 +08:00
|
|
|
repairType: '01',
|
2024-09-19 19:46:32 +08:00
|
|
|
ticketNo: null,
|
|
|
|
remark: null,
|
|
|
|
inTime: Date.now(),
|
|
|
|
outTime: null,
|
|
|
|
ticketTime: Date.now()
|
|
|
|
},
|
|
|
|
selectUser: {},
|
|
|
|
selectCar: {},
|
|
|
|
selectStaff: {},
|
2024-09-13 18:31:13 +08:00
|
|
|
}
|
2024-09-12 18:29:04 +08:00
|
|
|
},
|
2024-09-13 18:31:13 +08:00
|
|
|
methods: {
|
2024-09-19 19:46:32 +08:00
|
|
|
parseTime
|
2024-09-13 18:31:13 +08:00
|
|
|
}
|
2024-09-12 18:29:04 +08:00
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
|
</style>
|