Webdialog.vue 14.9 KB
<template>
    <el-container>
        <div class="open">
            <div class="navbar">
                <a href="">
                    <div class="demo-basic--circle" >
                        <div class="block"><el-avatar shape="square" :size="60" :src="circleUrl"></el-avatar></div>
                    </div>
                </a>
                <ul class="navbars">
                    <li>
                        <el-button icon="el-icon-chat-line-round" style="border: none;font-size: 30px" circle></el-button>
                    </li>
                    <li>
                        <el-button icon="el-icon-phone-outline" style="border: none;font-size: 30px" circle></el-button>
                    </li>
                    <li>
                        <el-button icon="el-icon-menu" style="border: none;font-size: 30px" circle></el-button>
                    </li>
                    <li>
                        <el-button icon="el-icon-user" style="border: none;font-size: 30px" circle></el-button>
                    </li>
                </ul>
            </div>
        </div>
<!--最新消息栏-->
        <el-aside class="sidebar">
            <div class="sidebars">
                <div style="margin-top: -10px">
                    <div style="display: inline-block"><h2>Chats</h2></div>
                    <ul style="display: inline-block;list-style: none;margin-left: 250px;font-size: 20px">
                        <li style="display: inline">
                            <el-button icon="el-icon-bell" style="border: none;font-size: 20px" circle></el-button>
                        </li>
                        <li style="display: inline">
                            <el-button icon="el-icon-share" style="border: none;font-size: 20px" circle></el-button>
                        </li>
                    </ul>
                </div>
                <div style="margin-top: -15px">
                    <el-select v-model="value" placeholder="请选择" style="width: 150px;margin-left: -10px;">
                        <el-option
                                v-for="item in options"
                                :key="item.value"
                                :label="item.label"
                                :value="item.value">
                        </el-option>
                    </el-select>
                    <el-input v-model="input1" placeholder="搜索" style="width: 220px;margin-left: 60px;">
                    </el-input>
                    <el-button icon="el-icon-search" style="margin-left: -6px;width: 50px;background-color: #F7F7F7;border-left: 0px" ></el-button>
                </div>
            </div>
            <ul class="sidebard">
                <li>
                    <a>
                        <div style="display: flex">
                            <div class="demo-basic--circle" >
                                <div class="block"><el-avatar :size="60" :src="circleUrls"></el-avatar></div>
                            </div>
                        </div>
                        <div style="padding-left: 10px;width: 100%">
                            <div class="father">
                                <h4 style="display: inline-block;line-height: 0px">{{name}}</h4>
                                <div class="sun">{{time}}</div>
                                <div style="background-color: rgb(245,108,108);display: inline-block;color: #FFFFFF;
                                width:30px;height:20px;line-height:20px;text-align:center;border-radius: 6.25rem;margin-left: 220px">
                                    {{count}}</div>
                            </div>
                            <div style="margin: 0px;height: 30px">
                                <span style="margin: 0;display: inline-block;width: 85%;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">{{content}}</span>
                            </div>
                        </div>
                    </a>
                </li>
                <li>
                    <a>
                        <div style="display: flex">
                            <div class="demo-basic--circle" >
                                <div class="block"><el-avatar :size="60" :src="circleUrls"></el-avatar></div>
                            </div>
                        </div>
                        <div style="padding-left: 10px;width: 100%">
                            <div class="father">
                                <h4 style="display: inline-block;line-height: 0px">{{name}}</h4>
                                <div class="sun">{{time}}</div>
                                <div style="background-color: rgb(245,108,108);display: inline-block;color: #FFFFFF;
                                width:30px;height:20px;line-height:20px;text-align:center;border-radius: 6.25rem;margin-left: 220px">
                                    {{count}}</div>
                            </div>
                            <div style="margin: 0px;height: 30px">
                                <span style="margin: 0;display: inline-block;width: 85%;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">{{content}}</span>
                            </div>
                        </div>
                    </a>
                </li>
            </ul>
        </el-aside>
        <!--            对话框-->
        <el-main class="main-message">
