Commit 1b60975ebbe2f3f034c583d8560807fcae52bb88
1 parent
8992f64e
bpm:完善流程分配任务的弹窗
Showing
1 changed file
with
57 additions
and
61 deletions
yudao-ui-admin-vue3/src/views/bpm/taskAssignRule/index.vue
| @@ -3,9 +3,12 @@ | @@ -3,9 +3,12 @@ | ||
| 3 | <!-- 列表 --> | 3 | <!-- 列表 --> |
| 4 | <XTable @register="registerTable"> | 4 | <XTable @register="registerTable"> |
| 5 | <template #options_default="{ row }"> | 5 | <template #options_default="{ row }"> |
| 6 | - <el-tag :key="option" v-for="option in row.options"> | ||
| 7 | - {{ getAssignRuleOptionName(row.type, option) }} | ||
| 8 | - </el-tag> | 6 | + <span :key="option" v-for="option in row.options"> |
| 7 | + <el-tag> | ||
| 8 | + {{ getAssignRuleOptionName(row.type, option) }} | ||
| 9 | + </el-tag> | ||
| 10 | + | ||
| 11 | + </span> | ||
| 9 | </template> | 12 | </template> |
| 10 | <!-- 操作 --> | 13 | <!-- 操作 --> |
| 11 | <template #actionbtns_default="{ row }" v-if="modelId"> | 14 | <template #actionbtns_default="{ row }" v-if="modelId"> |
| @@ -21,14 +24,7 @@ | @@ -21,14 +24,7 @@ | ||
| 21 | 24 | ||
| 22 | <!-- 添加/修改弹窗 --> | 25 | <!-- 添加/修改弹窗 --> |
| 23 | <XModal v-model="dialogVisible" title="修改任务规则" width="800" height="35%"> | 26 | <XModal v-model="dialogVisible" title="修改任务规则" width="800" height="35%"> |
| 24 | - <el-form | ||
| 25 | - ref="formRef" | ||
| 26 | - :model="formData" | ||
| 27 | - :rules="rules" | ||
| 28 | - label-width="120px" | ||
| 29 | - size="default" | ||
| 30 | - status-icon | ||
| 31 | - > | 27 | + <el-form ref="formRef" :model="formData" :rules="rules" label-width="80px"> |
| 32 | <el-form-item label="任务名称" prop="taskDefinitionName"> | 28 | <el-form-item label="任务名称" prop="taskDefinitionName"> |
| 33 | <el-input v-model="formData.taskDefinitionName" placeholder="请输入流标标识" disabled /> | 29 | <el-input v-model="formData.taskDefinitionName" placeholder="请输入流标标识" disabled /> |
| 34 | </el-form-item> | 30 | </el-form-item> |
| @@ -69,6 +65,7 @@ | @@ -69,6 +65,7 @@ | ||
| 69 | :props="defaultProps" | 65 | :props="defaultProps" |
| 70 | :data="deptTreeOptions" | 66 | :data="deptTreeOptions" |
| 71 | empty-text="加载中,请稍后" | 67 | empty-text="加载中,请稍后" |
| 68 | + multiple | ||
| 72 | /> | 69 | /> |
| 73 | </el-form-item> | 70 | </el-form-item> |
| 74 | <el-form-item label="指定岗位" prop="postIds" span="24" v-if="formData.type === 22"> | 71 | <el-form-item label="指定岗位" prop="postIds" span="24" v-if="formData.type === 22"> |
| @@ -138,7 +135,7 @@ | @@ -138,7 +135,7 @@ | ||
| 138 | </template> | 135 | </template> |
| 139 | <script setup lang="ts" name="TaskAssignRule"> | 136 | <script setup lang="ts" name="TaskAssignRule"> |
| 140 | // 全局相关的 import | 137 | // 全局相关的 import |
| 141 | -import type { FormInstance } from 'element-plus' | 138 | +import { FormInstance } from 'element-plus' |
| 142 | // 业务相关的 import | 139 | // 业务相关的 import |
| 143 | import * as TaskAssignRuleApi from '@/api/bpm/taskAssignRule' | 140 | import * as TaskAssignRuleApi from '@/api/bpm/taskAssignRule' |
| 144 | import { listSimpleRolesApi } from '@/api/system/role' | 141 | import { listSimpleRolesApi } from '@/api/system/role' |
| @@ -233,57 +230,56 @@ const formData = ref() // 表单数据 | @@ -233,57 +230,56 @@ const formData = ref() // 表单数据 | ||
| 233 | 230 | ||
| 234 | // 提交按钮 | 231 | // 提交按钮 |
| 235 | const submitForm = async () => { | 232 | const submitForm = async () => { |
| 236 | - const elForm = unref(formRef)?.getElFormRef() | 233 | + // 参数校验 |
| 234 | + const elForm = unref(formRef) | ||
| 237 | if (!elForm) return | 235 | if (!elForm) return |
| 238 | - elForm.validate(async (valid) => { | ||
| 239 | - if (valid) { | ||
| 240 | - // 构建表单 | ||
| 241 | - let form = { | ||
| 242 | - ...formData.value, | ||
| 243 | - taskDefinitionName: undefined | ||
| 244 | - } | ||
| 245 | - // 将 roleIds 等选项赋值到 options 中 | ||
| 246 | - if (form.type === 10) { | ||
| 247 | - form.options = form.roleIds | ||
| 248 | - } else if (form.type === 20 || form.type === 21) { | ||
| 249 | - form.options = form.deptIds | ||
| 250 | - } else if (form.type === 22) { | ||
| 251 | - form.options = form.postIds | ||
| 252 | - } else if (form.type === 30 || form.type === 31 || form.type === 32) { | ||
| 253 | - form.options = form.userIds | ||
| 254 | - } else if (form.type === 40) { | ||
| 255 | - form.options = form.userGroupIds | ||
| 256 | - } else if (form.type === 50) { | ||
| 257 | - form.options = form.scripts | ||
| 258 | - } | ||
| 259 | - form.roleIds = undefined | ||
| 260 | - form.deptIds = undefined | ||
| 261 | - form.postIds = undefined | ||
| 262 | - form.userIds = undefined | ||
| 263 | - form.userGroupIds = undefined | ||
| 264 | - form.scripts = undefined | ||
| 265 | - // 设置提交中 | ||
| 266 | - actionLoading.value = true | ||
| 267 | - // 提交请求 | ||
| 268 | - try { | ||
| 269 | - const data = form as TaskAssignRuleApi.TaskAssignVO | ||
| 270 | - // 新增 | ||
| 271 | - if (!data.id) { | ||
| 272 | - await TaskAssignRuleApi.createTaskAssignRule(data) | ||
| 273 | - message.success(t('common.createSuccess')) | ||
| 274 | - // 修改 | ||
| 275 | - } else { | ||
| 276 | - await TaskAssignRuleApi.updateTaskAssignRule(data) | ||
| 277 | - message.success(t('common.updateSuccess')) | ||
| 278 | - } | ||
| 279 | - dialogVisible.value = false | ||
| 280 | - } finally { | ||
| 281 | - actionLoading.value = false | ||
| 282 | - // 刷新列表 | ||
| 283 | - await reload() | ||
| 284 | - } | 236 | + const valid = await elForm.validate() |
| 237 | + if (!valid) return | ||
| 238 | + // 构建表单 | ||
| 239 | + let form = { | ||
| 240 | + ...formData.value, | ||
| 241 | + taskDefinitionName: undefined | ||
| 242 | + } | ||
| 243 | + // 将 roleIds 等选项赋值到 options 中 | ||
| 244 | + if (form.type === 10) { | ||
| 245 | + form.options = form.roleIds | ||
| 246 | + } else if (form.type === 20 || form.type === 21) { | ||
| 247 | + form.options = form.deptIds | ||
| 248 | + } else if (form.type === 22) { | ||
| 249 | + form.options = form.postIds | ||
| 250 | + } else if (form.type === 30 || form.type === 31 || form.type === 32) { | ||
| 251 | + form.options = form.userIds | ||
| 252 | + } else if (form.type === 40) { | ||
| 253 | + form.options = form.userGroupIds | ||
| 254 | + } else if (form.type === 50) { | ||
| 255 | + form.options = form.scripts | ||
| 256 | + } | ||
| 257 | + form.roleIds = undefined | ||
| 258 | + form.deptIds = undefined | ||
| 259 | + form.postIds = undefined | ||
| 260 | + form.userIds = undefined | ||
| 261 | + form.userGroupIds = undefined | ||
| 262 | + form.scripts = undefined | ||
| 263 | + // 设置提交中 | ||
| 264 | + actionLoading.value = true | ||
| 265 | + // 提交请求 | ||
| 266 | + try { | ||
| 267 | + const data = form as TaskAssignRuleApi.TaskAssignVO | ||
| 268 | + // 新增 | ||
| 269 | + if (!data.id) { | ||
| 270 | + await TaskAssignRuleApi.createTaskAssignRule(data) | ||
| 271 | + message.success(t('common.createSuccess')) | ||
| 272 | + // 修改 | ||
| 273 | + } else { | ||
| 274 | + await TaskAssignRuleApi.updateTaskAssignRule(data) | ||
| 275 | + message.success(t('common.updateSuccess')) | ||
| 285 | } | 276 | } |
| 286 | - }) | 277 | + dialogVisible.value = false |
| 278 | + } finally { | ||
| 279 | + actionLoading.value = false | ||
| 280 | + // 刷新列表 | ||
| 281 | + await reload() | ||
| 282 | + } | ||
| 287 | } | 283 | } |
| 288 | 284 | ||
| 289 | // 修改任务分配规则 | 285 | // 修改任务分配规则 |