消息配置
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