This commit is contained in:
PQZ 2025-11-18 20:25:37 +08:00
parent 9fb1e00ca7
commit 65b1bf01e3
3 changed files with 107 additions and 85 deletions

View File

@ -58,12 +58,4 @@ public class BaseDynamicField extends DlBaseEntity
@Excel(name = "是否必填") @Excel(name = "是否必填")
private Integer ifRequired; private Integer ifRequired;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date createdTime;
/** 更新时间 */
private Date updatedTime;
} }

View File

@ -15,13 +15,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="ifRequired" column="if_required" /> <result property="ifRequired" column="if_required" />
<result property="delFlag" column="del_flag" /> <result property="delFlag" column="del_flag" />
<result property="creator" column="creator" /> <result property="creator" column="creator" />
<result property="createdTime" column="created_time" /> <result property="createTime" column="create_time" />
<result property="updater" column="updater" /> <result property="updater" column="updater" />
<result property="updatedTime" column="updated_time" /> <result property="updateTime" column="update_time" />
</resultMap> </resultMap>
<sql id="selectBaseDynamicFieldVo"> <sql id="selectBaseDynamicFieldVo">
select id, belong_entity, category, field_type, field_code, field_label, sort, if_required, del_flag, creator, created_time, updater, updated_time from base_dynamic_field select id, belong_entity, category, field_type, field_code, field_label, sort, if_required, del_flag, creator, create_time, updater, update_time from base_dynamic_field
</sql> </sql>
<select id="queryListPage" parameterType="BaseDynamicField" resultMap="BaseDynamicFieldResult"> <select id="queryListPage" parameterType="BaseDynamicField" resultMap="BaseDynamicFieldResult">

View File

