Skip to content
This repository has been archived by the owner on Dec 7, 2020. It is now read-only.

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
  • Loading branch information
mohuishou committed Mar 12, 2018
1 parent fd01f19 commit b6a184d
Show file tree
Hide file tree
Showing 4 changed files with 118 additions and 19 deletions.
4 changes: 3 additions & 1 deletion src/components/htmlParser.vue
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,9 @@
bindData: {}
}
events = {
'htmlParser-broadcast': ($event, ...args) => {},
'htmlParser-broadcast': ($event, ...args) => {
this.htmlParse()
},
}
methods = {
htmlParserNotice() {
Expand Down
90 changes: 77 additions & 13 deletions src/pages/my/feedbackDetail.vue
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,36 @@
padding: 20rpx;
}
.comments {
margin-top: 20rpx;
.comment {
margin-top: 20rpx;
background: #fff;
padding: 20rpx;
.username {
text-align: right;
}
}
}
.new-comment {
background: #fff;
margin-top: 20rpx;
padding: 20rpx;
textarea {
width: 100%;
border-bottom: 3rpx solid #ddd;
}
.mview {
width: 100%;
height: 80rpx;
margin-top: 25rpx;
.btn {
background: @base-color;
color: #fff;
width: 100%;
border-radius: 10rpx;
font-size: 28rpx;
}
}
}
</style>

<template>
Expand All @@ -52,12 +73,17 @@
<view class="comments">
<repeat for="{{commentArr}}" index="i" key="{{i}}">
<view class="comment">
<htmlParser2 parserName="name2" parserType="md" :parserContent.sync="item" />
<view class="username">——{{comments[i].nickName}}</view>
{{item}}
<view wx:if="{{comments[i].nickName != ''}}" class="username">——{{comments[i].nickName}}</view>
</view>
</repeat>
</view>
<view wx:if="{{ id > 0 }}" class="new-comment">
<textarea value="{{commentVal.val}}" @input="commentChange" name="content" placeholder="请输入内容" />
<mview @mtap.user="newComment" :arg.sync="commentVal" class="mview">
<view slot="content" class="btn">提交评论</view>
</mview>
</view>
</repeat>
</view>
</view>
</template>

Expand All @@ -67,13 +93,14 @@
import HttpMixin from "mixins/http";
import ToastMixin from "mixins/toast";
import db from "util/db"
import MView from 'components/mview'
export default class FeedBackDetail extends wepy.page {
config = {
navigationBarTitleText: "反馈详情"
};
components = {
htmlParser: htmlParser,
htmlParser2: htmlParser,
mview: MView,
};
mixins = [HttpMixin, ToastMixin];
computed = {
Expand All @@ -87,34 +114,71 @@
data = {
issue: {},
comments: [],
commentArr: []
commentArr: [],
commentVal: {
val: ""
},
id: 0
};
methods = {
async newComment(e) {
try {
if (e.val == "") {
this.ShowToast("不能为空!")
return
}
let content = e.val + " $$$" + db.Get("nickName")
await this.POST("/user/feedback/comment/" + this.id, {
content: content
})
await this.get()
this.commentVal.val = ""
} catch (error) {
console.log(error);
}
},
commentChange(e) {
this.commentVal.val = e.detail.value
}
}
watch = {
comments(newVal, oldVal) {
this.commentArr = []
for (let i = 0; i < newVal.length; i++) {
const e = newVal[i];
this.commentArr.push(e.body)
if (e.user.login == "mohuishou") {
newVal[i].nickName = "管理员"
} else {
newVal[i].nickName = ""
const arr = e.body.split("$$$")
newVal[i].nickName = arr[1] || ''
newVal[i].body = arr[0]
e.body = arr[0]
}
this.commentArr.push(e.body)
}
return newVal
}
}
async onLoad(option) {
async get() {
try {
const resp = await this.GET("/user/feedback/" + option.id);
const resp = await this.GET("/user/feedback/" + this.id);
wepy.setNavigationBarTitle({
title: resp.data.issue.title
});
this.issue = resp.data.issue;
this.comments = resp.data.comments;
this.$apply()
this.$invoke("htmlParser", "htmlParserNotice");
this.$invoke("htmlParser2", "htmlParserNotice");
// this.$invoke("htmlParser", "htmlParserNotice");
this.$broadcast("htmlParser-broadcast")
// this.$invoke("htmlParser2", "htmlParserNotice");
} catch (error) {
console.log(error);
}
}
async onLoad(option) {
try {
this.id = option.id
this.get()
} catch (error) {
console.log(error);
}
Expand Down
39 changes: 36 additions & 3 deletions src/pages/my/feedbackList.vue
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,42 @@
padding: 20rpx;
background: @white;
}
.tags {
display: flex;
align-items: flex-end;
.tag {
border-radius: 6rpx;
display: flex;
padding: 5rpx 8rpx;
margin: 20rpx 10rpx 0 0rpx;
font-size: 20rpx;
color: #888;
border: 2rpx solid #888;
&.open {
color: #008e59;
border: 2rpx solid #008e59;
}
&.close {
color: @base-color;
border: 2rpx solid @base-color;
}
}
}
}
</style>

<template>
<view>
<view wx:if="{{feedbacks.length > 0}}" class="lists">
<block wx:for="{{feedbacks}}" wx:key="{{index}}">
<view class="list" @tap="to({{item.number}})">{{item.title}}</view>
<view class="list" @tap="to({{item.number}})">
<view class="title">{{item.title}}</view>
<view class="tags">
<blcok wx:for="{{item.tagArr}}" wx:for-item="tag" wx:for-index="i" wx:key="{{i}}">
<view class="tag {{tag == '开放中' ? 'open' : ''}} {{tag == '已关闭' ? 'close' : ''}}">{{tag}}</view>
</blcok>
</view>
</view>
</block>
</view>
<empty wx:else msg="您暂时没有反馈数据"></empty>
Expand Down Expand Up @@ -47,9 +75,14 @@
async get() {
try {
const resp = await this.GET("/user/feedbacks")
this.feedbacks = resp.data
let feedbacks = resp.data
for (let i = 0; i < feedbacks.length; i++) {
const e = feedbacks[i];
e.tagArr = [e.stat === "open" ? "开放中" : "已关闭"].concat(e.tags.split(","))
}
this.feedbacks = feedbacks
this.$apply()
this.InitSet("feedbacks", resp.data)
this.InitSet("feedbacks", feedbacks)
} catch (error) {
console.log(error);
}
Expand Down
4 changes: 2 additions & 2 deletions src/pages/schedule.vue
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@
<view class="row item" style="flex: {{item.flex}}; padding-bottom: {{item.flex-1}}px; background: {{item.color}};" wx:elif="{{item.flex > 0}}">
<text class="course-name">{{item.course_name}}</text>
<text class="address">
<text>{{item.building}}</text>
<text>{{item.building}}</text>
<text>{{item.classroom}}</text>
</text>
</view>
Expand Down Expand Up @@ -137,7 +137,7 @@
this.initSchedules(this.scheduleItems);
},
changeWeek(e) {
this.week = e.detail.value;
this.week = e.detail.value - 0 + 1;
this.initData()
this.initSchedules(this.scheduleItems);
}
Expand Down

0 comments on commit b6a184d

Please sign in to comment.