|
|
@@ -1,5 +1,5 @@
|
|
|
<template>
|
|
|
- <el-drawer :title="title" v-model="drawerOpened" @close="reset">
|
|
|
+ <el-drawer :title="title" v-model="drawerOpened" @close="close">
|
|
|
<el-form label-width="80px" :model="formData" :rules="formRules" ref="formInstance">
|
|
|
<el-form-item label="分组名称" prop="name">
|
|
|
<el-input
|
|
|
@@ -98,19 +98,19 @@
|
|
|
const selectedUser = ref<PersonGroupItem[]>([]);
|
|
|
|
|
|
// 表单相关
|
|
|
- const defaultFormData = (): PersonGroupForm => ({
|
|
|
+ let defaultFormData: PersonGroupForm = {
|
|
|
id: null,
|
|
|
name: '',
|
|
|
description: '',
|
|
|
userList: [],
|
|
|
- });
|
|
|
+ };
|
|
|
const useUser = useUserStore();
|
|
|
const { info } = storeToRefs(useUser);
|
|
|
const operater = ref(info.value.realname);
|
|
|
|
|
|
const total = ref<number>(0);
|
|
|
|
|
|
- const formData = reactive<PersonGroupForm>(defaultFormData());
|
|
|
+ const formData = reactive<PersonGroupForm>(defaultFormData);
|
|
|
const formRules: FormRules = {
|
|
|
name: { required: true, trigger: 'blur', message: '请填写分组名称' },
|
|
|
userList: { required: true, trigger: 'blur', message: '请选择组内成员' },
|
|
|
@@ -121,7 +121,7 @@
|
|
|
/** 重置表单 */
|
|
|
const reset = () => {
|
|
|
formInstance.value?.resetFields();
|
|
|
- Object.assign(formData, defaultFormData());
|
|
|
+ Object.assign(formData, defaultFormData);
|
|
|
};
|
|
|
/** 提交表单 */
|
|
|
const submit = async () => {
|
|
|
@@ -151,6 +151,16 @@
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+ const close = () => {
|
|
|
+ defaultFormData = {
|
|
|
+ id: null,
|
|
|
+ name: '',
|
|
|
+ description: '',
|
|
|
+ userList: [],
|
|
|
+ };
|
|
|
+ reset();
|
|
|
+ };
|
|
|
+
|
|
|
const handleDialogCancle = () => {
|
|
|
dialogOpened.value = false;
|
|
|
};
|
|
|
@@ -164,18 +174,21 @@
|
|
|
const open = async (row?: PersonGroupListItem) => {
|
|
|
if (row) {
|
|
|
const res = await queryUserGroupDetail(row.id);
|
|
|
- formData.id = res.userGroupId;
|
|
|
- formData.name = res.name;
|
|
|
- formData.description = res.description;
|
|
|
- formData.userList = res.userList.map((x) => {
|
|
|
- return {
|
|
|
- checked: true,
|
|
|
- id: x.id,
|
|
|
- realname: x.realname,
|
|
|
- deptName: x.deptName,
|
|
|
- staffNo: x.staffNo,
|
|
|
- } as PersonGroupItem;
|
|
|
- });
|
|
|
+ defaultFormData = {
|
|
|
+ id: res.userGroupId,
|
|
|
+ name: res.name,
|
|
|
+ description: res.description,
|
|
|
+ userList: res.userList.map((x) => {
|
|
|
+ return {
|
|
|
+ checked: true,
|
|
|
+ id: x.id,
|
|
|
+ realname: x.realname,
|
|
|
+ deptName: x.deptName,
|
|
|
+ staffNo: x.staffNo,
|
|
|
+ } as PersonGroupItem;
|
|
|
+ }),
|
|
|
+ };
|
|
|
+ reset();
|
|
|
selectedUser.value = formData.userList;
|
|
|
}
|
|
|
drawerOpened.value = true;
|