|
|
@@ -1,21 +1,8 @@
|
|
|
<template>
|
|
|
<div class="carTypeSelect">
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="8">
|
|
|
- <el-input v-model="searchValue" prefix-icon="Search" placeholder="请输入车辆识别代码查询"></el-input>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-button type="primary" @click="handleSearch">查询</el-button>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-table
|
|
|
- ref="CarTypeRef"
|
|
|
- row-key="a"
|
|
|
- :data="tableData"
|
|
|
- style="margin: 24px 0; max-height: 400px"
|
|
|
- @select="handleSelect"
|
|
|
- >
|
|
|
- <el-table-column type="selection" width="80"></el-table-column>
|
|
|
+ <span class="flex a-c mb-2" style="color: #409eff;font-size: 13px;">(单击后确定 或 双击选中车型)</span>
|
|
|
+ <el-table ref="CarTypeRef" row-key="id" highlight-current-row :data="tableData"
|
|
|
+ style="margin: 24px 0; max-height: 400px" @row-dblclick="handleSelectedRow" @current-change="handleCurrentChange">
|
|
|
<el-table-column prop="modelCode" label="厂牌型号代码"></el-table-column>
|
|
|
<el-table-column prop="modelName" label="厂牌型号"></el-table-column>
|
|
|
<el-table-column prop="replacementValue" label="新车购置价"></el-table-column>
|
|
|
@@ -34,41 +21,38 @@
|
|
|
<script setup lang="ts">
|
|
|
|
|
|
import api from "@/api";
|
|
|
-import {ElMessage} from "element-plus";
|
|
|
+import { ElMessage } from "element-plus";
|
|
|
|
|
|
const emits = defineEmits(['close'])
|
|
|
const CarTypeRef = ref()
|
|
|
|
|
|
-// 查询
|
|
|
-let searchValue = ref('')
|
|
|
-const handleSearch = () => {
|
|
|
+let selectRowData = ref<CarInfo | {}>({})
|
|
|
|
|
|
-}
|
|
|
|
|
|
+const handleSelectedRow = (row: any, column: any) => {
|
|
|
+ selectRowData.value = row
|
|
|
+ handleConfirm()
|
|
|
+}
|
|
|
+// 车型选中事件
|
|
|
+const handleCurrentChange = (row: any) => {
|
|
|
+ selectRowData.value = row
|
|
|
+}
|
|
|
// 列表
|
|
|
-let selectItem = ref(null)
|
|
|
let tableData = ref([])
|
|
|
-const handleSelect = (val, row) => {
|
|
|
- selectItem.value = row
|
|
|
- if(val.length > 1) {
|
|
|
- CarTypeRef.value.clearSelection()
|
|
|
- CarTypeRef.value.toggleRowSelection(row);
|
|
|
- }
|
|
|
-}
|
|
|
|
|
|
// 取消
|
|
|
const handleCancel = () => {
|
|
|
- emits('close', selectItem.value)
|
|
|
+ emits('close', null)
|
|
|
}
|
|
|
// 确定
|
|
|
const handleConfirm = () => {
|
|
|
- emits('close', selectItem.value)
|
|
|
+ emits('close', selectRowData.value)
|
|
|
}
|
|
|
const initData = (data, type) => {
|
|
|
tableData.value = []
|
|
|
- if(type === 1) {
|
|
|
+ if (type === 1) {
|
|
|
api.additionalApi.vinSearch(data).then((res: any) => {
|
|
|
- if(res.code == 200) {
|
|
|
+ if (res.code == 200) {
|
|
|
tableData.value = res.data
|
|
|
} else {
|
|
|
ElMessage({
|
|
|
@@ -78,11 +62,11 @@ const initData = (data, type) => {
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
- if(type === 2) {
|
|
|
+ if (type === 2) {
|
|
|
api.additionalApi.licenseSearch({
|
|
|
modelName: data.replace(/[^u4e00-u9fa5|,]+/gi, "")
|
|
|
}).then((res: any) => {
|
|
|
- if(res.code == 200) {
|
|
|
+ if (res.code == 200) {
|
|
|
tableData.value = res.data
|
|
|
} else {
|
|
|
ElMessage({
|
|
|
@@ -101,8 +85,8 @@ defineExpose({
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
-.carTypeSelect{
|
|
|
- .footer{
|
|
|
+.carTypeSelect {
|
|
|
+ .footer {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: flex-end;
|