mulioid 4 lat temu
rodzic
commit
b9664c371b
41 zmienionych plików z 421 dodań i 310 usunięć
  1. 1 1
      miniprogram/app.json
  2. 0 49
      miniprogram/components/followNews/followNews.js
  3. 0 6
      miniprogram/components/followNews/followNews.json
  4. 0 6
      miniprogram/components/followNews/followNews.wxml
  5. 0 7
      miniprogram/components/followNews/followNews.wxss
  6. 0 23
      miniprogram/components/itemfollowNews/itemfollowNews.js
  7. 0 4
      miniprogram/components/itemfollowNews/itemfollowNews.json
  8. 0 12
      miniprogram/components/itemfollowNews/itemfollowNews.wxml
  9. 0 45
      miniprogram/components/itemfollowNews/itemfollowNews.wxss
  10. 3 3
      miniprogram/components/itemmyNews/itemmyNews.wxml
  11. 2 3
      miniprogram/components/itemmyNews/itemmyNews.wxss
  12. BIN
      miniprogram/images/publisher/adjust.png
  13. BIN
      miniprogram/images/publisher/home.png
  14. BIN
      miniprogram/images/publisher/publish1.png
  15. BIN
      miniprogram/images/publisher/publish2.png
  16. BIN
      miniprogram/images/publisher/question.png
  17. BIN
      miniprogram/images/publisher/setting.png
  18. BIN
      miniprogram/images/publisher/switch.png
  19. BIN
      miniprogram/images/user/modify.png
  20. BIN
      miniprogram/images/user/publish1.png
  21. BIN
      miniprogram/images/user/publish2.png
  22. BIN
      miniprogram/images/user/settle.png
  23. 1 1
      miniprogram/pages/activity/activity.wxss
  24. 12 0
      miniprogram/pages/administratorSetting/administratorSetting.js
  25. 3 1
      miniprogram/pages/administratorSetting/administratorSetting.json
  26. 15 2
      miniprogram/pages/administratorSetting/administratorSetting.wxml
  27. 16 1
      miniprogram/pages/administratorSetting/administratorSetting.wxss
  28. 1 1
      miniprogram/pages/myQuestion/myQuestion.js
  29. 1 1
      miniprogram/pages/myQuestion/myQuestion.wxss
  30. 39 39
      miniprogram/pages/publisherDetail/publisherDetail.js
  31. 25 17
      miniprogram/pages/publisherDetail/publisherDetail.wxml
  32. 15 67
      miniprogram/pages/publisherDetail/publisherDetail.wxss
  33. 8 1
      miniprogram/pages/publisherLogin/publisherLogin.js
  34. 43 3
      miniprogram/pages/publisherLogin/publisherLogin.wxml
  35. 0 1
      miniprogram/pages/publisherLogin/publisherLogin.wxss
  36. 3 3
      miniprogram/pages/publisherPage/publisherPage.js
  37. 19 11
      miniprogram/pages/publisherPage/publisherPage.wxml
  38. 145 0
      miniprogram/pages/publisherQuestion/publisherQuestion.js
  39. 2 2
      miniprogram/pages/publisherQuestion/publisherQuestion.json
  40. 15 0
      miniprogram/pages/publisherQuestion/publisherQuestion.wxml
  41. 52 0
      miniprogram/pages/publisherQuestion/publisherQuestion.wxss

+ 1 - 1
miniprogram/app.json

@@ -12,7 +12,7 @@
     "pages/publisherLogin/publisherLogin",
     "pages/activityPublish/activityPublish",
     "pages/myQuestion/myQuestion",
-    "pages/receivedQuestion/receivedQuestion",
+    "pages/publisherQuestion/publisherQuestion",
     "pages/publisherInfoChange/publisherInfoChange",
     "pages/aboutUs/aboutUs",
     "pages/opinion/opinion",

+ 0 - 49
miniprogram/components/followNews/followNews.js

