|
@@ -58,7 +58,12 @@
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="组内成员:" prop="userList" v-if="props.drawerTitle === '查看人员分组'">
|
|
<el-form-item label="组内成员:" prop="userList" v-if="props.drawerTitle === '查看人员分组'">
|
|
|
<el-select v-model="ruleForm.userList" value-key="id" multiple disabled="true">
|
|
<el-select v-model="ruleForm.userList" value-key="id" multiple disabled="true">
|
|
|
- <el-option v-for="user in selectedUser" :key="user.id" :label="user.name" :value="user">
|
|
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="user in selectedUser"
|
|
|
|
|
+ :key="user.id"
|
|
|
|
|
+ :label="user.staffNo + '-' + user.nickname"
|
|
|
|
|
+ :value="user"
|
|
|
|
|
+ >
|
|
|
</el-option>
|
|
</el-option>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
<p
|
|
<p
|
|
@@ -78,7 +83,12 @@
|
|
|
multiple
|
|
multiple
|
|
|
@click="dialogVisible = true"
|
|
@click="dialogVisible = true"
|
|
|
>
|
|
>
|
|
|
- <el-option v-for="user in selectedUser" :key="user.id" :label="user.name" :value="user">
|
|
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="user in selectedUser"
|
|
|
|
|
+ :key="user.id"
|
|
|
|
|
+ :label="user.staffNo + '-' + user.nickname"
|
|
|
|
|
+ :value="user"
|
|
|
|
|
+ >
|
|
|
</el-option>
|
|
</el-option>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
<p
|
|
<p
|
|
@@ -114,14 +124,22 @@
|
|
|
:destroy-on-close="true"
|
|
:destroy-on-close="true"
|
|
|
class="workShopDialog"
|
|
class="workShopDialog"
|
|
|
>
|
|
>
|
|
|
- <SelectTree @cancel="handleCancle" @submit="handleSubmit" :selectedUser="selectedUser" />
|
|
|
|
|
|
|
+ <!-- <SelectTree @cancel="handleCancle" @submit="handleSubmit" :selectedUser="selectedUser" /> -->
|
|
|
|
|
+ <PersonFilterSelection
|
|
|
|
|
+ @cancel="handleCancle"
|
|
|
|
|
+ @submit="handleSubmit"
|
|
|
|
|
+ :init-selected="selectedUser"
|
|
|
|
|
+ />
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script lang="ts" setup>
|
|
<script lang="ts" setup>
|
|
|
import { ref, reactive, watch } from 'vue';
|
|
import { ref, reactive, watch } from 'vue';
|
|
|
- import SelectTree from './SelectTree.vue';
|
|
|
|
|
|
|
+ // import SelectTree from './SelectTree.vue';
|
|
|
|
|
+ import { SelectedFilterPersonInfo } from '@/api/message/person-group';
|
|
|
|
|
+
|
|
|
|
|
+ import PersonFilterSelection from '@/views/message/components/PersonFilterSelection.vue';
|
|
|
import { storeToRefs } from 'pinia';
|
|
import { storeToRefs } from 'pinia';
|
|
|
import { useUserStore } from '@/store/modules/user';
|
|
import { useUserStore } from '@/store/modules/user';
|
|
|
import type { FormInstance } from 'element-plus';
|
|
import type { FormInstance } from 'element-plus';
|
|
@@ -139,29 +157,31 @@
|
|
|
import userGroupList from '../store/index';
|
|
import userGroupList from '../store/index';
|
|
|
const userGroup = userGroupList();
|
|
const userGroup = userGroupList();
|
|
|
const { getUserGroup } = userGroup;
|
|
const { getUserGroup } = userGroup;
|
|
|
- interface UserList {
|
|
|
|
|
- id: string;
|
|
|
|
|
- name: string;
|
|
|
|
|
- userId: number;
|
|
|
|
|
- }
|
|
|
|
|
- const selectedUser = ref<UserList[]>([]);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // interface UserList {
|
|
|
|
|
+ // id: string;
|
|
|
|
|
+ // name: string;
|
|
|
|
|
+ // userId: number;
|
|
|
|
|
+ // }
|
|
|
|
|
+ const selectedUser = ref<SelectedFilterPersonInfo[]>([]);
|
|
|
const dialogVisible = ref<boolean>(false);
|
|
const dialogVisible = ref<boolean>(false);
|
|
|
const ruleFormRef = ref<FormInstance>();
|
|
const ruleFormRef = ref<FormInstance>();
|
|
|
const ruleForm = reactive({
|
|
const ruleForm = reactive({
|
|
|
name: '',
|
|
name: '',
|
|
|
description: '',
|
|
description: '',
|
|
|
- userList: [] as UserList[],
|
|
|
|
|
|
|
+ userList: [] as SelectedFilterPersonInfo[],
|
|
|
operator: info.value.nickname,
|
|
operator: info.value.nickname,
|
|
|
});
|
|
});
|
|
|
const handleCancle = () => {
|
|
const handleCancle = () => {
|
|
|
dialogVisible.value = false;
|
|
dialogVisible.value = false;
|
|
|
};
|
|
};
|
|
|
const total = ref<number>(0);
|
|
const total = ref<number>(0);
|
|
|
- const handleSubmit = (selectedData: UserList[]) => {
|
|
|
|
|
- selectedUser.value = selectedData;
|
|
|
|
|
- ruleForm.userList = selectedData;
|
|
|
|
|
- total.value = ruleForm.userList.length;
|
|
|
|
|
- dialogVisible.value = false;
|
|
|
|
|
|
|
+ const handleSubmit = (selectedData: SelectedFilterPersonInfo[]) => {
|
|
|
|
|
+ console.log('submit!', selectedData);
|
|
|
|
|
+ // selectedUser.value = selectedData;
|
|
|
|
|
+ // ruleForm.userList = selectedData;
|
|
|
|
|
+ // total.value = ruleForm.userList.length;
|
|
|
|
|
+ // dialogVisible.value = false;
|
|
|
};
|
|
};
|
|
|
const emit = defineEmits(['close']);
|
|
const emit = defineEmits(['close']);
|
|
|
const debounceEmit = debounce((addUserGroupParams) => {
|
|
const debounceEmit = debounce((addUserGroupParams) => {
|
|
@@ -196,7 +216,7 @@
|
|
|
params.value = {
|
|
params.value = {
|
|
|
name: ruleForm.name,
|
|
name: ruleForm.name,
|
|
|
description: ruleForm.description,
|
|
description: ruleForm.description,
|
|
|
- userIdList: ruleForm.userList.map((user) => user.userId),
|
|
|
|
|
|
|
+ userIdList: ruleForm.userList.map((user) => user.id),
|
|
|
total: total.value,
|
|
total: total.value,
|
|
|
};
|
|
};
|
|
|
debounceEmit(params.value);
|
|
debounceEmit(params.value);
|
|
@@ -216,7 +236,7 @@
|
|
|
userGroupId: props.formData.userGroupId,
|
|
userGroupId: props.formData.userGroupId,
|
|
|
name: ruleForm.name,
|
|
name: ruleForm.name,
|
|
|
description: ruleForm.description,
|
|
description: ruleForm.description,
|
|
|
- userIdList: ruleForm.userList.map((user) => user.userId),
|
|
|
|
|
|
|
+ userIdList: ruleForm.userList.map((user) => user.id),
|
|
|
total: total.value,
|
|
total: total.value,
|
|
|
};
|
|
};
|
|
|
debounceChange(params.value);
|
|
debounceChange(params.value);
|
|
@@ -227,15 +247,20 @@
|
|
|
if (!formEl) return;
|
|
if (!formEl) return;
|
|
|
formEl.resetFields();
|
|
formEl.resetFields();
|
|
|
};
|
|
};
|
|
|
- const userList = ref<UserList[]>();
|
|
|
|
|
|
|
+ const userList = ref<SelectedFilterPersonInfo[]>();
|
|
|
const recoverForm = (formEl: FormInstance | undefined) => {
|
|
const recoverForm = (formEl: FormInstance | undefined) => {
|
|
|
if (!formEl) return;
|
|
if (!formEl) return;
|
|
|
ruleForm.name = props.formData.name;
|
|
ruleForm.name = props.formData.name;
|
|
|
ruleForm.description = props.formData.description ? props.formData.description : '';
|
|
ruleForm.description = props.formData.description ? props.formData.description : '';
|
|
|
|
|
+ // userList.value = props.formData.userList.map((user) => ({
|
|
|
|
|
+ // id: `u${user.userId}`,
|
|
|
|
|
+ // userId: user.userId,
|
|
|
|
|
+ // name: `${user.loginName}-${user.nickname}`,
|
|
|
|
|
+ // }));
|
|
|
userList.value = props.formData.userList.map((user) => ({
|
|
userList.value = props.formData.userList.map((user) => ({
|
|
|
- id: `u${user.userId}`,
|
|
|
|
|
- userId: user.userId,
|
|
|
|
|
- name: `${user.loginName}-${user.nickname}`,
|
|
|
|
|
|
|
+ id: user.userId,
|
|
|
|
|
+ nickname: user.nickname,
|
|
|
|
|
+ staffNo: user.loginName,
|
|
|
}));
|
|
}));
|
|
|
selectedUser.value = userList.value;
|
|
selectedUser.value = userList.value;
|
|
|
ruleForm.userList = userList.value;
|
|
ruleForm.userList = userList.value;
|
|
@@ -262,10 +287,15 @@
|
|
|
if (props.drawerTitle === '查看人员分组') {
|
|
if (props.drawerTitle === '查看人员分组') {
|
|
|
ruleForm.operator = newForm.operator;
|
|
ruleForm.operator = newForm.operator;
|
|
|
}
|
|
}
|
|
|
- userList.value = newForm.userList.map((user) => ({
|
|
|
|
|
- id: `u${user.userId}`,
|
|
|
|
|
- userId: user.userId,
|
|
|
|
|
- name: `${user.loginName}-${user.nickname}`,
|
|
|
|
|
|
|
+ // userList.value = newForm.userList.map((user) => ({
|
|
|
|
|
+ // id: `u${user.userId}`,
|
|
|
|
|
+ // userId: user.userId,
|
|
|
|
|
+ // name: `${user.loginName}-${user.nickname}`,
|
|
|
|
|
+ // }));
|
|
|
|
|
+ userList.value = props.formData.userList.map((user) => ({
|
|
|
|
|
+ id: user.userId,
|
|
|
|
|
+ nickname: user.nickname,
|
|
|
|
|
+ staffNo: user.loginName,
|
|
|
}));
|
|
}));
|
|
|
selectedUser.value = userList.value;
|
|
selectedUser.value = userList.value;
|
|
|
ruleForm.userList = userList.value;
|
|
ruleForm.userList = userList.value;
|