From a49845f424ae5b1e43e391837a55c43ce07ea62d Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期三, 01 四月 2026 15:02:47 +0800
Subject: [PATCH] #前端

---
 rsf-design/src/views/system/role/modules/role-edit-dialog.vue |   68 ++++++++++++++-------------------
 1 files changed, 29 insertions(+), 39 deletions(-)

diff --git a/rsf-design/src/views/system/role/modules/role-edit-dialog.vue b/rsf-design/src/views/system/role/modules/role-edit-dialog.vue
index 713149b..fbb5d54 100644
--- a/rsf-design/src/views/system/role/modules/role-edit-dialog.vue
+++ b/rsf-design/src/views/system/role/modules/role-edit-dialog.vue
@@ -30,7 +30,7 @@
 
 <script setup>
   import ArtForm from '@/components/core/forms/art-form/index.vue'
-  import { buildRoleDialogModel, createRoleFormState } from '../rolePage.helpers'
+  import { buildRoleDialogModel, createRoleFormState, getRoleStatusOptions } from '../rolePage.helpers'
 
   const props = defineProps({
     visible: { required: false, default: false },
@@ -49,50 +49,40 @@
     name: [{ required: true, message: '璇疯緭鍏ヨ鑹插悕绉�', trigger: 'blur' }]
   }))
 
-  const formItems = computed(() => [
-    {
-      label: '瑙掕壊鍚嶇О',
-      key: 'name',
+  function createInputFormItem(label, key, placeholder, extraProps = {}, extraConfig = {}) {
+    return {
+      label,
+      key,
       type: 'input',
       props: {
-        placeholder: '璇疯緭鍏ヨ鑹插悕绉�',
-        clearable: true
-      }
-    },
-    {
-      label: '瑙掕壊缂栫爜',
-      key: 'code',
-      type: 'input',
-      props: {
-        placeholder: '璇疯緭鍏ヨ鑹茬紪鐮�',
-        clearable: true
-      }
-    },
-    {
-      label: '鐘舵��',
-      key: 'status',
+        placeholder,
+        clearable: true,
+        ...extraProps
+      },
+      ...extraConfig
+    }
+  }
+
+  function createSelectFormItem(label, key, placeholder, options, extraProps = {}, extraConfig = {}) {
+    return {
+      label,
+      key,
       type: 'select',
       props: {
-        placeholder: '璇烽�夋嫨鐘舵��',
+        placeholder,
         clearable: true,
-        options: [
-          { label: '姝e父', value: 1 },
-          { label: '绂佺敤', value: 0 }
-        ]
-      }
-    },
-    {
-      label: '澶囨敞',
-      key: 'memo',
-      type: 'input',
-      span: 24,
-      props: {
-        type: 'textarea',
-        rows: 3,
-        placeholder: '璇疯緭鍏ュ娉�',
-        clearable: true
-      }
+        options,
+        ...extraProps
+      },
+      ...extraConfig
     }
+  }
+
+  const formItems = computed(() => [
+    createInputFormItem('瑙掕壊鍚嶇О', 'name', '璇疯緭鍏ヨ鑹插悕绉�'),
+    createInputFormItem('瑙掕壊缂栫爜', 'code', '璇疯緭鍏ヨ鑹茬紪鐮�'),
+    createSelectFormItem('鐘舵��', 'status', '璇烽�夋嫨鐘舵��', getRoleStatusOptions()),
+    createInputFormItem('澶囨敞', 'memo', '璇疯緭鍏ュ娉�', { type: 'textarea', rows: 3 }, { span: 24 })
   ])
 
   const resetForm = () => {

--
Gitblit v1.9.1