|
|
@@ -431,11 +431,9 @@
|
|
|
slot: 'sampleQualifiedNumber',
|
|
|
align: 'center',
|
|
|
formatter: (row) => {
|
|
|
- if (row.sampleQualifiedNumber) {
|
|
|
- return (
|
|
|
- row.sampleQualifiedNumber + (this.form.measureUnit || '')
|
|
|
- );
|
|
|
- }
|
|
|
+ let value = row.sampleQualifiedNumber || 0;
|
|
|
+ if(Number(value) < 0) value = 0;
|
|
|
+ return (value) + (this.form.measureUnit || '');
|
|
|
},
|
|
|
label: '样品合格数',
|
|
|
showOverflowTooltip: true
|
|
|
@@ -455,9 +453,9 @@
|
|
|
slot: 'lossNumber',
|
|
|
align: 'center',
|
|
|
formatter: (row) => {
|
|
|
- if (row.lossNumber) {
|
|
|
- return row.lossNumber + (this.form.measureUnit || '');
|
|
|
- }
|
|
|
+ let value = row.lossNumber || 0;
|
|
|
+ if(Number(value) < 0) value = 0;
|
|
|
+ return (value) + (this.form.measureUnit || '');
|
|
|
},
|
|
|
label: '损耗数(合格品)',
|
|
|
showOverflowTooltip: true
|
|
|
@@ -927,8 +925,27 @@
|
|
|
]);
|
|
|
});
|
|
|
}
|
|
|
- this.form.sampleQualifiedNumber = this.form.sampleQuantity;
|
|
|
- this.form.sampleNoQualifiedNumber = 0;
|
|
|
+ // 样品数变化后,重新计算合格数/不合格数
|
|
|
+ if (this.qms_defaultDisposalType) {
|
|
|
+ // qms_defaultDisposalType为true时,sampleNoQualifiedNumber为下方noQualifiedQuantity累加值,最大为sampleQuantity数
|
|
|
+ const sumNoQualified = this.tableData.reduce((sum, item) => {
|
|
|
+ return sum + (Number(item.noQualifiedQuantity) || 0);
|
|
|
+ }, 0);
|
|
|
+ this.form.sampleNoQualifiedNumber = Math.min(
|
|
|
+ sumNoQualified,
|
|
|
+ this.form.sampleQuantity
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ this.form.sampleNoQualifiedNumber = this.tableData.length
|
|
|
+ ? this.tableData.reduce(
|
|
|
+ (max, item) =>
|
|
|
+ Math.max(max, Number(item.noQualifiedQuantity) || 0),
|
|
|
+ 0
|
|
|
+ )
|
|
|
+ : 0;
|
|
|
+ }
|
|
|
+ this.form.sampleQualifiedNumber =
|
|
|
+ this.form.sampleQuantity - this.form.sampleNoQualifiedNumber;
|
|
|
},
|
|
|
formSampleNoQualifiedNumberChange() {
|
|
|
if (+this.form.sampleNoQualifiedNumber < 0) {
|
|
|
@@ -1056,30 +1073,54 @@
|
|
|
this.form.sampleQualifiedNumber = this.form.sampleQuantity || 0;
|
|
|
return;
|
|
|
}
|
|
|
- const maxNoQualified = newVal.reduce((max, item) => {
|
|
|
- const val = Number(item.noQualifiedQuantity) || 0;
|
|
|
- return val > max ? val : max;
|
|
|
- }, 0);
|
|
|
- this.$set(this.form, 'sampleNoQualifiedNumber', maxNoQualified);
|
|
|
- const qualifiedNumber =
|
|
|
- (Number(this.form.sampleQuantity) || 0) - maxNoQualified;
|
|
|
- if (qualifiedNumber < 0) {
|
|
|
- this.$message.warning('样品合格数不能小于0');
|
|
|
- this.$set(this.form, 'sampleQualifiedNumber', 0);
|
|
|
+ if (this.qms_defaultDisposalType) {
|
|
|
+ // qms_defaultDisposalType为true时,sampleNoQualifiedNumber为下方noQualifiedQuantity累加值,最大为sampleQuantity数
|
|
|
+ const sumNoQualified = newVal.reduce((sum, item) => {
|
|
|
+ return sum + (Number(item.noQualifiedQuantity) || 0);
|
|
|
+ }, 0);
|
|
|
+ const sampleQuantity = Number(this.form.sampleQuantity) || 0;
|
|
|
+ this.$set(
|
|
|
+ this.form,
|
|
|
+ 'sampleNoQualifiedNumber',
|
|
|
+ Math.min(sumNoQualified, sampleQuantity)
|
|
|
+ );
|
|
|
+ const qualifiedNumber = sampleQuantity - (Number(this.form.sampleNoQualifiedNumber) || 0);
|
|
|
+ if (qualifiedNumber < 0) {
|
|
|
+ this.$message.warning('样品合格数不能小于0');
|
|
|
+ this.$set(this.form, 'sampleQualifiedNumber', 0);
|
|
|
+ } else {
|
|
|
+ this.$set(this.form, 'sampleQualifiedNumber', qualifiedNumber);
|
|
|
+ }
|
|
|
} else {
|
|
|
- this.$set(this.form, 'sampleQualifiedNumber', qualifiedNumber);
|
|
|
+ const maxNoQualified = newVal.reduce((max, item) => {
|
|
|
+ const val = Number(item.noQualifiedQuantity) || 0;
|
|
|
+ return val > max ? val : max;
|
|
|
+ }, 0);
|
|
|
+ this.$set(this.form, 'sampleNoQualifiedNumber', maxNoQualified);
|
|
|
+ const qualifiedNumber =
|
|
|
+ (Number(this.form.sampleQuantity) || 0) - maxNoQualified;
|
|
|
+ if (qualifiedNumber < 0) {
|
|
|
+ this.$message.warning('样品合格数不能小于0');
|
|
|
+ this.$set(this.form, 'sampleQualifiedNumber', 0);
|
|
|
+ } else {
|
|
|
+ this.$set(this.form, 'sampleQualifiedNumber', qualifiedNumber);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- // 损耗数逻辑:从下方 lossNumberUnqualified 取最大值,lossNumberUnqualified = 总数量 - lossNumber
|
|
|
+ // 损耗数逻辑:qms_defaultDisposalType为true时获取下方lossNumberUnqualified累加值,
|
|
|
+ // 如果累加值大于sampleQuantity数,取最大sampleQuantity数,lossNumberUnqualified = 总数量 - lossNumber
|
|
|
if(this.qms_defaultDisposalType) {
|
|
|
- const maxLossNumberUnqualified = newVal.reduce((max, item) => {
|
|
|
+ let maxLossNumberUnqualified = newVal.reduce((max, item) => {
|
|
|
const val = Number(item.lossNumberUnqualified) || 0;
|
|
|
- return val > max ? val : max;
|
|
|
+ return val + max;
|
|
|
}, 0);
|
|
|
- this.$set(this.form, 'lossNumberUnqualified', maxLossNumberUnqualified);
|
|
|
const lossNumber = Number(this.form.lossNumber) || 0;
|
|
|
const sampleQuantity = Number(this.form.sampleQuantity) || 0;
|
|
|
const maxLossNumber = sampleQuantity - maxLossNumberUnqualified;
|
|
|
+ if(maxLossNumberUnqualified > sampleQuantity) {
|
|
|
+ maxLossNumberUnqualified = sampleQuantity;
|
|
|
+ }
|
|
|
+ this.$set(this.form, 'lossNumberUnqualified', maxLossNumberUnqualified);
|
|
|
if(lossNumber > maxLossNumber) {
|
|
|
this.$set(this.form, 'lossNumber', maxLossNumber);
|
|
|
}
|