fix work report

main
chenshuichuan 2 years ago
parent 03ee877f9b
commit 6aa15b1829

@ -91,7 +91,7 @@ export interface ProduceReportDetailVO {
wasteNumber: number // 废品数量
totalNumber: number // 总数量
reportDate: Date // 报工日期
reportTime: string // 计件时间
reportTime: number // 计件时间
reportStatus: number // 报工状态
groupType: number //班别
reportType: string

@ -11,7 +11,35 @@ export interface WorkReportPlanVO {
reportTimePlan: string // 计件时间
totalTimePlan: number // 总时长
}
export interface ReportPlanViewVO {
id: number // id
reportId: number // 报工单id
planId: number // 计划id
productId: number // 产品ID
qualityNumberPlan: number // 成品数量
wasteNumberPlan: number // 废品数量
reportTimePlan: string // 计件时间
totalTimePlan: number // 总时长
userId: number // 用户ID
orgId: number // 组织ID
qualityRate: number // 成品率
wasteReason: string // 备注
totalTime: number // 总时长
packageNumber: number // 打包数量
remark: string // 备注
isEnable: boolean // 是否启用
qualityNumber: number // 成品数量
wasteNumber: number // 废品数量
totalNumber: number // 总数量
reportDate: Date // 报工日期
reportTime: string // 计件时间
reportStatus: number // 报工状态
groupType: number //班别
reportType: string
orgType: string
reportDateString: string
}
// 报工分配计划 API
export const WorkReportPlanApi = {
// 查询报工分配计划分页
@ -42,5 +70,10 @@ export const WorkReportPlanApi = {
// 导出报工分配计划 Excel
exportWorkReportPlan: async (params) => {
return await request.download({ url: `/mes/work-report-plan/export-excel`, params })
}
}
},
// 查询报工分配计划视图分页
getReportPlanViewPage: async (params: any) => {
return await request.get({ url: `/mes/work-report-plan/pageView`, params })
},
}

