From 101f800e1ec74d3b10db8145f6bcd7e0bb5f8e7d Mon Sep 17 00:00:00 2001
From: chenshuichuan <1154693969@qq.com>
Date: Mon, 1 Jul 2024 17:50:52 +0800
Subject: [PATCH] fix produce report
---
src/api/mes/orgworker/index.ts | 19 ++
src/api/mes/plan/index.ts | 4 +
src/api/mes/producereport/index.ts | 4 +
.../producereport/ProduceReportDetailForm.vue | 277 +++++++++++----
.../ProduceReportDetailIndex.vue | 138 ++++----
.../producereport/components/ReplaceForm.vue | 321 ++++++++++++++++++
6 files changed, 647 insertions(+), 116 deletions(-)
create mode 100644 src/views/mes/producereport/components/ReplaceForm.vue
diff --git a/src/api/mes/orgworker/index.ts b/src/api/mes/orgworker/index.ts
index 0bd9a2f1..9fb899ff 100644
--- a/src/api/mes/orgworker/index.ts
+++ b/src/api/mes/orgworker/index.ts
@@ -4,6 +4,8 @@ import request from '@/config/axios'
export interface OrgWorkerVO {
id: number // id
orgId: number // 工位id
+ orgType: string
+ orgName: string
workDate: Date // 工作日期
groupType: number // 班别
workerId: number // 工人id
@@ -46,4 +48,21 @@ export const OrgWorkerApi = {
getCreateWorker: async (params: any) => {
return await request.get({ url: `/mes/org-worker/createWorker`, params })
},
+
+ // 获得当前用户排班工位
+ getOrgWorkerList1: async (params: any) => {
+ return await request.get({ url: `/mes/org-worker/getOrgWorkerRespVO` , params })
+ },
+ // 获得当前用户管理的工人排班工位
+ getOrgWorkerList2: async (params: any) => {
+ return await request.get({ url: `/mes/org-worker/getOtherOrgWorkerRespVO` , params })
+ },
+ // 获得当前用户列表
+ getPersonalUser: async () => {
+ return await request.get({ url: `/mes/org-worker/getPersonalUser` })
+ },
+ // 获得当前用户管理的用户列表
+ getOtherPersonalUser: async () => {
+ return await request.get({ url: `/mes/org-worker/getOtherPersonalUser` })
+ },
}
diff --git a/src/api/mes/plan/index.ts b/src/api/mes/plan/index.ts
index 8389d183..a8715659 100644
--- a/src/api/mes/plan/index.ts
+++ b/src/api/mes/plan/index.ts
@@ -67,4 +67,8 @@ export const PlanApi = {
updatePlanStatus: async (data: PlanVO) => {
return await request.put({ url: `/mes/plan/updateStatus`, data })
},
+ // 查询正在开工和完工的计划的产品列表
+ getStartAndFinishPlanProduct: async () => {
+ return await request.get({ url: `/mes/plan/getProductByStatus` })
+ },
}
diff --git a/src/api/mes/producereport/index.ts b/src/api/mes/producereport/index.ts
index c89e12fa..71d85397 100644
--- a/src/api/mes/producereport/index.ts
+++ b/src/api/mes/producereport/index.ts
@@ -93,6 +93,10 @@ export interface ProduceReportDetailVO {
reportDate: Date // 报工日期
reportTime: string // 计件时间
reportStatus: number // 报工状态
+ groupType: number //班别
+ reportType: string
+ orgType: string
+ reportDateString: string
}
// 生产报工明细 API
diff --git a/src/views/mes/producereport/ProduceReportDetailForm.vue b/src/views/mes/producereport/ProduceReportDetailForm.vue
index 534dac86..8a0a579a 100644
--- a/src/views/mes/producereport/ProduceReportDetailForm.vue
+++ b/src/views/mes/producereport/ProduceReportDetailForm.vue
@@ -7,57 +7,144 @@
label-width="100px"
v-loading="formLoading"
>
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+ {{ dict.label }}
+
+
+
+
+
+
+
+
+ {{ dict.label }}
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
-
-
-
-
-
-
- {{ dict.label }}
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -67,14 +154,24 @@
diff --git a/src/views/mes/producereport/ProduceReportDetailIndex.vue b/src/views/mes/producereport/ProduceReportDetailIndex.vue
index 7e7a6d3a..d9d4409d 100644
--- a/src/views/mes/producereport/ProduceReportDetailIndex.vue
+++ b/src/views/mes/producereport/ProduceReportDetailIndex.vue
@@ -8,58 +8,59 @@
:inline="true"
label-width="68px"
>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
搜索
重置
@@ -72,10 +73,10 @@
报工
代报工
@@ -101,9 +102,8 @@
-
-
+
@@ -126,7 +126,7 @@
/>
-
+
@@ -174,12 +174,19 @@ import {dateFormatter, dateFormatter2} from '@/utils/formatTime'
import download from '@/utils/download'
import { ProduceReportDetailApi, ProduceReportDetailVO } from '@/api/mes/producereport'
import ProduceReportDetailForm from './ProduceReportDetailForm.vue'
+import {defaultProps, handleTree} from "@/utils/tree";
+import * as UserApi from "@/api/system/user";
+import {OrganizationApi} from "@/api/mes/organization";
+import {ProductApi, ProductVO} from "@/api/erp/product/product";
/** 生产报工明细 列表 */
defineOptions({ name: 'ProduceReportDetail' })
const message = useMessage() // 消息弹窗
const { t } = useI18n() // 国际化
+const userList = ref([]) // 用户列表
+const organizationTree = ref() // 树形结构
+const productList = ref([]) // 产品列表
const loading = ref(true) // 列表的加载中
const list = ref([]) // 列表的数据
@@ -266,9 +273,22 @@ const handleExport = async () => {
}
}
+/** 获得产线工位树 */
+const getOrganizationTree = async () => {
+ organizationTree.value = []
+ const data = await OrganizationApi.getOrganizationList()
+ const root: Tree = { id: 0, name: 'ALL', children: [] }
+ root.children = handleTree(data, 'id', 'parentId')
+ organizationTree.value.push(root)
+}
/** 初始化 **/
-onMounted(() => {
- getList()
+onMounted(async () => {
+ await getList()
+ await getOrganizationTree()
+ // 加载用户列表
+ userList.value = await UserApi.getSimpleUserList()
+ // 加载产品、
+ productList.value = await ProductApi.getMesProductSimpleList()
})
/** tab 切换 */
const handleTabClick = (tab: TabsPaneContext) => {
diff --git a/src/views/mes/producereport/components/ReplaceForm.vue b/src/views/mes/producereport/components/ReplaceForm.vue
new file mode 100644
index 00000000..72b38d3b
--- /dev/null
+++ b/src/views/mes/producereport/components/ReplaceForm.vue
@@ -0,0 +1,321 @@
+
+
+
+