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