流程一对多表单选择

This commit is contained in:
XaoLi717 2024-11-27 10:40:47 +08:00
parent 597058937e
commit e4a7272f74
4 changed files with 37 additions and 4 deletions

View File

@ -3,6 +3,7 @@ import request from '@/config/axios'
// 车辆管理 VO
export interface ClglVO {
id: number // id
title: string // 申请人
carUserId: number // 申请人
carUserName: string // 申请人
dept: number // 部门
@ -14,7 +15,7 @@ export interface ClglVO {
carAddress: string // 目的地
carInfo: string // 车辆信息
processInstanceId: string
flowStatus: number
status: number
carStartMileage: string // 车辆开始里程
carEndMileage: string // 车辆结束里程
carStatus: number // 用车状态

View File

@ -24,6 +24,9 @@
</el-form-item>
</el-col>
</el-row>
<el-form-item label="标题" prop="title">
<el-input v-model="formData.title" placeholder="请输入标题" />
</el-form-item>
<el-form-item label="车辆状态" prop="carStatus">
<el-radio-group v-model="formData.carStatus">
<el-radio
@ -121,6 +124,7 @@ import * as DefinitionApi from '@/api/bpm/definition'
import * as UserApi from '@/api/system/user'
import {useTagsViewStore} from "@/store/modules/tagsView"
import {getUserProfile} from "@/api/system/user/profile";
import {FormProcessMappingApi} from "@/api/bpm/formprocessmapping";
/** 车辆管理 表单 */
@ -136,6 +140,7 @@ const formLoading = ref(false) // 表单的加载中1修改时的数据加
// const formType = ref('') // create - update -
const formData = ref({
id: undefined,
title: undefined,
carUserId: undefined,
carUserName: undefined,
dept: undefined,
@ -165,6 +170,7 @@ const validateDate = async () => {
}
const formRules = reactive({
carType: [{ required: true, message: '车辆类型不能为空', trigger: 'change' }],
title: [{ required: true, message: '标题不能为空', trigger: 'change' }],
carDriver: [{ required: true, message: '驾驶员不能为空', trigger: 'blur' }],
carStart: [{ required: true, message: '开始时间不能为空', trigger: 'blur' }],
carEnd: [{ required: true, message: '结束时间不能为空', trigger: 'blur' }],
@ -175,7 +181,7 @@ const formRules = reactive({
const formRef = ref() // Ref
//
const processDefineKey = 'car-001' // Key
/* const processDefineKey = 'car-001' 流程定义 Key */
const startUserSelectTasks = ref([]) //
const startUserSelectAssignees = ref({}) //
const startUserSelectAssigneesFormRef = ref() // Ref
@ -204,6 +210,17 @@ const submitForm = async () => {
if(startUserSelectTasks.value?.length > 0){
data.startUserSelectAssignees = startUserSelectAssignees.value
}
const curFullPath = currentRoute.value.fullPath
if( curFullPath ) {
data.curfullpath = curFullPath
}
const processKey = await FormProcessMappingApi.selectProcessKey( curFullPath )
if ( processKey) {
data.processDefinitionKey = processKey
}
await ClglApi.createClgl(data)
message.success(t('common.createSuccess'))
delView(unref(currentRoute))
@ -238,6 +255,16 @@ const getUserInfo = async () => {
/** 初始化 */
onMounted(async () => {
await getUserInfo()
const curFullPath = currentRoute.value.fullPath
const processKey = await FormProcessMappingApi.selectProcessKey( curFullPath )
if ( !processKey ) {
message.error('流程对应表单模型未配置,请检查!')
return
}
//
const processDefinitionDetail = await DefinitionApi.getProcessDefinition(
undefined,

View File

@ -24,6 +24,9 @@
</el-form-item>
</el-col>
</el-row>
<el-form-item label="标题" prop="title">
<el-input v-model="formData.title" placeholder="请输入标题" disabled />
</el-form-item>
<el-form-item label="车辆状态" prop="carStatus">
<el-radio-group v-model="formData.carStatus" disabled>
<el-radio
@ -133,6 +136,7 @@ const deptInfo = ref('') // 部门信息
const userInfo = ref('') //
const formData = ref({
id: undefined,
title: undefined,
carUserId: undefined,
carUserName: undefined,
dept: undefined,

View File

@ -110,9 +110,9 @@
</el-table-column>
<el-table-column label="用车原因" align="center" prop="carReason" />
<el-table-column label="备注" align="center" prop="carRemark" />
<el-table-column align="center" label="审批状态" prop="flowStatus">
<el-table-column align="center" label="审批状态" prop="status">
<template #default="scope">
<dict-tag :type="DICT_TYPE.BPM_PROCESS_INSTANCE_STATUS" :value="scope.row.flowStatus" />
<dict-tag :type="DICT_TYPE.BPM_PROCESS_INSTANCE_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
<!-- <el-table-column-->
@ -178,6 +178,7 @@ const queryParams = reactive({
pageNo: 1,
pageSize: 10,
id: undefined,
title: undefined,
carUserId: undefined,
carUserName: undefined,
dept: undefined,