diff --git a/src/views/material/cost/costDecreaseList.vue b/src/views/material/cost/costDecreaseList.vue index c182ed32..8e3c0975 100644 --- a/src/views/material/cost/costDecreaseList.vue +++ b/src/views/material/cost/costDecreaseList.vue @@ -224,6 +224,30 @@ + + + + + 当前减免时间符合的数据条数:{{ num1 }} + + + + + + 当前减免时间不符合的数据条数:{{ num2 }} + + + + 一键去除 + + + @@ -353,6 +377,8 @@ export default { //减免申请list applyList: [], + //备份所选的数据 + applyListTemp: [], //减免费用弹窗 showApply: false, @@ -394,6 +420,11 @@ export default { //弹窗确定按钮是否能点击 btnDisabled: false, + + //当前符合的数据条数 + num1: 0, + //当前不符合的数据条数 + num2: 0, }; }, created() { @@ -411,8 +442,9 @@ export default { methods: { getRowClassName({ row, rowIndex }) { if (this.dialogAppy.reduceStartTime && this.dialogAppy.reduceEndTime) { - if ((!row.reduceStartTime || !row.reduceEndTime)&&rowIndex!=this.applyList.length-1) { + if ((!row.reduceStartTime || !row.reduceEndTime) && rowIndex!=this.applyList.length-1) { return 'highlight-row' + }else{ } } return ''; @@ -606,6 +638,7 @@ export default { this.uploadKey = Date.now(); this.delBusinessFileIdList=[]; this.applyList=[]; + this.applyListTemp=[]; // 去除 pushReviewList 数组的最后一个元素,将剩余元素赋值给 paramList const paramList = this.pushReviewList.slice(0, -1); paramList.forEach((item) => { @@ -625,6 +658,7 @@ export default { reduceLeaseMoney: 0, } this.applyList.push(obj) + this.applyListTemp = this.applyList; this.showApply = true; this.title = "减免申请"; }, @@ -780,23 +814,37 @@ export default { } }, + updateNum() { + if (this.dialogAppy.reduceStartTime && this.dialogAppy.reduceEndTime) { + this.num2 = this.applyList.slice(0,-1).filter(item =>!item.reduceStartTime ||!item.reduceEndTime).length; + this.num1 = this.applyList.filter(item => item.reduceStartTime && item.reduceEndTime).length; + } + }, + // 更新表格中所有数据的减免开始时间 updateTableStartTime() { + this.applyList = this.applyListTemp; const pickStartTime = new Date(this.dialogAppy.reduceStartTime); this.applyList.slice(0,-1).forEach(item => { let validEndTime = item.endTime ? new Date(item.endTime) : new Date(); if(pickStartTime < new Date(item.startTime) || pickStartTime > validEndTime){ + console.log('日期无效',validEndTime) this.$set(item, 'reduceStartTime', null); }else{ + console.log('日期有效',validEndTime,this.dialogAppy.reduceStartTime) this.$set(item, 'reduceStartTime', this.dialogAppy.reduceStartTime); } // item.reduceStartTime = this.dialogAppy.reduceStartTime; }); if (this.dialogAppy.reduceEndTime) { + this.applyList.slice(0,-1).forEach(item => { const startTime = new Date(item.reduceStartTime); const endTime = new Date(item.reduceEndTime); - if (!isNaN(startTime) && !isNaN(endTime) && startTime.getTime()!=0 && endTime.getTime()!=0 && endTime.getTime() >= startTime.getTime()) { + const startTimeTemp = item.reduceStartTime; + const endTimeTemp = item.reduceEndTime; + console.log('日期无效sdadasdsada',startTimeTemp,endTimeTemp,startTime,endTime) + if (startTimeTemp!=null && endTimeTemp!=null && startTime.getTime()!=0 && endTime.getTime()!=0 && endTime.getTime() >= startTime.getTime()) { const oneDay = 24 * 60 * 60 * 1000; // 一天的毫秒数 const diffDays = Math.ceil(Math.abs((endTime - startTime) / oneDay)) + (endTime - startTime === 0 ? 1 : 1); this.$set(item, 'reduceDays', diffDays); @@ -804,7 +852,12 @@ export default { this.$set(item, 'reduceLeaseMoney', item.reduceDays*item.leasePrice*item.reduceNum); } // row.leaseDays = diffDays; - }else { + }else if(startTimeTemp!=null && item.reduceEndTime==null && startTimeTemp>=item.startTime && startTimeTemp<=item.endTime){ + this.$set(item, 'reduceEndTime', startTime); + this.$set(item, 'reduceDays', 0); + this.$set(item, 'reduceLeaseMoney', 0); + } + else { this.$set(item, 'reduceStartTime', null); // 如果日期无效,将减免天数设为 0 或者清空 this.$set(item, 'reduceDays', 0); @@ -815,13 +868,17 @@ export default { }, 0); }); } + this.updateNum() }, // 更新表格中所有数据的减免结束时间 updateTableEndTime() { + this.applyList = this.applyListTemp; const pickEndTime = new Date(this.dialogAppy.reduceEndTime); this.applyList.slice(0,-1).forEach(item => { let validEndTime = item.endTime ? new Date(item.endTime) : new Date(); + console.log('666666666666',item.startTime,pickEndTime) if(pickEndTime < new Date(item.startTime) || pickEndTime > validEndTime){ + this.$set(item, 'reduceEndTime', null); }else{ this.$set(item, 'reduceEndTime', this.dialogAppy.reduceEndTime); @@ -832,7 +889,11 @@ export default { this.applyList.slice(0,-1).forEach(item => { const startTime = new Date(item.reduceStartTime); const endTime = new Date(item.reduceEndTime); - if (!isNaN(startTime) && !isNaN(endTime) && startTime.getTime()!=0 && endTime.getTime()!=0 && endTime.getTime() >= startTime.getTime()) { + const startTimeTemp = item.reduceStartTime; + const endTimeTemp = item.reduceEndTime; + console.log('xxxxxxxxxxxxx',endTimeTemp,item.startTime,item.endTime,item.reduceEndTime) + if (startTimeTemp!=null && endTimeTemp!=null && startTime.getTime()!=0 && endTime.getTime()!=0 && endTime.getTime() >= startTime.getTime()) { + console.log('zzzzzzzzzzzzzz') const oneDay = 24 * 60 * 60 * 1000; // 一天的毫秒数 const diffDays = Math.ceil(Math.abs((endTime - startTime) / oneDay)) + (endTime - startTime === 0 ? 1 : 1); this.$set(item, 'reduceDays', diffDays); @@ -841,6 +902,11 @@ export default { this.$set(item, 'reduceLeaseMoney', item.reduceDays*item.leasePrice*item.reduceNum); } // row.leaseDays = diffDays; + }else if(endTimeTemp!=null && item.reduceStartTime==null && endTimeTemp>=item.startTime && endTimeTemp<=item.endTime){ + console.log('yyyyyyyyyyy',item.reduceEndTime) + this.$set(item, 'reduceEndTime', endTime); + this.$set(item, 'reduceDays', 0); + this.$set(item, 'reduceLeaseMoney', 0); }else { this.$set(item, 'reduceEndTime', null); // 如果日期无效,将减免天数设为 0 或者清空 @@ -852,6 +918,7 @@ export default { }, 0); }); } + this.updateNum() }, //table中时间改变 @@ -897,6 +964,7 @@ export default { this.applyList[this.applyList.length-1].reduceLeaseMoney = this.applyList.slice(0,-1).reduce((total, item) => { return total + Number(item.reduceLeaseMoney); }, 0); + this.updateNum() }, updateLeaseDaysEnd(row) { @@ -939,6 +1007,7 @@ export default { this.applyList[this.applyList.length-1].reduceLeaseMoney = this.applyList.slice(0,-1).reduce((total, item) => { return total + Number(item.reduceLeaseMoney); }, 0); + this.updateNum() }, //table中数量改变 @@ -968,13 +1037,13 @@ export default { if(index3>-1){ this.$modal.msgError('减免数量不能为0!') }else if(index4>-1){ - this.$modal.msgError('请选择减免开始时间!') + this.$modal.msgError('请先去除减免时间不符合的数据!') }else if(index5>-1){ - this.$modal.msgError('请选择减免结束时间!') + this.$modal.msgError('请先去除减免时间不符合的数据!') }else if(index2>-1){ this.$modal.msgError('减免数量不能大于领料数量!') }else if(index>-1){ - this.$modal.msgError('减免结束时间不能小于减免开始时间!') + this.$modal.msgError('请先去除减免时间不符合的数据!') }else{ const param = { agreementId: this.queryParams.agreementId, @@ -1009,6 +1078,15 @@ export default { }, closeDiag() { this.cancel(); + }, + + handleClean(){ + // 过滤掉不符合的数据 + this.applyList = this.applyList.filter((item, index) => { + return index === this.applyList.length - 1 || (item.reduceStartTime && item.reduceEndTime); + }); + // 更新符合和不符合的数据条数 + this.updateNum(); } }, }; @@ -1035,68 +1113,6 @@ export default { width: 60px !important; margin-bottom: 10px; } -// .clickText { -// color: #02a7f0; -// cursor: pointer; -// } - -// .tabelAllBottom { -// display: flex; -// border: 1px solid #dfe6ec; -// width:100%; -// border-bottom: 1px solid #dfe6ec; -// border-top: none; -// } -// .columnAll { -// flex: 1; -// display: flex; -// padding: 5px; -// border-left: 1px solid #dfe6ec; -// width:100%; -// align-items: center; -// text-align: center; -// justify-content: center; /* 将内容对齐到中间 */ -// } -// .columnAllNum { -// padding: 5px; -// text-align: center; -// width:88.6%; -// border-left: none; -// } - -// .tabelFirstBottom { -// display: flex; -// border: 1px solid #dfe6ec; -// width:100%; -// border-bottom: 1px solid #dfe6ec; -// border-top: none; -// } -// .columnFirst { -// display: flex ; -// background-color: #f8f8f9; -// padding: 5px; -// border-left: 1px solid #dfe6ec; -// width:14.5%; -// align-items: center; -// text-align: center; -// justify-content: center; /* 将内容对齐到中间 */ -// } -// .columnFirstRight { -// padding: 5px; -// background-color: #f8f8f9; -// border-left: 1px solid #dfe6ec; -// width:28.5%; -// align-items: center; -// text-align: center; -// justify-content: center; /* 将内容对齐到中间 */ -// } -// .columnFirstNum { -// background-color: #f8f8f9; -// padding: 5px; -// text-align: center; -// width:41.7%; -// border-left: none; -// } //文件上传样式 //隐藏图片上传框的css diff --git a/src/views/material/repair/inventoryScrap/component/addToolsApply.vue b/src/views/material/repair/inventoryScrap/component/addToolsApply.vue new file mode 100644 index 00000000..fb47e6e3 --- /dev/null +++ b/src/views/material/repair/inventoryScrap/component/addToolsApply.vue @@ -0,0 +1,1095 @@ + + + + diff --git a/src/views/material/repair/inventoryScrap/component/homeApply.vue b/src/views/material/repair/inventoryScrap/component/homeApply.vue new file mode 100644 index 00000000..9e66b2ed --- /dev/null +++ b/src/views/material/repair/inventoryScrap/component/homeApply.vue @@ -0,0 +1,370 @@ + + + + diff --git a/src/views/material/repair/inventoryScrap/component/queryToolsApply.vue b/src/views/material/repair/inventoryScrap/component/queryToolsApply.vue new file mode 100644 index 00000000..b88cca76 --- /dev/null +++ b/src/views/material/repair/inventoryScrap/component/queryToolsApply.vue @@ -0,0 +1,276 @@ + + + + diff --git a/src/views/material/repair/inventoryScrap/index.vue b/src/views/material/repair/inventoryScrap/index.vue new file mode 100644 index 00000000..bd2ecf63 --- /dev/null +++ b/src/views/material/repair/inventoryScrap/index.vue @@ -0,0 +1,87 @@ + + + \ No newline at end of file