Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
schedule
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fengzhaoyu
schedule
Commits
bdefa7ba
Commit
bdefa7ba
authored
Apr 03, 2020
by
fengzhaoyu
Browse files
Options
Browse Files
Download
Plain Diff
合并冲突
parents
d485a614
70a88dba
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
144 additions
and
167 deletions
+144
-167
myDynamic.acss
PageComponents/myDynamic/myDynamic.acss
+1
-32
myDynamic.axml
PageComponents/myDynamic/myDynamic.axml
+5
-11
myDynamic.js
PageComponents/myDynamic/myDynamic.js
+7
-44
scheduleList.acss
PageComponents/scheduleList/scheduleList.acss
+1
-0
scheduleList.js
PageComponents/scheduleList/scheduleList.js
+53
-46
meetingTimePicker.acss
components/meetingTimePicker/meetingTimePicker.acss
+1
-0
swipe.js
components/swipe/swipe.js
+1
-0
index.acss
pages/index/index.acss
+13
-4
index.axml
pages/index/index.axml
+3
-3
index.js
pages/index/index.js
+10
-2
meetingDetail.acss
pages/meetingDetail/meetingDetail.acss
+4
-19
meetingDetail.axml
pages/meetingDetail/meetingDetail.axml
+2
-5
exampleStore.js
stores/exampleStore.js
+3
-1
index.acss
template/affairBlank/index.acss
+28
-0
index.axml
template/affairBlank/index.axml
+12
-0
No files found.
PageComponents/myDynamic/myDynamic.acss
View file @
bdefa7ba
@import "../../template/affairBlank/index.acss";
.dynamicBox {
height: 100vh;
width: 100%;
...
...
@@ -148,37 +149,6 @@
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.noDate>view {
display: flex;
flex-direction: column;
align-items: center;
margin-top: -116rpx;
}
.noDate image {
width: 280rpx;
height: 290rpx;
display: block;
}
.noDateTitle {
margin: 56rpx 0 24rpx 0;
font-size: 32rpx;
color: #191F25;
letter-spacing: 0;
text-align: center;
line-height: 32rpx;
}
.noDateTip {
font-size: 28rpx;
width: 524rpx;
color: rgba(25, 31, 37, 0.40);
letter-spacing: 0;
text-align: center;
line-height: 1.5;
}
\ No newline at end of file
PageComponents/myDynamic/myDynamic.axml
View file @
bdefa7ba
<import src="../../template/affairBlank/index.axml"/>
<scroll-view a:if="{{dynamicList.length !== 0}}" scroll-y="{{true}}" class="dynamicBox" onScrollToLower="onScrollToLower">
<view class="dynamicList">
<swipe rightWidth="{{ 78 }}" leftWidth="{{ 0 }}" a:for="{{dynamicList}}" class="dynamicContent">
...
...
@@ -13,8 +14,8 @@
<block a:for="{{item.meetingLogDataList.slice(0,2)}}" a:for-item="dynamicItem">
<view class="userDynamic">
<view class="dynamicTime">
<text>{{dynamicItem.c
reatorInfo.username}}更新了{{dynamicItem.category == 2 ? '文件' : '任务'
}}</text>
<text>{{createTime}}</text>
<text>{{dynamicItem.c
ontent
}}</text>
<text>{{
dynamicItem.
createTime}}</text>
</view>
<file-list a:if="{{dynamicItem.category === '2'}}" fileView="{{dynamicItem.meetingLogResource}}" isCanEdit="{{false}}"/>
<view class="dynamicFile" a:if="{{dynamicItem.category === '3'}}">
...
...
@@ -30,13 +31,5 @@
</view>
</scroll-view>
<view class="noDate" a:else>
<view>
<image mode="widthFix" src="../../assests/noDynamic.png"/>
<view class="noDateTitle">
展示安排的所有动态
</view>
<view class="noDateTip">
实时同步所有事件的最新动态,便于随时处理工作内容
</view>
</view>
<template is="affair-placeholder" data="{{title: '展示安排的所有动态', tip: '实时同步所有事件的最新动态,便于随时处理工作内容'}}"/>
</view>
\ No newline at end of file
PageComponents/myDynamic/myDynamic.js
View file @
bdefa7ba
...
...
@@ -21,8 +21,8 @@ Component({
didMount
()
{
this
.
getPages
(
1
);
},
didUpdate
()
{
},
didUnmount
()
{
},
didUpdate
()
{},
didUnmount
()
{},
methods
:
{
getPages
(
current
)
{
let
that
=
this
;
...
...
@@ -47,6 +47,11 @@ Component({
item
.
meetingLogDataList
[
i
].
creatorInfo
);
}
if
(
item
.
meetingLogDataList
[
i
].
createTime
)
{
item
.
meetingLogDataList
[
i
].
createTime
=
dealFileTime
(
item
.
meetingLogDataList
[
i
].
createTime
);
}
let
itemData
=
item
.
meetingLogDataList
[
i
].
meetingLogResource
;
if
(
itemData
)
{
if
(
itemData
.
taskInfos
||
itemData
.
fileInfos
)
{
...
...
@@ -95,48 +100,6 @@ Component({
}
});
},
// touchstart(e) {
// this.setData({
// startX: e.changedTouches[0].clientX,
// startY: e.changedTouches[0].clientY,
// isTouchMove: this.data.isTouchMove
// ? !this.data.isTouchMove
// : this.data.isTouchMove
// });
// },
// touchmove(e) {
// var that = this,
// startX = that.data.startX, //开始X坐标
// startY = that.data.startY, //开始Y坐标
// touchMoveX = e.changedTouches[0].clientX, //滑动变化坐标
// touchMoveY = e.changedTouches[0].clientY, //滑动变化坐标
// //获取滑动角度
// angle = that.angle(
// { X: startX, Y: startY },
// { X: touchMoveX, Y: touchMoveY }
// );
// var isTouchMove;
// //滑动超过30度角 return
// if (Math.abs(angle) > 30) return;
// if (touchMoveX > startX) {
// //右滑
// isTouchMove = false;
// } else {
// //左滑
// isTouchMove = true;
// }
// //更新数据
// that.setData({
// isTouchMove: isTouchMove,
// touchMoveId: e.currentTarget.dataset.id
// });
// },
// angle(start, end) {
// var _X = end.X - start.X,
// _Y = end.Y - start.Y;
// //返回角度 /Math.atan()返回数字的反正切值
// return (360 * Math.atan(_Y / _X)) / (2 * Math.PI);
// },
changeCollection
(
e
)
{
let
that
=
this
;
let
index
=
e
.
target
.
dataset
.
index
;
...
...
PageComponents/scheduleList/scheduleList.acss
View file @
bdefa7ba
...
...
@@ -161,6 +161,7 @@
.month {
padding: 0 32rpx;
height: 48rpx;
font-size: 48rpx;
line-height: 48rpx;
margin-bottom: 50rpx;
font-weight: bold;
...
...
PageComponents/scheduleList/scheduleList.js
View file @
bdefa7ba
...
...
@@ -28,11 +28,6 @@ create.Component({
props
:
{},
didMount
()
{
this
.
getDate
();
let
userMsg
=
{
headUrl
:
getApp
().
globalData
.
avatar
||
""
,
userName
:
getApp
().
globalData
.
name
};
console
.
log
(
userMsg
);
this
.
setData
({
userMsg
:
{
headUrl
:
getApp
().
globalData
.
avatar
||
""
,
...
...
@@ -46,6 +41,9 @@ create.Component({
this
.
update
();
this
.
getDate
();
}
if
(
!
this
.
props
.
update
&&
this
.
$store
.
data
.
isLocation
)
{
this
.
changeLocation
();
}
},
didUnmount
()
{
},
methods
:
{
...
...
@@ -130,15 +128,7 @@ create.Component({
this
.
data
.
response
.
templateList
.
map
(
item
=>
{
// TO DO 判断所获取的时间区间
// 将会议的年,月,日拆分,时分拆分,生成rrules规则
let
initialTime
=
item
.
initialTime
.
split
(
"-"
);
//
// <<<<<<< HEAD
// let initialTimeDate = new Date(parseInt(initialTime[0]), parseInt(initialTime[1]) - 1, parseInt(initialTime[2]));
// initialTimeDate.setDate(initialTimeDate.getDate() - 1)
// console.log(initialTimeDate.toLocaleDateString())
// let initialTimeDateyear = initialTimeDate.getFullYear()
// let initialTimeDatemonth = initialTimeDate.getMonth() + 1 < 10 ? '0' + (initialTimeDate.getMonth() + 1) : initialTimeDate.getMonth() + 1
// let initialTimeDateday = initialTimeDate.getDate() < 10 ? '0' + initialTimeDate.getDate() : initialTimeDate.getDate()
// =======
let
initialTime
=
item
.
initialTime
.
split
(
"-"
);
let
initialTimeDate
=
new
Date
(
parseInt
(
initialTime
[
0
]),
parseInt
(
initialTime
[
1
])
-
1
,
...
...
@@ -231,11 +221,15 @@ create.Component({
}
else
if
(
item
.
scheduleTemplateId
&&
scheduleMap
.
get
(
`
${
item
.
planDate
.
replace
(
/-/g
,
"/"
)}
/
${
item
.
scheduleTemplateId
}
`
`
${
new
Date
(
item
.
planDate
.
replace
(
/-/g
,
"/"
)
).
toLocaleDateString
()}
/
${
item
.
scheduleTemplateId
}
`
)
)
{
scheduleMap
.
set
(
`
${
item
.
planDate
.
replace
(
/-/g
,
"/"
)}
/
${
item
.
scheduleTemplateId
}
`
,
`
${
new
Date
(
item
.
planDate
.
replace
(
/-/g
,
"/"
)
).
toLocaleDateString
()}
/
${
item
.
scheduleTemplateId
}
`
,
item
);
}
...
...
@@ -379,8 +373,9 @@ create.Component({
});
let
thisDay
=
new
Date
().
toLocaleDateString
();
DateMap
.
forEach
(
function
(
value
,
key
,
map
)
{
const
keyDate
=
new
Date
(
key
);
if
(
new
Date
(
key
)
.
getDay
()
===
0
&&
keyDate
.
getDay
()
===
0
&&
that
.
count
(
key
,
new
Date
(
year
,
0
,
isLeapYear
?
366
:
365
).
toLocaleDateString
()
...
...
@@ -388,15 +383,15 @@ create.Component({
)
{
listWeek
=
listWeek
+
1
;
// 有此月份
if
(
new
Date
(
key
)
.
getMonth
()
!==
listMonth
)
{
listMonth
=
new
Date
(
key
)
.
getMonth
();
if
(
keyDate
.
getMonth
()
!==
listMonth
)
{
listMonth
=
keyDate
.
getMonth
();
DateList
.
push
({
type
:
"month"
,
value
:
new
Date
(
key
)
.
getMonth
()
+
1
value
:
keyDate
.
getMonth
()
+
1
});
let
rangeYear1
=
new
Date
(
key
)
.
getFullYear
();
let
rangeMonth1
=
new
Date
(
key
)
.
getMonth
();
let
rangeDay1
=
new
Date
(
key
)
.
getDate
();
let
rangeYear1
=
keyDate
.
getFullYear
();
let
rangeMonth1
=
keyDate
.
getMonth
();
let
rangeDay1
=
keyDate
.
getDate
();
let
rangeDate
=
new
Date
(
rangeYear1
,
rangeMonth1
,
rangeDay1
+
6
);
let
rangeMonth2
=
new
Date
(
rangeDate
).
getMonth
();
let
rangeDay2
=
new
Date
(
rangeDate
).
getDate
();
...
...
@@ -410,9 +405,9 @@ create.Component({
}
// 没有此月份
else
{
let
rangeYear1
=
new
Date
(
key
)
.
getFullYear
();
let
rangeMonth1
=
new
Date
(
key
)
.
getMonth
();
let
rangeDay1
=
new
Date
(
key
)
.
getDate
();
let
rangeYear1
=
keyDate
.
getFullYear
();
let
rangeMonth1
=
keyDate
.
getMonth
();
let
rangeDay1
=
keyDate
.
getDate
();
let
rangeDate
=
new
Date
(
rangeYear1
,
rangeMonth1
,
rangeDay1
+
6
);
let
rangeMonth2
=
new
Date
(
rangeDate
).
getMonth
();
let
rangeDay2
=
new
Date
(
rangeDate
).
getDate
();
...
...
@@ -425,15 +420,12 @@ create.Component({
});
}
}
else
if
(
new
Date
(
key
).
getDay
()
===
0
&&
that
.
count
(
new
Date
(
key
),
new
Date
(
year
,
0
,
isLeapYear
?
366
:
365
)
<
7
)
keyDate
.
getDay
()
===
0
&&
that
.
count
(
keyDate
,
new
Date
(
year
,
0
,
isLeapYear
?
366
:
365
)
<
7
)
)
{
let
rangeYear1
=
new
Date
(
key
)
.
getFullYear
();
let
rangeMonth1
=
new
Date
(
key
)
.
getMonth
();
let
rangeDay1
=
new
Date
(
key
)
.
getDate
();
let
rangeYear1
=
keyDate
.
getFullYear
();
let
rangeMonth1
=
keyDate
.
getMonth
();
let
rangeDay1
=
keyDate
.
getDate
();
let
rangeDate
=
new
Date
(
rangeYear1
,
rangeMonth1
,
rangeDay1
+
6
);
let
rangeMonth2
=
new
Date
(
rangeDate
).
getMonth
();
let
rangeDay2
=
new
Date
(
rangeDate
).
getDate
();
...
...
@@ -454,10 +446,10 @@ create.Component({
value
:
{
value
:
value
.
scheduleList
,
day
:
new
Date
(
key
)
.
getDate
()
<
10
?
"0"
+
new
Date
(
key
)
.
getDate
()
:
new
Date
(
key
)
.
getDate
(),
week
:
weekList
[
new
Date
(
key
)
.
getDay
()]
keyDate
.
getDate
()
<
10
?
"0"
+
keyDate
.
getDate
()
:
keyDate
.
getDate
(),
week
:
weekList
[
keyDate
.
getDay
()]
}
});
}
...
...
@@ -468,10 +460,10 @@ create.Component({
value
:
{
value
:
value
.
scheduleList
,
day
:
new
Date
(
key
)
.
getDate
()
<
10
?
"0"
+
new
Date
(
key
)
.
getDate
()
:
new
Date
(
key
)
.
getDate
(),
week
:
weekList
[
new
Date
(
key
)
.
getDay
()],
keyDate
.
getDate
()
<
10
?
"0"
+
keyDate
.
getDate
()
:
keyDate
.
getDate
(),
week
:
weekList
[
keyDate
.
getDay
()],
dateStr
:
key
}
});
...
...
@@ -482,10 +474,10 @@ create.Component({
value
:
{
value
:
value
.
scheduleList
,
day
:
new
Date
(
key
)
.
getDate
()
<
10
?
"0"
+
new
Date
(
key
)
.
getDate
()
:
new
Date
(
key
)
.
getDate
(),
week
:
weekList
[
new
Date
(
key
)
.
getDay
()],
keyDate
.
getDate
()
<
10
?
"0"
+
keyDate
.
getDate
()
:
keyDate
.
getDate
(),
week
:
weekList
[
keyDate
.
getDay
()],
dateStr
:
key
}
});
...
...
@@ -514,6 +506,21 @@ create.Component({
},
nextPage
()
{
dd
.
navigateTo
({
url
:
"./../createMeeting/createMeeting"
});
},
changeLocation
()
{
this
.
setData
(
{
todayStr
:
""
},
()
=>
{
this
.
setData
({
todayStr
:
new
Date
().
toLocaleDateString
()
});
this
.
$store
.
data
.
isLocation
=
false
;
this
.
update
();
console
.
log
(
"更新完毕"
);
}
);
}
}
});
components/meetingTimePicker/meetingTimePicker.acss
View file @
bdefa7ba
...
...
@@ -35,6 +35,7 @@ picker-view .column {
border-radius: 8rpx;
margin-right: 24rpx;
box-sizing: border-box;
border: 2rpx solid transparent;
}
.tab>view>text {
...
...
components/swipe/swipe.js
View file @
bdefa7ba
...
...
@@ -37,6 +37,7 @@ Component({
},
methods
:
{
close
:
function
()
{
this
.
dragging
=
false
;
this
.
swipeMove
(
0
);
},
destroyed
:
function
()
{
...
...
pages/index/index.acss
View file @
bdefa7ba
...
...
@@ -28,7 +28,7 @@
.createMeeting {
position: absolute;
left: 50%;
top:
4
rpx;
top:
8
rpx;
font-size: 32rpx;
border-radius: 50%;
height: 84rpx;
...
...
@@ -50,10 +50,19 @@
.tabBarView {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
height: 116rpx;
justify-content: center;
}
.tabBarView1 {
padding-left: 140rpx;
align-items: flex-start;
}
.tabBarView2 {
padding-right: 140rpx;
align-items: flex-end;
}
.tabBarView>view {
...
...
@@ -84,7 +93,7 @@
.iconicon_days {
position: absolute;
left: 5rpx;
top:
5
rpx;
top:
8
rpx;
font-size: 30rpx;
}
...
...
pages/index/index.axml
View file @
bdefa7ba
...
...
@@ -5,18 +5,18 @@
</my-dynamic>
</view>
<view a:if="{{tabBarIndex === '1'}}">
<my-schedule update="{{$data.indexNeedUpdate}}">
<my-schedule
isLocation="{{isLocation}}"
update="{{$data.indexNeedUpdate}}">
</my-schedule>
</view>
<view class="tabBar">
<view onTap="changeTabBar" data-tabbar='0'>
<view class="tabBarView {{tabBarIndex === '0' ? 'ischooseTabBar' : ''}}">
<view class="tabBarView
tabBarView1
{{tabBarIndex === '0' ? 'ischooseTabBar' : ''}}">
<view class="iconfont iconicon_dynamic"></view>
<view>动态</view>
</view>
</view>
<view onTap="changeTabBar" data-tabbar='1'>
<view class="tabBarView {{tabBarIndex === '1' ? 'ischooseTabBar' : ''}}">
<view class="tabBarView
tabBarView2
{{tabBarIndex === '1' ? 'ischooseTabBar' : ''}}">
<view class="iconfont iconicon_Calendarbox1">
<text class="iconfont iconicon_days iconicon_days{{iconDay}}">
</text>
...
...
pages/index/index.js
View file @
bdefa7ba
...
...
@@ -4,7 +4,8 @@ create.Page({
data
:
{
tabBarIndex
:
"0"
,
$data
:
null
,
iconDay
:
""
iconDay
:
""
,
isLocation
:
false
},
onLoad
()
{
let
iconDay
=
new
Date
().
getDate
();
...
...
@@ -22,6 +23,7 @@ create.Page({
},
// 修改tabBar
changeTabBar
(
e
)
{
let
nowtabBarIndex
=
this
.
data
.
tabBarIndex
;
this
.
setData
({
tabBarIndex
:
e
.
currentTarget
.
dataset
.
tabbar
});
...
...
@@ -37,9 +39,15 @@ create.Page({
dd
.
setNavigationBar
({
title
:
title
})
if
(
nowtabBarIndex
===
e
.
currentTarget
.
dataset
.
tabbar
&&
e
.
currentTarget
.
dataset
.
tabbar
===
"1"
)
{
this
.
$store
.
data
.
isLocation
=
true
;
this
.
update
();
}
},
createMeeting
()
{
// isClicked(this)
dd
.
navigateTo
({
url
:
"./../createMeeting/createMeeting"
});
}
});
pages/meetingDetail/meetingDetail.acss
View file @
bdefa7ba
@import "../../template/affairBlank/index.acss";
page {
background: rgba(232, 237, 240, 1);
}
...
...
@@ -514,34 +515,18 @@ input {
.affair-placeholder {
border-top: 1px solid rgba(239, 242, 245, 1);
padding
: 168rpx 72rpx 0 72
rpx;
padding
-top: 168
rpx;
text-align: center;
}
.affair-placeholder image {
width: 28
0rpx;
margin-top: 5
0rpx;
}
.affair-placeholder .affair-placeholder-text {
color: rgba(10, 10, 10, 0.4);
text-align: center;
padding: 96rpx 0 56rpx 0;
font-size: 28rpx;
.affair-placeholder .affair-blank-tip {
white-space: nowrap;
}
.affair-placeholder .affair-placeholder-button {
color: #fff;
border-radius: 48rpx;
padding: 0 38rpx;
height: 72rpx;
line-height: 72rpx;
font-size: 30rpx;
text-align: center;
background: rgb(234, 12, 40);
display: inline-block;
}
.metingDetail {
overflow: hidden;
height: 100vh;
...
...
pages/meetingDetail/meetingDetail.axml
View file @
bdefa7ba
...
...
@@ -198,6 +198,7 @@
<selectpopup showSelectPopup="{{conSelectPopupData.showSelectPopup}}" selectPopupList="{{conSelectPopupData.selectType==='noParticipateStatus' ? conSelectPopupData.noParticipateStatusList : conSelectPopupData.selectType==='delSheudle' ? conSelectPopupData.delSheudleList : (conSelectPopupData.selectType === 'participateStatus' ? conSelectPopupData.participateStatusList : conSelectPopupData.editSaveList)}}" onSelectPopup="onSelectPopup" onSelectPopupCancel="onSelectPopupCancel"></selectpopup>
<!-- 动态列表 -->
<import src="../../template/avater/index.axml"/>
<import src="../../template/affairBlank/index.axml"/>
<view class="affair-list" onTap="hideFileOperate">
<view class="affair-list-title">会议动态</view>
<block a:for="{{affairList}}">
...
...
@@ -222,12 +223,8 @@
<view a:if="{{item.content}}" class='simple-column'>{{item.content}} {{item.createTime}}</view>
</block>
<view class="affair-placeholder" a:if="{{affairList.length <= 1}}">
<image mode="widthFix" src="../../assests/noDynamic.png"/>
<view class="affair-placeholder-text">我们不开无准备的会,快来上传会议文件吧。</view>
<view onTap="addMeetingFile" class="affair-placeholder-button">添加会议文件</view>
<template is="affair-placeholder" data="{{title: '添加文件', tip: '我们不开无准备的会,快来上传会议文件吧。'}}"/>
</view>
<!--<view class="delMetting" onTap="delSheudle"><view class=" iconfont iconicon_close"></view><view>
删除该会议</view></view> -->
<popup title="{{popupTitle}}" show="{{popupShow}}" mask="true" onClose="closePopup">
<meeting-time-picker a:if="{{'time' === comType}}" onComplete="onComplete" startTime="{{$data.startTime}}" endTime="{{$data.endTime}}"></meeting-time-picker>
<hlist a:if="{{'participator' === comType}}" dataComList="{{comHListData.contactData}}" onSelectComHList="selectComHList"></hlist>
...
...
stores/exampleStore.js
View file @
bdefa7ba
...
...
@@ -8,7 +8,8 @@ class Store {
originUsers
:
[],
originUsersId
:
[],
originalData
:
null
,
indexNeedUpdate
:
false
indexNeedUpdate
:
false
,
isLocation
:
false
}
}
export
default
new
Store
()
\ No newline at end of file
template/affairBlank/index.acss
0 → 100644
View file @
bdefa7ba
.affair-blank {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
padding: 0 72rpx;
text-align: center;
margin-top: -96rpx;
}
.affair-blank image {
width: 280rpx;
display: block;
}
.affair-blank-title {
margin: 56rpx 0 24rpx 0;
font-size: 32rpx;
color: #191F25;
}
.affair-blank-tip {
font-size: 28rpx;
color: rgba(25, 31, 37, 0.40);
line-height: 1.5;
padding: 0 20rpx;
}
\ No newline at end of file
template/affairBlank/index.axml
0 → 100644
View file @
bdefa7ba
<template name='affair-placeholder'>
<view class="affair-blank">
<image mode="widthFix" src="../../assests/noDynamic.png"/>
<view class="affair-blank-title">
{{title}}
</view>
<view class="affair-blank-tip">
{{tip}}
</view>
</view>
</template>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment