소스 검색

教练信息

YY 3 년 전
부모
커밋
2c60ed147e
8개의 변경된 파일158개의 추가작업 그리고 92개의 파일을 삭제
  1. 9 26
      pages/scoach/add.js
  2. 27 9
      pages/scoach/add.less
  3. 63 43
      pages/scoach/add.wxml
  4. 19 2
      pages/scoach/add.wxss
  5. 20 5
      pages/scoach/list.less
  6. 2 2
      pages/scoach/list.wxml
  7. 12 5
      pages/scoach/list.wxss
  8. 6 0
      utils/dict.js

+ 9 - 26
pages/scoach/add.js

@@ -1,5 +1,6 @@
 const app = getApp()
 const { gender } = require('../../utils/dict')
+const { level } = require('../../utils/dict')
 import WxValidate from '../../utils/wxValidate'
 
 Page({
@@ -13,11 +14,12 @@ Page({
         form: { icon: [] },
         // 性别
         genderList: gender,
+        levelList: level,
     },
     initValidate() {
-        const rules = { icon: { required: false }, name: { required: true }, card: { required: true }, gender: { required: true }, phone: { required: true, tel: true } }
+        const rules = { icon: { required: true }, name: { required: true }, age: { required: true }, gender: { required: true }, phone: { required: true, tel: true } }
         // 验证字段的提示信息,若不传则调用默认的信息
-        const messages = { icon: { required: '请选择头像', }, name: { required: '请输入用户姓名', }, card: { required: '请输入身份证号', }, gender: { required: '请选择性别', }, phone: { required: '请输入手机号', } };
+        const messages = { icon: { required: '请选择头像', }, name: { required: '请输入用户姓名', }, age: { required: '请输入年龄', }, gender: { required: '请选择性别', }, phone: { required: '请输入手机号', } };
         this.WxValidate = new WxValidate(rules, messages)
     },
     // 返回
@@ -43,32 +45,13 @@ Page({
         let data = that.data.genderList[e.detail.value];
         if (data) that.setData({ 'form.gender': data.value });
     },
-    // 输入身份证号获取性别年龄
-    toCard: function (e) {
+    //选择等级
+    coachChange: function (e) {
         const that = this;
-        let card = e.detail.value;
-        if (!/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(card)) {
-            wx.showToast({ title: `请输入有效身份证号码`, icon: 'none', duration: 2000 })
-        } else {
-            var IDCard = e.detail.value;
-            var birth = IDCard.substring(6, 10) + "-" + IDCard.substring(10, 12) + "-" + IDCard.substring(12, 14);
-            var sex = "";
-            if (parseInt(IDCard.substr(16, 1)) % 2 == 1) {
-                sex = "0";
-            } else {
-                sex = "1";
-            }
-            this.setData({ 'form.gender': sex })
-            var myDate = new Date();
-            var month = myDate.getMonth() + 1;
-            var day = myDate.getDate();
-            var age = myDate.getFullYear() - IDCard.substring(6, 10) - 1;
-            if (IDCard.substring(10, 12) < month || IDCard.substring(10, 12) == month && IDCard.substring(12, 14) <= day) {
-                age++;
-            }
-            this.setData({ 'form.age': age })
-        }
+        let data = that.data.levelList[e.detail.value];
+        if (data) that.setData({ 'form.level': data.value });
     },
+
     // 提交登录
     onSubmit: async function (e) {
         const that = this;

+ 27 - 9
pages/scoach/add.less

@@ -1,6 +1,11 @@
 .main {
     background-color: var(--mainColor);
+    height: var(--twoHeight);
 
+    .one {
+        flex-grow: 1;
+        position: relative;
+        height: 81vh;
 
         .content {
             display: flex;
@@ -12,19 +17,32 @@
             .value {
                 flex-grow: 1;
                 color: var(--blackColor);
-
             }
         }
+    }
 
-        .btn {
-            text-align: center;
-            margin: 5vw 0 0 0;
+    .btn {
+        text-align: center;
+        margin: 5vw 0 0 0;
 
-            button {
-                width: 40vw;
-                margin: 0 2vw;
-                padding: 1vw 0;
-            }
+        button {
+            width: 40vw;
+            margin: 0 2vw;
+            padding: 1vw 0;
         }
+    }
+
+}
+
+.scroll-view {
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
 
+    .list-scroll-view {
+        display: flex;
+        flex-direction: column;
+    }
 }

+ 63 - 43
pages/scoach/add.wxml

@@ -1,49 +1,69 @@
 <mobile-main frameStyle="{{frameStyle}}" bind:back="back">
     <view slot="info" class="container main">
         <form catchsubmit="onSubmit">
-            <view class="content">
-                <view class="label">头像:</view>
-                <view class="value">
-                    <upload list="{{form.icon}}" count="{{1}}" previewSize="{{30}}" bind:imgUpload="imgUpl" bind:imgDel="imgDel"></upload>
-                </view>
-            </view>
-            <view class="content">
-                <view class="label">姓名:</view>
-                <view class="value">
-                    <input name="name" value="{{form.name}}" placeholder="请输入姓名" />
-                </view>
-            </view>
-            <view class="content">
-                <view class="label">身份证号:</view>
-                <view class="value">
-                    <input name="card" maxlength="18" type="idcard" value="{{form.card}}" placeholder="请输入身份证号" bindblur="toCard" />
-                </view>
-            </view>
-            <view class="content">
-                <view class="label">性别:</view>
-                <view class="value">
-                    <picker mode="selector" bindchange="genderChange" name="gender" value="{{form.gender}}" range="{{genderList}}" range-key="label">
-                        <view class="picker">{{form.gender=='0'?'男':form.gender=='1'?'女':form.gender=='2'?'未知':'请选择性别'}}</view>
-                    </picker>
-                </view>
-            </view>
-            <view class="content">
-                <view class="label">年龄:</view>
-                <view class="value">
-                    <input name="age" value="{{form.age}}" placeholder="请输入年龄" />
-                </view>
-            </view>
-            <view class="content">
-                <view class="label">手机号:</view>
-                <view class="value">
-                    <input name="phone" maxlength="11" value="{{form.phone}}" placeholder="请输入手机号" />
-                </view>
-            </view>
-            <view class="content">
-                <view class="label">专业技能:</view>
-                <view class="value">
-                    <input name="skill" value="{{form.skill}}" placeholder="请输入专业技能" />
-                </view>
+            <view class="one">
+                <scroll-view scroll-y="true" class="scroll-view">
+                    <view class="list-scroll-view">
+                        <view class="content">
+                            <view class="label">头像:</view>
+                            <view class="value">
+                                <upload list="{{form.icon}}" count="{{1}}" previewSize="{{30}}" bind:imgUpload="imgUpl" bind:imgDel="imgDel"></upload>
+                            </view>
+                        </view>
+                        <view class="content">
+                            <view class="label">姓名:</view>
+                            <view class="value">
+                                <input name="name" value="{{form.name}}" placeholder="请输入姓名" />
+                            </view>
+                        </view>
+                        <view class="content">
+                            <view class="label">性别:</view>
+                            <view class="value">
+                                <picker mode="selector" bindchange="genderChange" name="gender" value="{{form.gender}}" range="{{genderList}}" range-key="label">
+                                    <view class="picker">{{form.gender=='0'?'男':form.gender=='1'?'女':form.gender=='2'?'未知':'请选择性别'}}</view>
+                                </picker>
+                            </view>
+                        </view>
+                        <view class="content">
+                            <view class="label">年龄:</view>
+                            <view class="value">
+                                <input name="age" value="{{form.age}}" placeholder="请输入年龄" />
+                            </view>
+                        </view>
+                        <view class="content">
+                            <view class="label">手机号:</view>
+                            <view class="value">
+                                <input name="phone" maxlength="11" value="{{form.phone}}" placeholder="请输入手机号" />
+                            </view>
+                        </view>
+                        <view class="content">
+                            <view class="label">教练等级:</view>
+                            <view class="value">
+                                <picker mode="selector" bindchange="coachChange" name="level" value="{{form.level}}" range="{{levelList}}" range-key="label">
+                                    <view class="picker">{{form.level=='0'?'助教':form.level=='1'?'专业一级':form.level=='2'?'专业二级':'请选择教练等级'}}</view>
+                                </picker>
+                            </view>
+                        </view>
+                        <view class="content">
+                            <view class="label">教练简介:</view>
+                            <view class="value">
+                                <textarea name="brief" value="{{form.brief}}" auto-height maxlength="-1" placeholder="请输入信息简介" />
+                            </view>
+                        </view>
+                        <view class="content">
+                            <view class="label">过往荣誉:</view>
+                            <view class="value">
+                                <textarea name="honor" value="{{form.honor}}" auto-height maxlength="-1" placeholder="请输入信息简介" />
+                            </view>
+                        </view>
+                        <view class="content">
+                            <view class="label">教学经历:</view>
+                            <view class="value">
+                                <textarea name="exp" value="{{form.exp}}" auto-height maxlength="-1" placeholder="请输入信息简介" />
+                            </view>
+                        </view>
+                    </view>
+                </scroll-view>
             </view>
             <view class="btn">
                 <button type="primary" size="mini" formType="submit">提交保存</button>

+ 19 - 2
pages/scoach/add.wxss

@@ -1,14 +1,20 @@
 .main {
   background-color: var(--mainColor);
+  height: var(--twoHeight);
 }
-.main .content {
+.main .one {
+  flex-grow: 1;
+  position: relative;
+  height: 81vh;
+}
+.main .one .content {
   display: flex;
   flex-direction: row;
   border-bottom: 1px dashed var(--f1Color);
   padding: 2vw 0;
   margin: 0 2vw 2vw 2vw;
 }
-.main .content .value {
+.main .one .content .value {
   flex-grow: 1;
   color: var(--blackColor);
 }
@@ -21,3 +27,14 @@
   margin: 0 2vw;
   padding: 1vw 0;
 }
+.scroll-view {
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+}
+.scroll-view .list-scroll-view {
+  display: flex;
+  flex-direction: column;
+}

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 20 - 5
pages/scoach/list.less


+ 2 - 2
pages/scoach/list.wxml

@@ -11,7 +11,7 @@
         <view class="two">
             <scroll-view scroll-y="true" class="scroll-view" bindscrolltolower="toPage">
                 <view class="list-scroll-view">
-                    <view class="list" wx:for="{{list}}" wx:key="item">
+                    <view class="list {{item.level=='0'?'level_0':item.level=='1'?'level_1':item.level=='2'?'level_2':'level_3'}}" wx:for="{{list}}" wx:key="item">
                         <view class="list_1">
                             <view class="icon">
                                 <image src="{{item.icon&&item.icon.length>0?item.icon[0].url:''}}">
@@ -19,7 +19,7 @@
                             </view>
                             <view class="content">
                                 <view class="name textOver">{{item.name}}</view>
-                                <view class="other">身份证号:<text>{{item.card}}</text></view>
+                                <view class="other">教练等级:<text>{{item.level=='0'?'助教':item.level=='1'?'专业一级':item.level=='2'?'专业二级':'暂无'}}</text></view>
                                 <view class="other">联系电话:<text>{{item.phone}}</text>
                                 </view>
                             </view>

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 12 - 5
pages/scoach/list.wxss


+ 6 - 0
utils/dict.js

@@ -10,6 +10,12 @@ export const gender = [
     { label: '女', value: '1' },
     { label: '未知', value: '2' },
 ];
+// 教练等级
+export const level = [
+    { label: '助教', value: '0' },
+    { label: '专业一级', value: '1' },
+    { label: '专业二级', value: '2' },
+];
 // 羽校系统菜单
 // -1: 管理员,0:普通用户,1:管理员,2:教练
 // 系统默认菜单