作者 徐浩

要显示太多修改。

为保证性能只显示 22 of 22+ 个文件。

1 <template> 1 <template>
2 - <view>  
3 - <view class="stu_list">  
4 - <!-- datas_stu -->  
5 - <view class="add_li"> 2 + <view class="container">
  3 +
  4 + <view class="card">
6 <picker mode="selector" :range="datas_stu" range-key="name" @change="stu_change"> 5 <picker mode="selector" :range="datas_stu" range-key="name" @change="stu_change">
7 - <view class="add_li_box">  
8 - <view class=""> 6 + <view class="cell">
  7 + <view class="cell-label">
9 学员姓名 8 学员姓名
10 </view> 9 </view>
  10 + <view class="cell-content">
11 <input type="text" placeholder="请选择" v-model="name" disabled="true"> 11 <input type="text" placeholder="请选择" v-model="name" disabled="true">
12 </view> 12 </view>
13 - </picker>  
14 </view> 13 </view>
15 - <view class="add_li"> 14 + </picker>
16 <picker mode="date" :value="sx_time" :start="startDate" :end="endDate" @change="bindDateChange"> 15 <picker mode="date" :value="sx_time" :start="startDate" :end="endDate" @change="bindDateChange">
17 - <view class="add_li_box">  
18 - <view class=""> 16 + <view class="cell not-border">
  17 + <view class="cell-label">
19 访谈时间 18 访谈时间
20 </view> 19 </view>
21 - <view class=""> 20 + <view class="cell-content">
22 {{sx_time?sx_time:'请选择'}} 21 {{sx_time?sx_time:'请选择'}}
23 </view> 22 </view>
24 </view> 23 </view>
25 </picker> 24 </picker>
26 </view> 25 </view>
27 - <view class="add_li">  
28 - <view class="add_li_box">  
29 - <view class=""> 26 +
  27 + <view class="card">
  28 + <view class="cell">
  29 + <view class="cell-label">
30 班主任自我介绍 30 班主任自我介绍
31 </view> 31 </view>
  32 + <view class="cell-content">
32 <view class="sf_v_btn_b" :class="{active:is_teacher==1}" @click="set_tch"> 33 <view class="sf_v_btn_b" :class="{active:is_teacher==1}" @click="set_tch">
33 <text class="icon icon-duigou"></text> 34 <text class="icon icon-duigou"></text>
34 </view> 35 </view>
35 </view> 36 </view>
36 </view> 37 </view>
37 -  
38 - <view class="add_li">  
39 - <view class="add_li_tit"> 38 + <view class="cell not-border column">
  39 + <view class="cell-label">
40 了解学生信息(专业、学校、政治面貌、籍贯) 40 了解学生信息(专业、学校、政治面貌、籍贯)
41 </view> 41 </view>
42 - <textarea class="add_li_content" placeholder="请输入" v-model="content_one"></textarea> 42 + <view class="cell-content">
  43 + <textarea
  44 + v-model="content_one"
  45 + placeholder="请输入"
  46 + placeholder-class="textarea-placeholder"
  47 + >
  48 + </textarea>
  49 + </view>
43 </view> 50 </view>
44 - <view class="add_li">  
45 - <view class="add_li_tit"> 51 +
  52 + <view class="cell not-border column">
  53 + <view class="cell-label">
46 第几次考编,之前有没有参加培训,有没有短板模块 54 第几次考编,之前有没有参加培训,有没有短板模块
47 </view> 55 </view>
48 - <textarea class="add_li_content" placeholder="请输入" v-model="content_two"></textarea> 56 + <view class="cell-content">
  57 + <textarea
  58 + v-model="content_two"
  59 + placeholder="请输入"
  60 + placeholder-class="textarea-placeholder"
  61 + >
  62 + </textarea>
  63 + </view>
  64 + </view>
49 </view> 65 </view>
50 66
51 -  
52 - <view class="add_li">  
53 - <view class="add_li_box">  
54 - <view class=""> 67 + <view class="card">
  68 + <view class="cell">
  69 + <view class="cell-label">
55 介绍近期课程安排、纪律要求 70 介绍近期课程安排、纪律要求
56 </view> 71 </view>
  72 + <view class="cell-content">
57 <view class="sf_v_btn_b" :class="{active:is_introduce==1}" @click="set_tch1"> 73 <view class="sf_v_btn_b" :class="{active:is_introduce==1}" @click="set_tch1">
58 <text class="icon icon-duigou"></text> 74 <text class="icon icon-duigou"></text>
59 </view> 75 </view>
60 </view> 76 </view>
61 </view> 77 </view>
62 - <view class="add_li">  
63 - <view class="add_li_tit"> 78 +
  79 + <view class="cell not-border column">
  80 + <view class="cell-label">
64 有无什么要求,是否适应 81 有无什么要求,是否适应
65 </view> 82 </view>
66 - <textarea class="add_li_content" placeholder="请输入" v-model="content_three"></textarea> 83 + <view class="cell-content">
  84 + <textarea
  85 + v-model="content_three"
  86 + placeholder="请输入"
  87 + placeholder-class="textarea-placeholder"
  88 + >
  89 + </textarea>
  90 + </view>
67 </view> 91 </view>
68 - <view class="add_li">  
69 - <view class="add_li_box">  
70 - <view class=""> 92 + </view>
  93 +
  94 + <view class="card">
  95 + <view class="cell not-border">
  96 + <view class="cell-label">
71 入学测评成绩分析 97 入学测评成绩分析
72 </view> 98 </view>
  99 + <view class="cell-content">
73 <view class="sf_v_btn_b" :class="{active:is_result==1}" @click="set_tch2"> 100 <view class="sf_v_btn_b" :class="{active:is_result==1}" @click="set_tch2">
74 <text class="icon icon-duigou"></text> 101 <text class="icon icon-duigou"></text>
75 </view> 102 </view>
76 </view> 103 </view>
77 </view> 104 </view>
  105 + </view>
78 106
  107 + <view class="footer" >
  108 + <view v-if="options.id" class="btn del" @click="show = true">
  109 + 删除
79 </view> 110 </view>
80 - <view class="bz_add" >  
81 - <view class="" @click="save_fuc"> 111 + <view class="btn" @click="save_fuc">
82 保存 112 保存
83 </view> 113 </view>
84 - <view v-if="options.id" class="del_btn" @click="del_fuc(options)">  
85 - 删除  
86 - </view> 114 +
87 </view> 115 </view>
  116 +
  117 + <u-modal
  118 + :show="show"
  119 + title="提示"
  120 + content="是否删除该记录?"
  121 + @confirm="del_fuc(options)"
  122 + @cancel="show = false"
  123 + :asyncClose="true"
  124 + :showCancelButton="true"
  125 + >
  126 + </u-modal>
  127 +
88 </view> 128 </view>
89 </template> 129 </template>
90 130
@@ -120,6 +160,8 @@ @@ -120,6 +160,8 @@
120 content_three:'', 160 content_three:'',
121 datas_stu:'', 161 datas_stu:'',
122 datas:'', 162 datas:'',
  163 +
  164 + show: false
123 }; 165 };
124 }, 166 },
125 computed: { 167 computed: {
@@ -138,14 +180,6 @@ @@ -138,14 +180,6 @@
138 }, 180 },
139 methods:{ 181 methods:{
140 del_fuc(item){ 182 del_fuc(item){
141 - //teacher/interviewr_del 常规访谈删除接口  
142 - //teacher/interview_del 入学关怀删除接口  
143 - uni.showModal({  
144 - title: '提示',  
145 - content: '是否删除该记录',  
146 - success: function (res) {  
147 - if (res.confirm) {  
148 - console.log('用户点击确定');  
149 var jkurl='/teacher/interview_del' 183 var jkurl='/teacher/interview_del'
150 // if(that.active==1){ 184 // if(that.active==1){
151 // kurl='teacher/interview_del' 185 // kurl='teacher/interview_del'
@@ -161,6 +195,7 @@ @@ -161,6 +195,7 @@
161 that1.$service.P_post(jkurl, datas).then(res => { 195 that1.$service.P_post(jkurl, datas).then(res => {
162 that1.btnkg = 0 196 that1.btnkg = 0
163 console.log(res) 197 console.log(res)
  198 + this.show = false;
164 if (res.code == 1){ 199 if (res.code == 1){
165 that1.htmlReset = 0 200 that1.htmlReset = 0
166 var datas = res.data 201 var datas = res.data
@@ -196,6 +231,7 @@ @@ -196,6 +231,7 @@
196 } 231 }
197 } 232 }
198 }).catch(e => { 233 }).catch(e => {
  234 + this.show = false;
199 that1.htmlReset = 1 235 that1.htmlReset = 1
200 that1.btnkg = 0 236 that1.btnkg = 0
201 // that1.$refs.htmlLoading.htmlReset_fuc(1) 237 // that1.$refs.htmlLoading.htmlReset_fuc(1)
@@ -205,18 +241,13 @@ @@ -205,18 +241,13 @@
205 title: '获取数据失败,请检查您的网络连接' 241 title: '获取数据失败,请检查您的网络连接'
206 }) 242 })
207 }) 243 })
208 - } else if (res.cancel) {  
209 - console.log('用户点击取消');  
210 - }  
211 - }  
212 - });  
213 }, 244 },
214 stu_change(e){ 245 stu_change(e){
215 var index=e.detail.value 246 var index=e.detail.value
216 this.name = that1.datas_stu[index].name 247 this.name = that1.datas_stu[index].name
217 this.uid = that1.datas_stu[index].id 248 this.uid = that1.datas_stu[index].id
218 }, 249 },
219 - set_tch(){ 250 + set_tch(val){
220 if(that1.is_teacher==1){ 251 if(that1.is_teacher==1){
221 that1.is_teacher=2 252 that1.is_teacher=2
222 }else{ 253 }else{
@@ -453,31 +484,51 @@ @@ -453,31 +484,51 @@
453 } 484 }
454 </script> 485 </script>
455 486
456 -<style lang="less" scoped>  
457 - .stu_list {  
458 - width: 100%;  
459 - min-height: 100rpx;  
460 - background: #FFFFFF;  
461 - border-radius: 10rpx;  
462 - .add_li{  
463 - width: 100%;  
464 - min-height: 90rpx;  
465 - padding:28rpx 30rpx;  
466 - &+.add_li{  
467 - border-top: 1px solid #eee; 487 +<style lang="scss" scoped>
  488 + .container {
  489 + padding: 25rpx 25rpx 140rpx;
468 } 490 }
469 - .add_li_box{  
470 - width: 100%; 491 +
  492 + .card {
  493 + padding: 0 30rpx;
  494 + background-color: #fff;
  495 + border-radius: 20rpx;
  496 + & + .card {
  497 + margin-top: 20rpx;
  498 + }
  499 + .cell {
  500 + padding: 30rpx 0;
471 display: flex; 501 display: flex;
472 align-items: center; 502 align-items: center;
473 - justify-content: space-between; 503 + border-bottom: 1px solid #F3F3F7;
  504 + & .not-border {
  505 + border: 0;
  506 + }
  507 +
  508 + &-label {
474 font-size: 30rpx; 509 font-size: 30rpx;
475 - color: #545d71;  
476 - input{ 510 + font-family: PingFang SC;
  511 + font-weight: 500;
  512 + color: #000000;
  513 + }
  514 + &-content {
  515 + flex: 1;
  516 + font-size: 28rpx;
  517 + font-family: PingFang SC;
  518 + font-weight: 400;
  519 + color: #646464;
  520 + display: flex;
  521 + justify-content: flex-end;
  522 + input {
  523 + width: 100%;
477 text-align: right; 524 text-align: right;
478 - min-width: 0; 525 + }
  526 + }
  527 + .icon {
  528 + color: #ACACAC;
479 font-size: 30rpx; 529 font-size: 30rpx;
480 } 530 }
  531 +
481 .sf_v_btn_b{ 532 .sf_v_btn_b{
482 display: flex; 533 display: flex;
483 align-items: center; 534 align-items: center;
@@ -495,46 +546,62 @@ @@ -495,46 +546,62 @@
495 text{ 546 text{
496 font-size: 18rpx; 547 font-size: 18rpx;
497 line-height: 20rpx; 548 line-height: 20rpx;
  549 + color: #fff;
498 } 550 }
499 } 551 }
  552 +
  553 + textarea {
  554 + width: 100%;
  555 + height: 230rpx;
  556 + background: #F5F6F8;
  557 + padding: 20rpx;
  558 + box-sizing: border-box;
500 } 559 }
501 - .add_li_tit{  
502 - font-size: 30rpx;  
503 - color: #545D71;  
504 - line-height: 43rpx;  
505 - margin-bottom: 12rpx; 560 + :deep(.textarea-placeholder) {
  561 + color: #979797;
506 } 562 }
507 - .add_li_content{  
508 - font-size: 30rpx;  
509 - color: #A6A9B1;  
510 - line-height: 43rpx; 563 + }
  564 + .column {
  565 + flex-direction: column;
  566 + .cell-label {
511 width: 100%; 567 width: 100%;
512 - height: 120rpx;  
513 - letter-spacing:0;  
514 } 568 }
  569 + .cell-content {
  570 + margin-top: 20rpx;
  571 + width: 100%;
515 } 572 }
516 } 573 }
517 - .bz_add{  
518 - width: 100%;  
519 - // position: fixed;  
520 - // bottom: 0;  
521 - // background: #f8f8f8;  
522 - // z-index: 800;  
523 - // left: 0;  
524 - padding: 30rpx 0;  
525 - view{  
526 - font-size: 32rpx;  
527 - color: #FFFFFF; 574 + }
  575 +
  576 +
  577 + .footer {
  578 + position: fixed;
  579 + left: 0;
  580 + bottom: 0;
  581 + z-index: 99;
528 width: 100%; 582 width: 100%;
529 - height: 90rpx;  
530 - background: #2D81FF;  
531 - border-radius: 10rpx; 583 + background-color: #fff;
  584 + padding: 16rpx 25rpx;
532 display: flex; 585 display: flex;
533 align-items: center; 586 align-items: center;
534 - justify-content: center; 587 + .btn {
  588 + flex: 1;
  589 + height: 88rpx;
  590 + background: #2D81FF;
  591 + border-radius: 44rpx;
  592 + line-height: 88rpx;
  593 + font-size: 34rpx;
  594 + font-family: PingFang SC;
  595 + font-weight: 500;
  596 + color: #FFFFFF;
  597 + text-align: center;
  598 + &.del {
  599 + background: #EBEBEB;
  600 + color: #323232;
  601 + }
  602 + & + .btn {
  603 + margin-left: 20rpx;
535 } 604 }
536 - .del_btn{  
537 - margin-top: 20rpx;  
538 } 605 }
539 } 606 }
540 </style> 607 </style>
1 <template> 1 <template>
2 - <view>  
3 - <view class="stu_list">  
4 - <view class="add_li"> 2 + <view class="container">
  3 +
  4 + <view class="card">
5 <picker v-if="datas_stu.length>0" mode="selector" :range="datas_stu" range-key="name" @change="stu_change"> 5 <picker v-if="datas_stu.length>0" mode="selector" :range="datas_stu" range-key="name" @change="stu_change">
6 - <view class="add_li_box">  
7 - <view class=""> 6 + <view class="cell">
  7 + <view class="cell-label">
8 学员姓名 8 学员姓名
9 </view> 9 </view>
  10 + <view class="cell-content">
10 <input type="text" placeholder="请选择" v-model="name" disabled="true"> 11 <input type="text" placeholder="请选择" v-model="name" disabled="true">
11 </view> 12 </view>
12 - </picker>  
13 </view> 13 </view>
14 - <view class="add_li"> 14 + </picker>
  15 +
15 <picker mode="date" :value="sx_time" :start="startDate" :end="endDate" @change="bindDateChange"> 16 <picker mode="date" :value="sx_time" :start="startDate" :end="endDate" @change="bindDateChange">
16 - <view class="add_li_box">  
17 - <view class=""> 17 + <view class="cell">
  18 + <view class="cell-label">
18 访谈时间 19 访谈时间
19 </view> 20 </view>
20 - <view class=""> 21 + <view class="cell-content">
21 {{sx_time?sx_time:'请选择'}} 22 {{sx_time?sx_time:'请选择'}}
22 </view> 23 </view>
23 </view> 24 </view>
24 </picker> 25 </picker>
25 - </view>  
26 26
27 - <view class="add_li" v-for="(item,index) in diy_data">  
28 - <view class="add_li_tit">  
29 - {{item.title}}  
30 - </view>  
31 - <view class="add_li_content">  
32 - {{item.content}}  
33 </view> 27 </view>
34 28
35 - </view>  
36 -  
37 - <view class="add_li">  
38 - <view class="add_li_box">  
39 - <view class=""> 29 + <view class="card">
  30 + <view class="cell">
  31 + <view class="cell-label">
40 自定义标题与内容 32 自定义标题与内容
41 </view> 33 </view>
  34 + <view class="cell-content">
42 <view class="add_diy" @click="tk_show=true"> 35 <view class="add_diy" @click="tk_show=true">
  36 + <view class="icon">+</view>
  37 + <view>
43 添加 38 添加
44 </view> 39 </view>
45 </view> 40 </view>
46 </view> 41 </view>
47 -  
48 </view> 42 </view>
  43 + <view
  44 + class="cell column"
  45 + v-for="(item,index) in diy_data"
  46 + :key="index"
  47 + :class="{'not-border': index === (diy_data.length -1)}"
  48 + >
  49 + <view class="cell-label">
  50 + {{item.title}}
  51 + </view>
  52 + <view class="cell-content">
  53 + <view class="textarea-view">
  54 + {{item.content}}
  55 + </view>
  56 + </view>
  57 + </view>
  58 + </view>
  59 +
49 <u-popup :show="tk_show" @close="close" @open="open"> 60 <u-popup :show="tk_show" @close="close" @open="open">
50 <view class="tk_box_s"> 61 <view class="tk_box_s">
51 <view class="pop_tit"> 62 <view class="pop_tit">
@@ -60,14 +71,27 @@ @@ -60,14 +71,27 @@
60 <textarea class="diy_content" placeholder="请输入内容" v-model="diy_content"></textarea> 71 <textarea class="diy_content" placeholder="请输入内容" v-model="diy_content"></textarea>
61 </view> 72 </view>
62 </u-popup> 73 </u-popup>
63 - <view class="bz_add" >  
64 - <view class="" @click="save_fuc">  
65 - 保存  
66 - </view>  
67 - <view v-if="options.id" class="del_btn" @click="del_fuc(options)"> 74 +
  75 + <view class="footer" >
  76 + <view v-if="options.id" class="btn del" @click="show = true">
68 删除 77 删除
69 </view> 78 </view>
  79 + <view class="btn" @click="save_fuc">
  80 + 保存
  81 + </view>
  82 +
70 </view> 83 </view>
  84 +
  85 + <u-modal
  86 + :show="show"
  87 + title="提示"
  88 + content="是否删除该记录?"
  89 + @confirm="del_fuc(options)"
  90 + @cancel="show = false"
  91 + :asyncClose="true"
  92 + :showCancelButton="true"
  93 + >
  94 + </u-modal>
71 </view> 95 </view>
72 </template> 96 </template>
73 97
@@ -105,7 +129,9 @@ @@ -105,7 +129,9 @@
105 diy_tit:'', 129 diy_tit:'',
106 diy_content:'', 130 diy_content:'',
107 diy_data:[], 131 diy_data:[],
108 - datas_stu:[] 132 + datas_stu:[],
  133 +
  134 + show: false
109 }; 135 };
110 }, 136 },
111 computed: { 137 computed: {
@@ -124,14 +150,6 @@ @@ -124,14 +150,6 @@
124 }, 150 },
125 methods:{ 151 methods:{
126 del_fuc(item){ 152 del_fuc(item){
127 - //teacher/interviewr_del 常规访谈删除接口  
128 - //teacher/interview_del 入学关怀删除接口  
129 - uni.showModal({  
130 - title: '提示',  
131 - content: '是否删除该记录',  
132 - success: function (res) {  
133 - if (res.confirm) {  
134 - console.log('用户点击确定');  
135 var jkurl='teacher/interviewr_del' 153 var jkurl='teacher/interviewr_del'
136 var datas={ 154 var datas={
137 id:item.id 155 id:item.id
@@ -142,6 +160,7 @@ @@ -142,6 +160,7 @@
142 } 160 }
143 // that.$service.P_post(jkurl, datas,header).then(res => { 161 // that.$service.P_post(jkurl, datas,header).then(res => {
144 that1.$service.P_post(jkurl, datas).then(res => { 162 that1.$service.P_post(jkurl, datas).then(res => {
  163 + this.show = false;
145 that1.btnkg = 0 164 that1.btnkg = 0
146 console.log(res) 165 console.log(res)
147 if (res.code == 1){ 166 if (res.code == 1){
@@ -179,6 +198,7 @@ @@ -179,6 +198,7 @@
179 } 198 }
180 } 199 }
181 }).catch(e => { 200 }).catch(e => {
  201 + this.show = false;
182 that1.htmlReset = 1 202 that1.htmlReset = 1
183 that1.btnkg = 0 203 that1.btnkg = 0
184 // that1.$refs.htmlLoading.htmlReset_fuc(1) 204 // that1.$refs.htmlLoading.htmlReset_fuc(1)
@@ -188,11 +208,6 @@ @@ -188,11 +208,6 @@
188 title: '获取数据失败,请检查您的网络连接' 208 title: '获取数据失败,请检查您的网络连接'
189 }) 209 })
190 }) 210 })
191 - } else if (res.cancel) {  
192 - console.log('用户点击取消');  
193 - }  
194 - }  
195 - });  
196 }, 211 },
197 stu_change(e){ 212 stu_change(e){
198 var index=e.detail.value 213 var index=e.detail.value
@@ -435,31 +450,51 @@ @@ -435,31 +450,51 @@
435 } 450 }
436 </script> 451 </script>
437 452
438 -<style lang="less" scoped>  
439 - .stu_list {  
440 - width: 100%;  
441 - min-height: 100rpx;  
442 - background: #FFFFFF;  
443 - border-radius: 10rpx;  
444 - .add_li{  
445 - width: 100%;  
446 - min-height: 90rpx;  
447 - padding:28rpx 30rpx;  
448 - &+.add_li{  
449 - border-top: 1px solid #eee; 453 +<style lang="scss" scoped>
  454 + .container {
  455 + padding: 25rpx 25rpx 140rpx;
450 } 456 }
451 - .add_li_box{  
452 - width: 100%; 457 +
  458 + .card {
  459 + padding: 0 30rpx;
  460 + background-color: #fff;
  461 + border-radius: 20rpx;
  462 + & + .card {
  463 + margin-top: 20rpx;
  464 + }
  465 + .cell {
  466 + padding: 30rpx 0;
453 display: flex; 467 display: flex;
454 align-items: center; 468 align-items: center;
455 - justify-content: space-between; 469 + border-bottom: 1px solid #F3F3F7;
  470 + & .not-border {
  471 + border: 0;
  472 + }
  473 +
  474 + &-label {
456 font-size: 30rpx; 475 font-size: 30rpx;
457 - color: #545d71;  
458 - input{ 476 + font-family: PingFang SC;
  477 + font-weight: 500;
  478 + color: #000000;
  479 + }
  480 + &-content {
  481 + flex: 1;
  482 + font-size: 28rpx;
  483 + font-family: PingFang SC;
  484 + font-weight: 400;
  485 + color: #646464;
  486 + display: flex;
  487 + justify-content: flex-end;
  488 + input {
  489 + width: 100%;
459 text-align: right; 490 text-align: right;
460 - min-width: 0; 491 + }
  492 + }
  493 + .icon {
  494 + color: #ACACAC;
461 font-size: 30rpx; 495 font-size: 30rpx;
462 } 496 }
  497 +
463 .sf_v_btn_b{ 498 .sf_v_btn_b{
464 display: flex; 499 display: flex;
465 align-items: center; 500 align-items: center;
@@ -477,52 +512,65 @@ @@ -477,52 +512,65 @@
477 text{ 512 text{
478 font-size: 18rpx; 513 font-size: 18rpx;
479 line-height: 20rpx; 514 line-height: 20rpx;
  515 + color: #fff;
480 } 516 }
481 } 517 }
482 - .add_diy{  
483 - font-size: 30rpx;  
484 - color: #2D81FF;  
485 - } 518 +
  519 + textarea {
  520 + width: 100%;
  521 + height: 230rpx;
  522 + background: #F5F6F8;
  523 + padding: 20rpx;
  524 + box-sizing: border-box;
486 } 525 }
487 - .add_li_tit{  
488 - font-size: 30rpx;  
489 - color: #545D71;  
490 - line-height: 43rpx;  
491 - margin-bottom: 12rpx; 526 + :deep(.textarea-placeholder) {
  527 + color: #979797;
492 } 528 }
493 - .add_li_content{  
494 - font-size: 30rpx;  
495 - color: #A6A9B1;  
496 - line-height: 43rpx; 529 + .textarea-view {
497 width: 100%; 530 width: 100%;
498 - // height: 120rpx;  
499 - letter-spacing:0; 531 + background: #F5F6F8;
  532 + padding: 20rpx;
  533 + box-sizing: border-box;
  534 + font-size: 26rpx;
  535 + font-family: PingFang SC;
  536 + font-weight: 400;
  537 + color: #646464;
500 } 538 }
  539 +
  540 + .add_diy{
  541 + font-size: 28rpx;
  542 + font-family: PingFang SC;
  543 + font-weight: 400;
  544 + color: #646464;
  545 + display: flex;
  546 + align-items: center;
  547 + justify-content: flex-end;
  548 + .icon {
  549 + background: #2D81FF;
  550 + font-size: 24rpx;
  551 + margin-right: 20rpx;
  552 + width: 30rpx;
  553 + height: 30rpx;
  554 + text-align: center;
  555 + line-height: 30rpx;
  556 + color: #fff;
501 } 557 }
502 } 558 }
503 - .bz_add{  
504 - width: 100%;  
505 - // position: fixed;  
506 - // bottom: 0;  
507 - // background: #f8f8f8;  
508 - // z-index: 800;  
509 - // left: 0;  
510 - padding: 30rpx 0;  
511 - view{  
512 - font-size: 32rpx;  
513 - color: #FFFFFF; 559 + }
  560 + .column {
  561 + flex-direction: column;
  562 + .cell-label {
514 width: 100%; 563 width: 100%;
515 - height: 90rpx;  
516 - background: #2D81FF;  
517 - border-radius: 10rpx;  
518 - display: flex;  
519 - align-items: center;  
520 - justify-content: center;  
521 } 564 }
522 - .del_btn{ 565 + .cell-content {
523 margin-top: 20rpx; 566 margin-top: 20rpx;
  567 + width: 100%;
  568 + }
524 } 569 }
525 } 570 }
  571 +
  572 + .tk_box_s {
  573 + background: #ffffff;
526 .pop_tit{ 574 .pop_tit{
527 width: 100%; 575 width: 100%;
528 height: 100rpx; 576 height: 100rpx;
@@ -536,10 +584,6 @@ @@ -536,10 +584,6 @@
536 color: #2D81FF; 584 color: #2D81FF;
537 } 585 }
538 } 586 }
539 - .tk_box_s{  
540 - // height: 600rpx;  
541 - background: #ffffff;  
542 - }  
543 .diy_tit{ 587 .diy_tit{
544 width: 100%; 588 width: 100%;
545 height: 100rpx; 589 height: 100rpx;
@@ -556,4 +600,37 @@ @@ -556,4 +600,37 @@
556 color: #333; 600 color: #333;
557 box-sizing: border-box; 601 box-sizing: border-box;
558 } 602 }
  603 + }
  604 +
  605 + .footer {
  606 + position: fixed;
  607 + left: 0;
  608 + bottom: 0;
  609 + z-index: 99;
  610 + width: 100%;
  611 + background-color: #fff;
  612 + padding: 16rpx 25rpx;
  613 + display: flex;
  614 + align-items: center;
  615 + .btn {
  616 + flex: 1;
  617 + height: 88rpx;
  618 + background: #2D81FF;
  619 + border-radius: 44rpx;
  620 + line-height: 88rpx;
  621 + font-size: 34rpx;
  622 + font-family: PingFang SC;
  623 + font-weight: 500;
  624 + color: #FFFFFF;
  625 + text-align: center;
  626 + &.del {
  627 + background: #EBEBEB;
  628 + color: #323232;
  629 + }
  630 + & + .btn {
  631 + margin-left: 20rpx;
  632 + }
  633 + }
  634 + }
  635 +