<!--                对话框头部80-->
            <div class="chat-body">
                <!--                    当前聊天对象-->
                <div style="display: inline-block">
                    <div style="display: table">
                        <el-avatar class="cell" :size="60" :src="circleUrls"></el-avatar>
                        <h2 class="cell" style="width: 400px;padding-left: 20px">{{name}}</h2>
                    </div>
                </div>
                <div style="display: inline-block;float: right">
                    <ul  style="list-style: none;color: black">
                        <li>
                            <el-button icon="el-icon-search" circle></el-button>
                            <el-button icon="el-icon-phone-outline" circle></el-button>
                            <el-button icon="el-icon-share" circle></el-button>
                            <el-button icon="el-icon-document-remove" @click="drawer = true" circle></el-button>
                        </li>
                    </ul>
                </div>

            </div>
            <!--                聊天内容-->
            <div class="chat-message">
                <el-row style="padding-left: 10%">
                    <el-col style="width: 7%">
                        <el-avatar  :size="45" :src="circleUrls"></el-avatar>
                    </el-col>
                    <el-col style="width: 60%">
                        <span>{{message1}}</span>
                        <!--            聊天内容功能弹框-->
                        <el-dropdown>
                            <span class="el-dropdown-link">
                                <i class="el-icon-more el-icon--right"></i>
                            </span>
                            <el-dropdown-menu slot="dropdown">
                                <el-dropdown-item icon="el-icon-download">下载</el-dropdown-item>
                                <el-dropdown-item icon="el-icon-right">转发</el-dropdown-item>
                                <el-dropdown-item icon="el-icon-star-off">收藏</el-dropdown-item>
                                <el-dropdown-item icon="el-icon-close">删除</el-dropdown-item>
                            </el-dropdown-menu>
                        </el-dropdown>
                    </el-col>
                </el-row>
                <el-row style="padding-left: 30%">
                    <el-col style="width: 75%;margin-right: 20px">
                        <span>{{message2}}</span>
                        <!--            聊天内容功能弹框-->
                        <el-dropdown>
                            <span class="el-dropdown-link">
                                <i class="el-icon-more el-icon--right"></i>
                            </span>
                            <el-dropdown-menu slot="dropdown">
                                <el-dropdown-item icon="el-icon-back">撤回</el-dropdown-item>
                                <el-dropdown-item icon="el-icon-download">下载</el-dropdown-item>
                                <el-dropdown-item icon="el-icon-right">转发</el-dropdown-item>
                                <el-dropdown-item icon="el-icon-star-off">收藏</el-dropdown-item>
                                <el-dropdown-item icon="el-icon-close">删除</el-dropdown-item>
                            </el-dropdown-menu>
                        </el-dropdown>
                    </el-col>
                    <el-col style="width: 10%">
                        <el-avatar  :size="45" :src="circleUrl"></el-avatar>
                    </el-col>
                </el-row>
            </div>
            <!--                输入框-->
            <div style="height: 100px;border: 1px solid #e5e9f2;padding-left: 50px;position:fixed;bottom:0;width: 100%;background-color: #FFFFFF">
                <div style="line-height: 100px">
                    <el-button icon="el-icon-plus" circle></el-button>
                    <el-button icon="el-icon-cherry" circle style="margin-right: 30px"></el-button>
                    <el-input v-model="input" placeholder="请输入内容" style="width: 700px;margin-right: 30px"></el-input>
                    <el-button type="primary" style="width: 120px" plain onclick="show()">发送</el-button>
                </div>
            </div>
        </el-main>
        <!--            当前对话人信息-->
        <el-drawer
                title=""
                :visible.sync="drawer"
                :with-header="false"
                style="text-align: center">
            <el-row style="margin-top: 150px">
                <el-col>
                    <div class="block"><el-avatar :size="160" :src="circleUrls"></el-avatar></div>
                </el-col>
            </el-row>
            <el-row>
                <h2>{{name}}</h2>
            </el-row>
            <el-row>
                <span>{{company}}</span>
            </el-row>
            <el-row>
                <span>{{tel}}</span>
            </el-row>
            <el-row>
                <span>{{address}}</span>
            </el-row>
            <el-row>
                <span>{{email}}</span>
            </el-row>
            <el-row style="margin-top: 40px">
                    <el-button icon="el-icon-plus" style="font-size: 35px" circle  type="success"></el-button>
                    <el-button icon="el-icon-star-off" style="font-size: 35px" circle  type="warning"></el-button>
                    <el-button icon="el-icon-delete" type="danger"  circle style="font-size: 35px" ></el-button>
            </el-row>
        </el-drawer>
    </el-container>
