From 536b18a7c5d53d72d78ffab579ff24ac9146d5ab Mon Sep 17 00:00:00 2001
From: hyb <kk_huangyangbo@163.com>
Date: Tue, 20 Jan 2026 09:39:42 +0000
Subject: [PATCH] 接口自动化平台优化登录页面和首页; 项目看板增加多个统计数据和详细数据信息,看板布局和样式优化

---
 测试组/Test_platform/Interface_automation/frontend/src/pages/httprunner/DebugTalk.vue |  115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 115 insertions(+), 0 deletions(-)

diff --git "a/\346\265\213\350\257\225\347\273\204/Test_platform/Interface_automation/frontend/src/pages/httprunner/DebugTalk.vue" "b/\346\265\213\350\257\225\347\273\204/Test_platform/Interface_automation/frontend/src/pages/httprunner/DebugTalk.vue"
index 106b44e..04e3047 100644
--- "a/\346\265\213\350\257\225\347\273\204/Test_platform/Interface_automation/frontend/src/pages/httprunner/DebugTalk.vue"
+++ "b/\346\265\213\350\257\225\347\273\204/Test_platform/Interface_automation/frontend/src/pages/httprunner/DebugTalk.vue"
@@ -18,6 +18,14 @@
                     @click="handleRunCode"
                     >在线运行</el-button
                 >
+                <el-button
+                    round
+                    icon="el-icon-document-copy"
+                    type="success"
+                    size="small"
+                    @click="handleImportCode"
+                    >插入其他项目代码</el-button
+                >
             </div>
         </el-header>
 
@@ -44,6 +52,65 @@
         >
             <RunCodeResult :msg="resp.msg"></RunCodeResult>
         </el-drawer>
+
+        <el-dialog
+            title="插入其他项目代码"
+            :visible.sync="importDialogVisible"
+            width="70%"
+            :close-on-click-modal="false"
+        >
+            <div style="margin-bottom: 20px;">
+                <el-select
+                    v-model="selectedProjectId"
+                    placeholder="请选择项目"
+                    filterable
+                    @change="handleProjectChange"
+                    style="width: 100%;"
+                >
+                    <el-option
+                        v-for="project in projectList"
+                        :key="project.id"
+                        :label="project.name"
+                        :value="project.id"
+                    >
+                        <span style="float: left">{{ project.name }}</span>
+                        <span style="float: right; color: #8492a6; font-size: 13px">{{ project.responsible }}</span>
+                    </el-option>
+                </el-select>
+            </div>
+
+            <div v-if="selectedProjectCode" style="margin-bottom: 20px;">
+                <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;">
+                    <span style="font-weight: bold;">代码预览:</span>
+                    <el-button
+                        type="primary"
+                        size="small"
+                        icon="el-icon-document-copy"
+                        @click="handleCopyAll"
+                    >
+                        全部复制
+                    </el-button>
+                </div>
+                <el-input
+                    type="textarea"
+                    :rows="15"
+                    v-model="selectedProjectCode"
+                    readonly
+                    style="font-family: 'Courier New', monospace;"
+                ></el-input>
+            </div>
+
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="importDialogVisible = false">取 消</el-button>
+                <el-button
+                    type="primary"
+                    @click="handleConfirmImport"
+                    :disabled="!selectedProjectCode"
+                >
+                    确定插入
+                </el-button>
+            </span>
+        </el-dialog>
     </el-container>
 </template>
 
@@ -64,6 +131,10 @@
             editor: null,
             timeStamp: "",
             isShowDebug: false,
+            importDialogVisible: false,
+            projectList: [],
+            selectedProjectId: "",
+            selectedProjectCode: "",
             options: {
                 selectOnLineNumbers: false,
                 scrollbar: {
@@ -103,6 +174,50 @@
             this.$api.getDebugtalk(this.$route.params.id).then(resp => {
                 this.code = resp;
             });
+        },
+        handleImportCode() {
+            this.importDialogVisible = true;
+            this.getProjectList();
+        },
+        getProjectList() {
+            this.$api.getProjectList().then(resp => {
+                this.projectList = resp.results || [];
+            });
+        },
+        handleProjectChange(projectId) {
+            if (projectId) {
+                this.$api.getDebugtalk(projectId).then(resp => {
+                    this.selectedProjectCode = resp.code || "";
+                }).catch(err => {
+                    this.$message.error("获取项目驱动代码失败");
+                    this.selectedProjectCode = "";
+                });
+            }
+        },
+        handleCopyAll() {
+            if (this.selectedProjectCode) {
+                const textarea = document.createElement("textarea");
+                textarea.value = this.selectedProjectCode;
+                document.body.appendChild(textarea);
+                textarea.select();
+                try {
+                    document.execCommand("copy");
+                    this.$message.success("代码已复制到剪贴板");
+                } catch (err) {
+                    this.$message.error("复制失败,请手动复制");
+                }
+                document.body.removeChild(textarea);
+            }
+        },
+        handleConfirmImport() {
+            if (this.selectedProjectCode && this.editor) {
+                const currentCode = this.editor.getValue();
+                const newCode = currentCode + "\n\n" + this.selectedProjectCode;
+                this.editor.setValue(newCode);
+                this.code.code = newCode;
+                this.$message.success("代码已插入");
+                this.importDialogVisible = false;
+            }
         }
     },
     watch: {

--
Gitblit v1.9.1