流程业务key回显

This commit is contained in:
weiwei committed 2025-03-13 16:40:28 +08:00
1 parent 707c2e094f
commit 42dfbe30f5
2 files changed
+173 -164

No files matched your search

+75 -67
View File
@@ -4,8 +4,12 @@
<el-row>
<el-col :span="12">
<el-form label-position="top">
<form-render @addLayoutOneItem="addLayoutOneItem" ref="formRenderRef"
@deleteLayoutOneItem="deleteLayoutOneItem" :form-list="currentOpenFlowForm"></form-render>
<form-render
@addLayoutOneItem="addLayoutOneItem"
ref="formRenderRef"
@deleteLayoutOneItem="deleteLayoutOneItem"
:form-list="currentOpenFlowForm"
></form-render>
</el-form>
<div class="flex justify-center mt-4">
@@ -14,53 +18,57 @@
</div>
</el-col>
<el-col :span="12">
<flow-node-format :formData="formValue" :selectUserNodeId="selectUserNodeId"
:flow-id="currentOpenFlow.flowId" ref="flowNodeFormatRef"></flow-node-format>
<flow-node-format
:formData="formValue"
:selectUserNodeId="selectUserNodeId"
:flow-id="currentOpenFlow.flowId"
ref="flowNodeFormatRef"
></flow-node-format>
</el-col>
</el-row>
</el-dialog>
</div>
</template>
<script setup lang="ts">
import FormRender from '/@/views/flow/form/render/FormRender.vue';
import FlowNodeFormat from '/@/views/flow/form/tools/FlowNodeFormatData.vue';
import { FormVO } from '/@/api/flow/form/types';
import { getFlowDetail, startFlow } from '/@/api/flow/flow';
import other from '/@/utils/other';
import { ElMessage } from 'element-plus';
import FormRender from "/@/views/flow/form/render/FormRender.vue"
import FlowNodeFormat from "/@/views/flow/form/tools/FlowNodeFormatData.vue"
import { FormVO } from "/@/api/flow/form/types"
import { getFlowDetail, startFlow } from "/@/api/flow/flow"
import other from "/@/utils/other"
import { ElMessage } from "element-plus"
const dialogTableVisible = ref<Boolean>(false);
const currentOpenFlowForm = ref<FormVO[]>([]);
const currentOpenFlow = ref<FormVO[]>([]);
const formRenderRef = ref();
const dialogTableVisible = ref<Boolean>(false)
const currentOpenFlowForm = ref<FormVO[]>([])
const currentOpenFlow = ref<FormVO[]>([])
const formRenderRef = ref()
const submitProcess = () => {
let validate = flowNodeFormatRef.value.validate();
let validate = flowNodeFormatRef.value.validate()
if (!validate) {
ElMessage.warning('请选择节点执行人');
return;
ElMessage.warning("请选择节点执行人")
return
}
let param = flowNodeFormatRef.value.formatSelectNodeUser();
let param = flowNodeFormatRef.value.formatSelectNodeUser()
currentOpenFlowForm.value.forEach((res) => (param[res.id] = res.props.value));
currentOpenFlowForm.value.forEach((res) => (param[res.id] = res.props.value))
{
for (var item of currentOpenFlowForm.value) {
param[item.id] = item.props.value;
if (item.type === 'Layout') {
let subList = item.props.value;
param[item.id] = item.props.value
if (item.type === "Layout") {
let subList = item.props.value
var d = [];
var d = []
for (var array of subList) {
var v = {};
var v = {}
for (var subItem of array) {
let value = subItem.props.value;
v[subItem.id] = value;
let value = subItem.props.value
v[subItem.id] = value
}
d.push(v);
d.push(v)
}
param[item.id] = d;
param[item.id] = d
}
}
}
@@ -68,83 +76,83 @@ const submitProcess = () => {
var data = {
flowId: currentOpenFlow.value.flowId,
paramMap: param,
};
}
formRenderRef.value.validate(function (valid) {
if (valid) {
startFlow(data).then((res) => {
ElMessage.success('提交成功');
dialogTableVisible.value = false;
});
ElMessage.success("提交成功")
dialogTableVisible.value = false
})
}
});
};
})
}
const handle = (row) => {
currentOpenFlow.value = row;
currentOpenFlow.value = row
startProcess(row);
};
startProcess(row)
}
defineExpose({ handle });
defineExpose({ handle })
const selectUserNodeId = ref<String[]>([]);
const selectUserNodeId = ref<String[]>([])
const startProcess = (f) => {
getFlowDetail(f.flowId).then((res) => {
const { data } = res;
const { data } = res
const { formItems } = data;
const { formItems } = data
let formIteamJsonArray = JSON.parse(formItems);
let formIteamJsonArray = JSON.parse(formItems)
for (var fi of formIteamJsonArray) {
if (fi.type === 'Layout') {
var arr = [];
let value = fi.props.value;
arr.push(value);
fi.props.value = arr;
fi.props.oriForm = other.deepClone(value);
if (fi.type === "Layout") {
var arr = []
let value = fi.props.value
arr.push(value)
fi.props.value = arr
fi.props.oriForm = other.deepClone(value)
}
}
currentOpenFlowForm.value = formIteamJsonArray;
currentOpenFlowForm.value = formIteamJsonArray
selectUserNodeId.value = data.selectUserNodeId;
selectUserNodeId.value = data.selectUserNodeId
dialogTableVisible.value = true;
});
};
dialogTableVisible.value = true
})
}
const formValue = computed(() => {
var obj = {};
var obj = {}
for (var item of currentOpenFlowForm.value) {
obj[item.id] = item.props.value;
obj[item.id] = item.props.value
}
return obj;
});
return obj
})
//明细的添加一个
const addLayoutOneItem = (id) => {
for (var item of currentOpenFlowForm.value) {
if (item.id !== id) {
continue;
continue
}
let value = item.props.value;
let oriForm = item.props.oriForm;
value.push(other.deepClone(oriForm));
item.props.value = value;
let value = item.props.value
let oriForm = item.props.oriForm
value.push(other.deepClone(oriForm))
item.props.value = value
}
};
}
const deleteLayoutOneItem = (id, index) => {
for (var item of currentOpenFlowForm.value) {
if (item.id !== id) {
continue;
continue
}
item.props.value.splice(index, 1);
item.props.value.splice(index, 1)
}
};
}
const flowNodeFormatRef = ref();
const flowNodeFormatRef = ref()
</script>