Revert "feat: auto-generate permission code/url/component; fix edit form validation reset"

This reverts commit c12e2af032.
This commit is contained in:
张家训
2026-08-20 19:00:02 +08:00
parent c12e2af032
commit fe64d97063
2 changed files with 16 additions and 86 deletions
-1
View File
@@ -24,7 +24,6 @@
"html2canvas": "^1.0.0-alpha.12", "html2canvas": "^1.0.0-alpha.12",
"iview-area": "^1.5.17", "iview-area": "^1.5.17",
"js-cookie": "^2.2.0", "js-cookie": "^2.2.0",
"js-pinyin": "^0.2.7",
"jsencrypt": "^3.0.0-rc.1", "jsencrypt": "^3.0.0-rc.1",
"jsrsasign": "^8.0.12", "jsrsasign": "^8.0.12",
"mathjs": "^6.6.4", "mathjs": "^6.6.4",
+16 -85
View File
@@ -138,7 +138,6 @@
import IconChoose from "@/components/my-components/icon-choose" import IconChoose from "@/components/my-components/icon-choose"
import Treeselect from '@riophae/vue-treeselect' import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css' import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import Pinyin from 'js-pinyin'
export default { export default {
name: "sso-menu", name: "sso-menu",
@@ -237,7 +236,7 @@
}, },
ruleCustom: { ruleCustom: {
parentId: [{ parentId: [{
required: true, message: '请选择上级菜单', trigger: 'change' required: true, message: '请选择上级菜单', trigger: 'blur'
}], }],
permissionName: [{ permissionName: [{
required: true, message: '请输入菜单名称', trigger: 'blur' required: true, message: '请输入菜单名称', trigger: 'blur'
@@ -246,7 +245,7 @@
required: true, message: '请输入菜单编码', trigger: 'blur' required: true, message: '请输入菜单编码', trigger: 'blur'
}], }],
icon: [{ icon: [{
required: true, message: '请输入菜单图标', trigger: 'change' required: true, message: '请输入菜单图标', trigger: 'blur'
}], }],
url: [{ url: [{
required: true, message: '请输入路由地址', trigger: 'blur' required: true, message: '请输入路由地址', trigger: 'blur'
@@ -257,53 +256,7 @@
}, },
} }
}, },
watch: {
'formItem.permissionName'(val) {
if (!this.addModal) return
const name = (val || '').trim()
if (!name) return
if (!this.formItem.permissionCode) {
this.formItem.permissionCode = this.generateCode(name)
}
},
'formItem.permissionCode'(val) {
if (!this.addModal) return
const code = (val || '').trim()
if (!code) return
const paths = this.generatePaths(code)
if (!this.formItem.url) {
this.formItem.url = paths.url
}
if (!this.formItem.component) {
this.formItem.component = paths.component
}
}
},
methods: { methods: {
generateCode (name) {
const py = Pinyin.getFullChars(name)
.toLowerCase()
.replace(/[^a-z0-9\s]/g, '')
.trim()
.replace(/\s+/g, '-')
return py ? `sys:${py}` : ''
},
generatePaths (code) {
const parts = code.split(':')
const module = parts.length > 1 ? parts[0] : 'sys'
const name = parts.length > 1 ? parts[1] : parts[0]
return {
url: `/${module}/${name}`,
component: `/${module}/${module}-${name}`
}
},
resetForm () {
this.$nextTick(() => {
if (this.$refs.formItem) {
this.$refs.formItem.resetFields()
}
})
},
getTreeChoose() { getTreeChoose() {
// 获取选中的节点信息 // 获取选中的节点信息
let choose = this.$refs.tree.getSelectedNodes(); let choose = this.$refs.tree.getSelectedNodes();
@@ -350,51 +303,29 @@
} }
this.modalTitle = "添加" this.modalTitle = "添加"
this.modal = true
this.addModal = true this.addModal = true
this.editModal = false this.editModal = false
// 打开弹窗前重置表单数据与校验状态
this.formItem = {
id: '',
parentId: this.formItem.parentId || '0',
permissionName: '',
permissionCode: '',
level: this.formItem.level || 0,
icon: '',
permissionDesc: '',
url: '',
component: '',
status: '1',
sort: 0,
}
this.modal = true
this.resetForm()
}, },
toEdit(index) { toEdit(index) {
this.modalTitle = "编辑" this.modalTitle = "编辑"
let temp = this.dataList[index] let temp = this.dataList[index]
this.formItem.id = temp.id
this.formItem.parentId = temp.parentId
this.formItem.permissionName = temp.permissionName
this.formItem.permissionCode = temp.permissionCode
this.formItem.level = temp.level
this.formItem.icon = temp.icon
this.formItem.url = temp.url
this.formItem.component = temp.component
this.formItem.permissionDesc = temp.permissionDesc
this.formItem.sort = temp.sort
this.modal = true
this.addModal = false this.addModal = false
this.editModal = true this.editModal = true
this.modal = true
this.$nextTick(() => {
// 先清掉上一次校验红框
if (this.$refs.formItem) {
this.$refs.formItem.resetFields()
}
// 再回填编辑数据
this.formItem.id = temp.id
this.formItem.parentId = temp.parentId
this.formItem.permissionName = temp.permissionName
this.formItem.permissionCode = temp.permissionCode
this.formItem.level = temp.level
this.formItem.icon = temp.icon
this.formItem.url = temp.url
this.formItem.component = temp.component
this.formItem.permissionDesc = temp.permissionDesc
this.formItem.sort = temp.sort
})
}, },
submit(formItem) { submit(formItem) {
// modal 提交 // modal 提交