|
|
@@ -1841,6 +1841,89 @@
|
|
|
qualificationRate,
|
|
|
noQualificationRate
|
|
|
);
|
|
|
+ this.calculate(this.sampleList);
|
|
|
+ },
|
|
|
+ calculate(list) {
|
|
|
+ if (list.length == 0) {
|
|
|
+ this.form.sampleQuantity = 0;
|
|
|
+ this.form.sampleWeight = 0;
|
|
|
+ }
|
|
|
+ let sampleQuantity = 0; // 样品数量
|
|
|
+ let sampleWeight = 0; // 样品重量
|
|
|
+ let sampleQualifiedNumber = 0; // 样品合格数
|
|
|
+ let sampleNoQualifiedNumber = 0; // 样品不合格数
|
|
|
+ list.forEach((el) => {
|
|
|
+ sampleQuantity += el.measureQuantity - 0;
|
|
|
+ sampleWeight += el.weight - 0;
|
|
|
+ if (el.qualityResults != 2) {
|
|
|
+ sampleQualifiedNumber += el.measureQuantity - 0;
|
|
|
+ } else {
|
|
|
+ sampleNoQualifiedNumber += el.measureQuantity - 0;
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ // 计算合格率和不合格率(百分比形式)
|
|
|
+ let sampleQualificationRate = '';
|
|
|
+ let sampleNoQualificationRate = '';
|
|
|
+ if (
|
|
|
+ (sampleQualifiedNumber || sampleQualifiedNumber == 0) &&
|
|
|
+ sampleQuantity !== 0
|
|
|
+ ) {
|
|
|
+ sampleQualificationRate =
|
|
|
+ ((sampleQualifiedNumber / sampleQuantity) * 100).toFixed(2) || '';
|
|
|
+ sampleNoQualificationRate =
|
|
|
+ ((sampleNoQualifiedNumber / sampleQuantity) * 100).toFixed(2) || '';
|
|
|
+ }
|
|
|
+ if (sampleQualificationRate || sampleQualificationRate == '0.00') {
|
|
|
+ if (isNaN(sampleQualificationRate)) {
|
|
|
+ sampleQualificationRate = '0%';
|
|
|
+ } else {
|
|
|
+ sampleQualificationRate = sampleQualificationRate + '%';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (sampleNoQualificationRate || sampleNoQualificationRate == '0.00') {
|
|
|
+ if (isNaN(sampleNoQualificationRate)) {
|
|
|
+ sampleNoQualificationRate = '0%';
|
|
|
+ } else {
|
|
|
+ sampleNoQualificationRate = sampleNoQualificationRate + '%';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.$nextTick(() => {
|
|
|
+ let showArrange = this.$refs.baseInfoRefs.showArrange;
|
|
|
+ if (showArrange != '1' && sampleQuantity == sampleQualifiedNumber) {
|
|
|
+ this.$set(this.form, 'qualificationRate', '100%');
|
|
|
+ this.$set(this.form, 'noQualificationRate', '0');
|
|
|
+ this.$set(this.form, 'qualityResults', 1);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (showArrange != '1' && sampleQuantity != sampleQualifiedNumber) {
|
|
|
+ this.$set(this.form, 'qualificationRate', '0');
|
|
|
+ this.$set(this.form, 'noQualificationRate', '100%');
|
|
|
+ this.$set(this.form, 'qualityResults', 2);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ // this.$set(this.form, 'resultsTotal', resultsTotal);
|
|
|
+ this.$set(
|
|
|
+ this.form,
|
|
|
+ 'sampleQualificationRate',
|
|
|
+ sampleQualificationRate
|
|
|
+ );
|
|
|
+ this.$set(
|
|
|
+ this.form,
|
|
|
+ 'sampleNoQualificationRate',
|
|
|
+ sampleNoQualificationRate
|
|
|
+ );
|
|
|
+ this.$set(this.form, 'sampleQuantity', sampleQuantity);
|
|
|
+ this.$set(this.form, 'sampleWeight', sampleWeight);
|
|
|
+ this.$set(this.form, 'sampleQualifiedNumber', sampleQualifiedNumber);
|
|
|
+ this.$set(
|
|
|
+ this.form,
|
|
|
+ 'sampleNoQualifiedNumber',
|
|
|
+ sampleNoQualifiedNumber
|
|
|
+ );
|
|
|
+ // 数量赋值
|
|
|
+ this.quantityAssignment();
|
|
|
},
|
|
|
closeDispose() {
|
|
|
this.rowData = null;
|