155 lines
4.3 KiB
Vue
155 lines
4.3 KiB
Vue
import { BasicColumn, FormSchema } from '/@/components/Table';
|
|
import { loadTreeData } from '/@/api/common/api';
|
|
import { queryEquipmentById } from './MesXslDayTankMaterialMap.api';
|
|
|
|
function useStatusText(v: unknown) {
|
|
if (v === 1) return '使用中';
|
|
if (v === 0) return '停用';
|
|
return '-';
|
|
}
|
|
|
|
function allowSyncText(v: unknown) {
|
|
if (v === 1) return '允许';
|
|
if (v === 0) return '不允许';
|
|
return '-';
|
|
}
|
|
|
|
const useStatusOptions = [
|
|
{ label: '使用中', value: 1 },
|
|
{ label: '停用', value: 0 },
|
|
];
|
|
|
|
const allowSyncOptions = [
|
|
{ label: '允许', value: 1 },
|
|
{ label: '不允许', value: 0 },
|
|
];
|
|
|
|
export const columns: BasicColumn[] = [
|
|
{ title: '机台代码', align: 'center', dataIndex: 'machineCode', width: 140 },
|
|
{ title: '机台名称', align: 'center', dataIndex: 'equipmentId_dictText', width: 160 },
|
|
{ title: '料仓分类', align: 'center', dataIndex: 'siloCategoryId_dictText', width: 140 },
|
|
{ title: '工位', align: 'center', dataIndex: 'station', width: 120 },
|
|
{ title: '料仓号', align: 'center', dataIndex: 'siloNo', width: 120 },
|
|
{ title: '物料名称', align: 'center', dataIndex: 'materialId_dictText', width: 160 },
|
|
{
|
|
title: '使用状态',
|
|
align: 'center',
|
|
dataIndex: 'useStatus',
|
|
width: 120,
|
|
customRender: ({ text }) => useStatusText(text),
|
|
},
|
|
{
|
|
title: '是否允许同步',
|
|
align: 'center',
|
|
dataIndex: 'allowSync',
|
|
width: 120,
|
|
customRender: ({ text }) => allowSyncText(text),
|
|
},
|
|
];
|
|
|
|
export const searchFormSchema: FormSchema[] = [
|
|
{
|
|
label: '机台名称',
|
|
field: 'equipmentId',
|
|
component: 'JDictSelectTag',
|
|
componentProps: { dictCode: 'mes_xsl_equipment_ledger,equipment_name,id' },
|
|
colProps: { span: 6 },
|
|
},
|
|
{
|
|
label: '物料名称',
|
|
field: 'materialId',
|
|
component: 'JDictSelectTag',
|
|
componentProps: { dictCode: 'mes_material,material_name,id' },
|
|
colProps: { span: 6 },
|
|
},
|
|
{
|
|
label: '料仓分类',
|
|
field: 'siloCategoryId',
|
|
component: 'ApiSelect',
|
|
componentProps: {
|
|
api: loadTreeData,
|
|
params: { pcode: 'XSLMES_LCTYPE' },
|
|
resultField: '',
|
|
labelField: 'title',
|
|
valueField: 'key',
|
|
placeholder: '请选择料仓分类',
|
|
},
|
|
colProps: { span: 6 },
|
|
},
|
|
{
|
|
label: '使用状态',
|
|
field: 'useStatus',
|
|
component: 'Select',
|
|
componentProps: { options: useStatusOptions },
|
|
colProps: { span: 6 },
|
|
},
|
|
];
|
|
|
|
export const formSchema: FormSchema[] = [
|
|
{ label: '', field: 'id', component: 'Input', show: false },
|
|
{
|
|
label: '机台名称',
|
|
field: 'equipmentId',
|
|
component: 'JDictSelectTag',
|
|
required: true,
|
|
componentProps: ({ formModel }) => ({
|
|
dictCode: 'mes_xsl_equipment_ledger,equipment_name,id',
|
|
placeholder: '请选择设备台账中的机台名称',
|
|
onChange: async (value: string) => {
|
|
if (!value) {
|
|
formModel.machineCode = '';
|
|
return;
|
|
}
|
|
try {
|
|
const equipment = await queryEquipmentById({ id: value });
|
|
formModel.machineCode = equipment?.equipmentCode || '';
|
|
} catch {
|
|
formModel.machineCode = '';
|
|
}
|
|
},
|
|
}),
|
|
},
|
|
{
|
|
label: '机台代码',
|
|
field: 'machineCode',
|
|
component: 'Input',
|
|
componentProps: { disabled: true, placeholder: '选择机台名称后自动带出设备编号' },
|
|
},
|
|
{
|
|
label: '料仓分类',
|
|
field: 'siloCategoryId',
|
|
component: 'ApiSelect',
|
|
componentProps: {
|
|
api: loadTreeData,
|
|
params: { pcode: 'XSLMES_LCTYPE' },
|
|
resultField: '',
|
|
labelField: 'title',
|
|
valueField: 'key',
|
|
placeholder: '请选择料仓分类',
|
|
},
|
|
},
|
|
{ label: '工位', field: 'station', component: 'Input' },
|
|
{ label: '料仓号', field: 'siloNo', component: 'Input' },
|
|
{
|
|
label: '物料名称',
|
|
field: 'materialId',
|
|
component: 'JDictSelectTag',
|
|
required: true,
|
|
componentProps: { dictCode: 'mes_material,material_name,id', placeholder: '请选择胶料信息中的物料名称' },
|
|
},
|
|
{
|
|
label: '使用状态',
|
|
field: 'useStatus',
|
|
component: 'Select',
|
|
defaultValue: 1,
|
|
componentProps: { options: useStatusOptions },
|
|
},
|
|
{
|
|
label: '是否允许同步',
|
|
field: 'allowSync',
|
|
component: 'Select',
|
|
defaultValue: 1,
|
|
componentProps: { options: allowSyncOptions },
|
|
},
|
|
];
|