zs 1 year ago
parent
commit
162e3ff526

+ 5 - 0
config.js

@@ -24,6 +24,11 @@ export default {
 			title: "我的收藏",
 			route: "pagesMy/collect/index",
 		},
+		{
+			icon: "hourglass",
+			title: "评估车辆",
+			route: "pagesMy/car/index",
+		},
 		{
 			icon: "grid",
 			title: "退出登录",

+ 6 - 0
pages.json

@@ -155,6 +155,12 @@
 					"style": {
 						"navigationBarTitleText": "我的收藏"
 					}
+				},
+				{
+					"path": "car/index",
+					"style": {
+						"navigationBarTitleText": "评估车辆"
+					}
 				}
 			]
 		}

+ 45 - 24
pagesHome/sell/index.vue

@@ -18,7 +18,7 @@
 							<image class="image"
 								:src="form.brand?.url&&form.brand?.url.length>0?form.brand?.url[0].url:'/static/logo.png'">
 							</image>
-							<view class="title">{{form.brand?.title}}</view>
+							<view class="title">{{form.brand}}</view>
 							<u-icon name="arrow-right"></u-icon>
 						</view>
 						<u--form class="form" :model="form" ref="uForm" :rules="rules" labelWidth="65"
@@ -53,13 +53,13 @@
 								</template>
 							</u-form-item>
 							<u-form-item label="上牌城市" prop="city">
-								<text class="picker" @tap="toCity">{{form.city?.name||'请选择'}}</text>
+								<text class="picker" @tap="toCity">{{form.city||'请选择'}}</text>
 								<template #right>
 									<u-icon name="arrow-right"></u-icon>
 								</template>
 							</u-form-item>
 							<u-form-item label="估值地区" prop="place">
-								<text class="picker" @tap="toPlace">{{form.place?.name||'请选择'}}</text>
+								<text class="picker" @tap="toPlace">{{form.place||'请选择'}}</text>
 								<template #right>
 									<u-icon name="arrow-right"></u-icon>
 								</template>
@@ -92,7 +92,7 @@
 </template>
 
 <script setup lang="ts">
-	import { getCurrentInstance, reactive, ref } from 'vue';
+	import { getCurrentInstance, computed, ref } from 'vue';
 	//该依赖已内置不需要单独安装
 	import { onLoad, onShow } from "@dcloudio/uni-app";
 	// 请求接口
@@ -104,7 +104,7 @@
 	const agree = ref(false);
 	// 用户信息
 	const user = ref({});
-	const form = reactive({ bank: '', type: '', start: '', course: '', place: '', city: '', tel: '' });
+	const form = ref({ brand: '', bank: '', type: '', start: '', course: '', place: '', city: '', tel: '' });
 	const rules = {
 		'bank': {
 			type: 'string',
@@ -130,18 +130,6 @@
 			message: '请选择行驶里程',
 			trigger: ['blur', 'change'],
 		},
-		'place': {
-			type: 'string',
-			required: true,
-			message: '请选择估值地区',
-			trigger: ['blur', 'change'],
-		},
-		'city': {
-			type: 'string',
-			required: true,
-			message: '请选择上牌城市',
-			trigger: ['blur', 'change'],
-		},
 		'tel': {
 			type: 'string',
 			required: true,
@@ -150,6 +138,10 @@
 		}
 	}
 	const uForm = ref(null);
+	// openid
+	const openid = computed(() => {
+		return uni.getStorageSync('openid');
+	})
 	// 字典表
 	const courseList = ref([{ value: '1', label: '1万公里' }, { value: '2', label: '2万公里' }, { value: '3', label: '3万公里' }, { value: '4', label: '4万公里' }, { value: '5', label: '5万公里' }]);
 	onLoad(async () => {
@@ -157,10 +149,10 @@
 	})
 	onShow(() => {
 		uni.$on('toRoute', function (data) {
-			form.value.brand = data
+			form.value.brand = data.title
 		})
 		uni.$on('toCity', function (data) {
-			form.value[data.field] = data
+			form.value[data.field] = data.name
 		})
 	})
 	// config信息
