add: 我的课程\线上培训班。培训管理\线上培训班。 空页面显示

main
hcj 4 months ago
parent 22784c38c7
commit 51fae596c6
  1. 10
      pages.json
  2. 105
      pages/index/onlineTestCourse/onlineCourseInfo.vue
  3. 13
      pages/index/onlineTestCourse/verciInput.vue
  4. BIN
      pages/index/testtraining/arr.png
  5. BIN
      pages/index/testtraining/noCourse.png
  6. BIN
      pages/index/testtraining/noEvaluate.png
  7. BIN
      pages/index/testtraining/noUsePerson.png
  8. BIN
      pages/index/testtraining/noregister.png
  9. BIN
      pages/index/testtraining/olCourse.png
  10. 252
      pages/index/testtraining/onLineCourse.vue
  11. 278
      pages/index/testtraining/testtraining.vue
  12. 17
      pages/personal/courseSign/courseSign.vue
  13. 160
      pages/personal/myCourse/myCourse.vue
  14. 158
      pages/personal/personal.vue
  15. 481
      pages/personal/setup/accountoverview.vue
  16. 5
      pages/personal/setup/myreview.vue
  17. 212
      pages/personal/setup/peixunban.vue
  18. 79
      pages/personal/setup/usepeople.vue
  19. 4
      utils/http.js

