Files
Docker/WebVue/src/views/master/FamilyGroupOperation.vue
T
2026-09-16 15:02:36 +08:00

902 lines
29 KiB
Vue

<template>
<a-spin size="large" :spinning="loading">
<div class="page-container">
<div class="page-header">
<a-row :gutter="[16, 8]">
<a-col :lg="9" :sm="24">
<a-row :wrap="false">
<a-col flex="none">
<div style="padding: 0">
<a-input flex="none" readonly value="群组代码" class="site-input-split" style="
width: 160px;
border-radius: 0;
border-top-left-radius: 5pt 5pt;
border-bottom-left-radius: 5pt 5pt;
pointer-events: none;
" />
</div>
</a-col>
<a-col flex="auto">
<a-input-search :disabled="isEdit" v-model:value="familyName" flex="auto" @search="onModalSearch" />
</a-col>
</a-row>
</a-col>
<a-col :lg="12" :sm="24">
<a-space>
<a-button type="primary" :disabled="isEdit" :icon="h(FileSearchOutlined)"
@click.prevent="onSearch">查询</a-button>
<a-button type="primary" :disabled="isEdit" :icon="h(ClearOutlined)"
@click.prevent="onReset">重置</a-button>
<a-button type="primary" :disabled="isEdit" :icon="h(FileAddOutlined)" @click.prevent="onCreate"
v-if="canCreate">新增</a-button>
</a-space>
</a-col>
</a-row>
</div>
<div class="page-main ft-page" :class="{ 'ft-readonly': !isEdit }" :style="{ height: resultH }">
<!-- 顶部信息卡 -->
<div class="ft-hero">
<div class="ft-hero-icon">
<TeamOutlined />
</div>
<div class="ft-hero-main">
<div class="ft-hero-name">
{{ data.FamilyGroup.FamilyLocalName || "未填写群组名称" }}
</div>
<div class="ft-hero-meta">
<span class="ft-chip">
编号 {{ data.FamilyGroup.FamilyName || "-" }}
</span>
<span class="ft-chip" v-if="data.IsOpen">公开</span>
<span class="ft-chip" v-if="data.IsAdd">可申请</span>
</div>
</div>
</div>
<!-- 群组信息 -->
<div class="ft-card">
<div class="ft-card-title">群组信息</div>
<div class="ft-grid">
<div class="ft-field">
<div class="ft-label">群组代码</div>
<a-input size="large" :maxlength="50" :readonly="true" placeholder="群组代码"
v-model:value="data.FamilyGroup.FamilyName" />
</div>
<div class="ft-field">
<div class="ft-label">
群组名称<span class="ft-required">*</span>
</div>
<a-input size="large" :maxlength="500" required :readonly="!isEdit" placeholder="请输入群组名称"
v-model:value="data.FamilyGroup.FamilyLocalName" />
</div>
<div class="ft-field ft-field-full">
<div class="ft-label">群组描述</div>
<a-textarea :auto-size="{ minRows: 3, maxRows: 5 }" :maxlength="256" :readonly="!isEdit"
placeholder="请输入群组描述" v-model:value="data.FamilyGroup.Notice" />
</div>
<div class="ft-field">
<div class="ft-label">公开设置</div>
<div class="ft-check">
<a-switch v-model:checked="data.IsOpen" :disabled="!isEdit" checked-children="公开"
un-checked-children="隐私" />
</div>
</div>
<div class="ft-field">
<div class="ft-label">加入申请</div>
<div class="ft-check">
<a-switch v-model:checked="data.IsAdd" :disabled="!isEdit" checked-children="可申请"
un-checked-children="不可申请" />
</div>
</div>
</div>
</div>
<!-- 共享目录 -->
<div class="ft-card">
<a-collapse v-model:activeKey="activeKey" class="ft-collapse">
<a-collapse-panel key="1" header="共享目录">
<div class="ft-list">
<div v-for="(record, index) in data.FamilyGroupFolders" :key="record.FolderId || index" class="ft-item">
<div class="ft-item-head">
<span class="ft-item-index">{{ index + 1 }}</span>
<div class="ft-item-title">
<span class="ft-item-name">
{{ record.FolderLocalName || "未命名目录" }}
</span>
</div>
<div class="ft-item-actions">
<UserAddOutlined v-if="!isEdit && record.IsSharePermission" class="ft-action" style="color: green"
@click="shareFamilyGroupPermission(record.FolderName)" />
<DeleteOutlined v-if="isEdit" class="ft-action ft-action-delete" @click="
deleteFamilyGroupFolder(
record.FolderId,
record.FolderName,
)
" />
</div>
</div>
<div class="ft-item-body">
<div v-if="isEdit" class="ft-item-field">
<span class="ft-item-label">目录名称</span>
<a-input size="large" :maxlength="50" required placeholder="请输入目录名称"
v-model:value="record.FolderLocalName" />
</div>
<div class="ft-item-field">
<span class="ft-item-label">备注</span>
<a-input v-if="isEdit" size="large" :maxlength="500" required placeholder="请输入备注"
v-model:value="record.Notice" />
<span v-else class="ft-item-text">
{{ record.Notice || "-" }}
</span>
</div>
</div>
</div>
<div v-if="
!data.FamilyGroupFolders || !data.FamilyGroupFolders.length
" class="ft-empty">
暂无共享目录
</div>
<a-button v-if="isEdit" class="ft-add-btn" type="dashed" block @click="addFamilyGroupFolder">
<PlusSquareTwoTone /> 新增共享目录
</a-button>
</div>
</a-collapse-panel>
</a-collapse>
</div>
<!-- 待审核成员名单 -->
<div class="ft-card">
<a-collapse v-model:activeKey="activeKey" class="ft-collapse">
<a-collapse-panel key="2" header="待审核成员名单">
<div class="ft-list">
<div v-for="(record, index) in data.FamilyGroupRequests" :key="record.UserName || index"
class="ft-item">
<div class="ft-item-head">
<span class="ft-item-index">{{ index + 1 }}</span>
<div class="ft-item-title">
<span class="ft-item-name">
{{
record.UserLocalName || record.UserName || "未命名成员"
}}
</span>
</div>
<div v-if="data.IsManager && !isEdit" class="ft-item-actions">
<CheckCircleTwoTone class="ft-action" @click="
okFamilyGroupRequest(
record.FamilyName,
record.UserName,
)
" />
<CloseCircleOutlined class="ft-action ft-action-delete" @click="
rejectFamilyGroupRequest(
record.FamilyName,
record.UserName,
)
" />
</div>
</div>
<div class="ft-item-body">
<div class="ft-item-field">
<span class="ft-item-label">申请说明</span>
<span class="ft-item-text">{{ record.Notice || "-" }}</span>
</div>
</div>
</div>
<div v-if="
!data.FamilyGroupRequests ||
!data.FamilyGroupRequests.length
" class="ft-empty">
暂无待审核成员
</div>
</div>
</a-collapse-panel>
</a-collapse>
</div>
<!-- 正式成员名单 -->
<div class="ft-card">
<a-collapse v-model:activeKey="activeKey" class="ft-collapse">
<a-collapse-panel key="3" header="正式成员名单">
<div class="ft-list">
<div v-for="(record, index) in data.FamilyGroupManagers" :key="record.UserName || index"
class="ft-item">
<div class="ft-item-head">
<span class="ft-item-index">{{ index + 1 }}</span>
<div class="ft-item-title">
<span class="ft-item-name">
{{
record.UserLocalName || record.UserName || "未命名成员"
}}
</span>
</div>
<div v-if="isEdit" class="ft-item-actions">
<DeleteOutlined class="ft-action ft-action-delete" @click="
deleteFamilyGroupManager(
record.FamilyName,
record.UserName,
)
" />
</div>
</div>
<div class="ft-item-body">
<div class="ft-item-field">
<span class="ft-item-label">群组管理员</span>
<a-checkbox :disabled="!isEdit" v-model:checked="record.IsManager">
管理员
</a-checkbox>
</div>
</div>
</div>
<div v-if="
!data.FamilyGroupManagers ||
!data.FamilyGroupManagers.length
" class="ft-empty">
暂无正式成员
</div>
</div>
</a-collapse-panel>
</a-collapse>
</div>
<!-- 目录权限列表 -->
<div class="ft-card" v-if="data.IsManager">
<a-collapse v-model:activeKey="activeKey" class="ft-collapse">
<a-collapse-panel key="4" header="目录权限列表">
<div class="ft-list">
<div v-for="(record, index) in data.FamilyGroupPermissions" :key="(record.FolderName || '') + '-' + (record.UserName || index)
" class="ft-item">
<div class="ft-item-head">
<span class="ft-item-index">{{ index + 1 }}</span>
<div class="ft-item-title">
<span class="ft-item-name">
{{
record.FolderLocalName ||
record.FolderName ||
"未命名目录"
}}
</span>
</div>
<div v-if="isEdit" class="ft-item-actions">
<DeleteOutlined class="ft-action ft-action-delete" @click="
deleteFamilyGroupPermission(
record.FamilyName,
record.FolderName,
record.UserName,
)
" />
</div>
</div>
<div class="ft-item-body">
<div class="ft-item-field">
<span class="ft-item-label">目录名称</span>
<span class="ft-item-text">
{{ record.FolderLocalName || "-" }}
</span>
</div>
<div class="ft-item-field">
<span class="ft-item-label">授权成员</span>
<span class="ft-item-text">
{{ record.UserLocalName || "-" }}
</span>
</div>
</div>
</div>
<div v-if="
!data.FamilyGroupPermissions ||
!data.FamilyGroupPermissions.length
" class="ft-empty">
暂无目录权限
</div>
</div>
</a-collapse-panel>
</a-collapse>
</div>
</div>
<div class="page-footer">
<div style="">
<a-row :gutter="24">
<a-col :lg="24" :sm="24">
<div>
<a-row v-if="isEdit" :gutter="[16, 8]">
<a-space>
<a-popconfirm v-if="data.FamilyGroup.CreatedBy" title="确定是否取消修改?" ok-text="是" cancel-text="否"
@confirm="onCancel">
<a-button type="primary" ghost :icon="h(UndoOutlined)">取消</a-button>
</a-popconfirm>
<a-button v-if="!data.FamilyGroup.CreatedBy" type="primary" ghost :icon="h(UndoOutlined)"
@click.prevent="onCancel">取消</a-button>
<a-button type="primary" ghost :icon="h(SaveOutlined)" @click.prevent="onSave">保存</a-button>
</a-space>
</a-row>
<a-row v-else :gutter="[16, 8]">
<a-space>
<a-button type="primary" v-if="canAmend" :icon="h(EditOutlined)"
:disabled="!hasData || !data.IsManager" @click.prevent="onAmend">修改</a-button>
<a-popconfirm :disabled="!hasData" title="确定是否解散这条记录?" ok-text="是" cancel-text="否"
@confirm="onDelete">
<a-button type="primary" danger :icon="h(DeleteOutlined)" :disabled="!hasData || !data.IsManager"
v-if="canDelete">解散</a-button>
</a-popconfirm>
</a-space>
</a-row>
</div>
</a-col>
</a-row>
</div>
</div>
</div>
<dragModal v-model:open="showModal" title="群组查询" :mask-closable="false" :fullscreen="width < 640"
@ok="handleSelect">
<familyGroupEnquiry ref="enquiry" @on-row-dblclick="handleSelect"></familyGroupEnquiry>
</dragModal>
<dragModal v-model:open="showModalUser" title="成员查询" :mask-closable="false" :fullscreen="width < 640"
@ok="handleSelectUser">
<familyGroupUserModal ref="userEnquiry" @on-row-dblclick="handleSelectUser"></familyGroupUserModal>
</dragModal>
</a-spin>
</template>
<script lang="ts" setup>
import { ref, unref, onBeforeMount, inject, provide, h, onMounted } from "vue";
import { notification } from "ant-design-vue";
import { useRoute, useRouter } from "vue-router";
import {
DeleteOutlined,
EditOutlined,
CheckCircleTwoTone,
CloseCircleOutlined,
ClearOutlined,
UserAddOutlined,
FileSearchOutlined,
FileAddOutlined,
UndoOutlined,
SaveOutlined,
PlusSquareTwoTone,
DownSquareTwoTone,
UpSquareTwoTone,
TeamOutlined,
} from "@ant-design/icons-vue";
import {
PermissionContext,
usePermissionContext,
} from "@/hooks/PermissionContext";
import dragModal from "@/components/basic/DragModal.vue";
import familyGroupEnquiry from "./FamilyGroupEnquiry.vue";
import familyGroupUserModal from "./FamilyGroupUserModal.vue";
import { FamilyGroupData } from "@/data/auto/familyGroupData";
import { FamilyGroupFolderEntity } from "@/data/auto/familyGroupFolderEntity";
import { FamilyGroupManagerEntity } from "@/data/auto/familyGroupManagerEntity";
import { FamilyGroupPermissionEntity } from "@/data/auto/familyGroupPermissionEntity";
import { FamilyGroupManagerUserViewEntity } from "@/data/auto/familyGroupManagerUserViewEntity";
import { FamilyGroupManagerDisplayData } from "@/data/auto/familyGroupManagerDisplayData";
import { FamilyGroupPermissionDisplayData } from "@/data/auto/familyGroupPermissionDisplayData";
import { FamilyGroupFolderDisplayData } from "@/data/auto/familyGroupFolderDisplayData";
import FamilyGroupService from "@/service/master/familyGroupService";
import { useYesNoPolicy } from "@/hooks/useYesNoPolicy";
import { SelectOption } from "@/data/auto/selectOption";
import { useWindowSize } from "@vueuse/core";
import { FamilyGroupEntity } from "@/data/auto/familyGroupEntity";
import { BindOption } from "@/data/custom/bindOption";
import { nextTick } from "process";
import { max } from "lodash-es";
import { SecurityUserDisplayData } from "@/data/auto/securityUserDisplayData";
import dmsFileService from "@/service/master/dmsFileService";
const loading = ref<boolean>(false);
const { width, height } = useWindowSize();
const route = useRoute();
const router = useRouter();
const familyName = ref<string>(route.params.id as string);
const mode = ref<string>(route.params.mode as string);
const isEdit = ref<boolean>(false);
const canAmend = ref<boolean>(false);
const canDelete = ref<boolean>(false);
const canCreate = ref<boolean>(false);
const showModal = ref<boolean>(false);
const showModalUser = ref<boolean>(false);
const currentfolderName = ref<string>("");
const rowSelectionType = ref<string>("radio");
const showModalType = ref<number>(0);
const data = ref<FamilyGroupData>(new FamilyGroupData());
const hasData = ref<boolean>(false);
const yesNoPolicy = ref<SelectOption[]>([]);
const resultH = ref("");
const oldFamilyName = ref<string>(familyName.value);
const initBindOptions = ref<BindOption[]>([]);
interface FamilyGroupEnquiry {
keys: FamilyGroupEntity[];
setBindOptionValue(
bindValue: string,
value: string,
value1: string,
values: string[],
): void;
}
interface UserEnquiry {
keys: FamilyGroupManagerUserViewEntity[];
setBindOptionValue(
bindValue: string,
value: string,
value1: string,
values: string[],
): void;
}
const enquiry = ref<FamilyGroupEnquiry | null>(null);
const userEnquiry = ref<UserEnquiry | null>(null);
const activeKey = ref(["1"]);
const columnFamilyGroupFolders = ref([
{
title: "序号",
dataIndex: "index",
width: "10%",
align: "center",
fixed: "left",
sequence: 0,
hidden: "N",
format: "",
},
{
title: "目录名称",
dataIndex: FamilyGroupFolderEntity.FOLDER_LOCAL_NAME,
width: "30%",
sequence: 1,
hidden: "N",
},
{
title: "目录描述",
dataIndex: FamilyGroupFolderEntity.NOTICE,
width: "40%",
sequence: 2,
hidden: "N",
},
{
title: "分配权限",
dataIndex: "share",
width: "10%",
sequence: 3,
hidden: "N",
},
{
title: "",
dataIndex: "delete",
width: "10%",
sequence: 3,
hidden: "N",
},
]);
const columnFamilyGroupRequests = ref([
{
title: "序号",
dataIndex: "index",
width: "10%",
align: "center",
fixed: "left",
sequence: 0,
hidden: "N",
format: "",
},
{
title: "用户名",
dataIndex: FamilyGroupManagerDisplayData.USER_LOCAL_NAME,
width: "30%",
sequence: 1,
hidden: "N",
},
{
title: "申请原因",
dataIndex: FamilyGroupManagerDisplayData.NOTICE,
width: "50%",
sequence: 2,
hidden: "N",
},
{
title: "同意",
dataIndex: "ok",
width: "5%",
sequence: 3,
hidden: "N",
},
{
title: "拒绝",
dataIndex: "reject",
width: "5%",
sequence: 3,
hidden: "N",
},
]);
const columnFamilyGroupManagers = ref([
{
title: "序号",
dataIndex: "index",
width: "10%",
align: "center",
fixed: "left",
sequence: 0,
hidden: "N",
format: "",
},
{
title: "用户名",
dataIndex: FamilyGroupManagerDisplayData.USER_LOCAL_NAME,
width: "30%",
sequence: 1,
hidden: "N",
},
{
title: "管理员",
dataIndex: FamilyGroupManagerDisplayData.MANAGER_INDC,
width: "20%",
sequence: 2,
hidden: "N",
},
{
title: "",
dataIndex: "delete",
width: "5%",
sequence: 3,
hidden: "N",
},
]);
const columnFamilyGroupPermissions = ref([
{
title: "序号",
dataIndex: "index",
width: "10%",
align: "center",
fixed: "left",
sequence: 0,
hidden: "N",
format: "",
},
{
title: "目录名称",
dataIndex: FamilyGroupPermissionDisplayData.FOLDER_LOCAL_NAME,
width: "50%",
sequence: 2,
hidden: "N",
},
{
title: "用户名",
dataIndex: FamilyGroupPermissionDisplayData.USER_LOCAL_NAME,
width: "30%",
sequence: 1,
hidden: "N",
},
{
title: "",
dataIndex: "delete",
width: "5%",
sequence: 3,
hidden: "N",
},
]);
//================provide================
//弹出(Modal)
provide("isModalFamilyGroup", showModal);
provide("isModalUser", showModalUser);
//记录单选还是多选(Modal)
provide("selectionTypeFamilyGroup", rowSelectionType);
provide("selectionTypeUser", "checkbox");
//初始化查询条件的值(Modal)
provide("initBindOptionsFamilyGroup", initBindOptions);
provide("currentFolderName", currentfolderName);
provide("currentFamilyName", familyName);
//================provide================
onBeforeMount(async () => {
yesNoPolicy.value = await useYesNoPolicy().getSelectOption(false);
});
onMounted(() => {
let pContext: PermissionContext = usePermissionContext();
canAmend.value = pContext.canAmend(route.meta.permission as string);
canDelete.value = pContext.canDelete(route.meta.permission as string);
canCreate.value = pContext.canCreate(route.meta.permission as string);
computResultTableHeight();
if (familyName.value && familyName.value.trim().length > 0) {
onSearch();
}
if (mode.value && mode.value == "create") {
onCreate();
isEdit.value = true;
} else if (mode.value && mode.value == "amend") {
isEdit.value = true;
}
});
const computResultTableHeight = () => {
if (width.value > 640) {
resultH.value = "calc(100vh - 220px )";
} else {
resultH.value = "calc(100vh - 250px )";
}
};
const onModalSearch = () => {
showModal.value = true;
rowSelectionType.value = "radio";
showModalType.value = 0;
};
const onSearch = async () => {
if (!familyName.value || familyName.value.trim().length == 0) {
notification.info({
message: "系统提示:",
description: "请输入权限名称",
placement: "topRight",
});
hasData.value = false;
return;
}
try {
data.value = await FamilyGroupService.FindByKey(familyName.value.trim());
} catch (error) {
return;
}
if (data.value.FamilyGroup == null) {
notification.info({
message: "系统提示:",
description: "记录不存在",
placement: "topRight",
});
data.value = new FamilyGroupData();
hasData.value = false;
return;
}
hasData.value = true;
};
const onReset = () => {
data.value = new FamilyGroupData();
data.value.IsManager = false;
data.value.IsAdd = true;
data.value.IsOpen = true;
data.value.FamilyGroupFolders = [];
familyName.value = "";
hasData.value = false;
};
const onCreate = () => {
onReset();
isEdit.value = true;
};
const onAmend = () => {
isEdit.value = true;
oldFamilyName.value = unref(data.value.FamilyGroup.FamilyName);
};
const onSave = async () => {
try {
loading.value = true;
if (!data.value.FamilyGroupFolders) data.value.FamilyGroupFolders = [];
if (!data.value.FamilyGroupManagers) data.value.FamilyGroupManagers = [];
if (!data.value.FamilyGroupRequests) data.value.FamilyGroupRequests = [];
if (!data.value.FamilyGroupPermissions)
data.value.FamilyGroupPermissions = [];
if (data.value.FamilyGroup?.CreatedBy)
data.value = await FamilyGroupService.Update(data.value);
else {
data.value = await FamilyGroupService.Insert(data.value);
}
familyName.value = data.value.FamilyGroup.FamilyName;
loading.value = false;
hasData.value = true;
isEdit.value = false;
} catch (error) {
loading.value = false;
}
};
const onCancel = () => {
onReset();
if (oldFamilyName.value && oldFamilyName.value.length > 0) {
familyName.value = oldFamilyName.value;
onSearch();
}
isEdit.value = false;
};
const onDelete = async () => {
try {
loading.value = true;
await FamilyGroupService.Delete(data.value.FamilyGroup.FamilyName);
onReset();
loading.value = false;
} catch (error) {
loading.value = false;
console.log(error);
}
};
const deleteFamilyGroupManager = async (
familyName: string,
username: string,
) => {
let f: FamilyGroupManagerEntity = new FamilyGroupManagerEntity();
f.FamilyName = familyName;
f.UserName = username;
await FamilyGroupService.DeleteFamilyGroupManager(f);
onSearch();
};
const deleteFamilyGroupPermission = (
familyName: string,
folderName: string,
username: string,
) => {
data.value.FamilyGroupPermissions = data.value.FamilyGroupPermissions.filter(
(item) =>
!(
item.FamilyName == familyName &&
item.FolderName == folderName &&
item.UserName == username
),
);
};
const addFamilyGroupFolder = (event: MouseEvent) => {
if (!data.value.FamilyGroupFolders) data.value.FamilyGroupFolders = [];
let fld: FamilyGroupFolderDisplayData = new FamilyGroupFolderDisplayData();
fld.FolderId = 1;
if (
data.value.FamilyGroupFolders &&
data.value.FamilyGroupFolders.length > 0
) {
let maxs: number[] = [];
data.value.FamilyGroupFolders.forEach((element) => {
maxs.push(element.FolderId);
});
fld.FolderId = max(maxs)! + 1; //fld.FolderId=data.value.FamilyGroupFolders.max(x=>x.);
}
data.value.FamilyGroupFolders.push(fld);
// If you don't want click extra trigger collapse, you can prevent this:
event.stopPropagation();
};
const shareFamilyGroupPermission = (folderName: string) => {
currentfolderName.value = folderName;
showModalUser.value = true;
};
const deleteFamilyGroupFolder = (key: number, folderName: string) => {
if (folderName && folderName.length > 0) {
dmsFileService.FindDmsFolderMapByFolderName(folderName).then((count) => {
if (count > 0) {
notification.info({
message: "系统提示:",
description: "【群组中心】请先删除共享目录下的内容再删除该目录.",
placement: "topRight",
});
return;
}
else {
data.value.FamilyGroupFolders = data.value.FamilyGroupFolders.filter(
(item) => item.FolderId !== key,
);
data.value.FamilyGroupPermissions = data.value.FamilyGroupPermissions.filter(
(item) =>
!(
item.FolderName == folderName
),
);
}
});
} else {
data.value.FamilyGroupFolders = data.value.FamilyGroupFolders.filter(
(item) => item.FolderId !== key,
);
data.value.FamilyGroupPermissions = data.value.FamilyGroupPermissions.filter(
(item) =>
!(
item.FolderName == folderName
),
);
}
};
const okFamilyGroupRequest = (familyName: string, username: string) => {
let f: FamilyGroupManagerEntity = new FamilyGroupManagerEntity();
f.FamilyName = familyName;
f.UserName = username;
f.ValidIndc = "Y";
FamilyGroupService.UpdateFamilyGroupManager(f).then(() => {
notification.info({
message: "系统提示:",
description: "审核成功通过",
placement: "topRight",
});
onSearch();
});
};
const rejectFamilyGroupRequest = (familyName: string, username: string) => {
let f: FamilyGroupManagerEntity = new FamilyGroupManagerEntity();
f.FamilyName = familyName;
f.UserName = username;
FamilyGroupService.DeleteFamilyGroupManager(f).then(() => {
notification.info({
message: "系统提示:",
description: "拒绝成功",
placement: "topRight",
});
onSearch();
});
};
const handleSelect = async () => {
if (enquiry.value) {
if (enquiry.value.keys.length > 0) {
//查询弹出
if (showModalType.value == 0) {
familyName.value = enquiry.value.keys[0].FamilyName;
onSearch();
}
showModal.value = false;
} else {
notification.info({
message: "系统提示:",
description: "请选择一条记录",
placement: "topRight",
});
}
}
};
const handleSelectUser = async () => {
if (userEnquiry.value) {
if (userEnquiry.value.keys.length > 0) {
//查询弹出
let fgps: FamilyGroupPermissionEntity[] = [];
let fgp: FamilyGroupPermissionEntity;
userEnquiry.value.keys.forEach((element) => {
fgp = new FamilyGroupPermissionEntity();
fgp.UserName = element.UserName;
fgp.FamilyName = familyName.value;
fgp.FolderName = currentfolderName.value;
fgps.push(fgp);
});
await FamilyGroupService.InsertFamilyGroupPermission(fgps);
showModalUser.value = false;
onSearch();
} else {
notification.info({
message: "系统提示:",
description: "请选择一条记录",
placement: "topRight",
});
}
}
};
</script>