@@ -197,11 +189,40 @@
 	// 估价
 	const toEvaluate = async () => {
 		if (agree.value) {
-			uForm.value.validate().then(res => {
-				console.log(res, '成功');
-			}).catch(err => {
-				console.log(err, '校验失败');
-			})
+			if (openid.value) {
+				uForm.value.validate().then(async res => {
+					if (form.value.place || form.value.city) {
+						form.value.openid = openid.value
+						const res = await $api(`estimate`, 'POST', form.value);
+						if (res.errcode == 0) {
+							uni.showToast({
+								title: '免费估价申请成功',
+								icon: 'none'
+							})
+							uni.navigateBack({
+								delta: 1
+							})
+						} else {
+							uni.showToast({
+								title: res.errmsg,
+								icon: 'none'
+							})
+						}
+					} else {
+						uni.showToast({
+							title: '缺少城市信息',
+							icon: 'none'
+						})
+					}
+				}).catch(err => {
+					console.log(err, '校验失败');
+				})
+			} else {
+				uni.showToast({
+					title: '系统更新中,请稍后再试!',
+					icon: 'none'
+				})
+			}
 		} else {
 			uni.showToast({
 				title: '请阅读并同意用户协议和隐私政策',

+ 208 - 0
pagesMy/car/index.vue

@@ -0,0 +1,208 @@
+<template>
+	<view class="content">
+		<view class="top">
+			<u-search shape="square" :show-action="false" placeholder="品牌/车系"></u-search>
+		</view>
+		<view class="bottom">
+			<scroll-view scroll-y="true" class="scroll-view" @scrolltolower="toPage">
+				<view class="list-scroll-view">
+					<view class="list" v-for="(item, index) in list" :key="index">
+						<view class="name textOver">
+							<text>{{item.brand||'暂无'}} {{item.bank||'暂无'}} {{item.type||'暂无'}}</text>
+						</view>
+						<view class="other textOver" v-if="item.start">
+							<text>上牌日期:</text>
+							<text>{{item.start||'暂无'}}</text>
+						</view>
+						<view class="other textOver" v-if="item.course">
+							<text>行驶里程:</text>
+							<text>{{item.course||'暂无'}}</text>
+						</view>
+						<view class="other textOver" v-if="item.city">
+							<text>上牌城市:</text>
+							<text>{{item.city||'暂无'}}</text>
+						</view>
+						<view class="other textOver" v-if="item.place">
+							<text>估值地区:</text>
+							<text>{{item.place||'暂无'}}</text>
+						</view>
+						<view class="other textOver" v-if="item.estimate">
+							<text>预估价格:</text>
+							<text>{{item.estimate||'暂无'}}万元</text>
+						</view>
+						<view class="other textOver" v-if="item.status">
+							<text>状态:</text>
+							<text style="color: red;">{{getDict(item.status,'status')}}</text>
+						</view>
+					</view>
+					<view class="is_bottom" v-if="is_bottom">
+						<text>{{config.bottom_title||'没有更多了!'}}</text>
+					</view>
+				</view>
+			</scroll-view>
+		</view>
+	</view>
+</template>
+
+<script setup lang="ts">
+	import { getCurrentInstance, computed, ref } from 'vue';
+	//该依赖已内置不需要单独安装
+	import { onLoad } from "@dcloudio/uni-app";
+	// 请求接口
+	const $api = getCurrentInstance()?.appContext.config.globalProperties.$api;
+	const $config = getCurrentInstance()?.appContext.config.globalProperties.$config;
+	// openid
+	const openid = computed(() => {
+		return uni.getStorageSync('openid');
+	})
+	// 查询
+	const searchInfo = ref({});
+	// 基本信息
+	const config = ref({ logoUrl: [] });
+	// 列表
+	const list = ref([]);
+	const total = ref(0);
+	const skip = ref(0);
+	const limit = ref(6);
+	const page = ref(0);
+	// 数据是否触底
+	const is_bottom = ref(false);
+	const scrollTop = ref(0);
+	// 字典表
+	const statusList = ref([]);
+	onLoad(async () => {
+		await searchOther();
+		await searchConfig();
+		await search();
+	})
+	// 查询其他信息
+	const searchOther = async () => {
+		let res;
+		// 状态
+		res = await $api(`dictData`, 'GET', { code: 'valuation', is_use: '0' });
+		if (res.errcode === 0) statusList.value = res.data;
+	};
+	// config信息
+	const searchConfig = async () => {
+		config.value = uni.getStorageSync('config');
+	};
+	// 查询
+	const search = async () => {
+		const info = {
+			skip: skip.value,
+			limit: limit.value,
+			// openid: openid.value
+		}
+		const res = await $api('estimate', 'GET', {
+			...info,
+			...searchInfo.value
+		});
+		if (res.errcode === 0) {
+			list.value = list.value.concat(res.data)
+			total.value = res.total
+		} else {
+			uni.showToast({
+				title: res.errmsg || '',
+				icon: 'error',
+			});
+		}
+	};
+	// 数据处理
+	const getDict = (data, model) => {
+		let list;
+		switch (model) {
+			case 'status':
+				list = statusList.value;
+				break;
+			default:
+				break;
+		}
+		if (!list) return;
+		const res = list.find((f) => f.value == data);
+		return res?.label || '暂无';
+	};
+	// 分页
+	const toPage = () => {
+		if (total.value > list.value.length) {
+			uni.showLoading({
+				title: '加载中',
+				mask: true
+			})
+			page.value = page.value + 1;
+			skip.value = page.value * limit.value;
+			search();
+			uni.hideLoading();
+		} else is_bottom.value = true
+	};
+	// 清空列表
+	const clearPage = () => {
+		list.value = []
+		skip.value = 0
+		limit.value = 6
+		page.value = 0
+	};
+</script>
+<style lang="scss" scoped>
+	.content {
+		display: flex;
+		flex-direction: column;
+		width: 100vw;
+		height: 100vh;
+
+		.top {
+			margin: 2vw;
+		}
+
+		.bottom {
+			position: relative;
+			flex-grow: 1;
+			background-color: var(--f9Color);
+
+			.list {
+				background-color: var(--mainColor);
+				border: 1px solid var(--f5Color);
+				padding: 2vw;
+				margin: 2vw 2vw 0 2vw;
+				border-radius: 5px;
+
+				.name {
+					font-size: var(--font16Size);
+					margin: 0 0 1vw 0;
+				}
+
+				.other {
+					font-size: var(--font14Size);
+
+					text:first-child {
+						color: var(--f85Color);
+					}
+				}
+			}
+		}
+	}
+
+	.scroll-view {
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		bottom: 0;
+
+		.list-scroll-view {
+			display: flex;
+			flex-direction: column;
+		}
+	}
+
+	.is_bottom {
+		width: 100%;
+		text-align: center;
+
+		text {
+			padding: 2vw 0;
+			display: inline-block;
+			color: var(--f85Color);
+			font-size: var(--font12Size);
+		}
+	}
+</style>

+ 19 - 1
pagesMy/collect/index.vue

@@ -161,7 +161,24 @@
 	};
 	// 查询
 	const search = async () => {
-
+		// const info = {
+		// 	skip: skip.value,
+		// 	limit: limit.value,
+		// 	status: '0'
+		// }
+		// const res = await $api('car', 'GET', {
+		// 	...info,
+		// 	...searchInfo.value
+		// });
+		// if (res.errcode === 0) {
+		// 	list.value = list.value.concat(res.data)
+		// 	total.value = res.total
+		// } else {
+		// 	uni.showToast({
+		// 		title: res.errmsg || '',
+		// 		icon: 'error',
+		// 	});
+		// }
 	};
 	const toRoute = (item) => {
 		uni.navigateTo({
@@ -256,6 +273,7 @@
 					display: flex;
 					flex-direction: column;
 					justify-content: space-between;
+					margin: 0 0 0 2vw;
 					width: 100%;
 
 					.name {

+ 1 - 0
unpackage/dist/dev/mp-weixin/app.js

@@ -23,6 +23,7 @@ if (!Math) {
   "./pagesHome/login/index.js";
   "./pagesMy/basic/index.js";
   "./pagesMy/collect/index.js";
+  "./pagesMy/car/index.js";
 }
 const _sfc_main = {
   onLaunch: function() {

+ 2 - 1
unpackage/dist/dev/mp-weixin/app.json

@@ -27,7 +27,8 @@
       "root": "pagesMy",
       "pages": [
         "basic/index",
-        "collect/index"
+        "collect/index",
+        "car/index"
       ]
     }
   ],

+ 0 - 1
unpackage/dist/dev/mp-weixin/common/vendor.js

@@ -16805,7 +16805,6 @@ exports.props$6 = props$g;
 exports.props$7 = props$f;
 exports.props$8 = props$e;
 exports.props$9 = props$d;
-exports.reactive = reactive;
 exports.ref = ref;
 exports.resolveComponent = resolveComponent;
 exports.s = s;

+ 5 - 0
unpackage/dist/dev/mp-weixin/config.js

@@ -24,6 +24,11 @@ const config = {
       title: "我的收藏",
       route: "pagesMy/collect/index"
     },
+    {
+      icon: "hourglass",
+      title: "评估车辆",
+      route: "pagesMy/car/index"
+    },
     {
       icon: "grid",
       title: "退出登录"

+ 59 - 39
unpackage/dist/dev/mp-weixin/pagesHome/sell/index.js

@@ -16,12 +16,12 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
   __name: "index",
   setup(__props) {
     var _a, _b;
-    (_a = common_vendor.getCurrentInstance()) == null ? void 0 : _a.appContext.config.globalProperties.$api;
+    const $api = (_a = common_vendor.getCurrentInstance()) == null ? void 0 : _a.appContext.config.globalProperties.$api;
     (_b = common_vendor.getCurrentInstance()) == null ? void 0 : _b.appContext.config.globalProperties.$config;
     const config = common_vendor.ref({});
     const agree = common_vendor.ref(false);
     common_vendor.ref({});
-    const form = common_vendor.reactive({ bank: "", type: "", start: "", course: "", place: "", city: "", tel: "" });
+    const form = common_vendor.ref({ brand: "", bank: "", type: "", start: "", course: "", place: "", city: "", tel: "" });
     const rules = {
       "bank": {
         type: "string",
@@ -47,18 +47,6 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
         message: "请选择行驶里程",
         trigger: ["blur", "change"]
       },
-      "place": {
-        type: "string",
-        required: true,
-        message: "请选择估值地区",
-        trigger: ["blur", "change"]
-      },
-      "city": {
-        type: "string",
-        required: true,
-        message: "请选择上牌城市",
-        trigger: ["blur", "change"]
-      },
       "tel": {
         type: "string",
         required: true,
@@ -67,16 +55,19 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
       }
     };
     const uForm = common_vendor.ref(null);
+    const openid = common_vendor.computed(() => {
+      return common_vendor.index.getStorageSync("openid");
+    });
     const courseList = common_vendor.ref([{ value: "1", label: "1万公里" }, { value: "2", label: "2万公里" }, { value: "3", label: "3万公里" }, { value: "4", label: "4万公里" }, { value: "5", label: "5万公里" }]);
     common_vendor.onLoad(async () => {
       await searchConfig();
     });
     common_vendor.onShow(() => {
       common_vendor.index.$on("toRoute", function(data) {
-        form.value.brand = data;
+        form.value.brand = data.title;
       });
       common_vendor.index.$on("toCity", function(data) {
-        form.value[data.field] = data;
+        form.value[data.field] = data.name;
       });
     });
     const searchConfig = async () => {
@@ -107,11 +98,40 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
     };
     const toEvaluate = async () => {
       if (agree.value) {
-        uForm.value.validate().then((res) => {
-          console.log(res, "成功");
-        }).catch((err) => {
-          console.log(err, "校验失败");
-        });
+        if (openid.value) {
+          uForm.value.validate().then(async (res) => {
+            if (form.value.place || form.value.city) {
+              form.value.openid = openid.value;
+              const res2 = await $api(`estimate`, "POST", form.value);
+              if (res2.errcode == 0) {
+                common_vendor.index.showToast({
+                  title: "免费估价申请成功",
+                  icon: "none"
+                });
+                common_vendor.index.navigateBack({
+                  delta: 1
+                });
+              } else {
+                common_vendor.index.showToast({
+                  title: res2.errmsg,
+                  icon: "none"
+                });
+              }
+            } else {
+              common_vendor.index.showToast({
+                title: "缺少城市信息",
+                icon: "none"
+              });
+            }
+          }).catch((err) => {
+            console.log(err, "校验失败");
+          });
+        } else {
+          common_vendor.index.showToast({
+            title: "系统更新中,请稍后再试!",
+            icon: "none"
+          });
+        }
       } else {
         common_vendor.index.showToast({
           title: "请阅读并同意用户协议和隐私政策",
@@ -128,10 +148,10 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
       agree.value = !agree.value;
     };
     return (_ctx, _cache) => {
-      var _a2, _b2, _c, _d, _e, _f, _g, _h;
+      var _a2, _b2, _c, _d, _e;
       return common_vendor.e({
-        a: !form.brand && !((_a2 = form.brand) == null ? void 0 : _a2.title)
-      }, !form.brand && !((_b2 = form.brand) == null ? void 0 : _b2.title) ? {
+        a: !form.value.brand && !((_a2 = form.value.brand) == null ? void 0 : _a2.title)
+      }, !form.value.brand && !((_b2 = form.value.brand) == null ? void 0 : _b2.title) ? {
         b: common_vendor.p({
           name: "plus-circle-fill",
           size: "20",
@@ -139,15 +159,15 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
         }),
         c: common_vendor.o(toSelect)
       } : {
-        d: ((_c = form.brand) == null ? void 0 : _c.url) && ((_d = form.brand) == null ? void 0 : _d.url.length) > 0 ? (_e = form.brand) == null ? void 0 : _e.url[0].url : "/static/logo.png",
-        e: common_vendor.t((_f = form.brand) == null ? void 0 : _f.title),
+        d: ((_c = form.value.brand) == null ? void 0 : _c.url) && ((_d = form.value.brand) == null ? void 0 : _d.url.length) > 0 ? (_e = form.value.brand) == null ? void 0 : _e.url[0].url : "/static/logo.png",
+        e: common_vendor.t(form.value.brand),
         f: common_vendor.p({
           name: "arrow-right"
         }),
         g: common_vendor.o(toSelect)
       }, {
-        h: form.bank,
-        i: common_vendor.o(($event) => form.bank = $event.detail.value),
+        h: form.value.bank,
+        i: common_vendor.o(($event) => form.value.bank = $event.detail.value),
         j: common_vendor.p({
           name: "arrow-right"
         }),
@@ -155,8 +175,8 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
           label: "车辆车系",
           prop: "bank"
         }),
-        l: form.type,
-        m: common_vendor.o(($event) => form.type = $event.detail.value),
+        l: form.value.type,
+        m: common_vendor.o(($event) => form.value.type = $event.detail.value),
         n: common_vendor.p({
           name: "arrow-right"
         }),
@@ -164,7 +184,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
           label: "车辆车型",
           prop: "type"
         }),
-        p: common_vendor.t(form.start || "请选择"),
+        p: common_vendor.t(form.value.start || "请选择"),
         q: common_vendor.o(dateChange),
         r: common_vendor.p({
           name: "arrow-right"
@@ -173,7 +193,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
           label: "上牌日期",
           prop: "start"
         }),
-        t: common_vendor.t(form.course || "请选择"),
+        t: common_vendor.t(form.value.course || "请选择"),
         v: common_vendor.o(courseChange),
         w: _ctx.index,
         x: courseList.value,
@@ -184,7 +204,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
           label: "行驶里程",
           prop: "course"
         }),
-        A: common_vendor.t(((_g = form.city) == null ? void 0 : _g.name) || "请选择"),
+        A: common_vendor.t(form.value.city || "请选择"),
         B: common_vendor.o(toCity),
         C: common_vendor.p({
           name: "arrow-right"
@@ -193,7 +213,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
           label: "上牌城市",
           prop: "city"
         }),
-        E: common_vendor.t(((_h = form.place) == null ? void 0 : _h.name) || "请选择"),
+        E: common_vendor.t(form.value.place || "请选择"),
         F: common_vendor.o(toPlace),
         G: common_vendor.p({
           name: "arrow-right"
@@ -202,14 +222,14 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
           label: "估值地区",
           prop: "place"
         }),
-        I: form.contacts,
-        J: common_vendor.o(($event) => form.contacts = $event.detail.value),
+        I: form.value.contacts,
+        J: common_vendor.o(($event) => form.value.contacts = $event.detail.value),
         K: common_vendor.p({
           label: "联系人",
           prop: "contacts"
         }),
-        L: form.tel,
-        M: common_vendor.o(($event) => form.tel = $event.detail.value),
+        L: form.value.tel,
+        M: common_vendor.o(($event) => form.value.tel = $event.detail.value),
         N: common_vendor.p({
           label: "联系电话",
           prop: "tel"
@@ -218,7 +238,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
           "k": "uForm"
         }),
         P: common_vendor.p({
-          model: form,
+          model: form.value,
           rules,
           labelWidth: "65",
           ["border-bottom"]: true

+ 138 - 0
unpackage/dist/dev/mp-weixin/pagesMy/car/index.js

@@ -0,0 +1,138 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+if (!Array) {
+  const _easycom_u_search2 = common_vendor.resolveComponent("u-search");
+  _easycom_u_search2();
+}
+const _easycom_u_search = () => "../../node-modules/uview-plus/components/u-search/u-search.js";
+if (!Math) {
+  _easycom_u_search();
+}
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+  __name: "index",
+  setup(__props) {
+    var _a, _b;
+    const $api = (_a = common_vendor.getCurrentInstance()) == null ? void 0 : _a.appContext.config.globalProperties.$api;
+    (_b = common_vendor.getCurrentInstance()) == null ? void 0 : _b.appContext.config.globalProperties.$config;
+    common_vendor.computed(() => {
+      return common_vendor.index.getStorageSync("openid");
+    });
+    const searchInfo = common_vendor.ref({});
+    const config = common_vendor.ref({ logoUrl: [] });
+    const list = common_vendor.ref([]);
+    const total = common_vendor.ref(0);
+    const skip = common_vendor.ref(0);
+    const limit = common_vendor.ref(6);
+    const page = common_vendor.ref(0);
+    const is_bottom = common_vendor.ref(false);
+    common_vendor.ref(0);
+    const statusList = common_vendor.ref([]);
+    common_vendor.onLoad(async () => {
+      await searchOther();
+      await searchConfig();
+      await search();
+    });
+    const searchOther = async () => {
+      let res;
+      res = await $api(`dictData`, "GET", { code: "valuation", is_use: "0" });
+      if (res.errcode === 0)
+        statusList.value = res.data;
+    };
+    const searchConfig = async () => {
+      config.value = common_vendor.index.getStorageSync("config");
+    };
+    const search = async () => {
+      const info = {
+        skip: skip.value,
+        limit: limit.value
+        // openid: openid.value
+      };
+      const res = await $api("estimate", "GET", {
+        ...info,
+        ...searchInfo.value
+      });
+      if (res.errcode === 0) {
+        list.value = list.value.concat(res.data);
+        total.value = res.total;
+      } else {
+        common_vendor.index.showToast({
+          title: res.errmsg || "",
+          icon: "error"
+        });
+      }
+    };
+    const getDict = (data, model) => {
+      let list2;
+      switch (model) {
+        case "status":
+          list2 = statusList.value;
+          break;
+      }
+      if (!list2)
+        return;
+      const res = list2.find((f) => f.value == data);
+      return (res == null ? void 0 : res.label) || "暂无";
+    };
+    const toPage = () => {
+      if (total.value > list.value.length) {
+        common_vendor.index.showLoading({
+          title: "加载中",
+          mask: true
+        });
+        page.value = page.value + 1;
+        skip.value = page.value * limit.value;
+        search();
+        common_vendor.index.hideLoading();
+      } else
+        is_bottom.value = true;
+    };
+    return (_ctx, _cache) => {
+      return common_vendor.e({
+        a: common_vendor.p({
+          shape: "square",
+          ["show-action"]: false,
+          placeholder: "品牌/车系"
+        }),
+        b: common_vendor.f(list.value, (item, index, i0) => {
+          return common_vendor.e({
+            a: common_vendor.t(item.brand || "暂无"),
+            b: common_vendor.t(item.bank || "暂无"),
+            c: common_vendor.t(item.type || "暂无"),
+            d: item.start
+          }, item.start ? {
+            e: common_vendor.t(item.start || "暂无")
+          } : {}, {
+            f: item.course
+          }, item.course ? {
+            g: common_vendor.t(item.course || "暂无")
+          } : {}, {
+            h: item.city
+          }, item.city ? {
+            i: common_vendor.t(item.city || "暂无")
+          } : {}, {
+            j: item.place
+          }, item.place ? {
+            k: common_vendor.t(item.place || "暂无")
+          } : {}, {
+            l: item.estimate
+          }, item.estimate ? {
+            m: common_vendor.t(item.estimate || "暂无")
+          } : {}, {
+            n: item.status
+          }, item.status ? {
+            o: common_vendor.t(getDict(item.status, "status"))
+          } : {}, {
+            p: index
+          });
+        }),
+        c: is_bottom.value
+      }, is_bottom.value ? {
+        d: common_vendor.t(config.value.bottom_title || "没有更多了!")
+      } : {}, {
+        e: common_vendor.o(toPage)
+      });
+    };
+  }
+});
+const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-8e01b58b"], ["__file", "D:/project/二手车/car_applet/pagesMy/car/index.vue"]]);
+wx.createPage(MiniProgramPage);

+ 6 - 0
unpackage/dist/dev/mp-weixin/pagesMy/car/index.json

@@ -0,0 +1,6 @@
+{
+  "navigationBarTitleText": "评估车辆",
+  "usingComponents": {
+    "u-search": "../../node-modules/uview-plus/components/u-search/u-search"
+  }
+}

File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/mp-weixin/pagesMy/car/index.wxml


+ 58 - 0
unpackage/dist/dev/mp-weixin/pagesMy/car/index.wxss

@@ -0,0 +1,58 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+/* uni.scss */
+.content.data-v-8e01b58b {
+  display: flex;
+  flex-direction: column;
+  width: 100vw;
+  height: 100vh;
+}
+.content .top.data-v-8e01b58b {
+  margin: 2vw;
+}
+.content .bottom.data-v-8e01b58b {
+  position: relative;
+  flex-grow: 1;
+  background-color: var(--f9Color);
+}
+.content .bottom .list.data-v-8e01b58b {
+  background-color: var(--mainColor);
+  border: 1px solid var(--f5Color);
+  padding: 2vw;
+  margin: 2vw 2vw 0 2vw;
+  border-radius: 5px;
+}
+.content .bottom .list .name.data-v-8e01b58b {
+  font-size: var(--font16Size);
+  margin: 0 0 1vw 0;
+}
+.content .bottom .list .other.data-v-8e01b58b {
+  font-size: var(--font14Size);
+}
+.content .bottom .list .other text.data-v-8e01b58b:first-child {
+  color: var(--f85Color);
+}
+.scroll-view.data-v-8e01b58b {
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+}
+.scroll-view .list-scroll-view.data-v-8e01b58b {
+  display: flex;
+  flex-direction: column;
+}
+.is_bottom.data-v-8e01b58b {
+  width: 100%;
+  text-align: center;
+}
+.is_bottom text.data-v-8e01b58b {
+  padding: 2vw 0;
+  display: inline-block;
+  color: var(--f85Color);
+  font-size: var(--font12Size);
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/pagesMy/collect/index.wxss

@@ -42,6 +42,7 @@
   display: flex;
   flex-direction: column;
   justify-content: space-between;
+  margin: 0 0 0 2vw;
   width: 100%;
 }
 .content .bottom .list .right .name.data-v-523c5cf9 {