From 2e0b9374e2b7e12dc0b04462495a296712fc72cf Mon Sep 17 00:00:00 2001
From: hongchao <3228015117@qq.com>
Date: Mon, 17 Feb 2025 12:40:47 +0800
Subject: [PATCH] =?UTF-8?q?=E5=87=8F=E5=85=8D=E8=B4=B9=E7=94=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/material/cost/costDecreaseList.vue | 156 +--
.../component/addToolsApply.vue | 1095 +++++++++++++++++
.../inventoryScrap/component/homeApply.vue | 370 ++++++
.../component/queryToolsApply.vue | 276 +++++
.../material/repair/inventoryScrap/index.vue | 87 ++
5 files changed, 1914 insertions(+), 70 deletions(-)
create mode 100644 src/views/material/repair/inventoryScrap/component/addToolsApply.vue
create mode 100644 src/views/material/repair/inventoryScrap/component/homeApply.vue
create mode 100644 src/views/material/repair/inventoryScrap/component/queryToolsApply.vue
create mode 100644 src/views/material/repair/inventoryScrap/index.vue
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 @@
+
+
+
+
+
+
+
+
+
+
+
+ 库存:{{ item.storageNum }}
+
+
+
+
+
+
+
+
+ {{ currentMatchIndex + 1 }}/{{ matchedOptions.length }}
+
+
+
+
+
+
+
+
+
+
+
+
![]()
+
+
![]()
+
{{ file.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 保存
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (scope.row.unitValue==1?scope.row.preNum=Number(v.replace(/[^\d.]/g,'')) : scope.row.preNum=Number(v.replace(/[^\d]/g,'')))"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+
+ 重置
+
+
+
+
+
+
+ 新增报废
+
+
+
+
+
+
+
+
+
+ {{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查看
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
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