@javaguns/flow-ui
Version:
``` <template> <a-spin :spinning="loading"> <FlowDesigner ref="flowDesigner" top="50px"> </FlowDesigner> </a-spin> </template> <script lang="ts" setup> import { ref, provide, onMounted } from 'vue'; import { FlowDesigner, LoadingKey } from '@j
25 lines (24 loc) • 1.54 kB
JavaScript
import { ref as a, computed as i } from "vue";
import { getApproveInfo as v, getInitiateInfo as f } from "../../utils/api.mjs";
function m(u) {
const o = a({}), s = a([]), n = a(!1), d = a(0), r = i(() => s.value.map((e) => (d.value == 1 ? e.disabled = !0 : e.buttonCode != "revoke" && (e.disabled = !1), e.buttonCode == "save" || e.buttonCode == "submit" ? e.disabled = !1 : e.buttonCode == "reject" ? (d.value == 1 ? e.disabled = !0 : e.disabled = !1, e.color = "danger") : e.buttonCode == "agree" ? d.value == 1 ? e.disabled = !0 : e.disabled = !1 : e.buttonCode == "back" ? e.color = "info" : e.buttonCode == "copyer" && (e.color = "primary", n.value = !0), e)).filter((e) => e.checked && e.buttonCode != "copyer"));
return { setData: async (e) => {
var l;
if (e.instanceId) {
const t = await v({
instanceId: e.instanceId,
modelId: e.modelId
});
t && t.data && (o.value = t.data.data, o.value.taskSigns && o.value.taskSigns.length > 0 && (d.value = 1), o.value.ruTask && o.value.ruNode && (o.value.ruTask.approvalMode = o.value.ruNode.approvalMode), s.value = o.value.nodeButtons);
} else {
const t = await f({
modelId: e.modelId
});
t && t.data && (o.value = t.data.data, s.value = (l = o.value) == null ? void 0 : l.nodeButtons);
}
o.value.nodeApprovers || (o.value.nodeApprovers = o.value.model.nodeApprovers), u("load", o.value);
}, getData: () => o.value, nodeButtons: r, dataInfo: o, showCc: n, addSignMode: d };
}
export {
m as useInteraction
};