fix: added intemediate step for change deal status & convert to deal step
This commit is contained in:
parent
c13ec48824
commit
02994ca00d
BIN
crm/public/videos/change_deal_status.mov
Normal file
BIN
crm/public/videos/change_deal_status.mov
Normal file
Binary file not shown.
BIN
crm/public/videos/convert_to_deal.mov
Normal file
BIN
crm/public/videos/convert_to_deal.mov
Normal file
Binary file not shown.
1
frontend/components.d.ts
vendored
1
frontend/components.d.ts
vendored
@ -192,7 +192,6 @@ declare module 'vue' {
|
||||
SidePanelLayout: typeof import('./src/components/SidePanelLayout.vue')['default']
|
||||
SidePanelLayoutEditor: typeof import('./src/components/SidePanelLayoutEditor.vue')['default']
|
||||
SidePanelModal: typeof import('./src/components/Modals/SidePanelModal.vue')['default']
|
||||
SignupBanner: typeof import('./src/components/SignupBanner.vue')['default']
|
||||
SLASection: typeof import('./src/components/SLASection.vue')['default']
|
||||
SmileIcon: typeof import('./src/components/Icons/SmileIcon.vue')['default']
|
||||
SortBy: typeof import('./src/components/SortBy.vue')['default']
|
||||
|
||||
@ -132,6 +132,10 @@
|
||||
:afterResetAll="() => capture('onboarding_steps_reset')"
|
||||
docsLink="https://docs.frappe.io/crm"
|
||||
/>
|
||||
<IntermediateStepModal
|
||||
v-model="showIntermediateModal"
|
||||
:currentStep="currentStep"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -174,6 +178,7 @@ import {
|
||||
useOnboarding,
|
||||
showHelpModal,
|
||||
minimize,
|
||||
IntermediateStepModal,
|
||||
} from 'frappe-ui/frappe'
|
||||
import { capture } from '@/telemetry'
|
||||
import router from '@/router'
|
||||
@ -308,6 +313,9 @@ async function getFirstDeal() {
|
||||
return await call('crm.api.onboarding.get_first_deal')
|
||||
}
|
||||
|
||||
const showIntermediateModal = ref(false)
|
||||
const currentStep = ref({})
|
||||
|
||||
const steps = reactive([
|
||||
{
|
||||
name: 'create_first_lead',
|
||||
@ -338,13 +346,23 @@ const steps = reactive([
|
||||
onClick: async () => {
|
||||
minimize.value = true
|
||||
|
||||
let lead = await getFirstLead()
|
||||
currentStep.value = {
|
||||
title: __('Convert lead to deal'),
|
||||
buttonLabel: __('Convert'),
|
||||
videoURL: '/assets/crm/videos/convert_to_deal.mov',
|
||||
onClick: async () => {
|
||||
showIntermediateModal.value = false
|
||||
currentStep.value = {}
|
||||
|
||||
if (lead) {
|
||||
router.push({ name: 'Lead', params: { leadId: lead } })
|
||||
} else {
|
||||
router.push({ name: 'Leads' })
|
||||
let lead = await getFirstLead()
|
||||
if (lead) {
|
||||
router.push({ name: 'Lead', params: { leadId: lead } })
|
||||
} else {
|
||||
router.push({ name: 'Leads' })
|
||||
}
|
||||
},
|
||||
}
|
||||
showIntermediateModal.value = true
|
||||
},
|
||||
},
|
||||
{
|
||||
@ -434,17 +452,28 @@ const steps = reactive([
|
||||
completed: false,
|
||||
onClick: async () => {
|
||||
minimize.value = true
|
||||
let deal = await getFirstDeal()
|
||||
|
||||
if (deal) {
|
||||
router.push({
|
||||
name: 'Deal',
|
||||
params: { dealId: deal },
|
||||
hash: '#activity',
|
||||
})
|
||||
} else {
|
||||
router.push({ name: 'Leads' })
|
||||
currentStep.value = {
|
||||
title: __('Change deal status'),
|
||||
buttonLabel: __('Change'),
|
||||
videoURL: '/assets/crm/videos/change_deal_status.mov',
|
||||
onClick: async () => {
|
||||
showIntermediateModal.value = false
|
||||
currentStep.value = {}
|
||||
|
||||
let deal = await getFirstDeal()
|
||||
if (deal) {
|
||||
router.push({
|
||||
name: 'Deal',
|
||||
params: { dealId: deal },
|
||||
hash: '#activity',
|
||||
})
|
||||
} else {
|
||||
router.push({ name: 'Leads' })
|
||||
}
|
||||
},
|
||||
}
|
||||
showIntermediateModal.value = true
|
||||
},
|
||||
},
|
||||
])
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user