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']
|
SidePanelLayout: typeof import('./src/components/SidePanelLayout.vue')['default']
|
||||||
SidePanelLayoutEditor: typeof import('./src/components/SidePanelLayoutEditor.vue')['default']
|
SidePanelLayoutEditor: typeof import('./src/components/SidePanelLayoutEditor.vue')['default']
|
||||||
SidePanelModal: typeof import('./src/components/Modals/SidePanelModal.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']
|
SLASection: typeof import('./src/components/SLASection.vue')['default']
|
||||||
SmileIcon: typeof import('./src/components/Icons/SmileIcon.vue')['default']
|
SmileIcon: typeof import('./src/components/Icons/SmileIcon.vue')['default']
|
||||||
SortBy: typeof import('./src/components/SortBy.vue')['default']
|
SortBy: typeof import('./src/components/SortBy.vue')['default']
|
||||||
|
|||||||
@ -132,6 +132,10 @@
|
|||||||
:afterResetAll="() => capture('onboarding_steps_reset')"
|
:afterResetAll="() => capture('onboarding_steps_reset')"
|
||||||
docsLink="https://docs.frappe.io/crm"
|
docsLink="https://docs.frappe.io/crm"
|
||||||
/>
|
/>
|
||||||
|
<IntermediateStepModal
|
||||||
|
v-model="showIntermediateModal"
|
||||||
|
:currentStep="currentStep"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -174,6 +178,7 @@ import {
|
|||||||
useOnboarding,
|
useOnboarding,
|
||||||
showHelpModal,
|
showHelpModal,
|
||||||
minimize,
|
minimize,
|
||||||
|
IntermediateStepModal,
|
||||||
} from 'frappe-ui/frappe'
|
} from 'frappe-ui/frappe'
|
||||||
import { capture } from '@/telemetry'
|
import { capture } from '@/telemetry'
|
||||||
import router from '@/router'
|
import router from '@/router'
|
||||||
@ -308,6 +313,9 @@ async function getFirstDeal() {
|
|||||||
return await call('crm.api.onboarding.get_first_deal')
|
return await call('crm.api.onboarding.get_first_deal')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const showIntermediateModal = ref(false)
|
||||||
|
const currentStep = ref({})
|
||||||
|
|
||||||
const steps = reactive([
|
const steps = reactive([
|
||||||
{
|
{
|
||||||
name: 'create_first_lead',
|
name: 'create_first_lead',
|
||||||
@ -338,13 +346,23 @@ const steps = reactive([
|
|||||||
onClick: async () => {
|
onClick: async () => {
|
||||||
minimize.value = true
|
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) {
|
let lead = await getFirstLead()
|
||||||
router.push({ name: 'Lead', params: { leadId: lead } })
|
if (lead) {
|
||||||
} else {
|
router.push({ name: 'Lead', params: { leadId: lead } })
|
||||||
router.push({ name: 'Leads' })
|
} else {
|
||||||
|
router.push({ name: 'Leads' })
|
||||||
|
}
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
showIntermediateModal.value = true
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -434,17 +452,28 @@ const steps = reactive([
|
|||||||
completed: false,
|
completed: false,
|
||||||
onClick: async () => {
|
onClick: async () => {
|
||||||
minimize.value = true
|
minimize.value = true
|
||||||
let deal = await getFirstDeal()
|
|
||||||
|
|
||||||
if (deal) {
|
currentStep.value = {
|
||||||
router.push({
|
title: __('Change deal status'),
|
||||||
name: 'Deal',
|
buttonLabel: __('Change'),
|
||||||
params: { dealId: deal },
|
videoURL: '/assets/crm/videos/change_deal_status.mov',
|
||||||
hash: '#activity',
|
onClick: async () => {
|
||||||
})
|
showIntermediateModal.value = false
|
||||||
} else {
|
currentStep.value = {}
|
||||||
router.push({ name: 'Leads' })
|
|
||||||
|
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