From 3eab4409e562a873d9bd7b047b3d0590901a6654 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 11 三月 2026 11:06:49 +0800
Subject: [PATCH] #
---
src/main/webapp/views/config/config.html | 43 ++++++++++++++++++++++++++++++++++++-------
1 files changed, 36 insertions(+), 7 deletions(-)
diff --git a/src/main/webapp/views/config/config.html b/src/main/webapp/views/config/config.html
index 02587dd..2c4bd10 100644
--- a/src/main/webapp/views/config/config.html
+++ b/src/main/webapp/views/config/config.html
@@ -22,6 +22,7 @@
html,
body {
margin: 0;
+ height: 100%;
min-height: 100%;
color: var(--text-main);
font-family: "Avenir Next", "PingFang SC", "Microsoft YaHei", sans-serif;
@@ -34,12 +35,16 @@
.page-shell {
max-width: 1700px;
margin: 0 auto;
+ height: 100%;
padding: 14px;
box-sizing: border-box;
+ display: flex;
}
.card-shell {
position: relative;
+ flex: 1 1 auto;
+ display: flex;
border-radius: 24px;
border: 1px solid var(--card-border);
background:
@@ -53,6 +58,12 @@
.card-body {
position: relative;
z-index: 1;
+ flex: 1 1 auto;
+ min-height: 0;
+ min-width: 0;
+ width: 100%;
+ display: flex;
+ flex-direction: column;
}
.list-toolbar {
@@ -164,6 +175,11 @@
.table-wrap {
padding: 10px 16px;
+ flex: 1 1 auto;
+ min-height: 0;
+ min-width: 0;
+ width: 100%;
+ display: flex;
}
.table-shell {
@@ -171,6 +187,11 @@
overflow: hidden;
border: 1px solid rgba(217, 227, 238, 0.98);
background: rgba(255, 255, 255, 0.95);
+ flex: 1 1 auto;
+ min-height: 0;
+ min-width: 0;
+ width: 100%;
+ max-width: 100%;
}
.table-shell .el-table {
@@ -436,6 +457,7 @@
<el-button slot="reference" size="small" plain icon="el-icon-setting">鍒楄缃�</el-button>
</el-popover>
<el-button size="small" plain icon="el-icon-download" :loading="exporting" @click="exportRows">瀵煎嚭</el-button>
+ <el-button size="small" plain type="warning" icon="el-icon-refresh-right" @click="refreshCache">鍒锋柊缂撳瓨</el-button>
</div>
</div>
</div>
@@ -510,7 +532,7 @@
</div>
</el-collapse-transition>
- <div class="table-wrap">
+ <div ref="tableWrap" class="table-wrap">
<div class="table-shell">
<el-table
ref="dataTable"
@@ -552,8 +574,9 @@
<span v-else>{{ valueOrDash(getTableValue(scope.row, field)) }}</span>
</template>
</el-table-column>
- <el-table-column label="鎿嶄綔" width="160" fixed="right" align="center">
+ <el-table-column label="鎿嶄綔" width="190" fixed="right" align="center">
<template slot-scope="scope">
+ <el-button type="text" @click="openDetailDialog(scope.row)">璇︽儏</el-button>
<el-button type="text" @click="openEditDialog(scope.row)">淇敼</el-button>
<el-button type="text" style="color:#f56c6c;" @click="removeRows([scope.row[primaryKeyField]])">鍒犻櫎</el-button>
</template>
@@ -562,7 +585,7 @@
</div>
</div>
- <div class="pager-bar">
+ <div ref="pagerBar" class="pager-bar">
<el-pagination
small
background
@@ -580,7 +603,7 @@
<el-dialog
class="dialog-panel"
- :title="dialog.mode === 'create' ? '鏂板 Config' : '淇敼 Config'"
+ :title="dialog.mode === 'create' ? '鏂板 Config' : (dialog.mode === 'detail' ? '璇︽儏 Config' : '淇敼 Config')"
:visible.sync="dialog.visible"
width="760px"
:close-on-click-modal="false">
@@ -594,7 +617,7 @@
<el-col
v-for="field in editableFields"
:key="'dialog-' + field.field"
- :span="field.textarea || field.kind === 'image' ? 24 : 12">
+ :span="field.dialogSpan || (field.textarea || field.kind === 'image' ? 24 : 12)">
<el-form-item :label="field.label" :prop="field.field">
<el-date-picker
v-if="field.kind === 'date'"
@@ -602,12 +625,14 @@
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
:placeholder="'璇烽�夋嫨' + field.label"
+ :disabled="isDialogReadonly"
style="width: 100%;">
</el-date-picker>
<el-select
v-else-if="field.kind === 'enum'"
v-model="dialogForm[field.field]"
clearable
+ :disabled="isDialogReadonly"
:placeholder="'璇烽�夋嫨' + field.label"
style="width: 100%;">
<el-option
@@ -622,6 +647,7 @@
v-model="dialogDisplay[field.field]"
:fetch-suggestions="getSuggestionFetcher(field)"
:placeholder="'璇疯緭鍏�' + field.label"
+ :disabled="isDialogReadonly"
style="width: 100%;"
@select="handleForeignSelect(field, $event)"
@input="handleForeignInput(field)">
@@ -633,6 +659,7 @@
<el-switch
v-else-if="field.kind === 'checkbox'"
v-model="dialogForm[field.field]"
+ :disabled="isDialogReadonly"
:active-value="normalizeOptionValue(field, field.checkboxActiveRaw)"
:inactive-value="normalizeOptionValue(field, field.checkboxInactiveRaw)"
active-color="#13ce66"
@@ -643,11 +670,13 @@
v-model.trim="dialogForm[field.field]"
type="textarea"
:rows="3"
+ :disabled="isDialogReadonly"
:placeholder="'璇疯緭鍏�' + field.label">
</el-input>
<el-input
v-else
v-model.trim="dialogForm[field.field]"
+ :disabled="isDialogReadonly"
:placeholder="'璇疯緭鍏�' + field.label">
</el-input>
</el-form-item>
@@ -656,7 +685,7 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialog.visible = false">鍙栨秷</el-button>
- <el-button type="primary" :loading="dialog.submitting" @click="submitDialog">淇濆瓨</el-button>
+ <el-button v-if="!isDialogReadonly" type="primary" :loading="dialog.submitting" @click="submitDialog">淇濆瓨</el-button>
</div>
</el-dialog>
</div>
@@ -665,6 +694,6 @@
<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/vue/js/vue.min.js"></script>
<script type="text/javascript" src="../../static/vue/element/element.js"></script>
-<script type="text/javascript" src="../../static/js/config/config.js?v=20260310" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/config/config.js" charset="utf-8"></script>
</body>
</html>
--
Gitblit v1.9.1