From 1606cbed5beef1dd04a3235d4bc3fd30ea45eb1e Mon Sep 17 00:00:00 2001
From: liudong <liudong>
Date: 星期五, 09 八月 2024 11:13:29 +0800
Subject: [PATCH] 智能体页面bug修改
---
src/views/authority/users/index.vue | 286 ++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 222 insertions(+), 64 deletions(-)
diff --git a/src/views/authority/users/index.vue b/src/views/authority/users/index.vue
index cf5ddba..634b0e1 100644
--- a/src/views/authority/users/index.vue
+++ b/src/views/authority/users/index.vue
@@ -1,11 +1,73 @@
<template>
<div class="container">
<authheader :items="menuTips"></authheader>
- <a-card ref="account" class="general-card" :title="$t('menu.user.title')">
- <a-row>
+ <a-card ref="account" class="general-card">
+ <div class="table-page-search-wrapper">
+ <div class="search-wrapper">
+ <div>
+ <a-input
+ v-model="formModel.name"
+ :style="{ width: '320px' }"
+ :placeholder="$t('璇疯緭鍏�')"
+ />
+ </div>
+ <div>
+ <a-button
+ type="primary"
+ @click="search"
+ style="margin-right: 20px; margin-left: 10px"
+ >
+ <template #icon>
+ <icon-search />
+ </template>
+ {{ $t('searchTable.form.search') }}
+ </a-button>
+ <a-button @click="reset">
+ <template #icon>
+ <icon-refresh />
+ </template>
+ {{ $t('searchTable.form.reset') }}
+ </a-button>
+ </div>
+ </div>
+ <div class="search-wrapper">
+ <div>
+ <a-space>
+ <a-button type="primary" :align="'right'" @click="operation(0)"
+ >+ 鏂板缓璐︽埛</a-button
+ >
+ </a-space></div
+ >
+ <div class="wrapper-icon">
+ <a-tooltip :content="$t('searchTable.actions.refresh')">
+ <div class="action-icon" @click="search">
+ <icon-refresh size="18" />
+ </div>
+ </a-tooltip>
+ <a-dropdown @select="handleSelectDensity">
+ <a-tooltip :content="$t('searchTable.actions.density')">
+ <div class="action-icon">
+ <icon-line-height size="18" />
+ </div>
+ </a-tooltip>
+ <template #content>
+ <a-doption
+ v-for="item in densityList"
+ :key="item.value"
+ :value="item.value"
+ :class="{ active: item.value === size }"
+ >
+ <span>{{ item.name }}</span>
+ </a-doption>
+ </template>
+ </a-dropdown>
+ </div>
+ </div>
+ </div>
+ <!-- <a-row>
<a-col :flex="2"></a-col>
<a-col :flex="1">
- <a-form :model="formModel">
+ <a-form :model="formModel" style="margin-top: 30px">
<a-form-item field="name">
<a-input
v-model="formModel.name"
@@ -15,23 +77,22 @@
</a-form-item>
</a-form>
</a-col>
- <a-divider style="height: 40px" direction="vertical" />
- <a-col :flex="'200px'" style="text-align: right">
- <a-button @click="reset" style="margin-right: 20px">
- <template #icon>
- <icon-refresh />
- </template>
- {{ $t('searchTable.form.reset') }}
- </a-button>
- <a-button type="primary" @click="search">
+ <a-col :flex="'200px'" style="text-align: right; margin-top: 30px">
+ <a-button type="primary" @click="search" style="margin-right: 20px">
<template #icon>
<icon-search />
</template>
{{ $t('searchTable.form.search') }}
</a-button>
+ <a-button @click="reset">
+ <template #icon>
+ <icon-refresh />
+ </template>
+ {{ $t('searchTable.form.reset') }}
+ </a-button>
</a-col>
- </a-row>
- <a-divider style="margin-top: 0" />
+ </a-row> -->
+ <!-- <a-divider style="margin-top: 0" />
<a-row style="margin-bottom: 16px">
<a-col :span="12">
<a-space>
@@ -67,7 +128,7 @@
</template>
</a-dropdown>
</a-col>
- </a-row>
+ </a-row> -->
<a-table
row-key="id"
:loading="loading"
@@ -93,23 +154,33 @@
/>
</template>
<template #operations="{ record }">
- <a-button type="outline" @click="operation(1, record)"
- >閲嶇疆瀵嗙爜</a-button
- >
- <a-button type="outline" @click="operation(2, record)">缂栬緫</a-button>
- <a-popconfirm
- content="Are you sure you want to delete?"
- type="success"
- @ok="operation(3, record)"
- >
- <a-button type="outline">鍒犻櫎</a-button>
- </a-popconfirm>
- <a-button type="outline" @click="operation(4, record)"
- >鏉冮檺閰嶇疆</a-button
- >
- <a-button type="outline" @click="operation(5, record)"
- >閮ㄩ棬閰嶇疆</a-button
- >
+ <a-space>
+ <a-button
+ type="outline"
+ status="success"
+ @click="operation(1, record)"
+ >閲嶇疆瀵嗙爜</a-button
+ >
+ <a-button type="outline" @click="operation(2, record)"
+ >缂栬緫</a-button
+ >
+ <a-popconfirm
+ content="Are you sure you want to delete?"
+ type="success"
+ @ok="operation(3, record)"
+ >
+ <a-button type="outline" status="danger">鍒犻櫎</a-button>
+ </a-popconfirm>
+ <a-button
+ type="dashed"
+ status="warning"
+ @click="operation(4, record)"
+ >鏉冮檺閰嶇疆</a-button
+ >
+ <a-button status="success" @click="operation(5, record)"
+ >閮ㄩ棬閰嶇疆</a-button
+ >
+ </a-space>
</template>
</a-table>
</a-card>
@@ -360,6 +431,7 @@
let editform = ref<User>({
createTime: '',
dept: undefined,
+ deptName: '',
email: '',
nickName: '',
phoneNumber: '',
@@ -490,8 +562,8 @@
slotName: 'index',
},
{
- title: t('鐢ㄦ埛鍚�'),
- dataIndex: 'userName',
+ title: t('鐧诲綍鍚�'),
+ dataIndex: 'email',
},
{
title: t('鍒涘缓鏃堕棿'),
@@ -499,8 +571,8 @@
},
{
title: t('鎵�灞為儴闂�'),
- dataIndex: 'dept',
- slotName: 'dept',
+ dataIndex: 'deptName',
+ slotName: 'deptName',
},
{
title: t('鐘舵��'),
@@ -621,7 +693,7 @@
//鍒犻櫎
if (t == 3) {
await UserDelete(record.userId).then((res) => {
- if (res.code == 20000) {
+ if (res.code == 200) {
fetchData();
}
});
@@ -637,28 +709,34 @@
checkStrictlyDialog.value = [];
checkedKeysDialog.value = [];
selectUser.value = record;
- record.resources.forEach((val) => {
- checkStrictlyMenu.value.push({
- menuId: val.menuId,
- menuName: val.menuName,
+ if (record.resources) {
+ record.resources.forEach((val) => {
+ checkStrictlyMenu.value.push({
+ menuId: val.menuId,
+ menuName: val.menuName,
+ });
+ checkedKeysMenu.value.push(val.menuId);
+ expandKdysMenu.value.push(val.menuId);
});
- checkedKeysMenu.value.push(val.menuId);
- expandKdysMenu.value.push(val.menuId);
- });
- record.knowledges.forEach((val) => {
- checkStrictlyKnowledge.value.push({
- knowledgeId: val.id,
- knowledgeName: val.name,
+ }
+ if (record.knowledges) {
+ record.knowledges.forEach((val) => {
+ checkStrictlyKnowledge.value.push({
+ knowledgeId: val.id,
+ knowledgeName: val.name,
+ });
+ checkedKeysKnowledge.value.push(val.id);
});
- checkedKeysKnowledge.value.push(val.id);
- });
- record.dialogs.forEach((val) => {
- checkStrictlyDialog.value.push({
- dialogId: val.id,
- dialogName: val.name,
+ }
+ if (record.dialogs) {
+ record.dialogs.forEach((val) => {
+ checkStrictlyDialog.value.push({
+ dialogId: val.id,
+ dialogName: val.name,
+ });
+ checkedKeysDialog.value.push(val.id);
});
- checkedKeysDialog.value.push(val.id);
- });
+ }
}
//鏈烘瀯
if (t == 5) {
@@ -668,14 +746,16 @@
checkStrictly.value = [];
selectUser.value = record;
expandKdys.value.push('0');
- record.dept.forEach((val) => {
- checkStrictly.value.push({
- deptId: val.deptId,
- deptName: val.deptName,
+ if (record.dept) {
+ record.dept.forEach((val) => {
+ checkStrictly.value.push({
+ deptId: val.deptId,
+ deptName: val.deptName,
+ });
+ checkedKeys.value.push(val.deptId);
+ expandKdys.value.push(val.deptId);
});
- checkedKeys.value.push(val.deptId);
- expandKdys.value.push(val.deptId);
- });
+ }
}
};
@@ -685,6 +765,17 @@
setLoading(true);
try {
await UserList(params).then((res) => {
+ for (const user of res.rows) {
+ if (user.dept) {
+ for (const d of user.dept) {
+ if (user.deptName) {
+ user.deptName += d.deptName + ',';
+ } else {
+ user.deptName = d.deptName + ',';
+ }
+ }
+ }
+ }
renderData.value = res.rows;
console.log(renderData);
pagination.current = params.current;
@@ -742,7 +833,7 @@
};
</script>
-<style scoped>
+<style scoped lang="less">
.card-demo {
width: 460px;
margin-left: 24px;
@@ -752,4 +843,71 @@
.card-demo:hover {
transform: translateY(-4px);
}
+ .table-page-search-wrapper {
+ padding-top: 20px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-bottom: 20px;
+ padding-bottom: 20px;
+ border-bottom: 1px solid #e8e8e8;
+ .search-wrapper {
+ display: flex;
+ .wrapper-icon {
+ display: flex;
+ align-items: center;
+ margin-left: 40px;
+ // margin-right: 40px;
+ }
+ }
+ }
+</style>
+<style lang="less">
+ .ant-table-wrapper {
+ .ant-table-tbody {
+ tr {
+ td {
+ .ant-table-row-cell-break-word {
+ .ant-table-column-sorter {
+ display: none;
+ }
+ }
+ }
+ }
+ }
+
+ .search-wrapper {
+ display: flex;
+ .wrapper-icon {
+ display: flex;
+ align-items: center;
+ margin-left: 40px;
+ // margin-right: 40px;
+ }
+ }
+ }
+</style>
+<style lang="less">
+ .ant-table-wrapper {
+ .ant-table-tbody {
+ tr {
+ td {
+ .ant-table-row-cell-break-word {
+ .ant-table-column-sorter {
+ display: none;
+ }
+ }
+ }
+ }
+ }
+ }
+</style>
+<style lang="less" scoped>
+ .table-page-search-wrapper {
+ .ant-form-inline {
+ :deep(.ant-form-item) {
+ display: flex;
+ }
+ }
+ }
</style>
--
Gitblit v1.8.0