diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/PgMasterController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/PgMasterController.java index 933728e..46c19f2 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/PgMasterController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/PgMasterController.java @@ -1,5 +1,6 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.pgmaster; + import com.chanko.yunxi.mes.module.heli.controller.admin.plansub.vo.PlanSubRespVO; import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskDispatchDetailPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.zjpgmaster.vo.ZjPgMasterSaveReqVO; @@ -126,6 +127,14 @@ public class PgMasterController { PageResult<PgMasterLineDO> pageResult = pgMasterService.getTaskDispatchDetailPage(pageReqVO); return success(pageResult); } + @GetMapping("/task-dispatch-detail/pages") + @Operation(summary = "获得质量派工单过程检验行分页") + @PreAuthorize("@ss.hasPermission('heli:pg-master-line:query')") + public CommonResult<PageResult<PgMasterLineDO>> getPgMasterLinePages(@Valid PgMasterLinePageReqVO pageReqVO) { + PageResult<PgMasterLineDO> pageResult = pgMasterService.getPgMasterLinePages(pageReqVO); + return success(BeanUtils.toBean(pageResult, PgMasterLineDO.class)); + } + @GetMapping("/task-dispatch-detail/get") @Operation(summary = "获得派工明细分页") @PreAuthorize("@ss.hasPermission('heli:task-dispatch:query')") diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/vo/PgMasterLinePageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/vo/PgMasterLinePageReqVO.java index 42ba4d0..a5d7992 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/vo/PgMasterLinePageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/vo/PgMasterLinePageReqVO.java @@ -107,4 +107,17 @@ public class PgMasterLinePageReqVO extends PageParam { @Schema(description = "派工状态") private Integer dispatchStatus; + @Schema(description = "生产计划单号") + private String taskNo; + + @Schema(description = "生产计划id", example = "25586") + private Long taskId; + + @Schema(description = "项目id", example = "20270") + private Long projectId; + + @Schema(description = "报工状态") + private String active; + + } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/pgmaster/PgMasterLineMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/pgmaster/PgMasterLineMapper.java index a32c13b..0476817 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/pgmaster/PgMasterLineMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/pgmaster/PgMasterLineMapper.java @@ -62,7 +62,7 @@ public interface PgMasterLineMapper extends BaseMapperX<PgMasterLineDO> { .orderByAsc(PgMasterLineDO::getTaskNo,PgMasterLineDO::getPgNumber) .disableSubLogicDel(); - query.eq(reqVO.getDetilUser() != null, PgMasterLineDO::getDetilUser, reqVO.getDetilUser()) + query.eq(reqVO.getDetilUser() != null&&reqVO.getDetilUser() != 0, PgMasterLineDO::getDetilUser, reqVO.getDetilUser()) .eq(reqVO.getPgType() != null, PgMasterLineDO::getPgType, reqVO.getPgType()) .eq(reqVO.getDispatchStatus() != null, PgMasterLineDO::getDispatchStatus, reqVO.getDispatchStatus()) @@ -72,4 +72,85 @@ public interface PgMasterLineMapper extends BaseMapperX<PgMasterLineDO> { return selectPage(reqVO, query); } + + + default PageResult<PgMasterLineDO> selectPages(PgMasterLinePageReqVO reqVO) { + MPJLambdaWrapper<PgMasterLineDO> query = new MPJLambdaWrapper<>(); + query.select("t.id,t.task_no as taskNo,t.project_name as projectName,t.project_sub_name as projectSubName, " + + "t.material_name as materialName, t.blueprint_no as blueprintNo, t.amount, t.spec ,t.unit, t.detil_user as detilUser, " + + "t.pg_number as pgNumber ,t.start_time as startTime ,t.ent_time as entTime ,t.dispatch_status as dispatchStatus,t.pg_type as pgType ") + + .orderByAsc(PgMasterLineDO::getTaskNo,PgMasterLineDO::getPgNumber) + ; + + query.eq(reqVO.getCreateTime()!= null, PgMasterLineDO::getCreateTime, reqVO.getCreateTime()) + .eq(reqVO.getBomId()!= null, PgMasterLineDO::getBomId, reqVO.getBomId()) + .eq(reqVO.getBomNumber()!= null, PgMasterLineDO::getBomNumber, reqVO.getBomNumber()) + .like(reqVO.getBomName()!= null, PgMasterLineDO::getBomName, reqVO.getBomName()) + .eq(reqVO.getBomNo()!= null, PgMasterLineDO::getBomNo, reqVO.getBomNo()) + .eq(reqVO.getProjectSubId()!= null, PgMasterLineDO::getProjectSubId, reqVO.getProjectSubId()) + .like(reqVO.getProjectSubName()!= null, PgMasterLineDO::getProjectSubName, reqVO.getProjectSubName()) + .eq(reqVO.getProjectSubNumber()!= null, PgMasterLineDO::getProjectSubNumber, reqVO.getProjectSubNumber()) + .eq(reqVO.getType()!= null, PgMasterLineDO::getType, reqVO.getType()) + .eq(reqVO.getMaterialId()!= null, PgMasterLineDO::getMaterialId, reqVO.getMaterialId()) + .eq(reqVO.getMaterialCode()!= null, PgMasterLineDO::getMaterialCode, reqVO.getMaterialCode()) + .like(reqVO.getMaterialName()!= null, PgMasterLineDO::getMaterialName, reqVO.getMaterialName()) + .eq(reqVO.getCompositionId()!= null, PgMasterLineDO::getCompositionId, reqVO.getCompositionId()) + .eq(reqVO.getSpec()!= null, PgMasterLineDO::getSpec, reqVO.getSpec()) + .eq(reqVO.getUnit()!= null, PgMasterLineDO::getUnit, reqVO.getUnit()) + .eq(reqVO.getBlueprintNo()!= null, PgMasterLineDO::getBlueprintNo, reqVO.getBlueprintNo()) + .eq(reqVO.getAmount()!= null, PgMasterLineDO::getAmount, reqVO.getAmount()) + .eq(reqVO.getDetilUser()!= null, PgMasterLineDO::getDetilUser, reqVO.getDetilUser()) + .eq(reqVO.getGongShi()!= null, PgMasterLineDO::getGongShi, reqVO.getGongShi()) + .eq(reqVO.getZlPgId()!= null, PgMasterLineDO::getZlPgId, reqVO.getZlPgId()) + .eq(reqVO.getPgType()!= null, PgMasterLineDO::getPgType, reqVO.getPgType()) + .eq(reqVO.getStartTime()!= null, PgMasterLineDO::getStartTime, reqVO.getStartTime()) + .eq(reqVO.getEntTime()!= null, PgMasterLineDO::getEntTime, reqVO.getEntTime()) + .eq(reqVO.getDispatchStatus()!= null, PgMasterLineDO::getDispatchStatus, reqVO.getDispatchStatus()) + .eq(reqVO.getTaskNo()!= null, PgMasterLineDO::getTaskNo, reqVO.getTaskNo()) + .eq(reqVO.getTaskId()!= null, PgMasterLineDO::getTaskId, reqVO.getTaskId()) + .eq(reqVO.getProjectId()!= null, PgMasterLineDO::getProjectId, reqVO.getProjectId()) + .like(reqVO.getProjectName()!= null, PgMasterLineDO::getProjectName, reqVO.getProjectName()) + .eq(reqVO.getPgNumber()!= null, PgMasterLineDO::getPgNumber, reqVO.getPgNumber()) + .eq(reqVO.getActive()!= null, PgMasterLineDO::getActive, reqVO.getActive()) + .orderByDesc(PgMasterLineDO::getId) + + + ; + + return selectPage(reqVO, query); + /*return selectPage(reqVO, new LambdaQueryWrapperX<PgMasterLineDO>() + .betweenIfPresent(PgMasterLineDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(PgMasterLineDO::getBomId, reqVO.getBomId()) + .eqIfPresent(PgMasterLineDO::getBomNumber, reqVO.getBomNumber()) + .likeIfPresent(PgMasterLineDO::getBomName, reqVO.getBomName()) + .eqIfPresent(PgMasterLineDO::getBomNo, reqVO.getBomNo()) + .eqIfPresent(PgMasterLineDO::getProjectSubId, reqVO.getProjectSubId()) + .likeIfPresent(PgMasterLineDO::getProjectSubName, reqVO.getProjectSubName()) + .eqIfPresent(PgMasterLineDO::getProjectSubNumber, reqVO.getProjectSubNumber()) + .eqIfPresent(PgMasterLineDO::getType, reqVO.getType()) + .eqIfPresent(PgMasterLineDO::getMaterialId, reqVO.getMaterialId()) + .eqIfPresent(PgMasterLineDO::getMaterialCode, reqVO.getMaterialCode()) + .likeIfPresent(PgMasterLineDO::getMaterialName, reqVO.getMaterialName()) + .eqIfPresent(PgMasterLineDO::getCompositionId, reqVO.getCompositionId()) + .eqIfPresent(PgMasterLineDO::getSpec, reqVO.getSpec()) + .eqIfPresent(PgMasterLineDO::getUnit, reqVO.getUnit()) + .eqIfPresent(PgMasterLineDO::getBlueprintNo, reqVO.getBlueprintNo()) + .eqIfPresent(PgMasterLineDO::getAmount, reqVO.getAmount()) + .eqIfPresent(PgMasterLineDO::getDetilUser, reqVO.getDetilUser()) + .eqIfPresent(PgMasterLineDO::getGongShi, reqVO.getGongShi()) + .eqIfPresent(PgMasterLineDO::getZlPgId, reqVO.getZlPgId()) + .eqIfPresent(PgMasterLineDO::getPgType, reqVO.getPgType()) + .betweenIfPresent(PgMasterLineDO::getStartTime, reqVO.getStartTime()) + .betweenIfPresent(PgMasterLineDO::getEntTime, reqVO.getEntTime()) + .eqIfPresent(PgMasterLineDO::getDispatchStatus, reqVO.getDispatchStatus()) + .eqIfPresent(PgMasterLineDO::getTaskNo, reqVO.getTaskNo()) + .eqIfPresent(PgMasterLineDO::getTaskId, reqVO.getTaskId()) + .eqIfPresent(PgMasterLineDO::getProjectId, reqVO.getProjectId()) + .likeIfPresent(PgMasterLineDO::getProjectName, reqVO.getProjectName()) + .eqIfPresent(PgMasterLineDO::getPgNumber, reqVO.getPgNumber()) + .eqIfPresent(PgMasterLineDO::getActive, reqVO.getActive()) + .orderByDesc(PgMasterLineDO::getId));*/ + } + } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processdesign/ProcessDesignMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processdesign/ProcessDesignMapper.java index 00d1e64..298ae71 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processdesign/ProcessDesignMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processdesign/ProcessDesignMapper.java @@ -74,9 +74,9 @@ public interface ProcessDesignMapper extends BaseMapperX<ProcessDesignDO> { .or() .apply("u5.id = {0} and t.process_design_type = {1}", reqVO.getOwner(), ProcessDesignTypeEnum.BLUEPRINT_3D.name())); } - /*if(reqVO.getUncompletedDesign() != null && reqVO.getUncompletedDesign()){ + if(reqVO.getUncompletedDesign() != null && reqVO.getUncompletedDesign()){ query.and(QueryWrapper -> QueryWrapper.apply("COALESCE(z.progress, 0) < {0}", 100).ne(PlanDO::getStatus, ProjectPlanStatusEnum.TERMINATE.getCode())); - }*/ + } if(reqVO.getPgType() != null){ if(reqVO.getPgType()==0){ query.and(QueryWrapper -> QueryWrapper.apply("z.progress < {0}" , 100).or().apply("z.progress is null")); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/zjpgmaster/ZjPgMasterLineMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/zjpgmaster/ZjPgMasterLineMapper.java index b4fcf1b..8ef220e 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/zjpgmaster/ZjPgMasterLineMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/zjpgmaster/ZjPgMasterLineMapper.java @@ -57,7 +57,7 @@ public interface ZjPgMasterLineMapper extends BaseMapperX<ZjPgMasterLineDO> { .orderByDesc(ZjPgMasterLineDO::getId) .disableSubLogicDel(); - query.eq(reqVO.getDetilUser() != null, ZjPgMasterLineDO::getDetilUser, reqVO.getDetilUser()) + query.eq(reqVO.getDetilUser() != null&&reqVO.getDetilUser() != 0, ZjPgMasterLineDO::getDetilUser, reqVO.getDetilUser()) .eq(reqVO.getPgType() != null, ZjPgMasterLineDO::getPgType, reqVO.getPgType()) .eq(reqVO.getDispatchStatus()!=null,ZjPgMasterLineDO::getDispatchStatus, reqVO.getDispatchStatus()) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterService.java index f71de2d..9ca5a21 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterService.java @@ -66,6 +66,8 @@ public interface PgMasterService { PageResult<PgMasterLineDO> getTaskDispatchDetailPage(PgMasterLinePageReqVO pageReqVO); + PageResult<PgMasterLineDO> getPgMasterLinePages(PgMasterLinePageReqVO pageReqVO); + PgMasterLineDO getTaskDispatchDetail(PgMasterLinePageReqVO pageReqVO); /** * 获得质量派工单过程检验行列表 diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterServiceImpl.java index e41fafa..4e6c87a 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterServiceImpl.java @@ -233,6 +233,11 @@ public class PgMasterServiceImpl implements PgMasterService { // ==================== 子表(质量派工单过程检验行) ==================== + + @Override + public PageResult<PgMasterLineDO> getPgMasterLinePages(PgMasterLinePageReqVO pageReqVO) { + return pgMasterLineMapper.selectPages(pageReqVO); + } @Override public PageResult<PgMasterLineDO> getTaskDispatchDetailPage(PgMasterLinePageReqVO pageReqVO) { return pgMasterLineMapper.selectPage(pageReqVO); diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/pgmaster/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/pgmaster/index.ts index a5e9dff..fee668b 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/pgmaster/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/pgmaster/index.ts @@ -18,6 +18,13 @@ export const getSearchBomMx = async (task_id: number,project_id: number) => { } +// 查询质量派工单过程检验行分页 +export const getPgMasterLinePage = async (params) => { + return await request.get({ url: `/heli/pg-master/task-dispatch-detail/pages`, params }) +} + + + // 查询质量过程检派工单主分页 export const getPgMasterPage = async (params) => { return await request.get({ url: `/heli/pg-master/page`, params }) diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/pgmasterline/PgMasterLineForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/pgmasterline/PgMasterLineForm.vue new file mode 100644 index 0000000..cc7f195 --- /dev/null +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/pgmasterline/PgMasterLineForm.vue @@ -0,0 +1,244 @@ +<template> + <Dialog :title="dialogTitle" v-model="dialogVisible"> + <el-form + ref="formRef" + :model="formData" + :rules="formRules" + label-width="100px" + v-loading="formLoading" + > + <el-form-item label="bomID" prop="bomId"> + <el-input v-model="formData.bomId" placeholder="请输入bomID" /> + </el-form-item> + <el-form-item label="bom编号" prop="bomNumber"> + <el-input v-model="formData.bomNumber" placeholder="请输入bom编号" /> + </el-form-item> + <el-form-item label="bom名称" prop="bomName"> + <el-input v-model="formData.bomName" placeholder="请输入bom名称" /> + </el-form-item> + <el-form-item label="bom版本号" prop="bomNo"> + <el-input v-model="formData.bomNo" placeholder="请输入bom版本号" /> + </el-form-item> + <el-form-item label="子项目id" prop="projectSubId"> + <el-input v-model="formData.projectSubId" placeholder="请输入子项目id" /> + </el-form-item> + <el-form-item label="子项目名称" prop="projectSubName"> + <el-input v-model="formData.projectSubName" placeholder="请输入子项目名称" /> + </el-form-item> + <el-form-item label="子项目编号" prop="projectSubNumber"> + <el-input v-model="formData.projectSubNumber" placeholder="请输入子项目编号" /> + </el-form-item> + <el-form-item label="是否标准件" prop="type"> + <el-select v-model="formData.type" placeholder="请选择是否标准件"> + <el-option label="请选择字典生成" value="" /> + </el-select> + </el-form-item> + <el-form-item label="物料id" prop="materialId"> + <el-input v-model="formData.materialId" placeholder="请输入物料id" /> + </el-form-item> + <el-form-item label="物料编码" prop="materialCode"> + <el-input v-model="formData.materialCode" placeholder="请输入物料编码" /> + </el-form-item> + <el-form-item label="物料名称" prop="materialName"> + <el-input v-model="formData.materialName" placeholder="请输入物料名称" /> + </el-form-item> + <el-form-item label="材质id" prop="compositionId"> + <el-input v-model="formData.compositionId" placeholder="请输入材质id" /> + </el-form-item> + <el-form-item label="规格" prop="spec"> + <el-input v-model="formData.spec" placeholder="请输入规格" /> + </el-form-item> + <el-form-item label="单位" prop="unit"> + <el-input v-model="formData.unit" placeholder="请输入单位" /> + </el-form-item> + <el-form-item label="图号" prop="blueprintNo"> + <el-input v-model="formData.blueprintNo" placeholder="请输入图号" /> + </el-form-item> + <el-form-item label="数量" prop="amount"> + <el-input v-model="formData.amount" placeholder="请输入数量" /> + </el-form-item> + <el-form-item label="检验人" prop="detilUser"> + <el-input v-model="formData.detilUser" placeholder="请输入检验人" /> + </el-form-item> + <el-form-item label="预计工时" prop="gongShi"> + <el-input v-model="formData.gongShi" placeholder="请输入预计工时" /> + </el-form-item> + <el-form-item label="质量派工id" prop="zlPgId"> + <el-input v-model="formData.zlPgId" placeholder="请输入质量派工id" /> + </el-form-item> + <el-form-item label="是否完成 0未完成 1已完成" prop="pgType"> + <el-select v-model="formData.pgType" placeholder="请选择是否完成 0未完成 1已完成"> + <el-option label="请选择字典生成" value="" /> + </el-select> + </el-form-item> + <el-form-item label="开始日期" prop="startTime"> + <el-date-picker + v-model="formData.startTime" + type="date" + value-format="x" + placeholder="选择开始日期" + /> + </el-form-item> + <el-form-item label="结束日期" prop="entTime"> + <el-date-picker + v-model="formData.entTime" + type="date" + value-format="x" + placeholder="选择结束日期" + /> + </el-form-item> + <el-form-item label="派工状态 已保存|已提交|已终止 1|2|3" prop="dispatchStatus"> + <el-radio-group v-model="formData.dispatchStatus"> + <el-radio label="1">请选择字典生成</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="生产计划单号" prop="taskNo"> + <el-input v-model="formData.taskNo" placeholder="请输入生产计划单号" /> + </el-form-item> + <el-form-item label="生产计划id" prop="taskId"> + <el-input v-model="formData.taskId" placeholder="请输入生产计划id" /> + </el-form-item> + <el-form-item label="项目id" prop="projectId"> + <el-input v-model="formData.projectId" placeholder="请输入项目id" /> + </el-form-item> + <el-form-item label="项目名称" prop="projectName"> + <el-input v-model="formData.projectName" placeholder="请输入项目名称" /> + </el-form-item> + <el-form-item label="派工单号" prop="pgNumber"> + <el-input v-model="formData.pgNumber" placeholder="请输入派工单号" /> + </el-form-item> + <el-form-item label="报工状态" prop="active"> + <el-input v-model="formData.active" placeholder="请输入报工状态" /> + </el-form-item> + </el-form> + <template #footer> + <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> + <el-button @click="dialogVisible = false">取 消</el-button> + </template> + </Dialog> +</template> +<script setup lang="ts"> +import * as PgMasterApi from '@/api/heli/pgmaster' + +const { t } = useI18n() // 国际化 +const message = useMessage() // 消息弹窗 + +const dialogVisible = ref(false) // 弹窗的是否展示 +const dialogTitle = ref('') // 弹窗的标题 +const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 +const formType = ref('') // 表单的类型:create - 新增;update - 修改 +const formData = ref({ + id: undefined, + bomId: undefined, + bomNumber: undefined, + bomName: undefined, + bomNo: undefined, + projectSubId: undefined, + projectSubName: undefined, + projectSubNumber: undefined, + type: undefined, + materialId: undefined, + materialCode: undefined, + materialName: undefined, + compositionId: undefined, + spec: undefined, + unit: undefined, + blueprintNo: undefined, + amount: undefined, + detilUser: undefined, + gongShi: undefined, + zlPgId: undefined, + pgType: undefined, + startTime: undefined, + entTime: undefined, + dispatchStatus: undefined, + taskNo: undefined, + taskId: undefined, + projectId: undefined, + projectName: undefined, + pgNumber: undefined, + active: undefined, +}) +const formRules = reactive({ +}) +const formRef = ref() // 表单 Ref + +/** 打开弹窗 */ +const open = async (type: string, id?: number) => { + dialogVisible.value = true + dialogTitle.value = t('action.' + type) + formType.value = type + resetForm() + // 修改时,设置数据 + if (id) { + formLoading.value = true + try { + formData.value = await PgMasterLineApi.getPgMasterLine(id) + } finally { + formLoading.value = false + } + } +} +defineExpose({ open }) // 提供 open 方法,用于打开弹窗 + +/** 提交表单 */ +const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调 +const submitForm = async () => { + // 校验表单 + await formRef.value.validate() + // 提交请求 + formLoading.value = true + try { + const data = formData.value as unknown as PgMasterLineApi.PgMasterLineVO + if (formType.value === 'create') { + await PgMasterLineApi.createPgMasterLine(data) + message.success(t('common.createSuccess')) + } else { + await PgMasterLineApi.updatePgMasterLine(data) + message.success(t('common.updateSuccess')) + } + dialogVisible.value = false + // 发送操作成功的事件 + emit('success') + } finally { + formLoading.value = false + } +} + +/** 重置表单 */ +const resetForm = () => { + formData.value = { + id: undefined, + bomId: undefined, + bomNumber: undefined, + bomName: undefined, + bomNo: undefined, + projectSubId: undefined, + projectSubName: undefined, + projectSubNumber: undefined, + type: undefined, + materialId: undefined, + materialCode: undefined, + materialName: undefined, + compositionId: undefined, + spec: undefined, + unit: undefined, + blueprintNo: undefined, + amount: undefined, + detilUser: undefined, + gongShi: undefined, + zlPgId: undefined, + pgType: undefined, + startTime: undefined, + entTime: undefined, + dispatchStatus: undefined, + taskNo: undefined, + taskId: undefined, + projectId: undefined, + projectName: undefined, + pgNumber: undefined, + active: undefined, + } + formRef.value?.resetFields() +} +</script> \ No newline at end of file diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/pgmasterline/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/pgmasterline/index.vue new file mode 100644 index 0000000..c6f98aa --- /dev/null +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/pgmasterline/index.vue @@ -0,0 +1,357 @@ +<template> + <ContentWrap> + <!-- 搜索工作栏 --> + <el-form + class="-mb-15px" + :model="queryParams" + ref="queryFormRef" + :inline="true" + label-width="160px" + > + <!-- <el-form-item label="创建时间" prop="createTime"> + <el-date-picker + v-model="queryParams.createTime" + value-format="YYYY-MM-DD HH:mm:ss" + type="daterange" + start-placeholder="开始日期" + end-placeholder="结束日期" + :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" + class="!w-240px" + /> + </el-form-item> --> + + <el-form-item label="生产计划单号" prop="taskNo"> + <el-input + v-model="queryParams.taskNo" + placeholder="请输入生产计划单号" + clearable + @keyup.enter="handleQuery" + class="!w-240px" + /> + </el-form-item> + + <el-form-item label="项目名称" prop="projectName"> + <el-input + v-model="queryParams.projectName" + placeholder="请输入项目名称" + clearable + @keyup.enter="handleQuery" + class="!w-240px" + /> + </el-form-item> + + <el-form-item label="子项目名称" prop="projectSubName"> + <el-input + v-model="queryParams.projectSubName" + placeholder="请输入子项目名称" + clearable + @keyup.enter="handleQuery" + class="!w-240px" + /> + </el-form-item> + + + + <el-form-item label="派工单号" prop="pgNumber"> + <el-input + v-model="queryParams.pgNumber" + placeholder="请输入派工单号" + clearable + @keyup.enter="handleQuery" + class="!w-240px" + /> + </el-form-item> + + <el-form-item label="检验人" prop="detilUser"> + <el-input + v-model="queryParams.detilUser" + placeholder="请输入检验人" + clearable + @keyup.enter="handleQuery" + class="!w-240px" + /> + </el-form-item> + + <el-form-item label="单据状态" prop="pgType"> + <el-select + v-model="queryParams.pgType" + placeholder="请选择是否完成 0未完成 1已完成" + clearable + class="!w-240px" + > + <el-option label="请选择字典生成" value="" /> + </el-select> + </el-form-item> + <!-- <el-form-item label="开始日期" prop="startTime"> + <el-date-picker + v-model="queryParams.startTime" + value-format="YYYY-MM-DD HH:mm:ss" + type="daterange" + start-placeholder="开始日期" + end-placeholder="结束日期" + :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" + class="!w-240px" + /> + </el-form-item> + <el-form-item label="结束日期" prop="entTime"> + <el-date-picker + v-model="queryParams.entTime" + value-format="YYYY-MM-DD HH:mm:ss" + type="daterange" + start-placeholder="开始日期" + end-placeholder="结束日期" + :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" + class="!w-240px" + /> + </el-form-item> --> + + + + + + <!-- <el-form-item label="报工状态" prop="active"> + <el-input + v-model="queryParams.active" + placeholder="请输入报工状态" + clearable + @keyup.enter="handleQuery" + class="!w-240px" + /> + </el-form-item> --> + <el-form-item> + <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> + <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> + <!-- <el-button + type="primary" + plain + @click="openForm('create')" + v-hasPermi="['heli:pg-master-line:create']" + > + <Icon icon="ep:plus" class="mr-5px" /> 新增 + </el-button> + <el-button + type="success" + plain + @click="handleExport" + :loading="exportLoading" + v-hasPermi="['heli:pg-master-line:export']" + > + <Icon icon="ep:download" class="mr-5px" /> 导出 + </el-button> --> + </el-form-item> + </el-form> + </ContentWrap> + + <!-- 列表 --> + <ContentWrap> + <el-table v-loading="loading" :data="list" :stripe="true" class="hl-table" :show-overflow-tooltip="true"> + <el-table-column v-if="false" label="主键" align="center" prop="id" /> + <el-table-column v-if="false" + label="创建时间" + align="center" + prop="createTime" + :formatter="dateFormatter" + width="180px" + /> + <el-table-column label="生产计划单号" align="center" prop="taskNo" /> + <el-table-column label="项目名称" align="center" prop="projectName" /> + <el-table-column label="子项目名称" align="center" prop="projectSubName" /> + <el-table-column label="物料名称" align="center" prop="materialName" /> + <el-table-column label="图号" align="center" prop="blueprintNo" /> + <el-table-column label="数量" align="center" prop="amount" /> + <el-table-column label="规格" align="center" prop="spec" /> + <el-table-column label="单位" align="center" prop="unit" /> + <el-table-column label="检验人" align="center" prop="detilUser" /> + <el-table-column label="派工单号" align="center" prop="pgNumber" /> + <el-table-column + label="开始日期" + align="center" + prop="startTime" + :formatter="dateFormatter" + width="180px" + /> + <el-table-column + label="结束日期" + align="center" + prop="entTime" + :formatter="dateFormatter" + width="180px" + /> + <el-table-column label="派工状态" align="center" prop="dispatchStatus" /> + <el-table-column label="是否完成" align="center" prop="pgType" /> + <!-- <el-table-column label="bomID" align="center" prop="bomId" /> + <el-table-column label="bom编号" align="center" prop="bomNumber" /> + <el-table-column label="bom名称" align="center" prop="bomName" /> + <el-table-column label="bom版本号" align="center" prop="bomNo" /> + <el-table-column label="子项目id" align="center" prop="projectSubId" /> + + <el-table-column label="子项目编号" align="center" prop="projectSubNumber" /> + <el-table-column label="是否标准件" align="center" prop="type" /> + <el-table-column label="物料id" align="center" prop="materialId" /> + <el-table-column label="物料编码" align="center" prop="materialCode" /> + + <el-table-column label="材质id" align="center" prop="compositionId" /> + + + + + + <el-table-column label="预计工时" align="center" prop="gongShi" /> + <el-table-column label="质量派工id" align="center" prop="zlPgId" /> + + + + + <el-table-column label="生产计划id" align="center" prop="taskId" /> + <el-table-column label="项目id" align="center" prop="projectId" /> + + + <el-table-column label="报工状态" align="center" prop="active" /> --> + <el-table-column label="操作" align="center"> + <template #default="scope"> + <el-button + link + type="primary" + @click="openForm('update', scope.row.id)" + v-hasPermi="['heli:pg-master-line:update']" + > + 查看 + </el-button> + <el-button + link + type="danger" + @click="handleDelete(scope.row.id)" + v-hasPermi="['heli:pg-master-line:delete']" + > + 作废 + </el-button> + </template> + </el-table-column> + </el-table> + <!-- 分页 --> + <Pagination + :total="total" + v-model:page="queryParams.pageNo" + v-model:limit="queryParams.pageSize" + @pagination="getList" + /> + </ContentWrap> + + <!-- 表单弹窗:添加/修改 --> + <PgMasterLineForm ref="formRef" @success="getList" /> +</template> + +<script setup lang="ts"> +import { dateFormatter } from '@/utils/formatTime' +import download from '@/utils/download' +import * as PgMasterApi from '@/api/heli/pgmaster' +import PgMasterLineForm from './PgMasterLineForm.vue' + +defineOptions({ name: 'PgMasterLine' }) + +const message = useMessage() // 消息弹窗 +const { t } = useI18n() // 国际化 + +const loading = ref(true) // 列表的加载中 +const list = ref([]) // 列表的数据 +const total = ref(0) // 列表的总页数 +const queryParams = reactive({ + pageNo: 1, + pageSize: 10, + createTime: [], + bomId: undefined, + bomNumber: undefined, + bomName: undefined, + bomNo: undefined, + projectSubId: undefined, + projectSubName: undefined, + projectSubNumber: undefined, + type: undefined, + materialId: undefined, + materialCode: undefined, + materialName: undefined, + compositionId: undefined, + spec: undefined, + unit: undefined, + blueprintNo: undefined, + amount: undefined, + detilUser: undefined, + gongShi: undefined, + zlPgId: undefined, + pgType: undefined, + startTime: [], + entTime: [], + dispatchStatus: undefined, + taskNo: undefined, + taskId: undefined, + projectId: undefined, + projectName: undefined, + pgNumber: undefined, + active: undefined, +}) +const queryFormRef = ref() // 搜索的表单 +const exportLoading = ref(false) // 导出的加载中 + +/** 查询列表 */ +const getList = async () => { + loading.value = true + try { + const data = await PgMasterApi.getPgMasterLinePage(queryParams) + list.value = data.list + total.value = data.total + } finally { + loading.value = false + } +} + +/** 搜索按钮操作 */ +const handleQuery = () => { + queryParams.pageNo = 1 + getList() +} + +/** 重置按钮操作 */ +const resetQuery = () => { + queryFormRef.value.resetFields() + handleQuery() +} + +/** 添加/修改操作 */ +const formRef = ref() +const openForm = (type: string, id?: number) => { + formRef.value.open(type, id) +} + +/** 删除按钮操作 */ +const handleDelete = async (id: number) => { + try { + // 删除的二次确认 + await message.delConfirm() + // 发起删除 + await PgMasterApi.deletePgMasterLine(id) + message.success(t('common.delSuccess')) + // 刷新列表 + await getList() + } catch {} +} + +/** 导出按钮操作 */ +const handleExport = async () => { + try { + // 导出的二次确认 + await message.exportConfirm() + // 发起导出 + exportLoading.value = true + const data = await PgMasterApi.exportPgMasterLine(queryParams) + download.excel(data, '质量派工单过程检验行.xls') + } catch { + } finally { + exportLoading.value = false + } +} + +/** 初始化 **/ +onMounted(() => { + getList() +}) +</script> \ No newline at end of file diff --git a/mes-ui/mini-app/src/pages/pgMaster/components/dataItem.vue b/mes-ui/mini-app/src/pages/pgMaster/components/dataItem.vue index 4b314e9..2494aaf 100644 --- a/mes-ui/mini-app/src/pages/pgMaster/components/dataItem.vue +++ b/mes-ui/mini-app/src/pages/pgMaster/components/dataItem.vue @@ -27,7 +27,7 @@ const isLoading = ref(false) const queryParams: Required<any> = { pageNo: 1, pageSize: 5, - detilUser: null, + detilUser: 0, // pgType: 0, // 工序完成状态列表 diff --git a/mes-ui/mini-app/src/pages/zjPgMaster/components/dataItem.vue b/mes-ui/mini-app/src/pages/zjPgMaster/components/dataItem.vue index 14198fd..3c72553 100644 --- a/mes-ui/mini-app/src/pages/zjPgMaster/components/dataItem.vue +++ b/mes-ui/mini-app/src/pages/zjPgMaster/components/dataItem.vue @@ -27,7 +27,7 @@ const isLoading = ref(false) const queryParams: Required<any> = { pageNo: 1, pageSize: 5, - detilUser: null, + detilUser: 0, // pgType: 0, // 工序完成状态列表 @@ -39,8 +39,6 @@ dispatchStatus:2 } const dataList = ref([]) const getListData = async () => { - console.log("props.orderState"); - console.log(props.orderState); queryParams.pgType = props.orderState; // 如果数据出于加载中,退出函数 if (isLoading.value) return