#
Junjie
昨天 3eab4409e562a873d9bd7b047b3d0590901a6654
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>