Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
W
wechatapp.shangjiadao.com
Project
Project
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
wangxuelai
wechatapp.shangjiadao.com
Commits
683a0b92
Commit
683a0b92
authored
Dec 23, 2019
by
sujie@126.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dd
parent
036ba1ba
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
2060 additions
and
18 deletions
+2060
-18
app.json
app.json
+3
-1
classranklist.js
business/pages/classservice/classranklist.js
+517
-0
classranklist.json
business/pages/classservice/classranklist.json
+4
-0
classranklist.wxml
business/pages/classservice/classranklist.wxml
+78
-0
classranklist.wxss
business/pages/classservice/classranklist.wxss
+204
-0
teacherindex.js
business/pages/classservice/teacherindex.js
+227
-0
teacherindex.json
business/pages/classservice/teacherindex.json
+11
-0
teacherindex.wxml
business/pages/classservice/teacherindex.wxml
+352
-0
teacherindex.wxss
business/pages/classservice/teacherindex.wxss
+606
-0
tindex.wxml
business/pages/classservice/tindex.wxml
+0
-1
index.wxml
business/pages/deskcenter/index.wxml
+2
-2
index.js
business/pages/exchangebusiness/index.js
+1
-1
index.js
business/pages/organizationalmgt/index.js
+23
-9
index.wxml
business/pages/organizationalmgt/index.wxml
+9
-0
index.wxss
business/pages/organizationalmgt/index.wxss
+19
-0
index.js
components/btabbar/index.js
+1
-1
index.wxml
components/btabbar/index.wxml
+3
-3
homewor-comments.png
images/2b/classervice/homewor-comments.png
+0
-0
message-icon.png
images/2b/classervice/message-icon.png
+0
-0
myclass-icon.png
images/2b/classervice/myclass-icon.png
+0
-0
recently-clock.png
images/2b/classervice/recently-clock.png
+0
-0
school-timetable.png
images/2b/classervice/school-timetable.png
+0
-0
No files found.
app.json
View file @
683a0b92
...
...
@@ -57,7 +57,9 @@
"reviewclass"
,
"selectstudentlist"
,
"reviewdetail"
,
"classreviewindex"
"classreviewindex"
,
"teacherindex"
,
"classranklist"
]
},
{
...
...
business/pages/classservice/classranklist.js
0 → 100644
View file @
683a0b92
// business/pages/classservice/classranklist.js
import
{
formIdCreate
,
rankrecord
,
ranklike
,
rankPoints
}
from
'../../../service/common.js'
;
import
{
imagify
,
LocalStorage
}
from
'../../../utilities/index.js'
;
var
app
=
getApp
();
Page
({
/**
* 页面的初始数据
*/
data
:
{
imageRoot
:
app
.
globalData
.
imageRoot
,
imageVersion
:
app
.
globalData
.
imageVersion
,
page
:
1
,
perPage
:
10
,
hasmore
:
true
,
emptyPage
:
false
,
rankingType
:
1
,
rankingTab
:
[
{
tabname
:
"打卡榜"
,
rankingType
:
1
},
{
tabname
:
"获赞榜"
,
rankingType
:
2
},
{
tabname
:
"积分榜"
,
rankingType
:
3
},
],
timeType
:
1
,
tabnName
:
'总榜'
,
timeTab
:
[
{
tabname
:
"总榜"
,
timeType
:
1
},
{
tabname
:
"本周"
,
timeType
:
2
},
{
tabname
:
"本日"
,
timeType
:
3
}
],
timeSelectShow
:
false
,
pointsRankingList
:
[],
pointsRankingTotal
:
0
,
likeRankingList
:
[],
likeRankingTotal
:
0
,
clockRankingList
:
[],
clockRankingTotal
:
0
,
},
/**
* 生命周期函数--监听页面加载
*/
onLoad
:
function
(
options
)
{
const
{
id
,
from
,
sid
}
=
options
;
this
.
setData
({
id
,
from
:
from
||
0
,
sid
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady
:
function
()
{
},
/**
* 生命周期函数--监听页面显示
*/
onShow
:
function
()
{
Object
.
assign
(
this
.
data
,{
page
:
1
,
hasmore
:
true
,
emptyPage
:
false
,
pointsRankingList
:
[],
pointsRankingTotal
:
0
,
likeRankingList
:
[],
likeRankingTotal
:
0
,
clockRankingList
:
[],
clockRankingTotal
:
0
,
})
this
.
rankingListGet
(
'init'
);
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide
:
function
()
{
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload
:
function
()
{
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh
:
function
()
{
Object
.
assign
(
this
.
data
,{
page
:
1
,
hasmore
:
true
,
emptyPage
:
false
,
pointsRankingList
:
[],
pointsRankingTotal
:
0
,
likeRankingList
:
[],
likeRankingTotal
:
0
,
clockRankingList
:
[],
clockRankingTotal
:
0
,
})
this
.
rankingListGet
(
'up'
);
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom
:
function
()
{
this
.
rankingListGet
(
'down'
);
},
/**
* 用户点击右上角分享
*/
onShareAppMessage
:
function
()
{
},
rankingStatusShift
(
e
){
var
that
=
this
;
const
{
rankingtype
}
=
e
.
currentTarget
.
dataset
;
if
(
rankingtype
==
this
.
data
.
rankingType
){
return
}
that
.
setData
({
rankingType
:
rankingtype
,
hasmore
:
true
,
page
:
1
,
clockRankingList
:
[],
clockRankingTotal
:
0
,
likeRankingList
:
[],
likeRankingTotal
:
0
,
pointsRankingList
:
[],
pointsRankingTotal
:
0
,
},
()
=>
{
that
.
rankingListGet
(
'init'
)
})
},
// 排行榜
rankingListGet
(
type
)
{
const
rankingType
=
this
.
data
.
rankingType
;
switch
(
rankingType
){
case
1
:
this
.
getclockRankingList
(
type
);
break
;
case
2
:
this
.
getLikeRankingList
(
type
);
break
;
case
3
:
this
.
getPointsRankingList
(
type
);
break
;
}
},
//时间选择切换
toSelectTimeType
(){
this
.
setData
({
timeSelectShow
:
!
this
.
data
.
timeSelectShow
})
},
sureSelectTimeType
(
e
){
const
{
timeselect
}
=
e
.
currentTarget
.
dataset
;
this
.
setData
({
timeType
:
timeselect
.
timeType
,
tabnName
:
timeselect
.
tabname
,
timeSelectShow
:
false
,
hasmore
:
true
,
page
:
1
,
clockRankingList
:
[],
clockRankingTotal
:
0
,
likeRankingList
:
[],
likeRankingTotal
:
0
,
pointsRankingList
:
[],
pointsRankingTotal
:
0
,
},()
=>
{
this
.
rankingListGet
(
'init'
);
})
},
caculateArrLength
(
array
)
{
let
_length
=
0
;
array
.
forEach
(
ele
=>
{
_length
=
_length
+
ele
.
length
;
})
return
_length
;
},
getLikeRankingList
(
type
)
{
const
visitor
=
LocalStorage
.
getItem
(
'visitor'
);
if
(
!
this
.
data
.
hasmore
)
{
return
;
}
if
(
this
.
data
.
listLoading
)
{
return
}
this
.
setData
({
listLoading
:
true
})
ranklike
({
page
:
this
.
data
.
lpage
,
perPage
:
this
.
data
.
perPage
,
class_id
:
this
.
data
.
id
,
type
:
Number
(
this
.
data
.
timeType
),
consumer_id
:
visitor
&&
visitor
.
id
}).
then
((
res
)
=>
{
const
{
code
,
data
}
=
res
;
this
.
setData
({
listLoading
:
false
})
if
(
code
!=
200
)
{
// 失败的处理
}
else
{
if
(
data
.
total
)
{
this
.
setData
({
likeRankingTotal
:
data
.
total
})
}
switch
(
type
)
{
case
'init'
:
//页面进来第一次加载
this
.
setData
({
likeRankingList
:
data
.
list
||
[]
},
()
=>
{
if
(
this
.
data
.
likeRankingTotal
>
this
.
data
.
likeRankingList
.
length
)
{
let
page
=
this
.
data
.
page
+
1
;
this
.
setData
({
page
,
})
}
else
{
// 没有更多了
this
.
setData
({
hasmore
:
false
})
}
})
break
;
case
'down'
:
// 页面下拉刷新
this
.
setData
({
likeRankingList
:
data
.
list
||
[]
},
()
=>
{
if
(
this
.
data
.
likeRankingTotal
>
this
.
data
.
likeRankingList
.
length
)
{
let
page
=
this
.
data
.
page
+
1
;
this
.
setData
({
page
,
})
}
else
{
// 没有更多了
this
.
setData
({
hasmore
:
false
})
}
})
wx
.
stopPullDownRefresh
();
break
;
case
'up'
:
// 页面上拉刷新
let
list
=
this
.
data
.
likeRankingList
;
let
_list
=
list
.
concat
(
data
.
list
);
this
.
setData
({
likeRankingList
:
_list
// [`likeRankingList[${this.data.page - 1}]`]: data.list
},
()
=>
{
if
(
this
.
data
.
likeRankingTotal
>
this
.
data
.
likeRankingList
.
length
)
{
let
page
=
this
.
data
.
page
+
1
;
this
.
setData
({
page
,
})
}
else
{
// 没有更多了
this
.
setData
({
hasmore
:
false
})
}
})
break
;
default
:
break
;
}
if
(
this
.
data
.
likeRankingList
.
length
==
0
)
{
this
.
setData
({
emptyPage
:
true
})
}
else
{
this
.
setData
({
emptyPage
:
false
})
}
}
}).
catch
((
e
)
=>
{
this
.
setData
({
listLoading
:
false
})
})
},
getclockRankingList
(
type
)
{
const
visitor
=
LocalStorage
.
getItem
(
'visitor'
);
if
(
!
this
.
data
.
hasmore
)
{
return
;
}
if
(
this
.
data
.
istLoading
)
{
return
}
this
.
setData
({
listLoading
:
true
})
rankrecord
({
page
:
this
.
data
.
page
,
perPage
:
this
.
data
.
perPage
,
class_id
:
this
.
data
.
id
,
type
:
Number
(
this
.
data
.
timeType
),
consumer_id
:
visitor
&&
visitor
.
id
}).
then
((
res
)
=>
{
const
{
code
,
data
}
=
res
;
this
.
setData
({
listLoading
:
false
})
if
(
code
!=
200
)
{
// 失败的处理
}
else
{
if
(
data
.
total
)
{
this
.
setData
({
clockRankingTotal
:
data
.
total
})
}
switch
(
type
)
{
case
'init'
:
//页面进来第一次加载
this
.
setData
({
clockRankingList
:
data
.
list
||
[]
},
()
=>
{
if
(
this
.
data
.
clockRankingTotal
>
this
.
data
.
clockRankingList
.
length
)
{
let
page
=
this
.
data
.
page
+
1
;
this
.
setData
({
page
,
})
}
else
{
// 没有更多了
this
.
setData
({
hasmore
:
false
})
}
})
break
;
case
'down'
:
// 页面下拉刷新
this
.
setData
({
clockRankingList
:
data
.
list
||
[]
},
()
=>
{
if
(
this
.
data
.
clockRankingTotal
>
this
.
data
.
clockRankingList
.
length
)
{
let
page
=
this
.
data
.
page
+
1
;
this
.
setData
({
page
,
})
}
else
{
// 没有更多了
this
.
setData
({
hasmore
:
false
})
}
})
wx
.
stopPullDownRefresh
();
break
;
case
'up'
:
// 页面上拉刷新
let
list
=
this
.
data
.
clockRankingList
;
let
_list
=
list
.
concat
(
data
.
list
);
this
.
setData
({
clockRankingList
:
_list
// [`clockRankingList[${this.data.page - 1}]`]: data.list
},
()
=>
{
if
(
this
.
data
.
clockRankingTotal
>
this
.
data
.
clockRankingList
.
length
)
{
let
page
=
this
.
data
.
page
+
1
;
this
.
setData
({
page
,
})
}
else
{
// 没有更多了
this
.
setData
({
hasmore
:
false
})
}
})
break
;
default
:
break
;
}
if
(
this
.
data
.
clockRankingList
.
length
==
0
)
{
this
.
setData
({
emptyPage
:
true
})
}
else
{
this
.
setData
({
emptyPage
:
false
})
}
}
}).
catch
((
e
)
=>
{
this
.
setData
({
listLoading
:
false
})
})
},
getPointsRankingList
(
type
)
{
const
visitor
=
LocalStorage
.
getItem
(
'visitor'
);
if
(
!
this
.
data
.
hasmore
)
{
return
;
}
if
(
this
.
data
.
listLoading
)
{
return
}
this
.
setData
({
listLoading
:
true
})
// 积分排行榜接口 换
rankPoints
({
page
:
this
.
data
.
page
,
perPage
:
this
.
data
.
perPage
,
school_id
:
this
.
data
.
sid
,
type
:
Number
(
this
.
data
.
timeType
),
consumer_id
:
visitor
&&
visitor
.
id
,
class_id
:
this
.
data
.
id
}).
then
((
res
)
=>
{
const
{
code
,
data
}
=
res
;
this
.
setData
({
listLoading
:
false
})
if
(
code
!=
200
)
{
// 失败的处理
}
else
{
if
(
data
.
total
)
{
this
.
setData
({
pointsRankingTotal
:
data
.
total
})
}
switch
(
type
)
{
case
'init'
:
//页面进来第一次加载
this
.
setData
({
pointsRankingList
:
data
.
list
||
[]
},
()
=>
{
if
(
this
.
data
.
pointsRankingTotal
>
this
.
data
.
pointsRankingList
.
length
)
{
let
page
=
this
.
data
.
page
+
1
;
this
.
setData
({
page
,
})
}
else
{
// 没有更多了
this
.
setData
({
hasmore
:
false
})
}
})
break
;
case
'down'
:
// 页面下拉刷新
this
.
setData
({
pointsRankingList
:
data
.
list
||
[]
},
()
=>
{
if
(
this
.
data
.
pointsRankingTotal
>
this
.
data
.
pointsRankingList
.
length
)
{
let
page
=
this
.
data
.
page
+
1
;
this
.
setData
({
page
,
})
}
else
{
// 没有更多了
this
.
setData
({
hasmore
:
false
})
}
})
wx
.
stopPullDownRefresh
();
break
;
case
'up'
:
// 页面上拉刷新
let
list
=
this
.
data
.
pointsRankingList
;
let
_list
=
list
.
concat
(
data
.
list
);
this
.
setData
({
pointsRankingList
:
_list
// [`pointsRankingList[${this.data.page - 1}]`]: data.list
},
()
=>
{
if
(
this
.
data
.
pointsRankingTotal
>
this
.
data
.
pointsRankingList
.
length
)
{
let
page
=
this
.
data
.
page
+
1
;
this
.
setData
({
page
,
})
}
else
{
// 没有更多了
this
.
setData
({
hasmore
:
false
})
}
})
break
;
default
:
break
;
}
if
(
this
.
data
.
pointsRankingList
.
length
==
0
)
{
this
.
setData
({
emptyPage
:
true
})
}
else
{
this
.
setData
({
emptyPage
:
false
})
}
console
.
log
(
'积分列表'
,
this
.
data
.
pointsRankingList
)
}
}).
catch
((
e
)
=>
{
this
.
setData
({
listLoading
:
false
})
})
},
})
\ No newline at end of file
business/pages/classservice/classranklist.json
0 → 100644
View file @
683a0b92
{
"navigationBarTitleText"
:
"排行榜"
,
"usingComponents"
:
{}
}
\ No newline at end of file
business/pages/classservice/classranklist.wxml
0 → 100644
View file @
683a0b92
<!--business/pages/classservice/classranklist.wxml-->
<wxs src="../../../filter/index.wxs" module="filter" />
<view class="container">
<view class="content-topbox">
<view class="tab-box">
<view class="tab-item {{item.rankingType == rankingType?'active':''}}" data-rankingtype="{{item.rankingType}}" wx:for="{{rankingTab}}" bindtap="rankingStatusShift" wx:key="">
<view class="tab-itemname">{{item.tabname}}</view>
</view>
</view>
<view class="timeselect-box" bindtap="toSelectTimeType">
<view class="timeselect-type">{{tabnName}}</view>
<image class="icon-arr {{timeSelectShow ? 'up' : ''}}" src="{{imageRoot}}2b/common/real_triangle.png?{{imageVersion}}"></image>
</view>
<view class="timetype-box" hidden="{{!timeSelectShow}}">
<view class="type-item {{item.tabname == tabnName? 'active': ''}}" data-timeselect="{{item}}" wx:for="{{timeTab}}" wx:key="index" bindtap="sureSelectTimeType">{{item.tabname}}</view>
</view>
</view>
<view class="ranking-box" wx:if="{{rankingType == 1 && clockRankingTotal>0}}">
<view class="ranking-item" wx:for="{{clockRankingList}}" wx:key="{{index}}">
<view class="item-indexbox">
<image class="item-index icon" wx:if="{{index==0}}" src="{{imageRoot}}2b/common/ranking/num1.png?{{imageVersion}}"></image>
<image class="item-index icon" wx:if="{{index==1}}" src="{{imageRoot}}2b/common/ranking/num2.png?{{imageVersion}}"></image>
<image class="item-index icon" wx:if="{{index==2}}" src="{{imageRoot}}2b/common/ranking/num3.png?{{imageVersion}}"></image>
<view class="item-index" wx:if="{{index>2}}">{{index + 1}}</view>
</view>
<image class="item-avator" src="{{filter.imagify(item.avatar, 'image/resize,w_160/format,jpg')}}"></image>
<view class="item-contentbox">
<view class="item-name">{{item.nickname}}</view>
</view>
<view class="item-staticbox">
<view class="item-num">{{item.days}}</view>
<view class="item-unit">次</view>
</view>
</view>
</view>
<view class="ranking-box" wx:if="{{rankingType == 2 && likeRankingTotal>0}}">
<view class="ranking-item" wx:for="{{likeRankingList}}" wx:key="{{index}}">
<view class="item-indexbox">
<image class="item-index icon" wx:if="{{index==0}}" src="{{imageRoot}}2b/common/ranking/num1.png?{{imageVersion}}"></image>
<image class="item-index icon" wx:if="{{index==1}}" src="{{imageRoot}}2b/common/ranking/num2.png?{{imageVersion}}"></image>
<image class="item-index icon" wx:if="{{index==2}}" src="{{imageRoot}}2b/common/ranking/num3.png?{{imageVersion}}"></image>
<view class="item-index" wx:if="{{index>2}}">{{index + 1}}</view>
</view>
<image class="item-avator" src="{{filter.imagify(item.avatar, 'image/resize,w_160/format,jpg')}}"></image>
<view class="item-contentbox">
<view class="item-name">{{item.nickname}}</view>
</view>
<view class="item-staticbox">
<view class="item-num">{{item.like_count}}</view>
<view class="item-unit">赞</view>
</view>
</view>
</view>
<view class="ranking-box" wx:if="{{rankingType == 3 && pointsRankingTotal>0}}">
<view class="ranking-item" wx:for="{{pointsRankingList}}" wx:key="{{index}}">
<view class="item-indexbox">
<image class="item-index icon" wx:if="{{index==0}}" src="{{imageRoot}}2b/common/ranking/num1.png?{{imageVersion}}"></image>
<image class="item-index icon" wx:if="{{index==1}}" src="{{imageRoot}}2b/common/ranking/num2.png?{{imageVersion}}"></image>
<image class="item-index icon" wx:if="{{index==2}}" src="{{imageRoot}}2b/common/ranking/num3.png?{{imageVersion}}"></image>
<view class="item-index" wx:if="{{index>2}}">{{index + 1}}</view>
</view>
<image class="item-avator" src="{{filter.imagify(item.avatar, 'image/resize,w_160/format,jpg')}}"></image>
<view class="item-contentbox">
<view class="item-name">{{item.nickname}}</view>
</view>
<view class="item-staticbox">
<view class="item-num">{{item.sum_balance}}</view>
<view class="item-unit">分</view>
</view>
</view>
</view>
<view class="empty-content" wx:if="{{emptyPage}}">
<image class='empty-img' src='{{imageRoot}}2b/potentialcustomer/emptyimg.png?{{imageVersion}}'></image>
<view class="empty-text">暂无数据~</view>
</view>
<list-loading loading="{{listLoading}}"></list-loading>
<view class="has-nomore" wx:if="{{!hasmore && page>1}}">没有更多了</view>
</view>
business/pages/classservice/classranklist.wxss
0 → 100644
View file @
683a0b92
.content-topbox{
height: 120rpx;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 24rpx;
position: relative;
box-shadow:0px 2rpx 16rpx 0px rgba(0, 0, 0, 0.1);
}
/* tab操作按钮 */
.tab-box{
display: flex;
}
.tab-box .tab-item{
font-size:26px;
font-family:PingFang SC;
font-weight:400;
color:rgba(0,0,0,1);
line-height:48px;
opacity:0.7;
margin-right: 50rpx;
}
.tab-box .tab-item.active{
font-size: 36rpx;
opacity: 1;
font-weight: bold;
/* background: #65B8F4; */
}
.tab-box .tab-item:last-of-type{
border-right: 0
}
.tab-box .tab-item .tab-itemname{
font-size: 26rpx;
}
.tab-box .tab-item.active .tab-itemname{
font-size: 36rpx;
}
.timeselect-box{
position: absolute;
right: 24rpx;
top: 50%;
transform: translateY(-50%);
display: flex;
align-items: center;
}
.timeselect-box .timeselect-type{
font-size: 28rpx;
color: #65B8F4;
padding-right: 10rpx;
}
.timeselect-box .icon-arr{
width: 11rpx;
height: 6rpx;
transition: all .2s;
}
.timeselect-box .icon-arr.up{
transform: rotate(180deg)
}
.timetype-box{
position: absolute;
right: 24rpx;
top: 107rpx;
width: 180rpx;
background:#fff;
box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
border-radius: 10rpx;
z-index: 99;
}
.timetype-box .type-item{
width: 100%;
height: 66rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 26rpx;
color: rgba(0,0,0,.8);
position: relative;
}
.timetype-box .type-item::after{
content: '';
width: 100%;
height: 1px;
background: rgba(32,32,32,.05);
position: absolute;
bottom: 0;
left: 0;
}
.timetype-box .type-item:last-of-type::after{
display: none;
}
.timetype-box .type-item.active{
color: #65B8F4;
}
.ranking-box{
width: 100%;
position: relative;
padding-top: 16rpx;
}
.ranking-box::before{
content: '';
width: 100%;
height: 1px;
background: rgba(0,0,0,.05);
position: absolute;
left: 0;
top: 0;
transform: scaleY(.5);
}
.ranking-box .ranking-item{
display: flex;
align-items: center;
padding: 16rpx 24rpx;
position: relative;
}
.ranking-box .ranking-item::after{
content: '';
width: 100%;
height: 1px;
background: rgba(0,0,0,.05);
position: absolute;
left: 0;
bottom: 0;
transform: scaleY(.5);
}
.ranking-box .ranking-item{
}
.item-indexbox{
display: block;
width: 67rpx;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.item-index{
font-size: 26rpx;
color: #959595;
font-weight: bold;
}
.item-index.icon{
width: 48rpx;
height: 56rpx;
}
.item-avator{
width: 66rpx;
height: 66rpx;
border-radius: 50%;
margin: 0 30rpx 0 40rpx;
}
.item-contentbox{
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
/* align-items: center; */
}
.item-contentbox .item-name{
width: 226rpx;
font-size: 24rpx;
color: #000;
}
.item-staticbox{
display: flex;
align-items: center;
color: #959595;
}
.item-staticbox .item-num{
font-size: 26rpx;
}
.item-staticbox .item-unit{
font-size: 22rpx;
padding-left: 15rpx;
}
.empty-content {
position: relative;
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
line-height: 45rpx;
padding: 100rpx 0 40rpx;
}
.empty-content .empty-img {
width: 263rpx;
height: 219rpx;
}
.empty-content .empty-text {
font-size: 24rpx;
color: rgba(0, 0, 0, 0.4);
}
.empty-content .empty-text1{
font-size: 26rpx;
color: rgba(0, 0, 0, 0.6);
}
.has-nomore{
font-size: 26rpx;
color: #9C9C9D;
padding: 75rpx 0;
text-align: center;
}
\ No newline at end of file
business/pages/classservice/teacherindex.js
0 → 100644
View file @
683a0b92
// business/pages/deskcenter/index.js
import
{
LocalStorage
}
from
'../../../utilities/index.js'
;
import
{
getMemberMe
,
formIdCreate
}
from
'../../../service/common.js'
;
import
apis
from
'../../../constants/api.js'
;
import
{
todocallGet
,
statisticalGet
}
from
'../../../service/business/classservice.js'
var
app
=
getApp
();
Page
({
data
:
{
titleBarHeight
:
app
.
globalData
.
titleBarHeight
,
statusBarHeight
:
app
.
globalData
.
statusBarHeight
,
localImageRoot
:
'../../../images/'
,
imageRoot
:
app
.
globalData
.
imageRoot
,
imageVersion
:
app
.
globalData
.
imageVersion
,
schoolTotal
:
0
,
selectSchoolData
:{},
sid
:
0
,
my
:
1
,
memberChange
:
false
,
accountExpired
:
false
,
tabAct
:
1
,
allcount
:
100
,
windowWidth
:
app
.
globalData
.
windowWidth
,
windowHeight
:
app
.
globalData
.
windowHeight
,
total
:
0
,
todocallTotal
:
0
,
modalshow
:
false
,
modelHideClass
:
false
,
guideDailogShow
:
false
,
guideIndex
:
1
,
statisticalData
:
''
},
onLoad
:
function
(
options
)
{
const
{
sid
,
from
}
=
options
;
this
.
setData
({
sid
:
sid
||
0
,
from
,
guideDailogShow
:
from
&&
from
==
'onekeydeployment'
?
true
:
false
,
})
},
onShow
:
function
()
{
this
.
getMemberMeInfo
();
app
.
watch
(
this
.
watchBack
,
this
)
this
.
todocallGet
();
this
.
statisticalGet
();
if
(
this
.
data
.
modalshow
){
this
.
setData
({
modelHideClass
:
true
})
setTimeout
(()
=>
{
this
.
setData
({
modalshow
:
false
,
modelHideClass
:
false
})
},
200
)
}
},
onReady
(){
},
onPageScroll
(
e
){
},
getMemberMeInfo
(){
let
that
=
this
;
getMemberMe
({
school_id
:
that
.
data
.
sid
,
show_assign_class_status
:
1
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
LocalStorage
.
setItem
(
'memberMeHasClass'
,
res
.
data
.
assign_class_status
);
that
.
setData
({
memberChange
:
res
.
data
.
assign_class_status
})
}
})
},
statisticalGet
(){
statisticalGet
({
school_id
:
this
.
data
.
sid
,
my
:
this
.
data
.
my
}).
then
((
res
)
=>
{
const
{
code
,
data
}
=
res
;
if
(
code
==
200
){
this
.
setData
({
statisticalData
:
data
})
}
}).
catch
(()
=>
{})
},
todocallGet
(){
todocallGet
({
school_id
:
this
.
data
.
sid
,
my
:
this
.
data
.
my
}).
then
((
res
)
=>
{
const
{
code
,
data
}
=
res
;
if
(
code
==
200
){
this
.
setData
({
todocallTotal
:
data
.
total
})
}
}).
catch
(()
=>
{})
},
// 预警处理
gotodolist
(){
wx
.
navigateTo
({
url
:
`/business/pages/classservice/todolist?sid=
${
this
.
data
.
sid
}
`
})
},
// 发布 弹窗
bindAdd
(){
this
.
setData
({
modalshow
:
true
})
},
hidemodal
()
{
this
.
setData
({
modelHideClass
:
true
})
setTimeout
(()
=>
{
this
.
setData
({
modalshow
:
false
,
modelHideClass
:
false
})
},
200
)
},
// 打卡
goClocklist
(){
wx
.
navigateTo
({
url
:
`/business/pages/deskcenter/clocklist?sid=
${
this
.
data
.
sid
}
`
})
},
goPointsMgt
(){
wx
.
navigateTo
({
url
:
`/business/pages/scoremgt/index?sid=
${
this
.
data
.
sid
}
`
})
},
// 作业点评
goNoComment
()
{
wx
.
navigateTo
({
url
:
`/business/pages/nocomment/index?sid=
${
this
.
data
.
sid
}
`
})
},
goclasslist
(){
wx
.
navigateTo
({
url
:
`/business/pages/classservice/classlist?sid=
${
this
.
data
.
sid
}
&my=
${
this
.
data
.
my
}
`
,
})
},
goClassreviewindex
(){
wx
.
navigateTo
({
url
:
`/business/pages/classservice/classreviewindex?sid=
${
this
.
data
.
sid
}
`
})
},
// 发布打卡
addTheme
(
e
){
const
{
createtype
}
=
e
.
currentTarget
.
dataset
;
let
url
=
''
;
switch
(
Number
(
createtype
)){
case
1
:
url
=
`/business/pages/themeeditor/index?id=0&tid=0&sid=
${
this
.
data
.
sid
}
`
;
break
;
case
2
:
url
=
`/business/pages/calendarthemeeditor/index?id=0&tid=0&sid=
${
this
.
data
.
sid
}
`
;
break
;
case
3
:
url
=
`/business/pages/themeeditorlock/index?id=0&tid=0&sid=
${
this
.
data
.
sid
}
`
;
break
;
default
:
break
;
}
wx
.
navigateTo
({
url
:
`
${
url
}
`
})
},
gotodotasks
(){
wx
.
navigateTo
({
url
:
`/business/pages/todotasks/index?sid=
${
this
.
data
.
sid
}
`
})
},
goClassreviewindex
(){
wx
.
navigateTo
({
url
:
`/business/pages/classservice/classreviewindex?sid=
${
this
.
data
.
sid
}
`
})
},
// 发布课堂瞬间
toReleaseMoment
(){
wx
.
navigateTo
({
url
:
`/business/pages/websiteindex/highlightsedit?sid=
${
this
.
data
.
sid
}
`
})
},
// 发布机构新鲜事
toReleaseRefresh
()
{
wx
.
navigateTo
({
url
:
`/business/pages/websiteindex/newsedit?sid=
${
this
.
data
.
sid
}
`
})
},
formIdCreate
(
e
)
{
const
{
formId
}
=
e
.
detail
;
formIdCreate
({
formId
})
},
watchBack
(
name
,
that
){
that
.
setData
({
accountExpired
:
name
})
},
nextGuide
(
e
){
const
{
index
}
=
e
.
currentTarget
.
dataset
;
if
(
index
==
5
){
this
.
setData
({
guideDailogShow
:
false
})
return
}
this
.
setData
({
guideIndex
:
index
+
1
})
}
})
\ No newline at end of file
business/pages/classservice/teacherindex.json
0 → 100644
View file @
683a0b92
{
"navigationBarBackgroundColor"
:
"#FFD146"
,
"navigationBarTextStyle"
:
"white"
,
"navigationStyle"
:
"custom"
,
"backgroundColor"
:
"#fff"
,
"backgroundTextStyle"
:
"dark"
,
"usingComponents"
:
{
"btabbar"
:
"../../../components/btabbar"
,
"expiredTip"
:
"../../components/expiredTip"
}
}
\ No newline at end of file
business/pages/classservice/teacherindex.wxml
0 → 100644
View file @
683a0b92
<!--business/pages/deskcenter/index.wxml-->
<view class="nav-header" style="padding-top: {{statusBarHeight}}px;">
<view class="nav-custombox" style="height: {{titleBarHeight}}px;">
<view class="menu-box">
<view class="title">{{selectSchoolData.title}}</view>
</view>
</view>
</view>
<view class="container {{modalshow?'containerDisabledScroll':''}}" style="padding-top: {{statusBarHeight+titleBarHeight}}px">
<view class="top-nav" id="get-height1">
<view class="nav-item">
<view class="item-num">{{statisticalData.expend_count || 0}}</view>
<view class="item-title">课时</view>
</view>
<view class="nav-item">
<view class="item-num">{{statisticalData.call_count || 0}}</view>
<view class="item-title">课次</view>
</view>
</view>
<view class="container-padding">
<view class="gray-wrap">
<view class="section-wrap" id="get-height2" wx:if="{{todocallTotal>0}}">
<view class="section section-warn" bindtap="gotodolist">
<view class="title-l">
<image class="icon-warn" src="{{imageRoot}}2b/deskcenter2/icon_warn.png?{{imageVersion}}"/>
<view class="warn-title">有 <text class="warn-num">{{todocallTotal}}</text> 个课次超时未点名</view>
</view>
<view class="title-r">
去处理<image class="icon-arr" src="{{imageRoot}}2b/organizationalmgt/right.png?{{imageVersion}}"/>
</view>
</view>
</view>
<view class="section-wrap" id="get-height3">
<view class="section section-management">
<view class="section-title">
<!-- <image class="title-icon" src="{{imageRoot}}2b/deskcenter2/icon_add.png?{{imageRoot}}"/> -->
<view class="title-text">常用功能</view>
<!-- <view class="subtitle-text">(课时)</view> -->
</view>
<view class="section-innerbox">
<view class="item" bindtap="bindAdd">
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton">生成form</button>
</form>
<image class="item-icon" src="{{imageRoot}}2b/deskcenter2/icon_add.png?{{imageRoot}}"/>
<view class="item-title">发布</view>
</view>
<view class="item" bindtap="goClassreviewindex">
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton">生成form</button>
</form>
<image class="item-icon" src="{{imageRoot}}2b/deskcenter2/icon_review.png?{{imageRoot}}"/>
<view class="item-title">课堂点评</view>
</view>
<view class="item" bindtap="goNoComment">
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton">生成form</button>
</form>
<image class="item-icon" src="{{localImageRoot}}2b/classervice/homewor-comments.png?{{imageRoot}}"/>
<view class="item-title">作业点评</view>
</view>
<view class="item" bindtap="goPointsMgt">
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton">生成form</button>
</form>
<image class="item-icon" src="{{imageRoot}}2b/deskcenter2/icon_points.png?{{imageRoot}}"/>
<view class="item-title">积分</view>
</view>
<view class="item" bindtap="goClocklist">
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton">生成form</button>
</form>
<image class="item-icon" src="{{imageRoot}}2b/deskcenter2/icon_clock.png?{{imageRoot}}"/>
<view class="item-title">打卡</view>
</view>
<view class="item" bindtap="goclasslist">
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton">生成form</button>
</form>
<image class="item-icon" src="{{localImageRoot}}2b/classervice/myclass-icon.png?{{imageRoot}}"/>
<view class="item-title">班级</view>
</view>
<view class="item" bindtap="goClassreviewindex">
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton">生成form</button>
</form>
<image class="item-icon" src="{{localImageRoot}}2b/classervice/school-timetable.png?{{imageRoot}}"/>
<view class="item-title">课表</view>
</view>
</view>
</view>
</view>
</view>
<view class="recently-class">
<view class="title">
<view class="left"><image class="recently-clock" src="{{localImageRoot}}2b/classervice/recently-clock.png?{{imageRoot}}" mode="aspectFit|aspectFill|widthFix" />最近关注的班级</view>
<view class="right" bindtap="goclasslist">更多班级 <image class="icon-arr" src="{{imageRoot}}2b/organizationalmgt/right.png?{{imageVersion}}"/></view>
</view>
<view class="content-box">
<view class="class-item">
<view class="icon"></view>
<view class="name">美术课程周二下午3:00班级</view>
</view>
</view>
<view class="wanted-btn">我要点名</view>
</view>
</view>
<view class="modal {{modelHideClass? 'hide': ''}}" hidden="{{!modalshow}}">
<view class="mask" bindtap="hidemodal"></view>
<view class="modal-content">
<view class="part-box">
<view class="part-title">发布任务</view>
<view class="part-list">
<view class="part-item bg-FFA922" bindtap="addTheme" data-createtype="1">
<image class="item-icon" src="{{imageRoot}}2b/deskcenter2/add_zuoye.png?{{imageRoot}}"/>
<view class="item-title-box">
<view class="item-title">作业打卡</view>
<view class="item-desc">每日家庭作业</view>
</view>
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton">生成form</button>
</form>
</view>
<view class="part-item bg-2AACFA" bindtap="addTheme" data-createtype="2">
<image class="item-icon" src="{{imageRoot}}2b/deskcenter2/add_rili.png?{{imageRoot}}"/>
<view class="item-title-box">
<view class="item-title">日历打卡</view>
<view class="item-desc">养成学习习惯</view>
</view>
</view>
<view class="part-item bg-24CCA9" bindtap="addTheme" data-createtype="3">
<image class="item-icon" src="{{imageRoot}}2b/deskcenter2/add_chuang.png?{{imageRoot}}"/>
<view class="item-title-box">
<view class="item-title">闯关打卡</view>
<view class="item-desc">每日家庭作业</view>
</view>
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton">生成form</button>
</form>
</view>
</view>
</view>
<view class="part-box">
<view class="part-title">机构动态</view>
<view class="part-list">
<view class="part-item bg-9758FF" bindtap="toReleaseMoment">
<image class="item-icon" src="{{imageRoot}}2b/deskcenter2/add_classroommoment.png?{{imageRoot}}"/>
<view class="item-title-box">
<view class="item-title">课堂瞬间</view>
<view class="item-desc">记录班级美好瞬间</view>
</view>
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton">生成form</button>
</form>
</view>
<view class="part-item bg-FA5053" bindtap="toReleaseRefresh">
<image class="item-icon" src="{{imageRoot}}2b/deskcenter2/add_orgnews.png?{{imageRoot}}"/>
<view class="item-title-box">
<view class="item-title">机构新鲜事</view>
<view class="item-desc">机构日常活动</view>
</view>
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton">生成form</button>
</form>
</view>
</view>
</view>
<view class="part-box">
<view class="part-title">点评</view>
<view class="part-list">
<view class="part-item bg-6AAD22" bindtap="goClassreviewindex">
<image class="item-icon" src="{{imageRoot}}2b/deskcenter2/add_classreview.png?{{imageRoot}}"/>
<view class="item-title-box">
<view class="item-title">课堂点评</view>
<view class="item-desc">点评学员课堂作品</view>
</view>
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton">生成form</button>
</form>
</view>
</view>
</view>
<view class="btn-cancel" bindtap="hidemodal">取消</view>
</view>
</view>
<btabbar
sid="{{sid}}"
current="workbench"
memberChange="{{memberChange}}"
>
</btabbar>
</view>
<expiredTip wx:if="{{accountExpired}}"/>
<!-- <view class="guide-dailog" wx:if="{{guideDailogShow}}">
<view class="guide-step guide-step1" wx:if="{{guideIndex == 1}}">
<view class="guide-text" >
<view class="left" >
<view class="line" style="padding-bottom: 30rpx;">工作台(日常管理、发布任务 )</view>
<view class="line">我(账号管理、帮助中心)</view>
</view>
<view class="line-1-box" ></view>
<view class="sure-btn" data-index="{{1}}" bindtap="nextGuide">好的</view>
</view>
<view class="guide-line">
<view class="part1"></view>
<view class="part2"></view>
</view>
<view class="guide-content" >
<view class="tab-item" >
<view class="tab-iamge" >
<image class="class" src="../../../images/btabbar/workbench.png" bindload="" binderror=""></image>
</view>
<view class="tab-text" >工作台</view>
</view>
<view class="tab-item" >
<view class="tab-iamge" >
<image class="class" src="../../../images/btabbar/class.png" bindload="" binderror=""></image>
</view>
<view class="tab-text" >课务</view>
</view>
<view class="tab-item" >
<view class="tab-iamge" >
<image class="class" src="../../../images/btabbar/ucenter.png" bindload="" binderror=""></image>
</view>
<view class="tab-text" >我</view>
</view>
</view>
</view>
<view class="guide-step guide-step2" wx:if="{{guideIndex == 2}}" style="top: {{(statusBarHeight+titleBarHeight)*2}}rpx">
<view class="guide-content" >
<view class="tab-item" >
<view class="tab-num" >100</view>
<view class="tab-text" >今日访客</view>
</view>
<view class="tab-item" >
<view class="tab-num" >100</view>
<view class="tab-text" >今日新增学员</view>
</view>
<view class="tab-item" >
<view class="tab-num" >100</view>
<view class="tab-text" >待消课时</view>
</view>
</view>
<view class="guide-line">
<view class="part2"></view>
<view class="part1"></view>
</view>
<view class="guide-text" >
<view class="left" >
<view class="line" style="padding-bottom: 30rpx;">多少人访问、多少个新增学员</view>
<view class="line">还有多少课时消课,这里查看</view>
</view>
<view class="line-1-box" ></view>
<view class="sure-btn" data-index="{{2}}" bindtap="nextGuide">好的</view>
</view>
</view>
<view class="guide-step guide-step3" wx:if="{{guideIndex == 3}}" style="top: {{(statusBarHeight+titleBarHeight+60)*2}}rpx">
<view class="guide-content" >
<view class="section section-warn" bindtap="gotodolist">
<view class="title-l">
<image class="icon-warn" src="{{imageRoot}}2b/deskcenter2/icon_warn.png?{{imageVersion}}"/>
<view class="warn-title">有 <view class="warn-num">{{todocallTotal || 10}}</view> 个课次超时未点名</view>
</view>
<view class="title-r">
去处理<image class="icon-arr" src="{{imageRoot}}2b/organizationalmgt/right.png?{{imageVersion}}"/>
</view>
</view>
</view>
<view class="guide-line">
<view class="part2"></view>
<view class="part1"></view>
</view>
<view class="guide-text" >
<view class="left" >
<view class="line" style="padding-bottom: 30rpx;">未点名的课次在这里,日常关</view>
<view class="line">注检查不能少</view>
</view>
<view class="line-1-box" ></view>
<view class="sure-btn" data-index="{{3}}" bindtap="nextGuide">好的</view>
</view>
</view>
<view class="guide-step guide-step4" wx:if="{{guideIndex == 4}}" style="top: {{(statusBarHeight+titleBarHeight+110)*2}}rpx">
<view class="guide-content" >
<view class="item" >
<image class="item-icon" src="{{imageRoot}}2b/deskcenter2/icon_add.png?{{imageRoot}}"/>
<view class="item-title">发布</view>
</view>
<view class="item">
<image class="item-icon" src="{{imageRoot}}2b/deskcenter2/icon_clock.png?{{imageRoot}}"/>
<view class="item-title">打卡</view>
</view>
<view class="item">
<image class="item-icon" src="{{imageRoot}}2b/deskcenter2/icon_review.png?{{imageRoot}}"/>
<view class="item-title">课堂点评</view>
</view>
<view class="item" >
<image class="item-icon" src="{{imageRoot}}2b/deskcenter2/icon_classservice.png?{{imageRoot}}"/>
<view class="item-title">教务</view>
</view>
<view class="item" >
<image class="item-icon" src="{{imageRoot}}2b/deskcenter2/icon_signup.png?{{imageRoot}}"/>
<view class="item-title">报名</view>
</view>
</view>
<view class="guide-line">
<view class="part2"></view>
<view class="part1"></view>
</view>
<view class="guide-text" >
<view class="left" >
<view class="line" style="padding-bottom: 30rpx;">在这里发布动态、打卡、课堂</view>
<view class="line">点评、教务管理、新学生报名</view>
</view>
<view class="line-1-box" ></view>
<view class="sure-btn" data-index="{{4}}" bindtap="nextGuide">好的</view>
</view>
</view>
<view class="guide-step guide-step4 guide-step5" wx:if="{{guideIndex == 5}}" style="top: {{(statusBarHeight+titleBarHeight+180)*2}}rpx">
<view class="guide-content" >
<view class="item" >
<image class="item-icon" src="{{imageRoot}}2b/deskcenter2/icon_student.png?{{imageRoot}}"/>
<view class="item-title">学员</view>
</view>
<view class="item">
<image class="item-icon" src="{{imageRoot}}2b/deskcenter2/icon_potentialcustomer.png?{{imageRoot}}"/>
<view class="item-title">潜客</view>
</view>
<view class="item" >
<image class="item-icon" src="{{imageRoot}}2b/deskcenter2/icon_points.png?{{imageRoot}}"/>
<view class="item-title">积分</view>
</view>
<view class="item" >
<image class="item-icon" src="{{imageRoot}}2b/deskcenter2/icon_website.png?{{imageRoot}}"/>
<view class="item-title">微官网</view>
</view>
</view>
<view class="guide-line">
<view class="part2"></view>
<view class="part1"></view>
</view>
<view class="guide-text" >
<view class="left" >
<view class="line" style="padding-bottom: 30rpx;">在这里打造家校个性化服务,</view>
<view class="line">展示个性化校区</view>
</view>
<view class="line-1-box" ></view>
<view class="sure-btn" data-index="{{5}}" bindtap="nextGuide">好的</view>
</view>
</view>
</view> -->
business/pages/classservice/teacherindex.wxss
0 → 100644
View file @
683a0b92
/* business/pages/deskcenter/index.wxss */
page{
/* background: #F2F2F2; */
height: 100%;
}
.nav-header{
width: 100%;
position: fixed;
top: 0;
left: 0;
background: #35BAFD;
z-index: 99
}
.nav-custombox{
height: 100%;
position: relative;
width: 100%;
}
.nav-custombox .message{
width: 60rpx;
height: 60rpx;
position: absolute;
left: 20rpx;
top: 50%;
transform: translateY(-50%);
}
.nav-custombox .message .red-dot{
position: absolute;
top: -7rpx;
right: -7rpx;
padding: 0 8rpx;
height: 30rpx;
min-width: 30rpx;
background:rgba(255,48,48,1);
border-radius: 15rpx;
font-size: 20rpx;
font-weight: 500;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
border: 3rpx solid rgba(255,255,255,1);
}
.nav-custombox .message .icon{
width: 60rpx;
height: 60rpx;
}
.nav-custombox .menu-box{
width: 500rpx;
display: flex;
align-items: center;
justify-content: center;
height: 100%;
position: absolute;
left: 50%;
transform: translateX(-50%);
}
.nav-custombox .menu-box .title{
max-width: 400rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
color: #fff;
}
.nav-custombox .menu-box .arrowwhite {
width: 28rpx;
height: 16rpx;
margin-left: 12rpx;
transition: all 0.1s;
}
.nav-custombox .menu-box .arrowwhite.down {
transform: rotate(180deg);
}
.top-nav{
width: 100%;
background: #35BAFD;
display: flex;
padding: 28rpx 0 86rpx;
}
.top-nav .nav-item{
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: #fff;
line-height: 1;
}
.top-nav .nav-item .item-num{
font-size: 34rpx;
font-weight: bold;
}
.top-nav .nav-item .item-title{
font-size: 24rpx;
padding-top: 29rpx;
}
.page-tabbox{
display: flex;
align-items: center;
padding: 8rpx 0 32rpx;
}
.page-tabbox .tab-item{
width: 164rpx;
height: 56rpx;
background: rgba(53,186,253,1);
border-radius: 28rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 28rpx;
color: #fff;
font-weight: 500;
}
.container{
padding-bottom: 120rpx;
}
.container-padding{
/* padding: 0 24rpx; */
/* position: relative;
top: -60rpx; */
}
.gray-wrap{
/* position: relative;
top: -60rpx; */
background:rgba(242,242,242,1);
}
.section-wrap{
padding: 0 24rpx;
margin-bottom: 24rpx;
position: relative;
top: -60rpx;
}
.section-wrap:last-of-type{
margin-right: 0;
}
.section{
background: #fff;
border-radius: 20rpx;
padding: 32rpx 24rpx;
line-height: 1;
position: relative;
}
.section-warn{
height: 100rpx;
padding: 0 24rpx;
display: flex;
align-items: center;
justify-content: space-between;
}
.section-warn .title-l{
display: flex;
align-items: center;
}
.section-warn .title-l .icon-warn{
width: 63rpx;
height: 31rpx;
position: relative;
margin-right: 28rpx;
}
.section-warn .title-l .icon-warn::after{
content: '';
width: 1px;
height: 30rpx;
background: rgba(0,0,0,.05);
position: absolute;
top: 50%;
right: 23rpx;
transform: translateY(-50%);
}
.section-warn .title-l .warn-title{
font-size: 28rpx;
color: #3D4045;
font-weight: 500;
display: flex;
}
.section-warn .title-l .warn-title .warn-num{
color: #FFA032;
}
.section-warn .title-r{
display: flex;
align-items: center;
font-size: 24rpx;
color: #8B8B8B;
}
.section-warn .title-r .icon-arr{
width: 11rpx;
height: 20rpx;
margin-left: 17rpx;
}
.section .section-title{
display: flex;
align-items: center;
}
.section .section-title .title-icon{
width: 32rpx;
height: 32rpx;
margin-right: 20rpx;
}
.section .section-title .title-text{
font-size: 28rpx;
color: #3D3D3D;
font-weight: bold;
}
.section .section-title .subtitle-text{
font-size: 24rpx;
color: rgba(47,47,47,.6);
}
.section .section-innerbox{
display: flex;
flex-wrap: wrap;
padding-top: 36rpx;
}
.section .section-innerbox .item{
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 95rpx;
margin-right: 45rpx;
position: relative;
padding: 12rpx 0 9rpx;
}
.section .section-innerbox .item:nth-child(5n){
margin-right: 0;
}
.section .section-innerbox .item .item-icon{
width: 77rpx;
height: 77rpx;
}
.section .section-innerbox .item .item-title{
font-size: 22rpx;
color: #515558;
font-weight: 500;
padding: 14rpx 0 4rpx;
}
/* src/pages/datacenter/index.wxss */
.canvas{
width: 100%;
height: 200px;
}
.ringcanvas{
width: 100%;
height: 200px;
position: absoulte;
top: 57%;
left: 50%;
transform: translate(-50%,-50%);
}
.column-chart-box{}
.column-chart-box .tab-box{
width: 136rpx;
height: 50rpx;
border: 1px solid rgba(101,184,244,1);
border-radius: 10rpx;
display: flex;
position: absolute;
right: 36rpx;
top: 23rpx;
}
.column-chart-box .tab-box .tab-item{
flex: 1;
display: flex;
align-items: center;
justify-content: center;
height:100%;
font-size: 26rpx;
color: #65B8F4;
}
.column-chart-box .tab-box .tab-act{
background: #65B8F4;
color: #fff;
}
.column-chart-box .chart-box{
margin-top: 30rpx;
height: 200px;
/* 为了隐藏canvas占位 */
}
.column-chart-box .count-box{}
.column-chart-box .count-box .name{
font-size:26rpx;
font-family:PingFang-SC-Regular;
font-weight:400;
color:rgba(90,90,90,1);
line-height: 1;
}
.column-chart-box .count-box .count{
font-size:28rpx;
font-family:PingFang-SC-Bold;
font-weight:bold;
color:rgba(0,0,0,1);
line-height: 1;
padding-left: 28rpx;
}
.ring-chart-box .title{
/* padding: 44rpx 24rpx 0 24rpx; */
}
.ring-chart-box .title .small{
font-size:24rpx;
font-family:PingFang-SC-Regular;
font-weight:400;
color:rgba(47,47,47,.6);
line-height:1;
}
.ring-chart-box .title .bold {
font-family:PingFang-SC-Bold;
font-weight:bold;
color:rgba(47,47,47,1);
line-height:1;
font-size:28rpx;
}
.ring-chart-box .chart-box{
display: flex;
position: relative;
}
.ring-chart-box .chart-box .chart-item{
flex: 1;
/* overflow: hidden; */
max-width: 33.33%;
padding: 20rpx 0;
}
.ring-chart-box .chart-box .chart-item .canvas-box{
position: relative;
height: 85px;
/* margin-top: -120rpx; */
}
.ring-chart-box .chart-box .chart-item .canvas-box::after{
content: '';
width: 140rpx;
height: 140rpx;
border: 1px solid rgba(255,185,122,1);
border-radius: 50%;
position: absolute;
top: 43%;
left: 50%;
transform: translate(-50%,-50%);
}
.content-box{
position: relative;
/* margin-top: -120rpx; */
}
.ring-chart-box .chart-box .chart-item .name{
font-size: 24rpx;
font-family:PingFang-SC-Regular;
font-weight:400;
color:rgba(90,90,90,1);
line-height: 1;
text-align: center;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
}
.ring-chart-box .chart-box .chart-item .count{
font-size:24rpx;
font-family:PingFang-SC-Bold;
font-weight:bold;
color:rgba(0,0,0,1);
line-height:1;
padding-top: 18rpx;
text-align: center;
}
.empty-content {
padding: 100rpx 0;
display: flex;
flex-direction: column;
align-items: center;
line-height: 45rpx;
}
.empty-content .empty-text {
font-size: 26rpx;
color: rgba(0, 0, 0, 0.6);
}
@keyframes modalshow {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes modalhide {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@keyframes modalmoveup {
from {
transform: translateY(100%);
}
to {
transform: translateY(0%);
}
}
@keyframes modalmovedown {
from {
transform: translateY(0);
}
to {
transform: translateY(100%);
}
}
/* 发布弹框 */
.modal{
position: fixed;
width: 100%;
height: 100%;
background: rgba(0,0,0,.5);
top: 0;
left: 0;
z-index: 200;
line-height: 1;
animation: modalshow 0.2s linear;
}
.modal.hide{
animation: modalhide 0.2s linear forwards;
}
.modal .mask{
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
}
.modal .modal-content{
position: fixed;
width: 100%;
left: 0;
bottom: 0;
background: #fff;
border-radius: 30rpx 30rpx 0 0;
z-index: 201;
padding-top: 10rpx;
animation: modalmoveup 0.2s linear forwards;
}
.modal.hide .modal-content{
animation: modalmovedown 0.2s linear forwards;
}
.modal .modal-content .part-box .part-title{
font-size: 26rpx;
color: #3D3D3D;
font-weight: bold;
padding: 40rpx 24rpx 0 24rpx;
}
.modal .modal-content .part-box .part-list{
display: flex;
flex-wrap: wrap;
padding: 0 24rpx;
}
.modal .modal-content .part-box .part-list .part-item{
display: flex;
align-items: center;
width: 340rpx;
height: 120rpx;
padding: 19rpx;
box-sizing: border-box;
position: relative;
margin: 20rpx 22rpx 0 0;
border-radius: 20rpx;
}
.modal .modal-content .part-box .part-list .part-item:nth-child(2n){
margin-right: 0;
}
.modal .modal-content .part-box .part-list .part-item .item-icon{
width: 82rpx;
height: 82rpx;
}
.modal .modal-content .part-box .part-list .part-item .item-title-box{
color: #fff;
padding-left: 21rpx;
}
.modal .modal-content .part-box .part-list .part-item .item-title-box .item-title{
font-size: 26rpx;
font-weight: bold;
}
.modal .modal-content .part-box .part-list .part-item .item-title-box .item-desc{
font-size: 22rpx;
font-weight: 500;
padding-top: 19rpx;
opacity: .7;
}
.modal .modal-content .btn-cancel{
width: 100%;
height: 100rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 34rpx;
color: #5B5B5B;
font-weight: 500;
position: relative;
margin-top: 35rpx;
}
.modal .modal-content .btn-cancel::before{
content: '';
width: 100%;
height: 1px;
background: rgba(0,0,0,.1);
position: absolute;
left: 0;
top: 0;
}
.bg-FFA922{
background: #FFA922;
}
.bg-2AACFA{
background: #2AACFA;
}
.bg-24CCA9{
background: #24CCA9;
}
.bg-9758FF{
background: #9758FF;
}
.bg-FA5053{
background: #FA5053;
}
.bg-6AAD22{
background: #6AAD22;
}
cover-view{
line-height: 1;
}
.recently-class{
width: 100%;
background: #fff;
position: relative;
top: -40rpx;
}
.recently-class .title{
display: flex;
justify-content: space-between;
align-items: center;
padding: 30rpx 24rpx 26rpx 26rpx;
}
.recently-class .title .left{
font-size:30rpx;
font-family:PingFang SC;
font-weight:bold;
color:rgba(61,61,61,1);
}
.recently-class .title .left image{
width: 32rpx;
height: 32rpx;
margin-right: 18rpx;
}
.recently-class .title .right{
font-size:24rpx;
font-family:PingFang SC;
font-weight:400;
color:rgba(139,139,139,1);
}
.recently-class .title .right image{
width:11rpx;
height:20rpx;
margin-left: 18rpx;
}
.recently-class .content-box{
padding-left: 40rpx;
}
.recently-class .content-box .class-item{
display: flex;
align-items: center;
padding: 37rpx 0;
border-bottom: 1px solid rgba(0, 0, 0, .05);
}
.recently-class .content-box .class-item .icon{
width:7rpx;
height:21rpx;
background:rgba(28,200,246,1);
border-radius:4rpx;
margin-right: 30rpx;
}
.recently-class .content-box .class-item .name{
font-size:26rpx;
font-family:PingFang SC;
font-weight:500;
color:rgba(0,0,0,1);
}
.wanted-btn{
width:414rpx;
height:70rpx;
position: fixed;
left: 168rpx;
bottom: 170rpx;
background:rgba(101,184,244,1);
border-radius:35rpx;
display: flex;
align-items: center;
justify-content: center;
font-size:30rpx;
font-family:PingFang SC;
font-weight:500;
color:rgba(255,255,255,1);
}
\ No newline at end of file
business/pages/classservice/tindex.wxml
View file @
683a0b92
...
...
@@ -43,7 +43,6 @@
</form>
</view>
</view>
<view class="nav-box">
<view class="nav-item" bindtap="goclasslist">
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
...
...
business/pages/deskcenter/index.wxml
View file @
683a0b92
<!--business/pages/deskcenter/index.wxml-->
<view class="nav-header" style="padding-top: {{statusBarHeight}}px;">
<view class="nav-custombox" style="height: {{titleBarHeight}}px;">
<view class="message" bindtap="gotodotasks">
<
!-- <
view class="message" bindtap="gotodotasks">
<image class="icon" src="{{imageRoot}}2b/deskcenter2/icon_msg.png?{{imageRoot}}"/>
<view class="red-dot" wx:if="{{waitJob>0}}">{{waitJob>99?'···':waitJob}}</view>
</view>
</view>
-->
<view class="menu-box">
<view class="title">{{selectSchoolData.title}}</view>
</view>
...
...
business/pages/exchangebusiness/index.js
View file @
683a0b92
...
...
@@ -89,7 +89,7 @@ Page({
return
}
wx
.
navigateTo
({
url
:
`/business/pages/classservice/tindex?sid=
${
item
.
id
}
`
,
url
:
`/business/pages/classservice/t
eacher
index?sid=
${
item
.
id
}
`
,
})
}
...
...
business/pages/organizationalmgt/index.js
View file @
683a0b92
...
...
@@ -38,6 +38,7 @@ Page({
//意见反馈参数
feedbackAppId
:
'wx8abaf00ee8c3202e'
,
allSubject
:[],
waitJob
:
0
,
extraData
:
{
id
:
"65621"
,
customData
:
{
...
...
@@ -51,14 +52,10 @@ Page({
* 生命周期函数--监听页面加载
*/
onLoad
:
function
(
options
)
{
if
(
options
.
sid
)
{
this
.
setData
({
sid
:
options
.
sid
});
}
if
(
wx
.
hideHomeButton
){
wx
.
hideHomeButton
();
}
const
{
sid
,
}
=
options
this
.
setData
({
sid
,
});
},
/**
...
...
@@ -77,6 +74,7 @@ Page({
dakarole
:
dakarole
,
})
this
.
nicknameGet
();
this
.
getCommonwaitJob
();
if
(
this
.
data
.
sid
){
this
.
getCategory
();
}
...
...
@@ -135,6 +133,17 @@ Page({
}
})
},
getCommonwaitJob
()
{
commonwaitjobGet
({
school_id
:
this
.
data
.
sid
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
setData
({
waitJob
:
(
res
.
data
.
apply_number
||
0
)
+
(
res
.
data
.
customer_number
||
0
)
+
(
res
.
data
.
noReviews
||
0
)
})
}
})
},
getCategory
()
{
getCategory
().
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
// 成功的操作
...
...
@@ -185,5 +194,10 @@ Page({
wx
.
navigateTo
({
url
:
`/business/pages/organizationalmgt/pcwebsiteintroduction`
})
}
},
gotodotasks
(){
wx
.
navigateTo
({
url
:
`/business/pages/todotasks/index?sid=
${
this
.
data
.
sid
}
`
})
},
})
\ No newline at end of file
business/pages/organizationalmgt/index.wxml
View file @
683a0b92
...
...
@@ -25,6 +25,15 @@
</view>
</view>
<view class="line-box">
<view class="line" bindtap="gotodotasks">
<view class="left">
<image class="icon message-icon" src="{{localImageRoot}}2b/classervice/message-icon.png?{{imageVersion}}"/>消息
</view>
<view class="right">
<view class="red-dot" wx:if="{{waitJob>0}}">{{waitJob}}</view>
<image class="right-icon" src="{{imageRoot}}2b/organizationalmgt/right.png?{{imageVersion}}"></image>
</view>
</view>
<view class="line" bindtap="goPcwebsite">
<view class="left">
<image class="icon" src="{{imageRoot}}2b/organizationalmgt/pc-icon.png?{{imageVersion}}"/>登录PC管理
...
...
business/pages/organizationalmgt/index.wxss
View file @
683a0b92
...
...
@@ -117,6 +117,25 @@ page{
height: 40rpx;
margin-right: 22rpx;
}
.line-box .line .left .message-icon{
width: 31rpx;
height: 29rpx;
}
.line-box .line .right{
display: flex;
align-items: center;
}
.line-box .line .right .red-dot{
padding: 10rpx 7rpx;
font-size:20rpx;
font-family:PingFang SC;
font-weight:400;
color:rgba(255,255,255,1);
line-height:1;
background:rgba(255,48,48,1);
border-radius:50%;
margin-right: 27rpx;
}
.line-box .line .right-icon{
width:11rpx;
height:20rpx;
...
...
components/btabbar/index.js
View file @
683a0b92
...
...
@@ -90,7 +90,7 @@ Component({
break
case
'class'
:
// 跳转课务
if
(
this
.
data
.
dakarole
==
2
){
url
=
`/business/pages/classservice/tindex?sid=
${
this
.
data
.
sid
}
`
;
url
=
`/business/pages/classservice/t
eacher
index?sid=
${
this
.
data
.
sid
}
`
;
}
else
{
url
=
`/business/pages/classservice/bindex?sid=
${
this
.
data
.
sid
}
`
;
}
...
...
components/btabbar/index.wxml
View file @
683a0b92
...
...
@@ -37,9 +37,9 @@
</block>
<block wx:if="{{dakarole==2}}">
<view class="btabbaritem {{current == 'class' ? 'active' : ''}}" bindtap="chooseTab" data-type="class">
<image class="icon
class" wx:if="{{current != 'class'}}" src="/images/btabbar/home
.png" ></image>
<image class="icon
class" wx:if="{{current == 'class'}}" src="/images/btabbar/home
active.png" ></image>
<text class="btabbaritemname">
首页
</text>
<image class="icon
workbench" wx:if="{{current != 'class'}}" src="/images/btabbar/workbench
.png" ></image>
<image class="icon
workbench" wx:if="{{current == 'class'}}" src="/images/btabbar/workbench
active.png" ></image>
<text class="btabbaritemname">
工作台
</text>
</view>
</block>
<view class="btabbaritem {{current == 'ucenter' ? 'active' : ''}}" bindtap="chooseTab" data-type="ucenter">
...
...
images/2b/classervice/homewor-comments.png
0 → 100644
View file @
683a0b92
2.64 KB
images/2b/classervice/message-icon.png
0 → 100644
View file @
683a0b92
416 Bytes
images/2b/classervice/myclass-icon.png
0 → 100644
View file @
683a0b92
2.94 KB
images/2b/classervice/recently-clock.png
0 → 100644
View file @
683a0b92
977 Bytes
images/2b/classervice/school-timetable.png
0 → 100644
View file @
683a0b92
2.98 KB
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