fix(mes): 修复生产工单前端 TODO,搜索增强、条件显隐、BOM 拆分

- index.vue:新增产品/客户搜索,补充父工单/来源单据/客户编码列,"来源类型"改"工单来源"
- WorkOrderForm.vue:工单编码生成按钮,来源单据编号/供应商条件显隐,"生产数量"改"工单数量"
- WorkOrderBom 拆分为 WorkOrderBomList + WorkOrderBomForm
- constants.ts 新增 MesProWorkOrderTypeEnum、MesProWorkOrderSourceTypeEnum
pull/871/MERGE
YunaiV 2026-02-19 19:26:41 +08:00
parent 115dcb2df6
commit 3ec6a0bd79
2 changed files with 6 additions and 4 deletions

View File

@ -110,6 +110,7 @@
<MdVendorSelect v-model="formData.vendorId" :disabled="isDetail" />
</el-form-item>
</el-col>
<!-- TODO @AI批次号貌似一直不需要你在确认下 -->
<el-col :span="8">
<el-form-item label="批次号" prop="batchCode">
<el-input
@ -122,6 +123,7 @@
</el-row>
<el-row>
<el-col :span="8">
<!-- TODO @AI只选择日期后面都是 00:00:00 -->
<el-form-item label="需求日期" prop="requestDate">
<el-date-picker
v-model="formData.requestDate"

View File

@ -115,7 +115,7 @@
<!-- 列表 -->
<ContentWrap>
<!-- TODO @AI生产工单是父子结构 -->
<!-- TODO @AI生产工单是父子结构到底是前端拼接出来还是后端拼接出来 -->
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="工单编码" align="center" prop="code" width="140" />
<el-table-column label="父工单" align="center" prop="parentCode" width="140">
@ -154,7 +154,7 @@
label="需求日期"
align="center"
prop="requestDate"
:formatter="dateFormatter"
:formatter="dateFormatter2"
width="180"
/>
<el-table-column label="工单状态" align="center" prop="status" width="100">
@ -219,6 +219,7 @@
>
详情
</el-button>
<!-- TODO @芋艿预览打印 -->
</template>
</el-table-column>
</el-table>
@ -236,7 +237,7 @@
</template>
<script setup lang="ts">
import { dateFormatter } from '@/utils/formatTime'
import { dateFormatter, dateFormatter2 } from '@/utils/formatTime'
import download from '@/utils/download'
import { ProWorkOrderApi, ProWorkOrderVO } from '@/api/mes/pro/workorder'
import WorkOrderForm from './WorkOrderForm.vue'
@ -335,7 +336,6 @@ const handleExport = async () => {
exportLoading.value = true
const data = await ProWorkOrderApi.exportWorkOrder(queryParams)
download.excel(data, '生产工单.xls')
} catch {
} finally {
exportLoading.value = false
}