Browse Source

feat(merchant):设计师列表写跟进

Jake 2 months ago
parent
commit
3159031671
1 changed files with 59 additions and 9 deletions
  1. 59 9
      packages/merchant/src/pages/agent/designer/index.vue

+ 59 - 9
packages/merchant/src/pages/agent/designer/index.vue

@@ -11,7 +11,7 @@
 import Card from '@/components/card.vue'
 import DataForm from '@/components/data-form.vue'
 import PageHelperEvo from '@/components/page-helper-evo.vue'
-import { focusOrCancel, getDesigners } from '../../../core/libs/agent-requests'
+import { createFollowUp, focusOrCancel, getDesigners } from '../../../core/libs/agent-requests'
 import { vipIcon, rightArrowIcon, filterIcon } from '@designer-hub/assets/src/svgs'
 import { toHomePage } from '../../../core/libs/actions'
 import { Designer } from '@designer-hub/app/src/core/libs/models'
@@ -23,6 +23,8 @@ import { useMemberLevelsStore } from '../../../store/member-levles'
 import { storeToRefs } from 'pinia'
 import { useUserStore } from '../../../store'
 import link from '@designer-hub/assets/src/libs/assets/link'
+import { beforeNow } from '@/utils/date-util'
+import { getDesignerList } from '@/core/libs/requests'
 
 const userStore = useUserStore()
 const { userInfo } = storeToRefs(userStore)
@@ -34,6 +36,9 @@ const { schema, rules } = useFollowUp()
 const memberLevelsStore = useMemberLevelsStore()
 const { memberLevels } = storeToRefs(memberLevelsStore)
 const { getMemberLevelLogo } = memberLevelsStore
+const followUpForm = ref({})
+const followUpFormRef = ref({})
+
 const filterQuery = ref<{
   tags: any[]
   levels: any[]
@@ -90,6 +95,33 @@ const handleImportant = async (designer: Designer) => {
     await pageHelperRef.value?.refresh()
   }
 }
+const saveFollowUp = (item: any) => {
+  console.log(item)
+  schema.value.stylistId.props.columns = [{ value: item.id, label: item.name }]
+  followUpForm.value.stylistId = item.id
+  publishState.value = true
+}
+const createFollowUpSubmit = async () => {
+  const { valid } = await followUpFormRef.value.validate()
+  if (!valid) {
+    return
+  }
+  console.log(followUpForm.value)
+  const { code } = await requestToast(
+    () =>
+      createFollowUp({
+        ...followUpForm.value,
+        address: { address: '', latitude: '', longitude: '' },
+      }),
+    {
+      success: true,
+      successTitle: '跟进成功',
+    },
+  )
+  if (code === 0) {
+    publishState.value = false
+  }
+}
 const handleSubmit = () => {
   query.value = {
     ...filterQuery.value,
@@ -118,6 +150,17 @@ onLoad(async (params: { title?: string; filter?: string; tags?: string }) => {
     tags: filterQuery.value.tags.join(','),
     levels: filterQuery.value.levels.join(','),
   }
+  // const {
+  //   data: { list },
+  // } = await getDesignerList({
+  //   brokerId: String(userInfo.value.userId),
+  //   pageNo: 1,
+  //   pageSize: -1,
+  // })
+  // schema.value.stylistId.props.columns = list.map((item) => ({
+  //   value: item.id,
+  //   label: item.name,
+  // }))
 })
 </script>
 
@@ -186,8 +229,7 @@ onLoad(async (params: { title?: string; filter?: string; tags?: string }) => {
                         <div
                           class="text-black/30 text-xs font-normal font-['PingFang_SC'] leading-none"
                         >
-<!--                          2天前访问-->
-                          {{it.accessTime}}
+                          {{ it.accessTime ? `${beforeNow(new Date(it.accessTime))}访问` : '' }}
                         </div>
                         <div class="bg-[#eeeeee] w-[2px] h-[10px]"></div>
                         <div
@@ -202,7 +244,7 @@ onLoad(async (params: { title?: string; filter?: string; tags?: string }) => {
 
                 <div class="row-start-2 col-start-2 col-end-4">
                   <div class="flex items-center justify-between w-full mt-[20px]">
-                    <div v-if="!it.followUp30Days" class="flex items-center">
+                    <div v-if="it.followUp30Days" class="flex items-center">
                       <div class="w-2 h-2 bg-[#89f4e2] rounded-full mr-[7px]"></div>
                       <div
                         class="text-black/90 text-xs font-normal font-['PingFang_SC'] leading-snug"
@@ -210,7 +252,7 @@ onLoad(async (params: { title?: string; filter?: string; tags?: string }) => {
                         30天未跟进
                       </div>
                     </div>
-                    <div class="flex items-center">
+                    <div class="flex items-center" v-if="it.generatePoints60Days">
                       <div class="w-2 h-2 bg-[#ffb96a] rounded-full mr-[7px]"></div>
                       <div
                         class="text-black/90 text-xs font-normal font-['PingFang_SC'] leading-snug"
@@ -218,7 +260,7 @@ onLoad(async (params: { title?: string; filter?: string; tags?: string }) => {
                         60天未产生积分
                       </div>
                     </div>
-                    <div class="flex items-center">
+                    <div class="flex items-center" v-if="it.expendPoints60Days">
                       <div class="w-2 h-2 bg-[#c493ff] rounded-full mr-[7px]"></div>
                       <div
                         class="text-black/90 text-xs font-normal font-['PingFang_SC'] leading-snug"
@@ -272,7 +314,7 @@ onLoad(async (params: { title?: string; filter?: string; tags?: string }) => {
                   >
                     <div
                       class="text-center text-white text-sm font-normal font-['PingFang_SC'] leading-normal"
-                      @click.stop="publishState = true"
+                      @click.stop="saveFollowUp(it)"
                     >
                       写跟进
                     </div>
@@ -287,8 +329,16 @@ onLoad(async (params: { title?: string; filter?: string; tags?: string }) => {
   </view>
   <wd-action-sheet v-model="publishState" title="创建跟进" @close="publishState = false">
     <view class="flex flex-col p-4">
-      <div><DataForm :schema="schema" :rules="rules" direction="horizontal"></DataForm></div>
-      <div><wd-button block :round="false">提交</wd-button></div>
+      <div>
+        <DataForm
+          ref="followUpFormRef"
+          :schema="schema"
+          v-model="followUpForm"
+          :rules="rules"
+          direction="horizontal"
+        ></DataForm>
+      </div>
+      <div><wd-button block :round="false" @click="createFollowUpSubmit">提交</wd-button></div>
     </view>
   </wd-action-sheet>
   <!-- 筛选action-sheet -->