Commit 585a57632740b4a3d59c1835dae8db3a4497b7b0
1 parent
e187e7a0
perf: style
Showing
2 changed files
with
99 additions
and
130 deletions
yudao-ui-admin-vue3/src/components/Icon/src/IconSelect.vue
| @@ -168,7 +168,7 @@ watch( | @@ -168,7 +168,7 @@ watch( | ||
| 168 | 168 | ||
| 169 | <ElPagination | 169 | <ElPagination |
| 170 | small | 170 | small |
| 171 | - :total="copyIconList[currentActiveType].length" | 171 | + :total="copyIconList[currentActiveType].length as unknown as number" |
| 172 | :page-size="pageSize" | 172 | :page-size="pageSize" |
| 173 | :current-page="currentPage" | 173 | :current-page="currentPage" |
| 174 | background | 174 | background |
yudao-ui-admin-vue3/src/views/system/menu/index.vue
| @@ -98,134 +98,104 @@ | @@ -98,134 +98,104 @@ | ||
| 98 | <!-- 添加或修改菜单对话框 --> | 98 | <!-- 添加或修改菜单对话框 --> |
| 99 | <XModal id="menuModel" v-model="dialogVisible" :title="dialogTitle"> | 99 | <XModal id="menuModel" v-model="dialogVisible" :title="dialogTitle"> |
| 100 | <!-- 对话框(添加 / 修改) --> | 100 | <!-- 对话框(添加 / 修改) --> |
| 101 | - <el-form | ||
| 102 | - ref="formRef" | ||
| 103 | - :model="menuForm" | ||
| 104 | - :rules="rules" | ||
| 105 | - :inline="true" | ||
| 106 | - label-width="120px" | ||
| 107 | - label-position="right" | ||
| 108 | - > | ||
| 109 | - <el-row :gutter="24"> | ||
| 110 | - <el-col :span="24"> | ||
| 111 | - <el-form-item label="上级菜单"> | ||
| 112 | - <el-tree-select | ||
| 113 | - node-key="id" | ||
| 114 | - v-model="menuForm.parentId" | ||
| 115 | - :props="menuProps" | ||
| 116 | - :data="menuOptions" | ||
| 117 | - :default-expanded-keys="[0]" | ||
| 118 | - check-strictly | 101 | + <el-form ref="formRef" :model="menuForm" :rules="rules" label-width="auto" label-position="top"> |
| 102 | + <el-form-item label="上级菜单"> | ||
| 103 | + <el-tree-select | ||
| 104 | + node-key="id" | ||
| 105 | + v-model="menuForm.parentId" | ||
| 106 | + :props="menuProps" | ||
| 107 | + :data="menuOptions" | ||
| 108 | + :default-expanded-keys="[0]" | ||
| 109 | + check-strictly | ||
| 110 | + /> | ||
| 111 | + </el-form-item> | ||
| 112 | + <el-form-item label="菜单名称" prop="name" span="12"> | ||
| 113 | + <el-input v-model="menuForm.name" placeholder="请输入菜单名称" clearable /> | ||
| 114 | + </el-form-item> | ||
| 115 | + <el-form-item label="菜单类型" prop="type"> | ||
| 116 | + <el-radio-group v-model="menuForm.type"> | ||
| 117 | + <el-radio-button | ||
| 118 | + v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_MENU_TYPE)" | ||
| 119 | + :key="dict.value" | ||
| 120 | + :label="dict.value" | ||
| 121 | + > | ||
| 122 | + {{ dict.label }} | ||
| 123 | + </el-radio-button> | ||
| 124 | + </el-radio-group> | ||
| 125 | + </el-form-item> | ||
| 126 | + <template v-if="menuForm.type !== 3"> | ||
| 127 | + <el-form-item label="菜单图标"> | ||
| 128 | + <IconSelect v-model="menuForm.icon" clearable /> | ||
| 129 | + </el-form-item> | ||
| 130 | + <el-form-item label="路由地址" prop="path"> | ||
| 131 | + <template #label> | ||
| 132 | + <Tooltip | ||
| 133 | + titel="路由地址" | ||
| 134 | + message="访问的路由地址,如:`user`。如需外网地址时,则以 `http(s)://` 开头" | ||
| 119 | /> | 135 | /> |
| 120 | - </el-form-item> | ||
| 121 | - </el-col> | ||
| 122 | - <el-col :span="12"> | ||
| 123 | - <el-form-item label="菜单类型" prop="type"> | ||
| 124 | - <el-radio-group v-model="menuForm.type"> | ||
| 125 | - <el-radio-button | ||
| 126 | - v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_MENU_TYPE)" | ||
| 127 | - :key="dict.value" | ||
| 128 | - :label="dict.value" | ||
| 129 | - > | ||
| 130 | - {{ dict.label }} | ||
| 131 | - </el-radio-button> | ||
| 132 | - </el-radio-group> | ||
| 133 | - </el-form-item> | ||
| 134 | - </el-col> | ||
| 135 | - <el-col :span="12"> | ||
| 136 | - <el-form-item label="菜单名称" prop="name"> | ||
| 137 | - <el-input v-model="menuForm.name" placeholder="请输入菜单名称" clearable /> | ||
| 138 | - </el-form-item> | ||
| 139 | - </el-col> | ||
| 140 | - <template v-if="menuForm.type !== 3"> | ||
| 141 | - <el-col :span="12"> | ||
| 142 | - <el-form-item label="菜单图标"> | ||
| 143 | - <IconSelect v-model="menuForm.icon" clearable /> | ||
| 144 | - </el-form-item> | ||
| 145 | - </el-col> | ||
| 146 | - <el-col :span="12"> | ||
| 147 | - <el-form-item label="路由地址" prop="path"> | ||
| 148 | - <template #label> | ||
| 149 | - <Tooltip | ||
| 150 | - titel="路由地址" | ||
| 151 | - message="访问的路由地址,如:`user`。如需外网地址时,则以 `http(s)://` 开头" | ||
| 152 | - /> | ||
| 153 | - </template> | ||
| 154 | - <el-input v-model="menuForm.path" placeholder="请输入路由地址" clearable /> | ||
| 155 | - </el-form-item> | ||
| 156 | - </el-col> | ||
| 157 | - </template> | ||
| 158 | - <template v-if="menuForm.type === 2"> | ||
| 159 | - <el-col :span="12"> | ||
| 160 | - <el-form-item label="路由地址" prop="component"> | ||
| 161 | - <el-input v-model="menuForm.component" placeholder="请输入组件地址" clearable /> | ||
| 162 | - </el-form-item> | ||
| 163 | - </el-col> | ||
| 164 | - </template> | ||
| 165 | - <template v-if="menuForm.type !== 1"> | ||
| 166 | - <el-col :span="12"> | ||
| 167 | - <el-form-item label="权限标识" prop="permission"> | ||
| 168 | - <template #label> | ||
| 169 | - <Tooltip | ||
| 170 | - titel="权限标识" | ||
| 171 | - message="Controller 方法上的权限字符,如:@PreAuthorize(`@ss.hasPermission('system:user:list')`)" | ||
| 172 | - /> | ||
| 173 | - </template> | ||
| 174 | - <el-input v-model="menuForm.permission" placeholder="请输入权限标识" clearable /> | ||
| 175 | - </el-form-item> | ||
| 176 | - </el-col> | ||
| 177 | - </template> | ||
| 178 | - <el-col :span="12"> | ||
| 179 | - <el-form-item label="显示排序" prop="sort"> | ||
| 180 | - <el-input-number v-model="menuForm.sort" controls-position="right" :min="0" clearable /> | ||
| 181 | - </el-form-item> | ||
| 182 | - </el-col> | ||
| 183 | - <el-col :span="12"> | ||
| 184 | - <el-form-item label="菜单状态" prop="status"> | ||
| 185 | - <el-radio-group v-model="menuForm.status"> | ||
| 186 | - <el-radio-button | ||
| 187 | - v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)" | ||
| 188 | - :key="dict.value" | ||
| 189 | - :label="dict.value" | ||
| 190 | - > | ||
| 191 | - {{ dict.label }} | ||
| 192 | - </el-radio-button> | ||
| 193 | - </el-radio-group> | ||
| 194 | - </el-form-item> | ||
| 195 | - </el-col> | ||
| 196 | - <template v-if="menuForm.type !== 3"> | ||
| 197 | - <el-col :span="12"> | ||
| 198 | - <el-form-item label="显示状态" prop="status"> | ||
| 199 | - <template #label> | ||
| 200 | - <Tooltip | ||
| 201 | - titel="显示状态" | ||
| 202 | - message="选择隐藏时,路由将不会出现在侧边栏,但仍然可以访问" | ||
| 203 | - /> | ||
| 204 | - </template> | ||
| 205 | - <el-radio-group v-model="menuForm.visible"> | ||
| 206 | - <el-radio-button key="true" :label="true">显示</el-radio-button> | ||
| 207 | - <el-radio-button key="false" :label="false">隐藏</el-radio-button> | ||
| 208 | - </el-radio-group> | ||
| 209 | - </el-form-item> | ||
| 210 | - </el-col> | ||
| 211 | - </template> | ||
| 212 | - <template v-if="menuForm.type === 2"> | ||
| 213 | - <el-col :span="12"> | ||
| 214 | - <el-form-item label="缓存状态" prop="keepAlive"> | ||
| 215 | - <template #label> | ||
| 216 | - <Tooltip | ||
| 217 | - titel="缓存状态" | ||
| 218 | - message="选择缓存时,则会被 `keep-alive` 缓存,需要匹配组件的 `name` 和路由地址保持一致" | ||
| 219 | - /> | ||
| 220 | - </template> | ||
| 221 | - <el-radio-group v-model="menuForm.keepAlive"> | ||
| 222 | - <el-radio-button key="true" :label="true">缓存</el-radio-button> | ||
| 223 | - <el-radio-button key="false" :label="false">不缓存</el-radio-button> | ||
| 224 | - </el-radio-group> | ||
| 225 | - </el-form-item> | ||
| 226 | - </el-col> | ||
| 227 | - </template> | ||
| 228 | - </el-row> | 136 | + </template> |
| 137 | + <el-input v-model="menuForm.path" placeholder="请输入路由地址" clearable /> | ||
| 138 | + </el-form-item> | ||
| 139 | + </template> | ||
| 140 | + <template v-if="menuForm.type === 2"> | ||
| 141 | + <el-form-item label="路由地址" prop="component"> | ||
| 142 | + <el-input v-model="menuForm.component" placeholder="请输入组件地址" clearable /> | ||
| 143 | + </el-form-item> | ||
| 144 | + </template> | ||
| 145 | + <template v-if="menuForm.type !== 1"> | ||
| 146 | + <el-form-item label="权限标识" prop="permission"> | ||
| 147 | + <template #label> | ||
| 148 | + <Tooltip | ||
| 149 | + titel="权限标识" | ||
| 150 | + message="Controller 方法上的权限字符,如:@PreAuthorize(`@ss.hasPermission('system:user:list')`)" | ||
| 151 | + /> | ||
| 152 | + </template> | ||
| 153 | + <el-input v-model="menuForm.permission" placeholder="请输入权限标识" clearable /> | ||
| 154 | + </el-form-item> | ||
| 155 | + </template> | ||
| 156 | + <el-form-item label="显示排序" prop="sort"> | ||
| 157 | + <el-input-number v-model="menuForm.sort" controls-position="right" :min="0" clearable /> | ||
| 158 | + </el-form-item> | ||
| 159 | + <el-form-item label="菜单状态" prop="status"> | ||
| 160 | + <el-radio-group v-model="menuForm.status"> | ||
| 161 | + <el-radio | ||
| 162 | + border | ||
| 163 | + v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)" | ||
| 164 | + :key="dict.value" | ||
| 165 | + :label="dict.value" | ||
| 166 | + > | ||
| 167 | + {{ dict.label }} | ||
| 168 | + </el-radio> | ||
| 169 | + </el-radio-group> | ||
| 170 | + </el-form-item> | ||
| 171 | + <template v-if="menuForm.type !== 3"> | ||
| 172 | + <el-form-item label="显示状态" prop="status"> | ||
| 173 | + <template #label> | ||
| 174 | + <Tooltip | ||
| 175 | + titel="显示状态" | ||
| 176 | + message="选择隐藏时,路由将不会出现在侧边栏,但仍然可以访问" | ||
| 177 | + /> | ||
| 178 | + </template> | ||
| 179 | + <el-radio-group v-model="menuForm.visible"> | ||
| 180 | + <el-radio border key="true" :label="true">显示</el-radio> | ||
| 181 | + <el-radio border key="false" :label="false">隐藏</el-radio> | ||
| 182 | + </el-radio-group> | ||
| 183 | + </el-form-item> | ||
| 184 | + </template> | ||
| 185 | + <template v-if="menuForm.type === 2"> | ||
| 186 | + <el-form-item label="缓存状态" prop="keepAlive"> | ||
| 187 | + <template #label> | ||
| 188 | + <Tooltip | ||
| 189 | + titel="缓存状态" | ||
| 190 | + message="选择缓存时,则会被 `keep-alive` 缓存,需要匹配组件的 `name` 和路由地址保持一致" | ||
| 191 | + /> | ||
| 192 | + </template> | ||
| 193 | + <el-radio-group v-model="menuForm.keepAlive"> | ||
| 194 | + <el-radio border key="true" :label="true">缓存</el-radio> | ||
| 195 | + <el-radio border key="false" :label="false">不缓存</el-radio> | ||
| 196 | + </el-radio-group> | ||
| 197 | + </el-form-item> | ||
| 198 | + </template> | ||
| 229 | </el-form> | 199 | </el-form> |
| 230 | <template #footer> | 200 | <template #footer> |
| 231 | <!-- 按钮:保存 --> | 201 | <!-- 按钮:保存 --> |
| @@ -247,8 +217,6 @@ import { onMounted, reactive, ref } from 'vue' | @@ -247,8 +217,6 @@ import { onMounted, reactive, ref } from 'vue' | ||
| 247 | import { useI18n } from '@/hooks/web/useI18n' | 217 | import { useI18n } from '@/hooks/web/useI18n' |
| 248 | import { useMessage } from '@/hooks/web/useMessage' | 218 | import { useMessage } from '@/hooks/web/useMessage' |
| 249 | import { | 219 | import { |
| 250 | - ElRow, | ||
| 251 | - ElCol, | ||
| 252 | ElForm, | 220 | ElForm, |
| 253 | ElFormItem, | 221 | ElFormItem, |
| 254 | ElInput, | 222 | ElInput, |
| @@ -256,6 +224,7 @@ import { | @@ -256,6 +224,7 @@ import { | ||
| 256 | ElSelect, | 224 | ElSelect, |
| 257 | ElTreeSelect, | 225 | ElTreeSelect, |
| 258 | ElOption, | 226 | ElOption, |
| 227 | + ElRadio, | ||
| 259 | ElRadioGroup, | 228 | ElRadioGroup, |
| 260 | ElRadioButton, | 229 | ElRadioButton, |
| 261 | FormInstance | 230 | FormInstance |