6/22完善引入,

This commit is contained in:
Zy
2026-06-22 08:14:35 +08:00
parent ea8129216b
commit 826bf3c782
208 changed files with 1122 additions and 1685 deletions

View File

@@ -66,7 +66,7 @@
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
>
<img v-if="form.carImageUrl" :src="form.carImageUrl" class="avatar" />
<img alt="车辆照片" v-if="form.carImageUrl" :src="form.carImageUrl" class="avatar" />
<el-icon v-else class="avatar-uploader-icon"><Plus /></el-icon>
<template #tip>
<span>支持jpg, png等格式文件上传,文件大小不超过10MB,可上传多张 </span>
@@ -79,15 +79,15 @@
<el-row>
<el-col :span="24">
<el-form-item label="持有人">
<AppUser :isMultiple="false" ref="HolderRef" @change="handleChange">
<AppUser returnable="*" :isMultiple="false" ref="HolderRef" @change="handleChange">
<template #default>
<div class="residentBox" @click="choiceResidentFun">
<div class="defaultbox" v-if="form.residentId === ''">
<div class="defaultbox" v-if="form.residentId === '' || form.userId === ''">
<span>请选择</span>
<el-icon><Search /></el-icon>
</div>
<div v-else class="overflow-auto overflow-hidden w-full text-ellipsis text-nowrap">
<span>姓名:{{ form?.residentName }}</span>
<span>姓名:{{ form.residentName && form.residentName.trim() !== '' ? form.residentName : form.userName }}</span>
</div>
</div>
</template>
@@ -120,13 +120,13 @@ import Holder from '@/components/Holder/index.vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { listArea } from '@/api/system/carArea';
import { listParking } from '@/api/system/parking';
import { UploadFiles, UploadProps, UploadRawFile, UploadUserFile } from 'element-plus';
import { addCar, getCar, updateCar, uploadCar } from '@/api/system/cars';
import { UploadFiles, UploadProps, UploadRawFile } from 'element-plus';
import { addCar, getCar, updateCar } from '@/api/system/cars';
import { useUserStore } from '@/store/modules/user';
import AppUser from '@/components/Holder/appUser.vue';
import { Plus } from '@element-plus/icons-vue';
const uploadUrl = import.meta.env.VITE_APP_BASE_API + '/car/uploadImage';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const router = useRouter();
const route = useRoute();
@@ -143,6 +143,8 @@ const form = ref({
carModel: '', //车辆型号
carColor: '', //车身颜色
remark: '', //备注
userId: '',
userName: '',
carImageUrl: '' //车辆图片url
});
@@ -255,8 +257,8 @@ const cancelForm = () => {
const holderInfo = ref(null);
const HolderRef = ref<typeof Holder>(null);
function choiceResidentFun() {
if (form.value.residentId) {
HolderRef.value.open([...form.value.residentId]);
if (form.value.userId && form.value.userId.trim() !== '') {
HolderRef.value.open([form.value.userId]);
} else {
HolderRef.value.open([]);
}

View File

@@ -26,15 +26,6 @@
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['carArea:add:cars']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['carArea:edit:car']">编辑</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['car:car:remove']">删除</el-button>
</el-col> -->
<right-toolbar
:disable-delete="multiple"
:disable-edit="single"
@@ -54,14 +45,14 @@
<el-table-column label="车辆品牌" width="155" align="center" prop="carBrand" />
<el-table-column label="车辆型号" width="155" align="center" prop="carModel" />
<el-table-column label="车身颜色" width="125" align="center" prop="carColor" />
<el-table-column label="持有人" width="155" align="center" prop="residentId">
<template #default="scope"> {{ getResidentName(scope.row.residentId) }} </template>
<el-table-column label="持有人" width="155" align="center" prop="userName">
<template #default="scope"> {{ scope.row.userName }} </template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['car:car:edit']">修改</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['car:car:remove']">删除</el-button>
<el-button link type="primary" @click="handleUpdate(scope.row)" v-has-permi="['car:car:edit']">修改</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)" v-has-permi="['car:car:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -73,7 +64,7 @@
<script setup name="Car" lang="ts">
import Pageheader from '@/components/Pageheader/index.vue';
import { listCar, getCar, delCar, addCar, updateCar } from '@/api/system/cars/index';
import { listCar, delCar } from '@/api/system/cars/index';
import { CarVO, CarQuery, CarForm } from '@/api/system/cars/type';
import { listResident } from '@/api/system/resident';
import { checkPermi } from '@/utils/permission';
@@ -122,28 +113,18 @@ const data = reactive<PageData<CarForm, CarQuery>>({
carBrand: undefined,
carModel: undefined,
carColor: undefined,
carImageUrl: undefined,
params: {}
carImageUrl: undefined
},
rules: {
id: [{ required: true, message: '车辆管理表id不能为空', trigger: 'blur' }]
}
});
const { queryParams, form, rules } = toRefs(data);
/** 持有人 */
const ResidentList = ref([]);
const getResidentName = (id: string) => {
const find = ResidentList.value.find((item) => item.id === id);
if (!find) return '--';
return find.name;
};
const { queryParams } = toRefs(data);
/** 查询车辆管理列表 */
const getList = async () => {
loading.value = true;
listCar(queryParams.value)
.then((res) => {
carList.value = res.rows;
@@ -152,9 +133,6 @@ const getList = async () => {
.finally(() => {
loading.value = false;
});
const res1 = await listResident();
ResidentList.value = res1.rows;
loading.value = false;
};
/** 搜索按钮操作 */