zs il y a 1 an
Parent
commit
77aa68fdb7

+ 1 - 0
app.json

@@ -33,6 +33,7 @@
                 "exit/index",
                 "match/index",
                 "team/index",
+                "teamCreate/index",
                 "update/index"
             ]
         },

+ 43 - 0
components/upload/index.js

@@ -0,0 +1,43 @@
+const app = getApp()
+Component({
+    properties: {
+        list: { type: Array, value: [] },
+        name: { type: String },
+        count: { type: Number, value: 1 },
+    },
+    data: {},
+    methods: {
+        // 图片上传
+        imgUpload() {
+            const that = this;
+            const name = that.data.name;
+            wx.chooseImage({
+                count: 1,
+                sizeType: ['original', 'compressed'],
+                sourceType: ['album', 'camera'],
+                async success(chooseRes) {
+                    const file = chooseRes.tempFilePaths;
+                    let res = await app.$apifile('files/ball/team/upload', null, file[0])
+                    res = JSON.parse(res);
+                    if (res.errcode == '0') {
+                        that.triggerEvent('imgUpload', { name: res.name, url: `${app.globalData.fileserverUrl}` + res.uri, uri: res.uri })
+                    } else {
+                        wx.showToast({ title: `${res.errmsg}`, icon: 'error' })
+                    }
+                }
+
+            })
+        },
+        imgDel(e) {
+            const that = this;
+            const name = that.data.name;
+            const { item, index } = e.currentTarget.dataset;
+            that.triggerEvent('imgDel', { file: item, index: index })
+        },
+        // 预览
+        toView: function (e) {
+            const { item } = e.currentTarget.dataset;
+            wx.previewImage({ current: '', urls: [item.url] })
+        }
+    }
+})

+ 4 - 0
components/upload/index.json

@@ -0,0 +1,4 @@
+{
+    "component": true,
+    "usingComponents": {}
+}

+ 9 - 0
components/upload/index.wxml

@@ -0,0 +1,9 @@
+<view class="upload">
+    <view class="list" wx:for="{{list}}" wx:key="index">
+        <image class="image" src="{{item.url}}" bindtap="toView" data-item="{{item}}" mode="aspectFill"></image>
+        <icon class="icon-small icon" type="cancel" size="23" bindtap="imgDel" data-item="{{item}}" data-index="{{index}}"></icon>
+    </view>
+    <view class="list list_1" bindtap="imgUpload" wx:if="{{list.length<count}}">
+        <text>+</text>
+    </view>
+</view>

+ 40 - 0
components/upload/index.wxss

@@ -0,0 +1,40 @@
+.upload {
+    display: flex;
+    flex-wrap: wrap;
+}
+
+.upload .list {
+    position: relative;
+    width: 32%;
+    height: 85px;
+    overflow: hidden;
+    border: 1px solid #cccccc;
+    border-radius: 5px;
+}
+
+.upload .list:nth-child(4n) {
+    margin: 0 0 5px 0;
+}
+
+.upload .list .image {
+    width: 100%;
+    height: 100%;
+    border-radius: 5px;
+}
+
+.upload .list .icon {
+    position: absolute;
+    top: 1vw;
+    right: 1vw;
+}
+
+.upload .list_1 {
+    text-align: center;
+    line-height: 75px;
+}
+
+.upload .list_1 text {
+    font-size: 60px;
+    font-weight: bold;
+    color: #858588;
+}

+ 1 - 1
pagesHome/home/index.wxml

@@ -1,7 +1,7 @@
 <home-frame bind:toPath="toPath">
     <view class="main">
         <view class="one">
-            <input class="input" type="text" bindconfirm="toSearch" confirm-type="search" placeholder-style='text-align:center' placeholder="搜索" />
+            <input class="input" type="text" bindconfirm="toSearch" confirm-type="search" placeholder-style=' text-align: center;' placeholder="搜索" />
         </view>
         <view class="two">
             <scroll-view class="scroll-view" scroll-y="true" bindscrolltolower="toLower" bindscroll="toScroll">

