diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plan/vo/PlanRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plan/vo/PlanRespVO.java index 826c99ab..cde20f81 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plan/vo/PlanRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plan/vo/PlanRespVO.java @@ -152,5 +152,6 @@ public class PlanRespVO { @Schema(description = "工艺结束日期") private LocalDateTime castEndDate; - + @Schema(description = "是否需要铸件图:1表示需要,0表示不需要") + private Integer hasCast; } \ 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/controller/admin/taskdispatch/vo/TaskDispatchPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/vo/TaskDispatchPageReqVO.java index 129ad34c..b7d59d62 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/vo/TaskDispatchPageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/vo/TaskDispatchPageReqVO.java @@ -79,4 +79,6 @@ public class TaskDispatchPageReqVO extends PageParam { @Schema(description = "生产计划单号") private String planCode; + @Schema(description = "图号") + private String blueprintNo; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplanboom/MaterialPlanBoomMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplanboom/MaterialPlanBoomMapper.java index 9d22eb22..74d473ab 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplanboom/MaterialPlanBoomMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplanboom/MaterialPlanBoomMapper.java @@ -222,7 +222,7 @@ public interface MaterialPlanBoomMapper extends BaseMapperX MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(MaterialPlanBoomDO.class) .select("p.project_name as projectName","p.name as projectSubName","p.name_sim as projectSubNameSim") - .select("d.spec as boomSpec","d.blueprint_no as blueprintNo","d.unit as unit","f.name as supplierName") + .select(" COALESCE(m.boom_spec, d.spec) as boomSpec","d.blueprint_no as blueprintNo","d.unit as unit","f.name as supplierName") .select("a.nickname as duEmpName","c.name as procedureName","e.name as compositionName") .select("COALESCE(m.the_weight, t.mat_weight) as theWeight","COALESCE(m.the_weight, t.mat_weight) as theWeight") .select("COALESCE(m.purchase_amount, t.boom_amount) AS purchaseAmounts,m.supplier_id as supplierIds,m.estimated_price as estimatedPrices") 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 ec6df01a..6ea65889 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 @@ -93,9 +93,9 @@ public interface PgMasterLineMapper extends BaseMapperX { .eq(reqVO.getPgType() != null, PgMasterLineDO::getPgType, reqVO.getPgType()) .eq(reqVO.getDispatchStatus() != null, PgMasterLineDO::getDispatchStatus, reqVO.getDispatchStatus()); if (reqVO.getSubOrDetailName() != null && !reqVO.getSubOrDetailName().trim().equals("")){ - query.and( e ->e.like(PgMasterLineDO::getProjectName, reqVO.getSubOrDetailName()).or().like( + query.and( e ->e.eq(PgMasterLineDO::getProjectName, reqVO.getSubOrDetailName()).or().eq( PgMasterLineDO::getProjectSubName, reqVO.getSubOrDetailName() - ).or().like(PgMasterLineDO::getMaterialName, reqVO.getSubOrDetailName())); + ).or().eq(PgMasterLineDO::getMaterialName, reqVO.getSubOrDetailName())); // query.eq(" (b.project_name like '%" + reqVO.getSubOrDetailName() + "%' or c.name like '%" + reqVO.getSubOrDetailName() + "%')"); } 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 08652d18..b36aace7 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 @@ -228,6 +228,19 @@ public interface ProcessDesignMapper extends BaseMapperX { ; + query.and(q -> q + .and(innerQ -> innerQ + .apply("a.craft_start_date is not null and a.craft_end_date is not null and t.process_design_type = {0}", ProcessDesignTypeEnum.BLUEPRINT_FOUNDRY_TECHNOLOGY.name()) + .or() + .apply("b.start_blank_date is not null and b.blank_date is not null and t.process_design_type = {0}", ProcessDesignTypeEnum.BLUEPRINT_WORKBLANK.name()) + .or() + .apply("b.start_two_dim_Date is not null and b.two_dim_date is not null and t.process_design_type = {0}", ProcessDesignTypeEnum.BLUEPRINT_2D.name()) + .or() + .apply("b.start_three_dim_date is not null and b.three_dim_date is not null and t.process_design_type = {0}", ProcessDesignTypeEnum.BLUEPRINT_3D.name()) + ) + .or() + .apply("a.cast_start_date is not null and a.cast_end_date is not null and t.process_design_type = {0}", ProcessDesignTypeEnum.CASTING_DRAWING.name()) + ); if(!StringUtils.isEmpty(reqVO.getOwnerName())){ query.and(QueryWrapper -> QueryWrapper.apply("u2.nickname like concat('%', {0}, '%') and t.process_design_type = {1}", reqVO.getOwnerName(), ProcessDesignTypeEnum.BLUEPRINT_FOUNDRY_TECHNOLOGY.name()) .or() @@ -301,7 +314,19 @@ public interface ProcessDesignMapper extends BaseMapperX { .like(!StringUtils.isEmpty(reqVO.getProcessDesignType()), ProcessDesignDO::getProcessDesignType, reqVO.getProcessDesignType()) ; - + query.and(q -> q + .and(innerQ -> innerQ + .apply("a.craft_start_date is not null and a.craft_end_date is not null and t.process_design_type = {0}", ProcessDesignTypeEnum.BLUEPRINT_FOUNDRY_TECHNOLOGY.name()) + .or() + .apply("b.start_blank_date is not null and b.blank_date is not null and t.process_design_type = {0}", ProcessDesignTypeEnum.BLUEPRINT_WORKBLANK.name()) + .or() + .apply("b.start_two_dim_Date is not null and b.two_dim_date is not null and t.process_design_type = {0}", ProcessDesignTypeEnum.BLUEPRINT_2D.name()) + .or() + .apply("b.start_three_dim_date is not null and b.three_dim_date is not null and t.process_design_type = {0}", ProcessDesignTypeEnum.BLUEPRINT_3D.name()) + ) + .or() + .apply("a.cast_start_date is not null and a.cast_end_date is not null and t.process_design_type = {0}", ProcessDesignTypeEnum.CASTING_DRAWING.name()) + ); if(!StringUtils.isEmpty(reqVO.getOwnerName())){ query.and(QueryWrapper -> QueryWrapper.apply("u2.nickname like concat('%', {0}, '%') and t.process_design_type = {1}", reqVO.getOwnerName(), ProcessDesignTypeEnum.BLUEPRINT_FOUNDRY_TECHNOLOGY.name()) .or() diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java index 4573c946..80f3fd18 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java @@ -330,9 +330,9 @@ public interface TaskDispatchDetailMapper extends BaseMapperXe.like(ProjectOrderDO::getProjectName, reqVO.getSubOrDetailName()).or().like( + query.and( e ->e.eq(ProjectOrderDO::getProjectName, reqVO.getSubOrDetailName()).or().eq( ProjectOrderSubDO::getName, reqVO.getSubOrDetailName() - ).or().like(ProcessBomDetailDO::getMaterialName, reqVO.getSubOrDetailName())); + ).or().eq(ProcessBomDetailDO::getMaterialName, reqVO.getSubOrDetailName())); // query.eq(" (b.project_name like '%" + reqVO.getSubOrDetailName() + "%' or c.name like '%" + reqVO.getSubOrDetailName() + "%')"); } query.and(wrapper -> { diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchMapper.java index 98f9b4f5..1e8b6929 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchMapper.java @@ -1,5 +1,6 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; @@ -79,6 +80,7 @@ public interface TaskDispatchMapper extends BaseMapperX { .like(!StringUtils.isEmpty(reqVO.getOwnerName()), "u1.nickname", reqVO.getOwnerName()) .like(!StringUtils.isEmpty(reqVO.getTaskCode()), PlanTaskDO::getTaskNo, reqVO.getTaskCode()) .like(!StringUtils.isEmpty(reqVO.getPlanCode()), PlanDO::getPlanNo, reqVO.getPlanCode()) + .like(ObjectUtil.isNotEmpty(reqVO.getBlueprintNo()),ProcessBomDetailDO::getBlueprintNo, reqVO.getBlueprintNo()); ; return selectPage(reqVO, query); } @@ -127,6 +129,8 @@ public interface TaskDispatchMapper extends BaseMapperX { .like(!StringUtils.isEmpty(reqVO.getOwnerId()), "u1.id", reqVO.getOwnerId()) .like(!StringUtils.isEmpty(reqVO.getTaskCode()), PlanTaskDO::getTaskNo, reqVO.getTaskCode()) .like(!StringUtils.isEmpty(reqVO.getPlanCode()), PlanDO::getPlanNo, reqVO.getPlanCode()) + .like(ObjectUtil.isNotEmpty(reqVO.getBlueprintNo()),ProcessBomDetailDO::getBlueprintNo, reqVO.getBlueprintNo()); + ; return selectList(query); } 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 9162da2f..eac8ec2e 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 @@ -119,7 +119,7 @@ public interface ZjPgMasterLineMapper extends BaseMapperX { ; if (reqVO.getSubOrDetailName() != null && !reqVO.getSubOrDetailName().trim().equals("")){ - query.and( e ->e.like(ZjPgMasterLineDO::getProjectName, reqVO.getSubOrDetailName()).or().like( + query.and( e ->e.eq(ZjPgMasterLineDO::getProjectName, reqVO.getSubOrDetailName()).or().eq( ZjPgMasterLineDO::getProjectSubName, reqVO.getSubOrDetailName() )); // query.eq(" (b.project_name like '%" + reqVO.getSubOrDetailName() + "%' or c.name like '%" + reqVO.getSubOrDetailName() + "%')"); diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/PriceQuoteRecord/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/PriceQuoteRecord/index.vue index 8502b31c..a7ca9f92 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/PriceQuoteRecord/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/PriceQuoteRecord/index.vue @@ -70,7 +70,7 @@ @@ -151,7 +151,7 @@ @@ -161,12 +161,12 @@ \ No newline at end of file +onBeforeUnmount(() => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); + +window.addEventListener('beforeunload', () => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/index.vue index 1e07b2bc..56493ddd 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/index.vue @@ -189,11 +189,11 @@ diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/fpuserdetail/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/fpuserdetail/index.vue index fdd13466..fe3ffa6a 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/fpuserdetail/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/fpuserdetail/index.vue @@ -113,7 +113,7 @@ import * as FpUserDetailApi from '@/api/heli/fpuserdetail' import router from "@/router"; import {ref} from "vue"; - +import routeParamsCache from '@/utils/routeParamsCache'; defineOptions({ name: 'FpUserDetail' }) const message = useMessage() // 消息弹窗 @@ -199,7 +199,21 @@ const handleDelete = async (id: number) => { // } /** 初始化 **/ -onMounted(() => { +const route = useRoute() +onMounted(async () => { + let params = routeParamsCache.get(route.path); + if (params ) { + Object.assign(queryParams, params); + } getList() }) +onBeforeUnmount(() => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); + +window.addEventListener('beforeunload', () => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/inspectionreport/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/inspectionreport/index.vue index 5ea92930..b5db4762 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/inspectionreport/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/inspectionreport/index.vue @@ -94,7 +94,7 @@ diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/management.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/management.vue index e8215bfa..445b0d36 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/management.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/management.vue @@ -81,7 +81,7 @@ import { DICT_TYPE } from '@/utils/dict' import { dateFormatter1} from '@/utils/formatTime' import * as MaterialPlanApi from '@/api/heli/materialplan' - +import routeParamsCache from '@/utils/routeParamsCache' defineOptions({ name: 'MaterialPlan' }) const router = useRouter() @@ -173,9 +173,23 @@ const handleDelete = async (id: number) => { const userInit = ref() /** 初始化 **/ +const route = useRoute() onMounted(async () => { + let params = routeParamsCache.get(route.path); + if (params ) { + Object.assign(queryParams, params); + } //用户列表数据 // userInit.value = await UserApi.getSimpleUserList() getList() }) +onBeforeUnmount(() => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); + +window.addEventListener('beforeunload', () => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/partmanagement.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/partmanagement.vue index 313147b3..87540955 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/partmanagement.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/partmanagement.vue @@ -85,7 +85,7 @@ import { DICT_TYPE } from '@/utils/dict' import { dateFormatter1} from '@/utils/formatTime' import * as MaterialPlanApi from '@/api/heli/materialplan' - +import routeParamsCache from '@/utils/routeParamsCache' defineOptions({ name: 'MaterialPlan' }) const router = useRouter() const message = useMessage() // 消息弹窗 @@ -178,9 +178,23 @@ const handleDelete = async (id: number) => { const userInit = ref() /** 初始化 **/ +const route = useRoute() onMounted(async () => { + let params = routeParamsCache.get(route.path); + if (params ) { + Object.assign(queryParams, params); + } //用户列表数据 // userInit.value = await UserApi.getSimpleUserList() getList() }) +onBeforeUnmount(() => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); + +window.addEventListener('beforeunload', () => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/matreq/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/matreq/index.vue index 4ffdf104..9ef3c3cf 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/matreq/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/matreq/index.vue @@ -99,12 +99,12 @@ diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcestock/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcestock/index.vue index 67f8d42c..91dd201c 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcestock/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcestock/index.vue @@ -135,7 +135,7 @@ import download from '@/utils/download' import * as OutsourceStockApi from '@/api/heli/outsourcestock' import OutsourceStockForm from './OutsourceStockForm.vue' import { dateFormatter, formatDate } from '@/utils/formatTime' - +import routeParamsCache from '@/utils/routeParamsCache' defineOptions({ name: 'OutsourceStock' }) const message = useMessage() // 消息弹窗 @@ -238,7 +238,21 @@ const handleExport = async () => { } /** 初始化 **/ -onMounted(() => { +const route = useRoute() +onMounted(async () => { + let params = routeParamsCache.get(route.path); + if (params ) { + Object.assign(queryParams, params); + } getList() }) - \ No newline at end of file +onBeforeUnmount(() => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); + +window.addEventListener('beforeunload', () => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchase/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchase/index.vue index 68e761f1..39f4ba1e 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchase/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchase/index.vue @@ -99,6 +99,14 @@ + + + + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchasecheck/indexs.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchasecheck/indexs.vue index 7076021b..53f30fa7 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchasecheck/indexs.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchasecheck/indexs.vue @@ -59,7 +59,7 @@ - + @@ -170,13 +170,78 @@ const handleQuery = () => { queryParams.pageNo = 1 getList() } - +const getSummaries = (param: SummaryMethodProps) => { + const summaryField = ["estimatedPrice"]; + console.log(param) + const { columns, data } = param; + const sums = []; + columns.forEach((column, index) => { + if (index === 0) { + sums[index] = '合计'; + return; + } + if (!summaryField.includes(column.property)) { + sums[index] = ''; + return; + } + const values = data.map(item => Number(item[column.property])); + if (!values.every(value => isNaN(value))) { + sums[index] = values.reduce((prev, curr) => { + const value = Number(curr); + if (!isNaN(value)) { + return floatAdd(prev, curr); + } else { + return prev; + } + }, 0); + const thousandsField = []; + if (thousandsField.includes(column.property)) { + sums[index] = thousandsFormat(sums[index]); + } + } else { + sums[index] = ''; + } + }); + // const sumValue = computed(() => { + // return list.value.reduce((sum, item) => sum + item.quantityLent, 0); + // }); + // const sums = ['合计','','','','','','','',sumValue]; + return sums; +} /** 重置按钮操作 */ const resetQuery = () => { queryFormRef.value.resetFields() handleQuery() } - +const floatAdd = (a, b) => { + var c, d, e; + if (undefined === a || null === a || "" === a || isNaN(a)) { a = 0; } + if (undefined === b || null === b || "" === b || isNaN(b)) { b = 0; } + try { + c = a.toString().split(".")[1].length; + } catch (f) { + c = 0; + } + try { + d = b.toString().split(".")[1].length; + } catch (f) { + d = 0; + } + e = Math.pow(10, Math.max(c, d)); + return (floatMul(a, e) + floatMul(b, e)) / e; +}; +const floatMul = (a, b) => { + var c = 0, + d = a.toString(), + e = b.toString(); + try { + c += d.split(".")[1].length; + } catch (f) {} + try { + c += e.split(".")[1].length; + } catch (f) {} + return Number(d.replace(".", "")) * Number(e.replace(".", "")) / Math.pow(10, c); +} /** 添加/修改操作 */ const openForm = (type: string, id?: number) => { diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/index.vue index 54fd958b..c2383f1c 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/index.vue @@ -179,8 +179,7 @@ import * as PlanApi from '@/api/heli/plan' import Print from './productionPrint.vue' // 引入打印弹框 import A3sonPrint from './A3sonPrint.vue' // 引入A3打印弹框 import * as UserApi from '@/api/system/user' -import {disposeCoordSysRecordIfNeeded} from "echarts/types/src/component/dataZoom/roams"; -import routeParamsCache from '@/utils/routeParamsCache'; +import routeParamsCache from '@/utils/routeParamsCache'; defineOptions({ name: 'Plan' }) const message = useMessage() // 消息弹窗 @@ -314,12 +313,12 @@ onMounted(async () => { } await getList() }); - + onBeforeUnmount(() => { const plainParams = JSON.parse(JSON.stringify(queryParams)); routeParamsCache.set(route.path, plainParams); }); - + window.addEventListener('beforeunload', () => { const plainParams = JSON.parse(JSON.stringify(queryParams)); routeParamsCache.set(route.path, plainParams); diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/plantask/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/plantask/index.vue index e1ca4382..8fa3f984 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/plantask/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/plantask/index.vue @@ -97,11 +97,12 @@ diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/2d.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/2d.vue index 08623cff..ffc5cbf7 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/2d.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/2d.vue @@ -107,13 +107,13 @@ diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/3d.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/3d.vue index ecab3875..4d8e196a 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/3d.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/3d.vue @@ -157,13 +157,13 @@ diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/bom.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/bom.vue index 588ea133..9dee5395 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/bom.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/bom.vue @@ -110,8 +110,7 @@ import download from '@/utils/download' import * as ProcessBomApi from '@/api/heli/processbom' import { useCommonStateWithOut } from '@/store/modules/common' import BomImportForm from './bomImportForm.vue' -import * as planTaskBomApi from '@/api/heli/plantaskbom' - +import routeParamsCache from '@/utils/routeParamsCache' defineOptions({ name: 'ProcessBom' }) const commonStore = useCommonStateWithOut() @@ -245,9 +244,23 @@ const openPlanTaskDetail = async (code) => { router.push({ path: '/plan/PlanTasks', query: { code: code } }) } /** 初始化 **/ -onMounted(() => { +const route = useRoute() +onMounted(async () => { + let params = routeParamsCache.get(route.path); + if (params ) { + Object.assign(queryParams, params); + } getList() }) +onBeforeUnmount(() => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); + +window.addEventListener('beforeunload', () => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); @@ -658,4 +672,4 @@ function limitTo20Chars(input) { - \ No newline at end of file + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/index.vue index e3609747..c30cf576 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/index.vue @@ -110,9 +110,8 @@ import download from '@/utils/download' import * as PurchaseOrderApi from '@/api/heli/purchaseorder' import * as PurchaseOrderNoApi from '@/api/heli/purchaseorderno' import { ElTable } from 'element-plus' -import dayjs from "dayjs"; import {useUserStore} from "@/store/modules/user"; - +import routeParamsCache from '@/utils/routeParamsCache' defineOptions({ name: 'PurchaseOrder' }) const userStore = useUserStore() const username = userStore.getUser.nickname @@ -284,7 +283,21 @@ const handleExportWithTax = async () => { } } /** 初始化 **/ -onMounted( () => { +const route = useRoute() +onMounted(async () => { + let params = routeParamsCache.get(route.path); + if (params ) { + Object.assign(queryParams, params); + } getList() }) +onBeforeUnmount(() => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); + +window.addEventListener('beforeunload', () => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/management.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/management.vue index edb19553..fb7de6f1 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/management.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/management.vue @@ -87,13 +87,12 @@ v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" cl diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/qualityfeedback/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/qualityfeedback/index.vue index 47956336..b2d1d542 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/qualityfeedback/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/qualityfeedback/index.vue @@ -123,7 +123,7 @@ import { dateFormatter } from '@/utils/formatTime' import download from '@/utils/download' import * as QualityFeedbackApi from '@/api/heli/qualityfeedback' import {useCommonStore} from "@/store/modules/common"; - +import routeParamsCache from '@/utils/routeParamsCache' defineOptions({ name: 'QualityFeedback' }) const message = useMessage() // 消息弹窗 @@ -218,7 +218,21 @@ const openDetail = (type: string, id?: number) => { } /** 初始化 **/ -onMounted(() => { +const route = useRoute() +onMounted(async () => { + let params = routeParamsCache.get(route.path); + if (params ) { + Object.assign(queryParams, params); + } getList() }) +onBeforeUnmount(() => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); + +window.addEventListener('beforeunload', () => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/saleordercost/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/saleordercost/index.vue index b01d70fe..c941faf4 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/saleordercost/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/saleordercost/index.vue @@ -119,7 +119,7 @@ import download from '@/utils/download' import * as SaleeOrderCost from '@/api/heli/saleordercost' import * as UserApi from '@/api/system/user' import {DICT_TYPE} from "@/utils/dict"; - +import routeParamsCache from '@/utils/routeParamsCache' defineOptions({ name: 'Shenhe' }) const userList = ref([]) // 用户列表 const message = useMessage() // 消息弹窗 @@ -196,9 +196,23 @@ const handleExport = async () => { } /** 初始化 **/ +const route = useRoute() onMounted(async () => { + let params = routeParamsCache.get(route.path); + if (params ) { + Object.assign(queryParams, params); + } loading.value = true await getList() userList.value = await UserApi.getSimpleUserList() }) +onBeforeUnmount(() => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); + +window.addEventListener('beforeunload', () => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/index.vue index aa66e39f..9c6354a1 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/index.vue @@ -202,11 +202,10 @@ diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/outdexsp.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/outdexsp.vue index b704646f..184eff2a 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/outdexsp.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/outdexsp.vue @@ -207,11 +207,10 @@ diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/storagecheck/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/storagecheck/index.vue index 61815a87..176c91ae 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/storagecheck/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/storagecheck/index.vue @@ -119,7 +119,7 @@ import * as StorageCheckApi from '@/api/heli/storagecheck' import StorageCheckForm from './StorageCheckForm.vue' import * as WarehouseApi from '@/api/heli/warehouse' import * as UserApi from '@/api/system/user' - +import routeParamsCache from '@/utils/routeParamsCache' defineOptions({ name: 'StorageCheck' }) const router = useRouter() // 路由 @@ -224,8 +224,22 @@ const handleExport = async () => { } /** 初始化 **/ +const route = useRoute() onMounted(async () => { + let params = routeParamsCache.get(route.path); + if (params ) { + Object.assign(queryParams, params); + } await init_page_wh() await getList() }) +onBeforeUnmount(() => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); + +window.addEventListener('beforeunload', () => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/storagein/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/storagein/index.vue index fd698d43..a78198ec 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/storagein/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/storagein/index.vue @@ -98,7 +98,7 @@ import * as StorageinApi from '@/api/heli/storagein' import { ElTable } from 'element-plus' import {useUserStore} from "@/store/modules/user"; - +import routeParamsCache from '@/utils/routeParamsCache' defineOptions({ name: 'PurchaseOrder' }) const userStore = useUserStore() const username = userStore.getUser.nickname @@ -181,7 +181,21 @@ const openForm = (type: string, id?: number) => { } } /** 初始化 **/ -onMounted( () => { +const route = useRoute() +onMounted(async () => { + let params = routeParamsCache.get(route.path); + if (params ) { + Object.assign(queryParams, params); + } handleQuery() }) +onBeforeUnmount(() => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); + +window.addEventListener('beforeunload', () => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/storagelog/StorageLogForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/storagelog/StorageLogForm.vue index 594afd42..5c819c2e 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/storagelog/StorageLogForm.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/storagelog/StorageLogForm.vue @@ -109,7 +109,7 @@ v-for="dict in pnCurrentList" :key="dict.id" :label="dict.pn_name" import * as StorageInventoryApi from '@/api/heli/storageinventory' import { getIntDictOptions, DICT_TYPE } from '@/utils/dict' - +import routeParamsCache from '@/utils/routeParamsCache' import * as WarehouseApi from '@/api/heli/warehouse' import * as RgApi from '@/api/heli/rg' import * as PnApi from '@/api/heli/pn' @@ -209,10 +209,24 @@ const init_page_pn = (async ()=>{ }) /** 初始化 **/ +const route = useRoute() onMounted(async () => { + let params = routeParamsCache.get(route.path); + if (params ) { + Object.assign(queryParams, params); + } await init_page_wh() await init_page_rg() await init_page_pn() await getList() }) +onBeforeUnmount(() => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); + +window.addEventListener('beforeunload', () => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/storagelog/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/storagelog/index.vue index d1425393..03f9a87e 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/storagelog/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/storagelog/index.vue @@ -84,20 +84,16 @@ diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/storagelog/supplementManagement.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/storagelog/supplementManagement.vue index 8c83db93..82e83649 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/storagelog/supplementManagement.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/storagelog/supplementManagement.vue @@ -87,7 +87,7 @@ import { dateFormatter1} from '@/utils/formatTime' import * as MaterialPlanApi from '@/api/heli/materialplan' import * as UserApi from '@/api/system/user' import dayjs from "dayjs"; - +import routeParamsCache from '@/utils/routeParamsCache' defineOptions({ name: 'supplementManagement' }) const router = useRouter() @@ -186,14 +186,27 @@ const setDefaultDate = () => { const userInit = ref() /** 初始化 **/ +const route = useRoute() onMounted(async () => { + setDefaultDate() + let params = routeParamsCache.get(route.path); + if (params ) { + Object.assign(queryParams, params); + } userInit.value = await UserApi.getSimpleUserList() //用户列表数据 - setDefaultDate() getList() }) onActivated(() => { - console.log(11) getList() }) +onBeforeUnmount(() => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); + +window.addEventListener('beforeunload', () => { + const plainParams = JSON.parse(JSON.stringify(queryParams)); + routeParamsCache.set(route.path, plainParams); +}); diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/taskdispatch/ProductProcessPrint.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/taskdispatch/ProductProcessPrint.vue index 511cd0c8..c58c2fdf 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/taskdispatch/ProductProcessPrint.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/taskdispatch/ProductProcessPrint.vue @@ -80,6 +80,7 @@ 网格 深钻孔 钻孔 + 定制 {{item.index}} @@ -106,6 +107,7 @@ {{item.lettering}} {{item.electrowelding}} {{item.drill}} + {{item.customization}} @@ -150,13 +152,11 @@ diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/taskdispatch/detailDialog.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/taskdispatch/detailDialog.vue index 3cbcd183..3a71d56b 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/taskdispatch/detailDialog.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/taskdispatch/detailDialog.vue @@ -197,6 +197,7 @@ class="!w-260px" v-model="formData.requiredCompletedDate" type="date" value-form +