559 </style> 636 </style>
1 <template> 1 <template>
2 <view class="teacher_praise"> 2 <view class="teacher_praise">
3 - <view class="tel_index_bg"></view>  
4 - <view class="teacher_praise-main">  
5 - <scroll-view :scroll-y="true" class="praise_andLike-list" @scrolltolower="getData">  
6 - <view v-if="dataList.length">  
7 - <praise-item :type="LIKETYPE.TEACHERSEND" :info="item" v-for="item in dataList" :key="item.id"></praise-item> 3 + <view class="card" v-for="item in dataList" :key="item.id">
  4 + <view class="user">
  5 + <u--image
  6 + shape="circle"
  7 + height="60rpx"
  8 + width="60rpx"
  9 + :src="item.uimg"
  10 + >
  11 + </u--image>
  12 + <view class="info">
  13 + <view class="name">
  14 + {{ item.uname }}
  15 + </view>
  16 + <view class="time">
  17 + {{ item.create_time }}
  18 + </view>
  19 + </view>
  20 + </view>
  21 + <view class="content">
  22 + {{ item.content }}
8 </view> 23 </view>
9 - <u-empty v-else mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" ></u-empty>  
10 - </scroll-view>  
11 -  
12 </view> 24 </view>
  25 + <u-empty v-if="!dataList.length" mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" ></u-empty>
