diff --git a/src/views/foodManage/purchaseManage/productionPlan/edit.vue b/src/views/foodManage/purchaseManage/productionPlan/edit.vue index b4f38210..1c4dd030 100644 --- a/src/views/foodManage/purchaseManage/productionPlan/edit.vue +++ b/src/views/foodManage/purchaseManage/productionPlan/edit.vue @@ -96,8 +96,8 @@
{{dish.dishesName}} - +
@@ -179,9 +179,9 @@ 大小份 - + @@ -220,6 +220,7 @@ export default { loading:false, loadingBtn:false, baseInfo: {}, + resDetailList:[], // 表单校验 baseRules: { productionPlanName: [ @@ -341,30 +342,65 @@ export default { getStallByCanteenApi({ canteenId:this.baseInfo.canteenId }).then((response) => { this.stallOptions=response.rows||[] this.$set(this.baseInfo,"stallId",this.baseInfo.stallId) - }); + }); getPageRecipeListAllApi({areaId:this.baseInfo.areaId,canteenId:this.baseInfo.canteenId,stallId:this.baseInfo.stallId,}).then((response) => { this.recipeOptions = response.rows||[] - this.$set(this.baseInfo,"recipeId",this.baseInfo.recipeId) - }); - var resDetailList = response.data.productionPlanDetailVOList; - this.dateRange=[resDetailList[0].detailDate,resDetailList[resDetailList.length-1].detailDate] + this.$set(this.baseInfo,"recipeId",this.baseInfo.recipeId) + }); + this.resDetailList = response.data.productionPlanDetailVOList; + this.dateRange=[this.resDetailList[0].detailDate,this.resDetailList[this.resDetailList.length-1].detailDate] this.dateRangeList = this.getDateRange(this.dateRange[0],this.dateRange[1]) this.dateRangeIndex = 0 - this.dateRangeRadio = this.formatDate(this.dateRange[0]); - - for (let i = 0; i < resDetailList.length; i++) { - this.dateRangeList.forEach(item=>{ - if(resDetailList[i].detailDate==item.applyDate){ - item.detailList.forEach(subItem=>{ - if(resDetailList[i].mealtimeType==subItem.mealtimeType){ - this.$set(resDetailList[i],'number',resDetailList[i].dishesNum) - subItem.dishesList.push(resDetailList[i]) - } - }) - } - }) + this.dateRangeRadio = this.formatDate(this.dateRange[0]); + if(this.dialogType==1){ + for (let i = 0; i < this.resDetailList.length; i++) { + this.dateRangeList.forEach(item=>{ + if(this.resDetailList[i].detailDate==item.applyDate){ + item.detailList.forEach(subItem=>{ + if(this.resDetailList[i].mealtimeType==subItem.mealtimeType){ + this.$set(this.resDetailList[i],'dishesNum',this.resDetailList[i].dishesNum) + subItem.dishesList.push(this.resDetailList[i]) + } + }) + } + }) + } + this.detailList = this.dateRangeList[0].detailList; } - this.detailList = this.dateRangeList[0].detailList; + if(this.dialogType==2){ + let param = { + "applyDate": this.dateRangeRadio, + "recipeId": this.baseInfo.recipeId + } + getMenuRecipeDetailApi(param).then((response) => { + if(response.data.length>0){ + for (let i = 0; i < response.data.length; i++) { + this.dateRangeList[0].detailList.forEach(item=>{ + if(item.mealtimeType==response.data[i].mealtimeType){ + item.dishesList = response.data[i].dishesList + } + }) + } + for (let i = 0; i < this.resDetailList.length; i++) { + this.dateRangeList.forEach(item=>{ + if(this.resDetailList[i].detailDate==item.applyDate){ + item.detailList.forEach(subItem=>{ + if(this.resDetailList[i].mealtimeType==subItem.mealtimeType){ + subItem.dishesList.forEach(lastItem=>{ + if(this.resDetailList[i].dishesId==lastItem.dishesId){ + this.$set(lastItem,'dishesNum',this.resDetailList[i].dishesNum) + } + }) + } + }) + } + }) + } + this.detailList = this.dateRangeList[0].detailList; + } + }); + } + }); }, //区域树 @@ -546,7 +582,7 @@ export default { let index = this.dishesList.findIndex(v=>v.dishesId==obj.dishesId) if(index==-1){//新-加入 let dish = Object.assign({}, obj) - this.$set(dish,'number',null) + this.$set(dish,'dishesNum',null) this.dishesList.push(dish) // this.dishesTableList.push(dish) //反显选中样式 @@ -585,7 +621,7 @@ export default { //选择菜品弹窗-确认按钮 confirmChosen(){ console.log(this.dishesList) - let index = this.dishesList.findIndex(v=>v.number==null||v.number==0) + let index = this.dishesList.findIndex(v=>v.dishesNum==null||v.dishesNum==0) console.log(index) if(index>-1){ this.$modal.msgError("请填写菜品份数"); @@ -623,7 +659,7 @@ export default { this.dateRangeList[0].detailList.forEach(item=>{ if(item.mealtimeType==response.data[i].mealtimeType){ response.data[i].dishesList.forEach(dish=>{ - this.$set(dish,'number',null) + this.$set(dish,'dishesNum',null) }); item.dishesList = response.data[i].dishesList } @@ -692,18 +728,35 @@ export default { if(item.mealtimeType==response.data[i].mealtimeType){ item.dishesList = response.data[i].dishesList; item.dishesList.forEach(dish=>{ - this.$set(dish,'number',null) + this.$set(dish,'dishesNum',null) }) } }) } + // setTimeout(()=>{ + for (let i = 0; i < this.resDetailList.length; i++) { + this.dateRangeList.forEach(item=>{ + if(this.resDetailList[i].detailDate==item.applyDate){ + item.detailList.forEach(subItem=>{ + if(this.resDetailList[i].mealtimeType==subItem.mealtimeType){ + subItem.dishesList.forEach(lastItem=>{ + if(this.resDetailList[i].dishesId==lastItem.dishesId){ + this.$set(lastItem,'dishesNum',this.resDetailList[i].dishesNum) + } + }) + } + }) + } + }) + } + // },500) } }); }, //保存草稿 confirmSave(){ this.$refs["baseInfo"].validate(valid => { - if (valid) { + if (valid) { let param = Object.assign({},this.baseInfo); param.ifRepeat=this.ifRepeat; param.productionPlanType=this.dialogType; @@ -721,10 +774,10 @@ export default { obj.detailDate = this.dateRangeList[i].applyDate obj.dishesId=dishItem.dishesId; obj.dishesName=dishItem.dishesName; - obj.dishesNum=Number(dishItem.number); + obj.dishesNum=Number(dishItem.dishesNum); obj.mealtimeName=this.dateRangeList[0].detailList[j].mealtimeName; obj.mealtimeType=this.dateRangeList[0].detailList[j].mealtimeType; - obj.number=dishItem.number; + obj.dishesNum=dishItem.dishesNum; obj.sizeType=dishItem.sizeType; param.productionPlanDetailAddList.push(obj) }) @@ -741,10 +794,10 @@ export default { obj.detailDate = this.dateRangeList[i].applyDate obj.dishesId=dishItem.dishesId; obj.dishesName=dishItem.dishesName; - obj.dishesNum=Number(dishItem.number); + obj.dishesNum=Number(dishItem.dishesNum); obj.mealtimeName=this.dateRangeList[i].detailList[j].mealtimeName; obj.mealtimeType=this.dateRangeList[i].detailList[j].mealtimeType; - obj.number=dishItem.number; + obj.dishesNum=dishItem.dishesNum; obj.sizeType=dishItem.sizeType; param.productionPlanDetailAddList.push(obj) }) @@ -754,28 +807,38 @@ export default { } console.log(param.productionPlanDetailAddList) } - if(this.dialogType==2){ - console.log(this.dateRangeList) + if(this.dialogType==2){ + var addList = [] for(let i =0 ;i < this.dateRangeList.length ;i++){ for(let j =0 ;j < this.dateRangeList[0].detailList.length;j++){ if(this.dateRangeList[i].detailList[j].dishesList.length>0){ this.dateRangeList[i].detailList[j].dishesList.forEach(dishItem=>{ - if(dishItem.number>0){ + if(dishItem.dishesNum>0){ let obj = Object.assign({}, dishItem) obj.detailDate = this.dateRangeList[i].applyDate obj.dishesId=dishItem.dishesId; obj.dishesName=dishItem.dishesName; - obj.dishesNum=Number(dishItem.number); + obj.dishesNum=Number(dishItem.dishesNum); obj.mealtimeName=this.dateRangeList[i].detailList[j].mealtimeName; obj.mealtimeType=this.dateRangeList[i].detailList[j].mealtimeType; - obj.number=dishItem.number; + obj.dishesNum=dishItem.dishesNum; obj.sizeType=dishItem.sizeType; - param.productionPlanDetailAddList.push(obj) + addList.push(obj) } }) } } } + console.log(addList) + if(param.productionPlanDetailVOList&¶m.productionPlanDetailVOList.length>0){ + addList.forEach(item=>{ + let index = param.productionPlanDetailVOList.findIndex(v=>(v.detailDate==item.detailDate&&v.mealtimeType==item.mealtimeType&&v.dishesId==item.dishesId)) + param.productionPlanDetailVOList[index].dishesNum = item.dishesNum + }) + param.productionPlanDetailAddList = param.productionPlanDetailVOList + }else{ + param.productionPlanDetailAddList = addList + } console.log(param.productionPlanDetailAddList) } console.log(param) @@ -809,9 +872,112 @@ export default { this.$refs["baseInfo"].validate(valid => { if (valid) { let param = Object.assign({},this.baseInfo); - // param.purchaseDate = this.formatDateTime(this.baseInfo.purchaseDate) - // param.deliverGoodsDate = this.formatDate(this.baseInfo.deliverGoodsDate) - // param.status=2 + param.ifRepeat=this.ifRepeat; + param.productionPlanType=this.dialogType; + param.status=2; + param.goodsType=1; + param.productionPlanDetailAddList=[]; + if(this.dialogType==1){ + console.log(this.dateRangeList) + if(this.ifRepeat==1){ + for(let i =0 ;i < this.dateRangeList.length ;i++){ + for(let j =0 ;j < this.dateRangeList[0].detailList.length;j++){ + if(this.dateRangeList[0].detailList[j].dishesList.length>0){ + this.dateRangeList[0].detailList[j].dishesList.forEach(dishItem=>{ + let obj = Object.assign({}, dishItem) + obj.detailDate = this.dateRangeList[i].applyDate + obj.dishesId=dishItem.dishesId; + obj.dishesName=dishItem.dishesName; + obj.dishesNum=Number(dishItem.dishesNum); + obj.mealtimeName=this.dateRangeList[0].detailList[j].mealtimeName; + obj.mealtimeType=this.dateRangeList[0].detailList[j].mealtimeType; + obj.dishesNum=dishItem.dishesNum; + obj.sizeType=dishItem.sizeType; + param.productionPlanDetailAddList.push(obj) + }) + } + } + } + } + if(this.ifRepeat==2){ + for(let i =0 ;i < this.dateRangeList.length ;i++){ + for(let j =0 ;j < this.dateRangeList[0].detailList.length;j++){ + if(this.dateRangeList[i].detailList[j].dishesList.length>0){ + this.dateRangeList[i].detailList[j].dishesList.forEach(dishItem=>{ + let obj = Object.assign({}, dishItem) + obj.detailDate = this.dateRangeList[i].applyDate + obj.dishesId=dishItem.dishesId; + obj.dishesName=dishItem.dishesName; + obj.dishesNum=Number(dishItem.dishesNum); + obj.mealtimeName=this.dateRangeList[i].detailList[j].mealtimeName; + obj.mealtimeType=this.dateRangeList[i].detailList[j].mealtimeType; + obj.dishesNum=dishItem.dishesNum; + obj.sizeType=dishItem.sizeType; + param.productionPlanDetailAddList.push(obj) + }) + } + } + } + } + console.log(param.productionPlanDetailAddList) + } + if(this.dialogType==2){ + var addList = [] + for(let i =0 ;i < this.dateRangeList.length ;i++){ + for(let j =0 ;j < this.dateRangeList[0].detailList.length;j++){ + if(this.dateRangeList[i].detailList[j].dishesList.length>0){ + this.dateRangeList[i].detailList[j].dishesList.forEach(dishItem=>{ + if(dishItem.dishesNum>0){ + let obj = Object.assign({}, dishItem) + obj.detailDate = this.dateRangeList[i].applyDate + obj.dishesId=dishItem.dishesId; + obj.dishesName=dishItem.dishesName; + obj.dishesNum=Number(dishItem.dishesNum); + obj.mealtimeName=this.dateRangeList[i].detailList[j].mealtimeName; + obj.mealtimeType=this.dateRangeList[i].detailList[j].mealtimeType; + obj.dishesNum=dishItem.dishesNum; + obj.sizeType=dishItem.sizeType; + addList.push(obj) + } + }) + } + } + } + console.log(addList) + if(param.productionPlanDetailVOList&¶m.productionPlanDetailVOList.length>0){ + addList.forEach(item=>{ + let index = param.productionPlanDetailVOList.findIndex(v=>(v.detailDate==item.detailDate&&v.mealtimeType==item.mealtimeType&&v.dishesId==item.dishesId)) + param.productionPlanDetailVOList[index].dishesNum = item.dishesNum + }) + param.productionPlanDetailAddList = param.productionPlanDetailVOList + }else{ + param.productionPlanDetailAddList = addList + } + console.log(param.productionPlanDetailAddList) + } + console.log(param) + if(param.productionPlanDetailAddList.length==0){ + this.$modal.msgError("请填写菜品份数!"); + }else{ + this.loadingBtn=true; + if (this.baseInfo.planId != undefined) { + editProductionPlanApi(param).then((response) => { + this.$modal.msgSuccess("修改成功"); + this.loadingBtn=false + this.jumpList() + }).catch(() => { + this.loadingBtn=false + }); + } else { + addProductionPlanApi(param).then((response) => { + this.$modal.msgSuccess("保存成功"); + this.loadingBtn=false + this.jumpList() + }).catch(() => { + this.loadingBtn=false + }); + } + } } }); }, diff --git a/src/views/foodManage/purchaseManage/productionPlan/index.vue b/src/views/foodManage/purchaseManage/productionPlan/index.vue index 30a47109..301ff77e 100644 --- a/src/views/foodManage/purchaseManage/productionPlan/index.vue +++ b/src/views/foodManage/purchaseManage/productionPlan/index.vue @@ -1,6 +1,6 @@ - + @@ -272,7 +263,7 @@ export default { }, created() { this.getAreaTreeData(); - this.getSupplierData(); + // this.getSupplierData(); this.getList(); }, methods: { @@ -391,7 +382,7 @@ export default { /** 删除按钮操作 */ handleDelete(row) { this.$modal.confirm('是否确认删除数据项?').then(function() { - return delProductionPlanApi({orderGoodsIds:[row.orderGoodsId]}); + return delProductionPlanApi({planIds:[row.planId]}); }).then(() => { this.getList(); this.$modal.msgSuccess("删除成功");