guhongwei 2 年之前
父节点
当前提交
33cbaf33b9

+ 0 - 1
pages/matchteam/layout.js

@@ -24,7 +24,6 @@ Page({
     // 维护赛程信息
     toEdit: function (e) {
         const { id } = e.currentTarget.dataset;
-        console.log(id);
         wx.navigateTo({ url: `/pages/matchteam/layoutdetail?id=${id}` })
     },
     /**

+ 51 - 11
pages/matchteam/layoutdetail.js

@@ -10,13 +10,17 @@ Page({
         frameStyle: { useTop: true, name: '维护赛程信息', leftArrow: true, useBar: false },
         // 主体高度
         infoHeight: '',
-        user:{},
+        user: {},
         form: {},
         // 红方团队
         redTeam: {},
         // 蓝方团队
         blueTeam: {},
         id: '',
+        // 参赛团队成员列表
+        membersList: [],
+        // 弹框
+        dialog: { title: '成员列表', show: false, type: '1' },
     },
     initValidate() {
         const rules = { match_name: { required: true } }
@@ -27,15 +31,44 @@ Page({
     back: function () {
         wx.navigateBack({ url: '/pages/matchteam/layout' })
     },
-    // 选择比赛时间
-    dateChange: function (e) {
+    // 添加成员
+    memAdd: async function (e) {
         const that = this;
         const { type } = e.currentTarget.dataset;
-        const { value } = e.detail;
-        if (type == 'date') that.setData({ 'form.date': value })
-        else if (type == 'time') that.setData({ 'form.time': value });
-        let match_time = that.data.form.date + '-' + that.data.form.time;
-        that.setData({ 'form.match_time': match_time })
+        const data = that.data.form;
+        const red = that.data.redTeam;
+        const blue = that.data.blueTeam;
+        let arr;
+        arr = await app.$get(`/courtAdmin/api/matchteam`, { match_id: data.match_id, team_id: type == 'red' ? red._id : blue._id });
+        if (arr.errcode == '0') {
+            that.setData({ membersList: arr.data[0].members });
+            that.setData({ dialog: { title: '成员列表', show: true, type: '1' } })
+        }
+    },
+    // 选择成员
+    onMemchange: function (e) {
+        const that = this;
+        let data = e.detail.value;
+        let user = that.data.membersList;
+        let members = [];
+        for (const val of data) {
+            let arr = user.find((i) => i.user_id == val);
+            if (arr) members.push(arr)
+        }
+        that.setData({ 'form.blue_members': members })
+    },
+    // 删除成员
+    memDel: function (e) {
+        const that = this;
+        const { type, user_id } = e.currentTarget.dataset;
+        const data = that.data.form;
+        if (type == 'red') {
+            let red_members = data.red_members.filter((i) => i.user_id != user_id)
+            that.setData({ 'form.red_members': red_members })
+        } else if (type == 'blue') {
+            let blue_members = data.blue_members.filter((i) => i.user_id != user_id)
+            that.setData({ 'form.blue_members': blue_members })
+        }
     },
     // 提交保存
     onSubmit: async function (e) {
@@ -47,11 +80,18 @@ Page({
             wx.showToast({ title: `${error.msg}`, icon: 'error', duration: 2000 })
             return false
         } else {
-            params.red_logo = data.red_logo;
-            params.blue_logo = data.blue_logo;
-            console.log(params);
+            params.red_members = data.red_members;
+            params.blue_members = data.blue_members;
+            const arr = await app.$post(`/courtAdmin/api/schedule/${data._id}`, params);
+            if (arr.errcode == '0') { wx.showToast({ title: `维护信息完成`, icon: 'success', duration: 2000 }); that.watchLogin(); }
+            else wx.showToast({ title: `${error.msg}`, icon: 'error', duration: 2000 })
         }
     },
+    // 关闭弹框
+    toClose: function () {
+        const that = this;
+        that.setData({ dialog: { title: '成员列表', show: false } })
+    },
     /**
      * 生命周期函数--监听页面加载
      */

+ 3 - 2
pages/matchteam/layoutdetail.json

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

+ 83 - 69
pages/matchteam/layoutdetail.wxml

@@ -1,73 +1,87 @@
 <mobile-main frameStyle="{{frameStyle}}" bind:back="back">
-  <view slot="info" class="main" style="height:{{infoHeight}}px;">
-    <view class="one">
-      <form bindsubmit="onSubmit">
-        <view class="content">
-          <view class="label textOver">比赛名称</view>
-          <view class="value">
-            <input type="text" name="match_name" value="{{form.match_name}}" placeholder="请输入比赛名称" disabled />
-          </view>
+    <view slot="info" class="main" style="height:{{infoHeight}}px;">
+        <view class="one">
+            <form bindsubmit="onSubmit">
+                <view class="content">
+                    <view class="label textOver">比赛名称</view>
+                    <view class="value">
+                        <input type="text" name="match_name" value="{{form.match_name}}" placeholder="请输入比赛名称" disabled />
+                    </view>
+                </view>
+                <view class="content">
+                    <view class="label textOver">比赛日期时间</view>
+                    <view class="value">
+                        <input type="text" name="match_time" value="{{form.match_time}}" placeholder="请输入比赛日期时间" disabled />
+                    </view>
+                </view>
+                <view class="content" wx:if="{{redTeam.create_id==user._id}}">
+                    <view class="label textOver">红方名称</view>
+                    <view class="value">
+                        <input type="text" name="red_name" value="{{form.red_name}}" placeholder="请输入红方名称" disabled />
+                    </view>
+                </view>
+                <view class="content" wx:if="{{redTeam.create_id==user._id}}">
+                    <view class="label textOver">红方logo</view>
+                    <view class="value">
+                        <image class="image" src="{{form.red_logo[0].url}}"></image>
+                    </view>
+                </view>
+                <view class="members" wx:if="{{redTeam.create_id==user._id}}">
+                    <view class="members_1">
+                        <text>红方成员</text>
+                        <button type="default" size="mini" bindtap="memAdd" data-type="red">添加成员</button>
+                    </view>
+                    <view class="members_2">
+                        <view class="membersList" wx:for="{{form.red_members}}" wx:key="item" bindtap="memDel" data-user_id="{{item.user_id}}" data-type="red">
+                            <image class="iamge" src="{{item.icon&&item.icon.length>0?item.icon[0].url:'/image/wodexiao-01.png'}}"></image>
+                            <view class="nickname textOver">{{item.nickname}}</view>
+                            <image class="del" src="/image/jianshao.png"></image>
+                        </view>
+                    </view>
+                </view>
+                <view class="content" wx:if="{{blueTeam.create_id==user._id}}">
+                    <view class="label textOver">蓝方名称</view>
+                    <view class="value">
+                        <input type="text" name="blue_name" value="{{form.blue_name}}" placeholder="请输入蓝方名称" disabled />
+                    </view>
+                </view>
+                <view class="content" wx:if="{{blueTeam.create_id==user._id}}">
+                    <view class="label textOver">蓝方logo</view>
+                    <view class="value">
+                        <image class="image" src="{{form.blue_logo[0].url}}"></image>
+                    </view>
+                </view>
+                <view class="members" wx:if="{{blueTeam.create_id==user._id}}">
+                    <view class="members_1">
+                        <text>蓝方成员</text>
+                        <button type="default" size="mini" bindtap="memAdd" data-type="blue">添加成员</button>
+                    </view>
+                    <view class="members_2">
+                        <view class="membersList" wx:for="{{form.blue_members}}" wx:key="item" bindtap="memDel" data-user_id="{{item.user_id}}" data-type="blue">
+                            <image class="iamge" src="{{item.icon&&item.icon.length>0?item.icon[0].url:'/image/wodexiao-01.png'}}"></image>
+                            <view class="nickname textOver">{{item.nickname}}</view>
+                            <image class="del" src="/image/jianshao.png"></image>
+                        </view>
+                    </view>
+                </view>
+                <view class="btn">
+                    <button type="primary" size="mini" formType="submit">提交保存</button>
+                </view>
+            </form>
         </view>
-        <view class="content">
-          <view class="label textOver">比赛日期时间</view>
-          <view class="value">
-            <input type="text" name="match_time" value="{{form.match_time}}" placeholder="请输入比赛日期时间" disabled />
-          </view>
-        </view>
-        <view class="content" wx:if="{{redTeam.create_id==user._id}}">
-          <view class="label textOver">红方名称</view>
-          <view class="value">
-            <input type="text" name="red_name" value="{{form.red_name}}" placeholder="请输入红方名称" disabled />
-          </view>
-        </view>
-        <view class="content" wx:if="{{redTeam.create_id==user._id}}">
-          <view class="label textOver">红方logo</view>
-          <view class="value">
-            <image class="image" src="{{form.red_logo[0].url}}"></image>
-          </view>
-        </view>
-        <view class="members" wx:if="{{redTeam.create_id==user._id}}">
-          <view class="members_1">
-            <text>红方成员</text>
-            <button type="default" size="mini" bindtap="memAdd" >添加成员</button>
-          </view>
-          <view class="members_2">
-            <view class="membersList" wx:for="{{form.red_members}}" wx:key="item" bindtap="memDel" data-user_id="{{item.user_id}}">
-              <image class="iamge" src="{{item.icon&&item.icon.length>0?item.icon[0].url:'/image/wodexiao-01.png'}}"></image>
-              <view class="nickname textOver">{{item.nickname}}</view>
-              <image class="del" src="/image/jianshao.png"></image>
-            </view>
-          </view>
-        </view>
-        <view class="content" wx:if="{{blueTeam.create_id==user._id}}">
-          <view class="label textOver">蓝方名称</view>
-          <view class="value">
-            <input type="text" name="blue_name" value="{{form.blue_name}}" placeholder="请输入蓝方名称" disabled />
-          </view>
-        </view>
-        <view class="content" wx:if="{{blueTeam.create_id==user._id}}">
-          <view class="label textOver">蓝方logo</view>
-          <view class="value">
-            <image class="image" src="{{form.blue_logo[0].url}}"></image>
-          </view>
-        </view>
-        <view class="members" wx:if="{{blueTeam.create_id==user._id}}">
-          <view class="members_1">
-            <text>蓝方成员</text>
-            <button type="default" size="mini" bindtap="memAdd">添加成员</button>
-          </view>
-          <view class="members_2">
-            <view class="membersList" wx:for="{{form.blue_members}}" wx:key="item" bindtap="memDel" data-user_id="{{item.user_id}}">
-              <image class="iamge" src="{{item.icon&&item.icon.length>0?item.icon[0].url:'/image/wodexiao-01.png'}}"></image>
-              <view class="nickname textOver">{{item.nickname}}</view>
-              <image class="del" src="/image/jianshao.png"></image>
-            </view>
-          </view>
-        </view>
-        <view class="btn">
-          <button type="primary" size="mini" formType="submit">提交保存</button>
+    </view>
+</mobile-main>
+<e-dialog dialog="{{dialog}}" bind:toClose="toClose">
+    <view slot="info">
+        <view class="dialog_one" wx:if="{{dialog.type=='1'}}">
+            <checkbox-group bindchange="onMemchange">
+                <view class="userList" wx:for="{{membersList}}" wx:key="item">
+                    <label>
+                        <text>{{item.nickname}}</text>
+                        <checkbox value="{{item.user_id}}" checked="{{item.checked}}" />
+                    </label>
+                </view>
+            </checkbox-group>
         </view>
-      </form>
     </view>
-  </view>
-</mobile-main>
+</e-dialog>

+ 35 - 0
pages/matchteam/layoutdetail.wxss

@@ -131,4 +131,39 @@
     right: 0;
     width: 20px;
     height: 20px;
+}
+
+.dialog_one {
+    float: left;
+    width: 100%;
+}
+
+
+.dialog_one .userList {
+    float: left;
+    width: 93%;
+    padding: 10px;
+    border-bottom: 1px solid #ccc;
+}
+
+.dialog_one .userList text {
+    float: left;
+    text-align: left;
+    font-size: 14px;
+}
+
+.dialog_one .userList checkbox {
+    float: right;
+}
+
+.dialog_one .btn {
+    float: left;
+    width: 100%;
+    text-align: center;
+    margin: 5px 0;
+}
+
+.dialog_one .btn button {
+    padding: 0 10px;
+    font-size: 14px;
 }