From 40bdd8ad055426d80868218d6c3790c1951a6cb5 Mon Sep 17 00:00:00 2001 From: leo <10200039@qq.com> Date: Thu, 20 Apr 2023 00:09:54 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=96=99=E4=BF=AE=E6=94=B9=E8=B7=AF?= =?UTF-8?q?=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/api/materialEdit.ts | 18 ++++ src/views/materia/all.vue | 16 ++- src/views/materia/components/AddMateria.vue | 4 +- src/views/materia/components/EditMateria.vue | 106 +++++++------------ src/views/materia/components/EditView.vue | 8 +- src/views/materia/route.vue | 16 ++- 6 files changed, 89 insertions(+), 79 deletions(-) diff --git a/src/api/api/materialEdit.ts b/src/api/api/materialEdit.ts index c16eabf..841b713 100644 --- a/src/api/api/materialEdit.ts +++ b/src/api/api/materialEdit.ts @@ -25,4 +25,22 @@ export async function updateMaterial(params, controller) { result = data }); return result; +} + +// 根据模式和物料名查找物料 +export async function searchMaterialsByFactory(params, controller) { + let result = {}; + await http.post('/api/' + controller + '/SearchMaterialsByFactory', params).then((data) => { + result = data + }); + return result; +} + +// 创建物料修改路线 +export async function modifyMaterial(params, controller) { + let result = {}; + await http.post('/api/' + controller + '/ModifyMaterial', params).then((data) => { + result = data + }); + return result; } \ No newline at end of file diff --git a/src/views/materia/all.vue b/src/views/materia/all.vue index 4085ea2..71808b0 100644 --- a/src/views/materia/all.vue +++ b/src/views/materia/all.vue @@ -117,7 +117,7 @@ }, { title: "产品分类", - key: "FMaterialType", + key: "FMaterialTypeName", width: "200px", align: 'center' }, @@ -281,7 +281,19 @@ result.Data.List = result.Data.List || []; this.pageInfo.total = result.Data.Total || 0; this.dataList = result.Data.List; - console.log('this.dataList', this.dataList); + + this.dataList.forEach(item => { + if (item.FMaterialType == 10) { + item.FMaterialTypeName = "产成品" + } else if(item.FMaterialType == 20) { + item.FMaterialTypeName = "半成品" + } else if(item.FMaterialType == 30) { + item.FMaterialTypeName = "中间品/香基" + } else if(item.FMaterialType == 40) { + item.FMaterialTypeName = "原/辅料" + } + }); + this.hasLoaded = true; }, //日期处理 diff --git a/src/views/materia/components/AddMateria.vue b/src/views/materia/components/AddMateria.vue index 2a6840d..0237ce5 100644 --- a/src/views/materia/components/AddMateria.vue +++ b/src/views/materia/components/AddMateria.vue @@ -33,7 +33,7 @@ -
+
提交 取消 @@ -323,7 +323,7 @@ export default { } else { result = await createMaterial(postData, "MaterialTeamwork") || 0; } - console.log('result', result); + if (result.TaskId > 0) { this.cancelClick(true); } diff --git a/src/views/materia/components/EditMateria.vue b/src/views/materia/components/EditMateria.vue index 7e53e4f..ba37373 100644 --- a/src/views/materia/components/EditMateria.vue +++ b/src/views/materia/components/EditMateria.vue @@ -17,7 +17,7 @@ -
+
确认 取消 @@ -81,6 +81,10 @@ import { ref, watch } from 'vue'; +import { + searchMaterialsByFactory, + modifyMaterial +} from "/src/api/api/materialEdit" import { getDataCode, getPageList, @@ -92,6 +96,7 @@ import { import { getFactoryList } from "/src/api/api/factory"; +import { layer } from '@layui/layer-vue'; export default { setup() { @@ -110,20 +115,23 @@ export default { type: "radio" }, { title: "物料号", - key: "FName" + key: "FCode", + width: "120px" }, { title: "试验号", - key: "FTestCode" + key: "FTestCode", + width: "120px" }, { title: "物料描述", - key: "FTypeName", - width: "110px" + key: "FName", + width: "280px" }, { title: "产品分类", - key: "FVersionCode" + key: "FTypeName", + width: "200px" } ]; dataColumn.forEach((item) => { @@ -139,10 +147,7 @@ export default { watch(selectedKey, function () { const chose = dataList.value.find(s => s.FID == selectedKey.value) || null; if (chose != null) { - dataInfo.value.FFormulaName = chose.FName + "+" + chose.FTestCode + "+" + chose.FVersionCode; - dataInfo.value.FFormulaID = chose.FID; - dataInfo.value.FVersionCode = chose.FVersionCode; - dataInfo.value.FFormulaTestCode = chose.FTestCode; + dataInfo.value.FID = chose.FID; } }); @@ -235,83 +240,44 @@ export default { } let postData = { FPageIndex: this.pageInfo.current, - FPageSize: this.pageInfo.limit - } - let search = this.dataInfo.FSearchName; - if (search && search != "") { - postData.Or_FPlmCode = postData.Or_FTestCode = postData.Or_FName = postData.Or_FVersionCode = - search; + FPageSize: this.pageInfo.limit, + FSearchName: this.dataInfo.FSearchName ? this.dataInfo.FSearchName : "" } - let result = await getPageList(postData, "Formula"); + + let result = await searchMaterialsByFactory(postData, "MaterialTeamwork"); + console.log('result', result); result.Data.List = result.Data.List || []; result.Data.List.forEach((item) => { let type = this.typeList.find(s => s.FValue == item.FType); item.FTypeName = type == null ? item.FType : type.FName; - if (this.dataInfo.FFormulaID == item.FID) this.selectedKey = item.FID }); this.pageInfo.total = result.Data.Total || 0; this.dataList = result.Data.List; }, //数据-验证 async submitClick(isCreate) { - let postData = this.dataInfo; - postData.FSaleCode = (postData.FSaleCode || "").trim(); - postData.FTestCode = (postData.FTestCode || "").trim(); - postData.FMaterialGroup = (postData.FMaterialGroup || "").trim(); - postData.FWeightUnit = (postData.FWeightUnit || "").trim(); - postData.FFormulaName = (postData.FFormulaName || "").trim(); - postData.FCreateFactoryID=(postData.FCreateFactoryID==-1?"":postData.FCreateFactoryID); - for (let key in postData) { - if (postData[key] == "") return false; - } - // let indexs = [postData.FSaleCode.indexOf("-"), postData.FSaleCode.indexOf("@")]; - // if (indexs[0] == -1 || indexs[1] == -1 || indexs[1] - indexs[0] < 2) { - // layer.msg('必须要输入包材代码') - // return false; - // } - postData.FState = isCreate ? 1 : 0; - postData = JSON.parse(JSON.stringify(postData)); - if (postData.FTestCode != postData.FFormulaTestCode) { - this.sureTextCode(postData); - return false; + let postData = { + FMaterialId: this.dataInfo.FID, + FCreateFactoryID: this.dataInfo.FCreateFactoryID + }; + + if (postData.FCreateFactoryID && postData.FMaterialId) { + this._postTermData(postData); + } else if(!postData.FCreateFactoryID) { + layer.msg("选择模式不能为空", { icon : 2, time: 1000}) + } else { + layer.msg("必须选择物料", { icon : 2, time: 1000}) } - this._postTermData(postData); - }, - //数据-确认 - sureTextCode(postData) { - let $this = this; - layer.confirm("选择的配方和订单试验号不一致,请确认使用选择的配方嘛?", { - title: "提示", - btn: [{ - text: '暂时保存', - callback: function (id) { - layer.close(id); - postData["FState"] = 0; - $this._postTermData(postData); - } - }, - { - text: '确认提交', - callback: function (id) { - layer.close(id); - postData["FState"] = 1; - $this._postTermData(postData); - } - } - ] - }); + }, //数据-提交 async _postTermData(postData) { - delete postData["FSearchName"]; let result = 0; let idx = layer.load(2); - if (postData.FID && postData.FID > 0) { - result = await updateDataInfo(postData, "Teamwork") || 0; - } else { - result = await insertDataInfo(postData, "Teamwork") || 0; - } - if (result > 0) { + result = await modifyMaterial(postData, "MaterialTeamwork") || 0; + + console.log('result', result); + if (result.Data.TaskId > 0) { this.cancelClick(true); } layer.close(idx); diff --git a/src/views/materia/components/EditView.vue b/src/views/materia/components/EditView.vue index 36b6782..c63b8ff 100644 --- a/src/views/materia/components/EditView.vue +++ b/src/views/materia/components/EditView.vue @@ -195,6 +195,7 @@ export default { async initPage(idx) { let _data = await getMaterialViewsByTeamId({ teamId: this.dataInfoObj.FTeamID, + teamWorkType: this.dataInfoObj.FTeamworkType, teamType: 1 }, "MaterialTeamwork"); @@ -415,8 +416,9 @@ export default { let idx = layer.load(2); let updateObj = { LogList: [], - FTeamID: this.dataInfoObj['FTeamID'], - FViewType: this.dataInfoObj.FViewType + FTeamID: this.dataInfoObj.FTeamID, + FViewType: this.dataInfoObj.FViewType, + FTeamworkType: this.dataInfoObj.FTeamworkType, }; let saveId = this.dataInfoObj.FViewType + "_" + this.dataInfoObj.FID; let cacheDataList = JSON.parse(localStorage.getItem('EditView' + saveId)); @@ -458,8 +460,6 @@ export default { } }); let updateLog = updateObj.LogList.join("、"); - - console.log('this.dataInfoObj.step', this.dataInfoObj.step); if (updateLog != "") { delete updateObj.LogList diff --git a/src/views/materia/route.vue b/src/views/materia/route.vue index 693fd89..a4c6b8c 100644 --- a/src/views/materia/route.vue +++ b/src/views/materia/route.vue @@ -114,7 +114,7 @@ }, { title: "产品分类", - key: "FMaterialType", + key: "FMaterialTypeName", width: "200px", align: 'center' }, @@ -211,6 +211,7 @@ this.dataColumn[2].hide = true; this.dataColumn[7].hide = false; } + this._getTypeList(); this._getPageList(true); }, @@ -263,7 +264,19 @@ }); this.pageInfo.total = result.Data.Total || 0; this.dataList = result.Data.List; + this.dataList.forEach(item => { + if (item.FMaterialType == 10) { + item.FMaterialTypeName = "产成品" + } else if(item.FMaterialType == 20) { + item.FMaterialTypeName = "半成品" + } else if(item.FMaterialType == 30) { + item.FMaterialTypeName = "中间品/香基" + } else if(item.FMaterialType == 40) { + item.FMaterialTypeName = "原/辅料" + } + }); this.hasLoaded = true; + console.log('this.dataList', this.dataList); }, //日期处理 dateFormat(dataStr) { @@ -287,6 +300,7 @@ } data.FTeamID = data.FMaterialTeamID; + data.FMdfMaterialTeamId = data.FMaterialTeamID; this.objInfoObj = data; this.editType = type; this.showEditBox[3] = true;