feat(mes):统一代码规范,form.vue 的

pull/348/head
YunaiV 2026-05-24 21:38:08 +08:00
parent 1edf29abeb
commit 19911a19c0
26 changed files with 78 additions and 12 deletions

View File

@ -38,6 +38,7 @@ const [Modal, modalApi] = useVbenModal({
const data = (await formApi.getValues()) as MesCalHolidayApi.Holiday & { dayDisplay?: string }; const data = (await formApi.getValues()) as MesCalHolidayApi.Holiday & { dayDisplay?: string };
try { try {
await saveHoliday({ day: data.day, type: data.type, remark: data.remark }); await saveHoliday({ day: data.day, type: data.type, remark: data.remark });
//
await modalApi.close(); await modalApi.close();
emit('success'); emit('success');
message.success('设置成功'); message.success('设置成功');

View File

@ -108,6 +108,7 @@ const [Modal, modalApi] = useVbenModal({
} }
await formApi.resetForm(); await formApi.resetForm();
subTabsName.value = 'shift'; subTabsName.value = 'shift';
//
const data = modalApi.getData<{ id?: number; type?: FormMode }>(); const data = modalApi.getData<{ id?: number; type?: FormMode }>();
formMode.value = data?.type || 'create'; formMode.value = data?.type || 'create';
formApi.setDisabled(formMode.value === 'detail'); formApi.setDisabled(formMode.value === 'detail');
@ -118,6 +119,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock(); modalApi.lock();
try { try {
formData.value = await getPlan(data.id); formData.value = await getPlan(data.id);
// values
await formApi.setValues(formData.value); await formApi.setValues(formData.value);
} finally { } finally {
modalApi.unlock(); modalApi.unlock();

View File

@ -84,6 +84,7 @@ const [Modal, modalApi] = useVbenModal({
} }
await formApi.resetForm(); await formApi.resetForm();
subTabsName.value = 'member'; subTabsName.value = 'member';
//
const data = modalApi.getData<{ id?: number; type?: FormMode }>(); const data = modalApi.getData<{ id?: number; type?: FormMode }>();
formMode.value = data?.type || 'create'; formMode.value = data?.type || 'create';
formApi.setDisabled(formMode.value === 'detail'); formApi.setDisabled(formMode.value === 'detail');
@ -94,6 +95,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock(); modalApi.lock();
try { try {
formData.value = await getTeam(data.id); formData.value = await getTeam(data.id);
// values
await formApi.setValues(formData.value); await formApi.setValues(formData.value);
} finally { } finally {
modalApi.unlock(); modalApi.unlock();

View File

@ -56,6 +56,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
modalApi.lock(); modalApi.lock();
//
const data = (await formApi.getValues()) as MesDvCheckPlanApi.CheckPlan; const data = (await formApi.getValues()) as MesDvCheckPlanApi.CheckPlan;
try { try {
if (formMode.value === 'create') { if (formMode.value === 'create') {
@ -80,6 +81,7 @@ const [Modal, modalApi] = useVbenModal({
} }
await formApi.resetForm(); await formApi.resetForm();
subTabsName.value = 'machinery'; subTabsName.value = 'machinery';
//
const data = modalApi.getData<{ id?: number; type?: FormMode }>(); const data = modalApi.getData<{ id?: number; type?: FormMode }>();
formMode.value = data?.type || 'create'; formMode.value = data?.type || 'create';
formApi.setDisabled(formMode.value === 'detail'); formApi.setDisabled(formMode.value === 'detail');
@ -90,6 +92,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock(); modalApi.lock();
try { try {
formData.value = await getCheckPlan(data.id); formData.value = await getCheckPlan(data.id);
// values
await formApi.setValues(formData.value); await formApi.setValues(formData.value);
} finally { } finally {
modalApi.unlock(); modalApi.unlock();

View File

@ -78,6 +78,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
modalApi.lock(); modalApi.lock();
//
const data = (await formApi.getValues()) as MesDvCheckRecordApi.CheckRecord; const data = (await formApi.getValues()) as MesDvCheckRecordApi.CheckRecord;
try { try {
if (formMode.value === 'create') { if (formMode.value === 'create') {
@ -101,6 +102,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
await formApi.resetForm(); await formApi.resetForm();
//
const data = modalApi.getData<{ id?: number; type?: FormMode }>(); const data = modalApi.getData<{ id?: number; type?: FormMode }>();
formMode.value = data?.type || 'create'; formMode.value = data?.type || 'create';
formApi.setDisabled(formMode.value === 'detail'); formApi.setDisabled(formMode.value === 'detail');
@ -111,6 +113,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock(); modalApi.lock();
try { try {
formData.value = await getCheckRecord(data.id); formData.value = await getCheckRecord(data.id);
// values
await formApi.setValues(formData.value); await formApi.setValues(formData.value);
} finally { } finally {
modalApi.unlock(); modalApi.unlock();

View File

@ -73,6 +73,7 @@ const [Modal, modalApi] = useVbenModal({
const data = (await formApi.getValues()) as MesDvMachineryApi.Machinery; const data = (await formApi.getValues()) as MesDvMachineryApi.Machinery;
try { try {
await (data.id ? updateMachinery(data) : createMachinery(data)); await (data.id ? updateMachinery(data) : createMachinery(data));
//
await modalApi.close(); await modalApi.close();
emit('success'); emit('success');
message.success($t('ui.actionMessage.operationSuccess')); message.success($t('ui.actionMessage.operationSuccess'));
@ -87,6 +88,7 @@ const [Modal, modalApi] = useVbenModal({
} }
await formApi.resetForm(); await formApi.resetForm();
subTabsName.value = 'check'; subTabsName.value = 'check';
//
const data = modalApi.getData<{ id?: number; type?: FormMode }>(); const data = modalApi.getData<{ id?: number; type?: FormMode }>();
formMode.value = data?.type || 'create'; formMode.value = data?.type || 'create';
formApi.setDisabled(formMode.value === 'detail'); formApi.setDisabled(formMode.value === 'detail');
@ -97,6 +99,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock(); modalApi.lock();
try { try {
formData.value = await getMachinery(data.id); formData.value = await getMachinery(data.id);
// values
await formApi.setValues(formData.value); await formApi.setValues(formData.value);
} finally { } finally {
modalApi.unlock(); modalApi.unlock();

View File

@ -45,6 +45,7 @@ const [Modal, modalApi] = useVbenModal({
text += `更新成功数量:${importData.updateCodes?.length || 0}`; text += `更新成功数量:${importData.updateCodes?.length || 0}`;
text += `更新失败数量:${Object.keys(importData.failureCodes || {}).length}`; text += `更新失败数量:${Object.keys(importData.failureCodes || {}).length}`;
message.info(text); message.info(text);
//
await modalApi.close(); await modalApi.close();
emit('success'); emit('success');
message.success($t('ui.actionMessage.operationSuccess')); message.success($t('ui.actionMessage.operationSuccess'));

View File

@ -1,7 +1,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import type { MesDvMachineryTypeApi } from '#/api/mes/dv/machinery/type'; import type { MesDvMachineryTypeApi } from '#/api/mes/dv/machinery/type';
import { computed } from 'vue'; import { computed, ref } from 'vue';
import { useVbenModal } from '@vben/common-ui'; import { useVbenModal } from '@vben/common-ui';
@ -19,8 +19,8 @@ import { useFormSchema } from '../data';
const emit = defineEmits(['success']); const emit = defineEmits(['success']);
let formMode: 'create' | 'update' = 'create'; const formMode = ref<'create' | 'update'>('create'); //
const getTitle = computed(() => (formMode === 'create' ? '新增设备类型' : '修改设备类型')); const getTitle = computed(() => (formMode.value === 'create' ? '新增设备类型' : '修改设备类型'));
const [Form, formApi] = useVbenForm({ const [Form, formApi] = useVbenForm({
commonConfig: { commonConfig: {
@ -62,7 +62,7 @@ const [Modal, modalApi] = useVbenModal({
} }
await formApi.resetForm(); await formApi.resetForm();
const data = modalApi.getData<{ id?: number; parentId?: number; type?: 'create' | 'update' }>(); const data = modalApi.getData<{ id?: number; parentId?: number; type?: 'create' | 'update' }>();
formMode = data?.type || 'create'; formMode.value = data?.type || 'create';
if (!data?.id) { if (!data?.id) {
await formApi.setValues({ parentId: data?.parentId ?? 0 }); await formApi.setValues({ parentId: data?.parentId ?? 0 });
return; return;

View File

@ -81,6 +81,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
modalApi.lock(); modalApi.lock();
//
const data = (await formApi.getValues()) as MesDvMaintenRecordApi.MaintenRecord; const data = (await formApi.getValues()) as MesDvMaintenRecordApi.MaintenRecord;
try { try {
if (formMode.value === 'create') { if (formMode.value === 'create') {
@ -108,6 +109,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
await formApi.resetForm(); await formApi.resetForm();
//
const data = modalApi.getData<{ id?: number; type?: FormMode }>(); const data = modalApi.getData<{ id?: number; type?: FormMode }>();
formMode.value = data?.type || 'create'; formMode.value = data?.type || 'create';
formApi.setDisabled(formMode.value === 'detail'); formApi.setDisabled(formMode.value === 'detail');
@ -119,6 +121,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock(); modalApi.lock();
try { try {
formData.value = await getMaintenRecord(data.id); formData.value = await getMaintenRecord(data.id);
// values
await formApi.setValues(formData.value); await formApi.setValues(formData.value);
} finally { } finally {
modalApi.unlock(); modalApi.unlock();

View File

@ -22,8 +22,10 @@ import { MesDvRepairResultEnum, MesDvRepairStatusEnum } from '#/views/mes/utils/
import { useFormSchema } from '../data'; import { useFormSchema } from '../data';
import LineList from './line-list.vue'; import LineList from './line-list.vue';
type FormMode = 'confirm' | 'create' | 'detail' | 'finish' | 'update';
const emit = defineEmits(['success']); const emit = defineEmits(['success']);
const formMode = ref<'confirm' | 'create' | 'detail' | 'finish' | 'update'>('create'); const formMode = ref<FormMode>('create');
const formData = ref<MesDvRepairApi.Repair>(); const formData = ref<MesDvRepairApi.Repair>();
const isDetail = computed(() => formMode.value === 'detail'); const isDetail = computed(() => formMode.value === 'detail');
const isReadonly = computed(() => ['confirm', 'detail', 'finish'].includes(formMode.value)); const isReadonly = computed(() => ['confirm', 'detail', 'finish'].includes(formMode.value));
@ -137,6 +139,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
modalApi.lock(); modalApi.lock();
//
const data = (await formApi.getValues()) as MesDvRepairApi.Repair; const data = (await formApi.getValues()) as MesDvRepairApi.Repair;
try { try {
if (formMode.value === 'create') { if (formMode.value === 'create') {
@ -160,7 +163,8 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
await formApi.resetForm(); await formApi.resetForm();
const data = modalApi.getData<{ id?: number; type?: 'confirm' | 'create' | 'detail' | 'finish' | 'update' }>(); //
const data = modalApi.getData<{ id?: number; type?: FormMode }>();
formMode.value = data?.type || 'create'; formMode.value = data?.type || 'create';
formApi.setDisabled(isReadonly.value); formApi.setDisabled(isReadonly.value);
modalApi.setState({ showConfirmButton: ['create', 'update'].includes(formMode.value) }); modalApi.setState({ showConfirmButton: ['create', 'update'].includes(formMode.value) });
@ -170,6 +174,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock(); modalApi.lock();
try { try {
formData.value = await getRepair(data.id); formData.value = await getRepair(data.id);
// values
await formApi.setValues(formData.value); await formApi.setValues(formData.value);
} finally { } finally {
modalApi.unlock(); modalApi.unlock();

View File

@ -55,6 +55,7 @@ const [Modal, modalApi] = useVbenModal({
const data = (await formApi.getValues()) as MesDvSubjectApi.Subject; const data = (await formApi.getValues()) as MesDvSubjectApi.Subject;
try { try {
await (data.id ? updateSubject(data) : createSubject(data)); await (data.id ? updateSubject(data) : createSubject(data));
//
await modalApi.close(); await modalApi.close();
emit('success'); emit('success');
message.success($t('ui.actionMessage.operationSuccess')); message.success($t('ui.actionMessage.operationSuccess'));
@ -67,6 +68,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
await formApi.resetForm(); await formApi.resetForm();
//
const data = modalApi.getData<{ id?: number; type?: FormMode }>(); const data = modalApi.getData<{ id?: number; type?: FormMode }>();
formMode.value = data?.type || 'create'; formMode.value = data?.type || 'create';
formApi.setDisabled(formMode.value === 'detail'); formApi.setDisabled(formMode.value === 'detail');

View File

@ -55,6 +55,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
modalApi.lock(); modalApi.lock();
//
const data = normalizeRuleData( const data = normalizeRuleData(
(await formApi.getValues()) as MesMdAutoCodeRuleApi.AutoCodeRule, (await formApi.getValues()) as MesMdAutoCodeRuleApi.AutoCodeRule,
); );
@ -62,6 +63,7 @@ const [Modal, modalApi] = useVbenModal({
await (formData.value?.id await (formData.value?.id
? updateAutoCodeRule(data) ? updateAutoCodeRule(data)
: createAutoCodeRule(data)); : createAutoCodeRule(data));
//
await modalApi.close(); await modalApi.close();
emit('success'); emit('success');
message.success($t('ui.actionMessage.operationSuccess')); message.success($t('ui.actionMessage.operationSuccess'));
@ -75,6 +77,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
await formApi.resetForm(); await formApi.resetForm();
//
const data = modalApi.getData<MesMdAutoCodeRuleApi.AutoCodeRule>(); const data = modalApi.getData<MesMdAutoCodeRuleApi.AutoCodeRule>();
if (!data?.id) { if (!data?.id) {
return; return;
@ -82,6 +85,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock(); modalApi.lock();
try { try {
formData.value = await getAutoCodeRule(data.id); formData.value = await getAutoCodeRule(data.id);
// values
await formApi.setValues(formData.value); await formApi.setValues(formData.value);
} finally { } finally {
modalApi.unlock(); modalApi.unlock();

View File

@ -65,6 +65,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
modalApi.lock(); modalApi.lock();
//
const data = normalizePartData( const data = normalizePartData(
(await formApi.getValues()) as MesMdAutoCodePartApi.AutoCodePart, (await formApi.getValues()) as MesMdAutoCodePartApi.AutoCodePart,
); );
@ -72,6 +73,7 @@ const [Modal, modalApi] = useVbenModal({
await (formData.value?.id await (formData.value?.id
? updateAutoCodePart(data) ? updateAutoCodePart(data)
: createAutoCodePart(data)); : createAutoCodePart(data));
//
await modalApi.close(); await modalApi.close();
emit('success'); emit('success');
message.success($t('ui.actionMessage.operationSuccess')); message.success($t('ui.actionMessage.operationSuccess'));
@ -85,6 +87,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
await formApi.resetForm(); await formApi.resetForm();
//
const data = modalApi.getData<{ const data = modalApi.getData<{
id?: number; id?: number;
maxSort?: number; maxSort?: number;
@ -100,6 +103,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock(); modalApi.lock();
try { try {
formData.value = await getAutoCodePart(data.id); formData.value = await getAutoCodePart(data.id);
// values
await formApi.setValues(formData.value); await formApi.setValues(formData.value);
} finally { } finally {
modalApi.unlock(); modalApi.unlock();

View File

@ -38,6 +38,7 @@ const [Modal, modalApi] = useVbenModal({
const data = (await formApi.getValues()) as MesCalHolidayApi.Holiday & { dayDisplay?: string }; const data = (await formApi.getValues()) as MesCalHolidayApi.Holiday & { dayDisplay?: string };
try { try {
await saveHoliday({ day: data.day, type: data.type, remark: data.remark }); await saveHoliday({ day: data.day, type: data.type, remark: data.remark });
//
await modalApi.close(); await modalApi.close();
emit('success'); emit('success');
ElMessage.success('设置成功'); ElMessage.success('设置成功');

View File

@ -109,6 +109,7 @@ const [Modal, modalApi] = useVbenModal({
} }
await formApi.resetForm(); await formApi.resetForm();
subTabsName.value = 'shift'; subTabsName.value = 'shift';
//
const data = modalApi.getData<{ id?: number; type?: FormMode }>(); const data = modalApi.getData<{ id?: number; type?: FormMode }>();
formMode.value = data?.type || 'create'; formMode.value = data?.type || 'create';
formApi.setDisabled(formMode.value === 'detail'); formApi.setDisabled(formMode.value === 'detail');
@ -119,6 +120,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock(); modalApi.lock();
try { try {
formData.value = await getPlan(data.id); formData.value = await getPlan(data.id);
// values
await formApi.setValues(formData.value); await formApi.setValues(formData.value);
} finally { } finally {
modalApi.unlock(); modalApi.unlock();

View File

@ -84,6 +84,7 @@ const [Modal, modalApi] = useVbenModal({
} }
await formApi.resetForm(); await formApi.resetForm();
subTabsName.value = 'member'; subTabsName.value = 'member';
//
const data = modalApi.getData<{ id?: number; type?: FormMode }>(); const data = modalApi.getData<{ id?: number; type?: FormMode }>();
formMode.value = data?.type || 'create'; formMode.value = data?.type || 'create';
formApi.setDisabled(formMode.value === 'detail'); formApi.setDisabled(formMode.value === 'detail');
@ -94,6 +95,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock(); modalApi.lock();
try { try {
formData.value = await getTeam(data.id); formData.value = await getTeam(data.id);
// values
await formApi.setValues(formData.value); await formApi.setValues(formData.value);
} finally { } finally {
modalApi.unlock(); modalApi.unlock();

View File

@ -56,6 +56,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
modalApi.lock(); modalApi.lock();
//
const data = (await formApi.getValues()) as MesDvCheckPlanApi.CheckPlan; const data = (await formApi.getValues()) as MesDvCheckPlanApi.CheckPlan;
try { try {
if (formMode.value === 'create') { if (formMode.value === 'create') {
@ -80,6 +81,7 @@ const [Modal, modalApi] = useVbenModal({
} }
await formApi.resetForm(); await formApi.resetForm();
subTabsName.value = 'machinery'; subTabsName.value = 'machinery';
//
const data = modalApi.getData<{ id?: number; type?: FormMode }>(); const data = modalApi.getData<{ id?: number; type?: FormMode }>();
formMode.value = data?.type || 'create'; formMode.value = data?.type || 'create';
formApi.setDisabled(formMode.value === 'detail'); formApi.setDisabled(formMode.value === 'detail');
@ -90,6 +92,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock(); modalApi.lock();
try { try {
formData.value = await getCheckPlan(data.id); formData.value = await getCheckPlan(data.id);
// values
await formApi.setValues(formData.value); await formApi.setValues(formData.value);
} finally { } finally {
modalApi.unlock(); modalApi.unlock();

View File

@ -78,6 +78,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
modalApi.lock(); modalApi.lock();
//
const data = (await formApi.getValues()) as MesDvCheckRecordApi.CheckRecord; const data = (await formApi.getValues()) as MesDvCheckRecordApi.CheckRecord;
try { try {
if (formMode.value === 'create') { if (formMode.value === 'create') {
@ -101,6 +102,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
await formApi.resetForm(); await formApi.resetForm();
//
const data = modalApi.getData<{ id?: number; type?: FormMode }>(); const data = modalApi.getData<{ id?: number; type?: FormMode }>();
formMode.value = data?.type || 'create'; formMode.value = data?.type || 'create';
formApi.setDisabled(formMode.value === 'detail'); formApi.setDisabled(formMode.value === 'detail');
@ -111,6 +113,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock(); modalApi.lock();
try { try {
formData.value = await getCheckRecord(data.id); formData.value = await getCheckRecord(data.id);
// values
await formApi.setValues(formData.value); await formApi.setValues(formData.value);
} finally { } finally {
modalApi.unlock(); modalApi.unlock();

View File

@ -73,6 +73,7 @@ const [Modal, modalApi] = useVbenModal({
const data = (await formApi.getValues()) as MesDvMachineryApi.Machinery; const data = (await formApi.getValues()) as MesDvMachineryApi.Machinery;
try { try {
await (data.id ? updateMachinery(data) : createMachinery(data)); await (data.id ? updateMachinery(data) : createMachinery(data));
//
await modalApi.close(); await modalApi.close();
emit('success'); emit('success');
ElMessage.success($t('ui.actionMessage.operationSuccess')); ElMessage.success($t('ui.actionMessage.operationSuccess'));
@ -87,6 +88,7 @@ const [Modal, modalApi] = useVbenModal({
} }
await formApi.resetForm(); await formApi.resetForm();
subTabsName.value = 'check'; subTabsName.value = 'check';
//
const data = modalApi.getData<{ id?: number; type?: FormMode }>(); const data = modalApi.getData<{ id?: number; type?: FormMode }>();
formMode.value = data?.type || 'create'; formMode.value = data?.type || 'create';
formApi.setDisabled(formMode.value === 'detail'); formApi.setDisabled(formMode.value === 'detail');
@ -97,6 +99,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock(); modalApi.lock();
try { try {
formData.value = await getMachinery(data.id); formData.value = await getMachinery(data.id);
// values
await formApi.setValues(formData.value); await formApi.setValues(formData.value);
} finally { } finally {
modalApi.unlock(); modalApi.unlock();

View File

@ -45,6 +45,7 @@ const [Modal, modalApi] = useVbenModal({
text += `更新成功数量:${importData.updateCodes?.length || 0}`; text += `更新成功数量:${importData.updateCodes?.length || 0}`;
text += `更新失败数量:${Object.keys(importData.failureCodes || {}).length}`; text += `更新失败数量:${Object.keys(importData.failureCodes || {}).length}`;
ElMessage.info(text); ElMessage.info(text);
//
await modalApi.close(); await modalApi.close();
emit('success'); emit('success');
ElMessage.success($t('ui.actionMessage.operationSuccess')); ElMessage.success($t('ui.actionMessage.operationSuccess'));

View File

@ -1,7 +1,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import type { MesDvMachineryTypeApi } from '#/api/mes/dv/machinery/type'; import type { MesDvMachineryTypeApi } from '#/api/mes/dv/machinery/type';
import { computed } from 'vue'; import { computed, ref } from 'vue';
import { useVbenModal } from '@vben/common-ui'; import { useVbenModal } from '@vben/common-ui';
@ -19,8 +19,8 @@ import { useFormSchema } from '../data';
const emit = defineEmits(['success']); const emit = defineEmits(['success']);
let formMode: 'create' | 'update' = 'create'; const formMode = ref<'create' | 'update'>('create'); //
const getTitle = computed(() => (formMode === 'create' ? '新增设备类型' : '修改设备类型')); const getTitle = computed(() => (formMode.value === 'create' ? '新增设备类型' : '修改设备类型'));
const [Form, formApi] = useVbenForm({ const [Form, formApi] = useVbenForm({
commonConfig: { commonConfig: {
@ -62,7 +62,7 @@ const [Modal, modalApi] = useVbenModal({
} }
await formApi.resetForm(); await formApi.resetForm();
const data = modalApi.getData<{ id?: number; parentId?: number; type?: 'create' | 'update' }>(); const data = modalApi.getData<{ id?: number; parentId?: number; type?: 'create' | 'update' }>();
formMode = data?.type || 'create'; formMode.value = data?.type || 'create';
if (!data?.id) { if (!data?.id) {
await formApi.setValues({ parentId: data?.parentId ?? 0 }); await formApi.setValues({ parentId: data?.parentId ?? 0 });
return; return;

View File

@ -81,6 +81,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
modalApi.lock(); modalApi.lock();
//
const data = (await formApi.getValues()) as MesDvMaintenRecordApi.MaintenRecord; const data = (await formApi.getValues()) as MesDvMaintenRecordApi.MaintenRecord;
try { try {
if (formMode.value === 'create') { if (formMode.value === 'create') {
@ -108,6 +109,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
await formApi.resetForm(); await formApi.resetForm();
//
const data = modalApi.getData<{ id?: number; type?: FormMode }>(); const data = modalApi.getData<{ id?: number; type?: FormMode }>();
formMode.value = data?.type || 'create'; formMode.value = data?.type || 'create';
formApi.setDisabled(formMode.value === 'detail'); formApi.setDisabled(formMode.value === 'detail');
@ -119,6 +121,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock(); modalApi.lock();
try { try {
formData.value = await getMaintenRecord(data.id); formData.value = await getMaintenRecord(data.id);
// values
await formApi.setValues(formData.value); await formApi.setValues(formData.value);
} finally { } finally {
modalApi.unlock(); modalApi.unlock();

View File

@ -22,8 +22,10 @@ import { MesDvRepairResultEnum, MesDvRepairStatusEnum } from '#/views/mes/utils/
import { useFormSchema } from '../data'; import { useFormSchema } from '../data';
import LineList from './line-list.vue'; import LineList from './line-list.vue';
type FormMode = 'confirm' | 'create' | 'detail' | 'finish' | 'update';
const emit = defineEmits(['success']); const emit = defineEmits(['success']);
const formMode = ref<'confirm' | 'create' | 'detail' | 'finish' | 'update'>('create'); const formMode = ref<FormMode>('create');
const formData = ref<MesDvRepairApi.Repair>(); const formData = ref<MesDvRepairApi.Repair>();
const isDetail = computed(() => formMode.value === 'detail'); const isDetail = computed(() => formMode.value === 'detail');
const isReadonly = computed(() => ['confirm', 'detail', 'finish'].includes(formMode.value)); const isReadonly = computed(() => ['confirm', 'detail', 'finish'].includes(formMode.value));
@ -137,6 +139,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
modalApi.lock(); modalApi.lock();
//
const data = (await formApi.getValues()) as MesDvRepairApi.Repair; const data = (await formApi.getValues()) as MesDvRepairApi.Repair;
try { try {
if (formMode.value === 'create') { if (formMode.value === 'create') {
@ -160,7 +163,8 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
await formApi.resetForm(); await formApi.resetForm();
const data = modalApi.getData<{ id?: number; type?: 'confirm' | 'create' | 'detail' | 'finish' | 'update' }>(); //
const data = modalApi.getData<{ id?: number; type?: FormMode }>();
formMode.value = data?.type || 'create'; formMode.value = data?.type || 'create';
formApi.setDisabled(isReadonly.value); formApi.setDisabled(isReadonly.value);
modalApi.setState({ showConfirmButton: ['create', 'update'].includes(formMode.value) }); modalApi.setState({ showConfirmButton: ['create', 'update'].includes(formMode.value) });
@ -170,6 +174,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock(); modalApi.lock();
try { try {
formData.value = await getRepair(data.id); formData.value = await getRepair(data.id);
// values
await formApi.setValues(formData.value); await formApi.setValues(formData.value);
} finally { } finally {
modalApi.unlock(); modalApi.unlock();

View File

@ -55,6 +55,7 @@ const [Modal, modalApi] = useVbenModal({
const data = (await formApi.getValues()) as MesDvSubjectApi.Subject; const data = (await formApi.getValues()) as MesDvSubjectApi.Subject;
try { try {
await (data.id ? updateSubject(data) : createSubject(data)); await (data.id ? updateSubject(data) : createSubject(data));
//
await modalApi.close(); await modalApi.close();
emit('success'); emit('success');
ElMessage.success($t('ui.actionMessage.operationSuccess')); ElMessage.success($t('ui.actionMessage.operationSuccess'));
@ -67,6 +68,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
await formApi.resetForm(); await formApi.resetForm();
//
const data = modalApi.getData<{ id?: number; type?: FormMode }>(); const data = modalApi.getData<{ id?: number; type?: FormMode }>();
formMode.value = data?.type || 'create'; formMode.value = data?.type || 'create';
formApi.setDisabled(formMode.value === 'detail'); formApi.setDisabled(formMode.value === 'detail');

View File

@ -55,6 +55,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
modalApi.lock(); modalApi.lock();
//
const data = normalizeRuleData( const data = normalizeRuleData(
(await formApi.getValues()) as MesMdAutoCodeRuleApi.AutoCodeRule, (await formApi.getValues()) as MesMdAutoCodeRuleApi.AutoCodeRule,
); );
@ -62,6 +63,7 @@ const [Modal, modalApi] = useVbenModal({
await (formData.value?.id await (formData.value?.id
? updateAutoCodeRule(data) ? updateAutoCodeRule(data)
: createAutoCodeRule(data)); : createAutoCodeRule(data));
//
await modalApi.close(); await modalApi.close();
emit('success'); emit('success');
ElMessage.success($t('ui.actionMessage.operationSuccess')); ElMessage.success($t('ui.actionMessage.operationSuccess'));
@ -75,6 +77,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
await formApi.resetForm(); await formApi.resetForm();
//
const data = modalApi.getData<MesMdAutoCodeRuleApi.AutoCodeRule>(); const data = modalApi.getData<MesMdAutoCodeRuleApi.AutoCodeRule>();
if (!data?.id) { if (!data?.id) {
return; return;
@ -82,6 +85,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock(); modalApi.lock();
try { try {
formData.value = await getAutoCodeRule(data.id); formData.value = await getAutoCodeRule(data.id);
// values
await formApi.setValues(formData.value); await formApi.setValues(formData.value);
} finally { } finally {
modalApi.unlock(); modalApi.unlock();

View File

@ -65,6 +65,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
modalApi.lock(); modalApi.lock();
//
const data = normalizePartData( const data = normalizePartData(
(await formApi.getValues()) as MesMdAutoCodePartApi.AutoCodePart, (await formApi.getValues()) as MesMdAutoCodePartApi.AutoCodePart,
); );
@ -72,6 +73,7 @@ const [Modal, modalApi] = useVbenModal({
await (formData.value?.id await (formData.value?.id
? updateAutoCodePart(data) ? updateAutoCodePart(data)
: createAutoCodePart(data)); : createAutoCodePart(data));
//
await modalApi.close(); await modalApi.close();
emit('success'); emit('success');
ElMessage.success($t('ui.actionMessage.operationSuccess')); ElMessage.success($t('ui.actionMessage.operationSuccess'));
@ -85,6 +87,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
await formApi.resetForm(); await formApi.resetForm();
//
const data = modalApi.getData<{ const data = modalApi.getData<{
id?: number; id?: number;
maxSort?: number; maxSort?: number;
@ -100,6 +103,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock(); modalApi.lock();
try { try {
formData.value = await getAutoCodePart(data.id); formData.value = await getAutoCodePart(data.id);
// values
await formApi.setValues(formData.value); await formApi.setValues(formData.value);
} finally { } finally {
modalApi.unlock(); modalApi.unlock();