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,
|
||||
});
|
||||
|
||||
@@ -404,6 +404,9 @@
|
||||
title: '发起流程',
|
||||
payload: { record },
|
||||
deptOptions: getResponsibleDeptOptions(record),
|
||||
showSuoleaderFields: true,
|
||||
isNeedAppro: record?.isNeedAppro,
|
||||
supDeptleaderid: record?.supDeptleaderid,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -440,6 +443,11 @@
|
||||
const formatDate = (value, format) => {
|
||||
return value ? dateUtil(value).format(format) : undefined;
|
||||
};
|
||||
const flowJsonData = {
|
||||
...record,
|
||||
isNeedAppro: options.isNeedAppro ?? record.isNeedAppro ?? '',
|
||||
supDeptleaderid: options.supDeptleaderid ?? record.supDeptleaderid ?? '',
|
||||
};
|
||||
|
||||
const params = {
|
||||
intervalType: options.intervalType,
|
||||
@@ -452,7 +460,7 @@
|
||||
flowCode: FLOW_CODE,
|
||||
formUrl: FORM_URL,
|
||||
flowName: FLOW_NAME,
|
||||
jsonData: record,
|
||||
jsonData: flowJsonData,
|
||||
//台账相关字段
|
||||
businessTablename: BUSINESS_TABLE_NAME,
|
||||
businessId: record.id,
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
<j-switch v-model:value="formData.isNeedAppro" ></j-switch>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-col v-if="showSupDeptLeader" :span="12">
|
||||
<a-form-item label="所办领导" v-bind="validateInfos.supDeptleaderid" id="BgPartymatterForm-supDeptleaderid" name="supDeptleaderid">
|
||||
<j-select-user v-model:value="formData.supDeptleaderid" allow-clear />
|
||||
</a-form-item>
|
||||
@@ -120,7 +120,7 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ref, reactive, defineExpose, nextTick, defineProps, computed, onMounted } from 'vue';
|
||||
import { ref, reactive, defineExpose, nextTick, defineProps, computed, onMounted, watch } from 'vue';
|
||||
import { defHttp } from '/@/utils/http/axios';
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
import JSwitch from '/@/components/Form/src/jeecg/components/JSwitch.vue';
|
||||
@@ -155,6 +155,7 @@
|
||||
deadline: '',
|
||||
urgencyLevel: '1',
|
||||
isNeedAppro: '',
|
||||
supDeptleaderid: '',
|
||||
isNeedSuoleader: '',
|
||||
suoleaderid: '',
|
||||
delFlag: '',
|
||||
@@ -202,6 +203,17 @@
|
||||
return props.formDisabled;
|
||||
});
|
||||
|
||||
const showSupDeptLeader = computed(() => String(formData.isNeedAppro) !== '0');
|
||||
|
||||
watch(
|
||||
() => formData.isNeedAppro,
|
||||
(value) => {
|
||||
if (String(value) === '1') {
|
||||
formData.supDeptleaderid = '';
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
onMounted(()=>{
|
||||
initFormData();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user