@ -99,6 +99,13 @@
"navigationBarBackgroundColor": "#284CD1" "navigationBarBackgroundColor": "#284CD1"
} }
}, },
{
"path": "pages/index/testtraining/onLineCourse",
"style": {
"navigationBarTitleText": "",
"navigationBarBackgroundColor": "#284CD1"
}
},
{ {
"path": "pages/index/testtraining/teacherSign", "path": "pages/index/testtraining/teacherSign",
"style": { "style": {
@ -386,7 +393,8 @@
"style" : "style" :
{ {
"navigationBarTitleText" : "", "navigationBarTitleText" : "",
"navigationBarBackgroundColor": "#284CD1" "navigationBarBackgroundColor": "#284CD1",
"onReachBottomDistance": 50
} }
}, },
{ {

@ -0,0 +1,105 @@
<template>
<view class="courseInfo">
<view>xxxxx</view>
<view @click="startLearn">开始学习</view>
<view @click="openInputCode">输入口令</view>
<view @click="pay">付费学习</view>
<u-modal v-model="show">
<view class="slot-content">
<view v-if="toggleFlag === 'tolearn'">
<label>www.baidu.com</label>
</view>
<view v-else class="input-list">
<!-- input输入框 -->
<input class="input-item" v-if="focus" adjust-position="false" auto-blur="true"
@blur="inputCodeBlur" @input="inputCode" :focus="focus" v-model="code" @focus="inputFocus"
type="number" oneTimeCode maxlength="6" />
<!-- 验证码输入框 -->
<view class="code-list" @click="focusClick">
<view class="code-item" v-for="(item, index) in 6" :key="index"
:style="(index == code.length && focus ? 'border-color:#3c9cff;' : '')">{{ code[index] || ''
}}
</view>
</view>
</view>
</view>
</u-modal>
</view>
</template>
<script>
export default {
data() {
return {
toggleFlag:'',
show: false,
focus: false,
code: ''
}
},
methods: {
startLearn() {
this.show = true
this.toggleFlag = 'tolearn'
},
focusClick() {
this.focus = true
},
pay() {
console.log('pay for this');
},
openInputCode() {
this.show = true
},
inputCode(e) {
let value = e.detail.value
this.code = value
},
inputFocus(e) {
console.log(e);
},
inputCodeBlur(e) {
let value = e.detail.value
this.focus = false
}
}
}
</script>
<style lang="scss">
.courseInfo {
.slot-content {
font-size: 28rpx;
color: $u-content-color;
padding-left: 30rpx;
}
.input-list {
display: flex;
align-items: center;
.input-item {
width: 0rpx;
}
.code-list {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.code-item {
width: 80rpx;
height: 80rpx;
text-align: center;
line-height: 80rpx;
border: 1rpx solid #eee;
border-radius: 10rpx;
}
}
}
}
</style>

@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
}
</script>
<style>
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 866 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -0,0 +1,252 @@
<template>
<view class="onLineCourseWrap">
<view class="onLineTitle">
<img src="./olCourse.png" alt="">
<view>{{ '如何使用性能测试工具' }}</view>
</view>
<view class="onLineTime">时间: {{ '今日:20:00' }}</view>
<view class="onLineTeacher">讲师:{{ '独孤求败' }}</view>
<view class="onLine">职称:{{ '气宗大师' }}</view>
<view class="onLineContent">授课内容: {{ '教导令狐冲' }}</view>
<view class="onLineMask" v-show="maskShow">
<img src="./arr.png" alt="">
<view class="learnBtnWrap">
<view class="learnBtn" @click="startLearn('pay')">付费学习</view>
<view class="learnBtn" @click="startLearn('code')">输入口令学习</view>
</view>
</view>
<view v-show="!maskShow" class="startLeranBtn">开始学习</view>
<u-modal v-model="show" title="请输入口令" :show-confirm-button="false">
<view class="slot-content">
<view v-if="toggleFlag === 'tolearn'">
<label>www.baidu.com</label>
</view>
<view v-else class="input-list">
<!-- input输入框 -->
<input class="input-item" v-if="focus" adjust-position="false" auto-blur="true"
@blur="inputCodeBlur" @input="inputCode" :focus="focus" v-model="code" @focus="inputFocus"
type="number" oneTimeCode maxlength="6" />
<!-- 验证码输入框 -->
<view class="code-list" @click="focusClick">
<view class="code-item" v-for="(item, index) in 4" :key="index"
:style="(index == code.length && focus ? 'border-color:#3c9cff;' : '')">{{ code[index] || ''
}}
</view>
</view>
</view>
<view class="codeBtnCoup">
<view class="codeBtn canle" @click="show = false">取消</view>
<view class="codeBtn sure" @click="show = false">确定</view>
</view>
</view>
</u-modal>
</view>
</template>
<script>
export default {
data() {
return {
maskShow: true,
toggleFlag: '',
show: false,
focus: false,
code: ''
}
},
methods: {
startLearn() {
this.maskShow = !this.maskShow
},
startLearn(val) {
if (val == 'code') {
this.show = true
}
// this.toggleFlag = 'tolearn'
},
focusClick() {
this.focus = true
},
pay() {
console.log('pay for this');
},
openInputCode() {
this.show = true
},
inputCode(e) {
let value = e.detail.value
this.code = value
},
inputFocus(e) {
console.log(e);
},
inputCodeBlur(e) {
let value = e.detail.value
this.focus = false
}
}
}
</script>
<style lang="scss" scoped>
.onLineCourseWrap {
margin: 25rpx;
height: calc(100% - 50rpx);
background: #FFFFFF;
border-radius: 10rpx;
padding: 24rpx;
font-family: PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #404040;
.onLineTitle {
font-weight: bold;
font-size: 28rpx;
color: #000000;
line-height: 46rpx;
margin: 30rpx 0;
display: flex;
align-items: center;
img{
width: 38rpx;
height: 38rpx;
margin-right: 20rpx;
}
}
.onLineTime {
margin: 15rpx 0;
}
.onLineTeacher {
margin: 15rpx 0;
}
.onLine {
margin: 15rpx 0;
}
.onLineContent {
margin: 15rpx 0;
}
.onLineMask {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #1B81F9;
background: linear-gradient(180deg, #ffffff07, #1B81F9);
img {
width: 46rpx;
height: 111rpx;
margin: 619rpx 0 0 50%;
}
.learnBtnWrap {
width: 279rpx;
margin-top: 200rpx;
margin-left: 50%;
transform: translate(-50%);
.learnBtn {
margin-bottom: 50rpx;
height: 67rpx;
background: linear-gradient(90deg, #5EA6FD, #1A81F9);
box-shadow: 0rpx 1rpx 20rpx 1rpx rgba(13, 92, 187, 0.53);
border-radius: 33rpx;
font-family: PingFang SC;
font-weight: 500;
font-size: 30rpx;
color: #FFFFFF;
line-height: 65rpx;
text-align: center;
}
}
}
.startLeranBtn {
position: fixed;
bottom: 69rpx;
width: 646rpx;
height: 70rpx;
background: linear-gradient(90deg, #5EA6FD, #1A81F9);
box-shadow: 0rpx 1rpx 20rpx 1rpx rgba(13, 92, 187, 0.4);
border-radius: 35rpx;
font-family: PingFang SC;
font-weight: 500;
font-size: 30rpx;
color: #FFFFFF;
line-height: 65rpx;
text-align: center;
}
.slot-content {
font-size: 28rpx;
color: $u-content-color;
padding-left: 30rpx;
}
.input-list {
padding-top: 20rpx;
display: flex;
align-items: center;
.input-item {
width: 0rpx;
}
.code-list {
width: 100%;
display: flex;
align-items: center;
justify-content: space-around;
.code-item {
width: 80rpx;
height: 80rpx;
text-align: center;
line-height: 80rpx;
border: 1rpx solid #eee;
border-radius: 10rpx;
background: #EAEEF3;
}
}
}
.codeBtnCoup {
padding: 20rpx;
display: flex;
justify-content: space-between;
margin-top: 40rpx;
.codeBtn {
width: 250rpx;
line-height: 70rpx;
border-radius: 35rpx;
text-align: center;
font-size: 28rpx;
color: #FFFFFF;
}
.sure{
background: linear-gradient(90deg, #5EA6FD, #1A81F9);
}
.canle{
color: #666666;
border: 1px solid #E0E0E0;
}
}
// & >>>.u-model__title {
// font-weight: bold;
// }
}
</style>

@ -5,6 +5,19 @@
<!-- <image src="http://image.bjkeyware.com/static/index/renliwb/newtrainbanner08.png" mode="" class="logobg"> --> <!-- <image src="http://image.bjkeyware.com/static/index/renliwb/newtrainbanner08.png" mode="" class="logobg"> -->
<!-- </image> --> <!-- </image> -->
<!-- 模块1 --> <!-- 模块1 -->
<view class="onlineTrain">
<view class="onLineTitle">
<view class="onLineClassName">软测课堂</view>
<view class="onLineCourseTime">时间{{ '今日 20:00' }}</view>
</view>
<view class="onLineCourse">如何使用性能测试工具</view>
<view class="onLineTeacher">讲师: 风清扬老师</view>
<view class="onLineBtnWrap">
<view class="onLineBtn toLearn" @click="toLearn">去学习</view>
<view class="onLineBtn toPay" @click="toLearn">付费学习: {{ '9.9' }}</view>
</view>
</view>
<view class="titlePeo"> <view class="titlePeo">
<view class="titletopt"> <view class="titletopt">
<image src="../../../static/crowd/rihhj.png" alt="" /> <image src="../../../static/crowd/rihhj.png" alt="" />
@ -22,10 +35,10 @@
</view> </view>
<view class="model_item_bottom"> <view class="model_item_bottom">
<view class="model_item_bottom_t"> <view class="model_item_bottom_t">
{{it.title}} {{ it.title }}
</view> </view>
<view class="model_item_bottom_b"> <view class="model_item_bottom_b">
{{it.con}} {{ it.con }}
</view> </view>
</view> </view>
</view> </view>
@ -42,19 +55,18 @@
针对企业用人需求进行课程培训 针对企业用人需求进行课程培训
</view> </view>
</view> </view>
<view <view style='line-height: 20px;border-left: 1px solid #F5F7FA;border-right: 1px solid #F5F7FA;'>
style='line-height: 20px;border-left: 1px solid #F5F7FA;border-right: 1px solid #F5F7FA;'>
<view class="headert"> <view class="headert">
<view class="table_heade">序号</view> <view class="table_heade">序号</view>
<view style="width:600rpx;text-align:center">课程名称</view> <view style="width:600rpx;text-align:center">课程名称</view>
<view class="table_kheade">课时</view> <view class="table_kheade">课时</view>
</view> </view>
<view> <view>
<view class="bodyt" v-for="(item,key) of courselist" :key="key" <view class="bodyt" v-for="(item, key) of courselist" :key="key"
:style="{'border-bottom':key==courselist.length?'none':'1rpx solid #CFDDDD;'}"> :style="{ 'border-bottom': key == courselist.length ? 'none' : '1rpx solid #CFDDDD;' }">
<view class="table_obody">{{key+1}}</view> <view class="table_obody">{{ key + 1 }}</view>
<view class="table_tbody">{{item.con}}</view> <view class="table_tbody">{{ item.con }}</view>
<view class="table_hbody">{{item.num}}</view> <view class="table_hbody">{{ item.num }}</view>
</view> </view>
</view> </view>
</view> </view>
@ -174,11 +186,11 @@
<view class="newmodel2"> <view class="newmodel2">
<view class="newmodel2title"> <view class="newmodel2title">
{{activezcList.tiaojian}} {{ activezcList.tiaojian }}
</view> </view>
<view class="newmodel2c"> <view class="newmodel2c">
<view v-for="(it, index) in activezcList.skill.split('&')" :key="index"> <view v-for="(it, index) in activezcList.skill.split('&')" :key="index">
{{it}} {{ it }}
</view> </view>
</view> </view>
<view class="newmodel2title"> <view class="newmodel2title">
@ -186,7 +198,7 @@
</view> </view>
<view class="newmodel2c"> <view class="newmodel2c">
<view v-for="(it, index) in activezcList.content.split('&')" :key="index"> <view v-for="(it, index) in activezcList.content.split('&')" :key="index">
{{it}} {{ it }}
</view> </view>
</view> </view>
</view> </view>
@ -198,27 +210,27 @@
</view> </view>
<swiper class="swiper" circular :indicator-dots="true" indicator-active-color="#1578ed"> <swiper class="swiper" circular :indicator-dots="true" indicator-active-color="#1578ed">
<swiper-item v-for="(it,index) in zhuanjiaList" :key="index"> <swiper-item v-for="(it, index) in zhuanjiaList" :key="index">
<view class="newmodel3"> <view class="newmodel3">
<view class="newmodel3l"> <view class="newmodel3l">
<image :src="it.avatar" mode=""></image> <image :src="it.avatar" mode=""></image>
<view class="newmodel3ln"> <view class="newmodel3ln">
{{it.name}} {{ it.name }}
</view> </view>
<view class="newmodel3lz"> <view class="newmodel3lz">
{{it.teaching}} {{ it.teaching }}
</view> </view>
</view> </view>
<view class="newmodel3r"> <view class="newmodel3r">
<view class="newmodel3rt"> <view class="newmodel3rt">
职称{{it.title}} 职称{{ it.title }}
</view> </view>
<view class="newmodel3rb"> <view class="newmodel3rb">
</view> </view>
<view class="newmodel3rl"> <view class="newmodel3rl">
{{it.profile}} {{ it.profile }}
</view> </view>
</view> </view>
</view> </view>
@ -239,32 +251,32 @@
<view class="newmodel4"> <view class="newmodel4">
<view class="newmodel4item" v-for="it in unlineData.slice(0, 3)" <view class="newmodel4item" v-for="it in unlineData.slice(0, 3)"
:style="{'border': '1px solid '+it.color}"> :style="{ 'border': '1px solid ' + it.color }">
<view class="newmodel4itemtop" :style="{'background': it.color}"> <view class="newmodel4itemtop" :style="{ 'background': it.color }">
<view class="newmodel4itemtopcricle"></view> <view class="newmodel4itemtopcricle"></view>
<view class="newmodel4itemtoptitle"> <view class="newmodel4itemtoptitle">
{{it.title}} {{ it.title }}
</view> </view>
</view> </view>
<view class="newmodel4itembottom"> <view class="newmodel4itembottom">
<view class="newmodel4itembottomtext" v-for="item in it.list"> <view class="newmodel4itembottomtext" v-for="item in it.list">
* {{item}} * {{ item }}
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<view class="newmodel5"> <view class="newmodel5">
<view class="newmodel4item" v-for="it in unlineData.slice(3, 5)" <view class="newmodel4item" v-for="it in unlineData.slice(3, 5)"
:style="{'border': '1px solid '+it.color}"> :style="{ 'border': '1px solid ' + it.color }">
<view class="newmodel4itemtop" :style="{'background': it.color}"> <view class="newmodel4itemtop" :style="{ 'background': it.color }">
<view class="newmodel4itemtopcricle"></view> <view class="newmodel4itemtopcricle"></view>
<view class="newmodel4itemtoptitle"> <view class="newmodel4itemtoptitle">
{{it.title}} {{ it.title }}
</view> </view>
</view> </view>
<view class="newmodel4itembottom"> <view class="newmodel4itembottom">
<view class="newmodel4itembottomtext" v-for="item in it.list"> <view class="newmodel4itembottomtext" v-for="item in it.list">
* {{item}} * {{ item }}
</view> </view>
</view> </view>
</view> </view>
@ -324,13 +336,13 @@
</scroll-view> </scroll-view>
</view> --> </view> -->
<view style="background-color: #FFFFFF;padding:13px;display"> <view style="background-color: #FFFFFF;padding:13px;display">
<view v-if="currenttab==1"> <view v-if="currenttab == 1">
<view style="display: flex;justify-content: space-between;"> <view style="display: flex;justify-content: space-between;">
<image mode="aspectFill" class="innovate" :src="activeModel2.img"> <image mode="aspectFill" class="innovate" :src="activeModel2.img">
</view> </view>
<p style="color:#808080;font-size:25rpx;margin:15px 0; line-height: 22px;text-indent:25px;"> <p style="color:#808080;font-size:25rpx;margin:15px 0; line-height: 22px;text-indent:25px;">
{{activeModel2.con}} {{ activeModel2.con }}
</p> </p>
<view style='display:flex;align-items: center;margin-bottom: 10px;'> <view style='display:flex;align-items: center;margin-bottom: 10px;'>
@ -338,22 +350,22 @@
<view style="font-weight: bold;">报名条件</view> <view style="font-weight: bold;">报名条件</view>
</view> </view>
<p style="color:#808080;font-size:25rpx;margin:10px 0; line-height: 22px"> <p style="color:#808080;font-size:25rpx;margin:10px 0; line-height: 22px">
{{activeModel2.bmtj}} {{ activeModel2.bmtj }}
</p> </p>
<view style='display:flex;align-items: center;margin-bottom: 10px;'> <view style='display:flex;align-items: center;margin-bottom: 10px;'>
<view class='vertical'></view> <view class='vertical'></view>
<view style="font-weight: bold;">培训内容</view> <view style="font-weight: bold;">培训内容</view>
</view> </view>
<p style="color:#808080;font-size:25rpx;margin:10px 0; line-height: 22px">{{activeModel2.pxnr}} <p style="color:#808080;font-size:25rpx;margin:10px 0; line-height: 22px">{{ activeModel2.pxnr }}
</p> </p>
<view style='display:flex;align-items: center;margin-bottom: 10px;'> <view style='display:flex;align-items: center;margin-bottom: 10px;'>
<view class='vertical'></view> <view class='vertical'></view>
<view style="font-weight: bold;">经考核合格后收获</view> <view style="font-weight: bold;">经考核合格后收获</view>
</view> </view>
<p style="color:#808080;font-size:25rpx;margin:10px 0; line-height: 22px">{{activeModel2.sh}}</p> <p style="color:#808080;font-size:25rpx;margin:10px 0; line-height: 22px">{{ activeModel2.sh }}</p>
<p style="color:#808080;font-size:25rpx;margin:10px 0; line-height: 22px">{{activeModel2.sh1}}</p> <p style="color:#808080;font-size:25rpx;margin:10px 0; line-height: 22px">{{ activeModel2.sh1 }}</p>
<p style="color:#808080;font-size:25rpx;margin:10px 0; line-height: 22px">{{activeModel2.sh2}}</p> <p style="color:#808080;font-size:25rpx;margin:10px 0; line-height: 22px">{{ activeModel2.sh2 }}</p>
<p style="color:#808080;font-size:25rpx;margin:10px 0; line-height: 22px">{{activeModel2.sh3}}</p> <p style="color:#808080;font-size:25rpx;margin:10px 0; line-height: 22px">{{ activeModel2.sh3 }}</p>
<view class="submitBtn" @click="openDialog"> <view class="submitBtn" @click="openDialog">
报名入口 报名入口
@ -397,11 +409,11 @@
</view> </view>
<u-modal title='温馨提示' v-model="tokenshow" content="您还没有登录" confirm-text='现在就去' cancel-text='稍等一下' <u-modal title='温馨提示' v-model="tokenshow" content="您还没有登录" confirm-text='现在就去' cancel-text='稍等一下'
show-cancel-button='true' cancel-color='#1578ED' confirm-color='#1578ED' @confirm="confirms" show-cancel-button='true' cancel-color='#1578ED' confirm-color='#1578ED' @confirm="confirms"
@cancel='tokenshow=false'></u-modal> @cancel='tokenshow = false'></u-modal>
<u-toast ref="uToast" /> <u-toast ref="uToast" />
<!-- 弹窗 --> <!-- 弹窗 -->
<view class="dialogbox" :style="{'align-items': flag ? 'center':'flex-start'}" v-show="isShowDia"> <view class="dialogbox" :style="{ 'align-items': flag ? 'center' : 'flex-start' }" v-show="isShowDia">
<view class="contentbox"> <view class="contentbox">
<view class="closexx" @click="closeclosexx">x</view> <view class="closexx" @click="closeclosexx">x</view>
<!-- 标题 --> <!-- 标题 -->
@ -421,10 +433,10 @@
</view> </view>
</u-form-item> </u-form-item>
<view v-if='calltext' class="tiptext" style="color:#E9941AFF"> <view v-if='calltext' class="tiptext" style="color:#E9941AFF">
<!-- {{calltext}} --> {{ calltext }}
</view> </view>
<view v-if='timetext' class="tiptext" style="color:#000000"> <view v-if='timetext' class="tiptext" style="color:#000000">
{{timetext}} {{ timetext }}
</view> </view>
<view v-else class="tiptext"> <view v-else class="tiptext">
培训班代号由校企合作老师统一发送请联系培训老师 培训班代号由校企合作老师统一发送请联系培训老师
@ -453,6 +465,16 @@
<u-input v-model="form.studentName" placeholder="请输入您的姓名"></u-input> <u-input v-model="form.studentName" placeholder="请输入您的姓名"></u-input>
</view> </view>
</u-form-item> </u-form-item>
<u-form-item prop="sex">
<view class="rowitem sexSelect">
<view class="rowitemxing">
*
</view>
<u-input v-model="form.sex" type="select" placeholder="请选择您的性别"
@click="sexShow = true" />
<u-select v-model="sexShow" :list="sexList" @confirm="fornCallBack"></u-select>
</view>
</u-form-item>
<u-form-item prop="studentCode"> <u-form-item prop="studentCode">
<view class="rowitem"> <view class="rowitem">
<view class="rowitemxing"> <view class="rowitemxing">
@ -494,7 +516,7 @@
</view> </view>
<!-- 评测班报名 --> <!-- 评测班报名 -->
<view class="dialogbox" :style="{'align-items': flag ? 'center':'flex-start'}" v-show="isPCshow"> <view class="dialogbox" :style="{ 'align-items': flag ? 'center' : 'flex-start' }" v-show="isPCshow">
<view class="contentbox" style="margin-top: 200rpx;"> <view class="contentbox" style="margin-top: 200rpx;">
<view class="closexx" @click="closeclosejj">x</view> <view class="closexx" @click="closeclosejj">x</view>
<!-- 标题 --> <!-- 标题 -->
@ -513,12 +535,23 @@
<u-input v-model="jjform.studentName" placeholder="请输入您的姓名"></u-input> <u-input v-model="jjform.studentName" placeholder="请输入您的姓名"></u-input>
</view> </view>
</u-form-item> </u-form-item>
<u-form-item prop="sex">
<view class="rowitem sexSelect">
<view class="rowitemxing">
*
</view>
<u-input v-model="jjform.sex" type="select" placeholder="请选择您的性别"
@click="sexShow = true" />
<u-select v-model="sexShow" :list="sexList" @confirm="testtrainCallback"></u-select>
</view>
</u-form-item>
<u-form-item prop="mobile"> <u-form-item prop="mobile">
<view class="rowitem"> <view class="rowitem">
<view class="rowitemxing"> <view class="rowitemxing">
* *
</view> </view>
<u-input v-model="jjform.mobile" :disabled="inpDisabled" placeholder="请输入您的手机号"></u-input> <u-input v-model="jjform.mobile" :disabled="inpDisabled"
placeholder="请输入您的手机号"></u-input>
</view> </view>
</u-form-item> </u-form-item>
<u-form-item prop="code" v-if="!accessToken"> <u-form-item prop="code" v-if="!accessToken">
@ -529,8 +562,8 @@
<u-input v-model="jjform.code" placeholder="请输入验证码"></u-input> <u-input v-model="jjform.code" placeholder="请输入验证码"></u-input>
<u-verification-code seconds="60" ref="uCode" <u-verification-code seconds="60" ref="uCode"
@change="codeChange"></u-verification-code> @change="codeChange"></u-verification-code>
<u-button type="primary" size="mini" :disabled="codeBtn" <u-button type="primary" size="mini" :disabled="codeBtn" @click="getCode">{{ tips
@click="getCode">{{tips}}</u-button> }}</u-button>
</view> </view>
</u-form-item> </u-form-item>
</u-form> </u-form>
@ -554,6 +587,10 @@
</template> </template>
<script> <script>
const sexMap = {
'男': '0',
'女': '1'
}
export default { export default {
data() { data() {
// //
@ -566,11 +603,10 @@ export default {
if (schooldata.trainStartTime && schooldata.trainEndTime) { if (schooldata.trainStartTime && schooldata.trainEndTime) {
console.log(schooldata) console.log(schooldata)
this.timetext = this.timetext =
schooldata.trainClassName +
' ' + ' ' +
'课程周期:' + '课程周期:' +
schooldata.trainStartTime.slice(0, 10) + schooldata.trainStartTime.slice(0, 10) +
'至' + '至 ' +
schooldata.trainEndTime.slice(0, 10) schooldata.trainEndTime.slice(0, 10)
} }
// console.log('calltext',calltext) // console.log('calltext',calltext)
@ -593,8 +629,19 @@ export default {
flag: true, flag: true,
accessToken: null, accessToken: null,
codeBtn: false, codeBtn: false,
sexShow: false,
calltext: '', calltext: '',
timetext: '', timetext: '',
sexList: [
{
value: '0',
label: '男'
},
{
value: '1',
label: '女'
}
],
isShowDia: false, isShowDia: false,
isShowDown: false, isShowDown: false,
tokenshow: false, tokenshow: false,
@ -861,6 +908,13 @@ export default {
trigger: ['blur'], trigger: ['blur'],
}, },
], ],
sex: [
{
required: true,
message: '请选择您的性别',
trigger: ['blur,change'],
},
],
counsellor: [ counsellor: [
{ {
required: true, required: true,
@ -896,6 +950,13 @@ export default {
trigger: ['blur'], trigger: ['blur'],
}, },
], ],
sex: [
{
required: true,
message: '请选择您的性别',
trigger: ['blur,change'],
},
],
mobile: [ mobile: [
{ {
required: true, required: true,
@ -955,6 +1016,7 @@ export default {
studentName: '', studentName: '',
mobile: '', mobile: '',
uuid: '', uuid: '',
sex: '',
code: '', code: '',
}, },
// //
@ -1031,6 +1093,7 @@ export default {
// //
this.getClassList() this.getClassList()
this.getOnlineCourse()
this.getTeacherList() this.getTeacherList()
this.getSwiperImages() this.getSwiperImages()
uni.onKeyboardHeightChange(this.onKeyboardHeightChange) uni.onKeyboardHeightChange(this.onKeyboardHeightChange)
@ -1059,6 +1122,19 @@ export default {
} }
}, },
methods: { methods: {
//
toLearn() {
uni.navigateTo({
url: '/pages/index/testtraining/onLineCourse'
})
},
testtrainCallback(e) {
this.jjform.sex = e[0].label
},
fornCallBack(e) {
this.form.sex = e[0].label
},
getSwiperImages() { getSwiperImages() {
this.http.quickGet(`/train/banners?type=app`).then((res) => { this.http.quickGet(`/train/banners?type=app`).then((res) => {
this.swipelist = res.data.data.map((item) => { this.swipelist = res.data.data.map((item) => {
@ -1135,6 +1211,21 @@ export default {
}) })
.exec() .exec()
}, },
getOnlineCourse() {
let accessToken = uni.getStorageSync('accessToken')
if (accessToken) {
const wxUserInfo = uni.getStorageSync('wxUserInfo')
const userId = wxUserInfo.userId
this.http.quickGet(`/course/online/course?${userId}`).then((res) => {
console.log(res);
})
} else {
this.http.quickGet(`/course/online/course`, false).then((res) => {
console.log(res);
})
}
},
// //
getClassList() { getClassList() {
this.http.quickGet(`/train/portal`, false).then((res) => { this.http.quickGet(`/train/portal`, false).then((res) => {
@ -1219,7 +1310,9 @@ export default {
this.isShowDia = false this.isShowDia = false
this.$refs.uForm.resetFields() this.$refs.uForm.resetFields()
this.form = {} this.form = {}
this.calltext = '培训班代号由校企合作老师统一发送,请联系培训老师' // this.calltext = ''
this.calltext = ''
this.timetext = ''
}, },
codeChange(text) { codeChange(text) {
this.tips = text this.tips = text
@ -1306,6 +1399,7 @@ export default {
trainClassId: this.classInfo.classId, trainClassId: this.classInfo.classId,
classType: this.classInfo.classType, classType: this.classInfo.classType,
userId: wxUserInfo.userId, userId: wxUserInfo.userId,
sex: sexMap[this.jjform.sex]
} }
this.http.quickPost(`/train/training/offApply`, data, false).then((res) => { this.http.quickPost(`/train/training/offApply`, data, false).then((res) => {
if (res.data.data.code == 200) { if (res.data.data.code == 200) {
@ -1374,6 +1468,7 @@ export default {
majorName: this.form.majorName, majorName: this.form.majorName,
studentName: this.form.studentName, studentName: this.form.studentName,
studentCode: this.form.studentCode, studentCode: this.form.studentCode,
sex: sexMap[this.form.sex],
trainClassId, trainClassId,
counsellor: this.form.counsellor, counsellor: this.form.counsellor,
counsellorTel: this.form.counsellorTel, counsellorTel: this.form.counsellorTel,
@ -1461,22 +1556,26 @@ export default {
align-items: center; align-items: center;
} }
.rowitem >>> .u-input { .rowitem>>>.u-input {
width: 66vw !important; width: 66vw !important;
height: 70rpx; height: 70rpx;
} }
.rowitem1 >>> .u-input { .rowitem1>>>.u-input {
width: 40vw !important; width: 40vw !important;
margin-right: 20rpx; margin-right: 20rpx;
} }
.rowitem >>> .u-input input { .rowitem>>>.u-input input {
min-height: 70rpx !important; min-height: 70rpx !important;
font-size: 22rpx; font-size: 22rpx;
} }
.contentboxCon >>> .u-form-item { .sexSelect .u-input__right-icon {
margin-right: 10px;
}
.contentboxCon>>>.u-form-item {
padding: 17rpx 0 !important; padding: 17rpx 0 !important;
} }
@ -1499,7 +1598,6 @@ export default {
width: 489rpx; width: 489rpx;
height: 60rpx; height: 60rpx;
background: #2084f9; background: #2084f9;
box-shadow: 0rpx 1rpx 20rpx 1rpx rgba(13, 92, 187, 0.3);
border-radius: 6rpx; border-radius: 6rpx;
font-weight: 500; font-weight: 500;
font-size: 28rpx; font-size: 28rpx;
@ -1734,6 +1832,88 @@ export default {
box-sizing: border-box; box-sizing: border-box;
} }
.onlineTrain {
margin: 30rpx 0rpx;
height: 270rpx;
background: #FFFFFF;
border-radius: 10rpx;
}
.onLineTitle {
display: flex;
font-family: PingFang SC;
font-weight: 500;
height: 88rpx;
line-height: 54rpx;
justify-content: space-between;
}
.onLineClassName {
height: 54rpx;
width: 183rpx;
text-align: center;
background: linear-gradient(90deg, #5EA6FD, #1A81F9);
border-radius: 9rpx 0rpx 46rpx 0rpx;
font-size: 24rpx;
color: #FFFFFF;
}
.onLineCourse {
font-size: 28rpx;
line-height: 46rpx;
font-family: PingFang SC;
font-weight: bold;
color: #1A1A1A;
margin-left: 24rpx;
}
.onLineCourseTime {
margin-left: 24rpx;
margin-right: 30rpx;
width: 174rpx;
line-height: 88rpx;
font-size: 22rpx;
color: #808080;
}
.onLineTeacher {
margin-top: 10rpx;
margin-left: 24rpx;
font-size: 24rpx;
font-weight: 500;
color: #666666;
line-height: 46rpx;
}
.onLineBtnWrap {
display: flex;
justify-content: flex-end;
}
.onLineBtn {
width: 209rpx;
height: 50rpx;
border-radius: 25rpx;
width: 209rpx;
width: 167rpx;
font-family: PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #FFFFFF;
line-height: 49rpx;
text-align: center;
}
.toLearn {
background: linear-gradient(90deg, #FB8C16, #FEC36E);
}
.toPay {
background: linear-gradient(90deg, #5EA6FD, #1A81F9);
border: 1px solid #AAD1FE;
}
.logobg { .logobg {
width: 100%; width: 100%;
height: 32vw; height: 32vw;

@ -98,25 +98,31 @@ export default {
.scanSuc { .scanSuc {
font-family: PingFang SC; font-family: PingFang SC;
padding-top: 80rpx;
.className { .className {
font-weight: bold; font-weight: bold;
font-size: 30rpx; font-size: 30rpx;
color: #000000; color: #000000;
line-height: 46rpx; line-height: 35rpx;
margin: 30rpx; margin: 30rpx;
} }
.courseName { .courseName {
font-weight: 500; font-weight: 500;
font-size: 30rpx; font-size: 30rpx;
color: #4d4d4d; color: #4d4d4d;
line-height: 46rpx; // line-height: 46rpx;
margin-left: 30rpx; margin-left: 30rpx;
} }
.signBtn { .signBtn {
margin: 0 auto; margin: 0 auto;
margin-top: 300rpx; margin-top: 350rpx;
background-color: #4899f7; // background-color: #4899f7;
background: linear-gradient(90deg, #5ea6fa, #1b7cf2);
color: #fff; color: #fff;
box-shadow: 0rpx 0rpx 20rpx 4rpx rgba(0, 0, 0, 0.219);
border-radius: 50%; border-radius: 50%;
width: 250rpx; width: 250rpx;
height: 250rpx; height: 250rpx;
@ -126,6 +132,7 @@ export default {
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
img { img {
width: 50rpx; width: 50rpx;
height: 50rpx; height: 50rpx;
@ -133,6 +140,7 @@ export default {
} }
} }
} }
.scanFail { .scanFail {
margin: 0 auto; margin: 0 auto;
margin-top: 500rpx; margin-top: 500rpx;
@ -140,6 +148,7 @@ export default {
text-align: center; text-align: center;
font-weight: bold; font-weight: bold;
font-size: 30rpx; font-size: 30rpx;
img { img {
width: 50rpx; width: 50rpx;
height: 50rpx; height: 50rpx;

@ -1,5 +1,19 @@
<template> <template>
<view class="courseWrapper"> <view class="courseWrapper">
<view v-if="courseList.length">
<view class="onlineTrain">
<view class="onLineTitle">
<view class="onLineClassName">软测课堂</view>
<view class="onLineCourseTime">时间{{ '今日 20:00' }}</view>
</view>
<view class="onLineCourse">如何使用性能测试工具</view>
<view class="onLineTeacher">讲师: 风清扬老师</view>
<view class="onLineBtnWrap">
<view class="onLineBtn toLearn" @click="toLearn">去学习</view>
<view class="onLineBtn toPay" @click="toLearn">付费学习: {{ '9.9' }}</view>
</view>
</view>
</view>
<view v-if="courseList.length"> <view v-if="courseList.length">
<view class="courseItem" v-for="course in courseList" :key="course.courseId"> <view class="courseItem" v-for="course in courseList" :key="course.courseId">
<view class="courseName">{{ course.courseName }}</view> <view class="courseName">{{ course.courseName }}</view>
@ -10,7 +24,10 @@
}}</view> }}</view>
</view> </view>
</view> </view>
<view class="mycourseWrapper" v-else> 暂未配置课程 </view> <view class="mycourseWrapper" v-else>
<img src="../../index/testtraining/noCourse.png" alt="">
<view>暂未配置课程</view>
</view>
</view> </view>
</template> </template>
@ -19,28 +36,53 @@ export default {
data() { data() {
return { return {
courseList: [], courseList: [],
total: 10,
classId: '',
queryParams: {
pageSize: 10,
pageNum: 1,
},
} }
}, },
onLoad(options) { onLoad(options) {
console.log('进入course')
const classId = options.id const classId = options.id
const className = options.name const className = options.name
console.log(options) // console.log(options)
this.classId = classId
uni.setNavigationBarTitle({ title: className }) uni.setNavigationBarTitle({ title: className })
this.getCourseList(classId) this.getCourseList()
}, },
methods: { methods: {
async getCourseList(classId) { toLearn() {
this.http.quickGet(`/course/myCourse/class/${classId}`, true).then((res) => { uni.navigateTo({
console.log(res) url: '/pages/index/testtraining/onLineCourse'
})
},
pagionChange(e) {
console.log(e);
this.queryParams.pageNum = e.current
this.getCourseList()
},
async getCourseList() {
const params = this.queryParams
this.http.get(`/course/myCourse/class/${this.classId}`, params, true).then((res) => {
this.total = res.data.total
this.courseList = res.data.rows this.courseList = res.data.rows
}) })
}, },
async onReachBottom() {
if (this.total <= this.queryParams.pageSize) {
return
}
this.queryParams.pageSize += 10
this.getCourseList()
console.log("onReachBottom");
},
courseDialog() { courseDialog() {
const url = 'https://www.bjkeyware.com' const url = 'https://www.bjkeyware.com'
uni.showModal({ uni.showModal({
title: '请去PC端下载资料', title: '请去PC端下载资料',
content: 'PC端网址:'+url, content: 'PC端网址:' + url,
showCancel: false, showCancel: false,
confirmText: '复制网址', confirmText: '复制网址',
success: function (res) { success: function (res) {
@ -67,13 +109,20 @@ export default {
} }
</script> </script>
<style scoped> <style lang="scss" scoped>
.courseWrapper {
}
.mycourseWrapper { .mycourseWrapper {
font-size: 23px;
font-weight: bold;
color: #9D9D9D;
text-align: center; text-align: center;
line-height: 300rpx; margin-top: 100px;
img {
width: 338rpx;
height: 254rpx;
}
} }
.courseItem { .courseItem {
position: relative; position: relative;
margin: 25rpx; margin: 25rpx;
@ -88,6 +137,7 @@ export default {
font-size: 24rpx; font-size: 24rpx;
line-height: 50rpx; line-height: 50rpx;
} }
.courseName { .courseName {
/* width: 369rpx; */ /* width: 369rpx; */
/* height: 29rpx; */ /* height: 29rpx; */
@ -95,12 +145,15 @@ export default {
font-size: 30rpx; font-size: 30rpx;
color: #000000; color: #000000;
} }
.courseTime { .courseTime {
color: #4d4d4d; color: #4d4d4d;
} }
.courseSource { .courseSource {
color: #2853e4; color: #2853e4;
} }
.signInfo { .signInfo {
width: 110rpx; width: 110rpx;
/* height: 40rpx; */ /* height: 40rpx; */
@ -112,4 +165,87 @@ export default {
top: 85rpx; top: 85rpx;
right: 25rpx; right: 25rpx;
} }
.onlineTrain {
margin: 30rpx 30rpx;
height: 270rpx;
background: #FFFFFF;
border-radius: 10rpx;
}
.onLineTitle {
display: flex;
font-family: PingFang SC;
font-weight: 500;
height: 88rpx;
line-height: 54rpx;
justify-content: space-between;
}
.onLineClassName {
height: 54rpx;
width: 183rpx;
text-align: center;
background: linear-gradient(90deg, #5EA6FD, #1A81F9);
border-radius: 9rpx 0rpx 46rpx 0rpx;
font-size: 24rpx;
color: #FFFFFF;
}
.onLineCourse {
font-size: 28rpx;
line-height: 46rpx;
font-family: PingFang SC;
font-weight: bold;
color: #1A1A1A;
margin-left: 24rpx;
}
.onLineCourseTime {
margin-left: 24rpx;
margin-right: 30rpx;
width: 174rpx;
line-height: 88rpx;
font-size: 22rpx;
color: #808080;
}
.onLineTeacher {
margin-top: 10rpx;
margin-left: 24rpx;
font-size: 24rpx;
font-weight: 500;
color: #666666;
line-height: 46rpx;
}
.onLineBtnWrap {
padding: 0 30rpx;
display: flex;
justify-content: flex-end;
}
.onLineBtn {
width: 209rpx;
height: 50rpx;
border-radius: 25rpx;
width: 209rpx;
width: 167rpx;
font-family: PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #FFFFFF;
line-height: 49rpx;
text-align: center;
}
.toLearn {
background: linear-gradient(90deg, #FB8C16, #FEC36E);
}
.toPay {
background: linear-gradient(90deg, #5EA6FD, #1A81F9);
border: 1px solid #AAD1FE;
}
</style> </style>

@ -8,22 +8,22 @@
<view v-if='phoneuserinfo' style="display: flex;align-items: center"> <view v-if='phoneuserinfo' style="display: flex;align-items: center">
<view @click="gouserHome"> <view @click="gouserHome">
<img style='width:55px;height:55px;border-radius: 50%' v-if='avatar' <img style='width:55px;height:55px;border-radius: 50%' v-if='avatar'
:src="avatar && avatar.indexOf('http')==0?avatar:base+avatar" alt=""> :src="avatar && avatar.indexOf('http') == 0 ? avatar : base + avatar" alt="">
<img v-else style='width:55px;height:55px;border-radius: 50%' <img v-else style='width:55px;height:55px;border-radius: 50%'
src="../../static/crowd/defaultAva.jpg" alt=""> src="../../static/crowd/defaultAva.jpg" alt="">
</view> </view>
<view style='margin-left:10px;'> <view style='margin-left:10px;'>
<p v-if='phoneuserinfo.companyName' style='margin-bottom:5px;font-size:17px;font-weight:600;'> <p v-if='phoneuserinfo.companyName' style='margin-bottom:5px;font-size:17px;font-weight:600;'>
{{phoneuserinfo.companyName}} {{ phoneuserinfo.companyName }}
</p> </p>
<p v-else style='margin-bottom:5px;font-size:17px;font-weight:600;'>{{nickName}}</p> <p v-else style='margin-bottom:5px;font-size:17px;font-weight:600;'>{{ nickName }}</p>
<view style="display: flex;align-items: center;"> <view style="display: flex;align-items: center;">
<block v-if="!applyInfo.applyId && !applyInfo.companyApplyId"> <block v-if="!applyInfo.applyId && !applyInfo.companyApplyId">
<view class="unapply" @click="goApply"> <view class="unapply" @click="goApply">
未认证 未认证
</view> </view>
</block> </block>
<block v-else-if="phoneuserinfo.testerStatus == 2 "> <block v-else-if="phoneuserinfo.testerStatus == 2">
<view class="userapply" @click="goUserApply"> <view class="userapply" @click="goUserApply">
<image src="http://image.bjkeyware.com/static/index/renliwb/newqy2.png" mode=""> <image src="http://image.bjkeyware.com/static/index/renliwb/newqy2.png" mode="">
</image> </image>
@ -32,7 +32,7 @@
</view> </view>
</view> </view>
</block> </block>
<block v-else-if="applyInfo.applyId && applyInfo.status == 1 "> <block v-else-if="applyInfo.applyId && applyInfo.status == 1">
<view class="userapply" @click="goUserApply"> <view class="userapply" @click="goUserApply">
<image src="http://image.bjkeyware.com/static/index/renliwb/newqy2.png" mode=""> <image src="http://image.bjkeyware.com/static/index/renliwb/newqy2.png" mode="">
</image> </image>
@ -41,7 +41,7 @@
</view> </view>
</view> </view>
</block> </block>
<block v-else-if="applyInfo.applyId && applyInfo.status == 0 "> <block v-else-if="applyInfo.applyId && applyInfo.status == 0">
<view class="userapply" @click="goUserApply"> <view class="userapply" @click="goUserApply">
<image src="http://image.bjkeyware.com/static/index/renliwb/newqy2.png" mode=""> <image src="http://image.bjkeyware.com/static/index/renliwb/newqy2.png" mode="">
</image> </image>
@ -114,13 +114,14 @@
我的众包 我的众包
</view> </view>
</view> </view>
<view class="cycontentit" @click="servier('myreview')"> <view class="cycontentit" @click="servier('peixunban')" v-if="signuplistLength != 0">
<image src="http://image.bjkeyware.com/static/index/renliwb/newmy3.png" class="cycontentitimg" <image src="http://image.bjkeyware.com/static/index/renliwb/newmy6.png" class="cycontentitimg"
mode=""></image> mode=""></image>
<view class="cycontentittext"> <view class="cycontentittext">
我的评价 我的培训班
</view> </view>
</view> </view>
<view class="cycontentit" @click="servier('message')"> <view class="cycontentit" @click="servier('message')">
<image src="http://image.bjkeyware.com/static/index/renliwb/newmy4.png" class="cycontentitimg" <image src="http://image.bjkeyware.com/static/index/renliwb/newmy4.png" class="cycontentitimg"
mode=""></image> mode=""></image>
@ -146,11 +147,18 @@
我的订单 我的订单
</view> </view>
</view> </view>
<view class="cycontentit" @click="servier('peixunban')" v-if="signuplistLength != 0"> <!-- <view class="cycontentit" @click="servier('peixunban')" v-if="signuplistLength != 0">
<image src="http://image.bjkeyware.com/static/index/renliwb/newmy6.png" class="cycontentitimg" <image src="http://image.bjkeyware.com/static/index/renliwb/newmy6.png" class="cycontentitimg"
mode=""></image> mode=""></image>
<view class="cycontentittext"> <view class="cycontentittext">
报名管理 我的培训班
</view>
</view> -->
<view class="cycontentit" @click="servier('myreview')">
<image src="http://image.bjkeyware.com/static/index/renliwb/newmy3.png" class="cycontentitimg"
mode=""></image>
<view class="cycontentittext">
我的评价
</view> </view>
</view> </view>
<view v-if="applyInfo.companyApplyId && applyInfo.companyStatus == 1" <view v-if="applyInfo.companyApplyId && applyInfo.companyStatus == 1"
@ -192,13 +200,13 @@
<u-toast ref="uToast" /> <u-toast ref="uToast" />
<u-modal title='温馨提示' v-model="tokenshow" content="您还没有登录" confirm-text='现在就去' cancel-text='稍等一下' <u-modal title='温馨提示' v-model="tokenshow" content="您还没有登录" confirm-text='现在就去' cancel-text='稍等一下'
show-cancel-button='true' cancel-color='#1578ED' confirm-color='#1578ED' @confirm="lkconfirm" show-cancel-button='true' cancel-color='#1578ED' confirm-color='#1578ED' @confirm="lkconfirm"
@cancel='tokenshow=false'></u-modal> @cancel='tokenshow = false'></u-modal>
</view> </view>
</template> </template>
<script> <script>
import comstemutil from '../../utils/comstemutil' import comstemutil from '../../utils/comstemutil'
export default { export default {
data() { data() {
return { return {
@ -448,12 +456,12 @@
} }
} }
} }
} }
</script> </script>
<style lang="scss"> <style lang="scss">
// //
.unapply { .unapply {
width: 86rpx; width: 86rpx;
height: 32rpx; height: 32rpx;
line-height: 32rpx; line-height: 32rpx;
@ -463,9 +471,9 @@
font-weight: 500; font-weight: 500;
font-size: 22rpx; font-size: 22rpx;
color: #FEFEFE; color: #FEFEFE;
} }
.userapply { .userapply {
display: flex; display: flex;
align-items: center; align-items: center;
@ -510,12 +518,12 @@
font-size: 22rpx; font-size: 22rpx;
color: #FEFEFE; color: #FEFEFE;
} }
} }
.companyapply { .companyapply {
display: flex; display: flex;
align-items: center; align-items: center;
@ -549,18 +557,18 @@
font-size: 22rpx; font-size: 22rpx;
color: #FEFEFE; color: #FEFEFE;
} }
} }
.seticon { .seticon {
position: fixed; position: fixed;
top: 93rpx; top: 93rpx;
right: 40rpx; right: 40rpx;
font-weight: 500; font-weight: 500;
font-size: 28rpx; font-size: 28rpx;
color: #4D4D4D; color: #4D4D4D;
} }
.changyong { .changyong {
width: 700rpx; width: 700rpx;
min-height: 230rpx; min-height: 230rpx;
background: #FFFFFF; background: #FFFFFF;
@ -629,23 +637,23 @@
} }
} }
} }
} }
.changyong1 { .changyong1 {
margin: 40rpx auto 0 auto; margin: 40rpx auto 0 auto;
} }
.topbg { .topbg {
width: 100vw; width: 100vw;
height: 45vw; height: 45vw;
background-size: 100% 45vw; background-size: 100% 45vw;
background-image: url('http://image.bjkeyware.com/static/my/mpersonbanner.png'); background-image: url('http://image.bjkeyware.com/static/my/mpersonbanner.png');
background-repeat: no-repeat; background-repeat: no-repeat;
padding: 30px 0vw 20px 5vw; padding: 30px 0vw 20px 5vw;
} }
.peoinfo { .peoinfo {
height: 38px; height: 38px;
width: 110px; width: 110px;
line-height: 38px; line-height: 38px;
@ -656,9 +664,9 @@
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
.personinfo { .personinfo {
height: 38px; height: 38px;
width: 110px; width: 110px;
line-height: 38px; line-height: 38px;
@ -668,9 +676,9 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
margin-top: 10px; margin-top: 10px;
} }
.memeber { .memeber {
width: 90vw; width: 90vw;
height: 16vw; height: 16vw;
margin-top: 20px; margin-top: 20px;
@ -681,50 +689,50 @@
align-items: center; align-items: center;
justify-content: space-around; justify-content: space-around;
color: #FEDD92; color: #FEDD92;
} }
.handle { .handle {
background: rgba(255, 255, 255, 1); background: rgba(255, 255, 255, 1);
box-shadow: 0px 0px 29px 0px rgba(187, 86, 25, 0.17); box-shadow: 0px 0px 29px 0px rgba(187, 86, 25, 0.17);
border-radius: 5px; border-radius: 5px;
padding: 5px 0 0 0; padding: 5px 0 0 0;
} }
.handle img { .handle img {
width: 20px; width: 20px;
height: 20px; height: 20px;
} }
.associationddd { .associationddd {
width: 65px; width: 65px;
text-align: center; text-align: center;
margin: 5px 0; margin: 5px 0;
color: #595959; color: #595959;
} }
.recomimg { .recomimg {
width: 50vw; width: 50vw;
height: 4vw; height: 4vw;
display: flex; display: flex;
margin: 20px auto; margin: 20px auto;
} }
.recommend { .recommend {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; justify-content: space-between;
} }
.currekei { .currekei {
width: 48%; width: 48%;
/* height: 360rpx; */ /* height: 360rpx; */
background: #FFFFFF; background: #FFFFFF;
border-radius: 10px; border-radius: 10px;
padding: 10px; padding: 10px;
margin-bottom: 20rpx margin-bottom: 20rpx
} }
.leop { .leop {
font-size: 30rpx; font-size: 30rpx;
/* height:40px ; */ /* height:40px ; */
font-weight: bold; font-weight: bold;
@ -733,9 +741,9 @@
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
.tabone { .tabone {
/* width: 98rpx; */ /* width: 98rpx; */
/* height: 33rpx; */ /* height: 33rpx; */
border: 1px solid #2B80FC; border: 1px solid #2B80FC;
@ -746,30 +754,30 @@
text-align: center; text-align: center;
/* line-height: 33rpx; */ /* line-height: 33rpx; */
padding: 3px 5px; padding: 3px 5px;
} }
.currekei :nth-child(4) { .currekei :nth-child(4) {
color: #FD461A; color: #FD461A;
font-weight: 800; font-weight: 800;
font-size: 34rpx; font-size: 34rpx;
} }
.imgone { .imgone {
width: 119rpx; width: 119rpx;
margin: 10px auto; margin: 10px auto;
} }
.imgone img { .imgone img {
width: 119rpx; width: 119rpx;
height: 123rpx; height: 123rpx;
} }
.imgtwo { .imgtwo {
width: 32rpx; width: 32rpx;
height: 32rpx; height: 32rpx;
} }
.perfect { .perfect {
width: 80%; width: 80%;
height: 50px; height: 50px;
margin: 25px auto; margin: 25px auto;
@ -779,43 +787,43 @@
border-radius: 44px; border-radius: 44px;
font-size: 18px; font-size: 18px;
color: #FFFFFF; color: #FFFFFF;
} }
/* .u-drawer__scroll-view{ /* .u-drawer__scroll-view{
height:0; height:0;
} */ } */
.perfectsty { .perfectsty {
text-align: center; text-align: center;
border-radius: 22px; border-radius: 22px;
} }
.popupu { .popupu {
overflow-y: scroll; overflow-y: scroll;
} }
.topbg .u-tag { .topbg .u-tag {
border-color: none; border-color: none;
} }
.advance { .advance {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
margin-top: 15px; margin-top: 15px;
} }
.medaget { .medaget {
border-bottom: 1px solid #99999926; border-bottom: 1px solid #99999926;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
padding-bottom: 14px; padding-bottom: 14px;
width: 93%; width: 93%;
} }
.advance img { .advance img {
width: 15px; width: 15px;
height: 15px; height: 15px;
margin-top: 3px; margin-top: 3px;
} }
</style> </style>

@ -1,63 +1,82 @@
<template> <template>
<view> <view>
<view class="accounmt"> <view class="accounmt">
<view v-show="isadd"> <view v-show="isadd && !motify">
<p class="selectadd" style="margin-bottom: 20px;">选择添加类型</p> <p class="selectadd" style="margin-bottom: 20px;">选择添加类型</p>
<u-input style="width:100%;" v-model="accountform.paytype" type="select" @click="psytypeshow = true" placeholder='选择添加类型' /> <u-input style="width:100%;" v-model="accountform.paytype" type="select" @click="psytypeshow = true"
<u-select v-model="psytypeshow" :list="payList" @confirm="paychange" mode="mutil-column-auto" ></u-select> placeholder='选择添加类型' />
<u-select v-model="psytypeshow" :list="payList" @confirm="paychange"
mode="mutil-column-auto"></u-select>
<div style="border: 1px dashed #EBEBEB;margin: 20px 0;"></div> <div style="border: 1px dashed #EBEBEB;margin: 20px 0;"></div>
<div v-if="accountform.paytype=='支付宝'" style="display: flex;align-items: center;margin-bottom:10px;"> <div v-if="accountform.paytype == '支付宝'"
style="display: flex;align-items: center;margin-bottom:10px;justify-content: space-between;">
<view style="display: flex;align-items: center;">
<img style="width:19px;height:19px;margin-right:5px;" src="/static/crowd/PAYB.png" alt=""> <img style="width:19px;height:19px;margin-right:5px;" src="/static/crowd/PAYB.png" alt="">
<p class="selectadd">支付宝账号</p> <p class="selectadd">支付宝账号</p>
</view>
<view @click="accountReset('支付宝')" style="color: #2587FA;">重置账号</view>
</div> </div>
<div v-if="accountform.paytype=='银行卡'" style="display: flex;align-items: center;margin-bottom:10px;"> <div v-if="accountform.paytype == '银行卡'"
style="display: flex;align-items: center;margin-bottom:10px;justify-content: space-between;">
<view style="display: flex;align-items: center;">
<img style="width:18px;height:15px;margin-right:5px;" src="/static/crowd/bankcad.png" alt=""> <img style="width:18px;height:15px;margin-right:5px;" src="/static/crowd/bankcad.png" alt="">
<p class="selectadd">银行卡账号</p> <p class="selectadd">银行卡账号</p>
</view>
<view @click="accountReset('银行卡')" style="color: #2587FA;">重置账号</view>
</div> </div>
<u-form :model="accountform" ref="accountform" label-position='left' label-width='140' border-bottom='false'> <u-form :model="accountform" ref="accountform" label-position='left' label-width='140'
<view v-if="accountform.paytype=='支付宝' && !accountdata.alipay"> border-bottom='false'>
<view v-if="accountform.paytype == '支付宝' && !accountdata.alipay">
<u-form-item label="姓 名:" prop="name" border-bottom='false' required='true'> <u-form-item label="姓 名:" prop="name" border-bottom='false' required='true'>
<u-input style="" v-model="accountform.name" ></u-input> <u-input style="" v-model="accountform.name"></u-input>
</u-form-item> </u-form-item>
<u-form-item label="账 号:" prop="alipay" border-bottom='false' required='true'> <u-form-item label="账 号:" prop="alipay" border-bottom='false' required='true'>
<u-input v-model="accountform.alipay" ></u-input> <u-input v-model="accountform.alipay"></u-input>
</u-form-item> </u-form-item>
<view class="tishi"> <view class="tishi">
<image style="width: 21rpx;height: 21rpx;margin-right: 10rpx;" src="../../../static/crowd/zhuyi.png" mode=""></image> <image style="width: 21rpx;height: 21rpx;margin-right: 10rpx;"
src="../../../static/crowd/zhuyi.png" mode=""></image>
账号添加后暂不支持更改请仔细检查后再提交确定 账号添加后暂不支持更改请仔细检查后再提交确定
</view> </view>
<view class="addbtn"> <view class="addbtn">
<view class="addbtnff" v-if="accountform.paytype=='支付宝' && !accountdata.alipay" @click="acsumbit('determine')" <view class="addbtnff" v-if="accountform.paytype == '支付宝' && !accountdata.alipay"
@click="acsumbit('determine')"
style='background: linear-gradient(90deg, #5EA6FD, #1A81F9);'>确定</view> style='background: linear-gradient(90deg, #5EA6FD, #1A81F9);'>确定</view>
<view v-if="accountform.paytype=='支付宝' && !accountdata.alipay" class="addbtnff" @click="acsumbit('cancel')" style="border: 1px solid #E0E0E0;background: #FFFFFF;color: #666666;">取消</view> <view v-if="accountform.paytype == '支付宝' && !accountdata.alipay" class="addbtnff"
@click="acsumbit('cancel')"
style="border: 1px solid #E0E0E0;background: #FFFFFF;color: #666666;">取消</view>
</view> </view>
</view> </view>
<view v-if="accountform.paytype=='银行卡' && !accountdata.bankAccount"> <view v-if="accountform.paytype == '银行卡' && !accountdata.bankAccount">
<u-form-item label="姓 名:" prop="name" border-bottom='false' required='true'> <u-form-item label="姓 名:" prop="name" border-bottom='false' required='true'>
<u-input style="" v-model="accountform.name" ></u-input> <u-input style="" v-model="accountform.name"></u-input>
</u-form-item> </u-form-item>
<u-form-item label="开户行:" prop="bankDeposit" border-bottom='false' required='true'> <u-form-item label="开户行:" prop="bankDeposit" border-bottom='false' required='true'>
<u-input v-model="accountform.bankDeposit" ></u-input> <u-input v-model="accountform.bankDeposit"></u-input>
</u-form-item> </u-form-item>
<u-form-item label="账 号:" prop="bankAccount" border-bottom='false' required='true'> <u-form-item label="账 号:" prop="bankAccount" border-bottom='false' required='true'>
<u-input v-model="accountform.bankAccount" ></u-input> <u-input v-model="accountform.bankAccount"></u-input>
</u-form-item> </u-form-item>
<view class="tishi"> <view class="tishi">
<image style="width: 21rpx;height: 21rpx;margin-right: 10rpx;" src="../../../static/crowd/zhuyi.png" mode=""></image> <image style="width: 21rpx;height: 21rpx;margin-right: 10rpx;"
src="../../../static/crowd/zhuyi.png" mode=""></image>
账号添加后暂不支持更改请仔细检查后再提交确定 账号添加后暂不支持更改请仔细检查后再提交确定
</view> </view>
<view class="addbtn"> <view class="addbtn">
<view class="addbtnff" v-if="accountform.paytype=='银行卡' && !accountdata.bankAccount" @click="acsumbit('determine')" <view class="addbtnff" v-if="accountform.paytype == '银行卡' && !accountdata.bankAccount"
@click="acsumbit('determine')"
style='background: linear-gradient(90deg, #5EA6FD, #1A81F9);'>确定</view> style='background: linear-gradient(90deg, #5EA6FD, #1A81F9);'>确定</view>
<view v-if="accountform.paytype=='银行卡' && !accountdata.bankAccount" class="addbtnff" @click="acsumbit('cancel')" style="border: 1px solid #E0E0E0;background: #FFFFFF;color: #666666;">取消</view> <view v-if="accountform.paytype == '银行卡' && !accountdata.bankAccount" class="addbtnff"
@click="acsumbit('cancel')"
style="border: 1px solid #E0E0E0;background: #FFFFFF;color: #666666;">取消</view>
</view> </view>
</view> </view>
</u-form> </u-form>
<!-- 已添加账号 --> <!-- 已添加账号 -->
<view class="yitianjiaed" v-if="accountform.paytype=='支付宝' && accountdata.alipay"> <view class="yitianjiaed" v-if="accountform.paytype == '支付宝' && accountdata.alipay">
<view class="yitianjiaedtext"> <view class="yitianjiaedtext">
<text>*</text> <text>*</text>
姓名{{ accountdata.name }} 姓名{{ accountdata.name }}
@ -67,7 +86,7 @@
账号{{ accountdata.alipay }} 账号{{ accountdata.alipay }}
</view> </view>
</view> </view>
<view class="yitianjiaed" v-if="accountform.paytype=='银行卡' && accountdata.bankAccount"> <view class="yitianjiaed" v-if="accountform.paytype == '银行卡' && accountdata.bankAccount">
<view class="yitianjiaedtext"> <view class="yitianjiaedtext">
<text>*</text> <text>*</text>
姓名{{ accountdata.name }} 姓名{{ accountdata.name }}
@ -82,32 +101,38 @@
</view> </view>
</view> </view>
</view> </view>
<view v-show="!isadd"> <view v-show="!isadd && !motify">
<view v-if="accountdata.alipay && accountdata.bankAccount" @click="accountdatadia('查看账户')" style="display:flex;align-items:center;font-size:15px;cursor: pointer;"> <view v-if="accountdata.alipay && accountdata.bankAccount" @click="accountdatadia('查看账户')"
style="display:flex;align-items:center;font-size:15px;cursor: pointer;">
<!-- <img style="width:20px;height:20px" src="/static/crowd/add.png" alt=""> --> <!-- <img style="width:20px;height:20px" src="/static/crowd/add.png" alt=""> -->
<p style="color:#2286FA;margin: 0 5px;">查看账户</p> <p style="color:#2286FA;margin: 0 5px;">查看账户</p>
</view> </view>
<view v-else @click="accountdatadia('添加账户')" style="display:flex;align-items:center;font-size:15px;cursor: pointer;"> <view v-else @click="accountdatadia('添加账户')"
style="display:flex;align-items:center;font-size:15px;cursor: pointer;">
<img style="width:20px;height:20px" src="/static/crowd/add.png" alt=""> <img style="width:20px;height:20px" src="/static/crowd/add.png" alt="">
<p style="color:#2286FA;margin: 0 5px;">添加账户</p> <p style="color:#2286FA;margin: 0 5px;">添加账户</p>
<p v-if="!accountdata.alipay && !accountdata.bankAccount" style="color:#666666FF;font-size:13px;">(还未添加账户,无法提现)</p> <p v-if="!accountdata.alipay && !accountdata.bankAccount" style="color:#666666FF;font-size:13px;">
(还未添加账户,无法提现)</p>
</view> </view>
<div class="test_content"> <div class="test_content">
<div style="padding:20px;background: #F2F4F7FF;border-radius: 6px 6px 0px 0px;border: 1px solid #E6E8EB;"> <div
style="padding:20px;background: #F2F4F7FF;border-radius: 6px 6px 0px 0px;border: 1px solid #E6E8EB;">
<p style="font-size:26px;color:#1A1A1AFF;font-weight: bold;">账户余额</p> <p style="font-size:26px;color:#1A1A1AFF;font-weight: bold;">账户余额</p>
<p style="margin: 20px 0 0 0;"> <p style="margin: 20px 0 0 0;">
<span style="font-size:30px;color:#F65B24FF;">{{accountdata.balance}}</span> <span style="font-size:30px;color:#F65B24FF;">{{ accountdata.balance }}</span>
<span style="font-size:18px;color:#A6A6A6;margin-left: 10px;"></span> <span style="font-size:18px;color:#A6A6A6;margin-left: 10px;"></span>
</p> </p>
</div> </div>
<div class="Withdrawable"> <div class="Withdrawable">
<p>可提现余额{{accountdata.availableBalance}}</p> <p>可提现余额{{ accountdata.availableBalance }}</p>
</div> </div>
<!-- <u-divider use-solt='false'></u-divider> --> <!-- <u-divider use-solt='false'></u-divider> -->
<!-- <div class="linex"></div> --> <!-- <div class="linex"></div> -->
<div style="margin-top:35px;display: flex;"> <div style="margin-top:35px;display: flex;">
<button class="applbtn" @click="chongzhi" style='background: linear-gradient(90deg, #5EA6FD, #1A81F9);'>充值</button> <button class="applbtn" @click="chongzhi"
<button class="applbtn" @click="openwitd" style='border: 1px solid #2468F6;color: #2468F6; background: #FFFFFF;'>提现</button> style='background: linear-gradient(90deg, #5EA6FD, #1A81F9);'>充值</button>
<button class="applbtn" @click="openwitd"
style='border: 1px solid #2468F6;color: #2468F6; background: #FFFFFF;'>提现</button>
<!-- <button @click="openwitd" class="addbtnff" style='border: 1px solid #2468F6;'>提现</button> --> <!-- <button @click="openwitd" class="addbtnff" style='border: 1px solid #2468F6;'>提现</button> -->
<!-- <view style="width:150px;height:50px;font-size: 18px;margin-right:20px;">充值</view> <!-- <view style="width:150px;height:50px;font-size: 18px;margin-right:20px;">充值</view>
<view style="width:150px;height:50px;font-size: 18px;margin-left:20px;">提现</view> --> <view style="width:150px;height:50px;font-size: 18px;margin-left:20px;">提现</view> -->
@ -115,10 +140,63 @@
</div> </div>
</view> </view>
<view v-show="motify">
<u-form :model="accountform" ref="accountform" label-position='left' label-width='140'
border-bottom='false'>
<view v-if="accountform.paytype == '支付宝' && accountdata.alipay">
<u-form-item labelWidth="0" prop="name" border-bottom='false' required='true'>
<u-input v-model="accountform.name" placeholder="请输入姓名"></u-input>
</u-form-item>
<u-form-item labelWidth="0" prop="alipay" border-bottom='false' required='true'>
<u-input v-model="accountform.alipay" placeholder="请输入支付宝账号"></u-input>
</u-form-item>
<u-form-item labelWidth="0" prop="mobile" border-bottom='false' required='true'>
<u-input v-model="accountform.mobile" placeholder="请输入手机号" disabled></u-input>
</u-form-item>
<u-form-item labelWidth="0" prop="code" border-bottom='false' required='true'>
<div style="display: flex;">
<u-input v-model="accountform.code" placeholder="请输入验证码" style="width: 70%;"></u-input>
<view :class="verifyCodeText.disabled ? 'btnDisable getVerifyCode' : 'getVerifyCode'"
@click="getVerifyCode">{{ verifyCodeText.text }}</view>
</div>
</u-form-item>
<view class="resetSubmit">
<view class="resetBtn" @click="acsumbit('determine')"
style='background: linear-gradient(90deg, #5EA6FD, #1A81F9);'>提交</view>
</view>
</view>
<view v-if="accountform.paytype == '银行卡' && accountdata.bankAccount">
<u-form-item labelWidth="0" prop="name" border-bottom='false' required='true'>
<u-input v-model="accountform.name" placeholder="请输入姓名"></u-input>
</u-form-item>
<u-form-item labelWidth="0" prop="bankDeposit" border-bottom='false' required='true'>
<u-input v-model="accountform.bankDeposit" placeholder="请输入开户行"></u-input>
</u-form-item>
<u-form-item labelWidth="0" prop="bankAccount" border-bottom='false' required='true'>
<u-input v-model="accountform.bankAccount" placeholder="请输入银行卡号"></u-input>
</u-form-item>
<u-form-item labelWidth="0" prop="mobile" border-bottom='false' required='true'>
<u-input v-model="accountform.mobile" placeholder="请输入手机号" disabled></u-input>
</u-form-item>
<u-form-item labelWidth="0" prop="code" border-bottom='false' required='true'>
<div style="display: flex;">
<u-input v-model="accountform.code" placeholder="请输入验证码" style="width: 70%;"></u-input>
<view :class="verifyCodeText.disabled ? 'btnDisable getVerifyCode' : 'getVerifyCode'"
@click="getVerifyCode">{{ verifyCodeText.text }}
</view>
</div>
</u-form-item>
<view class="resetSubmit">
<view class="resetBtn" @click="acsumbit('determine')"
style='background: linear-gradient(90deg, #5EA6FD, #1A81F9);'>提交</view>
</view>
</view>
</u-form>
</view>
</view> </view>
<u-toast ref="uToast"></u-toast> <u-toast ref="uToast"></u-toast>
<!-- 充值弹层 --> <!-- 充值弹层 -->
<u-popup style="background:#66666;padding: 20px;" v-model="lqPasswordShow" mode="bottom" length="80%" <u-popup style="background:#66666;padding:20px;" v-model="lqPasswordShow" mode="bottom" length="80%"
height='40%' border-radius="15" :closeable='true' :mask-close-able="false"> height='40%' border-radius="15" :closeable='true' :mask-close-able="false">
<!-- <u-code-input dot v-model="qbpassword" :maxlength="6"></u-code-input> --> <!-- <u-code-input dot v-model="qbpassword" :maxlength="6"></u-code-input> -->
<view style="height:100rpx"> <view style="height:100rpx">
@ -134,21 +212,27 @@
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
lqPasswordShow: false, lqPasswordShow: false,
chongzhinum: null, chongzhinum: null,
accountdata:{}, accountdata: {},
wxUserInfo:null, wxUserInfo: null,
isadd:false, isadd: false,
psytypeshow:false, verifyCodeText: {
payList:[{value:'1',label:'支付宝'},{value:'2',label:'银行卡'},], text: '获取验证码',
accountform:{paytype:'支付宝',name:'',alipay:'',bankDeposit:'',bankAccount:''}, timer: '',
accountRules:{ disabled: false
},
motify: false,
psytypeshow: false,
payList: [{ value: '1', label: '支付宝' }, { value: '2', label: '银行卡' },],
accountform: { paytype: '支付宝', name: '', alipay: '', bankDeposit: '', bankAccount: '' },
accountRules: {
name: [ name: [
{required: true, message: "姓名不能为空", trigger: "blur"}, { required: true, message: "姓名不能为空", trigger: "blur" },
{max: 4, message: '最多输入4个中文', trigger: 'change' }, { max: 4, message: '最多输入4个中文', trigger: 'change' },
{ {
pattern: pattern:
/^(?:[\u4e00-\u9fa5·]{2,16})$/, /^(?:[\u4e00-\u9fa5·]{2,16})$/,
@ -156,8 +240,11 @@
trigger: "blur", trigger: "blur",
}, },
], ],
code: [
{ required: true, message: "请输入验证码", trigger: "blur" },
],
bankDeposit: [ bankDeposit: [
{required: true, message: "开户行不能为空", trigger: "blur"}, { required: true, message: "开户行不能为空", trigger: "blur" },
{ {
pattern: pattern:
/^(?:[\u4e00-\u9fa5·]{2,16})$/, /^(?:[\u4e00-\u9fa5·]{2,16})$/,
@ -166,16 +253,16 @@
}, },
], ],
alipay: [ alipay: [
{required: true, message: "账号不能为空", trigger: "blur"}, { required: true, message: "账号不能为空", trigger: "blur" },
{max: 25, message: '账号格式不对', trigger: 'change' }, { max: 25, message: '账号格式不对', trigger: 'change' },
{ {
message: '账号格式不对', message: '账号格式不对',
trigger: 'change', trigger: 'change',
pattern:/(^[\w.\-]+@(?:[a-z0-9]+(?:-[a-z0-9]+)*\.)+[a-z]{2,3}$)|(^1[3|4|5|8]\d{9}$)/, pattern: /(^[\w.\-]+@(?:[a-z0-9]+(?:-[a-z0-9]+)*\.)+[a-z]{2,3}$)|(^1[3|4|5|8]\d{9}$)/,
}, },
], ],
bankAccount: [ bankAccount: [
{required: true, message: "账号不能为空", trigger: "blur"}, { required: true, message: "账号不能为空", trigger: "blur" },
// {min:16, message: '', trigger: 'change' }, // {min:16, message: '', trigger: 'change' },
// {max:19, message: '', trigger: 'change' }, // {max:19, message: '', trigger: 'change' },
// { // {
@ -187,7 +274,7 @@
validator: (rule, value, callback) => { validator: (rule, value, callback) => {
const str = value.replace(/\s/g, ''); const str = value.replace(/\s/g, '');
if (/^[1-9]\d*$/.test(str)) { if (/^[1-9]\d*$/.test(str)) {
if(str.length <=19 && str.length >=16) { if (str.length <= 19 && str.length >= 16) {
callback() callback()
} else { } else {
callback(new Error('账号位数错误')); callback(new Error('账号位数错误'));
@ -200,20 +287,20 @@
} }
], ],
}, },
Withdrawalform:{withdraw:'alipay',recordAmount:'',password:''} Withdrawalform: { withdraw: 'alipay', recordAmount: '', password: '' }
} }
}, },
onReady(){ onReady() {
this.$refs.accountform.setRules(this.accountRules); this.$refs.accountform.setRules(this.accountRules);
}, },
onShow() { onShow() {
if(this.isadd){ if (this.isadd) {
uni.setNavigationBarTitle({ uni.setNavigationBarTitle({
title: '添加账户' title: '添加账户'
}); });
}else{ } else {
uni.setNavigationBarTitle({ uni.setNavigationBarTitle({
title: '账户概览' title: '账户概览'
}); });
@ -223,9 +310,9 @@
}, },
mounted() { mounted() {
this.wxUserInfo = uni.getStorageSync('wxUserInfo'); this.wxUserInfo = uni.getStorageSync('wxUserInfo');
let userId=this.wxUserInfo.userId let userId = this.wxUserInfo.userId
this.http.quickGet(`/mpay/my/account/${userId}`,true).then(res=>{ this.http.quickGet(`/mpay/my/account/${userId}`, true).then(res => {
this.accountdata=res.data this.accountdata = res.data
this.accountform.name = res.data.name this.accountform.name = res.data.name
this.accountform.alipay = res.data.alipay this.accountform.alipay = res.data.alipay
this.accountform.bankDeposit = res.data.bankDeposit this.accountform.bankDeposit = res.data.bankDeposit
@ -233,52 +320,118 @@
}) })
}, },
methods: { methods: {
paychange(e){ paychange(e) {
this.accountform.paytype=e[0].label this.accountform.paytype = e[0].label
}, },
// //
accountdatadia(val){ accountdatadia(val) {
this.isadd=true this.isadd = true
uni.setNavigationBarTitle({ uni.setNavigationBarTitle({
title: val title: val
}); });
}, },
accountReset(val) {
uni.setNavigationBarTitle({
title: '充值账户'
});
this.motify = true
this.accountform = { paytype: '', name: '', alipay: '', bankDeposit: '', bankAccount: '' }
this.accountform.paytype = val
console.log(this.wxUserInfo);
this.accountform.mobile = this.wxUserInfo.phonenumber
},
//
getVerifyCode() {
if (this.verifyCodeText.disabled) {
return
}
const url = this.wxUserInfo.phonenumber
this.verifyCodeText.disabled = true
this.http.quickGet('/captchaUserLogin?phoneNumber=' + url)
.then((res) => {
if (res.data.code == 200) {
this.accountform.uuid = res.data.uuid
uni.showToast({
title: '发送成功',
icon: 'none',
duration: 1000,
})
const TIME_COUNT = 60 //
if (!this.verifyCodeText.timer) {
this.verifyCodeText.text = TIME_COUNT
this.verifyCodeText.disabled = true
this.verifyCodeText.timer = setInterval(() => {
if (this.verifyCodeText.text > 0 && this.verifyCodeText.text <= TIME_COUNT) {
this.verifyCodeText.text--
} else {
this.verifyCodeText.disabled = false
// this.verifyCodeText.show = true
clearInterval(this.verifyCodeText.timer) //
this.verifyCodeText.timer = null
this.verifyCodeText.text = '获取验证码'
}
}, 1000)
}
} else {
this.verifyCodeText.disabled = false
uni.showToast({
title: res.data.msg,
icon: 'none',
duration: 1000,
})
}
})
.catch((err) => {
this.verifyCodeText.disabled = false
console.log('err', err)
})
},
// //
acsumbit(type){ acsumbit(type) {
if(type=='cancel'){ if (type == 'cancel') {
this.isadd=false this.isadd = false
uni.setNavigationBarTitle({ uni.setNavigationBarTitle({
title: '账户概览' title: '账户概览'
}); });
}else{ } else {
this.$refs.accountform.validate((valid) => { this.$refs.accountform.validate((valid) => {
if(valid) { if (valid) {
let data={}; let data = {};
if(this.accountform.paytype=='支付宝'){ if (this.accountform.paytype == '支付宝') {
data={ data = {
name:this.accountform.name, name: this.accountform.name,
accountId:this.accountdata.accountId, accountId: this.accountdata.accountId,
userId:this.wxUserInfo.userId, userId: this.wxUserInfo.userId,
alipay:this.accountform.alipay alipay: this.accountform.alipay
} }
}else{ } else {
data={ data = {
name:this.accountform.name, name: this.accountform.name,
accountId:this.accountdata.accountId, accountId: this.accountdata.accountId,
userId:this.wxUserInfo.userId, userId: this.wxUserInfo.userId,
bankAccount:this.accountform.bankAccount.replace(/\s/g, ''), bankAccount: this.accountform.bankAccount.replace(/\s/g, ''),
bankDeposit:this.accountform.bankDeposit bankDeposit: this.accountform.bankDeposit
} }
} }
console.log('添加账号data---',data) console.log('添加账号data---', data)
// return; // return;
this.http.quickPost(`/mpay/setting/account`,data,true).then(res=>{ let url = ''
console.log('res---',res) if (this.motify) {
if(res.data.data.code==200){ data.uuid = this.accountform.uuid
data.code = this.accountform.code
url = `/mpay/update/account`
} else {
url = `/mpay/setting/account`
}
this.http.quickPost(url, data, true).then(res => {
console.log('res---', res)
let toastTitle = '';
this.motify ? (toastTitle = '重置成功'):(toastTitle = '添加成功')
if (res.data.data.code == 200) {
this.$refs.uToast.show( this.$refs.uToast.show(
{ {
type: 'success', type: 'success',
title: "添加成功", title: toastTitle,
duration: 2000, duration: 2000,
} }
) )
@ -287,10 +440,11 @@
// } }); // } });
// //
this.isadd = false this.isadd = false
this.motify = false
this.wxUserInfo = uni.getStorageSync('wxUserInfo'); this.wxUserInfo = uni.getStorageSync('wxUserInfo');
let userId=this.wxUserInfo.userId let userId = this.wxUserInfo.userId
this.http.quickGet(`/mpay/my/account/${userId}`,true).then(res=>{ this.http.quickGet(`/mpay/my/account/${userId}`, true).then(res => {
this.accountdata=res.data this.accountdata = res.data
this.accountform.name = res.data.name this.accountform.name = res.data.name
this.accountform.alipay = res.data.alipay this.accountform.alipay = res.data.alipay
this.accountform.bankDeposit = res.data.bankDeposit this.accountform.bankDeposit = res.data.bankDeposit
@ -306,14 +460,14 @@
) )
} }
}) })
}else{ } else {
console.log('效验失败---',data) console.log('效验失败---', data)
} }
}) })
} }
}, },
// //
openwitd(){ openwitd() {
// //
if (this.accountdata.availableBalance == 0) { if (this.accountdata.availableBalance == 0) {
return this.$refs.uToast.show( return this.$refs.uToast.show(
@ -333,7 +487,7 @@
) )
} else { } else {
uni.navigateTo({ uni.navigateTo({
url:'/pages/personal/setup/Withdrawal' url: '/pages/personal/setup/Withdrawal'
}) })
} }
}, },
@ -362,16 +516,16 @@
paySign: info.paySign, paySign: info.paySign,
success(r) { success(r) {
that.wxUserInfo = uni.getStorageSync('wxUserInfo'); that.wxUserInfo = uni.getStorageSync('wxUserInfo');
let userId=that.wxUserInfo.userId let userId = that.wxUserInfo.userId
that.http.quickGet(`/mpay/my/account/${userId}`,true).then(res=>{ that.http.quickGet(`/mpay/my/account/${userId}`, true).then(res => {
that.accountdata=res.data that.accountdata = res.data
that.accountform.name = res.data.name that.accountform.name = res.data.name
that.accountform.alipay = res.data.alipay that.accountform.alipay = res.data.alipay
that.accountform.bankDeposit = res.data.bankDeposit that.accountform.bankDeposit = res.data.bankDeposit
that.accountform.bankAccount = res.data.bankAccount that.accountform.bankAccount = res.data.bankAccount
}) })
uni.showToast({ uni.showToast({
icon:'none', icon: 'none',
title: '充值成功' title: '充值成功'
}) })
that.lqPasswordShow = false that.lqPasswordShow = false
@ -380,7 +534,7 @@
fail(error) { fail(error) {
console.log(error); console.log(error);
uni.showToast({ uni.showToast({
icon:'none', icon: 'none',
title: '充值失败' title: '充值失败'
}) })
} }
@ -388,11 +542,11 @@
}) })
} }
} }
} }
</script> </script>
<style> <style>
.button-g { .button-g {
width: 540rpx; width: 540rpx;
height: 70rpx; height: 70rpx;
background: linear-gradient(90deg, #FF8600, #FE2B2B); background: linear-gradient(90deg, #FF8600, #FE2B2B);
@ -402,68 +556,109 @@
color: #FFFFFF; color: #FFFFFF;
font-size: 30rpx; font-size: 30rpx;
margin-left: 13px; margin-left: 13px;
} }
/* #F2F4F7 */ /* #F2F4F7 */
.accounmt{ .accounmt {
background: #FFFFFF; background: #FFFFFF;
width:96vw; width: 96vw;
height:96vh; height: 96vh;
margin:2vh auto; margin: 2vh auto;
border-radius: 10px; border-radius: 10px;
padding:10px 13px; padding: 10px 13px;
} }
.test_content{
margin:30px 0; .test_content {
margin: 30px 0;
/* background: #F2F4F7FF; */ /* background: #F2F4F7FF; */
text-align: center; text-align: center;
} }
.linex{
height:1rpx; .linex {
width:100%; height: 1rpx;
background:#EBEBEB width: 100%;
} background: #EBEBEB
.applbtn{ }
border-radius:50px;
width:150px; .applbtn {
height:40px; border-radius: 50px;
width: 150px;
height: 40px;
font-size: 18px; font-size: 18px;
margin-right:20px; margin-right: 20px;
background: #909399; background: #909399;
text-align: center; text-align: center;
line-height: 40px; line-height: 40px;
color: #FFFFFF; color: #FFFFFF;
} }
.Withdrawable{
.Withdrawable {
background: #DDE8F8; background: #DDE8F8;
border-radius: 0px 0px 6px 6px; border-radius: 0px 0px 6px 6px;
border: 1px solid #E6E8EB; border: 1px solid #E6E8EB;
height:100rpx; height: 100rpx;
line-height:100rpx; line-height: 100rpx;
font-size:16px; font-size: 16px;
color:#666666FF; color: #666666FF;
} }
.selectadd{
.selectadd {
color: #000000; color: #000000;
font-size:16px; font-size: 16px;
font-weight: bold; font-weight: bold;
} }
.u-input{
padding: 0 10px!important; .u-input {
height:35px; padding: 0 10px !important;
height: 35px;
border-radius: 4rpx; border-radius: 4rpx;
border: 1px solid #E6E6E6; border: 1px solid #E6E6E6;
} }
.addbtn{
.addbtn {
display: flex; display: flex;
justify-content: space-evenly; justify-content: space-evenly;
position: fixed; position: fixed;
bottom: 50px; bottom: 50px;
width: 100%; width: 100%;
margin-left: -40rpx; margin-left: -40rpx;
} }
.addbtnff {
.resetSubmit {
margin-top: 30px;
display: flex;
justify-content: center;
}
.resetBtn {
width: 85%;
height: 70rpx;
border-radius: 35rpx;
line-height: 70rpx;
font-weight: 500;
font-size: 28rpx;
color: #FFFFFF;
text-align: center;
}
.getVerifyCode {
width: 30%;
border-radius: 5rpx;
line-height: 60rpx;
font-weight: 500;
font-size: 28rpx;
color: #FFFFFF;
text-align: center;
background: linear-gradient(90deg, #5EA6FD, #1A81F9);
}
.btnDisable {
background: linear-gradient(90deg, #73a7e7, #4b8eda);
}
.addbtnff {
width: 40%; width: 40%;
height: 70rpx; height: 70rpx;
border-radius: 35rpx; border-radius: 35rpx;
@ -472,15 +667,17 @@
font-size: 28rpx; font-size: 28rpx;
color: #FFFFFF; color: #FFFFFF;
text-align: center; text-align: center;
} }
.tishi {
.tishi {
font-weight: 500; font-weight: 500;
font-size: 22rpx; font-size: 22rpx;
color: #808080; color: #808080;
display: flex; display: flex;
align-items: center; align-items: center;
} }
.yitianjiaed {
.yitianjiaed {
width: 100%; width: 100%;
background: #F5F7FA; background: #F5F7FA;
border-radius: 4px; border-radius: 4px;
@ -488,15 +685,17 @@
box-sizing: border-box; box-sizing: border-box;
padding: 20rpx; padding: 20rpx;
margin-top: 40rpx; margin-top: 40rpx;
} }
.yitianjiaedtext {
.yitianjiaedtext {
font-weight: 500; font-weight: 500;
font-size: 26rpx; font-size: 26rpx;
color: #333333; color: #333333;
margin-bottom: 25rpx; margin-bottom: 25rpx;
} }
.yitianjiaedtext text {
.yitianjiaedtext text {
color: red; color: red;
margin-right: 10rpx; margin-right: 10rpx;
} }
</style> </style>

@ -26,7 +26,8 @@
</view> </view>
</block> </block>
<view v-else class="noreview"> <view v-else class="noreview">
暂无评价 <img style="width: 338rpx;height: 254rpx;" src="../../index/testtraining/noEvaluate.png" alt="">
<view>暂无评价</view>
</view> </view>
</view> </view>
</template> </template>
@ -65,7 +66,7 @@
font-weight: bold; font-weight: bold;
color: #9D9D9D; color: #9D9D9D;
text-align: center; text-align: center;
margin-top: 40rpx; margin-top: 100px;
} }
.peixunbanpage { .peixunbanpage {

@ -2,123 +2,243 @@
<view class="navTab"> <view class="navTab">
<!-- <u-search v-model='keyware' placeholder='输入搜索内容' :actionStyle="customActionStyle" <!-- <u-search v-model='keyware' placeholder='输入搜索内容' :actionStyle="customActionStyle"
showAction="true" actionText="搜索" :animation="false" @custom='seacrhko'></u-search> --> showAction="true" actionText="搜索" :animation="false" @custom='seacrhko'></u-search> -->
<view v-if="signuplist.length>0"> <div class="sign_list" v-for="(item, key) of signuplist" :key="key">
<view v-for="(item,key) of signuplist" class="sign_list" :key="key">
<view style="display:flex;margin:0 12px 8px 0;justify-content: space-between;align-items: flex-end;"> <view style="display:flex;margin:0 12px 8px 0;justify-content: space-between;align-items: flex-end;">
<view class="rightb"> <view class="rightb">
{{item.trainClassName}} {{ item.trainClassName }}
</view> </view>
<p v-if="item.registrationTime" style="font-size:24rpx;color: #808080;">报名时间{{ dateFormat(new Date(item.registrationTime))}} </p>
</view> </view>
<view class="fline"></view> <view class="fline"></view>
<view <view @click="catCourse(item)"
@click="catCourse(item)"
style="display: flex;justify-content: space-between;margin: 19px 15px 0 15px;align-items: center;"> style="display: flex;justify-content: space-between;margin: 19px 15px 0 15px;align-items: center;">
<view style="color:#333333FF;font-size:13px;line-height:27px;"> <view style="color:#333333FF;font-size:13px;line-height:27px;">
<p>班级名称{{item.trainClassName}}</p> <p>班级名称{{ item.trainClassName }}</p>
<!-- start_time --> <!-- start_time -->
<p v-if="item.trainStartTime" >开课日期{{item.trainStartTime.slice(0,4)}}{{item.trainStartTime.slice(5,7)}}{{item.trainStartTime.slice(8,10)}}</p> <p v-if="item.trainStartTime">
<p v-if="item.trainEndTime" >结课时间{{item.trainEndTime.slice(0,4)}}{{item.trainEndTime.slice(5,7)}}{{item.trainEndTime.slice(8,10)}}</p> 开课日期{{ item.trainStartTime.slice(0, 4) }}{{ item.trainStartTime.slice(5, 7) }}{{
item.trainStartTime.slice(8, 10) }}
</p>
<p v-if="item.trainEndTime">
结课时间{{ item.trainEndTime.slice(0, 4) }}{{ item.trainEndTime.slice(5, 7) }}{{
item.trainEndTime.slice(8, 10) }}
</p>
</view> </view>
<div v-if="item.status==1" class="sign_sataus" > 未开课 </div> <div v-if="item.status == 1" class="sign_sataus"> 未开课 </div>
<div v-if="item.status==2" class="sign_sataus" > 未开课 </div> <div v-if="item.status == 2" class="sign_sataus"> 未开课 </div>
<div v-if="item.status==3" class="sign_sataus" style="background: #FBA02A;"> 未开课 </div> <div v-if="item.status == 3" class="sign_sataus" style="background: #FBA02A;"> 未开课 </div>
<div v-if="item.status==4" class="sign_sataus" style="background: #28D17CFF;"> 开课中 </div> <div v-if="item.status == 4" class="sign_sataus" style="background: #28D17CFF;"> 开课中 </div>
<div v-if="item.status==5" class="sign_sataus" style="background: #FE5555FF;"> 已结束 </div> <div v-if="item.status == 5" class="sign_sataus" style="background: #FE5555FF;"> 已结束 </div>
</view> </view>
<view class="endClass">
<view class="reportUrl" @click="uploadReport('cat')">{{ item.reportName }}</view>
<view v-show="reportShow(item)" class="uploadBtn" @click="uploadReport">{{ item.reportName ?
'覆盖上传报告' : '上传结课报告' }}</view>
</view> </view>
</div>
<view v-if="signuplist.length > 0">
<view v-for="(item, key) of signuplist" class="sign_list" :key="key">
<view style="display:flex;margin:0 12px 8px 0;justify-content: space-between;align-items: flex-end;">
<view class="rightb">
{{ item.trainClassName }}
</view>
<p v-if="item.registrationTime" style="font-size:24rpx;color: #808080;">报名时间{{ dateFormat(new
Date(item.registrationTime)) }} </p>
</view>
<view class="fline"></view>
<view @click="catCourse(item)"
style="display: flex;justify-content: space-between;margin: 19px 15px 0 15px;align-items: center;">
<view style="color:#333333FF;font-size:13px;line-height:27px;">
<p>班级名称{{ item.trainClassName }}</p>
<!-- start_time -->
<p v-if="item.trainStartTime">
开课日期{{ item.trainStartTime.slice(0, 4) }}{{ item.trainStartTime.slice(5, 7) }}{{
item.trainStartTime.slice(8, 10) }}
</p>
<p v-if="item.trainEndTime">
结课时间{{ item.trainEndTime.slice(0, 4) }}{{ item.trainEndTime.slice(5, 7) }}{{
item.trainEndTime.slice(8, 10) }}
</p>
</view>
<div v-if="item.status == 1" class="sign_sataus"> 未开课 </div>
<div v-if="item.status == 2" class="sign_sataus"> 未开课 </div>
<div v-if="item.status == 3" class="sign_sataus" style="background: #FBA02A;"> 未开课 </div>
<div v-if="item.status == 4" class="sign_sataus" style="background: #28D17CFF;"> 开课中 </div>
<div v-if="item.status == 5" class="sign_sataus" style="background: #FE5555FF;"> 已结束 </div>
</view>
<view class="endClass">
<view class="reportUrl" @click="uploadReport('cat')">{{ item.reportName }}</view>
<view v-show="reportShow(item)" class="uploadBtn" @click="uploadReport">{{ item.reportName ?
'覆盖上传报告' : '上传结课报告' }}</view>
</view>
</view>
</view>
<view v-else style="font-size:46rpx;font-weight: bold;color: #9D9D9D; text-align:center;margin-top:100px">
<img style="width: 338rpx;height: 254rpx;" src="../../index/testtraining/noregister.png" alt="">
<view>暂无报名信息</view>
</view> </view>
<view v-else style="font-size:46rpx;
font-weight: bold;
color: #9D9D9D; text-align:center;margin-top:100px">暂无报名信息</view>
<view style="height:10px;"></view> <view style="height:10px;"></view>
</view> </view>
</template> </template>
<script> <script>
import { dateFormat} from '@/utils/util.js' const endDay = 2
export default { import { dateFormat } from '@/utils/util.js'
export default {
computed: {
reportShow(v) {
return function (val) {
const nowTime = new Date().getTime()
const endTime = new Date(val.trainEndTime).getTime()
const sub = (endTime - nowTime) / (1000 * 60 * 60 * 24)
// console.log(sub);
if (sub < endDay) {
return true
}
return false
}
},
},
data() { data() {
return { return {
keyware:'', keyware: '',
customActionStyle: { customActionStyle: {
color: '#808080', // color: '#808080', //
fontSize: '16px' // fontSize: '16px' //
// //
}, },
signuplist:[], signuplist: [],
} }
}, },
onLoad() { onLoad() {
let wxUserInfo=uni.getStorageSync('wxUserInfo'); let wxUserInfo = uni.getStorageSync('wxUserInfo');
// ${wxUserInfo.phonenumber} // ${wxUserInfo.phonenumber}
if(wxUserInfo){ if (wxUserInfo) {
// let phone='15802995503'; // let phone='15802995503';
this.http.quickGet(`/train/myTrainingList`, true).then(res=>{ this.http.quickGet(`/train/myTrainingList`, true).then(res => {
console.log('报名信息--',res) console.log('报名信息--', res)
this.signuplist=res.data.rows this.signuplist = res.data.rows
}) })
} }
}, },
methods: { methods: {
dateFormat, dateFormat,
seacrhko(){ seacrhko() {
}, },
signupdetails(id){ // onlineClass() {
// uni.navigateTo({
// url: `/pages/index/onlineTestCourse/onlineCourseInfo`
// })
// },
signupdetails(id) {
uni.navigateTo({ uni.navigateTo({
url:`/pages/index/testtraining/signup?issueId=${id}&type=1` url: `/pages/index/testtraining/signup?issueId=${id}&type=1`
}) })
}, },
catCourse(state){ catCourse(state) {
console.log(state); console.log(state);
// if(state.status == '4'){ // if(state.status == '4'){
uni.navigateTo({ uni.navigateTo({
url:`/pages/personal/myCourse/myCourse?id=${state.trainClassId}&name=${state.trainClassName}` url: `/pages/personal/myCourse/myCourse?id=${state.trainClassId}&name=${state.trainClassName}`
}) })
// } // }
},
uploadReport(val) {
console.log(val);
const url = 'https://www.bjkeyware.com'
uni.showModal({
title: `请登录PC端${(val === 'cat') ? '查看' : '上传'}`,
content: 'PC端网址:' + url,
showCancel: false,
confirmText: '复制网址',
success: function (res) {
if (res.confirm) {
uni.setClipboardData({
data: url,
success: function () {
uni.showToast({
title: '复制成功',
})
},
fail: function () {
uni.showToast({
title: '复制失败',
})
},
})
console.log('用户点击确定')
} }
},
})
} }
} }
}
</script> </script>
<style> <style lang="scss">
.navTab{ .navTab {
padding:2vh 13px ; padding: 2vh 13px;
}
.endClass {
color: #1F80F2;
display: flex;
justify-content: flex-end;
font-size: 24rpx;
line-height: 49rpx;
margin: 30rpx 0;
padding: 25rpx;
border-top: 1px solid #99999936;
;
align-content: center;
.reportUrl {}
.uploadBtn {
margin-left: 30rpx;
background: #EAF3FD;
border-radius: 20rpx;
border: 1px solid #AAD1FE;
padding: 0 20rpx;
} }
.sign_list{ }
.sign_list {
width: 100%; width: 100%;
background: #FFFFFF; background: #FFFFFF;
border-radius: 10px; border-radius: 10px;
margin-bottom:20px; margin-bottom: 20px;
padding-bottom:15px; // padding-bottom: 15px;
} }
.rightb{
.rightb {
/* width: 183rpx; */ /* width: 183rpx; */
padding: 0 20rpx; padding: 0 20rpx;
height: 54rpx; height: 54rpx;
background: linear-gradient(90deg, #5EA6FD, #1A81F9); background: linear-gradient(90deg, #5EA6FD, #1A81F9);
border-radius: 9px 0px 46px 0px; border-radius: 9px 0px 46px 0px;
color: #FFFFFF; color: #FFFFFF;
font-size:.8rem; font-size: .8rem;
line-height: 54rpx; line-height: 54rpx;
text-align: center; text-align: center;
} }
.fline{
.fline {
width: 100%; width: 100%;
height: 1rpx; height: 1rpx;
border: 1px solid #999999; border: 1px solid #999999;
opacity: 0.15; opacity: 0.15;
} }
.sign_sataus{
.sign_sataus {
width: 75px; width: 75px;
height: 28px; height: 28px;
background: #A8AEB6; background: #A8AEB6;
border-radius: 13px; border-radius: 13px;
font-size: 14px; font-size: 14px;
color: #FFFFFF; color: #FFFFFF;
line-height:28px; line-height: 28px;
text-align: center; text-align: center;
} }
</style> </style>

@ -1,23 +1,24 @@
<template> <template>
<view class="peixunbanpage"> <view class="peixunbanpage">
<view class="nodata" v-if="!useList.length"> <view class="nodata" v-if="!useList.length">
暂无数据 <img src="../../index/testtraining/noUsePerson.png" alt="">
<view>暂无数据</view>
</view> </view>
<view class="boxuser" v-else> <view class="boxuser" v-else>
<view class="items" v-for="it in useList"> <view class="items" v-for="it in useList">
<view class="toptitle"> <view class="toptitle">
<view class="skill"> <view class="skill">
技能要求{{it.service}} 技能要求{{ it.service }}
</view> </view>
<view class="peonum"> <view class="peonum">
{{it.peopleNum}} {{ it.peopleNum }}
</view> </view>
</view> </view>
<view class="bottominfo"> <view class="bottominfo">
<view class="beizhu"> <view class="beizhu">
备注{{it.remark}} 备注{{ it.remark }}
</view> </view>
<view v-if="it.status == 0 " class="btninfo nored"> <view v-if="it.status == 0" class="btninfo nored">
处理中 处理中
</view> </view>
<view v-else class="btninfo yesred"> <view v-else class="btninfo yesred">
@ -33,7 +34,7 @@
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
useList: [] useList: []
@ -63,22 +64,22 @@
}) })
} }
} }
} }
</script> </script>
<style scoped> <style scoped>
.peixunbanpage { .peixunbanpage {
height: 100%; height: 100%;
width: 100%; width: 100%;
background: #f5f7fa; background: #f5f7fa;
} }
.boxuser { .boxuser {
box-sizing: border-box; box-sizing: border-box;
padding: 40rpx; padding: 40rpx;
} }
.items { .items {
width: 100%; width: 100%;
min-height: 200rpx; min-height: 200rpx;
margin-bottom: 30rpx; margin-bottom: 30rpx;
@ -86,56 +87,68 @@
border-radius: 10rpx; border-radius: 10rpx;
box-sizing: border-box; box-sizing: border-box;
padding: 10rpx 20rpx; padding: 10rpx 20rpx;
} }
.toptitle { .toptitle {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
height: 75rpx; height: 75rpx;
border-bottom: 1px solid rgba(153, 153, 153, 0.2); border-bottom: 1px solid rgba(153, 153, 153, 0.2);
} }
.skill { .skill {
font-weight: 500; font-weight: 500;
font-size: 28rpx; font-size: 28rpx;
color: #1A1A1A; color: #1A1A1A;
} }
.peonum { .peonum {
font-weight: 500; font-weight: 500;
font-size: 28rpx; font-size: 28rpx;
color: #1F80F2; color: #1F80F2;
} }
.bottominfo { .bottominfo {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
padding: 20rpx 0; padding: 20rpx 0;
} }
.nodata { .nodata {
display: flex; /* display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
font-size: 46rpx; font-size: 46rpx;
font-weight: bold; font-weight: bold;
color: #9D9D9D; color: #9D9D9D;
text-align: center; text-align: center;
margin-top: 100px margin-top: 100px */
} font-size: 23px;
font-weight: bold;
color: #9D9D9D;
text-align: center;
margin-top: 100px;
}
.beizhu { .nodata img {
width: 338rpx;
height: 254rpx;
}
.beizhu {
font-weight: 500; font-weight: 500;
font-size: 22rpx; font-size: 22rpx;
color: #808080; color: #808080;
width: 70%; width: 70%;
padding-right: 20rpx; padding-right: 20rpx;
box-sizing: border-box; box-sizing: border-box;
} }
.btninfo { .btninfo {
width: 170rpx; width: 170rpx;
height: 40rpx; height: 40rpx;
border-radius: 20rpx; border-radius: 20rpx;
@ -145,13 +158,13 @@
line-height: 40rpx; line-height: 40rpx;
text-align: center; text-align: center;
width: 30%; width: 30%;
} }
.nored { .nored {
background: #FBA02A; background: #FBA02A;
} }
.yesred { .yesred {
background: #28D17C; background: #28D17C;
} }
</style> </style>

@ -1,8 +1,8 @@
import comstemutil from "./comstemutil"; import comstemutil from "./comstemutil";
//es6 //es6
// const baseUrl = 'http://192.168.0.230:9999'; const baseUrl = 'http://192.168.0.229:9999';
const baseUrl = 'https://www.bjkeyware.com/test-api'; // const baseUrl = 'https://www.bjkeyware.com/test-api';
// const baseUrl = 'https://www.bjkeyware.com/prod-api'; // const baseUrl = 'https://www.bjkeyware.com/prod-api';
// const baseUrl = 'http://172.16.36.180:9999'; // const baseUrl = 'http://172.16.36.180:9999';

Loading…
Cancel
Save