@@ -1,49 +0,0 @@
-Component({
-  data: {
-    newMessage: []
-  },
-
-  lifetimes: {
-    ready: function() {
-      this.init()
-    }
-  },
-
-  pageLifetimes: {
-    show: function () {
-      this.init()
-    }
-  },
-
-  methods: {
-    init: function () {
-      wx.showNavigationBarLoading()
-      const db = wx.cloud.database()
-      const _ = db.command
-      db.collection("likeData").where({
-        type: "publisher"
-      }).get({
-        success: function (res) {
-          if (res.data.length == 0) {
-            wx.hideNavigationBarLoading()
-            return
-          }
-          var con = _.eq(res.data[0].id)
-          for (let j = 1; j < res.data.length; j++) {
-            con = con.or(_.eq(res.data[j].id))
-          }
-          db.collection("mainData").orderBy("time", "desc").limit(20).where({
-            publisherId: con
-          }).get({
-            success: function (res) {
-              this.setData({
-                newMessage: res.data
-              })
-              wx.hideNavigationBarLoading()
-            }.bind(this)
-          })
-        }.bind(this)
-      })
-    }
-  }
-})

+ 0 - 6
miniprogram/components/followNews/followNews.json

@@ -1,6 +0,0 @@
-{
-  "component": true,
-  "usingComponents": {
-    "itemfollowNews":"../itemfollowNews/itemfollowNews"
-  }
-}

+ 0 - 6
miniprogram/components/followNews/followNews.wxml

@@ -1,6 +0,0 @@
-<!-- 含component:itemfollowNews; 含data:newMessageData.js-->
-<view class="page">
-  <view class="card" wx:for="{{newMessage}}" wx:for-item="item" wx:key="id" wx:index="index">
-    <itemfollowNews item="{{item}}"/>
-  </view>
-</view>

+ 0 - 7
miniprogram/components/followNews/followNews.wxss

@@ -1,7 +0,0 @@
-.page{
-  display: flex;
-  flex-direction: column;
-  justify-content: flex-start;
-  align-items: center;
-  margin: 0%;
-}

+ 0 - 23
miniprogram/components/itemfollowNews/itemfollowNews.js

@@ -1,23 +0,0 @@
-Component({
-  options: {
-    styleIsolation: "apply-shared"
-  },
-
-  properties: {
-    item: Object
-  },
-
-  methods: {
-    getActivityInfo: function () {
-      wx.navigateTo({
-        url: "/pages/activity/activity?id=" + this.properties.item._id
-      })
-    },
-
-    getPublisherInfo: function () {
-      wx.navigateTo({
-        url: "/pages/publisher/publisher?id=" + this.properties.item.publisherId
-      })
-    }
-  }
-})

+ 0 - 4
miniprogram/components/itemfollowNews/itemfollowNews.json

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

+ 0 - 12
miniprogram/components/itemfollowNews/itemfollowNews.wxml

@@ -1,12 +0,0 @@
-<!-- 为消息-关注动态里消息的组件,数据来自data: newMessageData.js-->
-<view class="card" catchtap="getActivityInfo">
-  <view class="profile">
-    <view class="publisher-name primary-text-color" catchtap="getPublisherInfo">
-      <image class="publisher-avatar" src="{{item.publisherAvatar}}" mode="aspectFill" />
-      <text>你关注的</text><text style="font-weight:800">{{item.publisherName}}</text><text>发布了新消息</text>
-    </view>
-  </view>
-  <view class="title">{{item.title}}</view>
-  <view class="sub-title">{{item.subTitle}}</view>
-  <view class="line divider-color"></view>
-</view>

+ 0 - 45
miniprogram/components/itemfollowNews/itemfollowNews.wxss

@@ -1,45 +0,0 @@
-.card{
-  height: auto;
-  width: 700rpx;
-  margin-top: 20rpx;
-}
-
-.publisher-avatar{
-  width: 50rpx;
-  height: 50rpx;
-  border-radius: 30rpx;
-  margin-right: 20rpx;
-}
-
-.profile{
-  width: 700rpx;
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-}
-
-.publisher-name{
-  font-size: 30rpx;
-  align-self: center;
-  display: flex;
-}
-
-.title{
-  font-size: 30rpx;
-  margin-left: 70rpx;
-  margin-bottom: 10rpx;
-  font-weight: 800;
-}
-
-.sub-title{
-  font-size: 25rpx;
-  margin-left: 70rpx;
-  margin-bottom: 20rpx;
-  margin-right: 20rpx;
-}
-
-.line{
-  width: 700rpx;
-  height: 1rpx;
-  margin-top: 20rpx;
-}

+ 3 - 3
miniprogram/components/itemmyNews/itemmyNews.wxml

