guhongwei 2 年之前
父节点
当前提交
5671c8eb3b
共有 47 个文件被更改,包括 891 次插入66 次删除
  1. 8 4
      app.json
  2. 12 19
      pages/match/index.js
  3. 2 2
      pages/match/index.wxml
  4. 0 0
      pages/setting/basic.js
  5. 0 0
      pages/setting/basic.json
  6. 0 0
      pages/setting/basic.less
  7. 0 0
      pages/setting/basic.wxml
  8. 0 0
      pages/setting/basic.wxss
  9. 0 0
      pages/setting/contact.js
  10. 0 0
      pages/setting/contact.json
  11. 0 0
      pages/setting/contact.less
  12. 0 0
      pages/setting/contact.wxml
  13. 0 0
      pages/setting/contact.wxss
  14. 0 0
      pages/user/basic.js
  15. 0 0
      pages/user/basic.json
  16. 2 2
      pagesSchool/user/basic.less
  17. 0 0
      pages/user/basic.wxml
  18. 2 2
      pagesSchool/user/basic.wxss
  19. 66 0
      pagesMatch/matchAdmin/group/list.js
  20. 6 0
      pagesMatch/matchAdmin/group/list.json
  21. 23 0
      pagesMatch/matchAdmin/group/list.less
  22. 7 0
      pagesMatch/matchAdmin/group/list.wxml
  23. 19 0
      pagesMatch/matchAdmin/group/list.wxss
  24. 66 0
      pagesMatch/matchAdmin/match/list.js
  25. 6 0
      pagesMatch/matchAdmin/match/list.json
  26. 23 0
      pagesMatch/matchAdmin/match/list.less
  27. 7 0
      pagesMatch/matchAdmin/match/list.wxml
  28. 19 0
      pagesMatch/matchAdmin/match/list.wxss
  29. 66 0
      pagesMatch/matchAdmin/project/list.js
  30. 6 0
      pagesMatch/matchAdmin/project/list.json
  31. 23 0
      pagesMatch/matchAdmin/project/list.less
  32. 7 0
      pagesMatch/matchAdmin/project/list.wxml
  33. 19 0
      pagesMatch/matchAdmin/project/list.wxss
  34. 90 0
      pagesMatch/system/index.js
  35. 6 0
      pagesMatch/system/index.json
  36. 140 0
      pagesMatch/system/index.less
  37. 39 0
      pagesMatch/system/index.wxml
  38. 117 0
      pagesMatch/system/index.wxss
  39. 28 28
      pagesMatch/test/index.js
  40. 5 2
      pagesMatch/test/index.json
  41. 23 0
      pagesMatch/test/index.less
  42. 7 2
      pagesMatch/test/index.wxml
  43. 19 1
      pagesMatch/test/index.wxss
  44. 1 1
      pagesSchool/superAdmin/dict/list.js
  45. 2 0
      pagesSchool/system/index.js
  46. 1 1
      pagesSchool/system/index.wxml
  47. 24 2
      utils/dict.js

+ 8 - 4
app.json

@@ -7,6 +7,9 @@
         "pages/school/index",
         "pages/club/index",
         "pages/match/index",
+        "pages/user/basic",
+        "pages/setting/basic",
+        "pages/setting/contact",
         "pages/test/index",
         "pages/logs/logs"
     ],