13 </view> 26 </view>
14 </template> 27 </template>
15 28
16 <script> 29 <script>
17 - import praise_item from "@/components/praise_item/praise_item.vue"  
18 import { LIKETYPE } from "@/emit/index.js" 30 import { LIKETYPE } from "@/emit/index.js"
19 export default { 31 export default {
20 - components: {  
21 - PraiseItem: praise_item  
22 - },  
23 data() { 32 data() {
24 return { 33 return {
25 LIKETYPE, 34 LIKETYPE,
@@ -57,20 +66,41 @@ @@ -57,20 +66,41 @@
57 66
58 <style lang="scss"> 67 <style lang="scss">
59 .teacher_praise{ 68 .teacher_praise{
60 - .tel_index_bg{  
61 - position: absolute;  
62 - top: 0;  
63 - z-index: 1;  
64 - width: 100%;  
65 - min-height: 220rpx;  
66 - background: linear-gradient(0deg, #f8f8f8 0%, #ffffff 25%, #5D9DFD 60%, #428EFE 70%, #2D81FF 100%); 69 + padding: 25rpx;
  70 + .card {
  71 + padding: 30rpx;
  72 + background-color: #fff;
  73 + border-radius: 20rpx;
  74 + & + .card {
  75 + margin-top: 20rpx;
  76 + }
  77 + .user {
  78 + display: flex;
  79 + .info {
  80 + flex: 1;
  81 + margin-left: 30rpx;
  82 + .name {
  83 + font-size: 26rpx;
  84 + font-family: PingFang SC;
  85 + font-weight: 500;
  86 + color: #323232;
  87 + }
  88 + .time {
  89 + font-size: 24rpx;
  90 + font-family: PingFang SC;
  91 + font-weight: 400;
  92 + color: #979797;
  93 + margin-top: 10rpx;
  94 + }
  95 + }
67 } 96 }
68 - .teacher_praise-main{  
69 - padding: 40rpx 25rpx;  
70 - position: relative;  
71 - z-index: 1;  
72 - .praise_andLike-list{  
73 - height: calc(100vh - 122rpx); 97 + .content {
  98 + font-size: 26rpx;
  99 + font-family: PingFang SC;
  100 + font-weight: 400;
  101 + color: #323232;
  102 + line-height: 42px;
  103 + margin-top: 20rpx;
74 } 104 }
75 } 105 }
76 } 106 }
@@ -175,7 +175,8 @@ @@ -175,7 +175,8 @@
175 "style" : 175 "style" :
176 { 176 {
177 "navigationBarTitleText": "星级排行榜", 177 "navigationBarTitleText": "星级排行榜",
178 - "enablePullDownRefresh": false 178 + "enablePullDownRefresh": false,
  179 + "navigationStyle": "custom"
179 } 180 }
180 181
181 } 182 }
@@ -461,14 +462,16 @@ @@ -461,14 +462,16 @@
461 "path": "tch_kq/tch_kq", 462 "path": "tch_kq/tch_kq",
462 "style": { 463 "style": {
463 "navigationBarTitleText": "考勤积分", 464 "navigationBarTitleText": "考勤积分",
464 - "enablePullDownRefresh": false 465 + "enablePullDownRefresh": false,
  466 + "navigationStyle": "custom"
465 } 467 }
466 468
467 }, { 469 }, {
468 "path": "tch_rank/tch_rank", 470 "path": "tch_rank/tch_rank",
469 "style": { 471 "style": {
470 - "navigationBarTitleText": "班级排行榜",  
471 - "enablePullDownRefresh": false 472 + "navigationBarTitleText": "校园排行榜",
  473 + "enablePullDownRefresh": false,
  474 + "navigationStyle": "custom"
472 } 475 }
473 476
474 }, { 477 }, {
@@ -558,7 +561,7 @@ @@ -558,7 +561,7 @@
558 }, { 561 }, {
559 "path": "tch_msg/tch_msg", 562 "path": "tch_msg/tch_msg",
560 "style": { 563 "style": {
561 - "navigationBarTitleText": "设置", 564 + "navigationBarTitleText": "修改资料",
562 "enablePullDownRefresh": false 565 "enablePullDownRefresh": false
563 } 566 }
564 567
1 -<template>  
2 - <view class="wrap_box">  
3 - <!-- <uParse v-if="datas" :content="datas"></uParse> -->  
4 - <topbar bg_color="#2d81ff">  
5 - <text style="color: #fff;"></text>  
6 - <text style="color: #fff;">首页</text>  
7 - <text style="color: #fff;"></text>  
8 - </topbar>  
9 - <view class="tch_box">  
10 - <view class="tel_index_bg"></view>  
11 - <view v-if="userDatas" class="tch_main">  
12 - <view class="tch_user dis_flex aic " @click="$service.jump" data-url="/pagesA/tch_msg/tch_msg">  
13 - <!-- <image class="user_tx" src="/static/images/tx.png" mode="aspectFill"></image> -->  
14 - <myLazyLoad class="user_tx" :src="$service.getimg(userDatas.img)" mode="aspectFill" :borderRadius="112"></myLazyLoad>  
15 - <view class="flex_1" @click="cli_fuc">  
16 - <view class="user_name dis_flex aic">  
17 - {{userDatas.nick||''}}  
18 - <text v-if="userDatas.is_assistant == 2">班主任</text>  
19 - <text v-else>助教老师</text>  
20 - </view>  
21 - <view class="user_id" >{{userDatas.class_title||''}}</view>  
22 - </view>  
23 - <text class="icon icon-arrow-right-copy"></text>  
24 - </view>  
25 - <!-- 班级概况 start -->  
26 -  
27 - <view class="tit_box">班级概况</view>  
28 - <view class="tch_banji">  
29 - <view class="bjf dis_flex_c aic ju_c" @click="$service.jump" data-url="/pagesA/tch_kq/tch_kq" data-login="true">  
30 - <view class="bjf_num">{{userDatas.class_num||''}}</view>  
31 - <view class="bjf_text">  
32 - 班级分  
33 - <text class="icon icon-arrow-right-copy"></text>  
34 - </view>  
35 - </view>  
36 - <view class="bj_sg"></view>  
37 - <view class="bj_xq">  
38 - <view class="bj_pai dis_flex aic" @click="$service.jump" data-url="/pagesA/tch_rank/tch_rank" data-login="true">  
39 - <text class="bj_pait"></text>  
40 - <view class="flex_1">班级排名</view>  
41 - <view class="bj_painum">第{{userDatas.class_sort||''}}名</view>  
42 - <text class="icon icon-arrow-right-copy"></text>  
43 - </view>  
44 - <view class="bj_pai dis_flex aic" @click="$service.jump" data-url="/pagesA/tch_vio/tch_vio" data-login="true">  
45 - <text class="bj_paiw"></text>  
46 - <view class="flex_1">违纪情况</view>  
47 - <view class="bj_painum">{{userDatas.class_break||''}}</view>  
48 - <text class="icon icon-arrow-right-copy"></text>  
49 - </view>  
50 - </view>  
51 - </view>  
52 - <!-- 班级概况 end -->  
53 - <!-- 学员概况 start -->  
54 - <view class="tit_box">学员概况</view>  
55 - <view class="xygk">  
56 - <view class="gk_li" @click="$service.jump" data-url="/pagesA/stu_list/stu_list" data-login="true">  
57 - <image src="/static/images/tch/home_icon_namelist.png" mode="aspectFit"></image>  
58 - 本班学员名单  
59 - </view>  
60 - <view class="gk_li" @click="$service.jump" data-url="/pagesA/stumsg_list/stumsg_list" data-login="true">  
61 - <image src="/static/images/tch/home_icon_archives.png" mode="aspectFit"></image>  
62 - 学员档案信息  
63 - </view>  
64 - <view class="gk_li" @click="$service.jump" data-url="/pagesA/stu_ft_list/stu_ft_list" data-login="true">  
65 - <image src="/static/images/tch/home_icon_records.png" mode="aspectFit"></image>  
66 - 学员访谈记录  
67 - </view>  
68 - <view class="gk_li" @click="$service.jump" data-url="/pagesA/stu_hddk_add/stu_hddk_add" data-login="true">  
69 - <image src="/static/images/tch/home_icon_checklist.png" mode="aspectFit"></image>  
70 - 核对到课名单  
71 - </view>  
72 - <view class="gk_li" @click="$service.jump" data-url="/pages_v2/thc_my_pf/thc_my_pf" data-login="true">  
73 - <image src="/static/images/v2/my_pf.png" mode="aspectFit"></image>  
74 - 学员对我的评分  
75 - </view>  
76 - <view class="gk_li" @click="$service.jump" data-url="/pages_v2/tch_pf_list/tch_pf_list" data-login="true">  
77 - <image src="/static/images/v2/rank.png" mode="aspectFit"></image>  
78 - 星级排行榜  
79 - </view>  
80 - <view class="gk_li" @click="$service.jump" data-url="/page_admin/teacher_praise/teacher_praise" data-login="true">  
81 - <image src="/static/images/v2/biaoyangdainz.png" mode="aspectFit"></image>  
82 - 点赞表扬  
83 - </view>  
84 - </view>  
85 - <!-- <view class="tit_box">学员对我的评分</view> -->  
86 - <!-- 学员概况 end -->  
87 - <!-- 近期入学名单 start -->  
88 - <view class="tit_box">近期入学名单</view>  
89 - <view class="rxmd_list">  
90 - <view class="rxmd_li" v-for="(item,index) in md_list" :key="index">  
91 - <view class="rxmd_li_name dis_flex aic">  
92 - <text class="oh1">{{item.name}} </text>  
93 - <image v-if="item.sex==2" src="/static/images/tch/icon_female.png" mode="aspectFit"></image>  
94 - <image v-else src="/static/images/tch/icon_male.png" mode="aspectFit"></image>  
95 - </view>  
96 - <view class="rxmd_li_id flex_1">  
97 - {{item.phone||''}}  
98 - </view>  
99 - <view class="rxmd_li_time">  
100 - {{item.add_time||''}} 入学  
101 - </view>  
102 - </view>  
103 - <u-empty v-if="md_list.length==0"  
104 - mode="data"  
105 - text="暂无名单"  
106 - icon="/static/images/tch/img_blank.png"  
107 - >  
108 - </u-empty>  
109 - </view>  
110 - <!-- 近期入学名单 end -->  
111 - </view>  
112 - </view>  
113 - <!-- 阻止滑动 -->  
114 - <!-- <view @touchmove.stop.prevent='test'></view> -->  
115 - </view>  
116 -</template>  
117 -  
118 -<script>  
119 - import Vue from 'vue'  
120 - import {  
121 - mapState,  
122 - mapMutations  
123 - } from 'vuex'  
124 - var that  
125 - export default {  
126 - data() {  
127 - return {  
128 - options:'',  
129 - datas:'',  
130 - md_list:[],  
131 - shownum:0  
132 - }  
133 - },  
134 - computed: {  
135 - ...mapState(['hasLogin', 'forcedLogin', 'userName', 'userinfo','nowtime', 'userDatas']),  
136 - },  
137 - onLoad(e) {  
138 - that=this  
139 - that.options=e||{}  
140 - console.log(e)  
141 -  
142 - that.getdata()  
143 - },  
144 - onShow() {  
145 - if(that.shownum>0){  
146 - that.getdata()  
147 - }  
148 - that.shownum++  
149 - },  
150 - methods: {  
151 - // ...mapMutations(['wxshouquan','login']),  
152 - test(){},  
153 - cli_fuc(){  
154 - console.log(1)  
155 - },  
156 - getdata() {  
157 -  
158 - var datas = {}  
159 - var jkurl = '/teacher'  
160 -  
161 - that.$service.P_post(jkurl, datas).then(res => {  
162 - that.btnkg = 0  
163 - console.log(res)  
164 - if (res.code == 1) {  
165 - that.htmlReset = 0  
166 - var datas = res.data  
167 - console.log(typeof datas)  
168 -  
169 - if (typeof datas == 'string') {  
170 - datas = JSON.parse(datas)  
171 - }  
172 - console.log(res)  
173 - that.$store.commit('setuser', datas)  
174 - if(datas.list){  
175 - that.md_list=datas.list.data  
176 - }  
177 - } else {  
178 -  
179 - if (res.msg) {  
180 - uni.showToast({  
181 - icon: 'none',  
182 - title: res.msg  
183 - })  
184 - } else {  
185 - uni.showToast({  
186 - icon: 'none',  
187 - title: '获取数据失败'  
188 - })  
189 - }  
190 - }  
191 - }).catch(e => {  
192 - that.htmlReset = 1  
193 - that.btnkg = 0  
194 - // that.$refs.htmlLoading.htmlReset_fuc(1)  
195 - console.log(e)  
196 - uni.showToast({  
197 - icon: 'none',  
198 - title: '获取数据失败,请检查您的网络连接'  
199 - })  
200 - })  
201 - },  
202 - getimg(img){  
203 - return service.getimg(img)  
204 - },  
205 - jump(e) {  
206 - var that = this  
207 - if (that.btnkg == 1) {  
208 - return  
209 - } else {  
210 - that.btnkg = 1  
211 - setTimeout(function() {  
212 - that.btnkg = 0  
213 - }, 2000)  
214 - }  
215 - console.log(e.currentTarget.dataset.type)  
216 - service.jump(e)  
217 - },  
218 - goback(){  
219 - uni.navigateBack()  
220 - },  
221 - func(){  
222 - // that.$store.commit('setSystem',datas.system)  
223 - },  
224 - }  
225 - }  
226 -</script>  
227 -  
228 -<style lang="scss" scoped>  
229 -.wrap_box{  
230 - width: 100%;  
231 - // padding: 30rpx;  
232 - position: relative;  
233 - background: #F8F8F8;  
234 - min-height: 100vh;  
235 -}  
236 -.tel_index_bg{  
237 - position: absolute;  
238 - top: 0;  
239 - z-index: 1;  
240 - width: 100%;  
241 - min-height: 220rpx;  
242 - background: linear-gradient(0deg, #f8f8f8 0%, #ffffff 25%, #5D9DFD 60%, #428EFE 70%, #2D81FF 100%);  
243 -}  
244 -.tch_box{  
245 - width: 100%;  
246 - position: relative;  
247 -}  
248 -.tch_main{  
249 - width: 100%;  
250 - position: relative;  
251 - z-index: 2;  
252 - padding: 28rpx;  
253 -}  
254 -.tch_user{  
255 - width: 100%;  
256 - min-height: 176rpx;  
257 - background: #FFFFFF;  
258 - border-radius: 20rpx;  
259 - padding: 28rpx;  
260 - .user_tx{  
261 - width: 112rpx;  
262 - height: 112rpx;  
263 - border-radius: 50%;  
264 - overflow: hidden;  
265 - margin-right: 23rpx;  
266 - }  
267 - .icon{  
268 - font-size: 24rpx;  
269 - color: #bbb;  
270 - }  
271 - .user_name{  
272 - font-size: 32rpx;  
273 - color: #545D71;  
274 - margin-bottom: 10rpx;  
275 - font-weight: bold;  
276 - text{  
277 - font-size: 24rpx;  
278 - color: #4086ee;  
279 - padding: 0 9rpx;  
280 - height: 34rpx;  
281 - background: rgba(64, 134, 238, .1);  
282 - border-radius: 4rpx;  
283 - margin-left: 10rpx;  
284 - font-weight: normal;  
285 - }  
286 - }  
287 - .user_id{  
288 - font-size: 28rpx;  
289 - color: #7C8086;  
290 - }  
291 -}  
292 -.tit_box{  
293 - font-size: 32rpx;  
294 - font-weight: bold;  
295 - color: #545D71;  
296 - height: 80rpx;  
297 - margin-top: 14rpx;  
298 - display: flex;  
299 - align-items: center;  
300 -}  
301 -.tch_banji{  
302 - width: 100%;  
303 - min-height: 210rpx;  
304 - background: #FFFFFF;  
305 - border-radius: 20rpx;  
306 - padding: 28rpx;  
307 - display: flex;  
308 - align-items: center;  
309 - justify-content: space-between;  
310 - .bj_sg{  
311 - width: 1px;  
312 - height: 120rpx;  
313 - background: #EEEEEE;  
314 - border-radius: 1px;  
315 - }  
316 - .bjf{  
317 - width: 260rpx;  
318 - padding-right: 30rpx;  
319 - .bjf_num{  
320 - font-size: 60rpx;  
321 - font-family: Arial;  
322 - font-weight: bold;  
323 - color: #545D71;  
324 - line-height: 70rpx;  
325 - }  
326 - .bjf_text{  
327 - font-size: 30rpx;  
328 - font-family: PingFang SC;  
329 - font-weight: 400;  
330 - color: #545D71;  
331 - display: flex;  
332 - align-items: center;  
333 - padding-left: 35rpx;  
334 - .icon{  
335 - font-size: 18rpx;  
336 - color: #ddd;  
337 - margin-left: 20rpx;  
338 - }  
339 - }  
340 - }  
341 - .bj_xq{  
342 - width: 380rpx;  
343 - padding-left: 28rpx;  
344 - .bj_pai{  
345 - width: 100%;  
346 - display: flex;  
347 - align-items: center;  
348 - font-size: 28rpx;  
349 - color: #7C8086;  
350 - height: 60rpx;  
351 - .bj_pait{  
352 - width: 16rpx;  
353 - height: 16rpx;  
354 - background: #2D81FF;  
355 - border-radius: 50%;  
356 - margin-right: 10rpx;  
357 - }  
358 - .bj_paiw{  
359 - width: 16rpx;  
360 - height: 16rpx;  
361 - background: #FF9A18;  
362 - border-radius: 50%;  
363 - margin-right: 10rpx;  
364 - }  
365 - .bj_painum{  
366 - font-size: 28rpx;  
367 - color: #545D71;  
368 - }  
369 - .icon{  
370 - font-size: 18rpx;  
371 - color: #ddd;  
372 - margin-left: 10rpx;  
373 - }  
374 - }  
375 - }  
376 -}  
377 -.xygk{  
378 - width: 100%;  
379 - display: flex;  
380 - flex-wrap: wrap;  
381 - .gk_li{  
382 - width: 333rpx;  
383 - height: 132rpx;  
384 - background: #FFFFFF;  
385 - border-radius: 20rpx;  
386 - display: flex;  
387 - align-items: center;  
388 - padding: 28rpx;  
389 - padding-right: 10rpx;  
390 - font-size: 30rpx;  
391 - margin-right: 28rpx;  
392 - &:nth-child(2n){  
393 - margin-right: 0;  
394 - }  
395 - &:nth-child(n+3){  
396 - margin-top: 28rpx;  
397 - }  
398 - image{  
399 - width: 68rpx;  
400 - height: 76rpx;  
401 - margin-right: 15rpx;  
402 - position: relative;  
403 - top: 4rpx;  
404 - }  
405 - }  
406 -}  
407 -.rxmd_list{  
408 - width: 100%;  
409 - background: #FFFFFF;  
410 - border-radius: 10rpx;  
411 - .rxmd_li{  
412 - width: 100%;  
413 - height: 94rpx;  
414 - padding: 0 28rpx;  
415 - display: flex;  
416 - align-items: center;  
417 - color: #545D71;  
418 - &+.rxmd_li{  
419 - border-top: 1px solid #eee;  
420 - }  
421 - .rxmd_li_name{  
422 - // padding: 0 14rpx;  
423 - width: 160rpx;  
424 - font-size: 30rpx;  
425 - // padding-right: 10rpx;  
426 - text{  
427 - max-width: 120rpx;  
428 - font-size: 30rpx;  
429 - line-height: 34rpx;  
430 - height: 34rpx;  
431 - }  
432 - image{  
433 - width: 28rpx;  
434 - height: 28rpx;  
435 - margin-left: 12rpx;  
436 - flex: none;  
437 - }  
438 - }  
439 - .rxmd_li_id{  
440 - font-size: 30rpx;  
441 - letter-spacing: 0;  
442 - // padding: 0 14rpx;  
443 - padding-left: 10rpx;  
444 - }  
445 - .rxmd_li_time{  
446 - font-size: 28rpx;  
447 - letter-spacing: 0;  
448 - }  
449 - }  
450 -}  
451 -</style>  
1 <template> 1 <template>
2 <view class="container"> 2 <view class="container">
3 - <CustomReturn title="听课教室选座" color="#323232" :bgColor="bgColor" :isShowBreak="false"> 3 + <CustomReturn title="首页" color="#323232" :bgColor="bgColor" :isShowBreak="false">
4 <template v-slot:left> 4 <template v-slot:left>
5 - <view class="set-up"> 5 + <view class="set-up" @click="$service.jump" data-url="/pagesB/newSetting/newSetting">
6 <image src="/static/imagesV2/tch_index/icon9.png" mode="aspectFill"></image> 6 <image src="/static/imagesV2/tch_index/icon9.png" mode="aspectFill"></image>
7 </view> 7 </view>
8 </template> 8 </template>
1 <template> 1 <template>
2 <view class="wrap_box"> 2 <view class="wrap_box">
3 - <!-- <uParse v-if="datas" :content="datas"></uParse> -->  
4 - <!-- stu_bz_index -->  
5 - <view class="tel_index_bg"></view>  
6 - <view class="bz_box">  
7 - <view class="edit_box">  
8 - <view v-if="options.id" class="edit_tit">  
9 - <text class="edit_type"></text>  
10 - <view class="flex_1">  
11 - <!-- 2022/02/16 16:23:32 --> 3 + <view class="bz-box">
  4 + <view class="edit-box">
  5 + <view class="edit-tit" v-if="options.id" >
  6 + <text class="edit-tit_icon"></text>
  7 + <view class="edit-tit_content">
12 {{time}} 8 {{time}}
13 </view> 9 </view>
14 </view> 10 </view>
15 - <picker v-else @change="bindPickerChange" :value="index" :range="tabs" range-key="title">  
16 - <view class="edit_tit">  
17 - <view class="edit_l"> 11 + <picker @change="bindPickerChange" :value="index" :range="tabs" range-key="title" v-else>
  12 + <view class="cell">
  13 + <view class="cell-label">
18 选择分类 14 选择分类
19 </view> 15 </view>
20 - <view class="edit_r">  
21 - {{tabs[index].title}}<text class="icon icon-xiala"></text> 16 + <view class="cell-content">
  17 + {{tabs[index].title}}
  18 + <view class="icon">
  19 + <u-icon size="24rpx" name="arrow-down"/>
  20 + </view>
22 </view> 21 </view>
23 </view> 22 </view>
24 </picker> 23 </picker>
25 - <view class="edit_bz">  
26 - 备注内容 24 + <view class="cell ">
  25 + <view class="remarks">
  26 + <textarea v-model="content" placeholder="请输入备注的内容" placeholder-class="textarea-placeholder" ></textarea>
  27 + </view>
27 </view> 28 </view>
28 - <textarea class="edit_content" placeholder="请输入备注的内容" v-model="content"></textarea>  
29 </view> 29 </view>
30 30
31 - <view class="bz_add" > 31 + <view class="bz-btn" >
32 <view class="" @click="save_fuc" data-url="/pagesA/stu_bz_edit/stu_bz_edit"> 32 <view class="" @click="save_fuc" data-url="/pagesA/stu_bz_edit/stu_bz_edit">
33 保存 33 保存
34 </view> 34 </view>
35 </view> 35 </view>
36 </view> 36 </view>
37 - <!-- 阻止滑动 -->  
38 - <!-- <view @touchmove.stop.prevent='test'></view> -->  
39 </view> 37 </view>
40 </template> 38 </template>
41 39
@@ -262,80 +260,86 @@ @@ -262,80 +260,86 @@
262 background: #F8F8F8; 260 background: #F8F8F8;
263 position: relative; 261 position: relative;
264 } 262 }
265 -.tel_index_bg{  
266 - position: absolute;  
267 - top: 0;  
268 - z-index: 1;  
269 - width: 100%;  
270 - min-height: 220rpx;  
271 - background: linear-gradient(0deg, #f8f8f8 0%, #5D9DFD 60%, #428EFE 70%, #2D81FF 100%);  
272 -}  
273 -.bz_box{  
274 - width: 100%;  
275 - position: relative;  
276 - z-index: 2; 263 +.bz-box {
277 padding: 30rpx; 264 padding: 30rpx;
278 -}  
279 -.edit_box{  
280 - width: 100%;  
281 - height: 456rpx;  
282 - background: #FFFFFF;  
283 - border-radius: 10rpx;  
284 - margin-bottom: 50rpx; 265 +
  266 + .edit-box {
285 padding: 0 30rpx; 267 padding: 0 30rpx;
286 - .edit_tit{  
287 - width: 100%;  
288 - height: 100rpx;  
289 - border-bottom: 1px solid #eee; 268 + border-radius: 20rpx;
  269 + background-color: #fff;
  270 + .edit-tit {
  271 + font-size: 30rpx;
  272 + font-family: PingFang SC;
  273 + font-weight: 500;
290 display: flex; 274 display: flex;
291 align-items: center; 275 align-items: center;
292 - justify-content: space-between;  
293 - font-size: 28rpx;  
294 - color: #A9B1C0;  
295 - .edit_type{ 276 + padding: 20rpx 0;
  277 + &_icon {
296 width: 14rpx; 278 width: 14rpx;
297 height: 14rpx; 279 height: 14rpx;
298 background: #2D81FF; 280 background: #2D81FF;
299 border-radius: 50%; 281 border-radius: 50%;
300 - margin-right: 10rpx; 282 + margin-right: 20rpx;
301 } 283 }
302 - .edit_l{  
303 - font-size: 32rpx;  
304 - color: #545D71; 284 + &_content {
  285 + flex: 1;
305 } 286 }
306 - .edit_r{ 287 + }
  288 + .cell {
  289 + display: flex;
  290 + align-items: center;
  291 + padding: 20rpx 0;
  292 + .cell-label {
  293 + width: 150rpx;
307 font-size: 30rpx; 294 font-size: 30rpx;
308 - color: #545D71;  
309 - .icon{  
310 - font-size: 20rpx;  
311 - color: rgba(153, 153, 153, .5); 295 + font-family: PingFang SC;
  296 + font-weight: 500;
312 } 297 }
  298 + .cell-content {
  299 + flex: 1;
  300 + display: flex;
  301 + align-items: center;
  302 + justify-content: flex-end;
  303 + font-size: 28rpx;
  304 + font-family: PingFang SC;
  305 + font-weight: 400;
  306 + .icon {
  307 + margin-left: 10rpx;
313 } 308 }
314 } 309 }
315 - .edit_bz{  
316 - margin-top: 25rpx;  
317 - font-size: 32rpx;  
318 - color: #545D71;  
319 } 310 }
320 - .edit_content{ 311 + .remarks {
  312 + width: 100%;
  313 + height: 350rpx;
  314 + font-size: 28rpx;
  315 +
  316 + textarea {
321 width: 100%; 317 width: 100%;
322 - padding: 10rpx 0;  
323 - height: 230rpx;  
324 - font-size: 32rpx; 318 + height: 100%;
  319 + background: #F5F6F8;
  320 + padding: 20rpx;
  321 + box-sizing: border-box;
  322 + font-size: 26rpx;
  323 + }
  324 + :deep(.textarea-placeholder) {
  325 + color: #979797;
  326 + }
  327 + }
325 } 328 }
326 } 329 }
327 -.bz_add{  
328 - width: 100%;  
329 - view{  
330 - font-size: 32rpx;  
331 - color: #FFFFFF;  
332 - width: 100%;  
333 - height: 90rpx; 330 +
  331 +.bz-btn {
  332 + margin: 30rpx;
  333 + view {
  334 + height: 88rpx;
  335 + line-height: 88rpx;
334 background: #2D81FF; 336 background: #2D81FF;
335 - border-radius: 10rpx;  
336 - display: flex;  
337 - align-items: center;  
338 - justify-content: center; 337 + border-radius: 44rpx;
  338 + font-size: 34rpx;
  339 + font-family: PingFang SC;
  340 + font-weight: 500;
  341 + color: #FFFFFF;
  342 + text-align: center;
339 } 343 }
340 } 344 }
341 </style> 345 </style>
1 <template> 1 <template>
2 <view class="wrap_box"> 2 <view class="wrap_box">
3 - <!-- <uParse v-if="datas" :content="datas"></uParse> -->  
4 - <!-- stu_bz_index -->  
5 - <view class="tel_index_bg"></view>  
6 <view class="bz_box"> 3 <view class="bz_box">
7 <view class="bz_tab"> 4 <view class="bz_tab">
8 - <view v-for="(item,index) in tabs" class="tab_li" :class="{active:active==item.id}" @click="setac_fuc(item.id)"> 5 + <view v-for="(item,index) in tabs" :key="index" class="tab_li" :class="{active:active==item.id}" @click="setac_fuc(item.id)">
9 {{item.title}} 6 {{item.title}}
10 </view> 7 </view>
11 </view> 8 </view>
12 - <view class="bz_list">  
13 - <view class="bz_li" v-for="(item,index) in datas">  
14 - <view class="li_msg">  
15 - <view class="li_time">  
16 - <text></text>{{item.create_time}}  
17 - </view>  
18 - <view class="li_inr"> 9 + <view class="list">
  10 + <view class="item" v-for="(item,index) in datas" :key="index">
  11 + <view class="item-remarks">
19 {{item.content}} 12 {{item.content}}
20 </view> 13 </view>
  14 + <view class="item-footer">
  15 + <view class="time">
  16 + {{item.create_time}}
21 </view> 17 </view>
22 - <view class="li_b">  
23 - <view class="li_btn" @click="del_fuc(item)">  
24 - 删除 18 +
  19 + <view
  20 + class="btn"
  21 + @click="$service.jump"
  22 + :data-url="'/pagesA/stu_bz_edit/stu_bz_edit?id='+item.id+'&time='+item.create_time+'&content='+item.content">
  23 + <view class="icon">
  24 + <image src="/static/imagesV2/tch_index/icon11.png" mode=""></image>
25 </view> 25 </view>
26 - <view class="li_btn" @click="$service.jump" :data-url="'/pagesA/stu_bz_edit/stu_bz_edit?id='+item.id+'&time='+item.create_time+'&content='+item.content">  
27 修改 26 修改
28 </view> 27 </view>
  28 + <view class="btn" @click="showDelModal(item)">
  29 + <view class="icon">
  30 + <image src="/static/imagesV2/tch_index/icon12.png" mode=""></image>
  31 + </view>
  32 + 删除
  33 + </view>
29 </view> 34 </view>
30 </view> 35 </view>
31 <view class="bz_li" v-if="datas.length==0"> 36 <view class="bz_li" v-if="datas.length==0">
@@ -42,9 +47,19 @@ @@ -42,9 +47,19 @@
42 添加 47 添加
43 </view> 48 </view>
44 </view> 49 </view>
  50 +
  51 + <u-modal
  52 + :show="show"
  53 + title="提示"
  54 + content="是否删除该备注?"
  55 + @confirm="del_fuc(current)"
  56 + @cancel="show = false"
  57 + :asyncClose="true"
  58 + :showCancelButton="true"
  59 + >
  60 + </u-modal>
  61 +
45 </view> 62 </view>
46 - <!-- 阻止滑动 -->  
47 - <!-- <view @touchmove.stop.prevent='test'></view> -->  
48 </view> 63 </view>
49 </template> 64 </template>
50 65
@@ -76,7 +91,9 @@ @@ -76,7 +91,9 @@
76 id:3 91 id:3
77 }, 92 },
78 ], 93 ],
79 - active:1 94 + active:1,
  95 + show: false,
  96 + current: null
80 } 97 }
81 }, 98 },
82 computed: { 99 computed: {
@@ -102,18 +119,17 @@ @@ -102,18 +119,17 @@
102 that.active=index 119 that.active=index
103 that.onRetry() 120 that.onRetry()
104 }, 121 },
  122 + showDelModal(item) {
  123 + this.show = true;
  124 + this.current = item;
  125 + },
