|
@@ -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 -->
|