From 2e9fb42825b850390cd4fbb61248d2778b111904 Mon Sep 17 00:00:00 2001 From: zhangxiao <898441624@qq.com> Date: 星期六, 17 八月 2024 18:54:14 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/web/flow_web --- src/views/authority/users/index.vue | 6 + src/views/authority/organization/index.vue | 96 ++++++++++++++++-------- src/views/authority/resource/index.vue | 135 +++++++++++++++------------------ 3 files changed, 129 insertions(+), 108 deletions(-) diff --git a/src/views/authority/organization/index.vue b/src/views/authority/organization/index.vue index 03c4f6d..65ae930 100644 --- a/src/views/authority/organization/index.vue +++ b/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) => { diff --git a/src/views/authority/resource/index.vue b/src/views/authority/resource/index.vue index b95142c..cd23097 100644 --- a/src/views/authority/resource/index.vue +++ b/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); @@ -212,7 +220,7 @@ menuId: '', menuName: '', menuType: '', - orderNum: '', + orderNum: '0', parentId: '', parentName: '', children: [], @@ -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'; // 鏇挎崲涓轰綘鐨勪笂浼燗PI 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) => { diff --git a/src/views/authority/users/index.vue b/src/views/authority/users/index.vue index 252759b..b62cead 100644 --- a/src/views/authority/users/index.vue +++ b/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)" > @@ -518,7 +518,9 @@ editform.value.loginName = record.loginName; editform.value.email = record.email; editform.value.phoneNumber = record.phoneNumber; - editform.value.role = record.role; + if (record.roles?.length>0) { + editform.value.role = record.roles[0].roleId; + } } //鍒犻櫎 if (t == 3) { -- Gitblit v1.8.0