瀏覽代碼

Merge remote-tracking branch 'origin/main' into main

赵添更 2 月之前
父節點
當前提交
01ae216871

+ 2 - 2
packages/app/src/components/page-helper-evo.vue

@@ -109,9 +109,9 @@ defineExpose({
       <div v-if="items.length" class="flex-grow flex flex-col">
         <slot :source="{ list: items }"></slot>
       </div>
-      <template v-if="nomore">
+      <!-- <template v-if="nomore">
         <div class="my-4"><wd-divider>没有更多了</wd-divider></div>
-      </template>
+      </template> -->
     </div>
   </div>
 </template>

+ 1 - 0
packages/app/src/core/libs/messages.ts

@@ -1,6 +1,7 @@
 export const messages = {
   home: { shareTitle: '筑巢荟' },
   moment: { imageNotExist: '请上传图片' },
+  publish: { successTitle: '发布成功' },
   messages: {
     pointNotice: '确认后,积分即刻到账,如有问题请驳回,联系材料商/平台客服,修改后再次确认',
   },

+ 1 - 1
packages/app/src/core/libs/requests.ts

@@ -638,7 +638,7 @@ export const readCount = () => httpGet('/app-api/member/message-manage/readCount
 /**
  * 批量修改为已读
  */
-export const updateReadByMessageType = (data: { messageType: number; messageSubType: number }) =>
+export const updateReadByMessageType = (data: { messageType: number}) =>
   httpPut('/app-api/member/message-manage/updateReadByMessageType', data)
 /**
  * 积分订单取消

+ 1 - 1
packages/app/src/pages/home/components/menus.vue

@@ -12,7 +12,7 @@ const items = [
   {
     id: 2,
     title: '线下活动',
-    desc: '骑行俱乐部',
+    desc: '成长关爱',
     path: '/pages/home/offline-activity/index',
     icon: '/static/svgs/iconly-glass-star.svg',
   },

+ 2 - 2
packages/app/src/pages/home/mall/index.vue

@@ -174,14 +174,14 @@ onShareTimeline(() => ({
 
                       <ProgressEvo
                         :height="6"
-                        :model-value="(it.exchangeCount || 0 / it.productRepertory || 0) * 100"
+                        :model-value="(it.exchangeCount / (it.productRepertory + it.exchangeCount) || 0) * 100"
                         color="black"
                       ></ProgressEvo>
                     </div>
                     <div
                       class="text-black/40 text-[10px] font-normal font-['PingFang_SC'] leading-normal"
                     >
-                      还剩{{ it.productRepertory - it.exchangeCount }}件
+                      还剩{{ it.productRepertory}}件
                     </div>
                   </template>
                   <template v-else>

+ 4 - 0
packages/app/src/pages/home/mall/shopping-cart/index.vue

@@ -43,12 +43,16 @@ const points = computed(() =>
 
 const query = ref({userId: userInfo.value?.userId})
 const handleSelect = (product) => {
+  console.log("选中")
   if (product.status || product.deleted || (product.isRestrict == 1 && product.productRepertory == 0)) {
     return null;
   }
   if (selected.value.map((it) => it.productId).includes(product.productId)) {
     selected.value = selected.value.filter(({productId}) => productId !== product.productId)
   } else {
+    if (product.showFavourable){
+      product.points = product.favourablePoints
+    }
     selected.value = [...selected.value, product]
   }
 }

+ 48 - 48
packages/app/src/pages/home/schedule/index.vue

@@ -42,7 +42,11 @@ onMounted(async () => {
   <view class="flex-grow flex flex-col">
     <NavbarEvo transparent dark></NavbarEvo>
     <view class="bg-black w-full aspect-[1.26/1]">
-      <ImageEvo :src="currentStudyTour?.bannerUrl"></ImageEvo>
+<!--      <ImageEvo :src="currentStudyTour?.bannerUrl"></ImageEvo>-->
+      <div
+        class="w-full h-full bg-[length:100%_auto]"
+        :style="{ backgroundImage: `url(${currentStudyTour?.bannerUrl})` }"
+      ></div>
       <div
         class="aspect-[4.17/1] bg-gradient-to-t from-black to-black/0 absolute left-0 bottom-0 w-full flex items-center"
       ></div>
@@ -80,62 +84,58 @@ onMounted(async () => {
           v-for="(item, itemIndex) in schedules?.[dayjs().format('YYYY-MM-DD')]"
           :key="itemIndex"
         >
-          <view class="grid grid-gap-2 mt-8" style="margin-left: -40px;">
-            <view class="col-start-1 row-start-1 flex items-center justify-center" style="margin-left: -40px;">
-              <view
-                class="w-[30px] h-[27px] bg-[#f6f6f6] rounded-full flex justify-center items-center"
-              >
+          <view class="flex flex-col mt-8">
+            <!-- 左侧图标 -->
+            <view class="flex items-center">
+              <view class="w-[30px] h-[30px] bg-[#f6f6f6] rounded-full flex justify-center items-center">
                 <wd-img width="16" height="16" :src="map"></wd-img>
               </view>
-            </view>
-            <view class="col-start-2 row-start-1 flex">
-              <div
-                class="text-black/90 text-base font-normal font-['PingFang_SC'] leading-normal mr-5"
-              >
+              <div class="ml-3 text-black/90 text-base font-normal">
                 {{ dayjs(item?.travelTime).format('HH:mm') }}
               </div>
-              <div class="text-black/90 text-base font-normal font-['PingFang_SC'] leading-normal">
+              <div class="ml-10 mt-1 text-black/90 text-base font-normal">
                 {{ item.title }}
               </div>
             </view>
-            <view
-              class="col-start-2 row-start-2 border-b border-black/10 pb-5"
-              :class="`${itemIndex < (schedules?.[dayjs().format('YYYY-MM-DD')] || []).length - 1 ? 'border-b-solid' : ''}`"
-            >
-              <div class="">
-                <span class="text-black/60 text-sm font-normal font-['PingFang_SC'] leading-[23px]">
-                  行程介绍:
-                </span>
-                <span class="text-black/40 text-sm font-normal font-['PingFang_SC'] leading-[23px]">
-                  {{ item.travelDesc }}
-                </span>
-              </div>
-              <template v-if="item.clockExplainUrl">
-                <view class="flex items-center my-4">
-                  <wd-img width="16" height="16" :src="camera"></wd-img>
-                  <div
-                    class="ml-1 text-black/90 text-xs font-normal font-['PingFang_SC'] leading-normal"
-                  >
-                    打卡示例
-                  </div>
-                </view>
-                <wd-img
-                  v-if="(item.clockExplainUrl ?? '') !== ''"
-                  width="100%"
-                  custom-class="rounded-2xl overflow-hidden"
-                  :src="item.clockExplainUrl"
-                  mode="widthFix"
-                  enable-preview
-                ></wd-img>
-                <div
-                  class="mt-2.5 text-black/40 text-xs font-normal font-['PingFang_SC'] leading-normal"
-                >
-                  {{ item.clockExplainDesc }}
-                </div>
-              </template>
+
+            <!-- 标题 -->
+
+
+            <!-- 描述 -->
+            <view class="ml-10 mt-2 border-b border-black/10 pb-5">
+      <span class="text-black/60 text-sm font-normal">
+        行程介绍:
+      </span>
+              <span class="text-black/40 text-sm font-normal">
+        {{ item.travelDesc }}
+      </span>
             </view>
+
+            <!-- 打卡示例 -->
+            <template v-if="item.clockExplainUrl">
+              <view class="flex items-center mt-4 ml-10">
+                <wd-img width="16" height="16" :src="camera"></wd-img>
+                <div class="ml-1 text-black/90 text-xs font-normal">
+                  打卡示例
+                </div>
+              </view>
+              <wd-img
+                v-if="(item.clockExplainUrl ?? '') !== ''"
+                width="100%"
+                custom-class="rounded-2xl overflow-hidden mt-4"
+                :src="item.clockExplainUrl"
+                mode="widthFix"
+                enable-preview
+              ></wd-img>
+              <div
+                class="mt-2.5 ml-10 text-black/40 text-xs font-normal"
+              >
+                {{ item.clockExplainDesc }}
+              </div>
+            </template>
           </view>
         </template>
+
       </view>
     </div>
     <BottomAppBar fixed placeholder>
@@ -153,7 +153,7 @@ onMounted(async () => {
         </div> -->
         <view class="flex-1"></view>
         <view>
-          <ButtonEvo size="lg" @click="router.push('/pages/publish/moment/index')">
+          <ButtonEvo size="lg" @click="router.push('/pages/publish/moment/index?circleType=1')">
             发圈子
           </ButtonEvo>
         </view>

+ 1 - 1
packages/app/src/pages/home/study-tour/list.vue

@@ -16,7 +16,7 @@ import PageHelper from '@/components/page-helper.vue'
 const designStudyAbroadYear = ref('')
 const title = ref('')
 const studyYear = ref('')
-const designDesc = ref()
+const designDesc = ref('')
 
 const { data: levels, run: setLevels } = useRequest(() => getAppMemberLevelConfigs(), {
   initialData: [],

+ 1 - 1
packages/app/src/pages/material/detail/index.vue

@@ -253,7 +253,7 @@ onShareTimeline(() => ({
               custom-class=""
             ></wd-img> -->
             <template v-if="isVideoUrl(materialHomePageData.brandAdvantageUrl)">
-              <video class="w-full h-full"></video>
+              <video class="w-full h-full" :src="materialHomePageData.brandAdvantageUrl"></video>
             </template>
             <template v-else>
               <wd-img

+ 7 - 1
packages/app/src/pages/material/recommend/index.vue

@@ -10,9 +10,10 @@ import { useUserStore } from '../../../store'
 import { useToast } from 'wot-design-uni'
 import { storeToRefs } from 'pinia'
 import { createMaterialsReferrer } from '../../../core/libs/requests'
-
+import {useRouter} from "@/core/utils/router";
 const { success, error } = useToast()
 const userStore = useUserStore()
+const router = useRouter()
 const { userInfo } = storeToRefs(userStore)
 const form = ref<InstanceType<typeof DataForm>>()
 const formData = ref({ referrerId: userInfo.value.userId, referrerName: userInfo.value.nickname })
@@ -24,6 +25,11 @@ const handleSubmit = async () => {
     code === 0 && success('提交成功')
     code !== 0 && error(msg)
   }
+  uni.switchTab({
+    url: `/pages/material/index`
+  });
+  // router.push(`/pages/material/index`)
+  console.log("跳转后")
 }
 const schema = {
   materialsName: {

+ 5 - 0
packages/app/src/pages/mine/orders/detail/index.vue

@@ -104,10 +104,15 @@ onLoad((query: { id: string }) => {
           <div class="text-[#ef4343] text-sm font-normal font-['PingFang_SC'] leading-[10.18px]">
             -{{ Number(data.points) - Number(data.payPoints) }}
           </div>
+
+          <div v-for="(it, i) in data.couponList" :key="i">
+            <wd-img :option="{ ...it }"></wd-img>
+          </div>
           <wd-img :src="right" width="12" height="12"></wd-img>
         </div>
       </template>
     </SectionHeading>
+
     <div v-for="(it, i) in data.couponList" :key="i">
       <CouponRecord :option="{ ...it }"></CouponRecord>
     </div>

+ 1 - 0
packages/app/src/typings.ts

@@ -33,6 +33,7 @@ type IUserInfo = {
   userAuthStatus?: 0 | 1 | 2
   mobile?: string
   birthday?: number
+  homePageUrl?: string
 }
 
 enum TestEnum {

+ 88 - 0
packages/merchant/src/components/coupon-record.vue

@@ -0,0 +1,88 @@
+<script setup lang="ts">
+import Card from '@/components/card.vue'
+import dayjs from 'dayjs'
+import used from '@designer-hub/assets/src/libs/assets/used'
+
+
+const props = withDefaults(
+  defineProps<{
+    option?: {
+      materialId: number
+      couponImgUrl: any
+      materialsName: string
+      validityStartDate: number
+      validityEndDate: number
+      brandPoints: number
+    }
+    canSelect?: boolean
+    selected?: boolean
+  }>(),
+  {
+    canSelect: false,
+    selected: false,
+  },
+)
+</script>
+<template>
+  <div
+    class="mx-3.5 p-4 bg-[rgba(255,255,255,0.7)] rounded-2xl shadow-[0px_5px_8px_0px_rgba(21,3,3,0.03)]"
+  >
+    <div class="relative">
+      <div class="flex gap-3">
+        <div class="w-[68px] h-[68px] bg-[#f6f6f6] rounded-2.5 overflow-hidden">
+          <!--          <template v-if="option.couponType === 1">-->
+          <!--            <div class="bg-[#fff8f8] w-full h-full flex flex-col items-center justify-center">-->
+          <!--              <div class="text-[#ff7878] text-[26px] font-normal font-['PingFang_SC']">-->
+          <!--                {{ options.brandPoints }}-->
+          <!--              </div>-->
+          <!--              <div class="text-[#ff7878] text-base font-normal font-['PingFang_SC']">积分</div>-->
+          <!--            </div>-->
+          <!--          </template>-->
+          <!--          <template v-else>-->
+          <wd-img width="100%" height="100%" :src="option.couponImgUrl"></wd-img>
+          <!--          </template>-->
+        </div>
+        <div class="flex-1 flex flex-col justify-around">
+          <div class="flex items-center gap-1">
+            <div
+              class="px-[3px] rounded border border-solid border-[#ff3636] justify-center items-center gap-2.5 inline-flex"
+            >
+              <div
+                class="text-[#ff3e3e] text-[10px] font-normal font-['PingFang_SC'] leading-normal"
+              >
+                {{ option.materialsName }}
+              </div>
+            </div>
+            <div class="text-black text-sm font-normal font-['PingFang_SC'] leading-normal">
+              <!-- GELATO咖啡兑换券 -->
+              {{ option.couponName }}
+            </div>
+          </div>
+          <div class="text-black/40 text-xs font-normal font-['PingFang_SC'] leading-normal">
+            <!--            有效期:-->
+            <!-- 2024/04/01-2024/05/30 -->
+            {{ dayjs(option.validityStartDate).format('YYYY/MM/DD') }}-{{
+              dayjs(option.validityEndDate).format('YYYY/MM/DD')
+            }}
+          </div>
+          <!--          <div-->
+          <!--            class="text-black/40 text-xs font-normal font-['PingFang_SC'] leading-normal flex items-center"-->
+          <!--            @click.stop="emits('clickInstruction', options)"-->
+          <!--          >-->
+          <!--            使用说明-->
+          <!--            <wd-icon name="arrow-right" size="14"></wd-icon>-->
+          <!--          </div>-->
+        </div>
+        <div class="flex items-center" v-if="canSelect">
+          <div
+            class="w-4 h-4 rounded-full border border-black/60 border-solid"
+            :class="`${selected ? 'bg-black' : ''}`"
+          ></div>
+        </div>
+      </div>
+      <div class="absolute top--4 right--4">
+        <wd-img width="58" height="58" :src="used"></wd-img>
+      </div>
+    </div>
+  </div>
+</template>

+ 22 - 4
packages/merchant/src/components/data-form.vue

@@ -107,6 +107,9 @@ const submit = () => {
 const validate = async (): Promise<{ valid: boolean; errors: any[] }> => {
   return await form.value!.validate()
 }
+onShow(() => {
+  console.log('App Show',modelValue)
+})
 defineExpose({
   validate,
   submitDisabled,
@@ -245,10 +248,25 @@ defineExpose({
                   : modelValue[prop]?.split(',').map((it) => ({ url: it })),
             }"
             @change="
-              ({ fileList }) =>
-                (modelValue[prop] = fileList
-                  .map(({ response }) => JSON.parse(response).data)
-                  .join(','))
+              ({ fileList }) => {
+                const newUrls = fileList
+                  .map(({ response }) => {
+                    try {
+                      return JSON.parse(response).data
+                    } catch (e) {
+                      return null
+                    }
+                  })
+                  .filter(Boolean) // 过滤掉无效的 null 值
+                const existingUrls = modelValue[prop]?.split(',') ?? []
+                modelValue[prop] = [...existingUrls, ...newUrls].join(',')
+              }
+            "
+            :before-remove="
+              ({ file, fileList, resolve }) => {
+                resolve(true)
+                modelValue[prop] = fileList.map(({ url }) => url).join(',')
+              }
             "
           ></wd-upload>
           <wd-button

+ 1 - 1
packages/merchant/src/components/data-render.vue

@@ -17,7 +17,7 @@ withDefaults(
     <span v-if="type === 'Date'">{{ value && dayjs(value).format('YYYY-MM-DD') }}</span>
     <wd-img v-if="type === 'Avatar'" width="40" height="40" round :src="String(value)" class="" />
     <div v-if="type === 'img'" v-for="(src, index) in value.split(',')" :key="index">
-      <wd-img width="60" height="50" round :src="src" class="" />
+      <wd-img width="60" height="50" :src="src" :enable-preview="true" class="" />
     </div>
 
     <span v-if="type === 'Select'">{{ options?.find((it) => it.value === value)?.label }}</span>

+ 4 - 3
packages/merchant/src/pages/agent/designer/archives/activity/others/index.vue

@@ -23,8 +23,8 @@ import dayjs from 'dayjs'
 const id = ref()
 const actionSheetStatus = ref(false)
 const formData = ref({})
-const schema = ref<DataFormSchema<Omit<DesignerEvent, 'id' | 'createTime' | 'userId'>>>({
-  participationDate: {
+const schema = ref<DataFormSchema<Omit<DesignerEvent, 'id' | 'createTime'  | 'userId'>>>({
+  applyTime: {
     type: 'TimePick',
     label: messages.objects.designerEvent.applyTime,
     required: true,
@@ -40,7 +40,7 @@ const schema = ref<DataFormSchema<Omit<DesignerEvent, 'id' | 'createTime' | 'use
   },
 })
 const rules = ref({
-  participationDate: [
+  applyTime: [
     {
       required: true,
       message: '请选择活动时间',
@@ -75,6 +75,7 @@ const handleSubmit = async () => {
 }
 const handleEdit = (item: DesignerEvent) => {
   formData.value = item
+  console.log(formData.value,"formData.value")
   actionSheetStatus.value = true
 }
 const handleDelete = async (item: DesignerEvent) => {

+ 20 - 0
packages/merchant/src/pages/agent/designer/archives/award/imgs.vue

@@ -0,0 +1,20 @@
+<route lang="json">
+{ "style": { "navigationBarTitleText": "个人照片", "navigationBarBackgroundColor": "#fff" } }
+</route>
+<script setup lang="ts">
+const urlsStr = ref()
+const urls = computed(() => urlsStr.value?.split(','))
+onLoad((query?: Record<string | 'id', string>) => {
+  urlsStr.value = query?.urls
+})
+</script>
+
+<template>
+  <div class="flex-grow bg-white grid grid-cols-2 gap-4 p-4">
+    <template v-for="(it, index) in urls" :key="index">
+      <div><wd-img width="100%" mode="widthFix" :src="it" :enable-preview="true"></wd-img></div>
+    </template>
+  </div>
+</template>
+
+<style scoped lang="scss"></style>

+ 1 - 1
packages/merchant/src/pages/agent/designer/archives/award/photos/index.vue

@@ -12,7 +12,7 @@ onLoad((query?: Record<string | 'id', string>) => {
 <template>
   <div class="flex-grow bg-white grid grid-cols-2 gap-4 p-4">
     <template v-for="(it, index) in urls" :key="index">
-      <div><wd-img width="100%" mode="widthFix" :src="it"></wd-img></div>
+      <div><wd-img width="100%" mode="widthFix" :src="it" :enable-preview="true"></wd-img></div>
     </template>
   </div>
 </template>

+ 4 - 2
packages/merchant/src/pages/agent/designer/archives/basic-info/index.vue

@@ -104,8 +104,10 @@ const schema = ref<
     labelWidth: 120,
     props: {
       columns: [
+        { label: '不愿意', value: 3 },
         { label: '一般', value: 1 },
-        { label: '强烈', value: 2 },
+        { label: '愿意', value: 2 },
+        { label: '非常愿意', value: 4 },
       ],
     },
   },
@@ -117,7 +119,7 @@ const schema = ref<
     type: 'Select',
     label: messages.objects.designerBasiceInfo.maritalStatus,
     labelWidth: 120,
-    props: {  
+    props: {
       columns: [
         { label: '未婚', value: 1 },
         { label: '已婚', value: 2 },

+ 12 - 3
packages/merchant/src/pages/agent/designer/archives/index.vue

@@ -308,14 +308,14 @@ onShow(async () => {
                   }"
                 ></DataRender>
               </template>
-              <template v-else-if="key === 'imageUrl'">
+              <!-- <template v-else-if="key === 'imageUrl'">
                 <DataRender
                   v-bind="{
                     type: 'img',
                     value: value,
                   }"
                 ></DataRender>
-              </template>
+              </template> -->
               <template v-else-if="key === 'retryStatus'">
                 <DataRender
                   v-bind="{
@@ -335,12 +335,21 @@ onShow(async () => {
                     type: 'Select',
                     value: value,
                     options: [
+                      { label: '不愿意', value: 3 },
                       { label: '一般', value: 1 },
-                      { label: '强烈', value: 3 },
+                      { label: '愿意', value: 2 },
+                      { label: '非常愿意', value: 4 },
                     ],
                   }"
                 ></DataRender>
               </template>
+              <template v-else-if="key === 'imageUrl'">
+                <SectionHeading
+                  end-arrow
+                  :path="`/pages/agent/designer/archives/award/imgs?urls=${basicData['imageUrl'] ?? ''}`"
+                ></SectionHeading>
+              </template>
+
               <template v-else>
                 <DataRender v-bind="{ type: 'Original', value: value }"></DataRender>
               </template>

+ 6 - 2
packages/merchant/src/pages/mine/components/agent-mine.vue

@@ -154,8 +154,12 @@ onMounted(async () => {
                           {{
                             it.thisYearComplete && it.target
                               ? (
-                                  Number(Number(it.thisYearComplete) / Number(it.target)) * 100
-                                ).toFixed(0)
+                                Number(it.thisYearComplete) / Number(it.target) * 100
+                              ) % 1 === 0
+                                ? Number(Number(it.thisYearComplete) / Number(it.target) * 100)
+                                : (
+                                  Number(it.thisYearComplete) / Number(it.target) * 100
+                                ).toFixed(1)
                               : 0
                           }}%
                         </div>

+ 39 - 1
packages/merchant/src/pages/mine/merchant/orders/detail/index.vue

@@ -10,7 +10,9 @@
 import { getPointsOrder } from '../../../../../core/libs/requests'
 import dayjs from 'dayjs'
 import { ref } from 'vue'
-import SectionHeading from '@designer-hub/app/src/components/section-heading.vue'
+
+import CouponRecord from '@/components/coupon-record.vue'
+import right from "@/assets/svgs/right.svg";
 
 const collapseValue = ref<string[]>(['item1'])
 const id = ref()
@@ -82,6 +84,34 @@ onLoad(async (query: { id: string }) => {
           </div>
         </div>
       </div> -->
+      <div
+        class="flex mt-[20px] items-center justify-between"
+        v-if="data?.couponList"
+      >
+        <span  class="text-black/60 text-sm font-normal font-['PingFang_SC'] leading-normal">优惠卷&nbsp&nbsp&nbsp&nbsp
+          <div
+          v-if="data.couponList?.length"
+          class="px-1 py-.75 rounded border border-solid border-[#ef4343] justify-center items-center gap-2.5 inline-flex"
+        >
+          <div class="text-[#ef4343] text-[9px] font-normal font-['PingFang_SC'] leading-[10.18px]">
+            已选{{ data.couponList?.length }}张
+          </div>
+        </div>
+        </span>
+          <div class="flex items-center gap-1">
+            <div class="text-[#ef4343] text-sm font-normal font-['PingFang_SC'] leading-[10.18px]">
+              -{{ Number(data.points) - Number(data.payPoints) }}
+            </div>
+
+            <div v-for="(it, i) in data.couponList" :key="i">
+              <wd-img :option="{ ...it }"></wd-img>
+            </div>
+            <wd-img :src="right" width="12" height="12"></wd-img>
+          </div>
+      </div>
+      <div v-for="(it, i) in data.couponList" :key="i">
+        <CouponRecord :option="{ ...it }"></CouponRecord>
+      </div>
       <div class="flex mt-[20px] items-center justify-between">
         <div class="text-black/60 text-sm font-normal font-['PingFang_SC'] leading-normal">
           实际支付积分
@@ -114,6 +144,14 @@ onLoad(async (query: { id: string }) => {
           积分支付
         </div>
       </div>
+      <div class="flex mt-[20px] items-center justify-between">
+        <div class="text-black/60 text-sm font-normal font-['PingFang_SC'] leading-normal">
+          兑换人
+        </div>
+        <div class="text-black/90 text-sm font-normal font-['PingFang_SC'] leading-normal">
+          {{ data?.stylistName }}
+        </div>
+      </div>
 
       <template v-if="String(data?.orderStatus) === '3'">
         <div class="flex mt-[20px] items-center justify-between">