Browse Source

feat: 添加待办接口及相关模型,优化样式

EvilDragon 3 months ago
parent
commit
7079eca9b8

+ 7 - 0
packages/app/src/core/libs/models.ts

@@ -638,6 +638,13 @@ export interface PointsDetail {
   creator: string
   creatorName: any
 }
+export interface Todo {
+  content: string
+  id: number
+  status: number
+  creator: string
+  executionTime: string
+}
 
 export enum DictType {
   /**

+ 1 - 1
packages/app/src/pages/common/status/success/index.vue

@@ -17,7 +17,7 @@ onLoad(async (query: typeof data.value) => {
     </div>
     <div
       v-if="data?.desc"
-      class="text-black/40 text-base font-normal font-['PingFang SC'] leading-none"
+      class="text-black/40 text-base font-normal font-['PingFang_SC'] leading-none"
     >
       {{ data?.desc }}
     </div>

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

@@ -156,14 +156,14 @@ onLoad(async (query: { data: string }) => {
               <div class="flex items-center gap-1">
                 <template v-if="!selectedCoupons?.length">
                   <div
-                    class="text-black/40 text-sm font-normal font-['PingFang SC'] leading-[10.18px]"
+                    class="text-black/40 text-sm font-normal font-['PingFang_SC'] leading-[10.18px]"
                   >
                     选择优惠券
                   </div>
                 </template>
                 <template v-else>
                   <div
-                    class="text-[#ef4343] text-sm font-normal font-['PingFang SC'] leading-[10.18px]"
+                    class="text-[#ef4343] text-sm font-normal font-['PingFang_SC'] leading-[10.18px]"
                   >
                     -{{ offerPoints }}
                   </div>

+ 2 - 2
packages/app/src/pages/mine/homepage/channels/index.vue

@@ -46,10 +46,10 @@ onMounted(async () => {
     <BottomAppBar fixed :border="false">
       <div>
         <div class="text-center mb-5.5">
-          <span class="text-black/40 text-xs font-normal font-['PingFang SC'] leading-tight">
+          <span class="text-black/40 text-xs font-normal font-['PingFang_SC'] leading-tight">
             点击确认关联即表示同意
           </span>
-          <span class="text-[#0cbe7c] text-xs font-normal font-['PingFang SC'] leading-tight">
+          <span class="text-[#0cbe7c] text-xs font-normal font-['PingFang_SC'] leading-tight">
             《个人微信视频号授权使用协议》
           </span>
         </div>

+ 5 - 5
packages/app/src/pages/mine/homepage/index.vue

@@ -280,7 +280,7 @@ defineExpose({
           class="w-[61px] h-2 left-[14px] top-[23px] absolute bg-gradient-to-r from-[#ff9e91] via-[#ffe5d7] to-[#ffe4d6] rounded-tl-[20px] rounded-bl-[20px]"
         ></div>
         <div
-          class="w-12 h-[19px] left-[14px] top-[9px] absolute text-center text-black text-xs font-normal font-['PingFang SC'] leading-normal"
+          class="w-12 h-[19px] left-[14px] top-[9px] absolute text-center text-black text-xs font-normal font-['PingFang_SC'] leading-normal"
         >
           荣誉徽章
         </div>
@@ -316,10 +316,10 @@ defineExpose({
           </div>
         </div>
         <div class="flex-1">
-          <div class="text-black/90 text-sm font-normal font-['PingFang SC'] leading-normal">
+          <div class="text-black/90 text-sm font-normal font-['PingFang_SC'] leading-normal">
             {{ designerInfo?.videoNumber ? '个人视频号' : '视频号' }}
           </div>
-          <div class="text-black/40 text-xs font-normal font-['PingFang SC'] leading-normal">
+          <div class="text-black/40 text-xs font-normal font-['PingFang_SC'] leading-normal">
             {{
               designerInfo?.videoNumber
                 ? '案例分享,打造专属生活美学空间'
@@ -330,7 +330,7 @@ defineExpose({
         <div>
           <div
             v-if="designerInfo?.videoNumber"
-            class="text-[#e08e38] text-xs font-normal font-['PingFang SC'] leading-normal"
+            class="text-[#e08e38] text-xs font-normal font-['PingFang_SC'] leading-normal"
           >
             去看看
           </div>
@@ -340,7 +340,7 @@ defineExpose({
             @click.stop="router.push('/pages/mine/homepage/channels/index')"
           >
             <div
-              class="text-center text-white text-xs font-normal font-['PingFang SC'] leading-normal"
+              class="text-center text-white text-xs font-normal font-['PingFang_SC'] leading-normal"
             >
               去关联
             </div>

+ 3 - 3
packages/app/src/pages/mine/homepage/qr-code/index.vue

@@ -98,17 +98,17 @@ onReady(() => {})
     </div>
     <div class="w-full flex items-center justify-around my-10">
       <div
-        class="text-center text-[#3f588f] text-base font-normal font-['PingFang SC'] leading-normal"
+        class="text-center text-[#3f588f] text-base font-normal font-['PingFang_SC'] leading-normal"
       >
         扫一扫
       </div>
       <div
-        class="text-center text-black/40 text-xs font-normal font-['PingFang SC'] leading-normal"
+        class="text-center text-black/40 text-xs font-normal font-['PingFang_SC'] leading-normal"
       >
         |
       </div>
       <div
-        class="text-center text-[#3f588f] text-base font-normal font-['PingFang SC'] leading-normal"
+        class="text-center text-[#3f588f] text-base font-normal font-['PingFang_SC'] leading-normal"
       >
         保存图片
       </div>

+ 5 - 5
packages/app/src/pages/mine/honors/index.vue

@@ -79,7 +79,7 @@ onMounted(async () => {
           >
             <div class="flex flex-col items-center gap-1.25">
               <div
-                class="text-center text-[#f6e8da]/80 text-xs font-normal font-['PingFang SC'] leading-snug"
+                class="text-center text-[#f6e8da]/80 text-xs font-normal font-['PingFang_SC'] leading-snug"
               >
                 {{ it.label }}
               </div>
@@ -88,7 +88,7 @@ onMounted(async () => {
                   {{ it.value }}
                 </div>
                 <div
-                  class="text-center text-[#f6e8da]/80 text-xs font-normal font-['PingFang SC'] leading-snug"
+                  class="text-center text-[#f6e8da]/80 text-xs font-normal font-['PingFang_SC'] leading-snug"
                 >
                   {{ it.unit }}
                 </div>
@@ -155,10 +155,10 @@ onMounted(async () => {
               ></ProgressEvo>
             </div>
             <div>
-              <span class="text-white text-xs font-normal font-['PingFang SC'] leading-none">
+              <span class="text-white text-xs font-normal font-['PingFang_SC'] leading-none">
                 2
               </span>
-              <span class="text-[#a1a1a1] text-xs font-normal font-['PingFang SC'] leading-none">
+              <span class="text-[#a1a1a1] text-xs font-normal font-['PingFang_SC'] leading-none">
                 /8
               </span>
             </div>
@@ -168,7 +168,7 @@ onMounted(async () => {
               class="w-[59px] h-[21px] px-2.5 bg-[#524c3b] rounded-[30px] shadow shadow-inner justify-center items-center gap-0.5 inline-flex"
             >
               <div
-                class="text-center text-[#ffecb9] text-[10px] font-normal font-['PingFang SC'] leading-relaxed"
+                class="text-center text-[#ffecb9] text-[10px] font-normal font-['PingFang_SC'] leading-relaxed"
               >
                 获取榜
               </div>

+ 2 - 2
packages/app/src/pages/mine/invite/index.vue

@@ -163,10 +163,10 @@ onMounted(async () => {
     <BottomAppBar fixed :border="false">
       <div>
         <div class="text-center mb-5.5">
-          <span class="text-black/40 text-xs font-normal font-['PingFang SC'] leading-tight">
+          <span class="text-black/40 text-xs font-normal font-['PingFang_SC'] leading-tight">
             点击确认关联即表示同意
           </span>
-          <span class="text-[#0cbe7c] text-xs font-normal font-['PingFang SC'] leading-tight">
+          <span class="text-[#0cbe7c] text-xs font-normal font-['PingFang_SC'] leading-tight">
             《个人微信视频号授权使用协议》
           </span>
         </div>

+ 2 - 2
packages/app/src/pages/mine/scan/result/index.vue

@@ -108,11 +108,11 @@ onLoad(async (query: { result: string }) => {
     <template v-else-if="isInStoreClockIn">
       <div class="w-full box-border px-8.25 flex flex-col items-center gap-7">
         <wd-img width="60" height="60" :src="success" custom-class="mb--4"></wd-img>
-        <div class="text-black/90 text-xl font-normal font-['PingFang SC'] leading-none">
+        <div class="text-black/90 text-xl font-normal font-['PingFang_SC'] leading-none">
           扫描成功
         </div>
         <div
-          class="w-[162px] h-[18px] text-center text-black/40 text-base font-normal font-['PingFang SC'] leading-relaxed"
+          class="w-[162px] h-[18px] text-center text-black/40 text-base font-normal font-['PingFang_SC'] leading-relaxed"
         >
           {{ data?.desc ? data.desc : '恭喜您!到店打卡成功' }}
         </div>

+ 1 - 1
packages/merchant/src/components/bottom-app-bar.vue

@@ -40,7 +40,7 @@ onMounted(async () => {
       ref="aRef"
       :class="[
         (fixed ?? true)
-          ? 'fixed bottom-0 left-0 right-0 after:content-empty after:w-full after:h-full after:relative'
+          ? 'fixed bottom-0 left-0 right-0 after:content-empty after:w-full after:h-full after:relative z-100'
           : '',
         border ? 'border-t border-t-solid border-[#ececec]' : '',
       ]"

+ 24 - 6
packages/merchant/src/components/data-form.vue

@@ -25,7 +25,7 @@ withDefaults(
   defineProps<{
     schema: {
       [key: symbol]: {
-        type: 'TextField' | 'Select' | 'Radio' | 'Submit' | 'timePick' | 'textarea'
+        type: 'TextField' | 'Select' | 'Radio' | 'Submit' | 'timePick' | 'TimePick' | 'textarea'
         label?: string
         existing?: boolean
         props?: any
@@ -113,11 +113,7 @@ defineExpose({
           <label
             v-if="type !== 'Submit'"
             class="text-sm font-normal leading-relaxed"
-            :class="[
-              direction === 'horizontal'
-                ?  'text-black/60'
-                : 'mb-1 text-black/40',
-            ]"
+            :class="[direction === 'horizontal' ? 'text-black/60' : 'mb-1 text-black/40']"
             :for="prop"
           >
             <span v-if="props?.required" style="color: #ff2e2e">*</span>
@@ -144,6 +140,17 @@ defineExpose({
               ...props,
             }"
           />
+          <wd-datetime-picker
+            v-model="modelValue[prop]"
+            v-if="type === 'TimePick'"
+            v-bind="{
+              ...(direction === 'vertical'
+                ? verticalDefaultProps[type]
+                : horizontalDefaultProps[type]),
+              cell: false,
+              ...props,
+            }"
+          />
           <wd-textarea
             v-if="type === 'textarea'"
             v-model="modelValue[prop]"
@@ -155,6 +162,17 @@ defineExpose({
               ...props,
             }"
           />
+          <wd-textarea
+            v-if="type === 'Textarea'"
+            v-model="modelValue[prop]"
+            v-bind="{
+              ...(direction === 'vertical'
+                ? verticalDefaultProps[type]
+                : horizontalDefaultProps[type]),
+              cell: false,
+              ...props,
+            }"
+          />
           <wd-picker
             v-if="type === 'Select'"
             v-bind="{

+ 16 - 10
packages/merchant/src/core/libs/requests.ts

@@ -2,7 +2,8 @@ import { http, httpGet, httpPost } from '../../utils/http'
 import { Schedule } from '../models/schedule'
 import { Moment } from '../models/moment'
 import dayjs from 'dayjs'
-import { PointsOrder, ResPageData } from '@designer-hub/app/src/core/libs/models'
+import { PointsOrder, ResPageData, Todo } from '@designer-hub/app/src/core/libs/models'
+import { httpDelete, httpPut } from '../../../../app/src/utils/http'
 
 export const getUserInfo = () =>
   httpGetMock<any>({
@@ -326,15 +327,20 @@ export const getPointsOrder = (id) =>
  * 渠道端-获取待办列表
  */
 export const getTodos = (query: { brokerId: string; executionTime: string }) =>
-  httpGet<
-    {
-      id: number
-      content: string
-      status: number
-      executionTime: string
-      createTime: string
-    }[]
-  >('/app-api/member/todo/list', query)
+  httpGet<Todo[]>('/app-api/member/todo/list', query)
+/**
+ * 渠道端-创建待办
+ */
+export const createTodo = (data: Partial<Todo>) => httpPost('/app-api/member/todo/create', data)
+/**
+ * 渠道端-删除待办
+ */
+export const deleteTodo = (id: number) => httpDelete('/app-api/member/todo/delete', { id })
+/**
+ * 渠道端-更新待办
+ */
+export const updateTodo = (data: Partial<Todo>) =>
+  httpPut('/app-api/member/todo/updateStatus', data)
 export const httpGetMock = <T>(data: T) =>
   new Promise<IResData<T>>((resolve) => resolve({ code: 1, msg: '', data } as IResData<T>))
 export interface Circle {

+ 8 - 6
packages/merchant/src/pages/designer/detail.vue

@@ -31,7 +31,6 @@ const toPointsDetails = () => {
 const toOrderDetails = () => {
   uni.navigateTo({ url: '/pages/mine/merchant/orders/detail/index' })
 }
-
 </script>
 
 <template>
@@ -337,24 +336,27 @@ const toOrderDetails = () => {
                 </div>
               </view>
               <view class="content mt-[20px]" v-if="index === 3">
-                <div class="bg-white rounded-2xl shadow pa-[15px] mt-[20px] flex-col gap-2 flex" @click="toOrderDetails">
+                <div
+                  class="bg-white rounded-2xl shadow pa-[15px] mt-[20px] flex-col gap-2 flex"
+                  @click="toOrderDetails"
+                >
                   <div class="bg-white rounded-2xl flex items-center justify-between w-full">
                     <div>
                       <img class="w-[76px] h-[101px]" src="https://via.placeholder.com/76x101" />
                     </div>
                     <div class="ml-[16px] flex flex-col justify-start">
                       <div
-                        class="text-black text-base font-normal font-['PingFang SC'] leading-normal"
+                        class="text-black text-base font-normal font-['PingFang_SC'] leading-normal"
                       >
                         阿芙佳朵
                       </div>
                       <div
-                        class="text-left text-black/30 text-sm font-normal font-['PingFang SC'] leading-normal"
+                        class="text-left text-black/30 text-sm font-normal font-['PingFang_SC'] leading-normal"
                       >
                         x2
                       </div>
                       <div
-                        class="text-left text-black/30 text-sm font-normal font-['PingFang SC'] leading-normal"
+                        class="text-left text-black/30 text-sm font-normal font-['PingFang_SC'] leading-normal"
                       >
                         600积分
                       </div>
@@ -362,7 +364,7 @@ const toOrderDetails = () => {
                     <div class="flex-1"></div>
                     <div>
                       <div
-                        class="text-[#2357e9] text-xs font-normal font-['PingFang SC'] leading-normal"
+                        class="text-[#2357e9] text-xs font-normal font-['PingFang_SC'] leading-normal"
                       >
                         已完成
                       </div>

+ 110 - 10
packages/merchant/src/pages/home/agent/todo/index.vue

@@ -3,24 +3,124 @@
 </route>
 <script setup lang="ts">
 import PageHelperEvo from '@/components/page-helper-evo.vue'
-import { getTodos } from '../../../../core/libs/requests'
+import { createTodo, deleteTodo, getTodos, updateTodo } from '../../../../core/libs/requests'
+import { useUserStore } from '../../../../store'
+import { storeToRefs } from 'pinia'
+import dayjs from 'dayjs'
+import DataForm from '@/components/data-form.vue'
+import { addUnit } from 'wot-design-uni/components/common/util'
+import { requestToast } from '@designer-hub/app/src/core/utils/common'
+import SectionHeading from '@/components/section-heading.vue'
+import { Todo } from '@designer-hub/app/src/core/libs/models'
+import BottomAppBar from '@/components/bottom-app-bar.vue'
 
-const value = ref(Date.now())
-const { data, run: setData } = useRequest(() => getTodos({ brokerId: '', executionTime: '' }), {
-  initialData: [],
+const userStore = useUserStore()
+const { userInfo } = storeToRefs(userStore)
+const current = ref(Date.now())
+const { data, run: setData } = useRequest(
+  () =>
+    getTodos({
+      brokerId: userInfo.value.userId.toString(),
+      executionTime: [
+        dayjs(current.value).startOf('days').format('YYYY-MM-DD HH:mm:ss'),
+        dayjs(current.value).endOf('days').format('YYYY-MM-DD HH:mm:ss'),
+      ].join(','),
+    }),
+  {
+    initialData: [],
+  },
+)
+const addSheetVisible = ref(false)
+const floatPanelHeight = ref()
+const schema = ref({
+  executionTime: { type: 'TimePick', label: '时间', props: { defaultValue: dayjs().toDate() } },
+  content: { type: 'Textarea', label: '备注', props: {} },
 })
+const formData = ref({})
+const handleAddTodo = () => {
+  addSheetVisible.value = true
+}
+const handleSubmit = async () => {
+  console.log('提交')
+  await requestToast(
+    () => createTodo({ ...formData.value, creator: userInfo.value.userId.toString(), status: 0 }),
+    {
+      successTitle: '添加成功',
+      success: true,
+    },
+  )
+  await setData()
+  addSheetVisible.value = false
+}
+const handleDelete = async (todo: Todo) => {
+  console.log('删除')
+  await requestToast(() => deleteTodo(todo.id), { success: true, successTitle: '删除成功' })
+  await setData()
+}
+const handleClick = async ({ value }: { value: boolean }, todo: Todo) => {
+  await updateTodo({ id: todo.id, status: value ? 1 : 0 })
+  await setData()
+}
+const handleCalendarChange = async () => {
+  await setData()
+}
 onMounted(async () => {
   await setData()
 })
 </script>
 <template>
   <div class="flex-grow">
-    <wd-calendar-view v-model="value" />
-    <wd-floating-panel>
-      <!-- <PageHelperEvo :request=""></PageHelperEvo> -->
-      <template v-for="(it, i) in data" :key="i">
-        <div>{{ it }}</div>
-      </template>
+    <wd-calendar-view v-model="current" @change="handleCalendarChange" />
+    <wd-floating-panel v-if="!addSheetVisible" :anchors="[260, 490]" :custom-class="'h-auto'">
+      <div class="box-border p-4 flex flex-col gap-3.5">
+        <!-- <PageHelperEvo :request=""></PageHelperEvo> -->
+        <div class="flex items-center gap-2.5">
+          <div class="w-1 h-4 bg-[#2357e9] rounded-[20px]"></div>
+
+          <SectionHeading :title="dayjs(current).format('MM月DD日')"></SectionHeading>
+        </div>
+        <div class="flex-1 flex flex-col gap-6 py-6 b-t-solid b-t-[#f6f6f6]">
+          <template v-for="(it, i) in data" :key="i">
+            <div class="flex items-center gap-3.5">
+              <wd-checkbox
+                :modelValue="it.status === 1"
+                shape="square"
+                @change="(e) => handleClick(e, it)"
+              ></wd-checkbox>
+              <div
+                class="text-base font-normal font-['PingFang_SC'] leading-relaxed"
+                :class="it.status === 1 ? 'text-black/30 ' : 'text-black/90'"
+              >
+                {{ it.content }}
+              </div>
+              <div class="flex-1"></div>
+
+              <div
+                class="text-center text-black/30 text-sm font-normal font-['PingFang_SC'] leading-relaxed"
+              >
+                {{ dayjs(it.executionTime).format('HH:mm') }}
+              </div>
+              <wd-icon
+                custom-class="text-black/30"
+                name="close"
+                size="12"
+                @click="handleDelete(it)"
+              ></wd-icon>
+            </div>
+          </template>
+        </div>
+      </div>
     </wd-floating-panel>
+    <BottomAppBar v-if="!addSheetVisible" fixed placeholder :border="false">
+      <div>
+        <wd-button :round="false" block @click="handleAddTodo">添加待办</wd-button>
+      </div>
+    </BottomAppBar>
+    <wd-action-sheet v-model="addSheetVisible" custom-class="z-10000000000000!">
+      <div class="p-4">
+        <DataForm :schema="schema" direction="horizontal" v-model="formData"></DataForm>
+        <wd-button :round="false" block @click="handleSubmit">添加待办</wd-button>
+      </div>
+    </wd-action-sheet>
   </div>
 </template>

+ 1 - 1
packages/merchant/src/pages/home/index.vue

@@ -180,7 +180,7 @@ onShareAppMessage(() => ({}))
                 class="flex items-center justify-center b-t b-t-solid b-t-[#f6f6f6] pt-3.5"
                 @click="router.push('/pages/home/agent/todo/index')"
               >
-                <div class="text-[#2357e9] text-xs font-normal font-['PingFang SC'] leading-none">
+                <div class="text-[#2357e9] text-xs font-normal font-['PingFang_SC'] leading-none">
                   全部待办
                 </div>
                 <wd-icon name="arrow-right" size="10" color="#2357e9" />

+ 37 - 36
packages/merchant/src/pages/home/tasks/detail/index.vue

@@ -52,7 +52,7 @@ onMounted(async () => {
   <view class="flex-grow flex flex-col p-4 gap-4" style="position: relative">
     <Card :custom-class="`${types[type].bgClass} px-0 py-0`">
       <div class="flex items-center py-[20px] px-[15px]">
-        <div class="text-black/90 text-lg font-normal font-['PingFang SC'] leading-none">
+        <div class="text-black/90 text-lg font-normal font-['PingFang_SC'] leading-none">
           团队任务
         </div>
         <div class="flex-1"></div>
@@ -70,28 +70,28 @@ onMounted(async () => {
             <wd-circle v-model="current" :size="50" color="rgba(66, 113, 255, 1)"></wd-circle>
           </div>
           <div class="flex flex-row items-center justify-start ml-[37px]">
-            <div class="text-black/60 text-sm font-normal font-['PingFang SC']">奖励积分:</div>
+            <div class="text-black/60 text-sm font-normal font-['PingFang_SC']">奖励积分:</div>
             <div class="text-[#ff2d2d] text-[22px] font-medium font-['DIN'] leading-normal">
               6000
             </div>
-            <div class="text-[#ff2d2d] text-xs font-normal font-['PingFang SC'] leading-normal">
+            <div class="text-[#ff2d2d] text-xs font-normal font-['PingFang_SC'] leading-normal">
               积分
             </div>
           </div>
         </div>
         <div class="flex flex-row items-center justify-between gap-2 p-[20px]">
           <div class="flex items-center justify-center flex-col">
-            <div class="text-black/60 text-xs font-normal font-['PingFang SC']">目标</div>
+            <div class="text-black/60 text-xs font-normal font-['PingFang_SC']">目标</div>
             <div class="w-5 text-black/90 text-lg font-medium font-['DIN'] leading-normal">30</div>
           </div>
-          <div style="background: #e8e8e8; height: 10px; width: 1px"></div>
+          <div style="width: 1px; height: 10px; background: #e8e8e8"></div>
           <div class="flex items-center justify-center flex-col">
-            <div class="text-black/60 text-xs font-normal font-['PingFang SC']">个人完成</div>
+            <div class="text-black/60 text-xs font-normal font-['PingFang_SC']">个人完成</div>
             <div class="w-5 text-black/90 text-lg font-medium font-['DIN'] leading-normal">30</div>
           </div>
-          <div style="background: #e8e8e8; height: 5px; width: 1px"></div>
+          <div style="width: 1px; height: 5px; background: #e8e8e8"></div>
           <div class="flex items-center justify-center flex-col">
-            <div class="text-black/60 text-xs font-normal font-['PingFang SC']">累计完成</div>
+            <div class="text-black/60 text-xs font-normal font-['PingFang_SC']">累计完成</div>
             <div class="w-5 text-black/90 text-lg font-medium font-['DIN'] leading-normal">30</div>
           </div>
           <!--            </div>-->
@@ -99,60 +99,60 @@ onMounted(async () => {
       </div>
       <div class="bg-[#ffffff] p-[14px] pt-[24px]">
         <div class="mb-[19px]">
-          <span class="text-black/40 text-sm font-normal font-['PingFang SC'] leading-none">
+          <span class="text-black/40 text-sm font-normal font-['PingFang_SC'] leading-none">
             任务名称:
           </span>
-          <span class="text-black/60 text-sm font-normal font-['PingFang SC'] leading-none">
+          <span class="text-black/60 text-sm font-normal font-['PingFang_SC'] leading-none">
             邀请30位设计师带客到店
           </span>
         </div>
         <div class="mb-[19px]">
-          <span class="text-black/40 text-sm font-normal font-['PingFang SC'] leading-none">
+          <span class="text-black/40 text-sm font-normal font-['PingFang_SC'] leading-none">
             发起方:
           </span>
-          <span class="text-black/60 text-sm font-normal font-['PingFang SC'] leading-none">
+          <span class="text-black/60 text-sm font-normal font-['PingFang_SC'] leading-none">
             imola瓷砖
           </span>
         </div>
         <div class="mb-[19px]">
-          <span class="text-black/40 text-sm font-normal font-['PingFang SC'] leading-none">
+          <span class="text-black/40 text-sm font-normal font-['PingFang_SC'] leading-none">
             适用店面:
           </span>
-          <span class="text-black/60 text-sm font-normal font-['PingFang SC'] leading-none">
+          <span class="text-black/60 text-sm font-normal font-['PingFang_SC'] leading-none">
             曲江新区店
           </span>
         </div>
         <div class="mb-[19px]">
-          <span class="text-black/40 text-sm font-normal font-['PingFang SC'] leading-none">
+          <span class="text-black/40 text-sm font-normal font-['PingFang_SC'] leading-none">
             任务时间:
           </span>
-          <span class="text-black/60 text-sm font-normal font-['PingFang SC'] leading-none">
+          <span class="text-black/60 text-sm font-normal font-['PingFang_SC'] leading-none">
             2024/06/07-2024/09/16
           </span>
         </div>
         <div class="mb-[19px]">
-          <span class="text-black/40 text-sm font-normal font-['PingFang SC'] leading-none">
+          <span class="text-black/40 text-sm font-normal font-['PingFang_SC'] leading-none">
             详细说明:
           </span>
-          <span class="text-black/60 text-sm font-normal font-['PingFang SC'] leading-none">
+          <span class="text-black/60 text-sm font-normal font-['PingFang_SC'] leading-none">
             邀请设计师带客到店,扫码获取积分
           </span>
         </div>
         <div>
-          <span class="text-black/40 text-sm font-normal font-['PingFang SC'] leading-none">
+          <span class="text-black/40 text-sm font-normal font-['PingFang_SC'] leading-none">
             完成方式:
           </span>
-          <span class="text-black/60 text-sm font-normal font-['PingFang SC'] leading-none">
+          <span class="text-black/60 text-sm font-normal font-['PingFang_SC'] leading-none">
             到店扫码
           </span>
         </div>
       </div>
       <div class="bg-[#ffffff] p-[14px]">
         <div class="flex items-center justify-between">
-          <div class="text-black/90 text-sm font-normal font-['PingFang SC'] leading-none">
+          <div class="text-black/90 text-sm font-normal font-['PingFang_SC'] leading-none">
             已接单经纪人
           </div>
-          <div class="text-black/40 text-sm font-normal font-['PingFang SC'] leading-none">
+          <div class="text-black/40 text-sm font-normal font-['PingFang_SC'] leading-none">
             共2人
           </div>
         </div>
@@ -160,7 +160,7 @@ onMounted(async () => {
           <div class="my-[23px]">
             <img class="w-[46px] h-[46px] rounded-full" src="https://via.placeholder.com/46x46" />
             <div
-              class="text-black/60 text-sm font-normal font-['PingFang SC'] leading-none mt-[10px]"
+              class="text-black/60 text-sm font-normal font-['PingFang_SC'] leading-none mt-[10px]"
             >
               王世东
             </div>
@@ -168,7 +168,7 @@ onMounted(async () => {
           <div>
             <img class="w-[46px] h-[46px] rounded-full" src="https://via.placeholder.com/46x46" />
             <div
-              class="text-black/60 text-sm font-normal font-['PingFang SC'] leading-none mt-[10px]"
+              class="text-black/60 text-sm font-normal font-['PingFang_SC'] leading-none mt-[10px]"
             >
               王世东
             </div>
@@ -217,29 +217,29 @@ onMounted(async () => {
       </div>
       <div v-else class="bg-[#f7fbff] rounded-[10px] py-[22px] px-[16px] mt-[20px]">
         <div class="flex items-center justify-between">
-          <div class="text-black/40 text-xs font-normal font-['PingFang SC'] leading-normal">
+          <div class="text-black/40 text-xs font-normal font-['PingFang_SC'] leading-normal">
             2024/04/01 11:25
           </div>
-          <div class="text-[#2357e9] text-xs font-normal font-['PingFang SC'] leading-normal">
+          <div class="text-[#2357e9] text-xs font-normal font-['PingFang_SC'] leading-normal">
             审核中
           </div>
         </div>
         <div class="mt-[7px]">
-          <span class="text-black/60 text-sm font-normal font-['PingFang SC'] leading-normal">
+          <span class="text-black/60 text-sm font-normal font-['PingFang_SC'] leading-normal">
             个人完成量:
           </span>
-          <span class="text-black/90 text-sm font-normal font-['PingFang SC'] leading-normal">
+          <span class="text-black/90 text-sm font-normal font-['PingFang_SC'] leading-normal">
             1
           </span>
         </div>
         <div class="mt-[2px]">
-          <span class="text-black/60 text-sm font-normal font-['PingFang SC'] leading-normal">
+          <span class="text-black/60 text-sm font-normal font-['PingFang_SC'] leading-normal">
             上报说明
           </span>
-          <span class="text-black/90 text-sm font-normal font-['PingFang SC'] leading-normal">
+          <span class="text-black/90 text-sm font-normal font-['PingFang_SC'] leading-normal">
           </span>
-          <span class="text-black/90 text-sm font-normal font-['PingFang SC'] leading-normal">
+          <span class="text-black/90 text-sm font-normal font-['PingFang_SC'] leading-normal">
             我邀请设计师苏小萌到IMOLA曲江新区店
           </span>
         </div>
@@ -252,7 +252,7 @@ onMounted(async () => {
             class="grow shrink basis-0 px-5 py-3 bg-[#f2f3ff] rounded-md justify-center items-center gap-1 flex"
           >
             <div
-              class="text-center text-[#ff2d2d] text-base font-normal font-['PingFang SC'] leading-normal"
+              class="text-center text-[#ff2d2d] text-base font-normal font-['PingFang_SC'] leading-normal"
             >
               不接单
             </div>
@@ -261,7 +261,7 @@ onMounted(async () => {
             class="grow shrink basis-0 px-5 py-3 bg-[#2357e9] rounded-md justify-center items-center gap-1 flex"
           >
             <div
-              class="text-center text-white text-base font-normal font-['PingFang SC'] leading-normal"
+              class="text-center text-white text-base font-normal font-['PingFang_SC'] leading-normal"
             >
               接单
             </div>
@@ -270,8 +270,9 @@ onMounted(async () => {
       </template>
       <template v-else>
         <div class="px-5 py-3 bg-[#2357e9] rounded-md justify-center items-center gap-1">
-          <div @click="publishState = true"
-            class="text-center text-white text-base font-normal font-['PingFang SC'] leading-normal"
+          <div
+            @click="publishState = true"
+            class="text-center text-white text-base font-normal font-['PingFang_SC'] leading-normal"
           >
             上报
           </div>
@@ -281,7 +282,7 @@ onMounted(async () => {
     <wd-action-sheet v-model="publishState" title="" @close="publishState = false">
       <view class="flex flex-col p-4 mt-4">
         <data-form :schema="customerSchema" v-model="fromModel"></data-form>
-<!--        <div><DataForm :schema="schema" direction="horizontal"></DataForm></div>-->
+        <!--        <div><DataForm :schema="schema" direction="horizontal"></DataForm></div>-->
         <div><wd-button block :round="false">提交</wd-button></div>
       </view>
     </wd-action-sheet>

+ 4 - 4
packages/merchant/src/pages/home/tasks/index.vue

@@ -63,7 +63,7 @@ onMounted(async () => {
 </script>
 <template>
   <div class="bg-white rounded-lg shadow flex m-[18px] p-[11px]">
-    <div class="text-black/90 text-base font-normal font-['PingFang SC'] leading-relaxed">
+    <div class="text-black/90 text-base font-normal font-['PingFang_SC'] leading-relaxed">
       任务积分
     </div>
     <div class="flex-1"></div>
@@ -119,13 +119,13 @@ onMounted(async () => {
               </span>
             </div>
             <div class="flex items-center border-t border-t-solid border-t-[#efefef] pt-1.5">
-              <div class="text-black/90 text-sm font-normal font-['PingFang SC']">目标 30</div>
+              <div class="text-black/90 text-sm font-normal font-['PingFang_SC']">目标 30</div>
               <div class="flex-1"></div>
               <div
                 class="mr-[16px] w-[68px] h-7 px-2.5 py-[3px] rounded-[30px] border border-[#fe5053] justify-center items-center gap-2.5 inline-flex"
                 style="border: 1px solid #fe5053"
               >
-                <div class="w-9 text-[#ff2d2d] text-xs font-normal font-['PingFang SC']">
+                <div class="w-9 text-[#ff2d2d] text-xs font-normal font-['PingFang_SC']">
                   不接单
                 </div>
               </div>
@@ -133,7 +133,7 @@ onMounted(async () => {
                 @click="acceptingOrders()"
                 class="w-[68px] h-7 px-2.5 py-[3px] bg-[#2357e9] rounded-[30px] justify-center items-center gap-2.5 inline-flex"
               >
-                <div class="text-white text-xs font-normal font-['PingFang SC']">接单</div>
+                <div class="text-white text-xs font-normal font-['PingFang_SC']">接单</div>
               </div>
             </div>
           </div>