ct
This commit is contained in:
		@@ -35,14 +35,14 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      <div class="options" v-if="form.type == 1">
 | 
					      <div class="options" v-if="form.type == 1">
 | 
				
			||||||
        <div class="oneopt">
 | 
					        <div class="oneopt">
 | 
				
			||||||
          <div class="items info" v-for="(item, index) in list" :key="index">
 | 
					          <!-- <div class="items info" v-for="(item, index) in list" :key="index">
 | 
				
			||||||
            <img src="./img/22.png" alt="" @click="del(index)" />
 | 
					            <img src="./img/22.png" alt="" @click="del(index)" />
 | 
				
			||||||
            <div class="rightopts" style="color: #666">{{ item }}</div>
 | 
					            <div class="rightopts" style="color: #666">{{ item }}</div>
 | 
				
			||||||
          </div>
 | 
					          </div> -->
 | 
				
			||||||
          <div class="items">
 | 
					          <div class="items" v-for="(item, index) in list" :key="index">
 | 
				
			||||||
            <img src="./img/22.png" alt="" />
 | 
					            <img src="./img/22.png" alt="" @click="del(index)" />
 | 
				
			||||||
            <div class="rightopts">
 | 
					            <div class="rightopts">
 | 
				
			||||||
              <u-input v-model="contents" placeholder="选项" maxlength="200" :clearable="false" />
 | 
					              <u-input v-model="item.content" placeholder="选项" maxlength="200" :clearable="false" />
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
          <div class="items" @click="addOpts">
 | 
					          <div class="items" @click="addOpts">
 | 
				
			||||||
