yxk-20260509-党委会发起流程
发起流程的时候,还应该显示是否抄送所办领导,抄送所办领导字段,并且支持修改,修改后发起流程时需要带入到jsonData中 并且仅当前组件需要选择
This commit is contained in:
@@ -27,6 +27,20 @@
|
||||
/>
|
||||
</a-form-item>
|
||||
|
||||
<template v-if="showSuoleaderFields">
|
||||
<a-form-item label="是否抄送所办领导">
|
||||
<j-switch v-model:value="formData.isNeedAppro" />
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="抄送所办领导">
|
||||
<j-select-user
|
||||
v-model:value="formData.supDeptleaderid"
|
||||
:disabled="String(formData.isNeedAppro) !== '1'"
|
||||
allow-clear
|
||||
/>
|
||||
</a-form-item>
|
||||
</template>
|
||||
|
||||
<template v-if="formData.triggerMode === 'recurring'">
|
||||
<a-form-item label="重复周期">
|
||||
<JDictSelectTag
|
||||
@@ -68,15 +82,20 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { reactive, ref } from 'vue';
|
||||
import { reactive, ref, watch } from 'vue';
|
||||
import JModal from '/src/components/Modal/src/JModal/JModal.vue';
|
||||
import JDictSelectTag from '/src/components/Form/src/jeecg/components/JDictSelectTag.vue';
|
||||
import JSwitch from '/src/components/Form/src/jeecg/components/JSwitch.vue';
|
||||
import JSelectUser from '/src/components/Form/src/jeecg/components/JSelectUser.vue';
|
||||
import { useMessage } from '/src/hooks/web/useMessage';
|
||||
|
||||
interface ModalPayload {
|
||||
title?: string;
|
||||
payload?: Record<string, any>;
|
||||
deptOptions?: DeptOption[];
|
||||
showSuoleaderFields?: boolean;
|
||||
isNeedAppro?: string | number;
|
||||
supDeptleaderid?: string | string[];
|
||||
}
|
||||
|
||||
interface DeptOption {
|
||||
@@ -91,12 +110,15 @@
|
||||
const visible = ref(false);
|
||||
const contextData = ref<Record<string, any>>({});
|
||||
const deptOptions = ref<DeptOption[]>([]);
|
||||
const showSuoleaderFields = ref(false);
|
||||
const formData = reactive({
|
||||
triggerMode: 'immediate',
|
||||
intervalType: undefined as number | string | undefined,
|
||||
startCount: undefined as number | undefined,
|
||||
intervalStartTime: undefined as string | undefined,
|
||||
deptIds: [] as string[],
|
||||
isNeedAppro: '0',
|
||||
supDeptleaderid: '' as string | string[],
|
||||
});
|
||||
|
||||
function resetForm() {
|
||||
@@ -105,7 +127,10 @@
|
||||
formData.startCount = undefined;
|
||||
formData.intervalStartTime = undefined;
|
||||
formData.deptIds = [];
|
||||
formData.isNeedAppro = '0';
|
||||
formData.supDeptleaderid = '';
|
||||
deptOptions.value = [];
|
||||
showSuoleaderFields.value = false;
|
||||
}
|
||||
|
||||
function normalizeDeptOptions(options: DeptOption[] = []) {
|
||||
@@ -129,6 +154,12 @@
|
||||
contextData.value = data.payload || {};
|
||||
deptOptions.value = normalizeDeptOptions(data.deptOptions || []);
|
||||
formData.deptIds = deptOptions.value.map((item) => item.value);
|
||||
showSuoleaderFields.value = !!data.showSuoleaderFields;
|
||||
formData.isNeedAppro = String(data.isNeedAppro ?? '0');
|
||||
formData.supDeptleaderid = data.supDeptleaderid || '';
|
||||
if (String(formData.isNeedAppro) !== '1') {
|
||||
formData.supDeptleaderid = '';
|
||||
}
|
||||
visible.value = true;
|
||||
}
|
||||
|
||||
@@ -165,11 +196,22 @@
|
||||
intervalStartTime: formData.triggerMode === 'recurring' ? formData.intervalStartTime : undefined,
|
||||
deptId: formData.deptIds.join(','),
|
||||
deptIds: [...formData.deptIds],
|
||||
isNeedAppro: showSuoleaderFields.value ? formData.isNeedAppro : undefined,
|
||||
supDeptleaderid: showSuoleaderFields.value ? (String(formData.isNeedAppro) === '1' ? formData.supDeptleaderid : '') : undefined,
|
||||
},
|
||||
});
|
||||
handleCancel();
|
||||
}
|
||||
|
||||
watch(
|
||||
() => formData.isNeedAppro,
|
||||
(value) => {
|
||||
if (String(value) !== '1') {
|
||||
formData.supDeptleaderid = '';
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
defineExpose({
|
||||
open,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user