Compare commits

...

2 Commits

Author SHA1 Message Date
be75c1a4b8 feat(wms): add transfer remark field and re-label function
1. 新增调拨备注字段transferRemark到调拨单itemBO
2. 新增执行后重贴标签的复选框和备注输入框
3. 调整调拨确认时传递调拨备注参数
4. 注释调旧的调拨类型获取逻辑,改用传入的调拨备注作为调拨类型
2026-05-22 16:19:24 +08:00
d81773b1ab feat(attendance): 为排班表格添加高度适配,隐藏部分操作按钮并添加提交加载状态 2026-05-22 16:19:00 +08:00
5 changed files with 67 additions and 22 deletions

View File

@@ -17,7 +17,7 @@
<!-- 排班表格 --> <!-- 排班表格 -->
<div class="schedule-table-wrapper"> <div class="schedule-table-wrapper">
<el-table v-loading="loading" :data="scheduleData" border stripe> <el-table v-loading="loading" :data="scheduleData" border stripe height="calc(100vh - 200px)">
<!-- 员工列 --> <!-- 员工列 -->
<el-table-column prop="employeeName" label="员工" width="120" fixed="left" /> <el-table-column prop="employeeName" label="员工" width="120" fixed="left" />
<!-- 操作列 --> <!-- 操作列 -->
@@ -116,8 +116,8 @@
<span class="assignment-count"> <span class="assignment-count">
已分配 {{ item.employeeIds ? item.employeeIds.split(',').filter(id => id.trim()).length : 0 }} 已分配 {{ item.employeeIds ? item.employeeIds.split(',').filter(id => id.trim()).length : 0 }}
</span> </span>
<el-button icon="el-icon-copy" size="mini" @click="copyShiftItem(index)" <!-- <el-button icon="el-icon-copy" size="mini" @click="copyShiftItem(index)"
title="复制班次配置">复制</el-button> title="复制班次配置">复制</el-button> -->
</div> </div>
<EmployeeSelector <EmployeeSelector
v-model="item.employeeIds" v-model="item.employeeIds"
@@ -126,11 +126,11 @@
placeholder="选择该班次的员工" placeholder="选择该班次的员工"
title="选择班次员工" /> title="选择班次员工" />
</div> </div>
<div class="quick-actions"> <!-- <div class="quick-actions">
<el-button type="success" icon="el-icon-random" @click="quickAssignByDepartment"> <el-button type="success" icon="el-icon-random" @click="quickAssignByDepartment">
按部门自动分配 按部门自动分配
</el-button> </el-button>
</div> </div> -->
</div> </div>
<!-- 步骤3确认生成 --> <!-- 步骤3确认生成 -->
@@ -152,7 +152,7 @@
<el-button @click="prevStep">上一步</el-button> <el-button @click="prevStep">上一步</el-button>
</template> </template>
<template v-if="currentStep < 3"> <template v-if="currentStep < 3">
<el-button type="primary" @click="nextStep" :disabled="!canProceed"> <el-button type="primary" @click="nextStep" :disabled="!canProceed" :loading="buttonLoading">
{{ currentStep === 1 ? '下一步:分配人员' : '下一步:确认' }} {{ currentStep === 1 ? '下一步:分配人员' : '下一步:确认' }}
</el-button> </el-button>
</template> </template>

View File

