From ac4341ea6b66ae02427d39d35f41d42d78b2eb2e Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 14 二月 2025 10:08:32 +0800 Subject: [PATCH] # --- zy-asrs-admin/src/views/system/menu/edit.vue | 52 +++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 39 insertions(+), 13 deletions(-) diff --git a/zy-asrs-admin/src/views/system/menu/edit.vue b/zy-asrs-admin/src/views/system/menu/edit.vue index 32e143f..30ae581 100644 --- a/zy-asrs-admin/src/views/system/menu/edit.vue +++ b/zy-asrs-admin/src/views/system/menu/edit.vue @@ -1,12 +1,16 @@ <script setup> -import { getCurrentInstance, ref, computed, reactive, watch } from 'vue'; +import { getCurrentInstance, ref, nextTick } from 'vue'; import { get, post } from '@/utils/request.js' import * as Icons from "@ant-design/icons-vue"; +import { formatMessage } from '@/utils/localeUtils.js'; +import { message } from 'ant-design-vue'; const context = getCurrentInstance()?.appContext.config.globalProperties; const components = { ...Icons, }; +const submitButton = ref(null); +const isSave = ref(true); const open = ref(false); const initFormData = { name: null @@ -17,16 +21,25 @@ const emit = defineEmits(['tableReload']) const handleOk = (e) => { - open.value = false; - console.log(formData.value); - post('/api/menu/update', formData.value).then((result) => { - console.log(result); - emit('tableReload', 'reload') - }) + nextTick(() => { + setTimeout(() => { + submitButton.value.$el.click(); + }, 100); + }); }; const onFinish = values => { - console.log('Success:', values); + // console.log('Success:', values); + open.value = false; + post(isSave.value ? '/api/menu/save' : '/api/menu/update', formData.value).then((resp) => { + let result = resp.data; + if (result.code === 200) { + message.success(formatMessage('page.update.success', '鏇存柊鎴愬姛')); + } else { + message.error(result.msg); + } + emit('tableReload', 'reload') + }) }; const onFinishFailed = errorInfo => { console.log('Failed:', errorInfo); @@ -37,6 +50,7 @@ formData, initFormData, treeData, + isSave, }) </script> @@ -49,16 +63,18 @@ <template> <div> - <a-modal v-model:open="open" :title="formData == null ? '娣诲姞' : '缂栬緫'" @ok="handleOk" style="width: 600px;"> + <a-modal v-model:open="open" + :title="isSave ? formatMessage('page.add', '娣诲姞') : formatMessage('page.edit', '缂栬緫')" @ok="handleOk" + style="width: 600px;"> <a-form :model="formData" name="menu" :label-col="{ span: 8 }" :wrapper-col="{ span: 16 }" style="display: flex;justify-content: space-between;flex-wrap: wrap;" autocomplete="off" @finish="onFinish" @finishFailed="onFinishFailed"> <a-form-item label="涓婄骇鑿滃崟" name="parentId" style="width: 250px;" :rules="[{ required: true, message: '涓婄骇鑿滃崟涓嶈兘涓虹┖!' }]"> <a-tree-select v-model:value="formData.parentId" show-search style="width: 100%" - :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" placeholder="Please select" - allow-clea tree-data-simple-mode :tree-data="treeData" tree-node-filter-prop="name" - :field-names="{ + :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" + :placeholder="formatMessage('page.input', '璇疯緭鍏�')" allow-clea tree-data-simple-mode + :tree-data="treeData" tree-node-filter-prop="name" :field-names="{ children: 'children', label: 'name', value: 'id', @@ -85,8 +101,14 @@ { label: '鎸夐挳', value: 1 }, ]"></a-select> </a-form-item> - <a-form-item label="鑿滃崟鍥炬爣" name="icon" style="width: 250px;"> + <a-form-item v-if="formData.type == 0" label="鑿滃崟鍥炬爣" name="icon" style="width: 250px;"> <a-input v-model:value="formData.icon" /> + </a-form-item> + <a-form-item v-else label="鏉冮檺" name="icon" style="width: 250px;"> + <a-input v-model:value="formData.authority" /> + </a-form-item> + <a-form-item label="鍥介檯鍖朓D" name="icon" style="width: 250px;"> + <a-input v-model:value="formData.languageId" /> </a-form-item> <a-form-item label="鎺掑簭" name="sort" style="width: 250px;"> <a-input v-model:value="formData.sort" /> @@ -97,6 +119,10 @@ { label: '姝e父', value: 1 }, ]"></a-select> </a-form-item> + <a-form-item> + <a-button type="primary" html-type="submit" ref="submitButton" + style="visibility: hidden;">Submit</a-button> + </a-form-item> </a-form> </a-modal> </div> -- Gitblit v1.9.1