This commit is contained in:
PQZ 2024-08-08 11:41:06 +08:00
commit 7738a882ba
7 changed files with 196 additions and 162 deletions

View File

@ -4,7 +4,9 @@
placeholder="车辆品牌型号"
:options="options"
v-model="selectedValues"
filterable/>
filterable
:props="{checkStrictly:true}"
/>
</div>
</template>

View File

@ -3,69 +3,119 @@
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="45%" v-dialogDrag append-to-body>
<el-form ref="formRef" :model="formData" :rules="formRules" v-loading="formLoading" label-width="100px">
<el-row :gutter="1">
<el-col :span="22">
<el-form-item label="发动机号码" prop="engineNumber">
<el-input v-model="formData.engineNumber" placeholder="请输入发动机号码" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="1">
<el-col :span="22">
<el-form-item label="车架号" prop="vin">
<el-input v-model="formData.vin" placeholder="请输入车架号" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="1">
<el-col :span="22">
<el-form-item label="车牌号" prop="licenseNumber">
<el-input v-model="formData.licenseNumber" placeholder="请输入车牌号" />
</el-form-item>
<el-form-item label="品牌型号" prop="carModel">
</el-col>
</el-row>
<el-row :gutter="1">
<el-col :span="22">
<el-form-item label="品牌型号" prop="brandAndModel">
<CarBrandSelector v-model="formData.brandAndModel" ref="brandForm" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2">
<el-col :span="11">
<el-form-item label="保养日期" prop="maintenanceDate">
<el-date-picker clearable v-model="formData.maintenanceDate" type="date" value-format="timestamp"
placeholder="选择保养日期" />
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="保养里程" prop="maintenanceMileage">
<el-input v-model="formData.maintenanceMileage" placeholder="请输入保养里程" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2">
<el-col :span="11">
<el-form-item label="年检日期" prop="inspectionDate">
<el-date-picker clearable v-model="formData.inspectionDate" type="date" value-format="timestamp"
placeholder="选择年检日期" />
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="保险日期" prop="insuranceDate">
<el-date-picker clearable v-model="formData.insuranceDate" type="date" value-format="timestamp"
placeholder="选择保险日期" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2">
<el-col :span="11">
<el-form-item label="车辆注册日期" prop="carRegisterDate" label-width="auto">
<el-date-picker clearable v-model="formData.carRegisterDate" type="date" value-format="timestamp"
placeholder="选择车辆注册日期" />
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="二级维护时间" prop="checkDate">
<el-date-picker clearable v-model="formData.checkDate" type="date" value-format="timestamp"
placeholder="选择二级维护时间" />
</el-form-item>
<!-- <el-form-item label="车辆品牌" prop="carBrand">
<el-input v-model="formData.carBrand" placeholder="请输入车辆品牌" />
</el-form-item> -->
</el-col>
</el-row>
<el-row :gutter="2">
<el-col :span="11">
<el-form-item label="车辆类别" prop="carCategory">
<el-select v-model="formData.carCategory" placeholder="请选择车辆类别">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.DICT_CAR_CATEGORY)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.DICT_CAR_CATEGORY)" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="车辆性质" prop="carNature">
<el-select v-model="formData.carNature" placeholder="请选择车辆性质">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.DICT_CAR_NATURE)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.DICT_CAR_NATURE)" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="车辆注册日期" prop="carRegisterDate">
<el-date-picker clearable v-model="formData.carRegisterDate" type="date" value-format="timestamp"
placeholder="选择车辆注册日期" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2">
<el-col :span="11">
<el-form-item label="最近办理业务" prop="recentlyHandledBusiness">
<el-select v-model="formData.recentlyHandledBusiness" placeholder="请选择业务类别">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.DICT_CUS_BUSI_TYPE)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.DICT_CUS_BUSI_TYPE)" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="最近办理业务的时间" prop="recentlyHandleBusinessTime">
<el-date-picker clearable v-model="formData.recentlyHandleBusinessTime" type="date" value-format="timestamp"
placeholder="选择最近办理业务的时间" />
</el-col>
<el-col :span="11">
<el-form-item label="最近业务时间" prop="recentlyHandleBusinessTime" >
<el-date-picker clearable v-model="formData.recentlyHandleBusinessTime" type="date"
value-format="timestamp" placeholder="选择最近办理业务的时间" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="1">
<el-col :span="22">
<el-form-item label="行驶证图片">
<ImageUpload v-model="formData.carLicenseImg" :limit="1" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" :disabled="formLoading"> </el-button>
@ -123,6 +173,7 @@ export default {
carBrand: [{ required: true, message: '车辆品牌不能为空', trigger: 'blur' }],
carNature: [{ required: true, message: '车辆性质不能为空', trigger: 'blur' }],
carRegisterDate: [{ required: true, message: '车辆注册日期不能为空', trigger: 'blur' }],
brandAndModel: [{ required: true, message: '品牌型号不能为空', trigger: 'blur' }],
},
};
},

View File

@ -18,14 +18,14 @@
车辆品牌
</template>
<!-- <dict-tag :type="DICT_TYPE.DICT_SYS_USER_SEX" :value="formData.sex" /> -->
{{ formData.carBrand }}
{{formData.brandStr}}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
车辆型号
</template>
<!-- <dict-tag :type="DICT_TYPE.DICT_SYS_USER_SEX" :value="formData.sex" /> -->
{{ formData.carModel }}
{{formData.modelStr}}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">

View File

@ -18,14 +18,14 @@
车辆品牌
</template>
<!-- <dict-tag :type="DICT_TYPE.DICT_SYS_USER_SEX" :value="formData.sex" /> -->
{{formData.carBrand}}
{{formData.brandStr}}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
车辆型号
</template>
<!-- <dict-tag :type="DICT_TYPE.DICT_SYS_USER_SEX" :value="formData.sex" /> -->
{{formData.carModel }}
{{formData.modelStr}}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">

