修改表单修改
This commit is contained in:
parent
96a89d85d8
commit
dccb2410b6
@ -28,24 +28,25 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="开始时间" prop="startTime" :disabled="!isEditable('startTime')">
|
||||
<el-form-item label="开始时间" prop="startTime" >
|
||||
<el-date-picker
|
||||
v-model="formData.startTime"
|
||||
type="datetime"
|
||||
value-format="x"
|
||||
placeholder="选择开始时间"
|
||||
disabled
|
||||
:disabled="!isEditable('startTime')"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="结束时间" prop="endTime" :disabled="!isEditable('endTime')">
|
||||
<el-form-item label="结束时间" prop="endTime" >
|
||||
<el-date-picker
|
||||
v-model="formData.endTime"
|
||||
type="datetime"
|
||||
value-format="x"
|
||||
placeholder="选择结束时间"
|
||||
disabled
|
||||
:disabled="!isEditable('startTime')"
|
||||
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -160,29 +161,21 @@ const isEditable = (field) => {
|
||||
}
|
||||
/** 提交表单 */
|
||||
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
|
||||
const submitForm = async () => {
|
||||
const updatetForm = async () => {
|
||||
// 校验表单
|
||||
alert("update.....")
|
||||
await formRef.value.validate()
|
||||
// 提交请求
|
||||
formLoading.value = true
|
||||
try {
|
||||
const data = formData.value as unknown as QjglVO
|
||||
if (formType.value === 'create') {
|
||||
await QjglApi.createQjgl(data)
|
||||
message.success(t('common.createSuccess'))
|
||||
} else {
|
||||
await QjglApi.updateQjgl(data)
|
||||
message.success(t('common.updateSuccess'))
|
||||
}
|
||||
dialogVisible.value = false
|
||||
await QjglApi.updateQjgl(data)
|
||||
// 发送操作成功的事件
|
||||
emit('success')
|
||||
//emit('success')
|
||||
} finally {
|
||||
formLoading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
defineExpose({updatetForm})
|
||||
/** 重置表单 */
|
||||
const resetForm = () => {
|
||||
formData.value = {
|
||||
@ -202,6 +195,41 @@ const resetForm = () => {
|
||||
}
|
||||
formRef.value?.resetFields()
|
||||
}
|
||||
const itemControl = async () => {
|
||||
// console.log(userId,"userId")
|
||||
// console.log(queryId,"queryId")
|
||||
let flag = false
|
||||
let itemType = ""
|
||||
let itemContent = ""
|
||||
if (queryId.length > 33 ) { //流程中打开表单
|
||||
const taskids = await TaskApi.getTaskIdsForProcessInstance( queryId ) //通过流程实例id得到待办任务列表
|
||||
const token = getAccessToken()
|
||||
for (const taskid of taskids) {
|
||||
// 在 for...of 中可以使用 await
|
||||
const assignee = await TaskApi.getTaskAssignee(taskid); //通过待办任务id得到审批人
|
||||
//console.log(assignee, "assignee");
|
||||
if ( assignee == userId ) {
|
||||
flag = true
|
||||
itemType = await TaskApi.getTaskConfigFromBpmn( taskid ,"itemType")
|
||||
//console.log(itemType,"itemType")
|
||||
if ( itemType == "1") {
|
||||
itemContent = await TaskApi.getTaskConfigFromBpmn( taskid ,"itemContent")
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( flag ) { //当然用户是审批人
|
||||
if ( itemType == "1") { //表单字段0:禁用,1:允许
|
||||
//editableFields.value.push("userName")
|
||||
const parsedObject = JSON.parse(itemContent);
|
||||
Object.entries(parsedObject).forEach(([key, value]) => {
|
||||
editableFields.value.push( key )
|
||||
//console.log(key);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
onMounted(async () => {
|
||||
const id = props.id || queryId
|
||||
console.log("id",id)
|
||||
@ -209,32 +237,7 @@ onMounted(async () => {
|
||||
formLoading.value = true
|
||||
try {
|
||||
formData.value = await QjglApi.getQjgl(id)
|
||||
console.log(userId,"userId")
|
||||
console.log(queryId,"queryId")
|
||||
let flag = false
|
||||
let itemType = ""
|
||||
if (queryId.length > 33 ) { //流程中打开表单
|
||||
const taskids = await TaskApi.getTaskIdsForProcessInstance( queryId ) //通过流程实例id得到待办任务列表
|
||||
const token = getAccessToken()
|
||||
for (const taskid of taskids) {
|
||||
// 在 for...of 中可以使用 await
|
||||
const assignee = await TaskApi.getTaskAssignee(taskid); //通过待办任务id得到审批人
|
||||
console.log(assignee, "assignee");
|
||||
if ( assignee == userId ) {
|
||||
flag = true
|
||||
itemType = await TaskApi.getTaskConfigFromBpmn( taskid ,"itemType")
|
||||
console.log(itemType,"itemType")
|
||||
}
|
||||
}
|
||||
if ( flag ) { //当然用户是审批人
|
||||
if ( itemType == "1") { //表单字段0:禁用,1:允许
|
||||
editableFields.value.push("title")
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
await itemControl()
|
||||
// TaskApi.getTaskAssignee()
|
||||
} finally {
|
||||
formLoading.value = false
|
||||
|
@ -18,7 +18,7 @@
|
||||
</el-col>
|
||||
<!-- 情况二:业务表单 -->
|
||||
<div v-if="processInstance?.processDefinition?.formType === 20">
|
||||
<BusinessFormComponent :id="processInstance.businessKey" />
|
||||
<BusinessFormComponent ref="businessForm" :id="processInstance.businessKey" />
|
||||
</div>
|
||||
</el-card>
|
||||
</el-tab-pane>
|
||||
@ -253,7 +253,7 @@ watch(
|
||||
deep: true
|
||||
}
|
||||
)
|
||||
|
||||
const businessForm = ref()
|
||||
/** 处理审批通过和不通过的操作 */
|
||||
const handleAudit = async (task, pass) => {
|
||||
// 1.1 获得对应表单
|
||||
@ -265,13 +265,7 @@ const handleAudit = async (task, pass) => {
|
||||
if (!elForm) return
|
||||
const valid = await elForm.validate()
|
||||
if (!valid) return
|
||||
console.log( BusinessFormComponent.value,"BusinessFormComponent.value" )
|
||||
console.log(BusinessFormComponent.value.submit,"BusinessFormComponent.value.submit")
|
||||
if (BusinessFormComponent.value && BusinessFormComponent.value.submit) {
|
||||
console.log("submit.....")
|
||||
BusinessFormComponent.value.submit() // 调用表单的提交方法
|
||||
}
|
||||
return
|
||||
|
||||
// 2.1 提交审批
|
||||
const data = {
|
||||
id: task.id,
|
||||
@ -287,6 +281,10 @@ const handleAudit = async (task, pass) => {
|
||||
data.variables = approveForms.value[index].value
|
||||
}
|
||||
|
||||
if (businessForm.value && businessForm.value.updatetForm) {
|
||||
businessForm.value.updatetForm() // 调用异步组件的提交方法
|
||||
}
|
||||
|
||||
await TaskApi.approveTask(data)
|
||||
message.success('审批通过成功')
|
||||
} else {
|
||||
@ -294,7 +292,7 @@ const handleAudit = async (task, pass) => {
|
||||
message.success('审批不通过成功')
|
||||
}
|
||||
// 2.2 加载最新数据
|
||||
getDetail()
|
||||
//getDetail()
|
||||
delView(unref(currentRoute))
|
||||
back()
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user