src/views/authority/organization/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/authority/resource/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/authority/users/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/views/authority/organization/index.vue
@@ -34,16 +34,20 @@ " @click="() => onIconClick(nodeData)" /> <IconDelete style=" <a-popconfirm v-if="nodeData.deptName!='root'" content="请确认是否删除?" type="success" @ok="() => onIconClickDelete(nodeData)" > <IconDelete style=" position: absolute; right: 40px; font-size: 12px; top: 10px; color: #3370ff; " @click="() => onIconClickDelete(nodeData)" /> " /> </a-popconfirm> </template> </a-tree> </a-card> @@ -54,9 +58,9 @@ :bordered="false" :style="{ width: '100%' }" > <a-form :model="deptform" layout="horizontal"> <a-form-item field="parentName" label="上级机构"> <a-input v-model="deptform.parentId" /> <a-form :model="deptform" layout="horizontal" ref="formRef"> <a-form-item field="parentName" label="上级机构" disabled> <a-input v-model="deptform.parentName" /> </a-form-item> <a-form-item field="status" label="机构状态"> <a-switch @@ -65,13 +69,13 @@ v-model="deptform.status" ></a-switch> </a-form-item> <a-form-item field="deptName" label="机构名称"> <a-form-item field="deptName" label="机构名称" :rules="[{required:true,message:'机构名称必填'},{maxLength:50,message:'长度不超过50'}]"> <a-input v-model="deptform.deptName" /> </a-form-item> <a-form-item field="leader" label="联系人"> <a-form-item field="leader" label="联系人" :rules="[{required:true,message:'联系人必填'},{maxLength:50,message:'长度不超过50'}]"> <a-input v-model="deptform.leader" /> </a-form-item> <a-form-item field="phone" label="联系电话"> <a-form-item field="phone" label="联系电话" :rules="[{required:true,message:'联系电话必填'},{maxLength:50,message:'长度不超过50'}]"> <a-input v-model="deptform.phone" /> </a-form-item> <a-form-item field="address" label="机构地址" style="align: start"> @@ -94,8 +98,8 @@ @cancel="handleCancel" @ok="addDept" > <a-form :model="deptform" layout="horizontal"> <a-form-item field="parentName" label="上级机构"> <a-form :model="deptform" layout="horizontal" ref="addFormRef"> <a-form-item field="parentName" label="上级机构" disabled> <a-input v-model="deptform.parentName" /> </a-form-item> <a-form-item field="status" label="机构状态"> @@ -105,13 +109,13 @@ v-model="deptform.status" ></a-switch> </a-form-item> <a-form-item field="deptName" label="机构名称"> <a-form-item field="deptName" label="机构名称" :rules="[{required:true,message:'机构名称必填'},{maxLength:50,message:'长度不超过50'}]"> <a-input v-model="deptform.deptName" /> </a-form-item> <a-form-item field="leader" label="联系人"> <a-form-item field="leader" label="联系人" :rules="[{required:true,message:'联系人必填'},{maxLength:50,message:'长度不超过50'}]"> <a-input v-model="deptform.leader" /> </a-form-item> <a-form-item field="phone" label="联系电话"> <a-form-item field="phone" label="联系电话" :rules="[{required:true,message:'联系电话必填'},{maxLength:50,message:'长度不超过50'}]"> <a-input v-model="deptform.phone" /> </a-form-item> <a-form-item field="address" label="机构地址" style="align: start"> @@ -131,11 +135,13 @@ OrganizationById, OrganizationDelete, OrganizationList, OrganizationUpdate, } from '@/api/authority'; OrganizationUpdate, User, UserAdd, UserEdit } from "@/api/authority"; import Authheader from '@/views/authority/components/authheader.vue'; import { Modal } from '@arco-design/web-vue'; let formRef = ref(); let addFormRef= ref(); let visible = ref(false); let treeData = ref([]); let showLine = ref(true); @@ -154,17 +160,35 @@ }); const onIconClick = (nodeData) => { deptform.value.deptName = ""; deptform.value.email = ""; deptform.value.leader = ""; deptform.value.orderNum = "0"; deptform.value.phone = ""; deptform.value.status = ""; deptform.value.address = ""; deptform.value.deptId = ""; deptform.value.parentName = nodeData.deptName; deptform.value.parentId = nodeData.deptId; visible.value = true; }; const addCb = async (err) => { if (err) { visible.value=true; } else { await OrganizationAdd({ ...deptform.value, } as unknown as Organization).then((res) => { OrganizationData(''); }); } ; } const addDept = async () => { await OrganizationAdd({ ...deptform.value, } as unknown as Organization).then((res) => { OrganizationData(''); }); addFormRef.value.validate(addCb); }; const onIconClickDelete = (nodeData) => { @@ -178,16 +202,24 @@ deptform.value = { ...res.data }; }); }; const editdept = () => { OrganizationUpdate({ ...deptform.value, } as unknown as Organization).then((res) => { OrganizationData(''); Modal.success({ title: '保存成功', content: '保存成功', const cb = async (err) => { if (err) { } else { OrganizationUpdate({ ...deptform.value, } as unknown as Organization).then((res) => { OrganizationData(''); Modal.success({ title: '保存成功', content: '保存成功', }); }); }); } ; } const editdept = () => { formRef.value.validate(cb); }; const reset = (id) => { OrganizationById(id).then((res) => { src/views/authority/resource/index.vue
@@ -22,7 +22,7 @@ @drop="onDrop" @select="showDetail" > <template #extra="nodeData"> <template #extra="nodeData" > <IconPlus style=" position: absolute; @@ -33,16 +33,20 @@ " @click="() => onIconClick(nodeData)" /> <IconDelete style=" <a-popconfirm v-if="nodeData.menuName!='root'" content="请确认是否删除?" type="success" @ok="() => onIconClickDelete(nodeData)" > <IconDelete style=" position: absolute; right: 40px; font-size: 12px; top: 10px; color: #3370ff; " @click="() => onIconClickDelete(nodeData)" /> " /> </a-popconfirm> </template> </a-tree> </a-card> @@ -53,7 +57,7 @@ :bordered="false" :style="{ width: '100%' }" > <a-form :model="resourceform" layout="horizontal"> <a-form :model="resourceform" layout="horizontal" ref="formRef"> <a-form-item field="parentName" label="上级资源" disabled> <a-input v-model="resourceform.parentName" /> </a-form-item> @@ -64,7 +68,7 @@ v-model="resourceform.status" ></a-switch> </a-form-item> <a-form-item field="menuName" label="资源名称"> <a-form-item field="menuName" label="资源名称" :rules="[{required:true,message:'资源名称必填'},{maxLength:50,message:'长度不超过50'}]"> <a-input v-model="resourceform.menuName" /> </a-form-item> <a-form-item field="menuName" label="资源图标"> @@ -76,7 +80,7 @@ @success="handleSuccess" ></Upload> </a-form-item> <a-form-item field="menuType" label="资源类型"> <a-form-item field="menuType" label="资源类型" :rules="[{required:true,message:'资源类型必填'}]"> <a-select v-model="resourceform.menuType" :options="options" @@ -91,13 +95,14 @@ placeholder="请输入提示词" /> </a-form-item> <a-form-item field="perms" label="资源控制权限字符"> <a-form-item field="perms" label="资源控制权限字符" :rules="[{required:true,message:'资源控制权限字符必填'},{maxLength:50,message:'长度不超过50'}]"> <a-input v-model="resourceform.perms" /> </a-form-item> <a-form-item field="component" label="资源地址" style="align: start" :rules="[{required:true,message:'资源地址必填'},{maxLength:50,message:'长度不超过50'}]" > <a-input v-model="resourceform.component" /> </a-form-item> @@ -118,7 +123,7 @@ @cancel="handleCancel" @ok="addresource" > <a-form :rules="rules" :model="resourceform" layout="horizontal"> <a-form :model="resourceform" layout="horizontal" ref="addFormRef"> <a-form-item field="parentName" label="上级资源" disabled> <a-input v-model="resourceform.parentName" /> </a-form-item> @@ -129,7 +134,7 @@ v-model="resourceform.status" ></a-switch> </a-form-item> <a-form-item field="menuName" label="资源名称"> <a-form-item field="menuName" label="资源名称" :rules="[{required:true,message:'资源名称必填'},{maxLength:50,message:'长度不超过50'}]"> <a-input v-model="resourceform.menuName" /> </a-form-item> <a-form-item field="icon" label="资源图标"> @@ -141,7 +146,7 @@ @success="handleSuccess" ></Upload> </a-form-item> <a-form-item field="menuType" label="资源类型"> <a-form-item field="menuType" label="资源类型" :rules="[{required:true,message:'资源类型必填'}]"> <a-select v-model="resourceform.menuType" :options="options" @@ -156,10 +161,10 @@ placeholder="请输入提示词" /> </a-form-item> <a-form-item field="perms" label="资源控制权限字符"> <a-form-item field="perms" label="资源控制权限字符" :rules="[{required:true,message:'资源控制权限字符必填'},{maxLength:50,message:'长度不超过50'}]"> <a-input v-model="resourceform.perms" /> </a-form-item> <a-form-item field="component" label="资源地址" style="align: start"> <a-form-item field="component" label="资源地址" style="align: start" :rules="[{required:true,message:'资源地址必填'},{maxLength:50,message:'长度不超过50'}]"> <a-input v-model="resourceform.component" /> </a-form-item> </a-form> @@ -171,19 +176,22 @@ import { ref } from 'vue'; import { IconPlus } from '@arco-design/web-vue/es/icon'; import { Organization, OrganizationAdd, OrganizationUpdate, Resource, ResourceAdd, ResourceById, ResourceDelete, ResourceList, ResourceUpdate, } from '@/api/authority'; ResourceUpdate } 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 formRef = ref(); let addFormRef= ref(); let visible = ref(false); let treeData = ref([]); let showLine = ref(true); @@ -223,38 +231,7 @@ 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) => { if (nodeData) { @@ -276,7 +253,7 @@ visible.value = true; }; const formRef = ref(); //图片上传 const uploadAction = '/api/v1/llm/upload'; // 替换为你的上传API const fileList = ref([]); @@ -296,19 +273,21 @@ imageUrls.value = urlsArr; // 拿到上传的图片地址 }; const addresource = async (done) => { // formRef.value.validate().then(async (res) => { // if (!res) { // } // done(false); // }); const addCb = async (err) => { if (err) { visible.value = true; } else { resourceform.value.icon = uploadUrl.value[0] || ''; await ResourceAdd({ ...resourceform.value, } as unknown as Resource).then((res) => { ResourceData(''); }); } } resourceform.value.icon = uploadUrl.value[0] || ''; await ResourceAdd({ ...resourceform.value, } as unknown as Resource).then((res) => { ResourceData(''); }); const addresource = async (done) => { addFormRef.value.validate(addCb); }; const onIconClickDelete = (nodeData) => { @@ -325,17 +304,25 @@ imageUrls.value.push(httpUrl + res.data.icon); }); }; const editresource = () => { resourceform.value.icon = uploadUrl.value[0] || ''; ResourceUpdate({ ...resourceform.value, } as unknown as Resource).then((res) => { ResourceData(''); Modal.success({ title: '保存成功', content: '保存成功', const cb = async (err) => { if (err) { } else { resourceform.value.icon = uploadUrl.value[0] || ''; ResourceUpdate({ ...resourceform.value, } as unknown as Resource).then((res) => { ResourceData(''); Modal.success({ title: '保存成功', content: '保存成功', }); }); }); } } const editresource = () => { formRef.value.validate(cb); }; const reset = (id) => { ResourceById(id).then((res) => { src/views/authority/users/index.vue
@@ -97,7 +97,7 @@ >编辑</a-button > <a-popconfirm content="Are you sure you want to delete?" content="请确认是否删除?" type="success" @ok="operation(3, record)" >