| | |
| | | const currentRow = reactive({}); // 当前行的数据 |
| | | const tableData = ref([]) |
| | | const slot = ref('') |
| | | request.get("/loadGlass/sys/menu/nav").then((res) => { |
| | | if (res.code == 200) { |
| | | console.log(res.data); |
| | | tableData.value = res.data.tree |
| | | } else { |
| | | ElMessage.warning(res.msg) |
| | | } |
| | | }); |
| | | const fetchList = async () => { |
| | | try { |
| | | const response = await request.get('/loadGlass/sys/menu/getMenuTree', { |
| | | params: { |
| | | key: -1 |
| | | } |
| | | }); |
| | | if (response.code === 200) { |
| | | tableData.value = response.data |
| | | } else { |
| | | ElMessage.warning(response.data); |
| | | } |
| | | } catch (error) { |
| | | console.error('Error fetching options:', error); |
| | | } |
| | | }; |
| | | const titleSelectJsona = ref({ |
| | | processType: [], |
| | | }) |
| | | onMounted(() => { |
| | | fetchList() |
| | | fetchOptionsa(''); |
| | | }); |
| | | // 角色下拉选 |
| | |
| | | } |
| | | // 添加一级菜单 |
| | | const getTableRow = async () => { |
| | | if (!menuName.value) { |
| | | ElMessage.error(t('customer.inmenu')) |
| | | return |
| | | } |
| | | if (!url.value) { |
| | | ElMessage.error(t('customer.inlink')) |
| | | return |
| | | } |
| | | if (!listSort.value) { |
| | | ElMessage.error(t('customer.insort')) |
| | | return |
| | | } |
| | | try { |
| | | const response = await request.post('/loadGlass/sys/menu/save', { |
| | | menuName: menuName.value, |
| | | listSort: listSort.value, |
| | | url: url.value, |
| | | parentId: 0 |
| | | }); |
| | | |
| | | if (response.code === 200) { |
| | | ElMessage.success(response.message); |
| | | add.value = false; |
| | | tableData.value = response.data; |
| | | fetchList() |
| | | menuName.value = ''; |
| | | listSort.value = ''; |
| | | url.value = ''; |
| | |
| | | }; |
| | | // 添加二级菜单 |
| | | const getTableRowb = async () => { |
| | | if (!menuName.value) { |
| | | ElMessage.error(t('customer.inmenu')) |
| | | return |
| | | } |
| | | if (!url.value) { |
| | | ElMessage.error(t('customer.inlink')) |
| | | return |
| | | } |
| | | if (!listSort.value) { |
| | | ElMessage.error(t('customer.insort')) |
| | | return |
| | | } |
| | | try { |
| | | const dataToSend = { |
| | | parentId: currentRow.id, |
| | |
| | | if (response.code === 200) { |
| | | ElMessage.success(response.message); |
| | | addb.value = false; |
| | | tableData.value = response.data; |
| | | fetchList() |
| | | menuName.value = ''; |
| | | listSort.value = ''; |
| | | url.value = ''; |
| | |
| | | } |
| | | // 编辑 |
| | | const getTableRowa = async () => { |
| | | if (!menuName.value) { |
| | | ElMessage.error(t('customer.inmenu')) |
| | | return |
| | | } |
| | | if (!url.value) { |
| | | ElMessage.error(t('customer.inlink')) |
| | | return |
| | | } |
| | | if (!listSort.value) { |
| | | ElMessage.error(t('customer.insort')) |
| | | return |
| | | } |
| | | try { |
| | | const response = await request.post('/loadGlass/sys/menu/updateMenu', { |
| | | parentId: currentRow.id, |
| | |
| | | if (response.code === 200) { |
| | | ElMessage.success(response.message); |
| | | adda.value = false; |
| | | tableData.value = response.data; |
| | | fetchList() |
| | | menuName.value = ''; |
| | | listSort.value = ''; |
| | | url.value = ''; |
| | |
| | | }; |
| | | // 编辑二级菜单 |
| | | const getTableRowac = async () => { |
| | | if (!menuName.value) { |
| | | ElMessage.error(t('customer.inmenu')) |
| | | return |
| | | } |
| | | if (!url.value) { |
| | | ElMessage.error(t('customer.inlink')) |
| | | return |
| | | } |
| | | if (!listSort.value) { |
| | | ElMessage.error(t('customer.insort')) |
| | | return |
| | | } |
| | | try { |
| | | const response = await request.post('/loadGlass/sys/menu/updateMenu', { |
| | | menuName: menuName.value, |
| | |
| | | if (response.code === 200) { |
| | | ElMessage.success(response.message); |
| | | addc.value = false; |
| | | tableData.value = response.data; |
| | | fetchList() |
| | | menuName.value = ''; |
| | | listSort.value = ''; |
| | | url.value = ''; |
| | |
| | | } |
| | | ); |
| | | if (confirmResult === 'confirm') { |
| | | const response = await request.post("/loadGlass/sys/menu/deleteMenu", { |
| | | menuId: row.id, |
| | | }) |
| | | const url = "/loadGlass/sys/menu/deleteMenu?menuId=" + row.id; |
| | | const response = await request.post(url); |
| | | // const response = await request.post("/loadGlass/sys/menu/deleteMenu", { |
| | | // menuId: row.id, |
| | | // }) |
| | | if (response.code === 200) { |
| | | ElMessage.success(response.message); |
| | | fetchList() |
| | | } else { |
| | | ElMessage.error(response.msg); |
| | | } |
| | |
| | | </script> |
| | | <template> |
| | | <div style="height: 600px;"> |
| | | <el-button type="primary" style="margin-top: 10px;margin-left: 10px;" size="mini" id="searchButton" @click="add = true">{{ $t('customer.addmenu') }}</el-button> |
| | | <el-button type="primary" style="margin-top: 10px;margin-left: 10px;" id="searchButton" @click="add = true">{{ $t('customer.addmenu') }}</el-button> |
| | | <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;"> |
| | | <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 750px;"> |
| | | <el-table |
| | |
| | | <el-table-column prop="listSort" align="center" :label="$t('customer.sort')" min-width="140"/> |
| | | <el-table-column fixed="right" :label="$t('customer.operate')" align="center"> |
| | | <template #default="scope"> |
| | | <el-button size="mini" type="text" plain @click="handleEditc(scope.row)">{{ $t('customer.exit') }}</el-button> |
| | | <el-button size="mini" type="text" plain @click="opena(scope.row)">{{ $t('customer.delete') }}</el-button> |
| | | <el-button type="text" plain @click="handleEditc(scope.row)">{{ $t('customer.exit') }}</el-button> |
| | | <el-button type="text" plain @click="opena(scope.row)">{{ $t('customer.delete') }}</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <el-table-column prop="listSort" align="center" :label="$t('customer.sort')" min-width="180" /> |
| | | <el-table-column fixed="right" :label="$t('customer.operate')" align="center" width="200"> |
| | | <template #default="scope"> |
| | | <el-button size="mini" type="text" plain @click="handleBindRack(scope.row)">{{ $t('customer.addmenua') }}</el-button> |
| | | <el-button size="mini" type="text" plain @click="handleEdit(scope.row)">{{ $t('customer.exit') }}</el-button> |
| | | <el-button size="mini" type="text" plain @click="opena(scope.row)">{{ $t('customer.delete') }}</el-button> |
| | | <el-button type="text" plain @click="handleBindRack(scope.row)">{{ $t('customer.addmenua') }}</el-button> |
| | | <el-button type="text" plain @click="handleEdit(scope.row)">{{ $t('customer.exit') }}</el-button> |
| | | <el-button type="text" plain @click="opena(scope.row)">{{ $t('customer.delete') }}</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </div> |
| | | <el-dialog v-model="add" top="23vh" width="37%" :title="$t('customer.addmenu')"> |
| | | <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;"> |
| | | <el-form size="mini" label-width="150px"> |
| | | <el-form label-width="150px"> |
| | | <el-form label-width="150px" label-position="right"> |
| | | <el-row style="margin-top: -15px;margin-bottom: -2px;"> |
| | | <el-col :span="6"> |
| | |
| | | </el-form> |
| | | </div> |
| | | <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;"> |
| | | <el-form size="mini" label-width="150px"> |
| | | <el-form label-width="150px"> |
| | | <el-form label-width="150px" label-position="right"> |
| | | <el-row style="margin-top: -15px;margin-bottom: -2px;"> |
| | | <el-col :span="6"> |
| | |
| | | </el-dialog> |
| | | <el-dialog v-model="adda" top="23vh" width="37%" :title="$t('customer.exmene')"> |
| | | <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;"> |
| | | <el-form ref="formRef" size="mini" label-width="150px"> |
| | | <el-form ref="formRef" label-width="150px"> |
| | | <el-form label-width="100px" label-position="right"> |
| | | <el-row style="margin-top: -15px;margin-bottom: -2px;"> |
| | | <el-col :span="6"> |
| | |
| | | </el-dialog> |
| | | <el-dialog v-model="addc" top="23vh" width="37%" :title="$t('customer.exmenea')"> |
| | | <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;"> |
| | | <el-form ref="formRef" size="mini" label-width="150px"> |
| | | <el-form ref="formRef" label-width="150px"> |
| | | <el-form label-width="100px" label-position="right"> |
| | | <el-row style="margin-top: -15px;margin-bottom: -2px;"> |
| | | <el-col :span="6"> |