Newer
Older
xc-business-system / src / views / business / taskMeasure / measureData / components / second / caculate.ts
import { calc } from '@/utils/useCalc'
/**
 * 计算最大允许误差
 * @param type 公式类型
 * 1 ±准确度a*指针式仪表满量程值
 * 2 ±(a * 被检表示值 + b * 分辨力)
 * 3 ±(a * 被检表示值 + 常数b)
 */
export default function useCaculate(
  type: string,
  data: {
    accuracyA: number // 准确度a
    fullScaleValue: number // 指针式仪表满量程值
    errorParamA: number // 误差参数a
    errorParamB: number // 误差参数b
    measureIndicationValue: number // 被检表示值
    resolution: number // 分辨力
  },
) {
  console.log('获取到的计算数据', data)

  const accuracyA = Number(data.accuracyA) // 准确度a
  const fullScaleValue = Number(data.fullScaleValue) // 指针式仪表满量程值
  const errorParamA = Number(data.errorParamA) // 误差参数
  const errorParamB = Number(data.errorParamB) // 误差参数b
  const measureIndicationValue = Number(data.measureIndicationValue) // 被检表示值
  const resolution = Number(data.resolution) // 分辨力
  switch (type) {
    case '1':
      console.log('1的计算结果:', calc(accuracyA, fullScaleValue, '*'))
      return calc(accuracyA, fullScaleValue, '*')
      break
    case '2':
      console.log('2的计算结果:', calc(calc(errorParamA, measureIndicationValue, '*'), calc(errorParamB, resolution, '*'), '+'))
      return calc(calc(errorParamA, measureIndicationValue, '*'), calc(errorParamB, resolution, '*'), '+')
      break
    case '3':
      console.log('3的计算结果:', calc(calc(errorParamA, measureIndicationValue, '*'), errorParamB, '+'))
      return calc(calc(errorParamA, measureIndicationValue, '*'), errorParamB, '+')
      break
  }
}