From 25bc9bfbaa654867b5f5d07927033559a3a03f74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=9C=E7=AC=99=E6=AD=8C?= <2277317060@qq.com> Date: Thu, 15 May 2025 08:47:15 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/views/mes/materialBom/index.vue | 138 ++++++++++++++-------------- 2 files changed, 70 insertions(+), 70 deletions(-) diff --git a/package.json b/package.json index 236319e..abec74b 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "type": "module", "scripts": { "dev": "vite serve --mode development", - "build:prod": "node --max_old_space_size=9012 node_modules/vite/bin/vite.js build --mode production", + "build:prod": "node --max_old_space_size=8192 node_modules/vite/bin/vite.js build --mode production", "build:dev": "vite build --mode development", "preview": "vite preview", "lint:eslint": "eslint --fix --ext .ts,.js,.vue ./src ", diff --git a/src/views/mes/materialBom/index.vue b/src/views/mes/materialBom/index.vue index ec5e6aa..dacfb5b 100644 --- a/src/views/mes/materialBom/index.vue +++ b/src/views/mes/materialBom/index.vue @@ -3,8 +3,8 @@ - - + + - + - + + :disabled="parentMaterialDisabled" /> - + @@ -66,7 +66,7 @@ + style="width:200px" /> @@ -105,29 +105,29 @@ - - + + + prop="materialBomId" /> + prop="materialTypeCode" :show-overflow-tooltip="true" /> + prop="materialTypeName" :show-overflow-tooltip="true" w /> + prop="materialId" :show-overflow-tooltip="true" /> @@ -190,18 +190,18 @@ - + + style="width:360px" /> + style="width:360px" /> @@ -244,22 +244,22 @@ import { listMaterialBomJoinStructure, addBatchMaterialBom, getUnitInfoList, getMaterialBomVersionList, getParentMaterialBom, deleteMaterialBoms -} from "@/api/mes/materialBom"; +} from '@/api/mes/materialBom'; -import {MaterialBomVO, MaterialBomForm, MaterialBomQuery} from '@/api/mes/materialBom/types'; -import {BaseMaterialTypeVO} from '@/api/mes/baseMaterialType/types'; +import { MaterialBomVO, MaterialBomForm, MaterialBomQuery } from '@/api/mes/materialBom/types'; +import { BaseMaterialTypeVO } from '@/api/mes/baseMaterialType/types'; import MaterialSelect from '@/views/mes/baseMaterialInfo/addMaterial.vue'; -import {to} from 'await-to-js'; -import {nextTick} from "vue"; -import {MaterialBomVersionVO} from "@/api/mes/materialBomVersion/types"; -import {BaseMeasurementUnitInfoVO} from "@/api/mes/baseMeasurementUnitInfo/types"; -import {BaseStructureBomTreeVO} from "@/api/mes/baseStructureBom/types"; +import { to } from 'await-to-js'; +import { nextTick } from 'vue'; +import { MaterialBomVersionVO } from '@/api/mes/materialBomVersion/types'; +import { BaseMeasurementUnitInfoVO } from '@/api/mes/baseMeasurementUnitInfo/types'; +import { BaseStructureBomTreeVO } from '@/api/mes/baseStructureBom/types'; const materialTypeId = ref(0);//此值是传给选择物料信息弹框使用 const router = useRouter(); -const {proxy} = getCurrentInstance() as ComponentInternalInstance; +const { proxy } = getCurrentInstance() as ComponentInternalInstance; const materialBomList = ref(); const saveMaterialBomList = ref([]); const treeLoading = ref(false); @@ -293,18 +293,18 @@ const SELECT_MATERIAL_MODEL = ref({ PARENT_SELECT: '1',//父级物料选择 CHILD_SELECT: '2',//子级物料选择 DIALOG_CHILD_SELECT: '3'//弹窗子级选择 -}) +}); // 列显隐信息 const columns = ref([ - {key: 0, label: `生产BOM_ID`, visible: false, children: []}, - {key: 1, label: `子物料类型编号`, visible: true, children: []}, - {key: 2, label: `子物料类型名称`, visible: true, children: []}, - {key: 3, label: `BOM版本`, visible: false, children: []}, - {key: 4, label: `子物料ID`, visible: false, children: []}, - {key: 5, label: `子物料名称`, visible: true, children: []}, - {key: 6, label: `子物料数量`, visible: true, children: []}, - {key: 7, label: `子物料单位`, visible: true, children: []} + { key: 0, label: `生产BOM_ID`, visible: false, children: [] }, + { key: 1, label: `子物料类型编号`, visible: true, children: [] }, + { key: 2, label: `子物料类型名称`, visible: true, children: [] }, + { key: 3, label: `BOM版本`, visible: false, children: [] }, + { key: 4, label: `子物料ID`, visible: false, children: [] }, + { key: 5, label: `子物料名称`, visible: true, children: [] }, + { key: 6, label: `子物料数量`, visible: true, children: [] }, + { key: 7, label: `子物料单位`, visible: true, children: [] } ]); const materialBomTreeRef = ref(); @@ -340,7 +340,7 @@ const initParentFormData: MaterialBomForm = { attachId: undefined, activeFlag: '1', remark: undefined, - materialTypeName: undefined, + materialTypeName: undefined }; const initFormData: MaterialBomForm = { @@ -364,12 +364,12 @@ const initFormData: MaterialBomForm = { attachId: undefined, activeFlag: '1', remark: undefined, - materialTypeName: undefined, + materialTypeName: undefined }; const data = reactive>({ - form: {...initFormData}, - parentForm: {...initParentFormData}, + form: { ...initFormData }, + parentForm: { ...initParentFormData }, queryParams: { materialBomId: undefined, parentId: undefined, @@ -382,31 +382,31 @@ const data = reactive>({ }, rules: { materialTypeId: [ - {required: true, message: "物料类型不能为空", trigger: "blur"} + { required: true, message: '物料类型不能为空', trigger: 'blur' } ], materialBomVersion: [ - {required: true, message: "BOM版本不能为空", trigger: "blur"} + { required: true, message: 'BOM版本不能为空', trigger: 'blur' } ], materialName: [ - {required: true, message: "物料名称不能为空", trigger: "blur"} + { required: true, message: '物料名称不能为空', trigger: 'blur' } ], standardAmount: [ - {required: true, message: "子物料数量不能为空", trigger: "blur"} + { required: true, message: '子物料数量不能为空', trigger: 'blur' } ] }, parentRules: { parentMaterialName: [ - {required: true, message: "父物料名称不能为空", trigger: "blur"} + { required: true, message: '父物料名称不能为空', trigger: 'blur' } ], materialBomVersion: [ - {required: true, message: "BOM版本不能为空", trigger: "blur"} + { required: true, message: 'BOM版本不能为空', trigger: 'blur' } ], parentStandardAmount: [ - {required: true, message: "父物料数量不能为空", trigger: "blur"} + { required: true, message: '父物料数量不能为空', trigger: 'blur' } ], parentUnitId: [ - {required: true, message: "父物料单位不能为空", trigger: "blur"} + { required: true, message: '父物料单位不能为空', trigger: 'blur' } ] } @@ -421,9 +421,9 @@ const parentQueryParams = ref({ materialName: undefined, materialBomVersion: undefined, params: {} -}) +}); -const {queryParams, form, rules, parentForm, parentRules} = toRefs(data); +const { queryParams, form, rules, parentForm, parentRules } = toRefs(data); /** 通过条件过滤节点 */ const filterNode = (value: string, data: any) => { @@ -452,7 +452,7 @@ const getTreeSelect = async () => { id: virtualTopNodeId,//materialBomId parentId: -1, materialId: 0, - label: "生产BOM", + label: '生产BOM', children: res.data }; materialBomOptions.value.push(initialTree); @@ -460,12 +460,12 @@ const getTreeSelect = async () => { // materialBomOptions.value = res.data; if (!focusKeyNode.value) {//如果之前没有focus - focusKeyNode.value = {treeKey: virtualTopNodeId}; + focusKeyNode.value = { treeKey: virtualTopNodeId }; } else { - const clickNode = findObjectByTreeKey(materialBomOptions.value, focusKeyNode.value.treeKey) + const clickNode = findObjectByTreeKey(materialBomOptions.value, focusKeyNode.value.treeKey); if (!clickNode) { focusKeyNode.value = undefined; - focusKeyNode.value = {treeKey: virtualTopNodeId}; + focusKeyNode.value = { treeKey: virtualTopNodeId }; } // if (!allTreeKeys || allTreeKeys.length <= 0) { @@ -482,9 +482,9 @@ const getTreeSelect = async () => { // const focusKeyNodeIndex = materialBomOptions.value.findIndex((optionItem) => focusKeyNode.value.treeKey === optionItem.treeKey);//有嵌套children的,有可能找不到 } - nextTick(function () { + nextTick(function() { materialBomTreeRef.value?.setCurrentKey(focusKeyNode.value.treeKey, true); - }) + }); loading.value = false; treeLoading.value = false; @@ -507,12 +507,12 @@ const getList = async () => { const resetParentQueryParams = () => { parentQueryParams.value.parentId = undefined;//是当前节点的materialId parentQueryParams.value.materialBomVersion = undefined; -} +}; const resetQueryParams = () => { queryParams.value.parentId = undefined;//materialid queryParams.value.parentMaterialTypeId = undefined; -} +}; /** 节点单击事件 */ const handleNodeClick = (data: MaterialBomVO) => { @@ -528,7 +528,7 @@ const handleNodeClick = (data: MaterialBomVO) => { getParentMaterialBomInfo(); queryParams.value.parentId = data.materialId; queryParams.value.parentMaterialTypeId = data.materialTypeId; - queryParams.value.materialBomVersion = data.materialBomVersion + queryParams.value.materialBomVersion = data.materialBomVersion; handleQuery(); } else { if (materialBomVersionOptions.value.length > 0) { @@ -543,10 +543,10 @@ const handleNodeClick = (data: MaterialBomVO) => { const clickDisplay = () => { if (queryParams.value.parentId === 0) { parentFormDisplay.value = false; - childTableTitle.value = "顶级物料"; + childTableTitle.value = '顶级物料'; } else { parentFormDisplay.value = true; - childTableTitle.value = "子级物料"; + childTableTitle.value = '子级物料'; } }; @@ -588,7 +588,7 @@ const handleDelete = async (row?: MaterialBomVO) => { }); // alert(JSON.stringify(toDeleteMaterialBoms.value)) if (toDeleteMaterialBoms.value.length > 0) { - await deleteMaterialBoms(toDeleteMaterialBoms.value) + await deleteMaterialBoms(toDeleteMaterialBoms.value); await getTreeSelect(); } @@ -619,7 +619,7 @@ const handleSelectionChange = (selection: MaterialBomVO[]) => { /** 重置操作表单 */ const reset = () => { - form.value = {...initFormData}; + form.value = { ...initFormData }; materialBomFormRef.value?.resetFields(); }; /** 取消按钮 */ @@ -734,7 +734,7 @@ const handleMaterialSelect = (row, selectMode) => { } else if (selectMode === SELECT_MATERIAL_MODEL.value.CHILD_SELECT) {//子级选择物料需要传值materialTypeId materialTypeId.value = row.materialTypeId; } else { - materialTypeId.value = undefined + materialTypeId.value = undefined; } materialOpen.value = true; }; @@ -801,7 +801,7 @@ const submitBatchSaveMaterialBoms = async () => { await addBatchMaterialBom(saveMaterialBomList.value); proxy?.$modal.msgSuccess('操作成功'); - focusKeyNode.value.treeKey = parentForm.value.parentId + "-" + parentForm.value.materialBomVersion; + focusKeyNode.value.treeKey = parentForm.value.parentId + '-' + parentForm.value.materialBomVersion; focusKeyNode.value.materialBomVersion = parentForm.value.materialBomVersion; focusKeyNode.value.parentUnitId = parentForm.value.parentUnitId; focusKeyNode.value.parentStandardAmount = parentForm.value.parentStandardAmount; @@ -817,13 +817,13 @@ const submitBatchSaveMaterialBoms = async () => { } } }); -} +}; /** 初始化单位数据 */ const initUnitInfoData = async () => { if (unitInfoOptions.value === undefined || unitInfoOptions.value.length <= 0) { - const {data} = await getUnitInfoList(); + const { data } = await getUnitInfoList(); // alert(JSON.stringify(data)) unitInfoOptions.value = data; } @@ -833,7 +833,7 @@ const initUnitInfoData = async () => { const initMaterialBomVersionData = async () => { // alert(JSON.stringify(getMaterialBomVersionList)) if (materialBomVersionOptions.value === undefined || materialBomVersionOptions.value.length <= 0) { - const {data} = await getMaterialBomVersionList(); + const { data } = await getMaterialBomVersionList(); materialBomVersionOptions.value = data; if (materialBomVersionOptions.value.length > 0) { @@ -862,7 +862,7 @@ const findObjectByTreeKey = (list, targetTreeKey) => { } } return null; -} +}; // const getClickNode = (obj) => { From 6452bf288d33696a1bd99208a4990d9dc3748da3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=9C=E7=AC=99=E6=AD=8C?= <2277317060@qq.com> Date: Thu, 15 May 2025 08:51:52 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/mes/materialBom/index.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/mes/materialBom/index.vue b/src/views/mes/materialBom/index.vue index dacfb5b..8a9d054 100644 --- a/src/views/mes/materialBom/index.vue +++ b/src/views/mes/materialBom/index.vue @@ -2,8 +2,8 @@
- - + + Date: Thu, 15 May 2025 09:49:30 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/mes/materialBom/index.vue | 31 ++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/src/views/mes/materialBom/index.vue b/src/views/mes/materialBom/index.vue index 8a9d054..9a63b24 100644 --- a/src/views/mes/materialBom/index.vue +++ b/src/views/mes/materialBom/index.vue @@ -2,8 +2,8 @@
- - + + @@ -880,6 +886,17 @@ const findObjectByTreeKey = (list, targetTreeKey) => { // } // // } +const getColor = (e) => { + if (e.materialBomVersion === '01') { + return ['#ff0000', '#fff']; + } + if (e.materialBomVersion === '02') { + return ['#00ff00', '#000']; + } + if (e.materialBomVersion === '03') { + return ['#0000ff', '#fff']; + } +}; From a861f54792341d4535035e225729334f0b846ece Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=9C=E7=AC=99=E6=AD=8C?= <2277317060@qq.com> Date: Thu, 15 May 2025 10:37:38 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/mes/materialBom/index.vue | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/views/mes/materialBom/index.vue b/src/views/mes/materialBom/index.vue index 9a63b24..36f10e7 100644 --- a/src/views/mes/materialBom/index.vue +++ b/src/views/mes/materialBom/index.vue @@ -18,14 +18,17 @@ @node-click="handleNodeClick" > - - + + + prop="materialBomId"/> + prop="materialTypeCode" :show-overflow-tooltip="true"/> + prop="materialTypeName" :show-overflow-tooltip="true" w/> + prop="materialId" :show-overflow-tooltip="true"/> @@ -199,18 +222,18 @@ - + + style="width:360px"/> + style="width:360px"/> @@ -252,23 +275,28 @@ import { materialBomTreeSelect, listMaterialBomJoinStructure, addBatchMaterialBom, - getUnitInfoList, getMaterialBomVersionList, getParentMaterialBom, deleteMaterialBoms -} from '@/api/mes/materialBom'; + getUnitInfoList, getMaterialBomVersionList, getParentMaterialBom, deleteMaterialBoms, + selectNextMaterialBomVersion +} from "@/api/mes/materialBom"; -import { MaterialBomVO, MaterialBomForm, MaterialBomQuery } from '@/api/mes/materialBom/types'; -import { BaseMaterialTypeVO } from '@/api/mes/baseMaterialType/types'; +import {MaterialBomVO, MaterialBomForm, MaterialBomQuery} from '@/api/mes/materialBom/types'; +import {BaseMaterialTypeVO} from '@/api/mes/baseMaterialType/types'; import MaterialSelect from '@/views/mes/baseMaterialInfo/addMaterial.vue'; -import { to } from 'await-to-js'; -import { nextTick } from 'vue'; -import { MaterialBomVersionVO } from '@/api/mes/materialBomVersion/types'; -import { BaseMeasurementUnitInfoVO } from '@/api/mes/baseMeasurementUnitInfo/types'; -import { BaseStructureBomTreeVO } from '@/api/mes/baseStructureBom/types'; +import {to} from 'await-to-js'; +import {nextTick} from "vue"; +import {MaterialBomVersionVO} from "@/api/mes/materialBomVersion/types"; +import {BaseMeasurementUnitInfoVO} from "@/api/mes/baseMeasurementUnitInfo/types"; +import {BaseStructureBomTreeVO} from "@/api/mes/baseStructureBom/types"; const materialTypeId = ref(0);//此值是传给选择物料信息弹框使用 const router = useRouter(); -const { proxy } = getCurrentInstance() as ComponentInternalInstance; +const {proxy} = getCurrentInstance() as ComponentInternalInstance; + +const { material_bom_active_flag } = toRefs(proxy?.useDict('material_bom_active_flag')); + + const materialBomList = ref(); const saveMaterialBomList = ref([]); const treeLoading = ref(false); @@ -302,18 +330,31 @@ const SELECT_MATERIAL_MODEL = ref({ PARENT_SELECT: '1',//父级物料选择 CHILD_SELECT: '2',//子级物料选择 DIALOG_CHILD_SELECT: '3'//弹窗子级选择 -}); +}) + +const MATERIAL_BOM_ACTIVE_FLAG = ref({ + ACTIVE: '1',//启用 + HISTORY: '2',//历史 + DESIGN: '3'//设计中 +}) + +const addNewMaterialBomVersionBtnText = ref('新增中'); +const addNewMaterialBomVersionBtnDisabled = ref(true); + +const publishBtnDisplay = ref(false); + +const initialMaterialBomVersion = ref('01'); // 列显隐信息 const columns = ref([ - { key: 0, label: `生产BOM_ID`, visible: false, children: [] }, - { key: 1, label: `子物料类型编号`, visible: true, children: [] }, - { key: 2, label: `子物料类型名称`, visible: true, children: [] }, - { key: 3, label: `BOM版本`, visible: false, children: [] }, - { key: 4, label: `子物料ID`, visible: false, children: [] }, - { key: 5, label: `子物料名称`, visible: true, children: [] }, - { key: 6, label: `子物料数量`, visible: true, children: [] }, - { key: 7, label: `子物料单位`, visible: true, children: [] } + {key: 0, label: `生产BOM_ID`, visible: false, children: []}, + {key: 1, label: `子物料类型编号`, visible: true, children: []}, + {key: 2, label: `子物料类型名称`, visible: true, children: []}, + {key: 3, label: `BOM版本`, visible: false, children: []}, + {key: 4, label: `子物料ID`, visible: false, children: []}, + {key: 5, label: `子物料名称`, visible: true, children: []}, + {key: 6, label: `子物料数量`, visible: true, children: []}, + {key: 7, label: `子物料单位`, visible: true, children: []} ]); const materialBomTreeRef = ref(); @@ -347,9 +388,9 @@ const initParentFormData: MaterialBomForm = { assembleTime: undefined, materialClassfication: undefined, attachId: undefined, - activeFlag: '1', + activeFlag: undefined, remark: undefined, - materialTypeName: undefined + materialTypeName: undefined, }; const initFormData: MaterialBomForm = { @@ -371,14 +412,14 @@ const initFormData: MaterialBomForm = { assembleTime: undefined, materialClassfication: undefined, attachId: undefined, - activeFlag: '1', + activeFlag: undefined, remark: undefined, - materialTypeName: undefined + materialTypeName: undefined, }; const data = reactive>({ - form: { ...initFormData }, - parentForm: { ...initParentFormData }, + form: {...initFormData}, + parentForm: {...initParentFormData}, queryParams: { materialBomId: undefined, parentId: undefined, @@ -391,31 +432,31 @@ const data = reactive>({ }, rules: { materialTypeId: [ - { required: true, message: '物料类型不能为空', trigger: 'blur' } + {required: true, message: "物料类型不能为空", trigger: "blur"} ], materialBomVersion: [ - { required: true, message: 'BOM版本不能为空', trigger: 'blur' } + {required: true, message: "BOM版本不能为空", trigger: "blur"} ], materialName: [ - { required: true, message: '物料名称不能为空', trigger: 'blur' } + {required: true, message: "物料名称不能为空", trigger: "blur"} ], standardAmount: [ - { required: true, message: '子物料数量不能为空', trigger: 'blur' } + {required: true, message: "子物料数量不能为空", trigger: "blur"} ] }, parentRules: { parentMaterialName: [ - { required: true, message: '父物料名称不能为空', trigger: 'blur' } + {required: true, message: "父物料名称不能为空", trigger: "blur"} ], materialBomVersion: [ - { required: true, message: 'BOM版本不能为空', trigger: 'blur' } + {required: true, message: "BOM版本不能为空", trigger: "blur"} ], parentStandardAmount: [ - { required: true, message: '父物料数量不能为空', trigger: 'blur' } + {required: true, message: "父物料数量不能为空", trigger: "blur"} ], parentUnitId: [ - { required: true, message: '父物料单位不能为空', trigger: 'blur' } + {required: true, message: "父物料单位不能为空", trigger: "blur"} ] } @@ -430,9 +471,9 @@ const parentQueryParams = ref({ materialName: undefined, materialBomVersion: undefined, params: {} -}); +}) -const { queryParams, form, rules, parentForm, parentRules } = toRefs(data); +const {queryParams, form, rules, parentForm, parentRules} = toRefs(data); /** 通过条件过滤节点 */ const filterNode = (value: string, data: any) => { @@ -461,7 +502,7 @@ const getTreeSelect = async () => { id: virtualTopNodeId,//materialBomId parentId: -1, materialId: 0, - label: '生产BOM', + label: "生产BOM", children: res.data }; materialBomOptions.value.push(initialTree); @@ -469,14 +510,14 @@ const getTreeSelect = async () => { // materialBomOptions.value = res.data; if (!focusKeyNode.value) {//如果之前没有focus - focusKeyNode.value = { treeKey: virtualTopNodeId }; + focusKeyNode.value = {treeKey: virtualTopNodeId}; } else { - const clickNode = findObjectByTreeKey(materialBomOptions.value, focusKeyNode.value.treeKey); + const clickNode = findObjectByTreeKey(materialBomOptions.value, focusKeyNode.value.treeKey) + if (!clickNode) { focusKeyNode.value = undefined; - focusKeyNode.value = { treeKey: virtualTopNodeId }; + focusKeyNode.value = {treeKey: virtualTopNodeId}; } - // if (!allTreeKeys || allTreeKeys.length <= 0) { // focusKeyNode.value = { // treeKey: virtualTopNodeId, @@ -491,9 +532,9 @@ const getTreeSelect = async () => { // const focusKeyNodeIndex = materialBomOptions.value.findIndex((optionItem) => focusKeyNode.value.treeKey === optionItem.treeKey);//有嵌套children的,有可能找不到 } - nextTick(function() { + nextTick(function () { materialBomTreeRef.value?.setCurrentKey(focusKeyNode.value.treeKey, true); - }); + }) loading.value = false; treeLoading.value = false; @@ -504,6 +545,16 @@ const getTreeSelect = async () => { // materialTypeOptions.value[0].children.push(dd); }; +/** 查询生产bom列表 */ +const getNextMaterialBomVersion = async () => { + //顶级节点,如果是重新修改父级物料则重新获取最新版本 + // loading.value = true; + const res = await selectNextMaterialBomVersion(parentForm.value.parentId); + parentForm.value.materialBomVersion = res.data; + // materialBomList.value = res.data; + // loading.value = false; +}; + /** 查询生产bom列表 */ const getList = async () => { //如果是有节点的则加载数据,如果是顶级节点生产BOM则不加载数据 @@ -516,17 +567,21 @@ const getList = async () => { const resetParentQueryParams = () => { parentQueryParams.value.parentId = undefined;//是当前节点的materialId parentQueryParams.value.materialBomVersion = undefined; -}; +} const resetQueryParams = () => { queryParams.value.parentId = undefined;//materialid queryParams.value.parentMaterialTypeId = undefined; -}; +} /** 节点单击事件 */ const handleNodeClick = (data: MaterialBomVO) => { materialBomList.value = []; parentMaterialDisabled.value = true; + publishBtnDisplay.value = false; + addNewMaterialBomVersionBtnDisabled.value = true; + btnLoading.value = true; + resetParentForm(); resetQueryParams(); resetParentQueryParams(); @@ -535,27 +590,39 @@ const handleNodeClick = (data: MaterialBomVO) => { parentQueryParams.value.parentId = data.materialId;//是当前节点的materialId parentQueryParams.value.materialBomVersion = data.materialBomVersion; getParentMaterialBomInfo(); - queryParams.value.parentId = data.materialId; - queryParams.value.parentMaterialTypeId = data.materialTypeId; - queryParams.value.materialBomVersion = data.materialBomVersion; - handleQuery(); + } else { - if (materialBomVersionOptions.value.length > 0) { - parentForm.value.materialBomVersion = materialBomVersionOptions.value[0].materialBomVersion; - queryParams.value.materialBomVersion = materialBomVersionOptions.value[0].materialBomVersion; - } + parentForm.value.activeFlag = MATERIAL_BOM_ACTIVE_FLAG.value.DESIGN; + handleBtnStatus(); + btnLoading.value = false; + // if (materialBomVersionOptions.value.length > 0) { + // parentForm.value.materialBomVersion = materialBomVersionOptions.value[0].materialBomVersion; + // queryParams.value.materialBomVersion = materialBomVersionOptions.value[0].materialBomVersion; + // } } parentMaterialDisabled.value = focusKeyNode.value.treeKey != -1; }; +const handleBtnStatus = () =>{ + if(parentForm.value.materialBomVersion && parentForm.value.materialBomVersion!==''){ + addNewMaterialBomVersionBtnDisabled.value = false; + addNewMaterialBomVersionBtnText.value = "新增版本"; + publishBtnDisplay.value = parentForm.value.activeFlag !== MATERIAL_BOM_ACTIVE_FLAG.value.ACTIVE; + }else{ + addNewMaterialBomVersionBtnDisabled.value = true; + addNewMaterialBomVersionBtnText.value = "新增中"; + publishBtnDisplay.value = false; + } + +}; const clickDisplay = () => { if (queryParams.value.parentId === 0) { parentFormDisplay.value = false; - childTableTitle.value = '顶级物料'; + childTableTitle.value = "顶级物料"; } else { parentFormDisplay.value = true; - childTableTitle.value = '子级物料'; + childTableTitle.value = "子级物料"; } }; @@ -597,7 +664,7 @@ const handleDelete = async (row?: MaterialBomVO) => { }); // alert(JSON.stringify(toDeleteMaterialBoms.value)) if (toDeleteMaterialBoms.value.length > 0) { - await deleteMaterialBoms(toDeleteMaterialBoms.value); + await deleteMaterialBoms(toDeleteMaterialBoms.value) await getTreeSelect(); } @@ -628,7 +695,7 @@ const handleSelectionChange = (selection: MaterialBomVO[]) => { /** 重置操作表单 */ const reset = () => { - form.value = { ...initFormData }; + form.value = {...initFormData}; materialBomFormRef.value?.resetFields(); }; /** 取消按钮 */ @@ -743,7 +810,7 @@ const handleMaterialSelect = (row, selectMode) => { } else if (selectMode === SELECT_MATERIAL_MODEL.value.CHILD_SELECT) {//子级选择物料需要传值materialTypeId materialTypeId.value = row.materialTypeId; } else { - materialTypeId.value = undefined; + materialTypeId.value = undefined } materialOpen.value = true; }; @@ -755,14 +822,15 @@ const submitMaterialForm = () => { //此处只有是父级物料时赋值 if (globalSelectMode.value === SELECT_MATERIAL_MODEL.value.PARENT_SELECT) { + editedRow.value.materialBomVersion = undefined; editedRow.value.parentId = selectedRow.materialId; editedRow.value.parentMaterialName = selectedRow.materialName; editedRow.value.parentMaterialTypeId = selectedRow.materialTypeId; editedRow.value.parentMaterialTypeName = selectedRow.matrialTypeName; - queryParams.value.parentId = selectedRow.materialId; queryParams.value.parentMaterialTypeId = selectedRow.materialTypeId; + getNextMaterialBomVersion(); // alert(JSON.stringify(queryParams.value)) getList(); } else { @@ -796,9 +864,12 @@ const submitBatchSaveMaterialBoms = async () => { item.parentId = parentForm.value.parentId; item.parentUnitId = parentForm.value.parentUnitId; - item.materialBomVersion = parentForm.value.materialBomVersion; item.parentStandardAmount = parentForm.value.parentStandardAmount; item.parentMaterialTypeId = parentForm.value.parentMaterialTypeId; + + item.materialBomDesc = parentForm.value.materialBomDesc; + item.materialBomVersion = parentForm.value.materialBomVersion; + item.activeFlag = parentForm.value.activeFlag; saveMaterialBomList.value.push(item); } } @@ -810,7 +881,9 @@ const submitBatchSaveMaterialBoms = async () => { await addBatchMaterialBom(saveMaterialBomList.value); proxy?.$modal.msgSuccess('操作成功'); - focusKeyNode.value.treeKey = parentForm.value.parentId + '-' + parentForm.value.materialBomVersion; + focusKeyNode.value.treeKey = parentForm.value.parentId + "-" + parentForm.value.materialBomVersion; + focusKeyNode.value.materialId = parentForm.value.parentId; + focusKeyNode.value.materialTypeId = parentForm.value.parentMaterialTypeId focusKeyNode.value.materialBomVersion = parentForm.value.materialBomVersion; focusKeyNode.value.parentUnitId = parentForm.value.parentUnitId; focusKeyNode.value.parentStandardAmount = parentForm.value.parentStandardAmount; @@ -826,13 +899,13 @@ const submitBatchSaveMaterialBoms = async () => { } } }); -}; +} /** 初始化单位数据 */ const initUnitInfoData = async () => { if (unitInfoOptions.value === undefined || unitInfoOptions.value.length <= 0) { - const { data } = await getUnitInfoList(); + const {data} = await getUnitInfoList(); // alert(JSON.stringify(data)) unitInfoOptions.value = data; } @@ -842,7 +915,7 @@ const initUnitInfoData = async () => { const initMaterialBomVersionData = async () => { // alert(JSON.stringify(getMaterialBomVersionList)) if (materialBomVersionOptions.value === undefined || materialBomVersionOptions.value.length <= 0) { - const { data } = await getMaterialBomVersionList(); + const {data} = await getMaterialBomVersionList(); materialBomVersionOptions.value = data; if (materialBomVersionOptions.value.length > 0) { @@ -858,7 +931,18 @@ const initMaterialBomVersionData = async () => { const getParentMaterialBomInfo = async () => { const res = await getParentMaterialBom(parentQueryParams.value); parentForm.value = res.data; + handleBtnStatus(); + if(!parentForm.value.materialBomVersion || parentForm.value.materialBomVersion===''){ + parentForm.value.materialBomVersion = initialMaterialBomVersion.value; + parentForm.value.activeFlag = MATERIAL_BOM_ACTIVE_FLAG.value.DESIGN; + } + + queryParams.value.parentId = parentForm.value.parentId + queryParams.value.parentMaterialTypeId = parentForm.value.parentMaterialTypeId + queryParams.value.materialBomVersion = parentForm.value.materialBomVersion + handleQuery(); + btnLoading.value = false; }; @@ -871,8 +955,19 @@ const findObjectByTreeKey = (list, targetTreeKey) => { } } return null; -}; +} +/** 基于当前父级物料和版本,新增物料bom版本 */ +const addNewMaterialBomVersion = async () => { + loading.value = true; + parentForm.value.activeFlag = MATERIAL_BOM_ACTIVE_FLAG.value.DESIGN; + await getNextMaterialBomVersion(); + materialBomList.value.forEach(childMaterialBom => { + childMaterialBom.materialBomId = undefined; + }); + loading.value = false; + console.log( materialBomList); +}; // const getClickNode = (obj) => { // // 如果当前对象有 id,并且与之前focus的id相同,则收集 @@ -902,8 +997,4 @@ const getColor = (e) => { }; - + From fd422fae5ef4f801868415736d592248136bd2c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=9C=E7=AC=99=E6=AD=8C?= <2277317060@qq.com> Date: Thu, 15 May 2025 10:42:54 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/mes/materialBom/index.vue | 243 ++++++++++++++-------------- 1 file changed, 125 insertions(+), 118 deletions(-) diff --git a/src/views/mes/materialBom/index.vue b/src/views/mes/materialBom/index.vue index cc351a8..980fde2 100644 --- a/src/views/mes/materialBom/index.vue +++ b/src/views/mes/materialBom/index.vue @@ -4,7 +4,7 @@ - + @@ -36,13 +38,14 @@ - 父级物料 - + 父级物料 + - - + + + prop="materialBomId" /> + prop="materialTypeCode" :show-overflow-tooltip="true" /> + prop="materialTypeName" :show-overflow-tooltip="true" w /> + prop="materialId" :show-overflow-tooltip="true" /> @@ -222,18 +224,18 @@ - + + style="width:360px" /> + style="width:360px" /> @@ -277,22 +279,22 @@ import { addBatchMaterialBom, getUnitInfoList, getMaterialBomVersionList, getParentMaterialBom, deleteMaterialBoms, selectNextMaterialBomVersion -} from "@/api/mes/materialBom"; +} from '@/api/mes/materialBom'; -import {MaterialBomVO, MaterialBomForm, MaterialBomQuery} from '@/api/mes/materialBom/types'; -import {BaseMaterialTypeVO} from '@/api/mes/baseMaterialType/types'; +import { MaterialBomVO, MaterialBomForm, MaterialBomQuery } from '@/api/mes/materialBom/types'; +import { BaseMaterialTypeVO } from '@/api/mes/baseMaterialType/types'; import MaterialSelect from '@/views/mes/baseMaterialInfo/addMaterial.vue'; -import {to} from 'await-to-js'; -import {nextTick} from "vue"; -import {MaterialBomVersionVO} from "@/api/mes/materialBomVersion/types"; -import {BaseMeasurementUnitInfoVO} from "@/api/mes/baseMeasurementUnitInfo/types"; -import {BaseStructureBomTreeVO} from "@/api/mes/baseStructureBom/types"; +import { to } from 'await-to-js'; +import { nextTick } from 'vue'; +import { MaterialBomVersionVO } from '@/api/mes/materialBomVersion/types'; +import { BaseMeasurementUnitInfoVO } from '@/api/mes/baseMeasurementUnitInfo/types'; +import { BaseStructureBomTreeVO } from '@/api/mes/baseStructureBom/types'; const materialTypeId = ref(0);//此值是传给选择物料信息弹框使用 const router = useRouter(); -const {proxy} = getCurrentInstance() as ComponentInternalInstance; +const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { material_bom_active_flag } = toRefs(proxy?.useDict('material_bom_active_flag')); @@ -330,13 +332,13 @@ const SELECT_MATERIAL_MODEL = ref({ PARENT_SELECT: '1',//父级物料选择 CHILD_SELECT: '2',//子级物料选择 DIALOG_CHILD_SELECT: '3'//弹窗子级选择 -}) +}); const MATERIAL_BOM_ACTIVE_FLAG = ref({ ACTIVE: '1',//启用 HISTORY: '2',//历史 DESIGN: '3'//设计中 -}) +}); const addNewMaterialBomVersionBtnText = ref('新增中'); const addNewMaterialBomVersionBtnDisabled = ref(true); @@ -347,14 +349,14 @@ const initialMaterialBomVersion = ref('01'); // 列显隐信息 const columns = ref([ - {key: 0, label: `生产BOM_ID`, visible: false, children: []}, - {key: 1, label: `子物料类型编号`, visible: true, children: []}, - {key: 2, label: `子物料类型名称`, visible: true, children: []}, - {key: 3, label: `BOM版本`, visible: false, children: []}, - {key: 4, label: `子物料ID`, visible: false, children: []}, - {key: 5, label: `子物料名称`, visible: true, children: []}, - {key: 6, label: `子物料数量`, visible: true, children: []}, - {key: 7, label: `子物料单位`, visible: true, children: []} + { key: 0, label: `生产BOM_ID`, visible: false, children: [] }, + { key: 1, label: `子物料类型编号`, visible: true, children: [] }, + { key: 2, label: `子物料类型名称`, visible: true, children: [] }, + { key: 3, label: `BOM版本`, visible: false, children: [] }, + { key: 4, label: `子物料ID`, visible: false, children: [] }, + { key: 5, label: `子物料名称`, visible: true, children: [] }, + { key: 6, label: `子物料数量`, visible: true, children: [] }, + { key: 7, label: `子物料单位`, visible: true, children: [] } ]); const materialBomTreeRef = ref(); @@ -390,7 +392,7 @@ const initParentFormData: MaterialBomForm = { attachId: undefined, activeFlag: undefined, remark: undefined, - materialTypeName: undefined, + materialTypeName: undefined }; const initFormData: MaterialBomForm = { @@ -414,12 +416,12 @@ const initFormData: MaterialBomForm = { attachId: undefined, activeFlag: undefined, remark: undefined, - materialTypeName: undefined, + materialTypeName: undefined }; const data = reactive>({ - form: {...initFormData}, - parentForm: {...initParentFormData}, + form: { ...initFormData }, + parentForm: { ...initParentFormData }, queryParams: { materialBomId: undefined, parentId: undefined, @@ -432,31 +434,31 @@ const data = reactive>({ }, rules: { materialTypeId: [ - {required: true, message: "物料类型不能为空", trigger: "blur"} + { required: true, message: '物料类型不能为空', trigger: 'blur' } ], materialBomVersion: [ - {required: true, message: "BOM版本不能为空", trigger: "blur"} + { required: true, message: 'BOM版本不能为空', trigger: 'blur' } ], materialName: [ - {required: true, message: "物料名称不能为空", trigger: "blur"} + { required: true, message: '物料名称不能为空', trigger: 'blur' } ], standardAmount: [ - {required: true, message: "子物料数量不能为空", trigger: "blur"} + { required: true, message: '子物料数量不能为空', trigger: 'blur' } ] }, parentRules: { parentMaterialName: [ - {required: true, message: "父物料名称不能为空", trigger: "blur"} + { required: true, message: '父物料名称不能为空', trigger: 'blur' } ], materialBomVersion: [ - {required: true, message: "BOM版本不能为空", trigger: "blur"} + { required: true, message: 'BOM版本不能为空', trigger: 'blur' } ], parentStandardAmount: [ - {required: true, message: "父物料数量不能为空", trigger: "blur"} + { required: true, message: '父物料数量不能为空', trigger: 'blur' } ], parentUnitId: [ - {required: true, message: "父物料单位不能为空", trigger: "blur"} + { required: true, message: '父物料单位不能为空', trigger: 'blur' } ] } @@ -471,9 +473,9 @@ const parentQueryParams = ref({ materialName: undefined, materialBomVersion: undefined, params: {} -}) +}); -const {queryParams, form, rules, parentForm, parentRules} = toRefs(data); +const { queryParams, form, rules, parentForm, parentRules } = toRefs(data); /** 通过条件过滤节点 */ const filterNode = (value: string, data: any) => { @@ -502,7 +504,7 @@ const getTreeSelect = async () => { id: virtualTopNodeId,//materialBomId parentId: -1, materialId: 0, - label: "生产BOM", + label: '生产BOM', children: res.data }; materialBomOptions.value.push(initialTree); @@ -510,13 +512,13 @@ const getTreeSelect = async () => { // materialBomOptions.value = res.data; if (!focusKeyNode.value) {//如果之前没有focus - focusKeyNode.value = {treeKey: virtualTopNodeId}; + focusKeyNode.value = { treeKey: virtualTopNodeId }; } else { - const clickNode = findObjectByTreeKey(materialBomOptions.value, focusKeyNode.value.treeKey) + const clickNode = findObjectByTreeKey(materialBomOptions.value, focusKeyNode.value.treeKey); if (!clickNode) { focusKeyNode.value = undefined; - focusKeyNode.value = {treeKey: virtualTopNodeId}; + focusKeyNode.value = { treeKey: virtualTopNodeId }; } // if (!allTreeKeys || allTreeKeys.length <= 0) { // focusKeyNode.value = { @@ -532,9 +534,9 @@ const getTreeSelect = async () => { // const focusKeyNodeIndex = materialBomOptions.value.findIndex((optionItem) => focusKeyNode.value.treeKey === optionItem.treeKey);//有嵌套children的,有可能找不到 } - nextTick(function () { + nextTick(function() { materialBomTreeRef.value?.setCurrentKey(focusKeyNode.value.treeKey, true); - }) + }); loading.value = false; treeLoading.value = false; @@ -567,12 +569,12 @@ const getList = async () => { const resetParentQueryParams = () => { parentQueryParams.value.parentId = undefined;//是当前节点的materialId parentQueryParams.value.materialBomVersion = undefined; -} +}; const resetQueryParams = () => { queryParams.value.parentId = undefined;//materialid queryParams.value.parentMaterialTypeId = undefined; -} +}; /** 节点单击事件 */ const handleNodeClick = (data: MaterialBomVO) => { @@ -603,14 +605,14 @@ const handleNodeClick = (data: MaterialBomVO) => { parentMaterialDisabled.value = focusKeyNode.value.treeKey != -1; }; -const handleBtnStatus = () =>{ - if(parentForm.value.materialBomVersion && parentForm.value.materialBomVersion!==''){ +const handleBtnStatus = () => { + if (parentForm.value.materialBomVersion && parentForm.value.materialBomVersion !== '') { addNewMaterialBomVersionBtnDisabled.value = false; - addNewMaterialBomVersionBtnText.value = "新增版本"; + addNewMaterialBomVersionBtnText.value = '新增版本'; publishBtnDisplay.value = parentForm.value.activeFlag !== MATERIAL_BOM_ACTIVE_FLAG.value.ACTIVE; - }else{ + } else { addNewMaterialBomVersionBtnDisabled.value = true; - addNewMaterialBomVersionBtnText.value = "新增中"; + addNewMaterialBomVersionBtnText.value = '新增中'; publishBtnDisplay.value = false; } @@ -619,10 +621,10 @@ const handleBtnStatus = () =>{ const clickDisplay = () => { if (queryParams.value.parentId === 0) { parentFormDisplay.value = false; - childTableTitle.value = "顶级物料"; + childTableTitle.value = '顶级物料'; } else { parentFormDisplay.value = true; - childTableTitle.value = "子级物料"; + childTableTitle.value = '子级物料'; } }; @@ -664,7 +666,7 @@ const handleDelete = async (row?: MaterialBomVO) => { }); // alert(JSON.stringify(toDeleteMaterialBoms.value)) if (toDeleteMaterialBoms.value.length > 0) { - await deleteMaterialBoms(toDeleteMaterialBoms.value) + await deleteMaterialBoms(toDeleteMaterialBoms.value); await getTreeSelect(); } @@ -695,7 +697,7 @@ const handleSelectionChange = (selection: MaterialBomVO[]) => { /** 重置操作表单 */ const reset = () => { - form.value = {...initFormData}; + form.value = { ...initFormData }; materialBomFormRef.value?.resetFields(); }; /** 取消按钮 */ @@ -810,7 +812,7 @@ const handleMaterialSelect = (row, selectMode) => { } else if (selectMode === SELECT_MATERIAL_MODEL.value.CHILD_SELECT) {//子级选择物料需要传值materialTypeId materialTypeId.value = row.materialTypeId; } else { - materialTypeId.value = undefined + materialTypeId.value = undefined; } materialOpen.value = true; }; @@ -881,9 +883,9 @@ const submitBatchSaveMaterialBoms = async () => { await addBatchMaterialBom(saveMaterialBomList.value); proxy?.$modal.msgSuccess('操作成功'); - focusKeyNode.value.treeKey = parentForm.value.parentId + "-" + parentForm.value.materialBomVersion; + focusKeyNode.value.treeKey = parentForm.value.parentId + '-' + parentForm.value.materialBomVersion; focusKeyNode.value.materialId = parentForm.value.parentId; - focusKeyNode.value.materialTypeId = parentForm.value.parentMaterialTypeId + focusKeyNode.value.materialTypeId = parentForm.value.parentMaterialTypeId; focusKeyNode.value.materialBomVersion = parentForm.value.materialBomVersion; focusKeyNode.value.parentUnitId = parentForm.value.parentUnitId; focusKeyNode.value.parentStandardAmount = parentForm.value.parentStandardAmount; @@ -899,13 +901,13 @@ const submitBatchSaveMaterialBoms = async () => { } } }); -} +}; /** 初始化单位数据 */ const initUnitInfoData = async () => { if (unitInfoOptions.value === undefined || unitInfoOptions.value.length <= 0) { - const {data} = await getUnitInfoList(); + const { data } = await getUnitInfoList(); // alert(JSON.stringify(data)) unitInfoOptions.value = data; } @@ -915,7 +917,7 @@ const initUnitInfoData = async () => { const initMaterialBomVersionData = async () => { // alert(JSON.stringify(getMaterialBomVersionList)) if (materialBomVersionOptions.value === undefined || materialBomVersionOptions.value.length <= 0) { - const {data} = await getMaterialBomVersionList(); + const { data } = await getMaterialBomVersionList(); materialBomVersionOptions.value = data; if (materialBomVersionOptions.value.length > 0) { @@ -933,14 +935,14 @@ const getParentMaterialBomInfo = async () => { parentForm.value = res.data; handleBtnStatus(); - if(!parentForm.value.materialBomVersion || parentForm.value.materialBomVersion===''){ + if (!parentForm.value.materialBomVersion || parentForm.value.materialBomVersion === '') { parentForm.value.materialBomVersion = initialMaterialBomVersion.value; parentForm.value.activeFlag = MATERIAL_BOM_ACTIVE_FLAG.value.DESIGN; } - queryParams.value.parentId = parentForm.value.parentId - queryParams.value.parentMaterialTypeId = parentForm.value.parentMaterialTypeId - queryParams.value.materialBomVersion = parentForm.value.materialBomVersion + queryParams.value.parentId = parentForm.value.parentId; + queryParams.value.parentMaterialTypeId = parentForm.value.parentMaterialTypeId; + queryParams.value.materialBomVersion = parentForm.value.materialBomVersion; handleQuery(); btnLoading.value = false; }; @@ -955,18 +957,18 @@ const findObjectByTreeKey = (list, targetTreeKey) => { } } return null; -} +}; /** 基于当前父级物料和版本,新增物料bom版本 */ const addNewMaterialBomVersion = async () => { loading.value = true; - parentForm.value.activeFlag = MATERIAL_BOM_ACTIVE_FLAG.value.DESIGN; - await getNextMaterialBomVersion(); - materialBomList.value.forEach(childMaterialBom => { - childMaterialBom.materialBomId = undefined; - }); - loading.value = false; - console.log( materialBomList); + parentForm.value.activeFlag = MATERIAL_BOM_ACTIVE_FLAG.value.DESIGN; + await getNextMaterialBomVersion(); + materialBomList.value.forEach(childMaterialBom => { + childMaterialBom.materialBomId = undefined; + }); + loading.value = false; + console.log(materialBomList); }; // const getClickNode = (obj) => { @@ -997,4 +999,9 @@ const getColor = (e) => { }; - + From b48397841a146c9b699fab8cd67eb5fee034e674 Mon Sep 17 00:00:00 2001 From: zch Date: Thu, 15 May 2025 14:19:29 +0800 Subject: [PATCH 7/7] =?UTF-8?q?update(dms):=20=E4=B8=BA=E6=B6=A6=E6=BB=91?= =?UTF-8?q?=E5=92=8C=E7=82=B9=E5=B7=A1=E6=A3=80=E5=B7=A5=E5=8D=95=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=B5=81=E7=A8=8B=E7=8A=B6=E6=80=81=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - types加字段 - 润滑工单实例多个方案备份 - 优化fault的页面,还仍需进一步完善优化 --- src/api/dms/dmsBillsInspectInstance/types.ts | 5 + src/api/dms/dmsBillsLubeInstance/types.ts | 14 + src/views/dms/dmsBillsFaultInstance/index.vue | 4 +- .../dmsBillsLubeInstanceActivity/backuo1.vue | 522 ++++++++++++++++ .../dmsBillsLubeInstanceActivity/backup2.vue | 450 ++++++++++++++ .../dmsBillsLubeInstanceActivity/backup3.vue | 476 +++++++++++++++ .../dms/dmsBillsLubeInstanceActivity/copy.vue | 389 +++++++----- .../dmsBillsLubeInstanceActivity/copy2.vue | 475 +++++++++++++++ .../dmsBillsLubeInstanceActivity/index.vue | 493 +++++++-------- .../dms/dmsBillsLubeInstanceActivity/trae.vue | 563 ++++++++++++++++++ src/views/dms/dmsInstanceFile/index.vue | 52 +- 11 files changed, 3024 insertions(+), 419 deletions(-) create mode 100644 src/views/dms/dmsBillsLubeInstanceActivity/backuo1.vue create mode 100644 src/views/dms/dmsBillsLubeInstanceActivity/backup2.vue create mode 100644 src/views/dms/dmsBillsLubeInstanceActivity/backup3.vue create mode 100644 src/views/dms/dmsBillsLubeInstanceActivity/copy2.vue create mode 100644 src/views/dms/dmsBillsLubeInstanceActivity/trae.vue diff --git a/src/api/dms/dmsBillsInspectInstance/types.ts b/src/api/dms/dmsBillsInspectInstance/types.ts index 01cab8f..ddcd24d 100644 --- a/src/api/dms/dmsBillsInspectInstance/types.ts +++ b/src/api/dms/dmsBillsInspectInstance/types.ts @@ -122,6 +122,11 @@ export interface DmsBillsInspectInstanceForm extends BaseEntity { */ remark?: string; + /** + * 工单状态(draft草稿 waiting待处理 processing处理中 completed已完成 cancel已取消 back已退回) + */ + status?: string; + } export interface DmsBillsInspectInstanceQuery extends PageQuery { diff --git a/src/api/dms/dmsBillsLubeInstance/types.ts b/src/api/dms/dmsBillsLubeInstance/types.ts index e6c8acd..8edf270 100644 --- a/src/api/dms/dmsBillsLubeInstance/types.ts +++ b/src/api/dms/dmsBillsLubeInstance/types.ts @@ -141,6 +141,16 @@ export interface DmsBillsLubeInstanceForm extends BaseEntity { */ planLubeCode?: string; + /** + * 工单状态(draft草稿 waiting待处理 processing处理中 completed已完成 cancel已取消 back已退回) + */ + status?: string; + + createBy?: string; + + createTime?: string; + + } export interface DmsBillsLubeInstanceQuery extends PageQuery { @@ -214,6 +224,10 @@ export interface DmsBillsLubeInstanceQuery extends PageQuery { * 润滑工单编号 */ planLubeCode?: string; + + createBy?: string; + + createTime?: string; } diff --git a/src/views/dms/dmsBillsFaultInstance/index.vue b/src/views/dms/dmsBillsFaultInstance/index.vue index 0f1c375..1bb687a 100644 --- a/src/views/dms/dmsBillsFaultInstance/index.vue +++ b/src/views/dms/dmsBillsFaultInstance/index.vue @@ -15,11 +15,11 @@ - + +

工单信息

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

已处理节点:步骤1

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

当前处理节点:步骤{{ nextStepOrder }}

+ + + + + + + + + + + + + + + + + + + + + + + + + + + 提 交 + + + +
+
+
+ + + +

润滑计划详细信息

+ + + + + + + +
+
+ + + + + diff --git a/src/views/dms/dmsBillsLubeInstanceActivity/backup2.vue b/src/views/dms/dmsBillsLubeInstanceActivity/backup2.vue new file mode 100644 index 0000000..fd1bc8b --- /dev/null +++ b/src/views/dms/dmsBillsLubeInstanceActivity/backup2.vue @@ -0,0 +1,450 @@ + + + + + + \ No newline at end of file diff --git a/src/views/dms/dmsBillsLubeInstanceActivity/backup3.vue b/src/views/dms/dmsBillsLubeInstanceActivity/backup3.vue new file mode 100644 index 0000000..417a0b1 --- /dev/null +++ b/src/views/dms/dmsBillsLubeInstanceActivity/backup3.vue @@ -0,0 +1,476 @@ + + + + + + \ No newline at end of file diff --git a/src/views/dms/dmsBillsLubeInstanceActivity/copy.vue b/src/views/dms/dmsBillsLubeInstanceActivity/copy.vue index 0a8dc10..242c64b 100644 --- a/src/views/dms/dmsBillsLubeInstanceActivity/copy.vue +++ b/src/views/dms/dmsBillsLubeInstanceActivity/copy.vue @@ -4,49 +4,75 @@
- - - - - + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + 搜索 @@ -61,57 +87,68 @@ - + - - - - - - - + + + + + + + - + + - + + + + + - + + + - + + + @@ -119,62 +156,88 @@ - + - - - - + + + - - + + - - + + - - + + - - + + - - + + + + + - + + + + + + + + + + + + + placeholder="请选择执行开始时间"> - + + placeholder="请选择执行结束时间"> - - - - + + + + + + + + + + + + + + + @@ -190,14 +253,14 @@
- + + diff --git a/src/views/dms/dmsBillsLubeInstanceActivity/index.vue b/src/views/dms/dmsBillsLubeInstanceActivity/index.vue index cf0915b..d6865b6 100644 --- a/src/views/dms/dmsBillsLubeInstanceActivity/index.vue +++ b/src/views/dms/dmsBillsLubeInstanceActivity/index.vue @@ -36,93 +36,89 @@ - - - -

- {{wfProcessActivityList[0]?.processActivityName}} -

- - - - - - - - - - - - - - - - - - - - + + +

已处理节点:步骤1(要求参数)

+ + + + + + + + + + + + + + + + + + + + - - + + - -
-

- {{wfProcessActivityList[dmsBillsLubeInstanceActivityList.length]?.processActivityName}} -

+ +
+

当前处理节点:步骤{{ nextStepOrder }}{{ nextStepOrder === 2 ? '(实际参数)' : '' }}

+ @@ -137,27 +133,31 @@ - + - + - - + + 提 交 + + 流程进度 + -
- - + +
+
@@ -171,13 +171,18 @@
+ + + + +
diff --git a/src/views/dms/dmsBillsLubeInstanceActivity/trae.vue b/src/views/dms/dmsBillsLubeInstanceActivity/trae.vue new file mode 100644 index 0000000..96eb7a6 --- /dev/null +++ b/src/views/dms/dmsBillsLubeInstanceActivity/trae.vue @@ -0,0 +1,563 @@ + + + \ No newline at end of file diff --git a/src/views/dms/dmsInstanceFile/index.vue b/src/views/dms/dmsInstanceFile/index.vue index bb6531d..a147675 100644 --- a/src/views/dms/dmsInstanceFile/index.vue +++ b/src/views/dms/dmsInstanceFile/index.vue @@ -4,20 +4,20 @@
- + + + - + + 搜索 重置 @@ -49,13 +49,14 @@ - + - - + + +