guhongwei 2 lat temu
rodzic
commit
a06dde1753
100 zmienionych plików z 2031 dodań i 744 usunięć
  1. 6 7
      app.json
  2. 171 0
      pages/stuAdmin copy/archives/list.js
  3. 7 0
      pages/stuAdmin copy/archives/list.json
  4. 35 0
      pages/stuAdmin copy/archives/list.less
  5. 70 0
      pages/stuAdmin copy/archives/list.wxml
  6. 28 0
      pages/stuAdmin copy/archives/list.wxss
  7. 104 0
      pages/stuAdmin copy/coach/info.js
  8. 0 0
      pages/stuAdmin copy/coach/info.json
  9. 0 0
      pages/stuAdmin copy/coach/info.less
  10. 42 0
      pages/stuAdmin copy/coach/info.wxml
  11. 0 0
      pages/stuAdmin copy/coach/info.wxss
  12. 124 0
      pages/stuAdmin copy/coach/list.js
  13. 0 0
      pages/stuAdmin copy/coach/list.json
  14. 102 0
      pages/stuAdmin copy/coach/list.less
  15. 31 0
      pages/stuAdmin copy/coach/list.wxml
  16. 85 0
      pages/stuAdmin copy/coach/list.wxss
  17. 66 0
      pages/stuAdmin copy/course/info.js
  18. 3 0
      pages/stuAdmin copy/course/info.json
  19. 0 0
      pages/stuAdmin copy/course/info.less
  20. 2 0
      pages/stuAdmin copy/course/info.wxml
  21. 1 0
      pages/stuAdmin copy/course/info.wxss
  22. 66 0
      pages/stuAdmin copy/course/list.js
  23. 3 0
      pages/stuAdmin copy/course/list.json
  24. 0 0
      pages/stuAdmin copy/course/list.less
  25. 2 0
      pages/stuAdmin copy/course/list.wxml
  26. 1 0
      pages/stuAdmin copy/course/list.wxss
  27. 66 0
      pages/stuAdmin copy/course/sign.js
  28. 3 0
      pages/stuAdmin copy/course/sign.json
  29. 0 0
      pages/stuAdmin copy/course/sign.less
  30. 2 0
      pages/stuAdmin copy/course/sign.wxml
  31. 1 0
      pages/stuAdmin copy/course/sign.wxss
  32. 67 0
      pages/stuAdmin copy/fee/list.js
  33. 6 0
      pages/stuAdmin copy/fee/list.json
  34. 4 0
      pages/stuAdmin copy/fee/list.less
  35. 5 0
      pages/stuAdmin copy/fee/list.wxml
  36. 3 0
      pages/stuAdmin copy/fee/list.wxss
  37. 0 0
      pages/stuAdmin copy/open/info.js
  38. 0 0
      pages/stuAdmin copy/open/info.json
  39. 0 0
      pages/stuAdmin copy/open/info.less
  40. 0 0
      pages/stuAdmin copy/open/info.wxml
  41. 0 0
      pages/stuAdmin copy/open/info.wxss
  42. 0 0
      pages/stuAdmin copy/open/list.js
  43. 0 0
      pages/stuAdmin copy/open/list.json
  44. 0 0
      pages/stuAdmin copy/open/list.less
  45. 0 0
      pages/stuAdmin copy/open/list.wxml
  46. 0 0
      pages/stuAdmin copy/open/list.wxss
  47. 0 0
      pages/stuAdmin copy/open/sign.js
  48. 0 0
      pages/stuAdmin copy/open/sign.json
  49. 0 0
      pages/stuAdmin copy/open/sign.less
  50. 0 0
      pages/stuAdmin copy/open/sign.wxml
  51. 0 0
      pages/stuAdmin copy/open/sign.wxss
  52. 0 0
      pages/stuAdmin copy/private/info.js
  53. 6 0
      pages/stuAdmin copy/private/info.json
  54. 32 0
      pages/stuAdmin copy/private/info.less
  55. 0 0
      pages/stuAdmin copy/private/info.wxml
  56. 27 0
      pages/stuAdmin copy/private/info.wxss
  57. 0 0
      pages/stuAdmin copy/private/list.js
  58. 6 0
      pages/stuAdmin copy/private/list.json
  59. 0 0
      pages/stuAdmin copy/private/list.less
  60. 0 0
      pages/stuAdmin copy/private/list.wxml
  61. 0 0
      pages/stuAdmin copy/private/list.wxss
  62. 90 0
      pages/stuAdmin copy/school/info.js
  63. 6 0
      pages/stuAdmin copy/school/info.json
  64. 42 0
      pages/stuAdmin copy/school/info.less
  65. 46 0
      pages/stuAdmin copy/school/info.wxml
  66. 35 0
      pages/stuAdmin copy/school/info.wxss
  67. 102 0
      pages/stuAdmin copy/school/list.js
  68. 6 0
      pages/stuAdmin copy/school/list.json
  69. 102 0
      pages/stuAdmin copy/school/list.less
  70. 31 0
      pages/stuAdmin copy/school/list.wxml
  71. 85 0
      pages/stuAdmin copy/school/list.wxss
  72. 67 0
      pages/stuAdmin copy/study/list.js
  73. 6 0
      pages/stuAdmin copy/study/list.json
  74. 4 0
      pages/stuAdmin copy/study/list.less
  75. 5 0
      pages/stuAdmin copy/study/list.wxml
  76. 3 0
      pages/stuAdmin copy/study/list.wxss
  77. 17 122
      pages/stuAdmin/archives/list.js
  78. 1 5
      pages/stuAdmin/archives/list.json
  79. 0 35
      pages/stuAdmin/archives/list.less
  80. 2 70
      pages/stuAdmin/archives/list.wxml
  81. 1 28
      pages/stuAdmin/archives/list.wxss
  82. 26 64
      pages/stuAdmin/coach/info.js
  83. 1 4
      pages/stuAdmin/coach/info.json
  84. 0 32
      pages/stuAdmin/coach/info.less
  85. 2 42
      pages/stuAdmin/coach/info.wxml
  86. 1 27
      pages/stuAdmin/coach/info.wxss
  87. 28 86
      pages/stuAdmin/coach/list.js
  88. 1 4
      pages/stuAdmin/coach/list.json
  89. 0 102
      pages/stuAdmin/coach/list.less
  90. 2 31
      pages/stuAdmin/coach/list.wxml
  91. 1 85
      pages/stuAdmin/coach/list.wxss
  92. 66 0
      pages/stuAdmin/course/info.js
  93. 3 0
      pages/stuAdmin/course/info.json
  94. 0 0
      pages/stuAdmin/course/info.less
  95. 2 0
      pages/stuAdmin/course/info.wxml
  96. 1 0
      pages/stuAdmin/course/info.wxss
  97. 66 0
      pages/stuAdmin/course/list.js
  98. 3 0
      pages/stuAdmin/course/list.json
  99. 0 0
      pages/stuAdmin/course/list.less
  100. 0 0
      pages/stuAdmin/course/list.wxml

+ 6 - 7
app.json

@@ -41,16 +41,15 @@
         "pages/soneapply/list",
         "pages/soneapply/info",
         "pages/sonecoachstat/list",
+        
         "pages/stuAdmin/archives/list",
-        "pages/stuAdmin/coach/list",
-        "pages/stuAdmin/coach/info",
         "pages/stuAdmin/school/list",
         "pages/stuAdmin/school/info",
-        "pages/stuAdmin/open/list",
-        "pages/stuAdmin/open/info",
-        "pages/stuAdmin/open/sign",
-        "pages/stuAdmin/private/list",
-        "pages/stuAdmin/private/info",
+        "pages/stuAdmin/coach/list",
+        "pages/stuAdmin/coach/info",
+        "pages/stuAdmin/course/list",
+        "pages/stuAdmin/course/info",
+        "pages/stuAdmin/course/sign",
         "pages/stuAdmin/study/list",
         "pages/stuAdmin/fee/list"
     ],

+ 171 - 0
pages/stuAdmin copy/archives/list.js

