f
This commit is contained in:
90
pnpm-lock.yaml
generated
90
pnpm-lock.yaml
generated
@@ -11,6 +11,9 @@ importers:
|
||||
'@vueuse/core':
|
||||
specifier: ^11.3.0
|
||||
version: 11.3.0(vue@3.5.13)
|
||||
'@vueuse/head':
|
||||
specifier: ^2.0.0
|
||||
version: 2.0.0(vue@3.5.13)
|
||||
axios:
|
||||
specifier: ^1.7.7
|
||||
version: 1.7.7
|
||||
@@ -465,55 +468,46 @@ packages:
|
||||
resolution: {integrity: sha512-h2Ay79YFXyQi+QZKo3ISZDyKaVD7uUvukEHTOft7kh00WF9mxAaxZsNs3o/eukbeKuH35jBvQqrT61fzKfAB/Q==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@rollup/rollup-linux-arm-musleabihf@4.27.3':
|
||||
resolution: {integrity: sha512-Sv2GWmrJfRY57urktVLQ0VKZjNZGogVtASAgosDZ1aUB+ykPxSi3X1nWORL5Jk0sTIIwQiPH7iE3BMi9zGWfkg==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@rollup/rollup-linux-arm64-gnu@4.27.3':
|
||||
resolution: {integrity: sha512-FPoJBLsPW2bDNWjSrwNuTPUt30VnfM8GPGRoLCYKZpPx0xiIEdFip3dH6CqgoT0RnoGXptaNziM0WlKgBc+OWQ==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@rollup/rollup-linux-arm64-musl@4.27.3':
|
||||
resolution: {integrity: sha512-TKxiOvBorYq4sUpA0JT+Fkh+l+G9DScnG5Dqx7wiiqVMiRSkzTclP35pE6eQQYjP4Gc8yEkJGea6rz4qyWhp3g==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@rollup/rollup-linux-powerpc64le-gnu@4.27.3':
|
||||
resolution: {integrity: sha512-v2M/mPvVUKVOKITa0oCFksnQQ/TqGrT+yD0184/cWHIu0LoIuYHwox0Pm3ccXEz8cEQDLk6FPKd1CCm+PlsISw==}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@rollup/rollup-linux-riscv64-gnu@4.27.3':
|
||||
resolution: {integrity: sha512-LdrI4Yocb1a/tFVkzmOE5WyYRgEBOyEhWYJe4gsDWDiwnjYKjNs7PS6SGlTDB7maOHF4kxevsuNBl2iOcj3b4A==}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@rollup/rollup-linux-s390x-gnu@4.27.3':
|
||||
resolution: {integrity: sha512-d4wVu6SXij/jyiwPvI6C4KxdGzuZOvJ6y9VfrcleHTwo68fl8vZC5ZYHsCVPUi4tndCfMlFniWgwonQ5CUpQcA==}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@rollup/rollup-linux-x64-gnu@4.27.3':
|
||||
resolution: {integrity: sha512-/6bn6pp1fsCGEY5n3yajmzZQAh+mW4QPItbiWxs69zskBzJuheb3tNynEjL+mKOsUSFK11X4LYF2BwwXnzWleA==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@rollup/rollup-linux-x64-musl@4.27.3':
|
||||
resolution: {integrity: sha512-nBXOfJds8OzUT1qUreT/en3eyOXd2EH5b0wr2bVB5999qHdGKkzGzIyKYaKj02lXk6wpN71ltLIaQpu58YFBoQ==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@rollup/rollup-win32-arm64-msvc@4.27.3':
|
||||
resolution: {integrity: sha512-ogfbEVQgIZOz5WPWXF2HVb6En+kWzScuxJo/WdQTqEgeyGkaa2ui5sQav9Zkr7bnNCLK48uxmmK0TySm22eiuw==}
|
||||
@@ -536,6 +530,23 @@ packages:
|
||||
'@types/web-bluetooth@0.0.20':
|
||||
resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
|
||||
|
||||
'@unhead/dom@1.11.20':
|
||||
resolution: {integrity: sha512-jgfGYdOH+xHJF/j8gudjsYu3oIjFyXhCWcgKaw3vQnT616gSqyqnGQGOItL+BQtQZACKNISwIfx5PuOtztMKLA==}
|
||||
|
||||
'@unhead/schema@1.11.20':
|
||||
resolution: {integrity: sha512-0zWykKAaJdm+/Y7yi/Yds20PrUK7XabLe9c3IRcjnwYmSWY6z0Cr19VIs3ozCj8P+GhR+/TI2mwtGlueCEYouA==}
|
||||
|
||||
'@unhead/shared@1.11.20':
|
||||
resolution: {integrity: sha512-1MOrBkGgkUXS+sOKz/DBh4U20DNoITlJwpmvSInxEUNhghSNb56S0RnaHRq0iHkhrO/cDgz2zvfdlRpoPLGI3w==}
|
||||
|
||||
'@unhead/ssr@1.11.20':
|
||||
resolution: {integrity: sha512-j6ehzmdWGAvv0TEZyLE3WBnG1ULnsbKQcLqBDh3fvKS6b3xutcVZB7mjvrVE7ckSZt6WwOtG0ED3NJDS7IjzBA==}
|
||||
|
||||
'@unhead/vue@1.11.20':
|
||||
resolution: {integrity: sha512-sqQaLbwqY9TvLEGeq8Fd7+F2TIuV3nZ5ihVISHjWpAM3y7DwNWRU7NmT9+yYT+2/jw1Vjwdkv5/HvDnvCLrgmg==}
|
||||
peerDependencies:
|
||||
vue: '>=2.7 || >=3'
|
||||
|
||||
'@vant/auto-import-resolver@1.2.1':
|
||||
resolution: {integrity: sha512-czGWW4UolNITkF3qQSQlpHDHAsI3/GHVKbRMmEEpry7NWdnU4p5a5jBi0VApbaLa5g80Hy10XVs3IB+UozoSUw==}
|
||||
|
||||
@@ -623,6 +634,11 @@ packages:
|
||||
'@vueuse/core@11.3.0':
|
||||
resolution: {integrity: sha512-7OC4Rl1f9G8IT6rUfi9JrKiXy4bfmHhZ5x2Ceojy0jnd3mHNEvV4JaRygH362ror6/NZ+Nl+n13LPzGiPN8cKA==}
|
||||
|
||||
'@vueuse/head@2.0.0':
|
||||
resolution: {integrity: sha512-ykdOxTGs95xjD4WXE4na/umxZea2Itl0GWBILas+O4oqS7eXIods38INvk3XkJKjqMdWPcpCyLX/DioLQxU1KA==}
|
||||
peerDependencies:
|
||||
vue: '>=2.7 || >=3'
|
||||
|
||||
'@vueuse/metadata@11.3.0':
|
||||
resolution: {integrity: sha512-pwDnDspTqtTo2HwfLw4Rp6yywuuBdYnPYDq+mO38ZYKGebCUQC/nVj/PXSiK9HX5otxLz8Fn7ECPbjiRz2CC3g==}
|
||||
|
||||
@@ -1132,6 +1148,9 @@ packages:
|
||||
package-json-from-dist@1.0.1:
|
||||
resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
|
||||
|
||||
packrup@0.1.2:
|
||||
resolution: {integrity: sha512-ZcKU7zrr5GlonoS9cxxrb5HVswGnyj6jQvwFBa6p5VFw7G71VAHcUKL5wyZSU/ECtPM/9gacWxy2KFQKt1gMNA==}
|
||||
|
||||
path-key@3.1.1:
|
||||
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
|
||||
engines: {node: '>=8'}
|
||||
@@ -1518,6 +1537,9 @@ packages:
|
||||
ufo@1.5.4:
|
||||
resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==}
|
||||
|
||||
unhead@1.11.20:
|
||||
resolution: {integrity: sha512-3AsNQC0pjwlLqEYHLjtichGWankK8yqmocReITecmpB1H0aOabeESueyy+8X1gyJx4ftZVwo9hqQ4O3fPWffCA==}
|
||||
|
||||
unimport@3.13.2:
|
||||
resolution: {integrity: sha512-VKAepeIb6BWLtBl4tmyHY1/7rJgz3ynmZrWf8cU1a+v5Uv/k1gyyAEeGBnYcrwy8bxG5sflxEx4a9VQUqOVHUA==}
|
||||
|
||||
@@ -1697,6 +1719,9 @@ packages:
|
||||
engines: {node: '>= 14'}
|
||||
hasBin: true
|
||||
|
||||
zhead@2.2.4:
|
||||
resolution: {integrity: sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==}
|
||||
|
||||
zrender@5.6.0:
|
||||
resolution: {integrity: sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==}
|
||||
|
||||
@@ -2097,6 +2122,34 @@ snapshots:
|
||||
|
||||
'@types/web-bluetooth@0.0.20': {}
|
||||
|
||||
'@unhead/dom@1.11.20':
|
||||
dependencies:
|
||||
'@unhead/schema': 1.11.20
|
||||
'@unhead/shared': 1.11.20
|
||||
|
||||
'@unhead/schema@1.11.20':
|
||||
dependencies:
|
||||
hookable: 5.5.3
|
||||
zhead: 2.2.4
|
||||
|
||||
'@unhead/shared@1.11.20':
|
||||
dependencies:
|
||||
'@unhead/schema': 1.11.20
|
||||
packrup: 0.1.2
|
||||
|
||||
'@unhead/ssr@1.11.20':
|
||||
dependencies:
|
||||
'@unhead/schema': 1.11.20
|
||||
'@unhead/shared': 1.11.20
|
||||
|
||||
'@unhead/vue@1.11.20(vue@3.5.13)':
|
||||
dependencies:
|
||||
'@unhead/schema': 1.11.20
|
||||
'@unhead/shared': 1.11.20
|
||||
hookable: 5.5.3
|
||||
unhead: 1.11.20
|
||||
vue: 3.5.13
|
||||
|
||||
'@vant/auto-import-resolver@1.2.1': {}
|
||||
|
||||
'@vant/popperjs@1.3.0': {}
|
||||
@@ -2242,6 +2295,14 @@ snapshots:
|
||||
- '@vue/composition-api'
|
||||
- vue
|
||||
|
||||
'@vueuse/head@2.0.0(vue@3.5.13)':
|
||||
dependencies:
|
||||
'@unhead/dom': 1.11.20
|
||||
'@unhead/schema': 1.11.20
|
||||
'@unhead/ssr': 1.11.20
|
||||
'@unhead/vue': 1.11.20(vue@3.5.13)
|
||||
vue: 3.5.13
|
||||
|
||||
'@vueuse/metadata@11.3.0': {}
|
||||
|
||||
'@vueuse/shared@11.3.0(vue@3.5.13)':
|
||||
@@ -2698,6 +2759,8 @@ snapshots:
|
||||
|
||||
package-json-from-dist@1.0.1: {}
|
||||
|
||||
packrup@0.1.2: {}
|
||||
|
||||
path-key@3.1.1: {}
|
||||
|
||||
path-key@4.0.0: {}
|
||||
@@ -3059,6 +3122,13 @@ snapshots:
|
||||
|
||||
ufo@1.5.4: {}
|
||||
|
||||
unhead@1.11.20:
|
||||
dependencies:
|
||||
'@unhead/dom': 1.11.20
|
||||
'@unhead/schema': 1.11.20
|
||||
'@unhead/shared': 1.11.20
|
||||
hookable: 5.5.3
|
||||
|
||||
unimport@3.13.2(rollup@4.27.3):
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.1.3(rollup@4.27.3)
|
||||
@@ -3249,6 +3319,8 @@ snapshots:
|
||||
|
||||
yaml@2.6.1: {}
|
||||
|
||||
zhead@2.2.4: {}
|
||||
|
||||
zrender@5.6.0:
|
||||
dependencies:
|
||||
tslib: 2.3.0
|
||||
|
||||
@@ -286,6 +286,14 @@ const allMenuItems = [
|
||||
description:
|
||||
"车辆过户次数查询功能可以帮助用户了解车辆的过户历史,提供车辆的转手记录和所有权变更情况,帮助用户判断车辆的历史背景。",
|
||||
},
|
||||
{
|
||||
title: "车辆过户简版",
|
||||
icon: carClghIcon,
|
||||
product: "toc_vehicleTransferDetail",
|
||||
category: "车辆信息查询",
|
||||
description:
|
||||
"车辆过户简版查询功能提供更详细的车辆过户信息,包括过户次数、最近过户时间、是否过户标识等,帮助用户全面了解车辆的历史过户情况。",
|
||||
},
|
||||
{
|
||||
title: "车辆估值",
|
||||
icon: carClgzIcon,
|
||||
|
||||
97
src/ui/QCGX1H7Y.vue
Normal file
97
src/ui/QCGX1H7Y.vue
Normal file
@@ -0,0 +1,97 @@
|
||||
<template>
|
||||
<div class="card">
|
||||
<div class="flex flex-col gap-y-4">
|
||||
<!-- 标题部分 -->
|
||||
<div class="flex items-center justify-between">
|
||||
<span class="text-lg font-bold text-gray-800">车辆过户信息</span>
|
||||
<van-tag :type="getStatusType" round>{{ getStatusText }}</van-tag>
|
||||
</div>
|
||||
|
||||
<!-- 过户次数显示 -->
|
||||
<div class="flex items-center justify-center py-6">
|
||||
<div class="text-center">
|
||||
<div class="text-5xl font-bold" :class="getTextColorClass">
|
||||
{{ data.transferNum }}
|
||||
</div>
|
||||
<div class="text-gray-500 mt-2">历史过户次数</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 风险提示 -->
|
||||
<div class="bg-gray-50 p-4 rounded-lg">
|
||||
<div class="flex items-start gap-2">
|
||||
<van-icon name="info-o" class="text-blue-500 mt-0.5" />
|
||||
<div class="flex-1">
|
||||
<div class="text-sm text-gray-600">风险提示</div>
|
||||
<div class="text-sm text-gray-500 mt-1">
|
||||
{{ getRiskTip }}
|
||||
</div>
|
||||
<div v-if="data.transferDate && data.transferFlag === '1'" class="text-sm text-gray-500 mt-2">
|
||||
最近过户时间:{{ data.transferDate }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 说明信息 -->
|
||||
<div class="text-xs text-gray-400 mt-2">
|
||||
注:过户次数仅供参考,建议您在购车时详细了解车辆历史信息
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { computed } from 'vue';
|
||||
import { Icon as VanIcon, Tag as VanTag } from 'vant';
|
||||
|
||||
const props = defineProps({
|
||||
data: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
params: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
});
|
||||
|
||||
// 根据是否过户标识返回对应的状态类型
|
||||
const getStatusType = computed(() => {
|
||||
const transferFlag = props.data.transferFlag;
|
||||
const transferNum = Number(props.data.transferNum) || 0;
|
||||
if (transferFlag === '0') return 'success';
|
||||
if (transferNum <= 2) return 'warning';
|
||||
return 'danger';
|
||||
});
|
||||
|
||||
// 根据是否过户标识和过户次数返回对应的状态文本
|
||||
const getStatusText = computed(() => {
|
||||
const transferFlag = props.data.transferFlag;
|
||||
const transferNum = Number(props.data.transferNum) || 0;
|
||||
if (transferFlag === '0') return '无过户记录';
|
||||
if (transferNum <= 2) return '正常范围';
|
||||
return '频繁过户';
|
||||
});
|
||||
|
||||
// 根据过户次数返回对应的文字颜色
|
||||
const getTextColorClass = computed(() => {
|
||||
const transferNum = Number(props.data.transferNum) || 0;
|
||||
if (transferNum === 0) return 'text-green-500';
|
||||
if (transferNum <= 2) return 'text-orange-500';
|
||||
return 'text-red-500';
|
||||
});
|
||||
|
||||
// 根据过户标识和过户次数返回对应的风险提示
|
||||
const getRiskTip = computed(() => {
|
||||
const transferFlag = props.data.transferFlag;
|
||||
const transferNum = Number(props.data.transferNum) || 0;
|
||||
if (transferFlag === '0' || transferNum === 0) {
|
||||
return '该车辆无过户记录,为首任车主,风险较低。';
|
||||
} else if (transferNum <= 2) {
|
||||
return '该车辆过户次数在正常范围内,建议核实每次过户原因。';
|
||||
} else {
|
||||
return '该车辆过户频繁,请谨慎考虑并详细了解车况。';
|
||||
}
|
||||
});
|
||||
</script>
|
||||
1
src/ui/Untitled
Normal file
1
src/ui/Untitled
Normal file
@@ -0,0 +1 @@
|
||||
QCXG1H7Y
|
||||
@@ -217,6 +217,10 @@ const featureMap = {
|
||||
component: defineAsyncComponent(() => import("@/ui/IVYZ3P9M.vue")),
|
||||
remark: '学历信息展示学生姓名、身份证号、学校、专业、入学与毕业时间、学历层次以及学习形式等字段,可结合字典编码了解具体含义。',
|
||||
},
|
||||
toc_vehicleTransferDetail: {
|
||||
name: "车辆过户详版",
|
||||
component: defineAsyncComponent(() => import("@/ui/QCGX1H7Y.vue")),
|
||||
},
|
||||
};
|
||||
|
||||
import LEmpty from "@/components/LEmpty.vue";
|
||||
|
||||
@@ -509,6 +509,7 @@ const specialProduct = {
|
||||
toc_vehicleValuation: ["vinCode", "carLicense"], // 车辆估价
|
||||
toc_chassisNumberCheck: ["vinCode"], // 车辆车架号查车
|
||||
toc_vehicleTransferCount: ["vinCode"], // 车辆过户次数
|
||||
toc_vehicleTransferDetail: ["vinCode","carLicense"], // 车辆过户简版/详版
|
||||
};
|
||||
const NeedAuthorization = ["toc_Marriage"];
|
||||
const isHasInput = (input) => {
|
||||
|
||||
@@ -218,6 +218,10 @@ const featureMap = {
|
||||
component: defineAsyncComponent(() => import("@/ui/IVYZ3P9M.vue")),
|
||||
remark: '学历信息展示学生姓名、身份证号、学校、专业、入学与毕业时间、学历层次以及学习形式等字段,可结合字典编码了解具体含义。',
|
||||
},
|
||||
QCGX1H7Y: {
|
||||
name: "车辆过户详版",
|
||||
component: defineAsyncComponent(() => import("@/ui/QCGX1H7Y.vue")),
|
||||
},
|
||||
};
|
||||
|
||||
import LEmpty from "@/components/LEmpty.vue";
|
||||
|
||||
@@ -14,21 +14,21 @@ export default defineConfig({
|
||||
port: 5678, // 自定义端口号,可选
|
||||
strictPort: true, // 如果端口被占用则抛出错误而不是使用下一个可用端口
|
||||
proxy: {
|
||||
"/api/v1": {
|
||||
target: "https://www.tianyuancha.cn", // 本地接口地址
|
||||
changeOrigin: true,
|
||||
},
|
||||
|
||||
"/api/v1/chat": {
|
||||
target: "https://www.tianyuancha.cn", // 本地接口地址
|
||||
changeOrigin: true,
|
||||
// rewrite: (path) => path.replace(/^\/api\/v1\/chat/, '/chat')
|
||||
},
|
||||
|
||||
// "/api/v1": {
|
||||
// target: "http://127.0.0.1:8888", // 本地接口地址
|
||||
// target: "https://www.tianyuancha.cn", // 本地接口地址
|
||||
// changeOrigin: true,
|
||||
// },
|
||||
|
||||
// "/api/v1/chat": {
|
||||
// target: "https://www.tianyuancha.cn", // 本地接口地址
|
||||
// changeOrigin: true,
|
||||
// // rewrite: (path) => path.replace(/^\/api\/v1\/chat/, '/chat')
|
||||
// },
|
||||
|
||||
"/api/v1": {
|
||||
target: "http://127.0.0.1:8888", // 本地接口地址
|
||||
changeOrigin: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
build: {
|
||||
|
||||
Reference in New Issue
Block a user