From 3313467ddc324d3e19610142756423c8355dc82d Mon Sep 17 00:00:00 2001
From: zhangxiao <898441624@qq.com>
Date: 星期五, 30 八月 2024 15:13:58 +0800
Subject: [PATCH] fix: 更新聊天展示
---
src/views/authority/users/index.vue | 128 +++++++++++++++++++++++++++---------------
1 files changed, 81 insertions(+), 47 deletions(-)
diff --git a/src/views/authority/users/index.vue b/src/views/authority/users/index.vue
index 252759b..068e9b5 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)"
>
@@ -123,12 +123,18 @@
@ok="editHandleOk"
width="48%"
>
- <a-form ref="formRef" :model="editform">
+ <a-form ref="formRef" :model="editform" auto-label-width>
<a-row :gutter="20">
<a-col :span="10">
- <a-form-item field="loginName" label="鐢ㄦ埛鍚�" :rules="[{required:true,message:'鐢ㄦ埛鍚嶅繀濉�'},{maxLength:50,message:'闀垮害涓嶈秴杩�50'}]"
- >
- <a-input v-model="editform.loginName" />
+ <a-form-item
+ field="loginName"
+ label="鐢ㄦ埛鍚�"
+ :rules="[
+ { required: true, message: '鐢ㄦ埛鍚嶅繀濉�' },
+ { maxLength: 50, message: '闀垮害涓嶈秴杩�50' },
+ ]"
+ >
+ <a-input v-model="editform.loginName" />
</a-form-item>
</a-col>
<a-col :span="10">
@@ -144,7 +150,15 @@
</a-form-item>
</a-col>
<a-col :span="10">
- <a-form-item required field="email" label="閭" :rules="[{required:true,message:'閭蹇呭~'},{maxLength:50,message:'闀垮害涓嶈秴杩�50'}]" >
+ <a-form-item
+ required
+ field="email"
+ label="閭"
+ :rules="[
+ { required: true, message: '閭蹇呭~' },
+ { maxLength: 50, message: '闀垮害涓嶈秴杩�50' },
+ ]"
+ >
<a-input v-model="editform.email" />
</a-form-item>
</a-col>
@@ -156,8 +170,14 @@
</a-form-item>
</a-col>
<a-col :span="10">
- <a-form-item required field="role" label="瑙掕壊" :rules="[{required:true,message:'瑙掕壊蹇呴��'}]" >
+ <a-form-item
+ required
+ field="role"
+ label="瑙掕壊"
+ :rules="[{ required: true, message: '瑙掕壊蹇呴��' }]"
+ >
<a-select
+ multiple
v-model="editform.role"
:options="roles"
:field-names="fieldNames"
@@ -195,7 +215,6 @@
title: 'deptName',
children: 'children',
}"
- :check-strictly="checkStrictly"
>
</a-tree>
</a-card>
@@ -235,11 +254,7 @@
>
<a-space wrap>
鑿滃崟鍔熻兘锛�
- <a-tag
- v-for="(tag, index) of checkStrictlyMenu"
- :key="tag.menuId"
- @close="handleMenuRemove(tag)"
- >
+ <a-tag v-for="(tag, index) of checkStrictlyMenu" :key="tag.menuId">
{{ tag.menuName }}
</a-tag>
</a-space>
@@ -249,7 +264,6 @@
<a-tag
v-for="(tag, index) of checkStrictlyKnowledge"
:key="tag.knowledgeId"
- @close="handleKnowledgeRemove(tag)"
>
{{ tag.knowledgeName }}
</a-tag>
@@ -260,14 +274,12 @@
<a-tag
v-for="(tag, index) of checkStrictlyDialog"
:key="tag.dialogId"
- @close="handleDialogRemove(tag)"
>
{{ tag.dialogName }}
</a-tag>
<a-tag
v-for="(tag, index) of checkStrictlyAgent"
:key="tag.agentId"
- @close="handleDialogRemove(tag)"
>
{{ tag.agentName }}
</a-tag>
@@ -288,19 +300,21 @@
DialogList,
KnowledgeList,
OrganizationList,
- ResourceList, Role, RoleList,
+ ResourceList,
+ Role,
+ RoleList,
User,
UserAdd,
UserChangePwd,
UserDelete,
UserEdit,
UserList,
- Userstatus
- } from "@/api/authority";
+ Userstatus,
+ } from '@/api/authority';
import { Modal } from '@arco-design/web-vue';
import Authheader from '@/views/authority/components/authheader.vue';
import { create } from 'lodash';
- import { queryCanvasList } from "@/api/Agent";
+ import { queryCanvasList } from '@/api/Agent';
const fieldNames = { value: 'roleId', label: 'roleName' };
const roles = ref([]);
@@ -338,10 +352,10 @@
phoneNumber: '',
status: '',
userId: '',
- loginName:'',
+ loginName: '',
userName: '',
- psw:'',
- role:'',
+ psw: '',
+ role: [],
});
let size = ref<SizeProps>('medium');
@@ -350,11 +364,11 @@
let resourcevisible = ref(false);
let selectUser = ref({});
- const loadRole=async () => {
- await RoleList(null).then((res) => {
- roles.value = res.rows;
- });
- }
+ const loadRole = async () => {
+ await RoleList(null).then((res) => {
+ roles.value = res.rows;
+ });
+ };
const roleChange = (val) => {
editform.value.role = val;
@@ -433,7 +447,15 @@
]);
const statusChange = async (value, record) => {
- await Userstatus(record.userId, value).then((res) => {});
+ if (record?.dept) {
+ await Userstatus(record.userId, value).then((res) => {});
+ } else {
+ record.status = '0';
+ Modal.warning({
+ title: '鎻愮ず',
+ content: '濡傛兂鍚敤鐢ㄦ埛锛岄渶杩涜閮ㄩ棬閰嶇疆.',
+ });
+ }
};
const handleCancel = (type) => {
@@ -457,26 +479,34 @@
});
};
-
const cb = async (err) => {
if (err) {
visible.value = true;
} else {
+ let uuu;
if (editform.value.userId.length > 0) {
await UserEdit({
- ...editform.value
+ ...editform.value,
} as unknown as User).then((res) => {
fetchData();
+ uuu = res.data;
});
} else {
await UserAdd({
- ...editform.value
+ ...editform.value,
} as unknown as User).then((res) => {
fetchData();
+ uuu = res.data;
});
}
+ if (uuu.dept?false:true) {
+ deptvisible.value = true;
+ checkedKeys.value = [];
+ expandKdys.value = [];
+ checkStrictly.value = [];
+ selectUser.value = uuu;
+ }
}
-
};
const editHandleOk = () => {
formRef.value.validate(cb);
@@ -512,13 +542,20 @@
//缂栬緫
if (t == 2) {
visible.value = true;
+ formRef.value?.resetFields();
+ editform.value.role=[];
save.value = '缂栬緫';
editform.value.userId = record.userId;
editform.value.userName = record.userName;
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) {
+ //閬嶅巻record.roles
+ record.roles.forEach((val) => {
+ editform.value.role.push(val.roleId);
+ })
+ }
}
//鍒犻櫎
if (t == 3) {
@@ -538,9 +575,9 @@
selectUser.value = record;
let agents;
- if (record.agents){
- agents=record.agents
- }else{
+ if (record.agents) {
+ agents = record.agents;
+ } else {
agents = record.roles ? record.roles[0].agents : null;
}
if (agents) {
@@ -549,13 +586,12 @@
agentId: val.id,
agentName: val.title,
});
-
});
}
let resources;
- if (record.resources){
- resources=record.resources
- }else{
+ if (record.resources) {
+ resources = record.resources;
+ } else {
resources = record.roles ? record.roles[0].resources : null;
}
if (resources) {
@@ -564,7 +600,6 @@
menuId: val.menuId,
menuName: val.menuName,
});
-
});
}
let knowledges;
@@ -599,7 +634,7 @@
checkStrictly.value = [];
selectUser.value = record;
expandKdys.value.push('0');
- if (record.dept) {
+ if (record?.dept) {
record.dept.forEach((val) => {
checkStrictly.value.push({
deptId: val.deptId,
@@ -631,9 +666,9 @@
if (user.roles) {
for (const r of user.roles) {
if (user.roleName) {
- user.roleName += r.roleName + ",";
+ user.roleName += r.roleName + ',';
} else {
- user.roleName = r.roleName + ",";
+ user.roleName = r.roleName + ',';
}
}
}
@@ -667,10 +702,9 @@
});
};
-
fetchData();
OrganizationData('');
- loadRole()
+ loadRole();
const reset = () => {
formModel.value = generateFormModel();
--
Gitblit v1.8.0