From b78c039181ac316964a0f0de077170de178d90ab Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期三, 27 七月 2022 15:14:25 +0800
Subject: [PATCH] 更新

---
 src/views/system/dic/index.vue |  343 +++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 202 insertions(+), 141 deletions(-)

diff --git a/src/views/system/dic/index.vue b/src/views/system/dic/index.vue
index 034140c..845e64e 100644
--- a/src/views/system/dic/index.vue
+++ b/src/views/system/dic/index.vue
@@ -1,57 +1,102 @@
 <template>
-	<div class="system-dic-container">
-		<el-card shadow="hover">
-			<div class="system-user-search mb15">
-				<el-input size="default" placeholder="请输入字典名称" style="max-width: 180px"> </el-input>
-				<el-button size="default" type="primary" class="ml10">
-					<el-icon>
-						<ele-Search />
-					</el-icon>
-					查询
-				</el-button>
-				<el-button size="default" type="success" class="ml10" @click="onOpenAddDic">
-					<el-icon>
-						<ele-FolderAdd />
-					</el-icon>
-					新增字典
-				</el-button>
-			</div>
-			<el-table :data="tableData.data" style="width: 100%">
-				<el-table-column type="index" label="序号" width="50" />
-				<el-table-column prop="dicName" label="字典名称" show-overflow-tooltip></el-table-column>
-				<el-table-column prop="fieldName" label="字段名" show-overflow-tooltip></el-table-column>
-				<el-table-column prop="status" label="字典状态" show-overflow-tooltip>
-					<template #default="scope">
-						<el-tag type="success" v-if="scope.row.status">启用</el-tag>
-						<el-tag type="info" v-else>禁用</el-tag>
-					</template>
-				</el-table-column>
-				<el-table-column prop="describe" label="字典描述" show-overflow-tooltip></el-table-column>
-				<el-table-column prop="createTime" label="创建时间" show-overflow-tooltip></el-table-column>
-				<el-table-column label="操作" width="100">
-					<template #default="scope">
-						<el-button size="small" text type="primary" @click="onOpenEditDic(scope.row)">修改</el-button>
-						<el-button size="small" text type="primary" @click="onRowDel(scope.row)">删除</el-button>
-					</template>
-				</el-table-column>
-			</el-table>
-			<el-pagination
-				@size-change="onHandleSizeChange"
-				@current-change="onHandleCurrentChange"
-				class="mt15"
-				:pager-count="5"
-				:page-sizes="[10, 20, 30]"
-				v-model:current-page="tableData.param.pageNum"
-				background
-				v-model:page-size="tableData.param.pageSize"
-				layout="total, sizes, prev, pager, next, jumper"
-				:total="tableData.total"
-			>
-			</el-pagination>
-		</el-card>
-		<AddDic ref="addDicRef" />
-		<EditDic ref="editDicRef" />
-	</div>
+    <div class="system-dic-container">
+        <el-card shadow="hover">
+            <el-row :gutter="10">
+                <el-col :xs="24" :sm="24" :md="10" :lg="10" :xl="10">
+                    <el-card class="box-card">
+                        <div class="box-card-header">
+                            <span>字典类型</span>
+                        </div>
+                        <div class="box-card-body">
+                            <div class="box-card-body-filter">
+                                <el-input class="input-box" placeholder="输入名称" @keyup.enter.native="queryHandle('dictionaryType')" />
+                                <el-button type="success" @click="showCreateHandle('dictionaryType')">新增</el-button>
+                                <el-button type="primary" @click="showCreateHandle('dictionaryType')">搜索</el-button>
+                            </div>
+                            <div class="table-content">
+                                <el-table :data="tableData.data" style="width: 100%">
+                                    <el-table-column type="index" label="序号" width="50" />
+                                    <el-table-column prop="dicName" label="字典名称" show-overflow-tooltip></el-table-column>
+                                    <el-table-column prop="fieldName" label="字段名" show-overflow-tooltip></el-table-column>
+                                    <el-table-column prop="describe" label="字典描述" show-overflow-tooltip></el-table-column>
+                                    <el-table-column prop="createTime" label="创建时间" show-overflow-tooltip></el-table-column>
+                                    <el-table-column label="操作" width="100">
+                                        <template #default="scope">
+                                            <el-button size="small" text type="primary" @click="onOpenEditDic(scope.row)">修改</el-button>
+                                            <el-button size="small" text type="primary" @click="onRowDel(scope.row)">删除</el-button>
+                                        </template>
+                                    </el-table-column>
+                                </el-table>
+                                <br />
+                                <el-pagination
+                                    @size-change="onHandleSizeChange"
+                                    @current-change="onHandleCurrentChange"
+                                    class="page-position"
+                                    :pager-count="5"
+                                    :page-sizes="[10, 20, 30]"
+                                    v-model:current-page="tableData.param.pageNum"
+                                    background
+                                    v-model:page-size="tableData.param.pageSize"
+                                    layout="total, sizes, prev, pager, next, jumper"
+                                    :total="tableData.total"
+                                >
+                                </el-pagination>
+                                <br />
+                                <br />
+                            </div>
+                        </div>
+                    </el-card>
+                </el-col>
+                <el-col :xs="24" :sm="24" :md="14" :lg="14" :xl="14">
+                    <el-card class="box-card">
+                        <div class="box-card-header">
+                            <span>字典详情 </span>
+                        </div>
+                        <div class="box-card-body">
+                            <div class="box-card-body-filter">
+                                <el-input class="input-box" placeholder="输入名称" @keyup.enter.native="queryHandle('dictionaryType')" />
+                                <el-button type="success" @click="showCreateHandle('dictionaryType')">新增</el-button>
+                                <el-button type="primary" @click="showCreateHandle('dictionaryType')">搜索</el-button>
+                            </div>
+                            <div class="table-content">
+                                <el-table :data="tableData.data" style="width: 100%">
+                                    <el-table-column type="index" label="序号" width="50" />
+                                    <el-table-column prop="dicName" label="字典名称" show-overflow-tooltip></el-table-column>
+                                    <el-table-column prop="fieldName" label="字段名" show-overflow-tooltip></el-table-column>
+                                    <el-table-column prop="describe" label="字典描述" show-overflow-tooltip></el-table-column>
+                                    <el-table-column prop="createTime" label="创建时间" show-overflow-tooltip></el-table-column>
+                                    <el-table-column label="操作" width="100">
+                                        <template #default="scope">
+                                            <el-button size="small" text type="primary" @click="onOpenEditDic(scope.row)">修改</el-button>
+                                            <el-button size="small" text type="primary" @click="onRowDel(scope.row)">删除</el-button>
+                                        </template>
+                                    </el-table-column>
+                                </el-table>
+                                <br />
+                                <el-pagination
+                                    @size-change="onHandleSizeChange"
+                                    @current-change="onHandleCurrentChange"
+                                    class="page-position"
+                                    :pager-count="5"
+                                    :page-sizes="[10, 20, 30]"
+                                    v-model:current-page="tableData.param.pageNum"
+                                    background
+                                    v-model:page-size="tableData.param.pageSize"
+                                    layout="total, sizes, prev, pager, next, jumper"
+                                    :total="tableData.total"
+                                >
+                                </el-pagination>
+                                <br />
+                                <br />
+                            </div>
+                        </div>
+                    </el-card>
+                </el-col>
+            </el-row>
+        </el-card>
+        <AddDic ref="addDicRef" />
+        <EditDic ref="editDicRef" />
+    </div>
 </template>
 
 <script lang="ts">
