97 lines
2.6 KiB
JavaScript
97 lines
2.6 KiB
JavaScript
export default OakComponent({
|
|
entity: 'mobile',
|
|
isList: true,
|
|
projection: {
|
|
id: 1,
|
|
mobile: 1,
|
|
userId: 1,
|
|
ableState: 1,
|
|
},
|
|
filters: [
|
|
{
|
|
filter() {
|
|
// const token = this.features.token.getToken();
|
|
const userId = this.features.token.getUserId();
|
|
return {
|
|
userId,
|
|
};
|
|
},
|
|
},
|
|
],
|
|
formData: ({ data: mobiles, features }) => {
|
|
const token = features.token.getToken();
|
|
const tokenMobileId = token.entity === 'mobile' && token.entityId;
|
|
return {
|
|
tokenMobileId,
|
|
mobiles,
|
|
allowRemove: mobiles.length > 1,
|
|
};
|
|
},
|
|
data: {
|
|
confirmDeleteModalVisible: false,
|
|
refreshing: false,
|
|
deleteIdx: undefined,
|
|
},
|
|
properties: {
|
|
showBack: false,
|
|
},
|
|
methods: {
|
|
async onRefreshMobile(e) {
|
|
this.setState({
|
|
refreshing: true,
|
|
});
|
|
try {
|
|
const { code, errMsg } = e.detail;
|
|
if (errMsg !== 'getPhoneNumber:ok') {
|
|
console.error(errMsg);
|
|
this.setMessage({
|
|
title: '获取手机号失败',
|
|
type: 'warning',
|
|
});
|
|
}
|
|
else {
|
|
await this.features.token.getWechatMpUserPhoneNumber(code);
|
|
}
|
|
}
|
|
catch (err) {
|
|
console.error(err);
|
|
}
|
|
this.setState({
|
|
refreshing: false,
|
|
});
|
|
},
|
|
goAddMobile() {
|
|
const eventLoggedIn = `mobile:me:login:${Date.now()}`;
|
|
this.subEvent(eventLoggedIn, () => {
|
|
this.navigateBack();
|
|
});
|
|
this.navigateTo({
|
|
url: '/mobile/login',
|
|
eventLoggedIn,
|
|
});
|
|
},
|
|
async onRemoveConfirm() {
|
|
const { mobileId } = this.state;
|
|
this.removeItem(mobileId);
|
|
await this.execute();
|
|
this.setState({
|
|
confirmDeleteModalVisible: false,
|
|
mobileId: '',
|
|
});
|
|
},
|
|
onRemoveModalOpen(e) {
|
|
const mobileId = e.currentTarget.dataset.id;
|
|
this.setState({
|
|
confirmDeleteModalVisible: true,
|
|
mobileId,
|
|
});
|
|
},
|
|
onRemoveModalClose() {
|
|
this.setState({
|
|
confirmDeleteModalVisible: false,
|
|
mobileId: '',
|
|
});
|
|
},
|
|
},
|
|
});
|