105 del_fuc(item){ 126 del_fuc(item){
106 - uni.showModal({  
107 - title: '提示',  
108 - content: '是否删除该备注',  
109 - success: function (res) {  
110 - if (res.confirm) {  
111 - console.log('用户点击确定');  
112 var datas={ 127 var datas={
113 id: item.id 128 id: item.id
114 } 129 }
115 var jkurl='/teacher/remark_del' 130 var jkurl='/teacher/remark_del'
116 that.$service.P_post(jkurl, datas).then(res => { 131 that.$service.P_post(jkurl, datas).then(res => {
  132 + this.show = false;
117 that.btnkg = 0 133 that.btnkg = 0
118 console.log(res) 134 console.log(res)
119 if (res.code == 1) { 135 if (res.code == 1) {
@@ -147,6 +163,7 @@ @@ -147,6 +163,7 @@
147 } 163 }
148 } 164 }
149 }).catch(e => { 165 }).catch(e => {
  166 + this.show = false;
150 that.htmlReset = 1 167 that.htmlReset = 1
151 that.btnkg = 0 168 that.btnkg = 0
152 // that.$refs.htmlLoading.htmlReset_fuc(1) 169 // that.$refs.htmlLoading.htmlReset_fuc(1)
@@ -156,12 +173,6 @@ @@ -156,12 +173,6 @@
156 title: '获取数据失败,请检查您的网络连接' 173 title: '获取数据失败,请检查您的网络连接'
157 }) 174 })
158 }) 175 })
159 -  
160 - } else if (res.cancel) {  
161 - console.log('用户点击取消');  
162 - }  
163 - }  
164 - });  
165 }, 176 },
166 onRetry(){ 177 onRetry(){
167 that.page=1 178 that.page=1
@@ -270,95 +281,81 @@ @@ -270,95 +281,81 @@
270 // #endif 281 // #endif
271 background: #F8F8F8; 282 background: #F8F8F8;
272 position: relative; 283 position: relative;
  284 + padding-bottom: 130rpx;
273 } 285 }
274 -.tel_index_bg{  
275 - position: absolute;  
276 - top: 0;  
277 - z-index: 1;  
278 - width: 100%;  
279 - min-height: 220rpx;  
280 - background: linear-gradient(0deg, #f8f8f8 0%, #5D9DFD 60%, #428EFE 70%, #2D81FF 100%);  
281 -} 286 +
282 .bz_box{ 287 .bz_box{
283 width: 100%; 288 width: 100%;
284 position: relative; 289 position: relative;
285 - z-index: 2;  
286 - padding: 0 30rpx 30rpx;  
287 } 290 }
288 .bz_tab{ 291 .bz_tab{
289 width: 100%; 292 width: 100%;
290 - height: 90rpx;  
291 display: flex; 293 display: flex;
292 align-items: center; 294 align-items: center;
293 justify-content: space-around; 295 justify-content: space-around;
  296 + background-color: #fff;
  297 + border-top:1rpx solid #f3f4f6;
294 } 298 }
295 .tab_li{ 299 .tab_li{
296 - color: rgba(255, 255, 255, .6);  
297 - font-size: 32rpx; 300 + font-size: 28rpx;
  301 + font-family: PingFang SC;
  302 + font-weight: 500;
  303 + color: #323232;
  304 + padding:30rpx;
298 position: relative; 305 position: relative;
299 - padding: 10rpx 0rpx;  
300 &.active{ 306 &.active{
301 - color: #fff; 307 + color: #2D81FF;
302 &:after{ 308 &:after{
303 - content:''; 309 + content: '';
304 position: absolute; 310 position: absolute;
305 - bottom: 0; 311 + bottom: 8rpx;
306 left: 50%; 312 left: 50%;
307 - margin-left: -19rpx;  
308 - width: 38rpx;  
309 - height: 5rpx;  
310 - background: #FFFFFF;  
311 - border-radius: 3rpx; 313 + background-image: url(@/static/imagesV2/icon23.png);
  314 + background-size: 100% 100%;
  315 + transform: translateX(-50%);
  316 + height: 24rpx;
  317 + width: 24rpx;
312 } 318 }
313 } 319 }
314 } 320 }
315 -.bz_list{  
316 - width: 100%;  
317 - padding-top: 10rpx;  
318 - padding-bottom: 130rpx;  
319 - .bz_li{  
320 - width: 100%;  
321 - // height: 285rpx;  
322 - background: #FFFFFF;  
323 - border-radius: 10rpx;  
324 - &+.bz_li{ 321 +.list{
  322 + margin: 20rpx;
  323 + .item {
  324 + background-color: #fff;
  325 + border-radius: 20rpx;
  326 + padding: 30rpx;
  327 + & + .item {
325 margin-top: 20rpx; 328 margin-top: 20rpx;
326 } 329 }
327 - .li_msg{  
328 - width: 100%;  
329 - padding: 30rpx;  
330 - .li_time{  
331 - font-size: 28rpx;  
332 - color: #A9B1C0; 330 + &-remarks {
  331 + font-size: 26rpx;
  332 + font-family: PingFang SC;
  333 + font-weight: 500;
  334 + color: #323232;
  335 + }
  336 + &-footer {
333 display: flex; 337 display: flex;
334 align-items: center; 338 align-items: center;
335 - text{  
336 - width: 14rpx;  
337 - height: 14rpx;  
338 - background: #2D81FF;  
339 - border-radius: 50%;  
340 - margin-right: 10rpx;  
341 - }  
342 - }  
343 - .li_inr{  
344 - padding-top: 15rpx;  
345 - font-size: 30rpx;  
346 - color: #545D71;  
347 - line-height: 48rpx; 339 + margin-top: 30rpx;
  340 + .time {
  341 + flex: 1;
  342 + font-size: 24rpx;
  343 + font-family: PingFang SC;
  344 + font-weight: 400;
348 } 345 }
349 - }  
350 - .li_b{  
351 - width: 100%;  
352 - height: 90rpx;  
353 - padding: 0 30rpx;  
354 - border-top: 1px solid #eee; 346 + .btn {
355 display: flex; 347 display: flex;
356 align-items: center; 348 align-items: center;
357 - flex-direction: row-reverse;  
358 - .li_btn{  
359 - font-size: 28rpx;  
360 - color: #A9B1C0; 349 + font-size: 26rpx;
  350 + font-family: PingFang SC;
  351 + font-weight: 500;
  352 + color: #646464;
361 margin-left: 30rpx; 353 margin-left: 30rpx;
  354 + .icon {
  355 + margin-right: 10rpx;
  356 + width: 30rpx;
  357 + height: 30rpx;
  358 + }
362 } 359 }
363 } 360 }
364 } 361 }
@@ -367,20 +364,20 @@ @@ -367,20 +364,20 @@
367 width: 100%; 364 width: 100%;
368 position: fixed; 365 position: fixed;
369 bottom: 0; 366 bottom: 0;
370 - background: #f8f8f8; 367 + background: #fff;
371 z-index: 800; 368 z-index: 800;
372 left: 0; 369 left: 0;
373 - padding: 0 30rpx 30rpx;  
374 - view{  
375 - font-size: 32rpx;  
376 - color: #FFFFFF;  
377 - width: 100%;  
378 - height: 90rpx; 370 + padding: 16rpx 26rpx;
  371 + view {
379 background: #2D81FF; 372 background: #2D81FF;
380 - border-radius: 10rpx;  
381 - display: flex;  
382 - align-items: center;  
383 - justify-content: center; 373 + border-radius: 44rpx;
  374 + font-size: 34rpx;
  375 + font-family: PingFang SC;
  376 + font-weight: 500;
  377 + color: #FFFFFF;
  378 + height: 88rpx;
  379 + line-height: 88rpx;
  380 + text-align: center;
384 } 381 }
385 } 382 }
386 </style> 383 </style>
1 <template> 1 <template>
2 <view class="wrap_box"> 2 <view class="wrap_box">
3 - <!-- <uParse v-if="datas" :content="datas"></uParse> -->  
4 - <!-- stu_bz_index -->  
5 - <view class="tel_index_bg"></view> 3 + <u-sticky>
6 <view class="bz_box"> 4 <view class="bz_box">
7 - <!-- <view class="stu_num">  
8 - <picker mode="date" :value="date" :start="startDate" :end="endDate" @change="bindDateChange">  
9 - <view class="">  
10 - 核对时间:{{sx_time}}<text class="icon icon-arrow-right-copy-copy"></text>  
11 - </view>  
12 - </picker>  
13 - <picker @change="bindPickerChange" :value="index" :range="tabs" range-key="title">  
14 - <view class="">  
15 - {{tabs[index].title}}  
16 - <text class="icon icon-arrow-right-copy-copy"></text>  
17 - </view>  
18 - </picker>  
19 - </view> -->  
20 <view class="bz_tab"> 5 <view class="bz_tab">
21 <view v-for="(item,index) in tabs" class="tab_li" :class="{active:active==index}" @click="setac_fuc(index)"> 6 <view v-for="(item,index) in tabs" class="tab_li" :class="{active:active==index}" @click="setac_fuc(index)">
22 {{item.title}} 7 {{item.title}}
23 </view> 8 </view>
24 </view> 9 </view>
  10 + </view>
  11 + </u-sticky>
  12 +
25 <ftadd v-if="active==0" :options="options"></ftadd> 13 <ftadd v-if="active==0" :options="options"></ftadd>
26 <ftadd1 v-else :options="options"></ftadd1> 14 <ftadd1 v-else :options="options"></ftadd1>
27 - <!-- <view class="stu_list">  
28 15
29 - </view> -->  
30 - </view>  
31 - <!-- <view class="bz_add" >  
32 - <view class="" @click="$service.jump" :data-url="'/pagesA/stu_ft_add/stu_ft_add?type='+active">  
33 - 添加  
34 - </view>  
35 - </view> -->  
36 - <!-- 阻止滑动 -->  
37 - <!-- <view @touchmove.stop.prevent='test'></view> -->  
38 </view> 16 </view>
39 </template> 17 </template>
40 18
@@ -268,76 +246,41 @@ @@ -268,76 +246,41 @@
268 padding-bottom: 10rpx; 246 padding-bottom: 10rpx;
269 } 247 }
270 248
271 - .tel_index_bg {  
272 - position: absolute;  
273 - top: 0;  
274 - z-index: 1;  
275 - width: 100%;  
276 - min-height: 220rpx;  
277 - background: linear-gradient(0deg, #f8f8f8 0%, #5D9DFD 60%, #428EFE 70%, #2D81FF 100%);  
278 - }  
279 -  
280 - .bz_box { 249 + .bz_box{
281 width: 100%; 250 width: 100%;
282 position: relative; 251 position: relative;
283 - z-index: 2;  
284 - padding:0 30rpx 30rpx;  
285 -  
286 - .stu_num {  
287 - width: 100%;  
288 - height: 80rpx;  
289 - display: flex;  
290 - align-items: center;  
291 - font-size: 28rpx;  
292 - color: #fff;  
293 - justify-content: space-between;  
294 - .icon{  
295 - font-size: 24rpx;  
296 - margin-left: 10rpx;  
297 - }  
298 - }  
299 - }  
300 -  
301 -  
302 -  
303 - .save_btn {  
304 - display: flex;  
305 - align-items: center;  
306 - justify-content: center;  
307 - font-size: 32rpx;  
308 - color: #FFFFFF;  
309 - width: 100%;  
310 - height: 90rpx;  
311 - background: #2D81FF;  
312 - border-radius: 10rpx;  
313 - margin-top: 40rpx; 252 + background: #F8F8F8;
314 } 253 }
315 .bz_tab{ 254 .bz_tab{
316 width: 100%; 255 width: 100%;
317 - height: 90rpx;  
318 display: flex; 256 display: flex;
319 align-items: center; 257 align-items: center;
320 justify-content: space-around; 258 justify-content: space-around;
  259 + background-color: #fff;
  260 + border-top:1rpx solid #f3f4f6;
321 } 261 }
322 .tab_li{ 262 .tab_li{
323 - color: rgba(255, 255, 255, .6);  
324 - font-size: 32rpx; 263 + font-size: 28rpx;
  264 + font-family: PingFang SC;
  265 + font-weight: 500;
  266 + color: #323232;
  267 + padding:30rpx;
325 position: relative; 268 position: relative;
326 - padding: 10rpx 0rpx;  
327 &.active{ 269 &.active{
328 - color: #fff; 270 + color: #2D81FF;
329 &:after{ 271 &:after{
330 - content:''; 272 + content: '';
331 position: absolute; 273 position: absolute;
332 - bottom: 0; 274 + bottom: 8rpx;
333 left: 50%; 275 left: 50%;
334 - margin-left: -19rpx;  
335 - width: 38rpx;  
336 - height: 5rpx;  
337 - background: #FFFFFF;  
338 - border-radius: 3rpx; 276 + background-image: url(@/static/imagesV2/icon23.png);
  277 + background-size: 100% 100%;
  278 + transform: translateX(-50%);
  279 + height: 24rpx;
  280 + width: 24rpx;
339 } 281 }
340 } 282 }
341 } 283 }
342 284
  285 +
343 </style> 286 </style>
1 <template> 1 <template>
2 <view class="wrap_box"> 2 <view class="wrap_box">
3 - <!-- <uParse v-if="datas" :content="datas"></uParse> -->  
4 - <!-- stu_bz_index -->  
5 - <view class="tel_index_bg"></view> 3 + <u-sticky>
6 <view class="bz_box"> 4 <view class="bz_box">
7 - <!-- <view class="stu_num">  
8 - <picker mode="date" :value="date" :start="startDate" :end="endDate" @change="bindDateChange">  
9 - <view class="">  
10 - 核对时间:{{sx_time}}<text class="icon icon-arrow-right-copy-copy"></text>  
11 - </view>  
12 - </picker>  
13 - <picker @change="bindPickerChange" :value="index" :range="tabs" range-key="title">  
14 - <view class="">  
15 - {{tabs[index].title}}  
16 - <text class="icon icon-arrow-right-copy-copy"></text>  
17 - </view>  
18 - </picker>  
19 - </view> -->  
20 <view class="bz_tab"> 5 <view class="bz_tab">
21 - <view v-for="(item,index) in tabs" class="tab_li" :class="{active:active==index}" @click="setac_fuc(index)"> 6 + <view v-for="(item,index) in tabs" :key="index" class="tab_li" :class="{active:active==index}" @click="setac_fuc(index)">
22 {{item.title}} 7 {{item.title}}
23 </view> 8 </view>
24 </view> 9 </view>
25 - <view class="stu_list">  
26 - <view class="search_box dis_flex aic"> 10 + <view class="search_box">
  11 + <u-icon name="search" color="#979797" size="28" @click="onRetry"></u-icon>
27 <u-input 12 <u-input
  13 + class="search_box-input"
28 placeholder="请输入搜索内容" 14 placeholder="请输入搜索内容"
29 v-model="name_s" 15 v-model="name_s"
30 suffixIconStyle="color: #909399" 16 suffixIconStyle="color: #909399"
  17 + placeholder-style="color: #C3C3C3"
31 @confirm="onRetry" 18 @confirm="onRetry"
32 ></u-input> 19 ></u-input>
33 - <u-icon name="search" color="#909399" size="28" @click="onRetry"></u-icon> 20 +
34 </view> 21 </view>
35 - <view class="stu_li" v-for="(item,index) in datas" @click="jump_fuc(item)">  
36 - <view class="stu_li_name">  
37 - {{item.name}}  
38 - <!-- <image v-if="index%2==0" src="/static/images/tch/icon_female.png" mode="aspectFit"></image>  
39 - <image v-else src="/static/images/tch/icon_male.png" mode="aspectFit"></image> -->  
40 </view> 22 </view>
41 - <view class="flex_1"></view>  
42 - <view class="sf_v">  
43 - {{item.add_time}}<text class="icon icon-arrow-right-copy"></text> 23 + </u-sticky>
  24 +
  25 + <view class="list">
  26 + <view class="item" v-for="(item,index) in datas" :key="index" @click="jump_fuc(item)">
  27 + <view class="name">
  28 + {{item.name}}
44 </view> 29 </view>
  30 + <view class="tirm">
  31 + {{item.add_time}}
45 </view> 32 </view>
46 - <u-empty v-if="datas.length==0"  
47 - mode="data"  
48 - text="暂无记录"  
49 - icon="/static/images/tch/img_blank.png"  
50 - >  
51 - </u-empty> 33 + <text class="icon icon-arrow-right-copy"></text>
52 </view> 34 </view>
53 </view> 35 </view>
54 <view class="bz_add" > 36 <view class="bz_add" >
@@ -56,8 +38,6 @@ @@ -56,8 +38,6 @@
56 添加 38 添加
57 </view> 39 </view>
58 </view> 40 </view>
59 - <!-- 阻止滑动 -->  
60 - <!-- <view @touchmove.stop.prevent='test'></view> -->  
61 </view> 41 </view>
62 </template> 42 </template>
63 43
@@ -289,160 +269,104 @@ @@ -289,160 +269,104 @@
289 padding-bottom: 150rpx; 269 padding-bottom: 150rpx;
290 } 270 }
291 271
292 - .tel_index_bg {  
293 - position: absolute;  
294 - top: 0;  
295 - z-index: 1;  
296 - width: 100%;  
297 - min-height: 220rpx;  
298 - background: linear-gradient(0deg, #f8f8f8 0%, #5D9DFD 60%, #428EFE 70%, #2D81FF 100%);  
299 - }  
300 -  
301 - .bz_box { 272 + .bz_box{
302 width: 100%; 273 width: 100%;
303 position: relative; 274 position: relative;
304 - z-index: 2;  
305 - padding:0 30rpx 30rpx;  
306 -  
307 - .stu_num { 275 + background: #F8F8F8;
  276 + }
  277 + .bz_tab{
308 width: 100%; 278 width: 100%;
309 - height: 80rpx;  
310 display: flex; 279 display: flex;
311 align-items: center; 280 align-items: center;
  281 + justify-content: space-around;
  282 + background-color: #fff;
  283 + border-top:1rpx solid #f3f4f6;
  284 + }
  285 + .tab_li{
312 font-size: 28rpx; 286 font-size: 28rpx;
313 - color: #fff;  
314 - justify-content: space-between;  
315 - .icon{  
316 - font-size: 24rpx;  
317 - margin-left: 10rpx; 287 + font-family: PingFang SC;
  288 + font-weight: 500;
  289 + color: #323232;
  290 + padding:30rpx;
  291 + position: relative;
  292 + &.active{
  293 + color: #2D81FF;
  294 + &:after{
  295 + content: '';
  296 + position: absolute;
  297 + bottom: 8rpx;
  298 + left: 50%;
  299 + background-image: url(@/static/imagesV2/icon23.png);
  300 + background-size: 100% 100%;
  301 + transform: translateX(-50%);
  302 + height: 24rpx;
  303 + width: 24rpx;
318 } 304 }
319 } 305 }
320 } 306 }
321 307
322 - .stu_list {  
323 - width: 100%;  
324 - min-height: 100rpx;  
325 - background: #FFFFFF;  
326 - border-radius: 10rpx;  
327 - .stu_li {  
328 - width: 100%;  
329 - height: 100rpx; 308 + .search_box {
  309 + background-color:#fff;
330 display: flex; 310 display: flex;
  311 + border-radius: 36rpx;
331 align-items: center; 312 align-items: center;
332 - padding: 0 30rpx;  
333 -  
334 - &+.stu_li {  
335 - border-top: 1px solid #eee;  
336 - }  
337 -  
338 - .stu_li_name {  
339 - font-size: 30rpx;  
340 - color: #545D71;  
341 - margin-bottom: 10rpx;  
342 -  
343 - image {  
344 - width: 28rpx;  
345 - height: 28rpx;  
346 - margin-left: 5rpx; 313 + padding: 0 20rpx 0 30rpx;
  314 + margin: 25rpx;
  315 + &-input {
  316 + flex-grow: 1;
347 } 317 }
348 } 318 }
349 319
350 - .sf_v {  
351 - font-size: 30rpx;  
352 - color: #A9B1C0; 320 + .list {
  321 + padding: 0 25rxp 25rpx;
  322 + .item {
353 display: flex; 323 display: flex;
354 align-items: center; 324 align-items: center;
355 -  
356 - .sf_v_btn {  
357 - display: flex;  
358 - align-items: center;  
359 - margin-left: 20rpx;  
360 - font-size: 30rpx;  
361 - color: #A9B1C0;  
362 -  
363 - .sf_v_btn_b {  
364 - display: flex;  
365 - align-items: center;  
366 - justify-content: center;  
367 - font-size: 18rpx;  
368 - color: #fff;  
369 - width: 32rpx;  
370 - height: 32rpx;  
371 - border: 1px solid #DDDDDD;  
372 - border-radius: 50%;  
373 - margin-left: 8rpx;  
374 -  
375 - &.active {  
376 - background: #2D81FF;  
377 - border: 1px solid #2D81FF;  
378 - }  
379 - }  
380 - }  
381 - } 325 + background-color: #fff;
  326 + padding: 30rpx;
  327 + & + .item {
  328 + margin-top: 20rpx;
382 } 329 }
  330 + .name {
  331 + flex: 1;
  332 + font-size: 30rpx;
  333 + font-family: PingFang SC;
  334 + font-weight: bold;
  335 + color: #323232;
383 } 336 }
384 337
385 - .save_btn {  
386 - display: flex;  
387 - align-items: center;  
388 - justify-content: center;  
389 - font-size: 32rpx;  
390 - color: #FFFFFF;  
391 - width: 100%;  
392 - height: 90rpx;  
393 - background: #2D81FF;  
394 - border-radius: 10rpx;  
395 - margin-top: 40rpx;  
396 - }  
397 - .bz_tab{  
398 - width: 100%;  
399 - height: 90rpx;  
400 - display: flex;  
401 - align-items: center;  
402 - justify-content: space-around;  
403 - }  
404 - .tab_li{  
405 - color: rgba(255, 255, 255, .6);  
406 - font-size: 32rpx;  
407 - position: relative;  
408 - padding: 10rpx 0rpx;  
409 - &.active{  
410 - color: #fff;  
411 - &:after{  
412 - content:'';  
413 - position: absolute;  
414 - bottom: 0;  
415 - left: 50%;  
416 - margin-left: -19rpx;  
417 - width: 38rpx;  
418 - height: 5rpx;  
419 - background: #FFFFFF;  
420 - border-radius: 3rpx; 338 + .time {
  339 + font-size: 26rpx;
  340 + font-family: PingFang SC;
  341 + font-weight: 400;
  342 + color: #646464;
  343 + margin: 0 20rpx;
  344 + }
  345 + .icon {
  346 + color: #ACACAC;
  347 + font-size: 30rpx;
421 } 348 }
422 } 349 }
423 } 350 }
424 - .bz_add{  
425 - width: 100%; 351 +
  352 + .bz_add {
426 position: fixed; 353 position: fixed;
427 - bottom: 0;  
428 - background: #f8f8f8;  
429 - z-index: 800;  
430 left: 0; 354 left: 0;
431 - padding: 30rpx;  
432 - view{  
433 - font-size: 32rpx;  
434 - color: #FFFFFF; 355 + bottom: 0;
435 width: 100%; 356 width: 100%;
436 - height: 90rpx; 357 + padding: 16rpx 25rpx;
  358 + background-color: #fff;
  359 + view {
437 background: #2D81FF; 360 background: #2D81FF;
438 - border-radius: 10rpx;  
439 - display: flex;  
440 - align-items: center;  
441 - justify-content: center;  
442 - } 361 + border-radius: 44rpx;
  362 + font-size: 34rpx;
  363 + font-family: PingFang SC;
  364 + font-weight: 500;
  365 + color: #FFFFFF;
  366 + height: 88rpx;
  367 + line-height: 88rpx;
  368 + text-align: center;
443 } 369 }
444 - .search_box{  
445 - border-bottom: 1px solid #ddd;  
446 - padding: 0 15rpx;  
447 } 370 }
  371 +
448 </style> 372 </style>
1 <template> 1 <template>
2 <view class="wrap_box"> 2 <view class="wrap_box">
3 - <!-- <uParse v-if="datas" :content="datas"></uParse> -->  
4 - <!-- stu_bz_index -->  
5 - <view class="tel_index_bg"></view>  
6 - <view class="bz_box"> 3 +
7 <ftadd :options="options"></ftadd> 4 <ftadd :options="options"></ftadd>
8 </view> 5 </view>
9 - </view>  
10 </template> 6 </template>
11 7
12 <script> 8 <script>
1 <template> 1 <template>
2 <view class="wrap_box"> 2 <view class="wrap_box">
3 - <!-- <uParse v-if="datas" :content="datas"></uParse> -->  
4 - <!-- stu_bz_index -->  
5 - <view class="tel_index_bg"></view>  
6 - <view class="bz_box">  
7 <ftadd1 :options="options"></ftadd1> 3 <ftadd1 :options="options"></ftadd1>
8 </view> 4 </view>
9 - </view>  
10 </template> 5 </template>
11 6
12 <script> 7 <script>
1 <template> 1 <template>
2 <view class="wrap_box"> 2 <view class="wrap_box">
3 - <!-- <uParse v-if="datas" :content="datas"></uParse> -->  
4 - <!-- stu_bz_index -->  
5 - <view class="tel_index_bg"></view>  
6 - <view class="bz_box">  
7 - <view class="stu_num">  
8 - <view class="">  
9 - 共{{datas.length}}人 3 + <u-sticky>
  4 + <view class="head">
  5 + <view class="stu-num">
  6 +
  7 + <text class="val">30</text>
  8 +
