浏览代码

优化显示,修复usdDIct方法,修复参数管理中的系统内置字段搜索与显示

yanglzh 3 年之前
父节点
当前提交
22dac1cb7c

+ 6 - 4
src/api/common/dict/data.ts

@@ -3,10 +3,12 @@ import { ref, toRefs, ToRefs } from 'vue'
 
 // 根据字典类型查询字典数据信息
 export function getDicts(dictType: string, defaultValue?: string): Promise<any> {
-  let dv = defaultValue ?? ''
-  return get('/common/dict/data/get', {
+  return get('/common/dict/data/list', {
     dictType: dictType,
-    defaultValue: dv
+    status: 1,
+    pageNum: 1,
+    pageSize: 50,
+    defaultValue: defaultValue ?? ''
   })
 }
 
@@ -18,7 +20,7 @@ export function useDict(...args: string[]): ToRefs<any> {
   args.forEach((d: string) => {
     res.value[d] = [];
     getDicts(d).then(resp => {
-      res.value[d] = resp.data.values.map((p: any) => ({ label: p.value, value: p.key, isDefault: p.isDefault }))
+      res.value[d] = resp.list.map((p: any) => ({ label: p.dictLabel, value: p.dictValue, isDefault: p.isDefault }))
     })
   })
   return toRefs(res.value);

+ 6 - 7
src/main.ts

@@ -11,8 +11,8 @@ import 'element-plus/dist/index.css';
 import '/@/theme/index.scss';
 import mitt from 'mitt';
 import VueGridLayout from 'vue-grid-layout';
-import {getUpFileUrl, handleTree, selectDictLabel} from "/@/utils/common";
-import {useDict} from "/@/api/common/dict/data";
+import { getUpFileUrl, handleTree, selectDictLabel } from "/@/utils/common";
+import { useDict } from "/@/api/common/dict/data";
 // 分页组件
 import pagination from '/@/components/pagination/index.vue'
 import 'amis/sdk/sdk.js';
@@ -32,10 +32,9 @@ app.use(router)
     .use(VueGridLayout)
     .mount('#app');
 
-
 // 全局挂载
-app.config.globalProperties.getUpFileUrl=getUpFileUrl
-app.config.globalProperties.handleTree=handleTree
-app.config.globalProperties.useDict=useDict
-app.config.globalProperties.selectDictLabel=selectDictLabel
+app.config.globalProperties.getUpFileUrl = getUpFileUrl
+app.config.globalProperties.handleTree = handleTree
+app.config.globalProperties.useDict = useDict
+app.config.globalProperties.selectDictLabel = selectDictLabel
 app.config.globalProperties.mittBus = mitt();

+ 86 - 96
src/views/system/config/component/editConfig.vue

@@ -1,7 +1,7 @@
 <template>
-	<div class="system-edit-dic-container">
-		<el-dialog :title="(ruleForm.configId!==0?'修改':'添加')+'参数'" v-model="isShowDialog" width="769px">
-			<el-form :model="ruleForm" ref="formRef" :rules="rules" size="default" label-width="90px">
+  <div class="system-edit-dic-container">
+    <el-dialog :title="(ruleForm.configId!==0?'修改':'添加')+'参数'" v-model="isShowDialog" width="769px">
+      <el-form :model="ruleForm" ref="formRef" :rules="rules" size="default" label-width="90px">
         <el-form-item label="参数名称" prop="configName">
           <el-input v-model="ruleForm.configName" placeholder="请输入参数名称" />
         </el-form-item>
@@ -11,102 +11,92 @@
         <el-form-item label="参数键值" prop="configValue">
           <el-input v-model="ruleForm.configValue" placeholder="请输入参数键值" />
         </el-form-item>
-        <!-- <el-form-item label="系统内置" prop="configType">
+        <el-form-item label="系统内置" prop="configType">
           <el-radio-group v-model="ruleForm.configType">
-            <el-radio
-                v-for="dict in sysYesNoOptions"
-                :key="dict.value"
-                :label="dict.value"
-            >{{dict.label}}</el-radio>
+            <el-radio v-for="dict in sysYesNoOptions" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
           </el-radio-group>
-        </el-form-item> -->
+        </el-form-item>
         <el-form-item label="备注" prop="remark">
           <el-input v-model="ruleForm.remark" type="textarea" placeholder="请输入内容" />
         </el-form-item>
-			</el-form>
-			<template #footer>
-				<span class="dialog-footer">
-					<el-button @click="onCancel" size="default">取 消</el-button>
-					<el-button type="primary" @click="onSubmit" size="default">{{ruleForm.configId!==0?'修 改':'添 加'}}</el-button>
-				</span>
-			</template>
-		</el-dialog>
-	</div>
+      </el-form>
+      <template #footer>
+        <span class="dialog-footer">
+          <el-button @click="onCancel" size="default">取 消</el-button>
+          <el-button type="primary" @click="onSubmit" size="default">{{ruleForm.configId!==0?'修 改':'添 加'}}</el-button>
+        </span>
+      </template>
+    </el-dialog>
+  </div>
 </template>
 
 <script lang="ts">
-import { reactive, toRefs, defineComponent,ref, unref } from 'vue';
-import {ElMessage} from "element-plus";
-import api from "/@/api/system";
+import { reactive, toRefs, defineComponent, ref, unref } from 'vue';
+import { ElMessage } from 'element-plus';
+import api from '/@/api/system';
 interface RuleFormState {
-  configId: number;
-  configName: string;
-  configKey: string;
-  configValue: string;
-  configType: string;
-  remark: string
+	configId: number;
+	configName: string;
+	configKey: string;
+	configValue: string;
+	configType: string;
+	remark: string;
 }
 interface DicState {
 	isShowDialog: boolean;
 	ruleForm: RuleFormState;
-  rules:{}
+	rules: {};
 }
 
 export default defineComponent({
 	name: 'systemEditDicData',
-  props:{
-    sysYesNoOptions:{
-      type:Array,
-      default:()=>[]
-    }
-  },
-	setup(prop,{emit}) {
-    const formRef = ref<HTMLElement | null>(null);
+	props: {
+		sysYesNoOptions: {
+			type: Array,
+			default: () => [],
+		},
+	},
+	setup(prop, { emit }) {
+		const formRef = ref<HTMLElement | null>(null);
 		const state = reactive<DicState>({
 			isShowDialog: false,
 			ruleForm: {
-        configId: 0,
-        configName: '',
-        configKey: '',
-        configValue: '',
-        configType: '0',
-        remark: '',
+				configId: 0,
+				configName: '',
+				configKey: '',
+				configValue: '',
+				configType: '0',
+				remark: '',
+			},
+			rules: {
+				configName: [{ required: true, message: '参数名称不能为空', trigger: 'blur' }],
+				configKey: [{ required: true, message: '参数键名不能为空', trigger: 'blur' }],
+				configValue: [{ required: true, message: '参数键值不能为空', trigger: 'blur' }],
 			},
-      rules: {
-        configName: [
-          { required: true, message: "参数名称不能为空", trigger: "blur" }
-        ],
-        configKey: [
-          { required: true, message: "参数键名不能为空", trigger: "blur" }
-        ],
-        configValue: [
-          { required: true, message: "参数键值不能为空", trigger: "blur" }
-        ]
-      }
 		});
 		// 打开弹窗
-		const openDialog = (row: RuleFormState|null) => {
-      resetForm();
-      if (row){
-        api.config.detail(row.configId).then((res:any)=>{
-          const data:RuleFormState = res.data.data
-          data.configType = String(data.configType)
-          state.ruleForm = data
-        })
-        state.ruleForm = row;
-      }
+		const openDialog = (row: RuleFormState | null) => {
+			resetForm();
+			if (row) {
+				api.config.detail(row.configId).then((res: any) => {
+					const data: RuleFormState = res.data.data;
+					data.configType = String(data.configType);
+					state.ruleForm = data;
+				});
+				state.ruleForm = row;
+			}
 			state.isShowDialog = true;
 		};
-    const resetForm = ()=>{
-      state.ruleForm = {
-        configId: 0,
-        configName: '',
-        configKey: '',
-        configValue: '',
-        configType: '0',
-        remark: '',
-      }
-    };
+		const resetForm = () => {
+			state.ruleForm = {
+				configId: 0,
+				configName: '',
+				configKey: '',
+				configValue: '',
+				configType: '0',
+				remark: '',
+			};
+		};
 		// 关闭弹窗
 		const closeDialog = () => {
 			state.isShowDialog = false;
@@ -117,34 +107,34 @@ export default defineComponent({
 		};
 		// 新增
 		const onSubmit = () => {
-      const formWrap = unref(formRef) as any;
-      if (!formWrap) return;
-      formWrap.validate((valid: boolean) => {
-        if (valid) {
-          if(state.ruleForm.configId!==0){
-            //修改
-            api.config.edit(state.ruleForm).then(()=>{
-              ElMessage.success('参数修改成功');
-              closeDialog(); // 关闭弹窗
-              emit('dataList')
-            })
-          }else{
-            //添加
-            api.config.add(state.ruleForm).then(()=>{
-              ElMessage.success('参数添加成功');
-              closeDialog(); // 关闭弹窗
-              emit('dataList')
-            })
-          }
-        }
-      });
+			const formWrap = unref(formRef) as any;
+			if (!formWrap) return;
+			formWrap.validate((valid: boolean) => {
+				if (valid) {
+					if (state.ruleForm.configId !== 0) {
+						//修改
+						api.config.edit(state.ruleForm).then(() => {
+							ElMessage.success('参数修改成功');
+							closeDialog(); // 关闭弹窗
+							emit('dataList');
+						});
+					} else {
+						//添加
+						api.config.add(state.ruleForm).then(() => {
+							ElMessage.success('参数添加成功');
+							closeDialog(); // 关闭弹窗
+							emit('dataList');
+						});
+					}
+				}
+			});
 		};
 		return {
 			openDialog,
 			closeDialog,
 			onCancel,
 			onSubmit,
-      formRef,
+			formRef,
 			...toRefs(state),
 		};
 	},

+ 3 - 3
src/views/system/config/index.vue

@@ -52,12 +52,12 @@
         <el-table-column label="参数键名" prop="configKey" :show-overflow-tooltip="true" />
         <el-table-column label="参数键值" prop="configValue" />
         <el-table-column label="备注" prop="remark" :show-overflow-tooltip="true" />
-        <el-table-column label="创建时间" prop="createdAt" width="180" align="center" />
-        <!-- <el-table-column label="系统内置" align="center" prop="configType" width="100">
+        <!-- <el-table-column label="创建时间" prop="createdAt" width="180" align="center" /> -->
+        <el-table-column label="系统内置" align="center" prop="configType" width="100">
           <template #default="{row}">
             {{row.configType?'是':'否'}}
           </template>
-        </el-table-column> -->
+        </el-table-column>
         <el-table-column label="操作" width="100" align="center" fixed="right">
           <template #default="scope">
             <el-button size="small" text type="warning" @click="onOpenEditDic(scope.row)">修改</el-button>

+ 1 - 1
src/views/system/dict/dataList.vue

@@ -45,7 +45,7 @@
         <el-table-column label="字典键值" align="center" prop="dictValue" />
         <el-table-column label="字典排序" width="100" align="center" prop="dictSort" />
         <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
-        <el-table-column label="创建时间" align="center" prop="createdAt" width="180" />
+        <!-- <el-table-column label="创建时间" align="center" prop="createdAt" width="180" /> -->
         <el-table-column prop="status" label="字典状态" width="120" align="center">
           <template #default="scope">
             <el-tag type="success" size="small" v-if="scope.row.status">启用</el-tag>

+ 3 - 3
src/views/system/dict/index.vue

@@ -59,12 +59,12 @@
         </el-table-column>
         <el-table-column prop="status" label="字典状态" width="120" align="center">
           <template #default="scope">
-            <el-tag type="success" v-if="scope.row.status">启用</el-tag>
-            <el-tag type="info" v-else>禁用</el-tag>
+            <el-tag type="success" size="small" v-if="scope.row.status">启用</el-tag>
+            <el-tag type="info" size="small" v-else>禁用</el-tag>
           </template>
         </el-table-column>
         <el-table-column prop="remark" label="字典描述" show-overflow-tooltip></el-table-column>
-        <el-table-column prop="createdAt" label="创建时间" align="center" width="180"></el-table-column>
+        <!-- <el-table-column prop="createdAt" label="创建时间" align="center" width="180"></el-table-column> -->
         <el-table-column label="操作" width="100" align="center">
           <template #default="scope">
             <el-button size="small" text type="warning" @click="onOpenEditDic(scope.row)">修改</el-button>