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
4f3f8970
Commit
4f3f8970
authored
Mar 27, 2020
by
wangxuelai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
'逻辑串联'
parent
6ef6b346
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
25 additions
and
2305 deletions
+25
-2305
index.js
business/pages/calendarthemeindex/index.js
+1
-35
clocklist.js
business/pages/deskcenter/clocklist.js
+12
-29
index.js
business/pages/deskcenter/index.js
+1
-13
index.js
business/pages/morethemeindex/index.js
+1
-2
index.js
business/pages/themeeditor copy/index.js
+0
-1123
index.json
business/pages/themeeditor copy/index.json
+0
-13
index.wxml
business/pages/themeeditor copy/index.wxml
+0
-159
index.wxss
business/pages/themeeditor copy/index.wxss
+0
-392
setting.js
business/pages/themeeditor copy/setting.js
+0
-256
setting.json
business/pages/themeeditor copy/setting.json
+0
-6
setting.wxml
business/pages/themeeditor copy/setting.wxml
+0
-98
setting.wxss
business/pages/themeeditor copy/setting.wxss
+0
-138
index.js
business/pages/themeeditor/index.js
+2
-7
index.wxml
business/pages/themeeditor/index.wxml
+1
-1
lockthemelist.js
business/pages/themeeditor/lockthemelist.js
+5
-0
index.js
business/pages/themeindex/index.js
+2
-33
No files found.
business/pages/calendarthemeindex/index.js
View file @
4f3f8970
...
...
@@ -329,11 +329,6 @@ Page({
noCommentTotal
:
Number
(
data
.
not_review_count
||
0
),
"remindTips.pushStatus"
:
data
.
subject_status
});
// TODO班级信息 好像不需要
// if(this.data.id){
// this.getCircleDetail();
// }
const
startD
=
data
.
calendar_set
.
start_time
.
split
(
" "
)[
0
];
const
endD
=
data
.
calendar_set
.
end_time
.
split
(
" "
)[
0
];
if
(
this
.
numberDate
(
startD
)
==
this
.
numberDate
(
endD
))
{
...
...
@@ -398,35 +393,6 @@ Page({
});
}
},
getCircleDetail
()
{
erpClassDetailGet
({
id
:
this
.
data
.
id
,
school_id
:
this
.
data
.
sid
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
data
.
deleted_at
)
{
wx
.
showModal
({
title
:
"提示"
,
content
:
"班级已被删除,点击确认返回"
,
showCancel
:
false
,
confirmText
:
"确定"
,
success
(
r
)
{
if
(
r
.
confirm
)
{
wx
.
navigateBack
({
delta
:
1
});
}
}
});
}
this
.
setData
({
circleInfo
:
res
.
data
});
this
.
getSchoolDetail
(
res
.
data
.
school_id
);
}
});
},
onesmallsortselect
(
e
)
{
const
{
dataset
}
=
e
.
currentTarget
;
if
(
dataset
.
onesmallsort
==
this
.
data
.
oneSmallSort
)
{
...
...
@@ -1590,7 +1556,7 @@ Page({
},
toEdit
()
{
wx
.
navigateTo
({
url
:
`/business/pages/themeeditor/index?
id=
${
this
.
data
.
id
}
&
tid=
${
this
.
data
.
tid
}
&sid=
${
this
.
data
.
sid
}
&editType=2`
url
:
`/business/pages/themeeditor/index?tid=
${
this
.
data
.
tid
}
&sid=
${
this
.
data
.
sid
}
&editType=2`
});
}
});
business/pages/deskcenter/clocklist.js
View file @
4f3f8970
...
...
@@ -93,31 +93,14 @@ Page({
this
.
data
.
selectClass
&&
this
.
data
.
selectClass
.
id
?
this
.
data
.
selectClass
.
id
:
0
;
switch
(
Number
(
createtype
))
{
case
1
:
url
=
`/business/pages/themeeditor/index?id=
${
selectClassId
}
&tid=0&sid=
${
this
.
data
.
sid
}
&classes=
${
encodeURIComponent
(
this
.
data
.
selectClass
&&
this
.
data
.
selectClass
.
id
?
JSON
.
stringify
([
{
id
:
this
.
data
.
selectClass
.
id
,
title
:
this
.
data
.
selectClass
.
title
}
])
:
"[]"
)}
`
;
break
;
case
2
:
url
=
`/business/pages/calendarthemeeditor/index?id=
${
selectClassId
}
&tid=0&sid=
${
this
.
data
.
sid
}
`
;
break
;
case
3
:
url
=
`/business/pages/themeeditorlock/index?id=
${
selectClassId
}
&tid=0&sid=
${
this
.
data
.
sid
}
`
;
break
;
default
:
break
;
}
const
classes
=
this
.
data
.
selectClass
&&
this
.
data
.
selectClass
.
id
?
JSON
.
stringify
([{
id
:
this
.
data
.
selectClass
.
id
,
title
:
this
.
data
.
selectClass
.
title
}])
:
"[]"
url
=
`/business/pages/themeeditor/index?tid=0&sid=
${
this
.
data
.
sid
}
&classes=
${
encodeURIComponent
(
classes
)}
&editType=
${
createtype
}
`
;
wx
.
navigateTo
({
url
:
`
${
url
}
`
});
...
...
@@ -470,17 +453,17 @@ Page({
const
{
dataset
:
{
theme
}
}
=
e
.
currentTarget
;
if
(
theme
.
subject_type
==
2
)
{
if
(
theme
.
subject_type
==
2
)
{
// 日历
wx
.
navigateTo
({
url
:
`/business/pages/calendarthemeindex/index?tid=
${
theme
.
id
}
&sid=
${
this
.
data
.
sid
}
`
});
}
else
if
(
theme
.
subject_type
==
1
)
{
}
else
if
(
theme
.
subject_type
==
1
)
{
// 作业
wx
.
navigateTo
({
url
:
`/business/pages/themeindex/index?tid=
${
theme
.
id
}
&sid=
${
this
.
data
.
sid
}
`
});
}
else
if
(
theme
.
subject_type
==
3
)
{
}
else
if
(
theme
.
subject_type
==
3
)
{
// 闯关
wx
.
navigateTo
({
url
:
`/business/pages/
morethemeindex/index?tid=
${
theme
.
id
}
&sid=
${
this
.
data
.
sid
}
&sort=1
`
url
:
`/business/pages/
themeeditor/lockthemelist?tid=
${
theme
.
id
}
&sid=
${
this
.
data
.
sid
}
`
});
}
},
...
...
business/pages/deskcenter/index.js
View file @
4f3f8970
...
...
@@ -216,19 +216,7 @@ Page({
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
}
&classes=
${
encodeURIComponent
(
'[]'
)}
`
;
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
;
}
url
=
`/business/pages/themeeditor/index?tid=0&sid=
${
this
.
data
.
sid
}
&classes=
${
encodeURIComponent
(
'[]'
)}
&editType=
${
createtype
}
`
;
wx
.
navigateTo
({
url
:
`
${
url
}
`
})
...
...
business/pages/morethemeindex/index.js
View file @
4f3f8970
...
...
@@ -139,9 +139,8 @@ Page({
},
onLoad
:
function
(
options
)
{
// Do some initialize when page load.
const
that
=
this
;
const
{
id
,
mid
,
tid
,
sid
}
=
options
;
const
{
mid
,
tid
,
sid
}
=
options
;
this
.
setData
({
id
,
tid
,
sid
,
mid
,
...
...
business/pages/themeeditor copy/index.js
deleted
100644 → 0
View file @
6ef6b346
This diff is collapsed.
Click to expand it.
business/pages/themeeditor copy/index.json
deleted
100644 → 0
View file @
6ef6b346
{
"navigationBarTitleText"
:
"新建作业打卡"
,
"usingComponents"
:
{
"sjd-media-editor"
:
"../../../components/sjdmediaeditor"
,
"sound-recording"
:
"../../../components/soundrecording"
,
"w-switch"
:
"/dist/w-switch/index"
,
"w-button"
:
"/dist/w-button/index"
,
"w-cell"
:
"/dist/w-cell/index"
,
"w-cell-group"
:
"/dist/w-cell-group/index"
,
"w-pane"
:
"/dist/w-pane/index"
,
"expiredTip"
:
"../../components/expiredTip"
}
}
\ No newline at end of file
business/pages/themeeditor copy/index.wxml
deleted
100644 → 0
View file @
6ef6b346
<wxs src="../../../filter/index.wxs" module="filter" />
<view class="container" style="display: {{videostatus.videoShow ? 'none' : 'block'}}">
<view class="theme-editor-container clearfix {{showWarn ? 'opacitybody' : ''}}">
<!-- <view class="broadcast-box clearfix mb24">
<image class="broadcast-img" src="{{imageRoot}}2b/shopeditor/voiceicon.png?{{imageVersion}}">
</image>
<text class="broadcast-text" selectable="false" space="false" decode="false">主题发布后老师带头打卡,可提高学员参与积极性至3倍。</text>
</view> -->
<view class="section-wrap">
<view class="section-item" bindtap="showClassSelectModal">
<view class="form-item">
<view class="item-l">班级:{{selectClass.title}}</view>
<view class="item-r" wx:if="{{tid==0}}">
<view class="label">去选择</view>
<image class="icon-arr" src="{{imageRoot}}2b/organizationalmgt/right.png?{{imageVersion}}"/>
</view>
</view>
</view>
<view class="section-tip">所选的班级,该班级学员能接收作业提醒并参与作业打卡</view>
</view>
<view class="section-wrap">
<view class="section-item section-themetitle">
<view class="form-item">
<view class="item-l">
<textarea class="title-input" bindinput="titleInput" value="{{params.title}}" placeholder="请输入此次作业标题" wx:if="{{!modalClass}}" auto-height="true"></textarea>
<view class="title-input title-input-mock" wx:else>{{params.title?params.title:'请输入此次作业标题'}}</view>
</view>
<view class="item-r">{{params.title.length}}/36</view>
</view>
</view>
<view class="mock-titlebox">
<view class="mock-item {{item.type==currentMockType? 'active': ''}}" wx:for="{{mockTitleList}}" wx:key="" data-type="{{item.type}}" bindtap="bindMockTitle">{{item.label}}</view>
</view>
</view>
<view class="section-wrap">
<view class="section-item section-content">
<view class="content-inputbox">在这里添加此次作业的描述,可点击下方内容控件进行添加</view>
<view class="sjd-component-box">
<sjd-media-editor content="{{params.content}}"
id="sjd-media-editor" sid="{{sid}}"
bind:addVoice="addVoice"
placeholder="{{placeholder}}"
bind:playvoice="playvoice"
actionsPalyvalue="{{actPalyaudioValue}}"
bind:pausevoice="pausevoice"
bind:voiceslide="voiceslide"
audioStorage="{{audioStorage}}"
bind:slidestart="slidestart"
bind:slideend="slideend"
bind:delvoice="delvoice"
bind:playvideo="playvideo"
withmask="{{showWarn}}">
</sjd-media-editor>
</view>
</view>
<view class="section-tip" style="color: #16B0FD;" bindtap="jumpToSolution">上传视频一直传不上去怎么办?点这里解决 ></view>
</view>
<view class="section-wrap">
<view class="section-item">
<view class="form-item">
<view class="item-l">打卡提醒
<text class="tip" wx:if="{{params.push_status==2}}">(开启后定时提醒学员打卡)</text>
<view class="num-box" wx:else>
<picker mode="time" value="{{params.push_time}}" bindchange="tipTimeChange">
{{params.push_time}}
<image class="icon-arr" src="{{imageRoot}}2b/organizationalmgt/right.png?{{imageVersion}}"/>
</picker>提醒
</view>
</view>
<view class="item-r">
<w-switch slot="content" value="{{params.push_status}}" color="#16B0FD" size="small" bind:onChange="remindswitch" />
</view>
</view>
</view>
</view>
<view class="section-wrap">
<view class="section-item">
<view class="form-item">
<view class="item-l">作业生效日期</view>
<view class="item-r">
<view class="label">
<picker mode="multiSelector" range="{{datePickerArr}}" value="{{startDateInfoArr}}" bindchange="startTimeChange" bindcolumnchange="startDatePickerChange">
{{params.startDate}} {{params.startTime}}
</picker>
</view>
<image class="icon-arr" src="{{imageRoot}}2b/organizationalmgt/right.png?{{imageVersion}}"/>
</view>
</view>
<view class="form-item">
<view class="item-l">作业截至日期</view>
<view class="item-r">
<view class="label">
<picker mode="multiSelector" range="{{datePickerArr}}" value="{{endDateInfoArr}}" bindchange="endTimeChange" bindcolumnchange="endDatePickerChange" style="line-height: 40rpx;">
{{params.endDate}} {{params.endTime}}
</picker>
</view>
<image class="icon-arr" src="{{imageRoot}}2b/organizationalmgt/right.png?{{imageVersion}}"/>
</view>
</view>
</view>
</view>
<view class="section-wrap">
<view class="section-item">
<view class="form-item">
<view class="item-l">高级设置<text class="tip">(防作弊,上传图片/视频限制)</text></view>
<view class="item-r" bindtap="bindMoreSetting">
<view class="label">去设置</view>
<image class="icon-arr" src="{{imageRoot}}2b/organizationalmgt/right.png?{{imageVersion}}"/>
</view>
</view>
</view>
</view>
<sound-recording sid="{{sid}}" show="{{audioStatus.show}}" bind:addVoice="addVoice" bind:pushVoice="pushVoice">
</sound-recording>
</view>
<view class="page-btnsubmit" bindtap="saveTheme">发布</view>
</view>
<view class="modal {{modelClassAnimate? 'hide': ''}}" hidden="{{!modalClass}}" catchtouchmove="true">
<view class="mask" bindtap="hideClassSelectModal"></view>
<view class="modal-content">
<scroll-view class="opt-list" scroll-y="{{true}}" lower-threhold="200" bindscrolltolower="scrolltolowerClass">
<view class="opt-item {{selectClass.id == item.id ? 'active' : ''}}" wx:for="{{classList}}" wx:key="index" data-item="{{item}}" bindtap="selectClassHandle">{{item.title}}</view>
<view class="loadmore" wx:if="{{circlehasmore}}">上拉加载更多班级</view>
<list-loading loading="{{circlelistLoading}}"></list-loading>
</scroll-view>
<view class="opt-item btn-cancel" bindtap="hideClassSelectModal">取消</view>
</view>
</view>
<view class="videodialog" wx:if="{{videostatus.videoShow}}">
<view class="videodialogmask" bindtap="closeVideo"></view>
<video class="" src="{{filter.transformOssVideofy(videostatus.src,videostatus.mode)}}" id="{{videostatus.videoId}}"
initial-time="0" autoplay="false" loop="false" bindplay="" bindpause="" bindended=""
bindtimeupdate="" bindwaiting="" binderror="" bindfullscreenchange="screenchange"></video>
</view>
<view class="modal-dialog success-dailog" wx:if="{{successDailogShow}}" catchtouchmove="true">
<view class="modal-mask"></view>
<view class="modal-box">
<image class="top-imgbg" src="{{imageRoot}}2b/themeeditor/dailog-bj.png?{{imageVersion}}"/>
<view class="modal-content">
<view class="main-title">作业创建成功</view>
<view class="sub-title">可以邀请学员打卡了</view>
</view>
<view class="modal-btngroup">
<view class="btn" bindtap="hideDailogShow" bindtap="bindToThemeindex">进入管理后台</view>
<button class="btn btn-primary" open-type="share">分享给学员</button>
</view>
</view>
</view>
<expiredTip/>
business/pages/themeeditor copy/index.wxss
deleted
100644 → 0
View file @
6ef6b346
@import '../../../style/editor.wxss';
page{
height: 100%;
background: #F2F2F2;
}
.container{
padding: 30rpx 0 140rpx;
}
.theme-editor-container {
padding: 0 24rpx;
}
.theme-editor-container.opacitybody {
display: none;
}
/* 顶部提示 */
.theme-editor-container .broadcast-box {
padding: 22rpx 0 22rpx 24rpx;
background-color: #fff;
}
.theme-editor-container .broadcast-box .broadcast-img {
width: 24rpx;
height: 18rpx;
display: block;
float: left;
margin-top: 10rpx;
}
.theme-editor-container .broadcast-box .broadcast-text {
font-size: 24rpx;
color: #ef9c52;
padding-left: 21rpx;
width: 647rpx;
}
.page-btnsubmit {
display: block;
width: 100%;
height: 100rpx;
border-radius: 50rpx;
background: #16B0FD;
font-size: 38rpx;
color: #fff;
letter-spacing: 4rpx;
/* position: fixed; */
width: 600rpx;
margin: 0 auto;
bottom: 0;
left: 0%;
display: flex;
align-items: center;
justify-content: center;
/* border-radius: 0; */
z-index: 9;
}
.showorhide-icon{
width: 12rpx;
height: 20rpx;
/* transform: rotate(-90deg); */
position: absolute;
bottom:26rpx;
right: 0;
}
/* 弹框 选择班级 作业列表 */
.modal{
width: 100%;
height: 100%;
position: fixed;
left: 0;
top: 0;
background:rgba(0,0,0,.5);
z-index: 9;
animation: modalshow 0.2s linear;
}
.modal.hide{
animation: modalhide 0.2s linear forwards;
}
.modal .mask{
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
z-index: 9;
}
.modal .modal-content{
width: 100%;
position: absolute;
left: 0;
bottom: 0;
background:#fff;
border-radius: 20rpx 20rpx 0px 0px;
z-index: 10;
animation: modalmoveup 0.2s linear forwards;
}
.modal.hide .modal-content{
animation: modalmovedown 0.2s linear forwards;
}
.modal .modal-content .opt-list{
max-height: 700rpx;
border-bottom: 16rpx solid #EDEDED;
overflow: auto;
}
.modal .modal-content .opt-item{
height: 95rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 28rpx;
font-weight: bold;
color: #000;
position: relative;
}
.modal .modal-content .opt-item::after{
content: '';
width: 100%;
height: 1px;
background: rgba(0,0,0,.1);
position: absolute;
left: 0;
bottom: 0;
transform: scaleY(.5);
}
.modal .modal-content .opt-item:last-of-type::after{
display: none;
}
.modal .modal-content .opt-item.active{
color: #53C8FF;
}
.modal .modal-content .btn-cancel{
height: 106rpx;
}
.modal .loadmore{
text-align: center;
line-height: 65rpx;
font-size: 26rpx;
}
.section-wrap{
margin-bottom: 30rpx;
}
.section-item{
border-radius: 20rpx;
padding: 40rpx 21rpx;
background: #fff;
}
.section-tip{
font-size: 24rpx;
color: #AAAAAA;
padding: 4rpx 22rpx 7rpx;
line-height: 48rpx;
}
/* 快速选择标题 */
.mock-titlebox{
display: flex;
flex-wrap: wrap;
padding-bottom: 20rpx;
}
.mock-titlebox .mock-item{
height: 54rpx;
border-radius: 27rpx;
background: #fff;
font-size: 24rpx;
font-weight: 500;
color: #626262;
display: flex;
align-items: center;
justify-content: center;
margin: 16rpx 32rpx 0 0;
padding: 0 20rpx;
}
.mock-titlebox .mock-item.active{
color: #fff;
background: #16B0FD;
}
.section-item .form-item{
display: flex;
align-items: center;
justify-content: space-between;
line-height: 39rpx;
width: 100%;
margin-bottom: 30rpx;
}
.section-item .form-item:last-of-type{
margin-bottom: 0;
}
.form-item .item-l{
font-size: 28rpx;
color: #1F1F1F;
font-weight: bold;
display: flex;
align-items: center;
}
.form-item .item-l .tip{
font-size: 24rpx;
color: #AAAAAA;
padding-left: 20rpx;
font-weight: normal;
}
.form-item .item-l .num-box{
display: flex;
align-items: center;
font-size: 24rpx;
color: #9B9B9B;
font-weight: normal;
}
.form-item .item-l .num-box picker{
color: #686868;
font-size: 26rpx;
padding: 0 70rpx 0 60rpx;
position: relative;
}
.form-item .item-l .num-box picker .icon-arr{
width: 12rpx;
height: 20rpx;
position: absolute;
top: 50%;
right: 40rpx;
transform: translateY(-50%) rotate(90deg);
}
.form-item .item-r{
display: flex;
align-items: center;
}
.form-item .item-r .label{
font-size: 26rpx;
color: #686868;
}
.form-item .item-r .icon-arr{
width: 12rpx;
height: 20rpx;
margin-left: 20rpx;
}
.section-item.section-themetitle{
padding: 34rpx 0;
position: relative;
}
.section-item.section-themetitle .item-l{
width: calc(100% - 100rpx);
}
.section-item.section-themetitle .item-l .title-input{
line-height: 34rpx;
padding: 0 15rpx;
width: 100%;
}
.section-item.section-themetitle .item-l .title-input-mock{
padding: 5rpx 21rpx;
}
.section-item.section-themetitle .item-r{
width: 94rpx;
height: 100%;
border-radius: 0 20rpx 20rpx 0;
background: #FBFBFB;
font-size: 22rpx;
color: #9D9D9D;
display: flex;
align-items: center;
justify-content: center;
position: absolute;
top: 0;
right: 0;
}
.section-item.section-content{
padding: 0;
}
.section-item.section-content .content-inputbox{
padding: 40rpx 21rpx;
font-size: 24rpx;
color: #9D9D9D;
border-bottom: 1px solid rgba(0,0,0,.05);
}
.sjd-component-box{
width: 100%;
padding: 30rpx 20rpx;
}
/* 创建成功弹窗 */
.modal-dialog{
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
z-index: 9;
}
.modal-dialog .modal-mask{
position: fixed;
width: 100%;
height: 100%;
left: 0;
top: 0;
background: rgba(0,0,0,.5);
z-index: 9;
}
.modal-dialog .modal-box{
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
/* width: 550rpx;
height: 349rpx;
background: #fff;
border-radius: 20rpx;
display: flex;
flex-direction: column;
justify-content: space-between; */
z-index: 10;
}
.modal-dialog .modal-btngroup{
display: flex;
height: 105rpx;
position: relative;
border-radius: 0 0 20rpx 20rpx;
background: #fff;
border-top: 1px solid rgba(0,0,0,.05);
}
/* .modal-dialog .modal-btngroup::before{
content: '';
width: 100%;
height: 1px;
background: rgba(0,0,0,.05);
position: absolute;
top: 0;
left: 0;
transform: scaleY(.5);
} */
.modal-dialog .modal-btngroup .btn{
flex: 1;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
font-size: 32rpx;
color: #434343;
position: relative;
padding: 0;
}
.modal-dialog .modal-btngroup .btn::after{
content: '';
width: 1px;
height: 100%;
background: rgba(0,0,0,.05);
position: absolute;
top: 0;
right: 0;
transform: scaleX(.5);
z-index: 2;
}
.modal-dialog .modal-btngroup .btn:last-of-type::after{
display: none;
}
.modal-dialog .modal-btngroup .btn.btn-primary{
color: #16B0FD;
background: #fff;
border-radius: 0 0 20rpx 0;
border-left: 1px solid rgba(0,0,0,0.05);
}
.success-dailog .modal-box{
width: 550rpx;
background:#fff;
position: relative;
border-radius: 20rpx;
}
.success-dailog .modal-box .top-imgbg{
width: 100%;
height: 167rpx;
position: absolute;
left: 0;
top: -90rpx;
}
.success-dailog .modal-box .modal-content{
padding: 160rpx 0 70rpx;
}
.success-dailog .modal-box .modal-content .main-title{
font-size: 30rpx;
color: #000;
line-height: 1;
text-align: center;
font-weight: bold;
}
.success-dailog .modal-box .modal-content .sub-title{
font-size: 24rpx;
color: #616161;
line-height: 1;
padding-top: 28rpx;
text-align: center;
}
business/pages/themeeditor copy/setting.js
deleted
100644 → 0
View file @
6ef6b346
// business/pages/themeeditor/setting.js
Page
({
data
:
{
is_cheat
:
0
,
is_encrypt
:
0
,
force_status
:
2
,
force_num
:
0
,
text_require_status
:
2
,
text_require_num
:
0
,
image_require_status
:
2
,
image_require_num
:
0
,
video_require_status
:
2
,
video_require_num
:
0
,
audio_require_status
:
2
,
audio_require_num
:
0
,
tipObj
:
[
{
type
:
'1'
,
title
:
'防作弊模式'
,
content
:
[
'开启后学员打卡后'
,
'才能看到其他同学的打卡作品!'
]},
{
type
:
'2'
,
title
:
'加密模式'
,
content
:
[
'开启后非本校在读人员'
,
'看不到老师的主题内容的!'
]},
{
type
:
'3'
,
title
:
'强制阅读'
,
content
:
[
'开启后,学员将先进入阅读页面'
,
'倒计时结束后才能去提交作业!'
]},
{
type
:
'4'
,
title
:
'文字要求'
,
content
:
[
'学员输入文字最少多少字'
]},
{
type
:
'5'
,
title
:
'图片要求'
,
content
:
[
'学员上传图片最少多少张'
]},
{
type
:
'6'
,
title
:
'录音要求'
,
content
:
[
'学员录音时长最少多少秒'
]},
{
type
:
'7'
,
title
:
'视频要求'
,
content
:
[
'学员上传视频最少几个视频'
]}
],
tipModalShow
:
false
,
optTipObj
:
{},
//点击获取的提示内容
},
onLoad
:
function
(
options
)
{
let
that
=
this
;
const
{
is_cheat
,
is_encrypt
,
force_status
,
force_num
,
text_require_status
,
text_require_num
,
image_require_status
,
image_require_num
,
audio_require_status
,
video_require_num
,
video_require_status
,
audio_require_num
}
=
options
;
that
.
setData
({
is_cheat
,
is_encrypt
,
force_status
,
force_num
,
text_require_status
,
text_require_num
,
image_require_status
,
image_require_num
,
audio_require_status
,
video_require_num
,
video_require_status
,
audio_require_num
})
},
cheatswitch
()
{
if
(
Number
(
this
.
data
.
is_cheat
)
==
0
)
{
this
.
setData
({
is_cheat
:
1
})
}
else
if
(
Number
(
this
.
data
.
is_cheat
)
==
1
)
{
this
.
setData
({
is_cheat
:
0
})
}
},
encryptswitch
()
{
if
(
Number
(
this
.
data
.
is_encrypt
)
==
0
)
{
this
.
setData
({
is_encrypt
:
1
})
}
else
if
(
Number
(
this
.
data
.
is_encrypt
)
==
1
)
{
this
.
setData
({
is_encrypt
:
0
})
}
},
readswitch
(){
if
(
Number
(
this
.
data
.
force_status
)
==
2
)
{
this
.
setData
({
force_status
:
1
})
}
else
if
(
Number
(
this
.
data
.
force_status
)
==
1
)
{
this
.
setData
({
force_status
:
2
})
}
},
textswitch
()
{
if
(
Number
(
this
.
data
.
text_require_status
)
==
2
)
{
this
.
setData
({
text_require_status
:
1
})
}
else
if
(
Number
(
this
.
data
.
text_require_status
)
==
1
)
{
this
.
setData
({
text_require_status
:
2
})
}
},
imageswitch
()
{
if
(
Number
(
this
.
data
.
image_require_status
)
==
2
)
{
this
.
setData
({
image_require_status
:
1
})
}
else
if
(
Number
(
this
.
data
.
image_require_status
)
==
1
)
{
this
.
setData
({
image_require_status
:
2
})
}
},
videoswitch
()
{
if
(
Number
(
this
.
data
.
video_require_status
)
==
2
)
{
this
.
setData
({
video_require_status
:
1
})
}
else
if
(
Number
(
this
.
data
.
video_require_status
)
==
1
)
{
this
.
setData
({
video_require_status
:
2
})
}
},
audioswitch
()
{
if
(
Number
(
this
.
data
.
audio_require_status
)
==
2
)
{
this
.
setData
({
audio_require_status
:
1
})
}
else
if
(
Number
(
this
.
data
.
audio_require_status
)
==
1
)
{
this
.
setData
({
audio_require_status
:
2
})
}
},
readtimeInput
(
e
)
{
const
{
value
}
=
e
.
detail
;
this
.
setData
({
force_num
:
Number
(
value
),
})
},
textInput
(
e
)
{
const
{
value
}
=
e
.
detail
;
if
(
Number
(
value
)
>
this
.
data
.
maxLength
)
{
this
.
setData
({
text_require_num
:
Number
(
this
.
data
.
maxLength
),
})
}
else
{
this
.
setData
({
text_require_num
:
Number
(
value
),
})
}
},
imageInput
(
e
)
{
const
{
value
}
=
e
.
detail
;
if
(
Number
(
value
)
>
this
.
data
.
maxImgCount
)
{
this
.
setData
({
image_require_num
:
Number
(
this
.
data
.
maxImgCount
),
})
}
else
{
this
.
setData
({
image_require_num
:
Number
(
value
),
})
}
},
videoInput
(
e
)
{
const
{
value
}
=
e
.
detail
;
if
(
Number
(
value
)
>
this
.
data
.
maxVideoCount
)
{
this
.
setData
({
video_require_num
:
Number
(
this
.
data
.
maxVideoCount
),
})
}
else
{
this
.
setData
({
video_require_num
:
Number
(
value
),
})
}
},
audioInput
(
e
)
{
const
{
value
}
=
e
.
detail
;
if
(
Number
(
value
)
>
this
.
data
.
maxAudioCount
)
{
this
.
setData
({
audio_require_num
:
Number
(
this
.
data
.
maxAudioCount
),
})
}
else
{
this
.
setData
({
audio_require_num
:
Number
(
value
),
})
}
},
bindBackPrevPage
(){
let
pages
=
getCurrentPages
();
const
{
is_cheat
,
is_encrypt
,
force_status
,
force_num
,
text_require_status
,
text_require_num
,
image_require_status
,
image_require_num
,
audio_require_status
,
video_require_num
,
video_require_status
,
audio_require_num
}
=
this
.
data
let
currPage
=
null
;
//当前页面
let
prevPage
=
null
;
//上一个页面
if
(
pages
.
length
>=
2
)
{
currPage
=
pages
[
pages
.
length
-
1
];
//当前页面
prevPage
=
pages
[
pages
.
length
-
2
];
//上一个页面
}
prevPage
.
setData
({
"params.is_cheat"
:
Number
(
is_cheat
),
"params.is_encrypt"
:
Number
(
is_encrypt
),
"params.force_status"
:
Number
(
force_status
),
"params.force_num"
:
Number
(
force_num
),
"params.text_require_status"
:
Number
(
text_require_status
),
"params.text_require_num"
:
Number
(
text_require_num
),
"params.image_require_status"
:
Number
(
image_require_status
),
"params.image_require_num"
:
Number
(
image_require_num
),
"params.audio_require_status"
:
Number
(
audio_require_status
),
"params.video_require_num"
:
Number
(
video_require_num
),
"params.video_require_status"
:
Number
(
video_require_status
),
"params.audio_require_num"
:
Number
(
audio_require_num
)
});
wx
.
navigateBack
({
delta
:
1
})
},
showTipModal
(
e
){
const
{
type
}
=
e
.
currentTarget
.
dataset
;
let
that
=
this
;
let
optTipObj
=
that
.
data
.
tipObj
.
filter
(
item
=>
item
.
type
==
type
)[
0
]
that
.
setData
({
optTipObj
,
tipModalShow
:
true
})
},
hideTipModal
(){
let
that
=
this
;
that
.
setData
({
tipModalShow
:
false
})
}
})
\ No newline at end of file
business/pages/themeeditor copy/setting.json
deleted
100644 → 0
View file @
6ef6b346
{
"navigationBarTitleText"
:
"高级设置"
,
"usingComponents"
:
{
"w-switch"
:
"/dist/w-switch/index"
}
}
\ No newline at end of file
business/pages/themeeditor copy/setting.wxml
deleted
100644 → 0
View file @
6ef6b346
<view class="container">
<view class="section">
<view class="form-item">
<view class="item-l">
<text class="title">防作弊模式</text>
<text class="tip" data-type="1" bindtap="showTipModal" wx:if="{{is_cheat==0}}">什么是防作弊?</text>
</view>
<view class="item-r">
<w-switch slot="content" isBoolean="{{1}}" value="{{ is_cheat }}" color="#16B0FD" size="small" bind:onChange="cheatswitch" />
</view>
</view>
<view class="form-item">
<view class="item-l">
<text class="title">加密模式</text>
<text class="tip" data-type="2" bindtap="showTipModal" wx:if="{{is_encrypt==0}}">什么是加密模式?</text>
</view>
<view class="item-r">
<w-switch slot="content" isBoolean="{{1}}" value="{{ is_encrypt }}" color="#16B0FD" size="small" bind:onChange="encryptswitch" />
</view>
</view>
<view class="form-item">
<view class="item-l">
<text class="title">强制阅读模式</text>
<text class="tip" data-type="3" bindtap="showTipModal" wx:if="{{force_status==2}}">什么是强制阅读模式?</text>
<view class="num-box" wx:else>
<input type="number" placeholder-class="placeholderclass" class="iteminput" maxlength="5" value="{{force_num}}" bindinput="readtimeInput" placeholder=""></input>分钟
</view>
</view>
<view class="item-r">
<w-switch slot="content" value="{{ force_status }}" color="#16B0FD" size="small" bind:onChange="readswitch" />
</view>
</view>
</view>
<view class="section">
<view class="form-item">
<view class="item-l">
<text class="title">文字字数要求</text>
<text class="tip" data-type="4" bindtap="showTipModal" wx:if="{{text_require_status==2}}">什么是文字字数要求?</text>
<view class="num-box" wx:else>
<input type="number" placeholder-class="placeholderclass" class="iteminput" maxlength="5" value="{{text_require_num}}" bindinput="textInput" placeholder=""></input>字
</view>
</view>
<view class="item-r">
<w-switch slot="content" value="{{ text_require_status }}" color="#16B0FD" size="small" bind:onChange="textswitch" />
</view>
</view>
<view class="form-item">
<view class="item-l">
<text class="title">图片个数要求</text>
<text class="tip" data-type="5" bindtap="showTipModal" wx:if="{{image_require_status==2}}">什么是图片个数要求?</text>
<view class="num-box" wx:else>
<input type="number" placeholder-class="placeholderclass" class="iteminput" maxlength="5" value="{{image_require_num}}" bindinput="imageInput" placeholder=""></input>张
</view>
</view>
<view class="item-r">
<w-switch slot="content" value="{{ image_require_status }}" color="#16B0FD" size="small" bind:onChange="imageswitch" />
</view>
</view>
<view class="form-item">
<view class="item-l">
<text class="title">录音时长要求</text>
<text class="tip" data-type="6" bindtap="showTipModal" wx:if="{{audio_require_status==2}}">什么是录音时长要求?</text>
<view class="num-box" wx:else>
<input type="number" placeholder-class="placeholderclass" class="iteminput" maxlength="5" value="{{audio_require_num}}" bindinput="audioInput" placeholder=""></input>秒
</view>
</view>
<view class="item-r">
<w-switch slot="content" value="{{ audio_require_status}}" color="#16B0FD" size="small" bind:onChange="audioswitch"/>
</view>
</view>
<view class="form-item">
<view class="item-l">
<text class="title">视频个数要求</text>
<text class="tip" data-type="7" bindtap="showTipModal" wx:if="{{video_require_status==2}}">什么是视频个数要求?</text>
<view class="num-box" wx:else>
<input type="number" placeholder-class="placeholderclass" class="iteminput" maxlength="30" value="{{video_require_num}}" bindinput="videoInput" placeholder=""></input>个
</view>
</view>
<view class="item-r">
<w-switch slot="content" value="{{ video_require_status}}" color="#16B0FD" size="small" bind:onChange="videoswitch"/>
</view>
</view>
</view>
<view class="modal-dialog" wx:if="{{tipModalShow}}">
<view class="modal-mask"></view>
<view class="modal-box">
<view class="modal-title">{{optTipObj.title}}</view>
<view class="modal-content">
<view class="item" wx:for="{{optTipObj.content}}" wx:key="">{{item}}</view>
</view>
<view class="modal-btn" bindtap="hideTipModal">我知道了</view>
</view>
</view>
<view class="page-btnsubmit" bindtap="bindBackPrevPage">返回</view>
</view>
\ No newline at end of file
business/pages/themeeditor copy/setting.wxss
deleted
100644 → 0
View file @
6ef6b346
page{
background: #F2F2F2;
}
.container{
padding: 0 24rpx;
}
.section{
margin-top: 31rpx;
background: #fff;
border-radius: 20rpx;
width: 100%;
background: #fff;
padding: 10rpx 0;
}
.form-item{
display: flex;
align-items: center;
justify-content: space-between;
line-height: 39rpx;
width: 100%;
padding: 20rpx;
}
.form-item .item-l{
font-size: 28rpx;
display: flex;
align-items: center;
}
.form-item .item-l .title{
color: #1F1F1F;
font-weight: bold;
width: 200rpx;
}
.form-item .item-l .tip{
font-size: 24rpx;
color: #16B0FD;
}
.form-item .item-l .num-box{
display: flex;
align-items: center;
font-size: 24rpx;
color: #9B9B9B;
}
.form-item .item-l .num-box .iteminput{
width: 69rpx;
border-bottom: 2rpx solid #E2E2E2;
margin-right: 26rpx;
font-size: 26rpx;
color: #16B0FD;
text-align: center;
}
.form-item .item-r{
display: flex;
align-items: center;
}
.form-item .item-r .label{
font-size: 26rpx;
color: #686868;
}
.page-btnsubmit {
width: 100%;
height: 100rpx;
background: #16B0FD;
font-size: 38rpx;
color: #fff;
letter-spacing: 4rpx;
position: fixed;
bottom: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
}
/* 提示框 */
.modal-dialog{
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
z-index: 9;
}
.modal-dialog .modal-mask{
position: fixed;
width: 100%;
height: 100%;
left: 0;
top: 0;
background: rgba(0,0,0,.5);
z-index: 9;
}
.modal-dialog .modal-box{
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
width: 600rpx;
height: 349rpx;
background:#fff;
border-radius: 20rpx;
display: flex;
flex-direction: column;
justify-content: space-between;
z-index: 10;
}
.modal-dialog .modal-box .modal-title{
font-size: 28rpx;
color: #000;
font-weight: bold;
text-align: center;
padding-top: 33rpx;
line-height: 1;
}
.modal-dialog .modal-box .modal-content{
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.modal-dialog .modal-box .modal-content .item{
line-height: 48rpx;
font-size: 28rpx;
color: #000;
}
.modal-dialog .modal-box .modal-btn{
width: 100%;
height: 100rpx;
display: flex;
align-items: center;
justify-content: center;
border-top: 1px solid rgba(0,0,0,.05);
font-size: 30rpx;
color: #434343;
font-weight: bold;
}
\ No newline at end of file
business/pages/themeeditor/index.js
View file @
4f3f8970
...
...
@@ -245,7 +245,6 @@ Page({
onLoad
:
function
(
options
)
{
// Do some initialize when page load.
const
that
=
this
;
const
{
id
,
tid
,
clone
,
sid
,
...
...
@@ -254,7 +253,6 @@ Page({
editType
,
}
=
options
;
this
.
setData
({
id
,
tid
,
clone
:
clone
||
''
,
sid
:
sid
||
''
,
...
...
@@ -290,7 +288,6 @@ Page({
title
:
'编辑作业打卡'
})
this
.
loadThemeData
({
id
,
tid
,
extra
:
'land_content,class'
});
...
...
@@ -299,7 +296,6 @@ Page({
title
:
'编辑作业打卡'
})
this
.
loadCalendarThemeData
({
id
,
tid
,
extra
:
'land_content,class'
});
...
...
@@ -657,7 +653,7 @@ Page({
wx
.
hideLoading
()
})
},
loadThemeData
({
id
,
tid
,
extra
})
{
loadThemeData
({
tid
,
extra
})
{
wx
.
showLoading
({
title
:
'数据加载中...'
})
...
...
@@ -678,7 +674,6 @@ Page({
}
catch
(
error
)
{
_content
=
[]
}
let
currentMockItem
=
this
.
data
.
mockTitleList
.
filter
(
item
=>
item
.
title
==
data
.
title
)[
0
];
this
.
setData
({
params
:
{
type
:
data
.
type
,
...
...
@@ -713,10 +708,10 @@ Page({
id
:
(
data
.
land_content
&&
data
.
land_content
.
id
)
||
0
,
title
:
(
data
.
land_content
&&
data
.
land_content
.
title
)
||
''
},
currentMockType
:
currentMockItem
?
currentMockItem
.
type
:
0
,
//标题类型回显
})
}
}).
catch
((
err
)
=>
{
console
.
log
(
'22222'
);
wx
.
hideLoading
()
})
},
...
...
business/pages/themeeditor/index.wxml
View file @
4f3f8970
...
...
@@ -3,7 +3,7 @@
<view class="theme-editor-container clearfix {{showWarn ? 'opacitybody' : ''}}">
<view class="themetypebox" wx:if="{{tid == 0}}">
<view class="themetab">
<view class="themetypeitem {{editType == 1 ? 'active' : ''}}" data-type="1" bindtap="editTypeChange">作业打卡
{{tid}}
</view>
<view class="themetypeitem {{editType == 1 ? 'active' : ''}}" data-type="1" bindtap="editTypeChange">作业打卡</view>
<view class="themetypeitem {{editType == 2 ? 'active' : ''}}" data-type="2" bindtap="editTypeChange">日历打卡</view>
<view class="themetypeitem {{editType == 3 ? 'active' : ''}}" data-type="3" bindtap="editTypeChange">闯关打卡</view>
</view>
...
...
business/pages/themeeditor/lockthemelist.js
View file @
4f3f8970
...
...
@@ -156,4 +156,9 @@ Page({
}
})
},
goMembers
()
{
wx
.
navigateTo
({
url
:
`/business/pages/unlockclocksituation/index?tid=
${
this
.
data
.
tid
}
&sid=
${
this
.
data
.
sid
}
`
})
}
})
\ No newline at end of file
business/pages/themeindex/index.js
View file @
4f3f8970
...
...
@@ -135,9 +135,8 @@ Page({
},
onLoad
:
function
(
options
)
{
// Do some initialize when page load.
const
that
=
this
;
const
{
id
,
tid
,
sid
}
=
options
;
const
{
tid
,
sid
}
=
options
;
this
.
setData
({
id
,
tid
,
sid
,
page
:
1
,
...
...
@@ -314,8 +313,6 @@ Page({
noCommentTotal
:
Number
(
data
.
not_review_count
||
0
),
'remindTips.pushStatus'
:
data
.
subject_status
})
console
.
log
(
_content
,
'44444444444'
);
this
.
getCircleDetail
()
}
}).
catch
((
err
)
=>
{
wx
.
hideLoading
()
...
...
@@ -331,34 +328,6 @@ Page({
})
}
},
getCircleDetail
()
{
erpClassDetailGet
({
id
:
this
.
data
.
id
,
school_id
:
this
.
data
.
sid
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
getSchoolDetail
(
res
.
data
.
school_id
)
if
(
res
.
data
.
deleted_at
)
{
wx
.
showModal
({
title
:
'提示'
,
content
:
'班级已被删除,点击确认返回机构首页'
,
showCancel
:
false
,
confirmText
:
"确定"
,
success
(
r
)
{
if
(
r
.
confirm
)
{
wx
.
reLaunch
({
url
:
`/business/pages/businessindex/index`
})
}
}
})
}
this
.
setData
({
circleInfo
:
res
.
data
})
}
})
},
edittheme
()
{
wx
.
navigateTo
({
url
:
`/business/pages/themeeditor/index?id=
${
this
.
data
.
id
}
&tid=
${
this
.
data
.
tid
}
&sid=
${
this
.
data
.
sid
}
`
...
...
@@ -1334,7 +1303,7 @@ Page({
},
toEdit
()
{
wx
.
navigateTo
({
url
:
`/business/pages/themeeditor/index?
id=
${
this
.
data
.
id
}
&
tid=
${
this
.
data
.
tid
}
&sid=
${
this
.
data
.
sid
}
&editType=1`
url
:
`/business/pages/themeeditor/index?tid=
${
this
.
data
.
tid
}
&sid=
${
this
.
data
.
sid
}
&editType=1`
})
}
})
\ 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