+ 25 - 2
pagesMatch/home/index.js

@@ -7,7 +7,27 @@ Page({
         page: 0,
         skip: 0,
         limit: 5,
-        statusList: []
+        statusList: [],
+        active: 0,
+        tabList: [
+            { title: '报名中', active: 0 },
+            { title: '未开始', active: 1 },
+            { title: '进行中', active: 2 },
+            { title: '已结束', active: 3 }
+        ]
+    },
+    //滑动切换
+    swiperTab: function (e) {
+        const that = this;
+        that.setData({ active: e.detail.current });
+        that.clearPage();
+        that.search()
+    },
+    //点击切换
+    clickTab: function (e) {
+        const that = this;
+        if (that.data.active === e.target.dataset.active) return false
+        else that.setData({ active: e.target.dataset.active })
     },
     toPath(e) {
         let data = e.detail;
@@ -37,7 +57,10 @@ Page({
     // 查询通知
     async search() {
         const that = this;
-        let info = { skip: that.data.skip, limit: that.data.limit };
+        let status = ''
+        if (that.data.active == 3) status = '-1'
+        else status = that.data.active
+        let info = { skip: that.data.skip, limit: that.data.limit, status: status };
         let res = await app.$api('match', 'GET', { ...info, ...that.data.searchInfo })
         if (res.errcode == '0') {
             let list = [...that.data.list, ...res.data]

+ 27 - 23
pagesMatch/home/index.wxml

@@ -1,31 +1,35 @@
 <home-frame bind:toPath="toPath">
     <view class="main">
-        <view class="one">
-            <input class="input" type="text" bindconfirm="toSearch" confirm-type="search" placeholder-style='text-align:center' placeholder="搜索" />
+        <view class="swiper-tab">
+            <view class="swiper-tab-item {{active==index?'active':''}}" wx:for="{{tabList}}" wx:key="index" wx:for-item="item" data-active="{{item.active}}" bindtap="clickTab">
+                {{item.title}}
+            </view>
         </view>
-        <view class="two">
-            <scroll-view class="scroll-view" scroll-y="true" bindscrolltolower="toLower" bindscroll="toScroll">
-                <view class="list" wx:for="{{list}}" wx:key="index" wx:for-item="item">
-                    <view class="list_1">
-                        <view class="name textOver"> {{item.name||"暂无比赛名称"}} </view>
-                        <view class="color{{item.status}}"> {{item.status_name||'暂无状态'}} </view>
-                    </view>
-                    <view class="other">
-                        <view class="other_1">
-                            开始时间:{{item.start_time||'暂无开始时间'}}
-                        </view>
-                        <view class="other_1">
-                            结束时间:{{item.end_time||'暂无结束时间'}}
+        <swiper class='swiper' current="{{active}}" duration="300" bindchange="swiperTab">
+            <swiper-item wx:for="{{tabList}}" wx:key="index" wx:for-item="item">
+                <scroll-view class="scroll-view" scroll-y="true" bindscrolltolower="toLower" bindscroll="toScroll">
+                    <view class="list" wx:for="{{list}}" wx:key="index" wx:for-item="item">
+                        <view class="list_1">
+                            <view class="name textOver"> {{item.name||"暂无比赛名称"}} </view>
+                            <view class="color{{item.status}}"> {{item.status_name||'暂无状态'}} </view>
                         </view>
-                        <view class="other_1" wx:if="{{item.status=='0'}}">
-                            报名截止时间:{{item.sign_deadline||'暂无报名截止时间'}}
-                        </view>
-                        <view class="other_1 textOver">
-                            比赛地点:{{item.address||'暂无比赛地点'}}
+                        <view class="other">
+                            <view class="other_1">
+                                开始时间:{{item.start_time||'暂无开始时间'}}
+                            </view>
+                            <view class="other_1">
+                                结束时间:{{item.end_time||'暂无结束时间'}}
+                            </view>
+                            <view class="other_1" wx:if="{{item.status=='0'}}">
+                                报名截止时间:{{item.sign_deadline||'暂无报名截止时间'}}
+                            </view>
+                            <view class="other_1 textOver">
+                                比赛地点:{{item.address||'暂无比赛地点'}}
+                            </view>
                         </view>
                     </view>
-                </view>
-            </scroll-view>
-        </view>
+                </scroll-view>
+            </swiper-item>
+        </swiper>
     </view>
 </home-frame>

+ 34 - 17
pagesMatch/home/index.wxss

@@ -1,60 +1,77 @@
 @import "../../app.wxss";
 
 .main {
-    padding: 2vw;
+    width: 100%;
+}
+
+.main .swiper-tab {
+    display: flex;
+    justify-content: space-around;
+    width: 100%;
+    border-bottom: 2rpx solid #ccc;
+    text-align: center;
+    height: 88rpx;
+    line-height: 88rpx;
+    font-weight: bold;
 }
 
-.main .one {
-    padding: 2vw 0;
+.main .swiper-tab .swiper-tab-item {
+    color: var(--rgb3AB);
 }
 
-.main .one .input {
-    border: 1px solid var(--rgb8b8);
-    padding: 5rpx;
-    border-radius: 25rpx;
+.main .swiper {
+    width: 100%;
+    height: 84vh;
 }
 
-.main .two .scroll-view {
+.main .swiper .scroll-view {
+    width: 96%;
     height: 82vh;
+    padding: 2vw 2vw 0 2vw;
 }
 
-.main .two .list {
+.main .swiper .scroll-view .list {
+    width: 95%;
     margin: 0 0 2vw 0;
     padding: 2vw;
     border-radius: 5px;
     border: 1px solid var(--rgb40E);
 }
 
-.main .two .list .list_1 {
+.main .swiper .scroll-view .list .list_1 {
     display: flex;
     justify-content: space-between;
     margin: 0 0 1vw 0;
-
 }
 
-.main .two .list .list_1 .name {
+.main .swiper .scroll-view .list .list_1 .name {
     font-size: 18px;
     font-weight: bold;
 }
 
-.main .two .list .list_1 .color0 {
+.main .swiper .scroll-view .list .list_1 .color0 {
     color: var(--rgb67c)
 }
 
-.main .two .list .list_1 .color1 {
+.main .swiper .scroll-view .list .list_1 .color1 {
     color: var(--rgbff0)
 }
 
-.main .two .list .list_1 .color2 {
+.main .swiper .scroll-view .list .list_1 .color2 {
     color: var(--rgb46a)
 }
 
-.main .two .list .list_1 .color-1 {
+.main .swiper .scroll-view .list .list_1 .color-1 {
     color: var(--rgb8b8)
 }
 
-.main .two .list .other .other_1 {
+.main .swiper .scroll-view .list .other .other_1 {
     margin: 0 0 1vw 0;
     font-size: 14px;
     color: #868686;
+}
+
+.active {
+    color: var(--rgb40E);
+    border-bottom: 4rpx solid var(--rgb40E);
 }

+ 0 - 1
pagesMy/basic/index.js

@@ -1,6 +1,5 @@
 const app = getApp()
 import WxValidate from '../../utils/wxValidate'
-const moment = require("../../utils/moment.min");
 Page({
 
     /**

+ 2 - 2
pagesMy/home/index.wxss

@@ -39,7 +39,7 @@
 .main .two .two_1 {
     display: flex;
     justify-content: space-between;
-    width: 85%;
+    width: 88%;
     background-color: #ffffff;
     border: 1rpx solid rgb(176, 176, 176);
     border-radius: 25rpx;
@@ -54,7 +54,7 @@
 }
 
 .main .thr .thr_1 {
-    width: 90%;
+    width: 94%;
     background-color: #ffffff;
     border: 1rpx solid rgb(176, 176, 176);
     border-radius: 30rpx;

+ 108 - 10
pagesMy/team/index.js

@@ -1,22 +1,126 @@
 const app = getApp()
 Page({
     data: {
-        info: {}
+        // 用户信息
+        user: {},
+        searchInfo: {},
+        list: [],
+        total: 0,
+        page: 0,
+        skip: 0,
+        limit: 5,
+        statusList: []
+    },
+    toPath(e) {
+        let data = e.detail;
+        let url = `/${data.route}`;
+        if (data.type == '0') wx.navigateTo({ url })
+        else if (data.type == '1') wx.redirectTo({ url })
+        else if (data.type == '2') wx.relaunch({ url })
+        else if (data.type == '3') wx.switchTab({ url })
+    },
+    // 查询
+    async toSearch(e) {
+        const that = this;
+        that.setData({ 'searchInfo.name': e.detail.value })
+        that.clearPage();
+        that.search()
+    },
+    // 添加团队
+    toAdd() {
+        wx.navigateTo({ url: `/pagesMy/teamCreate/index` })
     },
     /**
      * 生命周期函数--监听页面加载
      */
-    onLoad(options) {
+    async onLoad(options) {
         const that = this;
         wx.showLoading({ title: '加载中', mask: true })
-        that.search()
+        await that.searchUser()
+        await that.searchOther()
         wx.hideLoading()
     },
+    /**
+    * 生命周期函数--监听页面显示
+    */
+    async onShow() {
+        const that = this;
+        await that.clearPage()
+        await that.search()
+    },
+    async searchUser() {
+        const that = this;
+        wx.getStorage({
+            key: 'token',
+            async success(res) {
+                that.setData({ user: res.data })
+            },
+            fail(err) {
+                console.log(err);
+            }
+        })
+    },
     // 查询通知
     async search() {
         const that = this;
+        let info = { skip: that.data.skip, limit: that.data.limit, administrator: that.data.user._id };
+        let res = await app.$api('team', 'GET', { ...info, ...that.data.searchInfo })
+        if (res.errcode == '0') {
+            let list = [...that.data.list, ...res.data]
+            for (const val of list) {
+                val.status_name = that.getDict(val.status, 'status')
+            }
+            that.setData({ list })
+            that.setData({ total: res.total })
+        }
+    },
+    // 分页-触底
+    toLower() {
+        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 })
+            let skip = page * limit
+            that.setData({ skip })
+            that.search()
+            wx.hideLoading()
+        } else {
+            wx.showToast({ title: `到底了没数据了`, icon: 'none' });
+        }
+    },
+    // 分页-滚动
+    toScroll() {
+        // console.log('滚动');
+    },
+    // 字典
+    getDict(value, model) {
+        const that = this;
+        if (model == 'status') {
+            if (value) {
+                let data = that.data.statusList.find(i => i.value == value)
+                if (data) return data.label
+                else return '暂无'
+            }
+        }
+    },
+    // 查询其他信息
+    async searchOther() {
+        const that = this;
+        let res;
+        res = await app.$api('dictData', 'GET', { type: 'status', is_use: '0' })
+        if (res.errcode == '0') that.setData({ statusList: res.data })
+    },
+    // 清空列表
+    clearPage() {
+        const that = this;
+        that.setData({ list: [] })
+        that.setData({ skip: 0 })
+        that.setData({ limit: 5 })
+        that.setData({ total: 0 })
     },
-
     /**
      * 生命周期函数--监听页面初次渲染完成
      */
@@ -24,12 +128,6 @@ Page({
 
     },
 
-    /**
-     * 生命周期函数--监听页面显示
-     */
-    onShow() {
-
-    },
 
     /**
      * 生命周期函数--监听页面隐藏

+ 37 - 1
pagesMy/team/index.wxml

@@ -1,3 +1,39 @@
 <view class=" content main">
-    我的团队
+    <view class="one">
+        <view class="one_1">
+            <input class="input" type="text" bindconfirm="toSearch" confirm-type="search" placeholder-style=' text-align: center;' placeholder="搜索" />
+        </view>
+        <view class="one_2">
+            <button class="button" type="primary" size="mini" bindtap="toAdd">添加团队</button>
+        </view>
+    </view>
+    <view class="two">
+        <scroll-view class="scroll-view" scroll-y="true" bindscrolltolower="toLower" bindscroll="toScroll">
+            <view class="list" wx:for="{{list}}" wx:key="index" wx:for-item="item">
+                <view class="list_1">
+                    <view class="name textOver"> {{item.name||"暂无比赛名称"}} </view>
+                    <view class="color{{item.status}}"> {{item.status_name||'暂无状态'}} </view>
+                </view>
+                <view class="other">
+                    <view class="other_1">
+                        手机号:{{item.phone||'暂无手机号'}}
+                    </view>
+                    <view class="other_1">
+                        成立时间:{{item.create_time||'暂无成立时间'}}
+                    </view>
+                    <view class="other_1">
+                        团队人数:{{item.number||'暂无团队人数'}}人
+                    </view>
+                    <view class="other_1 textOver">
+                        比赛地点:{{item.address||'暂无比赛地点'}}
+                    </view>
+                </view>
+                <view class="button">
+                    <button class="btn" type="primary" size="mini">查看</button>
+                    <button class="btn" type="primary" size="mini">审核</button>
+                    <button class="btn" type="primary" size="mini">加入</button>
+                </view>
+            </view>
+        </scroll-view>
+    </view>
 </view>

+ 80 - 1
pagesMy/team/index.wxss

@@ -1 +1,80 @@
-@import "../../app.wxss";
+@import "../../app.wxss";
+
+.main {
+    padding: 2vw;
+}
+
+.main .one {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+}
+
+.main .one .one_1 {
+    width: 75%;
+}
+
+.main .one .one_1 .input {
+    border: 1px solid var(--rgb8b8);
+    padding: 8rpx;
+    border-radius: 20rpx;
+}
+
+.main .one .one_2 .button {
+    background-color: var(--rgb40E);
+    border-radius: 20rpx;
+}
+
+.main .two {
+    padding: 2vw 0 0 0;
+}
+
+.main .two .scroll-view {
+    height: 90vh;
+}
+
+.main .two .list {
+    margin: 0 0 2vw 0;
+    padding: 2vw;
+    border-radius: 5px;
+    border: 1px solid var(--rgb40E);
+}
+
+.main .two .list .list_1 {
+    display: flex;
+    justify-content: space-between;
+    margin: 0 0 1vw 0;
+
+}
+
+.main .two .list .list_1 .name {
+    font-size: 18px;
+    font-weight: bold;
+}
+
+.main .two .list .list_1 .color0 {
+    color: var(--rgb67c)
+}
+
+.main .two .list .list_1 .color1 {
+    color: var(--rgbff0)
+}
+
+.main .two .list .other .other_1 {
+    margin: 0 0 1vw 0;
+    font-size: 14px;
+    color: #868686;
+}
+
+.main .two .list .button {
+    padding: 1vw 0;
+    text-align: center;
+}
+
+.main .two .list .button .btn {
+    margin: 0 2vw;
+    background-color: var(--rgb40E);
+    background-image: linear-gradient(to right, var(--rgb3AB), var(--rgb40E));
+    border-radius: 30rpx;
+    font-size: 15px;
+}

+ 178 - 0
pagesMy/teamCreate/index.js

@@ -0,0 +1,178 @@
+const app = getApp()
+import WxValidate from '../../utils/wxValidate'
+Page({
+
+    /**
+     * 页面的初始数据
+     */
+    data: {
+        form: {},
+        // 用户
+        userList: [],
+        // 上传图片
+        imgList: [],
+        // 成员
+        member: '',
+        memberList: []
+    },
+    // 上传图片
+    imgUpl: function (e) {
+        const that = this;
+        let data = that.data.imgList;
+        data.push(e.detail)
+        that.setData({ imgList: data })
+    },
+    // 删除图片
+    imgDel: function (e) {
+        const that = this;
+        let list = that.data.imgList;
+        let arr = list.filter((i, index) => index != e.detail.index)
+        that.setData({ imgList: arr })
+    },
+    // 选择成员
+    userChange(e) {
+        const that = this;
+        const memberList = that.data.memberList
+        const index = e.detail.value;
+        let data = that.data.userList[index];
+        if (data) {
+            const res = memberList.find(i => i._id == data._id)
+            if (!res) {
+                memberList.push(data)
+                that.setData({ memberList })
+                const list = memberList.map(i => { return i.name })
+                that.setData({ member: list.join(',') })
+            }
+        }
+    },
+    //日期选择器
+    bindDateChange: function (e) {
+        const that = this;
+        that.setData({ "form.date": e.detail.value })
+    },
+    //时间选择器
+    bindTimeChange: function (e) {
+        const that = this;
+        that.setData({ "form.time": e.detail.value })
+    },
+    // 提交保存
+    async toSave(e) {
+        const that = this;
+        const parmas = e.detail.value;
+        if (!this.WxValidate.checkForm(parmas)) {
+            const error = that.WxValidate.errorList[0];
+            wx.showToast({ title: `${error.msg}`, icon: 'error', duration: 2000 })
+            return false
+        } else {
+            // 判断id使用
+            let form = that.data.form;
+            let res;
+            parmas.member = that.data.memberList
+            parmas.number = that.data.memberList.length.toString()
+            parmas.logo = that.data.imgList
+            parmas.create_time = parmas.date + ' ' + parmas.time
+            delete parmas.date
+            delete parmas.time
+            if (form._id) res = await app.$api(`team/${form._id}`, 'POST', parmas);
+            else res = await app.$api('team', 'POST', parmas);
+            if (res.errcode == '0') {
+                wx.showToast({ title: `信息提交成功`, icon: 'success' });
+                wx.navigateBack({ delta: 1 });
+            } else {
+                wx.showToast({ title: `${res.errmsg}`, icon: 'none' });
+            }
+        }
+    },
+    /**
+     * 生命周期函数--监听页面加载
+     */
+    async onLoad(options) {
+        const that = this;
+        wx.showLoading({ title: '加载中', mask: true })
+        //验证规则函数
+        that.initValidate();
+        await that.searchOther()
+        await that.search()
+        wx.hideLoading()
+    },
+    initValidate() {
+        const rules = { name: { required: true }, phone: { required: true, tel: true }, address: { required: true } }
+        const messages = { name: { required: '请输入团队名称' }, phone: { required: '请输入手机号' }, address: { required: '请输入单位地址' } };
+        this.WxValidate = new WxValidate(rules, messages)
+    },
+    // 查询其他信息
+    async searchOther() {
+        const that = this;
+        let res;
+        // 性别
+        res = await app.$api('dictData', 'GET', { type: 'gender', is_use: '0' })
+        if (res.errcode == '0') that.setData({ genderList: res.data })
+        // 类别
+        res = await app.$api('dictData', 'GET', { type: 'type', is_use: '0' })
+        if (res.errcode == '0') that.setData({ typeList: res.data })
+        // 成员
+        res = await app.$api('user', 'GET', { status: '1', type: '0' })
+        if (res.errcode == '0') that.setData({ userList: res.data })
+    },
+    search() {
+        const that = this;
+        wx.getStorage({
+            key: 'token',
+            async success(res) {
+                that.setData({ "form.administrator": res.data._id })
+            },
+            fail(err) {
+                console.log(err);
+            }
+        })
+    },
+
+    /**
+     * 生命周期函数--监听页面初次渲染完成
+     */
+    onReady() {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面显示
+     */
+    onShow() {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面隐藏
+     */
+    onHide() {
+
+    },
+
+    /**
+     * 生命周期函数--监听页面卸载
+     */
+    onUnload() {
+
+    },
+
+    /**
+     * 页面相关事件处理函数--监听用户下拉动作
+     */
+    onPullDownRefresh() {
+
+    },
+
+    /**
+     * 页面上拉触底事件的处理函数
+     */
+    onReachBottom() {
+
+    },
+
+    /**
+     * 用户点击右上角分享
+     */
+    onShareAppMessage() {
+
+    }
+})

+ 7 - 0
pagesMy/teamCreate/index.json

@@ -0,0 +1,7 @@
+{
+    "component": true,
+    "usingComponents": {
+        "upload": "/components/upload/index"
+    },
+    "navigationBarTitleText": "团队创建"
+}

+ 87 - 0
pagesMy/teamCreate/index.wxml

@@ -0,0 +1,87 @@
+<view class=" content main">
+    <view class="one">
+        <form catchsubmit="toSave">
+            <view class="info">
+                <view class="info_1" style="display: none;">
+                    <view class="label">
+                        团队管理员:
+                    </view>
+                    <view class="value">
+                        <input value="{{form.administrator}}" name="administrator" type="text" placeholder="" />
+                    </view>
+                </view>
+                <view class="info_1">
+                    <view class="label">
+                        团队名称:
+                    </view>
+                    <view class="value">
+                        <input value="{{form.name}}" name="name" type="text" placeholder="" />
+                    </view>
+                </view>
+                <view class="info_1">
+                    <view class="label">
+                        成立日期:
+                    </view>
+                    <view class="value">
+                        <picker mode="date" name="date" value="{{ form.date}}" start="2018-09-01" end="2150-09-01" bindchange="bindDateChange">
+                            <view class="picker">
+                                {{form.date}}
+                            </view>
+                        </picker>
+                    </view>
+                </view>
+                <view class="info_1">
+                    <view class="label">
+                        成立时间:
+                    </view>
+                    <view class="value">
+                        <picker mode="time" name="time" value="{{form.time}}" start="00:00" end="24:00" bindchange="bindTimeChange">
+                            <view class="picker">
+                                {{form.time}}
+                            </view>
+                        </picker>
+                    </view>
+                </view>
+                <view class="info_1">
+                    <view class="label">
+                        单位地址:
+                    </view>
+                    <view class="value">
+                        <input value="{{form.address}}" name="address" type="text" placeholder="" />
+                    </view>
+                </view>
+                <view class="info_1">
+                    <view class="label">
+                        手机号:
+                    </view>
+                    <view class="value">
+                        <input value="{{form.phone}}" name="phone" type="text" placeholder="" />
+                    </view>
+                </view>
+                <view class="info_1">
+                    <view class="label">
+                        团队成员:
+                    </view>
+                    <view class="value">
+                        <picker bindchange="userChange" value="{{member}}" range="{{userList}}" range-key='name'>
+                            <view class="picker">
+                                {{member||''}}
+                            </view>
+                        </picker>
+                    </view>
+                </view>
+                <view class="info_1">
+                    <view class="label">
+                        团队Logo:
+                    </view>
+                    <view class="value">
+                        <upload list="{{imgList}}" count="{{1}}" previewSize="{{40}}" bind:imgUpload="imgUpl" bind:imgDel="imgDel"></upload>
+                    </view>
+                </view>
+                <view class="btn">
+                    <button type="primary" formType="submit">保存</button>
+                </view>
+            </view>
+        </form>
+    </view>
+</view>

+ 47 - 0
pagesMy/teamCreate/index.wxss

@@ -0,0 +1,47 @@
+@import "../../app.wxss";
+
+.main {
+    padding: 2vw;
+}
+
+.main .one .info {
+    margin: 0 0 2vw 0;
+}
+
+.main .one .info .info_1 {
+    display: flex;
+    align-items: center;
+    border: 1px solid var(--rgb40E);
+    padding: 2vw;
+    border-radius: 5px;
+    margin: 0 0 3vw 0;
+}
+
+.main .one .info .info_1 .label {
+    font-size: 14px;
+    color: var(--rgb8b8);
+}
+
+.main .one .info .info_1 .value {
+    width: 68%;
+    flex-grow: 1;
+    font-size: 14px;
+}
+
+.main .one .info .info_1 .value .picker {
+    height: 20px;
+    overflow: hidden;
+}
+
+.main .one .btn {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+}
+
+.main .one .btn button {
+    margin: 0 2vw;
+    background-color: var(--rgb40E);
+    background-image: linear-gradient(to right, var(--rgb3AB), var(--rgb40E));
+    border-radius: 30rpx;
+}