Newer
Older
xc-business-system / src / views / business / taskMeasure / measureData / useCaculate.ts
// 标准装置前端所做的计算
import { calc } from '../../../../utils/useCalc'
/**
 * 使用:(第一套多功能校准源:指针式万用表)
 * 最大允许误差
 * @param accuracyA 准确度a
 * @param fullScaleValue 指针式仪表满量程值
 * @param resolution 分辨力
 */
export function useMaximumError(accuracyA: string | number, fullScaleValue: string | number) {
  return calc(Number(accuracyA), Number(fullScaleValue), '*')
}

/**
 * 计算数字压力计零位漂移结果
 * 零位漂移合格判断依据:零位漂移合格判断依据:min0为示值基础值,min15、30、45、60的示值与mn0进行差值对比,差值小于等于最大允许误差绝对值(回程误差允许值:为最大允许误差绝对值(不带±))的1/2为合格
 * @param zeroDriftOneParam 0
 * @param zeroDriftTwoParam 15
 * @param zeroDriftThreeParam 30
 * @param zeroDriftFourParam 45
 * @param zeroDriftFiveParam 60
 * @param returnErrorParam 回程误差允许值(在输入值为:最大允许误差绝对值(不带±))
 * @returns String 合格/不合格
 */
export function useZeroDriftResult(zeroDriftOneParam: string, zeroDriftTwoParam: string, zeroDriftThreeParam: string, zeroDriftFourParam: string, zeroDriftFiveParam: string, returnErrorParam: string) {
  // 处理数据
  const zeroDriftOne = Number(zeroDriftOneParam)
  const zeroDriftTwo = Number(zeroDriftTwoParam)
  const zeroDriftThree = Number(zeroDriftThreeParam)
  const zeroDriftFour = Number(zeroDriftFourParam)
  const zeroDriftFive = Number(zeroDriftFiveParam)
  // 计算差值
  const zeroDriftTwoDiff = calc(zeroDriftTwo, zeroDriftOne, '-')
  const zeroDriftThreeDiff = calc(zeroDriftThree, zeroDriftOne, '-')
  const zeroDriftFourDiff = calc(zeroDriftFour, zeroDriftOne, '-')
  const zeroDriftFiveDiff = calc(zeroDriftFive, zeroDriftOne, '-')
  // 计算最大允许误差绝对值(回程误差允许值:为最大允许误差绝对值(不带±))的1/2
  const returnErrorHalf = calc(returnErrorParam, 2, '/')
  if (zeroDriftTwoDiff <= returnErrorHalf && zeroDriftThreeDiff <= returnErrorHalf
    && zeroDriftFourDiff <= returnErrorHalf && zeroDriftFiveDiff <= returnErrorHalf) {
    return '合格'
  }
  else {
    return '不合格'
  }
}