10 </view> 9 </view>
11 - <view class="" @click="$service.jump" data-url="/pagesA/stu_hddk_list/stu_hddk_list"> 10 + <view class="btn" @click="$service.jump" data-url="/pagesA/stu_hddk_list/stu_hddk_list">
12 查看历史记录 11 查看历史记录
13 </view> 12 </view>
14 </view> 13 </view>
15 - <view class="stu_list">  
16 - <view class="stu_li" v-for="(item,index) in datas">  
17 - <view class="stu_li_name"> 14 + </u-sticky>
  15 +
  16 + <view class="list">
  17 + <view class="item" v-for="(item,index) in datas" :key="index">
  18 + <view class="info">
  19 + <view class="name">
18 {{item.name}} 20 {{item.name}}
19 - <image v-if="item.sex!=1" src="/static/images/tch/icon_female.png" mode="aspectFit"></image>  
20 - <image v-else src="/static/images/tch/icon_male.png" mode="aspectFit"></image>  
21 </view> 21 </view>
22 - <view class="flex_1"></view>  
23 - <view class="sf_v">  
24 - <text>是否到课</text>  
25 - <view class="sf_v_btn" @click="set_fuc(item,true)"> 22 + <image class="gender" v-if="item.sex!=1" src="/static/imagesV2/stu_selection/icon_female.png" mode="aspectFit"></image>
  23 + <image class="gender" v-else src="/static/imagesV2/stu_selection/icon_male.png" mode="aspectFit"></image>
  24 + </view>
  25 + <view class="operate">
  26 + <view class="operate-label">
  27 + 是否到课:
  28 + </view>
  29 + <view class="operate-content">
  30 + <view class="radio-view" @click="set_fuc(item,true)">
  31 + <view class="radio-view_icon">
  32 + <image v-show="!item.is_check" src="/static/imagesV2/tch_index/radio.png" mode="aspectFit"></image>
  33 + <image v-show="item.is_check" src="/static/imagesV2/tch_index/radio-active.png" mode="aspectFit"></image>
  34 + </view>
  35 + <view class="radio-view_text">
26 36
27 - <view class="sf_v_btn_b" :class="{active:item.is_check}">  
28 - <text class="icon icon-duigou"></text>  
29 </view> 37 </view>
30 </view> 38 </view>
31 - <view class="sf_v_btn" @click="set_fuc(item,false)"> 39 + <view class="radio-view" @click="set_fuc(item,false)">
  40 + <view class="radio-view_icon">
  41 + <image v-show="item.is_check" src="/static/imagesV2/tch_index/radio.png" mode="aspectFit"></image>
  42 + <image v-show="!item.is_check" src="/static/imagesV2/tch_index/radio-active.png" mode="aspectFit"></image>
  43 + </view>
  44 + <view class="radio-view_text">
32 45
33 - <view class="sf_v_btn_b" :class="{active:!item.is_check}">  
34 - <text class="icon icon-duigou"></text>  
35 </view> 46 </view>
36 </view> 47 </view>
37 </view> 48 </view>
38 </view> 49 </view>
39 </view> 50 </view>
40 - <view class="save_btn" @click="save_fuc"> 51 + </view>
  52 + <view class="footer">
  53 + <view class="btn" @click="save_fuc">
41 保存 54 保存
42 </view> 55 </view>
43 </view> 56 </view>
44 - <!-- 阻止滑动 -->  
45 - <!-- <view @touchmove.stop.prevent='test'></view> -->  
46 </view> 57 </view>
47 </template> 58 </template>
48 59
@@ -314,7 +325,7 @@ @@ -314,7 +325,7 @@
314 <style lang="scss" scoped> 325 <style lang="scss" scoped>
315 .wrap_box{ 326 .wrap_box{
316 width: 100%; 327 width: 100%;
317 - // padding: 30rpx; 328 + padding-bottom: 140rpx;
318 min-height: 100vh; 329 min-height: 100vh;
319 // #ifdef H5 330 // #ifdef H5
320 min-height: calc(100vh - 44px); 331 min-height: calc(100vh - 44px);
@@ -322,99 +333,98 @@ @@ -322,99 +333,98 @@
322 background: #F8F8F8; 333 background: #F8F8F8;
323 position: relative; 334 position: relative;
324 } 335 }
325 -.tel_index_bg{  
326 - position: absolute;  
327 - top: 0;  
328 - z-index: 1;  
329 - width: 100%;  
330 - min-height: 220rpx;  
331 - background: linear-gradient(0deg, #f8f8f8 0%, #5D9DFD 60%, #428EFE 70%, #2D81FF 100%);  
332 -}  
333 -.bz_box{  
334 - width: 100%;  
335 - position: relative;  
336 - z-index: 2;  
337 - padding: 0 30rpx 50rpx;  
338 - .stu_num{  
339 - width: 100%;  
340 - height: 80rpx; 336 +.head {
341 display: flex; 337 display: flex;
342 align-items: center; 338 align-items: center;
343 - font-size: 28rpx;  
344 - color: #fff;  
345 justify-content: space-between; 339 justify-content: space-between;
346 - 340 + padding: 30rpx;
  341 + background: #F8F8F8;
  342 + .stu-num {
  343 + font-size: 26rpx;
  344 + font-family: PingFang SC;
  345 + font-weight: 500;
  346 + color: #323232;
  347 + .val {
  348 + color: #2D81FF;
  349 + }
  350 + }
  351 + .btn {
  352 + font-size: 30rpx;
  353 + font-family: PingFang SC;
  354 + font-weight: 500;
347 } 355 }
348 } 356 }
349 -.stu_list{  
350 - width: 100%;  
351 - min-height: 100rpx; 357 +
  358 +.list {
  359 + padding: 0 30rpx;
  360 + .item {
352 background: #FFFFFF; 361 background: #FFFFFF;
353 - border-radius: 10rpx;  
354 - .stu_li{  
355 - width: 100%;  
356 - height: 100rpx; 362 + border-radius: 20rpx;
  363 + padding: 30rpx;
357 display: flex; 364 display: flex;
358 align-items: center; 365 align-items: center;
359 - padding: 0 30rpx;  
360 - &+.stu_li{  
361 - border-top: 1px solid #eee; 366 + & + .item {
  367 + margin-top: 20rpx;
362 } 368 }
363 - .stu_li_name{  
364 - font-size: 30rpx;  
365 - color: #545D71;  
366 - margin-bottom: 10rpx;  
367 - image{  
368 - width: 28rpx;  
369 - height: 28rpx;  
370 - margin-left: 5rpx; 369 + .info {
  370 + flex: 1;
  371 + display: flex;
  372 + align-items: center;
371 } 373 }
  374 + .gender {
  375 + width: 29rpx !important;
  376 + height: 24rpx !important;
  377 + margin-left: 20rpx;
372 } 378 }
373 - .sf_v{  
374 - font-size: 30rpx;  
375 - color: #A9B1C0; 379 + .operate {
376 display: flex; 380 display: flex;
377 align-items: center; 381 align-items: center;
378 - .sf_v_btn{ 382 + &-label {
  383 + font-size: 26rpx;
  384 + font-family: PingFang SC;
  385 + font-weight: 500;
  386 + color: #646464;
  387 + }
  388 + &-content {
  389 + flex: 1;
379 display: flex; 390 display: flex;
380 align-items: center; 391 align-items: center;
381 - margin-left: 20rpx;  
382 - font-size: 30rpx;  
383 - color: #A9B1C0;  
384 - .sf_v_btn_b{ 392 + .radio-view {
385 display: flex; 393 display: flex;
386 align-items: center; 394 align-items: center;
387 - justify-content: center;  
388 - font-size: 18rpx;  
389 - color: #fff;  
390 - width: 32rpx;  
391 - height: 32rpx;  
392 - border: 1px solid #DDDDDD;  
393 - border-radius: 50%;  
394 - margin-left: 8rpx;  
395 - &.active{  
396 - background: #2D81FF;  
397 - border: 1px solid #2D81FF;  
398 - }  
399 - text{  
400 - font-size: 18rpx;  
401 - line-height: 20rpx; 395 + font-size: 28rpx;
  396 + font-family: PingFang SC;
  397 + font-weight: 400;
  398 + color: #979797;
  399 + margin-left: 20rpx;
  400 + .radio-view_icon {
  401 + width: 30rpx;
  402 + height: 30rpx;
  403 + margin-right: 10rpx;
402 } 404 }
403 } 405 }
404 } 406 }
405 } 407 }
406 } 408 }
407 } 409 }
408 -.save_btn{  
409 - display: flex;  
410 - align-items: center;  
411 - justify-content: center;  
412 - font-size: 32rpx;  
413 - color: #FFFFFF; 410 +.footer {
  411 + position: fixed;
  412 + left: 0;
  413 + bottom: 0;
  414 + z-index: 99;
414 width: 100%; 415 width: 100%;
415 - height: 90rpx; 416 + background-color: #fff;
  417 + padding: 16rpx 25rpx;
  418 + .btn {
  419 + height: 88rpx;
416 background: #2D81FF; 420 background: #2D81FF;
417 - border-radius: 10rpx;  
418 - margin-top: 40rpx; 421 + border-radius: 44rpx;
  422 + line-height: 88rpx;
  423 + font-size: 34rpx;
  424 + font-family: PingFang SC;
  425 + font-weight: 500;
  426 + color: #FFFFFF;
  427 + text-align: center;
  428 + }
419 } 429 }
420 </style> 430 </style>
1 <template> 1 <template>
2 <view class="wrap_box"> 2 <view class="wrap_box">
3 - <!-- <uParse v-if="datas" :content="datas"></uParse> -->  
4 - <!-- stu_bz_index -->  
5 - <view class="tel_index_bg"></view>  
6 - <view class="bz_box">  
7 - <view class="stu_num">  
8 - <!-- <picker mode="date" :value="sx_time" :start="startDate" :end="endDate" @change="bindDateChange">  
9 - <view class="">  
10 - 核对时间:{{sx_time}}<text class="icon icon-arrow-right-copy-copy"></text>  
11 - </view>  
12 - </picker> --> 3 + <u-sticky>
  4 + <view class="search">
13 <picker @change="bindPickerChange" :value="index" :range="tabs" range-key="create_time"> 5 <picker @change="bindPickerChange" :value="index" :range="tabs" range-key="create_time">
14 - <view class=""> 6 + <view class="search-item">
  7 + <view class="search-item_label">
15 核对时间: 8 核对时间:
16 - {{sxtitle||'请选择时间'}}  
17 - <text class="icon icon-arrow-right-copy-copy"></text> 9 + </view>
  10 + <view class="search-item_content">
  11 + <template v-if="sxtitle">
  12 + {{sxtitle}}
  13 + </template>
  14 + <text class="msg" v-else>请选择时间</text>
  15 + </view>
  16 + <u-icon name="arrow-down-fill" color="#646464" size="10px"></u-icon>
18 </view> 17 </view>
19 </picker> 18 </picker>
20 </view> 19 </view>
  20 + </u-sticky>
21 21
22 - <view class="stu_list">  
23 - <view class="stu_li" v-for="(item,index) in datas">  
24 - <view class="stu_li_name"> 22 + <view class="list">
  23 + <view class="item" v-for="(item,index) in datas" :key="index">
  24 + <view class="info">
  25 + <view class="name">
25 {{item.name}} 26 {{item.name}}
26 - <image v-if="item.sex!=1" src="/static/images/tch/icon_female.png" mode="aspectFit"></image>  
27 - <image v-else src="/static/images/tch/icon_male.png" mode="aspectFit"></image>  
28 </view> 27 </view>
29 - <view class="flex_1"></view>  
30 - <view class="sf_v">  
31 - <text>是否到课:</text>  
32 - <view class="sf_v_btn" v-if="item.dk==1">  
33 - 28 + <image class="gender" v-if="item.sex!=1" src="/static/imagesV2/stu_selection/icon_female.png" mode="aspectFit"></image>
  29 + <image class="gender" v-else src="/static/imagesV2/stu_selection/icon_male.png" mode="aspectFit"></image>
34 </view> 30 </view>
35 - <view class="sf_v_btn" v-else>  
36 - 31 + <view class="operate">
  32 + <text class="operate-label">是否到课:</text>
  33 + <view class="operate-content">
  34 + {{item.dk==1 ? '是' : '否'}}
37 </view> 35 </view>
38 </view> 36 </view>
39 </view> 37 </view>
@@ -44,9 +42,7 @@ @@ -44,9 +42,7 @@
44 > 42 >
45 </u-empty> 43 </u-empty>
46 </view> 44 </view>
47 - </view>  
48 - <!-- 阻止滑动 -->  
49 - <!-- <view @touchmove.stop.prevent='test'></view> --> 45 +
50 </view> 46 </view>
51 </template> 47 </template>
52 48
@@ -235,119 +231,72 @@ @@ -235,119 +231,72 @@
235 <style lang="scss" scoped> 231 <style lang="scss" scoped>
236 .wrap_box { 232 .wrap_box {
237 width: 100%; 233 width: 100%;
238 - // padding: 30rpx;  
239 min-height: 100vh; 234 min-height: 100vh;
240 // #ifdef H5 235 // #ifdef H5
241 min-height: calc(100vh - 44px); 236 min-height: calc(100vh - 44px);
242 // #endif 237 // #endif
243 background: #F8F8F8; 238 background: #F8F8F8;
244 position: relative; 239 position: relative;
  240 + padding-bottom: 30rpx;
245 } 241 }
246 242
247 - .tel_index_bg {  
248 - position: absolute;  
249 - top: 0;  
250 - z-index: 1;  
251 - width: 100%;  
252 - min-height: 220rpx;  
253 - background: linear-gradient(0deg, #f8f8f8 0%, #5D9DFD 60%, #428EFE 70%, #2D81FF 100%);  
254 - }  
255 -  
256 - .bz_box {  
257 - width: 100%;  
258 - position: relative;  
259 - z-index: 2;  
260 - padding:0 30rpx 30rpx;  
261 -  
262 - .stu_num {  
263 - width: 100%;  
264 - height: 80rpx; 243 + .search {
  244 + padding: 30rpx;
  245 + background: #F8F8F8;
  246 + &-item {
265 display: flex; 247 display: flex;
266 align-items: center; 248 align-items: center;
267 - font-size: 28rpx;  
268 - color: #fff;  
269 - justify-content: space-between;  
270 - .icon{  
271 - font-size: 24rpx;  
272 - margin-left: 10rpx; 249 + font-size: 26rpx;
  250 + font-family: PingFang SC;
  251 + font-weight: 500;
  252 + color: #323232;
  253 + &_label {
  254 + width: 140rpx;
273 } 255 }
  256 + &_content {
  257 + margin-right: 5rpx;
  258 + .msg {
  259 + color: #646464;
274 } 260 }
275 } 261 }
276 -  
277 - .stu_list {  
278 - width: 100%;  
279 - min-height: 100rpx;  
280 - background: #FFFFFF;  
281 - border-radius: 10rpx;  
282 -  
283 - .stu_li {  
284 - width: 100%;  
285 - height: 100rpx;  
286 - display: flex;  
287 - align-items: center;  
288 - padding: 0 30rpx;  
289 -  
290 - &+.stu_li {  
291 - border-top: 1px solid #eee;  
292 - }  
293 -  
294 - .stu_li_name {  
295 - font-size: 30rpx;  
296 - color: #545D71;  
297 - margin-bottom: 10rpx;  
298 -  
299 - image {  
300 - width: 28rpx;  
301 - height: 28rpx;  
302 - margin-left: 5rpx;  
303 } 262 }
304 } 263 }
305 -  
306 - .sf_v {  
307 - font-size: 30rpx;  
308 - color: #A9B1C0; 264 + .list {
  265 + padding: 0 30rpx;
  266 + .item {
  267 + background: #FFFFFF;
  268 + border-radius: 20rpx;
  269 + padding: 30rpx;
309 display: flex; 270 display: flex;
310 align-items: center; 271 align-items: center;
311 -  
312 - .sf_v_btn { 272 + & + .item {
  273 + margin-top: 20rpx;
  274 + }
  275 + .info {
  276 + flex: 1;
313 display: flex; 277 display: flex;
314 align-items: center; 278 align-items: center;
  279 + }
  280 + .gender {
  281 + width: 29rpx !important;
  282 + height: 24rpx !important;
315 margin-left: 20rpx; 283 margin-left: 20rpx;
316 - font-size: 30rpx;  
317 - color: #A9B1C0;  
318 -  
319 - .sf_v_btn_b { 284 + }
  285 + .operate {
320 display: flex; 286 display: flex;
321 align-items: center; 287 align-items: center;
322 - justify-content: center;  
323 - font-size: 18rpx;  
324 - color: #fff;  
325 - width: 32rpx;  
326 - height: 32rpx;  
327 - border: 1px solid #DDDDDD;  
328 - border-radius: 50%;  
329 - margin-left: 8rpx;  
330 -  
331 - &.active {  
332 - background: #2D81FF;  
333 - border: 1px solid #2D81FF;  
334 - }  
335 - }  
336 - } 288 + font-size: 26rpx;
  289 + font-family: PingFang SC;
  290 + font-weight: 500;
  291 + color: #646464;
  292 + &-content {
  293 + font-size: 28rpx;
  294 + font-family: PingFang SC;
  295 + font-weight: 500;
  296 + color: #323232;
  297 + margin-left: 5px;
337 } 298 }
338 } 299 }
339 } 300 }
340 -  
341 - .save_btn {  
342 - display: flex;  
343 - align-items: center;  
344 - justify-content: center;  
345 - font-size: 32rpx;  
346 - color: #FFFFFF;  
347 - width: 100%;  
348 - height: 90rpx;  
349 - background: #2D81FF;  
350 - border-radius: 10rpx;  
351 - margin-top: 40rpx;  
352 } 301 }
353 </style> 302 </style>
1 <template> 1 <template>
2 <view class="wrap_box"> 2 <view class="wrap_box">
3 - <!-- <uParse v-if="datas" :content="datas"></uParse> -->  
4 - <view class="tel_index_bg"></view>  
5 <view class="stu_list"> 3 <view class="stu_list">
6 <view class="stu_search"> 4 <view class="stu_search">
7 - <u-icon name="search" size="30" color="#659ff5"></u-icon> 5 + <u-icon name="search" size="24" color="#979797"></u-icon>
8 <input v-model="keywords" confirm-type="search" @confirm="confirm" class="stu_search-input" type="text" 6 <input v-model="keywords" confirm-type="search" @confirm="confirm" class="stu_search-input" type="text"
9 - placeholder="搜索姓名" placeholder-style="color: #428DFE"> 7 + placeholder="搜索姓名" placeholder-style="color: #C3C3C3">
10 </view> 8 </view>
11 <view class="stu_num"> 9 <view class="stu_num">
12 - <image class="stu_num-icon" src="@/static/images/xh_icon13.png"></image>  
13 - <text class="stu_num-text">共{{datas.length}}人</text>  
14 - <image class="stu_num-icon" src="@/static/images/xh_icon13.png"></image> 10 + 共<text class="stu_num-text">{{datas.length}}</text>人
15 </view> 11 </view>
16 <scroll-view style="height: 1200rpx;" :scroll-y="true"> 12 <scroll-view style="height: 1200rpx;" :scroll-y="true">
17 - <view v-for="(item,index) in datas" :key="index" class="stu_li dis_flex"> 13 + <view v-for="(item,index) in datas" :key="index" class="stu_item">
18 14
19 - <image v-if="item.img" class="stu_li_tx" :src="$service.getimg(item.img)" mode="aspectFill"></image>  
20 - <image v-else class="stu_li_tx" src="/static/images/tx.png" mode="aspectFill"></image>  
21 - <view class="flex_1">  
22 - <view class="stu_li_name">  
23 - {{item.name}}  
24 - <image v-if="item.sex!=1" src="/static/images/tch/icon_female.png" mode="aspectFit"></image>  
25 - <image v-else src="/static/images/tch/icon_male.png" mode="aspectFit"></image> 15 + <view class="avatar">
  16 + <image class="avatar-img" v-if="item.img" :src="$service.getimg(item.img)" mode="aspectFill"></image>
  17 + <image class="avatar-img" v-else src="/static/imagesV2/tch_index/default-avatar.png" mode="aspectFill"></image>
  18 + <view class="gender">
  19 + <image v-if="item.sex!=1" src="/static/imagesV2/stu_selection/icon_female.png" mode="aspectFit"></image>
  20 + <image v-else src="/static/imagesV2/stu_selection/icon_male.png" mode="aspectFit"></image>
26 </view> 21 </view>
27 - <view class="stu_li_time">  
28 - {{item.add_time}} 入学  
29 </view> 22 </view>
  23 +
  24 + <view class="info">
  25 + <view class="name">
  26 + {{item.name}}
30 </view> 27 </view>
31 - <view class="stu_li_ban"> 28 + <view>
  29 + <text>
32 {{item.class_name}} 30 {{item.class_name}}
  31 + </text>
  32 + <text style="margin-left: 20rpx;">
  33 + {{item.add_time}}入学
  34 + </text>
  35 + </view>
