流程业务key回显
This commit is contained in:
1 parent
707c2e094f
commit
42dfbe30f5
2 files changed
+173
-164
No files matched your search
@@ -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>
|
||||
Reference in new issue
Block a user