Browse Source

前端领料单

dev
常熟吴彦祖 4 days ago
parent
commit
05abbe782f
  1. 2
      src/api/haianWarehouse/noOrderIssueNotify.js
  2. 2
      src/api/haianWarehouse/shipmentIssue.js
  3. 43
      src/views/modules/haianWarehouse/noOrderIssue/noOrderNotification54.vue
  4. 35
      src/views/modules/haianWarehouse/poOrder/searchPoIssureNotify54.vue
  5. 35
      src/views/modules/haianWarehouse/shipment/shipmentNotification54.vue
  6. 35
      src/views/modules/haianWarehouse/shopOrderIssueNotify/searchIssureNotify54.vue
  7. 2
      src/views/modules/haianWarehouse/warehouse/labelQueryLocation54.vue

2
src/api/haianWarehouse/noOrderIssueNotify.js

@ -20,7 +20,7 @@ export const saveSOIssueNotifyOrderList = (data) => createAPI('/autoWareHourceHa
export const updateProductionArea = (data) => createAPI('/autoWareHourceHaian/haiAnIssureNotify/updateProductionArea', 'post', data)
export const getFirstOrderListDetail = (data) => createAPI('/autoWareHourceHaian/haiAnIssureNotify/getFirstOrderListDetail', 'post', data)
// 海安查看页与推送占位接口:保持“推送留空”语义,不触发真实WCS主流程 - rqrq
// 海安无单查看页与WCS推送接口:预览和确认均走海安Search通用链路,由后端按site+notifyNo重新匹配 - rqrq
export const searchNotifyMaterialListNew = (data) => createAPI('/autoWareHourceHaian/haiAnNewIssure/searchNotifyMaterialListNew', 'post', data)
export const searchMaterialListDetail = (data) => createAPI('/autoWareHourceHaian/haiAnSearchIssureNotify/searchMaterialListDetail', 'post', data)
export const updateNotifyStatusNew = (data) => createAPI('/autoWareHourceHaian/haiAnSearchIssureNotify/updateNotifyStatusNew', 'post', data)

2
src/api/haianWarehouse/shipmentIssue.js

@ -15,7 +15,7 @@ export const haiAnXiadaNotify = (data) => createAPI('/autoWareHourceHaian/haiAnI
export const haiAnGetShipmentAndLineForIssure = (data) => createAPI('/autoWareHourceHaian/haiAnNewIssure/getShipmentAndLineForIssure', 'post', data)
export const haiAnGetShipmentMaterialForIssure = (data) => createAPI('/autoWareHourceHaian/haiAnNewIssure/getShipmentMaterialForIssure', 'post', data)
// 海安销售发料查看页:统一走海安Search控制器,WCS仅保留占位接口 - rqrq
// 海安销售发料查看页:统一走海安Search控制器,WCS预览与推送由后端按site+notifyNo重新匹配 - rqrq
export const haiAnSearchNotifyHeaderNew = (data) => createAPI('/autoWareHourceHaian/haiAnSearchIssureNotify/searchNotifyHeaderNew', 'post', data)
export const haiAnSearchNotifyOrderListNew = (data) => createAPI('/autoWareHourceHaian/haiAnSearchIssureNotify/searchNotifyOrderListNew', 'post', data)
export const haiAnSearchNotifyMaterialListNew = (data) => createAPI('/autoWareHourceHaian/haiAnSearchIssureNotify/searchNotifyMaterialListNew', 'post', data)

43
src/views/modules/haianWarehouse/noOrderIssue/noOrderNotification54.vue

@ -134,7 +134,8 @@
</el-table-column>
<el-table-column prop="actualStockInQty" header-align="center" align="right" min-width="100" label="实际入库数量">
</el-table-column> -->
<el-table-column fixed="right" header-align="center" align="center" width="100" label="操作">
<!-- rqrq - 已申请物料操作列不冻结页签表格fixed会额外叠表表头空白格且操作列错位 -->
<el-table-column header-align="center" align="center" width="100" label="操作">
<template slot-scope="scope">
<a type="text" size="small" @click="enterSOSDetail(scope.row)">物料</a>
<!-- 不需要删除这里如果删掉了没地方添加只允许关闭申请单重新下 -->
@ -300,17 +301,19 @@
<div class="matched-labels">{{ scope.row.matchedSerialNos }}</div>
</template>
</el-table-column>
<!-- <el-table-column-->
<!-- prop="failureMessage"-->
<!-- label="失败原因"-->
<!-- min-width="240"-->
<!-- align="left">-->
<!-- <template slot-scope="scope">-->
<!-- <span v-if="scope.row.failureCode" class="failure-message">-->
<!-- {{ scope.row.failureMessage || scope.row.failureCode }}-->
<!-- </span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column
prop="failureMessage"
label="不可推送原因"
min-width="240"
align="left"
show-overflow-tooltip>
<template slot-scope="scope">
<!-- 服务端返回订单级阻断原因避免库存数量满足但按钮禁用时现场无法判断处理方向 - rqrq -->
<span v-if="scope.row.failureMessage || scope.row.failureCode" class="failure-message">
{{ formatFailureMessage(scope.row.failureMessage, scope.row.failureCode) }}
</span>
</template>
</el-table-column>
</el-table>
<span slot="footer" class="dialog-footer">
<el-button type="primary" class="yzzButtonAn" @click="pushToWCS" :loading="pushLoading"
@ -370,7 +373,8 @@
<el-button type="primary" @click="qtyAllForBom(scope.row)" style="width: 100%">全数领料</el-button>
</template>
</el-table-column> -->
<el-table-column fixed="right" header-align="center" align="center" width="110" label="操作">
<!-- rqrq - 申请明细指定物料不冻结弹窗内fixed会叠出空白列末行指定物料会被裁切 -->
<el-table-column header-align="center" align="center" width="110" label="操作">
<template slot-scope="scope">
<el-button type="text" size="small" v-if="currentRow && currentRow.status==='ISSUE'" @click="openNoOrderMaterialAllocDialog(scope.row)">指定物料</el-button>
</template>
@ -406,6 +410,7 @@
<el-button type="primary" size="small" @click="addNoOrderAllocRow('BATCH')">新增批次指定</el-button>
<span style="margin-left: 10px; color: #909399; font-size: 12px;">保存后按当前列表顺序进行指定匹配</span>
</div>
<div class="rq">
<el-table :data="noOrderAllocForm.allocList" border v-loading="noOrderAllocLoading" height="360px" style="width: 100%;">
<el-table-column prop="rowNo" label="序号" width="60" align="center"></el-table-column>
<el-table-column prop="allocType" label="类型" width="90" align="center">
@ -450,7 +455,8 @@
<!-- <el-input v-model="scope.row.remark"></el-input>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column fixed="right" label="操作" width="200" align="center">
<!-- rqrq - 指定物料弹窗操作列不冻结弹窗内fixed会与输入行高冲突出现空白列和末行裁切 -->
<el-table-column label="操作" width="200" align="center">
<template slot-scope="scope">
<el-button type="text" size="small" @click="moveNoOrderAllocRow(scope.$index, -1)">上移</el-button>
<el-button type="text" size="small" @click="moveNoOrderAllocRow(scope.$index, 1)">下移</el-button>
@ -458,6 +464,7 @@
</template>
</el-table-column>
</el-table>
</div>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" :loading="noOrderAllocSaving" :disabled="noOrderAllocSaving" @click="saveNoOrderMaterialAlloc">保存</el-button>
<el-button :disabled="noOrderAllocSaving" @click="noOrderAllocDialogVisible = false">关闭</el-button>
@ -2684,6 +2691,14 @@ export default {
return String(value).replace(/(\.\d*?[1-9])0+$|\.0+$/, '$1')
},
/**
* 不可推送原因包含后端拼接的数量文本展示时去除小数尾部无效0避免现场误读缺料数量 - rqrq
*/
formatFailureMessage (message, fallback) {
const text = message || fallback || ''
return String(text).replace(/(-?\d+\.\d*?[1-9])0+(?!\d)/g, '$1').replace(/(-?\d+)\.0+(?!\d)/g, '$1')
},
/**
* 海安无单WCS确认推送只提交site和notifyNo实际订单和标签由服务端重新匹配决定 - rqrq
*/

35
src/views/modules/haianWarehouse/poOrder/searchPoIssureNotify54.vue

@ -161,9 +161,8 @@
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
<!-- 操作列 -->
<!-- rqrq - 申请单明细操作列不冻结弹窗/页签里fixed会额外叠表表头出现空白格且操作列错位 -->
<el-table-column
fixed="right"
header-align="center"
align="center"
width="120"
@ -212,9 +211,8 @@
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
<!-- rqrq - 材料明细指定物料仅已下达申请单可维护标签/批次指定 -->
<!-- rqrq - 材料明细指定物料仅已下达申请单可维护标签/批次指定不冻结避免页签切换后操作列失真 -->
<el-table-column
fixed="right"
header-align="center"
align="center"
width="110"
@ -542,6 +540,19 @@
<div class="matched-labels">{{ scope.row.matchedSerialNos }}</div>
</template>
</el-table-column>
<el-table-column
prop="failureMessage"
label="不可推送原因"
min-width="240"
align="left"
show-overflow-tooltip>
<template slot-scope="scope">
<!-- 服务端返回订单级阻断原因避免库存数量满足但按钮禁用时现场无法判断处理方向 - rqrq -->
<span v-if="scope.row.failureMessage || scope.row.failureCode" class="failure-message">
{{ formatFailureMessage(scope.row.failureMessage, scope.row.failureCode) }}
</span>
</template>
</el-table-column>
</el-table>
<span slot="footer" class="dialog-footer">
<el-button type="primary" class="yzzButtonAn" @click="pushToWCS" :loading="pushLoading"
@ -573,6 +584,7 @@
<el-button type="primary" size="small" @click="addNoOrderAllocRow('BATCH')">新增批次指定</el-button>
<span style="margin-left: 10px; color: #909399; font-size: 12px;">保存后按当前列表顺序进行指定匹配</span>
</div>
<div class="rq">
<el-table :data="noOrderAllocForm.allocList" border v-loading="noOrderAllocLoading" height="360px" style="width: 100%;">
<el-table-column prop="rowNo" label="序号" width="60" align="center"></el-table-column>
<el-table-column prop="allocType" label="类型" width="90" align="center">
@ -609,7 +621,8 @@
<el-input v-model="scope.row.allocQty" type="number" :min="0" :disabled="scope.row.allocType === 'LABEL'"></el-input>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" width="200" align="center">
<!-- rqrq - 指定物料弹窗操作列不冻结弹窗内fixed会与输入行高冲突出现空白列和末行裁切 -->
<el-table-column label="操作" width="200" align="center">
<template slot-scope="scope">
<el-button type="text" size="small" @click="moveNoOrderAllocRow(scope.$index, -1)">上移</el-button>
<el-button type="text" size="small" @click="moveNoOrderAllocRow(scope.$index, 1)">下移</el-button>
@ -617,6 +630,7 @@
</template>
</el-table-column>
</el-table>
</div>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" :loading="noOrderAllocSaving" :disabled="noOrderAllocSaving" @click="saveNoOrderMaterialAlloc">保存</el-button>
<el-button :disabled="noOrderAllocSaving" @click="noOrderAllocDialogVisible = false">关闭</el-button>
@ -2485,14 +2499,21 @@ export default {
if (row && row.matchStatus === 'MATCHED') classNames.push('success-row')
return classNames.join(' ')
},
/**
/**
* 数量展示去除无意义尾零空值统一显示0 - rqrq
*/
formatPreviewQty (value) {
if (value === null || value === undefined || value === '') return '0'
return String(value).replace(/(\.\d*?[1-9])0+$|\.0+$/, '$1')
},
/**
/**
* 不可推送原因包含后端拼接的数量文本展示时去除小数尾部无效0避免现场误读缺料数量 - rqrq
*/
formatFailureMessage (message, fallback) {
const text = message || fallback || ''
return String(text).replace(/(-?\d+\.\d*?[1-9])0+(?!\d)/g, '$1').replace(/(-?\d+)\.0+(?!\d)/g, '$1')
},
/**
* 海安查看页确认推送只提交site和notifyNo实际订单和标签由服务端重新匹配决定 - rqrq
*/
pushToWCS () {

35
src/views/modules/haianWarehouse/shipment/shipmentNotification54.vue

@ -161,9 +161,8 @@
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
<!-- 操作列 -->
<!-- rqrq - 申请单明细操作列不冻结弹窗/页签里fixed会额外叠表表头出现空白格且操作列错位 -->
<el-table-column
fixed="right"
header-align="center"
align="center"
width="120"
@ -212,9 +211,8 @@
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
<!-- rqrq - 材料明细指定物料仅已下达申请单可维护标签/批次指定 -->
<!-- rqrq - 材料明细指定物料仅已下达申请单可维护标签/批次指定不冻结避免页签切换后操作列失真 -->
<el-table-column
fixed="right"
header-align="center"
align="center"
width="110"
@ -542,6 +540,19 @@
<div class="matched-labels">{{ scope.row.matchedSerialNos }}</div>
</template>
</el-table-column>
<el-table-column
prop="failureMessage"
label="不可推送原因"
min-width="240"
align="left"
show-overflow-tooltip>
<template slot-scope="scope">
<!-- 服务端返回订单级阻断原因避免库存数量满足但按钮禁用时现场无法判断处理方向 - rqrq -->
<span v-if="scope.row.failureMessage || scope.row.failureCode" class="failure-message">
{{ formatFailureMessage(scope.row.failureMessage, scope.row.failureCode) }}
</span>
</template>
</el-table-column>
</el-table>
<span slot="footer" class="dialog-footer">
<el-button type="primary" class="yzzButtonAn" @click="pushToWCS" :loading="pushLoading"
@ -573,6 +584,7 @@
<el-button type="primary" size="small" @click="addNoOrderAllocRow('BATCH')">新增批次指定</el-button>
<span style="margin-left: 10px; color: #909399; font-size: 12px;">保存后按当前列表顺序进行指定匹配</span>
</div>
<div class="rq">
<el-table :data="noOrderAllocForm.allocList" border v-loading="noOrderAllocLoading" height="360px" style="width: 100%;">
<el-table-column prop="rowNo" label="序号" width="60" align="center"></el-table-column>
<el-table-column prop="allocType" label="类型" width="90" align="center">
@ -609,7 +621,8 @@
<el-input v-model="scope.row.allocQty" type="number" :min="0" :disabled="scope.row.allocType === 'LABEL'"></el-input>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" width="200" align="center">
<!-- rqrq - 指定物料弹窗操作列不冻结弹窗内fixed会与输入行高冲突出现空白列和末行裁切 -->
<el-table-column label="操作" width="200" align="center">
<template slot-scope="scope">
<el-button type="text" size="small" @click="moveNoOrderAllocRow(scope.$index, -1)">上移</el-button>
<el-button type="text" size="small" @click="moveNoOrderAllocRow(scope.$index, 1)">下移</el-button>
@ -617,6 +630,7 @@
</template>
</el-table-column>
</el-table>
</div>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" :loading="noOrderAllocSaving" :disabled="noOrderAllocSaving" @click="saveNoOrderMaterialAlloc">保存</el-button>
<el-button :disabled="noOrderAllocSaving" @click="noOrderAllocDialogVisible = false">关闭</el-button>
@ -2485,14 +2499,21 @@ export default {
if (row && row.matchStatus === 'MATCHED') classNames.push('success-row')
return classNames.join(' ')
},
/**
/**
* 数量展示去除无意义尾零空值统一显示0 - rqrq
*/
formatPreviewQty (value) {
if (value === null || value === undefined || value === '') return '0'
return String(value).replace(/(\.\d*?[1-9])0+$|\.0+$/, '$1')
},
/**
/**
* 不可推送原因包含后端拼接的数量文本展示时去除小数尾部无效0避免现场误读缺料数量 - rqrq
*/
formatFailureMessage (message, fallback) {
const text = message || fallback || ''
return String(text).replace(/(-?\d+\.\d*?[1-9])0+(?!\d)/g, '$1').replace(/(-?\d+)\.0+(?!\d)/g, '$1')
},
/**
* 海安查看页确认推送只提交site和notifyNo实际订单和标签由服务端重新匹配决定 - rqrq
*/
pushToWCS () {

35
src/views/modules/haianWarehouse/shopOrderIssueNotify/searchIssureNotify54.vue

@ -161,9 +161,8 @@
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
<!-- 操作列 -->
<!-- rqrq - 申请单明细操作列不冻结弹窗/页签里fixed会额外叠表表头出现空白格且操作列错位 -->
<el-table-column
fixed="right"
header-align="center"
align="center"
width="120"
@ -212,9 +211,8 @@
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
<!-- rqrq - 材料明细指定物料仅已下达申请单可维护标签/批次指定 -->
<!-- rqrq - 材料明细指定物料仅已下达申请单可维护标签/批次指定不冻结避免页签切换后操作列失真 -->
<el-table-column
fixed="right"
header-align="center"
align="center"
width="110"
@ -542,6 +540,19 @@
<div class="matched-labels">{{ scope.row.matchedSerialNos }}</div>
</template>
</el-table-column>
<el-table-column
prop="failureMessage"
label="不可推送原因"
min-width="240"
align="left"
show-overflow-tooltip>
<template slot-scope="scope">
<!-- 服务端返回订单级阻断原因避免库存数量满足但按钮禁用时现场无法判断处理方向 - rqrq -->
<span v-if="scope.row.failureMessage || scope.row.failureCode" class="failure-message">
{{ formatFailureMessage(scope.row.failureMessage, scope.row.failureCode) }}
</span>
</template>
</el-table-column>
</el-table>
<span slot="footer" class="dialog-footer">
<el-button type="primary" class="yzzButtonAn" @click="pushToWCS" :loading="pushLoading"
@ -573,6 +584,7 @@
<el-button type="primary" size="small" @click="addNoOrderAllocRow('BATCH')">新增批次指定</el-button>
<span style="margin-left: 10px; color: #909399; font-size: 12px;">保存后按当前列表顺序进行指定匹配</span>
</div>
<div class="rq">
<el-table :data="noOrderAllocForm.allocList" border v-loading="noOrderAllocLoading" height="360px" style="width: 100%;">
<el-table-column prop="rowNo" label="序号" width="60" align="center"></el-table-column>
<el-table-column prop="allocType" label="类型" width="90" align="center">
@ -609,7 +621,8 @@
<el-input v-model="scope.row.allocQty" type="number" :min="0" :disabled="scope.row.allocType === 'LABEL'"></el-input>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" width="200" align="center">
<!-- rqrq - 指定物料弹窗操作列不冻结弹窗内fixed会与输入行高冲突出现空白列和末行裁切 -->
<el-table-column label="操作" width="200" align="center">
<template slot-scope="scope">
<el-button type="text" size="small" @click="moveNoOrderAllocRow(scope.$index, -1)">上移</el-button>
<el-button type="text" size="small" @click="moveNoOrderAllocRow(scope.$index, 1)">下移</el-button>
@ -617,6 +630,7 @@
</template>
</el-table-column>
</el-table>
</div>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" :loading="noOrderAllocSaving" :disabled="noOrderAllocSaving" @click="saveNoOrderMaterialAlloc">保存</el-button>
<el-button :disabled="noOrderAllocSaving" @click="noOrderAllocDialogVisible = false">关闭</el-button>
@ -2485,14 +2499,21 @@ export default {
if (row && row.matchStatus === 'MATCHED') classNames.push('success-row')
return classNames.join(' ')
},
/**
/**
* 数量展示去除无意义尾零空值统一显示0 - rqrq
*/
formatPreviewQty (value) {
if (value === null || value === undefined || value === '') return '0'
return String(value).replace(/(\.\d*?[1-9])0+$|\.0+$/, '$1')
},
/**
/**
* 不可推送原因包含后端拼接的数量文本展示时去除小数尾部无效0避免现场误读缺料数量 - rqrq
*/
formatFailureMessage (message, fallback) {
const text = message || fallback || ''
return String(text).replace(/(-?\d+\.\d*?[1-9])0+(?!\d)/g, '$1').replace(/(-?\d+)\.0+(?!\d)/g, '$1')
},
/**
* 海安查看页确认推送只提交site和notifyNo实际订单和标签由服务端重新匹配决定 - rqrq
*/
pushToWCS () {

2
src/views/modules/haianWarehouse/warehouse/labelQueryLocation54.vue

@ -63,7 +63,7 @@
<el-table-column prop="layer" label="层数" min-width="70" header-align="center" align="center"></el-table-column>
<el-table-column prop="stationId" label="站点" min-width="80" header-align="center" align="center"></el-table-column>
<el-table-column prop="stationArea" label="区域" min-width="90" header-align="center" align="center"></el-table-column>
<el-table-column prop="asrsFloor" label="立库楼层" min-width="80" header-align="center" align="center"></el-table-column>
<!-- <el-table-column prop="asrsFloor" label="立库楼层" min-width="80" header-align="center" align="center"></el-table-column>-->
<el-table-column prop="batchNo" label="批次号" min-width="120" header-align="center" align="center"></el-table-column>
<el-table-column prop="locationId" label="库位" min-width="100" header-align="center" align="center"></el-table-column>
<el-table-column prop="warehouseId" label="仓库" min-width="100" header-align="center" align="center"></el-table-column>

Loading…
Cancel
Save