2024-04-30 10:31:48 +08:00
|
|
|
<script setup lang="ts">
|
2024-05-25 14:15:59 +08:00
|
|
|
import { onMounted, ref } from 'vue';
|
|
|
|
import Workflow, { flowFetch, flowStores } from '@sa/workflow';
|
|
|
|
import { useRoute, useRouter } from 'vue-router';
|
|
|
|
import { $t } from '@/locales';
|
2024-04-30 10:31:48 +08:00
|
|
|
|
2024-05-25 14:15:59 +08:00
|
|
|
const store = flowStores.useFlowStore();
|
|
|
|
const route = useRoute();
|
|
|
|
const router = useRouter();
|
|
|
|
|
|
|
|
const spinning = ref(false);
|
|
|
|
const disabled = ref(false);
|
|
|
|
|
|
|
|
const id: string = String(route.query.id);
|
|
|
|
|
|
|
|
const node = ref<Flow.NodeDataType>({});
|
|
|
|
|
|
|
|
const getDetail = async () => {
|
|
|
|
spinning.value = true;
|
|
|
|
const { data, error } = await flowFetch.fetchWorkflowInfo(id);
|
|
|
|
if (!error) {
|
|
|
|
node.value = data;
|
|
|
|
}
|
|
|
|
spinning.value = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
onMounted(() => {
|
|
|
|
store.clear();
|
|
|
|
store.setType(0);
|
|
|
|
store.setId(id);
|
|
|
|
getDetail();
|
|
|
|
disabled.value = false;
|
2024-04-30 10:31:48 +08:00
|
|
|
});
|
2024-05-25 14:15:59 +08:00
|
|
|
|
|
|
|
const update = async () => {
|
|
|
|
const { error } = await flowFetch.fetchUpdateWorkflow(node.value);
|
|
|
|
if (!error) {
|
|
|
|
window.$message?.info($t('common.updateSuccess'));
|
|
|
|
router.push({ path: '/workflow/task' });
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
const cancel = () => {
|
|
|
|
router.push('/workflow/task');
|
|
|
|
};
|
2024-04-30 10:31:48 +08:00
|
|
|
</script>
|
|
|
|
|
|
|
|
<template>
|
2024-05-25 14:15:59 +08:00
|
|
|
<Workflow v-model="node" :spinning="spinning" :disabled="disabled" @save="update" @cancel="cancel" />
|
2024-04-30 10:31:48 +08:00
|
|
|
</template>
|
|
|
|
|
2024-05-25 14:15:59 +08:00
|
|
|
<style scoped></style>
|