refactor(mes/wm/barcode): 清理 TODO @AI、简化 onBizChange、对齐勾选写法
- 删除 data.ts / config/data.ts / index.vue 里残留的 TODO @AI 注释 - applyBizSelected 改名 syncBizDetail(对齐 mes/qc/ipqc 的 syncUnqualified), 函数内置 formApi 空判断,去掉中间变量 onBizChange,14 处 onChange 直接调用 - config/data.ts 的 dependencies 单行展开为多行 - index.vue 勾选写法对齐 system/user:records.map((item) => item.id!)pull/350/head
parent
b2ccdf80b2
commit
a8d60580be
|
|
@ -5,14 +5,16 @@ import { getDictOptions } from '@vben/hooks';
|
||||||
|
|
||||||
import { z } from '#/adapter/form';
|
import { z } from '#/adapter/form';
|
||||||
|
|
||||||
// TODO @AI:这里的代码风格不对;
|
|
||||||
/** 表单 */
|
/** 表单 */
|
||||||
export function useFormSchema(): VbenFormSchema[] {
|
export function useFormSchema(): VbenFormSchema[] {
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
fieldName: 'id',
|
fieldName: 'id',
|
||||||
component: 'Input',
|
component: 'Input',
|
||||||
dependencies: { triggerFields: [''], show: () => false },
|
dependencies: {
|
||||||
|
triggerFields: [''],
|
||||||
|
show: () => false,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldName: 'format',
|
fieldName: 'format',
|
||||||
|
|
@ -35,8 +37,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
dependencies: {
|
dependencies: {
|
||||||
triggerFields: ['id'],
|
triggerFields: ['id'],
|
||||||
componentProps: (values) => ({
|
componentProps: (values) => ({
|
||||||
// 编辑时业务类型不允许变更 TODO @AI:这种简单的注释,可以考虑放到 disabled 后面;写到 style 里;
|
disabled: !!values.id, // 编辑时业务类型不允许变更
|
||||||
disabled: !!values.id,
|
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,13 @@ import {
|
||||||
} from './../warehouse/components';
|
} from './../warehouse/components';
|
||||||
|
|
||||||
/** 业务对象选中后回填业务编码、业务名称、条码内容 */
|
/** 业务对象选中后回填业务编码、业务名称、条码内容 */
|
||||||
async function applyBizSelected(formApi: VbenFormApi, item: any) {
|
async function syncBizDetail(
|
||||||
|
formApi: undefined | VbenFormApi,
|
||||||
|
item: any,
|
||||||
|
) {
|
||||||
|
if (!formApi) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
const values = await formApi.getValues();
|
const values = await formApi.getValues();
|
||||||
const bizType = values.bizType as number | undefined;
|
const bizType = values.bizType as number | undefined;
|
||||||
if (!item) {
|
if (!item) {
|
||||||
|
|
@ -61,13 +67,6 @@ async function applyBizSelected(formApi: VbenFormApi, item: any) {
|
||||||
|
|
||||||
/** 新增/修改条码的表单 */
|
/** 新增/修改条码的表单 */
|
||||||
export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
// TODO @AI:是不是可以去掉 onBizChange,直接搞个 handleBizTypeChange 函数?
|
|
||||||
const onBizChange = (item: any) => {
|
|
||||||
if (formApi) {
|
|
||||||
void applyBizSelected(formApi, item);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
fieldName: 'bizType',
|
fieldName: 'bizType',
|
||||||
|
|
@ -96,7 +95,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
label: '仓库',
|
label: '仓库',
|
||||||
component: markRaw(WmWarehouseSelect),
|
component: markRaw(WmWarehouseSelect),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
triggerFields: ['bizType'],
|
triggerFields: ['bizType'],
|
||||||
|
|
@ -133,7 +132,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
componentProps: (values) => ({
|
componentProps: (values) => ({
|
||||||
placeholder: '请选择库区',
|
placeholder: '请选择库区',
|
||||||
warehouseId: values.locationWarehouseId,
|
warehouseId: values.locationWarehouseId,
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
|
|
@ -188,7 +187,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
componentProps: (values) => ({
|
componentProps: (values) => ({
|
||||||
placeholder: '请选择库位',
|
placeholder: '请选择库位',
|
||||||
locationId: values.areaLocationId,
|
locationId: values.areaLocationId,
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
|
|
@ -198,7 +197,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
label: '工单',
|
label: '工单',
|
||||||
component: markRaw(ProWorkOrderSelect),
|
component: markRaw(ProWorkOrderSelect),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
triggerFields: ['bizType'],
|
triggerFields: ['bizType'],
|
||||||
|
|
@ -211,7 +210,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
label: '设备',
|
label: '设备',
|
||||||
component: markRaw(DvMachinerySelect),
|
component: markRaw(DvMachinerySelect),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
triggerFields: ['bizType'],
|
triggerFields: ['bizType'],
|
||||||
|
|
@ -224,7 +223,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
label: '产品物料',
|
label: '产品物料',
|
||||||
component: markRaw(MdItemSelect),
|
component: markRaw(MdItemSelect),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
triggerFields: ['bizType'],
|
triggerFields: ['bizType'],
|
||||||
|
|
@ -237,7 +236,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
label: '供应商',
|
label: '供应商',
|
||||||
component: markRaw(MdVendorSelect),
|
component: markRaw(MdVendorSelect),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
triggerFields: ['bizType'],
|
triggerFields: ['bizType'],
|
||||||
|
|
@ -250,7 +249,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
label: '工作站',
|
label: '工作站',
|
||||||
component: markRaw(MdWorkstationSelect),
|
component: markRaw(MdWorkstationSelect),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
triggerFields: ['bizType'],
|
triggerFields: ['bizType'],
|
||||||
|
|
@ -263,7 +262,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
label: '车间',
|
label: '车间',
|
||||||
component: markRaw(MdWorkshopSelect),
|
component: markRaw(MdWorkshopSelect),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
triggerFields: ['bizType'],
|
triggerFields: ['bizType'],
|
||||||
|
|
@ -276,7 +275,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
label: '客户',
|
label: '客户',
|
||||||
component: markRaw(MdClientSelect),
|
component: markRaw(MdClientSelect),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
triggerFields: ['bizType'],
|
triggerFields: ['bizType'],
|
||||||
|
|
@ -289,7 +288,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
label: '工具',
|
label: '工具',
|
||||||
component: markRaw(TmToolSelect),
|
component: markRaw(TmToolSelect),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
triggerFields: ['bizType'],
|
triggerFields: ['bizType'],
|
||||||
|
|
@ -302,7 +301,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
label: '库存',
|
label: '库存',
|
||||||
component: markRaw(WmMaterialStockSelect),
|
component: markRaw(WmMaterialStockSelect),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
triggerFields: ['bizType'],
|
triggerFields: ['bizType'],
|
||||||
|
|
|
||||||
|
|
@ -31,18 +31,14 @@ const [FormModal, formModalApi] = useVbenModal({
|
||||||
|
|
||||||
const barcodeDetailRef = ref<InstanceType<typeof BarcodeDetail>>();
|
const barcodeDetailRef = ref<InstanceType<typeof BarcodeDetail>>();
|
||||||
|
|
||||||
// TODO @AI:这里的 checkedIds,是不是拿到 handleRowCheckboxChange 代码块里?更简洁一点?
|
|
||||||
// TODO @AI:这里的代码风格,要和 system user index 保持一致,批量选择;
|
|
||||||
/** 已选条码 ID */
|
|
||||||
const checkedIds = ref<number[]>([]);
|
|
||||||
|
|
||||||
/** 处理勾选变化 */
|
/** 处理勾选变化 */
|
||||||
|
const checkedIds = ref<number[]>([]);
|
||||||
function handleRowCheckboxChange({
|
function handleRowCheckboxChange({
|
||||||
records,
|
records,
|
||||||
}: {
|
}: {
|
||||||
records: MesWmBarcodeApi.Barcode[];
|
records: MesWmBarcodeApi.Barcode[];
|
||||||
}) {
|
}) {
|
||||||
checkedIds.value = records.map((row) => row.id!).filter(Boolean);
|
checkedIds.value = records.map((item) => item.id!);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 刷新表格 */
|
/** 刷新表格 */
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
// TODO @AI:注释风格;另外,也对齐下 system user index.vue;(整个文件)
|
|
||||||
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
||||||
import type { MesWmMaterialStockApi } from '#/api/mes/wm/materialstock';
|
import type { MesWmMaterialStockApi } from '#/api/mes/wm/materialstock';
|
||||||
|
|
||||||
|
|
@ -8,7 +7,7 @@ import { ref } from 'vue';
|
||||||
import { confirm, DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
import { confirm, DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
||||||
import { downloadFileFromBlobPart } from '@vben/utils';
|
import { downloadFileFromBlobPart } from '@vben/utils';
|
||||||
|
|
||||||
import { Button, message } from 'ant-design-vue';
|
import { Button, Card, message } from 'ant-design-vue';
|
||||||
|
|
||||||
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
import {
|
import {
|
||||||
|
|
@ -27,25 +26,55 @@ const [AreaModal, areaModalApi] = useVbenModal({
|
||||||
destroyOnClose: true,
|
destroyOnClose: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/** 刷新表格 */
|
||||||
|
function handleRefresh() {
|
||||||
|
gridApi.query();
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 导出表格 */
|
||||||
|
async function handleExport() {
|
||||||
|
const data = await exportMaterialStock({
|
||||||
|
...(await gridApi.formApi.getValues()),
|
||||||
|
itemTypeId: searchItemTypeId.value,
|
||||||
|
});
|
||||||
|
downloadFileFromBlobPart({ fileName: '库存台账.xls', source: data });
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 选择物料分类 */
|
||||||
|
const searchItemTypeId = ref<number | undefined>(undefined);
|
||||||
|
function handleTypeNodeClick(row: undefined | { id?: number }) {
|
||||||
|
searchItemTypeId.value = row?.id;
|
||||||
|
handleRefresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 打开库位详情弹窗 */
|
||||||
|
function handleOpenAreaDetail(row: MesWmMaterialStockApi.MaterialStock) {
|
||||||
|
if (!row.areaId) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
areaModalApi.setData({ formType: 'detail', id: row.areaId }).open();
|
||||||
|
}
|
||||||
|
|
||||||
/** 处理冻结状态切换 */
|
/** 处理冻结状态切换 */
|
||||||
async function handleFrozenChange(row: MesWmMaterialStockApi.MaterialStock) {
|
async function handleFrozenChange(
|
||||||
|
row: MesWmMaterialStockApi.MaterialStock,
|
||||||
|
): Promise<boolean | undefined> {
|
||||||
const text = row.frozen ? '冻结' : '解冻';
|
const text = row.frozen ? '冻结' : '解冻';
|
||||||
try {
|
try {
|
||||||
await confirm(`确认要"${text}"该库存记录吗?`);
|
await confirm(`确认要"${text}"该库存记录吗?`);
|
||||||
} catch {
|
} catch {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
// 更新冻结状态
|
||||||
await updateMaterialStockFrozen({
|
await updateMaterialStockFrozen({
|
||||||
id: row.id!,
|
id: row.id!,
|
||||||
frozen: row.frozen!,
|
frozen: row.frozen!,
|
||||||
});
|
});
|
||||||
|
// 提示并返回成功
|
||||||
message.success(`${text}成功`);
|
message.success(`${text}成功`);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 已选物料分类 */
|
|
||||||
const searchItemTypeId = ref<number>();
|
|
||||||
|
|
||||||
const [Grid, gridApi] = useVbenVxeGrid({
|
const [Grid, gridApi] = useVbenVxeGrid({
|
||||||
formOptions: {
|
formOptions: {
|
||||||
schema: useGridFormSchema(),
|
schema: useGridFormSchema(),
|
||||||
|
|
@ -60,8 +89,8 @@ const [Grid, gridApi] = useVbenVxeGrid({
|
||||||
return await getMaterialStockPage({
|
return await getMaterialStockPage({
|
||||||
pageNo: page.currentPage,
|
pageNo: page.currentPage,
|
||||||
pageSize: page.pageSize,
|
pageSize: page.pageSize,
|
||||||
itemTypeId: searchItemTypeId.value,
|
|
||||||
...formValues,
|
...formValues,
|
||||||
|
itemTypeId: searchItemTypeId.value,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
@ -76,29 +105,6 @@ const [Grid, gridApi] = useVbenVxeGrid({
|
||||||
},
|
},
|
||||||
} as VxeTableGridOptions<MesWmMaterialStockApi.MaterialStock>,
|
} as VxeTableGridOptions<MesWmMaterialStockApi.MaterialStock>,
|
||||||
});
|
});
|
||||||
|
|
||||||
/** 物料分类树节点点击 */
|
|
||||||
function handleTypeNodeClick(row: undefined | { id?: number }) {
|
|
||||||
searchItemTypeId.value = row?.id;
|
|
||||||
gridApi.query();
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 打开库位详情弹窗 */
|
|
||||||
function handleOpenAreaDetail(row: MesWmMaterialStockApi.MaterialStock) {
|
|
||||||
if (!row.areaId) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
areaModalApi.setData({ formType: 'detail', id: row.areaId }).open();
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 导出表格 */
|
|
||||||
async function handleExport() {
|
|
||||||
const data = await exportMaterialStock({
|
|
||||||
...(await gridApi.formApi.getValues()),
|
|
||||||
itemTypeId: searchItemTypeId.value,
|
|
||||||
});
|
|
||||||
downloadFileFromBlobPart({ fileName: '库存台账.xls', source: data });
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
@ -112,10 +118,12 @@ async function handleExport() {
|
||||||
|
|
||||||
<AreaModal />
|
<AreaModal />
|
||||||
|
|
||||||
<div class="flex h-full gap-3">
|
<div class="flex h-full w-full">
|
||||||
<div class="bg-card w-1/6 rounded p-3">
|
<!-- 左侧物料分类树 -->
|
||||||
|
<Card class="mr-4 h-full w-1/6">
|
||||||
<MdItemTypeTree @node-click="handleTypeNodeClick" />
|
<MdItemTypeTree @node-click="handleTypeNodeClick" />
|
||||||
</div>
|
</Card>
|
||||||
|
<!-- 右侧库存台账列表 -->
|
||||||
<div class="w-5/6">
|
<div class="w-5/6">
|
||||||
<Grid table-title="库存台账列表">
|
<Grid table-title="库存台账列表">
|
||||||
<template #toolbar-tools>
|
<template #toolbar-tools>
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,13 @@ import {
|
||||||
} from './../warehouse/components';
|
} from './../warehouse/components';
|
||||||
|
|
||||||
/** 业务对象选中后回填业务编码、业务名称、条码内容 */
|
/** 业务对象选中后回填业务编码、业务名称、条码内容 */
|
||||||
async function applyBizSelected(formApi: VbenFormApi, item: any) {
|
async function syncBizDetail(
|
||||||
|
formApi: undefined | VbenFormApi,
|
||||||
|
item: any,
|
||||||
|
) {
|
||||||
|
if (!formApi) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
const values = await formApi.getValues();
|
const values = await formApi.getValues();
|
||||||
const bizType = values.bizType as number | undefined;
|
const bizType = values.bizType as number | undefined;
|
||||||
if (!item) {
|
if (!item) {
|
||||||
|
|
@ -61,12 +67,6 @@ async function applyBizSelected(formApi: VbenFormApi, item: any) {
|
||||||
|
|
||||||
/** 新增/修改条码的表单 */
|
/** 新增/修改条码的表单 */
|
||||||
export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
const onBizChange = (item: any) => {
|
|
||||||
if (formApi) {
|
|
||||||
void applyBizSelected(formApi, item);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
fieldName: 'bizType',
|
fieldName: 'bizType',
|
||||||
|
|
@ -95,7 +95,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
label: '仓库',
|
label: '仓库',
|
||||||
component: markRaw(WmWarehouseSelect),
|
component: markRaw(WmWarehouseSelect),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
triggerFields: ['bizType'],
|
triggerFields: ['bizType'],
|
||||||
|
|
@ -130,7 +130,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
triggerFields: ['bizType', 'locationWarehouseId'],
|
triggerFields: ['bizType', 'locationWarehouseId'],
|
||||||
show: (values) => values.bizType === BarcodeBizTypeEnum.LOCATION,
|
show: (values) => values.bizType === BarcodeBizTypeEnum.LOCATION,
|
||||||
componentProps: (values) => ({
|
componentProps: (values) => ({
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
placeholder: '请选择库区',
|
placeholder: '请选择库区',
|
||||||
warehouseId: values.locationWarehouseId,
|
warehouseId: values.locationWarehouseId,
|
||||||
}),
|
}),
|
||||||
|
|
@ -186,7 +186,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
show: (values) => values.bizType === BarcodeBizTypeEnum.AREA,
|
show: (values) => values.bizType === BarcodeBizTypeEnum.AREA,
|
||||||
componentProps: (values) => ({
|
componentProps: (values) => ({
|
||||||
locationId: values.areaLocationId,
|
locationId: values.areaLocationId,
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
placeholder: '请选择库位',
|
placeholder: '请选择库位',
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
|
|
@ -197,7 +197,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
label: '工单',
|
label: '工单',
|
||||||
component: markRaw(ProWorkOrderSelect),
|
component: markRaw(ProWorkOrderSelect),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
triggerFields: ['bizType'],
|
triggerFields: ['bizType'],
|
||||||
|
|
@ -210,7 +210,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
label: '设备',
|
label: '设备',
|
||||||
component: markRaw(DvMachinerySelect),
|
component: markRaw(DvMachinerySelect),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
triggerFields: ['bizType'],
|
triggerFields: ['bizType'],
|
||||||
|
|
@ -223,7 +223,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
label: '产品物料',
|
label: '产品物料',
|
||||||
component: markRaw(MdItemSelect),
|
component: markRaw(MdItemSelect),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
triggerFields: ['bizType'],
|
triggerFields: ['bizType'],
|
||||||
|
|
@ -236,7 +236,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
label: '供应商',
|
label: '供应商',
|
||||||
component: markRaw(MdVendorSelect),
|
component: markRaw(MdVendorSelect),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
triggerFields: ['bizType'],
|
triggerFields: ['bizType'],
|
||||||
|
|
@ -249,7 +249,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
label: '工作站',
|
label: '工作站',
|
||||||
component: markRaw(MdWorkstationSelect),
|
component: markRaw(MdWorkstationSelect),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
triggerFields: ['bizType'],
|
triggerFields: ['bizType'],
|
||||||
|
|
@ -262,7 +262,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
label: '车间',
|
label: '车间',
|
||||||
component: markRaw(MdWorkshopSelect),
|
component: markRaw(MdWorkshopSelect),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
triggerFields: ['bizType'],
|
triggerFields: ['bizType'],
|
||||||
|
|
@ -275,7 +275,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
label: '客户',
|
label: '客户',
|
||||||
component: markRaw(MdClientSelect),
|
component: markRaw(MdClientSelect),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
triggerFields: ['bizType'],
|
triggerFields: ['bizType'],
|
||||||
|
|
@ -288,7 +288,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
label: '工具',
|
label: '工具',
|
||||||
component: markRaw(TmToolSelect),
|
component: markRaw(TmToolSelect),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
triggerFields: ['bizType'],
|
triggerFields: ['bizType'],
|
||||||
|
|
@ -301,7 +301,7 @@ export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
|
||||||
label: '库存',
|
label: '库存',
|
||||||
component: markRaw(WmMaterialStockSelect),
|
component: markRaw(WmMaterialStockSelect),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
onChange: onBizChange,
|
onChange: (item: any) => syncBizDetail(formApi, item),
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
triggerFields: ['bizType'],
|
triggerFields: ['bizType'],
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ function handleRowCheckboxChange({
|
||||||
}: {
|
}: {
|
||||||
records: MesWmBarcodeApi.Barcode[];
|
records: MesWmBarcodeApi.Barcode[];
|
||||||
}) {
|
}) {
|
||||||
checkedIds.value = records.map((row) => row.id!).filter(Boolean);
|
checkedIds.value = records.map((item) => item.id!);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 刷新表格 */
|
/** 刷新表格 */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue