版本更新
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
import { bodyTemperature, TOP_KEYS, HEAD_HEIGHT, LINE_HEIGHT } from './config'
|
||||
|
||||
export default class viewConfig {
|
||||
constructor({
|
||||
width = 640, // outer width, in pixels
|
||||
height = 400, // outer height, in pixels
|
||||
marginTop = 20, // top margin, in pixels
|
||||
marginRight = 20, // right margin, in pixels
|
||||
marginBottom = 50, // bottom margin, in pixels
|
||||
marginLeft = 30, // left margin, in pixels
|
||||
stroke = 'currentColor', // stroke color of line and dots
|
||||
strokeWidth = 2, // stroke width of line and dots
|
||||
strokeLinecap = 'round', // stroke line cap of line
|
||||
strokeLinejoin = 'round', // stroke line join of line
|
||||
renderData
|
||||
} = {}) {
|
||||
// 基础配置赋值
|
||||
this.width = width
|
||||
this.height = height
|
||||
this.stroke = stroke
|
||||
this.strokeWidth = strokeWidth
|
||||
this.strokeLinecap = strokeLinecap
|
||||
this.renderData = renderData
|
||||
this.strokeLinejoin = strokeLinejoin
|
||||
this.marginRight = marginRight
|
||||
this.marginLeft = marginLeft
|
||||
this.marginBottom = marginBottom
|
||||
this.marginTop = marginTop
|
||||
// 计算属性赋值
|
||||
this.contentWidth = width - marginLeft - marginRight
|
||||
this.step = this.contentWidth / 8
|
||||
this.bottomPos = height - HEAD_HEIGHT - marginTop - (marginBottom - 30) // 底部坐标,30是因为默认的30,忘记计算了,后续的按照30的偏移量计算
|
||||
this.tableHeight = height - marginBottom - HEAD_HEIGHT
|
||||
const { micoStep, verticalHeight } = this.utilsGetMicoPos(
|
||||
this.step,
|
||||
this.bottomPos
|
||||
)
|
||||
this.micoStep = micoStep
|
||||
this.verticalHeight = verticalHeight
|
||||
this.X_OFFSET = micoStep / 2 // 为了让图标在小格子居中展示,需要进行一个偏移
|
||||
this.xRange = [this.step, width - marginLeft - marginRight] // [60, 860]
|
||||
this.topPos = marginTop + HEAD_HEIGHT
|
||||
this.topKeysPos = LINE_HEIGHT * (TOP_KEYS.length + 1) // 1 是时间那一行
|
||||
this.bottomKeysPosStart = this.topKeysPos + verticalHeight + 20
|
||||
this.yRange = [this.bottomKeysPosStart - 20, this.topKeysPos]
|
||||
}
|
||||
|
||||
// 获取折线区域的高度
|
||||
utilsGetMicoPos(step, botpos) {
|
||||
const micoStep = (step * 7) / 42 // 折线小格子的宽度
|
||||
const verticalLength = bodyTemperature[1] - bodyTemperature[0] // 根据体温来计算格子
|
||||
const verticalHeight = micoStep * 5 * verticalLength
|
||||
return {
|
||||
micoStep,
|
||||
verticalHeight
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user