This commit is contained in:
andy 2026-05-26 15:22:23 +08:00
parent da45bb7597
commit edceeafe48
4 changed files with 39 additions and 54 deletions

4
package-lock.json generated
View File

@ -1,11 +1,11 @@
{
"name":"csy-ui",
"name": "mes",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "csy-ui",
"name": "mes",
"version": "1.0.0",
"dependencies": {
"@vicons/ionicons5": "^0.12.0",

View File

@ -2,8 +2,8 @@ import { request } from '@/utils/request'
// 生产订单 类型定义
export interface OrderItem {
id?: number
id?: number,
productionCode?: string
name?: string
code?: string
@ -13,6 +13,7 @@ export interface OrderItem {
quantity?: number
projectId?: number
projectName?: string
parentId?: number

View File

@ -118,9 +118,9 @@ const routes: RouteRecordRaw[] = [
},
//运营管理
{
path: 'biz/product',
path: 'biz/orderItem',
name: 'product',
component: () => import('@/views/biz/product/index.vue'),
component: () => import('@/views/biz/orderItem/index.vue'),
meta: { title: '商品管理', icon: 'ListOutline' }
},
{

View File

@ -36,20 +36,20 @@
<n-space>
<n-button type="primary" @click="handleAdd">
<template #icon><n-icon><AddOutline /></n-icon></template>
新增
新增/补单
</n-button>
<n-button @click="importModalVisible = true">
<!-- <n-button @click="importModalVisible = true">
<template #icon><n-icon><CloudUploadOutline /></n-icon></template>
导入
</n-button>
<n-button @click="handleExport">
<template #icon><n-icon><DownloadOutline /></n-icon></template>
导出{{ selectedIds.length > 0 ? `(${selectedIds.length})` : '' }}
</n-button>
<n-button type="error" :disabled="selectedIds.length === 0" @click="handleBatchDelete">
</n-button> -->
<!-- <n-button type="error" :disabled="selectedIds.length === 0" @click="handleBatchDelete">
<template #icon><n-icon><TrashOutline /></n-icon></template>
删除
</n-button>
</n-button> -->
</n-space>
</div>
@ -70,57 +70,39 @@
<!-- 新增/编辑弹窗 -->
<n-modal v-model:show="modalVisible" preset="card" :title="modalTitle" style="width: 600px">
<n-form ref="formRef" :model="formData" :rules="formRules" label-placement="left" label-width="100px">
<n-form-item label="生产令号" path="productionCode">
<n-input v-model:value="formData.productionCode" placeholder="请输入生产令号" />
</n-form-item>
<n-form-item label="物料名称" path="name">
<n-input v-model:value="formData.name" placeholder="请输入物料名称" />
<n-input v-model:value="formData.name" placeholder="请输入物料名称" readonly />
</n-form-item>
<n-form-item label="物料编码" path="code">
<n-input v-model:value="formData.code" placeholder="请输入物料编码" />
<n-input v-model:value="formData.code" placeholder="请输入物料编码" readonly />
</n-form-item>
<n-form-item label="产品序列" path="sort">
<n-input v-model:value="formData.sort" placeholder="请输入产品序列" />
<n-input v-model:value="formData.sort" placeholder="请输入产品序列" readonly />
</n-form-item>
<n-form-item label="生产数量" path="quantity">
<n-input v-model:value="formData.quantity" placeholder="请输入生产数量" />
<n-input v-model:value="formData.quantity" placeholder="请输入生产数量" readonly />
</n-form-item>
<n-form-item label="产品id" path="projectId">
<n-input v-model:value="formData.projectId" placeholder="请输入产品id" />
<n-form-item label="产品名称" path="projectName">
<n-input v-model:value="formData.projectName" placeholder="请输入产品名称" readonly />
</n-form-item>
<n-form-item label="父主键id" path="parentId">
<n-input v-model:value="formData.parentId" placeholder="请输入父主键id" />
</n-form-item>
<n-form-item label="是否半成品, 1是 0不是" path="sfProduct">
<n-form-item label="是否半成品" path="sfProduct">
<n-input v-model:value="formData.sfProduct" placeholder="请输入是否半成品, 1是 0不是" />
</n-form-item>
<n-form-item label="是否采购, 1是 0不是" path="procurement">
<n-form-item label="是否采购" path="procurement">
<n-input v-model:value="formData.procurement" placeholder="请输入是否采购, 1是 0不是" />
</n-form-item>
<n-form-item label="开始时间" path="beginTime">
<n-form-item label="预计开始时间" path="beginTime">
<n-date-picker v-model:value="formData.beginTime" type="datetime" clearable style="width: 100%" />
</n-form-item>
<n-form-item label="结束时间" path="endTime">
<n-form-item label="预计结束时间" path="endTime">
<n-date-picker v-model:value="formData.endTime" type="datetime" clearable style="width: 100%" />
</n-form-item>
<n-form-item label="实际开始时间" path="actualStartTime">
<n-date-picker v-model:value="formData.actualStartTime" type="datetime" clearable style="width: 100%" />
</n-form-item>
<n-form-item label="实际结束时间" path="actualEndTime">
<n-date-picker v-model:value="formData.actualEndTime" type="datetime" clearable style="width: 100%" />
</n-form-item>
<n-form-item label="派工接收人" path="assingWorkId">
<n-input v-model:value="formData.assingWorkId" placeholder="请输入派工接收人" />
</n-form-item>
<n-form-item label="派工时间" path="assingWorkTime">
<n-date-picker v-model:value="formData.assingWorkTime" type="datetime" clearable style="width: 100%" />
</n-form-item>
<n-form-item label="派工操作人" path="assingWorkOperationId">
<n-input v-model:value="formData.assingWorkOperationId" placeholder="请输入派工操作人" />
</n-form-item>
<n-form-item label="派工操作时间;派工操作时间" path="assingWorkOperationTime">
<n-date-picker v-model:value="formData.assingWorkOperationTime" type="datetime" clearable style="width: 100%" />
</n-form-item>
<n-form-item label="是否开工;是否开工" path="starter">
<n-input v-model:value="formData.starter" placeholder="请输入是否开工;是否开工" />
</n-form-item>
</n-form>
<template #footer>
<n-space justify="end">
@ -198,11 +180,14 @@ const modalTitle = ref('')
const importModalVisible = ref(false)
const formRef = ref()
const defaultFormData: OrderItem = {
id: undefined,
productionCode:'',
name: '',
code: '',
sort: undefined,
quantity: undefined,
projectId: undefined,
projectName:'',
parentId: undefined,
sfProduct: undefined,
procurement: undefined,
@ -227,26 +212,25 @@ const formRules = {
//
const columns: DataTableColumns<OrderItem> = [
{ type: 'selection' },
{ title: '主键id', key: 'id' },
{ title: '产品名称', key: 'projectName' },
{ title: '物料名称', key: 'name' },
{ title: '物料编码', key: 'code' },
{ title: '产品序列', key: 'sort' },
{ title: '生产数量', key: 'quantity' },
{ title: '产品id', key: 'projectId' },
{ title: '是否半成品, 1是 0不是', key: 'sfProduct' },
{ title: '是否采购, 1是 0不是', key: 'procurement' },
{ title: '是否半成品', key: 'sfProduct' },
{ title: '是否采购', key: 'procurement' },
{ title: '开始时间', key: 'beginTime' },
{ title: '结束时间', key: 'endTime' },
{ title: '实际开始时间', key: 'actualStartTime' },
{ title: '实际结束时间', key: 'actualEndTime' },
{ title: '备注', key: 'remark' },
{ title: '创建时间', key: 'createTime', width: 180 },
{ title: '创建人', key: 'createBy' },
{ title: '派工接收人', key: 'assingWorkId' },
{ title: '派工操作人', key: 'assingWorkOperationName' },
{ title: '派工操作时间', key: 'assingWorkOperationTime' },
{ title: '派工接收人', key: 'assingWorkName' },
{ title: '派工时间', key: 'assingWorkTime' },
{ title: '派工操作人', key: 'assingWorkOperationId' },
{ title: '派工操作时间;派工操作时间', key: 'assingWorkOperationTime' },
{ title: '是否开工;是否开工', key: 'starter' },
{ title: '是否开工', key: 'starter' },
{ title: '备注', key: 'remark' },
// { title: '', key: 'createTime', width: 100 },
// { title: '', key: 'createBy' },
{
title: '操作',
key: 'actions',
@ -258,7 +242,7 @@ const columns: DataTableColumns<OrderItem> = [
default: () => [h(NIcon, null, { default: () => h(CreateOutline) }), ' 编辑']
}),
h(NButton, { size: 'small', quaternary: true, type: 'error', onClick: () => handleDelete(row) }, {
default: () => [h(NIcon, null, { default: () => h(TrashOutline) }), ' 删除']
default: () => [h(NIcon, null, { default: () => h(TrashOutline) }), ' 派工']
})
])
}