@@ -62,98 +107,114 @@
 
 // 定义接口来定义对象的类型
 interface TableDataRow {
-	dicName: string;
-	fieldName: string;
-	describe: string;
-	status: boolean;
-	createTime: string;
+    dicName: string;
+    fieldName: string;
+    describe: string;
+    status: boolean;
+    createTime: string;
 }
 interface TableDataState {
-	tableData: {
-		data: Array<TableDataRow>;
-		total: number;
-		loading: boolean;
-		param: {
-			pageNum: number;
-			pageSize: number;
-		};
-	};
+    tableData: {
+        data: Array<TableDataRow>;
+        total: number;
+        loading: boolean;
+        param: {
+            pageNum: number;
+            pageSize: number;
+        };
+    };
 }
 
 export default defineComponent({
-	name: 'systemDic',
-	components: { AddDic, EditDic },
-	setup() {
-		const addDicRef = ref();
-		const editDicRef = ref();
-		const state = reactive<TableDataState>({
-			tableData: {
-				data: [],
-				total: 0,
-				loading: false,
-				param: {
-					pageNum: 1,
-					pageSize: 10,
-				},
-			},
-		});
-		// 初始化表格数据
-		const initTableData = () => {
-			const data: Array<TableDataRow> = [];
-			for (let i = 0; i < 2; i++) {
-				data.push({
-					dicName: i === 0 ? '角色标识' : '用户性别',
-					fieldName: i === 0 ? 'SYS_ROLE' : 'SYS_UERINFO',
-					describe: i === 0 ? '这是角色字典' : '这是用户性别字典',
-					status: true,
-					createTime: new Date().toLocaleString(),
-				});
-			}
-			state.tableData.data = data;
-			state.tableData.total = state.tableData.data.length;
-		};
-		// 打开新增字典弹窗
-		const onOpenAddDic = () => {
-			addDicRef.value.openDialog();
-		};
-		// 打开修改字典弹窗
-		const onOpenEditDic = (row: TableDataRow) => {
-			editDicRef.value.openDialog(row);
-		};
-		// 删除字典
-		const onRowDel = (row: TableDataRow) => {
-			ElMessageBox.confirm(`此操作将永久删除字典名称:“${row.dicName}”,是否继续?`, '提示', {
-				confirmButtonText: '确认',
-				cancelButtonText: '取消',
-				type: 'warning',
-			})
-				.then(() => {
-					ElMessage.success('删除成功');
-				})
-				.catch(() => {});
-		};
-		// 分页改变
-		const onHandleSizeChange = (val: number) => {
-			state.tableData.param.pageSize = val;
-		};
-		// 分页改变
-		const onHandleCurrentChange = (val: number) => {
-			state.tableData.param.pageNum = val;
-		};
-		// 页面加载时
-		onMounted(() => {
-			initTableData();
-		});
-		return {
-			addDicRef,
-			editDicRef,
-			onOpenAddDic,
-			onOpenEditDic,
-			onRowDel,
-			onHandleSizeChange,
-			onHandleCurrentChange,
-			...toRefs(state),
-		};
-	},
+    name: 'systemDic',
+    components: { AddDic, EditDic },
+    setup() {
+        const addDicRef = ref();
+        const editDicRef = ref();
+        const state = reactive<TableDataState>({
+            tableData: {
+                data: [],
+                total: 0,
+                loading: false,
+                param: {
+                    pageNum: 1,
+                    pageSize: 10
+                }
+            }
+        });
+        // 初始化表格数据
+        const initTableData = () => {
+            const data: Array<TableDataRow> = [];
+            for (let i = 0; i < 2; i++) {
+                data.push({
+                    dicName: i === 0 ? '角色标识' : '用户性别',
+                    fieldName: i === 0 ? 'SYS_ROLE' : 'SYS_UERINFO',
+                    describe: i === 0 ? '这是角色字典' : '这是用户性别字典',
+                    status: true,
+                    createTime: new Date().toLocaleString()
+                });
+            }
+            state.tableData.data = data;
+            state.tableData.total = state.tableData.data.length;
+        };
+        // 打开新增字典弹窗
+        const onOpenAddDic = () => {
+            addDicRef.value.openDialog();
+        };
+        // 打开修改字典弹窗
+        const onOpenEditDic = (row: TableDataRow) => {
+            editDicRef.value.openDialog(row);
+        };
+        // 删除字典
+        const onRowDel = (row: TableDataRow) => {
+            ElMessageBox.confirm(`此操作将永久删除字典名称:“${row.dicName}”,是否继续?`, '提示', {
+                confirmButtonText: '确认',
+                cancelButtonText: '取消',
+                type: 'warning'
+            })
+                .then(() => {
+                    ElMessage.success('删除成功');
+                })
+                .catch(() => {});
+        };
+        // 分页改变
+        const onHandleSizeChange = (val: number) => {
+            state.tableData.param.pageSize = val;
+        };
+        // 分页改变
+        const onHandleCurrentChange = (val: number) => {
+            state.tableData.param.pageNum = val;
+        };
+        // 页面加载时
+        onMounted(() => {
+            initTableData();
+        });
+        return {
+            addDicRef,
+            editDicRef,
+            onOpenAddDic,
+            onOpenEditDic,
+            onRowDel,
+            onHandleSizeChange,
+            onHandleCurrentChange,
+            ...toRefs(state)
+        };
+    }
 });
 </script>
+<style scoped lang="scss">
+.box-card {
+    padding: 0 !important;
+    .box-card-header {
+        padding-bottom: 18px;
+        border-bottom: 1px solid #ebeef5;
+        -webkit-box-sizing: border-box;
+        box-sizing: border-box;
+        font-size: 16px;
+        width: 100%;
+    }
+    .box-card-body {
+        padding-top: 18px;
+    }
+}
+</style>

--
Gitblit v1.9.2