You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
2.6 KiB
113 lines
2.6 KiB
const app = getApp<IAppOption>() |
|
import { calc } from 'a-calc' |
|
|
|
Page({ |
|
data: { |
|
injectionDate: '', |
|
injectionWeight: '', |
|
|
|
injectionDrugs: '', |
|
injectionNum: '', |
|
}, |
|
onLoad() { |
|
app.waitLogin({ type: 1 }).then(() => { |
|
app.mpBehavior({ PageName: 'PG_BBMH901INFUSIONLOG_VISIT' }) |
|
this.getDetail() |
|
}) |
|
}, |
|
handleInput(e) { |
|
const { key, length } = e.currentTarget.dataset |
|
const value = e.detail.value |
|
this.setData({ |
|
[`${key}`]: this.validateInput(value, length), |
|
}) |
|
}, |
|
validateInput(val, integerLimit) { |
|
let num = val.toString() |
|
// 清除“数字”和“.”以外的字符 |
|
num = num.replace(/[^\d.]/g, '') |
|
// 只保留第一个.,清除多余的 |
|
num = num.replace(/\.{2,}/g, '.') |
|
// 限制整数位位数 |
|
const index = num.indexOf('.') |
|
if (index !== -1) { |
|
num = num.slice(0, index + integerLimit + 1) |
|
} else { |
|
num = num.slice(0, integerLimit) |
|
} |
|
// 限制小数位位数 |
|
const decimalIndex = num.indexOf('.') |
|
if (decimalIndex !== -1) { |
|
num = num.slice(0, decimalIndex + 3) |
|
} |
|
return num |
|
}, |
|
handleWeight(e) { |
|
const value = e.detail.value |
|
if (value) { |
|
const injectionDrugs = calc(`${value} * 1.25 | =0 ~+`) |
|
const injectionNum = calc(`${value} * 1.25 / 2 | =0 ~+`) |
|
this.setData({ |
|
injectionDrugs, |
|
injectionNum, |
|
}) |
|
} |
|
}, |
|
handleChangeDate(e) { |
|
const value = e.detail.value |
|
wx.ajax({ |
|
method: 'POST', |
|
url: '?r=wtx/treatment/save-injection-date', |
|
data: { |
|
injectionDate: value, |
|
}, |
|
}).then((res) => { |
|
console.log('res: ', res) |
|
}) |
|
}, |
|
getDetail() { |
|
wx.ajax({ |
|
method: 'GET', |
|
url: '?r=wtx/treatment/get-injection-info', |
|
data: {}, |
|
}).then((res) => { |
|
this.setData({ |
|
...res, |
|
injectionDate: res.injectionDate || '', |
|
}) |
|
}) |
|
}, |
|
handleBack() { |
|
app.mpBehavior({ PageName: 'BTN_BBMH901INFUSIONLOG_CANCELBUTTON_CLICK' }) |
|
wx.navigateBack() |
|
}, |
|
handleSubmit() { |
|
app.mpBehavior({ PageName: 'BTN_SUBMITBUTTON_CLICK' }) |
|
const { injectionDate, injectionWeight } = this.data |
|
if (!injectionDate) { |
|
wx.showToast({ |
|
title: '请选择输注时间', |
|
icon: 'none', |
|
}) |
|
return |
|
} |
|
if (!injectionWeight) { |
|
wx.showToast({ |
|
title: '请输入体重', |
|
icon: 'none', |
|
}) |
|
return |
|
} |
|
wx.ajax({ |
|
method: 'POST', |
|
url: '?r=wtx/treatment/save-injection-info', |
|
data: { |
|
injectionWeight, |
|
}, |
|
}).then(() => { |
|
wx.navigateBack() |
|
}) |
|
}, |
|
}) |
|
|
|
export {}
|
|
|