33 </view> 36 </view>
34 </view> 37 </view>
35 <u-empty v-if="datas.length==0" mode="data" text="暂无名单" icon="/static/images/tch/img_blank.png"> 38 <u-empty v-if="datas.length==0" mode="data" text="暂无名单" icon="/static/images/tch/img_blank.png">
@@ -200,96 +203,78 @@ @@ -200,96 +203,78 @@
200 position: relative; 203 position: relative;
201 } 204 }
202 205
203 - .tel_index_bg {  
204 - position: absolute;  
205 - top: 0;  
206 - z-index: 1;  
207 - width: 100%;  
208 - min-height: 220rpx;  
209 - background: linear-gradient(0deg, #f8f8f8 0%, #5D9DFD 60%, #428EFE 70%, #2D81FF 100%);  
210 - }  
211 -  
212 .stu_list { 206 .stu_list {
213 position: relative; 207 position: relative;
214 z-index: 2; 208 z-index: 2;
215 width: 100%; 209 width: 100%;
216 - padding: 0 30rpx 30rpx; 210 + padding: 30rpx;
217 211
218 .stu_search { 212 .stu_search {
219 - background-color: rgba(#fff, 0.4);  
220 - height: 68rpx; 213 + background-color:#fff;
221 display: flex; 214 display: flex;
222 - border-radius: 200rpx; 215 + border-radius: 36rpx;
223 align-items: center; 216 align-items: center;
224 - padding: 0 20rpx;  
225 - 217 + padding: 15rpx 20rpx 15rpx 30rpx;
  218 + border-radius: 36rpx;
226 .stu_search-input { 219 .stu_search-input {
227 flex-grow: 1; 220 flex-grow: 1;
228 } 221 }
229 } 222 }
230 223
231 .stu_num { 224 .stu_num {
232 - width: 100%;  
233 - height: 80rpx;  
234 - display: flex;  
235 - align-items: center;  
236 - font-size: 30rox;  
237 - color: #477FF6;  
238 - justify-content: center;  
239 -  
240 - .stu_num-icon {  
241 - height: 12rpx;  
242 - width: 50rpx;  
243 - }  
244 - 225 + font-size: 26rpx;
  226 + font-family: PingFang SC;
  227 + font-weight: 500;
  228 + color: #323232;
  229 + padding: 20rpx 0;
245 .stu_num-text { 230 .stu_num-text {
246 - color: #477FF6;  
247 - margin: 0 20rpx; 231 + color: #2D81FF;
248 } 232 }
249 } 233 }
250 234
251 - .stu_li {  
252 - width: 100%;  
253 - min-height: 120rpx; 235 + .stu_item {
254 background: #FFFFFF; 236 background: #FFFFFF;
255 - border-radius: 10rpx;  
256 - padding: 24rpx 30rpx; 237 + border-radius: 20rpx;
  238 + padding: 30rpx;
  239 + display: flex;
257 align-items: center; 240 align-items: center;
258 241
259 - &+.stu_li {  
260 - margin-top: 22rpx; 242 + & + .stu_item {
  243 + margin-top: 20rpx;
261 } 244 }
262 245
263 - .stu_li_tx {  
264 - width: 64rpx;  
265 - height: 64rpx; 246 + .avatar {
  247 + width: 110rpx;
  248 + height: 110rpx;
  249 + border-radius: 50%;
  250 + position: relative;
  251 + margin-right: 30rpx;
  252 + .avatar-img {
266 border-radius: 50%; 253 border-radius: 50%;
267 - margin-right: 20rpx;  
268 } 254 }
269 -  
270 - .stu_li_name {  
271 - font-size: 30rpx;  
272 - color: #545D71;  
273 - margin-bottom: 10rpx;  
274 -  
275 - image {  
276 - width: 28rpx;  
277 - height: 28rpx;  
278 - margin-left: 5rpx; 255 + .gender {
  256 + position: absolute;
  257 + width: 29rpx;
  258 + height: 24rpx;
  259 + right: 0rpx;
  260 + bottom: 12rpx;
279 } 261 }
280 } 262 }
281 -  
282 - .stu_li_time {  
283 - font-size: 28rpx;  
284 - color: #A9B1C0; 263 + .info {
  264 + flex: 1;
  265 + font-size: 26rpx;
  266 + font-family: PingFang SC;
  267 + font-weight: 500;
  268 + color: #646464;
  269 + .name {
  270 + font-size: 30rpx;
  271 + font-family: PingFang SC;
  272 + font-weight: bold;
  273 + margin-bottom: 24rpx;
  274 + color: #323232;
285 } 275 }
286 -  
287 - .stu_li_ban {  
288 - font-size: 28rpx;  
289 - color: #2D81FF;  
290 - padding: 4rpx 14rpx;  
291 - background: #2D81FF1a;  
292 } 276 }
293 } 277 }
  278 +
294 } 279 }
295 </style> 280 </style>
1 <template> 1 <template>
2 <view class="wrap_box"> 2 <view class="wrap_box">
3 - <!-- <uParse v-if="datas" :content="datas"></uParse> -->  
4 - <!-- stu_bz_index -->  
5 - <view class="tel_index_bg"></view>  
6 <view class="bz_box"> 3 <view class="bz_box">
7 <view class="stu_msg"> 4 <view class="stu_msg">
8 <view class="stu_li"> 5 <view class="stu_li">
@@ -65,18 +62,23 @@ @@ -65,18 +62,23 @@
65 <view class="stu_l"> 62 <view class="stu_l">
66 学号: 63 学号:
67 </view> 64 </view>
68 - <view class="stu_r" style="color: #FF9A18;"> 65 + <view class="stu_r" style="color: #2D81FF;">
69 <!-- 未分配 --> 66 <!-- 未分配 -->
70 - {{datas.study_code||'未分配'}} 67 + {{datas.study_code || '未分配'}}
71 </view> 68 </view>
72 </view> 69 </view>
73 <view class="stu_li"> 70 <view class="stu_li">
74 <view class="stu_l"> 71 <view class="stu_l">
75 住宿办理: 72 住宿办理:
76 </view> 73 </view>
77 - <view class="stu_r" style="color: #66C134;">  
78 - <!-- 住宿状态 1、已缴费 2、未办理 -->  
79 - {{datas.bed_type==1?'已缴费':'未办理'}} 74 + <view class="stu_r">
  75 +
  76 + <view class="state bg" v-if="datas.bed_type==1">
  77 + 已缴费
  78 + </view>
  79 + <view class="state" >
  80 + 未办理
  81 + </view>
80 </view> 82 </view>
81 </view> 83 </view>
82 <view class="stu_li"> 84 <view class="stu_li">
@@ -272,41 +274,51 @@ @@ -272,41 +274,51 @@
272 background: #F8F8F8; 274 background: #F8F8F8;
273 position: relative; 275 position: relative;
274 } 276 }
275 -.tel_index_bg{  
276 - position: absolute;  
277 - top: 0;  
278 - z-index: 1;  
279 - width: 100%;  
280 - min-height: 220rpx;  
281 - background: linear-gradient(0deg, #f8f8f8 0%, #5D9DFD 60%, #428EFE 70%, #2D81FF 100%);  
282 -} 277 +
283 .bz_box{ 278 .bz_box{
284 - width: 100%; 279 + padding: 25rpx;
285 position: relative; 280 position: relative;
286 z-index: 2; 281 z-index: 2;
287 - padding: 30rpx;  
288 } 282 }
289 .stu_msg{ 283 .stu_msg{
290 width: 100%; 284 width: 100%;
291 background: #FFFFFF; 285 background: #FFFFFF;
292 - border-radius: 10rpx; 286 + padding: 0 30rpx;
  287 + border-radius: 20rpx;
293 .stu_li{ 288 .stu_li{
294 width: 100%; 289 width: 100%;
295 - height: 93rpx;  
296 display: flex; 290 display: flex;
297 align-items: center; 291 align-items: center;
298 justify-content: space-between; 292 justify-content: space-between;
299 - padding: 0 30rpx; 293 + padding: 30rpx 0;
300 &+.stu_li{ 294 &+.stu_li{
301 - border-top: 1px solid #eee; 295 + border-top: 1px solid #F3F3F7;
302 } 296 }
303 .stu_l{ 297 .stu_l{
304 - font-size: 32rpx;  
305 - color: #545D71; 298 + font-size: 30rpx;
  299 + font-family: PingFang SC;
  300 + font-weight: 500;
  301 + color: #000000;
306 } 302 }
307 .stu_r{ 303 .stu_r{
308 - font-size: 32rpx;  
309 - color: #A6A9B1; 304 + font-size: 28rpx;
  305 + font-family: PingFang SC;
  306 + font-weight: 400;
  307 + color: #646464;
  308 +
  309 + .state {
  310 + background: rgba(255, 150, 56, 0.15);
  311 + border-radius: 5rpx;
  312 + font-size: 26rpx;
  313 + font-family: PingFang SC;
  314 + font-weight: 500;
  315 + color: #FF9638;
  316 + padding: 5rpx;
  317 + & .bg {
  318 + background: rgba(52, 213, 170, 0.15);
  319 + color: #10C69E;
  320 + }
  321 + }
310 } 322 }
311 } 323 }
312 } 324 }
1 <template> 1 <template>
2 <view class="wrap_box"> 2 <view class="wrap_box">
3 - <!-- <uParse v-if="datas" :content="datas"></uParse> -->  
4 - <view class="tel_index_bg"></view>  
5 <view class="stu_list"> 3 <view class="stu_list">
6 <view class="stu_search"> 4 <view class="stu_search">
7 - <u-icon name="search" size="30" color="#659ff5"></u-icon> 5 + <u-icon name="search" size="30" color="#979797"></u-icon>
8 <input v-model="keywords" confirm-type="search" @confirm="confirm" class="stu_search-input" type="text" 6 <input v-model="keywords" confirm-type="search" @confirm="confirm" class="stu_search-input" type="text"
9 - placeholder="搜索姓名" placeholder-style="color: #428DFE"> 7 + placeholder="搜索姓名" placeholder-style="color: #C3C3C3">
10 </view> 8 </view>
11 <view class="stu_num"> 9 <view class="stu_num">
12 - <image class="stu_num-icon" src="@/static/images/xh_icon13.png"></image>  
13 - <text class="stu_num-text">共{{datas.length}}人</text>  
14 - <image class="stu_num-icon" src="@/static/images/xh_icon13.png"></image> 10 + 共<text class="stu_num-text">{{datas.length}}</text>人
15 </view> 11 </view>
16 <scroll-view style="height: 1200rpx;" :scroll-y="true"> 12 <scroll-view style="height: 1200rpx;" :scroll-y="true">
17 - <view class="stuli_box">  
18 - <view v-for="(item,index) in datas" class="stu_li dis_flex">  
19 - <view class="flex_1">  
20 - <view class="stu_li_name"> 13 + <view class="stu_item" v-for="(item,index) in datas">
  14 + <view class="info">
  15 + <view class="name" >
21 {{item.name}} 16 {{item.name}}
22 - <image v-if="item.sex!=1" src="/static/images/tch/icon_female.png" mode="aspectFit">  
23 - </image>  
24 - <image v-else src="/static/images/tch/icon_male.png" mode="aspectFit"></image>  
25 </view> 17 </view>
  18 + <image class="gender" v-if="item.sex!=1" src="/static/imagesV2/stu_selection/icon_female.png" mode="aspectFit"></image>
  19 + <image class="gender" v-else src="/static/imagesV2/stu_selection/icon_male.png" mode="aspectFit"></image>
  20 + </view>
  21 + <view class="operate">
  22 + <view class="btn" @click="$service.jump" :data-url="'/pagesA/stu_bz_index/stu_bz_index?id='+item.id">
  23 + <view class="icon">
  24 + <image src="/static/imagesV2/tch_index/icon11.png" mode=""></image>
26 </view> 25 </view>
27 - <view class="stu_bz" @click="$service.jump"  
28 - :data-url="'/pagesA/stu_bz_index/stu_bz_index?id='+item.id">  
29 备注信息 26 备注信息
30 </view> 27 </view>
31 - <view class="stu_bz" @click="$service.jump" :data-url="'/pagesA/stu_msg/stu_msg?id='+item.id"> 28 + <view class="btn" @click="$service.jump" :data-url="'/pagesA/stu_msg/stu_msg?id='+item.id">
  29 + <view class="icon">
  30 + <image src="/static/imagesV2/tch_index/icon10.png" mode=""></image>
  31 + </view>
32 查看档案 32 查看档案
33 </view> 33 </view>
34 </view> 34 </view>
35 </view> 35 </view>
36 </scroll-view> 36 </scroll-view>
37 </view> 37 </view>
38 - <!-- 阻止滑动 -->  
39 - <!-- <view @touchmove.stop.prevent='test'></view> --> 38 +
40 </view> 39 </view>
41 </template> 40 </template>
42 41
@@ -180,86 +179,74 @@ @@ -180,86 +179,74 @@
180 position: relative; 179 position: relative;
181 } 180 }
182 181
183 - .tel_index_bg {  
184 - position: absolute;  
185 - top: 0;  
186 - z-index: 1;  
187 - width: 100%;  
188 - min-height: 220rpx;  
189 - background: linear-gradient(0deg, #f8f8f8 0%, #5D9DFD 60%, #428EFE 70%, #2D81FF 100%);  
190 - }  
191 -  
192 .stu_list { 182 .stu_list {
193 position: relative; 183 position: relative;
194 z-index: 2; 184 z-index: 2;
195 width: 100%; 185 width: 100%;
196 - padding: 0 30rpx 30rpx; 186 + padding: 30rpx;
197 187
198 .stu_search { 188 .stu_search {
199 - background-color: rgba(#fff, 0.4);  
200 - height: 68rpx; 189 + background-color:#fff;
201 display: flex; 190 display: flex;
202 - border-radius: 200rpx; 191 + border-radius: 36rpx;
203 align-items: center; 192 align-items: center;
204 - padding: 0 20rpx;  
205 - 193 + padding: 10rpx 20rpx 10rpx 30rpx;
  194 + border-radius: 36rpx;
206 .stu_search-input { 195 .stu_search-input {
207 flex-grow: 1; 196 flex-grow: 1;
208 } 197 }
209 } 198 }
210 199
211 .stu_num { 200 .stu_num {
212 - width: 100%;  
213 - height: 80rpx;  
214 - display: flex;  
215 - align-items: center;  
216 - font-size: 30rox;  
217 - color: #477FF6;  
218 - justify-content: center;  
219 -  
220 - .stu_num-icon {  
221 - height: 12rpx;  
222 - width: 50rpx;  
223 - }  
224 - 201 + font-size: 26rpx;
  202 + font-family: PingFang SC;
  203 + font-weight: 500;
  204 + color: #323232;
  205 + padding: 20rpx 0;
225 .stu_num-text { 206 .stu_num-text {
226 - color: #477FF6;  
227 - margin: 0 20rpx; 207 + color: #2D81FF;
228 } 208 }
229 } 209 }
230 210
231 - .stuli_box {  
232 - border-radius: 10rpx; 211 + .stu_item {
233 background: #FFFFFF; 212 background: #FFFFFF;
234 - }  
235 -  
236 - .stu_li {  
237 - width: 100%;  
238 - min-height: 120rpx;  
239 - // border-radius: 10rpx;  
240 - padding: 24rpx 30rpx; 213 + border-radius: 20rpx;
  214 + padding: 30rpx;
  215 + display: flex;
241 align-items: center; 216 align-items: center;
242 217
243 - &+.stu_li {  
244 - border-top: 1px solid #eee; 218 + & + .stu_item {
  219 + margin-top: 20rpx;
245 } 220 }
246 -  
247 - .stu_li_name {  
248 - font-size: 30rpx;  
249 - color: #545D71;  
250 - margin-bottom: 10rpx;  
251 -  
252 - image {  
253 - width: 28rpx;  
254 - height: 28rpx;  
255 - margin-left: 5rpx; 221 + .info {
  222 + flex: 1;
  223 + display: flex;
  224 + align-items: center;
256 } 225 }
  226 + .gender {
  227 + width: 29rpx !important;
  228 + height: 24rpx !important;
  229 + margin-left: 20rpx;
257 } 230 }
258 231
259 - .stu_bz {  
260 - font-size: 30rpx;  
261 - color: #9699A9;  
262 - margin-left: 35rpx; 232 + .operate {
  233 + display: flex;
  234 + align-items: center;
  235 + justify-content: flex-end;
  236 + .btn {
  237 + display: flex;
  238 + align-items: center;
  239 + font-size: 26rpx;
  240 + font-family: PingFang SC;
  241 + font-weight: 500;
  242 + color: #646464;
  243 + margin-left: 30rpx;
  244 + .icon {
  245 + margin-right: 10rpx;
  246 + width: 30rpx;
  247 + height: 30rpx;
  248 + }
  249 + }
263 } 250 }
264 } 251 }
265 } 252 }
1 <template> 1 <template>
2 <view class="wrap_box"> 2 <view class="wrap_box">
3 - <!-- <uParse v-if="datas" :content="datas"></uParse> -->  
4 - <view class="kq_box">  
5 - <view class="kq_bg dis_flex aic ju_c">  
6 - <image class="kq_bgimg" src="/static/images/tbbj.png" mode="widthFix"></image>  
7 - <view class="">  
8 - <text>{{allnum}}</text>分 3 + <CustomReturn title="考勤积分" color="#fff" :bgColor="bgColor">
  4 +
  5 + </CustomReturn>
  6 + <view class="bg-img">
  7 + <image src="/static/imagesV2/tch_index/bg1.png" mode="aspectFill"></image>
  8 + </view>
  9 +
  10 + <PaddingTopB>
  11 + <view class="main">
  12 + <view class="head">
  13 + <view class="head-label">
  14 + 班级考勤积分(分)
  15 + </view>
  16 + <view class="head-content">
  17 + {{allnum}}
  18 + </view>
  19 + </view>
  20 +
  21 + <view class="list">
  22 + <view class="item" v-for="(item,index) in datas" :key="index">
  23 + <view class="item-cell">
  24 + <view class="title">
  25 + {{item.title}}
  26 + </view>
  27 + <view class="value">
  28 + -{{item.class_num}}
9 </view> 29 </view>
10 </view> 30 </view>
11 - <view class="kq_list_box">  
12 - <view class="kq_list">  
13 - <view v-for="(item,index) in datas" class="kq_li">  
14 - <view class="kq_li_d1 dis_flex aic ju_b">  
15 - <view class="">{{item.title}}</view>  
16 - <view class="kq_li_num">-{{item.class_num}}</view> 31 + <view class="item-cell">
  32 + <view class="name">
  33 + 学员:{{item.uid}}
17 </view> 34 </view>
18 - <view class="kq_li_d2 dis_flex aic ju_b">  
19 - <view class="user_name oh1">学员:{{item.uid}}</view>  
20 - <view class="kq_li_num">{{item.deduct_time}}</view>  
21 - </view> </view> 35 + <view>
  36 + {{item.deduct_time}}
22 </view> 37 </view>
23 </view> 38 </view>
24 </view> 39 </view>
  40 + </view>
  41 +
  42 + </view>
  43 +
25 44
26 - <!-- 阻止滑动 -->  
27 - <!-- <view @touchmove.stop.prevent='test'></view> --> 45 + </PaddingTopB>
28 </view> 46 </view>
29 </template> 47 </template>
30 48
@@ -34,10 +52,17 @@ @@ -34,10 +52,17 @@
34 mapState, 52 mapState,
35 mapMutations 53 mapMutations
36 } from 'vuex' 54 } from 'vuex'
  55 + import CustomReturn from "@/components/CustomReturn/index.vue"
  56 + import PaddingTopB from "@/components/PaddingTopB/index.vue"
