Bladeren bron

车辆详情

master
wangxyi 1 week geleden
bovenliggende
commit
f064dde44f

+ 6
- 5
datas/queryKey.js Bestand weergeven

@@ -5,8 +5,8 @@ import {
/*通过字典type取Name*/
export const getCodeName = (type, code) => {
if (!data[type]) return ""
var data = getItem('key')
if (!data || !data[type]) return ""
let types = data[type].filter(item => item.code == code);
if (types[0] && types) {
return types[0] ? types[0].name : ''
@@ -16,15 +16,16 @@ export const getCodeName = (type, code) => {
/*通过字典type取Code*/
export const getNameCode = (type, name) => {
var data = getItem('key')
if (!data || !data[type]) return ""
let types = data[type].filter(item => item.name == name);
if (types[0] && types) {
return types[0] ? types[0].code : ''
}
}
}
/*通过字典type取字典*/
export const getDicWithType = (type) => {
var data = getItem('key')
let types = data[type]
return types;
}
if (!data || !data[type]) return []
return data[type];
}

+ 2
- 2
subpackage/after-sale/activation-once-again/select-car.vue Bestand weergeven

@@ -23,7 +23,7 @@
<scroll-view
class="selectCar-box"
scroll-y="true"
style="height: 60vh"
style="height: 80vh"
@scrolltolower="getList"
>
<template v-if="state.list.length > 0">
@@ -332,7 +332,7 @@ const search = () => {
height: 100%;
padding: 30rpx;
padding-top: 0;
padding-bottom: 200rpx;
padding-bottom: 50rpx;
}
.message {
font-size: 26rpx;

+ 73
- 41
subpackage/after-sale/activation-once-again/vehicle-details.vue Bestand weergeven

@@ -12,39 +12,7 @@
getVehiclePlateColor(vehicleInfo.vehiclePlateColor)
}}</text>
</view>
<!-- 行驶证图片 -->
<view class="license-section">
<view class="license-item">
<text class="license-title">行驶证主页</text>
<view class="license-image-container">
<image
v-if="vehicleInfo.vehPosImgUrl"
:src="getImageUrl(vehicleInfo.vehPosImgUrl)"
class="license-image"
mode="aspectFit"
@click="previewImage(getImageUrl(vehicleInfo.vehPosImgUrl))"
/>
<view v-else class="license-placeholder">
<text class="placeholder-text">暂无图片</text>
</view>
</view>
</view>
<view class="license-item">
<text class="license-title">行驶证副页</text>
<view class="license-image-container">
<image
v-if="vehicleInfo.vehNegImgUrl"
:src="getImageUrl(vehicleInfo.vehNegImgUrl)"
class="license-image"
mode="aspectFit"
@click="previewImage(getImageUrl(vehicleInfo.vehNegImgUrl))"
/>
<view v-else class="license-placeholder">
<text class="placeholder-text">暂无图片</text>
</view>
</view>
</view>
</view>

<view class="info-item">
<text class="label">车辆所有人信息</text>
@@ -52,7 +20,9 @@
</view>
<view class="info-item">
<text class="label">车辆所有人证件类型</text>
<text class="value">{{ vehicleInfo.ownerIdType }}</text>
<!-- <text class="value">{{ vehicleInfo.ownerIdType }}</text> -->
<text class="value">{{ getCodeName('ID_TYPE',vehicleInfo.ownerIdType) }}</text>
</view>
<view class="info-item">
<text class="label">车辆所有人证件号码</text>
@@ -80,7 +50,7 @@
</view>
<view class="info-item">
<text class="label">车辆收费类型</text>
<text class="value">{{ vehicleInfo.type }}</text>
<text class="value">{{ getCodeName('VEHICLE_TYPE',vehicleInfo.type) }}</text>
</view>
<view class="info-item">
<text class="label">核定载人数</text>
@@ -116,12 +86,45 @@
</view>
<view class="info-item">
<text class="label">车辆使用性质</text>
<text class="value">{{ vehicleInfo.useCharacter }}</text>
<text class="value">{{ getCodeName('USE_USER_TYPE',vehicleInfo.useUserType) }}</text>
</view>
<!-- 行驶证图片 -->
<view class="license-section">
<view class="license-item">
<text class="license-title">行驶证主页</text>
<view class="license-image-container">
<image
v-if="vehicleInfo.vehPosImgUrl"
:src="getImageUrl(vehicleInfo.vehPosImgUrl)"
class="license-image"
mode="aspectFit"
@click="previewImage(getImageUrl(vehicleInfo.vehPosImgUrl))"
/>
<view v-else class="license-placeholder">
<text class="placeholder-text">暂无图片</text>
</view>
</view>
</view>
<view class="license-item">
<text class="license-title">行驶证副页</text>
<view class="license-image-container">
<image
v-if="vehicleInfo.vehNegImgUrl"
:src="getImageUrl(vehicleInfo.vehNegImgUrl)"
class="license-image"
mode="aspectFit"
@click="previewImage(getImageUrl(vehicleInfo.vehNegImgUrl))"
/>
<view v-else class="license-placeholder">
<text class="placeholder-text">暂无图片</text>
</view>
</view>
</view>
</view>
<!-- 车身照和车头照 -->
<view class="license-section">
<view class="license-item">
<text class="license-title">车身照</text>
<text class="license-title">车照</text>
<view class="license-image-container">
<image
v-if="vehicleInfo.vehBodyUrl"
@@ -135,7 +138,7 @@
</view>
</view>
</view>
<view class="license-item">
<!-- <view class="license-item">
<text class="license-title">车头照</text>
<view class="license-image-container">
<image
@@ -149,7 +152,7 @@
<text class="placeholder-text">暂无图片</text>
</view>
</view>
</view>
</view> -->
</view>
</view>
<!-- 底部按钮 -->
@@ -166,6 +169,12 @@ import { getVehiclePlateColor } from "@/datas/vehiclePlateColor";
import { vehicleInfoView } from "@/utils/network/api.js";
import { requestNew } from "@/utils/network/request.js";
import { fileURL } from "@/datas/fileURL.js";
// import { getItem } from "@/utils/storage";
import {
getCodeName
} from "@/datas/queryKey.js";
import { queryKey } from "@/utils/network/api.js";
import { setItem, getItem } from "@/utils/storage";

// 响应式数据
const vehicleInfo = reactive({
@@ -199,6 +208,27 @@ const plateNumber = ref(["贵", "Z", "M", "J", "U", "7", "0"]);
const currentInputIndex = ref(0);
const selectedColor = ref("blue");

// 确保字典数据已加载
const ensureDictData = () => {
const dictData = getItem('key');
if (!dictData) {
// 如果字典数据不存在,先加载字典数据
const options = {
type: 2,
data: {},
method: "POST",
};
return requestNew(queryKey, options).then((res) => {
console.log("加载字典数据", res);
// 处理字典接口返回的两种数据结构
const dictData = res.dictTypeAndItem || res;
setItem('key', dictData);
return dictData;
});
}
return Promise.resolve(dictData);
};

// 页面加载
onLoad((options) => {
console.log("车辆详情页面参数:", options);
@@ -207,8 +237,10 @@ onLoad((options) => {
});

if (options.id) {
// 根据id获取车辆详情
getVehicleDetails(options.id);
// 确保字典数据已加载后再获取车辆详情
ensureDictData().then(() => {
getVehicleDetails(options.id);
});
} else {
uni.showToast({
title: "缺少车辆ID参数",

Laden…
Annuleren
Opslaan