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 | 168 | |
| 169 | 169 | <ElPagination |
| 170 | 170 | small |
| 171 | - :total="copyIconList[currentActiveType].length" | |
| 171 | + :total="copyIconList[currentActiveType].length as unknown as number" | |
| 172 | 172 | :page-size="pageSize" |
| 173 | 173 | :current-page="currentPage" |
| 174 | 174 | background | ... | ... |
yudao-ui-admin-vue3/src/views/system/menu/index.vue
| ... | ... | @@ -98,134 +98,104 @@ |
| 98 | 98 | <!-- 添加或修改菜单对话框 --> |
| 99 | 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 | 199 | </el-form> |
| 230 | 200 | <template #footer> |
| 231 | 201 | <!-- 按钮:保存 --> |
| ... | ... | @@ -247,8 +217,6 @@ import { onMounted, reactive, ref } from 'vue' |
| 247 | 217 | import { useI18n } from '@/hooks/web/useI18n' |
| 248 | 218 | import { useMessage } from '@/hooks/web/useMessage' |
| 249 | 219 | import { |
| 250 | - ElRow, | |
| 251 | - ElCol, | |
| 252 | 220 | ElForm, |
| 253 | 221 | ElFormItem, |
| 254 | 222 | ElInput, |
| ... | ... | @@ -256,6 +224,7 @@ import { |
| 256 | 224 | ElSelect, |
| 257 | 225 | ElTreeSelect, |
| 258 | 226 | ElOption, |
| 227 | + ElRadio, | |
| 259 | 228 | ElRadioGroup, |
| 260 | 229 | ElRadioButton, |
| 261 | 230 | FormInstance | ... | ... |