Explorar el Código

zbytest003-2025-02-18 07:55:07

genlitex hace 2 meses
padre
commit
12ec9f7d0b

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 4 - 0
dist/assets/index-QhIRoMUg.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
dist/assets/index-k6BNu-Qd.css


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 4
dist/assets/index-malWbV8K.js


+ 2 - 2
dist/index.html

@@ -4,8 +4,8 @@
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <title>Prototype Design</title>
-    <script type="module" crossorigin src="/prototype/3000/assets/index-malWbV8K.js"></script>
-    <link rel="stylesheet" crossorigin href="/prototype/3000/assets/index-Btspm7_H.css">
+    <script type="module" crossorigin src="/ide/proxy/6008/assets/index-QhIRoMUg.js"></script>
+    <link rel="stylesheet" crossorigin href="/ide/proxy/6008/assets/index-k6BNu-Qd.css">
   </head>
   <body>
     <div id="app"></div>

+ 84 - 0
src/assets/chat-style.css

@@ -0,0 +1,84 @@
+.chat-container {
+  display: flex;
+  height: 100vh;
+}
+
+.sidebar {
+  width: 15%;
+  background-color: purple;
+  color: white;
+  padding: 1rem;
+}
+
+.demand-list {
+  height: calc(100% - 2rem);
+  overflow-y: auto;
+}
+
+.demand-item {
+  margin-bottom: 0.5rem;
+}
+
+.eye-icon {
+  float: right;
+  cursor: pointer;
+}
+
+.chat-area {
+  flex-grow: 1;
+  padding: 1rem;
+}
+
+.chat-header {
+  font-size: 1.2rem;
+  margin-bottom: 1rem;
+}
+
+.chat-content {
+  max-height: calc(100% - 4rem);
+  overflow-y: auto;
+}
+
+.user-message, .bot-message {
+  margin-bottom: 0.5rem;
+  border-radius: 4px;
+  padding: 0.5rem 1rem;
+}
+
+.user-message {
+  background-color: green;
+}
+
+.bot-message {
+  background-color: lightgray;
+}
+
+.chat-input {
+  display: flex;
+  align-items: center;
+}
+
+input {
+  flex-grow: 1;
+  border-radius: 4px;
+  padding: 0.5rem;
+  margin-right: 0.5rem;
+}
+
+.send-button {
+  background-color: blue;
+  color: white;
+  border: none;
+  border-radius: 4px;
+  padding: 0.5rem 1rem;
+  cursor: pointer;
+}
+
+.upload-button {
+  background-color: blue;
+  color: white;
+  border: none;
+  border-radius: 4px;
+  padding: 0.5rem 1rem;
+  cursor: pointer;
+}

BIN
src/assets/img/a.png


+ 7 - 1
src/router/index.js

@@ -1,12 +1,18 @@
 import { createRouter, createWebHashHistory } from 'vue-router'
 import HomeView from '../views/HomeView.vue'
+import ChatView from '../views/ChatView.vue'
 
 const routes = [
   {
     path: '/',
     name: 'home',
     component: HomeView
-  }
+  },
+  {
+    path: '/chat',
+    name: 'chat',
+    component: ChatView
+  },
 ]
 
 const router = createRouter({

+ 158 - 0
src/views/ChatView.vue

@@ -0,0 +1,158 @@
+<template>
+  <div class="chat-container">
+    <div class="sidebar">
+      <div class="demand-list">
+        <div v-for="(item, index) in demands" :key="index" class="demand-item">
+          {{ item.title }}
+          <i class="eye-icon anticon anticon-eye" @click="viewDemand(item.id)"></i>
+        </div>
+      </div>
+    </div>
+    <div class="chat-area">
+      <div class="chat-header">Chat Interface</div>
+      <div class="chat-content">
+        <div v-for="(message, index) in messages" :key="index" :class="{ 'user-message': message.fromUser, 'bot-message': !message.fromUser }">
+          <span v-if="message.fromUser">{{ message.content }}</span>
+          <span v-else>{{ message.content }}</span>
+        </div>
+      </div>
+      <div class="chat-input">
+        <input v-model="inputMessage" placeholder="Type a message...">
+        <button class="send-button" @click="sendMessage">Send</button>
+        <label class="upload-button">
+          <input type="file" @change="handleFileUpload">
+          Upload File
+        </label>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { defineComponent, ref } from 'vue';
+
+export default defineComponent({
+  name: 'ChatView',
+  setup() {
+    const demands = ref([
+      { id: 1, title: 'Demand 1' },
+      { id: 2, title: 'Demand 2' },
+      // Add more demands as needed
+    ]);
+
+    const messages = ref([]);
+    const inputMessage = ref('');
+    const selectedFile = ref(null);
+
+    const sendMessage = () => {
+      messages.value.push({ fromUser: true, content: inputMessage.value });
+      messages.value.push({ fromUser: false, content: '正在建设中...' });
+      inputMessage.value = '';
+    };
+
+    const handleFileUpload = (event) => {
+      selectedFile.value = event.target.files[0];
+    };
+
+    const viewDemand = (demandId) => {
+      // Logic to view the demand
+    };
+
+    return {
+      demands,
+      messages,
+      inputMessage,
+      sendMessage,
+      handleFileUpload,
+      viewDemand,
+    };
+  },
+});
+</script>
+
+<style scoped>
+.chat-container {
+  display: flex;
+  height: 100vh;
+}
+
+.sidebar {
+  width: 15%;
+  background-color: purple;
+  color: white;
+  padding: 1rem;
+}
+
+.demand-list {
+  height: calc(100% - 2rem);
+  overflow-y: auto;
+}
+
+.demand-item {
+  margin-bottom: 0.5rem;
+}
+
+.eye-icon {
+  float: right;
+  cursor: pointer;
+}
+
+.chat-area {
+  flex-grow: 1;
+  padding: 1rem;
+}
+
+.chat-header {
+  font-size: 1.2rem;
+  margin-bottom: 1rem;
+}
+
+.chat-content {
+  max-height: calc(100% - 4rem);
+  overflow-y: auto;
+}
+
+.user-message, .bot-message {
+  margin-bottom: 0.5rem;
+  border-radius: 4px;
+  padding: 0.5rem 1rem;
+}
+
+.user-message {
+  background-color: green;
+}
+
+.bot-message {
+  background-color: lightgray;
+}
+
+.chat-input {
+  display: flex;
+  align-items: center;
+}
+
+input {
+  flex-grow: 1;
+  border-radius: 4px;
+  padding: 0.5rem;
+  margin-right: 0.5rem;
+}
+
+.send-button {
+  background-color: blue;
+  color: white;
+  border: none;
+  border-radius: 4px;
+  padding: 0.5rem 1rem;
+  cursor: pointer;
+}
+
+.upload-button {
+  background-color: blue;
+  color: white;
+  border: none;
+  border-radius: 4px;
+  padding: 0.5rem 1rem;
+  cursor: pointer;
+}
+</style>

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio