mirror of
https://github.com/1Panel-dev/CordysCRM.git
synced 2026-05-24 03:38:42 +08:00
fix: org department commander display
This commit is contained in:
@@ -59,6 +59,7 @@ export interface MemberItem extends BaseMemberInfo {
|
||||
updateTime: number;
|
||||
departmentName: string;
|
||||
supervisorName: string; // 直属上级名称
|
||||
commander: boolean; // 是否是负责人
|
||||
}
|
||||
|
||||
export interface MemberParams extends BaseMemberInfo {
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
:disabled="props.tooltipDisabled"
|
||||
>
|
||||
<template #trigger>
|
||||
<div class="one-line-text">
|
||||
<div class="one-line-text !leading-none">
|
||||
<slot></slot>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -50,7 +50,12 @@
|
||||
@select="handleNodeSelect"
|
||||
@more-action-select="handleFolderMoreSelect"
|
||||
/>
|
||||
<SetDepHeadModal v-model:show="showSetHeadModal" :department-id="departmentId" @close="closeSetCommanderId" />
|
||||
<SetDepHeadModal
|
||||
v-model:show="showSetHeadModal"
|
||||
:department-id="departmentId"
|
||||
@close="closeSetCommanderId"
|
||||
@load-list="() => emit('loadList')"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
@@ -89,6 +94,7 @@
|
||||
|
||||
const emit = defineEmits<{
|
||||
(e: 'selectNode', _selectedKeys: Array<string | number>, offspringIds: string[]): void;
|
||||
(e: 'loadList'): void;
|
||||
}>();
|
||||
|
||||
const orgModuleTree = ref<CrmTreeNodeData[]>([]);
|
||||
|
||||
@@ -97,6 +97,7 @@
|
||||
import { BatchActionConfig, CrmDataTableColumn } from '@/components/pure/crm-table/type';
|
||||
import useTable from '@/components/pure/crm-table/useTable';
|
||||
import CrmTableButton from '@/components/pure/crm-table-button/index.vue';
|
||||
import CrmTag from '@/components/pure/crm-tag/index.vue';
|
||||
import type { CrmFileItem } from '@/components/pure/crm-upload/types';
|
||||
import CrmEditableText from '@/components/business/crm-editable-text/index.vue';
|
||||
import ImportModal from '@/components/business/crm-import-button/components/importModal.vue';
|
||||
@@ -482,11 +483,38 @@
|
||||
{
|
||||
default: () => {
|
||||
return h(
|
||||
CrmTableButton,
|
||||
'div',
|
||||
{
|
||||
onClick: () => showDetail(row.id),
|
||||
class: 'w-full flex items-center',
|
||||
},
|
||||
{ default: () => row.userName, trigger: () => row.userName }
|
||||
[
|
||||
h(
|
||||
'div',
|
||||
{
|
||||
class: 'one-line-text max-w-[calc(100%-44px)] inline-block',
|
||||
},
|
||||
[
|
||||
h(
|
||||
CrmTableButton,
|
||||
{
|
||||
onClick: () => showDetail(row.id),
|
||||
},
|
||||
{ default: () => row.userName, trigger: () => row.userName }
|
||||
),
|
||||
]
|
||||
),
|
||||
row.commander
|
||||
? h(
|
||||
CrmTag,
|
||||
{
|
||||
type: 'primary',
|
||||
theme: 'lightOutLine',
|
||||
class: 'ml-[8px]',
|
||||
},
|
||||
{ default: () => t('common.head') }
|
||||
)
|
||||
: null,
|
||||
]
|
||||
);
|
||||
},
|
||||
}
|
||||
@@ -949,6 +977,10 @@
|
||||
initOrgList();
|
||||
}
|
||||
);
|
||||
|
||||
defineExpose({
|
||||
initOrgList,
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
|
||||
const emit = defineEmits<{
|
||||
(e: 'close'): void;
|
||||
(e: 'loadList'): void;
|
||||
}>();
|
||||
|
||||
const showModal = defineModel<boolean>('show', {
|
||||
@@ -122,6 +123,7 @@
|
||||
...form.value,
|
||||
departmentId: props.departmentId,
|
||||
});
|
||||
emit('loadList');
|
||||
closeHandler();
|
||||
Message.success(t('org.setupSuccess'));
|
||||
} catch (e) {
|
||||
|
||||
@@ -7,11 +7,13 @@
|
||||
ref="orgModuleTreeRef"
|
||||
:is-sync-from-third-checked="isSyncFromThirdChecked"
|
||||
@select-node="selectNode"
|
||||
@load-list="() => orgTableRef?.initOrgList()"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
<template #2>
|
||||
<OrgTable
|
||||
ref="orgTableRef"
|
||||
:is-sync-from-third-checked="isSyncFromThirdChecked"
|
||||
:active-node="activeNodeId"
|
||||
:offspring-ids="offspringIds"
|
||||
@@ -53,6 +55,8 @@
|
||||
}
|
||||
}
|
||||
|
||||
const orgTableRef = ref<InstanceType<typeof OrgTable>>();
|
||||
|
||||
onBeforeMount(() => {
|
||||
initCheckSyncType();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user