会员模块

This commit is contained in:
2023-12-15 17:53:08 +08:00
commit 2a998468d9
282 changed files with 14521 additions and 0 deletions

View File

@@ -0,0 +1,115 @@
// components/milliliter-input/milliliter-input.js
/** 附带输入框的数字拨盘自定义组件封装了milliliter自定义组件
* 在引用页面使用 this.selectComponent() 获取组件对象,调用 number 可获取组件值
* careate by DH.tab
* 2021/07/14
*/
Component({
/**
* 组件的属性列表
*/
properties: {
/** 最大值 */
max: { type: Number, value: 120 },
/** 最小值 */
min: { type: Number, value: 0 },
/** 值 */
value: { type: Number, value: 0 },
/** 单位名称 */
unitName: { type: String },
/** 单位值 */
unitVal: { type: String, value: '厘米' },
/** 是否精确到3位小数 */
float: { type: Boolean, value: false },
/** 是否不可为空 */
noEmpty: { type: Boolean, value: false },
},
/**
* 组件的初始数据
*/
data: {
number: 0,
isblur: true,
first: true
},
attached() {
if(this.data.unitName == '身高') {
this.setData({ number: 160 })
} else {
this.setData({ number: 65 })
}
},
/**
* 组件的方法列表
*/
methods: {
/** 数字拨盘值改变事件 */
changeNumber(e) {
if (this.data.first)
this.setData({ first: false })
else
this.setData({ number: e.detail })
},
// 文本框获得焦点
onNumberFocus(e) {
this.setData({ isblur: false })
},
// 文本框输入事件
onNumberInput(e) {
let val = e.detail.value
// 检查是否出现多个小数点
let a = val.toString().indexOf('.'),
b = val.toString().lastIndexOf('.'),
res = '';
if (a != b) {
let t = val.toString().split('')
t.splice(t.lastIndexOf('.'), 1)
res = t.join('')
this.setData({ number: res })
}
},
// 文本框失去焦点
onNumberBlur(e) {
let val = e.detail.value
// 检查输入值是否溢出上限或下限
if (parseInt(val) > this.data.max)
val = this.data.max
if (parseInt(val) < this.data.min)
val = this.data.min
// 检查是否需要保留2位小数
if (this.data.float) {
let t = val.toString().split('.')
if (t.length > 1 && t[1].length > 3)
val = `${t[0]}.${t[1].substr(0, 3)}`
this.setData({
value: parseFloat(val),
number: parseFloat(val)
})
} else {
let tmp = val.toString().split('.')
if (tmp.length > 1)
this.setData({
value: parseFloat(tmp[0] + '.' + tmp[1].substr(0, 1)),
number: parseFloat(tmp[0] + '.' + tmp[1].substr(0, 1))
})
else
this.setData({
value: parseFloat(val),
number: parseFloat(val)
})
}
this.setData({ isblur: true })
},
}
})