From 0df0544c365d7f2dd706f7ef5802a19ff687b4d2 Mon Sep 17 00:00:00 2001 From: ruanqi Date: Wed, 20 Sep 2023 17:56:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B6=E8=97=8F=E5=A4=B9+demo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/base/properties.js | 6 + .../projectInfo/com_project_info_part.vue | 396 +++++++++++++++++- 2 files changed, 398 insertions(+), 4 deletions(-) diff --git a/src/api/base/properties.js b/src/api/base/properties.js index c6e405e..f01244c 100644 --- a/src/api/base/properties.js +++ b/src/api/base/properties.js @@ -16,3 +16,9 @@ export const getItemLists = data => createAPI(`/properties/getItemLists`,'post', export const deleteModalDetail = data => createAPI(`/properties/deleteModalDetail`,'post',data) export const saveItemAvailable = data => createAPI(`/properties/saveItemAvailable`,'post',data) export const deleteItemAvailable = data => createAPI(`/properties/deleteItemAvailable`,'post',data) + + +export const getItemModal = data => createAPI(`/properties/getItemModal`,'post',data) +export const itemSaveData = data => createAPI(`/properties/itemSaveData`,'post',data) +export const getItemData = data => createAPI(`/properties/getItemData`,'post',data) +export const refreshItemModal = data => createAPI(`/properties/refreshItemModal`,'post',data) diff --git a/src/views/modules/project/projectInfo/com_project_info_part.vue b/src/views/modules/project/projectInfo/com_project_info_part.vue index cf33e8c..930d520 100644 --- a/src/views/modules/project/projectInfo/com_project_info_part.vue +++ b/src/views/modules/project/projectInfo/com_project_info_part.vue @@ -48,6 +48,7 @@ fixed="right" label="操作"> @@ -67,6 +68,14 @@ 物料类型 + + 属性模板 + + + + + + @@ -98,6 +107,86 @@ {{'关闭'}} + + + + + 刷新属性 + + + + + + + + + + + + 关闭 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 保存 + 关闭 + + @@ -108,6 +197,12 @@ saveProjectPart, deleteProjectPartWithId, } from "@/api/project/project.js" + import { + getItemModal, + itemSaveData, + getItemData, + refreshItemModal, + } from "@/api/base/properties.js" import Chooselist from '@/views/modules/common/Chooselist' export default { components: { @@ -126,22 +221,39 @@ currentRow:'', columnList:[ { + userId: this.$store.state.user.name, + functionId: 101002001, + serialNumber: '101002001Table4TestPartNo', + tableId: "101002001Table4", + tableName: "项目物料", + columnProp: "testPartNo", + headerAlign: "center", + align: "left", + columnLabel: "物料编码", + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 100 + },{ userId: this.$store.state.user.name, functionId: 101002001, - serialNumber: '101002001Table4TestPartNo', + serialNumber: '101002001Table4FinalPartNo', tableId: "101002001Table4", tableName: "项目物料", - columnProp: "testPartNo", + columnProp: "finalPartNo", headerAlign: "center", align: "left", - columnLabel: "物料编码", + columnLabel: "正式物料编码", columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', - columnWidth: 80 + columnWidth: 100 },{ userId: this.$store.state.user.name, functionId: 101002001, @@ -227,6 +339,40 @@ status: true, fixed: '', columnWidth: 120 + },{ + userId: this.$store.state.user.name, + functionId: 101002001, + serialNumber: '101002001Table4CodeNo', + tableId: "101002001Table4", + tableName: "项目物料", + columnProp: "codeNo", + headerAlign: "center", + align: "left", + columnLabel: "属性模板", + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 80 + },{ + userId: this.$store.state.user.name, + functionId: 101002001, + serialNumber: '101002001Table4CodeDesc', + tableId: "101002001Table4", + tableName: "项目物料", + columnProp: "codeDesc", + headerAlign: "center", + align: "left", + columnLabel: "属性模板名称", + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 100 },{ userId: this.$store.state.user.name, functionId: 101002001, @@ -344,6 +490,8 @@ remark:'', materialNumber:'', username:'', + codeNo:'', + codeDesc:'', }, dataRole: { partTypeDesc: [ @@ -367,6 +515,122 @@ exportHeader: ["项目物料"], exportFooter: [], // 导出 end + //工具属性 + itemModalData:{ + site:'', + partNo:'', + }, + itemModalList:[], + itemModalFlag:false, + partItemModelFlag:false, + itemModalDisableFlag:false, + itemNumberDisableFlag:false, + itemTextDisableFlag:false, + columnDetailList: [ + { + userId: this.$store.state.user.name, + functionId: 101002001, + serialNumber: '101002001Table9PropertiesItemID', + tableId: "101002001Table9", + tableName: "物料属性项目表", + columnProp: 'propertiesItemNo', + headerAlign: "center", + align: "center", + columnLabel: '属性编码', + columnHidden: false, + columnImage: false, + columnSortable: true, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 90, + }, + { + userId: this.$store.state.user.name, + functionId: 101002001, + serialNumber: '101002001Table9PropertiesItemDesc', + tableId: "101002001Table9", + tableName: "物料属性项目表", + columnProp: 'itemDesc', + headerAlign: "center", + align: "center", + columnLabel: '属性名称', + columnHidden: false, + columnImage: false, + columnSortable: true, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 90, + }, + { + userId: this.$store.state.user.name, + functionId: 101002001, + serialNumber: '101002001Table9ValueType', + tableId: "101002001Table9", + tableName: "物料属性项目表", + columnProp: 'valueType', + headerAlign: "center", + align: "center", + columnLabel: '属性类型', + columnHidden: false, + columnImage: false, + columnSortable: true, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 70, + }, + { + userId: this.$store.state.user.name, + functionId: 101002001, + serialNumber: '101002001TableValueChooseFlag', + tableId: "101002001Table", + tableName: "common", + columnProp: 'textValue', + headerAlign: "center", + align: "center", + columnLabel: '文本值', + columnHidden: false, + columnImage: false, + columnSortable: true, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 70, + }, + { + userId: this.$store.state.user.name, + functionId: 101002001, + serialNumber: '101002001TableValueChooseFlag', + tableId: "101002001Table", + tableName: "common", + columnProp: 'numValue', + headerAlign: "center", + align: "center", + columnLabel: '数字值', + columnHidden: false, + columnImage: false, + columnSortable: true, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 70, + }, + ], + itemData:{ + id:0, + site:'', + partNo:'', + propertiesItemNo:'', + itemDesc:'', + textValue:'', + numValue:'', + }, + toolInstanceIdWidth: 350, + recordWidth: 600, + availableValueList:[], + itemChooseFlag:false, } }, methods: { @@ -381,6 +645,11 @@ strVal = this.dataForm.partType } } + if (val === 19) { + if(type==1) { + strVal = this.dataForm.codeNo + } + } this.$refs.baseList.init(val, strVal) }) }, @@ -392,6 +661,12 @@ this.dataForm.partTypeDesc = val.Base_desc } } + if (this.tagNo === 19) { + if(this.tagNo1==1) { + this.dataForm.codeNo = val.Code_no + this.dataForm.codeDesc = val.Code_desc + } + } }, //初始化组件的参数 init(inData) { @@ -431,6 +706,8 @@ remark:'', materialNumber:'', username:this.$store.state.user.name, + codeNo:'', + codeDesc:'', } this.visible=true; }, @@ -447,6 +724,8 @@ partSpec:row.partSpec, remark:row.remark, materialNumber:row.materialNumber, + codeNo:row.codeNo, + codeDesc:row.codeDesc, username:this.$store.state.user.name, } this.visible=true; @@ -491,6 +770,115 @@ }).catch(() => { }) }, + itemModal(row){ + this.itemModalData.site=row.site + this.itemModalData.partNo=row.testPartNo + this.searchItemList(); + this.partItemModelFlag=true; + }, +// 属性模板 + searchItemList(){ + getItemModal(this.itemModalData).then(({data}) => { + this.itemModalList = data.rows + }) + }, + itemSaveData(){ + if(this.itemData.partNo==''||this.itemData.partNo==null){ + this.$alert('未选择物料!', '错误', { + confirmButtonText: '确定' + }) + return false + } + if(this.itemData.propertiesItemNo==''||this.itemData.propertiesItemNo==null){ + this.$alert('未选择属性!', '错误', { + confirmButtonText: '确定' + }) + return false + } + itemSaveData(this.itemData).then(({data}) => { + if (data && data.code === 0) { + this.itemModalFlag = false + this.searchItemList(); + this.$message({ + message: '操作成功', + type: 'success', + duration: 1500, + + onClose: () => { + } + }) + } else { + this.$alert(data.msg, '错误', { + confirmButtonText: '确定' + }) + } + }) + }, + updateItemModal(row){ + this.itemData={ + id:1, + site:row.site, + partNo:row.partNo, + propertiesItemNo:row.propertiesItemNo, + itemDesc:row.itemDesc, + textValue:row.textValue, + numValue:row.numValue, + } + this.availableValueList=row.availableValueList + if(row.valueChooseFlag=='Y'){ + this.itemChooseFlag=true; + }else { + this.itemChooseFlag=false; + } + this.itemTextDisableFlag=true + this.itemNumberDisableFlag=true + if(row.valueTypeDb!="T"){ + this.itemNumberDisableFlag=false + }else { + this.itemTextDisableFlag=false + } + this.itemModalDisableFlag=true + this.itemModalFlag=true; + }, + changeItemDisable(){ + let inData={ + itemNo:this.itemData.itemNo + } + getItemData(inData).then(({data}) => { + if (data && data.code === 0) { + if(data.rows[0].valueTypeDb!="T"){ + this.itemNumberDisableFlag=false + this.itemTextDisableFlag=true + }else { + this.itemTextDisableFlag=false + this.itemNumberDisableFlag=true + } + } + }) + }, + refreshItemModal(){ + let inData={ + site:this.itemModalData.site, + partNo:this.itemModalData.partNo + } + refreshItemModal(inData).then(({data}) => { + if (data && data.code === 0) { + this.searchItemList(); + this.$message({ + message: '刷新成功', + type: 'success', + duration: 1500, + + onClose: () => { + } + }) + } else { + this.$alert(data.msg, '错误', { + confirmButtonText: '确定' + }) + } + }) + }, //导出excel createExportData() {