|
|
@@ -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参数", |