<script lang="ts" setup>
|
import { computed, ref } from 'vue';
|
|
import { useVbenModal } from '@vben/common-ui';
|
|
import { Table } from 'ant-design-vue';
|
|
import { getProcessListByParam } from '#/api/mes/pro/processdesign/processparam';
|
|
const emit = defineEmits(['success']);
|
|
const paramId = ref<number>();
|
const paramName = ref<string>('');
|
const loading = ref(false);
|
const processList = ref<{ id: number; code?: string; name?: string; attention?: string }[]>([]);
|
|
const getTitle = computed(() => `关联工序 - ${paramName.value || ''}`);
|
|
async function loadData() {
|
if (!paramId.value) {
|
return;
|
}
|
loading.value = true;
|
try {
|
processList.value = await getProcessListByParam(paramId.value);
|
} finally {
|
loading.value = false;
|
}
|
}
|
|
const [Modal, modalApi] = useVbenModal({
|
async onConfirm() {
|
await modalApi.close();
|
},
|
async onOpenChange(isOpen: boolean) {
|
if (!isOpen) {
|
paramId.value = undefined;
|
processList.value = [];
|
return;
|
}
|
const data = modalApi.getData<{ paramId: number; paramName?: string }>();
|
paramId.value = data.paramId;
|
paramName.value = data.paramName || '';
|
await loadData();
|
},
|
});
|
|
const columns = [
|
{ title: '工序编码', dataIndex: 'code', key: 'code' },
|
{ title: '工序名称', dataIndex: 'name', key: 'name' },
|
{ title: '工艺要求', dataIndex: 'attention', key: 'attention' },
|
];
|
</script>
|
|
<template>
|
<Modal :title="getTitle" class="w-2/5">
|
<Table
|
:columns="columns"
|
:data-source="processList"
|
:loading="loading"
|
:pagination="false"
|
row-key="id"
|
size="small"
|
>
|
<template #emptyText>
|
{{ loading ? '加载中…' : '该参数暂未被任何工序绑定' }}
|
</template>
|
</Table>
|
</Modal>
|
</template>
|