From cd2a5241cdbee482652d987c3553f7aa2e2d0679 Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期二, 31 一月 2023 11:35:41 +0800
Subject: [PATCH] fix: bug
---
src/views/cause/Group.vue | 382 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 380 insertions(+), 2 deletions(-)
diff --git a/src/views/cause/Group.vue b/src/views/cause/Group.vue
index 9e95289..14fc15a 100644
--- a/src/views/cause/Group.vue
+++ b/src/views/cause/Group.vue
@@ -1,15 +1,393 @@
<template>
<div>
- 缇ょ粍浜ゆ祦
+ <el-container style="height: 600px; border: 1px solid #eee">
+ <el-aside width="20%" style="background-color: rgb(238, 241, 246)">
+ <el-input placeholder="璇疯緭鍏�" v-model="filterText" class="inputleft">
+ <!-- <el-button slot="append" icon="el-icon-search" style="width:10px;" @click="pick"></el-button> -->
+ </el-input>
+
+ <el-tree :data="treeData" :props="treeProps" @node-click="handleNodeClick" :filter-node-method="filterNode"
+ ref="tree"></el-tree>
+ </el-aside>
+
+ <el-container class="container">
+ <el-header style="text-align: left; font-size: 20px;margin-top: 15px">
+ <span>{{ this.groupName }}</span>
+ <el-form :inline="true" :model="queryInfo" class="demo-form-inline">
+ <el-form-item class="select">
+ <el-select v-model="queryInfo.status" placeholder="璇烽�夋嫨">
+ <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item class="input">
+ <el-input placeholder="璇疯緭鍏ユ垚鍛樻垨鍐呭" v-model="queryInfo.select"></el-input>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="search">鏌ヨ</el-button>
+ </el-form-item>
+ </el-form>
+ </el-header>
+
+ <el-main class="mian1">
+ <ul v-infinite-scroll="load" style="overflow:auto">
+ <li v-for="messageOne in messageList" class="infinite-list-item">
+ <div class="msglist">
+ <img v-if="messageOne.pic != null && messageOne.pic != ''" class="face"
+ :src="messageOne.pic">
+ <img v-if="messageOne.pic == null || messageOne.pic == ''" class="face"
+ src="../../icons/7bedbaa41b1744fbfe0c55b507fd9e28.png">
+ <div class="name">{{ messageOne.userName }} {{ messageOne.ctime }}</div>
+ <div class="message">{{ messageOne.text }}</div>
+ </div>
+ </li>
+ </ul>
+ <!-- <div class="table">
+ <el-table :data="messageList" :show-header="false">
+ <el-table-column prop="userName">
+ </el-table-column>
+ <el-table-column prop="ctime">
+ </el-table-column>
+ <el-table-column prop="text">
+ </el-table-column>
+ </el-table>
+ </div> -->
+ </el-main>
+ </el-container>
+
+
+ <el-container>
+ <el-header style="height: 0px; margin-top: 0px;">
+ </el-header>
+
+
+
+ <el-container class="container1" direction="horizontal">
+
+
+
+ <el-table class="table1" max-height="360" size:medium :data="groupAnList"
+ style="width: 30%;border: 1px solid #eee;">
+ <el-table-column prop="text" label="缇ゅ叕鍛�" style="color:#000000;">
+ </el-table-column>
+ </el-table>
+ <el-table class="table2" max-height="360" :data="tableData" style="width: 20%;border: 1px solid #eee;">
+ <el-table-column prop="userName" label="缇ゆ垚鍛�">
+
+ </el-table-column>
+ <el-table-column>
+ <template slot="header" slot-scope="scope">
+ <el-button size="small" icon="el-icon-turn-off-microphone" type="primary" @click="allBanSpeech">鍏ㄤ綋绂佽█
+ </el-button>
+ </template>
+ <template slot-scope="scope">
+ <el-button @click="speech(scope.row.userId, scope.row.banSpeech, scope.row.groupId)" type="text"
+ size="medium">
+ <span v-if="scope.row.banSpeech === 1" style="color:#ff0000">宸茬瑷�</span>
+ <span v-else style="color:#ff0000">绂佽█</span>
+ </el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+
+
+ </el-container>
+
+ <el-container class="container2" style="border: 1px solid #eee">
+ <el-header style="text-align:left ; font-size: 15px; height: 10px; width: 100%; margin-top: 10px;">
+ <span>娑堟伅鍥炲</span>
+ </el-header>
+ <el-main class="main5">
+ <el-form ref="elForm" size="medium" label-width="100px">
+ <el-form-item style="margin-bottom: 5px;">
+ <el-input v-model="field103" type="textarea" placeholder="璇疯緭鍏ュ琛屾枃鏈�"
+ :autosize="{ minRows: 4, maxRows: 8 }" :style="{ width: '100%' }">
+ </el-input>
+ </el-form-item>
+ </el-form>
+ <el-button style="margin-left: 90%;" size="small" type="primary" @click="seedMessage">鎻愪氦</el-button>
+ </el-main>
+ </el-container>
+
+ </el-container>
+ </el-container>
</div>
</template>
<script>
+import {
+ getName,
+ getAllMessage,
+ getAllNotice,
+ getAllUser,
+ setBanSpeech,
+ setAllowSpeech,
+ setBanSpeechAll,
+ getGroupMessage,
+ getGroupMessageContext,
+ seed,
+ //saveSubject
+} from '@/api/group'
+import { Message } from 'element-ui';
+import { getImgUrl } from '@/api/common'
+
export default {
- name: "Group"
+ name: "Group",
+ watch: {
+ filterText(val) {
+ this.$refs.tree.filter(val);
+ }
+ },
+ data() {
+ return {
+ options: [
+ {
+ value: '0',
+ label: '鎴愬憳'
+ },
+ {
+ value: '1',
+ label: '璁板綍'
+ }
+ ],
+ groupName: '缇ょ粍',
+ filterText: '',
+ //缇d
+ groupId: null,
+ //娑堟伅鍒楄〃
+ messageList: [],
+ //缇ゅ叕鍛婂垪琛�
+ groupAnList: [],
+ treeData: [{
+ groupName: '闈掔緤鍖哄叕瀹夊垎灞�缁忎睛澶ч槦',
+ children: [
+ ]
+ }],
+ treeProps: {
+ children: 'children',
+ label: 'groupName'
+ },
+ field103: '',
+ queryInfo: {
+ },
+ input: '',
+ //缇ゆ垚鍛樺垪琛�
+ tableData: [],
+ }
+ },
+ created() {
+ this.init();
+ },
+ methods:
+ {
+ //缇ょ粍鍚嶇О
+ init() {
+ getName().then(
+ res => {
+ this.treeData[0].children = res;
+ }
+ )
+ var params = window.location.href.split("id=")
+ if (params.length != 1) {
+ var param = { id: params[1] }
+ this.handleNodeClick(param)
+
+ }
+ },
+ filterNode(value, data) {
+ if (!value) return true;
+ return data.groupName.indexOf(value) !== -1;
+ },
+ // pick(){
+ // this.filterNode(this.filterVal,this.data);
+ // },
+ handleNodeClick(data) {
+ if (data.id != null) {
+ this.groupName = data.groupName;
+ var _this = this;
+ getAllMessage(data.id).then((res) => {
+
+ for (let item of res) {
+ if (item.pic === '' || item.pic === null) {
+ } else {
+ getImgUrl(item.pic).then(res => {
+ item.pic = res
+ })
+ }
+ }
+ this.messageList = res
+ debugger
+ })
+ getAllNotice(data.id).then(res => this.groupAnList = res)
+ getAllUser(data.id).then(res => this.tableData = res)
+ this.groupId = data.id;
+ }
+ },
+ search() {
+ if (this.queryInfo.status == 0) {
+ getGroupMessage(this.queryInfo, this.groupId).then(res => this.messageList = res)
+ }
+ if (this.queryInfo.status == 1) {
+ getGroupMessageContext(this.queryInfo, this.groupId).then(res => this.messageList = res)
+ }
+ },
+ allBanSpeech() {
+ setBanSpeechAll(this.groupId).then(
+ res => {
+ this.$message({
+ message: '绂佽█鎴愬姛',
+ type: 'success'
+ });
+ getAllUser(this.groupId).then(res => this.tableData = res)
+ }
+ )
+ },
+ speech(val, val2, val3) {
+ if (val2 == 0) {
+ setBanSpeech(val, val3).then(
+ res => {
+ this.$message({
+ message: '绂佽█鎴愬姛',
+ type: 'success'
+ });
+ getAllUser(val3).then(res => this.tableData = res)
+ }
+ )
+
+ }
+ if (val2 == 1) {
+ setAllowSpeech(val, val3).then(
+ res => {
+ this.$message({
+ message: '鍏佽鍙戣█',
+ type: 'success'
+ });
+ getAllUser(val3).then(res => this.tableData = res)
+ }
+ )
+ }
+ },
+ seedMessage() {
+ seed(this.field103, this.groupId).then(res => {
+ this.$message({
+ message: '鍥炲鎴愬姛',
+ type: 'success'
+ });
+ getAllMessage(this.groupId).then(res => this.messageList = res)
+ this.field103 = '';
+ }
+ )
+ },
+ },
+
}
</script>
<style scoped>
+* {
+ list-style: none;
+}
+.container {
+ width: 34%;
+}
+
+.container1 {
+ width: 98%;
+ height: 60%;
+ margin-top: 8%;
+ margin-left: 2%;
+}
+
+.container2 {
+ width: 100%;
+ height: 30%;
+ margin-top: 2%;
+ margin-left: 2%;
+}
+
+.msglist {
+ margin-bottom: 3%;
+}
+
+.face {
+ float: left;
+ width: 25px;
+ height: 25px;
+ border-radius: 50%;
+}
+
+.name {
+ float: right;
+ margin-right: 43%;
+ color: #7F7F7F;
+ font-size: 14px;
+}
+
+.message {
+ margin-top: 2%;
+}
+
+.mian1 {
+ margin-top: 20px;
+}
+
+.mian4 {
+ margin-top: 0px;
+ width: 24%;
+}
+
+.mian2 {
+ width: 38%;
+ margin-top: 0px;
+ margin-right: 2%;
+}
+
+.table1 {
+ width: 360px;
+ margin-top: 0px;
+ margin-right: 2%;
+}
+
+.table2 {
+ margin-top: 0px;
+}
+
+.select {
+ width: 25%;
+}
+
+.table>>>.el-table__row>td {
+ /* 鍘婚櫎琛ㄦ牸绾� */
+ border: none;
+}
+
+.table1>>>.el-table__row>td {
+ /* 鍘婚櫎琛ㄦ牸绾� */
+ border: none;
+}
+
+.table2>>>.el-table__row>td {
+ /* 鍘婚櫎琛ㄦ牸绾� */
+ border: none;
+}
+
+.mian5 {
+ margin-top: 0px;
+ width: 100%;
+ height: 30%;
+}
+
+.input {
+ width: 49%;
+}
+
+.button {
+ margin-right: 50px;
+ size: small;
+}
+
+::v-deep(.el-table thead) {
+ color: #000000;
+}
</style>
\ No newline at end of file
--
Gitblit v1.8.0