37 var that 57 var that
38 export default { 58 export default {
  59 + components: {
  60 + CustomReturn,
  61 + PaddingTopB
  62 + },
39 data() { 63 data() {
40 return { 64 return {
  65 + bgColor: 'transparent',
41 options:'', 66 options:'',
42 datas:'', 67 datas:'',
43 allnum:'', 68 allnum:'',
@@ -47,6 +72,13 @@ @@ -47,6 +72,13 @@
47 computed: { 72 computed: {
48 ...mapState(['hasLogin', 'forcedLogin', 'userName', 'userinfo','nowtime']), 73 ...mapState(['hasLogin', 'forcedLogin', 'userName', 'userinfo','nowtime']),
49 }, 74 },
  75 + onPageScroll(e) {
  76 + if(e.scrollTop > 0 ) {
  77 + this.bgColor = '#3384fc'
  78 + }else {
  79 + this.bgColor = 'transparent'
  80 + }
  81 + },
50 onLoad(e) { 82 onLoad(e) {
51 that=this 83 that=this
52 that.options=e||{} 84 that.options=e||{}
@@ -168,71 +200,72 @@ @@ -168,71 +200,72 @@
168 // #ifdef H5 200 // #ifdef H5
169 min-height: calc(100vh - 44px); 201 min-height: calc(100vh - 44px);
170 // #endif 202 // #endif
171 - background: #F8F8F8; 203 + background: #f3f4f6;
172 } 204 }
173 -.kq_box{  
174 - width: 100%;  
175 - position: relative;  
176 - .kq_bg{  
177 - position: relative;  
178 - width: 100%;  
179 - height: 250rpx;  
180 - font-size: 32rpx;  
181 - color: #fff;  
182 - .kq_bgimg{ 205 +.bg-img {
  206 + height: 504rpx;
183 position: absolute; 207 position: absolute;
184 - top: 0;  
185 - z-index: 1;  
186 width: 100%; 208 width: 100%;
187 - height: 250rpx;  
188 - font-size: 32rpx;  
189 - color: #fff;  
190 -  
191 - 209 +}
  210 +.main {
  211 + width: 100%;
  212 + padding: 25rpx;
  213 + box-sizing: border-box;
  214 +}
  215 +.head {
  216 + font-family: PingFang SC;
  217 + color: #FFFFFF;
  218 + margin-top: 50rpx;
  219 + &-label {
  220 + font-size: 30rpx;
  221 + font-weight: 500;
192 } 222 }
193 - view{  
194 - position: relative;  
195 - top: -40rpx;  
196 - z-index: 2;  
197 - text{  
198 - font-size: 72rpx; 223 + &-content {
  224 + font-size: 60rpx;
199 font-weight: bold; 225 font-weight: bold;
200 - }  
201 - } 226 + margin-top: 20rpx;
202 } 227 }
203 } 228 }
204 -.kq_list_box{  
205 - width: 100%;  
206 - padding: 30rpx;  
207 - .kq_list{  
208 - width: 100%;  
209 - background: #fff;  
210 - border-radius: 10rpx;  
211 - .kq_li{  
212 - width: 100%;  
213 - padding: 28rpx;  
214 - min-height: 150rpx; 229 +
  230 +.list {
  231 + padding: 0 30rpx;
  232 + border-radius: 20rpx;
  233 + background-color: #fff;
  234 + margin-top: 30rpx;
  235 + .item {
  236 + border-bottom: 1px solid #FAFBFA;
  237 + padding: 30rpx 0;
  238 + &:last-child {
  239 + border: 0;
  240 + }
  241 + &-cell {
215 display: flex; 242 display: flex;
216 - flex-direction: column; 243 + align-items: center;
  244 + font-family: PingFang SC;
217 justify-content: space-between; 245 justify-content: space-between;
218 - &+.kq_li{  
219 - border-top: 1px solid #f8f8f8; 246 + margin-bottom: 20rpx;
  247 + &:last-child {
  248 + margin-bottom: 0;
220 } 249 }
221 - .kq_li_d1{  
222 - font-size: 32rpx;  
223 - color: #545D71;  
224 - .user_name{  
225 - max-width: 330rpx;  
226 - line-height: 36rpx;  
227 - height: 36rpx; 250 + .title {
  251 + font-size: 30rpx;
  252 + font-weight: 500;
  253 + color: #323232;
228 } 254 }
229 - .kq_li_num{  
230 - color: #FF9000; 255 + .value {
  256 + font-size: 30rpx;
  257 + font-weight: 500;
  258 + color: #FC5101;
231 } 259 }
  260 + .name {
  261 + font-size: 26rpx;
  262 + font-weight: 500;
  263 + color: #979797;
232 } 264 }
233 - .kq_li_d2{  
234 - font-size: 28rpx;  
235 - color: #A9B1C0; 265 + .time {
  266 + font-size: 24rpx;
  267 + font-weight: 400;
  268 + color: #979797;
236 } 269 }
237 } 270 }
238 } 271 }
1 <template> 1 <template>
2 <view class="oneSetting"> 2 <view class="oneSetting">
3 - <!-- 资料 设置 -->  
4 - <view class="tel_index_bg"></view>  
5 - <view class="vio_list">  
6 - <view class="msg_box ">  
7 - <view class="content-head-wrap flex">  
8 - <view class="content-head-img">  
9 - <!-- <image :src="imgUrl" mode="aspectFill"></image> --> 3 +
  4 + <view class="cell">
  5 + <view class="cell-item">
  6 + <view class="cell-item_label">
  7 + 头像
  8 + </view>
  9 + <view class="cell-item_content">
10 <avatar selWidth="250rpx" selHeight="250rpx" @upload="myUpload" 10 <avatar selWidth="250rpx" selHeight="250rpx" @upload="myUpload"
11 :avatarSrc="userdata.img?$service.getimg(userdata.img):imgUrl" 11 :avatarSrc="userdata.img?$service.getimg(userdata.img):imgUrl"
12 - avatarStyle="width: 164rpx;height: 164rpx;border-radius: 50%;" inner=true></avatar> 12 + avatarStyle="width: 100rpx;height: 100rpx;border-radius: 50%;" inner=true></avatar>
13 </view> 13 </view>
14 </view> 14 </view>
15 - <view class="content-item flex">  
16 - <view> 15 + <view class="cell-item">
  16 + <view class="cell-item_label">
17 姓名 17 姓名
18 </view> 18 </view>
19 - <view class="user-name">  
20 - 19 + <view class="cell-item_content">
21 {{userdata.nick}} 20 {{userdata.nick}}
22 </view> 21 </view>
23 </view> 22 </view>
24 - <view class="content-item flex">  
25 - <view> 23 + <view class="cell-item">
  24 + <view class="cell-item_label">
26 性别 25 性别
27 </view> 26 </view>
28 - <view class="user-name"> 27 + <view class="cell-item_content">
29 <!-- 性别 1、男 2、女 --> 28 <!-- 性别 1、男 2、女 -->
30 {{userdata.sex==1?'男':'女'}} 29 {{userdata.sex==1?'男':'女'}}
31 </view> 30 </view>
32 </view> 31 </view>
33 - <view class="content-item flex">  
34 - <view> 32 + <view class="cell-item">
  33 + <view class="cell-item_label">
35 手机号 34 手机号
36 </view> 35 </view>
37 - <view class="user-name"> 36 + <view class="cell-item_content">
38 {{userdata.phone}} 37 {{userdata.phone}}
39 </view> 38 </view>
40 </view> 39 </view>
41 - <view class="sign-out" @click="logout_fuc">  
42 - 退出登录  
43 </view> 40 </view>
44 41
45 </view> 42 </view>
46 - </view>  
47 - </view>  
48 </template> 43 </template>
49 44
50 <script> 45 <script>
@@ -254,4 +249,37 @@ @@ -254,4 +249,37 @@
254 color: #2D81FF; 249 color: #2D81FF;
255 } 250 }
256 } 251 }
  252 +
  253 +
  254 + .cell {
  255 + background-color: #fff;
  256 + padding: 0 30rpx;
  257 + border-radius: 20rpx;
  258 + margin: 25rpx;
  259 + &-item {
  260 + display: flex;
  261 + align-items: center;
  262 + justify-content: space-between;
  263 + padding: 30rpx 0;
  264 + border-bottom: 1px solid #F3F3F7;
  265 +
  266 + &:last-child {
  267 + border: 0;
  268 + }
  269 +
  270 + &_label {
  271 + font-size: 30rpx;
  272 + font-family: PingFang SC;
  273 + font-weight: 500;
  274 + color: #000000;
  275 + }
  276 + &_content {
  277 + font-size: 28rpx;
  278 + font-family: PingFang SC;
  279 + font-weight: 400;
  280 + color: #646464;
  281 + }
  282 + }
  283 +
  284 + }
257 </style> 285 </style>
1 <template> 1 <template>
2 <view class="wrap_box"> 2 <view class="wrap_box">
3 - <!-- <uParse v-if="datas" :content="datas"></uParse> -->  
4 - <image class="ph_banner" src="/static/images/phb.png" mode="aspectFill"></image>  
5 - <view class="ph_box">  
6 - <view class="ph_tit dis_flex aic">  
7 - <view class="ph_d1">  
8 - 排名 3 + <CustomReturn title="校园排行榜" color="#fff" :bgColor="bgColor">
  4 +
  5 + </CustomReturn>
  6 + <view class="bg-img">
  7 + <image src="/static/imagesV2/icon18.png" mode="aspectFill"></image>
9 </view> 8 </view>
10 - <view class="ph_d2">  
11 - 班级 9 +
  10 + <PaddingTopB>
  11 +
  12 + <view class="main">
  13 +
  14 + <view class="card">
  15 + <view class="head">
  16 + <view class="icon">
  17 + <image src="/static/imagesV2/icon19.png" mode="aspectFill"></image>
12 </view> 18 </view>
13 - <view class="ph_d3">  
14 - 得分 19 + <view class="title">
  20 + 班级考勤排名
15 </view> 21 </view>
  22 + <view class="icon">
  23 + <image src="/static/imagesV2/icon19s.png" mode="aspectFill"></image>
16 </view> 24 </view>
17 - <view v-for="(item,index) in datas" class="ph_li">  
18 - <view class="ph_d1">  
19 - <image v-if="item.key==1" src="/static/images/ph.png" mode="aspectFit"></image>  
20 - <image v-else-if="item.key==2" src="/static/images/ph2.png" mode="aspectFit"></image>  
21 - <image v-else-if="item.key==3" src="/static/images/ph3.png" mode="aspectFit"></image> 25 + </view>
  26 +
  27 + <view class="list">
  28 + <view class="item" v-for="(item,index) in datas">
  29 + <view class="item-index">
  30 + <image v-if="item.key==1" src="/static/imagesV2/icon20.png" mode="aspectFit"></image>
  31 + <image v-else-if="item.key==2" src="/static/imagesV2/icon21.png" mode="aspectFit"></image>
  32 + <image v-else-if="item.key==3" src="/static/imagesV2/icon22.png" mode="aspectFit"></image>
22 <text v-else>{{item.key}}</text> 33 <text v-else>{{item.key}}</text>
23 </view> 34 </view>
24 - <view class="ph_d2"> 35 + <view class="item-title">
25 {{item.title}} 36 {{item.title}}
26 </view> 37 </view>
27 - <view class="ph_d3">  
28 - {{item.num}}分 38 + <view class="item-val">
  39 + {{item.num}}
  40 + </view>
  41 + <view class="item-unit">
  42 +
29 </view> 43 </view>
30 </view> 44 </view>
31 - <view class="ph_li ph_li_b">  
32 - <view class="ph_d1">  
33 - <image v-if="mydata.key==0" src="/static/images/ph.png" mode="aspectFit"></image>  
34 - <image v-else-if="mydata.key==1" src="/static/images/ph2.png" mode="aspectFit"></image>  
35 - <image v-else-if="mydata.key==2" src="/static/images/ph3.png" mode="aspectFit"></image> 45 + <u-empty
  46 + v-if="datas.length==0"
  47 + mode="data"
  48 + text="暂无数据"
  49 + icon="/static/images/tch/img_blank.png"
  50 + >
  51 + </u-empty>
  52 + </view>
  53 +
  54 + <view class="footer">
  55 + <view class="item">
  56 + <view class="item-index">
  57 + <image v-if="mydata.key==1" src="/static/imagesV2/icon20.png" mode="aspectFit"></image>
  58 + <image v-else-if="mydata.key==2" src="/static/imagesV2/icon21.png" mode="aspectFit"></image>
  59 + <image v-else-if="mydata.key==3" src="/static/imagesV2/icon22.png" mode="aspectFit"></image>
36 <text v-else>{{mydata.key}}</text> 60 <text v-else>{{mydata.key}}</text>
37 - <!-- <text>{{mydata.key}}</text> -->  
38 </view> 61 </view>
39 - <view class="ph_d2">  
40 - {{mydata.title}}<text>本班</text> 62 + <view class="item-title">
  63 + {{mydata.title || ''}}
  64 + </view>
  65 + <view class="item-tabs">
  66 + <view class="tab">
  67 + 本班
  68 + </view>
41 </view> 69 </view>
42 - <view class="ph_d3">  
43 - {{mydata.num}}分 70 + <view class="item-val">
  71 + {{mydata.num || ''}}
44 </view> 72 </view>
  73 + <view class="item-unit">
  74 +
45 </view> 75 </view>
46 </view> 76 </view>
47 - <!-- 阻止滑动 -->  
48 - <!-- <view @touchmove.stop.prevent='test'></view> --> 77 + </view>
  78 + </view>
  79 +
  80 +
  81 +
  82 +
  83 + </view>
  84 +
  85 + </PaddingTopB>
  86 +
49 </view> 87 </view>
50 </template> 88 </template>
51 89
@@ -55,10 +93,17 @@ @@ -55,10 +93,17 @@
55 mapState, 93 mapState,
56 mapMutations 94 mapMutations
57 } from 'vuex' 95 } from 'vuex'
  96 + import CustomReturn from "@/components/CustomReturn/index.vue"
  97 + import PaddingTopB from "@/components/PaddingTopB/index.vue"
