Quellcode durchsuchen

Merge branch 'master' of http://git.cc-lotus.info/ball-court/court-badminton

guhongwei vor 2 Jahren
Ursprung
Commit
0a5847b9e3

+ 14 - 0
commpents/picker/index.js

@@ -7,6 +7,12 @@ Component({
         label: { type: String },
         model: { type: String },
         columns: { type: Array },
+        value: {
+            type: String,
+            observer: function (val) {
+                this.initData()
+            }
+        },
         valueKey: { type: String, value: 'value' },
         labelKey: { type: String, value: 'label' }
     },
@@ -23,6 +29,14 @@ Component({
      * 组件的方法列表
      */
     methods: {
+        initData() {
+            const val = this.properties.value
+            if (!val) return;
+            const res = this.properties.columns.find(f => f[this.properties.valueKey] === val)
+            if (!res) return;
+            const label = res[this.properties.labelKey]
+            this.setData({ text: label })
+        },
         onChange(event) {
             const obj = event?.detail?.value;
             const label = obj[this.properties.labelKey]

+ 11 - 12
commpents/timePicker/index.js

@@ -6,7 +6,12 @@ Component({
     properties: {
         label: { type: String },
         model: { type: String },
-        value: { type: String }
+        value: {
+            type: String,
+            observer: function (val) {
+                this.initData()
+            }
+        }
     },
 
     /**
@@ -18,21 +23,15 @@ Component({
         text: '',
         show: false,
     },
-    onload() {
-        console.log('in');
-        if (this.properties.value) {
-            const val = this.properties.value
-            this.setData({
-                currentDate: val,
-                text: val
-            })
-        }
-    },
-
     /**
      * 组件的方法列表
      */
     methods: {
+        initData() {
+            const val = this.properties.value
+            if (!val) return;
+            this.setData({ text: val })
+        },
         toConfirm(event) {
             const data = event.detail;
             const datetimestr = this.getDateString(data)

+ 56 - 6
pages/f6test/index.js

@@ -22,6 +22,8 @@ Page({
         groundList: [],
         refereeList: [],
 
+        arrangeData: {},
+
         // picker
         show: false,
         personList: [],
@@ -160,7 +162,20 @@ Page({
             d.refereeModelName = `referee_id-${i}`;
             d.timeModelName = `match_time-${i}`;
         }
-        this.setData({ raceList })
+        const oRaceList = this.data.raceList;
+        for (const race of raceList) {
+            const { node_id_one, node_id_two } = race;
+            const r = oRaceList.find(f => f.node_id_one === node_id_one && f.node_id_two === node_id_two)
+            if (r) {
+                const ri = oRaceList.findIndex(f => f.node_id_one === node_id_one && f.node_id_two === node_id_two)
+                const { groundModelName, refereeModelName, timeModelName } = race
+                r = { ...r, groundModelName, refereeModelName, timeModelName }
+                oRaceList.splice(ri, 1, r)
+            } else {
+                oRaceList.push(race)
+            }
+        }
+        this.setData({ raceList: oRaceList })
     },
 
 
@@ -171,8 +186,29 @@ Page({
         this.setData({ data })
         // 请求 小组赛的 胜者列表
         await this.searchWinnerList();
+        await this.search();
         await this.searchOthers()
     },
+    // 查询已安排的数据
+    async search() {
+        let res = await app.$get(`/newCourt/api/eliminatArrange/getOne`, this.query)
+        if (app.$checkRes(res)) {
+            const { arrange } = res.data;
+            this.setData({
+                arrangeData: res.data,
+                arrangeList: arrange
+            })
+        }
+        res = await app.$get(`/newCourt/api/eliminateRace`, this.query)
+        if (app.$checkRes(res)) {
+            this.setData({
+                raceList: res.data
+            })
+        }
+        // 数据本地化处理下
+        this.getRaceList();
+    },
+
     // 获取该项目的小组,形成晋级图
     async getTeams() {
         const res = await app.$get(`/newCourt/api/raceTeam`, this.query)
@@ -275,19 +311,33 @@ Page({
         let arrangeList = this.data.arrangeList;
 
         // arrangeList:需要将match_id,grouping_id,project_id 也放入,确定是这个项目的淘汰赛
-        const arrange = { arrange: arrangeList, ...this.query }
+        let arrange = this.data.arrangeData;
+        if (!arrange._id) {
+            arrange = { arrange: arrangeList, ...this.query }
+        }
         // raceList:淘汰赛的比赛赛程
         raceList = raceList.map(i => {
             const { groundModelName, refereeModelName, timeModelName, ...others } = i
             return { ...others, ...this.query }
         })
         // 创建安排
-        let res = await app.$post('/newCourt/api/eliminatArrange', arrange)
-        if(app.$checkRes(res)) {
-            console.log('淘汰赛安排创建成功')
+        let res
+        if (arrange._id) {
+            res = await app.$post(`/newCourt/api/eliminatArrange/${arrange._id}`, arrange)
+            if (app.$checkRes(res)) {
+                console.log('淘汰赛安排创建成功')
+            }
+        } else {
+            res = await app.$post(`/newCourt/api/eliminatArrange`, arrange)
+            if (app.$checkRes(res)) {
+                console.log('淘汰赛安排创建成功')
+            }
         }
+
         res = await app.$post('/newCourt/api/eliminateRace/saveAll', raceList)
-        console.log(res)
+        wx.showToast({
+            title: '保存成功',
+        })
     }
 
 });

+ 3 - 3
pages/f6test/index.wxml

@@ -2,7 +2,7 @@
     <view slot="info" class="container main">
         <view wx:if="{{view==='graph'}}">
             <view>
-                <button bind:tap="toAutoInitData">自动生成</button>
+                <button bind:tap="toAutoInitData" wx:if="{{!arrangeData._id}}">自动生成</button>
                 <button bind:tap="turnView" data-view="race">设置比赛</button>
                 <!-- <button>保存</button> -->
             </view>
@@ -23,9 +23,9 @@
                     {{r.player_name_one}} VS {{r.player_name_two}}
                     <f-picker value="{{r.ground_id}}" label="场地" model="{{r.groundModelName}}" bind:selected="toSelected" columns="{{groundList}}" valueKey="_id" labelKey="name">
                     </f-picker>
-                    <f-picker value="{{r.ground_id}}" label="裁判" model="{{r.refereeModelName}}" bind:selected="toSelected" columns="{{refereeList}}" valueKey="_id" labelKey="name">
+                    <f-picker value="{{r.referee_id}}" label="裁判" model="{{r.refereeModelName}}"  bind:selected="toSelected" columns="{{refereeList}}" valueKey="_id" labelKey="name">
                     </f-picker>
-                    <f-time-picker label="比赛时间" model="{{r.timeModelName}}" value="{{r.time}}" bind:selected="toSelected" />
+                    <f-time-picker label="比赛时间" model="{{r.timeModelName}}" value="{{r.match_time}}" bind:selected="toSelected" />
                 </view>
             </view>
         </view>

+ 15 - 1
pages/referee/eliminate.js

@@ -7,12 +7,26 @@ Page({
     data: {
         frameStyle: { useTop: true, name: '淘汰赛管理', leftArrow: true, useBar: false },
         searchInfo: {},
-        list: []
+        list: [],
+        dialog: { title: '详细信息', show: false, type: '1' },
+        info: {},
     },
     // 跳转菜单
     back(e) {
         wx.navigateBack({ delta: 1 })
     },
+    // 查看
+    toView: async function (e) {
+        const that = this;
+        const { item } = e.currentTarget.dataset;
+        that.setData({ info: item })
+        that.setData({ dialog: { title: '详细信息', show: true, type: '1' } })
+    },
+    // 关闭弹框
+    toClose: function () {
+        const that = this;
+        that.setData({ dialog: { title: '详细信息', show: false, type: '1' } })
+    },
     /**
      * 生命周期函数--监听页面加载
      */

+ 6 - 5
pages/referee/eliminate.json

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

+ 24 - 0
pages/referee/eliminate.less

@@ -79,4 +79,28 @@
             }
         }
     }
+}
+.dialog_one {
+    margin: 10px 0 0 0;
+
+    .one_1 {
+        display: flex;
+        flex-direction: row;
+        justify-content: space-between;
+        border: 1px solid #ccc;
+        border-radius: 5px;
+        margin: 0 0 10px 0;
+        padding: 10px;
+
+        .text {
+            width: 40vw;
+            color: #666;
+            font-size: 15px;
+        }
+
+        .text1 {
+            font-size: 15px;
+            color: #000;
+        }
+    }
 }

+ 60 - 1
pages/referee/eliminate.wxml

@@ -31,6 +31,7 @@
                             </view>
                         </view>
                         <view class="btn">
+                            <button type="primary" size="mini" bindtap="toView" data-item="{{item}}">详细信息</button>
                             <button type="primary" size="mini">赛事比分</button>
                         </view>
                     </view>
@@ -38,4 +39,62 @@
             </scroll-view>
         </view>
     </view>
-</mobile-main>
+</mobile-main>
+<e-dialog dialog="{{dialog}}" bind:toClose="toClose">
+    <view slot="info">
+        <view class="dialog_one" wx:if="{{dialog.type=='1'}}">
+            <view class="one_1">
+                <text class="text">赛事名称:</text>
+                <text class="text1">{{info.match_name||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">赛事组别:</text>
+                <text class="text1">{{info.grouping_name||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">比赛项目:</text>
+                <text class="text1">{{info.project_name||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">赛事场地:</text>
+                <text class="text1">{{info.ground_name||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">选手1:</text>
+                <text class="text1">{{info.player_one_name||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">选手2:</text>
+                <text class="text1">{{info.player_two_name||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">裁判名称:</text>
+                <text class="text1">{{info.referee_name||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">选手1的比分纪录:</text>
+                <text class="text1">{{info.score_one||0}}分</text>
+            </view>
+            <view class="one_1">
+                <text class="text">选手2的比分纪录:</text>
+                <text class="text1">{{info.score_two||0}}分</text>
+            </view>
+            <view class="one_1">
+                <text class="text">小组名:</text>
+                <text class="text1">{{info.team_name||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">胜者:</text>
+                <text class="text1">{{info.winner||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">比赛时间:</text>
+                <text class="text1">{{info.match_time||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">比赛状态:</text>
+                <text class="text1">{{info.status=='0'?'已安排':info.status=='1'?'待开赛':info.status=='2'?'已开赛':info.status=='3'?'已结束':'暂无'}}</text>
+            </view>
+        </view>
+    </view>
+</e-dialog>

+ 21 - 0
pages/referee/eliminate.wxss

@@ -63,3 +63,24 @@
 .main .two .scroll-view .list-scroll-view .list:last-child {
   border-bottom: none;
 }
+.dialog_one {
+  margin: 10px 0 0 0;
+}
+.dialog_one .one_1 {
+  display: flex;
+  flex-direction: row;
+  justify-content: space-between;
+  border: 1px solid #ccc;
+  border-radius: 5px;
+  margin: 0 0 10px 0;
+  padding: 10px;
+}
+.dialog_one .one_1 .text {
+  width: 40vw;
+  color: #666;
+  font-size: 15px;
+}
+.dialog_one .one_1 .text1 {
+  font-size: 15px;
+  color: #000;
+}

+ 16 - 2
pages/referee/group.js

@@ -7,12 +7,26 @@ Page({
     data: {
         frameStyle: { useTop: true, name: '小组赛管理', leftArrow: true, useBar: false },
         searchInfo: {},
-        list: []
+        list: [],
+        dialog: { title: '详细信息', show: false, type: '1' },
+        info: {},
     },
     // 跳转菜单
     back(e) {
         wx.navigateBack({ delta: 1 })
     },
+    // 查看
+    toView: async function (e) {
+        const that = this;
+        const { item } = e.currentTarget.dataset;
+        that.setData({ info: item })
+        that.setData({ dialog: { title: '详细信息', show: true, type: '1' } })
+    },
+    // 关闭弹框
+    toClose: function () {
+        const that = this;
+        that.setData({ dialog: { title: '详细信息', show: false, type: '1' } })
+    },
     /**
      * 生命周期函数--监听页面加载
      */
@@ -40,7 +54,7 @@ Page({
         wx.getStorage({
             key: 'user',
             success: async (res) => {
-                let info = { skip: 0, limit: 1000, referee_id: res.data.opneid || 'oH0y05QJCvBQQpoobbtHTkpL4z4I' };
+                let info = { skip: 0, limit: 1000, referee_id: res.data.openid };
                 // if (searchInfo && searchInfo.name) info.name = searchInfo.name;
                 const arr = await app.$get(`/newCourt/api/race`, { ...info });
                 if (arr.errcode == '0') {

+ 6 - 5
pages/referee/group.json

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

+ 25 - 0
pages/referee/group.less

@@ -79,4 +79,29 @@
             }
         }
     }
+}
+
+.dialog_one {
+    margin: 10px 0 0 0;
+
+    .one_1 {
+        display: flex;
+        flex-direction: row;
+        justify-content: space-between;
+        border: 1px solid #ccc;
+        border-radius: 5px;
+        margin: 0 0 10px 0;
+        padding: 10px;
+
+        .text {
+            width: 40vw;
+            color: #666;
+            font-size: 15px;
+        }
+
+        .text1 {
+            font-size: 15px;
+            color: #000;
+        }
+    }
 }

+ 60 - 1
pages/referee/group.wxml

@@ -31,6 +31,7 @@
                             </view>
                         </view>
                         <view class="btn">
+                            <button type="primary" size="mini" bindtap="toView" data-item="{{item}}">详细信息</button>
                             <button type="primary" size="mini">赛事比分</button>
                         </view>
                     </view>
@@ -38,4 +39,62 @@
             </scroll-view>
         </view>
     </view>
-</mobile-main>
+</mobile-main>
+<e-dialog dialog="{{dialog}}" bind:toClose="toClose">
+    <view slot="info">
+        <view class="dialog_one" wx:if="{{dialog.type=='1'}}">
+            <view class="one_1">
+                <text class="text">赛事名称:</text>
+                <text class="text1">{{info.match_name||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">赛事组别:</text>
+                <text class="text1">{{info.grouping_name||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">比赛项目:</text>
+                <text class="text1">{{info.project_name||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">赛事场地:</text>
+                <text class="text1">{{info.ground_name||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">选手1:</text>
+                <text class="text1">{{info.player_one_name||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">选手2:</text>
+                <text class="text1">{{info.player_two_name||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">裁判名称:</text>
+                <text class="text1">{{info.referee_name||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">选手1的比分纪录:</text>
+                <text class="text1">{{info.score_one||0}}分</text>
+            </view>
+            <view class="one_1">
+                <text class="text">选手2的比分纪录:</text>
+                <text class="text1">{{info.score_two||0}}分</text>
+            </view>
+            <view class="one_1">
+                <text class="text">小组名:</text>
+                <text class="text1">{{info.team_name||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">胜者:</text>
+                <text class="text1">{{info.winner||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">比赛时间:</text>
+                <text class="text1">{{info.match_time||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">比赛状态:</text>
+                <text class="text1">{{info.status=='0'?'已安排':info.status=='1'?'待开赛':info.status=='2'?'已开赛':info.status=='3'?'已结束':'暂无'}}</text>
+            </view>
+        </view>
+    </view>
+</e-dialog>

+ 21 - 0
pages/referee/group.wxss

@@ -63,3 +63,24 @@
 .main .two .scroll-view .list-scroll-view .list:last-child {
   border-bottom: none;
 }
+.dialog_one {
+  margin: 10px 0 0 0;
+}
+.dialog_one .one_1 {
+  display: flex;
+  flex-direction: row;
+  justify-content: space-between;
+  border: 1px solid #ccc;
+  border-radius: 5px;
+  margin: 0 0 10px 0;
+  padding: 10px;
+}
+.dialog_one .one_1 .text {
+  width: 40vw;
+  color: #666;
+  font-size: 15px;
+}
+.dialog_one .one_1 .text1 {
+  font-size: 15px;
+  color: #000;
+}

+ 108 - 1
pages/usermymatch/index.js

@@ -6,12 +6,119 @@ Page({
      */
     data: {
         frameStyle: { useTop: true, name: '我的赛事', leftArrow: true, useBar: false },
+        dialog: { title: '详细信息', show: false, type: '1' },
+        // 选项卡
+        tabs: {
+            active: 'a',
+            list: [
+                { title: '小组赛', name: 'a' },
+                { title: '淘汰赛', name: 'b' },
+
+            ],
+        },
+        list: [
+            {
+                match_time: '比赛时间',
+                match_name: '比赛名称',
+                grouping_name: '赛事组别',
+                project_name: '组内项目',
+                ground_name: '比赛场地',
+            },
+            {
+                match_time: '比赛时间',
+                match_name: '比赛名称',
+                grouping_name: '赛事组别',
+                project_name: '组内项目',
+                ground_name: '比赛场地',
+            },
+            {
+                match_time: '比赛时间',
+                match_name: '比赛名称',
+                grouping_name: '赛事组别',
+                project_name: '组内项目',
+                ground_name: '比赛场地',
+            },
+            {
+                match_time: '比赛时间',
+                match_name: '比赛名称',
+                grouping_name: '赛事组别',
+                project_name: '组内项目',
+                ground_name: '比赛场地',
+            },
+            {
+                match_time: '比赛时间',
+                match_name: '比赛名称',
+                grouping_name: '赛事组别',
+                project_name: '组内项目',
+                ground_name: '比赛场地',
+            },
+            {
+                match_time: '比赛时间',
+                match_name: '比赛名称',
+                grouping_name: '赛事组别',
+                project_name: '组内项目',
+                ground_name: '比赛场地',
+            },
+            {
+                match_time: '比赛时间',
+                match_name: '比赛名称',
+                grouping_name: '赛事组别',
+                project_name: '组内项目',
+                ground_name: '比赛场地',
+            },
+            {
+                match_time: '比赛时间',
+                match_name: '比赛名称',
+                grouping_name: '赛事组别',
+                project_name: '组内项目',
+                ground_name: '比赛场地',
+            },
+            {
+                match_time: '比赛时间',
+                match_name: '比赛名称',
+                grouping_name: '赛事组别',
+                project_name: '组内项目',
+                ground_name: '比赛场地',
+            }, {
+                match_time: '比赛时间',
+                match_name: '比赛名称',
+                grouping_name: '赛事组别',
+                project_name: '组内项目',
+                ground_name: '比赛场地',
+            },
+            {
+                match_time: '比赛时间',
+                match_name: '比赛名称',
+                grouping_name: '赛事组别',
+                project_name: '组内项目',
+                ground_name: '比赛场地',
+            },
+        ],
+        // 详细信息
+        info: {},
     },
     // 跳转菜单
     back(e) {
         wx.navigateBack({ delta: 1 })
     },
-
+    // 选项卡
+    tabsChange: function (e) {
+        const that = this;
+        const { name } = e.detail;
+        that.setData({ 'tabs.active': name });
+    },
+    // 详细信息
+    toView: async function (e) {
+        const { item } = e.currentTarget.dataset;
+        const that = this;
+        that.setData({ info: item })
+        that.setData({ dialog: { title: '详细信息', show: true, type: '1' } })
+    },
+    // 关闭弹框
+    toClose: function () {
+        const that = this;
+        that.setData({ dialog: { title: '详细信息', show: false, type: '1' } })
+    },
     /**
      * 生命周期函数--监听页面加载
      */

+ 1 - 0
pages/usermymatch/index.json

@@ -2,6 +2,7 @@
   "component": true,
   "usingComponents": {
     "mobile-main": "/commpents/mobile-frame/index",
+    "e-tabs": "/commpents/tabs/index",
     "e-dialog": "/commpents/dialog/index"
   }
 }

+ 102 - 0
pages/usermymatch/index.less

@@ -1,3 +1,105 @@
 .main {
     height: 88.8vh;
+
+    .zero {
+        width: 96vw;
+        margin: 0 0 2vw 0;
+
+    }
+
+    .zero:last-child {
+        margin: 0;
+    }
+
+    .two {
+        flex-grow: 1;
+        position: relative;
+
+        .scroll-view {
+            position: absolute;
+            top: 0;
+            left: 0;
+            right: 0;
+            bottom: 0;
+
+            .list-scroll-view {
+                display: flex;
+                flex-direction: column;
+
+                .list {
+                    background-color: #ffffff;
+                    border-bottom: 1px solid #cccccc;
+                    width: 96vw;
+                    padding: 2vw;
+
+                    .name {
+                        font-size: 18px;
+                        margin: 0 0 1vw 0;
+                        font-weight: bold;
+                    }
+
+                    .other {
+                        margin: 0 0 1vw 0;
+
+                        .other_1 {
+                            margin: 0 0 1vw 0;
+                            font-size: 15px;
+
+                            text {
+                                color: #000000;
+                            }
+
+                            text:nth-child(1) {
+                                color: #858585;
+                            }
+
+                        }
+                    }
+
+                    .btn {
+                        text-align: center;
+
+                        button {
+                            margin: 0 2vw;
+                            font-size: 14px;
+                        }
+                    }
+                }
+
+                .list:last-child {
+                    border-bottom: none;
+                }
+            }
+        }
+    }
+}
+
+.dialog_one {
+    margin: 10px 0 0 0;
+
+    .one_1 {
+        display: flex;
+        flex-direction: row;
+        justify-content: space-between;
+        border: 1px solid #ccc;
+        border-radius: 5px;
+        margin: 0 0 10px 0;
+        padding: 10px;
+
+        .text {
+            width: 22vw;
+            color: #666;
+            font-size: 16px;
+        }
+
+        .text1 {
+            font-size: 16px;
+            color: #000;
+        }
+
+        .image {
+            width: 15vw;
+            height: 15vw;
+        }
+    }
 }

+ 100 - 2
pages/usermymatch/index.wxml

@@ -1,5 +1,103 @@
 <mobile-main frameStyle="{{frameStyle}}" bind:back="back">
     <view slot="info" class="container main">
-        我的赛事
+        <view class="zero one">
+            <e-tabs tabs="{{tabs}}" bind:tabsChange="tabsChange"></e-tabs>
+        </view>
+        <view class="zero two">
+            <scroll-view scroll-y="true" class="scroll-view">
+                <view class="list-scroll-view">
+                    <view wx:if="{{tabs.active=='a'}}" class="a">
+                        <view class="list" wx:for="{{list}}" wx:key="item">
+                            <view class="name">{{item.match_time}}</view>
+                            <view class="other">
+                                <view class="other_1">
+                                    <text>赛事名称:</text>
+                                    <text>{{item.match_name}}</text>
+                                </view>
+                                <view class="other_1">
+                                    <text>赛事组别:</text>
+                                    <text>{{item.grouping_name}}</text>
+                                </view>
+                                <view class="other_1">
+                                    <text>组内项目:</text>
+                                    <text>{{item.project_name}}</text>
+                                </view>
+                                <view class="other_1">
+                                    <text>赛事场地:</text>
+                                    <text>{{item.ground_name}}</text>
+                                </view>
+                                <view class="other_1">
+                                    <text>比赛状态:</text>
+                                    <text>{{item.status=='0'?'已安排':item.status=='1'?'待开赛':item.status=='2'?'已开赛':item.status=='3'?'已结束':'暂无'}}</text>
+                                </view>
+                            </view>
+                            <view class="btn">
+                                <button type="primary" size="mini" bindtap="toView" data-item="{{item}}">详细信息</button>
+                            </view>
+                        </view>
+                    </view>
+                    <view wx:elif="{{tabs.active=='b'}}" class="a b">
+                        <view class="list" wx:for="{{list}}" wx:key="item">
+                            <view class="name">{{item.match_time}}</view>
+                            <view class="other">
+                                <view class="other_1">
+                                    <text>赛事名称:</text>
+                                    <text>{{item.match_name}}</text>
+                                </view>
+                                <view class="other_1">
+                                    <text>赛事组别:</text>
+                                    <text>{{item.grouping_name}}</text>
+                                </view>
+                                <view class="other_1">
+                                    <text>组内项目:</text>
+                                    <text>{{item.project_name}}</text>
+                                </view>
+                                <view class="other_1">
+                                    <text>赛事场地:</text>
+                                    <text>{{item.ground_name}}</text>
+                                </view>
+                                <view class="other_1">
+                                    <text>比赛状态:</text>
+                                    <text>{{item.status=='0'?'已安排':item.status=='1'?'待开赛':item.status=='2'?'已开赛':item.status=='3'?'已结束':'暂无'}}</text>
+                                </view>
+                            </view>
+                            <view class="btn">
+                                <button type="primary" size="mini" bindtap="toView" data-item="{{item}}">详细信息</button>
+                            </view>
+                        </view>
+                    </view>
+                </view>
+            </scroll-view>
+        </view>
     </view>
-</mobile-main>
+</mobile-main>
+<e-dialog dialog="{{dialog}}" bind:toClose="toClose">
+    <view slot="info">
+        <view class="dialog_one" wx:if="{{dialog.type=='1'}}">
+            <view class="one_1">
+                <text class="text">赛事名称:</text>
+                <text class="text1">{{info.match_name||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">比赛时间:</text>
+                <text class="text1">{{info.match_time||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">赛事组别:</text>
+                <text class="text1">{{info.grouping_name||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">组内项目:</text>
+                <text class="text1">{{info.project_name||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">赛事场地:</text>
+                <text class="text1">{{info.ground_name||'暂无'}}</text>
+            </view>
+            <view class="one_1">
+                <text class="text">比赛状态:</text>
+                <text class="text1">{{info.status=='0'?'已安排':info.status=='1'?'待开赛':info.status=='2'?'已开赛':info.status=='3'?'已结束':'暂无'}}</text>
+            </view>
+        </view>
+    </view>
+</e-dialog>

+ 81 - 0
pages/usermymatch/index.wxss

@@ -1,3 +1,84 @@
 .main {
   height: 88.8vh;
 }
+.main .zero {
+  width: 96vw;
+  margin: 0 0 2vw 0;
+}
+.main .zero:last-child {
+  margin: 0;
+}
+.main .two {
+  flex-grow: 1;
+  position: relative;
+}
+.main .two .scroll-view {
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+}
+.main .two .scroll-view .list-scroll-view {
+  display: flex;
+  flex-direction: column;
+}
+.main .two .scroll-view .list-scroll-view .list {
+  background-color: #ffffff;
+  border-bottom: 1px solid #cccccc;
+  width: 96vw;
+  padding: 2vw;
+}
+.main .two .scroll-view .list-scroll-view .list .name {
+  font-size: 18px;
+  margin: 0 0 1vw 0;
+  font-weight: bold;
+}
+.main .two .scroll-view .list-scroll-view .list .other {
+  margin: 0 0 1vw 0;
+}
+.main .two .scroll-view .list-scroll-view .list .other .other_1 {
+  margin: 0 0 1vw 0;
+  font-size: 15px;
+}
+.main .two .scroll-view .list-scroll-view .list .other .other_1 text {
+  color: #000000;
+}
+.main .two .scroll-view .list-scroll-view .list .other .other_1 text:nth-child(1) {
+  color: #858585;
+}
+.main .two .scroll-view .list-scroll-view .list .btn {
+  text-align: center;
+}
+.main .two .scroll-view .list-scroll-view .list .btn button {
+  margin: 0 2vw;
+  font-size: 14px;
+}
+.main .two .scroll-view .list-scroll-view .list:last-child {
+  border-bottom: none;
+}
+.dialog_one {
+  margin: 10px 0 0 0;
+}
+.dialog_one .one_1 {
+  display: flex;
+  flex-direction: row;
+  justify-content: space-between;
+  border: 1px solid #ccc;
+  border-radius: 5px;
+  margin: 0 0 10px 0;
+  padding: 10px;
+}
+.dialog_one .one_1 .text {
+  width: 22vw;
+  color: #666;
+  font-size: 16px;
+}
+.dialog_one .one_1 .text1 {
+  font-size: 16px;
+  color: #000;
+}
+.dialog_one .one_1 .image {
+  width: 15vw;
+  height: 15vw;
+}