@@ -2,8 +2,9 @@
 <view class="card">
   <view class="top">
     <view class="profile" wx:if="{{item.publishType == '回复'}}">
-      <text class="primary-text-color" style="font-size: 24rpx;"><text class="publisher-name"
-          style="color: #000000;">{{item.publisherName}}</text> 对您的评论进行了回复</text>
+      <text class="primary-text-color" style="font-size: 24rpx;">
+        <text class="publisher-name" style="color: #000000;">{{item.publisherName}}</text>对您的评论进行了回复
+      </text>
     </view>
     <view class="profile" wx:if="{{item.publishType == '动态'}}">
       <text class="primary-text-color" style="font-size: 24rpx;">您收藏的信息 <text class="publisher-name"
@@ -13,6 +14,5 @@
   </view>
   <view class="bottom">
     <view class="title secondary-text-color">{{item.title}}</view>
-    <text class="primary-text-color detail" wx:if="{{item.publishType == '回复'}}">回复</text>
   </view>
 </view>

+ 2 - 3
miniprogram/components/itemmyNews/itemmyNews.wxss

@@ -31,10 +31,9 @@
   padding-bottom: 20rpx;
 }
 
-/* .profile {
+.profile {
   display: flex;
-  align-items: center;
-} */
+}
 
 .detail {
   width: 100rpx;

BIN
miniprogram/images/publisher/adjust.png


BIN
miniprogram/images/publisher/home.png


BIN
miniprogram/images/publisher/publish1.png


BIN
miniprogram/images/publisher/publish2.png


BIN
miniprogram/images/publisher/question.png


BIN
miniprogram/images/publisher/setting.png


BIN
miniprogram/images/publisher/switch.png


BIN
miniprogram/images/user/modify.png


BIN
miniprogram/images/user/publish1.png


BIN
miniprogram/images/user/publish2.png


BIN
miniprogram/images/user/settle.png


+ 1 - 1
miniprogram/pages/activity/activity.wxss

@@ -61,7 +61,7 @@
   flex-direction: column;
   align-self: center;
   width: 700rpx;
-  margin: 50rpx 30rpx;
+  margin: 10rpx 30rpx;
 
 }
 

+ 12 - 0
miniprogram/pages/administratorSetting/administratorSetting.js

