Browse Source

feat(merchant):首添加分页,请求10条,基础信息婚姻增修改为4中类型,家庭信息列表

Jake 2 months ago
parent
commit
c9ffe79c4f

+ 2 - 2
packages/merchant/env/.env.development

@@ -5,6 +5,6 @@ VITE_DELETE_CONSOLE=false
 # 是否开启sourcemap
 VITE_SHOW_SOURCEMAP=true
 
-VITE_SERVER_BASEURL='https://www.zhuchaohui.com'
+#VITE_SERVER_BASEURL='https://www.zhuchaohui.com'
 # VITE_SERVER_BASEURL = 'http://39.106.91.179:48080'
-# VITE_SERVER_BASEURL='http://192.168.2.58:48080'
+ VITE_SERVER_BASEURL='http://192.168.2.58:48080'

+ 1 - 0
packages/merchant/src/components/data-form.vue

@@ -155,6 +155,7 @@ defineExpose({
                 : horizontalDefaultProps[type]),
               cell: false,
               ...props,
+
             }"
           />
           <wd-textarea

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

@@ -41,7 +41,7 @@ onMounted(async () => {
   if (props.automatic) {
     console.log('Page Helper Automatic')
     await setData()
-    items.value = data.value?.list || []
+    items.value = data.value?.list || data.value || []
   }
 })
 watch(
@@ -71,7 +71,7 @@ defineExpose({
     pageNo.value = 1
     pageSize.value = 10
     await setData()
-    items.value = data.value?.list || []
+    items.value = data.value?.list || data.value || []
   },
   refresh: async () => {
     console.log('Page Helper Refresh')

+ 6 - 0
packages/merchant/src/core/libs/agent-requests.ts

@@ -272,6 +272,12 @@ export const createDesignerEvent = (query: Partial<DesignerEvent>) =>
 export const deleteDesignerEvent = (id: number) =>
   httpDelete('/app-api/member/stylist-extra-events/delete', { id })
 /**
+ * 删除家庭信息
+ */
+export const deleteStylistFamily = (id: number) =>
+  httpDelete('/app-api/member/stylist-family/delete', { id })
+
+/**
  * 获取设计师活动
  */
 export const getDesignerEvents = (query = {}) =>

+ 10 - 7
packages/merchant/src/pages/agent/designer/archives/basic-info/index.vue

@@ -44,7 +44,7 @@ const schema = ref<
       | 'circle'
       | 'hobbies'
       | 'sharingIntent'
-      | 'imageUrl'
+      // | 'imageUrl'
       | 'maritalStatus'
     >
   >
@@ -83,17 +83,20 @@ const schema = ref<
     type: 'TextField',
     label: messages.objects.designerBasiceInfo.sharingIntent,
   },
-  imageUrl: {
-    type: 'ImageUploader',
-    label: messages.objects.designerBasiceInfo.imageUrl,
-  },
+  // imageUrl: {
+  //   type: 'ImageUploader',
+  //   label: messages.objects.designerBasiceInfo.imageUrl,
+  // },
   maritalStatus: {
     type: 'Radio',
     label: messages.objects.designerBasiceInfo.maritalStatus,
     props: {
+
       columns: [
-        { label: '未婚', value: 0 },
-        { label: '已婚', value: 1 },
+        { label: '未婚', value: 1 },
+        { label: '已婚', value: 2 },
+        { label: '离婚', value: 3 },
+        { label: '丧偶', value: 4 },
       ],
     },
   },

+ 75 - 7
packages/merchant/src/pages/agent/designer/archives/index.vue

@@ -10,6 +10,7 @@
 import {
   createAward,
   deleteAward,
+  deleteStylistFamily,
   getAwards,
   getDesignerActivities,
   getDesignerBasicInfo,
@@ -63,10 +64,16 @@ const handleAddFamilyInfo = async () => {
     familyRelation: {
       type: 'TextField',
       label: messages.objects.designerFamilyInfo.familyRelation,
+      props: {
+        placeholder: `请选择${messages.objects.designerFamilyInfo.familyRelation}`,
+      },
     },
     familyName: {
       type: 'TextField',
       label: messages.objects.designerFamilyInfo.familyName,
+      props: {
+        placeholder: `请选择${messages.objects.designerFamilyInfo.familyName}`,
+      },
     },
     familySex: {
       type: 'Radio',
@@ -79,16 +86,26 @@ const handleAddFamilyInfo = async () => {
       },
     },
     familyBirthday: {
-      type: 'TextField',
+      type: 'TimePick',
       label: messages.objects.designerFamilyInfo.familyBirthday,
+      props: {
+        type: 'date',
+        placeholder: `请选择${messages.objects.designerFamilyInfo.familyBirthday}`,
+      },
     },
     familyInterset: {
       type: 'TextField',
       label: messages.objects.designerFamilyInfo.familyInterset,
+      props: {
+        placeholder: `请输入${messages.objects.designerFamilyInfo.familyInterset}`,
+      },
     },
     familyOccupation: {
       type: 'TextField',
       label: messages.objects.designerFamilyInfo.familyOccupation,
+      props: {
+        placeholder: `请输入${messages.objects.designerFamilyInfo.familyOccupation}`,
+      },
     },
   }
   schema.value = familySchema
@@ -169,6 +186,13 @@ const handleDeleteAward = async (item: DesignerAward) => {
   })
   awardsListRef.value?.reload()
 }
+const handleDeleteFamilyInfo = async (item: DesignerFamilyInfo) => {
+  await requestToast(() => deleteStylistFamily(item.id), {
+    success: true,
+    successTitle: '删除成功',
+  })
+  familyPageRef.value?.reload()
+}
 onLoad(async (query?: Record<string | 'id', any>) => {
   id.value = query?.id
   await setBasicData()
@@ -204,13 +228,57 @@ onLoad(async (query?: Record<string | 'id', any>) => {
         </div>
       </template>
       <template v-if="tab === 'family'">
-        <PageHelperEvo ref="familyPageRef" :request="getDesignerFamilyInfo" :query="query">
-          <template #default="{ source }">
-            <template v-for="(it, index) in source?.list" :key="index">
-              <div>{{ it }}</div>
+        <div class="bg-white p-4 mt-4 flex-grow flex flex-col">
+          <div class="flex items-center justify-between">
+            <div>家庭信息</div>
+            <div>
+              <wd-button type="text" icon="add-circle1" @click="handleAddFamilyInfo">
+                添加家庭信息
+              </wd-button>
+            </div>
+          </div>
+          <ListHelperEvo ref="familyPageRef" :request="getDesignerFamilyInfo" :query="query">
+            <template #default="{ item, isLast }">
+              <div class="flex flex-col gap-4 py-4">
+                <SectionHeading
+                  title="关系"
+                  size="base"
+                  :end-text="item.familyRelation"
+                ></SectionHeading>
+                <SectionHeading
+                  title="姓名"
+                  size="base"
+                  :end-text="item.familyName"
+                ></SectionHeading>
+                <SectionHeading
+                  title="性别"
+                  size="base"
+                  :end-text="item.familySex"
+                ></SectionHeading>
+                <SectionHeading
+                  title="生日"
+                  size="base"
+                  :end-text="item.familyBirthday"
+                ></SectionHeading>
+                <SectionHeading
+                  title="爱好"
+                  size="base"
+                  :end-text="item.familyInterset"
+                ></SectionHeading>
+                <SectionHeading
+                  title="职业"
+                  size="base"
+                  :end-text="item.familyOccupation"
+                ></SectionHeading>
+                <wd-button type="text" @click="handleDeleteFamilyInfo(item)">删除</wd-button>
+                <div v-if="!isLast" class="w-full h-1 bg-[#dadada]"></div>
+              </div>
             </template>
-          </template>
-        </PageHelperEvo>
+          </ListHelperEvo>
+          <!--          <PageHelperEvo ref="familyPageRef" :request="getDesignerFamilyInfo" :query="query">-->
+          <!--            -->
+          <!--          </PageHelperEvo>-->
+        </div>
       </template>
       <template v-if="tab === 'award'">
         <div class="bg-white p-4 mt-4 flex-grow flex flex-col">

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

@@ -186,7 +186,8 @@ onLoad(async (params: { title?: string; filter?: string; tags?: string }) => {
                         <div
                           class="text-black/30 text-xs font-normal font-['PingFang_SC'] leading-none"
                         >
-                          2天前访问
+<!--                          2天前访问-->
+                          {{it.accessTime}}
                         </div>
                         <div class="bg-[#eeeeee] w-[2px] h-[10px]"></div>
                         <div

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

@@ -51,7 +51,7 @@ const designerPointsActivitiesQuery = computed(() => ({
   brokerId: String(userInfo.value.userId),
 }))
 const { data: tasks, run: setTasks } = useRequest(
-  () => getTasks({ brokerId: userInfo.value.userId }),
+  () => getTasks({ brokerId: userInfo.value.userId,pageNo:1,pageSize:10}),
   { initialData: { list: [], total: 0 } },
 )
 const toDesigner = () => {