| | |
| | | <a-card |
| | | :title="$t('menu.resource.title')" |
| | | :bordered="false" |
| | | :style="{ 'width': '100%', 'height': '900px', 'overflow-y': 'auto' }" |
| | | style=" 'width': '100%'; height: calc(100vh - 250px); 'overflow-y': 'auto' " |
| | | > |
| | | <a-tree |
| | | class="tree-demo" |
| | |
| | | <a-form-item field="menuName" label="资源名称"> |
| | | <a-input v-model="resourceform.menuName" /> |
| | | </a-form-item> |
| | | <a-form-item field="menuName" label="资源图标"> |
| | | <Upload |
| | | :action="uploadAction" |
| | | :limit="1" |
| | | :url="resourceform.icon" |
| | | @update:fileList="updateFileList" |
| | | @success="handleSuccess" |
| | | ></Upload> |
| | | </a-form-item> |
| | | <a-form-item field="menuType" label="资源类型"> |
| | | <a-select |
| | | v-model="resourceform.menuType" |
| | |
| | | :field-names="fieldNames" |
| | | :style="{ width: '320px' }" |
| | | placeholder="请选择" |
| | | /> |
| | | </a-form-item> |
| | | <a-form-item field="description" label="提示词"> |
| | | <a-input |
| | | v-model="resourceform.description" |
| | | placeholder="请输入提示词" |
| | | /> |
| | | </a-form-item> |
| | | <a-form-item field="perms" label="资源控制权限字符"> |
| | |
| | | @cancel="handleCancel" |
| | | @ok="addresource" |
| | | > |
| | | <a-form :model="resourceform" layout="horizontal"> |
| | | <a-form :rules="rules" :model="resourceform" layout="horizontal"> |
| | | <a-form-item field="parentName" label="上级资源" disabled> |
| | | <a-input v-model="resourceform.parentName" /> |
| | | </a-form-item> |
| | |
| | | <a-form-item field="menuName" label="资源名称"> |
| | | <a-input v-model="resourceform.menuName" /> |
| | | </a-form-item> |
| | | <a-form-item field="icon" label="资源图标"> |
| | | <Upload |
| | | :action="uploadAction" |
| | | :limit="1" |
| | | :url="resourceform.icon" |
| | | @update:fileList="updateFileList" |
| | | @success="handleSuccess" |
| | | ></Upload> |
| | | </a-form-item> |
| | | <a-form-item field="menuType" label="资源类型"> |
| | | <a-select |
| | | v-model="resourceform.menuType" |
| | |
| | | :field-names="fieldNames" |
| | | :style="{ width: '320px' }" |
| | | placeholder="请选择" |
| | | /> |
| | | </a-form-item> |
| | | <a-form-item field="description" label="提示词"> |
| | | <a-input |
| | | v-model="resourceform.description" |
| | | placeholder="请输入提示词" |
| | | /> |
| | | </a-form-item> |
| | | <a-form-item field="perms" label="资源控制权限字符"> |
| | |
| | | } from '@/api/authority'; |
| | | import Authheader from '@/views/authority/components/authheader.vue'; |
| | | import { Modal } from '@arco-design/web-vue'; |
| | | import { userModelState } from '@/store'; |
| | | |
| | | const modelStore = userModelState(); |
| | | |
| | | let visible = ref(false); |
| | | let treeData = ref([]); |
| | |
| | | target: '', |
| | | updateTime: '', |
| | | }); |
| | | const rules = { |
| | | // parentName: [ |
| | | // { |
| | | // required: true, |
| | | // message: '请输入上级资源', |
| | | // }, |
| | | // ], |
| | | // menuName: [ |
| | | // { |
| | | // required: true, |
| | | // message: '请输入资源名称', |
| | | // }, |
| | | // ], |
| | | // menuType: [ |
| | | // { |
| | | // required: true, |
| | | // message: '请选择资源类型', |
| | | // }, |
| | | // ], |
| | | // description: [ |
| | | // { |
| | | // required: true, |
| | | // message: '请输入提示词', |
| | | // }, |
| | | // ], |
| | | // perms: [ |
| | | // { |
| | | // required: true, |
| | | // message: '请输入资源控制权限字符', |
| | | // }, |
| | | // ], |
| | | }; |
| | | |
| | | const onIconClick = (nodeData) => { |
| | | resourceform.value.parentId = nodeData.menuId; |
| | | if (nodeData) { |
| | | resourceform.value.parentId = nodeData.menuId; |
| | | resourceform.value.parentName = nodeData.menuName; |
| | | } |
| | | resourceform.value.component = ''; |
| | | resourceform.value.createTime = ''; |
| | | resourceform.value.description = ''; |
| | |
| | | resourceform.value.menuName = ''; |
| | | resourceform.value.menuType = ''; |
| | | resourceform.value.orderNum = '0'; |
| | | resourceform.value.parentName = nodeData.menuName; |
| | | resourceform.value.path = ''; |
| | | resourceform.value.perms = ''; |
| | | resourceform.value.status = ''; |
| | |
| | | |
| | | visible.value = true; |
| | | }; |
| | | const formRef = ref(); |
| | | //图片上传 |
| | | const uploadAction = '/api/v1/llm/upload'; // 替换为你的上传API |
| | | const fileList = ref([]); |
| | | const imageUrls = ref([]); |
| | | const uploadUrl = ref([]); |
| | | const httpUrl = modelStore.hrefUrl; |
| | | const updateFileList = (newFileList) => { |
| | | fileList.value = newFileList; |
| | | }; |
| | | |
| | | const addresource = async () => { |
| | | const handleSuccess = (urls) => { |
| | | uploadUrl.value = urls; |
| | | |
| | | const urlsArr = urls.map((url) => { |
| | | return httpUrl + url; |
| | | }); |
| | | imageUrls.value = urlsArr; // 拿到上传的图片地址 |
| | | }; |
| | | |
| | | const addresource = async (done) => { |
| | | // formRef.value.validate().then(async (res) => { |
| | | // if (!res) { |
| | | // } |
| | | // done(false); |
| | | // }); |
| | | |
| | | resourceform.value.icon = uploadUrl.value[0] || ''; |
| | | await ResourceAdd({ |
| | | ...resourceform.value, |
| | | } as unknown as Resource).then((res) => { |
| | |
| | | const showDetail = (id) => { |
| | | ResourceById(id).then((res) => { |
| | | resourceform.value = { ...res.data }; |
| | | resourceform.value.icon = res.data.icon; |
| | | |
| | | imageUrls.value.push(httpUrl + res.data.icon); |
| | | }); |
| | | }; |
| | | const editresource = () => { |
| | | resourceform.value.icon = uploadUrl.value[0] || ''; |
| | | ResourceUpdate({ |
| | | ...resourceform.value, |
| | | } as unknown as Resource).then((res) => { |