feat: 优化

This commit is contained in:
admin 2024-09-26 16:15:45 +08:00
parent 6fddf740a5
commit a7234d6030
5 changed files with 129 additions and 57 deletions

View File

@ -1,55 +1,96 @@
<template>
<view class="detail">
<!-- 订单状态0已取消1待登记2待处理3待上门4待打款5已完结 -->
<block v-for="(item, value) in listMap" :key="value">
<view v-if="statusInfo[model1.status].indexOf(value) > -1">
<view>
<view class="title">{{ item.name }}</view>
<view class="content">
<view v-for="(iitem, index) in item.attrList" :key="index">
{{ iitem.name }}:
<view>
<view class="detail">
<!-- 订单状态0已取消1待登记2待处理3待上门4待打款5已完结 -->
<block v-for="(item, value) in listMap" :key="value">
<view v-if="statusInfo[model1.status].indexOf(value) > -1">
<view>
<view class="title">{{ item.name }}</view>
<view class="content">
<view v-for="(iitem, index) in item.attrList" :key="index">
{{ iitem.name }}:
<view v-if="iitem.name === '行驶证'" class="license">
<up-row customStyle="flex-wrap: wrap" :gutter="8">
<up-col span="6">
<view class="grid-item">
<image
v-if="model1.formData[iitem.key]"
:src="model1.formData[iitem.key]"
:mode="'widthFix'"
:width="'100%'"
></image>
</view>
</up-col>
<view v-if="iitem.name === '行驶证'" class="license">
<up-row customStyle="flex-wrap: wrap" :gutter="8">
<up-col span="6">
<view class="grid-item">
<image
v-if="model1.formData[iitem.key]"
:src="model1.formData[iitem.key]"
:mode="'widthFix'"
:width="'100%'"
></image>
</view>
</up-col>
<up-col span="6">
<view class="grid-item">
<image
v-if="model1.formData['licenseBackUrl']"
:src="model1.formData['licenseBackUrl']"
:mode="'widthFix'"
:width="'100%'"
></image>
</view>
</up-col>
</up-row>
<view> </view>
</view>
<text v-else
>{{ model1.formData[iitem.key] || "-" }} {{ iitem.unit }}</text
>
</view></view
>
<up-col span="6">
<view class="grid-item">
<image
v-if="model1.formData['licenseBackUrl']"
:src="model1.formData['licenseBackUrl']"
:mode="'widthFix'"
:width="'100%'"
></image>
</view>
</up-col>
</up-row>
<view> </view>
</view>
<text v-else
>{{ model1.formData[iitem.key] || "-" }}
{{ iitem.unit }}</text
>
</view></view
>
</view>
</view>
</block>
</view>
<view class="btn-box-fix-btn" v-if="model1.formData.status === 2 || model1.formData.status === 1">
<view
>
<u-button
v-if="model1.formData.status === 1"
type="primary"
shape="circle"
@click="goRegis(model1.formData.id);"
>去登记</u-button
>
<u-button
v-if="model1.formData.status === 2"
type="primary"
shape="circle"
@click="handleModal(true);"
>取消订单</u-button
>
</view>
</block>
</view>
<SmallModal
:title="'确认取消订单吗?'"
:content="'退出后将返回至上一页'"
:okText="'确认'"
:isMain="true"
:show="isShowCancelModal"
@handleModal="(v:boolean) => {handleModal(v)}"
@handleOk="handleOk()"
/>
</view>
</template>
<script setup lang="ts">
import { VehicleApi } from "@/services";
import { onLoad } from "@dcloudio/uni-app";
import SmallModal from "@/components/Modal/smallModal.vue";
import { reactive } from "vue";
const isShowCancelModal = ref(false);
const handleModal = (v: boolean) => {
isShowCancelModal.value = v;
};
const handleOk = () => {
handelOrder(0)
};
const model1 = reactive<any>({
formData: {},
status: 0,
@ -118,12 +159,12 @@ const listMap = reactive<any>({
{
name: "联系人",
value: "",
key: "owner_name",
key: "ownerName",
},
{
name: "联系方式",
value: "",
key: "owner_phone",
key: "ownerPhone",
},
{
name: "上门地址",
@ -206,6 +247,21 @@ const listMap = reactive<any>({
},
});
function handelOrder(type: number) {
VehicleApi.updateRegis({
...model1.formData,
ownerType: model1.formData.ownerType === "单位",
status: 0,
}).then((res) => {
uni.navigateBack();
});
}
function goRegis(id: number) {
uni.navigateTo({
url: "/pagesVehicle/registration?id=" + id, //
});
}
onLoad((option: any) => {
//
if (option.id) {
@ -247,4 +303,7 @@ onLoad((option: any) => {
}
}
}
.btn-box-fix-btn {
display: block;
}
</style>

View File

@ -48,8 +48,17 @@
<uni-tr v-for="(item, index) in pageList.list" :key="index">
<uni-td v-for="(tItem, index) in tableTitleList" :key="index">
<view @click="goDetail(item)">
<text v-if="tItem.key === 'status'">
{{ ['已取消', '待登记', '待处理', '待上门', '待打款', '已完结'][item[tItem.key]] }}
<text v-if="tItem.key === 'status'">
{{
[
"已取消",
"待登记",
"待处理",
"待上门",
"待打款",
"已完结",
][item[tItem.key]]
}}
</text>
<text v-else>
{{ item[tItem.key] }}
@ -95,6 +104,7 @@ import TimeRangeFilter from "@/components/Dialog/TimeRangeFilter.vue";
import { VehicleApi } from "@/services";
import pinia from "@/store";
import { useMemberStore } from "@/store/index";
import { onShow } from "@dcloudio/uni-app";
const state = reactive({
startTime: "",
endTime: "",
@ -242,7 +252,10 @@ function goDetail(item: any) {
});
}
getList();
onShow(() => {
resetPageList()
getList();
});
</script>
<style lang="scss" scoped>
.filter {

View File

@ -404,14 +404,14 @@ const formAttrList1 = reactive<any>([
},
{
name: "联系人",
key: "owner_name",
key: "ownerName",
type: "input",
required: true,
unit: "",
},
{
name: "联系方式",
key: "owner_phone",
key: "ownerPhone",
type: "input",
required: true,
unit: "",
@ -539,13 +539,13 @@ const rules = reactive({
// message: "",
// trigger: ["blur", "change"],
// },
// "formData.owner_name": {
// "formData.ownerName": {
// type: "string",
// required: true,
// message: "",
// trigger: ["blur", "change"],
// },
// "formData.owner_phone": {
// "formData.ownerPhone": {
// type: "string",
// required: true,
// message: "",

View File

@ -369,14 +369,14 @@ const formAttrList1 = reactive<any>([
},
{
name: "联系人",
key: "owner_name",
key: "ownerName",
type: "input",
required: true,
unit: "",
},
{
name: "联系方式",
key: "owner_phone",
key: "ownerPhone",
type: "input",
required: true,
unit: "",
@ -426,13 +426,13 @@ const formAttrList2 = reactive<any>([
},
]);
const rules = reactive({
"formData.owner_name": {
"formData.ownerName": {
type: "string",
required: true,
message: "请输入姓名",
trigger: ["blur", "change"],
},
"formData.owner_phone": {
"formData.ownerPhone": {
type: "string",
required: true,
message: "请输入联系方式",

View File

@ -370,14 +370,14 @@ const formAttrList1 = reactive<any>([
},
{
name: "联系人",
key: "owner_name",
key: "ownerName",
type: "input",
required: true,
unit: "",
},
{
name: "联系方式",
key: "owner_phone",
key: "ownerPhone",
type: "input",
required: true,
unit: "",
@ -427,13 +427,13 @@ const formAttrList2 = reactive<any>([
},
]);
const rules = reactive({
"formData.owner_name": {
"formData.ownerName": {
type: "string",
required: true,
message: "请输入姓名",
trigger: ["blur", "change"],
},
"formData.owner_phone": {
"formData.ownerPhone": {
type: "string",
required: true,
message: "请输入联系方式",