5 Komitmen b11cb9b574 ... 2b45704f25

Pembuat SHA1 Pesan Tanggal
  EvilDragon 2b45704f25 fix: .. 1 bulan lalu
  EvilDragon fa9a4a4db8 feat: 修改源类型为数字,优化年份选择器的渲染逻辑,移除不必要的样式 1 bulan lalu
  EvilDragon 8da43527ba feat: 添加年份选择器并优化数据查询逻辑,移除不必要的代码 1 bulan lalu
  EvilDragon 6cc8b9c9de feat: 优化消息卡片和待办事项列表的渲染逻辑,修复用户ID类型转换 1 bulan lalu
  EvilDragon bf05c53c35 feat: 添加条件渲染以显示作者信息 1 bulan lalu

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

@@ -921,7 +921,7 @@ export interface AgentPoint {
   bizId: number
   bizType: string
   sourceId: number
-  sourceType: string
+  sourceType: number
   targetId: number
   taskName: string
   targetType: string

+ 1 - 0
packages/app/src/pages/home/components/comment-item.vue

@@ -104,6 +104,7 @@ defineExpose({
             {{ options.userName }}
           </div>
           <div
+            v-if="options.ownDel"
             class="px-1 rounded-[30px] border border-solid border-[#0cbe7c] justify-center items-center gap-2.5 inline-flex"
           >
             <div class="text-[#0cbe7c] text-[9px] font-normal font-['PingFang_SC']">作者</div>

+ 2 - 0
packages/app/src/pages/messages/components/message-card.vue

@@ -70,10 +70,12 @@ onMounted(async () => {
       </div>
       <div class="row-start-2 col-start-2 col-end-4">
         <div class="my-3 text-black/40 text-sm font-normal font-['PingFang_SC'] leading-[25px]">
+          <!-- {{ options.detailBody }} -->
           <div
             v-if="options.messageType === MessageType.Integral"
             v-html="options.detailBody"
           ></div>
+          <div v-html="options.detailBody"></div>
           <div class="grid grid-cols-[auto_1fr] gap-x-5 gap-y-4.5">
             <template v-if="options.messageSubType === 31 && options.isRead !== '1'">
               <div

+ 7 - 16
packages/app/src/pages/mine/points/index.vue

@@ -50,9 +50,12 @@ const { userInfo } = storeToRefs(userStore)
         </div>
         <div class="flex-1"></div>
         <div></div>
-        <div class="text-[#b6b6b6] text-sm font-normal font-['PingFang_SC'] leading-relaxed pos-relative">
-			<wd-datetime-picker type="year" v-model="year" />
-        </div>
+        <wd-datetime-picker type="year" v-model="year" use-default-slot>
+          <div class="text-[white] text-sm font-normal font-['PingFang_SC'] leading-relaxed">
+            {{ dayjs(year).format('YYYY') }}
+            <wd-icon name="arrow-down" size="12" class="text-[#ffffff]"></wd-icon>
+          </div>
+        </wd-datetime-picker>
       </div>
       <Card custom-class="relative">
         <PageHelper :request="getPoints" :query="{ stylistId: userInfo.userId, year: dayjs(year).toDate().getFullYear() }">
@@ -93,16 +96,4 @@ const { userInfo } = storeToRefs(userStore)
     </div>
   </div>
 </template>
-<style lang="scss" scoped>
-	:deep(.wd-picker__cell){
-		background-color: rgba(0,0,0,0);
-		color: #fff;
-		padding: 0;
-	}
-	:deep(.wd-picker__value){
-		color: #fff ;
-	}
-	:deep(.wd-picker__arrow){
-		color: #fff;
-	}
-</style>
+<style lang="scss"></style>

+ 18 - 5
packages/merchant/src/pages/agent/points/index.vue

@@ -16,10 +16,19 @@ import { getBroker } from '../../../core/libs/requests'
 
 const userStore = useUserStore()
 const { userInfo } = storeToRefs(userStore)
+const yearState = ref(true)
+const year = ref(dayjs().toDate().getTime())
+const query = computed(() => ({
+  brokerId: userInfo.value.userId,
+  year: dayjs(year.value).format('YYYY'),
+}))
 
 const { data, run: setData } = useRequest(() =>
   getBroker({ brokerId: String(userInfo.value.userId) }),
 )
+const handleSelect = () => {
+  yearState.value = false
+}
 onMounted(async () => {
   await setData()
 })
@@ -53,12 +62,15 @@ onMounted(async () => {
         </div>
         <div class="flex-1"></div>
         <div></div>
-        <div class="text-[white] text-sm font-normal font-['PingFang_SC'] leading-relaxed">
-          2024
-        </div>
+        <wd-datetime-picker type="year" v-model="year" use-default-slot>
+          <div class="text-[white] text-sm font-normal font-['PingFang_SC'] leading-relaxed">
+            {{ dayjs(year).format('YYYY') }}
+            <wd-icon name="arrow-down" size="12" class="text-[#ffffff]"></wd-icon>
+          </div>
+        </wd-datetime-picker>
       </div>
       <Card custom-class="relative">
-        <PageHelperEvo :request="getPointsFlow" :query="{ brokerId: userInfo.userId, year: 2024 }">
+        <PageHelperEvo :request="getPointsFlow" :query="query">
           <template #default="{ source }">
             <div class="flex flex-col gap-4">
               <template v-for="(it, i) in source?.list" :key="i">
@@ -78,9 +90,10 @@ onMounted(async () => {
                   <div>
                     <div
                       class="text-lg font-normal font-['D-DIN_Exp'] leading-relaxed"
-                      :class="`${it.bizType === '1' ? 'text-[#ef4343]' : 'text-black'}`"
+                      :class="`${it.sourceType !== 5 ? 'text-[#ef4343]' : 'text-black'}`"
                     >
                       <!-- {{ { '1': '+', '2': '-' }[it.pointsType] }} -->
+                      {{ it.sourceType === 5 ? '-' : '+' }}
                       {{ it.points }}
                     </div>
                   </div>

+ 1 - 17
packages/merchant/src/pages/agent/report-infos/index.vue

@@ -34,22 +34,6 @@ const handleDelete = async (reportInfo: ReportInfo) => {
 </script>
 <template>
   <div class="flex-grow flex flex-col">
-    <!-- <PageHelperEvo
-      :request="
-        async () => ({
-          code: 0,
-          msg: '',
-          data: { list: [{ title: '', a: 1, sss: 444 }], total: 0 },
-        })
-      "
-    >
-      <template #default="{ source }">
-        {{ source.list[0].title }}
-        {{ source.list[0].a }}
-        {{ source.list[0].sss }}
-      </template>
-    </PageHelperEvo> -->
-
     <PageHelperEvo ref="pageHelperRef" :request="getReportInfoPage" :query="query">
       <template #top>
         <wd-tabs v-model="tab">
@@ -60,7 +44,7 @@ const handleDelete = async (reportInfo: ReportInfo) => {
       </template>
       <template #default="{ source }">
         <div class="flex flex-col gap-4 p-4">
-          <template v-for="(it, i) in source.list" :key="i">
+          <template v-for="(it, i) in source?.list" :key="i">
             <Card>
               <!-- {{ it.stylistName }} -->
               <div class="flex items-center justify-between">

+ 1 - 1
packages/merchant/src/pages/agent/todo/index.vue

@@ -20,7 +20,7 @@ const current = ref(Date.now())
 const { data, run: setData } = useRequest(
   () =>
     getTodos({
-      brokerId: userInfo.value.userId.toString(),
+      brokerId: String(userInfo.value.userId),
       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'),

+ 40 - 6
packages/merchant/src/pages/home/index.vue

@@ -121,12 +121,45 @@ onShareAppMessage(() => ({}))
           </div>
           <Card>
             <div>
-              <!-- <wd-steps :active="1" vertical>
-                <wd-step description="注册1个账号" />
-                <wd-step description="登录账号并绑定手机" />
-                <wd-step description="完善个人信息" />
-              </wd-steps> -->
-              <PageHelperEvo :request="getTodoPage" :query="todosQuery"></PageHelperEvo>
+              <PageHelperEvo :request="getTodoPage" :query="todosQuery">
+                <template #default="{ source }">
+                  <div class="flex flex-col py-6">
+                    <template v-for="(it, index) in source?.list" :key="index">
+                      <div>
+                        <div class="flex items-center gap-4">
+                          <div
+                            class="w-14 text-end text-black text-base font-normal font-['PingFang SC'] leading-none"
+                          >
+                            {{ dayjs(it.executionTime).format('HH:mm') }}
+                          </div>
+                          <div class="w-3 h-3 relative">
+                            <div
+                              class="w-3 h-3 left-0 top-0 absolute rounded-full"
+                              :class="`${it.status === 1 ? 'bg-[#517df8]/10' : 'bg-[#5e5e5e]/10'}`"
+                            ></div>
+                            <div
+                              class="w-1.5 h-1.5 left-[3px] top-[3px] absolute rounded-full"
+                              :class="`${it.status === 1 ? 'bg-[#517df8]' : 'bg-[#a8a8a8]'}`"
+                            ></div>
+                          </div>
+                          <div
+                            class="text-black/60 text-sm font-normal font-['PingFang SC'] leading-none"
+                          >
+                            {{ it.content }}
+                          </div>
+                        </div>
+                        <div v-if="index < (source?.list?.length ?? 0) - 1" class="flex gap-4">
+                          <div class="w-14"></div>
+                          <div class="w-3 flex justify-center">
+                            <div class="w-.25 h-10 bg-[#EDEDED]"></div>
+                          </div>
+                          <div></div>
+                        </div>
+                      </div>
+                    </template>
+                  </div>
+                </template>
+              </PageHelperEvo>
               <div
                 class="flex items-center justify-center b-t b-t-solid b-t-[#f6f6f6] pt-3.5"
                 @click="router.push('/pages/agent/todo/index')"
@@ -150,6 +183,7 @@ onShareAppMessage(() => ({}))
             <Card v-if="!tasks.list.length">
               <wd-status-tip image="search" tip="当前暂无未开始/进行中的任务" />
             </Card>
+
             <template v-for="(it, i) in tasks.list" :key="i">
               <div class="inline-block">
                 <div class="w-[calc(75vw)]"><TaskCard :options="it"></TaskCard></div>