Files
WXProgram/miniprogram/pages/staff/warehouse-management.wxml

219 lines
6.9 KiB
Plaintext
Raw Permalink Normal View History

2025-10-19 23:38:54 +08:00
<!-- 仓库管理页面 -->
<view class="warehouse-container">
<!-- 顶部导航栏 -->
<view class="page-header">
<view class="header-content">
<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-actions">
<button class="refresh-btn" bindtap="loadWarehouses">刷新</button>
</view>
</view>
</view>
<!-- 消息提示 -->
<view wx:if="{{errorMessage}}" class="error-message">
<text>{{errorMessage}}</text>
<text class="close-btn" bindtap="clearError">×</text>
</view>
<view wx:if="{{successMessage}}" class="success-message">
<text>{{successMessage}}</text>
<text class="close-btn" bindtap="clearSuccess">×</text>
</view>
<!-- 加载状态 -->
<view wx:if="{{loading}}" class="loading-container">
<view class="loading-spinner"></view>
<text class="loading-text">加载中...</text>
</view>
<!-- 页面标签 -->
<view class="tab-container">
<view
class="tab-item {{currentTab === 'list' ? 'active' : ''}}"
data-tab="list"
bindtap="switchTab"
>
<text>仓库列表</text>
</view>
<view
class="tab-item {{currentTab === 'add' ? 'active' : ''}}"
data-tab="add"
bindtap="switchTab"
>
<text>添加仓库</text>
</view>
</view>
<!-- 仓库列表页面 -->
<view wx:if="{{currentTab === 'list'}}" class="list-page">
<!-- 搜索框 -->
<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="warehouse-list" scroll-y>
<view wx:if="{{filteredWarehouses.length === 0}}" class="empty-state">
<text class="empty-icon">🏭</text>
<text class="empty-text">
{{searchKeyword ? '未找到相关仓库' : '暂无仓库数据'}}
</text>
</view>
<view wx:for="{{filteredWarehouses}}" wx:key="id" class="warehouse-item">
<view class="warehouse-header">
<view class="warehouse-info">
<text class="warehouse-name">{{item.name}}</text>
<view class="warehouse-status">
<text class="status-badge {{item.status}}">
{{getWarehouseStatusText(item.status)}}
</text>
</view>
</view>
<view class="warehouse-actions">
<button
class="delete-btn"
data-id="{{item.id}}"
data-name="{{item.name}}"
bindtap="deleteWarehouse"
>删除</button>
</view>
</view>
<view class="warehouse-details">
<view class="detail-row">
<text class="detail-label">地址:</text>
<text class="detail-value">{{item.address}}</text>
</view>
<view class="detail-row">
<text class="detail-label">联系人:</text>
<text class="detail-value">{{item.contact || '未设置'}}</text>
</view>
<view class="detail-row">
<text class="detail-label">电话:</text>
<text class="detail-value">{{item.phone || '未设置'}}</text>
</view>
<view class="detail-row">
<text class="detail-label">库存状态:</text>
<text
class="detail-value inventory-status"
style="color: {{getInventoryStatusColor(item)}}"
>
{{getWarehouseInventoryStatus(item)}}
</text>
</view>
<view class="detail-row">
<text class="detail-label">容量:</text>
<text class="detail-value">{{item.capacity || 0}} 件</text>
</view>
<view wx:if="{{item.description}}" class="detail-row">
<text class="detail-label">描述:</text>
<text class="detail-value description">{{item.description}}</text>
</view>
</view>
</view>
</scroll-view>
</view>
<!-- 添加仓库页面 -->
<view wx:if="{{currentTab === 'add'}}" class="add-page">
<scroll-view class="form-container" scroll-y>
<view class="form-section">
<text class="section-title">基本信息</text>
<view class="form-group">
<text class="form-label">仓库名称 *</text>
<input
class="form-input"
placeholder="请输入仓库名称"
bindinput="onNameInput"
value="{{addForm.name}}"
/>
</view>
<view class="form-group">
<text class="form-label">仓库地址 *</text>
<input
class="form-input"
placeholder="请输入仓库地址"
bindinput="onAddressInput"
value="{{addForm.address}}"
/>
</view>
<view class="form-group">
<text class="form-label">联系人 *</text>
<input
class="form-input"
placeholder="请输入联系人姓名"
bindinput="onContactInput"
value="{{addForm.contact}}"
/>
</view>
<view class="form-group">
<text class="form-label">联系电话 *</text>
<input
class="form-input"
placeholder="请输入联系电话"
bindinput="onPhoneInput"
value="{{addForm.phone}}"
type="number"
/>
</view>
<view class="form-group">
<text class="form-label">仓库容量</text>
<input
class="form-input"
placeholder="请输入仓库容量(件数)"
bindinput="onCapacityInput"
value="{{addForm.capacity}}"
type="number"
/>
</view>
</view>
<view class="form-section">
<text class="section-title">其他信息</text>
<view class="form-group">
<text class="form-label">仓库描述</text>
<textarea
class="form-textarea"
placeholder="请输入仓库描述信息(可选)"
bindinput="onDescriptionInput"
value="{{addForm.description}}"
maxlength="200"
/>
<text class="textarea-counter">{{addForm.description ? addForm.description.length : 0}}/200</text>
</view>
</view>
<view class="form-actions">
<button class="submit-btn" bindtap="submitAddForm">添加仓库</button>
<button class="reset-btn" bindtap="resetForm">重置表单</button>
</view>
</scroll-view>
</view>
</view>