2024-10-13 11:24:45 +08:00
|
|
|
// pages/components/voucher-select/index.js
|
|
|
|
Component({
|
|
|
|
/**
|
|
|
|
* 组件的属性列表
|
|
|
|
*/
|
|
|
|
properties: {
|
2025-03-22 18:48:51 +08:00
|
|
|
columns: {
|
|
|
|
type: Array
|
2024-10-13 11:24:45 +08:00
|
|
|
},
|
2025-03-22 18:48:51 +08:00
|
|
|
placeholder: {
|
|
|
|
type: String
|
2024-10-13 11:24:45 +08:00
|
|
|
},
|
2025-03-22 18:48:51 +08:00
|
|
|
selectValue: {
|
|
|
|
type: String
|
2024-10-13 11:24:45 +08:00
|
|
|
},
|
2025-03-22 18:48:51 +08:00
|
|
|
selectIndex: {
|
|
|
|
type: String
|
2024-10-13 11:24:45 +08:00
|
|
|
},
|
2025-03-22 18:48:51 +08:00
|
|
|
background: {
|
|
|
|
type: String
|
2024-10-13 11:24:45 +08:00
|
|
|
},
|
2025-03-22 18:48:51 +08:00
|
|
|
value: {
|
|
|
|
type: String,
|
|
|
|
value: ""
|
2024-10-13 11:24:45 +08:00
|
|
|
}
|
|
|
|
},
|
|
|
|
/**数据监听 */
|
|
|
|
observers: {
|
2025-03-22 18:48:51 +08:00
|
|
|
columns: function (vals) {
|
|
|
|
if(vals.length>0){
|
2024-10-13 11:24:45 +08:00
|
|
|
this.setData({
|
2025-03-22 18:48:51 +08:00
|
|
|
item: []
|
2024-10-13 11:24:45 +08:00
|
|
|
})
|
2025-03-22 18:48:51 +08:00
|
|
|
let _vals = this.data.value;
|
|
|
|
if(_vals!='' && typeof _vals === 'number'){
|
|
|
|
for (let i = 0; i < vals.length; i++) {
|
|
|
|
if (_vals == columns[i].id) {
|
|
|
|
this.setData({
|
|
|
|
value: columns[i].text
|
|
|
|
})
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}else{
|
2024-10-13 11:24:45 +08:00
|
|
|
this.setData({
|
2025-03-22 18:48:51 +08:00
|
|
|
item: [],
|
|
|
|
value: ''
|
2024-10-13 11:24:45 +08:00
|
|
|
})
|
|
|
|
}
|
2025-03-22 18:48:51 +08:00
|
|
|
|
2024-10-13 11:24:45 +08:00
|
|
|
},
|
2025-03-22 18:48:51 +08:00
|
|
|
selectValue: function (val) {
|
2024-10-13 11:24:45 +08:00
|
|
|
let columns = this.data.columns;
|
2025-03-22 18:48:51 +08:00
|
|
|
if (val && columns) {
|
|
|
|
for (let i = 0; i < columns.length; i++) {
|
|
|
|
if (val == columns[i].id) {
|
|
|
|
val = columns[i].text;
|
2024-10-13 11:24:45 +08:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
this.setData({
|
2025-03-22 18:48:51 +08:00
|
|
|
value: val
|
2024-10-13 11:24:45 +08:00
|
|
|
})
|
|
|
|
},
|
2025-03-22 18:48:51 +08:00
|
|
|
selectIndex: function (val) {
|
2024-10-13 11:24:45 +08:00
|
|
|
this.setData({
|
2025-03-22 18:48:51 +08:00
|
|
|
index: val
|
2024-10-13 11:24:45 +08:00
|
|
|
})
|
|
|
|
}
|
|
|
|
},
|
|
|
|
lifetimes: {
|
2025-03-22 18:48:51 +08:00
|
|
|
created: function () {
|
2024-10-13 11:24:45 +08:00
|
|
|
//在组件实例刚刚被创建时执行,注意此时不能调用 setData
|
|
|
|
},
|
|
|
|
attached: function () {
|
2025-03-22 18:48:51 +08:00
|
|
|
//在组件实例进入页面节点树时执行
|
2024-10-13 11:24:45 +08:00
|
|
|
},
|
|
|
|
ready: function () {
|
2025-03-22 18:48:51 +08:00
|
|
|
// 在组件在视图层布局完成后执行
|
2024-10-13 11:24:45 +08:00
|
|
|
},
|
|
|
|
detached: function () {
|
2025-03-22 18:48:51 +08:00
|
|
|
// 在组件实例被从页面节点树移除时执行
|
2024-10-13 11:24:45 +08:00
|
|
|
},
|
2025-03-22 18:48:51 +08:00
|
|
|
|
2024-10-13 11:24:45 +08:00
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 组件的初始数据
|
|
|
|
*/
|
|
|
|
data: {
|
|
|
|
show: false,
|
2025-03-22 18:48:51 +08:00
|
|
|
item: '',
|
|
|
|
index: ''
|
2024-10-13 11:24:45 +08:00
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 组件的方法列表
|
|
|
|
*/
|
|
|
|
methods: {
|
|
|
|
showPopup() {
|
2025-03-22 18:48:51 +08:00
|
|
|
this.setData({
|
|
|
|
show: true
|
|
|
|
});
|
2024-10-13 11:24:45 +08:00
|
|
|
},
|
|
|
|
onClose() {
|
2025-03-22 18:48:51 +08:00
|
|
|
this.setData({
|
|
|
|
show: false
|
|
|
|
});
|
2024-10-13 11:24:45 +08:00
|
|
|
},
|
2025-03-22 18:48:51 +08:00
|
|
|
onSelectChange(e) {
|
2024-10-13 11:24:45 +08:00
|
|
|
this.setData({
|
2025-03-22 18:48:51 +08:00
|
|
|
item: e.detail.value
|
2024-10-13 11:24:45 +08:00
|
|
|
})
|
|
|
|
},
|
2025-03-22 18:48:51 +08:00
|
|
|
onConfirm() {
|
|
|
|
let _item = this.data.item;
|
|
|
|
if(_item.length==0){
|
|
|
|
_item = this.data.columns[0];
|
|
|
|
}
|
2024-10-13 11:24:45 +08:00
|
|
|
this.setData({
|
2025-03-22 18:48:51 +08:00
|
|
|
value: _item.text
|
2024-10-13 11:24:45 +08:00
|
|
|
})
|
2025-03-22 18:48:51 +08:00
|
|
|
this.triggerEvent('change', _item)
|
|
|
|
this.setData({
|
|
|
|
show: false
|
|
|
|
});
|
2024-10-13 11:24:45 +08:00
|
|
|
}
|
|
|
|
}
|
2025-03-22 18:48:51 +08:00
|
|
|
})
|