unit.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. import Vue from 'vue';
  2. //改变数量
  3. export function handleInput(item, value, arr) {
  4. console.log('进来没有', item, value, arr);
  5. if (value) {
  6. if (item.textType == '1') {
  7. if (!item.symbol) {
  8. if (item.qualityResultContent != item.defaultValue) {
  9. Vue.set(item, 'qualityResults', 2);
  10. } else {
  11. Vue.set(item, 'qualityResults', 1);
  12. }
  13. qualityResultsListChange(arr);
  14. return;
  15. }
  16. let key = mathematicalJudgment(item);
  17. Vue.set(item, 'qualityResults', key);
  18. qualityResultsListChange(arr);
  19. }
  20. if (item.textType == '3' || item.textType == '8') {
  21. let num = Number(item.qualityResultContent);
  22. if (item.textType == '8') {
  23. num = num - (item.defaultValue || 0);
  24. }
  25. if (num == NaN) {
  26. Vue.set(item, 'qualityResults', 2);
  27. qualityResultsListChange(arr);
  28. return;
  29. }
  30. if (
  31. num >= Number(item.minValue || 0) &&
  32. num <= Number(item.maxValue || 0)
  33. ) {
  34. Vue.set(item, 'qualityResults', 1);
  35. qualityResultsListChange(arr);
  36. } else {
  37. Vue.set(item, 'qualityResults', 2);
  38. qualityResultsListChange(arr);
  39. }
  40. }
  41. } else {
  42. Vue.set(item, 'qualityResults', 1);
  43. qualityResultsListChange(arr);
  44. }
  45. }
  46. export function qualityResultsListChange(arr) {
  47. if (!arr) {
  48. return;
  49. }
  50. arr.forEach((item, index) => {
  51. Vue.set(
  52. arr[index],
  53. 'qualityResults',
  54. getQuality(item.qualitySampleTemplateList)
  55. );
  56. });
  57. }
  58. function getQuality(arr) {
  59. let getQualityValue = 1;
  60. arr.forEach((item) => {
  61. if (item.qualityResults == 2) {
  62. getQualityValue = 2;
  63. }
  64. });
  65. return getQualityValue;
  66. }
  67. // 数学判断
  68. function mathematicalJudgment(row) {
  69. console.log('进来没有', row);
  70. let symbol = row.symbol?.trim(); // 符号
  71. let Ivalue = Number(row.qualityResultContent); // 输入的值
  72. let Dvalue = Number(row.defaultValue); // 判断的值
  73. if (Ivalue == NaN || Dvalue == NaN) {
  74. return 2;
  75. }
  76. if (symbol == '±') {
  77. if (Math.abs(Ivalue) <= Math.abs(Dvalue)) {
  78. return 1;
  79. } else {
  80. return 2;
  81. }
  82. }
  83. if (symbol == '≤' || symbol == '≦') {
  84. if (Ivalue <= Dvalue) {
  85. return 1;
  86. } else {
  87. return 2;
  88. }
  89. }
  90. if (symbol == '≥' || symbol == '≧') {
  91. if (Ivalue >= Dvalue) {
  92. return 1;
  93. } else {
  94. return 2;
  95. }
  96. }
  97. if (symbol == '≈' || symbol == '=') {
  98. console.log('进来等于号');
  99. if (Ivalue == Dvalue) {
  100. return 1;
  101. } else {
  102. return 2;
  103. }
  104. }
  105. if (symbol == '≠') {
  106. if (Ivalue != Dvalue) {
  107. return 1;
  108. } else {
  109. return 2;
  110. }
  111. }
  112. if (symbol == '>') {
  113. if (Ivalue > Dvalue) {
  114. return 1;
  115. } else {
  116. return 2;
  117. }
  118. }
  119. if (symbol == '<') {
  120. if (Ivalue < Dvalue) {
  121. return 1;
  122. } else {
  123. return 2;
  124. }
  125. }
  126. return 2;
  127. }