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

219 lines
6.9 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="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>