Browse Source

盘点修改

dev
常熟吴彦祖 21 hours ago
parent
commit
84d3a21844
  1. 23
      src/views/modules/haianWarehouse/check/CYCLE_COUNT_RESTORE.md
  2. 44
      src/views/modules/haianWarehouse/check/currentPhysicalInventory54.vue
  3. 3
      src/views/modules/haianWarehouse/check/haianCountFeature.js
  4. 33
      src/views/modules/haianWarehouse/check/searchPhysicalInventory54.vue

23
src/views/modules/haianWarehouse/check/CYCLE_COUNT_RESTORE.md

@ -0,0 +1,23 @@
# 海安循环盘点停用与恢复说明
2026-09-21:海安取消循环盘点,按业务要求隐藏前端入口,保留原有代码,便于后续恢复。此说明供开发人员及后续代码助手查阅,搜索“海安循环盘点恢复”即可定位。- rqrq
## 统一开关
同目录 `haianCountFeature.js` 中的 `HAIAN_CYCLE_COUNT_ENABLED` 当前为 `false`。需要恢复时改为 `true`,重新构建并发布PC前端,刷新或重新打开页面。所有隐藏点及复核默认值均随此开关恢复,无需找回删除的代码。- rqrq
## 当前隐藏范围
- `searchPhysicalInventory54.vue`:查询区“循环盘点”类型选项、“循环盘点”创建按钮、完整创建弹窗、主表“循环比例”列;历史 `CYCLE` 单据的“下达、推送”操作。- rqrq
- `currentPhysicalInventory54.vue`:单头“循环比例”、复核弹窗“循环复核”选项;历史 `CYCLE` 单据的“下达、推送、手工继续推送”操作。- rqrq
- 两个页面的对应创建/下达/推送方法保留,在开关关闭时提前返回,防止残留页面事件触发;复核初始化、打开弹窗、提交参数统一使用 `MANUAL`,避免仅隐藏选项却仍提交 `CYCLE`。- rqrq
## 保留行为
- 手工盘点、人工复核、日常RFID盘点、年度报告、盘点模式及PDA手工盘点继续保留。- rqrq
- 历史循环单仍可通过全部类型或单号查询,保留详情、导出、取消及原有审批/完成/异常处理入口,便于收尾;不删除历史数据。- rqrq
- 本开关只控制海安两个PC页面,不关闭后端接口和定时任务,不影响老模块;已下发任务也不会因前端隐藏而自动取消。- rqrq
## 恢复核对
开关改为 `true` 后,检查查询类型、创建弹窗及比例字段恢复;历史循环单操作按原状态显示;循环单默认循环复核、手工单默认人工复核;调用接口仍显式传页面业务site。真正恢复现场循环盘点前,还需核对立库接口与后台运行配置,前端开关不代替这些业务配置。- rqrq

44
src/views/modules/haianWarehouse/check/currentPhysicalInventory54.vue

