diff --git a/src/views/Home/qjgl/QjglDetail.vue b/src/views/Home/qjgl/QjglDetail.vue
index 1e3431b..1375221 100644
--- a/src/views/Home/qjgl/QjglDetail.vue
+++ b/src/views/Home/qjgl/QjglDetail.vue
@@ -28,24 +28,25 @@
-
+
-
+
@@ -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
diff --git a/src/views/bpm/processInstance/detail/index.vue b/src/views/bpm/processInstance/detail/index.vue
index 4deea84..2456a9d 100644
--- a/src/views/bpm/processInstance/detail/index.vue
+++ b/src/views/bpm/processInstance/detail/index.vue
@@ -18,7 +18,7 @@
-
+
@@ -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()
}