From a834f163b7692324dbcf51660685e7b1ce132fb7 Mon Sep 17 00:00:00 2001 From: zhuoqinglian <1035449612@qq.com> Date: Wed, 17 Jun 2026 14:20:48 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E6=9B=BF=E6=8D=A2?= =?UTF-8?q?=E8=AF=8D=E9=A1=B5=E9=9D=A2=E6=A0=B7=E5=BC=8F=E6=94=B9=E9=80=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/ReplacementWordDialog.vue | 317 ++-------- main/manager-web/src/i18n/de.js | 2 + main/manager-web/src/i18n/en.js | 2 + main/manager-web/src/i18n/pt_BR.js | 2 + main/manager-web/src/i18n/vi.js | 2 + main/manager-web/src/i18n/zh_CN.js | 2 + main/manager-web/src/i18n/zh_TW.js | 2 + .../src/views/ReplacementWordManagement.vue | 577 +++++------------- 8 files changed, 232 insertions(+), 674 deletions(-) diff --git a/main/manager-web/src/components/ReplacementWordDialog.vue b/main/manager-web/src/components/ReplacementWordDialog.vue index 2a38885e..5b536f47 100644 --- a/main/manager-web/src/components/ReplacementWordDialog.vue +++ b/main/manager-web/src/components/ReplacementWordDialog.vue @@ -1,76 +1,67 @@ - - diff --git a/main/manager-web/src/i18n/de.js b/main/manager-web/src/i18n/de.js index d663eecc..ad8136a8 100644 --- a/main/manager-web/src/i18n/de.js +++ b/main/manager-web/src/i18n/de.js @@ -352,6 +352,8 @@ export default { // Replacement word management page related 'replacementWordManagement.pageTitle': 'Ersetzungswortverwaltung', + 'replacementWordManagement.searchPlaceholder': 'Bitte geben Sie den Dateinamen zur Suche ein', + 'replacementWordManagement.search': 'Suchen', 'replacementWordManagement.fileName': 'Dateiname', 'replacementWordManagement.replacementWordCount': 'Anzahl der Ersetzungswörter', 'replacementWordManagement.replacementWordContent': 'Ersetzungswortinhalt', diff --git a/main/manager-web/src/i18n/en.js b/main/manager-web/src/i18n/en.js index e4a4250f..37c24581 100644 --- a/main/manager-web/src/i18n/en.js +++ b/main/manager-web/src/i18n/en.js @@ -352,6 +352,8 @@ export default { // Replacement word management page related 'replacementWordManagement.pageTitle': 'Replacement Word Management', + 'replacementWordManagement.searchPlaceholder': 'Please enter file name to search', + 'replacementWordManagement.search': 'Search', 'replacementWordManagement.fileName': 'File Name', 'replacementWordManagement.replacementWordCount': 'Replacement Word Count', 'replacementWordManagement.replacementWordContent': 'Replacement Word Content', diff --git a/main/manager-web/src/i18n/pt_BR.js b/main/manager-web/src/i18n/pt_BR.js index f554570e..ee356bb8 100644 --- a/main/manager-web/src/i18n/pt_BR.js +++ b/main/manager-web/src/i18n/pt_BR.js @@ -352,6 +352,8 @@ export default { // Replacement word management page related 'replacementWordManagement.pageTitle': 'Gerenciamento de Palavras de Substituição', + 'replacementWordManagement.searchPlaceholder': 'Digite o nome do arquivo para pesquisar', + 'replacementWordManagement.search': 'Pesquisar', 'replacementWordManagement.fileName': 'Nome do Arquivo', 'replacementWordManagement.replacementWordCount': 'Quantidade de Palavras de Substituição', 'replacementWordManagement.replacementWordContent': 'Conteúdo Substituto', diff --git a/main/manager-web/src/i18n/vi.js b/main/manager-web/src/i18n/vi.js index 0e0a5bf8..b98268cf 100644 --- a/main/manager-web/src/i18n/vi.js +++ b/main/manager-web/src/i18n/vi.js @@ -352,6 +352,8 @@ export default { // Replacement word management page related 'replacementWordManagement.pageTitle': 'Quản lý từ thay thế', + 'replacementWordManagement.searchPlaceholder': 'Vui lòng nhập tên tệp để tìm kiếm', + 'replacementWordManagement.search': 'Tìm kiếm', 'replacementWordManagement.fileName': 'Tên tệp', 'replacementWordManagement.replacementWordCount': 'Số lượng từ thay thế', 'replacementWordManagement.replacementWordContent': 'Nội dung từ thay thế', diff --git a/main/manager-web/src/i18n/zh_CN.js b/main/manager-web/src/i18n/zh_CN.js index 95b9b825..be639582 100644 --- a/main/manager-web/src/i18n/zh_CN.js +++ b/main/manager-web/src/i18n/zh_CN.js @@ -352,6 +352,8 @@ export default { // 替换词对话框相关 'replacementWordManagement.pageTitle': '替换词管理', + 'replacementWordManagement.searchPlaceholder': '请输入文件名称查询', + 'replacementWordManagement.search': '搜索', 'replacementWordManagement.fileName': '文件名称', 'replacementWordManagement.replacementWordCount': '替换词数量', 'replacementWordManagement.replacementWordContent': '替换词内容', diff --git a/main/manager-web/src/i18n/zh_TW.js b/main/manager-web/src/i18n/zh_TW.js index 1a696a82..f1878f17 100644 --- a/main/manager-web/src/i18n/zh_TW.js +++ b/main/manager-web/src/i18n/zh_TW.js @@ -352,6 +352,8 @@ export default { // 替換詞管理頁面相關 'replacementWordManagement.pageTitle': '替換詞管理', + 'replacementWordManagement.searchPlaceholder': '請輸入檔案名稱查詢', + 'replacementWordManagement.search': '搜尋', 'replacementWordManagement.fileName': '檔案名稱', 'replacementWordManagement.replacementWordCount': '替換詞數量', 'replacementWordManagement.replacementWordContent': '替換詞內容', diff --git a/main/manager-web/src/views/ReplacementWordManagement.vue b/main/manager-web/src/views/ReplacementWordManagement.vue index 02fd5aed..718a2773 100644 --- a/main/manager-web/src/views/ReplacementWordManagement.vue +++ b/main/manager-web/src/views/ReplacementWordManagement.vue @@ -1,100 +1,89 @@ @@ -392,24 +393,23 @@ export default { } .main-wrapper { - height: calc(100vh - 63px - 35px - 72px); - margin: 0 22px; - border-radius: 15px; - box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1); + height: calc(100vh - 63px - 35px); + padding: 20px 22px 0; position: relative; - background: rgba(237, 242, 255, 0.5); display: flex; flex-direction: column; + box-sizing: border-box; } -.operation-bar { +.operation-header { display: flex; - justify-content: space-between; align-items: center; - padding: 22px 24px; + justify-content: space-between; + padding: 0 0 16px 0; } .page-title { + font-weight: 500; font-size: 24px; margin: 0; } @@ -424,14 +424,7 @@ export default { width: 240px; } -.btn-search { - background: linear-gradient(135deg, #6b8cff, #a966ff); - border: none; - color: white; -} - .content-panel { - flex: 1; display: flex; overflow: hidden; height: 100%; @@ -460,7 +453,7 @@ export default { overflow: hidden; ::v-deep .el-card__body { - padding: 15px; + padding: 14px 20px; display: flex; flex-direction: column; flex: 1; @@ -468,185 +461,8 @@ export default { } } -.table_bottom { - display: flex; - justify-content: space-between; - align-items: center; - margin-top: 10px; -} - .ctrl_btn { display: flex; - gap: 8px; - padding-left: 26px; - - .el-button { - min-width: 72px; - height: 32px; - padding: 7px 12px 7px 10px; - font-size: 12px; - border-radius: 4px; - line-height: 1; - font-weight: 500; - border: none; - transition: all 0.3s ease; - box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); - - &:hover { - transform: translateY(-1px); - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); - } - } - - .el-button--primary { - background: #5f70f3; - color: white; - } - - .el-button--danger { - background: #fd5b63; - color: white; - } -} - -.custom-pagination { - display: flex; - align-items: center; - gap: 10px; - - .el-select { - margin-right: 8px; - } - - .pagination-btn:first-child, - .pagination-btn:nth-child(2), - .pagination-btn:nth-last-child(2), - .pagination-btn:nth-child(3) { - min-width: 60px; - height: 32px; - padding: 0 12px; - border-radius: 4px; - border: 1px solid #e4e7ed; - background: #dee7ff; - color: #606266; - font-size: 14px; - cursor: pointer; - transition: all 0.3s ease; - - &:hover { - background: #d7dce6; - } - - &:disabled { - opacity: 0.6; - cursor: not-allowed; - } - } - - .pagination-btn:not(:first-child):not(:nth-child(3)):not(:nth-child(2)):not(:nth-last-child(2)) { - min-width: 28px; - height: 32px; - padding: 0; - border-radius: 4px; - border: 1px solid transparent; - background: transparent; - color: #606266; - font-size: 14px; - cursor: pointer; - transition: all 0.3s ease; - - &:hover { - background: rgba(245, 247, 250, 0.3); - } - } - - .pagination-btn.active { - background: #5f70f3 !important; - color: #ffffff !important; - border-color: #5f70f3 !important; - - &:hover { - background: #6d7cf5 !important; - } - } - - .total-text { - color: #909399; - font-size: 14px; - margin-left: 10px; - } -} - -:deep(.transparent-table) { - background: white; - flex: 1; - width: 100%; - display: flex; - flex-direction: column; - - .el-table__body-wrapper { - flex: 1; - overflow-y: auto; - max-height: none !important; - } - - .el-table__header-wrapper { - flex-shrink: 0; - } - - .el-table__header th { - background: white !important; - color: black; - } - - &::before { - display: none; - } - - .el-table__body tr { - background-color: white; - - td { - border-top: 1px solid rgba(0, 0, 0, 0.04); - border-bottom: 1px solid rgba(0, 0, 0, 0.04); - } - } -} - -:deep(.el-checkbox__inner) { - background-color: #ffffff !important; - border-color: #cccccc !important; -} - -:deep(.el-checkbox__inner:hover) { - border-color: #cccccc !important; -} - -:deep(.el-checkbox__input.is-checked .el-checkbox__inner) { - background-color: #5f70f3 !important; - border-color: #5f70f3 !important; -} - -@media (min-width: 1144px) { - .table_bottom { - display: flex; - justify-content: space-between; - align-items: center; - margin-top: 40px; - } - - :deep(.transparent-table) { - .el-table__body tr { - td { - padding-top: 16px; - padding-bottom: 16px; - } - - &+tr { - margin-top: 10px; - } - } - } } :deep(.el-table .el-button--text) { @@ -657,16 +473,7 @@ export default { color: #5a64b5; } -.el-button--success { - background: #5bc98c; - color: white; -} - :deep(.el-table .cell) { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - .content-text { display: block; max-width: 300px; @@ -676,64 +483,6 @@ export default { } } -.page-size-select { - width: 100px; - margin-right: 10px; - - :deep(.el-input__inner) { - height: 32px; - line-height: 32px; - border-radius: 4px; - border: 1px solid #e4e7ed; - background: #dee7ff; - color: #606266; - font-size: 14px; - } - - :deep(.el-input__suffix) { - right: 6px; - width: 15px; - height: 20px; - display: flex; - justify-content: center; - align-items: center; - top: 6px; - border-radius: 4px; - } - - :deep(.el-input__suffix-inner) { - display: flex; - align-items: center; - justify-content: center; - width: 100%; - } - - :deep(.el-icon-arrow-up:before) { - content: ""; - display: inline-block; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-top: 9px solid #606266; - position: relative; - transform: rotate(0deg); - transition: transform 0.3s; - } -} - -:deep(.el-table) { - .el-table__body-wrapper { - transition: height 0.3s ease; - } -} - -.el-table { - max-height: var(--table-max-height); - - .el-table__body-wrapper { - max-height: calc(var(--table-max-height) - 40px); - overflow-y: auto; - } -} .custom-tag { background: #e6ebff; color: #5778ff;