feat(mes): 添加假期类型常量及相关错误码,调整SOP和SIP模块的展示顺序
parent
debce44339
commit
435496bdbd
|
|
@ -254,5 +254,6 @@ export enum DICT_TYPE {
|
||||||
|
|
||||||
// ========== MES - 制造执行系统模块 ==========
|
// ========== MES - 制造执行系统模块 ==========
|
||||||
MES_CLIENT_TYPE = 'mes_client_type', // MES 客户类型
|
MES_CLIENT_TYPE = 'mes_client_type', // MES 客户类型
|
||||||
MES_VENDOR_LEVEL = 'mes_vendor_level' // MES 供应商级别
|
MES_VENDOR_LEVEL = 'mes_vendor_level', // MES 供应商级别
|
||||||
|
MES_CAL_HOLIDAY_TYPE = 'mes_cal_holiday_type' // MES 假期类型
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -124,12 +124,12 @@
|
||||||
<el-tab-pane label="替代品" name="substitute" lazy>
|
<el-tab-pane label="替代品" name="substitute" lazy>
|
||||||
<el-empty description="替代品(待实现)" />
|
<el-empty description="替代品(待实现)" />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="SOP" name="sop" lazy>
|
|
||||||
<MdProductSopForm :itemId="formData.id!" />
|
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane label="SIP" name="sip" lazy>
|
<el-tab-pane label="SIP" name="sip" lazy>
|
||||||
<MdProductSipForm :itemId="formData.id!" />
|
<MdProductSipForm :itemId="formData.id!" />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="SOP" name="sop" lazy>
|
||||||
|
<MdProductSopForm :itemId="formData.id!" />
|
||||||
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
|
<el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<!-- 添加 BOM 物料弹窗 -->
|
<!-- 添加 BOM 物料弹窗 -->
|
||||||
|
<!-- TODO @AI:这里实现不太对,调整成“物料产品选择”;这个组件,我们需要在 /Users/yunai/Java/yudao-all-in-one/yudao-ui-admin-vue3/src/views/mes/md/components 里搞一个,然后这里使用; -->
|
||||||
<Dialog title="添加 BOM 物料" v-model="addDialogVisible" width="500px">
|
<Dialog title="添加 BOM 物料" v-model="addDialogVisible" width="500px">
|
||||||
<el-form ref="addFormRef" :model="addFormData" :rules="addFormRules" label-width="100px">
|
<el-form ref="addFormRef" :model="addFormData" :rules="addFormRules" label-width="100px">
|
||||||
<el-form-item label="BOM 物料" prop="bomItemId">
|
<el-form-item label="BOM 物料" prop="bomItemId">
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,8 @@
|
||||||
<!-- 信息区域 -->
|
<!-- 信息区域 -->
|
||||||
<div class="p-10px">
|
<div class="p-10px">
|
||||||
<div class="font-bold text-14px mb-4px truncate">{{ item.title }}</div>
|
<div class="font-bold text-14px mb-4px truncate">{{ item.title }}</div>
|
||||||
|
<!-- TODO @AI:是不是改成 sort 字段;保持全局统一;如果别的地方也有 orderNumber,也调整下 -->
|
||||||
|
<!-- TODO @AI:下面的序号、工序都不展示; -->
|
||||||
<div class="text-12px color-gray mb-4px">序号:{{ item.orderNumber }}</div>
|
<div class="text-12px color-gray mb-4px">序号:{{ item.orderNumber }}</div>
|
||||||
<div v-if="item.processName" class="text-12px color-gray mb-4px">
|
<div v-if="item.processName" class="text-12px color-gray mb-4px">
|
||||||
工序:{{ item.processName }}
|
工序:{{ item.processName }}
|
||||||
|
|
@ -31,9 +33,9 @@
|
||||||
<!-- 操作按钮 -->
|
<!-- 操作按钮 -->
|
||||||
<div class="flex justify-end mt-8px">
|
<div class="flex justify-end mt-8px">
|
||||||
<el-button link type="primary" size="small" @click="openForm(item)">编辑</el-button>
|
<el-button link type="primary" size="small" @click="openForm(item)">编辑</el-button>
|
||||||
<el-button link type="danger" size="small" @click="handleDelete(item.id!)"
|
<el-button link type="danger" size="small" @click="handleDelete(item.id!)">
|
||||||
>删除</el-button
|
删除
|
||||||
>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
@ -50,6 +52,7 @@
|
||||||
<el-form-item label="标题" prop="title">
|
<el-form-item label="标题" prop="title">
|
||||||
<el-input v-model="formData.title" placeholder="请输入标题" />
|
<el-input v-model="formData.title" placeholder="请输入标题" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<!-- TODO @AI:展示顺序 -->
|
||||||
<el-form-item label="排列顺序" prop="orderNumber">
|
<el-form-item label="排列顺序" prop="orderNumber">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="formData.orderNumber"
|
v-model="formData.orderNumber"
|
||||||
|
|
@ -58,7 +61,7 @@
|
||||||
class="!w-1/1"
|
class="!w-1/1"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- TODO @芋艿:工序选择,等工序(pro_process)模块实现后对接下拉选择 -->
|
<!-- TODO @AI:内容说明 -->
|
||||||
<el-form-item label="详细描述" prop="description">
|
<el-form-item label="详细描述" prop="description">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="formData.description"
|
v-model="formData.description"
|
||||||
|
|
@ -67,6 +70,8 @@
|
||||||
placeholder="请输入详细描述"
|
placeholder="请输入详细描述"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<!-- TODO @芋艿:工序选择,等工序(pro_process)模块实现后对接下拉选择 -->
|
||||||
|
<!-- TODO @AI:先至少有个 input 手动填写;“所属工序” -->
|
||||||
<el-form-item label="图片" prop="url">
|
<el-form-item label="图片" prop="url">
|
||||||
<UploadImg v-model="formData.url" :limit="1" :is-show-tip="false" />
|
<UploadImg v-model="formData.url" :limit="1" :is-show-tip="false" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
<!-- MES 产品SOP 列表 -->
|
<!-- MES 产品SOP 列表 -->
|
||||||
|
<!-- TODO @AI:参考 /Users/yunai/Java/yudao-all-in-one/yudao-ui-admin-vue3/src/views/mes/md/item/MdProductSipForm.vue 类似改动; -->
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<el-button type="primary" plain size="small" @click="openForm(undefined)" class="mb-10px">
|
<el-button type="primary" plain size="small" @click="openForm(undefined)" class="mb-10px">
|
||||||
|
|
@ -31,9 +32,9 @@
|
||||||
<!-- 操作按钮 -->
|
<!-- 操作按钮 -->
|
||||||
<div class="flex justify-end mt-8px">
|
<div class="flex justify-end mt-8px">
|
||||||
<el-button link type="primary" size="small" @click="openForm(item)">编辑</el-button>
|
<el-button link type="primary" size="small" @click="openForm(item)">编辑</el-button>
|
||||||
<el-button link type="danger" size="small" @click="handleDelete(item.id!)"
|
<el-button link type="danger" size="small" @click="handleDelete(item.id!)">
|
||||||
>删除</el-button
|
删除
|
||||||
>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
@ -83,7 +84,6 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
// DONE @AI:方法注释,字段注释,记得写下
|
|
||||||
import { MdProductSopApi, MdProductSopVO } from '@/api/mes/md/item/productSop'
|
import { MdProductSopApi, MdProductSopVO } from '@/api/mes/md/item/productSop'
|
||||||
import { UploadImg } from '@/components/UploadFile'
|
import { UploadImg } from '@/components/UploadFile'
|
||||||
import { createImageViewer } from '@/components/ImageViewer'
|
import { createImageViewer } from '@/components/ImageViewer'
|
||||||
|
|
@ -120,7 +120,6 @@ const handlePreview = (url?: string) => {
|
||||||
const formDialogVisible = ref(false) // 弹窗是否可见
|
const formDialogVisible = ref(false) // 弹窗是否可见
|
||||||
const formDialogTitle = ref('') // 弹窗标题
|
const formDialogTitle = ref('') // 弹窗标题
|
||||||
const formRef = ref() // 表单 Ref
|
const formRef = ref() // 表单 Ref
|
||||||
/** 表单数据 */
|
|
||||||
const formData = ref({
|
const formData = ref({
|
||||||
id: undefined as number | undefined,
|
id: undefined as number | undefined,
|
||||||
itemId: undefined as number | undefined,
|
itemId: undefined as number | undefined,
|
||||||
|
|
@ -130,12 +129,11 @@ const formData = ref({
|
||||||
description: undefined as string | undefined,
|
description: undefined as string | undefined,
|
||||||
url: undefined as string | undefined,
|
url: undefined as string | undefined,
|
||||||
remark: undefined as string | undefined
|
remark: undefined as string | undefined
|
||||||
})
|
}) // 表单数据
|
||||||
/** 表单校验规则 */
|
|
||||||
const formRules = reactive({
|
const formRules = reactive({
|
||||||
title: [{ required: true, message: '标题不能为空', trigger: 'blur' }],
|
title: [{ required: true, message: '标题不能为空', trigger: 'blur' }],
|
||||||
orderNumber: [{ required: true, message: '排列顺序不能为空', trigger: 'blur' }]
|
orderNumber: [{ required: true, message: '排列顺序不能为空', trigger: 'blur' }]
|
||||||
})
|
}) // 表单校验规则
|
||||||
|
|
||||||
/** 打开新增/编辑表单 */
|
/** 打开新增/编辑表单 */
|
||||||
const openForm = (row?: MdProductSopVO) => {
|
const openForm = (row?: MdProductSopVO) => {
|
||||||
|
|
@ -204,5 +202,4 @@ watch(
|
||||||
},
|
},
|
||||||
{ immediate: true }
|
{ immediate: true }
|
||||||
)
|
)
|
||||||
// DONE @AI:通过 unocss 简化掉 style
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue