@liujitcn/kratos-admin-system 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/README.md +137 -0
  2. package/dist/package/declarations/index.d.ts +1 -0
  3. package/dist/package/declarations/src/ai.d.ts +10 -0
  4. package/dist/package/declarations/src/api/base/ai_message.d.ts +27 -0
  5. package/dist/package/declarations/src/api/base/ai_session.d.ts +17 -0
  6. package/dist/package/declarations/src/api/base/ai_tool.d.ts +7 -0
  7. package/dist/package/declarations/src/api/base/oauth.d.ts +13 -0
  8. package/dist/package/declarations/src/api/base/sse.d.ts +31 -0
  9. package/dist/package/declarations/src/api/system/auth.d.ts +17 -0
  10. package/dist/package/declarations/src/api/system/base_api.d.ts +22 -0
  11. package/dist/package/declarations/src/api/system/base_area.d.ts +19 -0
  12. package/dist/package/declarations/src/api/system/base_config.d.ts +20 -0
  13. package/dist/package/declarations/src/api/system/base_dept.d.ts +21 -0
  14. package/dist/package/declarations/src/api/system/base_dict.d.ts +32 -0
  15. package/dist/package/declarations/src/api/system/base_job.d.ts +28 -0
  16. package/dist/package/declarations/src/api/system/base_log.d.ts +9 -0
  17. package/dist/package/declarations/src/api/system/base_menu.d.ts +21 -0
  18. package/dist/package/declarations/src/api/system/base_migration.d.ts +10 -0
  19. package/dist/package/declarations/src/api/system/base_post.d.ts +21 -0
  20. package/dist/package/declarations/src/api/system/base_role.d.ts +23 -0
  21. package/dist/package/declarations/src/api/system/base_tenant.d.ts +21 -0
  22. package/dist/package/declarations/src/api/system/base_user.d.ts +23 -0
  23. package/dist/package/declarations/src/api/system/code_gen.d.ts +14 -0
  24. package/dist/package/declarations/src/api/system/code_gen_column.d.ts +12 -0
  25. package/dist/package/declarations/src/api/system/code_gen_proto.d.ts +10 -0
  26. package/dist/package/declarations/src/api/system/code_gen_sse.d.ts +8 -0
  27. package/dist/package/declarations/src/api/system/code_gen_table.d.ts +18 -0
  28. package/dist/package/declarations/src/api/system/project_document.d.ts +9 -0
  29. package/dist/package/declarations/src/components/Ai.vue.d.ts +3 -0
  30. package/dist/package/declarations/src/index.d.ts +3 -0
  31. package/dist/package/declarations/src/module.d.ts +2 -0
  32. package/dist/package/declarations/src/rpc/base/v1/ai_message.d.ts +82 -0
  33. package/dist/package/declarations/src/rpc/base/v1/ai_session.d.ts +176 -0
  34. package/dist/package/declarations/src/rpc/base/v1/ai_tool.d.ts +59 -0
  35. package/dist/package/declarations/src/rpc/base/v1/oauth.d.ts +167 -0
  36. package/dist/package/declarations/src/rpc/base/v1/sse.d.ts +13 -0
  37. package/dist/package/declarations/src/rpc/common/v1/common.d.ts +57 -0
  38. package/dist/package/declarations/src/rpc/common/v1/enum.d.ts +58 -0
  39. package/dist/package/declarations/src/rpc/common/v1/types.d.ts +60 -0
  40. package/dist/package/declarations/src/rpc/google/protobuf/empty.d.ts +11 -0
  41. package/dist/package/declarations/src/rpc/google/protobuf/timestamp.d.ts +107 -0
  42. package/dist/package/declarations/src/rpc/system/admin/v1/auth.d.ts +156 -0
  43. package/dist/package/declarations/src/rpc/system/admin/v1/base_api.d.ts +193 -0
  44. package/dist/package/declarations/src/rpc/system/admin/v1/base_area.d.ts +82 -0
  45. package/dist/package/declarations/src/rpc/system/admin/v1/base_config.d.ts +112 -0
  46. package/dist/package/declarations/src/rpc/system/admin/v1/base_dept.d.ts +112 -0
  47. package/dist/package/declarations/src/rpc/system/admin/v1/base_dict.d.ts +215 -0
  48. package/dist/package/declarations/src/rpc/system/admin/v1/base_job.d.ts +177 -0
  49. package/dist/package/declarations/src/rpc/system/admin/v1/base_log.d.ts +87 -0
  50. package/dist/package/declarations/src/rpc/system/admin/v1/base_menu.d.ts +151 -0
  51. package/dist/package/declarations/src/rpc/system/admin/v1/base_migration.d.ts +64 -0
  52. package/dist/package/declarations/src/rpc/system/admin/v1/base_post.d.ts +112 -0
  53. package/dist/package/declarations/src/rpc/system/admin/v1/base_role.d.ts +128 -0
  54. package/dist/package/declarations/src/rpc/system/admin/v1/base_tenant.d.ts +112 -0
  55. package/dist/package/declarations/src/rpc/system/admin/v1/base_user.d.ts +161 -0
  56. package/dist/package/declarations/src/rpc/system/admin/v1/code_gen.d.ts +155 -0
  57. package/dist/package/declarations/src/rpc/system/admin/v1/code_gen_column.d.ts +143 -0
  58. package/dist/package/declarations/src/rpc/system/admin/v1/code_gen_proto.d.ts +86 -0
  59. package/dist/package/declarations/src/rpc/system/admin/v1/code_gen_table.d.ts +149 -0
  60. package/dist/package/declarations/src/rpc/system/admin/v1/project_document.d.ts +64 -0
  61. package/dist/package/declarations/src/rpc/system/common/v1/enum.d.ts +67 -0
  62. package/dist/package/declarations/src/views/ai/chat/attachment.d.ts +14 -0
  63. package/dist/package/declarations/src/views/ai/chat/components/AiMarkdown.vue.d.ts +13 -0
  64. package/dist/package/declarations/src/views/ai/chat/components/ChatPanel.vue.d.ts +45 -0
  65. package/dist/package/declarations/src/views/ai/chat/components/SessionPanel.vue.d.ts +34 -0
  66. package/dist/package/declarations/src/views/ai/chat/components/XSender.vue.d.ts +12 -0
  67. package/dist/package/declarations/src/views/ai/chat/index.vue.d.ts +4 -0
  68. package/dist/package/declarations/src/views/ai/chat/message.d.ts +59 -0
  69. package/dist/package/declarations/src/views/ai/chat/stream.d.ts +10 -0
  70. package/dist/package/declarations/src/views/ai/chat/types.d.ts +115 -0
  71. package/dist/package/declarations/src/views/base/api/index.vue.d.ts +3 -0
  72. package/dist/package/declarations/src/views/base/area/index.vue.d.ts +3 -0
  73. package/dist/package/declarations/src/views/base/config/index.vue.d.ts +3 -0
  74. package/dist/package/declarations/src/views/base/dept/index.vue.d.ts +3 -0
  75. package/dist/package/declarations/src/views/base/dict/index.vue.d.ts +3 -0
  76. package/dist/package/declarations/src/views/base/dict/item.vue.d.ts +3 -0
  77. package/dist/package/declarations/src/views/base/job/index.vue.d.ts +3 -0
  78. package/dist/package/declarations/src/views/base/job/log.vue.d.ts +3 -0
  79. package/dist/package/declarations/src/views/base/log/index.vue.d.ts +3 -0
  80. package/dist/package/declarations/src/views/base/menu/index.vue.d.ts +3 -0
  81. package/dist/package/declarations/src/views/base/migration/index.vue.d.ts +4 -0
  82. package/dist/package/declarations/src/views/base/post/index.vue.d.ts +3 -0
  83. package/dist/package/declarations/src/views/base/role/index.vue.d.ts +3 -0
  84. package/dist/package/declarations/src/views/base/tenant/index.vue.d.ts +3 -0
  85. package/dist/package/declarations/src/views/base/user/components/dept-tree.vue.d.ts +19 -0
  86. package/dist/package/declarations/src/views/base/user/index.vue.d.ts +3 -0
  87. package/dist/package/declarations/src/views/profile/components/base.vue.d.ts +13 -0
  88. package/dist/package/declarations/src/views/profile/components/password.vue.d.ts +3 -0
  89. package/dist/package/declarations/src/views/profile/components/security.vue.d.ts +15 -0
  90. package/dist/package/declarations/src/views/profile/index.vue.d.ts +3 -0
  91. package/dist/package/declarations/src/views/tool/api-doc/index.vue.d.ts +4 -0
  92. package/dist/package/declarations/src/views/tool/code-gen/code-preview/index.vue.d.ts +3 -0
  93. package/dist/package/declarations/src/views/tool/code-gen/columns/index.vue.d.ts +3 -0
  94. package/dist/package/declarations/src/views/tool/code-gen/columns/option-copy.d.ts +25 -0
  95. package/dist/package/declarations/src/views/tool/code-gen/components/CodeGenProgressDialog.vue.d.ts +16 -0
  96. package/dist/package/declarations/src/views/tool/code-gen/components/CodePreviewPane.vue.d.ts +9 -0
  97. package/dist/package/declarations/src/views/tool/code-gen/config.d.ts +32 -0
  98. package/dist/package/declarations/src/views/tool/code-gen/preview/capabilities.d.ts +20 -0
  99. package/dist/package/declarations/src/views/tool/code-gen/preview/data.d.ts +42 -0
  100. package/dist/package/declarations/src/views/tool/code-gen/preview/index.vue.d.ts +3 -0
  101. package/dist/package/declarations/src/views/tool/code-gen/proto/index.vue.d.ts +3 -0
  102. package/dist/package/declarations/src/views/tool/code-gen/table/index.vue.d.ts +3 -0
  103. package/dist/package/declarations/src/views/tool/project-doc/index.vue.d.ts +4 -0
  104. package/dist/package/src/ai.ts +16 -0
  105. package/dist/package/src/api/base/ai_message.ts +139 -0
  106. package/dist/package/src/api/base/ai_session.ts +77 -0
  107. package/dist/package/src/api/base/ai_tool.ts +22 -0
  108. package/dist/package/src/api/base/oauth.ts +47 -0
  109. package/dist/package/src/api/base/sse.ts +192 -0
  110. package/dist/package/src/api/system/auth.ts +65 -0
  111. package/dist/package/src/api/system/base_api.ts +95 -0
  112. package/dist/package/src/api/system/base_area.ts +73 -0
  113. package/dist/package/src/api/system/base_config.ts +82 -0
  114. package/dist/package/src/api/system/base_dept.ts +83 -0
  115. package/dist/package/src/api/system/base_dict.ts +144 -0
  116. package/dist/package/src/api/system/base_job.ts +125 -0
  117. package/dist/package/src/api/system/base_log.ts +32 -0
  118. package/dist/package/src/api/system/base_menu.ts +83 -0
  119. package/dist/package/src/api/system/base_migration.ts +35 -0
  120. package/dist/package/src/api/system/base_post.ts +83 -0
  121. package/dist/package/src/api/system/base_role.ts +93 -0
  122. package/dist/package/src/api/system/base_tenant.ts +83 -0
  123. package/dist/package/src/api/system/base_user.ts +93 -0
  124. package/dist/package/src/api/system/code_gen.ts +56 -0
  125. package/dist/package/src/api/system/code_gen_column.ts +43 -0
  126. package/dist/package/src/api/system/code_gen_proto.ts +32 -0
  127. package/dist/package/src/api/system/code_gen_sse.ts +33 -0
  128. package/dist/package/src/api/system/code_gen_table.ts +74 -0
  129. package/dist/package/src/api/system/project_document.ts +33 -0
  130. package/dist/package/src/components/Ai.vue +57 -0
  131. package/dist/package/src/index.ts +3 -0
  132. package/dist/package/src/module.ts +17 -0
  133. package/dist/package/src/rpc/base/v1/ai_message.ts +98 -0
  134. package/dist/package/src/rpc/base/v1/ai_session.ts +214 -0
  135. package/dist/package/src/rpc/base/v1/ai_tool.ts +74 -0
  136. package/dist/package/src/rpc/base/v1/oauth.ts +199 -0
  137. package/dist/package/src/rpc/base/v1/sse.ts +22 -0
  138. package/dist/package/src/rpc/common/v1/common.ts +71 -0
  139. package/dist/package/src/rpc/common/v1/enum.ts +71 -0
  140. package/dist/package/src/rpc/common/v1/types.ts +77 -0
  141. package/dist/package/src/rpc/google/protobuf/empty.ts +19 -0
  142. package/dist/package/src/rpc/google/protobuf/timestamp.ts +115 -0
  143. package/dist/package/src/rpc/system/admin/v1/auth.ts +208 -0
  144. package/dist/package/src/rpc/system/admin/v1/base_api.ts +241 -0
  145. package/dist/package/src/rpc/system/admin/v1/base_area.ts +105 -0
  146. package/dist/package/src/rpc/system/admin/v1/base_config.ts +140 -0
  147. package/dist/package/src/rpc/system/admin/v1/base_dept.ts +140 -0
  148. package/dist/package/src/rpc/system/admin/v1/base_dict.ts +249 -0
  149. package/dist/package/src/rpc/system/admin/v1/base_job.ts +206 -0
  150. package/dist/package/src/rpc/system/admin/v1/base_log.ts +101 -0
  151. package/dist/package/src/rpc/system/admin/v1/base_menu.ts +195 -0
  152. package/dist/package/src/rpc/system/admin/v1/base_migration.ts +81 -0
  153. package/dist/package/src/rpc/system/admin/v1/base_post.ts +134 -0
  154. package/dist/package/src/rpc/system/admin/v1/base_role.ts +151 -0
  155. package/dist/package/src/rpc/system/admin/v1/base_tenant.ts +134 -0
  156. package/dist/package/src/rpc/system/admin/v1/base_user.ts +190 -0
  157. package/dist/package/src/rpc/system/admin/v1/code_gen.ts +176 -0
  158. package/dist/package/src/rpc/system/admin/v1/code_gen_column.ts +170 -0
  159. package/dist/package/src/rpc/system/admin/v1/code_gen_proto.ts +104 -0
  160. package/dist/package/src/rpc/system/admin/v1/code_gen_table.ts +179 -0
  161. package/dist/package/src/rpc/system/admin/v1/project_document.ts +79 -0
  162. package/dist/package/src/rpc/system/common/v1/enum.ts +80 -0
  163. package/dist/package/src/typings/swagger-ui-dist.d.ts +28 -0
  164. package/dist/package/src/typings/x-markdown-vue.d.ts +1 -0
  165. package/dist/package/src/views/ai/chat/attachment.ts +65 -0
  166. package/dist/package/src/views/ai/chat/components/AiMarkdown.vue +162 -0
  167. package/dist/package/src/views/ai/chat/components/ChatPanel.vue +1861 -0
  168. package/dist/package/src/views/ai/chat/components/SessionPanel.vue +316 -0
  169. package/dist/package/src/views/ai/chat/components/XSender.vue +554 -0
  170. package/dist/package/src/views/ai/chat/index.vue +848 -0
  171. package/dist/package/src/views/ai/chat/message.ts +416 -0
  172. package/dist/package/src/views/ai/chat/stream.ts +115 -0
  173. package/dist/package/src/views/ai/chat/types.ts +126 -0
  174. package/dist/package/src/views/base/api/index.vue +455 -0
  175. package/dist/package/src/views/base/area/index.vue +269 -0
  176. package/dist/package/src/views/base/config/index.vue +530 -0
  177. package/dist/package/src/views/base/dept/index.vue +461 -0
  178. package/dist/package/src/views/base/dict/index.vue +304 -0
  179. package/dist/package/src/views/base/dict/item.vue +373 -0
  180. package/dist/package/src/views/base/job/index.vue +535 -0
  181. package/dist/package/src/views/base/job/log.vue +202 -0
  182. package/dist/package/src/views/base/log/index.vue +317 -0
  183. package/dist/package/src/views/base/menu/index.vue +944 -0
  184. package/dist/package/src/views/base/migration/index.vue +791 -0
  185. package/dist/package/src/views/base/post/index.vue +324 -0
  186. package/dist/package/src/views/base/role/index.vue +684 -0
  187. package/dist/package/src/views/base/tenant/index.vue +328 -0
  188. package/dist/package/src/views/base/user/components/dept-tree.vue +75 -0
  189. package/dist/package/src/views/base/user/index.vue +783 -0
  190. package/dist/package/src/views/profile/components/base.vue +320 -0
  191. package/dist/package/src/views/profile/components/password.vue +269 -0
  192. package/dist/package/src/views/profile/components/security.vue +443 -0
  193. package/dist/package/src/views/profile/index.vue +199 -0
  194. package/dist/package/src/views/tool/api-doc/index.vue +275 -0
  195. package/dist/package/src/views/tool/code-gen/code-preview/index.vue +233 -0
  196. package/dist/package/src/views/tool/code-gen/columns/index.vue +1456 -0
  197. package/dist/package/src/views/tool/code-gen/columns/option-copy.ts +125 -0
  198. package/dist/package/src/views/tool/code-gen/components/CodeGenProgressDialog.vue +328 -0
  199. package/dist/package/src/views/tool/code-gen/components/CodePreviewPane.vue +42 -0
  200. package/dist/package/src/views/tool/code-gen/config.ts +175 -0
  201. package/dist/package/src/views/tool/code-gen/preview/capabilities.ts +34 -0
  202. package/dist/package/src/views/tool/code-gen/preview/data.ts +331 -0
  203. package/dist/package/src/views/tool/code-gen/preview/index.vue +831 -0
  204. package/dist/package/src/views/tool/code-gen/proto/index.vue +703 -0
  205. package/dist/package/src/views/tool/code-gen/table/index.vue +864 -0
  206. package/dist/package/src/views/tool/project-doc/index.vue +561 -0
  207. package/package.json +60 -0
  208. package/tsconfig.json +13 -0
