|
@@ -42,7 +42,7 @@
|
|
</hc-card>
|
|
</hc-card>
|
|
</div>
|
|
</div>
|
|
<!-- 菜单新增编辑 -->
|
|
<!-- 菜单新增编辑 -->
|
|
- <hc-dialog v-model="menuDataModal" :title="isCopy ? '复制菜单数据' : formModel.id ? '编辑菜单' : '修改菜单'" widths="46rem" @close="menuDataModalClose" @save="menuDataModalSave">
|
|
|
|
|
|
+ <hc-dialog v-model="menuDataModal" :title="formModel.id ? '修改菜单' : '新增菜单'" widths="46rem" @close="menuDataModalClose" @save="menuDataModalSave">
|
|
<el-form ref="formRef" :model="formModel" :rules="formRules" label-position="top" label-width="auto" size="large">
|
|
<el-form ref="formRef" :model="formModel" :rules="formRules" label-position="top" label-width="auto" size="large">
|
|
<el-row :gutter="20">
|
|
<el-row :gutter="20">
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
@@ -94,7 +94,7 @@
|
|
import { onMounted, ref } from 'vue'
|
|
import { onMounted, ref } from 'vue'
|
|
import { HcDelMsg } from 'hc-vue3-ui'
|
|
import { HcDelMsg } from 'hc-vue3-ui'
|
|
import mainApi from '~api/system/menu'
|
|
import mainApi from '~api/system/menu'
|
|
-import { arrToId, getArrValue } from 'js-fast-way'
|
|
|
|
|
|
+import { arrToId, deepClone, formValidate, getArrValue } from 'js-fast-way'
|
|
import { reloadPage } from '~src/utils/tools'
|
|
import { reloadPage } from '~src/utils/tools'
|
|
|
|
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
@@ -159,7 +159,6 @@ const getLevelMenuData = async () => {
|
|
}
|
|
}
|
|
|
|
|
|
//菜单数据弹窗
|
|
//菜单数据弹窗
|
|
-const isCopy = ref(false)
|
|
|
|
const menuDataModal = ref(false)
|
|
const menuDataModal = ref(false)
|
|
const formRef = ref(null)
|
|
const formRef = ref(null)
|
|
const formModel = ref({ category: 1 })
|
|
const formModel = ref({ category: 1 })
|
|
@@ -175,7 +174,6 @@ const eidtMenu = (row) => {
|
|
...row,
|
|
...row,
|
|
children: null,
|
|
children: null,
|
|
}
|
|
}
|
|
- isCopy.value = false
|
|
|
|
menuDataModal.value = true
|
|
menuDataModal.value = true
|
|
}
|
|
}
|
|
//新增菜单
|
|
//新增菜单
|
|
@@ -185,16 +183,13 @@ const addMenu = () => {
|
|
parentId: 0,
|
|
parentId: 0,
|
|
sort: 1,
|
|
sort: 1,
|
|
}
|
|
}
|
|
- isCopy.value = false
|
|
|
|
menuDataModal.value = true
|
|
menuDataModal.value = true
|
|
}
|
|
}
|
|
const copyChildren = (row) => {
|
|
const copyChildren = (row) => {
|
|
- formModel.value = {
|
|
|
|
- ...row,
|
|
|
|
- children: null,
|
|
|
|
- id: '',
|
|
|
|
- }
|
|
|
|
- isCopy.value = true
|
|
|
|
|
|
+ const form = deepClone(row)
|
|
|
|
+ delete form.id
|
|
|
|
+ delete form.children
|
|
|
|
+ formModel.value = form
|
|
menuDataModal.value = true
|
|
menuDataModal.value = true
|
|
}
|
|
}
|
|
|
|
|
|
@@ -228,15 +223,31 @@ const addChildren = (row) => {
|
|
parentId: row.id,
|
|
parentId: row.id,
|
|
sort: 1,
|
|
sort: 1,
|
|
}
|
|
}
|
|
- isCopy.value = false
|
|
|
|
menuDataModal.value = true
|
|
menuDataModal.value = true
|
|
}
|
|
}
|
|
-const menuDataModalSave = () => {
|
|
|
|
|
|
|
|
|
|
+//保存
|
|
|
|
+const menuDataModalSave = async () => {
|
|
|
|
+ const formRes = await formValidate(formRef.value)
|
|
|
|
+ if (!formRes) return false
|
|
|
|
+ //处理数据
|
|
|
|
+ const form = formModel.value
|
|
|
|
+ form.parentId = form.parentId ?? 0
|
|
|
|
+ form.alias = form.alias ?? form.code
|
|
|
|
+ //发起请求
|
|
|
|
+ const { error, code, msg } = await mainApi.submit(form)
|
|
|
|
+ if (!error && code === 200) {
|
|
|
|
+ window?.$message?.success('操作成功')
|
|
|
|
+ menuDataModal.value = false
|
|
|
|
+ reloadPage()
|
|
|
|
+ } else {
|
|
|
|
+ window?.$message?.error(msg ?? '操作失败')
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
const menuDataModalClose = () => {
|
|
const menuDataModalClose = () => {
|
|
menuDataModal.value = false
|
|
menuDataModal.value = false
|
|
|
|
+ formModel.value = {}
|
|
}
|
|
}
|
|
|
|
|
|
//图标选择
|
|
//图标选择
|