Browse Source

chore: work flow patch

master
wangxiang 2 years ago
parent
commit
f67cef340b
No known key found for this signature in database
GPG Key ID: 1BA7946AB6B232E4
  1. 8
      src/views/workflow/extension/button/ButtonModal.vue
  2. 2
      src/views/workflow/extension/button/index.vue
  3. 7
      src/views/workflow/extension/category/category.data.ts
  4. 8
      src/views/workflow/extension/condition/ConditionModal.vue
  5. 2
      src/views/workflow/extension/condition/index.vue
  6. 42
      src/views/workflow/extension/formJson/FormJsonModal.vue
  7. 6
      src/views/workflow/extension/formJson/index.vue
  8. 8
      src/views/workflow/extension/listener/ListenerModal.vue
  9. 2
      src/views/workflow/extension/listener/index.vue
  10. 1
      src/views/workflow/extension/listener/listener.data.ts
  11. 4
      src/views/workflow/extension/workflowCopy/index.vue

8
src/views/workflow/extension/button/ButtonModal.vue

@ -37,7 +37,7 @@
const tag = ref<Nullable<string>>(''); const tag = ref<Nullable<string>>('');
/** https://v3.cn.vuejs.org/api/options-data.html#emits */ /** https://v3.cn.vuejs.org/api/options-data.html#emits */
const emit = defineEmits(['success', 'register']); const emit = defineEmits(['success', 'register']);
const [registerForm, { resetFields, setFieldsValue, validate, clearValidate, updateSchema }] = useForm({ const [registerForm, { resetFields, setFieldsValue, validate, clearValidate, updateSchema, setProps }] = useForm({
labelWidth: 100, labelWidth: 100,
schemas: formSchema, schemas: formSchema,
showActionButtonGroup: false, showActionButtonGroup: false,
@ -81,9 +81,15 @@
case 'add': case 'add':
props.title = '新增按钮'; props.title = '新增按钮';
break; break;
case 'view':
props.title = '查看按钮';
await setFieldsValue(await getButton(id));
await setProps({ disabled: true });
break;
case 'edit': case 'edit':
props.title = '编辑按钮'; props.title = '编辑按钮';
await setFieldsValue(await getButton(id)); await setFieldsValue(await getButton(id));
await setProps({ disabled: false });
break; break;
} }
// : // :

2
src/views/workflow/extension/button/index.vue

@ -26,7 +26,7 @@
:actions="[ :actions="[
{ {
label: '查看', label: '查看',
icon: 'fa6-regular:pen-to-square', icon: 'fa6-solid:eye',
onClick: handleView.bind(null, record) onClick: handleView.bind(null, record)
}, },
{ {

7
src/views/workflow/extension/category/category.data.ts

@ -1,5 +1,7 @@
import { h } from 'vue';
import { BasicColumn } from '/@/components/Table'; import { BasicColumn } from '/@/components/Table';
import { FormSchema } from '/@/components/Table'; import { FormSchema } from '/@/components/Table';
import {Tag} from 'ant-design-vue';
/** 表格列配置 */ /** 表格列配置 */
export const columns: BasicColumn[] = [ export const columns: BasicColumn[] = [
@ -18,7 +20,10 @@ export const columns: BasicColumn[] = [
}, },
{ {
title: '备注信息', title: '备注信息',
dataIndex: 'remarks' dataIndex: 'remarks',
customRender: ({record}) => {
return record.permission || h(Tag, { color: 'warning' }, () => '暂无备注');
}
}, },
]; ];

8
src/views/workflow/extension/condition/ConditionModal.vue

@ -25,7 +25,7 @@
const tag = ref<Nullable<string>>(''); const tag = ref<Nullable<string>>('');
/** https://v3.cn.vuejs.org/api/options-data.html#emits */ /** https://v3.cn.vuejs.org/api/options-data.html#emits */
const emit = defineEmits(['success', 'register']); const emit = defineEmits(['success', 'register']);
const [registerForm, { resetFields, setFieldsValue, validate, clearValidate, updateSchema }] = useForm({ const [registerForm, { resetFields, setFieldsValue, validate, clearValidate, updateSchema, setProps }] = useForm({
labelWidth: 100, labelWidth: 100,
schemas: formSchema, schemas: formSchema,
showActionButtonGroup: false, showActionButtonGroup: false,
@ -44,9 +44,15 @@
case 'add': case 'add':
props.title = '新增表达式'; props.title = '新增表达式';
break; break;
case 'view':
props.title = '查看表达式';
await setFieldsValue(await getCondition(id));
await setProps({ disabled: true });
break;
case 'edit': case 'edit':
props.title = '编辑表达式'; props.title = '编辑表达式';
await setFieldsValue(await getCondition(id)); await setFieldsValue(await getCondition(id));
await setProps({ disabled: false });
break; break;
} }
// : // :

2
src/views/workflow/extension/condition/index.vue

@ -26,7 +26,7 @@
:actions="[ :actions="[
{ {
label: '查看', label: '查看',
icon: 'fa6-regular:pen-to-square', icon: 'fa6-solid:eye',
onClick: handleView.bind(null, record) onClick: handleView.bind(null, record)
}, },
{ {

42
src/views/workflow/extension/formJson/FormJsonModal.vue

@ -5,18 +5,16 @@
cancelText="关闭" cancelText="关闭"
:showOkBtn="false" :showOkBtn="false"
@register="registerModal" @register="registerModal"
@visible-change="handleVisibleChange"
> >
<div id="formPreview"/> <div id="formPreview"/>
</BasicModal> </BasicModal>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { reactive } from 'vue'; import { onBeforeUnmount, reactive } from 'vue';
import { BasicModal, ModalProps, useModalInner } from '/@/components/Modal'; import { BasicModal, ModalProps, useModalInner } from '/@/components/Modal';
import { loadMicroApp, MicroApp } from 'qiankun'; import { loadMicroApp, MicroApp } from 'qiankun';
import { getSubDefineProps } from '/@/qiankun/state'; import { getSubDefineProps } from '/@/qiankun/state';
import { GlStateEnum } from '/@/enums/microAppEnum'; import { GlStateEnum } from '/@/enums/microAppEnum';
import { useMicroAppStore } from '/@/store/modules/microApp';
import { apps } from '/@/qiankun/apps'; import { apps } from '/@/qiankun/apps';
import { FORM_DESIGN_APP_COMPONENTS } from '/@/enums/microAppEnum'; import { FORM_DESIGN_APP_COMPONENTS } from '/@/enums/microAppEnum';
@ -27,39 +25,41 @@
const state = reactive<TableState>({ const state = reactive<TableState>({
formDesignApp: undefined!, formDesignApp: undefined!,
}); });
const formPreviewProps = { const formPreviewProps = {
style: { height: 'calc(100vh - 160px)' }, style: { height: 'calc(100vh - 160px)' },
options: {}, options: {},
disabled: false, disabled: false,
readonly: false, readonly: true,
formSubmitSuccess: () => {}, formSubmitSuccess: () => {},
formSubmitError: () => {}, formSubmitError: () => {},
formResetChange: () => {} formResetChange: () => {}
}; };
const emit = defineEmits(['success', 'register']); const emit = defineEmits(['success', 'register']);
const microAppStore = useMicroAppStore();
const [registerModal, { setModalProps, closeModal, changeLoading }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => { const [registerModal, { setModalProps, closeModal, changeLoading }] = useModalInner(async (data: BoxPayload = { _tag: '' }) => {
changeLoading();
state.formDesignApp = loadMicroApp(Object.assign({} , apps.find(item => item.name == 'form-design'), {
container: '#formPreview',
props: {
...getSubDefineProps(),
// props
[GlStateEnum.FORM_DESIGN_APP_PROPS_KEY]: formPreviewProps,
mountApp: FORM_DESIGN_APP_COMPONENTS.PREVIEW
}
}), { sandbox: { experimentalStyleIsolation: true }});
state.formDesignApp.mountPromise.then(() => {
changeLoading(false);
});
data?.json && (formPreviewProps.options = eval('(' + data.json + ')') ); data?.json && (formPreviewProps.options = eval('(' + data.json + ')') );
const props: Partial<ModalProps> = { confirmLoading: false }; const props: Partial<ModalProps> = { confirmLoading: false };
props.title = '预览流程表单'; props.title = '预览流程表单';
setModalProps(props); setModalProps(props);
if (!state.formDesignApp || state.formDesignApp.getStatus() === 'NOT_MOUNTED') {
changeLoading();
state.formDesignApp = loadMicroApp(Object.assign({} , apps.find(item => item.name == 'form-design'), {
container: '#formPreview',
props: {
...getSubDefineProps(),
mountApp: FORM_DESIGN_APP_COMPONENTS.PREVIEW,
// props
[GlStateEnum.FORM_DESIGN_APP_PROPS_KEY]: formPreviewProps,
}
}), { sandbox: { experimentalStyleIsolation: true }});
state.formDesignApp.mountPromise.then(() => {
changeLoading(false);
});
}
}); });
function handleVisibleChange(visible: boolean) { onBeforeUnmount(() => {
!visible && state.formDesignApp.unmount(); state.formDesignApp?.getStatus() === 'MOUNTED' && state.formDesignApp.unmount();
} });
</script> </script>

6
src/views/workflow/extension/formJson/index.vue

@ -17,17 +17,17 @@
:actions="[ :actions="[
{ {
label: '预览', label: '预览',
icon: 'fa6-brands:dev', icon: 'fa6-solid:eye',
onClick: handleFormPreview.bind(null, record) onClick: handleFormPreview.bind(null, record)
}, },
{ {
label: '设置为主版本', label: '设置为主版本',
icon: 'fa6-brands:dev', icon: 'fa6-solid:arrow-up-short-wide',
onClick: handleSetFormPrimaryVersion.bind(null, record) onClick: handleSetFormPrimaryVersion.bind(null, record)
}, },
{ {
label: '删除', label: '删除',
icon: 'fa6-brands:dev', icon: 'fa6-solid:trash',
color: 'error', color: 'error',
onClick: handleDel.bind(null, record) onClick: handleDel.bind(null, record)
}]" }]"

8
src/views/workflow/extension/listener/ListenerModal.vue

@ -25,7 +25,7 @@
const tag = ref<Nullable<string>>(''); const tag = ref<Nullable<string>>('');
/** https://v3.cn.vuejs.org/api/options-data.html#emits */ /** https://v3.cn.vuejs.org/api/options-data.html#emits */
const emit = defineEmits(['success', 'register']); const emit = defineEmits(['success', 'register']);
const [registerForm, { resetFields, setFieldsValue, validate, clearValidate, updateSchema }] = useForm({ const [registerForm, { resetFields, setFieldsValue, validate, clearValidate, updateSchema, setProps }] = useForm({
labelWidth: 100, labelWidth: 100,
schemas: formSchema, schemas: formSchema,
showActionButtonGroup: false, showActionButtonGroup: false,
@ -44,9 +44,15 @@
case 'add': case 'add':
props.title = '新增监听器'; props.title = '新增监听器';
break; break;
case 'view':
props.title = '查看监听器';
await setFieldsValue(await getListener(id));
await setProps({ disabled: true });
break;
case 'edit': case 'edit':
props.title = '编辑监听器'; props.title = '编辑监听器';
await setFieldsValue(await getListener(id)); await setFieldsValue(await getListener(id));
await setProps({ disabled: false });
break; break;
} }
// : // :

2
src/views/workflow/extension/listener/index.vue

@ -26,7 +26,7 @@
:actions="[ :actions="[
{ {
label: '查看', label: '查看',
icon: 'fa6-regular:pen-to-square', icon: 'fa6-solid:eye',
onClick: handleView.bind(null, record) onClick: handleView.bind(null, record)
}, },
{ {

1
src/views/workflow/extension/listener/listener.data.ts

@ -106,7 +106,6 @@ export const formSchema: FormSchema[] = [
options: [] options: []
} }
}, },
{ {
field: 'valueType', field: 'valueType',
label: '值类型', label: '值类型',

4
src/views/workflow/extension/workflowCopy/index.vue

@ -17,11 +17,11 @@
:actions="[ :actions="[
{ {
label: '查阅审批', label: '查阅审批',
icon: 'fa6-solid:bars-progress', icon: 'fa6-solid:eye',
onClick: handleViewAudit.bind(null, record) onClick: handleViewAudit.bind(null, record)
}, { }, {
label: '删除', label: '删除',
icon: 'fa-solid:toggle-on', icon: 'fa6-solid:trash',
onClick: handleDel.bind(null, record) onClick: handleDel.bind(null, record)
}]" }]"
/> />

Loading…
Cancel
Save