消息配置
This commit is contained in:
@ -10,9 +10,6 @@
|
||||
<el-form-item label="消息标识" prop="msgKey">
|
||||
<el-input v-model="queryParams.msgKey" placeholder="请输入消息标识" clearable @keyup.enter="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="跳转路由" prop="route">
|
||||
<el-input v-model="queryParams.route" placeholder="请输入跳转路由" clearable @keyup.enter="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="通知人" prop="userId">
|
||||
<el-input v-model="queryParams.userId" placeholder="请输入通知人" clearable @keyup.enter="handleQuery" />
|
||||
</el-form-item>
|
||||
@ -41,7 +38,7 @@
|
||||
<el-table-column label="消息名称" align="center" prop="msgName" />
|
||||
<el-table-column label="消息模板" align="center" prop="msgContent" />
|
||||
<el-table-column label="消息标识" align="center" prop="msgKey" />
|
||||
<el-table-column label="跳转路由" align="center" prop="route" />
|
||||
<!-- <el-table-column label="跳转路由" align="center" prop="route" /> -->
|
||||
<el-table-column label="通知人" align="center" prop="userId" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template #default="scope">
|
||||
@ -73,9 +70,15 @@
|
||||
<el-input v-model="form.route" placeholder="请输入跳转路由" />
|
||||
</el-form-item>
|
||||
<el-form-item label="通知部门" prop="deptId">
|
||||
<el-select v-model="form.deptId" placeholder="请选择通知部门" filterable @change="getUser">
|
||||
<el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName" :value="item.deptId" />
|
||||
</el-select>
|
||||
<el-tree-select
|
||||
v-model="form.deptId"
|
||||
:data="deptList"
|
||||
:props="{ value: 'id', label: 'label', children: 'children' }"
|
||||
value-key="id"
|
||||
placeholder="请选择归属部门"
|
||||
check-strictly
|
||||
@change="handleDeptChange"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="通知人" prop="userId">
|
||||
<el-select v-model="form.userId" placeholder="请选择通知人" multiple filterable :disabled="!form.deptId">
|
||||
@ -96,7 +99,8 @@
|
||||
<script setup name="Config" lang="ts">
|
||||
import { listConfig, getConfig, delConfig, addConfig, updateConfig, listUsers } from '@/api/message/config';
|
||||
import { ConfigVO, ConfigQuery, ConfigForm } from '@/api/message/config/types';
|
||||
import { listUser } from '@/api/system/user';
|
||||
import { DeptTreeVO } from '@/api/system/dept/types';
|
||||
import { deptTreeSelect, listUser } from '@/api/system/user';
|
||||
import { useUserStoreHook } from '@/store/modules/user';
|
||||
|
||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
||||
@ -225,6 +229,7 @@ const submitForm = () => {
|
||||
if (form.value.id) {
|
||||
await updateConfig(form.value).finally(() => (buttonLoading.value = false));
|
||||
} else {
|
||||
form.value.userId = form.value.userId.join(',');
|
||||
await addConfig(form.value).finally(() => (buttonLoading.value = false));
|
||||
}
|
||||
proxy?.$modal.msgSuccess('操作成功');
|
||||
@ -254,24 +259,42 @@ const handleExport = () => {
|
||||
);
|
||||
};
|
||||
|
||||
/** 获取用户列表 */
|
||||
const getDept = async () => {
|
||||
const res = await listUsers({
|
||||
pageNum: 1,
|
||||
pageSize: 1000,
|
||||
projectId: currentProject.value?.id
|
||||
});
|
||||
deptId.value = res.data.deptId;
|
||||
getListDept();
|
||||
// /** 获取用户列表 */
|
||||
// const getDept = async () => {
|
||||
// const res = await listUsers({
|
||||
// pageNum: 1,
|
||||
// pageSize: 1000,
|
||||
// projectId: currentProject.value?.id
|
||||
// });
|
||||
// deptId.value = res.data.deptId;
|
||||
// getListDept();
|
||||
// };
|
||||
/** 查询部门下拉树结构 */
|
||||
const getDeptTree = async () => {
|
||||
const res = await deptTreeSelect({ isShow: '1' });
|
||||
deptList.value = filterDisabledDept(res.data);
|
||||
};
|
||||
|
||||
const getListDept = async () => {
|
||||
/** 过滤禁用的部门 */
|
||||
const filterDisabledDept = (deptList: DeptTreeVO[]) => {
|
||||
return deptList.filter((dept) => {
|
||||
if (dept.disabled) {
|
||||
return false;
|
||||
}
|
||||
if (dept.children && dept.children.length) {
|
||||
dept.children = filterDisabledDept(dept.children);
|
||||
}
|
||||
return true;
|
||||
});
|
||||
};
|
||||
|
||||
const handleDeptChange = async (value) => {
|
||||
const res = await listUser({
|
||||
pageNum: 1,
|
||||
pageSize: 1000,
|
||||
deptId: deptId.value
|
||||
deptId: value
|
||||
});
|
||||
deptList.value = res.rows;
|
||||
userList.value = res.rows;
|
||||
};
|
||||
const getUser = async () => {
|
||||
const res = await listUser({
|
||||
@ -284,7 +307,7 @@ const getUser = async () => {
|
||||
|
||||
onMounted(() => {
|
||||
getList();
|
||||
getDept();
|
||||
getDeptTree();
|
||||
});
|
||||
|
||||
//监听项目id刷新数据
|
||||
|
Reference in New Issue
Block a user