refactor: 统一表单 schema 挂载与 resetForm 处理
parent
2d1325f11a
commit
d3233c4bb4
|
|
@ -100,7 +100,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
},
|
||||
async onOpenChange(isOpen: boolean) {
|
||||
if (!isOpen) {
|
||||
await formApi.resetForm();
|
||||
return;
|
||||
}
|
||||
// 加载数据
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import type { VbenFormSchema } from '#/adapter/form';
|
||||
import type { VbenFormApi, VbenFormSchema } from '#/adapter/form';
|
||||
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
||||
import type { IotProductApi } from '#/api/iot/product/product';
|
||||
|
||||
|
|
@ -14,7 +14,7 @@ import { getSimpleProductCategoryList } from '#/api/iot/product/category';
|
|||
|
||||
/** 基础表单字段(不含图标、图片、描述) */
|
||||
export function useBasicFormSchema(
|
||||
formApi?: any,
|
||||
formApi?: VbenFormApi,
|
||||
generateProductKey?: () => string,
|
||||
): VbenFormSchema[] {
|
||||
return [
|
||||
|
|
|
|||
|
|
@ -60,9 +60,6 @@ const [AdvancedForm, advancedFormApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 基础表单需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useBasicFormSchema(formApi, generateProductKey) });
|
||||
|
||||
/** 获取高级表单的值(如果表单未挂载,则从 formData 中获取) */
|
||||
async function getAdvancedFormValues() {
|
||||
if (advancedFormApi.isMounted) {
|
||||
|
|
@ -106,6 +103,9 @@ const [Modal, modalApi] = useVbenModal({
|
|||
activeKey.value = [];
|
||||
return;
|
||||
}
|
||||
formApi.setState({
|
||||
schema: useBasicFormSchema(formApi, generateProductKey),
|
||||
});
|
||||
// 加载数据
|
||||
const data = modalApi.getData<IotProductApi.Product>();
|
||||
if (!data || !data.id) {
|
||||
|
|
|
|||
|
|
@ -69,7 +69,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
async onOpenChange(isOpen: boolean) {
|
||||
if (!isOpen) {
|
||||
formData.value = undefined;
|
||||
await formApi.resetForm();
|
||||
sourceConfigRef.value?.setData([]);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -134,7 +134,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
if (!isOpen) {
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import type {
|
|||
SpuProperty,
|
||||
} from '#/views/mall/product/spu/components';
|
||||
|
||||
import { computed, nextTick, ref } from 'vue';
|
||||
import { computed, ref } from 'vue';
|
||||
|
||||
import { useVbenForm, useVbenModal } from '@vben/common-ui';
|
||||
import { PromotionDiscountTypeEnum } from '@vben/constants';
|
||||
|
|
@ -213,13 +213,11 @@ function handleSkuDiscountPercentChange(row: SkuExtension) {
|
|||
}
|
||||
|
||||
/** 重置表单 */
|
||||
async function resetForm() {
|
||||
function resetForm() {
|
||||
spuList.value = [];
|
||||
spuPropertyList.value = [];
|
||||
spuIdList.value = [];
|
||||
formData.value = {};
|
||||
await nextTick();
|
||||
await formApi.resetForm();
|
||||
}
|
||||
|
||||
// ================= 弹窗相关 =================
|
||||
|
|
@ -264,7 +262,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
},
|
||||
async onOpenChange(isOpen: boolean) {
|
||||
if (!isOpen) {
|
||||
await resetForm();
|
||||
resetForm();
|
||||
return;
|
||||
}
|
||||
// 加载数据
|
||||
|
|
|
|||
|
|
@ -50,7 +50,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
if (!isOpen) {
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
const data = modalApi.getData<{ day: string }>();
|
||||
if (!data?.day) {
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -49,9 +49,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
/** 确认排班计划 */
|
||||
async function handleConfirmPlan() {
|
||||
const { valid } = await formApi.validate();
|
||||
|
|
@ -106,7 +103,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
subTabsName.value = 'shift';
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
|
|
|
|||
|
|
@ -45,9 +45,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
if (isDetail.value) {
|
||||
|
|
@ -82,7 +79,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
subTabsName.value = 'member';
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
|
|
|
|||
|
|
@ -44,9 +44,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
if (isDetail.value) {
|
||||
|
|
@ -81,7 +78,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
subTabsName.value = 'machinery';
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
|
|
|
|||
|
|
@ -103,7 +103,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
formType.value = data.formType;
|
||||
|
|
|
|||
|
|
@ -47,9 +47,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formType.value, formApi) });
|
||||
|
||||
/** 查看设备条码 */
|
||||
function handleBarcode() {
|
||||
if (!formData.value?.id) {
|
||||
|
|
@ -91,7 +88,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
subTabsName.value = 'check';
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
|
|
|
|||
|
|
@ -38,9 +38,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
const { valid } = await formApi.validate();
|
||||
|
|
@ -67,7 +64,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
// 加载数据
|
||||
const data = modalApi.getData<MesDvMachineryTypeApi.MachineryType>();
|
||||
if (!data || !data.id) {
|
||||
|
|
|
|||
|
|
@ -110,7 +110,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
formType.value = data.formType;
|
||||
|
|
|
|||
|
|
@ -57,9 +57,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
/** 提交维修工单 */
|
||||
async function handleSubmit() {
|
||||
const { valid } = await formApi.validate();
|
||||
|
|
@ -164,7 +161,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
formType.value = data.formType;
|
||||
|
|
|
|||
|
|
@ -39,9 +39,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
if (isDetail.value) {
|
||||
|
|
@ -69,7 +66,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
if (!isOpen) {
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
formType.value = data.formType;
|
||||
|
|
|
|||
|
|
@ -76,7 +76,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
// 加载数据
|
||||
const data = modalApi.getData<MesMdAutoCodeRuleApi.AutoCodeRule>();
|
||||
if (!data?.id) {
|
||||
|
|
|
|||
|
|
@ -86,7 +86,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{
|
||||
id?: number;
|
||||
|
|
|
|||
|
|
@ -44,9 +44,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
if (isDetail.value) {
|
||||
|
|
@ -75,7 +72,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
subTabsName.value = 'productSalesLine';
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
|
|
|
|||
|
|
@ -52,9 +52,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
/** 查看物料条码 */
|
||||
function handleBarcode() {
|
||||
if (!formData.value?.id) {
|
||||
|
|
@ -103,7 +100,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
subTabsName.value = 'bom';
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
|
|
|
|||
|
|
@ -38,9 +38,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
const { valid } = await formApi.validate();
|
||||
|
|
@ -65,7 +62,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
// 加载数据
|
||||
const data = modalApi.getData<MesMdItemTypeApi.ItemType>();
|
||||
if (!data || !data.id) {
|
||||
|
|
|
|||
|
|
@ -68,7 +68,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
// 加载数据
|
||||
const data = modalApi.getData<MesMdUnitMeasureApi.UnitMeasure>();
|
||||
if (!data || !data.id) {
|
||||
|
|
|
|||
|
|
@ -46,9 +46,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
if (isDetail.value) {
|
||||
|
|
@ -77,7 +74,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
subTabsName.value = 'itemReceiptLine';
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
|
|
|
|||
|
|
@ -52,9 +52,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
/** 查看工作站条码 */
|
||||
function handleBarcode() {
|
||||
if (!formData.value?.id) {
|
||||
|
|
@ -102,7 +99,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
subTabsName.value = 'machine';
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
|
|
|
|||
|
|
@ -48,9 +48,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
/** 查看车间条码 */
|
||||
function handleBarcode() {
|
||||
if (!formData.value?.id) {
|
||||
|
|
@ -92,7 +89,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
formType.value = data.formType;
|
||||
|
|
|
|||
|
|
@ -49,9 +49,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formType.value, formApi) });
|
||||
|
||||
/** 处置:保存(保持 ACTIVE 状态) */
|
||||
async function handleSave() {
|
||||
modalApi.lock();
|
||||
|
|
@ -136,7 +133,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formType.value = data.formType;
|
||||
formApi.setState({ schema: useFormSchema(formType.value, formApi) });
|
||||
modalApi.setState({ showConfirmButton: formType.value === 'create' });
|
||||
await formApi.resetForm();
|
||||
if (formType.value === 'create') {
|
||||
// 新增时,发起人默认为当前用户
|
||||
await formApi.setValues({ userId: userStore.userInfo?.id });
|
||||
|
|
|
|||
|
|
@ -82,9 +82,6 @@ const [Form, formApi] = useVbenForm({
|
|||
wrapperClass: 'grid-cols-3',
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formType.value, formApi) });
|
||||
|
||||
/** 提交前对齐数量:根据 checkFlag 决定 uncheck/合格/不良归零策略 */
|
||||
function alignQuantity(data: MesProFeedbackApi.Feedback) {
|
||||
if (data.checkFlag) {
|
||||
|
|
@ -239,7 +236,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
showConfirmButton:
|
||||
formType.value !== 'detail' && formType.value !== 'approve',
|
||||
});
|
||||
await formApi.resetForm();
|
||||
if (!data?.id) {
|
||||
// 新增:默认报工人和报工时间,并自动生成报工单号
|
||||
const code = await generateAutoCode(
|
||||
|
|
|
|||
|
|
@ -65,7 +65,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{
|
||||
id?: number;
|
||||
|
|
|
|||
|
|
@ -48,9 +48,6 @@ const [Form, formApi] = useVbenForm({
|
|||
wrapperClass: 'grid-cols-3',
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用(生成编码按钮),所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
if (isDetail.value) {
|
||||
|
|
@ -79,7 +76,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
formType.value = data.formType;
|
||||
|
|
|
|||
|
|
@ -78,7 +78,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{
|
||||
id?: number;
|
||||
|
|
|
|||
|
|
@ -44,9 +44,6 @@ const [Form, formApi] = useVbenForm({
|
|||
wrapperClass: 'grid-cols-2',
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用(生成编码按钮),所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
if (isDetail.value) {
|
||||
|
|
@ -82,7 +79,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
subTab.value = 'process';
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
|
|
|
|||
|
|
@ -81,7 +81,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
// 工序下拉依赖远程数据,schema 在弹窗打开时再生成
|
||||
const schema = await loadSchema();
|
||||
formApi.setState({ schema });
|
||||
await formApi.resetForm();
|
||||
} finally {
|
||||
modalApi.unlock();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -83,7 +83,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{
|
||||
id?: number;
|
||||
|
|
|
|||
|
|
@ -34,9 +34,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用(生成编码按钮),所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
const { valid } = await formApi.validate();
|
||||
|
|
@ -61,7 +58,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
// 加载数据
|
||||
const data = modalApi.getData<MesQcDefectApi.Defect>();
|
||||
if (!data || !data.id) {
|
||||
|
|
|
|||
|
|
@ -38,9 +38,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用(生成编码、跨字段联动),所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
const { valid } = await formApi.validate();
|
||||
|
|
@ -67,7 +64,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
// 加载数据
|
||||
const data = modalApi.getData<MesQcIndicatorApi.Indicator>();
|
||||
if (!data || !data.id) {
|
||||
|
|
|
|||
|
|
@ -49,9 +49,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用(生成编码按钮),所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
if (formType.value === 'detail') {
|
||||
|
|
@ -80,7 +77,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
subTabsName.value = 'indicator';
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
|
|
|
|||
|
|
@ -69,7 +69,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
// 加载数据
|
||||
const data = modalApi.getData<
|
||||
MesQcTemplateIndicatorApi.TemplateIndicator & { templateId: number }
|
||||
|
|
|
|||
|
|
@ -68,7 +68,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
// 加载数据
|
||||
const data = modalApi.getData<
|
||||
MesQcTemplateItemApi.TemplateItem & { templateId: number }
|
||||
|
|
|
|||
|
|
@ -46,9 +46,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
/** 查看工具条码 */
|
||||
function handleBarcode() {
|
||||
if (!formData.value?.id) {
|
||||
|
|
@ -90,7 +87,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
formType.value = data.formType;
|
||||
|
|
|
|||
|
|
@ -43,9 +43,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
if (isDetail.value) {
|
||||
|
|
@ -74,7 +71,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
formType.value = data.formType;
|
||||
|
|
|
|||
|
|
@ -141,6 +141,8 @@ export const MesAutoCodeRuleCode = {
|
|||
PRO_WORK_ORDER_CODE: 'PRO_WORK_ORDER_CODE',
|
||||
QC_DEFECT_CODE: 'QC_DEFECT_CODE',
|
||||
QC_INDICATOR_CODE: 'QC_INDICATOR_CODE',
|
||||
QC_INDICATOR_RESULT_CODE: 'QC_INDICATOR_RESULT_CODE',
|
||||
QC_IQC_CODE: 'QC_IQC_CODE',
|
||||
QC_TEMPLATE_CODE: 'QC_TEMPLATE_CODE',
|
||||
TM_TOOL_TYPE_CODE: 'TM_TOOL_TYPE_CODE',
|
||||
TM_TOOL_CODE: 'TM_TOOL_CODE',
|
||||
|
|
@ -215,6 +217,47 @@ export const MesQcResultValueType = {
|
|||
FILE: 5,
|
||||
} as const;
|
||||
|
||||
/** MES 业务类型常量 */
|
||||
export const MesBizTypeEnum = {
|
||||
// WM 仓库模块 [100, 200)
|
||||
WM_ARRIVAL_NOTICE: 100, // 到货通知单
|
||||
WM_RETURN_ISSUE: 116, // 生产退料
|
||||
WM_PRODUCT_SALES: 118, // 销售出库
|
||||
WM_RETURN_SALES: 119, // 销售退货入库
|
||||
WM_OUTSOURCE_RECPT: 121, // 外协入库
|
||||
|
||||
// PRO 生产模块 [300, 400)
|
||||
PRO_FEEDBACK: 304, // 生产报工
|
||||
} as const;
|
||||
|
||||
/** MES 质检来源单据类型枚举 */
|
||||
export const MesQcSourceDocTypeEnum = {
|
||||
// IQC
|
||||
ARRIVAL_NOTICE: MesBizTypeEnum.WM_ARRIVAL_NOTICE,
|
||||
OUTSOURCE_RECPT: MesBizTypeEnum.WM_OUTSOURCE_RECPT,
|
||||
// IPQC
|
||||
PRO_FEEDBACK: MesBizTypeEnum.PRO_FEEDBACK,
|
||||
// OQC
|
||||
PRODUCT_SALES: MesBizTypeEnum.WM_PRODUCT_SALES,
|
||||
// RQC
|
||||
RETURN_ISSUE: MesBizTypeEnum.WM_RETURN_ISSUE,
|
||||
RETURN_SALES: MesBizTypeEnum.WM_RETURN_SALES,
|
||||
} as const;
|
||||
|
||||
/** MES 质检类型枚举 */
|
||||
export const MesQcTypeEnum = {
|
||||
IQC: 1, // 来料检验
|
||||
IPQC: 2, // 过程检验
|
||||
OQC: 3, // 出货检验
|
||||
RQC: 4, // 退货检验
|
||||
} as const;
|
||||
|
||||
/** MES 质检单状态枚举 */
|
||||
export const MesQcStatusEnum = {
|
||||
DRAFT: MesOrderStatusConstants.DRAFT,
|
||||
FINISHED: MesOrderStatusConstants.FINISHED,
|
||||
} as const;
|
||||
|
||||
/** MES 编码规则分段类型枚举 */
|
||||
export const MesAutoCodePartTypeEnum = {
|
||||
INPUT: 1,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import type { VbenFormSchema } from '#/adapter/form';
|
||||
import type { VbenFormApi, VbenFormSchema } from '#/adapter/form';
|
||||
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
||||
|
||||
import { h } from 'vue';
|
||||
|
|
@ -9,7 +9,7 @@ import { z } from '#/adapter/form';
|
|||
import { generateWmsCode } from '#/views/wms/utils/constants';
|
||||
|
||||
/** 新增/修改商品品牌的表单 */
|
||||
export function useFormSchema(formApi?: any): VbenFormSchema[] {
|
||||
export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||
return [
|
||||
{
|
||||
component: 'Input',
|
||||
|
|
|
|||
|
|
@ -39,9 +39,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
const { valid } = await formApi.validate();
|
||||
|
|
@ -66,7 +63,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
const data = modalApi.getData<WmsItemBrandApi.ItemBrand>();
|
||||
if (!data || !data.id) {
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import type { VbenFormSchema } from '#/adapter/form';
|
||||
import type { VbenFormApi, VbenFormSchema } from '#/adapter/form';
|
||||
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
||||
import type { WmsItemCategoryApi } from '#/api/wms/md/item/category';
|
||||
|
||||
|
|
@ -15,7 +15,7 @@ import { getItemCategorySimpleList } from '#/api/wms/md/item/category';
|
|||
import { generateWmsCode } from '#/views/wms/utils/constants';
|
||||
|
||||
/** 新增/修改商品分类的表单 */
|
||||
export function useFormSchema(formApi?: any): VbenFormSchema[] {
|
||||
export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||
return [
|
||||
{
|
||||
fieldName: 'id',
|
||||
|
|
|
|||
|
|
@ -41,9 +41,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
const { valid } = await formApi.validate();
|
||||
|
|
@ -70,7 +67,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
const data = modalApi.getData<WmsItemCategoryApi.ItemCategory>();
|
||||
if (!data || !data.id) {
|
||||
formData.value = data;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import type { VbenFormSchema } from '#/adapter/form';
|
||||
import type { VbenFormApi, VbenFormSchema } from '#/adapter/form';
|
||||
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
||||
|
||||
import { h, markRaw } from 'vue';
|
||||
|
|
@ -13,7 +13,7 @@ import { WmsItemBrandSelect } from './brand/components';
|
|||
import { WmsItemCategorySelect } from './category/components';
|
||||
|
||||
/** 新增/修改商品的表单 */
|
||||
export function useFormSchema(formApi?: any): VbenFormSchema[] {
|
||||
export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||
return [
|
||||
{
|
||||
component: 'Input',
|
||||
|
|
|
|||
|
|
@ -38,9 +38,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
async function resetSkuForm(item?: WmsItemApi.Item) {
|
||||
await nextTick();
|
||||
await skuFormRef.value?.setRows(item?.skus);
|
||||
|
|
@ -77,7 +74,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
await resetSkuForm();
|
||||
// 加载数据
|
||||
const data = modalApi.getData<WmsItemApi.Item>();
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import type { VbenFormSchema } from '#/adapter/form';
|
||||
import type { VbenFormApi, VbenFormSchema } from '#/adapter/form';
|
||||
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
||||
|
||||
import { h } from 'vue';
|
||||
|
|
@ -12,7 +12,7 @@ import { z } from '#/adapter/form';
|
|||
import { generateWmsCode } from '#/views/wms/utils/constants';
|
||||
|
||||
/** 新增/修改往来企业的表单 */
|
||||
export function useFormSchema(formApi?: any): VbenFormSchema[] {
|
||||
export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||
return [
|
||||
{
|
||||
component: 'Input',
|
||||
|
|
|
|||
|
|
@ -40,9 +40,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
const { valid } = await formApi.validate();
|
||||
|
|
@ -67,7 +64,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
const data = modalApi.getData<WmsMerchantApi.Merchant>();
|
||||
if (!data || !data.id) {
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import type { VbenFormSchema } from '#/adapter/form';
|
||||
import type { VbenFormApi, VbenFormSchema } from '#/adapter/form';
|
||||
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
||||
|
||||
import { h } from 'vue';
|
||||
|
|
@ -9,7 +9,7 @@ import { z } from '#/adapter/form';
|
|||
import { generateWmsCode } from '#/views/wms/utils/constants';
|
||||
|
||||
/** 新增/修改仓库的表单 */
|
||||
export function useFormSchema(formApi?: any): VbenFormSchema[] {
|
||||
export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||
return [
|
||||
{
|
||||
component: 'Input',
|
||||
|
|
|
|||
|
|
@ -40,9 +40,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
const { valid } = await formApi.validate();
|
||||
|
|
@ -69,6 +66,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
const data = modalApi.getData<WmsWarehouseApi.Warehouse>();
|
||||
if (!data || !data.id) {
|
||||
await formApi.setValues({ sort: 0 });
|
||||
|
|
|
|||
|
|
@ -535,7 +535,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
setDetails([]);
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
formType.value = data.formType;
|
||||
if (data?.id) {
|
||||
|
|
|
|||
|
|
@ -373,7 +373,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
setDetails([]);
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
formType.value = data.formType;
|
||||
if (data?.id) {
|
||||
|
|
|
|||
|
|
@ -317,7 +317,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
setDetails([]);
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
formType.value = data.formType;
|
||||
if (data?.id) {
|
||||
|
|
|
|||
|
|
@ -360,7 +360,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
return;
|
||||
}
|
||||
initializing.value = true;
|
||||
await formApi.resetForm();
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
formType.value = data.formType;
|
||||
if (data?.id) {
|
||||
|
|
|
|||
|
|
@ -100,7 +100,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
},
|
||||
async onOpenChange(isOpen: boolean) {
|
||||
if (!isOpen) {
|
||||
await formApi.resetForm();
|
||||
return;
|
||||
}
|
||||
// 加载数据
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import type { VbenFormSchema } from '#/adapter/form';
|
||||
import type { VbenFormApi, VbenFormSchema } from '#/adapter/form';
|
||||
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
||||
import type { IotProductApi } from '#/api/iot/product/product';
|
||||
|
||||
|
|
@ -14,7 +14,7 @@ import { getSimpleProductCategoryList } from '#/api/iot/product/category';
|
|||
|
||||
/** 基础表单字段(不含图标、图片、描述) */
|
||||
export function useBasicFormSchema(
|
||||
formApi?: any,
|
||||
formApi?: VbenFormApi,
|
||||
generateProductKey?: () => string,
|
||||
): VbenFormSchema[] {
|
||||
return [
|
||||
|
|
|
|||
|
|
@ -60,9 +60,6 @@ const [AdvancedForm, advancedFormApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 基础表单需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useBasicFormSchema(formApi, generateProductKey) });
|
||||
|
||||
/** 获取高级表单的值(如果表单未挂载,则从 formData 中获取) */
|
||||
async function getAdvancedFormValues() {
|
||||
if (advancedFormApi.isMounted) {
|
||||
|
|
@ -106,6 +103,9 @@ const [Modal, modalApi] = useVbenModal({
|
|||
activeKey.value = [];
|
||||
return;
|
||||
}
|
||||
formApi.setState({
|
||||
schema: useBasicFormSchema(formApi, generateProductKey),
|
||||
});
|
||||
// 加载数据
|
||||
const data = modalApi.getData<IotProductApi.Product>();
|
||||
if (!data || !data.id) {
|
||||
|
|
|
|||
|
|
@ -69,7 +69,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
async onOpenChange(isOpen: boolean) {
|
||||
if (!isOpen) {
|
||||
formData.value = undefined;
|
||||
await formApi.resetForm();
|
||||
sourceConfigRef.value?.setData([]);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -134,7 +134,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
if (!isOpen) {
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import type {
|
|||
SpuProperty,
|
||||
} from '#/views/mall/product/spu/components';
|
||||
|
||||
import { computed, nextTick, ref } from 'vue';
|
||||
import { computed, ref } from 'vue';
|
||||
|
||||
import { useVbenForm, useVbenModal } from '@vben/common-ui';
|
||||
import { PromotionDiscountTypeEnum } from '@vben/constants';
|
||||
|
|
@ -213,13 +213,11 @@ function handleSkuDiscountPercentChange(row: SkuExtension) {
|
|||
}
|
||||
|
||||
/** 重置表单 */
|
||||
async function resetForm() {
|
||||
function resetForm() {
|
||||
spuList.value = [];
|
||||
spuPropertyList.value = [];
|
||||
spuIdList.value = [];
|
||||
formData.value = {};
|
||||
await nextTick();
|
||||
await formApi.resetForm();
|
||||
}
|
||||
|
||||
// ================= 弹窗相关 =================
|
||||
|
|
@ -264,7 +262,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
},
|
||||
async onOpenChange(isOpen: boolean) {
|
||||
if (!isOpen) {
|
||||
await resetForm();
|
||||
resetForm();
|
||||
return;
|
||||
}
|
||||
// 加载数据
|
||||
|
|
|
|||
|
|
@ -50,7 +50,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
if (!isOpen) {
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
const data = modalApi.getData<{ day: string }>();
|
||||
if (!data?.day) {
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -50,9 +50,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
/** 确认排班计划 */
|
||||
async function handleConfirmPlan() {
|
||||
const { valid } = await formApi.validate();
|
||||
|
|
@ -107,7 +104,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
subTabsName.value = 'shift';
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
|
|
|
|||
|
|
@ -45,9 +45,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
if (isDetail.value) {
|
||||
|
|
@ -82,7 +79,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
subTabsName.value = 'member';
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
|
|
|
|||
|
|
@ -44,9 +44,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
if (isDetail.value) {
|
||||
|
|
@ -81,7 +78,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
subTabsName.value = 'machinery';
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
|
|
|
|||
|
|
@ -103,7 +103,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
formType.value = data.formType;
|
||||
|
|
|
|||
|
|
@ -47,9 +47,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formType.value, formApi) });
|
||||
|
||||
/** 查看设备条码 */
|
||||
function handleBarcode() {
|
||||
if (!formData.value?.id) {
|
||||
|
|
@ -91,7 +88,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
subTabsName.value = 'check';
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
|
|
|
|||
|
|
@ -38,9 +38,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
const { valid } = await formApi.validate();
|
||||
|
|
@ -67,7 +64,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
// 加载数据
|
||||
const data = modalApi.getData<MesDvMachineryTypeApi.MachineryType>();
|
||||
if (!data || !data.id) {
|
||||
|
|
|
|||
|
|
@ -110,7 +110,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
formType.value = data.formType;
|
||||
|
|
|
|||
|
|
@ -57,9 +57,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
/** 提交维修工单 */
|
||||
async function handleSubmit() {
|
||||
const { valid } = await formApi.validate();
|
||||
|
|
@ -164,7 +161,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
formType.value = data.formType;
|
||||
|
|
|
|||
|
|
@ -39,9 +39,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
if (isDetail.value) {
|
||||
|
|
@ -69,7 +66,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
if (!isOpen) {
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
formType.value = data.formType;
|
||||
|
|
|
|||
|
|
@ -76,7 +76,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
// 加载数据
|
||||
const data = modalApi.getData<MesMdAutoCodeRuleApi.AutoCodeRule>();
|
||||
if (!data?.id) {
|
||||
|
|
|
|||
|
|
@ -86,7 +86,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{
|
||||
id?: number;
|
||||
|
|
|
|||
|
|
@ -44,9 +44,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
if (isDetail.value) {
|
||||
|
|
@ -75,7 +72,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
subTabsName.value = 'productSalesLine';
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
|
|
|
|||
|
|
@ -52,9 +52,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
/** 查看物料条码 */
|
||||
function handleBarcode() {
|
||||
if (!formData.value?.id) {
|
||||
|
|
@ -103,7 +100,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
subTabsName.value = 'bom';
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
|
|
|
|||
|
|
@ -38,9 +38,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
const { valid } = await formApi.validate();
|
||||
|
|
@ -65,7 +62,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
// 加载数据
|
||||
const data = modalApi.getData<MesMdItemTypeApi.ItemType>();
|
||||
if (!data || !data.id) {
|
||||
|
|
|
|||
|
|
@ -68,7 +68,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
// 加载数据
|
||||
const data = modalApi.getData<MesMdUnitMeasureApi.UnitMeasure>();
|
||||
if (!data || !data.id) {
|
||||
|
|
|
|||
|
|
@ -46,9 +46,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
if (isDetail.value) {
|
||||
|
|
@ -77,7 +74,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
subTabsName.value = 'itemReceiptLine';
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
|
|
|
|||
|
|
@ -52,9 +52,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
/** 查看工作站条码 */
|
||||
function handleBarcode() {
|
||||
if (!formData.value?.id) {
|
||||
|
|
@ -102,7 +99,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
subTabsName.value = 'machine';
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
|
|
|
|||
|
|
@ -48,9 +48,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
/** 查看车间条码 */
|
||||
function handleBarcode() {
|
||||
if (!formData.value?.id) {
|
||||
|
|
@ -92,7 +89,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
formType.value = data.formType;
|
||||
|
|
|
|||
|
|
@ -49,9 +49,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formType.value, formApi) });
|
||||
|
||||
/** 处置:保存(保持 ACTIVE 状态) */
|
||||
async function handleSave() {
|
||||
modalApi.lock();
|
||||
|
|
@ -136,7 +133,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formType.value = data.formType;
|
||||
formApi.setState({ schema: useFormSchema(formType.value, formApi) });
|
||||
modalApi.setState({ showConfirmButton: formType.value === 'create' });
|
||||
await formApi.resetForm();
|
||||
if (formType.value === 'create') {
|
||||
// 新增时,发起人默认为当前用户
|
||||
await formApi.setValues({ userId: userStore.userInfo?.id });
|
||||
|
|
|
|||
|
|
@ -88,9 +88,6 @@ const [Form, formApi] = useVbenForm({
|
|||
wrapperClass: 'grid-cols-3',
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formType.value, formApi) });
|
||||
|
||||
/** 提交前对齐数量:根据 checkFlag 决定 uncheck/合格/不良归零策略 */
|
||||
function alignQuantity(data: MesProFeedbackApi.Feedback) {
|
||||
if (data.checkFlag) {
|
||||
|
|
@ -247,7 +244,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
showConfirmButton:
|
||||
formType.value !== 'detail' && formType.value !== 'approve',
|
||||
});
|
||||
await formApi.resetForm();
|
||||
if (!data?.id) {
|
||||
// 新增:默认报工人和报工时间,并自动生成报工单号
|
||||
const code = await generateAutoCode(
|
||||
|
|
|
|||
|
|
@ -65,7 +65,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{
|
||||
id?: number;
|
||||
|
|
|
|||
|
|
@ -48,9 +48,6 @@ const [Form, formApi] = useVbenForm({
|
|||
wrapperClass: 'grid-cols-3',
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用(生成编码按钮),所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
if (isDetail.value) {
|
||||
|
|
@ -79,7 +76,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
formType.value = data.formType;
|
||||
|
|
|
|||
|
|
@ -78,7 +78,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{
|
||||
id?: number;
|
||||
|
|
|
|||
|
|
@ -44,9 +44,6 @@ const [Form, formApi] = useVbenForm({
|
|||
wrapperClass: 'grid-cols-2',
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用(生成编码按钮),所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
if (isDetail.value) {
|
||||
|
|
@ -82,7 +79,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
subTab.value = 'process';
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
|
|
|
|||
|
|
@ -81,7 +81,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
// 工序下拉依赖远程数据,schema 在弹窗打开时再生成
|
||||
const schema = await loadSchema();
|
||||
formApi.setState({ schema });
|
||||
await formApi.resetForm();
|
||||
} finally {
|
||||
modalApi.unlock();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -83,7 +83,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{
|
||||
id?: number;
|
||||
|
|
|
|||
|
|
@ -34,9 +34,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用(生成编码按钮),所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
const { valid } = await formApi.validate();
|
||||
|
|
@ -61,7 +58,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
// 加载数据
|
||||
const data = modalApi.getData<MesQcDefectApi.Defect>();
|
||||
if (!data || !data.id) {
|
||||
|
|
|
|||
|
|
@ -38,9 +38,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用(生成编码、跨字段联动),所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
const { valid } = await formApi.validate();
|
||||
|
|
@ -67,7 +64,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
// 加载数据
|
||||
const data = modalApi.getData<MesQcIndicatorApi.Indicator>();
|
||||
if (!data || !data.id) {
|
||||
|
|
|
|||
|
|
@ -49,9 +49,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用(生成编码按钮),所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
if (formType.value === 'detail') {
|
||||
|
|
@ -80,7 +77,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
subTabsName.value = 'indicator';
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
|
|
|
|||
|
|
@ -69,7 +69,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
// 加载数据
|
||||
const data = modalApi.getData<
|
||||
MesQcTemplateIndicatorApi.TemplateIndicator & { templateId: number }
|
||||
|
|
|
|||
|
|
@ -69,7 +69,6 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
// 加载数据
|
||||
const data = modalApi.getData<
|
||||
MesQcTemplateItemApi.TemplateItem & { templateId: number }
|
||||
|
|
|
|||
|
|
@ -46,9 +46,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
/** 查看工具条码 */
|
||||
function handleBarcode() {
|
||||
if (!formData.value?.id) {
|
||||
|
|
@ -90,7 +87,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
formType.value = data.formType;
|
||||
|
|
|
|||
|
|
@ -43,9 +43,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
if (isDetail.value) {
|
||||
|
|
@ -74,7 +71,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
// 加载数据
|
||||
const data = modalApi.getData<{ formType: FormType; id?: number }>();
|
||||
formType.value = data.formType;
|
||||
|
|
|
|||
|
|
@ -141,6 +141,8 @@ export const MesAutoCodeRuleCode = {
|
|||
PRO_WORK_ORDER_CODE: 'PRO_WORK_ORDER_CODE',
|
||||
QC_DEFECT_CODE: 'QC_DEFECT_CODE',
|
||||
QC_INDICATOR_CODE: 'QC_INDICATOR_CODE',
|
||||
QC_INDICATOR_RESULT_CODE: 'QC_INDICATOR_RESULT_CODE',
|
||||
QC_IQC_CODE: 'QC_IQC_CODE',
|
||||
QC_TEMPLATE_CODE: 'QC_TEMPLATE_CODE',
|
||||
TM_TOOL_TYPE_CODE: 'TM_TOOL_TYPE_CODE',
|
||||
TM_TOOL_CODE: 'TM_TOOL_CODE',
|
||||
|
|
@ -215,6 +217,47 @@ export const MesQcResultValueType = {
|
|||
FILE: 5,
|
||||
} as const;
|
||||
|
||||
/** MES 业务类型常量 */
|
||||
export const MesBizTypeEnum = {
|
||||
// WM 仓库模块 [100, 200)
|
||||
WM_ARRIVAL_NOTICE: 100, // 到货通知单
|
||||
WM_RETURN_ISSUE: 116, // 生产退料
|
||||
WM_PRODUCT_SALES: 118, // 销售出库
|
||||
WM_RETURN_SALES: 119, // 销售退货入库
|
||||
WM_OUTSOURCE_RECPT: 121, // 外协入库
|
||||
|
||||
// PRO 生产模块 [300, 400)
|
||||
PRO_FEEDBACK: 304, // 生产报工
|
||||
} as const;
|
||||
|
||||
/** MES 质检来源单据类型枚举 */
|
||||
export const MesQcSourceDocTypeEnum = {
|
||||
// IQC
|
||||
ARRIVAL_NOTICE: MesBizTypeEnum.WM_ARRIVAL_NOTICE,
|
||||
OUTSOURCE_RECPT: MesBizTypeEnum.WM_OUTSOURCE_RECPT,
|
||||
// IPQC
|
||||
PRO_FEEDBACK: MesBizTypeEnum.PRO_FEEDBACK,
|
||||
// OQC
|
||||
PRODUCT_SALES: MesBizTypeEnum.WM_PRODUCT_SALES,
|
||||
// RQC
|
||||
RETURN_ISSUE: MesBizTypeEnum.WM_RETURN_ISSUE,
|
||||
RETURN_SALES: MesBizTypeEnum.WM_RETURN_SALES,
|
||||
} as const;
|
||||
|
||||
/** MES 质检类型枚举 */
|
||||
export const MesQcTypeEnum = {
|
||||
IQC: 1, // 来料检验
|
||||
IPQC: 2, // 过程检验
|
||||
OQC: 3, // 出货检验
|
||||
RQC: 4, // 退货检验
|
||||
} as const;
|
||||
|
||||
/** MES 质检单状态枚举 */
|
||||
export const MesQcStatusEnum = {
|
||||
DRAFT: MesOrderStatusConstants.DRAFT,
|
||||
FINISHED: MesOrderStatusConstants.FINISHED,
|
||||
} as const;
|
||||
|
||||
/** MES 编码规则分段类型枚举 */
|
||||
export const MesAutoCodePartTypeEnum = {
|
||||
INPUT: 1,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import type { VbenFormSchema } from '#/adapter/form';
|
||||
import type { VbenFormApi, VbenFormSchema } from '#/adapter/form';
|
||||
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
||||
|
||||
import { h } from 'vue';
|
||||
|
|
@ -9,7 +9,7 @@ import { z } from '#/adapter/form';
|
|||
import { generateWmsCode } from '#/views/wms/utils/constants';
|
||||
|
||||
/** 新增/修改商品品牌的表单 */
|
||||
export function useFormSchema(formApi?: any): VbenFormSchema[] {
|
||||
export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||
return [
|
||||
{
|
||||
component: 'Input',
|
||||
|
|
|
|||
|
|
@ -39,9 +39,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
const { valid } = await formApi.validate();
|
||||
|
|
@ -66,7 +63,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
const data = modalApi.getData<WmsItemBrandApi.ItemBrand>();
|
||||
if (!data || !data.id) {
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import type { VbenFormSchema } from '#/adapter/form';
|
||||
import type { VbenFormApi, VbenFormSchema } from '#/adapter/form';
|
||||
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
||||
import type { WmsItemCategoryApi } from '#/api/wms/md/item/category';
|
||||
|
||||
|
|
@ -15,7 +15,7 @@ import { getItemCategorySimpleList } from '#/api/wms/md/item/category';
|
|||
import { generateWmsCode } from '#/views/wms/utils/constants';
|
||||
|
||||
/** 新增/修改商品分类的表单 */
|
||||
export function useFormSchema(formApi?: any): VbenFormSchema[] {
|
||||
export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||
return [
|
||||
{
|
||||
fieldName: 'id',
|
||||
|
|
|
|||
|
|
@ -41,9 +41,6 @@ const [Form, formApi] = useVbenForm({
|
|||
showDefaultActions: false,
|
||||
});
|
||||
|
||||
/** 表单 schema 需要 formApi 引用,所以通过 setState 设置 schema */
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
async onConfirm() {
|
||||
const { valid } = await formApi.validate();
|
||||
|
|
@ -70,7 +67,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||
formData.value = undefined;
|
||||
return;
|
||||
}
|
||||
await formApi.resetForm();
|
||||
formApi.setState({ schema: useFormSchema(formApi) });
|
||||
const data = modalApi.getData<WmsItemCategoryApi.ItemCategory>();
|
||||
if (!data || !data.id) {
|
||||
formData.value = data;
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue