index.vue.vm 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <template>
  2. <div class="jnpf-content-wrapper bg-white">
  3. <FlowParser @register="registerFlowParser" @reload="init()" />
  4. </div>
  5. </template>
  6. <script lang="ts" setup>
  7. import { reactive, onMounted, toRefs} from 'vue';
  8. import { useMessage } from '@/hooks/web/useMessage';
  9. import { usePopup } from '@/components/Popup';
  10. import FlowParser from '@/views/workFlow/components/FlowParser.vue';
  11. import { getFlowStartFormId } from '@/api/workFlow/template';
  12. import { useTabs } from '@/hooks/web/useTabs';
  13. import { useRouter } from 'vue-router';
  14. interface State {
  15. flowId: string;
  16. }
  17. const { close } = useTabs();
  18. const router = useRouter();
  19. const { createMessage } = useMessage();
  20. const [registerFlowParser, { openPopup: openFlowParser }] = usePopup();
  21. const state = reactive<State>({
  22. flowId: '',//请在此处填写流程模板id
  23. });
  24. function init() {
  25. const data = {
  26. id: '',
  27. flowId: state.flowId,
  28. opType: '-1',
  29. hideCancelBtn: true,
  30. hideSaveBtn: true,
  31. };
  32. openFlowParser(true, data);
  33. }
  34. #if(${context.isFlow})
  35. function getFlowId(){
  36. if(!state.flowId){
  37. createMessage.error('流程模板的flowId未填写')
  38. close();
  39. router.replace('/404');
  40. return
  41. }
  42. getFlowStartFormId(state.flowId).then(res => {
  43. init()
  44. }).catch(() => {
  45. close();
  46. router.replace('/404');
  47. });
  48. }
  49. #end
  50. onMounted(() => {
  51. #if(${context.isFlow})
  52. getFlowId()
  53. #else
  54. init();
  55. #end
  56. });
  57. </script>