View File

@ -11,13 +11,17 @@
<el-input v-model="queryParams.engineNumber" placeholder="请输入发动机号" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="品牌型号" prop="engineNumber" label-width="90">
<CarBrandSelector v-model="queryParams.brandAndModel" ref="brandForm" />
</el-form-item>
<!-- <el-form-item label="车架号" prop="vin">
<el-input v-model="queryParams.vin" placeholder="请输入车架号" clearable @keyup.enter.native="handleQuery" />
</el-form-item> -->
<el-form-item label="车辆型号" prop="carModel" label-width="90">
<!-- <el-form-item label="车辆型号" prop="carModel" label-width="90">
<el-input v-model="queryParams.carModel" placeholder="请输入车辆型号" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
</el-form-item> -->
<!-- <el-form-item label="保养日期" prop="maintenanceDate">
<el-date-picker v-model="queryParams.maintenanceDate" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
@ -42,9 +46,9 @@
type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']" />
</el-form-item> -->
<el-form-item label="车辆品牌" prop="carBrand" label-width="90">
<!-- <el-form-item label="车辆品牌" prop="carBrand" label-width="90">
<el-input v-model="queryParams.carBrand" placeholder="请输入车辆品牌" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
</el-form-item> -->
<el-form-item label="车辆性质" prop="carNature" label-width="90">
<el-input v-model="queryParams.carNature" placeholder="请输入车辆性质" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
@ -197,6 +201,7 @@
</template>
<script>
import CarBrandSelector from '@/layout/components/CarBrandSelector';
import CustomerCarForm from '@/views/base/carmain/components/CustomerCarForm.vue';
import CarLabelForm from '@/views/base/carmain/components/CarLabelForm.vue';
import * as CarMainApi from '@/api/base/carmain';
@ -208,6 +213,7 @@ export default {
CarMainForm,
CustomerCarForm,
CarLabelForm,
CarBrandSelector,
},
data() {
return {

View File

@ -16,8 +16,8 @@
<el-col :span="11">
<el-form-item label="客户类型" prop="typeCode">
<el-select v-model="formData.typeCode" placeholder="请选择客户类型">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.DICT_CUS_TYPE)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.DICT_CUS_TYPE)" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
</el-col>
@ -41,10 +41,7 @@
<el-row :gutter="2">
<el-col :span="11">
<el-form-item v-if="formData.typeCode !== '03'" label="生日" prop="birthday">
<el-date-picker
v-model="formData.birthday"
type="date"
placeholder="选择日期">
<el-date-picker v-model="formData.birthday" type="date" placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
@ -58,16 +55,16 @@
<el-col :span="11">
<el-form-item label="客户来源" prop="dataFrom">
<el-select v-model="formData.dataFrom" placeholder="请选择客户来源">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.DICT_CUS_DATA_FROM)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.DICT_CUS_DATA_FROM)" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="注册方式" prop="inviterType">
<el-select v-model="formData.inviterType" placeholder="请选择注册方式">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.DICT_SIGN_TYPE)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.DICT_SIGN_TYPE)" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
</el-col>
@ -82,56 +79,34 @@
</el-collapse-item>
<!--服务内容折叠面板面板-->
<el-collapse-item v-if="formData.typeCode == '03'" title="服务内容" name="2">
<el-table
:data="formData.itemList"
border
size="small"
style="width: 100%">
<el-table-column
prop="serContent"
align="left"
width="180">
<el-table :data="formData.itemList" border size="small" style="width: 100%">
<el-table-column prop="serContent" align="left" width="180">
<template slot="header">
<i style="color: #409EFF;cursor:pointer" class="el-icon-circle-plus-outline" @click="addItem" />
服务内容
</template>
<template v-slot="scope">
<el-select @change="serviceChange(scope.row)" v-model="scope.row.systemCode" placeholder="请选择服务内容">
<el-option v-for="dict in serviceList"
:key="dict.id" :label="dict.name" :value="dict.id"/>
<el-option v-for="dict in serviceList" :key="dict.id" :label="dict.name" :value="dict.id" />
</el-select>
</template>
</el-table-column>
<el-table-column
prop="serTimeStart"
align="center"
label="开始日期">
<el-table-column prop="serTimeStart" align="center" label="开始日期">
<template v-slot="scope">
<el-date-picker
v-model="scope.row.serTimeStart"
type="date"
placeholder="选择服务开始日期">
<el-date-picker v-model="scope.row.serTimeStart" type="date" placeholder="选择服务开始日期">
</el-date-picker>
</template>
</el-table-column>
<el-table-column
prop="serTimeEnd"
align="center"
label="结束日期">
<el-table-column prop="serTimeEnd" align="center" label="结束日期">
<template v-slot="scope">
<el-date-picker
v-model="scope.row.serTimeEnd"
type="date"
placeholder="选择服务结束日期">
<el-date-picker v-model="scope.row.serTimeEnd" type="date" placeholder="选择服务结束日期">
</el-date-picker>
</template>
</el-table-column>
<el-table-column
align="center"
width="100"
label="操作">
<el-table-column align="center" width="100" label="操作">
<template v-slot="scope">
<el-button v-if="formData.itemList.length>1" size="mini" type="text" icon="el-icon-delete" @click="deleteItem(scope.$index, formData.itemList)">删除</el-button>
<el-button v-if="formData.itemList.length > 1" size="mini" type="text" icon="el-icon-delete"
@click="deleteItem(scope.$index, formData.itemList)">删除</el-button>
</template>
</el-table-column>
</el-table>