@ -1,21 +1,35 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
<el-form-item label="所属对象" prop="belongEntity"> <el-form-item label="所属对象" prop="belongEntity">
<el-input <el-select v-model="queryParams.belongEntity" placeholder="所属对象" clearable>
v-model="queryParams.belongEntity" <el-option
placeholder="请输入所属对象" v-for="dict in dict.type.base_belong_entity"
clearable :key="dict.value"
@keyup.enter.native="handleQuery" :label="dict.label"
/> :value="dict.value"
/>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="所属类目" prop="category"> <el-form-item label="所属类目" prop="category">
<el-input <el-select v-model="queryParams.category" placeholder="所属类目" clearable>
v-model="queryParams.category" <el-option
placeholder="请输入所属类目" v-for="dict in dict.type.base_field_category"
clearable :key="dict.value"
@keyup.enter.native="handleQuery" :label="dict.label"
/> :value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="字段类型" prop="filedType">
<el-select v-model="queryParams.filedType" placeholder="字段类型" clearable>
<el-option
v-for="dict in dict.type.base_field_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@ -34,54 +48,37 @@
v-hasPermi="['base:field:add']" v-hasPermi="['base:field:add']"
>新增</el-button> >新增</el-button>
</el-col> </el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['base:field:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['base:field:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['base:field:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table v-loading="loading" :data="fieldList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="fieldList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column label="所属对象" align="center" prop="belongEntity">
<el-table-column label="主键" align="center" prop="id" /> <template slot-scope="scope">
<el-table-column label="所属对象" align="center" prop="belongEntity" /> <dict-tag :options="dict.type.base_belong_entity" :value="scope.row.belongEntity"/>
<el-table-column label="所属类目" align="center" prop="category" /> </template>
<el-table-column label="字段类型" align="center" prop="fieldType" /> </el-table-column>
<el-table-column label="所属类目" align="center" prop="category" >
<template slot-scope="scope">
<dict-tag :options="dict.type.base_field_category" :value="scope.row.category"/>
</template>
</el-table-column>
<el-table-column label="字段类型" align="center" prop="fieldType" >
<template slot-scope="scope">
<dict-tag :options="dict.type.base_field_type" :value="scope.row.fieldType"/>
</template>
</el-table-column>
<el-table-column label="字段编码" align="center" prop="fieldCode" /> <el-table-column label="字段编码" align="center" prop="fieldCode" />
<el-table-column label="字段显示名称" align="center" prop="fieldLabel" /> <el-table-column label="字段显示名称" align="center" prop="fieldLabel" />
<el-table-column label="显示顺序" align="center" prop="sort" /> <el-table-column label="显示顺序" align="center" prop="sort" />
<el-table-column label="是否必填" align="center" prop="ifRequired" /> <el-table-column label="是否必填" align="center" prop="ifRequired">
<el-table-column label="创建时间" align="center" prop="createdTime" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.createdTime, '{y}-{m}-{d}') }}</span> <span v-if="scope.row.ifRequired == 1"></span>
<span v-else></span>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
@ -114,12 +111,36 @@
<!-- 添加或修改动态单字段对话框 --> <!-- 添加或修改动态单字段对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-form-item label="所属对象" prop="belongEntity"> <el-form-item label="所属对象" prop="belongEntity">
<el-input v-model="form.belongEntity" placeholder="请输入所属对象" /> <el-select v-model="form.belongEntity" placeholder="请选择所属对象" clearable>
<el-option
v-for="dict in dict.type.base_belong_entity"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="所属类目" prop="category"> <el-form-item label="所属类目" prop="category">
<el-input v-model="form.category" placeholder="请输入所属类目" /> <el-select v-model="form.category" placeholder="请选择所属类目" clearable>
<el-option
v-for="dict in dict.type.base_field_category"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="字段类型" prop="fieldType">
<el-select v-model="form.fieldType" placeholder="请选择所属类目" clearable>
<el-option
v-for="dict in dict.type.base_field_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="字段编码" prop="fieldCode"> <el-form-item label="字段编码" prop="fieldCode">
<el-input v-model="form.fieldCode" placeholder="请输入字段编码" /> <el-input v-model="form.fieldCode" placeholder="请输入字段编码" />
@ -131,23 +152,10 @@
<el-input v-model="form.sort" placeholder="请输入显示顺序" /> <el-input v-model="form.sort" placeholder="请输入显示顺序" />
</el-form-item> </el-form-item>
<el-form-item label="是否必填" prop="ifRequired"> <el-form-item label="是否必填" prop="ifRequired">
<el-input v-model="form.ifRequired" placeholder="请输入是否必填" /> <el-radio-group v-model="form.ifRequired">
</el-form-item> <el-radio :label="1"></el-radio>
<el-form-item label="创建时间" prop="createdTime"> <el-radio :label="0"></el-radio>
<el-date-picker clearable </el-radio-group>
v-model="form.createdTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择创建时间">
</el-date-picker>
</el-form-item>
<el-form-item label="更新时间" prop="updatedTime">
<el-date-picker clearable
v-model="form.updatedTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择更新时间">
</el-date-picker>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -163,6 +171,7 @@ import { listField, getField, delField, addField, updateField } from "@/api/base
export default { export default {
name: "Field", name: "Field",
dicts: ['base_belong_entity','base_field_category','base_field_type'],
data() { data() {
return { return {
// //
@ -195,6 +204,27 @@ export default {
form: {}, form: {},
// //
rules: { rules: {
belongEntity: [
{ required: true, trigger: "blur", message: "所属对象不能为空" }
],
category: [
{ required: true, trigger: "blur", message: "所属类目不能为空" }
],
filedType: [
{ required: true, trigger: "blur", message: "字段类型不能为空" }
],
fieldCode: [
{ required: true, trigger: "blur", message: "字段编码不能为空" }
],
fieldLabel: [
{ required: true, trigger: "blur", message: "字段显示名称不能为空" }
],
sort: [
{ required: true, trigger: "blur", message: "显示顺序不能为空" }
],
ifRequired: [
{ required: true, trigger: "blur", message: "是否必填不能为空" }
]
} }
}; };
}, },