|
@@ -81,7 +81,10 @@
|
|
</avatar>
|
|
</avatar>
|
|
<div class="people-text">
|
|
<div class="people-text">
|
|
<div class="people-name">{{detail.chargePersonName}}</div>
|
|
<div class="people-name">{{detail.chargePersonName}}</div>
|
|
- <div class="people-organization">组织名称</div>
|
|
|
|
|
|
+ <div class="people-organization">{{detail.organizationName}}</div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="chat" @click="chatVisible = true">
|
|
|
|
+ <i class="el-icon-s-comment"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="device-list">
|
|
<div class="device-list">
|
|
@@ -116,6 +119,11 @@
|
|
</video>
|
|
</video>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
<image-viewer v-if="isShow" :url-list="[imageUrl]" :on-close="()=>isShow = false"></image-viewer>
|
|
<image-viewer v-if="isShow" :url-list="[imageUrl]" :on-close="()=>isShow = false"></image-viewer>
|
|
|
|
+ <el-dialog title="在线聊天" :visible.sync="chatVisible" width="900px" :append-to-body="true">
|
|
|
|
+ <chat-box v-if="chatVisible" :body="{
|
|
|
|
+ conversationId:detail.chargePersonId
|
|
|
|
+ }"></chat-box>
|
|
|
|
+ </el-dialog>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
@@ -136,6 +144,7 @@
|
|
} from 'vuex';
|
|
} from 'vuex';
|
|
import reservation from '@/components/website/reservation';
|
|
import reservation from '@/components/website/reservation';
|
|
import imageViewer from 'element-ui/packages/image/src/image-viewer.vue';
|
|
import imageViewer from 'element-ui/packages/image/src/image-viewer.vue';
|
|
|
|
+ import chatBox from '@/layout/components/chatBox.vue';
|
|
export default {
|
|
export default {
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
@@ -148,7 +157,8 @@
|
|
isShow: false,
|
|
isShow: false,
|
|
imageUrl: '',
|
|
imageUrl: '',
|
|
videoSrc: '',
|
|
videoSrc: '',
|
|
- fileVisible: false
|
|
|
|
|
|
+ fileVisible: false,
|
|
|
|
+ chatVisible: false
|
|
};
|
|
};
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
@@ -159,6 +169,7 @@
|
|
init() {
|
|
init() {
|
|
if (!getToken()) return this.description = '请登录后查看';
|
|
if (!getToken()) return this.description = '请登录后查看';
|
|
this.detailId = Crypto.AES.decrypt(decodeURIComponent(this.$route.query.id), 'bosshand');
|
|
this.detailId = Crypto.AES.decrypt(decodeURIComponent(this.$route.query.id), 'bosshand');
|
|
|
|
+ this.$chat.connect();
|
|
if (!this.detailId) return this.description = '无房源信息';
|
|
if (!this.detailId) return this.description = '无房源信息';
|
|
this.getDetail();
|
|
this.getDetail();
|
|
},
|
|
},
|
|
@@ -234,7 +245,8 @@
|
|
components: {
|
|
components: {
|
|
houseFoot,
|
|
houseFoot,
|
|
reservation,
|
|
reservation,
|
|
- imageViewer
|
|
|
|
|
|
+ imageViewer,
|
|
|
|
+ chatBox
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
...mapGetters(['event'])
|
|
...mapGetters(['event'])
|
|
@@ -294,6 +306,19 @@
|
|
height: 400px;
|
|
height: 400px;
|
|
margin-left: 60px;
|
|
margin-left: 60px;
|
|
|
|
|
|
|
|
+ .chat {
|
|
|
|
+ cursor: pointer;
|
|
|
|
+ width: 40px;
|
|
|
|
+ height: 40px;
|
|
|
|
+ background: $--color-primary;
|
|
|
|
+ color: #fff;
|
|
|
|
+ border-radius: 40px;
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
|
|
+ justify-content: center;
|
|
|
|
+ font-size: 20px;
|
|
|
|
+ }
|
|
|
|
+
|
|
.people-tell {
|
|
.people-tell {
|
|
border-bottom: 1px solid #e7ebee;
|
|
border-bottom: 1px solid #e7ebee;
|
|
display: flex;
|
|
display: flex;
|