diff --git a/src/apps/AppVillageDiscuss/Add.vue b/src/apps/AppVillageDiscuss/Add.vue index 182cf053..22fbb46a 100644 --- a/src/apps/AppVillageDiscuss/Add.vue +++ b/src/apps/AppVillageDiscuss/Add.vue @@ -35,14 +35,14 @@
-
+ +
+
- +
@@ -133,6 +133,7 @@ export default { }, submit() { + let list = [] if (this.flag) return if (!this.form.content) { return this.$u.toast('请输入主题') @@ -146,26 +147,27 @@ export default { if (!this.form.publicityDeadline) { return this.$u.toast('请选择公示截止时间') } - if (this.form.type == 1 && this.opts == 0 && !this.contents) { - return this.$u.toast('请输入单选选项') - } - if (this.opts == 1 && !this.list.length) { - return this.$u.toast('请输入多选选项') - } - if (this.contents) { - this.list.push(this.contents) - } - if (this.opts == 1) { - var lists = [] - this.list.map((item, index) => { - item.contents == item, item.item == this.keys[index] - lists.push({ - content: item, - item: this.keys[index], - }) + if (this.form.type === '1') { + if (!this.list.length) { + return this.$u.toast('请添加选项') + } + if (this.list.length < 2) { + return this.$u.toast('选项不能少于2个') + } + + list = this.list.map((v, index) => { + return { + content: v.content, + item: this.keys[index] + } }) - console.log(lists) + + for (let i = 0; i < list.length; i ++) { + if (!list[i].content) { + return this.$u.toast(`请输入弟${i + 1}个选项的内容`) + } + } } var params = { @@ -173,7 +175,7 @@ export default { // voteItems: this.list, areaId: this.form.areaId, areaName: this.form.areaName, - voteItems: lists, + voteItems: list, anonymous: this.checked == true ? 1 : 0, createUserId: this.user.id, createUserName: this.user.name, @@ -194,11 +196,12 @@ export default { }, addOpts() { - if (!this.contents) { - return this.$u.toast('请输入选项内容') - } - this.list.push(this.contents) - this.contents = '' + // if (!this.contents) { + // return this.$u.toast('请输入选项内容') + // } + this.list.push({ + content: '' + }) }, del(index) { @@ -211,8 +214,6 @@ export default { }, confirmTime(e) { - console.log(e) - if (this.showStartTime == true) { var nowTime = new Date().getTime() * 1 diff --git a/src/apps/AppVillageDiscuss/Detail.vue b/src/apps/AppVillageDiscuss/Detail.vue index b7503dc9..e98aed89 100644 --- a/src/apps/AppVillageDiscuss/Detail.vue +++ b/src/apps/AppVillageDiscuss/Detail.vue @@ -36,9 +36,9 @@ {{ data.createUserId === op.createUserId ? '话事人' : '居民' }}
- +
-
+
@@ -57,7 +57,7 @@
{{ item.content }} {{ item.count }} - +
@@ -98,7 +98,7 @@ export default { content: '', flag: false, pageShow: false, - isAnnouncer: false, + isAnnouncer: false } }, computed: { @@ -120,78 +120,69 @@ export default { methods: { getDetail() { this.$loading() - this.$http - .post(`/app/appvillagediscuss/queryDetailById?id=${this.id}`) - .then((res) => { - if (res?.data) { - this.data = { - ...res.data, - avatar: res.data.createUserName?.substr(0, 2) || '游客', - messages: res.data.messages - ? res.data.messages.map((v) => { - return { - ...v, - isSuport: v.suportUser ? v.suportUser.indexOf(this.user.id) > -1 : false, - } - }) - : [], - } - this.data.images = JSON.parse(res.data.images) - this.isAnnouncer = this.user.id === res.data.createUserId - - var discussTime = (new Date(res.data.discussDeadline).getTime() * 1) / 1000 - var nowTime = (new Date().getTime() * 1) / 1000 - if (discussTime >= nowTime) { - this.timestamp = discussTime - nowTime - } - - if (res.data.voteType === '1') { - const total = Object.values(res.data.statistic).reduce((x, y) => { - return x + y - }) - this.data.voteList = res.data.voteItems.map((v) => { - return { - ...v, - count: res.data.statistic[v.item], - percentage: (res.data.statistic[v.item] / total) * 100 + '%', - } - }) - } - - this.$hideLoading() - this.pageShow = true - } else { - this.$hideLoading() + this.$http.post(`/app/appvillagediscuss/queryDetailById?id=${this.id}`).then((res) => { + if (res?.data) { + this.data = { + ...res.data, + avatar: res.data.createUserName?.substr(0, 2) || '游客', + messages: res.data.messages ? res.data.messages.map(v => { + return { + ...v, + isSuport: v.suportUser ? v.suportUser.indexOf(this.user.id) > -1 : false + } + }) : [] } - }) - .catch(() => { - this.$hideLoading() - }) - }, + this.data.images = JSON.parse(res.data.images) + this.isAnnouncer = this.user.id === res.data.createUserId - like(id) { - this.$loading() - this.$http - .post(`/app/appvillagediscussmessage/suport?id=${id}&userId=${this.user.id}`) - .then((res) => { - this.$hideLoading() - if (res.code === 0) { - this.$u.toast('点赞成功') + var discussTime = (new Date(res.data.discussDeadline).getTime() * 1) / 1000 + var nowTime = (new Date().getTime() * 1) / 1000 + if (discussTime >= nowTime) { + this.timestamp = discussTime - nowTime + } - this.$nextTick(() => { - this.getDetail() + if (res.data.type === '1') { + const total = Object.values(res.data.statistic).reduce((x, y) => { + return x + y + }) + this.data.voteList = res.data.voteItems.map(v => { + return { + ...v, + count: res.data.statistic[v.item], + percentage: (res.data.statistic[v.item] / total) * 100 + '%' + } }) - } else { - this.$u.toast(res.msg) } - }) - .catch((e) => { + this.$hideLoading() - this.$u.toast(e) - }) + this.pageShow = true + } else { + this.$hideLoading() + } + }).catch(() => { + this.$hideLoading() + }) }, - dele() {}, + like (id) { + this.$loading() + this.$http.post(`/app/appvillagediscussmessage/suport?id=${id}&userId=${this.user.id}`).then(res => { + this.$hideLoading() + if (res.code === 0) { + this.$u.toast('点赞成功') + + this.$nextTick(() => { + this.getDetail() + }) + } else { + this.$u.toast(res.msg) + } + + }).catch((e) => { + this.$hideLoading() + this.$u.toast(e) + }) + }, publish() { if (this.flag) return @@ -260,17 +251,15 @@ export default { handleComplete() { this.$confirm('是否要结束公示') .then(() => { - this.$http - .post('/app/appvillagediscuss/finishPublic', { - status: '2', - id: this.id, - }) - .then((res) => { - if (res?.code == 0) { - this.$u.toast('已结束公示!') - this.getDetail() - } - }) + this.$http.post('/app/appvillagediscuss/finishPublic', { + status: '2', + id: this.id + }).then((res) => { + if (res?.code == 0) { + this.$u.toast('已结束公示!') + this.getDetail() + } + }) }) .catch(() => 0) }, @@ -293,7 +282,7 @@ export default { text-align: center; color: #fff; font-size: 32px; - background: #1365dd; + background: #1365DD; } &.detail-active { @@ -388,7 +377,7 @@ export default { text-align: center; color: #fff; font-size: 24px; - background: #1aaaff; + background: #1AAAFF; border-radius: 8px; } @@ -410,10 +399,10 @@ export default { line-height: 64px; margin-bottom: 16px; padding: 0 32px; - background: #ffffff; + background: #FFFFFF; border-radius: 8px; overflow: hidden; - border: 1px solid #95cbff; + border: 1px solid #95CBFF; em { position: absolute; @@ -421,13 +410,13 @@ export default { top: 0; z-index: 0; height: 100%; - background: #dce8f4; + background: #DCE8F4; } span { position: relative; z-index: 1; - color: #5b84b3; + color: #5B84B3; font-size: 28px; } @@ -435,7 +424,7 @@ export default { position: relative; z-index: 1; font-style: normal; - color: #5b84b3; + color: #5B84B3; font-size: 28px; } } @@ -505,7 +494,7 @@ export default { .u-input { background: #f7f7f7; border-radius: 8px 8px 0 0; - padding: 10px !important; + padding: 10px!important; margin: 0 30px 0 30px; .uni-textarea-placeholder { padding: 16px 0 0 16px;