feat(equipment): 实现设备管理页面,新增运维模式与配对/补传弹框
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
3a67b26ed6
commit
eaec08a6e4
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"pages": [
|
"pages": [
|
||||||
"pages/data/data",
|
"pages/equipment/equipment",
|
||||||
"pages/login/login",
|
"pages/login/login",
|
||||||
"pages/supplementPersonal/supplementPersonal",
|
"pages/supplementPersonal/supplementPersonal",
|
||||||
"pages/connectedDevice/connectedDevice",
|
"pages/connectedDevice/connectedDevice",
|
||||||
"pages/connectedWifi/connectedWifi",
|
"pages/connectedWifi/connectedWifi",
|
||||||
"pages/home/home",
|
"pages/home/home",
|
||||||
"pages/equipment/equipment",
|
"pages/data/data",
|
||||||
"pages/my/my",
|
"pages/my/my",
|
||||||
"pages/personalInformation/personalInformation",
|
"pages/personalInformation/personalInformation",
|
||||||
"pages/helpCenter/helpCenter",
|
"pages/helpCenter/helpCenter",
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"component": true,
|
||||||
|
"usingComponents": {}
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
.equipment-mask {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background-color: rgba(37, 37, 53, 0.6);
|
||||||
|
z-index: 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
.equipment-panel {
|
||||||
|
position: fixed;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
width: 560rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
border-radius: 24rpx;
|
||||||
|
z-index: 101;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
padding: 100rpx 40rpx;
|
||||||
|
|
||||||
|
.equipment-title {
|
||||||
|
color: #252535;
|
||||||
|
height: 32rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
line-height: 32rpx;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.equipment-content {
|
||||||
|
color: #808080;
|
||||||
|
font-size: 24rpx;
|
||||||
|
line-height: 34rpx;
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 24rpx;
|
||||||
|
white-space: pre-line;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
Component({
|
||||||
|
properties: {
|
||||||
|
/** 是否显示弹框 */
|
||||||
|
show: {
|
||||||
|
type: Boolean,
|
||||||
|
value: false
|
||||||
|
},
|
||||||
|
/** 标题 */
|
||||||
|
title: {
|
||||||
|
type: String,
|
||||||
|
value: ''
|
||||||
|
},
|
||||||
|
/** 副标题(支持 \n 换行) */
|
||||||
|
content: {
|
||||||
|
type: String,
|
||||||
|
value: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
/** 点击遮罩关闭 */
|
||||||
|
onTapMask() {
|
||||||
|
this.triggerEvent('close')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<block wx:if="{{ show }}">
|
||||||
|
<view class="equipment-mask" bind:tap="onTapMask"></view>
|
||||||
|
<view class="equipment-panel">
|
||||||
|
<view class="equipment-title">{{ title }}</view>
|
||||||
|
<view class="equipment-content">{{ content }}</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 738 B |
Binary file not shown.
|
After Width: | Height: | Size: 105 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 510 B |
Binary file not shown.
|
After Width: | Height: | Size: 775 B |
Binary file not shown.
|
After Width: | Height: | Size: 880 B |
Binary file not shown.
|
After Width: | Height: | Size: 750 B |
@@ -1,5 +1,8 @@
|
|||||||
{
|
{
|
||||||
"usingComponents": {},
|
"usingComponents": {
|
||||||
"navigationBarTitleText": "black" ,
|
"equipment-dialog": "/components/equipmentDialog/equipmentDialog"
|
||||||
"navigationBarBackgroundColor": "#FFFFFF"
|
},
|
||||||
}
|
"navigationBarTitleText": "设备管理",
|
||||||
|
"navigationBarTextStyle": "black",
|
||||||
|
"navigationBarBackgroundColor": "#FFFFFF"
|
||||||
|
}
|
||||||
|
|||||||
@@ -1 +1,283 @@
|
|||||||
/* pages/equipment/equipment.wxss */
|
.equipment {
|
||||||
|
width: 100%;
|
||||||
|
min-height: 100%;
|
||||||
|
padding: 24rpx 32rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
background-color: #F5F7FB;
|
||||||
|
|
||||||
|
/* 运维模式提示行 */
|
||||||
|
.ops-bar {
|
||||||
|
width: 100%;
|
||||||
|
height: 48rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-bottom: 24rpx;
|
||||||
|
|
||||||
|
.ops-mode {
|
||||||
|
color: #1385FA;
|
||||||
|
height: 28rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
line-height: 28rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 描边按钮(蓝色/红色) */
|
||||||
|
.ops-btn {
|
||||||
|
width: 180rpx;
|
||||||
|
height: 48rpx;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
line-height: 44rpx;
|
||||||
|
text-align: center;
|
||||||
|
box-sizing: border-box;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ops-btn--blue {
|
||||||
|
border: 2rpx solid #1385FA;
|
||||||
|
color: #1385FA;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ops-btn--red {
|
||||||
|
border: 2rpx solid #F24439;
|
||||||
|
color: #F24439;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 顶部卡片(渐变背景 + 设备图片占位) */
|
||||||
|
.top-banner {
|
||||||
|
width: 100%;
|
||||||
|
height: 180rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
border-radius: 24rpx;
|
||||||
|
margin-bottom: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 已配对设备行 */
|
||||||
|
.section-bar {
|
||||||
|
width: 100%;
|
||||||
|
height: 48rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-bottom: 24rpx;
|
||||||
|
|
||||||
|
.section-left {
|
||||||
|
height: 28rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.bt-icon {
|
||||||
|
width: 28rpx;
|
||||||
|
height: 28rpx;
|
||||||
|
display: flex;
|
||||||
|
margin-right: 8rpx;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section-title {
|
||||||
|
color: #808080;
|
||||||
|
height: 26rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
|
line-height: 26rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 描边按钮(蓝色/红色) */
|
||||||
|
.ops-btn {
|
||||||
|
width: 180rpx;
|
||||||
|
height: 48rpx;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
line-height: 44rpx;
|
||||||
|
text-align: center;
|
||||||
|
box-sizing: border-box;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ops-btn--blue {
|
||||||
|
border: 2rpx solid #1385FA;
|
||||||
|
color: #1385FA;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ops-btn--red {
|
||||||
|
border: 2rpx solid #F24439;
|
||||||
|
color: #F24439;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 设备卡片 */
|
||||||
|
.device-card {
|
||||||
|
width: 100%;
|
||||||
|
padding: 32rpx;
|
||||||
|
border-radius: 24rpx;
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
box-sizing: border-box;
|
||||||
|
margin-bottom: 24rpx;
|
||||||
|
|
||||||
|
.device-top {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 24rpx;
|
||||||
|
|
||||||
|
.device-icon {
|
||||||
|
width: 88rpx;
|
||||||
|
height: 88rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
margin-right: 24rpx;
|
||||||
|
border-radius: 24rpx;
|
||||||
|
background-color: #1385FA;
|
||||||
|
}
|
||||||
|
|
||||||
|
.device-info {
|
||||||
|
flex: 1;
|
||||||
|
|
||||||
|
.device-info_ {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-bottom: 16rpx;
|
||||||
|
|
||||||
|
.device-name {
|
||||||
|
color: #252535;
|
||||||
|
height: 32rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
line-height: 32rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.device-unpair {
|
||||||
|
color: #77849E;
|
||||||
|
height: 26rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
|
line-height: 26rpx;
|
||||||
|
border-bottom: 2rpx solid #77849E;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.device-status {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
|
||||||
|
.device-status--connected {
|
||||||
|
height: 40rpx;
|
||||||
|
padding: 0 16rpx;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
align-items: center;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
background-color: #EAFAF6;
|
||||||
|
|
||||||
|
.status-dot {
|
||||||
|
width: 12rpx;
|
||||||
|
height: 12rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
background-color: #2AC79F;
|
||||||
|
margin-right: 8rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.status-text {
|
||||||
|
color: #2AC79F;
|
||||||
|
height: 22rpx;
|
||||||
|
font-size: 22rpx;
|
||||||
|
line-height: 22rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.device-meta {
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 24rpx;
|
||||||
|
border-bottom: 2rpx solid #EAECF1;
|
||||||
|
|
||||||
|
.meta-row {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-bottom: 24rpx;
|
||||||
|
|
||||||
|
.meta-label {
|
||||||
|
color: #808080;
|
||||||
|
height: 26rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
|
line-height: 26rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.meta-value {
|
||||||
|
color: #252535;
|
||||||
|
height: 26rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
|
line-height: 26rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.device-actions {
|
||||||
|
width: 100%;
|
||||||
|
gap: 12px;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
justify-content: space-around;
|
||||||
|
|
||||||
|
.device-action-btn {
|
||||||
|
flex: 1;
|
||||||
|
height: 56rpx;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
border-radius: 28rpx;
|
||||||
|
border: 2rpx solid #EAECF1;
|
||||||
|
|
||||||
|
> view:nth-of-type(1) {
|
||||||
|
width: 26rpx;
|
||||||
|
height: 26rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
> view:nth-of-type(2) {
|
||||||
|
color: #77849E;
|
||||||
|
height: 26rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
|
line-height: 26rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 添加设备按钮 */
|
||||||
|
.add-btn {
|
||||||
|
width: 100%;
|
||||||
|
height: 96rpx;
|
||||||
|
border-radius: 48rpx;
|
||||||
|
background-color: #1385FA;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
.add-icon {
|
||||||
|
width: 40rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-right: 16rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.add-text {
|
||||||
|
color: #FFFFFF;
|
||||||
|
height: 36rpx;
|
||||||
|
font-size: 36rpx;
|
||||||
|
font-weight: bolder;
|
||||||
|
line-height: 36rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,66 +1,79 @@
|
|||||||
// pages/equipment/equipment.ts
|
// pages/equipment/equipment.ts
|
||||||
Page({
|
Page({
|
||||||
|
|
||||||
/**
|
|
||||||
* 页面的初始数据
|
|
||||||
*/
|
|
||||||
data: {
|
data: {
|
||||||
|
devices: [
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
name: '家庭蓝牙体脂秤 S1',
|
||||||
|
status: '已连接',
|
||||||
|
connected: true,
|
||||||
|
model: 'BS-A100',
|
||||||
|
serial: 'BL2024A00158',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 2,
|
||||||
|
name: '家庭蓝牙体脂秤 S1',
|
||||||
|
status: '未连接',
|
||||||
|
connected: false,
|
||||||
|
model: 'BW-B200',
|
||||||
|
serial: 'BL2024B00321',
|
||||||
|
}
|
||||||
|
],
|
||||||
|
loadingShow: true,
|
||||||
|
loadingTitle: '',
|
||||||
|
loadingContent: ''
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/** 取消配对:使用小程序自带 showModal */
|
||||||
* 生命周期函数--监听页面加载
|
onTapUnpair() {
|
||||||
*/
|
wx.showModal({
|
||||||
onLoad() {
|
title: '取消配对',
|
||||||
|
content: '是否确认取消配对当前设备?',
|
||||||
|
cancelText: '取消',
|
||||||
|
confirmText: '确定',
|
||||||
|
confirmColor: '#F24439'
|
||||||
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/** 底部操作:数据补传 / 设备连接 弹 loading */
|
||||||
* 生命周期函数--监听页面初次渲染完成
|
onTapAction(e: WechatMiniprogram.TouchEvent) {
|
||||||
*/
|
const action = e.currentTarget.dataset.action as string
|
||||||
onReady() {
|
if (action === '数据补传') {
|
||||||
|
this.setData({
|
||||||
|
loadingShow: true,
|
||||||
|
loadingTitle: '正在获取设备本地未上传数据',
|
||||||
|
loadingContent: '请稍等...'
|
||||||
|
})
|
||||||
|
} else if (action === '设备连接') {
|
||||||
|
this.setData({
|
||||||
|
loadingShow: true,
|
||||||
|
loadingTitle: '正在连接设备',
|
||||||
|
loadingContent: '请确保设备处于开启状态\n请勿离开...'
|
||||||
|
})
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
onCloseLoading() {
|
||||||
* 生命周期函数--监听页面显示
|
this.setData({ loadingShow: false })
|
||||||
*/
|
|
||||||
onShow() {
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
onTapAdd() {
|
||||||
* 生命周期函数--监听页面隐藏
|
// 添加设备(待接入)
|
||||||
*/
|
|
||||||
onHide() {
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/** 关闭运维模式 */
|
||||||
* 生命周期函数--监听页面卸载
|
onCloseOps() {
|
||||||
*/
|
// 关闭运维模式(待接入)
|
||||||
onUnload() {
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/** 取消全部配对 */
|
||||||
* 页面相关事件处理函数--监听用户下拉动作
|
onUnpairAll() {
|
||||||
*/
|
wx.showModal({
|
||||||
onPullDownRefresh() {
|
title: '取消全部配对',
|
||||||
|
content: '是否确认取消全部设备的配对?',
|
||||||
},
|
cancelText: '取消',
|
||||||
|
confirmText: '确定',
|
||||||
/**
|
confirmColor: '#F24439'
|
||||||
* 页面上拉触底事件的处理函数
|
})
|
||||||
*/
|
|
||||||
onReachBottom() {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 用户点击右上角分享
|
|
||||||
*/
|
|
||||||
onShareAppMessage() {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,2 +1,86 @@
|
|||||||
<!--pages/equipment/equipment.wxml-->
|
<view class="equipment">
|
||||||
<text>pages/equipment/equipment.wxml</text>
|
<!-- 运维模式提示行 -->
|
||||||
|
<view class="ops-bar">
|
||||||
|
<view class="ops-mode">当前为:运维模式</view>
|
||||||
|
<view class="ops-btn ops-btn--blue" bind:tap="onCloseOps">关闭运维模式</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 顶部卡片(渐变背景 + 设备图片占位) -->
|
||||||
|
<view class="top-banner">
|
||||||
|
<image src="/images/equipment/bg.png" />
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 已配对设备行 -->
|
||||||
|
<view class="section-bar">
|
||||||
|
<view class="section-left">
|
||||||
|
<view class="bt-icon">
|
||||||
|
<image src="/images/equipment/bluetooth.png" />
|
||||||
|
</view>
|
||||||
|
<view class="section-title">已配对设备</view>
|
||||||
|
</view>
|
||||||
|
<view class="ops-btn ops-btn--red" bind:tap="onUnpairAll">取消全部配对</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 设备列表 -->
|
||||||
|
<block wx:for="{{ devices }}" wx:key="id">
|
||||||
|
<view class="device-card">
|
||||||
|
<view class="device-top">
|
||||||
|
<view class="device-icon"></view>
|
||||||
|
<view class="device-info">
|
||||||
|
<view class="device-info_">
|
||||||
|
<view class="device-name">{{ item.name }}</view>
|
||||||
|
<view class="device-unpair" bind:tap="onTapUnpair">取消配对</view>
|
||||||
|
</view>
|
||||||
|
<view class="device-status">
|
||||||
|
<view class="device-status--connected">
|
||||||
|
<view class="status-dot"></view>
|
||||||
|
<view class="status-text">{{ item.status }}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="device-meta">
|
||||||
|
<view class="meta-row">
|
||||||
|
<view class="meta-label">型号</view>
|
||||||
|
<view class="meta-value">{{ item.model }}</view>
|
||||||
|
</view>
|
||||||
|
<view class="meta-row">
|
||||||
|
<view class="meta-label">设备编号</view>
|
||||||
|
<view class="meta-value">{{ item.serial }}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="device-actions">
|
||||||
|
<view class="device-action-btn">
|
||||||
|
<view>
|
||||||
|
<image src="/images/equipment/wifi.png" />
|
||||||
|
</view>
|
||||||
|
<view>设备WIFI</view>
|
||||||
|
</view>
|
||||||
|
<view class="device-action-btn">
|
||||||
|
<view>
|
||||||
|
<image src="/images/equipment/users.png" />
|
||||||
|
</view>
|
||||||
|
<view>用户(4)</view>
|
||||||
|
</view>
|
||||||
|
<view class="device-action-btn">
|
||||||
|
<view>
|
||||||
|
<image src="/images/equipment/reload.png" />
|
||||||
|
</view>
|
||||||
|
<view>数据补传</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
|
||||||
|
<!-- 添加设备按钮 -->
|
||||||
|
<view class="add-btn" bind:tap="onTapAdd">
|
||||||
|
<view class="add-icon">
|
||||||
|
<image src="/images/addBtn.png" />
|
||||||
|
</view>
|
||||||
|
<view class="add-text">添加设备</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<equipment-dialog show="{{ loadingShow }}" title="{{ loadingTitle }}" content="{{ loadingContent }}" bind:close="onCloseLoading" />
|
||||||
|
</view>
|
||||||
|
|||||||
Reference in New Issue
Block a user