From 97c573e810e85fe73fdf2d15b5ab1e04248d17a6 Mon Sep 17 00:00:00 2001 From: zhangxiao <898441624@qq.com> Date: 星期五, 16 八月 2024 14:12:25 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/web/flow_web --- src/views/sessionManager/components/historySession.vue | 249 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 249 insertions(+), 0 deletions(-) diff --git a/src/views/sessionManager/components/historySession.vue b/src/views/sessionManager/components/historySession.vue new file mode 100644 index 0000000..63ed439 --- /dev/null +++ b/src/views/sessionManager/components/historySession.vue @@ -0,0 +1,249 @@ +<template> + <div class="layoutHisCenter"> + <a-button + type="primary" + status="danger" + style=" + position: absolute; + top: 10px; + left: -40px; + font-size: 30px; + z-index: 9999; + cursor: pointer" + @click="emit('changeAgentType','1')" + > + <template #icon> + <icon-close style="font-size: 20px" /> + </template> + </a-button> + + <a-scrollbar + class="left-list" + style=" + height: calc(100vh - 100px); + overflow-y: auto; + overflow-x: hidden; + " + > + <div class="historyTitle___F_iam">鍘嗗彶浼氳瘽</div> + + + <div class="search"> +<!-- 鏌ヨ妗�--> + <div class="search-box"> + <icon-search /> + <a-input + placeholder="鎼滅储鍘嗗彶浼氳瘽" + v-model="searchValue" + style="width: 90%;" + /> + </div> + + </div> + + + <div class="historyCenter"> + <div + class="item historyCenter-box" + v-for="session in sessionList" + @click="querySessionDetail(session)" + > + <div class="text" > + <img + :style="{ width: '16px' }" + alt="dessert" + :src="session.avatar || imgSrc" + /> + {{ session.name }} + </div> + <div class="time" + >{{ + moment(new Date(session.create_time)).format( + 'YYYY-MM-DD HH:mm:ss' + ) + }} + </div> + </div> + </div> + </a-scrollbar> + </div> +</template> +<script setup lang="ts"> +import { + IconClose, + IconSearch, + IconTiktokColor +} from "@arco-design/web-vue/es/icon"; +import { useAppStore, useUserStore } from "@/store"; +import { computed, nextTick, onMounted, watch, reactive, ref, onBeforeMount, onBeforeUnmount } from "vue"; + +import { Message } from "@arco-design/web-vue"; +import EventBus from '@/utils/EventBus'; +import moment from "moment"; +import { + addSessionApi, + chatApi, + getDialogListApi, + getSessionDetailsApi, + sessionListApi +} from "@/api/session"; +import { queryCanvasList } from "@/api/Agent"; +const emit = defineEmits(["querySessionDetail","changeAgentType"]); +import logo from "@/assets/images/model.png"; +const sessionList = ref([]); //浼氳瘽鍒楄〃 +const activeSessionId = ref(""); +const fieldNames = { value: "id", label: "name" }; +const dialogs = ref([]); +const dialogObj = reactive({}); +const agentObj = reactive({}); +const agentList = ref([]); +const searchValue = ref(""); +const selectValue = ref(""); +const sectionList = ref({}); +const imgSrc = ref(logo); +const DialogList = async () => { + const { code, data } = await getDialogListApi(); + if (code === 200) { + if (data) { + selectValue.value = data[0].id; + dialogs.value = data.map((item) => { + return { + ...item, + type: 1 //鏅鸿兘浣� + }; + }); + // console.log(data, "dialogs"); + queryCanvas(); + } + } +}; + +const queryCanvas = async (params = {}) => { + try { + const { data } = await queryCanvasList(params); + console.log(data, "agent"); + agentList.value = data.map((item) => { + return { + ...item, + name: item.title, + type: 2 //agent + }; + }); + // 鍚堝苟鏁扮粍 + dialogs.value = dialogs.value.concat(agentList.value); + + // 鍒ゆ柇褰撳墠鏄櫤鑳戒綋鎴朼gent + // console.log(val, 'val'); + // if (dialogs.value.length > 0) { + // dialogChange(dialogs.value[0].id); + // } + //鏂板缓浼氳瘽 + querySessionList(dialogs.value[0].id); + + + } catch (err) { + // you can report use errorHandler or other + } finally { + } +}; + + +// 鏌ヨ浼氳瘽鍒楄〃 +const querySessionList = async (id) => { + const { code, data } = await sessionListApi(id); + if (code === 200) { + sessionList.value = data; + + + + } else { + Message.warning("鏌ヨ澶辫触"); + } +}; + + +const querySessionDetail = async (session) => { + console.log(session, 'session'); + emit('changeAgentType','1'); + emit('querySessionDetail',session); +} +onBeforeMount(()=>{ + DialogList() +}) + +onMounted(() => { + EventBus.on("history", () => { + emit('changeAgentType','3'); + DialogList() + + }); +}) +onBeforeUnmount(() => { + EventBus.off("history"); +}); + + +</script> +<style scoped lang="less"> + .layoutHisCenter{ + width: 100%; + //background: #999999; + position: absolute; + left: 0; + top: 0; + .historyTitle___F_iam { + font-size: 36px; + line-height: 50px; + font-weight: 700; + text-align: center; + } + .search{ + width: 100%; + .search-box{ + width: 70%; + margin-left: 15%; + border: 1px solid var(--color-text-4); + padding: 10px; + border-radius: 12px; + background: var(--color-bg-2); + margin-top: 20px; + margin-bottom: 20px; + :deep(.arco-input-wrapper){ + border: none; + background: var(--color-bg-2); + } + } + } + .historyCenter{ + width: 100%; + margin-top: 30px; + .historyCenter-box{ + display: flex; + width: 70%; + margin-left: 15%; + //border: 1px solid var(--color-neutral-3); + padding: 16px; + border-radius: 12px; + background: var(--color-bg-1); + margin-top: 10px; + cursor: pointer; + justify-content: space-between; + align-items: center; + color: var(--color-text-2); + } + .historyCenter-box:hover{ + color: var(--color-text-2); + //border: 1px solid var(--color-neutral-3); + background: var(--color-bg-3); + box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09); + } + } + + + + + } + + + +</style> -- Gitblit v1.8.0