JhHardwareWRS/pages/clock/clock.wxml
2026-06-24 15:19:14 +08:00

109 lines
4.0 KiB
Plaintext

<view class="page safe-bottom">
<view class="header">
<text class="title">报工打卡</text>
<view class="device-badge">
<text class="device-label">考勤点</text>
<text class="subtitle">{{attendancePointName || '-'}}</text>
<text class="device-label">当前模具</text>
<text class="device-no">{{moldDisplayName || moldName || '-'}}</text>
</view>
</view>
<block wx:if="{{locationAllowed}}">
<view class="card">
<view class="row">
<view>
<text class="label">上班打卡时间</text>
<text class="value">{{state.startAtText || '-'}}</text>
</view>
<view class="text-right">
<text class="label">下班打卡时间</text>
<text class="value">{{state.endAtText || '-'}}</text>
</view>
</view>
</view>
<view class="card">
<view class="row">
<view class="row-left">
<text class="label">当前人员</text>
<block wx:if="{{user}}">
<text class="value">{{user.name}} · {{user.phone}}</text>
<text class="subtitle">{{user.role === 'worker' ? '冲压工人' : user.role === 'admin' ? '管理员' : '经理'}}</text>
</block>
<text wx:else class="value">未登录</text>
</view>
</view>
</view>
<view wx:if="{{!user}}" class="card">
<view class="button-row">
<button class="btn primary full" open-type="getPhoneNumber" bindgetphonenumber="wechatLogin">手机号快捷登录</button>
</view>
<view wx:if="{{roleChoices.length}}" class="role-list">
<text class="label">请选择角色</text>
<button
wx:for="{{roleChoices}}"
wx:key="role"
class="role-btn"
data-role="{{item.role}}"
bindtap="chooseRole"
>
{{item.name}} · {{item.roleName}}
</button>
</view>
</view>
<view wx:if="{{state && user && state.action === 'switch_or_finish'}}" class="clock-action-row">
<button class="btn secondary clock-action-btn" bindtap="switchMold">换模具</button>
<button class="btn primary clock-action-btn" bindtap="finishWork">打卡下班</button>
</view>
<button
wx:elif="{{state && user}}"
class="btn primary full clock-btn"
bindtap="handleAction"
>
{{state.actionText}}
</button>
<view wx:elif="{{occupiedDetail}}" class="card occupied-card">
<text class="value">模具已被占用</text>
<text class="subtitle">{{occupiedDetail.message || '该模具已被其他员工占用,请联系管理员解除占用'}}</text>
<view class="button-row">
<button class="btn secondary full" bindtap="feedbackMoldOccupied">反馈给管理员</button>
</view>
</view>
<view wx:else class="list-empty">当前模具码不可用</view>
</block>
<view wx:else class="card">
<text class="value">{{locationChecking ? '正在校验位置' : '无法打开报工页面'}}</text>
<text class="subtitle">{{locationMessage}}</text>
</view>
<view wx:if="{{toastVisible}}" class="clock-toast">
<text>{{toastMessage}}</text>
</view>
<view wx:if="{{temporaryWorkerModalVisible}}" class="temp-worker-mask" catchtap="closeTemporaryWorkerModal">
<view class="temp-worker-panel" catchtap="noop">
<text class="temp-worker-title">创建临时工</text>
<text class="temp-worker-tip">{{temporaryWorkerPrompt}}</text>
<view class="temp-worker-field">
<text class="temp-worker-label">姓名</text>
<input
class="input temp-worker-input"
value="{{temporaryWorkerName}}"
placeholder="请输入姓名"
bindinput="onTemporaryWorkerNameInput"
confirm-type="done"
cursor-spacing="24"
/>
</view>
<view class="button-row temp-worker-actions">
<button class="btn secondary full" bindtap="closeTemporaryWorkerModal">取消</button>
<button class="btn primary full" bindtap="submitTemporaryWorker">确认创建</button>
</view>
</view>
</view>
</view>