@@ -131,6 +131,14 @@ export default {
type: Boolean, type: Boolean,
default: false default: false
}, },
refreshLabel: {
type: Boolean,
default: false
},
transferRemark: {
type: String,
default: ''
},
}, },
components: { components: {
// WarehouseSelect, // WarehouseSelect,
@@ -235,7 +243,19 @@ export default {
// 确认调拨 // 确认调拨
handleConfirm(item) { handleConfirm(item) {
this.buttonLoading = true this.buttonLoading = true
confirmTransferOrderItem(item).then(res => { let transferRemark = this.transferRemark
if (this.refreshLabel && !transferRemark) {
transferRemark = '调拨'
}
if (!this.refreshLabel) {
transferRemark = ''
}
// console.log(transferRemark, this.refreshLabel, this.transferRemark)
// return;
confirmTransferOrderItem({
...item,
transferRemark
}).then(res => {
if (res.code === 200) { if (res.code === 200) {
this.$message({ this.$message({
message: '确认调拨成功', message: '确认调拨成功',
@@ -260,8 +280,20 @@ export default {
return; return;
} }
let transferRemark = this.transferRemark
if (this.refreshLabel && !transferRemark) {
transferRemark = '调拨'
}
if (!this.refreshLabel) {
transferRemark = ''
}
// console.log(transferRemark)
// return;
this.buttonLoading = true; this.buttonLoading = true;
batchConfirmTransferOrderItem(unconfirmedItems).then(res => { batchConfirmTransferOrderItem(unconfirmedItems.map(item => ({
...item,
transferRemark
}))).then(res => {
if (res.code === 200) { if (res.code === 200) {
this.$message({ this.$message({
message: '确认调拨成功', message: '确认调拨成功',

View File

@@ -18,10 +18,10 @@
</el-form-item> </el-form-item>
<el-form-item label="调拨单号"> <el-form-item label="调拨单号">
<el-select v-model="queryParams.transferNo" filterable remote clearable <el-select v-model="queryParams.transferNo" filterable remote clearable
remote-method="remoteSearchTransferOrder" :remote-loading="transferOrderLoading" remote-method="remoteSearchTransferOrder" :remote-loading="transferOrderLoading" placeholder="请输入调拨单号搜索"
placeholder="请输入调拨单号搜索" @change="handleRegularSearch" style="width:220px"> @change="handleRegularSearch" style="width:220px">
<el-option v-for="item in transferOrderOptions" :key="item.orderId" <el-option v-for="item in transferOrderOptions" :key="item.orderId" :label="item.transferNo"
:label="item.transferNo" :value="item.transferNo" /> :value="item.transferNo" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="生效状态"> <el-form-item label="生效状态">
@@ -36,9 +36,15 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<div style="display: flex; align-items: center; gap: 10px;">
<el-checkbox v-model="refreshLabel" @change="handleRegularSearch">执行后重贴标签</el-checkbox>
<el-input v-if="refreshLabel" style="width: 200px" v-model="transferRemark" placeholder="输入重贴备注"></el-input>
<span v-if="refreshLabel">请填写重贴原因不填则默认为调拨</span>
</div>
<!-- 调拨表格, 显示调拨记录, 常规筛选作用下生效 --> <!-- 调拨表格, 显示调拨记录, 常规筛选作用下生效 -->
<TransferItemTable <TransferItemTable :data="transferList" :canEdit="false" :canConfirm="true" v-loading="loading"
:data="transferList" :canEdit="false" :canConfirm="true" v-loading="loading" ref="transferItemTable" ref="transferItemTable" :refreshLabel="refreshLabel" :transferRemark="transferRemark"
@refreshData="handleRegularSearch"></TransferItemTable> @refreshData="handleRegularSearch"></TransferItemTable>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@@ -65,7 +71,7 @@
<el-descriptions-item label="材质">{{ coil.material || '-' }}</el-descriptions-item> <el-descriptions-item label="材质">{{ coil.material || '-' }}</el-descriptions-item>
<el-descriptions-item label="厂家">{{ coil.manufacturer || '-' }}</el-descriptions-item> <el-descriptions-item label="厂家">{{ coil.manufacturer || '-' }}</el-descriptions-item>
</el-descriptions> </el-descriptions>
<TransferItemTable :data="coil.transferRecords" :canEdit="false"></TransferItemTable> <TransferItemTable :data="coil.transferRecords" :canEdit="false" :refreshLabel="refreshLabel" :transferRemark="transferRemark"></TransferItemTable>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
@@ -89,6 +95,8 @@ export default {
currentCoilNo: '', currentCoilNo: '',
enterCoilNo: '', enterCoilNo: '',
}, },
refreshLabel: false,
transferRemark: '',
queryParams: { queryParams: {
warehouseIdBefore: '', warehouseIdBefore: '',
warehouseIdAfter: '', warehouseIdAfter: '',

View File

@@ -82,4 +82,6 @@ public class WmsTransferOrderItemBo extends BaseEntity {
// 修改之后的itemType // 修改之后的itemType
private String itemTypeAfter; private String itemTypeAfter;
// 重贴标签的备注
private String transferRemark;
} }

View File

@@ -589,11 +589,14 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer
coil.setWarehouseId(finalWarehouseId); coil.setWarehouseId(finalWarehouseId);
// 设置调拨类型 // 设置调拨类型
if (item.getTransferId() != null) { // if (item.getTransferId() != null) {
WmsTransferOrder wmsTransferOrder = wmsTransferOrderMapper.selectById(item.getTransferId()); // WmsTransferOrder wmsTransferOrder = wmsTransferOrderMapper.selectById(item.getTransferId());
if (wmsTransferOrder != null) { // if (wmsTransferOrder != null) {
coil.setTransferType(wmsTransferOrder.getTransferType()); // coil.setTransferType(wmsTransferOrder.getTransferType());
} // }
// }
if (bo.getTransferRemark() != null) {
coil.setTransferType(bo.getTransferRemark());
} }
coilMapper.updateById(coil); coilMapper.updateById(coil);