fix: added territory field in organization page
This commit is contained in:
parent
ebf9b40746
commit
c3c18ca119
@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"actions": [],
|
"actions": [],
|
||||||
"allow_rename": 1,
|
"allow_rename": 1,
|
||||||
|
"autoname": "field:territory_name",
|
||||||
"creation": "2024-01-04 18:52:58.872535",
|
"creation": "2024-01-04 18:52:58.872535",
|
||||||
"doctype": "DocType",
|
"doctype": "DocType",
|
||||||
"engine": "InnoDB",
|
"engine": "InnoDB",
|
||||||
@ -22,7 +23,8 @@
|
|||||||
"fieldtype": "Data",
|
"fieldtype": "Data",
|
||||||
"in_list_view": 1,
|
"in_list_view": 1,
|
||||||
"label": "Territory Name",
|
"label": "Territory Name",
|
||||||
"reqd": 1
|
"reqd": 1,
|
||||||
|
"unique": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"default": "0",
|
"default": "0",
|
||||||
@ -87,10 +89,11 @@
|
|||||||
"index_web_pages_for_search": 1,
|
"index_web_pages_for_search": 1,
|
||||||
"is_tree": 1,
|
"is_tree": 1,
|
||||||
"links": [],
|
"links": [],
|
||||||
"modified": "2024-01-04 18:56:49.292276",
|
"modified": "2024-01-04 19:16:36.234887",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "FCRM",
|
"module": "FCRM",
|
||||||
"name": "CRM Territory",
|
"name": "CRM Territory",
|
||||||
|
"naming_rule": "By fieldname",
|
||||||
"nsm_parent_field": "parent_crm_territory",
|
"nsm_parent_field": "parent_crm_territory",
|
||||||
"owner": "Administrator",
|
"owner": "Administrator",
|
||||||
"permissions": [
|
"permissions": [
|
||||||
|
|||||||
21
frontend/src/components/Icons/TerritoryIcon.vue
Normal file
21
frontend/src/components/Icons/TerritoryIcon.vue
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
<template>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="1.5"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
class="lucide lucide-land-plot"
|
||||||
|
>
|
||||||
|
<path d="m12 8 6-3-6-3v10" />
|
||||||
|
<path
|
||||||
|
d="m8 11.99-5.5 3.14a1 1 0 0 0 0 1.74l8.5 4.86a2 2 0 0 0 2 0l8.5-4.86a1 1 0 0 0 0-1.74L16 12"
|
||||||
|
/>
|
||||||
|
<path d="m6.49 12.85 11.02 6.3" />
|
||||||
|
<path d="M17.51 12.85 6.5 19.15" />
|
||||||
|
</svg>
|
||||||
|
</template>
|
||||||
@ -66,6 +66,15 @@
|
|||||||
placeholder="Add Annual Revenue"
|
placeholder="Add Annual Revenue"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
<Link
|
||||||
|
class="flex-1"
|
||||||
|
size="md"
|
||||||
|
label="Territory"
|
||||||
|
variant="outline"
|
||||||
|
v-model="_organization.territory"
|
||||||
|
doctype="CRM Territory"
|
||||||
|
placeholder="Add Territory"
|
||||||
|
/>
|
||||||
<div class="flex gap-4">
|
<div class="flex gap-4">
|
||||||
<FormControl
|
<FormControl
|
||||||
class="flex-1"
|
class="flex-1"
|
||||||
@ -119,6 +128,7 @@
|
|||||||
import EditIcon from '@/components/Icons/EditIcon.vue'
|
import EditIcon from '@/components/Icons/EditIcon.vue'
|
||||||
import WebsiteIcon from '@/components/Icons/WebsiteIcon.vue'
|
import WebsiteIcon from '@/components/Icons/WebsiteIcon.vue'
|
||||||
import OrganizationsIcon from '@/components/Icons/OrganizationsIcon.vue'
|
import OrganizationsIcon from '@/components/Icons/OrganizationsIcon.vue'
|
||||||
|
import TerritoryIcon from '@/components/Icons/TerritoryIcon.vue'
|
||||||
import Link from '@/components/Controls/Link.vue'
|
import Link from '@/components/Controls/Link.vue'
|
||||||
import { organizationsStore } from '@/stores/organizations'
|
import { organizationsStore } from '@/stores/organizations'
|
||||||
import { FormControl, Dialog, call, FeatherIcon } from 'frappe-ui'
|
import { FormControl, Dialog, call, FeatherIcon } from 'frappe-ui'
|
||||||
@ -252,6 +262,11 @@ const fields = computed(() => {
|
|||||||
name: 'website',
|
name: 'website',
|
||||||
value: _organization.value.website,
|
value: _organization.value.website,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
icon: TerritoryIcon,
|
||||||
|
name: 'territory',
|
||||||
|
value: _organization.value.territory,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
icon: h(FeatherIcon, { name: 'dollar-sign', class: 'h-4 w-4' }),
|
icon: h(FeatherIcon, { name: 'dollar-sign', class: 'h-4 w-4' }),
|
||||||
name: 'annual_revenue',
|
name: 'annual_revenue',
|
||||||
|
|||||||
@ -65,7 +65,7 @@
|
|||||||
<span class="">{{ contact.email_id }}</span>
|
<span class="">{{ contact.email_id }}</span>
|
||||||
</div>
|
</div>
|
||||||
<span
|
<span
|
||||||
v-if="contact.mobile_no && contact.email_id"
|
v-if="contact.email_id"
|
||||||
class="text-3xl leading-[0] text-gray-600"
|
class="text-3xl leading-[0] text-gray-600"
|
||||||
>
|
>
|
||||||
·
|
·
|
||||||
@ -80,10 +80,7 @@
|
|||||||
<span class="">{{ contact.mobile_no }}</span>
|
<span class="">{{ contact.mobile_no }}</span>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<span
|
<span
|
||||||
v-if="
|
v-if="contact.mobile_no"
|
||||||
(contact.email_id || contact.mobile_no) &&
|
|
||||||
contact.company_name
|
|
||||||
"
|
|
||||||
class="text-3xl leading-[0] text-gray-600"
|
class="text-3xl leading-[0] text-gray-600"
|
||||||
>
|
>
|
||||||
·
|
·
|
||||||
@ -102,9 +99,7 @@
|
|||||||
<span class="">{{ contact.company_name }}</span>
|
<span class="">{{ contact.company_name }}</span>
|
||||||
</div>
|
</div>
|
||||||
<span
|
<span
|
||||||
v-if="
|
v-if="contact.company_name"
|
||||||
contact.email_id || contact.mobile_no || contact.company_name
|
|
||||||
"
|
|
||||||
class="text-3xl leading-[0] text-gray-600"
|
class="text-3xl leading-[0] text-gray-600"
|
||||||
>
|
>
|
||||||
·
|
·
|
||||||
|
|||||||
@ -66,7 +66,7 @@
|
|||||||
<span class="">{{ website(organization.website) }}</span>
|
<span class="">{{ website(organization.website) }}</span>
|
||||||
</div>
|
</div>
|
||||||
<span
|
<span
|
||||||
v-if="organization.industry && organization.website"
|
v-if="organization.website"
|
||||||
class="text-3xl leading-[0] text-gray-600"
|
class="text-3xl leading-[0] text-gray-600"
|
||||||
>
|
>
|
||||||
·
|
·
|
||||||
@ -79,10 +79,20 @@
|
|||||||
<span class="">{{ organization.industry }}</span>
|
<span class="">{{ organization.industry }}</span>
|
||||||
</div>
|
</div>
|
||||||
<span
|
<span
|
||||||
v-if="
|
v-if="organization.industry"
|
||||||
(organization.website || organization.industry) &&
|
class="text-3xl leading-[0] text-gray-600"
|
||||||
organization.annual_revenue
|
>
|
||||||
"
|
·
|
||||||
|
</span>
|
||||||
|
<div
|
||||||
|
v-if="organization.territory"
|
||||||
|
class="flex items-center gap-1.5"
|
||||||
|
>
|
||||||
|
<TerritoryIcon class="h-4 w-4" />
|
||||||
|
<span class="">{{ organization.territory }}</span>
|
||||||
|
</div>
|
||||||
|
<span
|
||||||
|
v-if="organization.territory"
|
||||||
class="text-3xl leading-[0] text-gray-600"
|
class="text-3xl leading-[0] text-gray-600"
|
||||||
>
|
>
|
||||||
·
|
·
|
||||||
@ -95,11 +105,7 @@
|
|||||||
<span class="">{{ organization.annual_revenue }}</span>
|
<span class="">{{ organization.annual_revenue }}</span>
|
||||||
</div>
|
</div>
|
||||||
<span
|
<span
|
||||||
v-if="
|
v-if="organization.annual_revenue"
|
||||||
organization.website ||
|
|
||||||
organization.industry ||
|
|
||||||
organization.annual_revenue
|
|
||||||
"
|
|
||||||
class="text-3xl leading-[0] text-gray-600"
|
class="text-3xl leading-[0] text-gray-600"
|
||||||
>
|
>
|
||||||
·
|
·
|
||||||
@ -108,6 +114,7 @@
|
|||||||
v-if="
|
v-if="
|
||||||
organization.website ||
|
organization.website ||
|
||||||
organization.industry ||
|
organization.industry ||
|
||||||
|
organization.territory ||
|
||||||
organization.annual_revenue
|
organization.annual_revenue
|
||||||
"
|
"
|
||||||
variant="ghost"
|
variant="ghost"
|
||||||
@ -243,6 +250,7 @@ import LeadsListView from '@/components/ListViews/LeadsListView.vue'
|
|||||||
import DealsListView from '@/components/ListViews/DealsListView.vue'
|
import DealsListView from '@/components/ListViews/DealsListView.vue'
|
||||||
import ContactsListView from '@/components/ListViews/ContactsListView.vue'
|
import ContactsListView from '@/components/ListViews/ContactsListView.vue'
|
||||||
import WebsiteIcon from '@/components/Icons/WebsiteIcon.vue'
|
import WebsiteIcon from '@/components/Icons/WebsiteIcon.vue'
|
||||||
|
import TerritoryIcon from '@/components/Icons/TerritoryIcon.vue'
|
||||||
import EditIcon from '@/components/Icons/EditIcon.vue'
|
import EditIcon from '@/components/Icons/EditIcon.vue'
|
||||||
import CameraIcon from '@/components/Icons/CameraIcon.vue'
|
import CameraIcon from '@/components/Icons/CameraIcon.vue'
|
||||||
import LeadsIcon from '@/components/Icons/LeadsIcon.vue'
|
import LeadsIcon from '@/components/Icons/LeadsIcon.vue'
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user