@ -246,6 +246,7 @@ export enum DICT_TYPE {
MES_FEEDING_PIPELINE = "mes_feeding_pipeline",
MES_STOCK_WORKSHOP_DETAIL_TYPE = "mes_stock_workshop_detail_type",
MES_STOCK_OUT_TYPE = "mes_stock_out_type",
MES_PRODUCE_REPORT_TYPE = "mes_product_report_type",
//====iot
IOT_SIEMENS_TYPE = "iot_siemens_type",
IOT_MODBUS_TYPE = "iot_modbus_type",

@ -200,6 +200,7 @@ const formData = ref({
reportTime: undefined,
reportStatus: undefined,
reportDateString: undefined,
reportType: undefined
})
const formRules = reactive({
reportDate: [{ required: true, message: '日期不能为空', trigger: 'blur' }],
@ -257,13 +258,14 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
/** 提交表单 */
const emit = defineEmits(['success']) // success
const submitForm = async () => {
const submitForm = async (reportType?:string) => {
//
await formRef.value.validate()
//
formLoading.value = true
try {
formData.value.reportDateString = formData.value.reportDate
formData.value.reportType = reportType
const data = formData.value as unknown as ProduceReportDetailVO
if (formType.value === 'create' || formType.value === 'replace') {
await ProduceReportDetailApi.createProduceReportDetail(data)

@ -122,6 +122,11 @@
<el-table-column label="计件时长" align="center" prop="reportTime" />
<el-table-column label="废品原因" align="center" prop="wasteReason" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="类型" align="center" fixed="right" prop="reportType">
<template #default="scope">
<dict-tag :type="DICT_TYPE.MES_PRODUCE_REPORT_TYPE" :value="scope.row.reportType" />
</template>
</el-table-column>
<el-table-column label="状态" align="center" fixed="right" prop="reportStatus">
<template #default="scope">
<dict-tag :type="DICT_TYPE.MES_RECORD_STATUS" :value="scope.row.reportStatus" />

@ -67,21 +67,7 @@
</el-form-item>
</template>
</el-table-column>
<!-- <el-table-column label="是否启用" min-width="140">-->
<!-- <template #default="{ row, $index }">-->
<!-- <el-form-item :prop="`${$index}.isEnable`" :rules="formRules.isEnable" class="mb-0px!">-->
<!-- <el-radio-group v-model="row.isEnable">-->
<!-- <el-radio-->
<!-- v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"-->
<!-- :key="dict.value"-->
<!-- :label="dict.value"-->
<!-- >-->
<!-- {{ dict.label }}-->
<!-- </el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" fixed="right" label="操作" width="100">
<template #default="{row, $index }">
<el-button type="success" @click="handleCopy(row)" link>
@ -160,6 +146,7 @@ const handleCopy = (row) => {
planStartTime: undefined,
planEndTime: undefined,
remark: undefined,
priorityNum: undefined,
isEnable: undefined,
}
newRow.code = row.code + (Math.floor(Math.random() * 10) + 1)
@ -170,6 +157,7 @@ const handleCopy = (row) => {
newRow.planEndTime = row.planEndTime
newRow.planNumber= row.planNumber
newRow.productName = row.productName
newRow.priorityNum = 1
formData.value.push(newRow)
}
</script>

@ -74,14 +74,32 @@
<!-- 列表 -->
<ContentWrap>
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="id" align="center" prop="id" />
<el-table-column label="报工单id" align="center" prop="reportId" />
<el-table-column label="计划id" align="center" prop="planId" />
<el-table-column label="产品ID" align="center" prop="productId" />
<el-table-column
label="工作日期"
align="center"
prop="reportDate"
:formatter="dateFormatter2"
width="180px"
/>
<el-table-column label="报工单" align="center" prop="reportCode" />
<el-table-column label="工位" align="center" prop="orgName" />
<el-table-column label="工序" align="center" prop="orgType" >
<template #default="scope">
<dict-tag :type="DICT_TYPE.MES_ORG_TYPE" :value="scope.row.orgType" />
</template>
</el-table-column>
<el-table-column label="班别" align="center" prop="groupType" >
<template #default="scope">
<dict-tag :type="DICT_TYPE.MES_GROUP_TYPE" :value="scope.row.groupType" />
</template>
</el-table-column>
<el-table-column label="计划" align="center" prop="planCode" width="120px"/>
<el-table-column label="产品" align="center" prop="productName" width="120px"/>
<el-table-column label="成品数量" align="center" prop="qualityNumberPlan" />
<el-table-column label="废品数量" align="center" prop="wasteNumberPlan" />
<el-table-column label="计件时间" align="center" prop="reportTimePlan" />
<el-table-column label="总时长" align="center" prop="totalTimePlan" />
<el-table-column
label="创建时间"
align="center"
@ -89,7 +107,7 @@
:formatter="dateFormatter"
width="180px"
/>
<el-table-column label="操作" align="center">
<el-table-column label="操作" align="center" width="120px" fixed="right">
<template #default="scope">
<el-button
link
@ -124,10 +142,11 @@
</template>
<script setup lang="ts">
import { dateFormatter } from '@/utils/formatTime'
import {dateFormatter, dateFormatter2} from '@/utils/formatTime'
import download from '@/utils/download'
import { WorkReportPlanApi, WorkReportPlanVO } from '@/api/mes/workreportplan'
import WorkReportPlanForm from './WorkReportPlanForm.vue'
import {DICT_TYPE} from "@/utils/dict";
/** 报工分配计划 列表 */
defineOptions({ name: 'WorkReportPlan' })
@ -157,7 +176,7 @@ const exportLoading = ref(false) // 导出的加载中
const getList = async () => {
loading.value = true
try {
const data = await WorkReportPlanApi.getWorkReportPlanPage(queryParams)
const data = await WorkReportPlanApi.getReportPlanViewPage(queryParams)
list.value = data.list
total.value = data.total
} finally {

Loading…
Cancel
Save