58 var that 98 var that
59 export default { 99 export default {
  100 + components: {
  101 + CustomReturn,
  102 + PaddingTopB
  103 + },
60 data() { 104 data() {
61 return { 105 return {
  106 + bgColor: 'transparent',
62 options:'', 107 options:'',
63 datas:'', 108 datas:'',
64 mydata:'' 109 mydata:''
@@ -67,6 +112,13 @@ @@ -67,6 +112,13 @@
67 computed: { 112 computed: {
68 ...mapState(['hasLogin', 'forcedLogin', 'userName', 'userinfo','nowtime']), 113 ...mapState(['hasLogin', 'forcedLogin', 'userName', 'userinfo','nowtime']),
69 }, 114 },
  115 + onPageScroll(e) {
  116 + if(e.scrollTop > 0 ) {
  117 + this.bgColor = '#3384fc'
  118 + }else {
  119 + this.bgColor = 'transparent'
  120 + }
  121 + },
70 onLoad(e) { 122 onLoad(e) {
71 that=this 123 that=this
72 that.options=e||{} 124 that.options=e||{}
@@ -161,87 +213,113 @@ @@ -161,87 +213,113 @@
161 // #ifdef H5 213 // #ifdef H5
162 min-height: calc(100vh - 44px); 214 min-height: calc(100vh - 44px);
163 // #endif 215 // #endif
164 - background: #F8F8F8; 216 + background: #3384fc;
165 } 217 }
166 -.ph_banner{ 218 +.bg-img {
  219 + height: 100vh;
  220 + position: absolute;
167 width: 100%; 221 width: 100%;
168 - height: 340rpx;  
169 - position: relative;  
170 - z-index: 1;  
171 - margin-bottom: -40rpx; 222 + top: 0;
172 } 223 }
173 -.ph_box{  
174 - position: relative;  
175 - z-index: 2;  
176 - background: #FFFFFF;  
177 - border-radius: 30rpx 30rpx 0 0;  
178 - padding: 30rpx 30rpx 130rpx;  
179 - min-height: calc(100vh - 300rpx);  
180 - // #ifdef H5  
181 - min-height: calc(100vh - 44px - 300rpx);  
182 - // #endif 224 +.main {
  225 + width: 100%;
  226 + padding: 25rpx 25rpx 135rpx;
  227 + box-sizing: border-box;
  228 + margin-top: 250rpx;
183 } 229 }
184 -.ph_tit{  
185 - font-size: 28rpx;  
186 - color: #929399;  
187 - height: 60rpx;  
188 - .ph_d1{  
189 - width: 60rpx;  
190 - margin-right: 40rpx; 230 +
  231 +.card {
  232 + background-color: #fff;
  233 + border-radius: 20px;
  234 + overflow: hidden;
  235 + .head {
  236 + display: flex;
  237 + align-items: center;
  238 + justify-content: center;
  239 + padding: 50rpx 0 30rpx;
  240 + background: linear-gradient(to bottom, #AEC7FF 0%, #FFFFFF 100%);
  241 + .icon {
  242 + width: 40rpx;
  243 + height: 40rpx;
191 } 244 }
192 - .ph_d2{  
193 - flex: 1;  
194 - margin-right: 40rpx;  
195 - text-align: left; 245 + .title {
  246 + font-size: 32rpx;
  247 + font-family: PingFang SC;
  248 + font-weight: bold;
  249 + color: #323232;
  250 + margin: 0 20rpx;
196 } 251 }
197 - .ph_d3{  
198 - text-align: right;  
199 } 252 }
200 -}  
201 -.ph_li{  
202 - font-size: 32rpx;  
203 - color: #545C71;  
204 - height: 120rpx; 253 +
  254 + .list,
  255 + .footer{
  256 + padding: 0 30rpx;
  257 + .item {
205 display: flex; 258 display: flex;
206 align-items: center; 259 align-items: center;
207 -  
208 - .ph_d1{  
209 - width: 60rpx;  
210 - margin-right: 40rpx; 260 + font-family: PingFang SC;
  261 + padding: 30rpx 0;
  262 + border-bottom: 1px solid #FAFBFA;
  263 + padding: 30rpx 0;
  264 + &:last-child {
  265 + border: 0;
  266 + }
  267 + &-index {
  268 + width: 50rpx;
  269 + height: 50rpx;
  270 + font-size: 30rpx;
  271 + font-weight: bold;
  272 + color: #979797;
211 display: flex; 273 display: flex;
212 align-items: center; 274 align-items: center;
213 justify-content: center; 275 justify-content: center;
214 - font-size: 30rpx;  
215 - image{  
216 - width: 60rpx;  
217 - height: 60rpx;  
218 } 276 }
219 - }  
220 - .ph_d2{ 277 + &-title {
221 flex: 1; 278 flex: 1;
222 - margin-right: 40rpx;  
223 - text-align: left;  
224 - text{ 279 + margin: 0 20rpx;
225 font-size: 28rpx; 280 font-size: 28rpx;
  281 + font-weight: 500;
  282 + color: #323232;
  283 + }
  284 + &-val {
  285 + font-size: 32rpx;
  286 + font-weight: bold;
226 color: #2D81FF; 287 color: #2D81FF;
227 - margin-left: 10rpx;  
228 - padding: 5rpx 14rpx;  
229 - background: rgba(45, 129, 255, .1);  
230 - border-radius: 10rpx;  
231 } 288 }
  289 + &-unit {
  290 + font-size: 26rpx;
  291 + color: #646464;
232 } 292 }
233 - .ph_d3{  
234 - text-align: right;  
235 } 293 }
236 -}  
237 -.ph_li_b{ 294 + }
  295 +
  296 + .footer {
238 position: fixed; 297 position: fixed;
239 bottom: 0; 298 bottom: 0;
240 - z-index: 900;  
241 left: 0; 299 left: 0;
242 width: 100%; 300 width: 100%;
243 - background: #fff;  
244 - padding: 0 30rpx;  
245 - box-shadow: 0px 3rpx 8px 0px rgba(207, 207, 207, 0.5); 301 + background-color: #fff;
  302 + padding: 0 55rpx;
  303 + box-sizing: border-box;
  304 + .item-title {
  305 + flex: unset;
  306 + }
  307 + .item-tabs {
  308 + flex: 1;
  309 + .tab {
  310 + width: 80rpx;
  311 + height: 44rpx;
  312 + text-align: center;
  313 + line-height: 44rpx;
  314 + font-size: 26rpx;
  315 + font-family: PingFang SC;
  316 + font-weight: 400;
  317 + color: #448EFE;
  318 + background-color: rgba(49, 132, 255, 0.08);
  319 + border-radius: 5rpx;
  320 + }
  321 + }
  322 + }
246 } 323 }
  324 +
247 </style> 325 </style>
@@ -13,6 +13,7 @@ @@ -13,6 +13,7 @@
13 <view class="vio_sx dis_flex aic"> 13 <view class="vio_sx dis_flex aic">
14 <picker mode="date" :value="vio_time" :start="startDate" :end="endDate" @change="bindDateChange"> 14 <picker mode="date" :value="vio_time" :start="startDate" :end="endDate" @change="bindDateChange">
15 <view class="vio_time"> 15 <view class="vio_time">
  16 +
16 <view class="flex_1"> 17 <view class="flex_1">
17 {{vio_time||'请选择时间'}} 18 {{vio_time||'请选择时间'}}
18 </view> 19 </view>
@@ -20,51 +21,71 @@ @@ -20,51 +21,71 @@
20 </view> 21 </view>
21 </picker> 22 </picker>
22 <view class="vio_ss"> 23 <view class="vio_ss">
23 - <input type="text" placeholder="请输入姓名" v-model="name" @confirm="onRetry">  
24 <text class="icon icon-sousuo" @click="onRetry"></text> 24 <text class="icon icon-sousuo" @click="onRetry"></text>
  25 + <input type="text" placeholder="请输入姓名" v-model="name" @confirm="onRetry">
  26 +
25 </view> 27 </view>
26 </view> 28 </view>
27 </view> 29 </view>
28 - <view class="vio_list">  
29 - <view class="vio_li" v-for="(item,index) in datas">  
30 - <view class="vio_li_msg">  
31 - <view class="vio_li_tit">  
32 - <text class="li_type"></text>  
33 - <text class="li_name">{{item.title}}</text>  
34 - <block v-if="active==5">  
35 - <view v-if="item.type==1" class="li_tip" style="background:#2D81FF1a"><text style="color:#2D81FF">事假</text></view>  
36 - <view v-else class="li_tip" style="background:#FF90001a"><text style="color:#FF9000">病假</text></view>  
37 - </block>  
38 - <text class="identification" style="color: #FF9000;" v-if="item.examine === AUDITSTATUS.PENDINGREVIEW">待审核</text>  
39 - <text class="identification" style="color: #67c23a;" v-else-if="item.examine === AUDITSTATUS.APPROVED">已通过</text>  
40 - <text class="identification" style="color: #f56c6c;" v-else-if="item.examine === AUDITSTATUS.FAILED">未通过</text>  
41 - <view class="flex_1"></view>  
42 - <text v-if="active==5||active==6">学员:{{item.name}}</text>  
43 - <text v-else>学员:{{item.uid}}</text> 30 + <view class="list">
  31 + <view class="item" v-for="(item,index) in datas">
  32 + <view class="item-top">
  33 + <template v-if="active==5">
  34 + <view class="tab" v-if="item.type==1">
  35 + 事假
44 </view> 36 </view>
45 - <view class="vio_li_inr">  
46 - {{item.content}} 37 + <view class="tab bg" v-else>
  38 + 病假
47 </view> 39 </view>
  40 + </template>
  41 +
  42 + <view class="name">
  43 + <template v-if="active==5||active==6">
  44 + {{item.name}}
  45 + </template>
  46 + <template v-else>
  47 + {{item.uid}}
  48 + </template>
48 </view> 49 </view>
49 - <view v-if="active==5" class="li_time">  
50 - {{item.start_time}} 50 +
  51 + <text class="state" v-if="item.examine === AUDITSTATUS.PENDINGREVIEW">
  52 + 待审核
  53 + </text>
  54 + <text class="state bg" v-else-if="item.examine === AUDITSTATUS.APPROVED">
  55 + 已通过
  56 + </text>
  57 + <text class="state bg1" v-else-if="item.examine === AUDITSTATUS.FAILED">
  58 + 未通过
  59 + </text>
  60 +
51 </view> 61 </view>
52 - <view v-else-if="active==6" class="li_time">  
53 - {{item.create_time}} 62 + <view class="item-remarks" v-if="active==5">
  63 + {{item.content || ''}}
  64 + </view>
  65 + <view class="item-title" v-else>
  66 + <text class="icon"></text>
  67 + <text class="content">
  68 + <template v-if="active==6">
  69 + {{item.content || ''}}
  70 + </template>
  71 + <template v-else>
  72 + {{item.title}}
  73 + </template>
  74 + </text>
54 </view> 75 </view>
55 - <view v-else class="li_time"> 76 + <view class="item-time">
  77 + <template v-if="active==5">
  78 + {{item.start_time}}
  79 + </template>
  80 + <template v-else-if="active==6">
  81 + {{item.create_time}}
  82 + </template>
  83 + <template v-else>
56 {{item.deduct_time}} 84 {{item.deduct_time}}
  85 + </template>
57 </view> 86 </view>
58 </view> 87 </view>
59 - <u-empty v-if="datas.length==0"  
60 - mode="data"  
61 - text="暂无违纪"  
62 - icon="/static/images/tch/img_blank.png"  
63 - >  
64 - </u-empty>  
65 </view> 88 </view>
66 - <!-- 阻止滑动 -->  
67 - <!-- <view @touchmove.stop.prevent='test'></view> -->  
68 </view> 89 </view>
69 </template> 90 </template>
70 91
@@ -272,41 +293,34 @@ @@ -272,41 +293,34 @@
272 background: #F8F8F8; 293 background: #F8F8F8;
273 } 294 }
274 .vio_top{ 295 .vio_top{
275 - // position: absolute;  
276 - // top: 0;  
277 - // z-index: 1;  
278 width: 100%; 296 width: 100%;
279 - min-height: 220rpx;  
280 - background: linear-gradient(0deg, rgba(45, 129, 255, .01) 0%, #428EFE 80%, #2D81FF 100%);  
281 -}  
282 -.vip_tab_list{  
283 - padding: 0 30rpx;  
284 } 297 }
285 .vip_tab_li{ 298 .vip_tab_li{
286 - height: 100rpx;  
287 display: inline-flex; 299 display: inline-flex;
288 - align-items: center;  
289 - font-size: 30rpx;  
290 - color: #FFFFFF;  
291 - opacity: 0.6;  
292 - margin-right: 50rpx; 300 + font-size: 28rpx;
  301 + font-family: PingFang SC;
  302 + font-weight: 500;
  303 + color: #323232;
293 position: relative; 304 position: relative;
  305 + background-color: #fff;
  306 + border-top:1rpx solid #f3f4f6;
  307 + padding:30rpx;
294 &.active{ 308 &.active{
295 - opacity: 1;  
296 - 309 + color: #2D81FF;
297 &:after{ 310 &:after{
298 content: ''; 311 content: '';
299 position: absolute; 312 position: absolute;
300 - bottom: 0; 313 + bottom: 8rpx;
301 left: 50%; 314 left: 50%;
302 - margin-left: -18rpx;  
303 - width: 36rpx;  
304 - height: 6rpx;  
305 - background: #FFFFFF;  
306 - border-radius: 3rpx; 315 + background-image: url(@/static/imagesV2/icon23.png);
  316 + background-size: 100% 100%;
  317 + transform: translateX(-50%);
  318 + height: 24rpx;
  319 + width: 24rpx;
307 } 320 }
308 } 321 }
309 } 322 }
  323 +
310 .vio_sx{ 324 .vio_sx{
311 margin-top: 28rpx; 325 margin-top: 28rpx;
312 padding: 0 30rpx 30rpx; 326 padding: 0 30rpx 30rpx;
@@ -323,6 +337,7 @@ @@ -323,6 +337,7 @@
323 letter-spacing: 0; 337 letter-spacing: 0;
324 display: flex; 338 display: flex;
325 align-items: center; 339 align-items: center;
  340 + border-radius: 36rpx;
326 .icon{ 341 .icon{
327 font-size: 20rpx; 342 font-size: 20rpx;
328 margin-left: 5rpx; 343 margin-left: 5rpx;
@@ -333,86 +348,103 @@ @@ -333,86 +348,103 @@
333 height: 80rpx; 348 height: 80rpx;
334 background: #FFFFFF; 349 background: #FFFFFF;
335 border-radius: 10rpx; 350 border-radius: 10rpx;
336 - padding: 0 24rpx; 351 + padding: 0 30rpx;
337 display: flex; 352 display: flex;
338 align-items: center; 353 align-items: center;
  354 + border-radius: 36rpx;
  355 +
339 input{ 356 input{
340 flex: 1; 357 flex: 1;
341 min-width: 0; 358 min-width: 0;
342 - padding-right: 20rpx;  
343 font-size: 30rpx; 359 font-size: 30rpx;
344 } 360 }
345 .icon{ 361 .icon{
346 color: #B7BAC0; 362 color: #B7BAC0;
347 - font-size: 40rpx; 363 + font-size: 30rpx;
  364 + margin-right: 20rpx;
348 } 365 }
349 } 366 }
350 -.vio_list{  
351 - width: 100%; 367 +
  368 +.list {
352 padding: 0 30rpx 30rpx; 369 padding: 0 30rpx 30rpx;
353 - .vio_li{  
354 - width: 100%;  
355 - // min-height: 235rpx; 370 + .item {
356 background: #FFFFFF; 371 background: #FFFFFF;
357 - border-radius: 10rpx;  
358 - &+.vio_li{  
359 - margin-top: 20rpx;  
360 - }  
361 - .vio_li_msg{  
362 - width: 100%; 372 + border-radius: 20rpx;
363 padding: 30rpx; 373 padding: 30rpx;
364 - .vio_li_tit{  
365 - font-size: 28rpx;  
366 - color: #7D8087; 374 + & + .item {
  375 + margin-top: 30rpx;
  376 + }
  377 + &-top {
367 display: flex; 378 display: flex;
368 align-items: center; 379 align-items: center;
369 - margin-bottom: 20rpx;  
370 - .li_type{  
371 - width: 14rpx;  
372 - height: 14rpx;  
373 - background: #2D81FF;  
374 - border-radius: 50%; 380 + .tab {
  381 + border: 1px solid #2E86FE;
  382 + border-radius: 2rpx;
  383 + font-size: 22rpx;
  384 + font-family: PingFang SC;
  385 + font-weight: 400;
  386 + color: #2E86FE;
  387 + padding: 4rpx 10rpx;
375 margin-right: 10rpx; 388 margin-right: 10rpx;
  389 + & .bg {
  390 + border: 1px solid #FF7E00;
  391 + color: #FF7E00;
376 } 392 }
377 - .li_name{  
378 - font-size: 32rpx;  
379 - color: #545D71;  
380 } 393 }
381 - .li_tip{  
382 - font-size: 26rpx;  
383 - // color: #2D81FF;  
384 - // background: rgba(#2D81FF, .1);  
385 - padding: 2rpx 14rpx;  
386 - line-height: 30rpx;  
387 - margin-left: 10rpx;  
388 394
389 - text{  
390 - // opacity: 1;  
391 - } 395 +
  396 + .name {
  397 + font-size: 30rpx;
  398 + font-family: PingFang SC;
  399 + font-weight: 500;
  400 + color: #323232;
  401 + flex: 1;
392 } 402 }
393 - .identification{  
394 - font-size: 26rpx;  
395 - // color: #2D81FF;  
396 - // background: rgba(#2D81FF, .1);  
397 - padding: 2rpx 14rpx;  
398 - line-height: 30rpx;  
399 - margin-left: 10rpx; 403 + .state {
  404 + background: linear-gradient(0deg, #0AC49C 0%, #34D5AA 100%);
  405 + border-radius: 21rpx 21rpx 0 21rpx;
  406 + padding: 5rpx 20rpx;
  407 + font-size: 22rpx;
  408 + font-family: PingFang SC;
  409 + font-weight: 500;
  410 + color: #FFFFFF;
  411 + & .bg {
  412 + background: linear-gradient(0deg, #0088FF 0%, #2C9DFF 100%);
400 } 413 }
  414 + & .bg1 {
  415 + background: linear-gradient(0deg, #BEBEBE 0%, #AAAAAA 100%);
401 } 416 }
402 - .vio_li_inr{  
403 - font-size: 30rpx;  
404 - color: #545D71;  
405 } 417 }
406 } 418 }
407 - .li_time{  
408 - width: 100%;  
409 - height: 80rpx;  
410 - border-top: 1rpx solid #eee;  
411 - font-size: 28rpx;  
412 - color: #545D71;  
413 - padding: 0 28rpx; 419 + &-title {
414 display: flex; 420 display: flex;
415 align-items: center; 421 align-items: center;
  422 + font-size: 26rpx;
  423 + font-family: PingFang SC;
  424 + font-weight: 400;
  425 + color: #646464;
  426 + margin-top: 30rpx;
  427 + .icon {
  428 + width: 12rpx;
  429 + height: 12rpx;
  430 + background: #2D81FF;
  431 + border-radius: 50%;
  432 + margin-right: 10rpx;
  433 + }
  434 + }
  435 + &-remarks {
  436 + font-size: 26rpx;
  437 + font-family: PingFang SC;
  438 + font-weight: 400;
  439 + color: #646464;
  440 + margin-top: 30rpx;
  441 + }
  442 + &-time {
  443 + font-size: 24rpx;
  444 + font-family: PingFang SC;
  445 + font-weight: 400;
  446 + color: #979797;
  447 + margin-top: 30rpx;
416 } 448 }
417 } 449 }
418 } 450 }
1 <template> 1 <template>
2 <view class="wrap_box"> 2 <view class="wrap_box">
3 - <!-- <uParse v-if="datas" :content="datas"></uParse> -->  
4 - <image class="ph_banner" src="/static/images/phb.png" mode="aspectFill"></image>  
5 - <view class="ph_box">  
6 - <view class="ph_tit dis_flex aic">  
7 - <view class="ph_d1">  
8 - 排名 3 + <CustomReturn title="星级排行榜" color="#fff" :bgColor="bgColor">
  4 +
  5 + </CustomReturn>
  6 + <view class="bg-img">
  7 + <image src="/static/imagesV2/icon18.png" mode="aspectFill"></image>
  8 + </view>
  9 +
  10 + <PaddingTopB>
  11 +
  12 + <view class="main">
  13 +
  14 + <view class="card">
  15 + <view class="head">
  16 + <view class="icon">
  17 + <image src="/static/imagesV2/icon19.png" mode="aspectFill"></image>
  18 + </view>
  19 + <view class="title">
  20 + 班主任排名
  21 + </view>
  22 + <view class="icon">
  23 + <image src="/static/imagesV2/icon19s.png" mode="aspectFill"></image>
  24 + </view>
9 </view> 25 </view>
10 - <view class="ph_d2">  
11 - 班主任 26 +
  27 + <view class="list">
  28 + <view class="item" v-for="(item,index) in datas">
  29 + <view class="item-index">
  30 + <image v-if="item.key==1" src="/static/imagesV2/icon20.png" mode="aspectFit"></image>
  31 + <image v-else-if="item.key==2" src="/static/imagesV2/icon21.png" mode="aspectFit"></image>
  32 + <image v-else-if="item.key==3" src="/static/imagesV2/icon22.png" mode="aspectFit"></image>
  33 + <text v-else>{{item.key}}</text>
  34 + </view>
  35 + <view class="item-title">
  36 + {{item.nick}}
12 </view> 37 </view>
13 - <view class="ph_d3">  
14 - 总星级 38 + <view class="item-val">
  39 + {{item.start}}
15 </view> 40 </view>
  41 + <view class="item-unit">
  42 +
16 </view> 43 </view>
17 - <u-empty v-if="datas.length==0" 44 + </view>
  45 + <u-empty
  46 + v-if="datas.length==0"
18 mode="data" 47 mode="data"
19 text="暂无数据" 48 text="暂无数据"
20 icon="/static/images/tch/img_blank.png" 49 icon="/static/images/tch/img_blank.png"
21 > 50 >
22 </u-empty> 51 </u-empty>
23 - <view v-for="(item,index) in datas" class="ph_li">  
24 - <view class="ph_d1">  
25 - <image v-if="item.key==1" src="/static/images/ph.png" mode="aspectFit"></image>  
26 - <image v-else-if="item.key==2" src="/static/images/ph2.png" mode="aspectFit"></image>  
27 - <image v-else-if="item.key==3" src="/static/images/ph3.png" mode="aspectFit"></image>  
28 - <text v-else>{{item.key}}</text>  
29 </view> 52 </view>
30 - <view class="ph_d2">  
31 - {{item.nick}} 53 +
  54 + <view class="footer">
  55 + <view class="item">
  56 + <view class="item-index">
  57 + <image v-if="mydata.key==1" src="/static/imagesV2/icon20.png" mode="aspectFit"></image>
  58 + <image v-else-if="mydata.key==2" src="/static/imagesV2/icon21.png" mode="aspectFit"></image>
  59 + <image v-else-if="mydata.key==3" src="/static/imagesV2/icon22.png" mode="aspectFit"></image>
  60 + <text v-else>{{mydata.key}}</text>
32 </view> 61 </view>
33 - <view class="ph_d3">  
34 - {{item.start}}分 62 + <view class="item-title">
  63 + {{mydata.nick || ''}}
35 </view> 64 </view>
  65 + <view class="item-tabs">
  66 + <view class="tab">
  67 + 本人
36 </view> 68 </view>
37 - <view class="ph_li ph_li_b">  
38 - <view class="ph_d1">  
39 - <image v-if="mydata.key==1" src="/static/images/ph.png" mode="aspectFit"></image>  
40 - <image v-else-if="mydata.key==2" src="/static/images/ph2.png" mode="aspectFit"></image>  
41 - <image v-else-if="mydata.key==3" src="/static/images/ph3.png" mode="aspectFit"></image>  
42 - <text v-else>{{mydata.key}}</text>  
43 - <!-- <text>{{mydata.key}}</text> -->  
44 </view> 69 </view>
45 - <view class="ph_d2">  
46 - {{mydata.nick}}<text>本人</text> 70 + <view class="item-val">
  71 + {{mydata.start || ''}}
47 </view> 72 </view>
48 - <view class="ph_d3">  
49 - {{mydata.start}}分 73 + <view class="item-unit">
  74 +
50 </view> 75 </view>
51 </view> 76 </view>
52 </view> 77 </view>
53 - <!-- 阻止滑动 -->  
54 - <!-- <view @touchmove.stop.prevent='test'></view> --> 78 + </view>
  79 +
  80 +
  81 +
  82 +
  83 + </view>
  84 +
  85 + </PaddingTopB>
  86 +
55 </view> 87 </view>
56 </template> 88 </template>
57 89
@@ -61,10 +93,17 @@ @@ -61,10 +93,17 @@
61 mapState, 93 mapState,
62 mapMutations 94 mapMutations
63 } from 'vuex' 95 } from 'vuex'
  96 + import CustomReturn from "@/components/CustomReturn/index.vue"
  97 + import PaddingTopB from "@/components/PaddingTopB/index.vue"
64 var that 98 var that
65 export default { 99 export default {
  100 + components: {
  101 + CustomReturn,
  102 + PaddingTopB
  103 + },
66 data() { 104 data() {
67 return { 105 return {
  106 + bgColor: 'transparent',
68 options:'', 107 options:'',
69 datas:'', 108 datas:'',
70 mydata:'' 109 mydata:''
@@ -73,6 +112,13 @@ @@ -73,6 +112,13 @@
73 computed: { 112 computed: {
74 ...mapState(['hasLogin', 'forcedLogin', 'userName', 'userinfo','nowtime']), 113 ...mapState(['hasLogin', 'forcedLogin', 'userName', 'userinfo','nowtime']),
75 }, 114 },
  115 + onPageScroll(e) {
  116 + if(e.scrollTop > 0 ) {
  117 + this.bgColor = '#3384fc'
  118 + }else {
  119 + this.bgColor = 'transparent'
  120 + }
  121 + },
76 onLoad(e) { 122 onLoad(e) {
77 that=this 123 that=this
78 that.options=e||{} 124 that.options=e||{}
@@ -167,87 +213,114 @@ @@ -167,87 +213,114 @@
167 // #ifdef H5 213 // #ifdef H5
168 min-height: calc(100vh - 44px); 214 min-height: calc(100vh - 44px);
169 // #endif 215 // #endif
170 - background: #F8F8F8; 216 + background: #3384fc;
171 } 217 }
172 -.ph_banner{ 218 +.bg-img {
  219 + height: 100vh;
  220 + position: absolute;
173 width: 100%; 221 width: 100%;
174 - height: 340rpx;  
175 - position: relative;  
176 - z-index: 1;  
177 - margin-bottom: -40rpx; 222 + top: 0;
178 } 223 }
179 -.ph_box{  
180 - position: relative;  
181 - z-index: 2;  
182 - background: #FFFFFF;  
183 - border-radius: 30rpx 30rpx 0 0;  
184 - padding: 30rpx 30rpx 130rpx;  
185 - min-height: calc(100vh - 300rpx);  
186 - // #ifdef H5  
187 - min-height: calc(100vh - 44px - 300rpx);  
188 - // #endif 224 +.main {
  225 + width: 100%;
  226 + padding: 25rpx 25rpx 135rpx;
  227 + box-sizing: border-box;
  228 + margin-top: 250rpx;
189 } 229 }
190 -.ph_tit{  
191 - font-size: 28rpx;  
192 - color: #929399;  
193 - height: 60rpx;  
194 - .ph_d1{  
195 - width: 60rpx;  
196 - margin-right: 40rpx; 230 +
  231 +.card {
  232 + background-color: #fff;
  233 + border-radius: 20px;
  234 + overflow: hidden;
  235 + .head {
  236 + display: flex;
  237 + align-items: center;
  238 + justify-content: center;
  239 + padding: 50rpx 0 30rpx;
  240 + background: linear-gradient(to bottom, #AEC7FF 0%, #FFFFFF 100%);
  241 + .icon {
  242 + width: 40rpx;
  243 + height: 40rpx;
197 } 244 }
198 - .ph_d2{  
199 - flex: 1;  
200 - margin-right: 40rpx;  
201 - text-align: left; 245 + .title {
  246 + font-size: 32rpx;
  247 + font-family: PingFang SC;
  248 + font-weight: bold;
  249 + color: #323232;
  250 + margin: 0 20rpx;
202 } 251 }
203 - .ph_d3{  
204 - text-align: right;  
205 } 252 }
206 -}  
207 -.ph_li{  
208 - font-size: 32rpx;  
209 - color: #545C71;  
210 - height: 120rpx; 253 +
  254 + .list,
  255 + .footer{
  256 + padding: 0 30rpx;
  257 + .item {
211 display: flex; 258 display: flex;
212 align-items: center; 259 align-items: center;
213 -  
214 - .ph_d1{  
215 - width: 60rpx;  
216 - margin-right: 40rpx; 260 + font-family: PingFang SC;
  261 + padding: 30rpx 0;
  262 + border-bottom: 1px solid #FAFBFA;
  263 + padding: 30rpx 0;
  264 + &:last-child {
  265 + border: 0;
  266 + }
  267 + &-index {
  268 + width: 50rpx;
  269 + height: 50rpx;
  270 + font-size: 30rpx;
  271 + font-weight: bold;
  272 + color: #979797;
217 display: flex; 273 display: flex;
218 align-items: center; 274 align-items: center;
219 justify-content: center; 275 justify-content: center;
220 - font-size: 30rpx;  
221 - image{  
222 - width: 60rpx;  
223 - height: 60rpx;  
224 - }  
225 } 276 }
226 - .ph_d2{ 277 + &-title {
227 flex: 1; 278 flex: 1;
228 - margin-right: 40rpx;  
229 - text-align: left;  
230 - text{ 279 + margin: 0 20rpx;
231 font-size: 28rpx; 280 font-size: 28rpx;
  281 + font-weight: 500;
  282 + color: #323232;
  283 + }
  284 + &-val {
  285 + font-size: 32rpx;
  286 + font-weight: bold;
232 color: #2D81FF; 287 color: #2D81FF;
233 - margin-left: 10rpx;  
234 - padding: 5rpx 14rpx;  
235 - background: rgba(45, 129, 255, .1);  
236 - border-radius: 10rpx;  
237 } 288 }
  289 + &-unit {
  290 + font-size: 26rpx;
  291 + color: #646464;
238 } 292 }
239 - .ph_d3{  
240 - text-align: right;  
241 } 293 }
242 -}  
243 -.ph_li_b{ 294 + }
  295 +
  296 + .footer {
244 position: fixed; 297 position: fixed;
245 bottom: 0; 298 bottom: 0;
246 - z-index: 900;  
247 left: 0; 299 left: 0;
248 width: 100%; 300 width: 100%;
249 - background: #fff;  
250 - padding: 0 30rpx;  
251 - box-shadow: 0px 3rpx 8px 0px rgba(207, 207, 207, 0.5); 301 + background-color: #fff;
  302 + padding: 0 55rpx;
  303 + box-sizing: border-box;
  304 + .item-title {
  305 + flex: unset;
  306 + }
  307 + .item-tabs {
  308 + flex: 1;
  309 + .tab {
  310 + width: 80rpx;
  311 + height: 44rpx;
  312 + text-align: center;
  313 + line-height: 44rpx;
  314 + font-size: 26rpx;
  315 + font-family: PingFang SC;
  316 + font-weight: 400;
  317 + color: #448EFE;
  318 + background-color: rgba(49, 132, 255, 0.08);
  319 + border-radius: 5rpx;
  320 + }
  321 + }
  322 + }
252 } 323 }
  324 +
253 </style> 325 </style>
  326 +