From 0e3db55c0301d324d63e3beb988f1ac52d6e3690 Mon Sep 17 00:00:00 2001
From: chenshuichuan <1154693969@qq.com>
Date: Mon, 8 Jul 2024 11:49:47 +0800
Subject: [PATCH] fix report
---
src/api/mes/orgworker/index.ts | 4 +
src/api/mes/producereport/index.ts | 5 +-
src/views/mes/producereport/AdminIndex.vue | 84 +++--
.../producereport/ProduceReportDetailForm.vue | 6 +-
.../components/AdminReplaceForm.vue | 303 ++++++++++++++++++
.../components/ProduceReportDetailForm.vue | 2 +-
.../components/ProduceReportDetailList.vue | 2 +-
src/views/mes/producereport/index.vue | 32 +-
src/views/mes/workteam/WorkTeamForm.vue | 5 +
.../components/WorkTeamDetailForm.vue | 4 +-
.../components/WorkTeamDetailList.vue | 3 +-
src/views/mes/workteam/index.vue | 2 +-
12 files changed, 417 insertions(+), 35 deletions(-)
create mode 100644 src/views/mes/producereport/components/AdminReplaceForm.vue
diff --git a/src/api/mes/orgworker/index.ts b/src/api/mes/orgworker/index.ts
index 0427dba8..f12af8c9 100644
--- a/src/api/mes/orgworker/index.ts
+++ b/src/api/mes/orgworker/index.ts
@@ -62,4 +62,8 @@ export const OrgWorkerApi = {
getOtherPersonalUser: async (params: any) => {
return await request.get({ url: `/mes/org-worker/getOtherPersonalUser`, params })
},
+ // 获得工位
+ getOrgWorkerListByOrgId: async (orgId: number) => {
+ return await request.get({ url: `/mes/org-worker/getOrgWorkerListByOrgId?orgId=`+orgId })
+ },
}
diff --git a/src/api/mes/producereport/index.ts b/src/api/mes/producereport/index.ts
index ec6de6aa..f86a32bd 100644
--- a/src/api/mes/producereport/index.ts
+++ b/src/api/mes/producereport/index.ts
@@ -42,7 +42,10 @@ export const ProduceReportApi = {
deleteProduceReport: async (id: number) => {
return await request.delete({ url: `/mes/produce-report/delete?id=` + id })
},
-
+// 更改报工单状态
+ updateStatus: async (id: number, status:number) => {
+ return await request.get({ url: `/mes/produce-report/updateStatus?id=` + id +'&status='+status})
+ },
// 导出生产报工单 Excel
exportProduceReport: async (params) => {
return await request.download({ url: `/mes/produce-report/export-excel`, params })
diff --git a/src/views/mes/producereport/AdminIndex.vue b/src/views/mes/producereport/AdminIndex.vue
index d5762618..ec0660a4 100644
--- a/src/views/mes/producereport/AdminIndex.vue
+++ b/src/views/mes/producereport/AdminIndex.vue
@@ -19,12 +19,13 @@
end-placeholder="结束日期"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
class="!w-240px"
+ @change="handleQuery"
/>
-
+
代报工
@@ -90,6 +90,7 @@
+
@@ -140,17 +141,47 @@
-
+
+ 提交
+
+
+ 通过
+
+
+ 驳回
+
+
+
编辑
+
+
+
+
diff --git a/src/views/mes/producereport/ProduceReportDetailForm.vue b/src/views/mes/producereport/ProduceReportDetailForm.vue
index 7bae05a0..63cdf38f 100644
--- a/src/views/mes/producereport/ProduceReportDetailForm.vue
+++ b/src/views/mes/producereport/ProduceReportDetailForm.vue
@@ -128,8 +128,8 @@
-
-
+
+
@@ -230,7 +230,7 @@ const open = async (type: string, id?: number) => {
if(productList.value.length ==1)
formData.value.productId = productList.value[0].id
- else if(type === 'create'){
+ if(type === 'create'){
formData.value.reportType = '个人'
formData.value.userId = userStore.getUser.id
}
diff --git a/src/views/mes/producereport/components/AdminReplaceForm.vue b/src/views/mes/producereport/components/AdminReplaceForm.vue
new file mode 100644
index 00000000..044ea66d
--- /dev/null
+++ b/src/views/mes/producereport/components/AdminReplaceForm.vue
@@ -0,0 +1,303 @@
+
+
+
+
diff --git a/src/views/mes/producereport/components/ProduceReportDetailForm.vue b/src/views/mes/producereport/components/ProduceReportDetailForm.vue
index 38873812..a91cdee7 100644
--- a/src/views/mes/producereport/components/ProduceReportDetailForm.vue
+++ b/src/views/mes/producereport/components/ProduceReportDetailForm.vue
@@ -52,7 +52,7 @@
-
+
diff --git a/src/views/mes/producereport/components/ProduceReportDetailList.vue b/src/views/mes/producereport/components/ProduceReportDetailList.vue
index 0b626065..52cbdbd2 100644
--- a/src/views/mes/producereport/components/ProduceReportDetailList.vue
+++ b/src/views/mes/producereport/components/ProduceReportDetailList.vue
@@ -7,7 +7,7 @@
-
+
diff --git a/src/views/mes/producereport/index.vue b/src/views/mes/producereport/index.vue
index 0dc9bf52..24035e25 100644
--- a/src/views/mes/producereport/index.vue
+++ b/src/views/mes/producereport/index.vue
@@ -90,15 +90,15 @@
align="center"
prop="reportDate"
:formatter="dateFormatter2"
- width="130px"
+ width="120px"
/>
-
+
-
+
@@ -127,6 +127,16 @@
+ 提交
+
+
{
await getList()
await getOrganizationTree()
})
+
+const updateStatus = async (id:number, status:number, type:string) => {
+ try {
+ // 二次确认
+ await message.confirm('确定'+type+"该报工单吗?")
+ // 发起导出
+ const data = await ProduceReportApi.updateStatus(id,status)
+ message.success(type+"报工单成功!")
+ // 刷新列表
+ await getList()
+ } catch {
+ } finally {
+ exportLoading.value = false
+ }
+}
diff --git a/src/views/mes/workteam/WorkTeamForm.vue b/src/views/mes/workteam/WorkTeamForm.vue
index 3972430f..537f4fbe 100644
--- a/src/views/mes/workteam/WorkTeamForm.vue
+++ b/src/views/mes/workteam/WorkTeamForm.vue
@@ -77,6 +77,8 @@ const formData = ref({
isEnable: undefined,
})
const formRules = reactive({
+ teamType: [{ required: true, message: '工序类型不能为空', trigger: 'blur' }],
+ groupType: [{ required: true, message: '班组类型不能为空', trigger: 'blur' }],
isEnable: [{ required: true, message: '是否启用不能为空', trigger: 'blur' }],
teamName: [{ required: true, message: '班组名称不能为空', trigger: 'blur' }]
})
@@ -88,6 +90,9 @@ const open = async (type: string, id?: number) => {
dialogTitle.value = t('action.' + type)
formType.value = type
resetForm()
+ formData.value.groupType = '1'
+ formData.value.teamType = 'chengxing'
+ formData.value.isEnable = true
// 修改时,设置数据
if (id) {
formLoading.value = true
diff --git a/src/views/mes/workteam/components/WorkTeamDetailForm.vue b/src/views/mes/workteam/components/WorkTeamDetailForm.vue
index 2a0aeeb5..0132037b 100644
--- a/src/views/mes/workteam/components/WorkTeamDetailForm.vue
+++ b/src/views/mes/workteam/components/WorkTeamDetailForm.vue
@@ -64,9 +64,9 @@ const formRules = reactive({
const formRef = ref() // 表单 Ref
const userList = ref([]) // 用户列表
/** 打开弹窗 */
-const open = async (type: string, id?: number, workTeamId: number) => {
+const open = async (type: string, id?: number, workTeamId: number, teamName?:string) => {
dialogVisible.value = true
- dialogTitle.value = t('action.' + type)
+ dialogTitle.value = t('action.' + type)+" ["+teamName+"] 成员"
formType.value = type
resetForm()
formData.value.workTeamId = workTeamId
diff --git a/src/views/mes/workteam/components/WorkTeamDetailList.vue b/src/views/mes/workteam/components/WorkTeamDetailList.vue
index d9cd5414..c1af1aa3 100644
--- a/src/views/mes/workteam/components/WorkTeamDetailList.vue
+++ b/src/views/mes/workteam/components/WorkTeamDetailList.vue
@@ -68,6 +68,7 @@ const message = useMessage() // 消息弹窗
const props = defineProps<{
workTeamId?: number // 班组id(主表的关联字段)
+ teamName?: string
}>()
const loading = ref(false) // 列表的加载中
const list = ref([]) // 列表的数据
@@ -116,7 +117,7 @@ const openForm = (type: string, id?: number) => {
message.error('请选择一个生产班组')
return
}
- formRef.value.open(type, id, props.workTeamId)
+ formRef.value.open(type, id, props.workTeamId, props.teamName)
}
/** 删除按钮操作 */
diff --git a/src/views/mes/workteam/index.vue b/src/views/mes/workteam/index.vue
index 51747c19..f018eb9d 100644
--- a/src/views/mes/workteam/index.vue
+++ b/src/views/mes/workteam/index.vue
@@ -143,7 +143,7 @@
-
+