缩小表单尺寸

This commit is contained in:
砂糖
2025-08-25 11:46:03 +08:00
parent 421a856767
commit 819d3d2e59
38 changed files with 329 additions and 95 deletions

View File

@@ -65,6 +65,7 @@ export default {
font-size: 14px;
line-height: 50px;
margin-left: 8px;
padding: 0;
.no-redirect {
color: #97a8be;

View File

@@ -15,23 +15,23 @@
<el-form-item>
<el-radio v-model='radioValue' :label="3">
周期从
<el-input-number v-model='cycle01' :min="1" :max="30" /> -
<el-input-number v-model='cycle02' :min="cycle01 ? cycle01 + 1 : 2" :max="31" />
<el-input-number :controls=false controls-position="right" v-model='cycle01' :min="1" :max="30" /> -
<el-input-number :controls=false controls-position="right" v-model='cycle02' :min="cycle01 ? cycle01 + 1 : 2" :max="31" />
</el-radio>
</el-form-item>
<el-form-item>
<el-radio v-model='radioValue' :label="4">
<el-input-number v-model='average01' :min="1" :max="30" /> 号开始
<el-input-number v-model='average02' :min="1" :max="31 - average01 || 1" /> 日执行一次
<el-input-number :controls=false controls-position="right" v-model='average01' :min="1" :max="30" /> 号开始
<el-input-number :controls=false controls-position="right" v-model='average02' :min="1" :max="31 - average01 || 1" /> 日执行一次
</el-radio>
</el-form-item>
<el-form-item>
<el-radio v-model='radioValue' :label="5">
每月
<el-input-number v-model='workday' :min="1" :max="31" /> 号最近的那个工作日
<el-input-number :controls=false controls-position="right" v-model='workday' :min="1" :max="31" /> 号最近的那个工作日
</el-radio>
</el-form-item>

View File

@@ -9,16 +9,16 @@
<el-form-item>
<el-radio v-model='radioValue' :label="2">
周期从
<el-input-number v-model='cycle01' :min="0" :max="22" /> -
<el-input-number v-model='cycle02' :min="cycle01 ? cycle01 + 1 : 1" :max="23" /> 小时
<el-input-number :controls=false controls-position="right" v-model='cycle01' :min="0" :max="22" /> -
<el-input-number :controls=false controls-position="right" v-model='cycle02' :min="cycle01 ? cycle01 + 1 : 1" :max="23" /> 小时
</el-radio>
</el-form-item>
<el-form-item>
<el-radio v-model='radioValue' :label="3">
<el-input-number v-model='average01' :min="0" :max="22" /> 小时开始
<el-input-number v-model='average02' :min="1" :max="23 - average01 || 0" /> 小时执行一次
<el-input-number :controls=false controls-position="right" v-model='average01' :min="0" :max="22" /> 小时开始
<el-input-number :controls=false controls-position="right" v-model='average02' :min="1" :max="23 - average01 || 0" /> 小时执行一次
</el-radio>
</el-form-item>

View File

@@ -9,16 +9,16 @@
<el-form-item>
<el-radio v-model='radioValue' :label="2">
周期从
<el-input-number v-model='cycle01' :min="0" :max="58" /> -
<el-input-number v-model='cycle02' :min="cycle01 ? cycle01 + 1 : 1" :max="59" /> 分钟
<el-input-number :controls=false controls-position="right" v-model='cycle01' :min="0" :max="58" /> -
<el-input-number :controls=false controls-position="right" v-model='cycle02' :min="cycle01 ? cycle01 + 1 : 1" :max="59" /> 分钟
</el-radio>
</el-form-item>
<el-form-item>
<el-radio v-model='radioValue' :label="3">
<el-input-number v-model='average01' :min="0" :max="58" /> 分钟开始
<el-input-number v-model='average02' :min="1" :max="59 - average01 || 0" /> 分钟执行一次
<el-input-number :controls=false controls-position="right" v-model='average01' :min="0" :max="58" /> 分钟开始
<el-input-number :controls=false controls-position="right" v-model='average02' :min="1" :max="59 - average01 || 0" /> 分钟执行一次
</el-radio>
</el-form-item>

View File

@@ -9,16 +9,16 @@
<el-form-item>
<el-radio v-model='radioValue' :label="2">
周期从
<el-input-number v-model='cycle01' :min="1" :max="11" /> -
<el-input-number v-model='cycle02' :min="cycle01 ? cycle01 + 1 : 2" :max="12" />
<el-input-number :controls=false controls-position="right" v-model='cycle01' :min="1" :max="11" /> -
<el-input-number :controls=false controls-position="right" v-model='cycle02' :min="cycle01 ? cycle01 + 1 : 2" :max="12" />
</el-radio>
</el-form-item>
<el-form-item>
<el-radio v-model='radioValue' :label="3">
<el-input-number v-model='average01' :min="1" :max="11" /> 月开始
<el-input-number v-model='average02' :min="1" :max="12 - average01 || 0" /> 月月执行一次
<el-input-number :controls=false controls-position="right" v-model='average01' :min="1" :max="11" /> 月开始
<el-input-number :controls=false controls-position="right" v-model='average02' :min="1" :max="12 - average01 || 0" /> 月月执行一次
</el-radio>
</el-form-item>

View File

@@ -9,16 +9,16 @@
<el-form-item>
<el-radio v-model='radioValue' :label="2">
周期从
<el-input-number v-model='cycle01' :min="0" :max="58" /> -
<el-input-number v-model='cycle02' :min="cycle01 ? cycle01 + 1 : 1" :max="59" />
<el-input-number :controls=false controls-position="right" v-model='cycle01' :min="0" :max="58" /> -
<el-input-number :controls=false controls-position="right" v-model='cycle02' :min="cycle01 ? cycle01 + 1 : 1" :max="59" />
</el-radio>
</el-form-item>
<el-form-item>
<el-radio v-model='radioValue' :label="3">
<el-input-number v-model='average01' :min="0" :max="58" /> 秒开始
<el-input-number v-model='average02' :min="1" :max="59 - average01 || 0" /> 秒执行一次
<el-input-number :controls=false controls-position="right" v-model='average01' :min="0" :max="58" /> 秒开始
<el-input-number :controls=false controls-position="right" v-model='average02' :min="1" :max="59 - average01 || 0" /> 秒执行一次
</el-radio>
</el-form-item>

View File

@@ -40,7 +40,7 @@
<el-form-item>
<el-radio v-model='radioValue' :label="4">
<el-input-number v-model='average01' :min="1" :max="4" /> 周的星期
<el-input-number :controls=false controls-position="right" v-model='average01' :min="1" :max="4" /> 周的星期
<el-select clearable v-model="average02">
<el-option v-for="(item,index) of weekList" :key="index" :label="item.value" :value="item.key">{{item.value}}</el-option>
</el-select>

View File

@@ -15,16 +15,16 @@
<el-form-item>
<el-radio :label="3" v-model='radioValue'>
周期从
<el-input-number v-model='cycle01' :min='fullYear' :max="2098" /> -
<el-input-number v-model='cycle02' :min="cycle01 ? cycle01 + 1 : fullYear + 1" :max="2099" />
<el-input-number :controls=false controls-position="right" v-model='cycle01' :min='fullYear' :max="2098" /> -
<el-input-number :controls=false controls-position="right" v-model='cycle02' :min="cycle01 ? cycle01 + 1 : fullYear + 1" :max="2099" />
</el-radio>
</el-form-item>
<el-form-item>
<el-radio :label="4" v-model='radioValue'>
<el-input-number v-model='average01' :min='fullYear' :max="2098"/> 年开始
<el-input-number v-model='average02' :min="1" :max="2099 - average01 || fullYear" /> 年执行一次
<el-input-number :controls=false controls-position="right" v-model='average01' :min='fullYear' :max="2098"/> 年开始
<el-input-number :controls=false controls-position="right" v-model='average02' :min="1" :max="2099 - average01 || fullYear" /> 年执行一次
</el-radio>
</el-form-item>

View File

@@ -56,7 +56,7 @@ export default {
};
</script>
<style scoped>
<!-- <style scoped>
.stock-tree-card {
height: 100%;
border: none;
@@ -72,4 +72,4 @@ export default {
max-height: 80vh;
overflow-y: auto;
}
</style>
</style> -->

View File

@@ -0,0 +1,148 @@
<template>
<div class="base-table">
<!-- 给内部表格添加ref方便暴露 -->
<el-table
ref="internalTable"
v-bind="$attrs"
v-on="$listeners"
:data="data"
:loading="loading"
>
<!-- 通过配置数组渲染列 -->
<template v-for="(column, index) in columns">
<el-table-column
v-if="column.visible !== false"
v-bind="column"
>
<!-- 列的自定义内容插槽 -->
<template v-if="column.slot" #default="scope">
<slot :name="column.slot" :scope="scope"></slot>
</template>
<!-- 表头自定义内容 -->
<template v-if="column.headerSlot" #header>
<slot :name="column.headerSlot"></slot>
</template>
</el-table-column>
</template>
<!-- 操作列 -->
<el-table-column
v-if="showActionColumn"
:label="actionColumnLabel"
:width="actionColumnWidth"
:fixed="actionColumnFixed"
:align="actionColumnAlign"
>
<template #default="scope">
<slot name="action" :scope="scope"></slot>
</template>
</el-table-column>
<!-- 原生插槽支持直接写el-table-column -->
<slot></slot>
</el-table>
</div>
</template>
<script>
export default {
name: 'BaseTable',
props: {
// 表格数据
data: {
type: Array,
default: () => []
},
// 列配置数组
columns: {
type: Array,
default: () => []
},
// 是否显示加载状态
loading: {
type: Boolean,
default: false
},
// 是否显示操作列
showActionColumn: {
type: Boolean,
default: false
},
// 操作列标题
actionColumnLabel: {
type: String,
default: '操作'
},
// 操作列宽度
actionColumnWidth: {
type: Number,
default: 150
},
// 操作列固定方式
actionColumnFixed: {
type: String,
default: 'right'
},
// 操作列内容对齐方式
actionColumnAlign: {
type: String,
default: 'center'
}
},
// 暴露内部表格的方法和属性
methods: {
/**
* 获取内部el-table实例
*/
getTableInstance() {
return this.$refs.internalTable
},
/**
* 代理el-table的常用方法方便直接调用
*/
clearSelection() {
if (this.$refs.internalTable) {
this.$refs.internalTable.clearSelection()
}
},
toggleRowSelection(row, selected) {
if (this.$refs.internalTable) {
this.$refs.internalTable.toggleRowSelection(row, selected)
}
},
toggleAllSelection() {
if (this.$refs.internalTable) {
this.$refs.internalTable.toggleAllSelection()
}
},
doLayout() {
if (this.$refs.internalTable) {
this.$refs.internalTable.doLayout()
}
},
sort(prop, order) {
if (this.$refs.internalTable) {
this.$refs.internalTable.sort(prop, order)
}
}
},
// 提供一个$refs的代理方便访问内部表格
mounted() {
// 可以在这里添加一些初始化逻辑
}
}
</script>
<style scoped>
.base-table {
width: 100%;
box-sizing: border-box;
}
</style>

View File

@@ -8,6 +8,7 @@
:page-sizes="pageSizes"
:pager-count="pagerCount"
:total="total"
small
v-bind="$attrs"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
@@ -46,7 +47,7 @@ export default {
},
layout: {
type: String,
default: 'total, sizes, prev, pager, next, jumper'
default: 'total, sizes, prev, pager, next'
},
background: {
type: Boolean,