diff --git a/src/api/mes/plan/index.ts b/src/api/mes/plan/index.ts
index 2af6a4ee..7ddf759a 100644
--- a/src/api/mes/plan/index.ts
+++ b/src/api/mes/plan/index.ts
@@ -64,6 +64,10 @@ export const PlanApi = {
arrangePlan: async (data: ItemRequisitionVO) => {
return await request.put({ url: `/mes/plan/paigong`, data })
},
+ // 派工生产计划
+ arrangePlanNum: async (data: ItemRequisitionVO) => {
+ return await request.put({ url: `/mes/plan/typePaigong`, data })
+ },
// 更新状态生产计划
updatePlanStatus: async (data: PlanVO) => {
return await request.put({ url: `/mes/plan/updateStatus`, data })
diff --git a/src/layout/components/Footer/src/Footer.vue b/src/layout/components/Footer/src/Footer.vue
index 3d6186c5..dc6cb124 100644
--- a/src/layout/components/Footer/src/Footer.vue
+++ b/src/layout/components/Footer/src/Footer.vue
@@ -20,7 +20,7 @@ const title = computed(() => appStore.getTitle)
:class="prefixCls"
class="h-[var(--app-footer-height)] bg-[var(--app-content-bg-color)] text-center leading-[var(--app-footer-height)] text-[var(--el-text-color-placeholder)] dark:bg-[var(--el-bg-color)] overflow-hidden"
>
- Copyright ©2024-BESURE-{{ title }}
+ Copyright ©2026-BESURE-{{ title }}
操作手册
diff --git a/src/utils/dict.ts b/src/utils/dict.ts
index 3522a338..84b2bbe9 100644
--- a/src/utils/dict.ts
+++ b/src/utils/dict.ts
@@ -253,6 +253,8 @@ export enum DICT_TYPE {
MES_MOLD_RECORD_TYPE = "mes_mold_record_type",
MES_PASS_OR_NOPASS = "mes_pass_or_nopass",
MES_MANTAIN_LEVEL = "mes_mantain_level",
+ MOLD_GET_STATUS = "mold_get_status",
+ MES_PRE_PRODUCTION = "mes_pre_production",
//====iot
IOT_SIEMENS_TYPE = "iot_siemens_type",
IOT_MODBUS_TYPE = "iot_modbus_type",
diff --git a/src/views/erp/mold/MoldBrandForm.vue b/src/views/erp/mold/MoldBrandForm.vue
index f9170cd5..2bd5f252 100644
--- a/src/views/erp/mold/MoldBrandForm.vue
+++ b/src/views/erp/mold/MoldBrandForm.vue
@@ -35,16 +35,15 @@
-
-
+
+
-
+
-
-
- {{ dict.label }}
-
-
+
-
+
+
+
+ 投料类型
+
+
+
+
+
([]) // 产品列表
@@ -98,7 +109,6 @@ const formData = ref({
feedingRecordCode: undefined,
productId: undefined,
planId: undefined,
- productId: undefined,
itemId: undefined,
feedingPipeline: undefined,
feedingType: undefined,
@@ -109,7 +119,8 @@ const formData = ref({
recordStatus: undefined,
})
const formRules = reactive({
- feedingType: [{ required: true, message: '投料类型不能为空', trigger: 'blur' }]
+ feedingType: [{ required: true, message: '投料类型不能为空', trigger: 'blur' }],
+ feedingPipeline: [{ required: true, message: '制浆线不能为空', trigger: 'blur' }]
})
const formRef = ref() // 表单 Ref
@@ -122,10 +133,8 @@ const open = async (type: string, id?: number) => {
dialogVisible.value = true
dialogTitle.value = t('action.' + type)
formType.value = type
-
resetForm()
formData.value.feedingType = 'org'
- formData.value.feedingPipeline = 'zhijiang2'
// 修改时,设置数据
if (id) {
formLoading.value = true
@@ -137,6 +146,8 @@ const open = async (type: string, id?: number) => {
}
// 加载产品、
productList.value = await ProductApi.getMesProductSimpleList()
+ // 加载组织
+ await getOrganizationTree()
}
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
@@ -195,4 +206,14 @@ const resetForm = () => {
}
formRef.value?.resetFields()
}
+
+/** 获得产线工位树 */
+const getOrganizationTree = async () => {
+ organizationTree.value = []
+ const req = {orgClass:'pipeline'}
+ const data = await OrganizationApi.getOrganizationList(req)
+ const root: Tree = { id: 0, name: '顶级产线工位', children: [] }
+ root.children = handleTree(data, 'id', 'parentId')
+ organizationTree.value.push(root)
+}
diff --git a/src/views/mes/feedingrecord/components/FeedingRecordDetailList.vue b/src/views/mes/feedingrecord/components/FeedingRecordDetailList.vue
index d4d8ab8f..0339206d 100644
--- a/src/views/mes/feedingrecord/components/FeedingRecordDetailList.vue
+++ b/src/views/mes/feedingrecord/components/FeedingRecordDetailList.vue
@@ -6,7 +6,7 @@
-
+
diff --git a/src/views/mes/feedingrecord/index.vue b/src/views/mes/feedingrecord/index.vue
index 173556ff..bf608ac6 100644
--- a/src/views/mes/feedingrecord/index.vue
+++ b/src/views/mes/feedingrecord/index.vue
@@ -17,24 +17,17 @@
class="!w-240px"
/>
-
-
-
-
+
-
-
-
-
-
-
+
-
+
@@ -135,7 +124,7 @@
width="180px"
/>
-
+
- 提交
+ 投料
@@ -187,13 +176,14 @@ import download from '@/utils/download'
import { FeedingRecordApi, FeedingRecordVO } from '@/api/mes/feedingrecord'
import FeedingRecordForm from './FeedingRecordForm.vue'
import FeedingRecordDetailList from './components/FeedingRecordDetailList.vue'
-
+import { OrganizationApi, OrganizationVO } from '@/api/mes/organization'
+import { defaultProps, handleTree } from '@/utils/tree'
/** 投料记录 列表 */
defineOptions({ name: 'FeedingRecord' })
const message = useMessage() // 消息弹窗
const { t } = useI18n() // 国际化
-
+const organizationTree = ref() // 树形结构
const loading = ref(true) // 列表的加载中
const list = ref([]) // 列表的数据
const total = ref(0) // 列表的总页数
@@ -276,6 +266,8 @@ const handleExport = async () => {
/** 初始化 **/
onMounted(() => {
+ // 加载组织
+ getOrganizationTree()
getList()
})
/** 提交记录操作 */
@@ -283,7 +275,6 @@ const handleUpdateStatus = async (id: number, status:string) => {
try {
// 二次确认
await message.confirm("确认提交投料记录?", "一旦提交成功无法撤回!")
- // 发起删除
await FeedingRecordApi.updateFeedingRecordStatus(id,status)
message.success("提交成功!")
// 刷新列表
@@ -297,4 +288,14 @@ const handleTabClick = (tab: TabsPaneContext) => {
queryParams.feedingType = tab.paneName
handleQuery()
}
+
+/** 获得产线工位树 */
+const getOrganizationTree = async () => {
+ organizationTree.value = []
+ const req = {orgClass:'pipeline'}
+ const data = await OrganizationApi.getOrganizationList(req)
+ const root: Tree = { id: 0, name: '顶级产线工位', children: [] }
+ root.children = handleTree(data, 'id', 'parentId')
+ organizationTree.value.push(root)
+}
diff --git a/src/views/mes/itemrequisition/components/ItemRequisitionDetailList.vue b/src/views/mes/itemrequisition/components/ItemRequisitionDetailList.vue
index 82e3a499..7ddd99cc 100644
--- a/src/views/mes/itemrequisition/components/ItemRequisitionDetailList.vue
+++ b/src/views/mes/itemrequisition/components/ItemRequisitionDetailList.vue
@@ -2,7 +2,7 @@
-
+
@@ -11,7 +11,7 @@
-
+
@@ -39,11 +39,6 @@ const getList = async () => {
}
}
-/** 搜索按钮操作 */
-const handleQuery = () => {
- queryParams.pageNo = 1
- getList()
-}
/** 初始化 **/
onMounted(() => {
diff --git a/src/views/mes/itemrequisition/index.vue b/src/views/mes/itemrequisition/index.vue
index 7d881490..d593abdd 100644
--- a/src/views/mes/itemrequisition/index.vue
+++ b/src/views/mes/itemrequisition/index.vue
@@ -96,11 +96,7 @@
-
-
-
-
-
+
-
+ /> -->
-
+
diff --git a/src/views/mes/moldget/index.vue b/src/views/mes/moldget/index.vue
index 973a9b18..20f5c80a 100644
--- a/src/views/mes/moldget/index.vue
+++ b/src/views/mes/moldget/index.vue
@@ -36,13 +36,19 @@
/>
-
+ >
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
+
@@ -48,34 +46,6 @@
-
-
-
-
-
-
-
-
-
-
-
- {{ dict.label }}
-
-
-
-
-
@@ -85,12 +55,11 @@