style: lint格式化文件
This commit is contained in:
@ -1,87 +1,79 @@
|
||||
<template>
|
||||
<div>
|
||||
<component
|
||||
:is="componentName"
|
||||
ref="SystemFormRef"
|
||||
:fromPage="FromPageType.DESKTOP"
|
||||
@loadingCompleted="loadingCompleted"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<component :is="componentName" ref="SystemFormRef" :fromPage="FromPageType.DESKTOP" @loadingCompleted="loadingCompleted" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, computed, defineAsyncComponent, reactive } from 'vue';
|
||||
import { FromPageType } from '/@/enums/workflowEnum';
|
||||
import { notification } from 'ant-design-vue';
|
||||
import { useI18n } from '/@/hooks/web/useI18n';
|
||||
const { t } = useI18n();
|
||||
const props = defineProps({
|
||||
systemComponent: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
return {
|
||||
functionalModule: '',
|
||||
functionName: '',
|
||||
functionFormName: '',
|
||||
};
|
||||
},
|
||||
},
|
||||
formModel: {
|
||||
type: Object,
|
||||
},
|
||||
});
|
||||
const SystemFormRef = ref();
|
||||
const dataConfig = reactive({
|
||||
PkKey: '',
|
||||
PKValue: '',
|
||||
formModel: {},
|
||||
});
|
||||
const componentName = computed(() => {
|
||||
if (!props.systemComponent.functionName) {
|
||||
return defineAsyncComponent({
|
||||
loader: () => import('./Empty.vue'),
|
||||
});
|
||||
}
|
||||
return defineAsyncComponent({
|
||||
loader: () =>
|
||||
import(
|
||||
`./../../../views/${props.systemComponent.functionalModule}/${props.systemComponent.functionName}/components/Form.vue`
|
||||
),
|
||||
import { ref, computed, defineAsyncComponent, reactive } from 'vue';
|
||||
import { FromPageType } from '/@/enums/workflowEnum';
|
||||
import { notification } from 'ant-design-vue';
|
||||
import { useI18n } from '/@/hooks/web/useI18n';
|
||||
const { t } = useI18n();
|
||||
const props = defineProps({
|
||||
systemComponent: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
return {
|
||||
functionalModule: '',
|
||||
functionName: '',
|
||||
functionFormName: ''
|
||||
};
|
||||
}
|
||||
},
|
||||
formModel: {
|
||||
type: Object
|
||||
}
|
||||
});
|
||||
});
|
||||
function loadingCompleted() {
|
||||
dataConfig.PkKey = SystemFormRef.value.getRowKey();
|
||||
if (props.formModel) dataConfig.PKValue = props.formModel[dataConfig.PkKey];
|
||||
if (dataConfig.PKValue) {
|
||||
SystemFormRef.value.setFormDataFromId(dataConfig.PKValue);
|
||||
const SystemFormRef = ref();
|
||||
const dataConfig = reactive({
|
||||
PkKey: '',
|
||||
PKValue: '',
|
||||
formModel: {}
|
||||
});
|
||||
const componentName = computed(() => {
|
||||
if (!props.systemComponent.functionName) {
|
||||
return defineAsyncComponent({
|
||||
loader: () => import('./Empty.vue')
|
||||
});
|
||||
}
|
||||
return defineAsyncComponent({
|
||||
loader: () => import(`./../../../views/${props.systemComponent.functionalModule}/${props.systemComponent.functionName}/components/Form.vue`)
|
||||
});
|
||||
});
|
||||
function loadingCompleted() {
|
||||
dataConfig.PkKey = SystemFormRef.value.getRowKey();
|
||||
if (props.formModel) dataConfig.PKValue = props.formModel[dataConfig.PkKey];
|
||||
if (dataConfig.PKValue) {
|
||||
SystemFormRef.value.setFormDataFromId(dataConfig.PKValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
async function submit() {
|
||||
let saveValId = '';
|
||||
let values = await SystemFormRef.value.validate();
|
||||
let rowKey = SystemFormRef.value.getRowKey();
|
||||
if (dataConfig.PKValue) {
|
||||
let rowId = dataConfig.PKValue;
|
||||
// 编辑
|
||||
await SystemFormRef.value.update({ values, rowId });
|
||||
saveValId = values[rowKey];
|
||||
notification.success({
|
||||
message: t('提示'),
|
||||
description: t('编辑成功!'),
|
||||
}); //提示消息
|
||||
} else {
|
||||
// 新增
|
||||
saveValId = await SystemFormRef.value.add(values);
|
||||
notification.success({
|
||||
message: t('提示'),
|
||||
description: t('新增成功!'),
|
||||
}); //提示消息
|
||||
async function submit() {
|
||||
let saveValId = '';
|
||||
let values = await SystemFormRef.value.validate();
|
||||
let rowKey = SystemFormRef.value.getRowKey();
|
||||
if (dataConfig.PKValue) {
|
||||
let rowId = dataConfig.PKValue;
|
||||
// 编辑
|
||||
await SystemFormRef.value.update({ values, rowId });
|
||||
saveValId = values[rowKey];
|
||||
notification.success({
|
||||
message: t('提示'),
|
||||
description: t('编辑成功!')
|
||||
}); //提示消息
|
||||
} else {
|
||||
// 新增
|
||||
saveValId = await SystemFormRef.value.add(values);
|
||||
notification.success({
|
||||
message: t('提示'),
|
||||
description: t('新增成功!')
|
||||
}); //提示消息
|
||||
}
|
||||
return saveValId;
|
||||
}
|
||||
return saveValId;
|
||||
}
|
||||
defineExpose({
|
||||
submit,
|
||||
});
|
||||
defineExpose({
|
||||
submit
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div> 数据缺失 </div>
|
||||
<div> 数据缺失 </div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts"></script>
|
||||
|
||||
@ -1,307 +1,277 @@
|
||||
<template>
|
||||
<div v-if="visible" class="system-form">
|
||||
<component
|
||||
:is="componentName"
|
||||
v-if="visible"
|
||||
ref="SystemFormRef"
|
||||
:fromPage="FromPageType.FLOW"
|
||||
@loadingCompleted="loadingCompleted"
|
||||
@changeUploadComponentIds="changeUploadComponentIds"
|
||||
/>
|
||||
</div>
|
||||
<div v-else>
|
||||
<SimpleForm
|
||||
class="form-box"
|
||||
ref="SystemFormRef"
|
||||
:formProps="formProps"
|
||||
:formModel="workflowConfig.formModel"
|
||||
:isWorkFlow="true"
|
||||
:isCamelCase="true"
|
||||
/>
|
||||
</div>
|
||||
<div v-if="visible" class="system-form">
|
||||
<component :is="componentName" v-if="visible" ref="SystemFormRef" :fromPage="FromPageType.FLOW" @loadingCompleted="loadingCompleted" @changeUploadComponentIds="changeUploadComponentIds" />
|
||||
</div>
|
||||
<div v-else>
|
||||
<SimpleForm class="form-box" ref="SystemFormRef" :formProps="formProps" :formModel="workflowConfig.formModel" :isWorkFlow="true" :isCamelCase="true" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted, computed, defineAsyncComponent, reactive,inject } from 'vue';
|
||||
import {ApproveCode, FromPageType} from '/@/enums/workflowEnum';
|
||||
import SimpleForm from '/@/components/SimpleForm/src/SimpleForm.vue';
|
||||
import { GeneratorConfig } from '/@/model/generator/generatorConfig';
|
||||
import { createFormEvent, loadFormEvent } from '/@/hooks/web/useFormEvent';
|
||||
import { changeFormJson } from '/@/hooks/web/useWorkFlowForm';
|
||||
import { useUserStore } from '/@/store/modules/user';
|
||||
import {message} from "ant-design-vue";
|
||||
const userStore = useUserStore();
|
||||
const userInfo = userStore.getUserInfo;
|
||||
import { ref, onMounted, computed, defineAsyncComponent, reactive, inject } from 'vue';
|
||||
import { ApproveCode, FromPageType } from '/@/enums/workflowEnum';
|
||||
import SimpleForm from '/@/components/SimpleForm/src/SimpleForm.vue';
|
||||
import { GeneratorConfig } from '/@/model/generator/generatorConfig';
|
||||
import { createFormEvent, loadFormEvent } from '/@/hooks/web/useFormEvent';
|
||||
import { changeFormJson } from '/@/hooks/web/useWorkFlowForm';
|
||||
import { useUserStore } from '/@/store/modules/user';
|
||||
import { message } from 'ant-design-vue';
|
||||
const userStore = useUserStore();
|
||||
const userInfo = userStore.getUserInfo;
|
||||
|
||||
const props = defineProps({
|
||||
systemComponent: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
return {
|
||||
functionalModule: '',
|
||||
functionName: '',
|
||||
functionFormName: '',
|
||||
};
|
||||
},
|
||||
},
|
||||
workflowConfig: {
|
||||
//工作流表单配置
|
||||
type: Object,
|
||||
default: () => {
|
||||
return {
|
||||
formName: '',
|
||||
formProps: {},
|
||||
formModel: {},
|
||||
formKey: '',
|
||||
validate: true,
|
||||
workflowPermissions: [],
|
||||
opinions: [],
|
||||
opinionsComponents: [],
|
||||
formJson: [],
|
||||
};
|
||||
},
|
||||
},
|
||||
isViewProcess: {
|
||||
//是否查看表单
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
});
|
||||
const approvalData = ref(null);
|
||||
const SystemFormRef = ref();
|
||||
const visible = ref(false);
|
||||
const formProps = ref({});
|
||||
const flowConfig = reactive({
|
||||
draftsFormData: {},
|
||||
uploadComponentIds: [], // 所有上传文件的文件夹id 【因为流程需要统计每个节点的附件汇总】
|
||||
isOldSystem: false,
|
||||
});
|
||||
const componentName = computed(() => {
|
||||
if (!props.systemComponent.functionName) {
|
||||
return defineAsyncComponent({
|
||||
loader: () => import('./Empty.vue'),
|
||||
});
|
||||
}
|
||||
return defineAsyncComponent({
|
||||
loader: () =>
|
||||
import(
|
||||
`./../../../views/${props.systemComponent.functionalModule}/${props.systemComponent.functionName}/components/Form.vue`
|
||||
),
|
||||
onError: async function () {
|
||||
flowConfig.isOldSystem = true;
|
||||
const {
|
||||
formJson: newJson,
|
||||
formModel,
|
||||
formKey,
|
||||
workflowPermissions,
|
||||
opinions,
|
||||
opinionsComponents,
|
||||
} = props.workflowConfig;
|
||||
const model = JSON.parse(newJson) as GeneratorConfig;
|
||||
const { formJson, formEventConfig } = model;
|
||||
if (formEventConfig) {
|
||||
// forms.formEventConfigs.push(formEventConfig);
|
||||
|
||||
//初始化表单
|
||||
await createFormEvent(formEventConfig, formModel, true);
|
||||
//加载表单
|
||||
await loadFormEvent(formEventConfig, formModel, true);
|
||||
|
||||
//TODO 暂不放开 工作流没有获取表单数据这个步骤 获取表单数据
|
||||
// getFormDataEvent(formEventConfig, formModels,true);
|
||||
const props = defineProps({
|
||||
systemComponent: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
return {
|
||||
functionalModule: '',
|
||||
functionName: '',
|
||||
functionFormName: ''
|
||||
};
|
||||
}
|
||||
},
|
||||
workflowConfig: {
|
||||
//工作流表单配置
|
||||
type: Object,
|
||||
default: () => {
|
||||
return {
|
||||
formName: '',
|
||||
formProps: {},
|
||||
formModel: {},
|
||||
formKey: '',
|
||||
validate: true,
|
||||
workflowPermissions: [],
|
||||
opinions: [],
|
||||
opinionsComponents: [],
|
||||
formJson: []
|
||||
};
|
||||
}
|
||||
},
|
||||
isViewProcess: {
|
||||
//是否查看表单
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
|
||||
let isViewProcess = props.isViewProcess;
|
||||
let { buildOptionJson, uploadComponentIds } = changeFormJson(
|
||||
{
|
||||
formJson,
|
||||
formConfigChildren: workflowPermissions,
|
||||
formConfigKey: formKey,
|
||||
opinions: opinions,
|
||||
opinionsComponents: opinionsComponents,
|
||||
},
|
||||
isViewProcess,
|
||||
flowConfig.uploadComponentIds,
|
||||
);
|
||||
flowConfig.uploadComponentIds = uploadComponentIds;
|
||||
if (buildOptionJson.schemas) {
|
||||
formProps.value = buildOptionJson;
|
||||
}
|
||||
visible.value = false;
|
||||
},
|
||||
});
|
||||
});
|
||||
const approvalData = ref(null);
|
||||
const SystemFormRef = ref();
|
||||
const visible = ref(false);
|
||||
const formProps = ref({});
|
||||
const flowConfig = reactive({
|
||||
draftsFormData: {},
|
||||
uploadComponentIds: [], // 所有上传文件的文件夹id 【因为流程需要统计每个节点的附件汇总】
|
||||
isOldSystem: false
|
||||
});
|
||||
const componentName = computed(() => {
|
||||
if (!props.systemComponent.functionName) {
|
||||
return defineAsyncComponent({
|
||||
loader: () => import('./Empty.vue')
|
||||
});
|
||||
}
|
||||
return defineAsyncComponent({
|
||||
loader: () => import(`./../../../views/${props.systemComponent.functionalModule}/${props.systemComponent.functionName}/components/Form.vue`),
|
||||
onError: async function () {
|
||||
flowConfig.isOldSystem = true;
|
||||
const { formJson: newJson, formModel, formKey, workflowPermissions, opinions, opinionsComponents } = props.workflowConfig;
|
||||
const model = JSON.parse(newJson) as GeneratorConfig;
|
||||
const { formJson, formEventConfig } = model;
|
||||
if (formEventConfig) {
|
||||
// forms.formEventConfigs.push(formEventConfig);
|
||||
|
||||
onMounted(() => {
|
||||
visible.value = true;
|
||||
approvalData.value = inject("approvalData");
|
||||
});
|
||||
//初始化表单
|
||||
await createFormEvent(formEventConfig, formModel, true);
|
||||
//加载表单
|
||||
await loadFormEvent(formEventConfig, formModel, true);
|
||||
|
||||
//
|
||||
function loadingCompleted() {
|
||||
SystemFormRef.value.setWorkFlowForm({
|
||||
formConfigChildren: props.workflowConfig.workflowPermissions,
|
||||
formConfigKey: props.workflowConfig.formKey,
|
||||
opinions: props.workflowConfig.opinions,
|
||||
opinionsComponents: props.workflowConfig.opinionsComponents,
|
||||
isViewProcess: props.isViewProcess,
|
||||
uploadIds: flowConfig.uploadComponentIds,
|
||||
formModels: props.workflowConfig.formModel,
|
||||
//TODO 暂不放开 工作流没有获取表单数据这个步骤 获取表单数据
|
||||
// getFormDataEvent(formEventConfig, formModels,true);
|
||||
}
|
||||
|
||||
let isViewProcess = props.isViewProcess;
|
||||
let { buildOptionJson, uploadComponentIds } = changeFormJson(
|
||||
{
|
||||
formJson,
|
||||
formConfigChildren: workflowPermissions,
|
||||
formConfigKey: formKey,
|
||||
opinions: opinions,
|
||||
opinionsComponents: opinionsComponents
|
||||
},
|
||||
isViewProcess,
|
||||
flowConfig.uploadComponentIds
|
||||
);
|
||||
flowConfig.uploadComponentIds = uploadComponentIds;
|
||||
if (buildOptionJson.schemas) {
|
||||
formProps.value = buildOptionJson;
|
||||
}
|
||||
visible.value = false;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// 草稿箱处理
|
||||
if (
|
||||
'{}' == JSON.stringify(props.workflowConfig.formModel) &&
|
||||
'{}' != JSON.stringify(flowConfig.draftsFormData)
|
||||
) {
|
||||
SystemFormRef.value.setFieldsValue(flowConfig.draftsFormData);
|
||||
}
|
||||
}
|
||||
function changeUploadComponentIds(ids) {
|
||||
flowConfig.uploadComponentIds = ids;
|
||||
}
|
||||
function validate() {
|
||||
return SystemFormRef.value.validate();
|
||||
}
|
||||
function getRowKey() {
|
||||
return SystemFormRef.value.getRowKey();
|
||||
}
|
||||
function getUploadComponentIds() {
|
||||
return flowConfig.uploadComponentIds;
|
||||
}
|
||||
function getIsOldSystem() {
|
||||
return flowConfig.isOldSystem;
|
||||
}
|
||||
async function setFieldsValue(record) {
|
||||
flowConfig.draftsFormData = record;
|
||||
SystemFormRef.value?.setFieldsValue(record);
|
||||
}
|
||||
async function getFieldsValue(){
|
||||
return SystemFormRef.value.getFieldsValue();
|
||||
}
|
||||
async function getFormModels() {
|
||||
try {
|
||||
return (SystemFormRef.value?.getFormModel && SystemFormRef.value?.getFormModel()) || await validate()
|
||||
} catch (error) {
|
||||
throw new Error(error);
|
||||
}
|
||||
}
|
||||
async function getValue(){
|
||||
let values = null;
|
||||
if(approvalData.value?.approvedResult === ApproveCode.FINISH){
|
||||
//终止的单据不走校验逻辑直接更新
|
||||
try{
|
||||
//有些旧表单可能没有生成getFieldsValue
|
||||
values = await SystemFormRef.value.getFieldsValue();
|
||||
}catch (e){}
|
||||
}
|
||||
if(values === null){
|
||||
values = await SystemFormRef.value.validate();
|
||||
}
|
||||
//添加一个flowAction标志用于合同单号回收
|
||||
values.flowAction = approvalData.value?.approvedResult;
|
||||
return values;
|
||||
}
|
||||
async function workflowSubmit(saveRowKey) {
|
||||
try {
|
||||
let values = await getValue();
|
||||
// 提交表单
|
||||
if (visible.value) {
|
||||
let id = await submit(saveRowKey);
|
||||
if(!id) {
|
||||
throw new Error(`提交表单失败`);
|
||||
onMounted(() => {
|
||||
visible.value = true;
|
||||
approvalData.value = inject('approvalData');
|
||||
});
|
||||
|
||||
//
|
||||
function loadingCompleted() {
|
||||
SystemFormRef.value.setWorkFlowForm({
|
||||
formConfigChildren: props.workflowConfig.workflowPermissions,
|
||||
formConfigKey: props.workflowConfig.formKey,
|
||||
opinions: props.workflowConfig.opinions,
|
||||
opinionsComponents: props.workflowConfig.opinionsComponents,
|
||||
isViewProcess: props.isViewProcess,
|
||||
uploadIds: flowConfig.uploadComponentIds,
|
||||
formModels: props.workflowConfig.formModel
|
||||
});
|
||||
|
||||
// 草稿箱处理
|
||||
if ('{}' == JSON.stringify(props.workflowConfig.formModel) && '{}' != JSON.stringify(flowConfig.draftsFormData)) {
|
||||
SystemFormRef.value.setFieldsValue(flowConfig.draftsFormData);
|
||||
}
|
||||
let rowKey = getRowKey();
|
||||
values[rowKey] = id;
|
||||
values['_id'] = id;
|
||||
//重新查一遍
|
||||
let newValues=await SystemFormRef.value.setFormDataFromId(id);
|
||||
if(newValues){
|
||||
values=newValues;
|
||||
} else {
|
||||
throw new Error(`获取表单失败`);
|
||||
}
|
||||
function changeUploadComponentIds(ids) {
|
||||
flowConfig.uploadComponentIds = ids;
|
||||
}
|
||||
function validate() {
|
||||
return SystemFormRef.value.validate();
|
||||
}
|
||||
function getRowKey() {
|
||||
return SystemFormRef.value.getRowKey();
|
||||
}
|
||||
function getUploadComponentIds() {
|
||||
return flowConfig.uploadComponentIds;
|
||||
}
|
||||
function getIsOldSystem() {
|
||||
return flowConfig.isOldSystem;
|
||||
}
|
||||
async function setFieldsValue(record) {
|
||||
flowConfig.draftsFormData = record;
|
||||
SystemFormRef.value?.setFieldsValue(record);
|
||||
}
|
||||
async function getFieldsValue() {
|
||||
return SystemFormRef.value.getFieldsValue();
|
||||
}
|
||||
async function getFormModels() {
|
||||
try {
|
||||
return (SystemFormRef.value?.getFormModel && SystemFormRef.value?.getFormModel()) || (await validate());
|
||||
} catch (error) {
|
||||
throw new Error(error);
|
||||
}
|
||||
}
|
||||
|
||||
return values;
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
throw new Error(error);
|
||||
}
|
||||
}
|
||||
|
||||
async function submit(saveRowKey) {
|
||||
try {
|
||||
let saveValId = '';
|
||||
let values = await SystemFormRef.value.validate();
|
||||
let rowKey = getRowKey();
|
||||
if (props.workflowConfig.formModel[rowKey]) {
|
||||
values[rowKey] = props.workflowConfig.formModel[rowKey];
|
||||
}
|
||||
if (values[rowKey]) {
|
||||
// 编辑
|
||||
let res = await SystemFormRef.value.update({ values, rowId: values[rowKey] });
|
||||
if(!res) {
|
||||
throw new Error(`提交表单失败`);
|
||||
async function getValue() {
|
||||
let values = null;
|
||||
if (approvalData.value?.approvedResult === ApproveCode.FINISH) {
|
||||
//终止的单据不走校验逻辑直接更新
|
||||
try {
|
||||
//有些旧表单可能没有生成getFieldsValue
|
||||
values = await SystemFormRef.value.getFieldsValue();
|
||||
} catch (e) {}
|
||||
}
|
||||
saveValId = values[rowKey];
|
||||
} else {
|
||||
// 新增
|
||||
saveValId = await SystemFormRef.value.add(values);
|
||||
if (saveRowKey) {
|
||||
// 把rowKey写回去,新建流程的时候防止取消了重复提交
|
||||
props.workflowConfig.formModel[rowKey] = saveValId;
|
||||
if (values === null) {
|
||||
values = await SystemFormRef.value.validate();
|
||||
}
|
||||
}
|
||||
return saveValId;
|
||||
} catch(e) {
|
||||
//添加一个flowAction标志用于合同单号回收
|
||||
values.flowAction = approvalData.value?.approvedResult;
|
||||
return values;
|
||||
}
|
||||
|
||||
}
|
||||
async function workflowSubmit(saveRowKey) {
|
||||
try {
|
||||
let values = await getValue();
|
||||
// 提交表单
|
||||
if (visible.value) {
|
||||
let id = await submit(saveRowKey);
|
||||
if (!id) {
|
||||
throw new Error(`提交表单失败`);
|
||||
}
|
||||
let rowKey = getRowKey();
|
||||
values[rowKey] = id;
|
||||
values['_id'] = id;
|
||||
//重新查一遍
|
||||
let newValues = await SystemFormRef.value.setFormDataFromId(id);
|
||||
if (newValues) {
|
||||
values = newValues;
|
||||
} else {
|
||||
throw new Error(`获取表单失败`);
|
||||
}
|
||||
}
|
||||
|
||||
async function setDisabledForm(isDisabled) {
|
||||
return SystemFormRef.value.setDisabledForm(isDisabled);
|
||||
}
|
||||
|
||||
async function resetFields(){
|
||||
return SystemFormRef.value.resetFields();
|
||||
}
|
||||
|
||||
async function handleDelete(id) {
|
||||
let ret;
|
||||
try {
|
||||
if(!SystemFormRef.value?.handleDelete) {
|
||||
throw new Error(`表单未配置删除`);
|
||||
}
|
||||
ret = await SystemFormRef.value.handleDelete(id);
|
||||
} catch (e) {
|
||||
throw new Error(e);
|
||||
return values;
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
throw new Error(error);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
function handleInnerFun(funcName) {
|
||||
if(!SystemFormRef.value?.[funcName]) {
|
||||
message.error(`表单未配置${funcName}方法`);
|
||||
return
|
||||
}
|
||||
SystemFormRef.value[funcName]()
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
workflowSubmit,
|
||||
getRowKey,
|
||||
validate,
|
||||
getUploadComponentIds,
|
||||
resetFields,
|
||||
setFieldsValue,
|
||||
getFieldsValue,
|
||||
getIsOldSystem,
|
||||
setDisabledForm,
|
||||
handleDelete,
|
||||
getFormModels,
|
||||
handleInnerFun
|
||||
});
|
||||
async function submit(saveRowKey) {
|
||||
try {
|
||||
let saveValId = '';
|
||||
let values = await SystemFormRef.value.validate();
|
||||
let rowKey = getRowKey();
|
||||
if (props.workflowConfig.formModel[rowKey]) {
|
||||
values[rowKey] = props.workflowConfig.formModel[rowKey];
|
||||
}
|
||||
if (values[rowKey]) {
|
||||
// 编辑
|
||||
let res = await SystemFormRef.value.update({ values, rowId: values[rowKey] });
|
||||
if (!res) {
|
||||
throw new Error(`提交表单失败`);
|
||||
}
|
||||
saveValId = values[rowKey];
|
||||
} else {
|
||||
// 新增
|
||||
saveValId = await SystemFormRef.value.add(values);
|
||||
if (saveRowKey) {
|
||||
// 把rowKey写回去,新建流程的时候防止取消了重复提交
|
||||
props.workflowConfig.formModel[rowKey] = saveValId;
|
||||
}
|
||||
}
|
||||
return saveValId;
|
||||
} catch (e) {}
|
||||
}
|
||||
|
||||
async function setDisabledForm(isDisabled) {
|
||||
return SystemFormRef.value.setDisabledForm(isDisabled);
|
||||
}
|
||||
|
||||
async function resetFields() {
|
||||
return SystemFormRef.value.resetFields();
|
||||
}
|
||||
|
||||
async function handleDelete(id) {
|
||||
let ret;
|
||||
try {
|
||||
if (!SystemFormRef.value?.handleDelete) {
|
||||
throw new Error(`表单未配置删除`);
|
||||
}
|
||||
ret = await SystemFormRef.value.handleDelete(id);
|
||||
} catch (e) {
|
||||
throw new Error(e);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
function handleInnerFun(funcName) {
|
||||
if (!SystemFormRef.value?.[funcName]) {
|
||||
message.error(`表单未配置${funcName}方法`);
|
||||
return;
|
||||
}
|
||||
SystemFormRef.value[funcName]();
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
workflowSubmit,
|
||||
getRowKey,
|
||||
validate,
|
||||
getUploadComponentIds,
|
||||
resetFields,
|
||||
setFieldsValue,
|
||||
getFieldsValue,
|
||||
getIsOldSystem,
|
||||
setDisabledForm,
|
||||
handleDelete,
|
||||
getFormModels,
|
||||
handleInnerFun
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
||||
|
||||
@ -1,51 +1,43 @@
|
||||
<template>
|
||||
<div v-if="visible" class="preview-box">
|
||||
<component
|
||||
:is="componentName"
|
||||
v-if="visible"
|
||||
ref="SystemForm"
|
||||
:fromPage="FromPageType.PREVIEW"
|
||||
/>
|
||||
</div>
|
||||
<div v-if="visible" class="preview-box">
|
||||
<component :is="componentName" v-if="visible" ref="SystemForm" :fromPage="FromPageType.PREVIEW" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted, computed, defineAsyncComponent } from 'vue';
|
||||
import { FromPageType } from '/@/enums/workflowEnum';
|
||||
const props = defineProps({
|
||||
systemComponent: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
return {
|
||||
functionalModule: '',
|
||||
functionName: '',
|
||||
functionFormName: '',
|
||||
};
|
||||
},
|
||||
},
|
||||
});
|
||||
const visible = ref(false);
|
||||
const componentName = computed(() => {
|
||||
if (!props.systemComponent.functionName) {
|
||||
return defineAsyncComponent({
|
||||
loader: () => import('./Empty.vue'),
|
||||
});
|
||||
}
|
||||
return defineAsyncComponent({
|
||||
loader: () =>
|
||||
import(
|
||||
`./../../../views/${props.systemComponent.functionalModule}/${props.systemComponent.functionName}/components/Form.vue`
|
||||
),
|
||||
import { ref, onMounted, computed, defineAsyncComponent } from 'vue';
|
||||
import { FromPageType } from '/@/enums/workflowEnum';
|
||||
const props = defineProps({
|
||||
systemComponent: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
return {
|
||||
functionalModule: '',
|
||||
functionName: '',
|
||||
functionFormName: ''
|
||||
};
|
||||
}
|
||||
}
|
||||
});
|
||||
const visible = ref(false);
|
||||
const componentName = computed(() => {
|
||||
if (!props.systemComponent.functionName) {
|
||||
return defineAsyncComponent({
|
||||
loader: () => import('./Empty.vue')
|
||||
});
|
||||
}
|
||||
return defineAsyncComponent({
|
||||
loader: () => import(`./../../../views/${props.systemComponent.functionalModule}/${props.systemComponent.functionName}/components/Form.vue`)
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
visible.value = true;
|
||||
});
|
||||
onMounted(() => {
|
||||
visible.value = true;
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.preview-box {
|
||||
padding: 10px 20px;
|
||||
}
|
||||
.preview-box {
|
||||
padding: 10px 20px;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user