@@ -133,6 +133,7 @@ export default {
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    submit() {
 | 
					    submit() {
 | 
				
			||||||
 | 
					      let list = []
 | 
				
			||||||
      if (this.flag) return
 | 
					      if (this.flag) return
 | 
				
			||||||
      if (!this.form.content) {
 | 
					      if (!this.form.content) {
 | 
				
			||||||
        return this.$u.toast('请输入主题')
 | 
					        return this.$u.toast('请输入主题')
 | 
				
			||||||
@@ -146,26 +147,27 @@ export default {
 | 
				
			|||||||
      if (!this.form.publicityDeadline) {
 | 
					      if (!this.form.publicityDeadline) {
 | 
				
			||||||
        return this.$u.toast('请选择公示截止时间')
 | 
					        return this.$u.toast('请选择公示截止时间')
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      if (this.form.type == 1 && this.opts == 0 && !this.contents) {
 | 
					
 | 
				
			||||||
        return this.$u.toast('请输入单选选项')
 | 
					      if (this.form.type === '1') {
 | 
				
			||||||
 | 
					        if (!this.list.length) {
 | 
				
			||||||
 | 
					          return this.$u.toast('请添加选项')
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      if (this.opts == 1 && !this.list.length) {
 | 
					        if (this.list.length < 2) {
 | 
				
			||||||
        return this.$u.toast('请输入多选选项')
 | 
					          return this.$u.toast('选项不能少于2个')
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if (this.contents) {
 | 
					        list = this.list.map((v, index) => {
 | 
				
			||||||
        this.list.push(this.contents)
 | 
					          return {
 | 
				
			||||||
 | 
					            content: v.content,
 | 
				
			||||||
 | 
					            item: this.keys[index]
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
      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],
 | 
					 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
        })
 | 
					
 | 
				
			||||||
        console.log(lists)
 | 
					        for (let i = 0; i < list.length; i ++) {
 | 
				
			||||||
 | 
					          if (!list[i].content) {
 | 
				
			||||||
 | 
					            return this.$u.toast(`请输入弟${i + 1}个选项的内容`)
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      var params = {
 | 
					      var params = {
 | 
				
			||||||
@@ -173,7 +175,7 @@ export default {
 | 
				
			|||||||
        // voteItems: this.list,
 | 
					        // voteItems: this.list,
 | 
				
			||||||
        areaId: this.form.areaId,
 | 
					        areaId: this.form.areaId,
 | 
				
			||||||
        areaName: this.form.areaName,
 | 
					        areaName: this.form.areaName,
 | 
				
			||||||
        voteItems: lists,
 | 
					        voteItems: list,
 | 
				
			||||||
        anonymous: this.checked == true ? 1 : 0,
 | 
					        anonymous: this.checked == true ? 1 : 0,
 | 
				
			||||||
        createUserId: this.user.id,
 | 
					        createUserId: this.user.id,
 | 
				
			||||||
        createUserName: this.user.name,
 | 
					        createUserName: this.user.name,
 | 
				
			||||||
@@ -194,11 +196,12 @@ export default {
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    addOpts() {
 | 
					    addOpts() {
 | 
				
			||||||
      if (!this.contents) {
 | 
					      // if (!this.contents) {
 | 
				
			||||||
        return this.$u.toast('请输入选项内容')
 | 
					      //   return this.$u.toast('请输入选项内容')
 | 
				
			||||||
      }
 | 
					      // }
 | 
				
			||||||
      this.list.push(this.contents)
 | 
					      this.list.push({
 | 
				
			||||||
      this.contents = ''
 | 
					        content: ''
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    del(index) {
 | 
					    del(index) {
 | 
				
			||||||
@@ -211,8 +214,6 @@ export default {
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    confirmTime(e) {
 | 
					    confirmTime(e) {
 | 
				
			||||||
      console.log(e)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      if (this.showStartTime == true) {
 | 
					      if (this.showStartTime == true) {
 | 
				
			||||||
        var nowTime = new Date().getTime() * 1
 | 
					        var nowTime = new Date().getTime() * 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -38,7 +38,7 @@
 | 
				
			|||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
          <u-icon name="thumb-up" :label="op.suport" :color="op.isSuport ? 'red' : '#ccc'"  @click="like(op.id)" />
 | 
					          <u-icon name="thumb-up" :label="op.suport" :color="op.isSuport ? 'red' : '#ccc'"  @click="like(op.id)" />
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
        <div class="content" v-text="op.content" @click="dele" />
 | 
					        <div class="content" v-text="op.content" />
 | 
				
			||||||
        <div class="content color-999" v-text="op.createTime" />
 | 
					        <div class="content color-999" v-text="op.createTime" />
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
      <AiEmpty v-if="!data.messages.length"></AiEmpty>
 | 
					      <AiEmpty v-if="!data.messages.length"></AiEmpty>
 | 
				
			||||||
@@ -57,7 +57,7 @@
 | 
				
			|||||||
        <div class="vote-item" v-for="(item, index) in data.voteList" :key="index">
 | 
					        <div class="vote-item" v-for="(item, index) in data.voteList" :key="index">
 | 
				
			||||||
          <span>{{ item.content }}</span>
 | 
					          <span>{{ item.content }}</span>
 | 
				
			||||||
          <i>{{ item.count }}</i>
 | 
					          <i>{{ item.count }}</i>
 | 
				
			||||||
          <em :style="{ width: item.percentage }"></em>
 | 
					          <em :style="{width: item.percentage}"></em>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
@@ -98,7 +98,7 @@ export default {
 | 
				
			|||||||
      content: '',
 | 
					      content: '',
 | 
				
			||||||
      flag: false,
 | 
					      flag: false,
 | 
				
			||||||
      pageShow: false,
 | 
					      pageShow: false,
 | 
				
			||||||
      isAnnouncer: false,
 | 
					      isAnnouncer: false
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  computed: {
 | 
					  computed: {
 | 
				
			||||||
@@ -120,21 +120,17 @@ export default {
 | 
				
			|||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    getDetail() {
 | 
					    getDetail() {
 | 
				
			||||||
      this.$loading()
 | 
					      this.$loading()
 | 
				
			||||||
      this.$http
 | 
					      this.$http.post(`/app/appvillagediscuss/queryDetailById?id=${this.id}`).then((res) => {
 | 
				
			||||||
        .post(`/app/appvillagediscuss/queryDetailById?id=${this.id}`)
 | 
					 | 
				
			||||||
        .then((res) => {
 | 
					 | 
				
			||||||
        if (res?.data) {
 | 
					        if (res?.data) {
 | 
				
			||||||
          this.data = {
 | 
					          this.data = {
 | 
				
			||||||
            ...res.data,
 | 
					            ...res.data,
 | 
				
			||||||
            avatar: res.data.createUserName?.substr(0, 2) || '游客',
 | 
					            avatar: res.data.createUserName?.substr(0, 2) || '游客',
 | 
				
			||||||
              messages: res.data.messages
 | 
					            messages: res.data.messages ? res.data.messages.map(v => {
 | 
				
			||||||
                ? res.data.messages.map((v) => {
 | 
					 | 
				
			||||||
              return {
 | 
					              return {
 | 
				
			||||||
                ...v,
 | 
					                ...v,
 | 
				
			||||||
                      isSuport: v.suportUser ? v.suportUser.indexOf(this.user.id) > -1 : false,
 | 
					                isSuport: v.suportUser ? v.suportUser.indexOf(this.user.id) > -1 : false
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
                  })
 | 
					            }) : []
 | 
				
			||||||
                : [],
 | 
					 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          this.data.images = JSON.parse(res.data.images)
 | 
					          this.data.images = JSON.parse(res.data.images)
 | 
				
			||||||
          this.isAnnouncer = this.user.id === res.data.createUserId
 | 
					          this.isAnnouncer = this.user.id === res.data.createUserId
 | 
				
			||||||
@@ -145,15 +141,15 @@ export default {
 | 
				
			|||||||
            this.timestamp = discussTime - nowTime
 | 
					            this.timestamp = discussTime - nowTime
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (res.data.voteType === '1') {
 | 
					          if (res.data.type === '1') {
 | 
				
			||||||
            const total = Object.values(res.data.statistic).reduce((x, y) => {
 | 
					            const total = Object.values(res.data.statistic).reduce((x, y) => {
 | 
				
			||||||
              return x + y
 | 
					              return x + y
 | 
				
			||||||
            })
 | 
					            })
 | 
				
			||||||
              this.data.voteList = res.data.voteItems.map((v) => {
 | 
					            this.data.voteList = res.data.voteItems.map(v => {
 | 
				
			||||||
              return {
 | 
					              return {
 | 
				
			||||||
                ...v,
 | 
					                ...v,
 | 
				
			||||||
                count: res.data.statistic[v.item],
 | 
					                count: res.data.statistic[v.item],
 | 
				
			||||||
                  percentage: (res.data.statistic[v.item] / total) * 100 + '%',
 | 
					                percentage: (res.data.statistic[v.item] / total) * 100 + '%'
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
            })
 | 
					            })
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
@@ -163,17 +159,14 @@ export default {
 | 
				
			|||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
          this.$hideLoading()
 | 
					          this.$hideLoading()
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        })
 | 
					      }).catch(() => {
 | 
				
			||||||
        .catch(() => {
 | 
					 | 
				
			||||||
        this.$hideLoading()
 | 
					        this.$hideLoading()
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    like(id) {
 | 
					    like (id) {
 | 
				
			||||||
      this.$loading()
 | 
					      this.$loading()
 | 
				
			||||||
      this.$http
 | 
					      this.$http.post(`/app/appvillagediscussmessage/suport?id=${id}&userId=${this.user.id}`).then(res => {
 | 
				
			||||||
        .post(`/app/appvillagediscussmessage/suport?id=${id}&userId=${this.user.id}`)
 | 
					 | 
				
			||||||
        .then((res) => {
 | 
					 | 
				
			||||||
        this.$hideLoading()
 | 
					        this.$hideLoading()
 | 
				
			||||||
        if (res.code === 0) {
 | 
					        if (res.code === 0) {
 | 
				
			||||||
          this.$u.toast('点赞成功')
 | 
					          this.$u.toast('点赞成功')
 | 
				
			||||||
@@ -184,15 +177,13 @@ export default {
 | 
				
			|||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
          this.$u.toast(res.msg)
 | 
					          this.$u.toast(res.msg)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        })
 | 
					
 | 
				
			||||||
        .catch((e) => {
 | 
					      }).catch((e) => {
 | 
				
			||||||
        this.$hideLoading()
 | 
					        this.$hideLoading()
 | 
				
			||||||
        this.$u.toast(e)
 | 
					        this.$u.toast(e)
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    dele() {},
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    publish() {
 | 
					    publish() {
 | 
				
			||||||
      if (this.flag) return
 | 
					      if (this.flag) return
 | 
				
			||||||
      if (!this.content) {
 | 
					      if (!this.content) {
 | 
				
			||||||
@@ -260,12 +251,10 @@ export default {
 | 
				
			|||||||
    handleComplete() {
 | 
					    handleComplete() {
 | 
				
			||||||
      this.$confirm('是否要结束公示')
 | 
					      this.$confirm('是否要结束公示')
 | 
				
			||||||
        .then(() => {
 | 
					        .then(() => {
 | 
				
			||||||
          this.$http
 | 
					          this.$http.post('/app/appvillagediscuss/finishPublic', {
 | 
				
			||||||
            .post('/app/appvillagediscuss/finishPublic', {
 | 
					 | 
				
			||||||
            status: '2',
 | 
					            status: '2',
 | 
				
			||||||
              id: this.id,
 | 
					            id: this.id
 | 
				
			||||||
            })
 | 
					          }).then((res) => {
 | 
				
			||||||
            .then((res) => {
 | 
					 | 
				
			||||||
            if (res?.code == 0) {
 | 
					            if (res?.code == 0) {
 | 
				
			||||||
              this.$u.toast('已结束公示!')
 | 
					              this.$u.toast('已结束公示!')
 | 
				
			||||||
              this.getDetail()
 | 
					              this.getDetail()
 | 
				
			||||||
@@ -293,7 +282,7 @@ export default {
 | 
				
			|||||||
    text-align: center;
 | 
					    text-align: center;
 | 
				
			||||||
    color: #fff;
 | 
					    color: #fff;
 | 
				
			||||||
    font-size: 32px;
 | 
					    font-size: 32px;
 | 
				
			||||||
    background: #1365dd;
 | 
					    background: #1365DD;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  &.detail-active {
 | 
					  &.detail-active {
 | 
				
			||||||
@@ -388,7 +377,7 @@ export default {
 | 
				
			|||||||
    text-align: center;
 | 
					    text-align: center;
 | 
				
			||||||
    color: #fff;
 | 
					    color: #fff;
 | 
				
			||||||
    font-size: 24px;
 | 
					    font-size: 24px;
 | 
				
			||||||
    background: #1aaaff;
 | 
					    background: #1AAAFF;
 | 
				
			||||||
    border-radius: 8px;
 | 
					    border-radius: 8px;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -410,10 +399,10 @@ export default {
 | 
				
			|||||||
      line-height: 64px;
 | 
					      line-height: 64px;
 | 
				
			||||||
      margin-bottom: 16px;
 | 
					      margin-bottom: 16px;
 | 
				
			||||||
      padding: 0 32px;
 | 
					      padding: 0 32px;
 | 
				
			||||||
      background: #ffffff;
 | 
					      background: #FFFFFF;
 | 
				
			||||||
      border-radius: 8px;
 | 
					      border-radius: 8px;
 | 
				
			||||||
      overflow: hidden;
 | 
					      overflow: hidden;
 | 
				
			||||||
      border: 1px solid #95cbff;
 | 
					      border: 1px solid #95CBFF;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      em {
 | 
					      em {
 | 
				
			||||||
        position: absolute;
 | 
					        position: absolute;
 | 
				
			||||||
@@ -421,13 +410,13 @@ export default {
 | 
				
			|||||||
        top: 0;
 | 
					        top: 0;
 | 
				
			||||||
        z-index: 0;
 | 
					        z-index: 0;
 | 
				
			||||||
        height: 100%;
 | 
					        height: 100%;
 | 
				
			||||||
        background: #dce8f4;
 | 
					        background: #DCE8F4;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      span {
 | 
					      span {
 | 
				
			||||||
        position: relative;
 | 
					        position: relative;
 | 
				
			||||||
        z-index: 1;
 | 
					        z-index: 1;
 | 
				
			||||||
        color: #5b84b3;
 | 
					        color: #5B84B3;
 | 
				
			||||||
        font-size: 28px;
 | 
					        font-size: 28px;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -435,7 +424,7 @@ export default {
 | 
				
			|||||||
        position: relative;
 | 
					        position: relative;
 | 
				
			||||||
        z-index: 1;
 | 
					        z-index: 1;
 | 
				
			||||||
        font-style: normal;
 | 
					        font-style: normal;
 | 
				
			||||||
        color: #5b84b3;
 | 
					        color: #5B84B3;
 | 
				
			||||||
        font-size: 28px;
 | 
					        font-size: 28px;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -505,7 +494,7 @@ export default {
 | 
				
			|||||||
    .u-input {
 | 
					    .u-input {
 | 
				
			||||||
      background: #f7f7f7;
 | 
					      background: #f7f7f7;
 | 
				
			||||||
      border-radius: 8px 8px 0 0;
 | 
					      border-radius: 8px 8px 0 0;
 | 
				
			||||||
      padding: 10px !important;
 | 
					      padding: 10px!important;
 | 
				
			||||||
      margin: 0 30px 0 30px;
 | 
					      margin: 0 30px 0 30px;
 | 
				
			||||||
      .uni-textarea-placeholder {
 | 
					      .uni-textarea-placeholder {
 | 
				
			||||||
        padding: 16px 0 0 16px;
 | 
					        padding: 16px 0 0 16px;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user