@@ -0,0 +1,171 @@
+const app = getApp()
+import WxValidate from '../../../utils/wxValidate';
+Page({
+    data: {
+        frameStyle: { useTop: true, name: '学员信息管理', leftArrow: true, useBar: false },
+        id: '',
+        form: { icon: [] },
+        // 性别
+        genderList: [],
+        //运动等级
+        levelList: [],
+    },
+    initValidate() {
+        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: '请输入学员姓名' }, age: { required: '请输入年龄' }, gender: { required: '请选择性别' }, phone: { required: '请输入联系电话' } };
+        this.WxValidate = new WxValidate(rules, messages)
+    },
+    // 返回
+    back: function () {
+        wx.navigateBack({ delta: 1 })
+    },
+    //上传图片
+    imgUpl: function (e) {
+        const that = this;
+        let data = that.data.form.icon;
+        data.push(e.detail)
+        that.setData({ 'form.icon': data })
+    },
+    // 删除图片
+    imgDel: function (e) {
+        const that = this;
+        let list = that.data.form.icon;
+        let arr = list.filter((i, index) => index != e.detail.index)
+        that.setData({ 'form.icon': arr })
+    },
+    // 选择性别
+    genderChange: function (e) {
+        const that = this;
+        let data = that.data.genderList[e.detail.value];
+        if (data) {
+            that.setData({ 'form.gender': data.value });
+            that.setData({ 'form.zhGender': data.label });
+        }
+    },
+    // 选择等级
+    levelChange: function (e) {
+        const that = this;
+        let data = that.data.levelList[e.detail.value];
+        if (data) {
+            that.setData({ 'form.level': data.value });
+            that.setData({ 'form.zhLevel': data.label });
+        }
+    },
+    //提交
+    onSubmit: async function (e) {
+        const that = this;
+        const form = that.data.form;
+        const params = e.detail.value;
+        params.icon = form.icon;
+        if (!this.WxValidate.checkForm(params)) {
+            const error = this.WxValidate.errorList[0];
+            wx.showToast({ title: `${error.msg}`, icon: 'error', duration: 2000 })
+            return false
+        } else {
+            let arr;
+            if (form._id) arr = await app.$post(`/student/${form._id}`, params);
+            if (arr.errcode == '0') { wx.showToast({ title: `维护信息完成`, icon: 'success', duration: 2000 }); that.back(); }
+            else wx.showToast({ title: `${errmsg}`, icon: 'error', duration: 2000 })
+        }
+    },
+    /**
+     * 生命周期函数--监听页面加载
+     */
+    onLoad: async function (options) {
+        const that = this;
+        that.setData({ id: options.id || '' })
+        //验证规则函数
+        that.initValidate();
+        // 查询其他信息
+        await that.searchOther();
+        // 监听用户是否登录
+        await that.watchLogin();
+    },
+    searchOther: async function () {
+        const that = this;
+        let arr;
+        // 性别
+        arr = await app.$get(`/dict`, { code: 'gender' });
+        if (arr.errcode == '0' && arr.total > 0) {
+            let list = arr.data[0].list;
+            that.setData({ genderList: list })
+        }
+        // 运动等级
+        arr = await app.$get(`/dict`, { code: 'student_grade' });
+        if (arr.errcode == '0' && arr.total > 0) {
+            let list = arr.data[0].list;
+            that.setData({ levelList: list })
+        }
+    },
+    // 监听用户是否登录
+    watchLogin: async function () {
+        const that = this;
+        let genderList = that.data.genderList;
+        let levelList = that.data.levelList;
+        wx.getStorage({
+            key: 'user',
+            success: async res => {
+                const arr = await app.$get(`/student/${res.data?.info?._id}`);
+                if (arr.errcode == '0') {
+                    let gender = genderList.find(i => i.value == arr.data.gender)
+                    if (gender) arr.data.zhGender = gender.label;
+                    let level = levelList.find(i => i.value == arr.data.level)
+                    if (level) arr.data.zhLevel = level.label;
+                    that.setData({ form: arr.data });
+                }
+            },
+            fail: async res => {
+                wx.redirectTo({ url: '/pages/index/index' })
+            }
+        })
+    },
+    /**
+     * 生命周期函数--监听页面初次渲染完成
+     */
+    onReady: function () {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面显示
+     */
+    onShow: function () {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面隐藏
+     */
+    onHide: function () {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面卸载
+     */
+    onUnload: function () {
+
+    },
+
+    /**
+     * 页面相关事件处理函数--监听用户下拉动作
+     */
+    onPullDownRefresh: function () {
+
+    },
+
+    /**
+     * 页面上拉触底事件的处理函数
+     */
+    onReachBottom: function () {
+
+    },
+
+    /**
+     * 用户点击右上角分享
+     */
+    onShareAppMessage: function () {
+
+    }
+})

+ 7 - 0
pages/stuAdmin copy/archives/list.json

@@ -0,0 +1,7 @@
+{
+  "component": true,
+  "usingComponents": {
+      "mobile-main": "/commpents/mobile-frame/index",
+      "upload": "/commpents/upload/index"
+  }
+}

+ 35 - 0
pages/stuAdmin copy/archives/list.less

@@ -0,0 +1,35 @@
+.main {
+    height: var(--twoHeight);
+    background-color: var(--mainColor);
+
+    .one {
+        .content {
+            display: flex;
+            flex-direction: row;
+            border-bottom: 1px dashed var(--f1Color);
+            padding: 2vw 0;
+            margin: 0 2vw 2vw 2vw;
+
+            .value {
+                flex-grow: 1;
+                color: var(--blackColor);
+
+                textarea {
+                    position: static;
+                    width: 73vw;
+                }
+            }
+        }
+
+        .btn {
+            text-align: center;
+            margin: 5vw 0 0 0;
+
+            button {
+                width: 40vw;
+                margin: 0 2vw;
+                padding: 1vw 0;
+            }
+        }
+    }
+}

+ 70 - 0
pages/stuAdmin copy/archives/list.wxml

@@ -0,0 +1,70 @@
+<mobile-main frameStyle="{{frameStyle}}" bind:back="back">
+    <view slot="info" class="container main">
+        <view class="one">
+            <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 type="text" 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.zhGender||'请选择性别'}}</view>
+                        </picker>
+                    </view>
+                </view>
+                <view class="content">
+                    <view class="label">年龄:</view>
+                    <view class="value">
+                        <input type="number" name="age" value="{{form.age}}" placeholder="请输入年龄" />
+                    </view>
+                </view>
+
+                <view class="content">
+                    <view class="label">联系电话:</view>
+                    <view class="value">
+                        <input type="text" name="phone" value="{{form.phone}}" placeholder="请输入联系电话" />
+                    </view>
+                </view>
+                <view class="content">
+                    <view class="label">运动等级:</view>
+                    <view class="value">
+                        <picker mode="selector" bindchange="levelChange" name="level" value="{{form.level}}" range="{{levelList}}" range-key="label">
+                            <view class="picker">{{form.zhLevel||'请选择运动等级'}}</view>
+                        </picker>
+                    </view>
+                </view>
+                <view class="content">
+                    <view class="label">学员简介:</view>
+                    <view class="value">
+                        <textarea name="brief" maxlength="-1" auto-height value="{{form.brief}}" placeholder="请输入学员简介" />
+                    </view>
+                </view>
+                <view class="content">
+                    <view class="label">过往荣誉:</view>
+                    <view class="value">
+                        <textarea name="honer" maxlength="-1" auto-height value="{{form.honer}}" placeholder="请输入过往荣誉" />
+                    </view>
+                </view>
+                <view class="content">
+                    <view class="label">训练经历:</view>
+                    <view class="value">
+                        <textarea name="exp" maxlength="-1" auto-height value="{{form.exp}}" placeholder="请输入训练经历" />
+                    </view>
+                </view>
+                <view class="btn">
+                    <button type="primary" size="mini" formType="submit">提交保存</button>
+                </view>
+            </form>
+        </view>
+    </view>
+</mobile-main>

+ 28 - 0
pages/stuAdmin copy/archives/list.wxss

@@ -0,0 +1,28 @@
+.main {
+  height: var(--twoHeight);
+  background-color: var(--mainColor);
+}
+.main .one .content {
+  display: flex;
+  flex-direction: row;
+  border-bottom: 1px dashed var(--f1Color);
+  padding: 2vw 0;
+  margin: 0 2vw 2vw 2vw;
+}
+.main .one .content .value {
+  flex-grow: 1;
+  color: var(--blackColor);
+}
+.main .one .content .value textarea {
+  position: static;
+  width: 73vw;
+}
+.main .one .btn {
+  text-align: center;
+  margin: 5vw 0 0 0;
+}
+.main .one .btn button {
+  width: 40vw;
+  margin: 0 2vw;
+  padding: 1vw 0;
+}

+ 104 - 0
pages/stuAdmin copy/coach/info.js

