123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427 |
- <template>
- <view id="completeInformation">
- <view class="top-title-box-">
- <view>个人信息</view>
- <view>请完善个人信息</view>
- </view>
- <view class="bottom-input-max-box">
- <view class="text-max-box">
- <view class="text-top-box">
- <view>*</view>
- <view>姓名</view>
- </view>
- <view class="text-bottom-p">{{newData.data1}}</view>
- </view>
- <view class="text-max-box">
- <view class="text-top-box">
- <view>*</view>
- <view>学号</view>
- </view>
- <view class="text-bottom-p">{{newData.data2}}</view>
- </view>
- <view class="text-max-box">
- <view class="text-top-box">
- <view>*</view>
- <view>所在学院</view>
- </view>
- <view class="text-bottom-p">{{newData.data3}}</view>
- </view>
- <view class="text-max-box">
- <view class="text-top-box">
- <view>*</view>
- <view>专业</view>
- </view>
- <view class="text-bottom-p">{{newData.data4}}</view>
- </view>
- <view class="input-max-box">
- <view class="input-top-box">
- <view>*</view>
- <view>手机号</view>
- </view>
- <input class="input-top-p" v-model="form.phone" maxlength="11" focus placeholder="请输入手机号码">
- </view>
- <view class="button-max-box">
- <view class="button-top-box">
- <view>*</view>
- <view>导师</view>
- </view>
- <input class="button-bottom-p" :disabled="true" v-model="form.supervisorName"
- maxlength="30" focus placeholder="请选择导师" @click="userButton()">
- </view>
- <view class="bottom-button-p" @click="submitButton()">确定</view>
- </view>
- <view class="shade-max-big-box" v-if="userShowType">
- <view class="null-back-box" @click="userButton()"></view>
- <view class="shade-big-box">
- <view class="shade-top-box">
- <view class="shade-top-left-box">
- <uni-icons type="search" class="icon-view" size="20" color="#999999"></uni-icons>
- <input class="input-top-p" v-model="getData.searchValue" maxlength="10" focus placeholder="请输入导师">
- </view>
- <view class="shade-top-right-button" @click="searchButton()">搜索</view>
- </view>
- <scroll-view scroll-y @scrolltolower="scrollGet" class="shade-bottom-box">
- <view @click="checkUser(item,index)"
- class="for-user-box" :class="checkUserIndex==index?'check-user':''"
- v-for="(item,index) in dataList" :key="index">
- <view>{{item.name}}{{item.num?'('+item.num+')':''}}</view>
- <view>{{item.deptName}}</view>
- </view>
- <view class="get-data-null-p" v-if="getDataType">- 没有更多数据 -</view>
- <view class="get-data-null-p" v-else="getDataType">- 滑动加载更多 -</view>
- </scroll-view>
- </view>
- </view>
- </view>
- </template>
- <script>
- import {
- systemSubjectGetAppSubject,
- } from '@/pages_manage/api/index.js'
- export default {
- data() {
- return {
- newData:{
- data1:"刘晓明",
- data2:"2024060236",
- data3:"园艺学院",
- data4:"茶艺",
- },
- form:{
- phone:"",
- supervisorName:"",
- supervisorId:"",
- },
- userShowType:false,
- checkUserIndex:null,
- //查询
- getData: {
- page: 1,
- pageSize: 20,
- searchValue: '',
- },
- getDataType: false,
- total: 0,
- //教师查询列表
- dataList:[
- {name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
- {name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
- {name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
- {name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
- {name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
- {name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
- {name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
- {name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
- {name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
- {name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
- {name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
- {name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
- {name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
- {name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
- {name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
- {name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
- ],
- }
- },
- onLoad(option) {
-
- },
- onShow() {
- // this.systemSubjectGetAppSubject();
- },
- methods: {
- //提交
- submitButton(){
- const reg = /^1[3|4|5|7|8|9][0-9]\d{8}$/
- if(!this.form.phone){
- uni.showToast({
- title: '请输入手机号码',
- icon: "none",
- duration: 3000
- });
- return
- }else if (!reg.test(this.form.phone)) {
- uni.showToast({
- title: '请输入正确的手机号码',
- icon: "none",
- duration: 3000
- });
- return
- }
- if(!this.form.supervisorName){
- uni.showToast({
- title: '请选择导师',
- icon: "none",
- duration: 3000
- });
- return
- }
- uni.showModal({
- title: '确认提交?',
- cancelColor: '#999999',
- confirmColor: '#0183FA',
- content: '',
- success(res) {
- if (res.confirm) {
- console.log('确定')
- } else if (res.cancel) {
- console.log('取消')
- }
- }
- })
- },
- //搜索按钮
- searchButton(){
- this.$set(this, 'getDataType', false);
- this.$set(this, 'dataList', []);
- this.$set(this, 'total', 0);
- this.$set(this.getData, 'page', 1);
- this.systemSubjectGetAppSubject();
- },
- //教师弹窗开关啊
- userButton(type){
- this.$set(this,'userShowType',!this.userShowType);
- },
- //选中教师
- checkUser(item,index){
- this.$set(this.form,'supervisorName',item.name);
- this.$set(this.form,'supervisorId',item.num);
- this.$set(this,'checkUserIndex',index);
- this.$set(this,'userShowType',false);
- },
- //滚动加载事件
- scrollGet() {
- let self = this;
- if (self.total / self.getData.pageSize <= self.getData.page) {
- this.$set(this, 'getDataType', true);
- } else {
- this.getData.page += 1;
- this.$nextTick(() => {
- this.systemSubjectGetAppSubject();
- })
- }
- },
- //获取实验室
- async systemSubjectGetAppSubject() {
- let self = this;
- const {
- data
- } = await systemSubjectGetAppSubject(this.getData);
- if (data.code == 200) {
- if (self.getData.page == 1) {
- this.dataList = data.data.records;
- this.total = data.data.total;
- if (data.data.total / self.getData.pageSize <= self.getData.page) {
- this.$set(this, 'getDataType', true);
- }
- } else {
- this.dataList = [...this.dataList, ...data.data.records]
- this.total = data.data.total;
- if (data.data.total / self.getData.pageSize <= self.getData.page) {
- this.$set(this, 'getDataType', true);
- }
- }
- }
- },
- },
- }
- </script>
- <style lang="stylus" scoped>
- #completeInformation {
- height:100%;
- display: flex;
- flex-direction: column;
- overflow: hidden;
- .top-title-box-{
- height:110rpx;
- display: flex;
- background-color: #FFFFFF;
- margin-bottom:20rpx;
- view:nth-child(1){
- line-height:100rpx;
- font-size:34rpx;
- margin:0 45rpx 0 32rpx;
- color:#333;
- font-weight:700;
- }
- view:nth-child(2){
- line-height:100rpx;
- font-size:30rpx;
- color:#999999;
- }
- }
- .bottom-input-max-box{
- flex:1;
- overflow-x: hidden;
- overflow-y: scroll;
- background-color: #FFFFFF;
- .text-max-box{
- .text-top-box{
- display: flex;
- margin-left:32rpx;
- view{
- font-size:30rpx;
- line-height: 100rpx;
- }
- view:nth-child(1){
- color:#FF0000;
- }
- view:nth-child(2){
- color:#333;
- }
- }
- .text-bottom-p{
- margin-left:32rpx;
- width: 630rpx;
- line-height: 100rpx;
- background: #F5F5F5;
- border-radius: 10rpx 10rpx 10rpx 10rpx;
- padding:0 30rpx;
- }
- }
- .input-max-box{
- .input-top-box{
- display: flex;
- margin-left:32rpx;
- view{
- font-size:30rpx;
- line-height: 100rpx;
- }
- view:nth-child(1){
- color:#FF0000;
- }
- view:nth-child(2){
- color:#333;
- }
- }
- .input-top-p{
- margin-left:34rpx;
- width: 630rpx;
- height: 100rpx;
- padding:0 30rpx;
- border-radius: 10rpx 10rpx 10rpx 10rpx;
- border: 1rpx solid #E0E0E0;
- }
- }
- .button-max-box{
- .button-top-box{
- display: flex;
- margin-left:32rpx;
- view{
- font-size:30rpx;
- line-height: 100rpx;
- }
- view:nth-child(1){
- color:#FF0000;
- }
- view:nth-child(2){
- color:#333;
- }
- }
- .button-bottom-p{
- margin-left:34rpx;
- width: 630rpx;
- height: 100rpx;
- padding:0 30rpx;
- border-radius: 10rpx 10rpx 10rpx 10rpx;
- border: 1rpx solid #E0E0E0;
- }
- }
- .bottom-button-p{
- margin:40rpx 34rpx;
- background-color: #0183FA;
- line-height:100rpx;
- text-align: center;
- color:#fff;
- font-size:30rpx;
- border-radius:50rpx;
- }
- }
- .shade-max-big-box{
- position: fixed;
- height:100%;
- width:100%;
- background-color: rgba(0,0,0,0.5);
- z-index:1;
- display: flex;
- flex-direction: column;
- overflow: hidden;
- .null-back-box{
- height:20%;
- }
- .shade-big-box{
- flex:1;
- display: flex;
- flex-direction: column;
- background-color: #fff;
- border-top-left-radius:20rpx;
- border-top-right-radius:20rpx;
- overflow: hidden;
- z-index:10;
- .shade-top-box{
- height:122rpx;
- border-bottom:1px solid #dedede;
- display: flex;
- .shade-top-left-box{
- display: flex;
- border-radius: 50rpx 50rpx 50rpx 50rpx;
- border: 1rpx solid #E0E0E0;
- height:80rpx;
- margin:20rpx 0 0 30rpx;
- width:580rpx;
- .icon-view{
- margin:20rpx 21rpx 0 18rpx;
- color:#999999;
- }
- .input-top-p{
- line-height:80rpx;
- height:80rpx;
- width:500rpx;
- }
- }
- .shade-top-right-button{
- width:120rpx;
- text-align: center;
- line-height:80rpx;
- margin:20rpx 0;
- color:#0183FA;
- font-size:28rpx;
- }
- }
- .shade-bottom-box{
- flex:1;
- overflow-x: hidden;
- overflow-y: scroll;
- .for-user-box:nth-child(1){
- border:none;
- }
- .for-user-box{
- border-top:1px solid #e0e0e0;
- margin:0 30rpx;
- padding:20rpx 0;
- view{
- font-size:28rpx;
- line-height:39rpx;
- }
- view:nth-child(1){
- margin-bottom:19rpx;
- }
- }
- .check-user{
- color:#0183FA;
- }
- .get-data-null-p {
- text-align: center;
- line-height: 100rpx;
- padding-bottom: 80px;
- color: #999;
- }
- }
- }
- }
- }
- </style>
|