快乐的昕的电脑
2025-10-16 8e69898bb5de26d7e6e2198026cda4a59a317624
还原报工人
已修改1个文件
124 ■■■■ 文件已修改
components/WorkOrderPrint.vue 124 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
components/WorkOrderPrint.vue
@@ -87,8 +87,106 @@
                </view>
            </view>
            <!-- 其余模板保持原样 -->
            <!-- ... -->
            <view class="flex-row gap-lg">
                <view class="print-section flex-grow">
                    <view class="barcode-info">
                        <view class="user-select">
                            <text>不良数量:</text>
                            <input v-model="customAmount" class="inp bad-input" placeholder="请输入数量" />
                        </view>
                        <view class="user-select">
                            <button class="details-btn" @click="confirmCustomAmount">确认提交</button>
                        </view>
                    </view>
                </view>
                <view class="current-user-section fill-width">
                    <text>当前报工人:</text>
                    <text class="current-user-name">{{ staffDisplay || '未选择' }}</text>
                    <button class="select-user-btn" @click="isShowUserSelect = true">选人</button>
                </view>
            </view>
            <!-- 选人弹窗 -->
            <view v-if="isShowUserSelect" class="overlay">
                <view class="popup user-select-popup">
                    <!-- 搜索栏 -->
                    <view class="user-search-bar">
                        <input v-model.trim="userSearch"
                               type="text"
                               class="user-search-input"
                               placeholder="输入工号或姓名搜索"
                               @keydown.enter.prevent />
                        <button v-if="userSearch" class="user-search-clear" @click="userSearch=''">清空</button>
                        <view class="user-search-info">
                            匹配:{{ filteredUsers.length }} / {{ users.length }}
                        </view>
                    </view>
                    <view class="user-list-scroll">
                        <template v-if="filteredUsers.length">
                            <view class="user-list-grid">
                                <button v-for="(u, index) in filteredUsers"
                                        :key="index"
                                        :class="['user-list-btn', {'selected': u===staffNo}]"
                                        @click="selectUser(u)">
                                    <span class="user-code">{{ u.split(':')[0] }}</span>
                                    <span class="user-name">{{ u.split(':')[1] }}</span>
                                </button>
                            </view>
                        </template>
                        <view v-else class="no-user-result">
                            未找到匹配人员
                        </view>
                    </view>
                    <view class="user-popup-footer">
                        <button class="clean-btn wide-btn" @click="isShowUserSelect = false">关闭</button>
                    </view>
                </view>
            </view>
            <view class="bottom-section">
                <button class="save-btn" @click="save">保存并生效</button>
                <button class="cancel-btn" @click="cancel">取消</button>
            </view>
            <!-- 保留旧弹窗 -->
            <view v-if="isShow" class="overlay">
                <view class="popup">
                    <view class="bottom-section1">
                        <button class="clean-btn" type="warn" @click="deleteBarcode">关闭</button>
                    </view>
                    <view class="reason-section">
                        <text>报工人:</text>
                        <view class="reason-buttons">
                            <button v-for="(u,index) in users" :key="index"
                                    :class="{'reason-btn':true,'selected': user===u}"
                                    @click="toggleUser(u)">
                                {{ formatUser(u) }}
                            </button>
                        </view>
                    </view>
                </view>
            </view>
            <view v-if="barcodeIsShow" class="overlay">
                <view class="popup">
                    <uni-table ref="table" border stripe emptyText="暂无更多数据" class="table1">
                        <uni-tr>
                            <uni-th align="center" style="font-size:40px;">生成时间</uni-th>
                            <uni-th align="center" style="width:39%;font-size:40px;">条码</uni-th>
                            <uni-th align="center" style="font-size:40px;">报工人</uni-th>
                            <uni-th align="center" style="font-size:40px;">报工数量</uni-th>
                        </uni-tr>
                        <uni-tr v-for="(item,index) in reportingList" :key="index">
                            <uni-td align="center"><input type="text" v-model="item.bgDate" style="width:26vh;" /></uni-td>
                            <uni-td align="center"><input v-model="item.itemNoCade" style="width:40vh;" /></uni-td>
                            <uni-td align="center"><input v-model="item.staffName" /></uni-td>
                            <uni-td align="center"><input v-model="item.okQty" /></uni-td>
                        </uni-tr>
                    </uni-table>
                    <view><button class="clean-btn" type="warn" @click="barcodeIsShow=false">关闭</button></view>
                </view>
            </view>
        </view>
    </view>
</template>
@@ -340,18 +438,18 @@
</script>
<style scoped>
    /* 原样式保持,新增几行辅助样式 */
    .report-table .summary-row {
        background: #f0f8ff;
        font-weight: 600;
    }
    /* 原样式保持,新增几行辅助样式 */
    .report-table .summary-row {
        background: #f0f8ff;
        font-weight: 600;
    }
    .report-table .no-data {
        text-align: center;
        color: #777;
        font-size: 14px;
    }
    /* 其余样式保持不变 */
    .report-table .no-data {
        text-align: center;
        color: #777;
        font-size: 14px;
    }
    /* 其余样式保持不变 */
    .page {
        padding: 1.2vh 2vw;