Commit 6eb4db1a by 李宁

1

1 parent 91674bc8
...@@ -184,32 +184,43 @@ ...@@ -184,32 +184,43 @@
</div> </div>
</template> </template>
</div> </div>
<!-- 用户下拉菜单 --> <div style="display:flex;align-items:center;">
<el-dropdown trigger="click" @command="handleCommand"> <!-- 操作手册按钮 -->
<el-button <el-tooltip class="item" effect="dark" content="操作手册" placement="bottom">
text <button
class="flex items-center gap-3 rounded-lg px-3 py-2" @click="openManual"
> class="group flex flex-col items-center rounded-lg px-3 py-2 text-neutral-600 hover:text-brand-primary transition-colors"
<div class="text-left"> title="操作手册">
<p class="text-sm text-neutral-900 text-[14px] font-bold">{{ currentUser?.username || '管理员' }}</p> <BookOpen :size="16" />
<!-- <p class="text-xs text-neutral-500"> </button>
{{ currentUser?.role === 'admin' ? '系统管理员' : '普通用户' }} </el-tooltip>
</p> --> <!-- 用户下拉菜单 -->
</div> <el-dropdown trigger="click" @command="handleCommand">
<ChevronDown :size="16" class="text-neutral-400" /> <el-button
</el-button> text
<template #dropdown> class="flex items-center gap-3 rounded-lg px-3 py-2"
<el-dropdown-menu class="w-[140px] bg-neutral-800 border-neutral-700 p-1"> >
<el-dropdown-item <div class="text-left">
command="logout" <p class="text-sm text-neutral-900 text-[14px] font-bold">{{ currentUser?.username || '管理员' }}</p>
class="text-error hover:text-error focus:text-error hover:bg-neutral-700 focus:bg-neutral-700 cursor-pointer rounded-md px-3 py-2" <!-- <p class="text-xs text-neutral-500">
> {{ currentUser?.role === 'admin' ? '系统管理员' : '普通用户' }}
<LogOut :size="16" class="mr-2" /> </p> -->
<span class="text-[14px] text-[#181818] hover:text-[#3b82f6] transition-colors">退出登录</span> </div>
</el-dropdown-item> <ChevronDown :size="16" class="text-neutral-400" />
</el-dropdown-menu> </el-button>
</template> <template #dropdown>
</el-dropdown> <el-dropdown-menu class="w-[140px] bg-neutral-800 border-neutral-700 p-1">
<el-dropdown-item
command="logout"
class="text-error hover:text-error focus:text-error hover:bg-neutral-700 focus:bg-neutral-700 cursor-pointer rounded-md px-3 py-2"
>
<LogOut :size="16" class="mr-2" />
<span class="text-[14px] text-[#181818] hover:text-[#3b82f6] transition-colors">退出登录</span>
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</div>
</header> </header>
<!-- 页面内容区 --> <!-- 页面内容区 -->
<main class="flex-1 overflow-auto p-6 bg-[#F0F2F5]"> <main class="flex-1 overflow-auto p-6 bg-[#F0F2F5]">
...@@ -274,15 +285,16 @@ ...@@ -274,15 +285,16 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, computed ,onMounted,getCurrentInstance} from 'vue' import { ref, computed ,onMounted,getCurrentInstance} from 'vue'
import { import {
LayoutDashboard, LayoutDashboard,
DollarSign, DollarSign,
LogOut, LogOut,
Settings, Settings,
Users, Users,
User as UserIcon, User as UserIcon,
ChevronRight, ChevronRight,
ChevronDown ChevronDown,
BookOpen
} from 'lucide-vue-next' } from 'lucide-vue-next'
import { ElMessage, ElMessageBox } from 'element-plus' import { ElMessage, ElMessageBox } from 'element-plus'
// 导入图片资源 // 导入图片资源
...@@ -481,6 +493,11 @@ const handleCommand = (command: string) => { ...@@ -481,6 +493,11 @@ const handleCommand = (command: string) => {
ElMessage.info(`点击了 ${command}`) ElMessage.info(`点击了 ${command}`)
} }
} }
// 打开操作手册
const openManual = () => {
window.open('https://jfq5tn3wbn.feishu.cn/docx/JmDRdQYMNoxHULxsR5vcAHUvn4f', '_blank')
}
const handleViewOrderDetail = (order: any) => { const handleViewOrderDetail = (order: any) => {
selectedOrder.value = order selectedOrder.value = order
selectedOrderId.value = order.id selectedOrderId.value = order.id
......
...@@ -184,9 +184,9 @@ const canSendSms = ref(true) ...@@ -184,9 +184,9 @@ const canSendSms = ref(true)
// 表单数据 // 表单数据
const loginForm = reactive<LoginForm>({ const loginForm = reactive<LoginForm>({
phone: '13112345678', phone: '',
captchaInput: '', captchaInput: '',
smsCode: '123456' smsCode: ''
}) })
// 表单验证规则 // 表单验证规则
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
<Search class="absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-neutral-500 z-10" /> <Search class="absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-neutral-500 z-10" />
<el-input <el-input
v-model="codeSearch" v-model="codeSearch"
placeholder="搜索工号" placeholder="搜索推荐码"
class="h-10 search-input text-ellipsis-input" class="h-10 search-input text-ellipsis-input"
clearable clearable
/> />
...@@ -114,7 +114,7 @@ ...@@ -114,7 +114,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="userCode" label="工号" min-width="120"> <el-table-column prop="userCode" label="推荐码" min-width="120">
<template #default="{ row }"> <template #default="{ row }">
<span>{{ row.userCode }}</span> <span>{{ row.userCode }}</span>
</template> </template>
...@@ -191,10 +191,10 @@ ...@@ -191,10 +191,10 @@
<h3 class="text-neutral-900 pb-2 border-b border-neutral-200">基本信息</h3> <h3 class="text-neutral-900 pb-2 border-b border-neutral-200">基本信息</h3>
<div class="grid grid-cols-2 gap-x-4"> <div class="grid grid-cols-2 gap-x-4">
<el-form-item label="工号" required> <el-form-item label="推荐码" required>
<el-input <el-input
v-model="formData.username" v-model="formData.username"
placeholder="员工工号" placeholder="员工推荐码"
:disabled="!!editingUser" :disabled="!!editingUser"
/> />
</el-form-item> </el-form-item>
...@@ -580,7 +580,7 @@ const expandToOrganization = (targetOrgId: string) => { ...@@ -580,7 +580,7 @@ const expandToOrganization = (targetOrgId: string) => {
const handleSave = async () => { const handleSave = async () => {
// 表单验证 // 表单验证
if (!formData.value.username.trim()) { if (!formData.value.username.trim()) {
ElMessage.error('请输入工号') ElMessage.error('请输入推荐码')
return return
} }
if (!formData.value.realName.trim()) { if (!formData.value.realName.trim()) {
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!