This commit is contained in:
caozehui
2024-11-01 15:51:46 +08:00
parent 22868b887b
commit faed8ced25
3 changed files with 22 additions and 11 deletions

View File

@@ -1,6 +1,6 @@
<template>
<el-dialog v-model="dialogVisible" :title="dialogTitle"
v-bind="dialogSmall">
v-bind="dialogSmall" @close="close">
<div>
<el-form :model="formContent" ref="dialogFormRef" :rules="rules">
<el-form-item label="字典类型" :label-width="100">
@@ -15,7 +15,14 @@
<el-form-item label="值" :label-width="100" prop="dictValue">
<el-input v-model="formContent.dictValue" placeholder="请输入" autocomplete="off"/>
</el-form-item>
<el-form-item label="显示排序" :label-width="100">
<el-form-item label="事件等级" :label-width="100" prop="level">
<el-select v-model.number="formContent.level">
<el-option label="普通" :value="0"/>
<el-option label="中等" :value="1"/>
<el-option label="严重" :value="2"/>
</el-select>
</el-form-item>
<el-form-item label="排序" :label-width="100">
<el-input-number v-model="formContent.sort"/>
</el-form-item>
</el-form>
@@ -41,6 +48,7 @@ const rules: Ref<Record<string, Array<FormItemRule>>> = ref({
name: [{required: true, message: '类型名称必填!', trigger: 'blur'}],
code: [{required: true, message: '类型编码必填!', trigger: 'blur'}],
dictValue: [{required: true, message: '类型值必填!', trigger: 'blur'}],
level: [{required: true, message: '事件等级必填!', trigger: 'blur'}],
})
const dialogFormRef = ref()
@@ -58,6 +66,7 @@ function useMetaInfo() {
code: "",
value: "",
dictValue: "",
level: 0,
sort: 100,
state: 1,
})
@@ -66,7 +75,7 @@ function useMetaInfo() {
}
let dialogTitle = computed(() => {
return titleType.value === 'add' ? '新增字典类型' : '编辑字典类型'
return titleType.value === 'add' ? '新增字典数据' : '编辑字典数据'
})
const resetFormContent = () => {
@@ -76,6 +85,8 @@ const resetFormContent = () => {
name: "",
code: "",
value: "",
dictValue: "",
level: 0,
sort: 100,
state: 1,
}

View File

@@ -7,6 +7,7 @@
<ProTable ref='proTable' :columns="columns" :request-api='getDictDataListByTypeId' :initParam="initParam">
<template #tableHeader="scope">
<el-button type="primary" :icon="CirclePlus" @click="openDialog('add')">新增</el-button>
<el-button type='primary' :icon='Download' plain>导出</el-button>
<el-button type="danger" :icon="Delete" plain :disabled="!scope.isSelected"
@click="batchDelete(scope.selectedListIds)">
批量删除
@@ -24,7 +25,7 @@
</template>
<script setup lang="tsx" name="dictData">
import {CirclePlus, Delete, EditPen} from '@element-plus/icons-vue'
import {CirclePlus, Delete, Download, EditPen} from '@element-plus/icons-vue'
import {Dict} from '@/api/system/dictionary/interface'
import {ProTableInstance, ColumnProps} from '@/components/ProTable/interface'
import {useHandleData} from '@/hooks/useHandleData'
@@ -47,8 +48,8 @@ const dataPopup = ref()
const props = defineProps({
width: {
type: String,
default: '800px',
type: Number,
default: 800,
},
height: {
type: String,
@@ -87,10 +88,9 @@ const columns = reactive<ColumnProps<Dict.ResDictData>[]>([
render: scope => {
return (
<>
{scope.row.level === 0 || scope.row.level === null || scope.row.level === undefined ?
(<span></span>) :
{
(<el-tag type={scope.row.level === 1 ? 'info' : scope.row.level === 2 ? 'warning' : 'danger'}>
{scope.row.level === 1 ? '普通' : scope.row.level === 2 ? '警告' : '危险'}
{scope.row.level === 1 ? '普通' : scope.row.level === 2 ? '中等' : '严重'}
</el-tag>)
}
</>

View File

@@ -1,5 +1,5 @@
<template>
<el-dialog v-model='dialogVisible' :title='dialogTitle' v-bind='dialogSmall'>
<el-dialog v-model='dialogVisible' :title='dialogTitle' v-bind='dialogSmall' @close="close">
<div>
<el-form :model='formContent' ref='dialogFormRef' :rules='rules'>
<el-form-item label='类型名称' :label-width='100' prop='name'>
@@ -20,7 +20,7 @@
<el-radio-button label="关闭" :value="0"></el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item label='显示排序' :label-width='100'>
<el-form-item label='排序' :label-width='100'>
<el-input-number v-model='formContent.sort' />
</el-form-item>
<el-form-item label='备注' :label-width='100'>