@ -4,8 +4,9 @@
<!-- 顶部操作区域 -->
<div style="margin-bottom: 10px;">
<el-button type="primary" @click="loadCurrentCount" :loading="headerLoading"> </el-button>
<el-button type="success" @click="handleRelease" v-if="headerData && headerData.status === 'DRAFT'" :disabled="headerLoading"> </el-button>
<el-button type="warning" @click="handlePush" v-if="headerData && headerData.status === 'RELEASED'" :disabled="headerLoading"> </el-button>
<!-- 循环盘点停用时隐藏历史循环单的下达和推送保留手工盘点及历史收尾入口- rqrq -->
<el-button type="success" @click="handleRelease" v-if="countActionsEnabled && headerData.status === 'DRAFT'" :disabled="headerLoading"> </el-button>
<el-button type="warning" @click="handlePush" v-if="countActionsEnabled && headerData.status === 'RELEASED'" :disabled="headerLoading"> </el-button>
<!-- 审批按钮 - 盘点中状态显示 - rqrq -->
<el-button type="warning" @click="handleApprove" v-if="headerData && headerData.status === 'CHECKING'" :disabled="headerLoading"> </el-button>
<!-- 完成按钮 - 已审批状态显示 - rqrq -->
@ -24,7 +25,7 @@
<!-- v-if="headerData && headerData.status === 'APPROVED'"-->
<!-- :disabled="headerLoading || autoAdjustLoading">{{ autoAdjustLoading ? '处理中...' : '自动处理盈亏' }}</el-button>-->
<!-- 继续盘点按钮 - 盘点中状态显示手工触发继续下达任务 - rqrq -->
<el-button type="info" @click="handleContinuePush" v-if="headerData && headerData.status === 'CHECKING'" :disabled="headerLoading || continuePushLoading">{{ continuePushLoading ? '推送中...' : '手工继续推送' }}</el-button>
<el-button type="info" @click="handleContinuePush" v-if="countActionsEnabled && headerData.status === 'CHECKING'" :disabled="headerLoading || continuePushLoading">{{ continuePushLoading ? '推送中...' : '手工继续推送' }}</el-button>
</div>
@ -32,7 +33,8 @@
<div class="header-info" v-loading="headerLoading">
<el-form label-position="top" :inline="true" v-if="headerData">
<el-row :gutter="10">
<el-col :span="4">
<!-- 隐藏循环比例时扩展单号宽度恢复开关后还原原有六列布局- rqrq -->
<el-col :span="cycleCountEnabled ? 4 : 8">
<el-form-item label="盘点单号">
<el-input v-model="headerData.countNo" readonly style="width: 100%;"></el-input>
</el-form-item>
@ -47,7 +49,7 @@
<el-input v-model="headerData.statusDesc" readonly :style="{width: '100%', color: getStatusColor(headerData.status)}"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-col v-if="cycleCountEnabled" :span="4">
<el-form-item label="循环比例">
<el-input :value="headerData.countPercent ? headerData.countPercent + '%' : '-'" readonly style="width: 100%;"></el-input>
</el-form-item>
@ -416,7 +418,8 @@
<span style="margin-left: 20px;">复核类型</span>
<el-radio-group v-model="reviewType">
<el-radio label="MANUAL">人工复核</el-radio>
<el-radio label="CYCLE">循环复核</el-radio>
<!-- 仅隐藏循环选项默认值和实际提交参数同步切到人工复核防止隐式提交CYCLE- rqrq -->
<el-radio v-if="cycleCountEnabled" label="CYCLE">循环复核</el-radio>
</el-radio-group>
</div>
@ -485,11 +488,14 @@
<script>
import {scanAndCallPalletForPandian, getCountHeaderByNo, getCurrentActiveCount, releaseCount, pushCountToWcs, continuePushCount, approveCount, completeCount, cancelCount, searchCountLabelList, searchCountPalletList, searchCountResultList, searchMaterialSummary, searchOrderTaskByCountNo, searchOrderTaskDetail, hasUncompletedTask, createReviewTask, searchUnhandledExceptionList, saveExceptionHandle, checkSystemHandleCount, executeSystemAdjustment, queryAdjustmentTransList, queryAdjustmentTransSubList, manualHandleCount} from '@/api/haianWarehouse/check/physicalInventory'
import { HAIAN_CYCLE_COUNT_ENABLED } from './haianCountFeature' // - rqrq
export default {
name: 'currentPhysicalInventory54',
data() {
return {
// CYCLE_COUNT_RESTORE.md- rqrq
cycleCountEnabled: HAIAN_CYCLE_COUNT_ENABLED,
// Header - rqrq
headerData: null,
headerLoading: false,
@ -602,7 +608,8 @@ export default {
reviewResultList: [], //
filteredReviewResultList: [], //
onlyShowAbnormal: true, //
reviewType: 'CYCLE', // MANUAL=CYCLE=
// - rqrq
reviewType: HAIAN_CYCLE_COUNT_ENABLED ? 'CYCLE' : 'MANUAL',
selectedReviewLabels: [], //
// - rqrq
@ -635,6 +642,12 @@ export default {
}
}
},
computed: {
// false- rqrq
countActionsEnabled () {
return !!this.headerData && (this.cycleCountEnabled || this.headerData.countType !== 'CYCLE')
}
},
mounted() {
// - rqrq
this.$nextTick(() => {
@ -980,7 +993,8 @@ export default {
// - rqrq
handleRelease() {
if (!this.headerData) return
// - rqrq
if (!this.countActionsEnabled) return
this.$confirm('确认下达盘点单 ' + this.headerData.countNo + '?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
@ -1006,7 +1020,8 @@ export default {
// WCS - rqrq
handlePush() {
if (!this.headerData) return
// - rqrq
if (!this.countActionsEnabled) return
this.$confirm('确认推送盘点单 ' + this.headerData.countNo + ' 到WCS?将开始出库前10个栈板。', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
@ -1032,7 +1047,8 @@ export default {
// - rqrq
handleContinuePush() {
if (!this.headerData) return
// - rqrq
if (!this.countActionsEnabled) return
this.$confirm('确认继续推送盘点单 ' + this.headerData.countNo + ' 的后续栈板到WCS?\n\n注:如果存在未完成的任务单,将无法继续推送。', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
@ -1209,8 +1225,8 @@ export default {
if (data && data.code === 0) {
this.reviewResultList = data.rows || []
this.filterReviewResult()
// ->-> - rqrq
if (this.headerData.countType === 'MANUAL') {
// - rqrq
if (!this.cycleCountEnabled || this.headerData.countType === 'MANUAL') {
this.reviewType = 'MANUAL'
} else if (this.headerData.countType === 'CYCLE') {
this.reviewType = 'CYCLE'
@ -1259,7 +1275,8 @@ export default {
const params = {
site: this.$store.state.user.site,
countNo: this.headerData.countNo,
reviewType: this.reviewType,
// CYCLE- rqrq
reviewType: this.cycleCountEnabled ? this.reviewType : 'MANUAL',
palletIds: palletIds,
username: this.$store.state.user.name
}
@ -1515,4 +1532,3 @@ export default {
</style>

3
src/views/modules/haianWarehouse/check/haianCountFeature.js

@ -0,0 +1,3 @@
// 海安循环盘点恢复:false隐藏循环盘点入口并只允许人工复核,true恢复原有前端行为;不控制后台定时任务。- rqrq
// 隐藏范围及恢复步骤见同目录CYCLE_COUNT_RESTORE.md,业务方法与API保留,恢复时仅修改此开关。- rqrq
export const HAIAN_CYCLE_COUNT_ENABLED = false

33
src/views/modules/haianWarehouse/check/searchPhysicalInventory54.vue

@ -29,7 +29,8 @@
</el-form-item>
<el-form-item label="盘点类型" style="margin-right: 10px;">
<el-select v-model="queryForm.searchCountType" placeholder="请选择" clearable style="width: 120px;">
<el-option label="循环盘点" value="CYCLE"></el-option>
<!-- 海安循环盘点停用保留类型选项代码供统一开关恢复- rqrq -->
<el-option v-if="cycleCountEnabled" label="循环盘点" value="CYCLE"></el-option>
<el-option label="手工盘点" value="MANUAL"></el-option>
<el-option label="日常盘点" value="DAILY"></el-option>
<el-option label="年中盘点" value="MID_YEAR"></el-option>
@ -55,7 +56,7 @@
<el-form-item label=" " style="margin-right: 10px;">
<el-button type="primary" @click="search">查询</el-button>
<el-button @click="resetQuery">重置</el-button>
<el-button type="success" @click="showCycleCountDialog">循环盘点</el-button>
<el-button v-if="cycleCountEnabled" type="success" @click="showCycleCountDialog">循环盘点</el-button>
<el-button type="warning" @click="handleCreateManualCount">手工盘点</el-button>
<el-button type="primary" plain @click="openYearReportDialog">年度盘点报告</el-button>
</el-form-item>
@ -65,7 +66,7 @@
<!-- 主表格 - rqrq -->
<el-table :data="dataList" @row-click="handleRowClick" :height="height" border highlight-current-row ref="mainTable" v-loading="dataListLoading" style="width: 100%;">
<el-table-column
v-for="(item,index) in mainColumnList" :key="index"
v-for="item in visibleMainColumnList" :key="item.columnProp"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
@ -86,8 +87,9 @@
<el-table-column header-align="center" align="center" fixed="right" width="240" label="操作">
<template slot-scope="scope">
<a type="text" style="margin-right: 10px;" @click.stop="handleAddMaterial(scope.row)" v-if="scope.row.status === 'DRAFT' && scope.row.countType === 'MANUAL'">添加物料</a>
<a type="text" style="margin-right: 10px;" @click.stop="handleRelease(scope.row)" v-if="scope.row.status === 'DRAFT'">下达</a>
<a type="text" style="margin-right: 10px;" @click.stop="handlePush(scope.row)" v-if="scope.row.status === 'RELEASED'">推送</a>
<!-- 停用期间历史循环单仅保留查看及收尾操作手工盘点继续按原状态下达和推送- rqrq -->
<a type="text" style="margin-right: 10px;" @click.stop="handleRelease(scope.row)" v-if="scope.row.status === 'DRAFT' && (cycleCountEnabled || scope.row.countType !== 'CYCLE')">下达</a>
<a type="text" style="margin-right: 10px;" @click.stop="handlePush(scope.row)" v-if="scope.row.status === 'RELEASED' && (cycleCountEnabled || scope.row.countType !== 'CYCLE')">推送</a>
<a type="text" style="margin-right: 10px;" @click.stop="handleComplete(scope.row)" v-if=" scope.row.status === 'CHECKING'">完成</a>
<a type="text" style="margin-right: 10px;" @click.stop="handleCancel(scope.row)" v-if="scope.row.status !== 'COMPLETED' && scope.row.status !== 'CANCELLED'">取消</a>
<a type="text" style="color: #F56C6C; margin-right: 10px;" @click.stop="handleDelete(scope.row)" v-if="scope.row.status === 'DRAFT'">删除</a>
@ -404,8 +406,8 @@
</el-tab-pane>
</el-tabs>
<!-- 循环盘点弹窗 -->
<el-dialog title="创建循环盘点单" :visible.sync="cycleCountDialogVisible" width="400px" :close-on-click-modal="false" v-drag>
<!-- 循环盘点弹窗整体随开关隐藏保留原有表单与提交逻辑方便恢复- rqrq -->
<el-dialog v-if="cycleCountEnabled" title="创建循环盘点单" :visible.sync="cycleCountDialogVisible" width="400px" :close-on-click-modal="false" v-drag>
<el-form :model="cycleCountForm" label-width="100px">
<el-form-item label="未盘比例(%)">
<el-input v-model="nowPercent" disabled style="width: 250px;"></el-input>
@ -551,11 +553,14 @@ import { searchCountHeaderList, createCycleCount, createManualCount, generateYea
searchOrderTaskDetail, getSysIfCount, updateSysIfCount, queryAdjustmentTransList,
queryAdjustmentTransSubList, selectNowUnCountPercent, exportCountDataExcel } from '@/api/haianWarehouse/check/physicalInventory'
import * as XLSX from 'xlsx' // Excel - rqrq
import { HAIAN_CYCLE_COUNT_ENABLED } from './haianCountFeature' // - rqrq
export default {
name: 'searchPhysicalInventory54',
data() {
return {
// 使CYCLE_COUNT_RESTORE.md- rqrq
cycleCountEnabled: HAIAN_CYCLE_COUNT_ENABLED,
// - rqrq
countModeStatus: 'N', // Y= N=
countModeSwitch: false, //
@ -783,6 +788,12 @@ export default {
exportLoading: false
}
},
computed: {
// - rqrq
visibleMainColumnList () {
return this.mainColumnList.filter(item => this.cycleCountEnabled || item.columnProp !== 'countPercent')
}
},
mounted() {
// - rqrq
this.height = (window.innerHeight - 315) / 2
@ -1177,6 +1188,8 @@ export default {
// - rqrq
showCycleCountDialog() {
// - rqrq
if (!this.cycleCountEnabled) return
this.cycleCountForm = {
countPercent: 10,
remark: ''
@ -1247,6 +1260,8 @@ export default {
// - rqrq
createCycleCount() {
// - rqrq
if (!this.cycleCountEnabled) return
if (!this.cycleCountForm.countPercent || this.cycleCountForm.countPercent < 1 || this.cycleCountForm.countPercent > 50) {
this.$message.warning('盘点比例必须在1-50之间')
return
@ -1484,6 +1499,8 @@ export default {
// - rqrq
handleRelease(row) {
// - rqrq
if (!row || (!this.cycleCountEnabled && row.countType === 'CYCLE')) return
this.$confirm('确认下达盘点单 ' + row.countNo + '?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
@ -1538,6 +1555,8 @@ export default {
// WCS - rqrq
handlePush(row) {
// 沿- rqrq
if (!row || (!this.cycleCountEnabled && row.countType === 'CYCLE')) return
this.$confirm('确认推送盘点单 ' + row.countNo + ' 到WCS?将开始出库前10个栈板。', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',

Loading…
Cancel
Save