</template>

<script>
    export default {
        name: "Webdialog",
        data() {
            return {
                name:'Catherine Richardson',
                time:'10:20pm',
                count:12,
                content:'I’m sorry, I didn’t catch that. Could you please repeat?I’m sorry, I didn’t catch that. Could you please repeat?',
                input:'',
                str: [],
                message1:'I’m sorry, I didn’t catch that. Could you please repeat?I’m sorry, I didn’t catch that. Could you please repeat?',
                message2:'I’m sorry, I didn’t catch that. Could you please repeat?I’m sorry, I didn’t catch that. Could you please repeat?',

                company:'海程邦达',
                tel:'+01-222-364522',
                address:'1134 Ridder Park Road, San Fransisco, CA 94851',
                email:'catherine.richardson@gmail.com',
                drawer: false,
                direction: 'rtl',
                circleUrl:'https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=3123037902,210333744&fm=26&gp=0.jpg',
                circleUrls:'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fblog%2F202009%2F07%2F20200907065007_86b1b.thumb.400_0.jpg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1616315479&t=f9d95ef3f1894a34100224ea60944a9c'
            }
        },
        methods: {
            show() {
                var message = document.getElementById("message2");
                var input = document.getElementById("input");

                message.innerHTML = input.value;
            }
        }
    }
</script>

<style scoped>
    .open{
        display: flex;
    }
    .navbar{
        height: 900px;
        width: 110px;
        background-color: #F7F7F7;
        text-align: center;
        padding-top: 60px;
    }
    .navbars{
        list-style: none;
        line-height: 100px;
        margin-left: -35px;
    }

    .navbars li a {
        color: rgb(73,80,87);
        font-size: 30px
    }
    .navbars li:hover a {
        color: rgb(57,138,241);
    }

    .sidebar{
        width: 540px!important;
        height: 900px;
        position: relative;
        overflow: hidden;
        background-color: rgba(248,249,250,0.5);
        /*overflow-y: auto;*/
        /*overflow-x: hidden;*/
        border: 1px solid #e5e9f2;
    }
    .sidebars{
        background-color: #fff;
        height: 120px;
        padding-left: 40px;
        border-bottom: 1px solid #e5e9f2;
    }
    .sidebard{
        margin-top: 125px;
        padding: 12px;
        list-style: none;
        position: absolute;
        left: 0;
        top: 0;
        right: -23px;
        bottom: 0;
        overflow-x: hidden;
        overflow-y: scroll;
    }
    .sidebard li a{
        padding: 16px 20px;
        margin-bottom: 10px;
        border: 1px solid #e5e9f2;
        display: flex;
        border-radius: .25rem;
        background-color: transparent;
    }
    .father{
        position: relative;
        display: block;
        height: 30px;
        margin-top: 0px
    }
    .sun{
        position: absolute;
        display: inline;
        width: 50px;
        top: 0px;
        left: 280px;
    }
    .chat-body{
        height: 80px;
        border-bottom: 1px solid #e5e9f2;
        padding: 10px 50px;
    }
    .chat-body div ul li .el-button{
        border: none;
        font-size: 20px
    }
    .chat-body div .cell{
        display: table-cell;
        vertical-align:middle;
    }
    .el-input__inner{
        background-color: #FFFFFF!important;
    }
    .main-message{
        background-color: #fff;
        height: 900px;
        border-top: 1px solid #e5e9f2;
        width: 100%;
        position: relative;
    }
    .chat-message{
        border-right: 1px solid #e5e9f2;
        height:660px;
        padding-top: 20px;
        position: absolute;
        left: 0;
        top: 100px;
        right: -43px;
        bottom: 0;
        overflow-x: hidden;
        overflow-y: scroll;
    }



</style>