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
091569d1
Commit
091569d1
authored
Mar 16, 2020
by
wangxuelai
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/lvtz_clock' into wxl-user-optimize
parents
3e88d75f
78b1f940
Hide whitespace changes
Inline
Side-by-side
Showing
41 changed files
with
1885 additions
and
9 deletions
+1885
-9
app.json
app.json
+10
-3
app.wxss
app.wxss
+15
-0
themetemplate.js
business/pages/deskcenter/themetemplate.js
+160
-0
themetemplate.json
business/pages/deskcenter/themetemplate.json
+8
-0
themetemplate.wxml
business/pages/deskcenter/themetemplate.wxml
+15
-0
themetemplate.wxss
business/pages/deskcenter/themetemplate.wxss
+45
-0
detail.js
business/pages/helpcenter/detail.js
+66
-0
detail.json
business/pages/helpcenter/detail.json
+6
-0
detail.wxml
business/pages/helpcenter/detail.wxml
+2
-0
detail.wxss
business/pages/helpcenter/detail.wxss
+1
-0
feedbacksubmit.js
business/pages/helpcenter/feedbacksubmit.js
+154
-0
feedbacksubmit.json
business/pages/helpcenter/feedbacksubmit.json
+6
-0
feedbacksubmit.wxml
business/pages/helpcenter/feedbacksubmit.wxml
+33
-0
feedbacksubmit.wxss
business/pages/helpcenter/feedbacksubmit.wxss
+98
-0
index.js
business/pages/helpcenter/index.js
+155
-0
index.json
business/pages/helpcenter/index.json
+7
-0
index.wxml
business/pages/helpcenter/index.wxml
+38
-0
index.wxss
business/pages/helpcenter/index.wxss
+128
-0
myfeedback.js
business/pages/helpcenter/myfeedback.js
+153
-0
myfeedback.json
business/pages/helpcenter/myfeedback.json
+8
-0
myfeedback.wxml
business/pages/helpcenter/myfeedback.wxml
+31
-0
myfeedback.wxss
business/pages/helpcenter/myfeedback.wxss
+66
-0
index.js
business/pages/organizationalmgt/index.js
+5
-0
index.wxml
business/pages/organizationalmgt/index.wxml
+6
-0
newinfo.js
business/pages/organizationalmgt/newinfo.js
+329
-0
newinfo.json
business/pages/organizationalmgt/newinfo.json
+7
-0
newinfo.wxml
business/pages/organizationalmgt/newinfo.wxml
+54
-0
newinfo.wxss
business/pages/organizationalmgt/newinfo.wxss
+130
-0
qxknow.js
business/pages/organizationalmgt/qxknow.js
+31
-0
qxknow.json
business/pages/organizationalmgt/qxknow.json
+4
-0
qxknow.wxml
business/pages/organizationalmgt/qxknow.wxml
+9
-0
qxknow.wxss
business/pages/organizationalmgt/qxknow.wxss
+45
-0
api.js
constants/api.js
+8
-1
constants.js
constants/constants.js
+4
-4
index.wxs
filter/index.wxs
+18
-0
icon_del.png
images/2b/helpcenter/icon_del.png
+0
-0
icon_address.png
images/2b/organizationalmgt/icon_address.png
+0
-0
icon_select.png
images/2b/organizationalmgt/icon_select.png
+0
-0
icon_select_active.png
images/2b/organizationalmgt/icon_select_active.png
+0
-0
feedback.js
service/business/feedback.js
+10
-0
common.js
service/common.js
+20
-1
No files found.
app.json
View file @
091569d1
{
"pages"
:
[
"ucenter/index"
,
"business/pages/webview/index"
"business/pages/webview/index"
,
"business/pages/helpcenter/feedbacksubmit"
,
"business/pages/helpcenter/myfeedback"
,
"business/pages/helpcenter/index"
,
"business/pages/helpcenter/detail"
],
"subpackages"
:
[
{
...
...
@@ -120,7 +124,8 @@
"name"
:
"businessdeskcenter"
,
"pages"
:
[
"index"
,
"clocklist"
"clocklist"
,
"themetemplate"
]
},
{
...
...
@@ -384,7 +389,9 @@
"info"
,
"accountsecurity"
,
"setting"
,
"pcwebsiteintroduction"
"pcwebsiteintroduction"
,
"newinfo"
,
"qxknow"
]
},
{
...
...
app.wxss
View file @
091569d1
...
...
@@ -3,6 +3,9 @@ text, view {
font-size: 28rpx;
/* line-height: 1; */
}
page{
position: relative;
}
.container {
box-sizing: border-box;
height: auto;
...
...
@@ -381,4 +384,16 @@ button::after{
color: #9C9C9D;
padding: 75rpx 0;
text-align: center;
}
/* 页面标题下横线 */
.page_topline {
width: 750rpx;
height: 1px;
/* background: rgba(0, 0, 0, 0.1); */
box-shadow: 0 0 5rpx 4rpx rgba(0, 0, 0, 0.1);
position: fixed;
left: 0;
top: 0;
z-index: 1;
transform: scaleY(.5);
}
\ No newline at end of file
business/pages/deskcenter/themetemplate.js
0 → 100644
View file @
091569d1
var
app
=
getApp
();
import
{
pointsGoodsGet
}
from
"../../../service/business/points.js"
;
Page
({
data
:
{
localImageRoot
:
"../../../images/"
,
imageRoot
:
app
.
globalData
.
imageRoot
,
imageVersion
:
app
.
globalData
.
imageVersion
,
templateList
:
[],
total
:
0
,
hasmore
:
true
,
page
:
1
,
perPage
:
10
,
emptyPage
:
false
,
listLoading
:
false
,
sid
:
0
},
onLoad
:
function
(
options
)
{
const
{
sid
}
=
options
;
this
.
setData
({
sid
:
sid
||
0
});
this
.
getTemplateList
(
"init"
);
},
onShow
:
function
()
{},
onReachBottom
:
function
()
{
this
.
getTemplateList
(
"up"
);
},
getTemplateList
(
type
)
{
if
(
!
this
.
data
.
hasmore
)
{
return
;
}
if
(
this
.
data
.
listLoading
)
{
return
;
}
this
.
setData
({
listLoading
:
true
});
pointsGoodsGet
({
page
:
this
.
data
.
page
,
perPage
:
this
.
data
.
perPage
,
school_id
:
449
})
.
then
(
res
=>
{
const
{
code
,
data
}
=
res
;
this
.
setData
({
listLoading
:
false
});
if
(
code
!=
200
)
{
// 失败的处理
}
else
{
if
(
data
.
total
)
{
this
.
setData
({
total
:
data
.
total
});
}
switch
(
type
)
{
case
"init"
:
//页面进来第一次加载
this
.
setData
({
templateList
:
[
data
.
list
]
});
console
.
log
(
this
.
data
.
templateList
);
if
(
this
.
data
.
total
>
this
.
caculateArrLength
(
this
.
data
.
templateList
)
)
{
this
.
data
.
page
=
this
.
data
.
page
+
1
;
}
else
{
// 没有更多了
this
.
setData
({
hasmore
:
false
});
}
break
;
case
"down"
:
// 页面下拉刷新
this
.
setData
(
{
templateList
:
[
data
.
list
]
},
()
=>
{
if
(
this
.
data
.
total
>
this
.
caculateArrLength
(
this
.
data
.
templateList
)
)
{
this
.
data
.
page
=
this
.
data
.
page
+
1
;
}
else
{
// 没有更多了
this
.
setData
({
hasmore
:
false
});
}
}
);
wx
.
stopPullDownRefresh
();
break
;
case
"up"
:
// 页面上拉刷新
let
list
=
this
.
data
.
templateList
;
this
.
setData
(
{
[
`templateList[
${
this
.
data
.
page
-
1
}
]`
]:
data
.
list
},
()
=>
{
if
(
this
.
data
.
total
>
this
.
caculateArrLength
(
this
.
data
.
templateList
)
)
{
this
.
data
.
page
=
this
.
data
.
page
+
1
;
}
else
{
// 没有更多了
this
.
setData
({
hasmore
:
false
});
}
}
);
break
;
default
:
break
;
}
if
(
this
.
caculateArrLength
(
this
.
data
.
templateList
)
==
0
)
{
this
.
setData
({
emptyPage
:
true
});
}
else
{
this
.
setData
({
emptyPage
:
false
});
}
}
})
.
catch
(
e
=>
{
this
.
setData
({
listLoading
:
false
});
});
},
caculateArrLength
(
array
)
{
let
_length
=
0
;
array
.
forEach
(
ele
=>
{
_length
=
_length
+
ele
.
length
;
});
return
_length
;
},
bindTemplateSelected
(
e
)
{
const
{
id
}
=
e
.
currentTarget
.
dataset
;
console
.
log
(
id
);
wx
.
showModal
({
title
:
"提示一下"
,
content
:
`选择的id是
${
id
}
,然后没有然后`
,
showCancel
:
false
,
confirmColor
:
"#64B8F5"
});
},
createCustom
()
{
wx
.
showModal
({
title
:
"提示"
,
content
:
`不知道跳哪去`
,
showCancel
:
false
,
confirmColor
:
"#64B8F5"
});
}
});
business/pages/deskcenter/themetemplate.json
0 → 100644
View file @
091569d1
{
"navigationBarTitleText"
:
"选择作业打卡模板"
,
"enablePullDownRefresh"
:
false
,
"usingComponents"
:
{
"expiredTip"
:
"../../../components/expiredTip"
,
"empty-content"
:
"../../../components/emptycontent"
}
}
\ No newline at end of file
business/pages/deskcenter/themetemplate.wxml
0 → 100644
View file @
091569d1
<wxs src="../../../filter/index.wxs" module="filter" />
<view class="container">
<view class="list clearfix" wx:if="{{!emptyPage}}">
<block wx:for="{{templateList}}" wx:for-item="bigitem" wx:key="bigindex" wx:for-index="bigindex">
<view class="item" wx:for="{{bigitem}}" wx:for-item="item" data-id="{{item.id}}" wx:key="index" bindtap="bindTemplateSelected">
<image class="item-cover" src="{{filter.imagify(item.cover)}}" mode="aspectFill"></image>
<view class="item-title">{{item.title}}</view>
</view>
</block>
</view>
<empty-content text="咋肥事咧,一个模板也没有~" emptyimg="" wx:if="{{emptyPage}}"></empty-content>
<view class="submitbtn-box">
<view class="submitbtn" bindtap="createCustom">创建自定义打卡</view>
</view>
</view>
\ No newline at end of file
business/pages/deskcenter/themetemplate.wxss
0 → 100644
View file @
091569d1
page {
background: #F5F5F5;
}
.container {
min-height: 100vh;
padding-bottom: 150rpx;
}
.list {
padding: 18rpx;
}
.list .item {
width: 50%;
float: left;
padding: 18rpx;
}
.list .item .item-cover {
width: 100%;
height: 320rpx;
}
.list .item .item-title {
font-size: 26rpx;
color: #222;
line-height: 36rpx;
padding-top: 12rpx;
width: 100%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.submitbtn-box {
width: 100%;
background: #F5F5F7;
display: flex;
align-items: center;
justify-content: center;
position: fixed;
left: 0;
bottom: 0;
padding-bottom: env(safe-area-inset-bottom);
}
.submitbtn {
padding: 26rpx;
font-size: 28rpx;
color: #16B0FD;
}
business/pages/helpcenter/detail.js
0 → 100644
View file @
091569d1
// business/pages/helpcenter/detail.js
Page
({
/**
* 页面的初始数据
*/
data
:
{
},
/**
* 生命周期函数--监听页面加载
*/
onLoad
:
function
(
options
)
{
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady
:
function
()
{
},
/**
* 生命周期函数--监听页面显示
*/
onShow
:
function
()
{
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide
:
function
()
{
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload
:
function
()
{
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh
:
function
()
{
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom
:
function
()
{
},
/**
* 用户点击右上角分享
*/
onShareAppMessage
:
function
()
{
}
})
\ No newline at end of file
business/pages/helpcenter/detail.json
0 → 100644
View file @
091569d1
{
"navigationBarTitleText"
:
"帮助详情"
,
"usingComponents"
:
{
"expiredTip"
:
"../../components/expiredTip"
}
}
\ No newline at end of file
business/pages/helpcenter/detail.wxml
0 → 100644
View file @
091569d1
<!--business/pages/helpcenter/detail.wxml-->
<text>business/pages/helpcenter/detail.wxml</text>
business/pages/helpcenter/detail.wxss
0 → 100644
View file @
091569d1
/* business/pages/helpcenter/detail.wxss */
\ No newline at end of file
business/pages/helpcenter/feedbacksubmit.js
0 → 100644
View file @
091569d1
import
{
wxChooseImage
,
wxUploadFile
}
from
"../../../utilities/wxApi.js"
;
import
{
bOssAccess
}
from
"../../../service/business/common.js"
;
import
{
getRandomFilename
,
imagify
}
from
"../../../utilities/index.js"
;
import
{
postfeed
}
from
'../../../service/business/feedback.js'
;
var
app
=
getApp
();
Page
({
data
:
{
imageRoot
:
app
.
globalData
.
imageRoot
,
imageVersion
:
app
.
globalData
.
imageVersion
,
localImageRoot
:
"../../../images/"
,
sid
:
0
,
imgs
:
[],
content
:
""
,
contact
:
""
,
publishing
:
false
},
onLoad
:
function
(
options
)
{
const
{
sid
}
=
options
;
this
.
setData
({
sid
:
sid
})
},
imgUpload
(
e
)
{
if
(
this
.
data
.
imgs
.
length
>=
4
)
{
wx
.
showToast
({
title
:
"最多上传4张图片"
,
icon
:
"none"
});
return
;
}
let
access
=
{};
let
filename
=
""
;
bOssAccess
({
school_id
:
this
.
data
.
sid
})
.
then
(
acc
=>
{
access
=
acc
.
data
;
return
wxChooseImage
({});
})
.
then
(
res
=>
{
const
{
tempFiles
}
=
res
;
filename
=
`
${
access
.
dir
}${
getRandomFilename
(
tempFiles
[
0
].
path
)}
`
;
return
wxUploadFile
({
url
:
access
.
host
,
formData
:
{
key
:
filename
,
policy
:
access
.
policy
,
OSSAccessKeyId
:
access
.
accessid
,
signature
:
access
.
signature
,
callback
:
access
.
callback
,
success_action_status
:
"200"
},
filePath
:
tempFiles
[
0
].
path
,
name
:
"file"
});
})
.
then
(
res
=>
{
const
{
data
}
=
res
;
if
(
data
==
'{"status":"ok"}'
)
{
let
imgs
=
this
.
data
.
imgs
;
imgs
.
push
(
filename
);
this
.
setData
({
imgs
:
imgs
});
}
else
{
wx
.
hideLoading
();
wx
.
showModal
({
title
:
"提示"
,
content
:
"上传失败"
,
showCancel
:
false
});
}
})
.
catch
(
err
=>
{
wx
.
hideLoading
();
});
},
contentInput
(
e
)
{
const
{
value
}
=
e
.
detail
;
this
.
setData
({
content
:
value
});
},
contactInput
(
e
)
{
const
{
value
}
=
e
.
detail
;
this
.
setData
({
contact
:
value
});
},
publish
()
{
let
that
=
this
;
if
(
this
.
data
.
content
.
trim
()
==
""
)
{
wx
.
showToast
({
title
:
"请输入您的问题和意见"
,
icon
:
"none"
});
return
;
}
if
(
this
.
data
.
publishing
)
{
return
;
}
wx
.
showLoading
({
title
:
"提交中..."
});
this
.
data
.
publishing
=
true
;
postfeed
({
school_id
:
this
.
data
.
sid
,
content
:
this
.
data
.
content
,
img
:
JSON
.
stringify
(
this
.
data
.
imgs
),
contact
:
this
.
data
.
contact
})
.
then
(
res
=>
{
const
{
code
,
data
}
=
res
;
if
(
code
==
200
)
{
wx
.
showToast
({
title
:
"提交成功"
});
wx
.
navigateBack
({
delta
:
1
,
success
:
function
()
{
that
.
data
.
publishing
=
false
;
wx
.
hideLoading
();
}
});
}
else
{
this
.
data
.
publishing
=
false
;
wx
.
hideLoading
();
}
})
.
catch
(()
=>
{
wx
.
hideLoading
();
this
.
data
.
publishing
=
false
;
wx
.
showToast
({
title
:
"提交失败"
,
icon
:
"none"
});
});
},
delImg
(
e
)
{
const
{
index
}
=
e
.
currentTarget
.
dataset
;
const
imgs
=
this
.
data
.
imgs
;
imgs
.
splice
(
index
,
1
);
this
.
setData
({
imgs
:
imgs
});
},
// 我的反馈
toByfeedback
()
{
wx
.
navigateTo
({
url
:
`/business/pages/helpcenter/myfeedback?sid=
${
this
.
data
.
sid
}
`
})
}
});
business/pages/helpcenter/feedbacksubmit.json
0 → 100644
View file @
091569d1
{
"navigationBarTitleText"
:
"建议反馈"
,
"usingComponents"
:
{
"expiredTip"
:
"../../components/expiredTip"
}
}
\ No newline at end of file
business/pages/helpcenter/feedbacksubmit.wxml
0 → 100644
View file @
091569d1
<wxs src="../../../filter/index.wxs" module="filter" />
<view class="page_topline"></view>
<view class="container">
<view class="section">
<view class="section-title">问题和意见</view>
<view class="form-itembox">
<textarea class="input-item form-remark" placeholder="请详细描述您的建议,我们将及时跟进解决。(建议添加相关问题截图或视频)。" maxlength="1000" value="{{content}}" auto-height bindinput="contentInput"></textarea>
</view>
<view class="picbox-wrap">
<view class="picbox">
<block wx:for="{{imgs}}" wx:key="index">
<view class="item">
<image class="item-img" src="{{filter.imagify(item)}}" mode="aspectFill" ></image>
<image class="icon-del" src="{{localImageRoot}}2b/helpcenter/icon_del.png?{{imageVersion}}" bindtap="delImg" data-index="{{index}}"></image>
</view>
</block>
<view class="item item-add" wx:if="{{imgs.length<4}}" bindtap="imgUpload">+
<!-- <image class="pic-add" src="{{imageRoot}}2b/helpcenter/pic_add.png?{{imageVersion}}"></image> -->
</view>
</view>
</view>
</view>
<view class="section section-contact">
<view class="section-title">联系方式</view>
<view class="form-itembox">
<input class="input-item" type="text" value="{{contact}}" placeholder="请留下您的手机号/微信号 (可选)"/>
</view>
</view>
<view class="submitbtn {{!content? 'submitbtn-disabled' : ''}}" bindtap="publish">提交</view>
<view class="btn-mine" bindtap="toByfeedback">我的反馈</view>
</view>
<expiredTip/>
\ No newline at end of file
business/pages/helpcenter/feedbacksubmit.wxss
0 → 100644
View file @
091569d1
.container {
padding-bottom: 100rpx;
}
.section {
border-top: 20rpx solid #f5f5f5;
padding: 24rpx 30rpx;
position: relative;
}
.section:first-of-type {
border-top: 0;
}
.section-contact::after{
content: '';
width: 690rpx;
height: 1px;
background: rgba(241,242,243,1);
position: absolute;
left: 50%;
bottom: 0;
transform: translateX(-50%);
}
.section .section-title {
font-size: 30rpx;
color: #666;
line-height: 42rpx;
padding-bottom: 34rpx;
}
.section .input-item {
line-height: 36rpx;
width: 100%;
}
.section .input-item.form-remark {
height: 196rpx;
min-height: 196rpx;
}
.picbox-wrap {
width: 100%;
padding-top: 18rpx;
}
.picbox {
display: flex;
flex-wrap: wrap;
}
.picbox .item {
width: 116rpx;
height: 116rpx;
margin-right: 50rpx;
position: relative;
display: flex;
align-items: center;
justify-content: center;
font-size: 60rpx;
color: #ccc;
font-weight: bold;
}
.picbox .item:last-of-type {
margin-right: 0;
}
.picbox .item .item-img {
width: 100%;
height: 100%;
}
.picbox .item.item-add {
border: 2rpx solid #ccc;
}
.picbox .item .icon-del {
width: 36rpx;
height: 36rpx;
position: absolute;
top: -18rpx;
right: -18rpx;
}
.picbox .item .pic-add {
width: 100%;
height: 100%;
}
.submitbtn {
margin: 130rpx auto 96rpx;
width: 630rpx;
height: 90rpx;
background: rgba(22,176,253,1);
font-size: 32rpx;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
border-radius: 49rpx;
box-shadow: 0 0 20rpx rgba(22, 176, 253, 0.8);
}
.submitbtn-disabled{
background: rgba(185,199,213,1);
box-shadow: none;
}
.btn-mine {
font-size: 28rpx;
color: #16b0fd;
text-align: center;
}
business/pages/helpcenter/index.js
0 → 100644
View file @
091569d1
import
{
helpList
}
from
"../../../service/common.js"
;
import
{
imagify
}
from
"../../../utilities/index.js"
;
var
app
=
getApp
();
Page
({
data
:
{
imageRoot
:
app
.
globalData
.
imageRoot
,
imageVersion
:
app
.
globalData
.
imageVersion
,
localImageRoot
:
"../../../images/"
,
sid
:
0
,
page
:
1
,
perPage
:
10
,
list
:
[],
tatol
:
""
,
hasmore
:
true
,
emptyPage
:
false
,
listLoading
:
false
,
curbanner
:
0
},
onLoad
:
function
(
options
)
{
const
{
sid
}
=
options
;
this
.
setData
({
sid
});
this
.
getlist
(
"init"
);
},
onPullDownRefresh
:
function
()
{
this
.
setData
({
hasmore
:
true
,
page
:
1
});
this
.
getlist
(
"down"
);
},
onReachBottom
:
function
()
{
this
.
getlist
(
"up"
);
},
getlist
(
type
)
{
if
(
!
this
.
data
.
hasmore
)
{
return
;
}
if
(
this
.
data
.
listLoading
)
{
return
;
}
this
.
setData
({
listLoading
:
true
});
helpList
({
page
:
this
.
data
.
page
,
perPage
:
this
.
data
.
perPage
})
.
then
(
res
=>
{
const
{
code
,
data
}
=
res
;
wx
.
hideLoading
();
this
.
setData
({
listLoading
:
false
});
if
(
code
!=
200
)
{
// 失败的处理
}
else
{
if
(
data
.
total
)
{
this
.
setData
({
total
:
data
.
total
});
}
switch
(
type
)
{
case
"init"
:
//页面进来第一次加载
this
.
setData
({
list
:
[
data
.
list
]
});
if
(
data
.
total
>
this
.
caculateArrLength
(
this
.
data
.
list
))
{
let
page
=
this
.
data
.
page
+
1
;
this
.
setData
({
page
});
}
else
{
// 没有更多了
this
.
setData
({
hasmore
:
false
});
}
console
.
log
(
this
.
data
.
list
,
"11"
);
break
;
case
"down"
:
// 页面下拉刷新
this
.
setData
({
list
:
[
data
.
list
]
});
if
(
data
.
total
>
this
.
caculateArrLength
(
this
.
data
.
list
))
{
let
page
=
this
.
data
.
page
+
1
;
this
.
setData
({
page
});
}
else
{
// 没有更多了
this
.
setData
({
hasmore
:
false
});
}
wx
.
stopPullDownRefresh
();
break
;
case
"up"
:
// 页面上拉刷新
this
.
setData
({
[
`list[
${
this
.
data
.
page
-
1
}
]`
]:
data
.
list
});
if
(
this
.
data
.
total
>
this
.
caculateArrLength
(
this
.
data
.
list
))
{
let
page
=
this
.
data
.
page
+
1
;
this
.
setData
({
page
});
}
else
{
// 没有更多了
this
.
setData
({
hasmore
:
false
});
}
break
;
default
:
break
;
}
if
(
this
.
caculateArrLength
(
this
.
data
.
list
)
==
0
)
{
this
.
setData
({
emptyPage
:
true
});
}
else
{
this
.
setData
({
emptyPage
:
false
});
}
}
})
.
catch
(
e
=>
{
this
.
setData
({
listLoading
:
false
});
});
},
caculateArrLength
(
array
)
{
let
_length
=
0
;
array
.
forEach
(
ele
=>
{
_length
=
_length
+
ele
.
length
;
});
return
_length
;
},
toHelpdetail
(
e
){
const
{
id
}
=
e
.
currentTarget
.
dataset
;
wx
.
navigateTo
({
url
:
`/business/pages/helpcenter/detail?sid=
${
this
.
data
.
sid
}
&id=
${
id
}
`
})
},
toPostFeedback
()
{
wx
.
navigateTo
({
url
:
`/business/pages/helpcenter/feedbacksubmit?sid=
${
this
.
data
.
sid
}
`
})
}
});
business/pages/helpcenter/index.json
0 → 100644
View file @
091569d1
{
"navigationBarTitleText"
:
"帮助中心"
,
"usingComponents"
:
{
"expiredTip"
:
"../../components/expiredTip"
,
"empty-content"
:
"../../components/emptycontent"
}
}
\ No newline at end of file
business/pages/helpcenter/index.wxml
0 → 100644
View file @
091569d1
<wxs src="../../../filter/index.wxs" module="filter" />
<view class="page_topline"></view>
<view class="container">
<view class="swiperbox">
<swiper class="swiperbox" autoplay circular bindchange="bindSwiperchange">
<swiper-item class="swiperitembox" wx:for="5" wx:key="index" wx:for-item="item">
<image class="swiperimg"
src="https://dss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/home/img/qrcode/zbios_09b6296.png"
data-url="{{item}}"
bindtap="previewBanner"
mode="aspectFill"
>
</image>
</swiper-item>
</swiper>
<view class="swiperdots">
<view class="dot {{curbanner==index?'active':''}}" wx:for="5" wx:key="index"></view>
</view>
</view>
<view class="section">
<view class="section-title">常见问题</view>
<view class="list" wx:if="{{list.length>0}}">
<block wx:for="{{list}}" wx:for-item="bigitem" wx:key="bigindex" wx:for-index="bigindex">
<view class="list-item" wx:for="{{bigitem}}" wx:for-item="item" wx:key="index" data-id="{{item.id}}" bindtap="toHelpdetail">
<view class="item-title">{{item.title}}</view>
<image class="icon-arr" src="{{imageRoot}}2b/organizationalmgt/right.png?{{imageVersion}}"></image>
</view>
</block>
</view>
<view class="empty-content" wx:else>
<empty-content text="暂未添加" emptyimg="common/empty/empty_b_search.png" width="255" height="198"></empty-content>
</view>
</view>
<view class="footer-box">
<view class="btn btn-feedback" bindtap="toPostFeedback"><image class="icon" src="{{imageRoot}}2b/organizationalmgt/pc-icon.png?{{imageVersion}}"/>建议反馈</view>
<view class="btn btn-contact" bindtap=""><image class="icon" src="{{imageRoot}}2b/organizationalmgt/pc-icon.png?{{imageVersion}}"/>在线咨询</view>
</view>
</view>
\ No newline at end of file
business/pages/helpcenter/index.wxss
0 → 100644
View file @
091569d1
page {
position: relative;
}
.container {
padding-bottom: 100rpx;
}
.swiperbox {
width: 100%;
height: 500rpx;
position: relative;
}
.swiperitembox {
width: 100%;
height: 500rpx;
}
.swiperimg {
width: 100%;
height: 500rpx;
display: block;
}
.swiperbox {
height: 500rpx;
}
.swiperdots {
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 20rpx;
display: flex;
align-items: center;
}
.swiperdots .dot {
width: 10rpx;
height: 10rpx;
margin: 0 4rpx;
border-radius: 50%;
background: #fff;
}
.swiperdots .dot.active {
width: 14rpx;
height: 14rpx;
background: #ff594d;
}
.section {
padding: 0 30rpx;
}
.section .section-title {
font-size: 36rpx;
color: rgba(34, 34, 34, 1);
line-height: 50rpx;
padding: 32rpx 0 20rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: bold;
}
.list {
}
.list .list-item {
position: relative;
display: flex;
padding: 18rpx 0;
}
.list .list-item::after {
content: "";
width: 100%;
height: 1px;
background: rgba(232, 232, 232, 1);
position: absolute;
left: 0;
bottom: 0;
}
.list .list-item .item-title {
font-size: 30rpx;
color: rgba(34, 34, 34, 1);
line-height: 42rpx;
max-width: 650rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.list .list-item .icon-arr {
width: 12rpx;
height: 24rpx;
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
}
.empty-content{
height: 500rpx;
position: relative;
}
.footer-box {
width: 100%;
position: fixed;
bottom: 0;
left: 0;
padding: 20rpx 80rpx;
display: flex;
align-items: center;
justify-content: space-between;
z-index: 2;
}
.footer-box .btn {
width: 244rpx;
height: 84rpx;
border-radius: 42rpx;
font-size: 32rpx;
display: flex;
align-items: center;
justify-content: center;
}
.footer-box .btn.btn-feedback {
background: #fff;
color: rgba(22, 176, 253, 1);
box-shadow: 0 1px 12rpx 0 rgba(22, 176, 253, 0.3),
0 1px 4rpx 0 rgba(73, 194, 255, 0.2);
}
.footer-box .btn.btn-contact {
background: rgba(22, 176, 253, 1);
color: #fff;
box-shadow: 0 1px 12rpx 0 rgba(22, 176, 253, 0.4);
}
.footer-box .btn .icon {
width: 50rpx;
height: 50rpx;
margin-right: 14rpx;
}
business/pages/helpcenter/myfeedback.js
0 → 100644
View file @
091569d1
import
{
myfeed
}
from
'../../../service/business/feedback.js'
;
import
{
imagify
,
}
from
'../../../utilities/index.js'
;
var
app
=
getApp
();
Page
({
data
:
{
imageRoot
:
app
.
globalData
.
imageRoot
,
imageVersion
:
app
.
globalData
.
imageVersion
,
localImageRoot
:
"../../../images/"
,
sid
:
0
,
page
:
1
,
perPage
:
10
,
list
:
[],
tatol
:
''
,
hasmore
:
true
,
emptyPage
:
false
,
listLoading
:
false
},
onLoad
:
function
(
options
)
{
const
{
sid
}
=
options
;
this
.
setData
({
sid
})
this
.
getlist
(
'init'
)
},
onPullDownRefresh
:
function
()
{
this
.
setData
({
hasmore
:
true
,
page
:
1
,
})
this
.
getlist
(
'down'
)
},
onReachBottom
:
function
()
{
this
.
getlist
(
'up'
)
},
getlist
(
type
)
{
if
(
!
this
.
data
.
hasmore
)
{
return
;
}
if
(
this
.
data
.
listLoading
)
{
return
}
this
.
setData
({
listLoading
:
true
})
myfeed
({
page
:
this
.
data
.
page
,
perPage
:
this
.
data
.
perPage
,
school_id
:
this
.
data
.
sid
,
}).
then
((
res
)
=>
{
const
{
code
,
data
}
=
res
;
wx
.
hideLoading
();
this
.
setData
({
listLoading
:
false
})
if
(
code
!=
200
)
{
// 失败的处理
}
else
{
if
(
data
.
total
)
{
this
.
setData
({
total
:
data
.
total
})
}
data
.
list
.
forEach
(
item
=>
item
.
imgs
=
JSON
.
parse
(
item
.
img
)
)
switch
(
type
)
{
case
'init'
:
//页面进来第一次加载
this
.
setData
({
list
:
[
data
.
list
]
})
if
(
data
.
total
>
this
.
caculateArrLength
(
this
.
data
.
list
))
{
let
page
=
this
.
data
.
page
+
1
;
this
.
setData
({
page
,
})
}
else
{
// 没有更多了
this
.
setData
({
hasmore
:
false
})
}
console
.
log
(
this
.
data
.
list
,
'11'
)
break
;
case
'down'
:
// 页面下拉刷新
this
.
setData
({
list
:
[
data
.
list
]
})
if
(
data
.
total
>
this
.
caculateArrLength
(
this
.
data
.
list
))
{
let
page
=
this
.
data
.
page
+
1
;
this
.
setData
({
page
,
})
}
else
{
// 没有更多了
this
.
setData
({
hasmore
:
false
})
}
wx
.
stopPullDownRefresh
();
break
;
case
'up'
:
// 页面上拉刷新
this
.
setData
({
[
`list[
${
this
.
data
.
page
-
1
}
]`
]:
data
.
list
})
if
(
this
.
data
.
total
>
this
.
caculateArrLength
(
this
.
data
.
list
))
{
let
page
=
this
.
data
.
page
+
1
;
this
.
setData
({
page
,
})
}
else
{
// 没有更多了
this
.
setData
({
hasmore
:
false
})
}
break
;
default
:
break
;
}
if
(
this
.
caculateArrLength
(
this
.
data
.
list
)
==
0
)
{
this
.
setData
({
emptyPage
:
true
})
}
else
{
this
.
setData
({
emptyPage
:
false
,
})
}
}
}).
catch
((
e
)
=>
{
this
.
setData
({
listLoading
:
false
})
})
},
caculateArrLength
(
array
)
{
let
_length
=
0
;
array
.
forEach
(
ele
=>
{
_length
=
_length
+
ele
.
length
;
})
return
_length
;
},
prevImg
(
e
)
{
const
{
imglist
,
src
}
=
e
.
currentTarget
.
dataset
;
let
urls
=
imglist
.
map
(
ele
=>
imagify
(
ele
));
wx
.
previewImage
({
urls
:
urls
,
current
:
imagify
(
src
)
})
}
});
business/pages/helpcenter/myfeedback.json
0 → 100644
View file @
091569d1
{
"navigationBarTitleText"
:
"我的反馈"
,
"usingComponents"
:
{
"expiredTip"
:
"../../../components/expiredTip"
,
"list-loading"
:
"../../../components/listloading"
,
"empty-content"
:
"../../../components/emptycontent"
}
}
\ No newline at end of file
business/pages/helpcenter/myfeedback.wxml
0 → 100644
View file @
091569d1
<wxs src="../../../filter/index.wxs" module="filter" />
<view class="page_topline"></view>
<view class="container">
<view class="list" wx:if="{{list.length>0}}">
<block wx:for="{{list}}" wx:for-item="bigitem" wx:key="bigindex" wx:for-index="bigindex">
<view class="list-item" wx:for="{{bigitem}}" wx:for-item="item" wx:key="index">
<view class="qa-box q-box">
<view class="nickname-box">{{item.teacher.nickname}}</view>
<view class="time">{{filter.formatDateWithChinese(item.created_at)}}</view>
<view class="content-box">
<view class="text">{{item.content}} {{item.img.length}}</view>
<view class="imgbox" wx:if="{{item.imgs.length>0}}">
<view class="imgitem" wx:for="{{item.imgs}}" wx:key="imgidx" wx:for-index="imgidx" wx:for-item="imgitem" bindtap="prevImg" data-src="{{imgitem}}" data-imglist="{{item.imgs}}">
<image class="img" src="{{filter.imagify(imgitem)}}" mode="aspectFill" ></image>
</view>
</view>
</view>
</view>
<view class="qa-box a-box" wx:if="{{item.reply_content}}">
<view class="nickname-box">轻校回复:</view>
<view class="content-box">
<view class="text">{{item.reply_content}}</view>
</view>
</view>
</view>
</block>
</view>
<empty-content text="暂无反馈" emptyimg="common/empty/empty_b_search.png" width="255" height="198" wx:else></empty-content>
<list-loading loading="{{listLoading}}"></list-loading>
<view class="has-nomore" wx:if="{{!hasmore && page>1}}">没有更多了</view>
</view>
\ No newline at end of file
business/pages/helpcenter/myfeedback.wxss
0 → 100644
View file @
091569d1
page {
background: #f6f5f8;
position: relative;
}
.container {
padding-bottom: 100rpx;
}
.list {
}
.list .list-item {
background: #fff;
margin-bottom: 20rpx;
padding: 0 30rpx;
}
.list .list-item:last-of-type {
margin-bottom: 0;
}
.list .list-item .qa-box {
padding: 24rpx 0;
}
.list .list-item .a-box {
border-top: 1px solid #f5f5f7;
}
.list .list-item .qa-box .nickname-box {
font-size: 30rpx;
color: #666;
line-height: 42rpx;
}
.list .list-item .qa-box .time {
font-size: 26rpx;
color: #999;
line-height: 36rpx;
padding: 8rpx 0 2rpx;
}
.list .list-item .qa-box .content-box {
padding-top: 14rpx;
}
.list .list-item .qa-box .content-box .text {
font-size: 26rpx;
color: #222;
line-height: 36rpx;
padding-bottom: 14rpx;
}
.imgbox {
display: flex;
align-items: center;
padding: 42rpx 0 8rpx;
}
.imgbox .imgitem {
width: 116rpx;
height: 116rpx;
margin-right: 50rpx;
}
.imgbox .imgitem:last-of-type {
margin-right: 0;
}
.list .list-item .qa-box .content-box .imgbox .imgitem .img {
width: 100%;
height: 116rpx;
}
.has-nomore {
font-size: 26rpx;
color: #9c9c9d;
padding: 75rpx 0;
text-align: center;
}
business/pages/organizationalmgt/index.js
View file @
091569d1
...
...
@@ -216,5 +216,10 @@ Page({
source
:
this
.
data
.
options
,
})
})
},
goHelpcenter
()
{
wx
.
navigateTo
({
url
:
`/business/pages/helpcenter/index?sid=
${
this
.
data
.
sid
}
`
})
}
})
\ No newline at end of file
business/pages/organizationalmgt/index.wxml
View file @
091569d1
...
...
@@ -53,6 +53,12 @@
</view>
<image class="right-icon" src="{{imageRoot}}2b/organizationalmgt/right.png?{{imageVersion}}"></image>
</view>
<view class="line" bindtap="goHelpcenter">
<view class="left">
<image class="icon" src="{{imageRoot}}2b/organizationalmgt/set-icon.png?{{imageVersion}}" />意见反馈
</view>
<image class="right-icon" src="{{imageRoot}}2b/organizationalmgt/right.png?{{imageVersion}}"></image>
</view>
</view>
<btabbar sid="{{sid}}" current="ucenter">
</btabbar>
...
...
business/pages/organizationalmgt/newinfo.js
0 → 100644
View file @
091569d1
import
{
getCategory
,
setSchoolInfo
,
}
from
"../../../service/business/shopeditor.js"
;
import
{
schoolDetailGet
}
from
"../../../service/business/common.js"
;
import
{
wxAuthorize
,
wxChooseLocation
,
wxOpenSetting
}
from
"../../../utilities/wxApi.js"
;
import
{
LocalStorage
}
from
"../../../utilities/index.js"
;
import
permissionUtils
from
"../../../utilities/permission.js"
;
var
app
=
getApp
();
Page
({
data
:
{
imageRoot
:
app
.
globalData
.
imageRoot
,
localImageRoot
:
"../../../images/"
,
imageVersion
:
app
.
globalData
.
imageVersion
,
sid
:
0
,
industrys
:
[
"单校区"
,
"连锁"
,
"品牌总部"
],
industryIndex
:
-
1
,
allSubject
:
[
"书法"
,
"美术"
,
"舞蹈"
,
"乐器"
,
"艺术"
,
"英语"
],
// 所有科目
allSubjectShow
:
true
,
// 所有科目选择框是否显示
selectedSubject
:
[],
// 选中的学科
selectedSubjectStyle
:
{},
// 控制选中的学科样式
params
:
{
title
:
""
,
// 店铺名称
longitude
:
""
,
latitude
:
""
,
location_address
:
""
,
address
:
""
,
tel
:
""
,
logo
:
"qingxiao/daka/images/2c/common/logologo.png"
,
type
:
-
1
,
category
:
""
,
qr_code
:
""
},
mobileArr
:
[
""
],
submitting
:
false
,
callBackSchoolId
:
0
,
from
:
0
,
// 页面来源 1登录页面 2注册页面 3 校区管理的校区列表编辑按钮 4 校区详情页面的编辑按钮
},
onLoad
:
function
(
options
)
{
const
visitor
=
LocalStorage
.
getItem
(
"visitor"
);
const
{
sid
,
from
,
school_id
}
=
options
;
let
dakarole
=
LocalStorage
.
getItem
(
"dakarole"
);
this
.
setData
({
sid
:
sid
||
0
,
school_id
:
school_id
||
0
,
dakarole
:
dakarole
,
from
:
from
||
0
});
this
.
getCategory
();
if
(
this
.
data
.
sid
==
0
)
{
return
;
}
wx
.
showLoading
({
title
:
"数据加载中..."
});
schoolDetailGet
({
id
:
this
.
data
.
sid
,
school_id
:
this
.
data
.
sid
})
.
then
(
res
=>
{
wx
.
hideLoading
();
if
(
res
.
code
==
200
)
{
const
{
data
}
=
res
;
if
(
data
)
{
// 是编辑状态
const
{
address
,
created_at
,
latitude
,
location_address
,
longitude
,
title
,
tel_phone
,
logo
,
type
,
category
,
qr_code
}
=
data
;
let
selectedArr
=
[];
let
selectedSubjectStyle
=
{};
for
(
let
i
=
0
;
i
<
category
.
length
;
i
++
)
{
// selectedArr.push(clock_category_address[i].category_id)
selectedSubjectStyle
[
category
[
i
]]
=
true
;
}
this
.
setData
({
mobileArr
:
tel_phone
?
JSON
.
parse
(
tel_phone
)
:
[
""
],
selectedSubjectStyle
:
selectedSubjectStyle
,
selectedSubject
:
category
,
"params.title"
:
title
,
"params.longitude"
:
longitude
,
"params.latitude"
:
latitude
,
"params.address"
:
address
||
""
,
"params.location_address"
:
location_address
,
"params.addressname"
:
""
,
"params.logo"
:
logo
||
"qingxiao/daka/images/2c/pclogin/logo.png"
,
"params.type"
:
Number
(
type
)
-
1
});
}
else
{
// 是新建状态
}
}
})
.
catch
(()
=>
{
wx
.
hideLoading
();
});
},
onReady
:
function
()
{
// Do something when page ready.
},
onShow
:
function
()
{
},
//选择学科
selectSubject
(
event
)
{
const
subject
=
event
.
currentTarget
.
dataset
.
activeItem
;
let
selectedSubject
=
this
.
data
.
selectedSubject
;
let
selectedSubjectStyle
=
this
.
data
.
selectedSubjectStyle
;
let
flag
=
true
;
for
(
let
i
=
0
;
i
<
selectedSubject
.
length
;
i
++
)
{
if
(
subject
.
id
==
selectedSubject
[
i
])
{
selectedSubject
.
splice
(
i
,
1
);
selectedSubjectStyle
[
subject
.
id
]
=
false
;
flag
=
false
;
}
}
if
(
flag
)
{
selectedSubject
.
push
(
subject
.
id
);
selectedSubjectStyle
[
subject
.
id
]
=
true
;
}
this
.
setData
({
selectedSubject
,
selectedSubjectStyle
});
},
//获取所有学科
getCategory
()
{
getCategory
()
.
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
// 成功的操作
this
.
setData
({
allSubject
:
res
.
data
.
list
});
}
})
.
catch
(
e
=>
{});
},
titleInput
(
e
)
{
const
{
value
}
=
e
.
detail
;
this
.
setData
({
"params.title"
:
value
});
},
addressSelect
()
{
wxAuthorize
(
"scope.userLocation"
)
.
then
(()
=>
{
return
wxChooseLocation
();
})
.
then
(
value
=>
{
console
.
log
(
value
,
"value"
);
if
(
value
.
errMsg
==
"chooseLocation:ok"
)
{
if
(
value
.
address
==
undefined
||
value
.
address
==
"undefined"
)
{
wx
.
showModal
({
title
:
"提示"
,
content
:
"地理位置获取失败,请重新获取"
,
showCancel
:
false
});
return
;
}
this
.
setData
({
"params.longitude"
:
value
.
longitude
,
"params.latitude"
:
value
.
latitude
,
"params.location_address"
:
`
${
value
.
address
}${
value
.
name
}
`
,
"params.address"
:
`
${
value
.
address
}${
value
.
name
}
`
,
"params.addressname"
:
value
.
name
});
}
else
{
}
})
.
catch
(
e
=>
{
if
(
e
&&
e
.
errMsg
.
indexOf
(
"authorize:fail"
)
!=
-
1
)
{
wx
.
showModal
({
title
:
"提示"
,
content
:
"点击确认前往设置页面开启使用我的地理位置"
,
confirmColor
:
"#66B8F4"
,
success
(
res
)
{
if
(
res
.
confirm
)
{
wxOpenSetting
();
}
}
});
return
;
}
});
},
addressInput
(
e
)
{
const
{
value
}
=
e
.
detail
;
this
.
setData
({
"params.addressname"
:
value
});
},
industrySelect
(
e
)
{
const
{
value
}
=
e
.
detail
;
const
that
=
this
;
that
.
setData
({
"params.type"
:
value
});
},
save
(
e
)
{
wx
.
redirectTo
({
url
:
"/business/pages/organizationalmgt/qxknow"
});
return
;
let
saveParams
=
this
.
objValueTrim
(
this
.
data
.
params
);
saveParams
.
type
=
Number
(
saveParams
.
type
)
+
1
;
saveParams
.
category
=
this
.
data
.
selectedSubject
.
join
(
","
);
if
(
!
saveParams
.
logo
)
{
wx
.
showModal
({
title
:
"提示"
,
content
:
"请上传机构LOGO"
,
showCancel
:
false
,
confirmColor
:
"#66B8F4"
});
return
;
}
if
(
!
saveParams
.
title
)
{
wx
.
showModal
({
title
:
"提示"
,
content
:
"机构名称不能为空"
,
showCancel
:
false
,
confirmColor
:
"#66B8F4"
});
return
;
}
if
(
saveParams
.
title
.
length
>
30
)
{
wx
.
showModal
({
title
:
"提示"
,
content
:
"机构名称不能超过30个字"
,
showCancel
:
false
,
confirmColor
:
"#66B8F4"
});
return
;
}
if
(
!
saveParams
.
category
)
{
wx
.
showModal
({
title
:
"提示"
,
content
:
"请选择机构类型"
,
showCancel
:
false
,
confirmColor
:
"#66B8F4"
});
return
;
}
if
(
!
saveParams
.
longitude
)
{
wx
.
showModal
({
title
:
"提示"
,
content
:
"请选择机构地址"
,
showCancel
:
false
,
confirmColor
:
"#66B8F4"
});
return
;
}
if
(
this
.
data
.
submitting
)
{
return
;
}
this
.
setData
({
submitting
:
true
});
wx
.
showLoading
({
title
:
"保存中..."
,
mask
:
true
});
saveParams
.
sort
=
0
;
saveParams
.
id
=
this
.
data
.
sid
;
saveParams
.
school_id
=
this
.
data
.
sid
!=
0
?
this
.
data
.
sid
:
this
.
data
.
school_id
;
setSchoolInfo
(
saveParams
)
.
then
(
res
=>
{
this
.
setData
({
submitting
:
false
});
wx
.
hideLoading
();
if
(
res
.
code
==
200
)
{
// 成功的操作
if
(
this
.
data
.
sid
==
0
)
{
// 新增的操作
LocalStorage
.
setItem
(
"dakarole"
,
1
);
permissionUtils
.
myMenulistGet
(
res
.
data
.
id
);
wx
.
reLaunch
({
url
:
`/business/pages/classmgt/index?sid=
${
res
.
data
.
id
}
&newcreate=1`
});
}
else
{
wx
.
showToast
({
title
:
"保存成功"
,
success
()
{
wx
.
navigateBack
({
delta
:
1
// 回退前 delta(默认为1) 页面
});
}
});
}
}
})
.
catch
(
e
=>
{
this
.
setData
({
submitting
:
false
});
});
},
objValueTrim
(
obj
)
{
let
newObj
=
{};
Object
.
keys
(
obj
).
forEach
(
key
=>
{
newObj
[
key
]
=
`
${
obj
[
key
]}
`
.
trim
();
});
return
newObj
;
}
});
business/pages/organizationalmgt/newinfo.json
0 → 100644
View file @
091569d1
{
"navigationBarTitleText"
:
"添加学校信息"
,
"usingComponents"
:
{
"expiredTip"
:
"../../components/expiredTip"
,
"permission-box"
:
"../../components/permissionbox"
}
}
\ No newline at end of file
business/pages/organizationalmgt/newinfo.wxml
0 → 100644
View file @
091569d1
<wxs src="../../../filter/index.wxs" module="filter" />
<view class="container">
<permission-box cinfigid="{{sid==0 || dakarole==1? 0: 700}}">
<view slot="menubtn">
<view class="box">
<view class="line-item">
<view class="item-label">学校名称</view>
<view class="right">
<input type="text" placeholder-class="placeholderclass" class="iteminput" maxlength="30" value="{{params.title}}" bindinput="titleInput" placeholder="请输入学校名称"></input>
<!-- <image class="arrowsmall" src="{{imageRoot}}2b/organizationalmgt/right.png?{{imageVersion}}"></image> -->
</view>
</view>
<view class="line-item">
<view class="item-label">联系电话</view>
<view class="right">
<input type="text" placeholder-class="placeholderclass" class="iteminput" maxlength="11" value="" bindinput="" placeholder="请输入学校联系电话"></input>
<!-- <image class="arrowsmall" src="{{imageRoot}}2b/organizationalmgt/right.png?{{imageVersion}}"></image> -->
</view>
</view>
<view class="line-item">
<view class="item-label">地址</view>
<view class="right" bindtap="addressSelect">
<image class="icon-address" src="{{localImageRoot}}2b/organizationalmgt/icon_address.png?{{imageVersion}}"></image>
<view class="iteminput">{{params.location_address ? params.location_address : '请选择地址'}}</view>
<!-- <image class="arrowsmall" src="{{imageRoot}}2b/organizationalmgt/right.png?{{imageVersion}}"></image> -->
</view>
</view>
<view class="line-item">
<view class="item-label">详细地址</view>
<view class="right">
<textarea class="iteminput" placeholder-class="placeholderclass" bindinput="addressInput" autoHeight="true" value="{{params.addressname}}" placeholder="所在街道,楼牌号等"></textarea>
<!-- <image class="arrowsmall" src="{{imageRoot}}2b/organizationalmgt/right.png?{{imageVersion}}"></image> -->
</view>
</view>
<view class="line-item line-item-subject">
<view class="item-label">学校类型<text>(可多选)</text></view>
<view class="right content-box">
<view class="item-box" wx:for="{{allSubject}}" wx:for-index="idx" wx:for-item="item" wx:key="idx" data-active-item="{{item}}" bindtap="selectSubject" >
<view class="{{selectedSubjectStyle[item.id]?'item-box-inner selectd-item-box-inner':'item-box-inner'}}">{{item.name}}
<image class="icon-select" src="{{localImageRoot}}2b/organizationalmgt/icon_select_active.png?{{imageVersion}}" wx:if="{{selectedSubjectStyle[item.id]}}"></image>
<image class="icon-select" src="{{localImageRoot}}2b/organizationalmgt/icon_select.png?{{imageVersion}}" wx:else></image>
</view>
</view>
</view>
</view>
</view>
<view class="submitbtn-box">
<view class="submitbtn" bindtap="save">创建作业打卡</view>
</view>
</view>
</permission-box>
</view>
<expiredTip/>
\ No newline at end of file
business/pages/organizationalmgt/newinfo.wxss
0 → 100644
View file @
091569d1
page {
background: #f7f7f9;
height: 100%;
}
.container {
padding-bottom: 100rpx;
border-top: 1px solid #eee;
}
.placeholderclass {
color: #939393;
font-size: 26rpx;
}
.box {
background: #fff;
padding: 0 24rpx;
}
.line-item {
display: flex;
align-items: center;
background: #fff;
position: relative;
padding: 35rpx 0;
}
.box .line-item::after {
content: "";
width: 726rpx;
height: 1px;
background: rgba(0, 0, 0, 0.05);
position: absolute;
bottom: 0;
left: 0;
}
.box .line-item:last-of-type::after {
display: none;
}
.line-item .item-label {
font-size: 26rpx;
color: #222;
min-width: 180rpx;
word-break: break-all;
}
.line-item .item-label text {
font-size: 24rpx;
color: #ccc;
padding-left: 10rpx;
}
.line-item .right {
display: flex;
align-items: center;
flex: 1;
}
.icon-address{
width: 24rpx;
height: 28rpx;
margin-right: 10rpx;
}
.line-item .right .iteminput {
width: 100%;
color: #939393;
font-size: 26rpx;
word-break: break-all
}
.line-item .right .arrowsmall {
width: 12rpx;
height: 20rpx;
margin-left: 20rpx;
}
.line-item-subject {
flex-direction: column;
align-items: flex-start;
padding: 46rpx 0 10rpx;
}
.content-box {
padding-top: 32rpx;
display: flex;
flex-wrap: wrap;
}
.content-box .item-box {
width: 25%;
text-align: center;
height: 66rpx;
line-height: 66rpx;
padding-right: 4%;
margin-bottom: 32rpx;
}
.content-box .item-box:nth-child(4n) {
padding-right: 0;
}
.content-box .item-box .item-box-inner {
background: #fff;
border: 1px solid #dadbdc;
border-radius: 4rpx;
width: 100%;
position: relative;
}
.selectd-item-box-inner {
border: 1px solid #16B0FD !important;
color: #16B0FD !important;
}
.item-box-inner .icon-select {
position: absolute;
left: -2rpx;
bottom: -2rpx;
width: 26rpx;
height: 26rpx;
}
.submitbtn-box {
width: 100%;
/* background: #fff; */
display: flex;
align-items: center;
justify-content: center;
padding: 36rpx 60rpx;
position: fixed;
left: 0;
bottom: 0;
}
.submitbtn {
width: 100%;
height: 90rpx;
background: #16B0FD;
font-size: 32rpx;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
border-radius: 49rpx;
box-shadow: 0 0 20rpx rgba(22,176,253,.8);
}
business/pages/organizationalmgt/qxknow.js
0 → 100644
View file @
091569d1
Page
({
data
:
{
imgList
:
[
"https://cdn.img.shangjiadao.cn/qingxiao/bargain/images/case/gif1.gif"
,
"https://cdn.img.shangjiadao.cn/qingxiao/bargain/images/case/code.png"
,
"https://cdn.img.shangjiadao.cn/qingxiao/bargain/images/case/idea.png"
,
"https://cdn.img.shangjiadao.cn/qingxiao/bargain/images/case/gif2.gif"
,
"https://cdn.img.shangjiadao.cn/qingxiao/bargain/images/case/gif3.gif"
,
"https://cdn.img.shangjiadao.cn/qingxiao/bargain/images/case/pic_03.png"
]
},
onLoad
:
function
(
options
)
{},
onShow
:
function
()
{},
// 去创建
toCreate
()
{
wx
.
navigateTo
({
url
:
`/business/pages/deskcenter/themetemplate`
});
},
// 跳过
bindJumpEvent
()
{
wx
.
showModal
({
title
:
'提示'
,
content
:
'跳过'
,
showCancel
:
false
,
confirmColor
:
'#16B0FD'
})
},
});
business/pages/organizationalmgt/qxknow.json
0 → 100644
View file @
091569d1
{
"navigationBarTitleText"
:
"了解轻校"
,
"usingComponents"
:
{}
}
\ No newline at end of file
business/pages/organizationalmgt/qxknow.wxml
0 → 100644
View file @
091569d1
<view class="container">
<view class="btn-jump" bindtap="bindJumpEvent">跳过</view>
<view class="desc-box">
<image class="desc-img" wx:for="{{imgList}}" wx:key="index" src="{{item}}" mode="widthFix"></image>
</view>
<view class="submitbtn-box">
<view class="submitbtn" bindtap="toCreate">创建作业打卡</view>
</view>
</view>
business/pages/organizationalmgt/qxknow.wxss
0 → 100644
View file @
091569d1
page {
background: #f1f2f3;
}
.container {
padding-bottom: 200rpx;
}
.btn-jump{
position: fixed;
top: 22rpx;
right: 32rpx;
font-size: 32rpx;
color: #fff;
text-shadow: 0 2rpx 2rpx rgba(0,0,0,0.2);
line-height: 40rpx;
}
.desc-box {
}
.desc-box .desc-img {
width: 100%;
display: block;
}
.submitbtn-box {
width: 100%;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
padding: 36rpx 60rpx;
position: fixed;
left: 0;
bottom: 0;
}
.submitbtn {
width: 100%;
height: 90rpx;
background: #16B0FD;
font-size: 32rpx;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
border-radius: 49rpx;
box-shadow: 0 0 20rpx rgba(22,176,253,.8);
}
\ No newline at end of file
constants/api.js
View file @
091569d1
...
...
@@ -16,6 +16,11 @@ const apis = {
behaviorLog
:
`
${
api
}
student/data/behavior`
,
sharerLog
:
`
${
api
}
student/data/share`
,
},
// 帮助中心
help
:
{
helpList
:
`
${
api
}
common/helps`
,
//帮助列表
helpDetail
:
`
${
api
}
common/help/show`
,
//帮助详情
},
customer
:
{
integral
:
{
myIntegral
:
`
${
api
}
student/integral/me`
,
...
...
@@ -475,7 +480,9 @@ const apis = {
detailGet
:
`
${
api
}
member/clock/record/show`
},
feedback
:
{
postfeed
:
`
${
api
}
consumer/clock/feedback/add`
// postfeed: `${api}consumer/clock/feedback/add`,//
postfeed
:
`
${
api
}
member/feedbacks`
,
//新增
myfeed
:
`
${
api
}
member/feedback/my`
,
//我的反馈
},
rankingList
:
{
totalList
:
`
${
api
}
consumer/clock/rank/total_index`
,
...
...
constants/constants.js
View file @
091569d1
export
default
{
imageRoot
:
'https://cdn.img.shangjiadao.cn/qingxiao/daka/images/'
,
host
:
'https://qxapi.qingxiao.online/daka'
,
host2
:
'https://wx.m.shangjiadao.cn'
,
//
host: 'https://qxapi.qingxiao.online/daka',
//
host2: 'https://wx.m.shangjiadao.cn',
storageVersion
:
'5.0'
,
imageVersion
:
'20200117'
,
//
host: 'https://clock.wp53.cn',
//
host2: 'https://test.wp53.cn',
host
:
'https://clock.wp53.cn'
,
host2
:
'https://test.wp53.cn'
,
appId
:
'wxc1246ea029394785'
,
miniProgram
:
{
clock
:
'wxdeee20e52a1fd7ee'
...
...
filter/index.wxs
View file @
091569d1
...
...
@@ -65,6 +65,23 @@ function formatDate2(date) {
var minute = mi < 10 ? '0' + mi : mi;
return y + '-' + month + '-' + day + ' ' + hour + ':' + minute;
}
function formatDateWithChinese(date) {
if (!date) {
return ''
};
var regexp = getRegExp('-', 'g');
var time = getDate(date.replace(regexp, '/'));
var y = time.getFullYear();
var m = time.getMonth() + 1;
var month = m < 10 ? '0' + m : m;
var d = time.getDate();
var day = d < 10 ? '0' + d : d;
var h = time.getHours();
var hour = h < 10 ? '0' + h : h;
var mi = time.getMinutes();
var minute = mi < 10 ? '0' + mi : mi;
return y + '年' + month + '月' + day + ' ' + hour + ':' + minute;
}
function formatDateRemoveYear (date) {
var time = getDate(date * 1000);
var y = time.getFullYear();
...
...
@@ -700,6 +717,7 @@ module.exports = {
checkStudentSelect: checkStudentSelect,
formatDateToHourMinute: formatDateToHourMinute,
formatDate2: formatDate2,
formatDateWithChinese: formatDateWithChinese,
formatWebsiteBarrage: formatWebsiteBarrage,
mediaPng:mediaPng,
Mathceil:Mathceil,
...
...
images/2b/helpcenter/icon_del.png
0 → 100644
View file @
091569d1
383 Bytes
images/2b/organizationalmgt/icon_address.png
0 → 100644
View file @
091569d1
541 Bytes
images/2b/organizationalmgt/icon_select.png
0 → 100644
View file @
091569d1
176 Bytes
images/2b/organizationalmgt/icon_select_active.png
0 → 100644
View file @
091569d1
307 Bytes
service/business/feedback.js
View file @
091569d1
...
...
@@ -12,6 +12,16 @@ function postfeed (data) {
errorresolve
:
1
,
})
}
function
myfeed
(
data
)
{
return
wxRequest
({
role
:
'2b'
,
url
:
apis
.
business
.
feedback
.
myfeed
,
data
,
method
:
'GET'
,
errorresolve
:
1
,
})
}
export
{
postfeed
,
myfeed
}
\ No newline at end of file
service/common.js
View file @
091569d1
...
...
@@ -478,6 +478,23 @@ function courseGalleryCommentDelete(data) {
needToken
:
true
,
})
}
function
helpList
(
data
)
{
return
wxRequest
({
url
:
`
${
apis
.
help
.
helpList
}
`
,
data
,
method
:
'GET'
,
errorresolve
:
1
,
})
}
function
helpDetail
(
data
)
{
return
wxRequest
({
url
:
`
${
apis
.
help
.
helpDetail
}
`
,
data
,
method
:
'GET'
,
errorresolve
:
1
,
})
}
export
{
cOssAccess
,
getCircleUserShow
,
...
...
@@ -526,5 +543,7 @@ export {
courseGalleryCommentsList
,
courseGalleryCommentPost
,
courseGalleryCommentDelete
,
generateClassReviewPiiic
generateClassReviewPiiic
,
helpList
,
helpDetail
}
\ 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