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
bbcbd058
Commit
bbcbd058
authored
Mar 20, 2020
by
wangxuelai
Browse files
Options
Browse Files
Download
Plain Diff
''
parents
8a0ed3a8
8a788e5e
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
1607 additions
and
11 deletions
+1607
-11
app.json
app.json
+4
-1
index.wxml
business/pages/teachermgt/index.wxml
+0
-3
addmember.js
business/pages/themeindex/addmember.js
+298
-0
addmember.json
business/pages/themeindex/addmember.json
+8
-0
addmember.wxml
business/pages/themeindex/addmember.wxml
+29
-0
addmember.wxss
business/pages/themeindex/addmember.wxss
+105
-0
jobclockdata.js
business/pages/themeindex/jobclockdata.js
+77
-0
jobclockdata.json
business/pages/themeindex/jobclockdata.json
+4
-0
jobclockdata.wxml
business/pages/themeindex/jobclockdata.wxml
+130
-0
jobclockdata.wxss
business/pages/themeindex/jobclockdata.wxss
+171
-0
members.js
business/pages/themeindex/members.js
+452
-0
members.json
business/pages/themeindex/members.json
+8
-0
members.wxml
business/pages/themeindex/members.wxml
+79
-0
members.wxss
business/pages/themeindex/members.wxss
+177
-0
api.js
constants/api.js
+9
-4
call_phone.png
images/2b/themeindex/call_phone.png
+0
-0
check.png
images/2b/themeindex/check.png
+0
-0
check_active.png
images/2b/themeindex/check_active.png
+0
-0
help_tip.png
images/2b/themeindex/help_tip.png
+0
-0
themeindex.js
service/business/themeindex.js
+56
-3
No files found.
app.json
View file @
bbcbd058
...
...
@@ -360,7 +360,10 @@
"name"
:
"businessthemeindex"
,
"pages"
:
[
"index"
,
"unlockstudent"
"unlockstudent"
,
"jobclockdata"
,
"members"
,
"addmember"
]
},
{
...
...
business/pages/teachermgt/index.wxml
View file @
bbcbd058
...
...
@@ -44,9 +44,6 @@
<view class="has-nomore" wx:if="{{!emptyPage && !hasmore}}">没有更多了</view>
<view class="form-fixbtn" bindtap="addOrEditTeacher" data-id='0'>
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton"></button>
</form>
新增老师
</view>
</view>
...
...
business/pages/themeindex/addmember.js
0 → 100644
View file @
bbcbd058
// business/pages/themeindex/addmember.js
import
{
erpTeacherList
,
}
from
'../../../service/business/teachermgt.js'
;
import
{
subjectTeachers
,
saveSubjectTeachers
,
}
from
'../../../service/business/themeindex.js'
;
var
app
=
getApp
();
Page
({
/**
* 页面的初始数据
*/
data
:
{
imageRoot
:
app
.
globalData
.
imageRoot
,
imageVersion
:
app
.
globalData
.
imageVersion
,
localImageRoot
:
'../../../images/'
,
sid
:
''
,
teacherList
:
[],
teacherTatol
:
''
,
perPage
:
10
,
page
:
1
,
listLoading
:
false
,
hasmore
:
true
,
emptyPage
:
false
,
checkedIdArr
:
[],
checkedIdStr
:
''
,
saveSubmit
:
false
,
exclude
:
[],
},
/**
* 生命周期函数--监听页面加载
*/
onLoad
:
function
(
options
)
{
const
{
sid
,
subject_type
,
subject_id
}
=
options
;
this
.
setData
({
sid
,
subject_id
,
subject_type
,
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady
:
function
()
{
},
/**
* 生命周期函数--监听页面显示
*/
onShow
:
function
()
{
this
.
getList
()
setTimeout
(()
=>
{
this
.
setData
({
page
:
1
,
hasmore
:
true
,
})
this
.
getTeacherList
(
'init'
);
},
300
)
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide
:
function
()
{
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload
:
function
()
{
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh
:
function
()
{
this
.
setData
({
page
:
1
,
hasmore
:
true
,
})
this
.
getTeacherList
(
'down'
);
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom
:
function
()
{
this
.
getTeacherList
(
'up'
);
},
/**
* 用户点击右上角分享
*/
onShareAppMessage
:
function
()
{
},
//
getList
(){
subjectTeachers
({
page
:
1
,
perPage
:
199
,
subject_id
:
this
.
data
.
subject_id
,
subject_type
:
this
.
data
.
subject_type
,
}).
then
((
res
)
=>
{
const
{
code
,
data
}
=
res
;
let
list
=
data
.
list
;
let
newExclude
=
this
.
data
.
exclude
list
.
forEach
((
item
)
=>
{
newExclude
.
push
(
item
.
school_teacher
.
id
)
})
this
.
setData
({
exclude
:
[...
newExclude
]
})
})
},
// 教师列表
getTeacherList
(
type
)
{
if
(
!
this
.
data
.
hasmore
)
{
return
;
}
if
(
this
.
data
.
listLoading
)
{
return
}
this
.
setData
({
listLoading
:
true
})
erpTeacherList
({
page
:
this
.
data
.
page
,
perPage
:
this
.
data
.
perPage
,
school_id
:
this
.
data
.
sid
,
exclude_ids
:
this
.
data
.
exclude
.
join
(
','
),
}).
then
((
res
)
=>
{
const
{
code
,
data
}
=
res
;
wx
.
hideLoading
();
this
.
setData
({
listLoading
:
false
})
if
(
code
!=
200
)
{
// 失败的处理
}
else
{
if
(
data
.
total
)
{
this
.
setData
({
teacherTatol
:
data
.
total
})
}
switch
(
type
)
{
case
'init'
:
//页面进来第一次加载
this
.
setData
({
teacherList
:
data
.
list
},
()
=>
{
if
(
this
.
data
.
teacherTatol
>
this
.
data
.
teacherList
.
length
)
{
let
page
=
this
.
data
.
page
+
1
;
console
.
log
(
page
,
'page'
);
this
.
setData
({
page
,
})
}
else
{
// 没有更多了
this
.
setData
({
hasmore
:
false
})
}
})
break
;
case
'down'
:
// 页面下拉刷新
this
.
setData
({
teacherList
:
data
.
list
||
[]
},
()
=>
{
if
(
this
.
data
.
teacherTatol
>
this
.
data
.
teacherList
.
length
)
{
let
page
=
this
.
data
.
page
+
1
;
this
.
setData
({
page
,
})
}
else
{
// 没有更多了
this
.
setData
({
hasmore
:
false
})
}
})
wx
.
stopPullDownRefresh
();
break
;
case
'up'
:
// 页面上拉刷新
let
list
=
this
.
data
.
teacherList
;
let
_list
=
list
.
concat
(
data
.
list
);
this
.
setData
({
teacherList
:
_list
},
()
=>
{
if
(
this
.
data
.
teacherTatol
>
this
.
data
.
teacherList
.
length
)
{
let
page
=
this
.
data
.
page
+
1
;
this
.
setData
({
page
,
})
}
else
{
// 没有更多了
this
.
setData
({
hasmore
:
false
})
}
})
break
;
default
:
break
;
}
if
(
this
.
data
.
teacherList
.
length
==
0
)
{
this
.
setData
({
emptyPage
:
true
})
}
else
{
this
.
setData
({
emptyPage
:
false
})
}
}
}).
catch
((
e
)
=>
{
this
.
setData
({
listLoading
:
false
})
})
},
handleCheck
:
function
(
e
)
{
const
{
dataset
}
=
e
.
currentTarget
;
const
selected
=
dataset
.
item
;
let
checkedIdArr
=
this
.
data
.
checkedIdArr
;
if
(
!
checkedIdArr
.
find
(
ele
=>
(
ele
==
selected
.
id
)))
{
checkedIdArr
.
push
(
selected
.
id
);
}
else
{
let
index
=
checkedIdArr
.
findIndex
((
ele
)
=>
(
ele
==
selected
.
id
));
checkedIdArr
.
splice
(
index
,
1
);
}
Object
.
assign
(
this
.
data
,
{
checkedIdStr
:
checkedIdArr
.
join
(
','
),
})
this
.
setData
({
checkedIdArr
:
checkedIdArr
,
})
},
addTeacher
(
e
)
{
const
{
id
}
=
e
.
currentTarget
.
dataset
;
wx
.
navigateTo
({
url
:
`/business/pages/teachermgt/edit?sid=
${
this
.
data
.
sid
}
&id=
${
id
}
`
})
},
saveTeacher
(){
const
{
checkedIdArr
,
saveSubmit
,
subject_id
,
subject_type
}
=
this
.
data
;
if
(
checkedIdArr
.
length
==
0
)
{
wx
.
showModal
({
title
:
'提示'
,
content
:
'请选择老师'
,
showCancel
:
false
,
confirm
:
true
,
confirmColor
:
'#65B8F4'
})
return
;
}
if
(
saveSubmit
)
{
// 防止数据重复提交
return
}
this
.
setData
({
saveSubmit
:
true
})
wx
.
showLoading
({
title
:
'保存中...'
})
saveSubjectTeachers
({
subject_id
,
subject_type
,
teacher_ids
:
checkedIdArr
.
join
(
','
)
}).
then
((
res
)
=>
{
const
{
code
,
data
}
=
res
;
this
.
setData
({
saveSubmit
:
false
})
if
(
code
==
200
){
wx
.
navigateBack
({
delta
:
1
,
})
}
else
{
wx
.
hideLoading
();
}
}).
catch
(()
=>
{
wx
.
hideLoading
();
this
.
setData
({
saveSubmit
:
false
})
})
}
})
\ No newline at end of file
business/pages/themeindex/addmember.json
0 → 100644
View file @
bbcbd058
{
"navigationBarTitleText"
:
"添加老师"
,
"enablePullDownRefresh"
:
true
,
"usingComponents"
:
{
"list-loading"
:
"../../../components/listloading"
,
"empty-content"
:
"../../../components/emptycontent"
}
}
\ No newline at end of file
business/pages/themeindex/addmember.wxml
0 → 100644
View file @
bbcbd058
<!--business/pages/themeindex/addmember.wxml-->
<wxs src="./../../../filter/index.wxs" module="filter" />
<view class="container">
<view class="teacher-list" wx:if='{{teacherTatol>0}}'>
<block wx:for='{{teacherList}}' wx:key='id'>
<view class="teacher-item" data-item="{{item}}" wx:key="index" bindtap="handleCheck">
<view class="teacher-left">
<image class="teacher-avatar" src="{{filter.imagify(item.avatar)}}" wx:if="{{item.avatar}}"></image>
<image class="teacher-avatar" src="{{imageRoot}}common/empty/avatar_teacher.png?{{imageVersion}}" wx:else></image>
<view class="teacher-name">{{item.nickname}}</view>
</view>
<view class="teacher-right">
<image class="icon-checkbox" src="{{localImageRoot}}2b/themeindex/check_active.png" wx:if="{{filter.checkSelect(item, checkedIdArr)}}"></image>
<image class="icon-checkbox" src="{{localImageRoot}}2b/themeindex/check.png" wx:else></image>
</view>
</view>
</block>
</view>
<empty-content text="暂无数据~" emptyimg="" wx:if="{{emptyPage}}"></empty-content>
<list-loading loading="{{listLoading}}"></list-loading>
<view class="has-nomore" wx:if="{{!emptyPage && !hasmore}}">没有更多了</view>
<view class="fixed">
<view class="save-btn" bindtap="saveTeacher">保存</view>
<view class="add-teacher" bindtap="addTeacher" data-id='0'>新增老师</view>
</view>
</view>
\ No newline at end of file
business/pages/themeindex/addmember.wxss
0 → 100644
View file @
bbcbd058
/* business/pages/themeindex/addmember.wxss */
.container {
padding-bottom: 200rpx;
}
.teacher-list {
padding: 0 20rpx;
}
.has-nomore {
font-size: 26rpx;
color: #9c9c9d;
padding: 75rpx 0;
text-align: center;
}
.teacher-list .teacher-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 20rpx 0;
border-bottom: 2rpx solid #f1f2f3;
}
.teacher-list .teacher-item .teacher-left {
display: flex;
align-items: center;
}
.teacher-list .teacher-item .teacher-avatar {
width: 72rpx;
height: 72rpx;
border-radius: 50%;
margin-right: 16rpx;
}
.teacher-list .teacher-item .teacher-name {
font-size: 26rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: rgba(34, 34, 34, 1);
line-height: 36rpx;
max-width: 400rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.teacher-list .teacher-item .teacher-my {
font-size: 22rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: rgba(153, 153, 153, 1);
line-height: 32rpx;
}
.teacher-list .teacher-item .teacher-remove {
font-size: 26rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: rgba(22, 176, 253, 1);
line-height: 36rpx;
}
.icon-checkbox {
width: 38rpx;
height: 38rpx;
position: relative;
margin-right: 39rpx;
}
.fixed {
position: fixed;
left: 50%;
transform: translateX(-50%);
bottom: 0;
width: 100%;
/* height: 368rpx; */
background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 77%,rgba(255,255,255,1) 100%);
}
.fixed .save-btn {
width:630rpx;
height:90rpx;
border-radius: 49rpx;
background-color: #16B0FD;
font-size:32rpx;
font-family:PingFangSC-Regular,PingFang SC;
font-weight:400;
color:rgba(255,255,255,1);
line-height: 90rpx;
text-align: center;
box-shadow:0 0 20rpx rgba(22,176,253,.8);
/* margin: 180rpx auto 0; */
margin: 0 auto ;
}
.fixed .add-teacher {
width: 100%;
height: 98rpx;
line-height: 98rpx;
text-align: center;
color: #16B0FD;
font-size: 28rpx;
font-family:PingFangSC-Regular,PingFang SC;
font-weight:400;
}
\ No newline at end of file
business/pages/themeindex/jobclockdata.js
0 → 100644
View file @
bbcbd058
// business/pages/themeindex/jobclockdata.js
var
app
=
getApp
();
Page
({
/**
* 页面的初始数据
*/
data
:
{
imageRoot
:
app
.
globalData
.
imageRoot
,
imageVersion
:
app
.
globalData
.
imageVersion
,
localImageRoot
:
'../../../images/'
,
jobTabs
:
[{
title
:
'数据总览'
},
{
title
:
'点赞排行'
},
{
title
:
'积分排行'
}],
currentTabsIndex
:
0
,
},
/**
* 生命周期函数--监听页面加载
*/
onLoad
:
function
(
options
)
{
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady
:
function
()
{
},
/**
* 生命周期函数--监听页面显示
*/
onShow
:
function
()
{
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide
:
function
()
{
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload
:
function
()
{
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh
:
function
()
{
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom
:
function
()
{
},
/**
* 用户点击右上角分享
*/
onShareAppMessage
:
function
()
{
},
onTabChange
:
function
(
event
)
{
var
index
=
event
.
currentTarget
.
dataset
.
index
;
this
.
setData
({
currentTabsIndex
:
index
})
},
})
\ No newline at end of file
business/pages/themeindex/jobclockdata.json
0 → 100644
View file @
bbcbd058
{
"navigationBarTitleText"
:
"作业打卡数据"
,
"usingComponents"
:
{}
}
\ No newline at end of file
business/pages/themeindex/jobclockdata.wxml
0 → 100644
View file @
bbcbd058
<!--business/pages/themeindex/jobclockdata.wxml-->
<view class="container">
<view class="topHead">
<view class="line"></view>
<view class="title">作业打卡标题: 各位同学,请提交今日作业各位同学,请提交今日作业各位同各位同学,请提交今日作业各位同学,请提交今日作业各位同学</view>
</view>
<view class="tabs-box">
<block wx:for="{{jobTabs}}" wx:key="id">
<view class="tabs-item {{currentTabsIndex == index?'selected':''}}" bindtap='onTabChange' data-index='{{index}}'>
{{item.title}}
</view>
</block>
</view>
<view class='data-wrap' hidden='{{currentTabsIndex != 0}}'>
<view class="total-list">
<view class="total-item">
<view class="total-num">1111</view>
<view class="total-tip">访问人数</view>
</view>
<view class="total-item">
<view class="total-num">1111</view>
<view class="total-tip">报名人数</view>
</view>
<view class="total-item">
<view class="total-num">1111</view>
<view class="total-tip">已打卡人数</view>
</view>
<view class="total-item">
<view class="total-num">1111</view>
<view class="total-tip">评论数 <image class="imgTip" src="{{localImageRoot}}2b/themeindex/help_tip.png"></image></view>
</view>
<view class="total-item">
<view class="total-num">1111</view>
<view class="total-tip">点赞数</view>
</view>
<view class="total-item">
<view class="total-num">1111</view>
<view class="total-tip">分享次数</view>
</view>
<view class="total-item">
<view class="total-num">1111</view>
<view class="total-tip">积分发放数</view>
</view>
<view class="total-item">
<view class="total-num">1111</view>
<view class="total-tip">访问人数</view>
</view>
</view>
<view class="data-tip">更多数据请到电脑后台查看,登录地址:biz.qingxiao.online</view>
</view>
<view class='like-wrap' hidden='{{currentTabsIndex != 1}}'>
<view class="like-tip">什么是点赞排行?</view>
<view class="like-list">
<view class="like-item">
<view class="like-left">
<view class="like-num">11</view>
<image class="like-avatar" src=""></image>
<view class="like-left-info">
<view class="like-name">三年级二班的李存勖</view>
<view class="like-phone">18756834653</view>
</view>
</view>
<view class="like-right">
<view class="like-zan">828赞</view>
<image class="phone-img" src="{{localImageRoot}}2b/themeindex/call_phone.png"></image>
</view>
</view>
<view class="like-item">
<view class="like-left">
<view class="like-num">11</view>
<image class="like-avatar" src=""></image>
<view class="like-left-info">
<view class="like-name">三年级二班的李存勖</view>
<view class="like-phone">18756834653</view>
</view>
</view>
<view class="like-right">
<view class="like-zan">828赞</view>
<image class="phone-img" src="{{localImageRoot}}2b/themeindex/call_phone.png"></image>
</view>
</view>
<view class="like-item">
<view class="like-left">
<view class="like-num">1111</view>
<image class="like-avatar" src=""></image>
<view class="like-left-info">
<view class="like-name">三年级二班的李存勖</view>
<view class="like-phone">18756834653</view>
</view>
</view>
<view class="like-right">
<view class="like-zan">828赞</view>
<image class="phone-img" src="{{localImageRoot}}2b/themeindex/call_phone.png"></image>
</view>
</view>
</view>
</view>
<view class='like-wrap' hidden='{{currentTabsIndex != 2}}'>
<view class="like-tip">什么是积分排行??</view>
<view class="like-list">
<view class="like-item">
<view class="like-left">
<view class="like-num">11</view>
<image class="like-avatar" src=""></image>
<view class="like-left-info">
<view class="like-name">三年级二班的李存勖</view>
<view class="like-phone">18756834653</view>
</view>
</view>
<view class="like-right">
<view class="like-zan">808积分</view>
<image class="phone-img" src="{{localImageRoot}}2b/themeindex/call_phone.png"></image>
</view>
</view>
</view>
</view>
</view>
\ No newline at end of file
business/pages/themeindex/jobclockdata.wxss
0 → 100644
View file @
bbcbd058
/* business/pages/themeindex/jobclockdata.wxss */
.topHead {
display: flex;
padding: 14rpx 42rpx;
position: relative;
border-bottom: 2rpx solid #EBEDF0;
}
.topHead .line {
background-color: #16B0FD;
width: 6rpx;
height: 26rpx;
border-radius: 6rpx;
position: absolute;
top: 22rpx;
left: 24rpx;
}
.topHead .title {
font-size:30rpx;
font-family:PingFangSC-Regular,PingFang SC;
font-weight:400;
color:#222;
line-height:42rpx;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
word-break: break-all;
text-overflow: ellipsis;
}
.tabs-box {
width: 84%;
display: flex;
text-align: center;
height: 60rpx;
line-height: 60rpx;
border: 2rpx solid #16B0FD;
border-radius: 0 4rpx 4rpx 0;
margin: 30rpx auto 0;
}
.tabs-box .tabs-item {
flex: 1;
color:#16B0FD;
font-size:26rpx;
font-family:PingFangSC-Regular,PingFang SC;
font-weight:400;
}
.tabs-box .tabs-item.selected {
color:#fff;
background-color: #16B0FD;
}
.tabs-box .tabs-item:not(:last-child) {
border-right: 2rpx solid #16B0FD;
}
.data-wrap {
margin-top: 50rpx;
padding: 0 24rpx;
}
.data-wrap .total-list {
display: flex;
flex-wrap: wrap;
}
.data-wrap .total-list .total-item {
width: 25%;
text-align: center;
margin-bottom: 40rpx;
}
.total-list .total-item .total-num {
font-size:30rpx;
font-family:PingFangSC-Medium,PingFang SC;
font-weight:500;
color:rgba(34,34,34,1);
line-height:42rpx;
margin-bottom: 10rpx;
}
.total-list .total-item .total-tip {
font-size:26rpx;
font-family:PingFangSC-Regular,PingFang SC;
font-weight:400;
color:rgba(153,153,153,1);
line-height:36rpx;
display: flex;
align-items: center;
justify-content: center;
}
.total-list .total-item .total-tip .imgTip {
width: 26rpx;
height: 26rpx;
margin-left: 4rpx;
}
.data-wrap .data-tip {
font-size:22rpx;
font-family:PingFangSC-Regular,PingFang SC;
font-weight:400;
color:rgba(153,153,153,1);
line-height:32px;
}
.like-wrap {
margin-top: 24rpx;
padding: 0 24rpx;
}
.like-wrap .like-tip {
text-align: right;
font-size:22rpx;
font-family:PingFangSC-Regular,PingFang SC;
font-weight:400;
color:#16B0FD;
line-height:32rpx;
margin-bottom: 12rpx;
}
.like-wrap .like-list .like-item {
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 2rpx solid #F1F2F3;
padding: 20rpx 0;
}
.like-wrap .like-list .like-item .like-num {
font-size:26rpx;
font-weight:500;
color:rgba(153,153,153,1);
line-height:32rpx;
position: relative;
min-width: 70rpx;
text-align: center;
}
.like-wrap .like-list .like-item .like-num::after {
position: absolute;
content: '';
display: block;
width: 12rpx;
height: 2rpx;
background-color: #16B0FD;
bottom: -10rpx;
left: 40%;
}
.like-wrap .like-list .like-item .like-avatar {
width: 72rpx;
height: 72rpx;
border-radius: 50%;
margin: 0 16rpx;
}
.like-wrap .like-list .like-item .like-name {
font-size:26rpx;
font-family:PingFangSC-Regular,PingFang SC;
font-weight:400;
color:rgba(34,34,34,1);
line-height:36rpx;
max-width: 350rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
margin-bottom: 5rpx;
}
.like-wrap .like-list .like-item .like-phone {
font-size:22rpx;
font-family:PingFangSC-Medium,PingFang SC;
font-weight:500;
color:rgba(153,153,153,1);
line-height:32rpx;
}
.like-wrap .like-list .like-item .like-right, .like-wrap .like-list .like-item .like-left {
display: flex;
align-items: center
}
.like-wrap .like-list .like-item .phone-img {
width: 30rpx;
height: 48rpx;
margin-left: 38rpx;
margin-right: 14rpx;
}
\ No newline at end of file
business/pages/themeindex/members.js
0 → 100644
View file @
bbcbd058
This diff is collapsed.
Click to expand it.
business/pages/themeindex/members.json
0 → 100644
View file @
bbcbd058
{
"navigationBarTitleText"
:
"成员管理"
,
"enablePullDownRefresh"
:
true
,
"usingComponents"
:
{
"list-loading"
:
"../../../components/listloading"
,
"empty-content"
:
"../../../components/emptycontent"
}
}
\ No newline at end of file
business/pages/themeindex/members.wxml
0 → 100644
View file @
bbcbd058
<!--business/pages/themeindex/members.wxml-->
<wxs src="../../../filter/index.wxs" module="filter" />
<view class="container">
<view class="top-head">
<view class="tabs-box">
<block wx:for="{{jobTabs}}" wx:key="id">
<view class="tabs-item {{currentTabsIndex == index?'selected':''}}" bindtap='onTabChange' data-index='{{index}}'>
{{item.title}}
</view>
</block>
</view>
</view>
<view class='like-wrap' hidden='{{currentTabsIndex != 0}}'>
<empty-content wx:if='{{studentEmptyPage}}' text="暂无打卡学生" emptyimg="common/empty/empty_no.png" />
<view wx:else class="like-list">
<block wx:for="{{studentList}}" wx:for-item="studentItem" wx:key="studentList">
<view class="like-item" wx:for="{{studentItem}}" wx:key="index">
<view class="like-left">
<image class="like-avatar" src="{{filter.imagify(item.avatar? item.avatar:item.school_student.avatar)}}" wx:if="{{item.avatar}}"></image>
<image class="like-avatar" src="{{imageRoot}}common/empty/avatar_user.png?{{imageVersion}}" wx:else></image>
<view class="like-left-info">
<view class="like-name-wrap">
<view class="like-name-info">{{item.name}}</view>
<view class="like-tip" data-id="{{item.id}}" bindtap="kickOutStudent">踢出本次打卡</view>
</view>
<view class="like-phone">{{item.mobile}}</view>
</view>
</view>
<view class="like-right" data-phone="{{item.mobile}}" bindtap="callphone">
<image class="phone-img" src="{{localImageRoot}}2b/themeindex/call_phone.png"></image>
</view>
</view>
</block>
</view>
<!-- <view class="has-nomore" wx:if="{{!studentEmptyPage && !studentHasmore}}">没有更多了</view> -->
<list-loading loading="{{studentLoading}}"></list-loading>
<view wx:if='{{studentEmptyPage}}' class="no-share-btn">
邀请学生打卡
</view>
<view wx:else class="no-share-text">
邀请学生打卡
</view>
</view>
<view class='teacher-wrap' hidden='{{currentTabsIndex != 1}}'>
<empty-content wx:if='{{teacherEmptyPage}}' text="暂无打卡学生" emptyimg="common/empty/empty_no.png" />
<view class="teacher-list" wx:else>
<block wx:for="{{teacherList}}" wx:for-item="teacherItem" wx:key="teacherList">
<view class="teacher-item" wx:for="{{teacherItem}}" wx:key="teacherIndex">
<view class="teacher-left">
<image class="teacher-avatar" src="{{filter.imagify(item.school_teacher.avatar)}}" wx:if="{{item.school_teacher.avatar}}"></image>
<image class="teacher-avatar" src="{{imageRoot}}common/empty/avatar_teacher.png?{{imageVersion}}" wx:else></image>
<view class="teacher-name">{{item.school_teacher.nickname}}</view>
</view>
<view class="teacher-right">
<view wx:if='{{item.type==1}}' class="teacher-my">本次打卡创建人</view>
<view wx:if='{{item.type==2}}' class="teacher-remove" data-id="{{item.id}}" bindtap="deleteTeacher">移除</view>
</view>
</view>
</block>
<list-loading loading="{{teacherLoading}}"></list-loading>
</view>
<view class='teacher-add' bindtap="addTeacher">
<view class="text">添加老师</view>
</view>
</view>
</view>
\ No newline at end of file
business/pages/themeindex/members.wxss
0 → 100644
View file @
bbcbd058
/* business/pages/themeindex/members.wxss */
.container {
padding-bottom: 200rpx;
}
.top-head {
border: 2rpx solid #EBEDF0;
padding: 20rpx 0;
}
.tabs-box {
display: flex;
text-align: center;
height: 60rpx;
line-height: 60rpx;
border: 2rpx solid #16B0FD;
border-radius: 0 4rpx 4rpx 0;
margin: 0 auto;
width: 420rpx;
}
.tabs-box .tabs-item {
flex: 1;
color:#16B0FD;
font-size:26rpx;
font-family:PingFangSC-Regular,PingFang SC;
font-weight:400;
}
.tabs-box .tabs-item.selected {
color:#fff;
background-color: #16B0FD;
}
.tabs-box .tabs-item:not(:last-child) {
border-right: 2rpx solid #16B0FD;
}
.like-wrap .like-list .like-item {
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 2rpx solid #F1F2F3;
padding: 24rpx 0;
}
.like-wrap .like-list .like-item .like-avatar {
width: 72rpx;
height: 72rpx;
border-radius: 50%;
margin-left:20rpx;
margin-right: 16rpx;
}
.like-wrap .like-list .like-item .like-name-wrap {
margin-bottom: 5rpx;
display: flex;
align-items: center;
}
.like-wrap .like-list .like-item .like-name-wrap .like-name-info {
font-size:26rpx;
font-family:PingFangSC-Regular,PingFang SC;
font-weight:400;
color:rgba(34,34,34,1);
line-height:36rpx;
max-width: 350rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
margin-right: 16rpx;
}
.like-wrap .like-list .like-item .like-name-wrap .like-tip {
font-size:22rpx;
font-family:PingFangSC-Regular,PingFang SC;
font-weight:400;
color:rgba(22,176,253,1);
line-height:32rpx;
}
.like-wrap .like-list .like-item .like-phone {
font-size:22rpx;
font-family:PingFangSC-Medium,PingFang SC;
font-weight:500;
color:rgba(153,153,153,1);
line-height:32rpx;
}
.like-wrap .like-list .like-item .like-right, .like-wrap .like-list .like-item .like-left {
display: flex;
align-items: center
}
.like-wrap .like-list .like-item .phone-img {
width: 30rpx;
height: 48rpx;
margin-left: 38rpx;
margin-right: 14rpx;
}
.no-share-btn {
position: fixed;
width:606rpx;
height:76rpx;
background:rgba(22,176,253,1);
box-shadow:0 0 20rpx rgba(22,176,253,.8);
border-radius:42rpx;
font-size:32rpx;
font-family:PingFangSC-Regular,PingFang SC;
font-weight:400;
color:rgba(255,255,255,1);
line-height:76rpx;
text-align: center;
bottom: 36rpx;
left: 50%;
transform: translateX(-50%);
}
.no-share-text {
width: 100%;
height: 98rpx;
line-height: 98rpx;
text-align: center;
color: #16B0FD;
font-size:28rpx;
font-family:PingFangSC-Regular,PingFang SC;
font-weight:400;
background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0.9) 100%);
}
.teacher-wrap {
padding: 0 20rpx;
}
.teacher-wrap .teacher-list .teacher-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 20rpx 0;
border-bottom: 2rpx solid #F1F2F3;
}
.teacher-wrap .teacher-list .teacher-item .teacher-left {
display: flex;
align-items: center;
}
.teacher-wrap .teacher-list .teacher-item .teacher-avatar {
width: 72rpx;
height: 72rpx;
border-radius: 50%;
margin-right: 16rpx;
}
.teacher-wrap .teacher-list .teacher-item .teacher-name {
font-size:26rpx;
font-family:PingFangSC-Regular,PingFang SC;
font-weight:400;
color:rgba(34,34,34,1);
line-height:36rpx;
}
.teacher-wrap .teacher-list .teacher-item .teacher-my {
font-size:22rpx;
font-family:PingFangSC-Regular,PingFang SC;
font-weight:400;
color:rgba(153,153,153,1);
line-height:32rpx;
}
.teacher-wrap .teacher-list .teacher-item .teacher-remove {
font-size:26rpx;
font-family:PingFangSC-Regular,PingFang SC;
font-weight:400;
color:rgba(22,176,253,1);
line-height:36rpx;
}
.teacher-add {
position: fixed;
left: 50%;
transform: translateX(-50%);
height:148rpx;
bottom: 0;
background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0.9) 100%);
width: 100%;
}
.teacher-add .text {
width: 686rpx;
height: 98rpx;
line-height: 98rpx;
text-align: center;
margin: 50rpx auto 0;
font-size:28rpx;
font-family:PingFangSC-Regular,PingFang SC;
font-weight:400;
color:rgba(22,176,253,1);
}
\ No newline at end of file
constants/api.js
View file @
bbcbd058
...
...
@@ -253,8 +253,8 @@ const apis = {
myInfluence
:
{
dashboard
:
`
${
api
}
student/influence/dashboard`
,
// 概况
viewthumbnail
:
`
${
api
}
student/influence/view/thumbnail`
,
// 查看缩略
views
:
`
${
api
}
student/influence/views`
,
// 查看列表
sharerthumbnail
:
`
${
api
}
student/influence/share/thumbnail`
,
// 分享缩略
views
:
`
${
api
}
student/influence/views`
,
// 查看列表
sharerthumbnail
:
`
${
api
}
student/influence/share/thumbnail`
,
// 分享缩略
shares
:
`
${
api
}
student/influence/shares`
,
// 分享列表
clues
:
`
${
api
}
student/influence/clues`
,
// 线索列表
viewVisitors
:
`
${
api
}
student/influence/view/visitors`
,
//个人中心访客列表
...
...
@@ -377,6 +377,7 @@ const apis = {
memberMe
:
`
${
api
}
member/me`
,
//获取当前身份
getschooluuid
:
`
${
api
}
member/school_uuid`
,
// 简单报名(加入学校)获取uuid
subjectTemplates
:
`
${
api
}
member/subject_templates`
,
//主题模板列表
},
shopeditor
:
{
infoGet
:
`
${
api
}
member/clock/address/get`
,
...
...
@@ -425,7 +426,11 @@ const apis = {
reviewDel
:
`
${
api
}
member/reviews`
,
unlockSubjectShow
:
`
${
api
}
member/unlock_subject/show`
,
unlockSubjectList
:
`
${
api
}
member/unlock_subject/index`
,
unlockSubjectDetail
:
`
${
api
}
member/unlock_subject/detail`
unlockSubjectDetail
:
`
${
api
}
member/unlock_subject/detail`
,
subjectStudents
:
`
${
api
}
member/subject_students`
,
saveSubjectTeachers
:
`
${
api
}
member/subject_teachers`
,
subjectTeachers
:
`
${
api
}
member/subject_teachers`
,
deleteSubjectStudent
:
`
${
api
}
member/subject_student/kick_out`
,
},
circleMember
:
{
memberList
:
`
${
api
}
member/clock/user/index`
,
...
...
@@ -548,4 +553,4 @@ const apis = {
}
}
export
default
apis
;
\ No newline at end of file
export
default
apis
;
images/2b/themeindex/call_phone.png
0 → 100644
View file @
bbcbd058
985 Bytes
images/2b/themeindex/check.png
0 → 100644
View file @
bbcbd058
500 Bytes
images/2b/themeindex/check_active.png
0 → 100644
View file @
bbcbd058
500 Bytes
images/2b/themeindex/help_tip.png
0 → 100644
View file @
bbcbd058
1.06 KB
service/business/themeindex.js
View file @
bbcbd058
...
...
@@ -130,6 +130,54 @@ function unlockClockMemberList (data) {
errorresolve
:
1
,
})
}
// 获取主题成员列表
function
subjectStudents
(
data
)
{
return
wxRequest
({
role
:
'2b'
,
url
:
apis
.
business
.
themeIndex
.
subjectStudents
,
data
,
method
:
'GET'
,
errorresolve
:
1
,
})
}
// 保存邀请老师
function
saveSubjectTeachers
(
data
)
{
return
wxRequest
({
role
:
'2b'
,
url
:
apis
.
business
.
themeIndex
.
saveSubjectTeachers
,
data
,
method
:
'POST'
,
errorresolve
:
1
,
})
}
// 获取邀请老师列表
function
subjectTeachers
(
data
)
{
return
wxRequest
({
role
:
'2b'
,
url
:
apis
.
business
.
themeIndex
.
subjectTeachers
,
data
,
method
:
'GET'
,
errorresolve
:
1
,
})
}
function
deleteSubjectTeacher
(
data
)
{
return
wxRequest
({
role
:
'2b'
,
url
:
apis
.
business
.
themeIndex
.
subjectTeachers
+
'/'
+
data
.
id
,
data
,
method
:
'DELETE'
,
errorresolve
:
1
,
})
}
function
deleteSubjectStudent
(
data
)
{
return
wxRequest
({
role
:
'2b'
,
url
:
apis
.
business
.
themeIndex
.
deleteSubjectStudent
+
'/'
+
data
.
id
,
data
,
method
:
'DELETE'
,
errorresolve
:
1
,
})
}
export
{
themeDetail
,
clockList
,
...
...
@@ -139,10 +187,15 @@ export {
loadComments
,
commentDel
,
newLikeIndex
,
newCommentIndex
,
newCommentIndex
,
reviewDel
,
unlockSubjectShow
,
unlockSubjectList
,
unlockSubjectDetail
,
unlockClockMemberList
}
\ No newline at end of file
unlockClockMemberList
,
subjectStudents
,
saveSubjectTeachers
,
subjectTeachers
,
deleteSubjectTeacher
,
deleteSubjectStudent
,
}
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