@@ -17,8 +20,6 @@
             "pages": [
                 "school/info",
                 "system/index",
-                "setting/basic",
-                "setting/contact",
                 "schAdmin/school/info",
                 "schAdmin/coach/list",
                 "schAdmin/coach/add",
@@ -83,8 +84,7 @@
                 "superAdmin/coach/list",
                 "superAdmin/coach/add",
                 "superAdmin/student/list",
-                "superAdmin/student/add",
-                "user/basic"
+                "superAdmin/student/add"
             ]
         },
         {
@@ -97,6 +97,10 @@
         {
             "root": "pagesMatch",
             "pages": [
+                "system/index",
+                "matchAdmin/match/list",
+                "matchAdmin/group/list",
+                "matchAdmin/project/list",
                 "test/index"
             ]
         }

+ 12 - 19
pages/match/index.js

@@ -2,7 +2,7 @@ const app = getApp()
 Page({
     data: {
         frameStyle: { useTop: true, name: '比赛管理', leftArrow: false, useBar: true },
-        searchInfo: {},
+        user: {},
         typeList: [
             { label: '其他', value: '0' },
             { label: '羽毛球', value: '1' },
@@ -26,6 +26,12 @@ Page({
         let { route } = e.detail.detail;
         if (route) wx.redirectTo({ url: `/${route}` })
     },
+    // 进入系统
+    toJoin: function () {
+        const that = this;
+        that.setData({ skip: 0, page: 0, list: [] })
+        wx.navigateTo({ url: `/pagesMatch/system/index` })
+    },
     // 选择类型
     typeChange: function (e) {
         const that = this;
@@ -56,22 +62,7 @@ Page({
     /**
      * 生命周期函数--监听页面加载
      */
-    onLoad: function (options) {
-        const that = this;
-        // 监听用户是否登录
-        that.watchLogin();
-    },
-    // 监听用户是否登录
-    watchLogin: async function () {
-        const that = this;
-        wx.getStorage({
-            key: 'user',
-            success: async res => { },
-            fail: async res => {
-                // wx.redirectTo({ url: '/pages/index/index' })
-            }
-        })
-    },
+    onLoad: function (options) { },
     /**
      * 生命周期函数--监听页面初次渲染完成
      */
@@ -89,9 +80,11 @@ Page({
         const that = this;
         wx.getStorage({
             key: 'user',
-            success: async res => { },
+            success: async res => {
+                that.setData({ user: res.data })
+            },
             fail: async res => {
-                // wx.redirectTo({ url: '/pages/index/index' })
+                wx.redirectTo({ url: '/pages/index/index' })
             }
         })
     },

+ 2 - 2
pages/match/index.wxml

@@ -5,8 +5,8 @@
                 <view class="one_1_1">
                     <input type="text" placeholder="请输入关键词" />
                 </view>
-                <view class="one_1_2">
-                    <button type="primary">进入系统</button>
+                <view class="one_1_2" wx:if="{{user&&user._id}}">
+                    <button type="primary" bindtap="toJoin">进入系统</button>
                 </view>
             </view>
             <view class="one_2">

pagesSchool/setting/basic.js → pages/setting/basic.js


pagesSchool/setting/basic.json → pages/setting/basic.json


pagesSchool/setting/basic.less → pages/setting/basic.less


pagesSchool/setting/basic.wxml → pages/setting/basic.wxml


pagesSchool/setting/basic.wxss → pages/setting/basic.wxss


pagesSchool/setting/contact.js → pages/setting/contact.js


pagesSchool/setting/contact.json → pages/setting/contact.json


pagesSchool/setting/contact.less → pages/setting/contact.less


pagesSchool/setting/contact.wxml → pages/setting/contact.wxml


pagesSchool/setting/contact.wxss → pages/setting/contact.wxss


pagesSchool/user/basic.js → pages/user/basic.js


pagesSchool/user/basic.json → pages/user/basic.json


+ 2 - 2
pagesSchool/user/basic.less

@@ -4,14 +4,14 @@
     background-color: var(--mainColor);
 
     .one {
-        width: 96vw;
+        width: 100vw;
 
         .content {
             display: flex;
             flex-direction: row;
             justify-content: space-between;
             align-items: center;
-            margin: 0 10px;
+            margin: 0 2vw;
             padding: 10px 5px;
             border-bottom: 1px solid var(--fcColor);
 

pagesSchool/user/basic.wxml → pages/user/basic.wxml


+ 2 - 2
pagesSchool/user/basic.wxss

@@ -3,14 +3,14 @@
   background-color: var(--mainColor);
 }
 .main .one {
-  width: 96vw;
+  width: 100vw;
 }
 .main .one .content {
   display: flex;
   flex-direction: row;
   justify-content: space-between;
   align-items: center;
-  margin: 0 10px;
+  margin: 0 2vw;
   padding: 10px 5px;
   border-bottom: 1px solid var(--fcColor);
 }

+ 66 - 0
pagesMatch/matchAdmin/group/list.js

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

+ 6 - 0
pagesMatch/matchAdmin/group/list.json

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

+ 23 - 0
pagesMatch/matchAdmin/group/list.less

@@ -0,0 +1,23 @@
+@import (css) "/app.wxss";
+
+.main {
+    height: var(--twoHeight);
+    background-color: var(--mainColor);
+
+    .one {
+        width: 100vw;
+    }
+}
+
+.scroll-view {
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+
+    .list-scroll-view {
+        display: flex;
+        flex-direction: column;
+    }
+}

+ 7 - 0
pagesMatch/matchAdmin/group/list.wxml

@@ -0,0 +1,7 @@
+<mobile-main frameStyle="{{frameStyle}}" bind:back="back">
+    <view slot="info" class="container main">
+        <view class="one">
+            赛事分组
+        </view>
+    </view>
+</mobile-main>

+ 19 - 0
pagesMatch/matchAdmin/group/list.wxss

@@ -0,0 +1,19 @@
+@import "/app.wxss";
+.main {
+  height: var(--twoHeight);
+  background-color: var(--mainColor);
+}
+.main .one {
+  width: 100vw;
+}
+.scroll-view {
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+}
+.scroll-view .list-scroll-view {
+  display: flex;
+  flex-direction: column;
+}

+ 66 - 0
pagesMatch/matchAdmin/match/list.js

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

+ 6 - 0
pagesMatch/matchAdmin/match/list.json

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

+ 23 - 0
pagesMatch/matchAdmin/match/list.less

@@ -0,0 +1,23 @@
+@import (css) "/app.wxss";
+
+.main {
+    height: var(--twoHeight);
+    background-color: var(--mainColor);
+
+    .one {
+        width: 100vw;
+    }
+}
+
+.scroll-view {
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+
+    .list-scroll-view {
+        display: flex;
+        flex-direction: column;
+    }
+}

+ 7 - 0
pagesMatch/matchAdmin/match/list.wxml

@@ -0,0 +1,7 @@
+<mobile-main frameStyle="{{frameStyle}}" bind:back="back">
+    <view slot="info" class="container main">
+        <view class="one">
+            比赛信息
+        </view>
+    </view>
+</mobile-main>

+ 19 - 0
pagesMatch/matchAdmin/match/list.wxss

@@ -0,0 +1,19 @@
+@import "/app.wxss";
+.main {
+  height: var(--twoHeight);
+  background-color: var(--mainColor);
+}
+.main .one {
+  width: 100vw;
+}
+.scroll-view {
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+}
+.scroll-view .list-scroll-view {
+  display: flex;
+  flex-direction: column;
+}

+ 66 - 0
pagesMatch/matchAdmin/project/list.js

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

+ 6 - 0
pagesMatch/matchAdmin/project/list.json

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

+ 23 - 0
pagesMatch/matchAdmin/project/list.less

@@ -0,0 +1,23 @@
+@import (css) "/app.wxss";
+
+.main {
+    height: var(--twoHeight);
+    background-color: var(--mainColor);
+
+    .one {
+        width: 100vw;
+    }
+}
+
+.scroll-view {
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+
+    .list-scroll-view {
+        display: flex;
+        flex-direction: column;
+    }
+}

+ 7 - 0
pagesMatch/matchAdmin/project/list.wxml

@@ -0,0 +1,7 @@
+<mobile-main frameStyle="{{frameStyle}}" bind:back="back">
+    <view slot="info" class="container main">
+        <view class="one">
+            组内项目
+        </view>
+    </view>
+</mobile-main>

+ 19 - 0
pagesMatch/matchAdmin/project/list.wxss

@@ -0,0 +1,19 @@
+@import "/app.wxss";
+.main {
+  height: var(--twoHeight);
+  background-color: var(--mainColor);
+}
+.main .one {
+  width: 100vw;
+}
+.scroll-view {
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+}
+.scroll-view .list-scroll-view {
+  display: flex;
+  flex-direction: column;
+}

+ 90 - 0
pagesMatch/system/index.js

@@ -0,0 +1,90 @@
+const app = getApp();
+import { match_menu, school_sysmenu } from "../../utils/dict";
+
+Page({
+    data: {
+        frameStyle: { useTop: true, name: '系统首页', leftArrow: true, useBar: false },
+        user: {},
+        list: []
+    },
+    // 返回
+    back: function () { wx.navigateBack({ delta: 1 }) },
+    // 功能跳转
+    toCommon: function (e) {
+        const { route, type } = e.currentTarget.dataset;
+        if (type && type == 'logout') {
+            // 退出登录
+            try { wx.clearStorage(); wx.redirectTo({ url: '/pages/index/index' }) }
+            catch (e) { }
+        } else if (type && type == 'custom') {
+            wx.navigateTo({ url: `/${route}` });
+        } else {
+            wx.navigateTo({ url: `/pagesMatch/${route}` });
+        }
+    },
+    /**
+     * 生命周期函数--监听页面加载
+     */
+    onLoad: function (options) { },
+    /**
+     * 生命周期函数--监听页面初次渲染完成
+     */
+    onReady: function () { },
+    /**
+     * 生命周期函数--监听页面显示
+     */
+    onShow: function () {
+        const that = this;
+        // 监听用户是否登录
+        that.watchLogin();
+    },
+    // 监听用户是否登录
+    watchLogin: async function () {
+        const that = this;
+        wx.getStorage({
+            key: 'user',
+            success: async res => {
+                const arr = await app.$get(`/user/${res.data._id}`);
+                if (arr.errcode == '0') {
+                    that.setData({ user: arr.data })
+                    let btnData = match_menu.find((i) => i.type == '1');
+                    that.setData({ list: [...btnData.menu, ...school_sysmenu] })
+                }
+                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 () {
+
+    }
+})

+ 6 - 0
pagesMatch/system/index.json

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

+ 140 - 0
pagesMatch/system/index.less

@@ -0,0 +1,140 @@
+@import (css) "/app.wxss";
+
+.main {
+    height: var(--twoHeight);
+    background-color: var(--mainColor);
+
+    .one {
+        position: relative;
+        width: 100vw;
+        height: 120px;
+        border-bottom: 1px solid var(--fcColor);
+        margin: 0 0 2vw 0;
+
+        .one_1 {
+            height: 80px;
+            background-color: #216EC7;
+            border-bottom-left-radius: 10px;
+            border-bottom-right-radius: 10px;
+            color: transparent;
+        }
+
+        .one_2 {
+            position: absolute;
+            top: 5vw;
+            width: 92vw;
+            height: 86px;
+            margin: 0 2vw;
+            padding: 2vw;
+            background-color: var(--whiteColor);
+            display: flex;
+            justify-content: space-between;
+
+            .l {
+                display: flex;
+                justify-content: start;
+                width: 72vw;
+
+                .l_1 {
+                    padding: 3vw 0;
+
+                    .icon {
+                        width: 60px;
+                        height: 60px;
+                        border-radius: 90px;
+                    }
+                }
+
+                .l_2 {
+                    width: 56vw;
+                    padding: 4vw 0 0 0;
+
+                    .info {
+                        margin: 0 0 2vw 0;
+                        padding: 0 2vw;
+                        font-size: var(--font16Size);
+                    }
+
+                    .info:nth-child(1) {
+                        font-weight: bold;
+                        font-size: var(--font18Size);
+                    }
+
+                    .info:nth-child(2) {
+                        color: var(--f85Color);
+                        font-size: var(--font15Size);
+                    }
+                }
+            }
+
+            .r {
+                padding: 8vw 0;
+                font-size: var(--font16Size);
+                color: var(--f85Color);
+            }
+        }
+    }
+
+    .two {
+        position: relative;
+        flex-grow: 1;
+
+        .list {
+            margin: 0 2vw 2vw 2vw;
+            padding: 2vw;
+            background-color: var(--f9Color);
+
+            .list_1 {
+                font-size: var(--font16Size);
+                margin: 0 0 2vw 0;
+
+                text {
+                    padding: 0 2vw 0 0;
+                }
+            }
+
+            .list_2 {
+                display: flex;
+                flex-direction: row;
+                justify-content: flex-start;
+                flex-wrap: wrap;
+
+                .btn {
+                    width: 28vw;
+                    margin: 0 4vw 2vw 0;
+                    padding: 2vw 0;
+                    background-color: var(--whiteColor);
+                    text-align: center;
+                    border-radius: 5px;
+
+                    .iconfont {
+                        display: inline-block;
+                        font-size: 25px;
+                        margin: 0 0 2vw 0;
+                    }
+
+                    .btn_1 {
+                        font-size: var(--font14Size);
+                    }
+                }
+
+                .btn:nth-child(3n) {
+                    margin: 0 0 2vw 0;
+                }
+            }
+        }
+    }
+}
+
+.scroll-view {
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+
+    .list-scroll-view {
+        display: flex;
+        flex-direction: column;
+    }
+}

+ 39 - 0
pagesMatch/system/index.wxml

@@ -0,0 +1,39 @@
+<mobile-main frameStyle="{{frameStyle}}" bind:back="back">
+    <view slot="info" class="container main">
+        <view class="one">
+            <view class="one_1">1</view>
+            <view class="one_2">
+                <view class="l">
+                    <view class="l_1">
+                        <image class="icon" src="{{user.icon&&user.icon.length>0?user.icon[0].url:''}}"></image>
+                    </view>
+                    <view class="l_2">
+                        <view class="info textOver">{{user.name}}</view>
+                        <view class="info textOver">{{user.phone}}</view>
+                    </view>
+                </view>
+                <view class="r">
+                    <text bindtap="toCommon" data-route="pages/user/basic" data-type="custom">详细></text>
+                </view>
+            </view>
+        </view>
+        <view class="two">
+            <scroll-view scroll-y="true" class="scroll-view">
+                <view class="list-scroll-view">
+                    <view class="list" wx:for="{{list}}" wx:key="item">
+                        <view class="list_1">
+                            <text class="iconfont {{item.icon}}"></text>
+                            <text class="title">{{item.title}}</text>
+                        </view>
+                        <view class="list_2">
+                            <view class="btn" wx:for="{{item.btn}}" wx:for-item="tag" wx:key="tagIndex" bindtap="toCommon" data-route="{{tag.route}}" data-type="{{tag.type}}">
+                                <text class="iconfont {{tag.icon}}"></text>
+                                <view class="btn_1 textOver">{{tag.title}}</view>
+                            </view>
+                        </view>
+                    </view>
+                </view>
+            </scroll-view>
+        </view>
+    </view>
+</mobile-main>

+ 117 - 0
pagesMatch/system/index.wxss

@@ -0,0 +1,117 @@
+@import "/app.wxss";
+.main {
+  height: var(--twoHeight);
+  background-color: var(--mainColor);
+}
+.main .one {
+  position: relative;
+  width: 100vw;
+  height: 120px;
+  border-bottom: 1px solid var(--fcColor);
+  margin: 0 0 2vw 0;
+}
+.main .one .one_1 {
+  height: 80px;
+  background-color: #216EC7;
+  border-bottom-left-radius: 10px;
+  border-bottom-right-radius: 10px;
+  color: transparent;
+}
+.main .one .one_2 {
+  position: absolute;
+  top: 5vw;
+  width: 92vw;
+  height: 86px;
+  margin: 0 2vw;
+  padding: 2vw;
+  background-color: var(--whiteColor);
+  display: flex;
+  justify-content: space-between;
+}
+.main .one .one_2 .l {
+  display: flex;
+  justify-content: start;
+  width: 72vw;
+}
+.main .one .one_2 .l .l_1 {
+  padding: 3vw 0;
+}
+.main .one .one_2 .l .l_1 .icon {
+  width: 60px;
+  height: 60px;
+  border-radius: 90px;
+}
+.main .one .one_2 .l .l_2 {
+  width: 56vw;
+  padding: 4vw 0 0 0;
+}
+.main .one .one_2 .l .l_2 .info {
+  margin: 0 0 2vw 0;
+  padding: 0 2vw;
+  font-size: var(--font16Size);
+}
+.main .one .one_2 .l .l_2 .info:nth-child(1) {
+  font-weight: bold;
+  font-size: var(--font18Size);
+}
+.main .one .one_2 .l .l_2 .info:nth-child(2) {
+  color: var(--f85Color);
+  font-size: var(--font15Size);
+}
+.main .one .one_2 .r {
+  padding: 8vw 0;
+  font-size: var(--font16Size);
+  color: var(--f85Color);
+}
+.main .two {
+  position: relative;
+  flex-grow: 1;
+}
+.main .two .list {
+  margin: 0 2vw 2vw 2vw;
+  padding: 2vw;
+  background-color: var(--f9Color);
+}
+.main .two .list .list_1 {
+  font-size: var(--font16Size);
+  margin: 0 0 2vw 0;
+}
+.main .two .list .list_1 text {
+  padding: 0 2vw 0 0;
+}
+.main .two .list .list_2 {
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-start;
+  flex-wrap: wrap;
+}
+.main .two .list .list_2 .btn {
+  width: 28vw;
+  margin: 0 4vw 2vw 0;
+  padding: 2vw 0;
+  background-color: var(--whiteColor);
+  text-align: center;
+  border-radius: 5px;
+}
+.main .two .list .list_2 .btn .iconfont {
+  display: inline-block;
+  font-size: 25px;
+  margin: 0 0 2vw 0;
+}
+.main .two .list .list_2 .btn .btn_1 {
+  font-size: var(--font14Size);
+}
+.main .two .list .list_2 .btn:nth-child(3n) {
+  margin: 0 0 2vw 0;
+}
+.scroll-view {
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+}
+.scroll-view .list-scroll-view {
+  display: flex;
+  flex-direction: column;
+}

+ 28 - 28
pagesMatch/test/index.js

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

+ 5 - 2
pagesMatch/test/index.json

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

+ 23 - 0
pagesMatch/test/index.less

@@ -0,0 +1,23 @@
+@import (css) "/app.wxss";
+
+.main {
+    height: var(--twoHeight);
+    background-color: var(--mainColor);
+
+    .one {
+        width: 100vw;
+    }
+}
+
+.scroll-view {
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+
+    .list-scroll-view {
+        display: flex;
+        flex-direction: column;
+    }
+}

+ 7 - 2
pagesMatch/test/index.wxml

@@ -1,2 +1,7 @@
-<!--pagesMatch/test/index.wxml-->
-<text>pagesMatch/test/index.wxml</text>
+<mobile-main frameStyle="{{frameStyle}}" bind:back="back">
+    <view slot="info" class="container main">
+        <view class="one">
+            基本页面
+        </view>
+    </view>
+</mobile-main>

+ 19 - 1
pagesMatch/test/index.wxss

@@ -1 +1,19 @@
-/* pagesMatch/test/index.wxss */
+@import "/app.wxss";
+.main {
+  height: var(--twoHeight);
+  background-color: var(--mainColor);
+}
+.main .one {
+  width: 100vw;
+}
+.scroll-view {
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+}
+.scroll-view .list-scroll-view {
+  display: flex;
+  flex-direction: column;
+}

+ 1 - 1
pagesSchool/superAdmin/dict/list.js

@@ -10,7 +10,7 @@ Page({
         total: 0,
         page: 0,
         skip: 0,
-        limit: 5,
+        limit: 6,
     },
     // 返回
     back: function () {

+ 2 - 0
pagesSchool/system/index.js

@@ -16,6 +16,8 @@ Page({
             // 退出登录
             try { wx.clearStorage(); wx.redirectTo({ url: '/pages/index/index' }) }
             catch (e) { }
+        } else if (type && type == 'custom') {
+            wx.navigateTo({ url: `/${route}` });
         } else {
             wx.navigateTo({ url: `/pagesSchool/${route}` });
         }

+ 1 - 1
pagesSchool/system/index.wxml

@@ -13,7 +13,7 @@
                     </view>
                 </view>
                 <view class="r">
-                    <text bindtap="toCommon" data-route="user/basic">详细></text>
+                    <text bindtap="toCommon" data-route="pages/user/basic" data-type="custom">详细></text>
                 </view>
             </view>
         </view>

+ 24 - 2
utils/dict.js

@@ -12,8 +12,8 @@ export const school_sysmenu = [
         title: '账号管理',
         icon: 'icon-zhanghaoguanli',
         btn: [
-            { title: '资料修改', route: 'setting/basic', icon: 'icon-weibiaoti1' },
-            { title: '联系我们', route: 'setting/contact', icon: 'icon-lianxiwomen' },
+            { title: '资料修改', type: 'custom', route: 'pages/setting/basic', icon: 'icon-weibiaoti1' },
+            { title: '联系我们', type: 'custom', route: 'pages/setting/contact', icon: 'icon-lianxiwomen' },
             { title: '退出登录', route: '', type: 'logout', icon: 'icon-tuichudenglu' },
         ]
     },
@@ -147,4 +147,26 @@ export const school_menu = [
         type: '10',
         menu: []
     },
+]
+// 比赛管理菜单
+export const match_menu = [
+    {
+        type: '-1',
+        menu: []
+    },
+    {
+        type: '1',
+        menu: [
+            {
+                title: '赛事管理',
+                icon: 'icon-yonghu',
+                btn: [
+                    { title: '比赛信息', route: 'matchAdmin/match/list', icon: 'icon-xuexiao_xuexiaoxinxi' },
+                    { title: '赛事分组', route: 'matchAdmin/group/list', icon: 'icon-xuexiao_xuexiaoxinxi' },
+                    { title: '组内项目', route: 'matchAdmin/project/list', icon: 'icon-xuexiao_xuexiaoxinxi' },
+
+                ]
+            },
+        ]
+    },
 ]