@@ -0,0 +1,316 @@
1
+ <template>
2
+ <aside class="agent-session-panel">
3
+ <el-input
4
+ :model-value="keyword"
5
+ placeholder="搜索对话"
6
+ clearable
7
+ :prefix-icon="Search"
8
+ @update:model-value="handleKeywordUpdate"
9
+ />
10
+ <div class="agent-divider"></div>
11
+ <div class="agent-panel-header">
12
+ <div class="agent-panel-title">最近对话</div>
13
+ <div class="agent-panel-actions">
14
+ <el-tooltip content="收起会话栏" placement="top">
15
+ <button class="agent-panel-icon" type="button" aria-label="收起会话栏" @click="$emit('toggleCollapse')">
16
+ <el-icon><DArrowLeft /></el-icon>
17
+ </button>
18
+ </el-tooltip>
19
+ <button class="agent-panel-create" type="button" aria-label="新建会话" @click="handleCreateSession">
20
+ <el-icon><Plus /></el-icon>
21
+ <span>新建</span>
22
+ </button>
23
+ </div>
24
+ </div>
25
+ <ul class="agent-session-list">
26
+ <li
27
+ v-for="item in sessions"
28
+ :key="item.id"
29
+ class="agent-session-row"
30
+ :class="{ 'is-active': item.id === active }"
31
+ @click="handleSessionChange(item)"
32
+ >
33
+ <button
34
+ class="agent-session-item"
35
+ type="button"
36
+ :title="item.title"
37
+ :aria-current="item.id === active ? 'page' : undefined"
38
+ >
39
+ <div class="agent-session-main">
40
+ <div class="agent-session-name">{{ item.title }}</div>
41
+ <div class="agent-session-meta">{{ item.summary }}</div>
42
+ </div>
43
+ </button>
44
+ <el-dropdown
45
+ class="agent-session-menu"
46
+ trigger="click"
47
+ placement="bottom-end"
48
+ @click.stop
49
+ @command="command => handleMenuCommand(command, item)"
50
+ >
51
+ <button class="agent-session-more" type="button" aria-label="会话操作">
52
+ <el-icon><MoreFilled /></el-icon>
53
+ </button>
54
+ <template #dropdown>
55
+ <el-dropdown-menu>
56
+ <el-dropdown-item command="rename" :icon="EditPen">重命名</el-dropdown-item>
57
+ <el-dropdown-item command="delete" :icon="Delete" divided>删除</el-dropdown-item>
58
+ </el-dropdown-menu>
59
+ </template>
60
+ </el-dropdown>
61
+ </li>
62
+ </ul>
63
+ </aside>
64
+ </template>
65
+
66
+ <script setup lang="ts" name="SessionPanel">
67
+ import { DArrowLeft, Delete, EditPen, MoreFilled, Plus, Search } from "@element-plus/icons-vue";
68
+ import type { AiSession } from "@liujitcn/kratos-admin-system/rpc/base/v1/ai_session";
69
+
70
+ /** 会话列表支持的菜单操作。 */
71
+ type SessionAction = "rename" | "delete";
72
+
73
+ const props = defineProps<{
74
+ /** 当前活动会话编号。 */
75
+ active: string;
76
+ /** 会话搜索关键词。 */
77
+ keyword: string;
78
+ /** 过滤后的会话列表。 */
79
+ sessions: AiSession[];
80
+ }>();
81
+
82
+ const emit = defineEmits<{
83
+ /** 更新当前活动会话。 */
84
+ "update:active": [value: string];
85
+ /** 更新搜索关键词。 */
86
+ "update:keyword": [value: string];
87
+ /** 通知父组件会话已切换。 */
88
+ change: [item: AiSession];
89
+ /** 会话操作菜单。 */
90
+ action: [payload: { action: SessionAction; item: AiSession }];
91
+ /** 创建新的会话。 */
92
+ create: [];
93
+ /** 收起会话栏。 */
94
+ toggleCollapse: [];
95
+ }>();
96
+
97
+ /** 同步搜索关键词。 */
98
+ function handleKeywordUpdate(value: string) {
99
+ emit("update:keyword", value);
100
+ }
101
+
102
+ /** 同步当前会话,并通知父组件加载对应消息。 */
103
+ function handleSessionChange(item: AiSession) {
104
+ emit("update:active", item.id);
105
+ emit("change", item);
106
+ }
107
+
108
+ /** 透传当前会话菜单操作,后续由父组件接入真实重命名和删除。 */
109
+ function handleMenuCommand(command: string | number | object, item: AiSession) {
110
+ const action = String(command ?? "") as SessionAction;
111
+ if (action !== "rename" && action !== "delete") return;
112
+ emit("action", { action, item });
113
+ }
114
+
115
+ /** 通知父组件创建新的会话。 */
116
+ function handleCreateSession() {
117
+ emit("create");
118
+ }
119
+ </script>
120
+
121
+ <style scoped lang="scss">
122
+ .agent-session-panel {
123
+ display: flex;
124
+ flex-direction: column;
125
+ min-width: 0;
126
+ min-height: 0;
127
+ padding: 16px 0;
128
+ overflow: hidden;
129
+ background: var(--admin-page-card-bg);
130
+ border-right: 1px solid var(--admin-page-divider-strong);
131
+ :deep(.el-input__wrapper) {
132
+ padding: 7px 12px;
133
+ background: var(--el-fill-color-light);
134
+ border-radius: var(--admin-page-radius);
135
+ box-shadow: none;
136
+ }
137
+ :deep(.el-input) {
138
+ width: calc(100% - 28px);
139
+ margin: 0 14px;
140
+ }
141
+ }
142
+ .agent-panel-icon {
143
+ display: inline-flex;
144
+ flex: 0 0 auto;
145
+ align-items: center;
146
+ justify-content: center;
147
+ width: 26px;
148
+ height: 26px;
149
+ color: var(--admin-page-text-secondary);
150
+ cursor: pointer;
151
+ background: var(--el-fill-color-light);
152
+ border: 0;
153
+ border-radius: var(--admin-page-radius);
154
+ transition:
155
+ color 0.2s ease,
156
+ background-color 0.2s ease;
157
+ &:hover {
158
+ color: var(--el-color-primary);
159
+ background: var(--el-color-primary-light-9);
160
+ }
161
+ }
162
+ .agent-panel-header {
163
+ display: flex;
164
+ align-items: center;
165
+ justify-content: space-between;
166
+ padding: 0 14px;
167
+ margin: 16px 0 10px;
168
+ }
169
+ .agent-panel-title {
170
+ font-size: 14px;
171
+ font-weight: 700;
172
+ color: var(--admin-page-text-primary);
173
+ }
174
+ .agent-panel-actions {
175
+ display: inline-flex;
176
+ gap: 6px;
177
+ align-items: center;
178
+ }
179
+ .agent-panel-create {
180
+ display: inline-flex;
181
+ gap: 4px;
182
+ align-items: center;
183
+ height: 26px;
184
+ padding: 0 9px;
185
+ font-size: 12px;
186
+ font-weight: 600;
187
+ color: var(--el-color-primary);
188
+ cursor: pointer;
189
+ background: var(--el-color-primary-light-9);
190
+ border: 0;
191
+ border-radius: var(--admin-page-radius);
192
+ transition:
193
+ color 0.2s ease,
194
+ background-color 0.2s ease;
195
+ &:hover {
196
+ color: var(--el-color-primary-dark-2);
197
+ background: var(--el-color-primary-light-8);
198
+ }
199
+ }
200
+ .agent-divider {
201
+ height: 1px;
202
+ margin: 16px 0 0;
203
+ background: var(--el-border-color-lighter);
204
+ }
205
+ .agent-session-list {
206
+ flex: 1;
207
+ min-width: 0;
208
+ padding: 0;
209
+ margin: 0;
210
+ overflow: auto;
211
+ list-style: none;
212
+ }
213
+ .agent-session-row {
214
+ position: relative;
215
+ display: flex;
216
+ align-items: stretch;
217
+ min-width: 0;
218
+ transition: background-color 0.2s ease;
219
+ &::after {
220
+ position: absolute;
221
+ right: 14px;
222
+ bottom: 0;
223
+ left: 32px;
224
+ height: 1px;
225
+ content: "";
226
+ background: var(--el-border-color-lighter);
227
+ }
228
+ &:hover {
229
+ background: var(--el-fill-color-extra-light);
230
+ }
231
+ &.is-active {
232
+ background: var(--el-color-primary-light-9);
233
+ box-shadow: inset 3px 0 0 var(--el-color-primary);
234
+ }
235
+ &.is-active .agent-session-name {
236
+ color: var(--el-color-primary);
237
+ }
238
+ &.is-active .agent-session-meta {
239
+ color: var(--admin-page-text-primary);
240
+ }
241
+ &.is-active .agent-session-more,
242
+ &:hover .agent-session-more {
243
+ opacity: 1;
244
+ }
245
+ }
246
+ .agent-session-item {
247
+ display: flex;
248
+ flex: 1;
249
+ gap: 8px;
250
+ align-items: center;
251
+ min-width: 0;
252
+ min-height: 66px;
253
+ padding: 11px 14px 11px 32px;
254
+ text-align: left;
255
+ cursor: pointer;
256
+ background: transparent;
257
+ border: 0;
258
+ border-radius: 0;
259
+ }
260
+ .agent-session-main {
261
+ flex: 1;
262
+ min-width: 0;
263
+ }
264
+ .agent-session-name {
265
+ overflow: hidden;
266
+ text-overflow: ellipsis;
267
+ font-size: 14px;
268
+ font-weight: 700;
269
+ line-height: 22px;
270
+ color: var(--admin-page-text-primary);
271
+ white-space: nowrap;
272
+ }
273
+ .agent-session-meta {
274
+ margin-top: 4px;
275
+ overflow: hidden;
276
+ text-overflow: ellipsis;
277
+ font-size: 12px;
278
+ line-height: 18px;
279
+ color: var(--admin-page-text-secondary);
280
+ white-space: nowrap;
281
+ }
282
+ .agent-session-menu {
283
+ position: absolute;
284
+ top: 50%;
285
+ right: 14px;
286
+ z-index: 1;
287
+ transform: translateY(-50%);
288
+ }
289
+ .agent-session-more {
290
+ display: inline-flex;
291
+ align-items: center;
292
+ justify-content: center;
293
+ width: 24px;
294
+ height: 24px;
295
+ color: var(--admin-page-text-secondary);
296
+ cursor: pointer;
297
+ background: transparent;
298
+ border: 0;
299
+ border-radius: 50%;
300
+ opacity: 0;
301
+ transition:
302
+ color 0.2s ease,
303
+ background-color 0.2s ease,
304
+ opacity 0.2s ease;
305
+ &:hover {
306
+ color: var(--admin-page-text-primary);
307
+ background: var(--el-fill-color-light);
308
+ }
309
+ }
310
+
311
+ @media screen and (width <= 768px) {
312
+ .agent-session-panel {
313
+ display: none;
314
+ }
315
+ }
316
+ </style>