@@ -5,7 +5,19 @@ Page({
    * 页面的初始数据
    */
   data: {
+    currentTab: 0
+  },
+
+  switch1: function (e) {
+    this.setData({
+      currentTab: 1
+    })
+  },
 
+  switch2: function (e) {
+    this.setData({
+      currentTab: 2
+    })
   },
 
   /**

+ 3 - 1
miniprogram/pages/administratorSetting/administratorSetting.json

@@ -1,3 +1,5 @@
 {
-  "usingComponents": {}
+  "usingComponents": {
+    "myButton": "/components/myButton/myButton"
+  }
 }

+ 15 - 2
miniprogram/pages/administratorSetting/administratorSetting.wxml

@@ -1,2 +1,15 @@
-<!--pages/administratorSetting/administratorSetting.wxml-->
-<text>pages/administratorSetting/administratorSetting.wxml</text>
+<view wx:if="{{currentTab == 0}}" class="con">
+  <view class="title2">修改权限类型</view>
+  <view class="buttons">
+    <myButton class="button" type="primary" bindtap="switch1">主管理员</myButton>
+    <myButton class="button" type="primary" bindtap="switch2">副管理员</myButton>
+  </view>
+</view>
+
+<view wx:if="{{currentTab == 1}}" class="con">
+  hey
+</view>
+
+<view wx:if="{{currentTab == 2}}" class="con">
+  hi
+</view>

+ 16 - 1
miniprogram/pages/administratorSetting/administratorSetting.wxss

@@ -1 +1,16 @@
-/* pages/administratorSetting/administratorSetting.wxss */
+.title2 {
+  align-self: center;
+  font-size: 40rpx;
+  margin-top: 100rpx;
+  margin-bottom: 100rpx;
+}
+
+.con {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+}
+
+.button {
+  margin: 20rpx;
+}

+ 1 - 1
miniprogram/pages/myQuestion/myQuestion.js

@@ -1,4 +1,4 @@
-// miniprogram/pages/receivedQuestion/receivedQuestion.js
+// miniprogram/pages/publisherQuestion/publisherQuestion.js
 Page({
 
   /**

+ 1 - 1
miniprogram/pages/myQuestion/myQuestion.wxss

@@ -1,4 +1,4 @@
-/* miniprogram/pages/receivedQuestion/receivedQuestion.wxss */
+/* miniprogram/pages/publisherQuestion/publisherQuestion.wxss */
 .checkbox {
   transform: scale(0.8);
   margin-left: 10rpx;

+ 39 - 39
miniprogram/pages/publisherDetail/publisherDetail.js

@@ -7,45 +7,45 @@ Page({
     mainDatas: [],
   },
 
-  processData: function (start, arr) {
-    for (let i = start; i < arr.length; i++) {
-      arr[i].time = util.handleDate(arr[i].time)
-    }
-    this.setData({
-      mainDatas: arr
-    })
-    wx.hideLoading()
-  },
+  // processData: function (start, arr) {
+  //   for (let i = start; i < arr.length; i++) {
+  //     arr[i].time = util.handleDate(arr[i].time)
+  //   }
+  //   this.setData({
+  //     mainDatas: arr
+  //   })
+  //   wx.hideLoading()
+  // },
 
-  onLoad: function (options) {
-    wx.showLoading({
-      title: "加载中"
-    })
-    const db = wx.cloud.database()
-    db.collection("publisherInfoData").doc(options.id).get({
-      success: function (res) {
-        this.setData({
-          publisherInfo: res.data
-        })
-        db.collection("mainData").where({
-          publisherName: this.data.publisherInfo.publisherName
-        }).orderBy("time", "desc").limit(20).get({
-          success: function (res) {
-            this.processData(0, res.data)
-          }.bind(this)
-        })
-      }.bind(this)
-    })
-    db.collection("likeData").where({
-      type: "publisher",
-      id: options.id
-    }).get({
-      success: function (res) {
-        this.setData({
-          like: res.data.length
-        })
-      }.bind(this)
-    })
-  },
+  // onLoad: function (options) {
+  //   wx.showLoading({
+  //     title: "加载中"
+  //   })
+  //   const db = wx.cloud.database()
+  //   db.collection("publisherInfoData").doc(options.id).get({
+  //     success: function (res) {
+  //       this.setData({
+  //         publisherInfo: res.data
+  //       })
+  //       db.collection("mainData").where({
+  //         publisherName: this.data.publisherInfo.publisherName
+  //       }).orderBy("time", "desc").limit(20).get({
+  //         success: function (res) {
+  //           this.processData(0, res.data)
+  //         }.bind(this)
+  //       })
+  //     }.bind(this)
+  //   })
+  //   db.collection("likeData").where({
+  //     type: "publisher",
+  //     id: options.id
+  //   }).get({
+  //     success: function (res) {
+  //       this.setData({
+  //         like: res.data.length
+  //       })
+  //     }.bind(this)
+  //   })
+  // },
 
 })

+ 25 - 17
miniprogram/pages/publisherDetail/publisherDetail.wxml

@@ -1,18 +1,26 @@
-<view class="top">
-  <view class="brief-info">
-    <view class="brief-info-left">
-      <image class="publisher-avatar" src="{{publisherInfo.publisherAvatar}}" mode="aspectFill" />
-      <text class="publisher-name">{{publisherInfo.publisherName}}</text>
-    </view>
-  </view>
-
-
-  <view class="detailed-info">
-    <view class="publisher-intro secondary-text-color"><text
-        class="primary-text-color">简介:</text>{{publisherInfo.publisherIntro}}</view>
-    <view class="check">
-      <text class="check-text primary-text-color">查看详情</text>
-      <image class="arrow" src="/images/hollow_arrow.png" mode="aspectFill"></image>
-    </view>
-  </view>
+<!-- 要根据社团、组织、学校部门替换“组织详情,组织简介,组织类型” -->
+<view class="sub-text secondary-text-color">组织详情</view>
+<view class="block">
+  <view class="cate">组织类型</view>
+  <view class="input">组织组织组织</view>
 </view>
+<view class="block2">
+  <view class="cate">组织简介</view>
+  <text class="input">这里可以换行吗\n我也不知道哎</text>
+</view>
+<view class="block">
+  <view class="cate">联系电话</view>
+  <view class="input">18237189857</view>
+</view>
+<view class="block">
+  <view class="cate">邮箱地址</view>
+  <view class="input">23041084912@qq.com</view>
+</view>
+<view class="block">
+  <view class="cate">官方QQ</view>
+  <view class="input">124071590</view>
+</view>
+<view class="block">
+  <view class="cate">公众号</view>
+  <view class="input">hiahiahiahi</view>
+</view>

+ 15 - 67
miniprogram/pages/publisherDetail/publisherDetail.wxss

@@ -1,78 +1,26 @@
-.top {
+.block {
+  margin-bottom: 4rpx;
+  padding: 20rpx 40rpx 20rpx 40rpx;
   display: flex;
-  flex-direction: column;
-  align-items: center;
-  margin-top: 40rpx;
-}
-
-
-.brief-info {
-  display: flex;
-  justify-content: space-between;
+  font-size: 30rpx;
+  background-color: #ffffff;
   align-items: center;
-  z-index: 1;
-  width: 100%;
 }
 
-.brief-info-left {
+.block2 {
+  margin-bottom: 4rpx;
+  padding: 20rpx 40rpx 20rpx 40rpx;
   display: flex;
-  align-items: center;
-  margin: 0rpx 0rpx 0rpx 40rpx;
-}
-
-.publisher-avatar {
-  height: 120rpx;
-  width: 120rpx;
-  border-radius: 100rpx;
-  z-index: 20;
-  box-shadow: 5rpx 5rpx 8rpx 0rpx rgba(0, 0, 0, 0.16);
-}
-
-.publisher-name {
-  font-size: 40rpx;
+  font-size: 30rpx;
   background-color: #ffffff;
-  border-radius: 20rpx;
-  box-shadow: 5rpx 5rpx 8rpx 0rpx rgba(0, 0, 0, 0.16);
-  padding: 10rpx 40rpx 10rpx 40rpx;
-  margin-left: -30rpx;
-}
-
-.detailed-info {
-  margin-left: 40rpx;
-  margin-top: 20rpx;
-  margin-right: 40rpx;
-  margin-bottom: 25rpx;
-  padding: 10rpx;
-}
-
-.publisher-intro {
-  font-size: 24rpx;
-}
-
-.like {
-  margin-right: 50rpx;
-  height: 50rpx;
-  width: 50rpx;
-}
-
-.check {
-  display: flex;
-  align-items: center;
-  position: absolute;
-  right: 50rpx;
-}
-
-.check-text {
-  font-size: 24rpx;
-  margin-right: 10rpx;
+  align-items: flex-start;
 }
 
-.arrow {
-  height: 20rpx;
-  width: 20rpx;
+.sub-text {
+  font-size: 30rpx;
+  margin: 20rpx 40rpx;
 }
 
-.card {
-  margin-left: 20rpx;
-  margin-right: 20rpx;
+.cate {
+  width: 150rpx;
 }

+ 8 - 1
miniprogram/pages/publisherLogin/publisherLogin.js

@@ -38,6 +38,13 @@ Page({
   },
 
   switch4: function (e) {
+    this.setData({
+      currentTab: 4
+    })
+  },
+
+
+  switch5: function (e) {
     const value = e.detail.value
 
     if (value.code === '' || value.name === '' || value.level === '' || value.intro === '' || value.avatar.length === 0) {
@@ -69,7 +76,7 @@ Page({
       wx.hideLoading()
       if (res.result._id !== undefined) {
         this.setData({
-          currentTab: 4
+          currentTab: 5
         })
       } else {
         wx.showToast({

+ 43 - 3
miniprogram/pages/publisherLogin/publisherLogin.wxml

@@ -29,12 +29,13 @@
   <view class="buttons">
     <myButton class="button" type="primary" bindtap="switch2">组织</myButton>
     <myButton class="button" type="primary" bindtap="switch3">社团</myButton>
+    <myButton class="button" type="primary" bindtap="switch4">学校部门</myButton>
   </view>
 </view>
 
 <scroll-view wx:if="{{currentTab == 2}}" scroll-y style="height: {{winHeight - 60}}px;">
   <view class="sub-title">组织入驻</view>
-  <form bindsubmit="switch4">
+  <form bindsubmit="switch5">
     <view class="block" style="margin-bottom: 20rpx;">
       <view class="cate">邀请码<span style="color: #FF0000">*</span></view>
       <input class="input" placeholder="请填写" name="code" />
@@ -81,7 +82,7 @@
 
 <scroll-view wx:if="{{currentTab == 3}}" scroll-y style="height: {{winHeight - 60}}px;">
   <view class="sub-title">社团入驻</view>
-  <form bindsubmit="switch4">
+  <form bindsubmit="switch5">
     <view class="block" style="margin-bottom: 20rpx;">
       <view class="cate">邀请码<span style="color: #FF0000">*</span></view>
       <input class="input" placeholder="请填写" name="code" />
@@ -126,7 +127,46 @@
   </form>
 </scroll-view>
 
-<view wx:if="{{currentTab == 4}}" class="con">
+<scroll-view wx:if="{{currentTab == 4}}" scroll-y style="height: {{winHeight - 60}}px;">
+  <view class="sub-title">学校部门入驻</view>
+  <form bindsubmit="switch5">
+    <view class="block" style="margin-bottom: 20rpx;">
+      <view class="cate">邀请码<span style="color: #FF0000">*</span></view>
+      <input class="input" placeholder="请填写" name="code" />
+    </view>
+    <view class="block">
+      <view class="cate">部门名称<span style="color: #FF0000">*</span></view>
+      <input class="input" placeholder="请填写" name="name" />
+    </view>
+    <view class="block">
+      <view class="cate" style="align-self: flex-start;">部门介绍<span style="color: #FF0000">*</span></view>
+      <textarea class="input" style="height: 200rpx;" placeholder="请填写" name="intro"></textarea>
+    </view>
+    <view class="block" style="margin-bottom: 20rpx;">
+      <view class="cate" style="align-self: flex-start;">部门头像<span style="color: #FF0000">*</span></view>
+      <imagePicker name="avatar" max="1" image-width="450" image-height="450" />
+    </view>
+    <view class="block">
+      <view class="cate">联系电话</view>
+      <input class="input" placeholder="请填写" name="phone" />
+    </view>
+    <view class="block">
+      <view class="cate">邮箱地址</view>
+      <input class="input" placeholder="请填写" name="email" />
+    </view>
+    <view class="block">
+      <view class="cate">官方QQ</view>
+      <input class="input" placeholder="请填写" name="qq" />
+    </view>
+    <view class="block">
+      <view class="cate">公众号</view>
+      <input class="input" placeholder="请填写" name="wechat" />
+    </view>
+    <myButton class="button" type="primary">提交</myButton>
+  </form>
+</scroll-view>
+
+<view wx:if="{{currentTab == 5}}" class="con">
   <view class="con1">恭喜您完成填写!</view>
   <image class="pic" src="../../images/finish.png" mode="aspectFill" />
   <view class="con2">感谢您的入驻</view>

+ 0 - 1
miniprogram/pages/publisherLogin/publisherLogin.wxss

@@ -9,7 +9,6 @@
 .sub-title {
   font-size: 35rpx;
   margin: 20rpx 40rpx;
-  font-weight: 900;
 }
 
 .sub-sub-title {

+ 3 - 3
miniprogram/pages/publisherPage/publisherPage.js

@@ -19,9 +19,9 @@ Page({
     })
   },
 
-  receivedQuestion: function () {
+  publisherQuestion: function () {
     wx.navigateTo({
-      url: "/pages/receivedQuestion/receivedQuestion?id=" + this.data.pubInfo[this.data.pubIndex].pub_id
+      url: "/pages/publisherQuestion/publisherQuestion?id=" + this.data.pubInfo[this.data.pubIndex].pub_id
     })
   },
 
@@ -33,7 +33,7 @@ Page({
 
   administratorSetting: function () {
     wx.navigateTo({
-      url: "/pages/administratorSetting/administratorSetting?id=" + this.data.pubInfo[pubIndex].pub_idd
+      url: "/pages/administratorSetting/administratorSetting?id=" + this.data.pubInfo[this.data.pubIndex].pub_id
     })
   },
 

+ 19 - 11
miniprogram/pages/publisherPage/publisherPage.wxml

@@ -7,8 +7,14 @@
 
 <view class="gap"></view>
 
+<view class="btn block-background-color" hover-class="btn-hover">
+  <image class="btn-icon" mode="aspectFit" src="/images/publisher/home.png"></image>
+  <view class="btn-text primary-text">我的主页</view>
+  <view class="btn-arrow secondary-text">></view>
+</view>
+
 <view class="btn block-background-color" hover-class="btn-hover" bindtap="publishInfo">
-  <image class="btn-icon" mode="aspectFit" src="/images/user/publish1.png"></image>
+  <image class="btn-icon" mode="aspectFit" src="/images/publisher/publish1.png"></image>
   <view class="btn-text primary-text">发布信息</view>
   <view class="btn-arrow secondary-text">></view>
 </view>
@@ -16,15 +22,15 @@
 <view class="line"></view>
 
 <view class="btn block-background-color" hover-class="btn-hover" bindtap="myPublish">
-  <image class="btn-icon" mode="aspectFit" src="/images/user/publish2.png"></image>
-  <view class="btn-text primary-text">我发布的消息</view>
+  <image class="btn-icon" mode="aspectFit" src="/images/publisher/publish2.png"></image>
+  <view class="btn-text primary-text">修改发布消息</view>
   <view class="btn-arrow secondary-text">></view>
 </view>
 
 <view class="line"></view>
 
-<view class="btn block-background-color" hover-class="btn-hover" bindtap="receivedQuestion">
-  <image class="btn-icon" mode="aspectFit" src="/images/user/question.png"></image>
+<view class="btn block-background-color" hover-class="btn-hover" bindtap="publisherQuestion">
+  <image class="btn-icon" mode="aspectFit" src="/images/publisher/question.png"></image>
   <view class="btn-text primary-text">我收到的问题</view>
   <view class="btn-arrow secondary-text">></view>
 </view>
@@ -32,7 +38,7 @@
 <view class="gap"></view>
 
 <view class="btn block-background-color" hover-class="btn-hover" bindtap="administratorSetting">
-  <image class="btn-icon" mode="aspectFit" src="/images/user/setting.png"></image>
+  <image class="btn-icon" mode="aspectFit" src="/images/publisher/setting.png"></image>
   <view class="btn-text primary-text">管理员资格设置</view>
   <view class="btn-arrow secondary-text">></view>
 </view>
@@ -40,15 +46,17 @@
 <view class="line"></view>
 
 <view class="btn block-background-color" hover-class="btn-hover" bindtap="publisherInfoChange">
-  <image class="btn-icon" mode="aspectFit" src="/images/user/modify.png"></image>
+  <image class="btn-icon" mode="aspectFit" src="/images/publisher/adjust.png"></image>
   <view class="btn-text primary-text">社团组织信息修改</view>
   <view class="btn-arrow secondary-text">></view>
 </view>
 
 <view class="gap"></view>
 
-<picker class="btn block-background-color" model:value="{{pubIndex}}" range="{{pubName}}">
-  <image class="btn-icon" mode="aspectFit" src="/images/user/setting.png"></image>
-  <view class="btn-text primary-text">切换社团组织</view>
-  <view class="btn-arrow secondary-text">></view>
+<picker model:value="{{pubIndex}}" range="{{pubName}}">
+  <view class="btn block-background-color">
+    <image class="btn-icon" mode="aspectFit" src="/images/publisher/switch.png"></image>
+    <view class="btn-text primary-text">切换社团组织</view>
+    <view class="btn-arrow secondary-text">></view>
+  </view>
 </picker>

+ 145 - 0
miniprogram/pages/publisherQuestion/publisherQuestion.js

@@ -0,0 +1,145 @@
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    questions: [],
+    publisherId: "",
+    notAnswered: true,
+    answered: true
+  },
+
+  updateText: function (e) {
+    var arr = this.data.questions
+    arr[e.target.dataset.index].answer = e.detail.value
+    this.setData({
+      questions: arr
+    })
+  },
+
+  updateFilter: function (e) {
+    var check0 = false
+    var check1 = false
+    for (let i = 0; i < e.detail.value.length; i++) {
+      if (e.detail.value[i] == 0) check0 = true
+      if (e.detail.value[i] == 1) check1 = true
+    }
+    this.setData({
+      notAnswered: check0,
+      answered: check1
+    })
+  },
+
+  saveQuestion: function (e) {
+    const db = wx.cloud.database()
+    db.collection("qaData").doc(e.target.dataset.id).update({
+      data: {
+        answer: e.target.dataset.answer,
+        answerTime: new Date()
+      },
+      success: function () {
+        wx.showToast({
+          title: "保存成功",
+        })
+      }
+    })
+  },
+
+  removeQuestion: function (e) {
+    wx.showModal({
+      content: "确认删除?",
+      success: function (res) {
+        if (res.confirm) {
+          const db = wx.cloud.database()
+          db.collection("qaData").doc(e.target.dataset.id).remove({
+            success: function () {
+              this.onLoad({
+                id: this.data.publisherId
+              })
+              wx.showToast({
+                title: "删除成功",
+              })
+            }.bind(this)
+          })
+        }
+      }.bind(this)
+    })
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function (options) {
+    this.setData({
+      publisherId: options.id
+    })
+    const db = wx.cloud.database()
+    db.collection("qaData").where({
+      publisherId: this.data.publisherId,
+    }).orderBy("questionTime", "desc").get({
+      success: async function (res) {
+        let arr = []
+        for (let i = 0; i < res.data.length; i++) {
+          arr.push(db.collection("mainData").doc(res.data[i].activityId).get())
+        }
+        arr = await Promise.all(arr)
+        for (let i = 0; i < res.data.length; i++) {
+          res.data[i].title = arr[i].data.title
+        }
+        this.setData({
+          questions: res.data
+        })
+      }.bind(this)
+    })
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function () {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function () {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function () {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function () {
+
+  }
+})

+ 2 - 2
miniprogram/pages/receivedQuestion/receivedQuestion.json → miniprogram/pages/publisherQuestion/publisherQuestion.json

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

+ 15 - 0
miniprogram/pages/publisherQuestion/publisherQuestion.wxml

@@ -0,0 +1,15 @@
+<!--为发布者-我收到的问题页面-->
+<view wx:if="{{questions.length == 0}}" class="title primary-text-color" style="text-align: center;">这里空空如也</view>
+<checkbox-group wx:if="{{questions.length != 0}}" class="checkbox-group" bindchange="updateFilter">
+  <view><checkbox class="checkbox" value="0" checked color="#3F51B5">未回答</checkbox></view>
+  <view><checkbox class="checkbox" value="1" checked color="#3F51B5">已回答</checkbox></view>
+</checkbox-group>
+<view wx:for="{{questions}}" wx:for-item="item" wx:for-index="index" wx:key="_id">
+  <view wx:if="{{notAnswered && item.answer == '' || answered && item.answer != ''}}" class="card">
+    <view class="title dark-primary-color-font">{{item.title}}</view>
+    <view class="question primary-text-color">问:{{item.question}}</view>
+    <textarea class="answer block-background-color" value="{{item.answer}}" placeholder="填写回答" data-index="{{index}}" bindinput="updateText"></textarea>
+    <view class="save-btn default-primary-color white-text-color" data-id="{{item._id}}" data-answer="{{item.answer}}" bindtap="saveQuestion">保存</view>
+    <icon style="position: absolute; top: 0; right: 0;" type="cancel" size="20" data-id="{{item._id}}" catchtap="removeQuestion"></icon>
+  </view>
+</view>

+ 52 - 0
miniprogram/pages/publisherQuestion/publisherQuestion.wxss

@@ -0,0 +1,52 @@
+/* miniprogram/pages/publisherQuestion/publisherQuestion.wxss */
+.checkbox {
+  transform:scale(0.8);
+  margin-left:10rpx;
+}
+
+.checkbox-group {
+  width: 750rpx;
+  margin-top: 30rpx;
+  display: flex;
+  justify-content: center;
+}
+
+.card {
+  position: relative;
+  display: flex;
+  flex-direction: column;
+  margin: 20rpx;
+  border-bottom-style: solid;
+  border-bottom-width: 1rpx;
+  border-bottom-color: #C5CAE9;
+}
+
+.title {
+  margin: 20rpx;
+  font-size: 40rpx;
+  font-weight: 800;
+}
+
+.question {
+  margin: 20rpx;
+  font-size: 35rpx;
+  line-height: 50rpx;
+}
+
+.answer {
+  margin: 20rpx;
+  padding: 20rpx;
+  width: 600rpx;
+  border-radius: 10rpx;
+  font-size: 35rpx;
+  line-height: 50rpx;
+  align-self: center;
+}
+
+.save-btn {
+  margin: 20rpx;
+  padding: 10rpx 20rpx;
+  border-radius: 20rpx;
+  font-size: 35rpx;
+  align-self: center;
+}