Files
WXProgram/miniprogram/pages/staff/employee-management.wxml
2025-10-19 23:38:54 +08:00

168 lines
5.3 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!-- 员工管理页面 - 新界面设计 -->
<view class="employee-management-container">
<!-- 顶部导航栏 -->
<view class="management-header">
<view class="header-left">
<!-- 微信风格返回按钮 -->
<view class="back-icon" bindtap="goBack">
<text class="back-arrow"></text>
</view>
<text class="header-title">员工管理</text>
</view>
<view class="header-right">
<text class="employee-count">共{{filteredEmployees.length}}名员工</text>
</view>
</view>
<!-- 页面标签 -->
<view class="page-tabs">
<view
class="tab-item {{currentTab === 'list' ? 'active' : ''}}"
bindtap="switchTab"
data-tab="list"
>
<text class="tab-text">员工列表</text>
</view>
<view
class="tab-item {{currentTab === 'add' ? 'active' : ''}}"
bindtap="switchTab"
data-tab="add"
>
<text class="tab-text">添加员工</text>
</view>
</view>
<!-- 消息提示 -->
<view class="message-container">
<view wx:if="{{errorMessage}}" class="error-message">
<text class="message-text">{{errorMessage}}</text>
<text class="close-btn" bindtap="clearMessages">×</text>
</view>
<view wx:if="{{successMessage}}" class="success-message">
<text class="message-text">{{successMessage}}</text>
<text class="close-btn" bindtap="clearMessages">×</text>
</view>
</view>
<!-- 加载状态 -->
<view wx:if="{{loading}}" class="loading-container">
<view class="loading-spinner"></view>
<text class="loading-text">加载中...</text>
</view>
<!-- 员工列表页面 -->
<view wx:if="{{currentTab === 'list'}}" class="list-container">
<!-- 搜索框 -->
<view class="search-container">
<view class="search-input-wrapper">
<input
class="search-input"
placeholder="搜索员工姓名、手机号或角色"
bindinput="onSearchInput"
value="{{searchKeyword}}"
/>
<text class="search-icon">🔎</text>
</view>
</view>
<!-- 员工列表 -->
<scroll-view class="employee-list" scroll-y>
<view wx:for="{{filteredEmployees}}" wx:key="id" class="employee-item">
<view class="employee-info">
<view class="employee-avatar">
<text class="avatar-text">{{item.name.charAt(0)}}</text>
</view>
<view class="employee-details">
<view class="employee-name-row">
<text class="employee-name">{{item.name}}</text>
<text class="employee-role {{item.role === 'ADMIN' ? 'admin-role' : ''}}">
<text class="role-icon">{{item.role === 'ADMIN' ? '👑' : '🚚'}}</text>
{{getRoleText(item.role)}}
</text>
</view>
<text class="employee-phone">{{item.phone}}</text>
<text class="employee-id">ID: {{item.id}}</text>
</view>
</view>
<view class="employee-actions">
<button
class="delete-btn"
bindtap="deleteEmployee"
data-id="{{item.id}}"
size="mini"
>
删除
</button>
</view>
</view>
<!-- 空状态 -->
<view wx:if="{{filteredEmployees.length === 0}}" class="empty-state">
<text class="empty-icon">👥</text>
<text class="empty-text">
{{searchKeyword ? '没有找到匹配的员工' : '暂无员工数据'}}
</text>
<text wx:if="{{!searchKeyword}}" class="empty-hint">点击"添加员工"开始管理</text>
</view>
</scroll-view>
</view>
<!-- 添加员工页面 -->
<view wx:if="{{currentTab === 'add'}}" class="add-container">
<view class="form-container">
<view class="form-item">
<text class="form-label">员工姓名</text>
<input
class="form-input"
placeholder="请输入员工姓名"
value="{{addForm.name}}"
bindinput="onFormInput"
data-field="name"
/>
</view>
<view class="form-item">
<text class="form-label">手机号码</text>
<input
class="form-input"
placeholder="请输入手机号码"
type="number"
value="{{addForm.phone}}"
bindinput="onFormInput"
data-field="phone"
/>
</view>
<view class="form-item">
<text class="form-label">员工角色</text>
<picker
class="form-picker"
bindchange="onRoleChange"
range="{{roleOptions}}"
range-key="label"
>
<view class="picker-display">
<text class="picker-text">
{{addForm.role === 'ADMIN' ? '管理员' : addForm.role === 'DELIVERY_PERSON' ? '配送员' : '请选择角色'}}
</text>
<text class="picker-arrow">▼</text>
</view>
</picker>
</view>
<view class="form-hint">
<text class="hint-text">
提示:添加员工后,用户可以使用该员工的姓名和手机号进行注册
</text>
</view>
<button
class="submit-btn"
bindtap="submitAddForm"
disabled="{{loading}}"
>
{{loading ? '添加中...' : '添加员工'}}
</button>
</view>
</view>
</view>