@@ -0,0 +1,104 @@
+const app = getApp()
+Page({
+    data: {
+        frameStyle: { useTop: true, name: '教练信息', leftArrow: true, useBar: false },
+        id: '',
+        form: {},
+        // 性别
+        genderList: [],
+        //运动等级
+        levelList: [],
+    },
+    // 跳转菜单
+    back(e) {
+        wx.navigateBack({ delta: 1 })
+    },
+    /**
+     * 生命周期函数--监听页面加载
+     */
+    onLoad: async function (options) {
+        const that = this;
+        await that.setData({ id: options.id || null })
+        // 查询其他信息
+        await that.searchOther();
+        // 监听用户是否登录
+        await that.watchLogin();
+    },
+    searchOther: async function () {
+        const that = this;
+        let arr;
+        // 性别
+        arr = await app.$get(`/dict`, { code: 'gender' });
+        if (arr.errcode == '0' && arr.total > 0) that.setData({ genderList: arr.data[0].list });
+        // 运动等级
+        arr = await app.$get(`/dict`, { code: 'student_grade' });
+        if (arr.errcode == '0' && arr.total > 0) that.setData({ levelList: arr.data[0].list });
+    },
+    // 监听用户是否登录
+    watchLogin: async function () {
+        const that = this;
+        let genderList = that.data.genderList;
+        let levelList = that.data.levelList;
+        wx.getStorage({
+            key: 'user',
+            success: async res => {
+                if (that.data.id) {
+                    const arr = await app.$get(`/coach/${that.data.id}`);
+                    if (arr.errcode == '0') {
+                        let gender = genderList.find(i => i.value == arr.data.gender)
+                        if (gender) arr.data.zhGender = gender.label;
+                        let level = levelList.find(i => i.value == arr.data.level)
+                        if (level) arr.data.zhLevel = level.label;
+                        that.setData({ form: arr.data })
+                    } else {
+                        wx.showToast({ title: `${arr.errmsg}`, icon: 'error', duration: 2000 })
+                    }
+                }
+            },
+            fail: async res => {
+                wx.redirectTo({ url: '/pages/index/index' })
+            }
+        })
+    },
+    /**
+     * 生命周期函数--监听页面初次渲染完成
+     */
+    onReady: function () { },
+    /**
+     * 生命周期函数--监听页面显示
+     */
+    onShow: function () {
+
+    },
+
+    /**
+     * 页面上拉触底事件的处理函数
+     */
+    /**
+     * 生命周期函数--监听页面隐藏
+     */
+    onHide: function () {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面卸载
+     */
+    onUnload: function () {
+
+    },
+
+    /**
+     * 页面相关事件处理函数--监听用户下拉动作
+     */
+    onPullDownRefresh: function () {
+
+    },
+
+    /**
+     * 用户点击右上角分享
+     */
+    onShareAppMessage: function () {
+
+    }
+})

pages/stuAdmin/open/info.json → pages/stuAdmin copy/coach/info.json


pages/stuAdmin/private/info.less → pages/stuAdmin copy/coach/info.less


+ 42 - 0
pages/stuAdmin copy/coach/info.wxml

@@ -0,0 +1,42 @@
+<mobile-main frameStyle="{{frameStyle}}" bind:back="back">
+    <view slot="info" class="container main">
+        <view class="one">
+            <view class="one_1">
+                <text class="text">头像:</text>
+                <image class="image" src="{{form.icon&&form.icon.length>0?form.icon[0].url:''}}"></image>
+            </view>
+            <view class="one_1">
+                <text class="text">姓名:</text>
+                <text class="text1">{{form.name||'暂无昵称'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">性别:</text>
+                <text class="text1">{{form.zhGender||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">年龄:</text>
+                <text class="text1">{{form.age||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">电话:</text>
+                <text class="text1">{{form.phone||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">等级:</text>
+                <text class="text1">{{form.zhLevel||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">简介:</text>
+                <text class="text1">{{form.brief||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">荣誉:</text>
+                <text class="text1">{{form.honor||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">教学经历:</text>
+                <text class="text1">{{form.exp||'暂无'}}</text>
+            </view>
+        </view>
+    </view>
+</mobile-main>

pages/stuAdmin/private/info.wxss → pages/stuAdmin copy/coach/info.wxss


+ 124 - 0
pages/stuAdmin copy/coach/list.js

@@ -0,0 +1,124 @@
+const app = getApp()
+Page({
+    data: {
+        frameStyle: { useTop: true, name: '教练信息', leftArrow: true, useBar: false },
+        list: [],
+        total: 0,
+        page: 0,
+        skip: 0,
+        limit: 5,
+        // 性别
+        genderList: [],
+        //运动等级
+        levelList: [],
+    },
+    // 返回
+    back(e) {
+        wx.navigateBack({ delta: 1 })
+    },
+    // 查看
+    toView: async function (e) {
+        const that = this;
+        that.setData({ skip: 0, page: 0, list: [] })
+        const { item } = e.currentTarget.dataset;
+        wx.navigateTo({ url: `/pages/stuAdmin/coach/info?id=${item.coach_id}` })
+    },
+    // 分页
+    toPage: function () {
+        const that = this;
+        let list = that.data.list;
+        let limit = that.data.limit;
+        if (that.data.total > list.length) {
+            wx.showLoading({ title: '加载中', mask: true })
+            let page = that.data.page + 1;
+            that.setData({ page: page })
+            let skip = page * limit;
+            that.setData({ skip: skip })
+            that.watchLogin();
+            wx.hideLoading()
+        } else { wx.showToast({ title: '没有更多数据了', icon: 'none', duration: 2000 }) }
+    },
+    /**
+     * 生命周期函数--监听页面加载
+     */
+    onLoad: function (options) {
+    },
+    /**
+     * 生命周期函数--监听页面初次渲染完成
+     */
+    onReady: function () { },
+    /**
+     * 生命周期函数--监听页面显示
+     */
+    onShow: async function () {
+        const that = this;
+        // 查询其他信息
+        await that.searchOther();
+        // 监听用户是否登录
+        await that.watchLogin();
+    },
+    searchOther: async function () {
+        const that = this;
+        let arr;
+        // 性别
+        arr = await app.$get(`/dict`, { code: 'gender' });
+        if (arr.errcode == '0' && arr.total > 0) that.setData({ genderList: arr.data[0].list });
+        // 运动等级
+        arr = await app.$get(`/dict`, { code: 'student_grade' });
+        if (arr.errcode == '0' && arr.total > 0) that.setData({ levelList: arr.data[0].list });
+    },
+    // 监听用户是否登录
+    watchLogin: async function () {
+        const that = this;
+        let genderList = that.data.genderList;
+        let levelList = that.data.levelList;
+        wx.getStorage({
+            key: 'user',
+            success: async res => {
+                let info = { skip: that.data.skip, limit: that.data.limit, student_id: res.data.info.id };
+                let arr = await app.$get(`/rsc`, { ...info });
+                if (arr.errcode == '0') {
+                    for (const val of arr.data) {
+                        let level = levelList.find(i => i.value == val.coach_id_level); if (level) val.zhLevel = level.label;
+                        let gender = genderList.find(i => i.value == val.coach_id_gender); if (gender) val.zhGender = level.label;
+                    }
+                    that.setData({ list: [...that.data.list, ...arr.data] })
+                    that.setData({ total: arr.total })
+                } else { wx.showToast({ title: `${arr.errmsg}`, icon: 'error', duration: 2000 }) }
+            },
+            fail: async res => {
+                wx.redirectTo({ url: '/pages/index/index' })
+            }
+        })
+    },
+    /**
+     * 页面上拉触底事件的处理函数
+     */
+    /**
+     * 生命周期函数--监听页面隐藏
+     */
+    onHide: function () {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面卸载
+     */
+    onUnload: function () {
+
+    },
+
+    /**
+     * 页面相关事件处理函数--监听用户下拉动作
+     */
+    onPullDownRefresh: function () {
+
+    },
+
+    /**
+     * 用户点击右上角分享
+     */
+    onShareAppMessage: function () {
+
+    }
+})

pages/stuAdmin/open/list.json → pages/stuAdmin copy/coach/list.json


+ 102 - 0
pages/stuAdmin copy/coach/list.less

@@ -0,0 +1,102 @@
+.main {
+    height: var(--twoHeight);
+
+    .one {
+        width: 96vw;
+        padding: 2vw;
+
+        input {
+            padding: 2vw;
+            background-color: var(--f1Color);
+            border-radius: 5px;
+        }
+    }
+
+    .two {
+        flex-grow: 1;
+        position: relative;
+        width: 96vw;
+        margin: 0 2vw 2vw 2vw;
+
+        .list {
+            display: flex;
+            flex-direction: column;
+            padding: 2vw;
+            margin: 0 0 2vw 0;
+            background-color: var(--mainColor);
+
+            .list_1 {
+                display: flex;
+                align-items: center;
+
+                .image {
+                    width: 90px;
+                    height: 90px;
+                }
+
+                .content {
+                    width: 65vw;
+                    margin: 0 0 0 2vw;
+
+                    .name {
+                        font-size: var(--font16Size);
+                        font-weight: bold;
+                        margin: 0 0 1vw 0;
+                        text-align: center;
+                        border-bottom: 1px dashed var(--f1Color);
+                    }
+
+                    .txt {
+                        font-size: var(--font14Size);
+                        padding: 0 0 1vw 0;
+                        border-bottom: 1px dashed var(--f1Color);
+                    }
+
+                    .txt text:nth-child(1) {
+                        color: #666;
+                    }
+
+                    .other {
+                        display: flex;
+                        flex-direction: row;
+                        justify-content: space-between;
+                        font-size: var(--font14Size);
+                        border-bottom: 1px dashed var(--f1Color);
+
+                        .other_1 {
+                            padding: 0 0 1vw 0;
+                        }
+
+                        .other_1 text:nth-child(1) {
+                            color: #666;
+                        }
+                    }
+                }
+            }
+
+            .btn {
+                width: 92vw;
+                text-align: center;
+                margin: 2vw 0 0 0;
+
+                button {
+                    font-size: var(--font14Size);
+                    background: -webkit-linear-gradient(right, lightblue, #53C9F8);
+                }
+            }
+        }
+    }
+}
+
+.scroll-view {
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+
+    .list-scroll-view {
+        display: flex;
+        flex-direction: column;
+    }
+}

+ 31 - 0
pages/stuAdmin copy/coach/list.wxml

@@ -0,0 +1,31 @@
+<mobile-main frameStyle="{{frameStyle}}" bind:back="back">
+    <view slot="info" class="container main">
+        <view class="one">
+            <input type="text" placeholder="请输入关键词" />
+        </view>
+        <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_1">
+                            <image class="image" src="{{item.coach_id_icon&&item.coach_id_icon.length>0?item.coach_id_icon[0].url:''}}"></image>
+                            <view class="content">
+                                <view class="name textOver">{{item.coach_id_name||'暂无'}}</view>
+                                <view class="txt textOver"><text>联系电话:</text><text>{{item.coach_id_phone||'暂无'}}</text></view>
+                                <view class="other textOver">
+                                    <view class="other_1 textOver"><text>性别:</text><text>{{item.zhGender||'暂无'}}</text></view>
+                                    <view class="other_1 textOver"><text>年龄:</text><text>{{item.coach_id_age||'暂无'}}岁</text></view>
+                                </view>
+                                <view class="txt textOver"><text>教练等级:</text><text>{{item.zhLevel||'暂无'}}</text></view>
+                                <view class="txt textOver"><text>所获荣誉:</text><text>{{item.coach_id_honor||'暂无'}}</text></view>
+                            </view>
+                        </view>
+                        <view class="btn">
+                            <button size="mini" type="primary" bindtap="toView" data-item="{{item}}">详细信息</button>
+                        </view>
+                    </view>
+                </view>
+            </scroll-view>
+        </view>
+    </view>
+</mobile-main>

+ 85 - 0
pages/stuAdmin copy/coach/list.wxss

@@ -0,0 +1,85 @@
+.main {
+  height: var(--twoHeight);
+}
+.main .one {
+  width: 96vw;
+  padding: 2vw;
+}
+.main .one input {
+  padding: 2vw;
+  background-color: var(--f1Color);
+  border-radius: 5px;
+}
+.main .two {
+  flex-grow: 1;
+  position: relative;
+  width: 96vw;
+  margin: 0 2vw 2vw 2vw;
+}
+.main .two .list {
+  display: flex;
+  flex-direction: column;
+  padding: 2vw;
+  margin: 0 0 2vw 0;
+  background-color: var(--mainColor);
+}
+.main .two .list .list_1 {
+  display: flex;
+  align-items: center;
+}
+.main .two .list .list_1 .image {
+  width: 90px;
+  height: 90px;
+}
+.main .two .list .list_1 .content {
+  width: 65vw;
+  margin: 0 0 0 2vw;
+}
+.main .two .list .list_1 .content .name {
+  font-size: var(--font16Size);
+  font-weight: bold;
+  margin: 0 0 1vw 0;
+  text-align: center;
+  border-bottom: 1px dashed var(--f1Color);
+}
+.main .two .list .list_1 .content .txt {
+  font-size: var(--font14Size);
+  padding: 0 0 1vw 0;
+  border-bottom: 1px dashed var(--f1Color);
+}
+.main .two .list .list_1 .content .txt text:nth-child(1) {
+  color: #666;
+}
+.main .two .list .list_1 .content .other {
+  display: flex;
+  flex-direction: row;
+  justify-content: space-between;
+  font-size: var(--font14Size);
+  border-bottom: 1px dashed var(--f1Color);
+}
+.main .two .list .list_1 .content .other .other_1 {
+  padding: 0 0 1vw 0;
+}
+.main .two .list .list_1 .content .other .other_1 text:nth-child(1) {
+  color: #666;
+}
+.main .two .list .btn {
+  width: 92vw;
+  text-align: center;
+  margin: 2vw 0 0 0;
+}
+.main .two .list .btn button {
+  font-size: var(--font14Size);
+  background: -webkit-linear-gradient(right, lightblue, #53C9F8);
+}
+.scroll-view {
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+}
+.scroll-view .list-scroll-view {
+  display: flex;
+  flex-direction: column;
+}

+ 66 - 0
pages/stuAdmin copy/course/info.js

@@ -0,0 +1,66 @@
+// pages/stuAdmin/course/info.js
+Page({
+
+    /**
+     * 页面的初始数据
+     */
+    data: {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面加载
+     */
+    onLoad(options) {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面初次渲染完成
+     */
+    onReady() {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面显示
+     */
+    onShow() {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面隐藏
+     */
+    onHide() {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面卸载
+     */
+    onUnload() {
+
+    },
+
+    /**
+     * 页面相关事件处理函数--监听用户下拉动作
+     */
+    onPullDownRefresh() {
+
+    },
+
+    /**
+     * 页面上拉触底事件的处理函数
+     */
+    onReachBottom() {
+
+    },
+
+    /**
+     * 用户点击右上角分享
+     */
+    onShareAppMessage() {
+
+    }
+})

+ 3 - 0
pages/stuAdmin copy/course/info.json

@@ -0,0 +1,3 @@
+{
+    "usingComponents": {}
+}

+ 0 - 0
pages/stuAdmin copy/course/info.less


+ 2 - 0
pages/stuAdmin copy/course/info.wxml

@@ -0,0 +1,2 @@
+<!--pages/stuAdmin/course/info.wxml-->
+<text>pages/stuAdmin/course/info.wxml</text>

+ 1 - 0
pages/stuAdmin copy/course/info.wxss

@@ -0,0 +1 @@
+/* pages/stuAdmin/course/info.wxss */

+ 66 - 0
pages/stuAdmin copy/course/list.js

@@ -0,0 +1,66 @@
+// pages/stuAdmin/course/list.js
+Page({
+
+    /**
+     * 页面的初始数据
+     */
+    data: {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面加载
+     */
+    onLoad(options) {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面初次渲染完成
+     */
+    onReady() {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面显示
+     */
+    onShow() {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面隐藏
+     */
+    onHide() {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面卸载
+     */
+    onUnload() {
+
+    },
+
+    /**
+     * 页面相关事件处理函数--监听用户下拉动作
+     */
+    onPullDownRefresh() {
+
+    },
+
+    /**
+     * 页面上拉触底事件的处理函数
+     */
+    onReachBottom() {
+
+    },
+
+    /**
+     * 用户点击右上角分享
+     */
+    onShareAppMessage() {
+
+    }
+})

+ 3 - 0
pages/stuAdmin copy/course/list.json

@@ -0,0 +1,3 @@
+{
+    "usingComponents": {}
+}

+ 0 - 0
pages/stuAdmin copy/course/list.less


+ 2 - 0
pages/stuAdmin copy/course/list.wxml

@@ -0,0 +1,2 @@
+<!--pages/stuAdmin/course/list.wxml-->
+<text>pages/stuAdmin/course/list.wxml</text>

+ 1 - 0
pages/stuAdmin copy/course/list.wxss

@@ -0,0 +1 @@
+/* pages/stuAdmin/course/list.wxss */

+ 66 - 0
pages/stuAdmin copy/course/sign.js

@@ -0,0 +1,66 @@
+// pages/stuAdmin/course/sign.js
+Page({
+
+    /**
+     * 页面的初始数据
+     */
+    data: {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面加载
+     */
+    onLoad(options) {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面初次渲染完成
+     */
+    onReady() {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面显示
+     */
+    onShow() {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面隐藏
+     */
+    onHide() {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面卸载
+     */
+    onUnload() {
+
+    },
+
+    /**
+     * 页面相关事件处理函数--监听用户下拉动作
+     */
+    onPullDownRefresh() {
+
+    },
+
+    /**
+     * 页面上拉触底事件的处理函数
+     */
+    onReachBottom() {
+
+    },
+
+    /**
+     * 用户点击右上角分享
+     */
+    onShareAppMessage() {
+
+    }
+})

+ 3 - 0
pages/stuAdmin copy/course/sign.json

@@ -0,0 +1,3 @@
+{
+    "usingComponents": {}
+}

+ 0 - 0
pages/stuAdmin copy/course/sign.less


+ 2 - 0
pages/stuAdmin copy/course/sign.wxml

@@ -0,0 +1,2 @@
+<!--pages/stuAdmin/course/sign.wxml-->
+<text>pages/stuAdmin/course/sign.wxml</text>

+ 1 - 0
pages/stuAdmin copy/course/sign.wxss

@@ -0,0 +1 @@
+/* pages/stuAdmin/course/sign.wxss */

+ 67 - 0
pages/stuAdmin copy/fee/list.js

@@ -0,0 +1,67 @@
+const app = getApp()
+Page({
+    data: {
+        frameStyle: { useTop: true, name: '付费情况', leftArrow: true, useBar: false },
+    },
+    // 返回
+    back(e) {
+        wx.navigateBack({ delta: 1 })
+    },
+    /**
+     * 生命周期函数--监听页面加载
+     */
+    onLoad: function (options) { },
+    // 监听用户是否登录
+    watchLogin: async function () {
+        const that = this;
+        wx.getStorage({
+            key: 'user',
+            success: async res => { },
+            fail: async res => {
+                // wx.redirectTo({ url: '/pages/index/index' })
+            }
+        })
+    },
+    /**
+     * 生命周期函数--监听页面初次渲染完成
+     */
+    onReady: function () { },
+    /**
+     * 生命周期函数--监听页面显示
+     */
+    onShow: function () {
+        const that = this;
+        // 监听用户是否登录
+        that.watchLogin();
+    },
+    /**
+     * 页面上拉触底事件的处理函数
+     */
+    /**
+     * 生命周期函数--监听页面隐藏
+     */
+    onHide: function () {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面卸载
+     */
+    onUnload: function () {
+
+    },
+
+    /**
+     * 页面相关事件处理函数--监听用户下拉动作
+     */
+    onPullDownRefresh: function () {
+
+    },
+
+    /**
+     * 用户点击右上角分享
+     */
+    onShareAppMessage: function () {
+
+    }
+})

+ 6 - 0
pages/stuAdmin copy/fee/list.json

@@ -0,0 +1,6 @@
+{
+    "component": true,
+    "usingComponents": {
+      "mobile-main": "/commpents/mobile-frame/index"
+    }
+  }

+ 4 - 0
pages/stuAdmin copy/fee/list.less

@@ -0,0 +1,4 @@
+.main {
+    background-color: var(--mainColor);
+}
+

+ 5 - 0
pages/stuAdmin copy/fee/list.wxml

@@ -0,0 +1,5 @@
+<mobile-main frameStyle="{{frameStyle}}" bind:back="back">
+    <view slot="info" class="container main">
+        1
+    </view>
+</mobile-main>

+ 3 - 0
pages/stuAdmin copy/fee/list.wxss

@@ -0,0 +1,3 @@
+.main {
+  background-color: var(--mainColor);
+}

pages/stuAdmin/open/info.js → pages/stuAdmin copy/open/info.js


pages/stuAdmin/private/info.json → pages/stuAdmin copy/open/info.json


pages/stuAdmin/open/info.less → pages/stuAdmin copy/open/info.less


pages/stuAdmin/open/info.wxml → pages/stuAdmin copy/open/info.wxml


pages/stuAdmin/open/info.wxss → pages/stuAdmin copy/open/info.wxss


pages/stuAdmin/open/list.js → pages/stuAdmin copy/open/list.js


pages/stuAdmin/private/list.json → pages/stuAdmin copy/open/list.json


pages/stuAdmin/open/list.less → pages/stuAdmin copy/open/list.less


pages/stuAdmin/open/list.wxml → pages/stuAdmin copy/open/list.wxml


pages/stuAdmin/open/list.wxss → pages/stuAdmin copy/open/list.wxss


pages/stuAdmin/open/sign.js → pages/stuAdmin copy/open/sign.js


pages/stuAdmin/open/sign.json → pages/stuAdmin copy/open/sign.json


pages/stuAdmin/open/sign.less → pages/stuAdmin copy/open/sign.less


pages/stuAdmin/open/sign.wxml → pages/stuAdmin copy/open/sign.wxml


pages/stuAdmin/open/sign.wxss → pages/stuAdmin copy/open/sign.wxss


pages/stuAdmin/private/info.js → pages/stuAdmin copy/private/info.js


+ 6 - 0
pages/stuAdmin copy/private/info.json

@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "mobile-main": "/commpents/mobile-frame/index"
+  }
+}

+ 32 - 0
pages/stuAdmin copy/private/info.less

@@ -0,0 +1,32 @@
+.main {
+    background-color: var(--mainColor);
+
+    .one {
+        width: 96vw;
+        padding: 0 2vw;
+
+        .one_1 {
+            display: flex;
+            flex-direction: row;
+            justify-content: space-between;
+            border: 1px dashed var(--f85Color);
+            border-radius: 5px;
+            margin: 0 0 10px 0;
+            padding: 10px;
+
+            .text {
+                color: var(--f85Color);
+                font-size: var(--font16Size);
+            }
+
+            .text1 {
+                font-size: var(--font16Size);
+            }
+
+            .image {
+                width: 15vw;
+                height: 15vw;
+            }
+        }
+    }
+}

pages/stuAdmin/private/info.wxml → pages/stuAdmin copy/private/info.wxml


+ 27 - 0
pages/stuAdmin copy/private/info.wxss

@@ -0,0 +1,27 @@
+.main {
+  background-color: var(--mainColor);
+}
+.main .one {
+  width: 96vw;
+  padding: 0 2vw;
+}
+.main .one .one_1 {
+  display: flex;
+  flex-direction: row;
+  justify-content: space-between;
+  border: 1px dashed var(--f85Color);
+  border-radius: 5px;
+  margin: 0 0 10px 0;
+  padding: 10px;
+}
+.main .one .one_1 .text {
+  color: var(--f85Color);
+  font-size: var(--font16Size);
+}
+.main .one .one_1 .text1 {
+  font-size: var(--font16Size);
+}
+.main .one .one_1 .image {
+  width: 15vw;
+  height: 15vw;
+}

pages/stuAdmin/private/list.js → pages/stuAdmin copy/private/list.js


+ 6 - 0
pages/stuAdmin copy/private/list.json

@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "mobile-main": "/commpents/mobile-frame/index"
+  }
+}

pages/stuAdmin/private/list.less → pages/stuAdmin copy/private/list.less


pages/stuAdmin/private/list.wxml → pages/stuAdmin copy/private/list.wxml


pages/stuAdmin/private/list.wxss → pages/stuAdmin copy/private/list.wxss


+ 90 - 0
pages/stuAdmin copy/school/info.js

@@ -0,0 +1,90 @@
+const app = getApp()
+Page({
+    data: {
+        frameStyle: { useTop: true, name: '学校信息', leftArrow: true, useBar: false },
+        id: '',
+        form: {},
+    },
+    // 跳转菜单
+    back(e) {
+        wx.navigateBack({ delta: 1 })
+    },
+    // 预览
+    toView: function (e) {
+        const { item } = e.currentTarget.dataset;
+        wx.previewImage({
+            current: '',
+            urls: [item.url]
+        })
+    },
+    /**
+     * 生命周期函数--监听页面加载
+     */
+    onLoad: function (options) {
+        const that = this;
+        that.setData({ id: options.id || null })
+        // 监听用户是否登录
+        that.watchLogin();
+    },
+    // 监听用户是否登录
+    watchLogin: async function () {
+        const that = this;
+        wx.getStorage({
+            key: 'user',
+            success: async res => {
+                if (that.data.id) {
+                    const arr = await app.$get(`/school/${that.data.id}`);
+                    if (arr.errcode == '0') {
+                        that.setData({ form: arr.data })
+                    } else {
+                        wx.showToast({ title: `${arr.errmsg}`, icon: 'error', duration: 2000 })
+                    }
+                }
+            },
+            fail: async res => {
+                wx.redirectTo({ url: '/pages/index/index' })
+            }
+        })
+    },
+    /**
+     * 生命周期函数--监听页面初次渲染完成
+     */
+    onReady: function () { },
+    /**
+     * 生命周期函数--监听页面显示
+     */
+    onShow: function () {
+
+    },
+
+    /**
+     * 页面上拉触底事件的处理函数
+     */
+    /**
+     * 生命周期函数--监听页面隐藏
+     */
+    onHide: function () {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面卸载
+     */
+    onUnload: function () {
+
+    },
+
+    /**
+     * 页面相关事件处理函数--监听用户下拉动作
+     */
+    onPullDownRefresh: function () {
+
+    },
+
+    /**
+     * 用户点击右上角分享
+     */
+    onShareAppMessage: function () {
+
+    }
+})

+ 6 - 0
pages/stuAdmin copy/school/info.json

@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "mobile-main": "/commpents/mobile-frame/index"
+  }
+}

+ 42 - 0
pages/stuAdmin copy/school/info.less

@@ -0,0 +1,42 @@
+.main {
+    background-color: var(--mainColor);
+
+    .one {
+        width: 96vw;
+        padding: 0 2vw;
+
+        .one_1 {
+            display: flex;
+            flex-direction: row;
+            justify-content: space-between;
+            border: 1px dashed var(--f85Color);
+            border-radius: 5px;
+            margin: 0 0 10px 0;
+            padding: 10px;
+
+            .text {
+                color: var(--f85Color);
+                font-size: var(--font16Size);
+            }
+
+            .text1 {
+                font-size: var(--font16Size);
+            }
+
+            .image {
+                width: 90vw;
+                height: 90vw;
+            }
+
+            swiper {
+                width: 90vw;
+                height: 25vh;
+
+                .image {
+                    width: 100%;
+                    height: 100%;
+                }
+            }
+        }
+    }
+}

+ 46 - 0
pages/stuAdmin copy/school/info.wxml

@@ -0,0 +1,46 @@
+<mobile-main frameStyle="{{frameStyle}}" bind:back="back">
+    <view slot="info" class="container main">
+        <view class="one">
+            <view class="one_1">
+                <swiper autoplay="true" circular="true" interval="3000" duration="1000">
+                    <block wx:for="{{form.img_url}}" wx:key="index">
+                        <swiper-item>
+                            <image class="image" src="{{item.url}}"></image>
+                        </swiper-item>
+                    </block>
+                </swiper>
+            </view>
+            <view class="one_1">
+                <text class="text">名称:</text>
+                <text class="text1">{{form.name||'暂无名称'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">电话:</text>
+                <text class="text1">{{form.phone||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">地址:</text>
+                <text class="text1">{{form.address||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">教练人数:</text>
+                <text class="text1">{{form.coach_num||'暂无'}}人</text>
+            </view>
+            <view class="one_1">
+                <text class="text">学员人数:</text>
+                <text class="text1">{{form.student_num||'暂无'}}人</text>
+            </view>
+            <view class="one_1">
+                <text class="text">所获荣誉:</text>
+                <text class="text1">{{form.honor||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">学校简介:</text>
+                <text class="text1">{{form.brief||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <image bindtap="toView" data-item="{{form.yyzz[0]}}" class="image" src="{{form.yyzz&&form.yyzz.length>0?form.yyzz[0].url:''}}"></image>
+            </view>
+        </view>
+    </view>
+</mobile-main>

+ 35 - 0
pages/stuAdmin copy/school/info.wxss

@@ -0,0 +1,35 @@
+.main {
+  background-color: var(--mainColor);
+}
+.main .one {
+  width: 96vw;
+  padding: 0 2vw;
+}
+.main .one .one_1 {
+  display: flex;
+  flex-direction: row;
+  justify-content: space-between;
+  border: 1px dashed var(--f85Color);
+  border-radius: 5px;
+  margin: 0 0 10px 0;
+  padding: 10px;
+}
+.main .one .one_1 .text {
+  color: var(--f85Color);
+  font-size: var(--font16Size);
+}
+.main .one .one_1 .text1 {
+  font-size: var(--font16Size);
+}
+.main .one .one_1 .image {
+  width: 90vw;
+  height: 90vw;
+}
+.main .one .one_1 swiper {
+  width: 90vw;
+  height: 25vh;
+}
+.main .one .one_1 swiper .image {
+  width: 100%;
+  height: 100%;
+}

+ 102 - 0
pages/stuAdmin copy/school/list.js

@@ -0,0 +1,102 @@
+const app = getApp()
+Page({
+    data: {
+        frameStyle: { useTop: true, name: '羽校信息', leftArrow: true, useBar: false },
+        list: [],
+        total: 0,
+        page: 0,
+        skip: 0,
+        limit: 5,
+    },
+    // 返回
+    back(e) {
+        wx.navigateBack({ delta: 1 })
+    },
+    // 查看
+    toView: async function (e) {
+        const that = this;
+        that.setData({ skip: 0, page: 0, list: [] })
+        const { item } = e.currentTarget.dataset;
+        wx.navigateTo({ url: `/pages/stuAdmin/school/info?id=${item.school_id}` })
+    },
+    // 分页
+    toPage: function () {
+        const that = this;
+        let list = that.data.list;
+        let limit = that.data.limit;
+        if (that.data.total > list.length) {
+            wx.showLoading({ title: '加载中', mask: true })
+            let page = that.data.page + 1;
+            that.setData({ page: page })
+            let skip = page * limit;
+            that.setData({ skip: skip })
+            that.watchLogin();
+            wx.hideLoading()
+        } else { wx.showToast({ title: '没有更多数据了', icon: 'none', duration: 2000 }) }
+    },
+    /**
+     * 生命周期函数--监听页面加载
+     */
+    onLoad: function (options) {
+    },
+    // 监听用户是否登录
+    watchLogin: async function () {
+        const that = this;
+        wx.getStorage({
+            key: 'user',
+            success: async res => {
+                let info = { skip: that.data.skip, limit: that.data.limit, student_id: res.data.info.id };
+                let arr = await app.$get(`/rss`, { ...info });
+                if (arr.errcode == '0') {
+                    that.setData({ list: [...that.data.list, ...arr.data] })
+                    that.setData({ total: arr.total })
+                } else { wx.showToast({ title: `${arr.errmsg}`, icon: 'error', duration: 2000 }) }
+            },
+            fail: async res => {
+                wx.redirectTo({ url: '/pages/index/index' })
+            }
+        })
+    },
+    /**
+     * 生命周期函数--监听页面初次渲染完成
+     */
+    onReady: function () { },
+    /**
+     * 生命周期函数--监听页面显示
+     */
+    onShow: function () {
+        const that = this;
+        // 监听用户是否登录
+        that.watchLogin();
+    },
+    /**
+     * 页面上拉触底事件的处理函数
+     */
+    /**
+     * 生命周期函数--监听页面隐藏
+     */
+    onHide: function () {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面卸载
+     */
+    onUnload: function () {
+
+    },
+
+    /**
+     * 页面相关事件处理函数--监听用户下拉动作
+     */
+    onPullDownRefresh: function () {
+
+    },
+
+    /**
+     * 用户点击右上角分享
+     */
+    onShareAppMessage: function () {
+
+    }
+})

+ 6 - 0
pages/stuAdmin copy/school/list.json

@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "mobile-main": "/commpents/mobile-frame/index"
+  }
+}

+ 102 - 0
pages/stuAdmin copy/school/list.less

@@ -0,0 +1,102 @@
+.main {
+    height: var(--twoHeight);
+
+    .one {
+        width: 96vw;
+        padding: 2vw;
+
+        input {
+            padding: 2vw;
+            background-color: var(--f1Color);
+            border-radius: 5px;
+        }
+    }
+
+    .two {
+        flex-grow: 1;
+        position: relative;
+        width: 96vw;
+        margin: 0 2vw 2vw 2vw;
+
+        .list {
+            display: flex;
+            flex-direction: column;
+            padding: 2vw;
+            margin: 0 0 2vw 0;
+            background-color: var(--mainColor);
+
+            .list_1 {
+                display: flex;
+                align-items: center;
+
+                .image {
+                    width: 90px;
+                    height: 90px;
+                }
+
+                .content {
+                    width: 65vw;
+                    margin: 0 0 0 2vw;
+
+                    .name {
+                        font-size: var(--font16Size);
+                        font-weight: bold;
+                        margin: 0 0 1vw 0;
+                        text-align: center;
+                        border-bottom: 1px dashed var(--f1Color);
+                    }
+
+                    .txt {
+                        font-size: var(--font14Size);
+                        padding: 0 0 1vw 0;
+                        border-bottom: 1px dashed var(--f1Color);
+                    }
+
+                    .txt text:nth-child(1) {
+                        color: #666;
+                    }
+
+                    .other {
+                        display: flex;
+                        flex-direction: row;
+                        justify-content: space-between;
+                        font-size: var(--font14Size);
+                        border-bottom: 1px dashed var(--f1Color);
+
+                        .other_1 {
+                            padding: 0 0 1vw 0;
+                        }
+
+                        .other_1 text:nth-child(1) {
+                            color: var(--f85Color);
+                        }
+                    }
+                }
+            }
+
+            .btn {
+                width: 92vw;
+                text-align: center;
+                margin: 2vw 0 0 0;
+
+                button {
+                    font-size: var(--font14Size);
+                    background: -webkit-linear-gradient(right, lightblue, #53C9F8);
+                }
+            }
+        }
+    }
+}
+
+.scroll-view {
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+
+    .list-scroll-view {
+        display: flex;
+        flex-direction: column;
+    }
+}

+ 31 - 0
pages/stuAdmin copy/school/list.wxml

@@ -0,0 +1,31 @@
+<mobile-main frameStyle="{{frameStyle}}" bind:back="back">
+    <view slot="info" class="container main">
+        <view class="one">
+            <input type="text" placeholder="请输入关键词" />
+        </view>
+        <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_1">
+                            <image class="image" src="{{item.school_id_img_url&&item.school_id_img_url.length>0?item.school_id_img_url[0].url:''}}"></image>
+                            <view class="content">
+                                <view class="name textOver">{{item.school_id_name||'暂无'}}</view>
+                                <view class="txt textOver"><text>联系电话:</text><text>{{item.school_id_phone||'暂无'}}</text></view>
+                                <view class="other textOver">
+                                    <view class="other_1 textOver"><text>教练人数:</text><text>{{item.school_id_coach_num||'0'}}人</text></view>
+                                    <view class="other_1 textOver"><text>学员人数:</text><text>{{item.school_id_student_num||'0'}}人</text></view>
+                                </view>
+                                <view class="txt textOver"><text>训练地址:</text><text>{{item.school_id_address||'暂无'}}</text></view>
+                                <view class="txt textOver"><text>羽校简介:</text><text>{{item.school_id_brief||'暂无'}}</text></view>
+                            </view>
+                        </view>
+                        <view class="btn">
+                            <button size="mini" type="primary" bindtap="toView" data-item="{{item}}">详细信息</button>
+                        </view>
+                    </view>
+                </view>
+            </scroll-view>
+        </view>
+    </view>
+</mobile-main>

+ 85 - 0
pages/stuAdmin copy/school/list.wxss

@@ -0,0 +1,85 @@
+.main {
+  height: var(--twoHeight);
+}
+.main .one {
+  width: 96vw;
+  padding: 2vw;
+}
+.main .one input {
+  padding: 2vw;
+  background-color: var(--f1Color);
+  border-radius: 5px;
+}
+.main .two {
+  flex-grow: 1;
+  position: relative;
+  width: 96vw;
+  margin: 0 2vw 2vw 2vw;
+}
+.main .two .list {
+  display: flex;
+  flex-direction: column;
+  padding: 2vw;
+  margin: 0 0 2vw 0;
+  background-color: var(--mainColor);
+}
+.main .two .list .list_1 {
+  display: flex;
+  align-items: center;
+}
+.main .two .list .list_1 .image {
+  width: 90px;
+  height: 90px;
+}
+.main .two .list .list_1 .content {
+  width: 65vw;
+  margin: 0 0 0 2vw;
+}
+.main .two .list .list_1 .content .name {
+  font-size: var(--font16Size);
+  font-weight: bold;
+  margin: 0 0 1vw 0;
+  text-align: center;
+  border-bottom: 1px dashed var(--f1Color);
+}
+.main .two .list .list_1 .content .txt {
+  font-size: var(--font14Size);
+  padding: 0 0 1vw 0;
+  border-bottom: 1px dashed var(--f1Color);
+}
+.main .two .list .list_1 .content .txt text:nth-child(1) {
+  color: #666;
+}
+.main .two .list .list_1 .content .other {
+  display: flex;
+  flex-direction: row;
+  justify-content: space-between;
+  font-size: var(--font14Size);
+  border-bottom: 1px dashed var(--f1Color);
+}
+.main .two .list .list_1 .content .other .other_1 {
+  padding: 0 0 1vw 0;
+}
+.main .two .list .list_1 .content .other .other_1 text:nth-child(1) {
+  color: var(--f85Color);
+}
+.main .two .list .btn {
+  width: 92vw;
+  text-align: center;
+  margin: 2vw 0 0 0;
+}
+.main .two .list .btn button {
+  font-size: var(--font14Size);
+  background: -webkit-linear-gradient(right, lightblue, #53C9F8);
+}
+.scroll-view {
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+}
+.scroll-view .list-scroll-view {
+  display: flex;
+  flex-direction: column;
+}

+ 67 - 0
pages/stuAdmin copy/study/list.js

@@ -0,0 +1,67 @@
+const app = getApp()
+Page({
+    data: {
+        frameStyle: { useTop: true, name: '学校学习情况', leftArrow: true, useBar: false },
+    },
+    // 返回
+    back(e) {
+        wx.navigateBack({ delta: 1 })
+    },
+    /**
+     * 生命周期函数--监听页面加载
+     */
+    onLoad: function (options) { },
+    // 监听用户是否登录
+    watchLogin: async function () {
+        const that = this;
+        wx.getStorage({
+            key: 'user',
+            success: async res => { },
+            fail: async res => {
+                // wx.redirectTo({ url: '/pages/index/index' })
+            }
+        })
+    },
+    /**
+     * 生命周期函数--监听页面初次渲染完成
+     */
+    onReady: function () { },
+    /**
+     * 生命周期函数--监听页面显示
+     */
+    onShow: function () {
+        const that = this;
+        // 监听用户是否登录
+        that.watchLogin();
+    },
+    /**
+     * 页面上拉触底事件的处理函数
+     */
+    /**
+     * 生命周期函数--监听页面隐藏
+     */
+    onHide: function () {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面卸载
+     */
+    onUnload: function () {
+
+    },
+
+    /**
+     * 页面相关事件处理函数--监听用户下拉动作
+     */
+    onPullDownRefresh: function () {
+
+    },
+
+    /**
+     * 用户点击右上角分享
+     */
+    onShareAppMessage: function () {
+
+    }
+})

+ 6 - 0
pages/stuAdmin copy/study/list.json

@@ -0,0 +1,6 @@
+{
+    "component": true,
+    "usingComponents": {
+      "mobile-main": "/commpents/mobile-frame/index"
+    }
+  }

+ 4 - 0
pages/stuAdmin copy/study/list.less

@@ -0,0 +1,4 @@
+.main {
+    background-color: var(--mainColor);
+}
+

+ 5 - 0
pages/stuAdmin copy/study/list.wxml

@@ -0,0 +1,5 @@
+<mobile-main frameStyle="{{frameStyle}}" bind:back="back">
+    <view slot="info" class="container main">
+        1
+    </view>
+</mobile-main>

+ 3 - 0
pages/stuAdmin copy/study/list.wxss

@@ -0,0 +1,3 @@
+.main {
+  background-color: var(--mainColor);
+}

+ 17 - 122
pages/stuAdmin/archives/list.js

@@ -1,171 +1,66 @@
-const app = getApp()
-import WxValidate from '../../../utils/wxValidate';
+// pages/stuAdmin/archives/list.js
 Page({
+
+    /**
+     * 页面的初始数据
+     */
     data: {
-        frameStyle: { useTop: true, name: '学员信息管理', leftArrow: true, useBar: false },
-        id: '',
-        form: { icon: [] },
-        // 性别
-        genderList: [],
-        //运动等级
-        levelList: [],
-    },
-    initValidate() {
-        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: '请输入学员姓名' }, age: { required: '请输入年龄' }, gender: { required: '请选择性别' }, phone: { required: '请输入联系电话' } };
-        this.WxValidate = new WxValidate(rules, messages)
-    },
-    // 返回
-    back: function () {
-        wx.navigateBack({ delta: 1 })
-    },
-    //上传图片
-    imgUpl: function (e) {
-        const that = this;
-        let data = that.data.form.icon;
-        data.push(e.detail)
-        that.setData({ 'form.icon': data })
-    },
-    // 删除图片
-    imgDel: function (e) {
-        const that = this;
-        let list = that.data.form.icon;
-        let arr = list.filter((i, index) => index != e.detail.index)
-        that.setData({ 'form.icon': arr })
-    },
-    // 选择性别
-    genderChange: function (e) {
-        const that = this;
-        let data = that.data.genderList[e.detail.value];
-        if (data) {
-            that.setData({ 'form.gender': data.value });
-            that.setData({ 'form.zhGender': data.label });
-        }
-    },
-    // 选择等级
-    levelChange: function (e) {
-        const that = this;
-        let data = that.data.levelList[e.detail.value];
-        if (data) {
-            that.setData({ 'form.level': data.value });
-            that.setData({ 'form.zhLevel': data.label });
-        }
-    },
-    //提交
-    onSubmit: async function (e) {
-        const that = this;
-        const form = that.data.form;
-        const params = e.detail.value;
-        params.icon = form.icon;
-        if (!this.WxValidate.checkForm(params)) {
-            const error = this.WxValidate.errorList[0];
-            wx.showToast({ title: `${error.msg}`, icon: 'error', duration: 2000 })
-            return false
-        } else {
-            let arr;
-            if (form._id) arr = await app.$post(`/student/${form._id}`, params);
-            if (arr.errcode == '0') { wx.showToast({ title: `维护信息完成`, icon: 'success', duration: 2000 }); that.back(); }
-            else wx.showToast({ title: `${errmsg}`, icon: 'error', duration: 2000 })
-        }
+
     },
+
     /**
      * 生命周期函数--监听页面加载
      */
-    onLoad: async function (options) {
-        const that = this;
-        that.setData({ id: options.id || '' })
-        //验证规则函数
-        that.initValidate();
-        // 查询其他信息
-        await that.searchOther();
-        // 监听用户是否登录
-        await that.watchLogin();
-    },
-    searchOther: async function () {
-        const that = this;
-        let arr;
-        // 性别
-        arr = await app.$get(`/dict`, { code: 'gender' });
-        if (arr.errcode == '0' && arr.total > 0) {
-            let list = arr.data[0].list;
-            that.setData({ genderList: list })
-        }
-        // 运动等级
-        arr = await app.$get(`/dict`, { code: 'student_grade' });
-        if (arr.errcode == '0' && arr.total > 0) {
-            let list = arr.data[0].list;
-            that.setData({ levelList: list })
-        }
-    },
-    // 监听用户是否登录
-    watchLogin: async function () {
-        const that = this;
-        let genderList = that.data.genderList;
-        let levelList = that.data.levelList;
-        wx.getStorage({
-            key: 'user',
-            success: async res => {
-                const arr = await app.$get(`/student/${res.data?.info?._id}`);
-                if (arr.errcode == '0') {
-                    let gender = genderList.find(i => i.value == arr.data.gender)
-                    if (gender) arr.data.zhGender = gender.label;
-                    let level = levelList.find(i => i.value == arr.data.level)
-                    if (level) arr.data.zhLevel = level.label;
-                    that.setData({ form: arr.data });
-                }
-            },
-            fail: async res => {
-                wx.redirectTo({ url: '/pages/index/index' })
-            }
-        })
+    onLoad(options) {
+
     },
+
     /**
      * 生命周期函数--监听页面初次渲染完成
      */
-    onReady: function () {
+    onReady() {
 
     },
 
     /**
      * 生命周期函数--监听页面显示
      */
-    onShow: function () {
+    onShow() {
 
     },
 
     /**
      * 生命周期函数--监听页面隐藏
      */
-    onHide: function () {
+    onHide() {
 
     },
 
     /**
      * 生命周期函数--监听页面卸载
      */
-    onUnload: function () {
+    onUnload() {
 
     },
 
     /**
      * 页面相关事件处理函数--监听用户下拉动作
      */
-    onPullDownRefresh: function () {
+    onPullDownRefresh() {
 
     },
 
     /**
      * 页面上拉触底事件的处理函数
      */
-    onReachBottom: function () {
+    onReachBottom() {
 
     },
 
     /**
      * 用户点击右上角分享
      */
-    onShareAppMessage: function () {
+    onShareAppMessage() {
 
     }
 })

+ 1 - 5
pages/stuAdmin/archives/list.json

@@ -1,7 +1,3 @@
 {
-  "component": true,
-  "usingComponents": {
-      "mobile-main": "/commpents/mobile-frame/index",
-      "upload": "/commpents/upload/index"
-  }
+    "usingComponents": {}
 }

+ 0 - 35
pages/stuAdmin/archives/list.less

@@ -1,35 +0,0 @@
-.main {
-    height: var(--twoHeight);
-    background-color: var(--mainColor);
-
-    .one {
-        .content {
-            display: flex;
-            flex-direction: row;
-            border-bottom: 1px dashed var(--f1Color);
-            padding: 2vw 0;
-            margin: 0 2vw 2vw 2vw;
-
-            .value {
-                flex-grow: 1;
-                color: var(--blackColor);
-
-                textarea {
-                    position: static;
-                    width: 73vw;
-                }
-            }
-        }
-
-        .btn {
-            text-align: center;
-            margin: 5vw 0 0 0;
-
-            button {
-                width: 40vw;
-                margin: 0 2vw;
-                padding: 1vw 0;
-            }
-        }
-    }
-}

+ 2 - 70
pages/stuAdmin/archives/list.wxml

@@ -1,70 +1,2 @@
-<mobile-main frameStyle="{{frameStyle}}" bind:back="back">
-    <view slot="info" class="container main">
-        <view class="one">
-            <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 type="text" 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.zhGender||'请选择性别'}}</view>
-                        </picker>
-                    </view>
-                </view>
-                <view class="content">
-                    <view class="label">年龄:</view>
-                    <view class="value">
-                        <input type="number" name="age" value="{{form.age}}" placeholder="请输入年龄" />
-                    </view>
-                </view>
-
-                <view class="content">
-                    <view class="label">联系电话:</view>
-                    <view class="value">
-                        <input type="text" name="phone" value="{{form.phone}}" placeholder="请输入联系电话" />
-                    </view>
-                </view>
-                <view class="content">
-                    <view class="label">运动等级:</view>
-                    <view class="value">
-                        <picker mode="selector" bindchange="levelChange" name="level" value="{{form.level}}" range="{{levelList}}" range-key="label">
-                            <view class="picker">{{form.zhLevel||'请选择运动等级'}}</view>
-                        </picker>
-                    </view>
-                </view>
-                <view class="content">
-                    <view class="label">学员简介:</view>
-                    <view class="value">
-                        <textarea name="brief" maxlength="-1" auto-height value="{{form.brief}}" placeholder="请输入学员简介" />
-                    </view>
-                </view>
-                <view class="content">
-                    <view class="label">过往荣誉:</view>
-                    <view class="value">
-                        <textarea name="honer" maxlength="-1" auto-height value="{{form.honer}}" placeholder="请输入过往荣誉" />
-                    </view>
-                </view>
-                <view class="content">
-                    <view class="label">训练经历:</view>
-                    <view class="value">
-                        <textarea name="exp" maxlength="-1" auto-height value="{{form.exp}}" placeholder="请输入训练经历" />
-                    </view>
-                </view>
-                <view class="btn">
-                    <button type="primary" size="mini" formType="submit">提交保存</button>
-                </view>
-            </form>
-        </view>
-    </view>
-</mobile-main>
+<!--pages/stuAdmin/archives/list.wxml-->
+<text>pages/stuAdmin/archives/list.wxml</text>

+ 1 - 28
pages/stuAdmin/archives/list.wxss

@@ -1,28 +1 @@
-.main {
-  height: var(--twoHeight);
-  background-color: var(--mainColor);
-}
-.main .one .content {
-  display: flex;
-  flex-direction: row;
-  border-bottom: 1px dashed var(--f1Color);
-  padding: 2vw 0;
-  margin: 0 2vw 2vw 2vw;
-}
-.main .one .content .value {
-  flex-grow: 1;
-  color: var(--blackColor);
-}
-.main .one .content .value textarea {
-  position: static;
-  width: 73vw;
-}
-.main .one .btn {
-  text-align: center;
-  margin: 5vw 0 0 0;
-}
-.main .one .btn button {
-  width: 40vw;
-  margin: 0 2vw;
-  padding: 1vw 0;
-}
+/* pages/stuAdmin/archives/list.wxss */

+ 26 - 64
pages/stuAdmin/coach/info.js

@@ -1,104 +1,66 @@
-const app = getApp()
+// pages/stuAdmin/coach/info.js
 Page({
+
+    /**
+     * 页面的初始数据
+     */
     data: {
-        frameStyle: { useTop: true, name: '教练信息', leftArrow: true, useBar: false },
-        id: '',
-        form: {},
-        // 性别
-        genderList: [],
-        //运动等级
-        levelList: [],
-    },
-    // 跳转菜单
-    back(e) {
-        wx.navigateBack({ delta: 1 })
+
     },
+
     /**
      * 生命周期函数--监听页面加载
      */
-    onLoad: async function (options) {
-        const that = this;
-        await that.setData({ id: options.id || null })
-        // 查询其他信息
-        await that.searchOther();
-        // 监听用户是否登录
-        await that.watchLogin();
-    },
-    searchOther: async function () {
-        const that = this;
-        let arr;
-        // 性别
-        arr = await app.$get(`/dict`, { code: 'gender' });
-        if (arr.errcode == '0' && arr.total > 0) that.setData({ genderList: arr.data[0].list });
-        // 运动等级
-        arr = await app.$get(`/dict`, { code: 'student_grade' });
-        if (arr.errcode == '0' && arr.total > 0) that.setData({ levelList: arr.data[0].list });
-    },
-    // 监听用户是否登录
-    watchLogin: async function () {
-        const that = this;
-        let genderList = that.data.genderList;
-        let levelList = that.data.levelList;
-        wx.getStorage({
-            key: 'user',
-            success: async res => {
-                if (that.data.id) {
-                    const arr = await app.$get(`/coach/${that.data.id}`);
-                    if (arr.errcode == '0') {
-                        let gender = genderList.find(i => i.value == arr.data.gender)
-                        if (gender) arr.data.zhGender = gender.label;
-                        let level = levelList.find(i => i.value == arr.data.level)
-                        if (level) arr.data.zhLevel = level.label;
-                        that.setData({ form: arr.data })
-                    } else {
-                        wx.showToast({ title: `${arr.errmsg}`, icon: 'error', duration: 2000 })
-                    }
-                }
-            },
-            fail: async res => {
-                wx.redirectTo({ url: '/pages/index/index' })
-            }
-        })
+    onLoad(options) {
+
     },
+
     /**
      * 生命周期函数--监听页面初次渲染完成
      */
-    onReady: function () { },
+    onReady() {
+
+    },
+
     /**
      * 生命周期函数--监听页面显示
      */
-    onShow: function () {
+    onShow() {
 
     },
 
-    /**
-     * 页面上拉触底事件的处理函数
-     */
     /**
      * 生命周期函数--监听页面隐藏
      */
-    onHide: function () {
+    onHide() {
 
     },
 
     /**
      * 生命周期函数--监听页面卸载
      */
-    onUnload: function () {
+    onUnload() {
 
     },
 
     /**
      * 页面相关事件处理函数--监听用户下拉动作
      */
-    onPullDownRefresh: function () {
+    onPullDownRefresh() {
+
+    },
+
+    /**
+     * 页面上拉触底事件的处理函数
+     */
+    onReachBottom() {
 
     },
 
     /**
      * 用户点击右上角分享
      */
-    onShareAppMessage: function () {
+    onShareAppMessage() {
 
     }
 })

+ 1 - 4
pages/stuAdmin/coach/info.json

@@ -1,6 +1,3 @@
 {
-  "component": true,
-  "usingComponents": {
-    "mobile-main": "/commpents/mobile-frame/index"
-  }
+    "usingComponents": {}
 }

+ 0 - 32
pages/stuAdmin/coach/info.less

@@ -1,32 +0,0 @@
-.main {
-    background-color: var(--mainColor);
-
-    .one {
-        width: 96vw;
-        padding: 0 2vw;
-
-        .one_1 {
-            display: flex;
-            flex-direction: row;
-            justify-content: space-between;
-            border: 1px dashed var(--f85Color);
-            border-radius: 5px;
-            margin: 0 0 10px 0;
-            padding: 10px;
-
-            .text {
-                color: var(--f85Color);
-                font-size: var(--font16Size);
-            }
-
-            .text1 {
-                font-size: var(--font16Size);
-            }
-
-            .image {
-                width: 15vw;
-                height: 15vw;
-            }
-        }
-    }
-}

+ 2 - 42
pages/stuAdmin/coach/info.wxml

@@ -1,42 +1,2 @@
-<mobile-main frameStyle="{{frameStyle}}" bind:back="back">
-    <view slot="info" class="container main">
-        <view class="one">
-            <view class="one_1">
-                <text class="text">头像:</text>
-                <image class="image" src="{{form.icon&&form.icon.length>0?form.icon[0].url:''}}"></image>
-            </view>
-            <view class="one_1">
-                <text class="text">姓名:</text>
-                <text class="text1">{{form.name||'暂无昵称'}}</text>
-            </view>
-            <view class="one_1">
-                <text class="text">性别:</text>
-                <text class="text1">{{form.zhGender||'暂无'}}</text>
-            </view>
-            <view class="one_1">
-                <text class="text">年龄:</text>
-                <text class="text1">{{form.age||'暂无'}}</text>
-            </view>
-            <view class="one_1">
-                <text class="text">电话:</text>
-                <text class="text1">{{form.phone||'暂无'}}</text>
-            </view>
-            <view class="one_1">
-                <text class="text">等级:</text>
-                <text class="text1">{{form.zhLevel||'暂无'}}</text>
-            </view>
-            <view class="one_1">
-                <text class="text">简介:</text>
-                <text class="text1">{{form.brief||'暂无'}}</text>
-            </view>
-            <view class="one_1">
-                <text class="text">荣誉:</text>
-                <text class="text1">{{form.honor||'暂无'}}</text>
-            </view>
-            <view class="one_1">
-                <text class="text">教学经历:</text>
-                <text class="text1">{{form.exp||'暂无'}}</text>
-            </view>
-        </view>
-    </view>
-</mobile-main>
+<!--pages/stuAdmin/coach/info.wxml-->
+<text>pages/stuAdmin/coach/info.wxml</text>

+ 1 - 27
pages/stuAdmin/coach/info.wxss

@@ -1,27 +1 @@
-.main {
-  background-color: var(--mainColor);
-}
-.main .one {
-  width: 96vw;
-  padding: 0 2vw;
-}
-.main .one .one_1 {
-  display: flex;
-  flex-direction: row;
-  justify-content: space-between;
-  border: 1px dashed var(--f85Color);
-  border-radius: 5px;
-  margin: 0 0 10px 0;
-  padding: 10px;
-}
-.main .one .one_1 .text {
-  color: var(--f85Color);
-  font-size: var(--font16Size);
-}
-.main .one .one_1 .text1 {
-  font-size: var(--font16Size);
-}
-.main .one .one_1 .image {
-  width: 15vw;
-  height: 15vw;
-}
+/* pages/stuAdmin/coach/info.wxss */

+ 28 - 86
pages/stuAdmin/coach/list.js

@@ -1,124 +1,66 @@
-const app = getApp()
+// pages/stuAdmin/coach/list.js
 Page({
+
+    /**
+     * 页面的初始数据
+     */
     data: {
-        frameStyle: { useTop: true, name: '教练信息', leftArrow: true, useBar: false },
-        list: [],
-        total: 0,
-        page: 0,
-        skip: 0,
-        limit: 5,
-        // 性别
-        genderList: [],
-        //运动等级
-        levelList: [],
-    },
-    // 返回
-    back(e) {
-        wx.navigateBack({ delta: 1 })
-    },
-    // 查看
-    toView: async function (e) {
-        const that = this;
-        that.setData({ skip: 0, page: 0, list: [] })
-        const { item } = e.currentTarget.dataset;
-        wx.navigateTo({ url: `/pages/stuAdmin/coach/info?id=${item.coach_id}` })
-    },
-    // 分页
-    toPage: function () {
-        const that = this;
-        let list = that.data.list;
-        let limit = that.data.limit;
-        if (that.data.total > list.length) {
-            wx.showLoading({ title: '加载中', mask: true })
-            let page = that.data.page + 1;
-            that.setData({ page: page })
-            let skip = page * limit;
-            that.setData({ skip: skip })
-            that.watchLogin();
-            wx.hideLoading()
-        } else { wx.showToast({ title: '没有更多数据了', icon: 'none', duration: 2000 }) }
+
     },
+
     /**
      * 生命周期函数--监听页面加载
      */
-    onLoad: function (options) {
+    onLoad(options) {
+
     },
+
     /**
      * 生命周期函数--监听页面初次渲染完成
      */
-    onReady: function () { },
+    onReady() {
+
+    },
+
     /**
      * 生命周期函数--监听页面显示
      */
-    onShow: async function () {
-        const that = this;
-        // 查询其他信息
-        await that.searchOther();
-        // 监听用户是否登录
-        await that.watchLogin();
-    },
-    searchOther: async function () {
-        const that = this;
-        let arr;
-        // 性别
-        arr = await app.$get(`/dict`, { code: 'gender' });
-        if (arr.errcode == '0' && arr.total > 0) that.setData({ genderList: arr.data[0].list });
-        // 运动等级
-        arr = await app.$get(`/dict`, { code: 'student_grade' });
-        if (arr.errcode == '0' && arr.total > 0) that.setData({ levelList: arr.data[0].list });
-    },
-    // 监听用户是否登录
-    watchLogin: async function () {
-        const that = this;
-        let genderList = that.data.genderList;
-        let levelList = that.data.levelList;
-        wx.getStorage({
-            key: 'user',
-            success: async res => {
-                let info = { skip: that.data.skip, limit: that.data.limit, student_id: res.data.info.id };
-                let arr = await app.$get(`/rsc`, { ...info });
-                if (arr.errcode == '0') {
-                    for (const val of arr.data) {
-                        let level = levelList.find(i => i.value == val.coach_id_level); if (level) val.zhLevel = level.label;
-                        let gender = genderList.find(i => i.value == val.coach_id_gender); if (gender) val.zhGender = level.label;
-                    }
-                    that.setData({ list: [...that.data.list, ...arr.data] })
-                    that.setData({ total: arr.total })
-                } else { wx.showToast({ title: `${arr.errmsg}`, icon: 'error', duration: 2000 }) }
-            },
-            fail: async res => {
-                wx.redirectTo({ url: '/pages/index/index' })
-            }
-        })
+    onShow() {
+
     },
-    /**
-     * 页面上拉触底事件的处理函数
-     */
+
     /**
      * 生命周期函数--监听页面隐藏
      */
-    onHide: function () {
+    onHide() {
 
     },
 
     /**
      * 生命周期函数--监听页面卸载
      */
-    onUnload: function () {
+    onUnload() {
 
     },
 
     /**
      * 页面相关事件处理函数--监听用户下拉动作
      */
-    onPullDownRefresh: function () {
+    onPullDownRefresh() {
+
+    },
+
+    /**
+     * 页面上拉触底事件的处理函数
+     */
+    onReachBottom() {
 
     },
 
     /**
      * 用户点击右上角分享
      */
-    onShareAppMessage: function () {
+    onShareAppMessage() {
 
     }
 })

+ 1 - 4
pages/stuAdmin/coach/list.json

@@ -1,6 +1,3 @@
 {
-  "component": true,
-  "usingComponents": {
-    "mobile-main": "/commpents/mobile-frame/index"
-  }
+    "usingComponents": {}
 }

+ 0 - 102
pages/stuAdmin/coach/list.less

@@ -1,102 +0,0 @@
-.main {
-    height: var(--twoHeight);
-
-    .one {
-        width: 96vw;
-        padding: 2vw;
-
-        input {
-            padding: 2vw;
-            background-color: var(--f1Color);
-            border-radius: 5px;
-        }
-    }
-
-    .two {
-        flex-grow: 1;
-        position: relative;
-        width: 96vw;
-        margin: 0 2vw 2vw 2vw;
-
-        .list {
-            display: flex;
-            flex-direction: column;
-            padding: 2vw;
-            margin: 0 0 2vw 0;
-            background-color: var(--mainColor);
-
-            .list_1 {
-                display: flex;
-                align-items: center;
-
-                .image {
-                    width: 90px;
-                    height: 90px;
-                }
-
-                .content {
-                    width: 65vw;
-                    margin: 0 0 0 2vw;
-
-                    .name {
-                        font-size: var(--font16Size);
-                        font-weight: bold;
-                        margin: 0 0 1vw 0;
-                        text-align: center;
-                        border-bottom: 1px dashed var(--f1Color);
-                    }
-
-                    .txt {
-                        font-size: var(--font14Size);
-                        padding: 0 0 1vw 0;
-                        border-bottom: 1px dashed var(--f1Color);
-                    }
-
-                    .txt text:nth-child(1) {
-                        color: #666;
-                    }
-
-                    .other {
-                        display: flex;
-                        flex-direction: row;
-                        justify-content: space-between;
-                        font-size: var(--font14Size);
-                        border-bottom: 1px dashed var(--f1Color);
-
-                        .other_1 {
-                            padding: 0 0 1vw 0;
-                        }
-
-                        .other_1 text:nth-child(1) {
-                            color: #666;
-                        }
-                    }
-                }
-            }
-
-            .btn {
-                width: 92vw;
-                text-align: center;
-                margin: 2vw 0 0 0;
-
-                button {
-                    font-size: var(--font14Size);
-                    background: -webkit-linear-gradient(right, lightblue, #53C9F8);
-                }
-            }
-        }
-    }
-}
-
-.scroll-view {
-    position: absolute;
-    top: 0;
-    left: 0;
-    right: 0;
-    bottom: 0;
-
-    .list-scroll-view {
-        display: flex;
-        flex-direction: column;
-    }
-}

+ 2 - 31
pages/stuAdmin/coach/list.wxml

@@ -1,31 +1,2 @@
-<mobile-main frameStyle="{{frameStyle}}" bind:back="back">
-    <view slot="info" class="container main">
-        <view class="one">
-            <input type="text" placeholder="请输入关键词" />
-        </view>
-        <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_1">
-                            <image class="image" src="{{item.coach_id_icon&&item.coach_id_icon.length>0?item.coach_id_icon[0].url:''}}"></image>
-                            <view class="content">
-                                <view class="name textOver">{{item.coach_id_name||'暂无'}}</view>
-                                <view class="txt textOver"><text>联系电话:</text><text>{{item.coach_id_phone||'暂无'}}</text></view>
-                                <view class="other textOver">
-                                    <view class="other_1 textOver"><text>性别:</text><text>{{item.zhGender||'暂无'}}</text></view>
-                                    <view class="other_1 textOver"><text>年龄:</text><text>{{item.coach_id_age||'暂无'}}岁</text></view>
-                                </view>
-                                <view class="txt textOver"><text>教练等级:</text><text>{{item.zhLevel||'暂无'}}</text></view>
-                                <view class="txt textOver"><text>所获荣誉:</text><text>{{item.coach_id_honor||'暂无'}}</text></view>
-                            </view>
-                        </view>
-                        <view class="btn">
-                            <button size="mini" type="primary" bindtap="toView" data-item="{{item}}">详细信息</button>
-                        </view>
-                    </view>
-                </view>
-            </scroll-view>
-        </view>
-    </view>
-</mobile-main>
+<!--pages/stuAdmin/coach/list.wxml-->
+<text>pages/stuAdmin/coach/list.wxml</text>

+ 1 - 85
pages/stuAdmin/coach/list.wxss

@@ -1,85 +1 @@
-.main {
-  height: var(--twoHeight);
-}
-.main .one {
-  width: 96vw;
-  padding: 2vw;
-}
-.main .one input {
-  padding: 2vw;
-  background-color: var(--f1Color);
-  border-radius: 5px;
-}
-.main .two {
-  flex-grow: 1;
-  position: relative;
-  width: 96vw;
-  margin: 0 2vw 2vw 2vw;
-}
-.main .two .list {
-  display: flex;
-  flex-direction: column;
-  padding: 2vw;
-  margin: 0 0 2vw 0;
-  background-color: var(--mainColor);
-}
-.main .two .list .list_1 {
-  display: flex;
-  align-items: center;
-}
-.main .two .list .list_1 .image {
-  width: 90px;
-  height: 90px;
-}
-.main .two .list .list_1 .content {
-  width: 65vw;
-  margin: 0 0 0 2vw;
-}
-.main .two .list .list_1 .content .name {
-  font-size: var(--font16Size);
-  font-weight: bold;
-  margin: 0 0 1vw 0;
-  text-align: center;
-  border-bottom: 1px dashed var(--f1Color);
-}
-.main .two .list .list_1 .content .txt {
-  font-size: var(--font14Size);
-  padding: 0 0 1vw 0;
-  border-bottom: 1px dashed var(--f1Color);
-}
-.main .two .list .list_1 .content .txt text:nth-child(1) {
-  color: #666;
-}
-.main .two .list .list_1 .content .other {
-  display: flex;
-  flex-direction: row;
-  justify-content: space-between;
-  font-size: var(--font14Size);
-  border-bottom: 1px dashed var(--f1Color);
-}
-.main .two .list .list_1 .content .other .other_1 {
-  padding: 0 0 1vw 0;
-}
-.main .two .list .list_1 .content .other .other_1 text:nth-child(1) {
-  color: #666;
-}
-.main .two .list .btn {
-  width: 92vw;
-  text-align: center;
-  margin: 2vw 0 0 0;
-}
-.main .two .list .btn button {
-  font-size: var(--font14Size);
-  background: -webkit-linear-gradient(right, lightblue, #53C9F8);
-}
-.scroll-view {
-  position: absolute;
-  top: 0;
-  left: 0;
-  right: 0;
-  bottom: 0;
-}
-.scroll-view .list-scroll-view {
-  display: flex;
-  flex-direction: column;
-}
+/* pages/stuAdmin/coach/list.wxss */

+ 66 - 0
pages/stuAdmin/course/info.js

@@ -0,0 +1,66 @@
+// pages/stuAdmin/course/info.js
+Page({
+
+    /**
+     * 页面的初始数据
+     */
+    data: {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面加载
+     */
+    onLoad(options) {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面初次渲染完成
+     */
+    onReady() {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面显示
+     */
+    onShow() {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面隐藏
+     */
+    onHide() {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面卸载
+     */
+    onUnload() {
+
+    },
+
+    /**
+     * 页面相关事件处理函数--监听用户下拉动作
+     */
+    onPullDownRefresh() {
+
+    },
+
+    /**
+     * 页面上拉触底事件的处理函数
+     */
+    onReachBottom() {
+
+    },
+
+    /**
+     * 用户点击右上角分享
+     */
+    onShareAppMessage() {
+
+    }
+})

+ 3 - 0
pages/stuAdmin/course/info.json

@@ -0,0 +1,3 @@
+{
+    "usingComponents": {}
+}

+ 0 - 0
pages/stuAdmin/course/info.less


+ 2 - 0
pages/stuAdmin/course/info.wxml

@@ -0,0 +1,2 @@
+<!--pages/stuAdmin/course/info.wxml-->
+<text>pages/stuAdmin/course/info.wxml</text>

+ 1 - 0
pages/stuAdmin/course/info.wxss

@@ -0,0 +1 @@
+/* pages/stuAdmin/course/info.wxss */

+ 66 - 0
pages/stuAdmin/course/list.js

@@ -0,0 +1,66 @@
+// pages/stuAdmin/course/list.js
+Page({
+
+    /**
+     * 页面的初始数据
+     */
+    data: {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面加载
+     */
+    onLoad(options) {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面初次渲染完成
+     */
+    onReady() {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面显示
+     */
+    onShow() {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面隐藏
+     */
+    onHide() {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面卸载
+     */
+    onUnload() {
+
+    },
+
+    /**
+     * 页面相关事件处理函数--监听用户下拉动作
+     */
+    onPullDownRefresh() {
+
+    },
+
+    /**
+     * 页面上拉触底事件的处理函数
+     */
+    onReachBottom() {
+
+    },
+
+    /**
+     * 用户点击右上角分享
+     */
+    onShareAppMessage() {
+
+    }
+})

+ 3 - 0
pages/stuAdmin/course/list.json

@@ -0,0 +1,3 @@
+{
+    "usingComponents": {}
+}

+ 0 - 0
pages/stuAdmin/course/list.less


+ 0 - 0
pages/stuAdmin/course/list.wxml


Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików